diff options
| author | Adam Malczewski <[email protected]> | 2026-08-26 00:08:40 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-08-26 00:08:40 +0900 |
| commit | 33c7245f18346553f660434bc3ac589cff3e80c2 (patch) | |
| tree | 202002771681259446ed95506b4fbb6adece2fd8 /.dispatch | |
| parent | 4e56e548872a162129efee1b09987af7893b0e0c (diff) | |
| download | dispatch-web-33c7245f18346553f660434bc3ac589cff3e80c2.tar.gz dispatch-web-33c7245f18346553f660434bc3ac589cff3e80c2.zip | |
fix(tabs): stamp tabs with the conversation's persisted model (conv.model), not activeModel
Diffstat (limited to '.dispatch')
| -rw-r--r-- | .dispatch/transport-contract.reference.md | 7 | ||||
| -rw-r--r-- | .dispatch/wire.reference.md | 17 |
2 files changed, 24 insertions, 0 deletions
diff --git a/.dispatch/transport-contract.reference.md b/.dispatch/transport-contract.reference.md index 13387fc..980d38b 100644 --- a/.dispatch/transport-contract.reference.md +++ b/.dispatch/transport-contract.reference.md @@ -881,6 +881,13 @@ export interface ConversationOpenMessage { * workspace. */ readonly workspaceId: string; + /** + * The conversation's persisted per-conversation model when set (absent = + * default provider model), so a frontend can stamp the new tab with the + * conversation's ACTUAL model rather than the globally-selected one + * (fix-toolcall-duplicate-keys plan Part 4). + */ + readonly model?: string; } /** diff --git a/.dispatch/wire.reference.md b/.dispatch/wire.reference.md index a57125f..07dabc8 100644 --- a/.dispatch/wire.reference.md +++ b/.dispatch/wire.reference.md @@ -6,6 +6,14 @@ > > **Orchestrator:** SNAPSHOT of `[email protected]` (workspaces + computers + provider-retry + concurrency-`queued` status). Regenerate whenever `@dispatch/wire` changes. > +> **2026-08-25 delta (per-conversation model on ConversationMeta — ADDITIVE, no version bump):** +> `ConversationMeta` gains an optional `model?: string` (`<credential>/<model>`, absENT = default +> provider model). Surfaced on `GET /conversations` and the `conversation.open` WS broadcast so the +> FE can stamp a tab with the conversation's ACTUAL model instead of the globally-selected one +> (fix-toolcall-duplicate-keys plan Part 4 — prevents the stored model being overwritten by +> `activeModel`). See `transport-contract.reference.md` for the `ConversationOpenMessage.model` +> addition. +> > **2026-08-20 delta (Named Agents — ADDITIVE, no version bump):** `@dispatch/wire` now exports two > named-agent shapes the FE consumes (`named-agents-plan.md`): `NamedAgent` > `{ id, name, model }` (a user-curated model preset; `model` = canonical `<provider>/<model>`) and @@ -680,6 +688,15 @@ export interface ConversationMeta { * that have never been compacted. */ readonly compactedFrom?: string; + /** + * The persisted per-conversation model name (`<credential>/<model>`), when + * one has been set. Absent/null means the conversation uses the default + * provider model. Surfaced on the open-conversation list + `conversation.open` + * broadcast so a client can stamp a tab with the conversation's ACTUAL model + * instead of the currently-selected global model (fix-toolcall-duplicate-keys + * plan Part 4). + */ + readonly model?: string; } // ─── Compaction ────────────────────────────────────────────────────────────── |
