Merge branch 'main' into cw/account-ui-conflict-1772803526476
# Conflicts: # apps/server/trpc/router.test.ts # docs/server-api.md
This commit is contained in:
@@ -59,11 +59,15 @@ Each procedure uses `require*Repository(ctx)` helpers that throw `TRPCError(INTE
|
||||
| dismissAgent | mutation | Dismiss agent (set userDismissedAt) |
|
||||
| resumeAgent | mutation | Resume with answers |
|
||||
| listAgents | query | All agents |
|
||||
| getAgent | query | Single agent by name or ID |
|
||||
| getAgent | query | Single agent by name or ID; also returns `taskName`, `initiativeName`, `exitCode` |
|
||||
| getAgentResult | query | Execution result |
|
||||
| getAgentQuestions | query | Pending questions |
|
||||
| getAgentOutput | query | Full output from DB log chunks |
|
||||
| getAgentOutput | query | Timestamped log chunks from DB (`{ content, createdAt }[]`) |
|
||||
| getTaskAgent | query | Most recent agent assigned to a task (by taskId) |
|
||||
| getAgentInputFiles | query | Files written to agent's `.cw/input/` dir (text only, sorted, 500 KB cap) |
|
||||
| getAgentPrompt | query | Assembled prompt — reads from DB (`agents.prompt`) first; falls back to `.cw/agent-logs/<name>/PROMPT.md` for pre-persistence agents (1 MB cap) |
|
||||
| getActiveRefineAgent | query | Active refine agent for initiative |
|
||||
| getActiveConflictAgent | query | Active conflict resolution agent for initiative (name starts with `conflict-`) |
|
||||
| listWaitingAgents | query | Agents waiting for input |
|
||||
| onAgentOutput | subscription | Live raw JSONL output stream via EventBus |
|
||||
|
||||
@@ -95,6 +99,9 @@ Each procedure uses `require*Repository(ctx)` helpers that throw `TRPCError(INTE
|
||||
| getInitiativeReviewCommits | query | Commits on initiative branch not on default branch |
|
||||
| getInitiativeCommitDiff | query | Single commit diff for initiative review |
|
||||
| approveInitiativeReview | mutation | Approve initiative review: `{initiativeId, strategy: 'push_branch' \| 'merge_and_push'}` |
|
||||
| requestInitiativeChanges | mutation | Request changes on initiative: `{initiativeId, summary}` → creates review task in Finalization phase, resets initiative to active |
|
||||
| checkInitiativeMergeability | query | Dry-run merge check: `{initiativeId}` → `{mergeable, conflictFiles[], targetBranch}` |
|
||||
| spawnConflictResolutionAgent | mutation | Spawn agent to resolve merge conflicts: `{initiativeId, provider?}` → auto-dismisses stale conflict agents, creates merge task |
|
||||
|
||||
### Phases
|
||||
| Procedure | Type | Description |
|
||||
@@ -115,11 +122,12 @@ Each procedure uses `require*Repository(ctx)` helpers that throw `TRPCError(INTE
|
||||
| getPhaseReviewCommits | query | List commits between initiative and phase branch |
|
||||
| getCommitDiff | query | Diff for a single commit (by hash) in a phase |
|
||||
| approvePhaseReview | mutation | Approve and merge phase branch |
|
||||
| requestPhaseChanges | mutation | Request changes: creates revision task from unresolved comments, resets phase to in_progress |
|
||||
| listReviewComments | query | List review comments by phaseId |
|
||||
| requestPhaseChanges | mutation | Request changes: creates revision task from unresolved threaded comments (with `[comment:ID]` tags and reply threads), resets phase to in_progress |
|
||||
| listReviewComments | query | List review comments by phaseId (flat list including replies, frontend groups by parentCommentId) |
|
||||
| createReviewComment | mutation | Create inline review comment on diff |
|
||||
| resolveReviewComment | mutation | Mark review comment as resolved |
|
||||
| unresolveReviewComment | mutation | Mark review comment as unresolved |
|
||||
| replyToReviewComment | mutation | Create a threaded reply to an existing review comment (copies parent's phaseId/filePath/lineNumber) |
|
||||
|
||||
### Phase Dispatch
|
||||
| Procedure | Type | Description |
|
||||
@@ -205,13 +213,13 @@ Each procedure uses `require*Repository(ctx)` helpers that throw `TRPCError(INTE
|
||||
| Procedure | Type | Events |
|
||||
|-----------|------|--------|
|
||||
| onEvent | subscription | All event types |
|
||||
| onAgentUpdate | subscription | agent:* events (8 types) |
|
||||
| onAgentUpdate | subscription | agent:* events (7 types, excludes agent:output) |
|
||||
| onTaskUpdate | subscription | task:* + phase:* events (8 types) |
|
||||
| onPageUpdate | subscription | page:created/updated/deleted |
|
||||
| onPreviewUpdate | subscription | preview:building/ready/stopped/failed |
|
||||
| onConversationUpdate | subscription | conversation:created/answered |
|
||||
|
||||
Subscriptions use `eventBusIterable()` — queue-based async generator, max 1000 events, 30s heartbeat.
|
||||
Subscriptions use `eventBusIterable()` — queue-based async generator, max 1000 events, 30s heartbeat. `agent:output` is excluded from all general subscriptions (it's high-frequency streaming data); use the dedicated `onAgentOutput` subscription instead.
|
||||
|
||||
## Coordination Module
|
||||
|
||||
|
||||
Reference in New Issue
Block a user