Commit Graph

219 Commits

Author SHA1 Message Date
q792602257 ce586a43ee docs(config): example mcp section (default values) 2026-05-08 07:15:45 +08:00
q792602257 30a85d1b2d feat(config): add MCPConfig (enabled / public_url / system_token_ttl / rate_limit) 2026-05-08 07:14:24 +08:00
q792602257 29b4c50888 feat(mcp): plaintext token generator + SHA-256 hash helper 2026-05-08 07:12:43 +08:00
q792602257 a3710c8645 feat(mcp): domain types — Issuer / Scope / MCPToken + helpers 2026-05-08 07:11:03 +08:00
q792602257 b1db7841c7 feat(errs): add 8 MCP error codes + HTTPStatus mapping 2026-05-08 07:09:26 +08:00
q792602257 39f57df882 feat(mcp): sqlc queries for mcp_tokens (CRUD + revoke + reaper + purge) 2026-05-08 07:07:47 +08:00
q792602257 6e43792bd6 feat(mcp): register mcpsqlc package in sqlc.yaml 2026-05-08 07:05:37 +08:00
q792602257 a46075fc5e feat(mcp): add migration 0007 down — drop mcp_tokens 2026-05-08 07:04:38 +08:00
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