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 /packages/kernel/src | |
| 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 'packages/kernel/src')
0 files changed, 0 insertions, 0 deletions
