メインコンテンツまでスキップ

セッション

セッションはアプリを作成する作業単位です。エージェントがファイルを修正し、その変更がコミットとして積み重なり、必要に応じて元に戻せます。

セッションの作成

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 を送信すると解除されます。