q792602257
|
416a7d5023
|
feat(mcp): auth middleware (Bearer + ?token= fallback)
|
2026-05-08 08:06:41 +08:00 |
|
q792602257
|
8031579487
|
test(mcp): TokenService unit tests with fake repo
|
2026-05-08 08:04:54 +08:00 |
|
q792602257
|
7d9cd4bf6b
|
feat(mcp): TokenService.Revoke + RevokeBySession (with audit)
|
2026-05-08 08:02:11 +08:00 |
|
q792602257
|
796e1e0d4c
|
feat(mcp): TokenService.Authenticate (hash lookup + revoked/expired check + async last_used)
|
2026-05-08 08:00:35 +08:00 |
|
q792602257
|
0081ad6e49
|
feat(mcp): TokenService.IssueSystemToken (with default scope + 24h TTL)
|
2026-05-08 07:59:00 +08:00 |
|
q792602257
|
d1573bde09
|
feat(mcp): TokenService skeleton + IssueAdmin
|
2026-05-08 07:57:17 +08:00 |
|
q792602257
|
4071778930
|
test(mcp): RevokeBySession + ReapStaleSystemTokens integration
|
2026-05-08 07:27:59 +08:00 |
|
q792602257
|
d431b8103d
|
test(mcp): repository CRUD + CHECK constraints + filter + purge integration
|
2026-05-08 07:25:21 +08:00 |
|
q792602257
|
bb512c0029
|
feat(mcp): repository RevokeBySession + ReapStaleSystemTokens + PurgeExpired
|
2026-05-08 07:22:16 +08:00 |
|
q792602257
|
21f29a68b5
|
feat(mcp): repository List + UpdateLastUsed + Revoke + DeleteByID
|
2026-05-08 07:20:19 +08:00 |
|
q792602257
|
3d16e4a877
|
feat(mcp): repository skeleton + Create + GetByHash + GetByID
|
2026-05-08 07:18:09 +08:00 |
|
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 |
|