diff options
| author | Adam Malczewski <[email protected]> | 2026-06-21 16:19:17 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-21 16:19:17 +0900 |
| commit | 91deffaefb1240d6051c24c9afb7d51beab57e5f (patch) | |
| tree | afbf8f138c1a852638ca73aae12849687478a586 /packages/session-orchestrator/src | |
| parent | 6cfe0dc1df99c46407b0784576c3d4b0f1cb7349 (diff) | |
| download | dispatch-91deffaefb1240d6051c24c9afb7d51beab57e5f.tar.gz dispatch-91deffaefb1240d6051c24c9afb7d51beab57e5f.zip | |
feat(cli): Wave 0 — contracts for conversation list, last message, open tab
Additive contract changes for the CLI milestone (roadmap items 2 + 4):
@dispatch/wire 0.8.0 → 0.9.0:
- ConversationMeta { id, createdAt, lastActivityAt, title }
@dispatch/transport-contract 0.12.0 → 0.13.0:
- ConversationListResponse, LastMessageResponse, OpenConversationResponse
- SetTitleRequest, TitleResponse
- WS conversation.open broadcast (additive to WsServerMessage)
ConversationStore interface:
- listConversations(), getConversationMeta(), setConversationTitle()
- Stub implementations in real store + 11 test fakes (Wave 1 fills in)
Transport-http manifest: new routes declared
(GET /conversations, GET /conversations/:id/last,
POST /conversations/:id/open, PUT /conversations/:id/title)
Diffstat (limited to 'packages/session-orchestrator/src')
| -rw-r--r-- | packages/session-orchestrator/src/orchestrator.test.ts | 28 | ||||
| -rw-r--r-- | packages/session-orchestrator/src/queue.test.ts | 7 |
2 files changed, 35 insertions, 0 deletions
diff --git a/packages/session-orchestrator/src/orchestrator.test.ts b/packages/session-orchestrator/src/orchestrator.test.ts index 39996b0..9ee9704 100644 --- a/packages/session-orchestrator/src/orchestrator.test.ts +++ b/packages/session-orchestrator/src/orchestrator.test.ts @@ -79,6 +79,13 @@ function createInMemoryStore(): ConversationStore & { async setReasoningEffort(conversationId, effort) { effortData.set(conversationId, effort); }, + async listConversations() { + return []; + }, + async getConversationMeta() { + return null; + }, + async setConversationTitle() {}, }; } @@ -518,6 +525,13 @@ describe("turn-sealed event", () => { async setReasoningEffort(conversationId, effort) { await store.setReasoningEffort(conversationId, effort); }, + async listConversations() { + return []; + }, + async getConversationMeta() { + return null; + }, + async setConversationTitle() {}, }; const { orchestrator } = createSessionOrchestrator({ @@ -573,6 +587,13 @@ describe("turn-sealed event", () => { return null; }, async setReasoningEffort() {}, + async listConversations() { + return []; + }, + async getConversationMeta() { + return null; + }, + async setConversationTitle() {}, }; const { orchestrator } = createSessionOrchestrator({ @@ -917,6 +938,13 @@ describe("turn metrics persistence", () => { return null; }, async setReasoningEffort() {}, + async listConversations() { + return []; + }, + async getConversationMeta() { + return null; + }, + async setConversationTitle() {}, }; const { orchestrator } = createSessionOrchestrator({ diff --git a/packages/session-orchestrator/src/queue.test.ts b/packages/session-orchestrator/src/queue.test.ts index c1f12da..2aba3d4 100644 --- a/packages/session-orchestrator/src/queue.test.ts +++ b/packages/session-orchestrator/src/queue.test.ts @@ -75,6 +75,13 @@ function createInMemoryStore(): ConversationStore & { async setReasoningEffort(conversationId, effort) { effortData.set(conversationId, effort); }, + async listConversations() { + return []; + }, + async getConversationMeta() { + return null; + }, + async setConversationTitle() {}, }; } |
