feat: Switch cw ask from polling to SSE via onConversationAnswer subscription
- New onConversationAnswer subscription: listens for conversation:answered events matching a specific conversation ID, yields the answer text - cw ask now subscribes via SSE instead of polling getConversation - Removed --poll-interval and --timeout flags from cw ask - Updated prompt to reflect SSE-based cw ask (no polling options)
This commit is contained in:
@@ -159,10 +159,9 @@ Agents can communicate with each other via the `conversations` table, coordinate
|
||||
- First yields any existing pending conversations from DB, then listens for `conversation:created` events
|
||||
- Output: `{ conversationId, fromAgentId, question, phaseId?, taskId? }`
|
||||
|
||||
**`cw ask <question> --from <agentId> --agent-id|--task-id|--phase-id <target> [--timeout <ms>] [--poll-interval <ms>]`**
|
||||
- Creates conversation, polls `getConversation` until answered, prints answer text to stdout
|
||||
**`cw ask <question> --from <agentId> --agent-id|--task-id|--phase-id <target>`**
|
||||
- Creates conversation, subscribes to `onConversationAnswer` SSE, prints answer text to stdout when answered
|
||||
- Target resolution: `--agent-id` (direct), `--task-id` (find agent running task), `--phase-id` (find agent in phase)
|
||||
- `--timeout`: max wait in ms (default 0=forever), `--poll-interval`: polling frequency in ms (default 2000)
|
||||
|
||||
**`cw answer <answer> --conversation-id <id>`**
|
||||
- Calls `answerConversation`, prints `{ conversationId, status: "answered" }`
|
||||
|
||||
Reference in New Issue
Block a user