@alexkroman1/aai 0.8.8 → 0.9.0
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.
- package/dist/{sdk/_internal_types.d.ts → _internal-types.d.ts} +0 -3
- package/dist/_internal-types.js +19 -0
- package/dist/{sdk/_mock_ws.d.ts → _mock-ws.d.ts} +16 -5
- package/dist/_mock-ws.js +158 -0
- package/dist/{sdk/_utils.d.ts → _utils.d.ts} +1 -2
- package/dist/_utils.js +8 -0
- package/dist/{sdk/builtin_tools.d.ts → builtin-tools.d.ts} +5 -8
- package/dist/builtin-tools.js +270 -0
- package/dist/{sdk/direct_executor.d.ts → direct-executor.d.ts} +3 -7
- package/dist/direct-executor.js +125 -0
- package/dist/{sdk/mod.d.ts → index.d.ts} +0 -4
- package/dist/index.js +2 -0
- package/dist/{sdk/kv.d.ts → kv.d.ts} +23 -20
- package/dist/kv.js +99 -0
- package/dist/{sdk/protocol.d.ts → protocol.d.ts} +65 -29
- package/dist/protocol.js +142 -0
- package/dist/runtime.d.ts +18 -0
- package/dist/runtime.js +16 -0
- package/dist/s2s.d.ts +110 -0
- package/dist/s2s.js +242 -0
- package/dist/{sdk/server.d.ts → server.d.ts} +3 -23
- package/dist/server.js +105 -0
- package/dist/{sdk/session.d.ts → session.d.ts} +4 -11
- package/dist/session.js +312 -0
- package/dist/tsdown.config.d.ts +2 -0
- package/dist/{sdk/types.d.ts → types.d.ts} +41 -25
- package/dist/types.js +139 -0
- package/dist/{sdk/vector.d.ts → vector.d.ts} +14 -15
- package/dist/vector.js +56 -0
- package/dist/{sdk/worker_entry.d.ts → worker-entry.d.ts} +2 -5
- package/dist/worker-entry.js +59 -0
- package/dist/{sdk/ws_handler.d.ts → ws-handler.d.ts} +10 -8
- package/dist/ws-handler.js +155 -0
- package/package.json +66 -149
- package/README.md +0 -34
- package/dist/aai.js +0 -3
- package/dist/cli/tsconfig.tsbuildinfo +0 -1
- package/dist/cli.js +0 -2811
- package/dist/sdk/_internal_types.d.ts.map +0 -1
- package/dist/sdk/_internal_types.js +0 -25
- package/dist/sdk/_internal_types.js.map +0 -1
- package/dist/sdk/_mock_ws.d.ts.map +0 -1
- package/dist/sdk/_mock_ws.js +0 -154
- package/dist/sdk/_mock_ws.js.map +0 -1
- package/dist/sdk/_render_check.d.ts +0 -10
- package/dist/sdk/_render_check.d.ts.map +0 -1
- package/dist/sdk/_render_check.js +0 -72
- package/dist/sdk/_render_check.js.map +0 -1
- package/dist/sdk/_utils.d.ts.map +0 -1
- package/dist/sdk/_utils.js +0 -7
- package/dist/sdk/_utils.js.map +0 -1
- package/dist/sdk/builtin_tools.d.ts.map +0 -1
- package/dist/sdk/builtin_tools.js +0 -309
- package/dist/sdk/builtin_tools.js.map +0 -1
- package/dist/sdk/capnweb.d.ts +0 -102
- package/dist/sdk/capnweb.d.ts.map +0 -1
- package/dist/sdk/capnweb.js +0 -219
- package/dist/sdk/capnweb.js.map +0 -1
- package/dist/sdk/define_agent.d.ts +0 -36
- package/dist/sdk/define_agent.d.ts.map +0 -1
- package/dist/sdk/define_agent.js +0 -71
- package/dist/sdk/define_agent.js.map +0 -1
- package/dist/sdk/direct_executor.d.ts.map +0 -1
- package/dist/sdk/direct_executor.js +0 -145
- package/dist/sdk/direct_executor.js.map +0 -1
- package/dist/sdk/host.d.ts +0 -59
- package/dist/sdk/host.d.ts.map +0 -1
- package/dist/sdk/host.js +0 -131
- package/dist/sdk/host.js.map +0 -1
- package/dist/sdk/kv.d.ts.map +0 -1
- package/dist/sdk/kv.js +0 -94
- package/dist/sdk/kv.js.map +0 -1
- package/dist/sdk/memory_tools.d.ts +0 -38
- package/dist/sdk/memory_tools.d.ts.map +0 -1
- package/dist/sdk/memory_tools.js +0 -77
- package/dist/sdk/memory_tools.js.map +0 -1
- package/dist/sdk/mod.d.ts.map +0 -1
- package/dist/sdk/mod.js +0 -27
- package/dist/sdk/mod.js.map +0 -1
- package/dist/sdk/protocol.d.ts.map +0 -1
- package/dist/sdk/protocol.js +0 -133
- package/dist/sdk/protocol.js.map +0 -1
- package/dist/sdk/runtime.d.ts +0 -36
- package/dist/sdk/runtime.d.ts.map +0 -1
- package/dist/sdk/runtime.js +0 -27
- package/dist/sdk/runtime.js.map +0 -1
- package/dist/sdk/s2s.d.ts +0 -74
- package/dist/sdk/s2s.d.ts.map +0 -1
- package/dist/sdk/s2s.js +0 -218
- package/dist/sdk/s2s.js.map +0 -1
- package/dist/sdk/server.d.ts.map +0 -1
- package/dist/sdk/server.js +0 -144
- package/dist/sdk/server.js.map +0 -1
- package/dist/sdk/session.d.ts.map +0 -1
- package/dist/sdk/session.js +0 -303
- package/dist/sdk/session.js.map +0 -1
- package/dist/sdk/system_prompt.d.ts +0 -6
- package/dist/sdk/system_prompt.d.ts.map +0 -1
- package/dist/sdk/system_prompt.js +0 -35
- package/dist/sdk/system_prompt.js.map +0 -1
- package/dist/sdk/tsconfig.tsbuildinfo +0 -1
- package/dist/sdk/types.d.ts.map +0 -1
- package/dist/sdk/types.js +0 -96
- package/dist/sdk/types.js.map +0 -1
- package/dist/sdk/vector.d.ts.map +0 -1
- package/dist/sdk/vector.js +0 -63
- package/dist/sdk/vector.js.map +0 -1
- package/dist/sdk/winterc_server.d.ts +0 -56
- package/dist/sdk/winterc_server.d.ts.map +0 -1
- package/dist/sdk/winterc_server.js +0 -77
- package/dist/sdk/winterc_server.js.map +0 -1
- package/dist/sdk/worker_entry.d.ts.map +0 -1
- package/dist/sdk/worker_entry.js +0 -68
- package/dist/sdk/worker_entry.js.map +0 -1
- package/dist/sdk/worker_shim.d.ts +0 -19
- package/dist/sdk/worker_shim.d.ts.map +0 -1
- package/dist/sdk/worker_shim.js +0 -141
- package/dist/sdk/worker_shim.js.map +0 -1
- package/dist/sdk/ws_handler.d.ts.map +0 -1
- package/dist/sdk/ws_handler.js +0 -158
- package/dist/sdk/ws_handler.js.map +0 -1
- package/dist/ui/_cn.d.ts +0 -5
- package/dist/ui/_cn.d.ts.map +0 -1
- package/dist/ui/_cn.js +0 -22
- package/dist/ui/_cn.js.map +0 -1
- package/dist/ui/_components/app.d.ts +0 -5
- package/dist/ui/_components/app.d.ts.map +0 -1
- package/dist/ui/_components/app.js +0 -12
- package/dist/ui/_components/app.js.map +0 -1
- package/dist/ui/_components/button.d.ts +0 -11
- package/dist/ui/_components/button.d.ts.map +0 -1
- package/dist/ui/_components/button.js +0 -17
- package/dist/ui/_components/button.js.map +0 -1
- package/dist/ui/_components/chat_view.d.ts +0 -5
- package/dist/ui/_components/chat_view.d.ts.map +0 -1
- package/dist/ui/_components/chat_view.js +0 -15
- package/dist/ui/_components/chat_view.js.map +0 -1
- package/dist/ui/_components/controls.d.ts +0 -4
- package/dist/ui/_components/controls.d.ts.map +0 -1
- package/dist/ui/_components/controls.js +0 -10
- package/dist/ui/_components/controls.js.map +0 -1
- package/dist/ui/_components/error_banner.d.ts +0 -8
- package/dist/ui/_components/error_banner.d.ts.map +0 -1
- package/dist/ui/_components/error_banner.js +0 -8
- package/dist/ui/_components/error_banner.js.map +0 -1
- package/dist/ui/_components/message_bubble.d.ts +0 -7
- package/dist/ui/_components/message_bubble.d.ts.map +0 -1
- package/dist/ui/_components/message_bubble.js +0 -11
- package/dist/ui/_components/message_bubble.js.map +0 -1
- package/dist/ui/_components/message_list.d.ts +0 -4
- package/dist/ui/_components/message_list.d.ts.map +0 -1
- package/dist/ui/_components/message_list.js +0 -45
- package/dist/ui/_components/message_list.js.map +0 -1
- package/dist/ui/_components/sidebar_layout.d.ts +0 -20
- package/dist/ui/_components/sidebar_layout.d.ts.map +0 -1
- package/dist/ui/_components/sidebar_layout.js +0 -19
- package/dist/ui/_components/sidebar_layout.js.map +0 -1
- package/dist/ui/_components/start_screen.d.ts +0 -25
- package/dist/ui/_components/start_screen.d.ts.map +0 -1
- package/dist/ui/_components/start_screen.js +0 -28
- package/dist/ui/_components/start_screen.js.map +0 -1
- package/dist/ui/_components/state_indicator.d.ts +0 -8
- package/dist/ui/_components/state_indicator.d.ts.map +0 -1
- package/dist/ui/_components/state_indicator.js +0 -6
- package/dist/ui/_components/state_indicator.js.map +0 -1
- package/dist/ui/_components/thinking_indicator.d.ts +0 -5
- package/dist/ui/_components/thinking_indicator.d.ts.map +0 -1
- package/dist/ui/_components/thinking_indicator.js +0 -10
- package/dist/ui/_components/thinking_indicator.js.map +0 -1
- package/dist/ui/_components/tool_call_block.d.ts +0 -7
- package/dist/ui/_components/tool_call_block.d.ts.map +0 -1
- package/dist/ui/_components/tool_call_block.js +0 -46
- package/dist/ui/_components/tool_call_block.js.map +0 -1
- package/dist/ui/_components/tool_icons.d.ts +0 -18
- package/dist/ui/_components/tool_icons.d.ts.map +0 -1
- package/dist/ui/_components/tool_icons.js +0 -26
- package/dist/ui/_components/tool_icons.js.map +0 -1
- package/dist/ui/_components/transcript.d.ts +0 -7
- package/dist/ui/_components/transcript.d.ts.map +0 -1
- package/dist/ui/_components/transcript.js +0 -9
- package/dist/ui/_components/transcript.js.map +0 -1
- package/dist/ui/_dom_shim.d.ts +0 -7
- package/dist/ui/_dom_shim.d.ts.map +0 -1
- package/dist/ui/_dom_shim.js +0 -21
- package/dist/ui/_dom_shim.js.map +0 -1
- package/dist/ui/_hooks.d.ts +0 -21
- package/dist/ui/_hooks.d.ts.map +0 -1
- package/dist/ui/_hooks.js +0 -35
- package/dist/ui/_hooks.js.map +0 -1
- package/dist/ui/_jsdom_setup.d.ts +0 -1
- package/dist/ui/_jsdom_setup.d.ts.map +0 -1
- package/dist/ui/_jsdom_setup.js +0 -6
- package/dist/ui/_jsdom_setup.js.map +0 -1
- package/dist/ui/_render_check.d.ts +0 -10
- package/dist/ui/_render_check.d.ts.map +0 -1
- package/dist/ui/_render_check.js +0 -72
- package/dist/ui/_render_check.js.map +0 -1
- package/dist/ui/_test_utils.js +0 -272
- package/dist/ui/_test_utils.js.map +0 -1
- package/dist/ui/audio.d.ts +0 -46
- package/dist/ui/audio.d.ts.map +0 -1
- package/dist/ui/audio.js +0 -130
- package/dist/ui/audio.js.map +0 -1
- package/dist/ui/components.d.ts +0 -14
- package/dist/ui/components.d.ts.map +0 -1
- package/dist/ui/components.js +0 -15
- package/dist/ui/components.js.map +0 -1
- package/dist/ui/components_mod.d.ts +0 -34
- package/dist/ui/components_mod.d.ts.map +0 -1
- package/dist/ui/components_mod.js +0 -32
- package/dist/ui/components_mod.js.map +0 -1
- package/dist/ui/mod.d.ts +0 -23
- package/dist/ui/mod.d.ts.map +0 -1
- package/dist/ui/mod.js +0 -22
- package/dist/ui/mod.js.map +0 -1
- package/dist/ui/mount.d.ts +0 -44
- package/dist/ui/mount.d.ts.map +0 -1
- package/dist/ui/mount.js +0 -61
- package/dist/ui/mount.js.map +0 -1
- package/dist/ui/mount_context.d.ts +0 -22
- package/dist/ui/mount_context.d.ts.map +0 -1
- package/dist/ui/mount_context.js +0 -10
- package/dist/ui/mount_context.js.map +0 -1
- package/dist/ui/session.d.ts +0 -96
- package/dist/ui/session.d.ts.map +0 -1
- package/dist/ui/session.js +0 -379
- package/dist/ui/session.js.map +0 -1
- package/dist/ui/session_mod.d.ts +0 -19
- package/dist/ui/session_mod.d.ts.map +0 -1
- package/dist/ui/session_mod.js +0 -18
- package/dist/ui/session_mod.js.map +0 -1
- package/dist/ui/signals.d.ts +0 -80
- package/dist/ui/signals.d.ts.map +0 -1
- package/dist/ui/signals.js +0 -137
- package/dist/ui/signals.js.map +0 -1
- package/dist/ui/tsconfig.tsbuildinfo +0 -1
- package/dist/ui/types.d.ts +0 -36
- package/dist/ui/types.d.ts.map +0 -1
- package/dist/ui/types.js +0 -4
- package/dist/ui/types.js.map +0 -1
- package/dist/ui/worklets/capture-processor.d.ts +0 -3
- package/dist/ui/worklets/capture-processor.d.ts.map +0 -1
- package/dist/ui/worklets/capture-processor.js +0 -61
- package/dist/ui/worklets/capture-processor.js.map +0 -1
- package/dist/ui/worklets/playback-processor.d.ts +0 -3
- package/dist/ui/worklets/playback-processor.d.ts.map +0 -1
- package/dist/ui/worklets/playback-processor.js +0 -109
- package/dist/ui/worklets/playback-processor.js.map +0 -1
- package/templates/.env +0 -1
- package/templates/_shared/.env.example +0 -5
- package/templates/_shared/CLAUDE.md +0 -1073
- package/templates/_shared/biome.json +0 -32
- package/templates/_shared/global.d.ts +0 -1
- package/templates/_shared/index.html +0 -16
- package/templates/_shared/package.json +0 -22
- package/templates/_shared/tsconfig.json +0 -16
- package/templates/code-interpreter/agent.ts +0 -27
- package/templates/code-interpreter/client.tsx +0 -3
- package/templates/dispatch-center/agent.ts +0 -1223
- package/templates/dispatch-center/client.tsx +0 -505
- package/templates/embedded-assets/agent.ts +0 -48
- package/templates/embedded-assets/client.tsx +0 -3
- package/templates/embedded-assets/knowledge.json +0 -20
- package/templates/health-assistant/agent.ts +0 -160
- package/templates/health-assistant/client.tsx +0 -3
- package/templates/infocom-adventure/agent.ts +0 -164
- package/templates/infocom-adventure/client.tsx +0 -300
- package/templates/math-buddy/agent.ts +0 -21
- package/templates/math-buddy/client.tsx +0 -3
- package/templates/memory-agent/agent.ts +0 -20
- package/templates/memory-agent/client.tsx +0 -3
- package/templates/night-owl/agent.ts +0 -98
- package/templates/night-owl/client.tsx +0 -12
- package/templates/personal-finance/agent.ts +0 -26
- package/templates/personal-finance/client.tsx +0 -3
- package/templates/pizza-ordering/agent.ts +0 -214
- package/templates/pizza-ordering/client.tsx +0 -264
- package/templates/simple/agent.ts +0 -6
- package/templates/simple/client.tsx +0 -3
- package/templates/smart-research/agent.ts +0 -164
- package/templates/smart-research/client.tsx +0 -3
- package/templates/solo-rpg/agent.ts +0 -1240
- package/templates/solo-rpg/client.tsx +0 -698
- package/templates/support/README.md +0 -62
- package/templates/support/agent.ts +0 -19
- package/templates/support/client.tsx +0 -3
- package/templates/travel-concierge/agent.ts +0 -29
- package/templates/travel-concierge/client.tsx +0 -3
- package/templates/tsconfig.json +0 -1
- package/templates/web-researcher/agent.ts +0 -17
- package/templates/web-researcher/client.tsx +0 -3
- package/ui/styles.css +0 -74
package/dist/sdk/capnweb.d.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* capnweb integration + WebSocket bridge for sandboxed worker communication.
|
|
3
|
-
*
|
|
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
|
-
*
|
|
8
|
-
* @module
|
|
9
|
-
*/
|
|
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 = {
|
|
14
|
-
postMessage(msg: unknown, transfer?: Transferable[]): void;
|
|
15
|
-
addEventListener(type: string, listener: (ev: MessageEvent) => void): void;
|
|
16
|
-
};
|
|
17
|
-
/** Callback for non-RPC messages received on the port (e.g. port transfers). */
|
|
18
|
-
export type NonRpcHandler = (data: unknown, ports: readonly MessagePort[]) => void;
|
|
19
|
-
/**
|
|
20
|
-
* Custom {@linkcode RpcTransport} for capnweb RPC over Worker-like ports.
|
|
21
|
-
*
|
|
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
|
|
26
|
-
*
|
|
27
|
-
* This allows RPC and port-transfer messages to coexist on the same channel.
|
|
28
|
-
*/
|
|
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;
|
|
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;
|
|
73
|
-
/**
|
|
74
|
-
* Wraps a MessagePort as a standard WebSocket (extends EventTarget).
|
|
75
|
-
* Used in the worker for client connections bridged from the host.
|
|
76
|
-
*/
|
|
77
|
-
export declare class BridgedWebSocket extends EventTarget {
|
|
78
|
-
readyState: number;
|
|
79
|
-
private port;
|
|
80
|
-
constructor(port: MessagePort);
|
|
81
|
-
send(data: string | ArrayBuffer | Uint8Array): void;
|
|
82
|
-
close(code?: number, reason?: string): void;
|
|
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
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* Bridges an EventTarget-based WebSocket to a MessagePort.
|
|
99
|
-
* Used on the host side for both client and S2S connections.
|
|
100
|
-
*/
|
|
101
|
-
export declare function bridgeWebSocketToPort(ws: BridgeableWebSocket, port: MessagePort, opts?: BridgeOptions): void;
|
|
102
|
-
//# sourceMappingURL=capnweb.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capnweb.d.ts","sourceRoot":"","sources":["../../sdk/capnweb.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/capnweb.js
DELETED
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
// Copyright 2025 the AAI authors. MIT license.
|
|
2
|
-
/**
|
|
3
|
-
* capnweb integration + WebSocket bridge for sandboxed worker communication.
|
|
4
|
-
*
|
|
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
|
-
*
|
|
9
|
-
* @module
|
|
10
|
-
*/
|
|
11
|
-
import { RpcSession, RpcTarget } from "capnweb";
|
|
12
|
-
export { RpcSession, RpcTarget };
|
|
13
|
-
/**
|
|
14
|
-
* Custom {@linkcode RpcTransport} for capnweb RPC over Worker-like ports.
|
|
15
|
-
*
|
|
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
|
|
20
|
-
*
|
|
21
|
-
* This allows RPC and port-transfer messages to coexist on the same channel.
|
|
22
|
-
*/
|
|
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
|
-
});
|
|
51
|
-
}
|
|
52
|
-
async send(message) {
|
|
53
|
-
if (this.#error)
|
|
54
|
-
throw this.#error;
|
|
55
|
-
this.#port.postMessage(message);
|
|
56
|
-
}
|
|
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;
|
|
64
|
-
return new Promise((resolve, reject) => {
|
|
65
|
-
this.#receiveResolver = resolve;
|
|
66
|
-
this.#receiveRejecter = reject;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
abort(reason) {
|
|
70
|
-
try {
|
|
71
|
-
this.#port.postMessage(null);
|
|
72
|
-
}
|
|
73
|
-
catch { }
|
|
74
|
-
const err = reason instanceof Error ? reason : new Error(String(reason));
|
|
75
|
-
if (!this.#error)
|
|
76
|
-
this.#error = err;
|
|
77
|
-
}
|
|
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;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
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
|
-
}
|
|
112
|
-
/** Type guard: narrows unknown data (e.g. from `ev.data`) to {@linkcode BridgeMsg}. */
|
|
113
|
-
function isBridgeMsg(data) {
|
|
114
|
-
return (typeof data === "object" &&
|
|
115
|
-
data !== null &&
|
|
116
|
-
"k" in data &&
|
|
117
|
-
typeof data.k === "number");
|
|
118
|
-
}
|
|
119
|
-
// ─── BridgedWebSocket (standard EventTarget-based) ───────────────────────────
|
|
120
|
-
/**
|
|
121
|
-
* Wraps a MessagePort as a standard WebSocket (extends EventTarget).
|
|
122
|
-
* Used in the worker for client connections bridged from the host.
|
|
123
|
-
*/
|
|
124
|
-
export class BridgedWebSocket extends EventTarget {
|
|
125
|
-
readyState = 0;
|
|
126
|
-
port;
|
|
127
|
-
constructor(port) {
|
|
128
|
-
super();
|
|
129
|
-
this.port = port;
|
|
130
|
-
port.onmessage = (ev) => {
|
|
131
|
-
const msg = ev.data;
|
|
132
|
-
if (!isBridgeMsg(msg))
|
|
133
|
-
return;
|
|
134
|
-
switch (msg.k) {
|
|
135
|
-
case 0:
|
|
136
|
-
this.dispatchEvent(new MessageEvent("message", { data: msg.d }));
|
|
137
|
-
break;
|
|
138
|
-
case 2:
|
|
139
|
-
this.readyState = 3;
|
|
140
|
-
this.dispatchEvent(new CloseEvent("close", {
|
|
141
|
-
...(msg.code !== undefined ? { code: msg.code } : {}),
|
|
142
|
-
...(msg.reason !== undefined ? { reason: msg.reason } : {}),
|
|
143
|
-
}));
|
|
144
|
-
break;
|
|
145
|
-
case 3:
|
|
146
|
-
this.readyState = 1;
|
|
147
|
-
this.dispatchEvent(new Event("open"));
|
|
148
|
-
break;
|
|
149
|
-
case 4:
|
|
150
|
-
this.dispatchEvent(new ErrorEvent("error", { message: msg.m }));
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
send(data) {
|
|
156
|
-
if (this.readyState !== 1)
|
|
157
|
-
return;
|
|
158
|
-
if (typeof data === "string") {
|
|
159
|
-
this.port.postMessage({ k: 0, d: data });
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
const ab = data instanceof ArrayBuffer
|
|
163
|
-
? data
|
|
164
|
-
: data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
165
|
-
this.port.postMessage({ k: 0, d: ab }, [ab]);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
close(code, reason) {
|
|
169
|
-
if (this.readyState >= 2)
|
|
170
|
-
return;
|
|
171
|
-
this.readyState = 2;
|
|
172
|
-
this.port.postMessage({ k: 2, code, reason });
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Bridges an EventTarget-based WebSocket to a MessagePort.
|
|
177
|
-
* Used on the host side for both client and S2S connections.
|
|
178
|
-
*/
|
|
179
|
-
export function bridgeWebSocketToPort(ws, port, opts) {
|
|
180
|
-
if ("binaryType" in ws)
|
|
181
|
-
ws.binaryType = "arraybuffer";
|
|
182
|
-
ws.addEventListener("open", () => {
|
|
183
|
-
port.postMessage({ k: 3 });
|
|
184
|
-
});
|
|
185
|
-
ws.addEventListener("message", ((ev) => {
|
|
186
|
-
const { data } = ev;
|
|
187
|
-
if (typeof data === "string") {
|
|
188
|
-
port.postMessage({ k: 0, d: data });
|
|
189
|
-
}
|
|
190
|
-
else if (data instanceof ArrayBuffer) {
|
|
191
|
-
if (opts?.filterBinary && !opts.filterBinary(data))
|
|
192
|
-
return;
|
|
193
|
-
port.postMessage({ k: 0, d: data }, [data]);
|
|
194
|
-
}
|
|
195
|
-
}));
|
|
196
|
-
ws.addEventListener("close", ((ev) => {
|
|
197
|
-
port.postMessage({ k: 2, code: ev.code, reason: ev.reason });
|
|
198
|
-
}));
|
|
199
|
-
ws.addEventListener("error", (ev) => {
|
|
200
|
-
const msg = ev instanceof ErrorEvent ? ev.message : "WebSocket error";
|
|
201
|
-
port.postMessage({ k: 4, m: msg });
|
|
202
|
-
});
|
|
203
|
-
// Messages from worker → real WebSocket
|
|
204
|
-
port.onmessage = (ev) => {
|
|
205
|
-
const msg = ev.data;
|
|
206
|
-
if (!isBridgeMsg(msg))
|
|
207
|
-
return;
|
|
208
|
-
switch (msg.k) {
|
|
209
|
-
case 0:
|
|
210
|
-
if (ws.readyState === 1)
|
|
211
|
-
ws.send(msg.d);
|
|
212
|
-
break;
|
|
213
|
-
case 2:
|
|
214
|
-
ws.close(msg.code, msg.reason);
|
|
215
|
-
break;
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
//# sourceMappingURL=capnweb.js.map
|
package/dist/sdk/capnweb.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capnweb.js","sourceRoot":"","sources":["../../sdk/capnweb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent definition factory.
|
|
3
|
-
*
|
|
4
|
-
* @module
|
|
5
|
-
*/
|
|
6
|
-
import { type AgentDef, type AgentOptions } from "./types.ts";
|
|
7
|
-
/**
|
|
8
|
-
* Create an agent definition from the given options, applying sensible defaults.
|
|
9
|
-
*
|
|
10
|
-
* This is the main entry point for defining a voice agent. The returned
|
|
11
|
-
* {@linkcode AgentDef} is consumed by the AAI server at deploy time.
|
|
12
|
-
*
|
|
13
|
-
* @param options Configuration for the agent including name, instructions,
|
|
14
|
-
* tools, hooks, and other settings.
|
|
15
|
-
* @returns A fully resolved agent definition with all defaults applied.
|
|
16
|
-
*
|
|
17
|
-
* @example Basic agent with a custom tool
|
|
18
|
-
* ```ts
|
|
19
|
-
* import { defineAgent } from "aai";
|
|
20
|
-
* import { z } from "zod";
|
|
21
|
-
*
|
|
22
|
-
* export default defineAgent({
|
|
23
|
-
* name: "greeter",
|
|
24
|
-
* instructions: "You greet people warmly.",
|
|
25
|
-
* tools: {
|
|
26
|
-
* greet: {
|
|
27
|
-
* description: "Greet a user by name",
|
|
28
|
-
* parameters: z.object({ name: z.string() }),
|
|
29
|
-
* execute: ({ name }) => `Hello, ${name}!`,
|
|
30
|
-
* },
|
|
31
|
-
* },
|
|
32
|
-
* });
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export declare function defineAgent<S>(options: AgentOptions<S>): AgentDef;
|
|
36
|
-
//# sourceMappingURL=define_agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define_agent.d.ts","sourceRoot":"","sources":["../../sdk/define_agent.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EAGlB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAajE"}
|
package/dist/sdk/define_agent.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// Copyright 2025 the AAI authors. MIT license.
|
|
2
|
-
/**
|
|
3
|
-
* Agent definition factory.
|
|
4
|
-
*
|
|
5
|
-
* @module
|
|
6
|
-
*/
|
|
7
|
-
import { DEFAULT_GREETING, DEFAULT_INSTRUCTIONS, } from "./types.js";
|
|
8
|
-
/**
|
|
9
|
-
* Create an agent definition from the given options, applying sensible defaults.
|
|
10
|
-
*
|
|
11
|
-
* This is the main entry point for defining a voice agent. The returned
|
|
12
|
-
* {@linkcode AgentDef} is consumed by the AAI server at deploy time.
|
|
13
|
-
*
|
|
14
|
-
* @param options Configuration for the agent including name, instructions,
|
|
15
|
-
* tools, hooks, and other settings.
|
|
16
|
-
* @returns A fully resolved agent definition with all defaults applied.
|
|
17
|
-
*
|
|
18
|
-
* @example Basic agent with a custom tool
|
|
19
|
-
* ```ts
|
|
20
|
-
* import { defineAgent } from "aai";
|
|
21
|
-
* import { z } from "zod";
|
|
22
|
-
*
|
|
23
|
-
* export default defineAgent({
|
|
24
|
-
* name: "greeter",
|
|
25
|
-
* instructions: "You greet people warmly.",
|
|
26
|
-
* tools: {
|
|
27
|
-
* greet: {
|
|
28
|
-
* description: "Greet a user by name",
|
|
29
|
-
* parameters: z.object({ name: z.string() }),
|
|
30
|
-
* execute: ({ name }) => `Hello, ${name}!`,
|
|
31
|
-
* },
|
|
32
|
-
* },
|
|
33
|
-
* });
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export function defineAgent(options) {
|
|
37
|
-
// AgentDef erases the S generic (it's a runtime artifact consumed by the
|
|
38
|
-
// server which doesn't need the compile-time state type). The cast is safe
|
|
39
|
-
// because AgentDef's hooks/tools use the same shapes with `any`/`unknown`.
|
|
40
|
-
const def = {
|
|
41
|
-
name: options.name,
|
|
42
|
-
instructions: options.instructions ?? DEFAULT_INSTRUCTIONS,
|
|
43
|
-
greeting: options.greeting ?? DEFAULT_GREETING,
|
|
44
|
-
maxSteps: options.maxSteps ?? 5,
|
|
45
|
-
tools: options.tools ?? {},
|
|
46
|
-
};
|
|
47
|
-
copyOptionalFields(options, def);
|
|
48
|
-
return def;
|
|
49
|
-
}
|
|
50
|
-
const OPTIONAL_KEYS = [
|
|
51
|
-
"sttPrompt",
|
|
52
|
-
"toolChoice",
|
|
53
|
-
"builtinTools",
|
|
54
|
-
"activeTools",
|
|
55
|
-
"state",
|
|
56
|
-
"onConnect",
|
|
57
|
-
"onDisconnect",
|
|
58
|
-
"onError",
|
|
59
|
-
"onTurn",
|
|
60
|
-
"onStep",
|
|
61
|
-
"onBeforeStep",
|
|
62
|
-
];
|
|
63
|
-
function copyOptionalFields(src, dst) {
|
|
64
|
-
for (const key of OPTIONAL_KEYS) {
|
|
65
|
-
const val = src[key];
|
|
66
|
-
if (val !== undefined) {
|
|
67
|
-
dst[key] = val;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=define_agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define_agent.js","sourceRoot":"","sources":["../../sdk/define_agent.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C;;;;GAIG;AAEH,OAAO,EAGL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,WAAW,CAAI,OAAwB;IACrD,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,GAAG,GAAa;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,oBAAoB;QAC1D,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;KACf,CAAC;IACd,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,WAAW;IACX,YAAY;IACZ,cAAc;IACd,aAAa;IACb,OAAO;IACP,WAAW;IACX,cAAc;IACd,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;CACN,CAAC;AAEX,SAAS,kBAAkB,CAAI,GAAoB,EAAE,GAAa;IAChE,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACrB,GAA+B,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// Copyright 2025 the AAI authors. MIT license.
|
|
2
|
-
/**
|
|
3
|
-
* Direct tool execution for self-hosted mode.
|
|
4
|
-
*
|
|
5
|
-
* In self-hosted mode, agent code is trusted (you're running your own code).
|
|
6
|
-
* Tools execute directly in-process — no sandbox, no RPC.
|
|
7
|
-
*
|
|
8
|
-
* @module
|
|
9
|
-
*/
|
|
10
|
-
import { agentToolsToSchemas } from "./_internal_types.js";
|
|
11
|
-
import { getBuiltinToolDefs, getBuiltinToolSchemas } from "./builtin_tools.js";
|
|
12
|
-
import { createMemoryKv } from "./kv.js";
|
|
13
|
-
import { consoleLogger, DEFAULT_S2S_CONFIG, noopMetrics } from "./runtime.js";
|
|
14
|
-
import { createS2sSession } from "./session.js";
|
|
15
|
-
import { createMemoryVectorStore } from "./vector.js";
|
|
16
|
-
import { executeToolCall } from "./worker_entry.js";
|
|
17
|
-
/** Build a serializable AgentConfig from an AgentDef. */
|
|
18
|
-
export function buildAgentConfig(agent) {
|
|
19
|
-
const config = {
|
|
20
|
-
name: agent.name,
|
|
21
|
-
instructions: agent.instructions,
|
|
22
|
-
greeting: agent.greeting,
|
|
23
|
-
};
|
|
24
|
-
if (agent.sttPrompt !== undefined)
|
|
25
|
-
config.sttPrompt = agent.sttPrompt;
|
|
26
|
-
if (typeof agent.maxSteps !== "function")
|
|
27
|
-
config.maxSteps = agent.maxSteps;
|
|
28
|
-
if (agent.toolChoice !== undefined)
|
|
29
|
-
config.toolChoice = agent.toolChoice;
|
|
30
|
-
if (agent.builtinTools)
|
|
31
|
-
config.builtinTools = [...agent.builtinTools];
|
|
32
|
-
if (agent.activeTools)
|
|
33
|
-
config.activeTools = [...agent.activeTools];
|
|
34
|
-
return config;
|
|
35
|
-
}
|
|
36
|
-
/** Create a direct (in-process) tool executor and hook invoker for an agent. */
|
|
37
|
-
export function createDirectExecutor(opts) {
|
|
38
|
-
const { agent, env, kv = createMemoryKv(), vector = createMemoryVectorStore(), vectorSearch, createWebSocket, logger = consoleLogger, metrics = noopMetrics, s2sConfig = DEFAULT_S2S_CONFIG, } = opts;
|
|
39
|
-
const agentConfig = buildAgentConfig(agent);
|
|
40
|
-
// Merge custom + builtin tool definitions
|
|
41
|
-
const builtinDefs = getBuiltinToolDefs(agent.builtinTools ?? [], vectorSearch ? { vectorSearch } : undefined);
|
|
42
|
-
const allTools = {
|
|
43
|
-
...builtinDefs,
|
|
44
|
-
...agent.tools,
|
|
45
|
-
};
|
|
46
|
-
// Build tool schemas for the S2S API
|
|
47
|
-
const customSchemas = agentToolsToSchemas(agent.tools ?? {});
|
|
48
|
-
const builtinSchemas = getBuiltinToolSchemas(agent.builtinTools ?? []);
|
|
49
|
-
const toolSchemas = [...customSchemas, ...builtinSchemas];
|
|
50
|
-
// Per-session mutable state
|
|
51
|
-
const sessionState = new Map();
|
|
52
|
-
const frozenEnv = Object.freeze({ ...env });
|
|
53
|
-
function getState(sessionId) {
|
|
54
|
-
if (!sessionState.has(sessionId) && agent.state) {
|
|
55
|
-
sessionState.set(sessionId, agent.state());
|
|
56
|
-
}
|
|
57
|
-
return sessionState.get(sessionId) ?? {};
|
|
58
|
-
}
|
|
59
|
-
function makeHookContext(sessionId) {
|
|
60
|
-
return {
|
|
61
|
-
env: frozenEnv,
|
|
62
|
-
state: getState(sessionId),
|
|
63
|
-
get kv() {
|
|
64
|
-
return kv;
|
|
65
|
-
},
|
|
66
|
-
get vector() {
|
|
67
|
-
return vector;
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
const executeTool = async (name, args, sessionId, messages) => {
|
|
72
|
-
const tool = allTools[name];
|
|
73
|
-
if (!tool)
|
|
74
|
-
return JSON.stringify({ error: `Unknown tool: ${name}` });
|
|
75
|
-
return executeToolCall(name, args, {
|
|
76
|
-
tool,
|
|
77
|
-
env: frozenEnv,
|
|
78
|
-
state: getState(sessionId ?? ""),
|
|
79
|
-
kv,
|
|
80
|
-
vector,
|
|
81
|
-
messages,
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
const hookInvoker = {
|
|
85
|
-
async onConnect(sessionId) {
|
|
86
|
-
await agent.onConnect?.(makeHookContext(sessionId));
|
|
87
|
-
},
|
|
88
|
-
async onDisconnect(sessionId) {
|
|
89
|
-
await agent.onDisconnect?.(makeHookContext(sessionId));
|
|
90
|
-
sessionState.delete(sessionId);
|
|
91
|
-
},
|
|
92
|
-
async onTurn(sessionId, text) {
|
|
93
|
-
await agent.onTurn?.(text, makeHookContext(sessionId));
|
|
94
|
-
},
|
|
95
|
-
async onError(sessionId, error) {
|
|
96
|
-
await agent.onError?.(new Error(error.message), makeHookContext(sessionId));
|
|
97
|
-
},
|
|
98
|
-
async onStep(sessionId, step) {
|
|
99
|
-
await agent.onStep?.(step, makeHookContext(sessionId));
|
|
100
|
-
},
|
|
101
|
-
async resolveTurnConfig(sessionId) {
|
|
102
|
-
const ctx = makeHookContext(sessionId);
|
|
103
|
-
let maxSteps;
|
|
104
|
-
let activeTools;
|
|
105
|
-
if (typeof agent.maxSteps === "function") {
|
|
106
|
-
maxSteps = (await agent.maxSteps(ctx)) ?? undefined;
|
|
107
|
-
}
|
|
108
|
-
if (agent.onBeforeStep) {
|
|
109
|
-
const result = await agent.onBeforeStep(0, ctx);
|
|
110
|
-
activeTools = result?.activeTools;
|
|
111
|
-
}
|
|
112
|
-
if (maxSteps === undefined && activeTools === undefined)
|
|
113
|
-
return null;
|
|
114
|
-
const config = {};
|
|
115
|
-
if (maxSteps !== undefined)
|
|
116
|
-
config.maxSteps = maxSteps;
|
|
117
|
-
if (activeTools !== undefined)
|
|
118
|
-
config.activeTools = activeTools;
|
|
119
|
-
return config;
|
|
120
|
-
},
|
|
121
|
-
};
|
|
122
|
-
function createSession(sessionOpts) {
|
|
123
|
-
if (!createWebSocket) {
|
|
124
|
-
throw new Error("createWebSocket not provided — pass it in DirectExecutorOptions");
|
|
125
|
-
}
|
|
126
|
-
const apiKey = frozenEnv.ASSEMBLYAI_API_KEY ?? "";
|
|
127
|
-
return createS2sSession({
|
|
128
|
-
id: sessionOpts.id,
|
|
129
|
-
agent: sessionOpts.agent,
|
|
130
|
-
client: sessionOpts.client,
|
|
131
|
-
agentConfig,
|
|
132
|
-
toolSchemas,
|
|
133
|
-
apiKey,
|
|
134
|
-
s2sConfig,
|
|
135
|
-
executeTool,
|
|
136
|
-
createWebSocket,
|
|
137
|
-
hookInvoker,
|
|
138
|
-
skipGreeting: sessionOpts.skipGreeting ?? false,
|
|
139
|
-
logger,
|
|
140
|
-
metrics,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
return { executeTool, hookInvoker, toolSchemas, createSession };
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=direct_executor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"direct_executor.js","sourceRoot":"","sources":["../../sdk/direct_executor.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C;;;;;;;GAOG;AAEH,OAAO,EAAoB,mBAAmB,EAAmB,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAkC,MAAM,cAAc,CAAC;AAGhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA0BpD,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,MAAM,MAAM,GAAgB;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACtE,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU;QAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3E,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACzE,IAAI,KAAK,CAAC,YAAY;QAAE,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,WAAW;QAAE,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,IAA2B;IAC9D,MAAM,EACJ,KAAK,EACL,GAAG,EACH,EAAE,GAAG,cAAc,EAAE,EACrB,MAAM,GAAG,uBAAuB,EAAE,EAClC,YAAY,EACZ,eAAe,EACf,MAAM,GAAG,aAAa,EACtB,OAAO,GAAG,WAAW,EACrB,SAAS,GAAG,kBAAkB,GAC/B,GAAG,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE5C,0CAA0C;IAC1C,MAAM,WAAW,GAAG,kBAAkB,CACpC,KAAK,CAAC,YAAY,IAAI,EAAE,EACxB,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;IACF,MAAM,QAAQ,GAA8C;QAC1D,GAAG,WAAW;QACd,GAAG,KAAK,CAAC,KAAK;KACf,CAAC;IAEF,qCAAqC;IACrC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,GAAiB,CAAC,GAAG,aAAa,EAAE,GAAG,cAAc,CAAC,CAAC;IAExE,4BAA4B;IAC5B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAE5C,SAAS,QAAQ,CAAC,SAAiB;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChD,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAA6B,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,SAAS,eAAe,CAAC,SAAiB;QACxC,OAAO;YACL,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC1B,IAAI,EAAE;gBACJ,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAgB,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;QACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC,CAAC;QAErE,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE;YACjC,IAAI;YACJ,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAChC,EAAE;YACF,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAgB;QAC/B,KAAK,CAAC,SAAS,CAAC,SAAS;YACvB,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,SAAS;YAC1B,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YACvD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI;YAC1B,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK;YAC5B,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAc;YACpC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,SAAS;YAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,QAA4B,CAAC;YACjC,IAAI,WAAiC,CAAC;YAEtC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACzC,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;YACtD,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAChD,WAAW,GAAG,MAAM,EAAE,WAAW,CAAC;YACpC,CAAC;YAED,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACrE,MAAM,MAAM,GAAkD,EAAE,CAAC;YACjE,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvD,IAAI,WAAW,KAAK,SAAS;gBAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,SAAS,aAAa,CAAC,WAKtB;QACC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAClD,OAAO,gBAAgB,CAAC;YACtB,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,WAAW;YACX,WAAW;YACX,MAAM;YACN,SAAS;YACT,WAAW;YACX,eAAe;YACf,WAAW;YACX,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,KAAK;YAC/C,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAClE,CAAC"}
|