diff options
| author | Adam Malczewski <[email protected]> | 2026-06-06 21:13:58 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-06 21:13:58 +0900 |
| commit | fedf9c2695476e9ee6f95776b0244acfc37f022f (patch) | |
| tree | 313b2c39e1a7677f2d0997d74df8241986f3283a /bun.lock | |
| parent | 61b6e24c7abb4eebf94da0a0498a68a1bb8ba92e (diff) | |
| download | dispatch-fedf9c2695476e9ee6f95776b0244acfc37f022f.tar.gz dispatch-fedf9c2695476e9ee6f95776b0244acfc37f022f.zip | |
feat(transport-ws,transport-contract): multiplex chat ops onto the surface WS
Add chat WS ops (chat.send / chat.delta / chat.error) + unified
WsClientMessage/WsServerMessage unions to @dispatch/transport-contract
(imports ui-contract; surface protocol unchanged — additive non-colliding
type variants, no channel wrapper). transport-ws drives
sessionOrchestrator.handleMessage, streaming each AgentEvent as chat.delta
over the same connection that carries surface ops; per-connection
AbortController cancels in-flight turns on socket close; error-isolated.
Verified live: one WS connection delivered the surface catalog AND a real
flash chat turn (chat.delta stream, reply 'Hello my friend').
Completes the FE Slice 2 backend prereqs. typecheck clean, 485 vitest + 80 bun,
biome clean.
Discovered (separate, pre-existing): runtime does not emit
turn-start/done/turn-sealed on either transport — needed for FE cache-commit;
tracked in tasks.md.
Diffstat (limited to 'bun.lock')
| -rw-r--r-- | bun.lock | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -143,6 +143,7 @@ "name": "@dispatch/transport-contract", "version": "0.0.0", "dependencies": { + "@dispatch/ui-contract": "workspace:*", "@dispatch/wire": "workspace:*", }, }, @@ -163,7 +164,9 @@ "version": "0.0.0", "dependencies": { "@dispatch/kernel": "workspace:*", + "@dispatch/session-orchestrator": "workspace:*", "@dispatch/surface-registry": "workspace:*", + "@dispatch/transport-contract": "workspace:*", "@dispatch/ui-contract": "workspace:*", }, }, |
