Repo: coder/coder
Scope: Add coderd agent endpoint for shutdown scripts to POST log snapshots.
Changes:
- Add
POST /api/v2/workspaces/{workspace}/agents/me/tasks/{task}/snapshot?format=agentapi endpoint
- Request body: raw AgentAPI payload for
format=agentapi (clients do not send the DB wrapper)
- Validate: task belongs to workspace, payload ≤ 64KB, decodes as AgentAPI payload schema
- Store in
task_snapshots table (upsert, overwrite on each pause):
log_snapshot wrapper: {"format":"agentapi","data":<raw_payload>}
- Uses workspace agent token for auth
Files:
coderd/aitasks.go (or new coderd/aitasks_snapshot.go)
codersdk/aitasks.go
coderd/coderd.go (route registration)
Acceptance criteria:
Dependencies:
References:
Repo:
coder/coderScope: Add coderd agent endpoint for shutdown scripts to POST log snapshots.
Changes:
POST /api/v2/workspaces/{workspace}/agents/me/tasks/{task}/snapshot?format=agentapiendpointformat=agentapi(clients do not send the DB wrapper)task_snapshotstable (upsert, overwrite on each pause):log_snapshotwrapper:{"format":"agentapi","data":<raw_payload>}Files:
coderd/aitasks.go(or newcoderd/aitasks_snapshot.go)codersdk/aitasks.gocoderd/coderd.go(route registration)Acceptance criteria:
formatquery parameter (currently onlyagentapisupported){"format":"agentapi","data":<raw_payload>}Dependencies:
run_on_stopscript completes coder#19467References: