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/wire/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/wire/src')
| -rw-r--r-- | packages/wire/src/index.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/wire/src/index.ts b/packages/wire/src/index.ts index 3edeabf..72b5e43 100644 --- a/packages/wire/src/index.ts +++ b/packages/wire/src/index.ts @@ -496,3 +496,18 @@ export interface TurnSteeringEvent { readonly turnId: string; readonly text: string; } + +// ─── Conversation metadata ─────────────────────────────────────────────────── + +/** + * Metadata for a conversation, returned by `GET /conversations` (the list + * endpoint). The title defaults to the first user message (truncated) and can + * be set via `PUT /conversations/:id/title`. `createdAt` is set on first write; + * `lastActivityAt` is updated on every append. + */ +export interface ConversationMeta { + readonly id: string; + readonly createdAt: number; + readonly lastActivityAt: number; + readonly title: string; +} |
