본문으로 건너뛰기

세션

세션은 앱을 만드는 하나의 작업 단위입니다. 에이전트가 파일을 고치고, 그 변경이 커밋으로 쌓이고, 필요하면 되돌립니다.

세션 만들기

POST /api/session

응답의 id 가 이후 모든 세션 호출의 {sessionId} 입니다.

살아 있음 알리기

POST /api/session/{sessionId}/ping

세션이 유휴로 정리되지 않게 주기적으로 보냅니다. 웹 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 을 보내면 해제됩니다.