feat: Add inter-agent conversation system (listen, ask, answer)
Enables parallel agents to communicate through a CLI-based conversation mechanism coordinated via tRPC. Agents can ask questions to peers and receive answers, with target resolution by agent ID, task ID, or phase ID.
This commit is contained in:
@@ -143,9 +143,29 @@ Self-referencing (parentMessageId) for threading. Sender/recipient types: 'agent
|
||||
|
||||
Index on `agentId` for fast queries.
|
||||
|
||||
### conversations
|
||||
|
||||
Inter-agent communication records.
|
||||
|
||||
| Column | Type | Notes |
|
||||
|--------|------|-------|
|
||||
| id | text PK | |
|
||||
| fromAgentId | text NOT NULL | FK→agents ON DELETE CASCADE |
|
||||
| toAgentId | text NOT NULL | FK→agents ON DELETE CASCADE |
|
||||
| initiativeId | text | FK→initiatives ON DELETE SET NULL |
|
||||
| phaseId | text | FK→phases ON DELETE SET NULL |
|
||||
| taskId | text | FK→tasks ON DELETE SET NULL |
|
||||
| question | text NOT NULL | |
|
||||
| answer | text | nullable until answered |
|
||||
| status | text enum | pending, answered |
|
||||
| createdAt | integer/timestamp | |
|
||||
| updatedAt | integer/timestamp | |
|
||||
|
||||
Indexes: `(toAgentId, status)` for listen polling, `(fromAgentId)`.
|
||||
|
||||
## Repository Interfaces
|
||||
|
||||
10 repositories, each with standard CRUD plus domain-specific methods:
|
||||
11 repositories, each with standard CRUD plus domain-specific methods:
|
||||
|
||||
| Repository | Key Methods |
|
||||
|-----------|-------------|
|
||||
@@ -159,6 +179,7 @@ Index on `agentId` for fast queries.
|
||||
| AccountRepository | + findNextAvailable (round-robin), markExhausted, clearExpiredExhaustion |
|
||||
| ProposalRepository | + findByAgentIdAndStatus, updateManyByAgentId, countByAgentIdAndStatus |
|
||||
| LogChunkRepository | insertChunk, findByAgentId, deleteByAgentId, getSessionCount |
|
||||
| ConversationRepository | create, findById, findPendingForAgent, answer |
|
||||
|
||||
## Migrations
|
||||
|
||||
@@ -170,4 +191,4 @@ Key rules:
|
||||
- See [database-migrations.md](database-migrations.md) for full workflow
|
||||
- Snapshots stale after 0008; migrations 0008+ are hand-written
|
||||
|
||||
Current migrations: 0000 through 0018 (19 total).
|
||||
Current migrations: 0000 through 0024 (25 total).
|
||||
|
||||
Reference in New Issue
Block a user