@alexkroman1/aai 0.8.3 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/cli/tsconfig.tsbuildinfo +1 -0
  2. package/dist/cli.js +1215 -1706
  3. package/dist/sdk/_mock_ws.js +2 -2
  4. package/dist/sdk/_mock_ws.js.map +1 -1
  5. package/dist/sdk/_render_check.d.ts.map +1 -1
  6. package/dist/sdk/_render_check.js +29 -2
  7. package/dist/sdk/_render_check.js.map +1 -1
  8. package/dist/sdk/_utils.d.ts +4 -0
  9. package/dist/sdk/_utils.d.ts.map +1 -0
  10. package/dist/sdk/_utils.js +7 -0
  11. package/dist/sdk/_utils.js.map +1 -0
  12. package/dist/sdk/builtin_tools.d.ts +35 -11
  13. package/dist/sdk/builtin_tools.d.ts.map +1 -1
  14. package/dist/sdk/builtin_tools.js +118 -76
  15. package/dist/sdk/builtin_tools.js.map +1 -1
  16. package/dist/sdk/capnweb.d.ts +76 -47
  17. package/dist/sdk/capnweb.d.ts.map +1 -1
  18. package/dist/sdk/capnweb.js +99 -242
  19. package/dist/sdk/capnweb.js.map +1 -1
  20. package/dist/sdk/direct_executor.d.ts.map +1 -1
  21. package/dist/sdk/direct_executor.js +0 -2
  22. package/dist/sdk/direct_executor.js.map +1 -1
  23. package/dist/sdk/host.d.ts +59 -0
  24. package/dist/sdk/host.d.ts.map +1 -0
  25. package/dist/sdk/host.js +131 -0
  26. package/dist/sdk/host.js.map +1 -0
  27. package/dist/sdk/mod.d.ts +2 -4
  28. package/dist/sdk/mod.d.ts.map +1 -1
  29. package/dist/sdk/mod.js +2 -3
  30. package/dist/sdk/mod.js.map +1 -1
  31. package/dist/sdk/protocol.d.ts +33 -135
  32. package/dist/sdk/protocol.d.ts.map +1 -1
  33. package/dist/sdk/protocol.js +49 -51
  34. package/dist/sdk/protocol.js.map +1 -1
  35. package/dist/sdk/runtime.d.ts +0 -1
  36. package/dist/sdk/runtime.d.ts.map +1 -1
  37. package/dist/sdk/runtime.js +5 -24
  38. package/dist/sdk/runtime.js.map +1 -1
  39. package/dist/sdk/s2s.d.ts +14 -3
  40. package/dist/sdk/s2s.d.ts.map +1 -1
  41. package/dist/sdk/s2s.js +72 -113
  42. package/dist/sdk/s2s.js.map +1 -1
  43. package/dist/sdk/server.d.ts +1 -1
  44. package/dist/sdk/server.d.ts.map +1 -1
  45. package/dist/sdk/server.js +26 -10
  46. package/dist/sdk/server.js.map +1 -1
  47. package/dist/sdk/session.d.ts +5 -1
  48. package/dist/sdk/session.d.ts.map +1 -1
  49. package/dist/sdk/session.js +131 -137
  50. package/dist/sdk/session.js.map +1 -1
  51. package/dist/sdk/tsconfig.tsbuildinfo +1 -0
  52. package/dist/sdk/types.d.ts +30 -3
  53. package/dist/sdk/types.d.ts.map +1 -1
  54. package/dist/sdk/types.js +37 -0
  55. package/dist/sdk/types.js.map +1 -1
  56. package/dist/sdk/winterc_server.d.ts +0 -1
  57. package/dist/sdk/winterc_server.d.ts.map +1 -1
  58. package/dist/sdk/winterc_server.js +0 -1
  59. package/dist/sdk/winterc_server.js.map +1 -1
  60. package/dist/sdk/worker_entry.d.ts +3 -11
  61. package/dist/sdk/worker_entry.d.ts.map +1 -1
  62. package/dist/sdk/worker_entry.js +8 -18
  63. package/dist/sdk/worker_entry.js.map +1 -1
  64. package/dist/sdk/worker_shim.d.ts +5 -6
  65. package/dist/sdk/worker_shim.d.ts.map +1 -1
  66. package/dist/sdk/worker_shim.js +93 -136
  67. package/dist/sdk/worker_shim.js.map +1 -1
  68. package/dist/sdk/ws_handler.d.ts +1 -3
  69. package/dist/sdk/ws_handler.d.ts.map +1 -1
  70. package/dist/sdk/ws_handler.js +14 -25
  71. package/dist/sdk/ws_handler.js.map +1 -1
  72. package/dist/ui/_cn.d.ts +5 -0
  73. package/dist/ui/_cn.d.ts.map +1 -0
  74. package/dist/ui/_cn.js +22 -0
  75. package/dist/ui/_cn.js.map +1 -0
  76. package/dist/ui/_components/app.d.ts +3 -1
  77. package/dist/ui/_components/app.d.ts.map +1 -1
  78. package/dist/ui/_components/app.js +2 -2
  79. package/dist/ui/_components/app.js.map +1 -1
  80. package/dist/ui/_components/button.d.ts +11 -0
  81. package/dist/ui/_components/button.d.ts.map +1 -0
  82. package/dist/ui/_components/button.js +17 -0
  83. package/dist/ui/_components/button.js.map +1 -0
  84. package/dist/ui/_components/chat_view.d.ts +3 -1
  85. package/dist/ui/_components/chat_view.d.ts.map +1 -1
  86. package/dist/ui/_components/chat_view.js +4 -2
  87. package/dist/ui/_components/chat_view.js.map +1 -1
  88. package/dist/ui/_components/controls.d.ts +3 -1
  89. package/dist/ui/_components/controls.d.ts.map +1 -1
  90. package/dist/ui/_components/controls.js +4 -5
  91. package/dist/ui/_components/controls.js.map +1 -1
  92. package/dist/ui/_components/error_banner.d.ts +2 -1
  93. package/dist/ui/_components/error_banner.d.ts.map +1 -1
  94. package/dist/ui/_components/error_banner.js +3 -2
  95. package/dist/ui/_components/error_banner.js.map +1 -1
  96. package/dist/ui/_components/message_bubble.d.ts +2 -1
  97. package/dist/ui/_components/message_bubble.d.ts.map +1 -1
  98. package/dist/ui/_components/message_bubble.js +5 -3
  99. package/dist/ui/_components/message_bubble.js.map +1 -1
  100. package/dist/ui/_components/message_list.d.ts +3 -1
  101. package/dist/ui/_components/message_list.d.ts.map +1 -1
  102. package/dist/ui/_components/message_list.js +7 -15
  103. package/dist/ui/_components/message_list.js.map +1 -1
  104. package/dist/ui/_components/sidebar_layout.d.ts +2 -1
  105. package/dist/ui/_components/sidebar_layout.d.ts.map +1 -1
  106. package/dist/ui/_components/sidebar_layout.js +5 -7
  107. package/dist/ui/_components/sidebar_layout.js.map +1 -1
  108. package/dist/ui/_components/start_screen.d.ts +2 -1
  109. package/dist/ui/_components/start_screen.d.ts.map +1 -1
  110. package/dist/ui/_components/start_screen.js +5 -2
  111. package/dist/ui/_components/start_screen.js.map +1 -1
  112. package/dist/ui/_components/state_indicator.d.ts +2 -1
  113. package/dist/ui/_components/state_indicator.d.ts.map +1 -1
  114. package/dist/ui/_components/state_indicator.js +3 -2
  115. package/dist/ui/_components/state_indicator.js.map +1 -1
  116. package/dist/ui/_components/thinking_indicator.d.ts +3 -1
  117. package/dist/ui/_components/thinking_indicator.d.ts.map +1 -1
  118. package/dist/ui/_components/thinking_indicator.js +4 -2
  119. package/dist/ui/_components/thinking_indicator.js.map +1 -1
  120. package/dist/ui/_components/tool_call_block.d.ts +2 -1
  121. package/dist/ui/_components/tool_call_block.d.ts.map +1 -1
  122. package/dist/ui/_components/tool_call_block.js +13 -25
  123. package/dist/ui/_components/tool_call_block.js.map +1 -1
  124. package/dist/ui/_components/transcript.d.ts +2 -1
  125. package/dist/ui/_components/transcript.d.ts.map +1 -1
  126. package/dist/ui/_components/transcript.js +3 -2
  127. package/dist/ui/_components/transcript.js.map +1 -1
  128. package/dist/ui/_jsdom_setup.d.ts +1 -0
  129. package/dist/ui/_jsdom_setup.d.ts.map +1 -0
  130. package/dist/ui/_jsdom_setup.js +6 -0
  131. package/dist/ui/_jsdom_setup.js.map +1 -0
  132. package/dist/ui/audio.d.ts.map +1 -1
  133. package/dist/ui/audio.js +4 -4
  134. package/dist/ui/audio.js.map +1 -1
  135. package/dist/ui/components.d.ts +13 -55
  136. package/dist/ui/components.d.ts.map +1 -1
  137. package/dist/ui/components.js +13 -42
  138. package/dist/ui/components.js.map +1 -1
  139. package/dist/ui/components_mod.d.ts +14 -3
  140. package/dist/ui/components_mod.d.ts.map +1 -1
  141. package/dist/ui/components_mod.js +14 -3
  142. package/dist/ui/components_mod.js.map +1 -1
  143. package/dist/ui/mod.d.ts +1 -8
  144. package/dist/ui/mod.d.ts.map +1 -1
  145. package/dist/ui/mod.js +1 -5
  146. package/dist/ui/mod.js.map +1 -1
  147. package/dist/ui/mount.d.ts +1 -1
  148. package/dist/ui/mount.d.ts.map +1 -1
  149. package/dist/ui/mount.js +1 -0
  150. package/dist/ui/mount.js.map +1 -1
  151. package/dist/ui/session.d.ts +0 -2
  152. package/dist/ui/session.d.ts.map +1 -1
  153. package/dist/ui/session.js +9 -18
  154. package/dist/ui/session.js.map +1 -1
  155. package/dist/ui/signals.d.ts +8 -3
  156. package/dist/ui/signals.d.ts.map +1 -1
  157. package/dist/ui/signals.js +22 -11
  158. package/dist/ui/signals.js.map +1 -1
  159. package/dist/ui/tsconfig.tsbuildinfo +1 -0
  160. package/dist/ui/worklets/playback-processor.js +3 -3
  161. package/package.json +37 -17
  162. package/templates/_shared/CLAUDE.md +4 -7
  163. package/templates/dispatch-center/agent.ts +85 -397
  164. package/templates/solo-rpg/agent.ts +3 -3
@@ -1,45 +1,75 @@
1
1
  /**
2
- * MessagePort RPC + WebSocket bridge for capnweb sandbox communication.
2
+ * capnweb integration + WebSocket bridge for sandboxed worker communication.
3
3
  *
4
- * Provides bidirectional RPC over MessagePort/Worker and WebSocket
5
- * bridging for both standard WebSocket (client connections) and
6
- * S2sWebSocket (.on()-style API for S2S connections).
4
+ * Provides a custom {@linkcode WorkerPortTransport} that allows capnweb RPC
5
+ * to share a Worker port with non-RPC messages (port transfers, bridge
6
+ * protocol), plus WebSocket bridging over MessagePort.
7
7
  *
8
8
  * @module
9
9
  */
10
- import type { S2sWebSocket } from "./s2s.ts";
11
- /** Minimal port interface for CapnwebEndpoint. Works with Worker, MessagePort, or worker self. */
12
- export type CapnwebPort = {
10
+ import { RpcSession, type RpcSessionOptions, RpcTarget, type RpcTransport } from "capnweb";
11
+ export { RpcSession, type RpcSessionOptions, RpcTarget, type RpcTransport };
12
+ /** Minimal port interface for {@linkcode WorkerPortTransport}. Works with Worker, self, or MessagePort. */
13
+ export type WorkerPort = {
13
14
  postMessage(msg: unknown, transfer?: Transferable[]): void;
14
- onmessage: ((ev: MessageEvent) => void) | null;
15
+ addEventListener(type: string, listener: (ev: MessageEvent) => void): void;
15
16
  };
16
- /** RPC handler function. Receives call arguments and any transferred ports. */
17
- export type RpcHandler = (args: unknown[], ports: readonly MessagePort[]) => unknown | Promise<unknown>;
17
+ /** Callback for non-RPC messages received on the port (e.g. port transfers). */
18
+ export type NonRpcHandler = (data: unknown, ports: readonly MessagePort[]) => void;
18
19
  /**
19
- * Bidirectional RPC endpoint over MessagePort or Worker.
20
+ * Custom {@linkcode RpcTransport} for capnweb RPC over Worker-like ports.
20
21
  *
21
- * Both sides can send calls and handle incoming calls on the same channel.
22
+ * capnweb RPC uses string messages. This transport filters incoming messages:
23
+ * - Strings → queued for RPC
24
+ * - `null` → peer closed, treated as error
25
+ * - Anything else → forwarded to the optional `onNonRpc` callback
22
26
  *
23
- * Wire protocol:
24
- * - Call: `{$: 0, id: number, m: string, a: unknown[]}`
25
- * - Result: `{$: 1, id: number, v?: unknown, e?: string}`
26
- * - Notify (fire-and-forget): id = -1, no response sent
27
+ * This allows RPC and port-transfer messages to coexist on the same channel.
27
28
  */
28
- export declare class CapnwebEndpoint {
29
- private nextId;
30
- private pending;
31
- private handlers;
32
- private port;
33
- constructor(port: CapnwebPort);
34
- /** Register an RPC handler for incoming calls with the given method name. */
35
- handle(method: string, handler: RpcHandler): void;
36
- /** Call a remote method and wait for the result. */
37
- call(method: string, args: unknown[], transfer?: Transferable[]): Promise<unknown>;
38
- /** Fire-and-forget: call a remote method without waiting for a response. */
39
- notify(method: string, args: unknown[], transfer?: Transferable[]): void;
40
- private send;
41
- private onMessage;
29
+ export declare class WorkerPortTransport implements RpcTransport {
30
+ #private;
31
+ constructor(port: WorkerPort, onNonRpc?: NonRpcHandler);
32
+ send(message: string): Promise<void>;
33
+ receive(): Promise<string>;
34
+ abort(reason: unknown): void;
42
35
  }
36
+ /** Options for {@linkcode createRpcSession}. */
37
+ export type RpcSessionInit = {
38
+ /** The Worker-like port to communicate over. */
39
+ port: WorkerPort;
40
+ /** Local RPC target to expose to the peer. */
41
+ localMain?: RpcTarget;
42
+ /** Callback for non-RPC messages (port transfers). */
43
+ onTransfer?: NonRpcHandler;
44
+ /** capnweb session options. */
45
+ options?: RpcSessionOptions;
46
+ };
47
+ /**
48
+ * Create a capnweb RPC session over a Worker-like port.
49
+ *
50
+ * Returns the remote stub for calling methods on the peer's `localMain`.
51
+ * Non-RPC messages (objects, not strings) are forwarded to `onTransfer`.
52
+ */
53
+ export declare function createRpcSession(init: RpcSessionInit): any;
54
+ /**
55
+ * Transfer message format for port-transfer operations that can't go
56
+ * through capnweb RPC (which only supports string serialization):
57
+ *
58
+ * - `{_t: "handleWs", skipGreeting: boolean}` — host→worker: new client WebSocket
59
+ * - `{_t: "createWs", url: string, headers: string}` — worker→host: request S2S WebSocket
60
+ */
61
+ export type TransferMessage = {
62
+ _t: "handleWs";
63
+ skipGreeting: boolean;
64
+ } | {
65
+ _t: "createWs";
66
+ url: string;
67
+ headers: string;
68
+ };
69
+ /** Type guard for {@linkcode TransferMessage}. */
70
+ export declare function isTransferMessage(data: unknown): data is TransferMessage;
71
+ /** Send a port-transfer message with transferred MessagePorts. */
72
+ export declare function sendTransfer(port: WorkerPort, msg: TransferMessage, transfer: Transferable[]): void;
43
73
  /**
44
74
  * Wraps a MessagePort as a standard WebSocket (extends EventTarget).
45
75
  * Used in the worker for client connections bridged from the host.
@@ -51,23 +81,22 @@ export declare class BridgedWebSocket extends EventTarget {
51
81
  send(data: string | ArrayBuffer | Uint8Array): void;
52
82
  close(code?: number, reason?: string): void;
53
83
  }
84
+ /** Minimal EventTarget-based WebSocket accepted by {@linkcode bridgeWebSocketToPort}. */
85
+ export type BridgeableWebSocket = {
86
+ readonly readyState: number;
87
+ binaryType?: string;
88
+ send(data: string | ArrayBuffer): void;
89
+ close(code?: number, reason?: string): void;
90
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
91
+ };
92
+ /** Options for {@linkcode bridgeWebSocketToPort}. */
93
+ export type BridgeOptions = {
94
+ /** Optional filter for incoming binary frames. Return `false` to drop. */
95
+ filterBinary?: (data: ArrayBuffer) => boolean;
96
+ };
54
97
  /**
55
- * Wraps a MessagePort as an {@linkcode S2sWebSocket} (.on() event API).
56
- * Used in the worker for S2S connections bridged from the host.
57
- */
58
- export declare function createBridgedS2sWebSocket(port: MessagePort): S2sWebSocket;
59
- /**
60
- * Bridges a standard WebSocket (e.g. from `Deno.upgradeWebSocket`) to a
61
- * MessagePort. Used on the host side for client connections.
62
- */
63
- export declare function bridgeWebSocketToPort(ws: WebSocket, port: MessagePort): void;
64
- /**
65
- * Bridges a ws-style {@linkcode S2sWebSocket} to a MessagePort.
66
- * Used on the host side for S2S connections to AssemblyAI.
67
- *
68
- * Audio is fast-pathed as binary transfers in both directions:
69
- * - S2S → worker: reply.audio JSON is decoded on the host and sent as k:1 binary (zero-copy transfer).
70
- * - Worker → host: raw PCM arrives as k:1 binary, host wraps it as input.audio JSON for the S2S API.
98
+ * Bridges an EventTarget-based WebSocket to a MessagePort.
99
+ * Used on the host side for both client and S2S connections.
71
100
  */
72
- export declare function bridgeS2sWebSocketToPort(ws: S2sWebSocket, port: MessagePort): void;
101
+ export declare function bridgeWebSocketToPort(ws: BridgeableWebSocket, port: MessagePort, opts?: BridgeOptions): void;
73
102
  //# sourceMappingURL=capnweb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capnweb.d.ts","sourceRoot":"","sources":["../../sdk/capnweb.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsC7C,kGAAkG;AAClG,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,OAAO,EAAE,EACf,KAAK,EAAE,SAAS,WAAW,EAAE,KAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;;;;;;;GASG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAGX;IACJ,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,IAAI,CAAc;gBAEd,IAAI,EAAE,WAAW;IAK7B,6EAA6E;IAC7E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,oDAAoD;IACpD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlF,4EAA4E;IAC5E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI;IAIxE,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,SAAS;CAwClB;AA+BD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU,SAAK;IACf,OAAO,CAAC,IAAI,CAAc;gBAEd,IAAI,EAAE,WAAW;IAiC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI;IAanD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAK5C;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAuDzE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAyC5E;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CA6DlF"}
1
+ {"version":3,"file":"capnweb.d.ts","sourceRoot":"","sources":["../../sdk/capnweb.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,CAAC;AAI5E,2GAA2G;AAC3G,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5E,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC;AAEnF;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,YAAY;;gBAO1C,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,aAAa;IAoBhD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAYhC,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAkB7B;AAID,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG;IAC3B,gDAAgD;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,sDAAsD;IACtD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AAEH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,CAI1D;AAID;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAOxE;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,YAAY,EAAE,GACvB,IAAI,CAEN;AA6BD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU,SAAK;IACf,OAAO,CAAC,IAAI,CAAc;gBAEd,IAAI,EAAE,WAAW;IA8B7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI;IAanD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAK5C;AAID,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAAC;CACpF,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG;IAC1B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,mBAAmB,EACvB,IAAI,EAAE,WAAW,EACjB,IAAI,CAAC,EAAE,aAAa,GACnB,IAAI,CAuCN"}
@@ -1,121 +1,114 @@
1
1
  // Copyright 2025 the AAI authors. MIT license.
2
2
  /**
3
- * MessagePort RPC + WebSocket bridge for capnweb sandbox communication.
3
+ * capnweb integration + WebSocket bridge for sandboxed worker communication.
4
4
  *
5
- * Provides bidirectional RPC over MessagePort/Worker and WebSocket
6
- * bridging for both standard WebSocket (client connections) and
7
- * S2sWebSocket (.on()-style API for S2S connections).
5
+ * Provides a custom {@linkcode WorkerPortTransport} that allows capnweb RPC
6
+ * to share a Worker port with non-RPC messages (port transfers, bridge
7
+ * protocol), plus WebSocket bridging over MessagePort.
8
8
  *
9
9
  * @module
10
10
  */
11
- /** Type guard: narrows unknown data to {@linkcode RpcCall}. */
12
- function isRpcCall(obj) {
13
- return (obj.$ === 0 && typeof obj.id === "number" && typeof obj.m === "string" && Array.isArray(obj.a));
14
- }
15
- /** Type guard: narrows unknown data to {@linkcode RpcResult}. */
16
- function isRpcResult(obj) {
17
- return (obj.$ === 1 && typeof obj.id === "number" && (obj.e === undefined || typeof obj.e === "string"));
18
- }
19
- /** Narrow an unknown `ev.data` to {@linkcode RpcMsg}, or return `undefined`. */
20
- function parseRpcMsg(data) {
21
- if (typeof data !== "object" || data === null || !("$" in data))
22
- return undefined;
23
- const obj = data;
24
- if (isRpcCall(obj))
25
- return obj;
26
- if (isRpcResult(obj))
27
- return obj;
28
- return undefined;
29
- }
11
+ import { RpcSession, RpcTarget } from "capnweb";
12
+ export { RpcSession, RpcTarget };
30
13
  /**
31
- * Bidirectional RPC endpoint over MessagePort or Worker.
14
+ * Custom {@linkcode RpcTransport} for capnweb RPC over Worker-like ports.
32
15
  *
33
- * Both sides can send calls and handle incoming calls on the same channel.
16
+ * capnweb RPC uses string messages. This transport filters incoming messages:
17
+ * - Strings → queued for RPC
18
+ * - `null` → peer closed, treated as error
19
+ * - Anything else → forwarded to the optional `onNonRpc` callback
34
20
  *
35
- * Wire protocol:
36
- * - Call: `{$: 0, id: number, m: string, a: unknown[]}`
37
- * - Result: `{$: 1, id: number, v?: unknown, e?: string}`
38
- * - Notify (fire-and-forget): id = -1, no response sent
21
+ * This allows RPC and port-transfer messages to coexist on the same channel.
39
22
  */
40
- export class CapnwebEndpoint {
41
- nextId = 1;
42
- pending = new Map();
43
- handlers = new Map();
44
- port;
45
- constructor(port) {
46
- this.port = port;
47
- port.onmessage = (ev) => this.onMessage(ev);
23
+ export class WorkerPortTransport {
24
+ #port;
25
+ #receiveQueue = [];
26
+ #receiveResolver;
27
+ #receiveRejecter;
28
+ #error;
29
+ constructor(port, onNonRpc) {
30
+ this.#port = port;
31
+ port.addEventListener("message", (ev) => {
32
+ if (this.#error)
33
+ return;
34
+ if (typeof ev.data === "string") {
35
+ if (this.#receiveResolver) {
36
+ this.#receiveResolver(ev.data);
37
+ this.#receiveResolver = undefined;
38
+ this.#receiveRejecter = undefined;
39
+ }
40
+ else {
41
+ this.#receiveQueue.push(ev.data);
42
+ }
43
+ }
44
+ else if (ev.data === null) {
45
+ this.#receivedError(new Error("Peer closed connection."));
46
+ }
47
+ else {
48
+ onNonRpc?.(ev.data, [...(ev.ports ?? [])]);
49
+ }
50
+ });
48
51
  }
49
- /** Register an RPC handler for incoming calls with the given method name. */
50
- handle(method, handler) {
51
- this.handlers.set(method, handler);
52
+ async send(message) {
53
+ if (this.#error)
54
+ throw this.#error;
55
+ this.#port.postMessage(message);
52
56
  }
53
- /** Call a remote method and wait for the result. */
54
- call(method, args, transfer) {
55
- const id = this.nextId++;
57
+ async receive() {
58
+ if (this.#receiveQueue.length > 0) {
59
+ // biome-ignore lint/style/noNonNullAssertion: length check above guarantees non-empty
60
+ return this.#receiveQueue.shift();
61
+ }
62
+ if (this.#error)
63
+ throw this.#error;
56
64
  return new Promise((resolve, reject) => {
57
- this.pending.set(id, { resolve, reject });
58
- this.send({ $: 0, id, m: method, a: args }, transfer);
65
+ this.#receiveResolver = resolve;
66
+ this.#receiveRejecter = reject;
59
67
  });
60
68
  }
61
- /** Fire-and-forget: call a remote method without waiting for a response. */
62
- notify(method, args, transfer) {
63
- this.send({ $: 0, id: -1, m: method, a: args }, transfer);
64
- }
65
- send(msg, transfer) {
66
- if (transfer && transfer.length > 0) {
67
- this.port.postMessage(msg, transfer);
68
- }
69
- else {
70
- this.port.postMessage(msg);
69
+ abort(reason) {
70
+ try {
71
+ this.#port.postMessage(null);
71
72
  }
73
+ catch { }
74
+ const err = reason instanceof Error ? reason : new Error(String(reason));
75
+ if (!this.#error)
76
+ this.#error = err;
72
77
  }
73
- onMessage(ev) {
74
- const msg = parseRpcMsg(ev.data);
75
- if (!msg)
76
- return;
77
- if (msg.$ === 0) {
78
- // Incoming call
79
- const { id, m, a } = msg;
80
- const handler = this.handlers.get(m);
81
- if (!handler) {
82
- if (id >= 0)
83
- this.send({ $: 1, id, e: `No handler for ${m}` });
84
- return;
85
- }
86
- const ports = [...ev.ports];
87
- Promise.resolve()
88
- .then(() => handler(a, ports))
89
- .then((v) => {
90
- if (id >= 0)
91
- this.send({ $: 1, id, v });
92
- })
93
- .catch((err) => {
94
- if (id >= 0) {
95
- this.send({
96
- $: 1,
97
- id,
98
- e: err instanceof Error ? err.message : String(err),
99
- });
100
- }
101
- });
102
- }
103
- else {
104
- // Incoming result
105
- const { id, v, e } = msg;
106
- const pending = this.pending.get(id);
107
- if (!pending)
108
- return;
109
- this.pending.delete(id);
110
- if (e !== undefined) {
111
- pending.reject(new Error(e));
112
- }
113
- else {
114
- pending.resolve(v);
78
+ #receivedError(reason) {
79
+ if (!this.#error) {
80
+ this.#error = reason;
81
+ if (this.#receiveRejecter) {
82
+ this.#receiveRejecter(reason);
83
+ this.#receiveResolver = undefined;
84
+ this.#receiveRejecter = undefined;
115
85
  }
116
86
  }
117
87
  }
118
88
  }
89
+ /**
90
+ * Create a capnweb RPC session over a Worker-like port.
91
+ *
92
+ * Returns the remote stub for calling methods on the peer's `localMain`.
93
+ * Non-RPC messages (objects, not strings) are forwarded to `onTransfer`.
94
+ */
95
+ // biome-ignore lint/suspicious/noExplicitAny: capnweb stubs are dynamically typed proxies
96
+ export function createRpcSession(init) {
97
+ const transport = new WorkerPortTransport(init.port, init.onTransfer);
98
+ const session = new RpcSession(transport, init.localMain, init.options);
99
+ return session.getRemoteMain();
100
+ }
101
+ /** Type guard for {@linkcode TransferMessage}. */
102
+ export function isTransferMessage(data) {
103
+ return (typeof data === "object" &&
104
+ data !== null &&
105
+ "_t" in data &&
106
+ typeof data._t === "string");
107
+ }
108
+ /** Send a port-transfer message with transferred MessagePorts. */
109
+ export function sendTransfer(port, msg, transfer) {
110
+ port.postMessage(msg, transfer);
111
+ }
119
112
  /** Type guard: narrows unknown data (e.g. from `ev.data`) to {@linkcode BridgeMsg}. */
120
113
  function isBridgeMsg(data) {
121
114
  return (typeof data === "object" &&
@@ -142,9 +135,6 @@ export class BridgedWebSocket extends EventTarget {
142
135
  case 0:
143
136
  this.dispatchEvent(new MessageEvent("message", { data: msg.d }));
144
137
  break;
145
- case 1:
146
- this.dispatchEvent(new MessageEvent("message", { data: msg.d }));
147
- break;
148
138
  case 2:
149
139
  this.readyState = 3;
150
140
  this.dispatchEvent(new CloseEvent("close", {
@@ -172,7 +162,7 @@ export class BridgedWebSocket extends EventTarget {
172
162
  const ab = data instanceof ArrayBuffer
173
163
  ? data
174
164
  : data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
175
- this.port.postMessage({ k: 1, d: ab }, [ab]);
165
+ this.port.postMessage({ k: 0, d: ab }, [ab]);
176
166
  }
177
167
  }
178
168
  close(code, reason) {
@@ -182,77 +172,13 @@ export class BridgedWebSocket extends EventTarget {
182
172
  this.port.postMessage({ k: 2, code, reason });
183
173
  }
184
174
  }
185
- // ─── BridgedS2sWebSocket (.on()-style API) ───────────────────────────────────
186
175
  /**
187
- * Wraps a MessagePort as an {@linkcode S2sWebSocket} (.on() event API).
188
- * Used in the worker for S2S connections bridged from the host.
176
+ * Bridges an EventTarget-based WebSocket to a MessagePort.
177
+ * Used on the host side for both client and S2S connections.
189
178
  */
190
- export function createBridgedS2sWebSocket(port) {
191
- let readyState = 0;
192
- const handlers = new Map();
193
- function emit(event, ...args) {
194
- for (const h of handlers.get(event) ?? [])
195
- h(...args);
196
- }
197
- port.onmessage = (ev) => {
198
- const msg = ev.data;
199
- if (!isBridgeMsg(msg))
200
- return;
201
- switch (msg.k) {
202
- case 0:
203
- emit("message", msg.d);
204
- break;
205
- case 1:
206
- // Binary frame: pre-decoded audio from host — skip JSON/base64 entirely.
207
- emit("audio", msg.d);
208
- break;
209
- case 2:
210
- readyState = 3;
211
- emit("close", msg.code, msg.reason);
212
- break;
213
- case 3:
214
- readyState = 1;
215
- emit("open");
216
- break;
217
- case 4:
218
- emit("error", new Error(msg.m));
219
- break;
220
- }
221
- };
222
- return {
223
- get readyState() {
224
- return readyState;
225
- },
226
- send(data) {
227
- if (readyState !== 1)
228
- return;
229
- port.postMessage({ k: 0, d: data });
230
- },
231
- sendBinary(data) {
232
- if (readyState !== 1)
233
- return;
234
- port.postMessage({ k: 1, d: data }, [data]);
235
- },
236
- close() {
237
- if (readyState >= 2)
238
- return;
239
- readyState = 2;
240
- port.postMessage({ k: 2 });
241
- },
242
- on(event, handler) {
243
- if (!handlers.has(event))
244
- handlers.set(event, []);
245
- handlers.get(event)?.push(handler);
246
- },
247
- };
248
- }
249
- // ─── Host-side bridges ───────────────────────────────────────────────────────
250
- /**
251
- * Bridges a standard WebSocket (e.g. from `Deno.upgradeWebSocket`) to a
252
- * MessagePort. Used on the host side for client connections.
253
- */
254
- export function bridgeWebSocketToPort(ws, port) {
255
- ws.binaryType = "arraybuffer";
179
+ export function bridgeWebSocketToPort(ws, port, opts) {
180
+ if ("binaryType" in ws)
181
+ ws.binaryType = "arraybuffer";
256
182
  ws.addEventListener("open", () => {
257
183
  port.postMessage({ k: 3 });
258
184
  });
@@ -262,7 +188,9 @@ export function bridgeWebSocketToPort(ws, port) {
262
188
  port.postMessage({ k: 0, d: data });
263
189
  }
264
190
  else if (data instanceof ArrayBuffer) {
265
- port.postMessage({ k: 1, d: data }, [data]);
191
+ if (opts?.filterBinary && !opts.filterBinary(data))
192
+ return;
193
+ port.postMessage({ k: 0, d: data }, [data]);
266
194
  }
267
195
  }));
268
196
  ws.addEventListener("close", ((ev) => {
@@ -282,81 +210,10 @@ export function bridgeWebSocketToPort(ws, port) {
282
210
  if (ws.readyState === 1)
283
211
  ws.send(msg.d);
284
212
  break;
285
- case 1:
286
- if (ws.readyState === 1)
287
- ws.send(msg.d);
288
- break;
289
213
  case 2:
290
214
  ws.close(msg.code, msg.reason);
291
215
  break;
292
216
  }
293
217
  };
294
218
  }
295
- /**
296
- * Bridges a ws-style {@linkcode S2sWebSocket} to a MessagePort.
297
- * Used on the host side for S2S connections to AssemblyAI.
298
- *
299
- * Audio is fast-pathed as binary transfers in both directions:
300
- * - S2S → worker: reply.audio JSON is decoded on the host and sent as k:1 binary (zero-copy transfer).
301
- * - Worker → host: raw PCM arrives as k:1 binary, host wraps it as input.audio JSON for the S2S API.
302
- */
303
- export function bridgeS2sWebSocketToPort(ws, port) {
304
- ws.on("open", () => {
305
- port.postMessage({ k: 3 });
306
- });
307
- ws.on("message", (data) => {
308
- const str = String(data);
309
- // Fast path: decode reply.audio on host, transfer raw PCM as binary.
310
- // Avoids structured-cloning the entire JSON+base64 string through the port.
311
- if (str.length > 30 && str.startsWith('{"type":"reply.audio"')) {
312
- try {
313
- const msg = JSON.parse(str);
314
- if (msg.type === "reply.audio" && msg.data) {
315
- const buf = Buffer.from(msg.data, "base64");
316
- const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
317
- port.postMessage({ k: 1, d: ab }, [ab]);
318
- return;
319
- }
320
- }
321
- catch {
322
- // Fall through to text path on parse failure.
323
- }
324
- }
325
- port.postMessage({ k: 0, d: str });
326
- });
327
- ws.on("close", (code, reason) => {
328
- port.postMessage({
329
- k: 2,
330
- code: typeof code === "number" ? code : undefined,
331
- reason: String(reason ?? ""),
332
- });
333
- });
334
- ws.on("error", (err) => {
335
- const msg = err instanceof Error ? err.message : String(err);
336
- port.postMessage({ k: 4, m: msg });
337
- });
338
- // Messages from worker → real S2S WebSocket
339
- port.onmessage = (ev) => {
340
- const msg = ev.data;
341
- if (!isBridgeMsg(msg))
342
- return;
343
- switch (msg.k) {
344
- case 0:
345
- if (ws.readyState === 1)
346
- ws.send(msg.d);
347
- break;
348
- case 1: {
349
- // Binary frame from worker: raw PCM audio → wrap as input.audio JSON for S2S API.
350
- if (ws.readyState === 1) {
351
- const b64 = Buffer.from(msg.d).toString("base64");
352
- ws.send(`{"type":"input.audio","audio":"${b64}"}`);
353
- }
354
- break;
355
- }
356
- case 2:
357
- ws.close();
358
- break;
359
- }
360
- };
361
- }
362
219
  //# sourceMappingURL=capnweb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capnweb.js","sourceRoot":"","sources":["../../sdk/capnweb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capnweb.js","sourceRoot":"","sources":["../../sdk/capnweb.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct_executor.d.ts","sourceRoot":"","sources":["../../sdk/direct_executor.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAuB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9E,eAAe,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,IAAI,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,UAAU,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC;CACb,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAY7D;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAwIhF"}
1
+ {"version":3,"file":"direct_executor.d.ts","sourceRoot":"","sources":["../../sdk/direct_executor.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAuB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9E,eAAe,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,IAAI,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,UAAU,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC;CACb,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAY7D;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAsIhF"}
@@ -58,7 +58,6 @@ export function createDirectExecutor(opts) {
58
58
  }
59
59
  function makeHookContext(sessionId) {
60
60
  return {
61
- sessionId,
62
61
  env: frozenEnv,
63
62
  state: getState(sessionId),
64
63
  get kv() {
@@ -76,7 +75,6 @@ export function createDirectExecutor(opts) {
76
75
  return executeToolCall(name, args, {
77
76
  tool,
78
77
  env: frozenEnv,
79
- sessionId,
80
78
  state: getState(sessionId ?? ""),
81
79
  kv,
82
80
  vector,