feat: Add persistent chat sessions for iterative phase/task refinement
Introduces a chat loop where users send instructions to an agent that applies changes (create/update/delete phases, tasks, pages) and stays alive for follow-up messages. Includes schema + migration, repository layer, chat prompt, file-io action field extension, output handler chat mode, revert support for deletes, tRPC procedures, events, frontend slide-over UI with inline changeset display and revert, and docs.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
- **Adapter**: `TypedEventBus` using Node.js `EventEmitter`
|
||||
- All events implement `BaseEvent { type, timestamp, payload }`
|
||||
|
||||
### Event Types (52)
|
||||
### Event Types (54)
|
||||
|
||||
| Category | Events | Count |
|
||||
|----------|--------|-------|
|
||||
@@ -26,6 +26,7 @@
|
||||
| **Account** | `account:credentials_refreshed`, `account:credentials_expired`, `account:credentials_validated` | 3 |
|
||||
| **Preview** | `preview:building`, `preview:ready`, `preview:stopped`, `preview:failed` | 4 |
|
||||
| **Conversation** | `conversation:created`, `conversation:answered` | 2 | `conversation:created` triggers auto-resume of idle target agents via `resumeForConversation()` |
|
||||
| **Chat** | `chat:message_created`, `chat:session_closed` | 2 | Chat session lifecycle events |
|
||||
| **Log** | `log:entry` | 1 |
|
||||
|
||||
### Key Event Payloads
|
||||
@@ -34,7 +35,7 @@
|
||||
AgentSpawnedEvent { agentId, name, taskId, worktreeId, provider }
|
||||
AgentStoppedEvent { agentId, name, taskId, reason }
|
||||
// reason: 'user_requested'|'task_complete'|'error'|'waiting_for_input'|
|
||||
// 'context_complete'|'plan_complete'|'detail_complete'|'refine_complete'
|
||||
// 'context_complete'|'plan_complete'|'detail_complete'|'refine_complete'|'chat_complete'
|
||||
AgentWaitingEvent { agentId, name, taskId, sessionId, questions[] }
|
||||
AgentOutputEvent { agentId, stream, data }
|
||||
TaskCompletedEvent { taskId, agentId, success, message }
|
||||
|
||||
Reference in New Issue
Block a user