q792602257
f9f5c15345
feat(mcp): add migration 0007 up — mcp_tokens table
2026-05-08 07:03:24 +08:00
q792602257
08f530bc0a
Merge feat/acp: ACP module (Agent Client Protocol) — Phases D-K
2026-05-07 18:50:02 +08:00
q792602257
a666ee8f08
fix(web): SessionStatusBadge add default case to satisfy vue/return-in-computed-property
2026-05-07 18:23:02 +08:00
q792602257
508b73c381
test(web): useAcpStream composable (connect/state/reconnect/prompt/close)
2026-05-07 18:19:19 +08:00
q792602257
ce53c54fde
test(acp): integration matrix scaffold + 3 implemented scenarios (CreateSuccess/Quota/BranchConflict)
2026-05-07 18:18:08 +08:00
q792602257
48be59cc73
test(web): smoke tests for ACP session list/create views
2026-05-07 18:14:40 +08:00
q792602257
422e730502
feat(web): register acp-sessions routes + fix route param convention to slug/wsSlug
2026-05-07 18:07:19 +08:00
q792602257
d558aed27e
feat(web): AcpSessionDetailView (core: status + stream + prompt)
2026-05-07 18:03:33 +08:00
q792602257
0b903168c8
feat(web): useAcpStream composable (auto-reconnect + ?since= + prompt/cancel)
2026-05-07 17:59:07 +08:00
q792602257
fc8f2db5d2
feat(web): AcpSessionCreateView (form with branch/issue/req fields)
2026-05-07 17:57:47 +08:00
q792602257
2ca3a81838
feat(web): AcpSessionListView (table with terminate action)
2026-05-07 17:55:45 +08:00
q792602257
22e3c6cbf3
feat(web): PromptInput component (Send/Cancel toggle)
2026-05-07 17:52:06 +08:00
q792602257
fa43d2ed32
feat(web): AgentEventCard component (per-method rendering)
2026-05-07 17:52:02 +08:00
q792602257
fdd6fd7111
docs(config): document webhook topics whitelist + add acp.session_crashed example
2026-05-07 17:49:11 +08:00
q792602257
faebfc3135
feat(app): wire acp_events_purge runner into jobs scheduler
2026-05-07 17:47:50 +08:00
q792602257
4c19ce29ca
feat(jobs): acp_events_purge runner (retention-based cron cleanup)
2026-05-07 17:39:57 +08:00
q792602257
e03df47b71
feat(web): SessionStatusBadge component (4 statuses)
2026-05-07 17:37:32 +08:00
q792602257
a6e6895c6c
feat(web): acp store sessions state + actions
2026-05-07 17:36:59 +08:00
q792602257
a0eeb52cb0
feat(web): acp api sessions + WS factory (?token= auth)
2026-05-07 17:33:00 +08:00
q792602257
b22aacee62
feat(middleware): support ?token= query param fallback for browser WebSocket auth
2026-05-07 17:30:10 +08:00
q792602257
70ffddb76c
test(acp): handler integration e2e (POST session + WS state event + DELETE)
2026-05-07 17:20:33 +08:00
q792602257
f5f048083a
feat(acp): WebSocket session handler (history + live + ping/pong + owner-only prompt/cancel)
2026-05-07 17:08:09 +08:00
q792602257
72cd353757
feat(acp): handler refactor + sessions REST endpoints (list/create/get/delete/events)
2026-05-07 14:34:47 +08:00
q792602257
26011975b4
feat(app): wire ACP Supervisor + SessionService + startup reaper
2026-05-07 14:29:14 +08:00
q792602257
90f910fcdd
feat(acp): SessionService.Create with worktree acquire + supervisor.Spawn
2026-05-07 14:23:01 +08:00
q792602257
3e50da4a49
feat(workspace): session-scoped Caller.Holder + ReleaseByHolder for ACP integration
2026-05-07 14:21:00 +08:00
q792602257
9fc96b0a1a
feat(acp): SessionService skeleton + ResolveBranch (5 paths) + tests
2026-05-07 14:11:47 +08:00
q792602257
ce28b822f9
feat(acp): SessionService interface + CreateSessionInput
2026-05-07 14:09:42 +08:00
q792602257
54a69a46cd
test(acp): supervisor integration with fake-acp-agent (happy/hang/crash)
2026-05-07 14:05:06 +08:00
q792602257
70c86a552b
feat(acp): supervisor spawn / handshake / monitor / kill / onExit
2026-05-07 14:01:04 +08:00
q792602257
b4694e113b
feat(fake-acp-agent): integration test agent (HANG/CRASH/FS_READ/FS_WRITE modes)
2026-05-07 13:48:30 +08:00
q792602257
85a8bc0df7
test(acp): relay round-trip + fanout + agent request handling + slow subscriber
2026-05-07 13:45:25 +08:00
q792602257
679ded50c9
chore(sqlc): regenerate models for migration 0006
...
sqlc reads all migrations into every package's schema, so the
addition of acp_* tables and workspaces.active_main_session_id
in migration 0006 propagates type definitions and SELECT
column lists across all sub-packages. No code logic changes.
2026-05-07 13:39:08 +08:00
q792602257
3d5f63b28e
feat(acp): relay reader/writer goroutines + Call + persist with truncation
2026-05-07 12:25:39 +08:00
q792602257
64ff2a8c02
feat(acp/handlers): initialize + session/new param builders
2026-05-07 12:22:31 +08:00
q792602257
6da1dc5a40
feat(acp/handlers): session/request_permission auto-reject
2026-05-07 12:21:18 +08:00
q792602257
b9f38b6e94
feat(acp/handlers): fs/read_text_file + fs/write_text_file with path safety
2026-05-07 12:19:03 +08:00
q792602257
de73ad4935
feat(acp): relay skeleton (subscribe/unsubscribe/fanout/close) + supervisor.GetRelay
2026-05-07 12:16:06 +08:00
q792602257
839e5c9e95
feat(acp/handlers): handlers subpackage with shared types + placeholder handlers
2026-05-07 12:16:03 +08:00
q792602257
bd95fd33d6
feat(acp): supervisor skeleton + AcpConfig wiring
2026-05-07 12:12:05 +08:00
q792602257
dee20bb618
feat(acp): ResolveSafePath helper (3-fold check: abs/prefix/symlink)
2026-05-07 12:06:37 +08:00
q792602257
cf314021e7
feat(acp): JSON-RPC 2.0 codec (number/string id, LF-delimited, concurrent-safe encoder)
2026-05-07 12:04:27 +08:00
q792602257
2696a03055
feat(web): register /admin/acp/agent-kinds routes
2026-05-07 12:00:26 +08:00
q792602257
e5a921c26f
feat(web): AgentKindEditView (create + edit)
2026-05-07 12:00:23 +08:00
q792602257
996c3c8c9b
feat(web): AgentKindAdminListView (admin list)
2026-05-07 12:00:19 +08:00
q792602257
6e8a9ee8d6
feat(web): AgentKindForm component (Naive UI form with env editor)
2026-05-07 12:00:16 +08:00
q792602257
b044c86728
feat(web): acp pinia store (agent_kinds)
2026-05-07 11:45:41 +08:00
q792602257
7307ad0054
feat(web): acp api client (agent_kinds)
2026-05-07 11:45:33 +08:00
q792602257
e97541030a
feat(app): wire ACP AgentKindService + handler
2026-05-07 11:41:14 +08:00
q792602257
8202a7a679
test(acp): handler unit tests (admin / user / field redaction / PATCH semantics)
2026-05-07 11:37:33 +08:00