@alexkroman1/aai 0.4.0 → 0.6.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.
Files changed (249) hide show
  1. package/README.md +0 -6
  2. package/dist/aai.js +3 -0
  3. package/dist/cli.js +244 -245
  4. package/dist/sdk/_internal_types.d.ts +73 -0
  5. package/dist/sdk/_internal_types.d.ts.map +1 -0
  6. package/dist/sdk/_internal_types.js +24 -0
  7. package/dist/sdk/_internal_types.js.map +1 -0
  8. package/dist/sdk/_mock_ws.d.ts +105 -0
  9. package/dist/sdk/_mock_ws.d.ts.map +1 -0
  10. package/dist/sdk/_mock_ws.js +154 -0
  11. package/dist/sdk/_mock_ws.js.map +1 -0
  12. package/dist/sdk/_timeout.d.ts +14 -0
  13. package/dist/sdk/_timeout.d.ts.map +1 -0
  14. package/{sdk/_timeout.ts → dist/sdk/_timeout.js} +9 -9
  15. package/dist/sdk/_timeout.js.map +1 -0
  16. package/dist/sdk/builtin_tools.d.ts +33 -0
  17. package/dist/sdk/builtin_tools.d.ts.map +1 -0
  18. package/dist/sdk/builtin_tools.js +263 -0
  19. package/dist/sdk/builtin_tools.js.map +1 -0
  20. package/dist/sdk/capnweb.d.ts +69 -0
  21. package/dist/sdk/capnweb.d.ts.map +1 -0
  22. package/dist/sdk/capnweb.js +291 -0
  23. package/dist/sdk/capnweb.js.map +1 -0
  24. package/dist/sdk/define_agent.d.ts +36 -0
  25. package/dist/sdk/define_agent.d.ts.map +1 -0
  26. package/dist/sdk/define_agent.js +63 -0
  27. package/dist/sdk/define_agent.js.map +1 -0
  28. package/dist/sdk/direct_executor.d.ts +42 -0
  29. package/dist/sdk/direct_executor.d.ts.map +1 -0
  30. package/dist/sdk/direct_executor.js +143 -0
  31. package/dist/sdk/direct_executor.js.map +1 -0
  32. package/dist/sdk/kv.d.ts +123 -0
  33. package/dist/sdk/kv.d.ts.map +1 -0
  34. package/dist/sdk/kv.js +91 -0
  35. package/dist/sdk/kv.js.map +1 -0
  36. package/{sdk/mod.ts → dist/sdk/mod.d.ts} +2 -11
  37. package/dist/sdk/mod.d.ts.map +1 -0
  38. package/dist/sdk/mod.js +26 -0
  39. package/dist/sdk/mod.js.map +1 -0
  40. package/dist/sdk/protocol.d.ts +218 -0
  41. package/dist/sdk/protocol.d.ts.map +1 -0
  42. package/dist/sdk/protocol.js +140 -0
  43. package/dist/sdk/protocol.js.map +1 -0
  44. package/dist/sdk/runtime.d.ts +35 -0
  45. package/dist/sdk/runtime.d.ts.map +1 -0
  46. package/dist/sdk/runtime.js +46 -0
  47. package/dist/sdk/runtime.js.map +1 -0
  48. package/dist/sdk/s2s.d.ts +60 -0
  49. package/dist/sdk/s2s.d.ts.map +1 -0
  50. package/dist/sdk/s2s.js +171 -0
  51. package/dist/sdk/s2s.js.map +1 -0
  52. package/dist/sdk/server.d.ts +51 -0
  53. package/dist/sdk/server.d.ts.map +1 -0
  54. package/dist/sdk/server.js +145 -0
  55. package/dist/sdk/server.js.map +1 -0
  56. package/dist/sdk/session.d.ts +66 -0
  57. package/dist/sdk/session.d.ts.map +1 -0
  58. package/dist/sdk/session.js +324 -0
  59. package/dist/sdk/session.js.map +1 -0
  60. package/dist/sdk/system_prompt.d.ts +6 -0
  61. package/dist/sdk/system_prompt.d.ts.map +1 -0
  62. package/dist/sdk/system_prompt.js +35 -0
  63. package/dist/sdk/system_prompt.js.map +1 -0
  64. package/dist/sdk/types.d.ts +326 -0
  65. package/dist/sdk/types.d.ts.map +1 -0
  66. package/dist/sdk/types.js +38 -0
  67. package/dist/sdk/types.js.map +1 -0
  68. package/dist/sdk/vector.d.ts +90 -0
  69. package/dist/sdk/vector.d.ts.map +1 -0
  70. package/dist/sdk/vector.js +61 -0
  71. package/dist/sdk/vector.js.map +1 -0
  72. package/dist/sdk/winterc_server.d.ts +53 -0
  73. package/dist/sdk/winterc_server.d.ts.map +1 -0
  74. package/dist/sdk/winterc_server.js +82 -0
  75. package/dist/sdk/winterc_server.js.map +1 -0
  76. package/dist/sdk/worker_entry.d.ts +48 -0
  77. package/dist/sdk/worker_entry.d.ts.map +1 -0
  78. package/dist/sdk/worker_entry.js +67 -0
  79. package/dist/sdk/worker_entry.js.map +1 -0
  80. package/dist/sdk/worker_shim.d.ts +20 -0
  81. package/dist/sdk/worker_shim.d.ts.map +1 -0
  82. package/dist/sdk/worker_shim.js +132 -0
  83. package/dist/sdk/worker_shim.js.map +1 -0
  84. package/dist/sdk/ws_handler.d.ts +50 -0
  85. package/dist/sdk/ws_handler.d.ts.map +1 -0
  86. package/dist/sdk/ws_handler.js +156 -0
  87. package/dist/sdk/ws_handler.js.map +1 -0
  88. package/dist/ui/_components/app.d.ts +3 -0
  89. package/dist/ui/_components/app.d.ts.map +1 -0
  90. package/dist/ui/_components/app.js +14 -0
  91. package/dist/ui/_components/app.js.map +1 -0
  92. package/dist/ui/_components/chat_view.d.ts +3 -0
  93. package/dist/ui/_components/chat_view.d.ts.map +1 -0
  94. package/dist/ui/_components/chat_view.js +14 -0
  95. package/dist/ui/_components/chat_view.js.map +1 -0
  96. package/dist/ui/_components/controls.d.ts +2 -0
  97. package/dist/ui/_components/controls.d.ts.map +1 -0
  98. package/dist/ui/_components/controls.js +11 -0
  99. package/dist/ui/_components/controls.js.map +1 -0
  100. package/dist/ui/_components/error_banner.d.ts +7 -0
  101. package/dist/ui/_components/error_banner.d.ts.map +1 -0
  102. package/dist/ui/_components/error_banner.js +7 -0
  103. package/dist/ui/_components/error_banner.js.map +1 -0
  104. package/dist/ui/_components/message_bubble.d.ts +6 -0
  105. package/dist/ui/_components/message_bubble.d.ts.map +1 -0
  106. package/dist/ui/_components/message_bubble.js +9 -0
  107. package/dist/ui/_components/message_bubble.js.map +1 -0
  108. package/dist/ui/_components/message_list.d.ts +2 -0
  109. package/dist/ui/_components/message_list.d.ts.map +1 -0
  110. package/dist/ui/_components/message_list.js +48 -0
  111. package/dist/ui/_components/message_list.js.map +1 -0
  112. package/dist/ui/_components/state_indicator.d.ts +7 -0
  113. package/dist/ui/_components/state_indicator.d.ts.map +1 -0
  114. package/dist/ui/_components/state_indicator.js +5 -0
  115. package/dist/ui/_components/state_indicator.js.map +1 -0
  116. package/dist/ui/_components/thinking_indicator.d.ts +3 -0
  117. package/dist/ui/_components/thinking_indicator.d.ts.map +1 -0
  118. package/dist/ui/_components/thinking_indicator.js +8 -0
  119. package/dist/ui/_components/thinking_indicator.js.map +1 -0
  120. package/dist/ui/_components/tool_call_block.d.ts +6 -0
  121. package/dist/ui/_components/tool_call_block.d.ts.map +1 -0
  122. package/dist/ui/_components/tool_call_block.js +58 -0
  123. package/dist/ui/_components/tool_call_block.js.map +1 -0
  124. package/dist/ui/_components/tool_icons.d.ts +18 -0
  125. package/dist/ui/_components/tool_icons.d.ts.map +1 -0
  126. package/dist/ui/_components/tool_icons.js +26 -0
  127. package/dist/ui/_components/tool_icons.js.map +1 -0
  128. package/dist/ui/_components/transcript.d.ts +6 -0
  129. package/dist/ui/_components/transcript.d.ts.map +1 -0
  130. package/dist/ui/_components/transcript.js +8 -0
  131. package/dist/ui/_components/transcript.js.map +1 -0
  132. package/dist/ui/_dom_shim.d.ts +7 -0
  133. package/dist/ui/_dom_shim.d.ts.map +1 -0
  134. package/dist/ui/_dom_shim.js +21 -0
  135. package/dist/ui/_dom_shim.js.map +1 -0
  136. package/dist/ui/_test_utils.js +272 -0
  137. package/dist/ui/_test_utils.js.map +1 -0
  138. package/dist/ui/audio.d.ts +46 -0
  139. package/dist/ui/audio.d.ts.map +1 -0
  140. package/dist/ui/audio.js +130 -0
  141. package/dist/ui/audio.js.map +1 -0
  142. package/dist/ui/components.d.ts +36 -0
  143. package/dist/ui/components.d.ts.map +1 -0
  144. package/dist/ui/components.js +32 -0
  145. package/dist/ui/components.js.map +1 -0
  146. package/{ui/components_mod.ts → dist/ui/components_mod.d.ts} +3 -18
  147. package/dist/ui/components_mod.d.ts.map +1 -0
  148. package/dist/ui/components_mod.js +20 -0
  149. package/dist/ui/components_mod.js.map +1 -0
  150. package/dist/ui/mod.d.ts +21 -0
  151. package/dist/ui/mod.d.ts.map +1 -0
  152. package/{ui/mod.ts → dist/ui/mod.js} +3 -29
  153. package/dist/ui/mod.js.map +1 -0
  154. package/dist/ui/mount.d.ts +56 -0
  155. package/dist/ui/mount.d.ts.map +1 -0
  156. package/dist/ui/mount.js +60 -0
  157. package/dist/ui/mount.js.map +1 -0
  158. package/dist/ui/mount_context.d.ts +10 -0
  159. package/dist/ui/mount_context.d.ts.map +1 -0
  160. package/dist/ui/mount_context.js +10 -0
  161. package/dist/ui/mount_context.js.map +1 -0
  162. package/dist/ui/session.d.ts +91 -0
  163. package/dist/ui/session.d.ts.map +1 -0
  164. package/dist/ui/session.js +366 -0
  165. package/dist/ui/session.js.map +1 -0
  166. package/{ui/session_mod.ts → dist/ui/session_mod.d.ts} +2 -10
  167. package/dist/ui/session_mod.d.ts.map +1 -0
  168. package/dist/ui/session_mod.js +18 -0
  169. package/dist/ui/session_mod.js.map +1 -0
  170. package/dist/ui/signals.d.ts +61 -0
  171. package/dist/ui/signals.d.ts.map +1 -0
  172. package/dist/ui/signals.js +74 -0
  173. package/dist/ui/signals.js.map +1 -0
  174. package/dist/ui/types.d.ts +36 -0
  175. package/dist/ui/types.d.ts.map +1 -0
  176. package/dist/ui/types.js +4 -0
  177. package/dist/ui/types.js.map +1 -0
  178. package/package.json +103 -28
  179. package/sdk/_internal_types.ts +0 -89
  180. package/sdk/_mock_ws.ts +0 -172
  181. package/sdk/builtin_tools.ts +0 -309
  182. package/sdk/capnweb.ts +0 -341
  183. package/sdk/define_agent.ts +0 -70
  184. package/sdk/direct_executor.ts +0 -195
  185. package/sdk/kv.ts +0 -183
  186. package/sdk/protocol.ts +0 -313
  187. package/sdk/runtime.ts +0 -65
  188. package/sdk/s2s.ts +0 -271
  189. package/sdk/server.ts +0 -198
  190. package/sdk/session.ts +0 -438
  191. package/sdk/system_prompt.ts +0 -47
  192. package/sdk/types.ts +0 -406
  193. package/sdk/vector.ts +0 -133
  194. package/sdk/winterc_server.ts +0 -141
  195. package/sdk/worker_entry.ts +0 -99
  196. package/sdk/worker_shim.ts +0 -170
  197. package/sdk/ws_handler.ts +0 -190
  198. package/templates/_shared/.env.example +0 -5
  199. package/templates/_shared/package.json +0 -17
  200. package/templates/code-interpreter/agent.ts +0 -27
  201. package/templates/code-interpreter/client.tsx +0 -2
  202. package/templates/dispatch-center/agent.ts +0 -1536
  203. package/templates/dispatch-center/client.tsx +0 -504
  204. package/templates/embedded-assets/agent.ts +0 -49
  205. package/templates/embedded-assets/client.tsx +0 -2
  206. package/templates/embedded-assets/knowledge.json +0 -20
  207. package/templates/health-assistant/agent.ts +0 -160
  208. package/templates/health-assistant/client.tsx +0 -2
  209. package/templates/infocom-adventure/agent.ts +0 -164
  210. package/templates/infocom-adventure/client.tsx +0 -299
  211. package/templates/math-buddy/agent.ts +0 -21
  212. package/templates/math-buddy/client.tsx +0 -2
  213. package/templates/memory-agent/agent.ts +0 -74
  214. package/templates/memory-agent/client.tsx +0 -2
  215. package/templates/night-owl/agent.ts +0 -98
  216. package/templates/night-owl/client.tsx +0 -28
  217. package/templates/personal-finance/agent.ts +0 -26
  218. package/templates/personal-finance/client.tsx +0 -2
  219. package/templates/simple/agent.ts +0 -6
  220. package/templates/simple/client.tsx +0 -2
  221. package/templates/smart-research/agent.ts +0 -164
  222. package/templates/smart-research/client.tsx +0 -2
  223. package/templates/support/README.md +0 -62
  224. package/templates/support/agent.ts +0 -19
  225. package/templates/support/client.tsx +0 -2
  226. package/templates/travel-concierge/agent.ts +0 -29
  227. package/templates/travel-concierge/client.tsx +0 -2
  228. package/templates/web-researcher/agent.ts +0 -17
  229. package/templates/web-researcher/client.tsx +0 -2
  230. package/ui/_components/app.tsx +0 -37
  231. package/ui/_components/chat_view.tsx +0 -36
  232. package/ui/_components/controls.tsx +0 -32
  233. package/ui/_components/error_banner.tsx +0 -18
  234. package/ui/_components/message_bubble.tsx +0 -21
  235. package/ui/_components/message_list.tsx +0 -61
  236. package/ui/_components/state_indicator.tsx +0 -17
  237. package/ui/_components/thinking_indicator.tsx +0 -19
  238. package/ui/_components/tool_call_block.tsx +0 -110
  239. package/ui/_components/tool_icons.tsx +0 -101
  240. package/ui/_components/transcript.tsx +0 -20
  241. package/ui/audio.ts +0 -170
  242. package/ui/components.ts +0 -49
  243. package/ui/mount.tsx +0 -112
  244. package/ui/mount_context.ts +0 -19
  245. package/ui/session.ts +0 -456
  246. package/ui/signals.ts +0 -111
  247. package/ui/types.ts +0 -50
  248. package/ui/worklets/capture-processor.js +0 -62
  249. package/ui/worklets/playback-processor.js +0 -110
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../ui/session.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- // Copyright 2025 the AAI authors. MIT license.
2
1
  /**
3
2
  * WebSocket session management for AAI voice agents.
4
3
  *
@@ -14,14 +13,7 @@
14
13
  *
15
14
  * @module
16
15
  */
17
-
18
16
  export type { VoiceSession } from "./session.ts";
19
17
  export { createVoiceSession } from "./session.ts";
20
- export type {
21
- AgentState,
22
- Message,
23
- SessionError,
24
- SessionErrorCode,
25
- SessionOptions,
26
- ToolCallInfo,
27
- } from "./types.ts";
18
+ export type { AgentState, Message, SessionError, SessionErrorCode, SessionOptions, ToolCallInfo, } from "./types.ts";
19
+ //# sourceMappingURL=session_mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_mod.d.ts","sourceRoot":"","sources":["../../ui/session_mod.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;GAcG;AAEH,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ // Copyright 2025 the AAI authors. MIT license.
2
+ /**
3
+ * WebSocket session management for AAI voice agents.
4
+ *
5
+ * Provides the low-level voice session without any Preact/UI dependencies.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createVoiceSession } from "@aai/ui/session";
10
+ *
11
+ * const session = createVoiceSession({ platformUrl: "https://example.com" });
12
+ * session.connect();
13
+ * ```
14
+ *
15
+ * @module
16
+ */
17
+ export { createVoiceSession } from "./session.js";
18
+ //# sourceMappingURL=session_mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_mod.js","sourceRoot":"","sources":["../../ui/session_mod.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { type Signal } from "@preact/signals";
2
+ import type * as preact from "preact";
3
+ import type { ComponentChildren } from "preact";
4
+ import type { VoiceSession } from "./session.ts";
5
+ /**
6
+ * Reactive session controls wrapping a {@linkcode VoiceSession} with Preact signals.
7
+ *
8
+ * Components access reactive data via `session` (e.g. `session.state`,
9
+ * `session.messages`). UI-only state (`started`, `running`) and actions
10
+ * (`start`, `toggle`, `reset`) live directly on this object.
11
+ */
12
+ export type SessionSignals = {
13
+ /** The underlying voice session — all reactive data lives here. */
14
+ session: VoiceSession;
15
+ /** Whether the session has been started by the user. */
16
+ started: Signal<boolean>;
17
+ /** Whether the session is currently running (connected or connecting). */
18
+ running: Signal<boolean>;
19
+ /** Dispose the reactive effect that tracks error state. */
20
+ dispose(): void;
21
+ /** Start the session for the first time (sets `started` and `running`). */
22
+ start(): void;
23
+ /** Toggle between connected and disconnected states. */
24
+ toggle(): void;
25
+ /** Reset the session: clear state and reconnect. */
26
+ reset(): void;
27
+ /** Alias for {@linkcode dispose} for use with `using`. */
28
+ [Symbol.dispose](): void;
29
+ };
30
+ /**
31
+ * Wrap a {@linkcode VoiceSession} in Preact signals for reactive UI binding.
32
+ *
33
+ * Creates higher-level controls (start, toggle, reset) on top of the raw
34
+ * session, and automatically sets `running` to `false` when the session
35
+ * enters an error state.
36
+ *
37
+ * @param session - The voice session to wrap.
38
+ * @returns A {@linkcode SessionSignals} object for use in Preact components.
39
+ */
40
+ export declare function createSessionControls(session: VoiceSession): SessionSignals;
41
+ /**
42
+ * Preact context provider that makes session signals available to descendant
43
+ * components via {@linkcode useSession}.
44
+ *
45
+ * @param props - Provider props.
46
+ * @param props.value - The session signals to provide.
47
+ * @param props.children - Child components that may consume the context.
48
+ * @returns A Preact VNode wrapping children in the session context.
49
+ */
50
+ export declare function SessionProvider({ value, children, }: {
51
+ value: SessionSignals;
52
+ children: ComponentChildren;
53
+ }): preact.JSX.Element;
54
+ /**
55
+ * Hook to access session signals from within a {@linkcode SessionProvider}.
56
+ *
57
+ * @returns The {@linkcode SessionSignals} from the nearest provider.
58
+ * @throws {Error} If called outside of a `SessionProvider`.
59
+ */
60
+ export declare function useSession(): SessionSignals;
61
+ //# sourceMappingURL=signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../ui/signals.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,MAAM,EAAU,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,mEAAmE;IACnE,OAAO,EAAE,YAAY,CAAC;IACtB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;IAChB,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;IACd,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAC;IACf,oDAAoD;IACpD,KAAK,IAAI,IAAI,CAAC;IACd,0DAA0D;IAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAgC3E;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAErB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,cAAc,CAI3C"}
@@ -0,0 +1,74 @@
1
+ // Copyright 2025 the AAI authors. MIT license.
2
+ import { batch, effect, signal } from "@preact/signals";
3
+ import { createContext, h } from "preact";
4
+ import { useContext } from "preact/hooks";
5
+ /**
6
+ * Wrap a {@linkcode VoiceSession} in Preact signals for reactive UI binding.
7
+ *
8
+ * Creates higher-level controls (start, toggle, reset) on top of the raw
9
+ * session, and automatically sets `running` to `false` when the session
10
+ * enters an error state.
11
+ *
12
+ * @param session - The voice session to wrap.
13
+ * @returns A {@linkcode SessionSignals} object for use in Preact components.
14
+ */
15
+ export function createSessionControls(session) {
16
+ const started = signal(false);
17
+ const running = signal(true);
18
+ const dispose = effect(() => {
19
+ if (session.state.value === "error")
20
+ running.value = false;
21
+ });
22
+ return {
23
+ session,
24
+ started,
25
+ running,
26
+ dispose,
27
+ start() {
28
+ batch(() => {
29
+ started.value = true;
30
+ running.value = true;
31
+ });
32
+ session.connect();
33
+ },
34
+ toggle() {
35
+ if (running.value)
36
+ session.disconnect();
37
+ else
38
+ session.connect();
39
+ running.value = !running.value;
40
+ },
41
+ reset() {
42
+ session.reset();
43
+ },
44
+ [Symbol.dispose]() {
45
+ dispose();
46
+ },
47
+ };
48
+ }
49
+ const Ctx = createContext(null);
50
+ /**
51
+ * Preact context provider that makes session signals available to descendant
52
+ * components via {@linkcode useSession}.
53
+ *
54
+ * @param props - Provider props.
55
+ * @param props.value - The session signals to provide.
56
+ * @param props.children - Child components that may consume the context.
57
+ * @returns A Preact VNode wrapping children in the session context.
58
+ */
59
+ export function SessionProvider({ value, children, }) {
60
+ return h(Ctx.Provider, { value }, children);
61
+ }
62
+ /**
63
+ * Hook to access session signals from within a {@linkcode SessionProvider}.
64
+ *
65
+ * @returns The {@linkcode SessionSignals} from the nearest provider.
66
+ * @throws {Error} If called outside of a `SessionProvider`.
67
+ */
68
+ export function useSession() {
69
+ const ctx = useContext(Ctx);
70
+ if (!ctx)
71
+ throw new Error("Hook useSession() requires a SessionProvider");
72
+ return ctx;
73
+ }
74
+ //# sourceMappingURL=signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../ui/signals.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAe,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA6B1C;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAqB;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;QAC1B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,KAAK;YACH,KAAK,CAAC,GAAG,EAAE;gBACT,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,MAAM;YACJ,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO,CAAC,UAAU,EAAE,CAAC;;gBACnC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,KAAK;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,CAAC,MAAM,CAAC,OAAO,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,GAAG,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,36 @@
1
+ /** Microphone buffer duration in seconds before sending to the server. */
2
+ export declare const MIC_BUFFER_SECONDS = 0.1;
3
+ /** Current state of the voice agent session. */
4
+ export type AgentState = "disconnected" | "connecting" | "ready" | "listening" | "thinking" | "speaking" | "error";
5
+ /** A chat message exchanged between user and assistant. */
6
+ export type Message = {
7
+ /** The sender of the message. */
8
+ role: "user" | "assistant";
9
+ /** The text content of the message. */
10
+ text: string;
11
+ };
12
+ /** Info about a tool call for display in the UI. */
13
+ export type ToolCallInfo = {
14
+ toolCallId: string;
15
+ toolName: string;
16
+ args: Record<string, unknown>;
17
+ status: "pending" | "done";
18
+ result?: string | undefined;
19
+ /** Index in the messages array where this tool call should appear. */
20
+ afterMessageIndex: number;
21
+ };
22
+ import type { SessionErrorCode } from "../sdk/protocol.ts";
23
+ export type { SessionErrorCode };
24
+ /** Error reported by the voice session. */
25
+ export type SessionError = {
26
+ /** The category of the error. */
27
+ readonly code: SessionErrorCode;
28
+ /** A human-readable description of the error. */
29
+ readonly message: string;
30
+ };
31
+ /** Options for creating a voice session. */
32
+ export type SessionOptions = {
33
+ /** Base URL of the AAI platform server. */
34
+ platformUrl: string;
35
+ };
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ui/types.ts"],"names":[],"mappings":"AACA,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,YAAY,GACZ,OAAO,GACP,WAAW,GACX,UAAU,GACV,UAAU,GACV,OAAO,CAAC;AAEZ,2DAA2D;AAC3D,MAAM,MAAM,OAAO,GAAG;IACpB,iCAAiC;IACjC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG;IACzB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Copyright 2025 the AAI authors. MIT license.
2
+ /** Microphone buffer duration in seconds before sending to the server. */
3
+ export const MIC_BUFFER_SECONDS = 0.1;
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../ui/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC"}
package/package.json CHANGED
@@ -1,35 +1,110 @@
1
1
  {
2
2
  "name": "@alexkroman1/aai",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "bin": {
6
- "aai": "dist/cli.js"
6
+ "aai": "dist/aai.js"
7
7
  },
8
+ "files": [
9
+ "dist"
10
+ ],
8
11
  "exports": {
9
- ".": "./sdk/mod.ts",
10
- "./types": "./sdk/types.ts",
11
- "./define-agent": "./sdk/define_agent.ts",
12
- "./kv": "./sdk/kv.ts",
13
- "./vector": "./sdk/vector.ts",
14
- "./testing": "./sdk/_mock_ws.ts",
15
- "./server": "./sdk/server.ts",
16
- "./runtime": "./sdk/runtime.ts",
17
- "./ui": "./ui/mod.ts",
18
- "./ui/session": "./ui/session_mod.ts",
19
- "./ui/components": "./ui/components_mod.ts",
20
- "./internal-types": "./sdk/_internal_types.ts",
21
- "./protocol": "./sdk/protocol.ts",
22
- "./worker-entry": "./sdk/worker_entry.ts",
23
- "./timeout": "./sdk/_timeout.ts",
24
- "./builtin-tools": "./sdk/builtin_tools.ts",
25
- "./s2s": "./sdk/s2s.ts",
26
- "./session": "./sdk/session.ts",
27
- "./system-prompt": "./sdk/system_prompt.ts",
28
- "./ws-handler": "./sdk/ws_handler.ts",
29
- "./direct-executor": "./sdk/direct_executor.ts",
30
- "./capnweb": "./sdk/capnweb.ts",
31
- "./winterc-server": "./sdk/winterc_server.ts",
32
- "./worker-shim": "./sdk/worker_shim.ts"
12
+ ".": {
13
+ "types": "./dist/sdk/mod.d.ts",
14
+ "default": "./dist/sdk/mod.js"
15
+ },
16
+ "./types": {
17
+ "types": "./dist/sdk/types.d.ts",
18
+ "default": "./dist/sdk/types.js"
19
+ },
20
+ "./define-agent": {
21
+ "types": "./dist/sdk/define_agent.d.ts",
22
+ "default": "./dist/sdk/define_agent.js"
23
+ },
24
+ "./kv": {
25
+ "types": "./dist/sdk/kv.d.ts",
26
+ "default": "./dist/sdk/kv.js"
27
+ },
28
+ "./vector": {
29
+ "types": "./dist/sdk/vector.d.ts",
30
+ "default": "./dist/sdk/vector.js"
31
+ },
32
+ "./testing": {
33
+ "types": "./dist/sdk/_mock_ws.d.ts",
34
+ "default": "./dist/sdk/_mock_ws.js"
35
+ },
36
+ "./server": {
37
+ "types": "./dist/sdk/server.d.ts",
38
+ "default": "./dist/sdk/server.js"
39
+ },
40
+ "./runtime": {
41
+ "types": "./dist/sdk/runtime.d.ts",
42
+ "default": "./dist/sdk/runtime.js"
43
+ },
44
+ "./ui": {
45
+ "types": "./dist/ui/mod.d.ts",
46
+ "default": "./dist/ui/mod.js"
47
+ },
48
+ "./ui/session": {
49
+ "types": "./dist/ui/session_mod.d.ts",
50
+ "default": "./dist/ui/session_mod.js"
51
+ },
52
+ "./ui/components": {
53
+ "types": "./dist/ui/components_mod.d.ts",
54
+ "default": "./dist/ui/components_mod.js"
55
+ },
56
+ "./internal-types": {
57
+ "types": "./dist/sdk/_internal_types.d.ts",
58
+ "default": "./dist/sdk/_internal_types.js"
59
+ },
60
+ "./protocol": {
61
+ "types": "./dist/sdk/protocol.d.ts",
62
+ "default": "./dist/sdk/protocol.js"
63
+ },
64
+ "./worker-entry": {
65
+ "types": "./dist/sdk/worker_entry.d.ts",
66
+ "default": "./dist/sdk/worker_entry.js"
67
+ },
68
+ "./timeout": {
69
+ "types": "./dist/sdk/_timeout.d.ts",
70
+ "default": "./dist/sdk/_timeout.js"
71
+ },
72
+ "./builtin-tools": {
73
+ "types": "./dist/sdk/builtin_tools.d.ts",
74
+ "default": "./dist/sdk/builtin_tools.js"
75
+ },
76
+ "./s2s": {
77
+ "types": "./dist/sdk/s2s.d.ts",
78
+ "default": "./dist/sdk/s2s.js"
79
+ },
80
+ "./session": {
81
+ "types": "./dist/sdk/session.d.ts",
82
+ "default": "./dist/sdk/session.js"
83
+ },
84
+ "./system-prompt": {
85
+ "types": "./dist/sdk/system_prompt.d.ts",
86
+ "default": "./dist/sdk/system_prompt.js"
87
+ },
88
+ "./ws-handler": {
89
+ "types": "./dist/sdk/ws_handler.d.ts",
90
+ "default": "./dist/sdk/ws_handler.js"
91
+ },
92
+ "./direct-executor": {
93
+ "types": "./dist/sdk/direct_executor.d.ts",
94
+ "default": "./dist/sdk/direct_executor.js"
95
+ },
96
+ "./capnweb": {
97
+ "types": "./dist/sdk/capnweb.d.ts",
98
+ "default": "./dist/sdk/capnweb.js"
99
+ },
100
+ "./winterc-server": {
101
+ "types": "./dist/sdk/winterc_server.d.ts",
102
+ "default": "./dist/sdk/winterc_server.js"
103
+ },
104
+ "./worker-shim": {
105
+ "types": "./dist/sdk/worker_shim.d.ts",
106
+ "default": "./dist/sdk/worker_shim.js"
107
+ }
33
108
  },
34
109
  "dependencies": {
35
110
  "@chonkiejs/core": "^0",
@@ -59,6 +134,7 @@
59
134
  "@types/minimist": "^1.2",
60
135
  "@types/node": "^22",
61
136
  "@types/react": "^18",
137
+ "@types/ws": "^8.18.1",
62
138
  "ink-testing-library": "^4",
63
139
  "linkedom": "^0.18.10",
64
140
  "typescript": "^5.7",
@@ -69,10 +145,9 @@
69
145
  },
70
146
  "scripts": {
71
147
  "setup": "git config core.hooksPath .githooks",
72
- "build:cli": "node scripts/build-cli.mjs",
73
148
  "test": "vitest run",
74
149
  "lint": "biome check sdk/ ui/ cli/",
75
150
  "lint:fix": "biome check --write sdk/ ui/ cli/",
76
- "check": "biome check sdk/ ui/ cli/ && vitest run"
151
+ "check": "tsc -p tsconfig.build.json --noEmit && biome check sdk/ ui/ cli/ && vitest run"
77
152
  }
78
153
  }
@@ -1,89 +0,0 @@
1
- // Copyright 2025 the AAI authors. MIT license.
2
- /**
3
- * Internal type definitions shared by server and CLI.
4
- *
5
- * Note: this module is for internal use only and should not be used directly.
6
- *
7
- * @module
8
- */
9
-
10
- import type { JSONSchema7 } from "json-schema";
11
- import { z } from "zod";
12
- import type { BuiltinTool, ToolChoice, ToolDef, Transport } from "./types.ts";
13
-
14
- /**
15
- * Serializable agent configuration sent over the wire.
16
- *
17
- * This is the JSON-safe subset of the agent definition that can be
18
- * transmitted between the worker and the host process via structured clone.
19
- */
20
- export type AgentConfig = {
21
- name: string;
22
- instructions: string;
23
- greeting: string;
24
- voice: string;
25
- mode?: "s2s" | undefined;
26
- sttPrompt?: string | undefined;
27
- maxSteps?: number | undefined;
28
- toolChoice?: ToolChoice | undefined;
29
- transport?: readonly Transport[] | undefined;
30
- builtinTools?: readonly BuiltinTool[] | undefined;
31
- /** Default set of active tools. Can be overridden per-turn via `onBeforeStep`. */
32
- activeTools?: readonly string[] | undefined;
33
- };
34
-
35
- /**
36
- * Serialized tool schema sent over the wire.
37
- * `parameters` must be a valid JSON Schema object (with `type`, `properties`,
38
- * etc.) — the Vercel AI SDK wraps it via `jsonSchema()`.
39
- */
40
- export type ToolSchema = {
41
- name: string;
42
- description: string;
43
- parameters: JSONSchema7;
44
- };
45
-
46
- /**
47
- * Request body for the deploy endpoint.
48
- *
49
- * Sent by the CLI to the server when deploying a bundled agent.
50
- */
51
- export type DeployBody = {
52
- /** Env vars are optional at deploy time — set separately via `aai env add`. */
53
- env?: Readonly<Record<string, string>> | undefined;
54
- worker: string;
55
- html: string;
56
- transport?: readonly Transport[] | undefined;
57
- /** Agent configuration extracted at build time. */
58
- config: AgentConfig;
59
- /** Tool schemas extracted at build time. */
60
- toolSchemas: ToolSchema[];
61
- };
62
-
63
- /** Environment variables required by the agent runtime. */
64
- export type AgentEnv = {
65
- ASSEMBLYAI_API_KEY: string;
66
- [key: string]: string | undefined;
67
- };
68
-
69
- /** Configuration + tool schemas bundle returned by the worker's getConfig RPC. */
70
- export type WorkerConfig = {
71
- config: AgentConfig;
72
- toolSchemas: ToolSchema[];
73
- };
74
-
75
- const EMPTY_PARAMS = z.object({});
76
-
77
- /**
78
- * Convert agent tool definitions to JSON Schema format for wire transport.
79
- *
80
- * Transforms the Zod-based `parameters` of each tool into a plain JSON Schema
81
- * object suitable for structured clone / JSON serialization.
82
- */
83
- export function agentToolsToSchemas(tools: Readonly<Record<string, ToolDef>>): ToolSchema[] {
84
- return Object.entries(tools).map(([name, def]) => ({
85
- name,
86
- description: def.description,
87
- parameters: z.toJSONSchema(def.parameters ?? EMPTY_PARAMS) as JSONSchema7,
88
- }));
89
- }