작업 공간 파일 쓰기(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 백업을 만듭니다.