MINARA

ワークスペースファイルを書き込み(sha256 OCC)

PUT /v1/workspace/files/:name:ワークスペースの Markdown ファイルをアトミックに置換します。`expected_sha256` は必須です。

PUT /v1/workspace/files/:name

ワークスペースの Markdown ファイルをアトミックに置換します。expected_sha256 は必須です。前回の GET が返した値(文字列)を渡し、新規ファイルを作る場合は null を渡します。不一致の場合は現在の sha を含む 409 を返すため、UI は上書きまたは再読み込みを提示できます。本文の上限は 256 KB で、超過時は 413 を返します。

メソッドPUT
パス/v1/workspace/files/:name
認証GATEWAY_AUTH_TOKEN 設定時は Authorization: Bearer <token> が必要
カテゴリworkspace

リクエスト本文

{ "content": "# SOUL.md - Minara\n...", "expected_sha256": "deadbeef..." }

レスポンス本文

{ "ok": true, "data": { "name": "SOUL.md", "sha256": "cafef00d...", "size": 2048, "mtime": 1714493000000 } }

注記

楽観的並行性制御:ゲートウェイは書き込み前に expected_sha256 とディスク上の sha を比較します。不一致は 409 になります。アトミック書き込みは apps/agent/src/workspace/seed.ts::atomicWriteFile を経由し、一時ファイルへの書き込みとその場でのリネームを行い、対象の隣に単一スロットの .bak バックアップを作成します。

目次