You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deno Desktop's webview↔runtime bindings have no built-in type bridge — the docs prescribe a hand-maintained bindings.d.ts (runtime/desktop/bindings #type-safety). NetScript replaces that with contract-first RPC:
A port shim adapting the bind channel (win.bind() / bindings.<name>(), JSON + Uint8Array, promise-based, per-window isolation) into a MessagePort-like pair.
oRPC's Message Port adapter on top (RPCHandler.upgrade(port) runtime-side, RPCLink webview-side — orpc.dev/docs/adapters/message-port): the same typed contracts/routers NetScript services already use, now spanning the window boundary. End-to-end types, no manual d.ts.
Integration: SDK provides the link + shim; @netscript/fresh wires the window side (desktop-gated, no-op in browser/Aspire mode — the POC's feature-detection pattern).
Constraint noted: serialization to string/binary by default; experimental_transfer used sparingly per oRPC guidance.
Part of #840.
Deno Desktop's webview↔runtime bindings have no built-in type bridge — the docs prescribe a hand-maintained
bindings.d.ts(runtime/desktop/bindings #type-safety). NetScript replaces that with contract-first RPC:A port shim adapting the bind channel (
win.bind()/bindings.<name>(), JSON +Uint8Array, promise-based, per-window isolation) into a MessagePort-like pair.oRPC's Message Port adapter on top (
RPCHandler.upgrade(port)runtime-side,RPCLinkwebview-side — orpc.dev/docs/adapters/message-port): the same typed contracts/routers NetScript services already use, now spanning the window boundary. End-to-end types, no manual d.ts.Integration: SDK provides the link + shim;
@netscript/freshwires the window side (desktop-gated, no-op in browser/Aspire mode — the POC's feature-detection pattern).Constraint noted: serialization to string/binary by default;
experimental_transferused sparingly per oRPC guidance.gate: typed round-trip incl. error mapping ({name,message,stack}) + Uint8Array payloads; per-window isolation test
gate: browser/Aspire no-op parity; jsr rubric on new SDK/fresh surface
Design source: PR #822 (
rfc.md) + run.llm/runs/rfc-single-deployment--orchestrator/.