feat(web): channel authoring API and web codec registry - #3570
feat(web): channel authoring API and web codec registry#3570paul-nechifor wants to merge 1 commit into
Conversation
- New dimos.web.codecs: @web_encoder / @web_decoder registry keyed by encoding id. An encoder turns one DimOS message into the bytes of a relay data frame. - Encoders return bytes, an EncodedPayload when the frame needs header meta, or None to skip a sample. json.v1 stays the only unregistered fallback. - New Channel in dimos.web.cockpit plus cockpit(channels=[...]) to put a stream on the wire without a panel. rx only for now, publish arrives in W7. - The blueprint compiler resolves encoding ids to callables at definition time and ships them in immutable runtime channel specs through the config. - Workers never depend on the user's codec module being imported there. Codecs must live at module level so pickle ships them by reference. - Built-in codecs (jpeg.v1, costmap.zlib.v1, json.v1) move to relay_bridge/builtin_codecs.py. The static class stays for the default path. - examples/custom-path/ is the end-to-end custom codec demo, pinned by a new browser e2e in CI (test_custom_channel_browser.py).
Codecov Report❌ Patch coverage is @@ Coverage Diff @@
## paul/feat/w5-dynamic-bridge-classes #3570 +/- ##
======================================================================
Coverage ? 77.07%
======================================================================
Files ? 1274
Lines ? 124818
Branches ? 11143
======================================================================
Hits ? 96201
Misses ? 25488
Partials ? 3129
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Greptile SummaryThis change adds Python-authored browser channels and codec registration, generates relay bridge ports for those declarations, and delivers encoded custom streams through lazy browser subscriptions. The custom path flow was exercised with a real local relay and Chromium browser: the page connected and rendered all three delivered points. Focused coverage also passed for generated-port routing, subscription-gated encoding, codec parameter isolation, cache replay, encoder-failure isolation, parameter validation, dynamic class deployment, and blueprint pickling. T-Rex validation blocked
Confidence Score: 5/5The exercised custom-channel authoring and browser-delivery flow is safe to merge. No defects remain in the review output. A real browser session verified delivery through the local relay, and 216 focused runtime tests covered the main routing, serialization, lazy-subscription, and isolation behaviors. Files Needing Attention: No files require corrective changes. The SDK test invocation in the setup guidance merits follow-up because resolver logging prevents the documented command from locating the Deno binary.
What T-Rex did
Reviews (1): Last reviewed commit: "feat(web): channel authoring API and web..." | Re-trigger Greptile |
No description provided.