セッション
セッションはアプリを作成する作業単位です。エージェントがファイルを修正し、その変更がコミットとして積み重なり、必要に応じて元に戻せます。
セッションの作成
POST /api/session
レスポンスの id が、以降すべてのセッション呼び出しで使う {sessionId} です。
生存通知
POST /api/session/{sessionId}/ping
セッションがアイドル状態として整理されないよう、定期的に送信します。Web UI が作業画面を開いている間は継続して呼び出します。
ファイル
| メソッド | パス | 機能 |
|---|---|---|
GET | /api/session/{sessionId}/files | ファイル一覧 |
GET | /api/session/{sessionId}/file?path={path} | 単一ファイルの内容 |
GET | /api/session/{sessionId}/download | プロジェクト全体のダウンロード |
path は URL エンコードします。
履歴と復元
| メソッド | パス | 機能 |
|---|---|---|
GET | /api/session/{sessionId}/history | コミット履歴 |
GET | /api/session/{sessionId}/transcript | 対話全文 |
GET | /api/session/{sessionId}/diff?hash={hash} | 特定コミットの変更内容 |
POST | /api/session/{sessionId}/revert | 特定コミットへの復元(本文に hash) |
復元しても履歴は削除されません — 復元操作自体も新しいコミットとして残ります。
確定と破棄
| メソッド | パス | 機能 |
|---|---|---|
POST | /api/session/{id}/commit | ここまでの変更をコミット(本文に message、省略可) |
POST | /api/session/{id}/discard | 変更を破棄してセッションを初期状態に戻す |
POST | /api/session/{id}/verify | アプリが実際に動作するかを検証 |
DELETE | /api/session/{sessionId} | セッションの削除 |
共有
PUT /api/session/{id}/share
本文には、閲覧を許可するユーザー ID の配列を送信します。
{ "users": ["kim.cs", "park.jh"] }
空の配列を送信すると共有が解除されます。
データコンテキスト
PUT /api/session/{id}/data-context
セッションがどの設備・タグを対象とするかを指定します。エージェントはアプリを作成する際にこの範囲を参照します。null を送信すると解除されます。