Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
014e198
feat(daemon): ACP Streamable HTTP transport at /acp [RFD #721] (#4472)
chiga0 May 27, 2026
e3d5307
refactor(daemon): drop dead try/catch around model_switched publish (…
chiga0 May 27, 2026
8a2cdb3
feat(daemon): server-pushed followup_suggestion event for the webui (…
doudouOUC May 27, 2026
83765c9
fix(daemon): cross-client sync follow-up cleanup (epoch-reset resync,…
chiga0 May 28, 2026
50a0c26
feat(daemon): server-side shell command execution for ! (bang) prefix…
doudouOUC May 28, 2026
4701e6b
feat(daemon): add session tasks snapshot endpoint (#4578)
doudouOUC May 28, 2026
6e381d3
feat(daemon): non-blocking POST /prompt — return 202 with promptId (#…
chiga0 May 28, 2026
1f34c18
feat(web-shell,webui,sdk): context-usage API + daemon-react-sdk refac…
ytahdn May 28, 2026
d1b0d29
feat(sdk): add serve-bridge MCP server & rename mcp → daemon-mcp (#4555)
jifeng May 28, 2026
99017f6
feat(telemetry): trace daemon prompt lifecycle (#4556)
doudouOUC May 29, 2026
e149aa6
docs(serve): DaemonWorkspaceService 实施设计文档(方案 C)
doudouOUC May 26, 2026
669b882
docs(serve): fix 6 omissions in workspace service design
doudouOUC May 26, 2026
3df310a
docs(serve): full workspace migration + originatorClientId optional fix
doudouOUC May 26, 2026
5e8630b
docs(serve): add DaemonWorkspaceService implementation plan (12 tasks)
doudouOUC May 26, 2026
fe60f1a
feat(serve): add DaemonWorkspaceService type definitions
doudouOUC May 26, 2026
41e71d8
fix(serve): address spec review — add workspaceCwd, edit, getAuthStat…
doudouOUC May 26, 2026
7febda4
feat(serve): add FileService wrapping fsFactory
doudouOUC May 26, 2026
9fcf5fa
feat(serve): add AuthService wrapping DeviceFlowRegistry
doudouOUC May 26, 2026
926f851
feat(serve): add AgentsService with clientId validation and event pub…
doudouOUC May 26, 2026
60fd13e
feat(serve): add MemoryService with event publish
doudouOUC May 26, 2026
b4cb00e
feat(serve): add DaemonWorkspaceService facade with status/tool/init/…
doudouOUC May 26, 2026
2785928
refactor(bridge): extract workspace methods, expose queryWorkspaceSta…
doudouOUC May 26, 2026
78a86c7
refactor(bridge): rename HttpAcpBridge → AcpSessionBridge
doudouOUC May 26, 2026
f52da80
refactor(serve): wire DaemonWorkspaceService into workspace status + …
doudouOUC May 26, 2026
9bdb91c
test(serve): add workspace service REST integration tests
doudouOUC May 26, 2026
15f6d48
fix(serve): resolve TypeScript errors in workspace-service
doudouOUC May 26, 2026
37c49d4
fix(serve): restore env/preflight status provider behavior, wire real…
doudouOUC May 26, 2026
384ff48
fix(test): update server.test.ts fake bridge for workspace service re…
doudouOUC May 26, 2026
0e02579
fix(test): add acp-bridge subpath aliases to vitest config for monore…
doudouOUC May 27, 2026
5bd4b1f
refactor(serve): extract shared validateClientId, deduplicate statusP…
doudouOUC May 27, 2026
744f498
fix(serve): address all Critical review findings — event names, secur…
doudouOUC May 27, 2026
461eb28
fix(serve): address wenshao R2 — generic param, STATUS_SCHEMA_VERSION…
doudouOUC May 28, 2026
2b59223
fix(serve): address chiga0 R1 — explicit types on invokeWorkspaceComm…
doudouOUC May 28, 2026
431c9b7
fix(serve): wire workspace methods in acpHttp dispatch to DaemonWorks…
doudouOUC May 28, 2026
e6b6f1a
fix(test): add explicit types to server.test.ts mock helpers (TS7006)
doudouOUC May 28, 2026
7fe934e
refactor: remove dead contextFilename from BridgeOptions
doudouOUC May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
568 changes: 568 additions & 0 deletions docs/design/daemon-acp-http/README.md

Large diffs are not rendered by default.

33 changes: 32 additions & 1 deletion docs/developers/qwen-serve-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ registry. Clients **must** gate UI off `features`, not off `mode` (per design
'session_set_model', 'client_identity', 'client_heartbeat',
'session_permission_vote', 'permission_vote', 'workspace_mcp', 'workspace_skills',
'workspace_providers', 'workspace_env', 'workspace_preflight',
'session_context', 'session_supported_commands',
'session_context', 'session_supported_commands', 'session_tasks',
'session_close', 'session_metadata', 'mcp_guardrails',
'mcp_guardrail_events',
'workspace_file_read', 'workspace_file_bytes', 'workspace_file_write',
Expand Down Expand Up @@ -243,6 +243,7 @@ Capability tags:
- `workspace_preflight` → `GET /workspace/preflight`
- `session_context` → `GET /session/:id/context`
- `session_supported_commands` → `GET /session/:id/supported-commands`
- `session_tasks` → `GET /session/:id/tasks`

Common status cell:

Expand Down Expand Up @@ -873,6 +874,36 @@ caller named the path. Success responses and audit events include
`available_commands_update` SSE notification. `availableSkills` lists skill
names only; clients must not expect skill bodies or paths over this route.

### `GET /session/:id/tasks`

```json
{
"v": 1,
"sessionId": "<sid>",
"now": 1700000000000,
"tasks": [
{
"kind": "agent",
"id": "agent-1",
"label": "reviewer: check failure",
"description": "check failure",
"status": "running",
"startTime": 1699999999000,
"runtimeMs": 1000,
"outputFile": "/tmp/agent-1.jsonl",
"isBackgrounded": true,
"subagentType": "reviewer"
}
]
}
```

This route is a read-only out-of-band snapshot. It is intentionally not a
prompt and can be queried while the session is streaming. The response only
contains whitelisted metadata from the agent, shell, and monitor task
registries; controllers, timers, offsets, pending messages, and raw registry
objects are never exposed.

### `POST /session`

Spawn a new agent or attach to an existing one (under `sessionScope: 'single'`, the default).
Expand Down
Loading