@alexkroman1/aai 0.8.2 → 0.8.4

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 (166) hide show
  1. package/dist/cli/tsconfig.tsbuildinfo +1 -0
  2. package/dist/cli.js +1368 -1904
  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 +30 -0
  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 +51 -92
  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.map +1 -1
  57. package/dist/sdk/winterc_server.js +10 -15
  58. package/dist/sdk/winterc_server.js.map +1 -1
  59. package/dist/sdk/worker_entry.d.ts +3 -11
  60. package/dist/sdk/worker_entry.d.ts.map +1 -1
  61. package/dist/sdk/worker_entry.js +8 -18
  62. package/dist/sdk/worker_entry.js.map +1 -1
  63. package/dist/sdk/worker_shim.d.ts +5 -6
  64. package/dist/sdk/worker_shim.d.ts.map +1 -1
  65. package/dist/sdk/worker_shim.js +93 -136
  66. package/dist/sdk/worker_shim.js.map +1 -1
  67. package/dist/sdk/ws_handler.d.ts +1 -1
  68. package/dist/sdk/ws_handler.d.ts.map +1 -1
  69. package/dist/sdk/ws_handler.js +13 -22
  70. package/dist/sdk/ws_handler.js.map +1 -1
  71. package/dist/ui/_cn.d.ts +5 -0
  72. package/dist/ui/_cn.d.ts.map +1 -0
  73. package/dist/ui/_cn.js +22 -0
  74. package/dist/ui/_cn.js.map +1 -0
  75. package/dist/ui/_components/app.d.ts +3 -1
  76. package/dist/ui/_components/app.d.ts.map +1 -1
  77. package/dist/ui/_components/app.js +2 -2
  78. package/dist/ui/_components/app.js.map +1 -1
  79. package/dist/ui/_components/button.d.ts +11 -0
  80. package/dist/ui/_components/button.d.ts.map +1 -0
  81. package/dist/ui/_components/button.js +17 -0
  82. package/dist/ui/_components/button.js.map +1 -0
  83. package/dist/ui/_components/chat_view.d.ts +3 -1
  84. package/dist/ui/_components/chat_view.d.ts.map +1 -1
  85. package/dist/ui/_components/chat_view.js +4 -2
  86. package/dist/ui/_components/chat_view.js.map +1 -1
  87. package/dist/ui/_components/controls.d.ts +3 -1
  88. package/dist/ui/_components/controls.d.ts.map +1 -1
  89. package/dist/ui/_components/controls.js +4 -5
  90. package/dist/ui/_components/controls.js.map +1 -1
  91. package/dist/ui/_components/error_banner.d.ts +2 -1
  92. package/dist/ui/_components/error_banner.d.ts.map +1 -1
  93. package/dist/ui/_components/error_banner.js +3 -2
  94. package/dist/ui/_components/error_banner.js.map +1 -1
  95. package/dist/ui/_components/message_bubble.d.ts +2 -1
  96. package/dist/ui/_components/message_bubble.d.ts.map +1 -1
  97. package/dist/ui/_components/message_bubble.js +5 -3
  98. package/dist/ui/_components/message_bubble.js.map +1 -1
  99. package/dist/ui/_components/message_list.d.ts +3 -1
  100. package/dist/ui/_components/message_list.d.ts.map +1 -1
  101. package/dist/ui/_components/message_list.js +7 -15
  102. package/dist/ui/_components/message_list.js.map +1 -1
  103. package/dist/ui/_components/sidebar_layout.d.ts +2 -1
  104. package/dist/ui/_components/sidebar_layout.d.ts.map +1 -1
  105. package/dist/ui/_components/sidebar_layout.js +5 -7
  106. package/dist/ui/_components/sidebar_layout.js.map +1 -1
  107. package/dist/ui/_components/start_screen.d.ts +2 -1
  108. package/dist/ui/_components/start_screen.d.ts.map +1 -1
  109. package/dist/ui/_components/start_screen.js +5 -2
  110. package/dist/ui/_components/start_screen.js.map +1 -1
  111. package/dist/ui/_components/state_indicator.d.ts +2 -1
  112. package/dist/ui/_components/state_indicator.d.ts.map +1 -1
  113. package/dist/ui/_components/state_indicator.js +3 -2
  114. package/dist/ui/_components/state_indicator.js.map +1 -1
  115. package/dist/ui/_components/thinking_indicator.d.ts +3 -1
  116. package/dist/ui/_components/thinking_indicator.d.ts.map +1 -1
  117. package/dist/ui/_components/thinking_indicator.js +4 -2
  118. package/dist/ui/_components/thinking_indicator.js.map +1 -1
  119. package/dist/ui/_components/tool_call_block.d.ts +2 -1
  120. package/dist/ui/_components/tool_call_block.d.ts.map +1 -1
  121. package/dist/ui/_components/tool_call_block.js +13 -25
  122. package/dist/ui/_components/tool_call_block.js.map +1 -1
  123. package/dist/ui/_components/transcript.d.ts +2 -1
  124. package/dist/ui/_components/transcript.d.ts.map +1 -1
  125. package/dist/ui/_components/transcript.js +3 -2
  126. package/dist/ui/_components/transcript.js.map +1 -1
  127. package/dist/ui/_jsdom_setup.d.ts +1 -0
  128. package/dist/ui/_jsdom_setup.d.ts.map +1 -0
  129. package/dist/ui/_jsdom_setup.js +6 -0
  130. package/dist/ui/_jsdom_setup.js.map +1 -0
  131. package/dist/ui/audio.d.ts.map +1 -1
  132. package/dist/ui/audio.js +4 -4
  133. package/dist/ui/audio.js.map +1 -1
  134. package/dist/ui/components.d.ts +13 -55
  135. package/dist/ui/components.d.ts.map +1 -1
  136. package/dist/ui/components.js +13 -42
  137. package/dist/ui/components.js.map +1 -1
  138. package/dist/ui/components_mod.d.ts +14 -3
  139. package/dist/ui/components_mod.d.ts.map +1 -1
  140. package/dist/ui/components_mod.js +14 -3
  141. package/dist/ui/components_mod.js.map +1 -1
  142. package/dist/ui/mod.d.ts +1 -8
  143. package/dist/ui/mod.d.ts.map +1 -1
  144. package/dist/ui/mod.js +1 -5
  145. package/dist/ui/mod.js.map +1 -1
  146. package/dist/ui/mount.d.ts +1 -1
  147. package/dist/ui/mount.d.ts.map +1 -1
  148. package/dist/ui/mount.js +1 -0
  149. package/dist/ui/mount.js.map +1 -1
  150. package/dist/ui/session.d.ts +0 -2
  151. package/dist/ui/session.d.ts.map +1 -1
  152. package/dist/ui/session.js +9 -6
  153. package/dist/ui/session.js.map +1 -1
  154. package/dist/ui/signals.d.ts +8 -3
  155. package/dist/ui/signals.d.ts.map +1 -1
  156. package/dist/ui/signals.js +22 -11
  157. package/dist/ui/signals.js.map +1 -1
  158. package/dist/ui/tsconfig.tsbuildinfo +1 -0
  159. package/dist/ui/worklets/playback-processor.js +3 -3
  160. package/package.json +39 -16
  161. package/templates/_shared/CLAUDE.md +50 -30
  162. package/templates/_shared/global.d.ts +1 -0
  163. package/templates/_shared/package.json +2 -1
  164. package/templates/dispatch-center/agent.ts +85 -397
  165. package/templates/solo-rpg/agent.ts +1240 -0
  166. package/templates/solo-rpg/client.tsx +698 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ws_handler.js","sourceRoot":"","sources":["../../sdk/ws_handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws_handler.js","sourceRoot":"","sources":["../../sdk/ws_handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ type ClassValue = string | number | boolean | undefined | null | ClassValue[];
2
+ /** Tiny clsx-style class name joiner. Falsy values are ignored. */
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ export {};
5
+ //# sourceMappingURL=_cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_cn.d.ts","sourceRoot":"","sources":["../../ui/_cn.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,CAAC;AAE9E,mEAAmE;AACnE,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAclD"}
package/dist/ui/_cn.js ADDED
@@ -0,0 +1,22 @@
1
+ // Copyright 2025 the AAI authors. MIT license.
2
+ /** Tiny clsx-style class name joiner. Falsy values are ignored. */
3
+ export function cn(...inputs) {
4
+ const classes = [];
5
+ for (const input of inputs) {
6
+ if (!input)
7
+ continue;
8
+ if (typeof input === "string") {
9
+ classes.push(input);
10
+ }
11
+ else if (typeof input === "number") {
12
+ classes.push(String(input));
13
+ }
14
+ else if (Array.isArray(input)) {
15
+ const inner = cn(...input);
16
+ if (inner)
17
+ classes.push(inner);
18
+ }
19
+ }
20
+ return classes.join(" ");
21
+ }
22
+ //# sourceMappingURL=_cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_cn.js","sourceRoot":"","sources":["../../ui/_cn.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAI/C,mEAAmE;AACnE,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import type * as preact from "preact";
2
- export declare function App(): preact.JSX.Element;
2
+ export declare function App({ className }: {
3
+ className?: string;
4
+ }): preact.JSX.Element;
3
5
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../ui/_components/app.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAatC,wBAAgB,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAQxC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../ui/_components/app.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAatC,wBAAgB,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAQ7E"}
@@ -5,8 +5,8 @@ import { StartScreen } from "./start_screen.js";
5
5
  function AnsiLogo() {
6
6
  return (_jsx("pre", { class: "font-aai-mono text-lg leading-[1.1] font-bold text-aai-primary m-0", children: "▄▀█ ▄▀█ █\n█▀█ █▀█ █" }));
7
7
  }
8
- export function App() {
8
+ export function App({ className }) {
9
9
  const { title } = useMountConfig();
10
- return (_jsx(StartScreen, { icon: title ? undefined : _jsx(AnsiLogo, {}), title: title, children: _jsx(ChatView, {}) }));
10
+ return (_jsx(StartScreen, { icon: title ? undefined : _jsx(AnsiLogo, {}), title: title, className: className, children: _jsx(ChatView, {}) }));
11
11
  }
12
12
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../ui/_components/app.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CACL,cAAK,KAAK,EAAC,oEAAoE,YAC5E,sBAAsB,GACnB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEnC,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAG,EAAE,KAAK,EAAE,KAAK,YAC/D,KAAC,QAAQ,KAAG,GACA,CACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../ui/_components/app.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AAEjD,SAAS,QAAQ;IACf,OAAO,CACL,cAAK,KAAK,EAAC,oEAAoE,YAC5E,sBAAsB,GACnB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAE,SAAS,EAA0B;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEnC,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,YACrF,KAAC,QAAQ,KAAG,GACA,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type * as preact from "preact";
2
+ type ButtonVariant = "default" | "secondary" | "ghost";
3
+ type ButtonSize = "default" | "lg";
4
+ export declare function Button({ variant, size, className, children, ...rest }: {
5
+ variant?: ButtonVariant;
6
+ size?: ButtonSize;
7
+ className?: string;
8
+ children?: preact.ComponentChildren;
9
+ } & Omit<preact.JSX.HTMLAttributes<HTMLButtonElement>, "className">): preact.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../ui/_components/button.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AACvD,KAAK,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;AAEnC,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAgB,EAChB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE;IACD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;CACrC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,sBA8BlE"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "preact/jsx-runtime";
2
+ // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
4
+ export function Button({ variant = "default", size = "default", className, children, ...rest }) {
5
+ return (_jsx("button", { type: "button", style: size === "lg"
6
+ ? {
7
+ display: "grid",
8
+ placeItems: "center",
9
+ appearance: "none",
10
+ margin: 0,
11
+ padding: "12px 32px",
12
+ lineHeight: 1,
13
+ }
14
+ : undefined, class: clsx(size !== "lg" &&
15
+ "flex items-center justify-center appearance-none m-0 h-8 px-3 py-1.5 w-fit leading-none", "rounded-aai text-sm font-medium cursor-pointer border outline-none", variant === "secondary" && "bg-aai-surface-hover text-aai-text-secondary border-aai-border", variant === "ghost" && "bg-transparent text-aai-text-secondary border-aai-border", variant === "default" && "bg-aai-primary text-white border-transparent", className), ...rest, children: children }));
16
+ }
17
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../ui/_components/button.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAMxB,MAAM,UAAU,MAAM,CAAC,EACrB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EAM0D;IACjE,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EACH,IAAI,KAAK,IAAI;YACX,CAAC,CAAC;gBACE,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,CAAC;aACd;YACH,CAAC,CAAC,SAAS,EAEf,KAAK,EAAE,IAAI,CACT,IAAI,KAAK,IAAI;YACX,yFAAyF,EAC3F,oEAAoE,EACpE,OAAO,KAAK,WAAW,IAAI,gEAAgE,EAC3F,OAAO,KAAK,OAAO,IAAI,0DAA0D,EACjF,OAAO,KAAK,SAAS,IAAI,8CAA8C,EACvE,SAAS,CACV,KACG,IAAI,YAEP,QAAQ,GACF,CACV,CAAC;AACJ,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import type * as preact from "preact";
2
- export declare function ChatView(): preact.JSX.Element;
2
+ export declare function ChatView({ className }: {
3
+ className?: string;
4
+ }): preact.JSX.Element;
3
5
  //# sourceMappingURL=chat_view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat_view.d.ts","sourceRoot":"","sources":["../../../ui/_components/chat_view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAQtC,wBAAgB,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAwB7C"}
1
+ {"version":3,"file":"chat_view.d.ts","sourceRoot":"","sources":["../../../ui/_components/chat_view.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAQtC,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CA6BlF"}
@@ -1,13 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
2
4
  import { useMountConfig } from "../mount_context.js";
3
5
  import { useSession } from "../signals.js";
4
6
  import { Controls } from "./controls.js";
5
7
  import { ErrorBanner } from "./error_banner.js";
6
8
  import { MessageList } from "./message_list.js";
7
9
  import { StateIndicator } from "./state_indicator.js";
8
- export function ChatView() {
10
+ export function ChatView({ className }) {
9
11
  const { session } = useSession();
10
12
  const { title } = useMountConfig();
11
- return (_jsxs("div", { class: "flex flex-col h-screen max-w-130 mx-auto bg-aai-bg text-aai-text font-aai text-sm", children: [_jsxs("div", { class: "flex items-center gap-3 px-4 py-3 border-b border-aai-border shrink-0", children: [title ? (_jsx("span", { class: "text-sm font-semibold text-aai-primary", children: title })) : (_jsx("pre", { class: "font-aai-mono text-[10px] leading-[1.1] font-bold text-aai-primary m-0", children: "▄▀█ ▄▀█ █\n█▀█ █▀█ █" })), _jsx("div", { class: "ml-auto", children: _jsx(StateIndicator, { state: session.state }) })] }), _jsx(ErrorBanner, { error: session.error }), _jsx(MessageList, {}), _jsx(Controls, {})] }));
13
+ return (_jsxs("div", { class: clsx("flex flex-col h-screen max-w-130 mx-auto bg-aai-bg text-aai-text font-aai text-sm", className), children: [_jsxs("div", { class: "flex items-center gap-3 px-4 py-3 border-b border-aai-border shrink-0", children: [title ? (_jsx("span", { class: "text-sm font-semibold text-aai-primary", children: title })) : (_jsx("pre", { class: "font-aai-mono text-[10px] leading-[1.1] font-bold text-aai-primary m-0", children: "▄▀█ ▄▀█ █\n█▀█ █▀█ █" })), _jsx("div", { class: "ml-auto", children: _jsx(StateIndicator, { state: session.state }) })] }), _jsx(ErrorBanner, { error: session.error }), _jsx(MessageList, {}), _jsx(Controls, {})] }));
12
14
  }
13
15
  //# sourceMappingURL=chat_view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat_view.js","sourceRoot":"","sources":["../../../ui/_components/chat_view.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAuB,CAAC;AAEvD,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEnC,OAAO,CACL,eAAK,KAAK,EAAC,mFAAmF,aAE5F,eAAK,KAAK,EAAC,uEAAuE,aAC/E,KAAK,CAAC,CAAC,CAAC,CACP,eAAM,KAAK,EAAC,wCAAwC,YAAE,KAAK,GAAQ,CACpE,CAAC,CAAC,CAAC,CACF,cAAK,KAAK,EAAC,wEAAwE,YAChF,sBAAsB,GACnB,CACP,EACD,cAAK,KAAK,EAAC,SAAS,YAClB,KAAC,cAAc,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,GACpC,IACF,EACN,KAAC,WAAW,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,EACrC,KAAC,WAAW,KAAG,EACf,KAAC,QAAQ,KAAG,IACR,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"chat_view.js","sourceRoot":"","sources":["../../../ui/_components/chat_view.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAuB,CAAC;AAEvD,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAA0B;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEnC,OAAO,CACL,eACE,KAAK,EAAE,IAAI,CACT,mFAAmF,EACnF,SAAS,CACV,aAGD,eAAK,KAAK,EAAC,uEAAuE,aAC/E,KAAK,CAAC,CAAC,CAAC,CACP,eAAM,KAAK,EAAC,wCAAwC,YAAE,KAAK,GAAQ,CACpE,CAAC,CAAC,CAAC,CACF,cAAK,KAAK,EAAC,wEAAwE,YAChF,sBAAsB,GACnB,CACP,EACD,cAAK,KAAK,EAAC,SAAS,YAClB,KAAC,cAAc,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,GACpC,IACF,EACN,KAAC,WAAW,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,EACrC,KAAC,WAAW,KAAG,EACf,KAAC,QAAQ,KAAG,IACR,CACP,CAAC;AACJ,CAAC"}
@@ -1,2 +1,4 @@
1
- export declare function Controls(): import("preact").JSX.Element;
1
+ export declare function Controls({ className }: {
2
+ className?: string;
3
+ }): import("preact").JSX.Element;
2
4
  //# sourceMappingURL=controls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../ui/_components/controls.tsx"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,iCA4BvB"}
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../ui/_components/controls.tsx"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,gCAa7D"}
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
2
  // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
3
4
  import { useSession } from "../signals.js";
4
- export function Controls() {
5
+ import { Button } from "./button.js";
6
+ export function Controls({ className }) {
5
7
  const { running, toggle, reset } = useSession();
6
- const btnBase = "h-8 px-3 py-1.5 rounded-aai text-sm font-medium leading-[130%] cursor-pointer border border-transparent outline-none";
7
- return (_jsxs("div", { class: "flex gap-2 px-4 py-3 border-t border-aai-border shrink-0", children: [_jsx("button", { type: "button", class: `${btnBase} ${running.value
8
- ? "bg-aai-surface-hover text-aai-text-secondary border-aai-border"
9
- : "bg-aai-surface-hover text-aai-text-secondary border-aai-border"}`, onClick: toggle, children: running.value ? "Stop" : "Resume" }), _jsx("button", { type: "button", class: `${btnBase} bg-transparent text-aai-text-secondary border-aai-border`, onClick: reset, children: "New Conversation" })] }));
8
+ return (_jsxs("div", { class: clsx("flex gap-2 px-4 py-3 border-t border-aai-border shrink-0", className), children: [_jsx(Button, { variant: "secondary", onClick: toggle, children: running.value ? "Stop" : "Resume" }), _jsx(Button, { variant: "ghost", onClick: reset, children: "New Conversation" })] }));
10
9
  }
11
10
  //# sourceMappingURL=controls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../ui/_components/controls.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAEhD,MAAM,OAAO,GACX,sHAAsH,CAAC;IAEzH,OAAO,CACL,eAAK,KAAK,EAAC,0DAA0D,aACnE,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,GAAG,OAAO,IACf,OAAO,CAAC,KAAK;oBACX,CAAC,CAAC,gEAAgE;oBAClE,CAAC,CAAC,gEACN,EAAE,EACF,OAAO,EAAE,MAAM,YAEd,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAC3B,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,GAAG,OAAO,2DAA2D,EAC5E,OAAO,EAAE,KAAK,iCAGP,IACL,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../ui/_components/controls.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AAEtC,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAA0B;IAC5D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAEhD,OAAO,CACL,eAAK,KAAK,EAAE,IAAI,CAAC,0DAA0D,EAAE,SAAS,CAAC,aACrF,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,YACxC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAC3B,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,KAAK,iCAE7B,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { Signal } from "@preact/signals";
2
2
  import type * as preact from "preact";
3
3
  import type { SessionError } from "../types.ts";
4
- export declare function ErrorBanner({ error, }: {
4
+ export declare function ErrorBanner({ error, className, }: {
5
5
  error: Signal<SessionError | null>;
6
+ className?: string;
6
7
  }): preact.JSX.Element | null;
7
8
  //# sourceMappingURL=error_banner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error_banner.d.ts","sourceRoot":"","sources":["../../../ui/_components/error_banner.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACpC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAO5B"}
1
+ {"version":3,"file":"error_banner.d.ts","sourceRoot":"","sources":["../../../ui/_components/error_banner.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAY5B"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx } from "preact/jsx-runtime";
2
- export function ErrorBanner({ error, }) {
2
+ import clsx from "clsx";
3
+ export function ErrorBanner({ error, className, }) {
3
4
  if (!error.value)
4
5
  return null;
5
- return (_jsx("div", { class: "mx-4 mt-3 px-3 py-2 rounded-aai border border-aai-error/40 bg-aai-error/8 text-[13px] leading-[130%] text-aai-error", children: error.value.message }));
6
+ return (_jsx("div", { class: clsx("mx-4 mt-3 px-3 py-2 rounded-aai border border-aai-error/40 bg-aai-error/8 text-[13px] leading-[130%] text-aai-error", className), children: error.value.message }));
6
7
  }
7
8
  //# sourceMappingURL=error_banner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error_banner.js","sourceRoot":"","sources":["../../../ui/_components/error_banner.tsx"],"names":[],"mappings":";AAMA,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,GAGN;IACC,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,CACL,cAAK,KAAK,EAAC,qHAAqH,YAC7H,KAAK,CAAC,KAAK,CAAC,OAAO,GAChB,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"error_banner.js","sourceRoot":"","sources":["../../../ui/_components/error_banner.tsx"],"names":[],"mappings":";AAGA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,GAIV;IACC,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,CACL,cACE,KAAK,EAAE,IAAI,CACT,qHAAqH,EACrH,SAAS,CACV,YAEA,KAAK,CAAC,KAAK,CAAC,OAAO,GAChB,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type * as preact from "preact";
2
2
  import type { Message } from "../types.ts";
3
- export declare function MessageBubble({ message }: {
3
+ export declare function MessageBubble({ message, className, }: {
4
4
  message: Message;
5
+ className?: string;
5
6
  }): preact.JSX.Element;
6
7
  //# sourceMappingURL=message_bubble.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_bubble.d.ts","sourceRoot":"","sources":["../../../ui/_components/message_bubble.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAgBnF"}
1
+ {"version":3,"file":"message_bubble.d.ts","sourceRoot":"","sources":["../../../ui/_components/message_bubble.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,GACV,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAqBrB"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "preact/jsx-runtime";
2
- export function MessageBubble({ message }) {
2
+ // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
4
+ export function MessageBubble({ message, className, }) {
3
5
  const isUser = message.role === "user";
4
6
  if (isUser) {
5
- return (_jsx("div", { class: "flex flex-col w-full items-end", children: _jsx("div", { class: "max-w-[min(82%,64ch)] bg-aai-surface-faint border border-aai-border px-3 py-2 rounded-aai whitespace-pre-wrap wrap-break-word text-sm font-normal leading-[150%] text-aai-text", children: message.text }) }));
7
+ return (_jsx("div", { class: clsx("flex flex-col w-full items-end", className), children: _jsx("div", { class: "max-w-[min(82%,64ch)] bg-aai-surface-faint border border-aai-border px-3 py-2 rounded-aai whitespace-pre-wrap wrap-break-word text-sm font-normal leading-[150%] text-aai-text", children: message.text }) }));
6
8
  }
7
- return (_jsx("div", { class: "whitespace-pre-wrap wrap-break-word text-sm font-normal leading-[150%] text-aai-text", children: message.text }));
9
+ return (_jsx("div", { class: clsx("whitespace-pre-wrap wrap-break-word text-sm font-normal leading-[150%] text-aai-text", className), children: message.text }));
8
10
  }
9
11
  //# sourceMappingURL=message_bubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_bubble.js","sourceRoot":"","sources":["../../../ui/_components/message_bubble.tsx"],"names":[],"mappings":";AAIA,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAwB;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CACL,cAAK,KAAK,EAAC,gCAAgC,YACzC,cAAK,KAAK,EAAC,gLAAgL,YACxL,OAAO,CAAC,IAAI,GACT,GACF,CACP,CAAC;IACJ,CAAC;IACD,OAAO,CACL,cAAK,KAAK,EAAC,sFAAsF,YAC9F,OAAO,CAAC,IAAI,GACT,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"message_bubble.js","sourceRoot":"","sources":["../../../ui/_components/message_bubble.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,GAIV;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CACL,cAAK,KAAK,EAAE,IAAI,CAAC,gCAAgC,EAAE,SAAS,CAAC,YAC3D,cAAK,KAAK,EAAC,gLAAgL,YACxL,OAAO,CAAC,IAAI,GACT,GACF,CACP,CAAC;IACJ,CAAC;IACD,OAAO,CACL,cACE,KAAK,EAAE,IAAI,CACT,sFAAsF,EACtF,SAAS,CACV,YAEA,OAAO,CAAC,IAAI,GACT,CACP,CAAC;AACJ,CAAC"}
@@ -1,2 +1,4 @@
1
- export declare function MessageList(): import("preact").JSX.Element;
1
+ export declare function MessageList({ className }: {
2
+ className?: string;
3
+ }): import("preact").JSX.Element;
2
4
  //# sourceMappingURL=message_list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_list.d.ts","sourceRoot":"","sources":["../../../ui/_components/message_list.tsx"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,iCAyD1B"}
1
+ {"version":3,"file":"message_list.d.ts","sourceRoot":"","sources":["../../../ui/_components/message_list.tsx"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,gCAmDhE"}
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
2
  // Copyright 2025 the AAI authors. MIT license.
3
- import { computed, useSignalEffect } from "@preact/signals";
4
- import { useRef } from "preact/hooks";
5
- import { useSession } from "../signals.js";
3
+ import { computed } from "@preact/signals";
4
+ import clsx from "clsx";
5
+ import { useAutoScroll, useSession } from "../signals.js";
6
6
  import { MessageBubble } from "./message_bubble.js";
7
7
  import { ThinkingIndicator } from "./thinking_indicator.js";
8
8
  import { ToolCallBlock } from "./tool_call_block.js";
9
9
  import { Transcript } from "./transcript.js";
10
- export function MessageList() {
10
+ export function MessageList({ className }) {
11
11
  const { session } = useSession();
12
- const scrollRef = useRef(null);
12
+ const scrollRef = useAutoScroll();
13
13
  const showThinking = computed(() => {
14
14
  if (session.state.value !== "thinking")
15
15
  return false;
@@ -17,15 +17,7 @@ export function MessageList() {
17
17
  if (last?.status === "pending")
18
18
  return false;
19
19
  const lastMsg = session.messages.value.at(-1);
20
- return !lastMsg || lastMsg.role === "user" || !!last;
21
- });
22
- useSignalEffect(() => {
23
- session.messages.value;
24
- session.toolCalls.value;
25
- session.userUtterance.value;
26
- session.agentUtterance.value;
27
- session.state.value;
28
- scrollRef.current?.scrollIntoView({ behavior: "smooth" });
20
+ return !lastMsg || lastMsg.role === "user" || Boolean(last);
29
21
  });
30
22
  const messages = session.messages.value;
31
23
  const toolCalls = session.toolCalls.value;
@@ -48,6 +40,6 @@ export function MessageList() {
48
40
  tci++;
49
41
  tc = toolCalls[tci];
50
42
  }
51
- return (_jsx("div", { role: "log", class: "flex-1 overflow-y-auto [scrollbar-width:none] bg-aai-surface", children: _jsxs("div", { class: "flex flex-col gap-4.5 p-4", children: [items, session.agentUtterance.value && (_jsx(MessageBubble, { message: { role: "assistant", text: session.agentUtterance.value } })), _jsx(Transcript, { userUtterance: session.userUtterance }), showThinking.value && _jsx(ThinkingIndicator, {}), _jsx("div", { ref: scrollRef })] }) }));
43
+ return (_jsx("div", { role: "log", class: clsx("flex-1 overflow-y-auto [scrollbar-width:none] bg-aai-surface", className), children: _jsxs("div", { class: "flex flex-col gap-4.5 p-4", children: [items, session.agentUtterance.value && (_jsx(MessageBubble, { message: { role: "assistant", text: session.agentUtterance.value } })), _jsx(Transcript, { userUtterance: session.userUtterance }), showThinking.value && _jsx(ThinkingIndicator, {}), _jsx("div", { ref: scrollRef })] }) }));
52
44
  }
53
45
  //# sourceMappingURL=message_list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_list.js","sourceRoot":"","sources":["../../../ui/_components/message_list.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message_list.js","sourceRoot":"","sources":["../../../ui/_components/message_list.tsx"],"names":[],"mappings":"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"}
@@ -10,10 +10,11 @@ import type { ComponentChildren } from "preact";
10
10
  * </SidebarLayout>
11
11
  * ```
12
12
  */
13
- export declare function SidebarLayout({ sidebar, children, width, side, }: {
13
+ export declare function SidebarLayout({ sidebar, children, width, side, className, }: {
14
14
  sidebar: ComponentChildren;
15
15
  children: ComponentChildren;
16
16
  width?: string | undefined;
17
17
  side?: "left" | "right" | undefined;
18
+ className?: string;
18
19
  }): import("preact").JSX.Element;
19
20
  //# sourceMappingURL=sidebar_layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar_layout.d.ts","sourceRoot":"","sources":["../../../ui/_components/sidebar_layout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAe,EACf,IAAa,GACd,EAAE;IACD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACrC,gCAqBA"}
1
+ {"version":3,"file":"sidebar_layout.d.ts","sourceRoot":"","sources":["../../../ui/_components/sidebar_layout.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAe,EACf,IAAa,EACb,SAAS,GACV,EAAE;IACD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,gCAoBA"}
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
2
4
  /**
3
5
  * A two-column layout with a fixed-width sidebar and a flexible main area.
4
6
  * Commonly used to pair a custom sidebar (cart, dashboard) with `<ChatView />`.
@@ -10,12 +12,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
10
12
  * </SidebarLayout>
11
13
  * ```
12
14
  */
13
- export function SidebarLayout({ sidebar, children, width = "20rem", side = "left", }) {
14
- const sidebarEl = (_jsx("div", { class: "flex-shrink-0 flex flex-col overflow-y-auto", style: {
15
- width,
16
- borderRight: side === "left" ? "1px solid var(--color-aai-border)" : undefined,
17
- borderLeft: side === "right" ? "1px solid var(--color-aai-border)" : undefined,
18
- }, children: sidebar }));
19
- return (_jsxs("div", { class: "flex h-screen", style: { background: "var(--color-aai-bg)" }, children: [side === "left" && sidebarEl, _jsx("div", { class: "flex-1 min-w-0", children: children }), side === "right" && sidebarEl] }));
15
+ export function SidebarLayout({ sidebar, children, width = "20rem", side = "left", className, }) {
16
+ const sidebarEl = (_jsx("div", { class: clsx("flex-shrink-0 flex flex-col overflow-y-auto", side === "left" ? "border-r border-aai-border" : "border-l border-aai-border"), style: { width }, children: sidebar }));
17
+ return (_jsxs("div", { class: clsx("flex h-screen bg-aai-bg", className), children: [side === "left" && sidebarEl, _jsx("div", { class: "flex-1 min-w-0", children: children }), side === "right" && sidebarEl] }));
20
18
  }
21
19
  //# sourceMappingURL=sidebar_layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar_layout.js","sourceRoot":"","sources":["../../../ui/_components/sidebar_layout.tsx"],"names":[],"mappings":";AAIA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAK,GAAG,OAAO,EACf,IAAI,GAAG,MAAM,GAMd;IACC,MAAM,SAAS,GAAG,CAChB,cACE,KAAK,EAAC,6CAA6C,EACnD,KAAK,EAAE;YACL,KAAK;YACL,WAAW,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS;YAC9E,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS;SAC/E,YAEA,OAAO,GACJ,CACP,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,aACpE,IAAI,KAAK,MAAM,IAAI,SAAS,EAC7B,cAAK,KAAK,EAAC,gBAAgB,YAAE,QAAQ,GAAO,EAC3C,IAAI,KAAK,OAAO,IAAI,SAAS,IAC1B,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sidebar_layout.js","sourceRoot":"","sources":["../../../ui/_components/sidebar_layout.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAK,GAAG,OAAO,EACf,IAAI,GAAG,MAAM,EACb,SAAS,GAOV;IACC,MAAM,SAAS,GAAG,CAChB,cACE,KAAK,EAAE,IAAI,CACT,6CAA6C,EAC7C,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,4BAA4B,CAC9E,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,YAEf,OAAO,GACJ,CACP,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,aACnD,IAAI,KAAK,MAAM,IAAI,SAAS,EAC7B,cAAK,KAAK,EAAC,gBAAgB,YAAE,QAAQ,GAAO,EAC3C,IAAI,KAAK,OAAO,IAAI,SAAS,IAC1B,CACP,CAAC;AACJ,CAAC"}
@@ -14,11 +14,12 @@ import type { ComponentChildren } from "preact";
14
14
  * }
15
15
  * ```
16
16
  */
17
- export declare function StartScreen({ children, icon, title, subtitle, buttonText, }: {
17
+ export declare function StartScreen({ children, icon, title, subtitle, buttonText, className, }: {
18
18
  children: ComponentChildren;
19
19
  icon?: ComponentChildren | undefined;
20
20
  title?: string | undefined;
21
21
  subtitle?: string | undefined;
22
22
  buttonText?: string | undefined;
23
+ className?: string | undefined;
23
24
  }): import("preact").JSX.Element;
24
25
  //# sourceMappingURL=start_screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start_screen.d.ts","sourceRoot":"","sources":["../../../ui/_components/start_screen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAoB,GACrB,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,gCAuBA"}
1
+ {"version":3,"file":"start_screen.d.ts","sourceRoot":"","sources":["../../../ui/_components/start_screen.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAIhD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAoB,EACpB,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,gCAmBA"}
@@ -1,5 +1,8 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
2
4
  import { useSession } from "../signals.js";
5
+ import { Button } from "./button.js";
3
6
  /**
4
7
  * A centered start screen with icon, title, subtitle, and a start button.
5
8
  * Renders `children` (the main app) once the session has started.
@@ -15,11 +18,11 @@ import { useSession } from "../signals.js";
15
18
  * }
16
19
  * ```
17
20
  */
18
- export function StartScreen({ children, icon, title, subtitle, buttonText = "Start", }) {
21
+ export function StartScreen({ children, icon, title, subtitle, buttonText = "Start", className, }) {
19
22
  const { started, start } = useSession();
20
23
  if (started.value) {
21
24
  return _jsx(_Fragment, { children: children });
22
25
  }
23
- return (_jsx("div", { class: "flex items-center justify-center h-screen bg-aai-bg font-aai", children: _jsxs("div", { class: "flex flex-col items-center gap-4 bg-aai-surface border border-aai-border rounded-lg px-12 py-10 max-w-sm text-center", children: [icon, title && _jsx("h1", { class: "font-semibold text-aai-primary m-0", children: title }), subtitle && _jsx("p", { class: "text-sm text-aai-text-muted m-0", children: subtitle }), _jsx("button", { type: "button", class: "mt-2 px-8 py-3 rounded-aai text-sm font-medium cursor-pointer bg-aai-primary text-white border-none", onClick: start, children: buttonText })] }) }));
26
+ return (_jsx("div", { class: clsx("flex items-center justify-center h-screen bg-aai-bg font-aai", className), children: _jsxs("div", { class: "flex flex-col items-center gap-4 bg-aai-surface border border-aai-border rounded-lg px-12 py-10 max-w-sm text-center", children: [icon, title && _jsx("h1", { class: "font-semibold text-aai-primary m-0", children: title }), subtitle && _jsx("p", { class: "text-sm text-aai-text-muted m-0", children: subtitle }), _jsx(Button, { size: "lg", className: "mt-2 w-full", onClick: start, children: buttonText })] }) }));
24
27
  }
25
28
  //# sourceMappingURL=start_screen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start_screen.js","sourceRoot":"","sources":["../../../ui/_components/start_screen.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAU,GAAG,OAAO,GAOrB;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAExC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,OAAO,CACL,cAAK,KAAK,EAAC,8DAA8D,YACvE,eAAK,KAAK,EAAC,sHAAsH,aAC9H,IAAI,EACJ,KAAK,IAAI,aAAI,KAAK,EAAC,oCAAoC,YAAE,KAAK,GAAM,EACpE,QAAQ,IAAI,YAAG,KAAK,EAAC,iCAAiC,YAAE,QAAQ,GAAK,EACtE,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,qGAAqG,EAC3G,OAAO,EAAE,KAAK,YAEb,UAAU,GACJ,IACL,GACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"start_screen.js","sourceRoot":"","sources":["../../../ui/_components/start_screen.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AAEtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAU,GAAG,OAAO,EACpB,SAAS,GAQV;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAExC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,OAAO,CACL,cAAK,KAAK,EAAE,IAAI,CAAC,8DAA8D,EAAE,SAAS,CAAC,YACzF,eAAK,KAAK,EAAC,sHAAsH,aAC9H,IAAI,EACJ,KAAK,IAAI,aAAI,KAAK,EAAC,oCAAoC,YAAE,KAAK,GAAM,EACpE,QAAQ,IAAI,YAAG,KAAK,EAAC,iCAAiC,YAAE,QAAQ,GAAK,EACtE,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,aAAa,EAAC,OAAO,EAAE,KAAK,YACrD,UAAU,GACJ,IACL,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { Signal } from "@preact/signals";
2
2
  import type * as preact from "preact";
3
3
  import type { AgentState } from "../types.ts";
4
- export declare function StateIndicator({ state }: {
4
+ export declare function StateIndicator({ state, className, }: {
5
5
  state: Signal<AgentState>;
6
+ className?: string;
6
7
  }): preact.JSX.Element;
7
8
  //# sourceMappingURL=state_indicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state_indicator.d.ts","sourceRoot":"","sources":["../../../ui/_components/state_indicator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAU3F"}
1
+ {"version":3,"file":"state_indicator.d.ts","sourceRoot":"","sources":["../../../ui/_components/state_indicator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAerB"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
- export function StateIndicator({ state }) {
3
- return (_jsxs("div", { class: "inline-flex items-center justify-center gap-1.5 text-[13px] font-medium leading-[130%] text-aai-text-muted capitalize", children: [_jsx("div", { class: "w-2 h-2 rounded-full", style: { background: `var(--color-aai-state-${state.value})` } }), state] }));
2
+ import clsx from "clsx";
3
+ export function StateIndicator({ state, className, }) {
4
+ return (_jsxs("div", { class: clsx("inline-flex items-center justify-center gap-1.5 text-[13px] font-medium leading-[130%] text-aai-text-muted capitalize", className), children: [_jsx("div", { "data-state": state.value, class: "w-2 h-2 rounded-full data-[state=disconnected]:bg-aai-state-disconnected data-[state=connecting]:bg-aai-state-connecting data-[state=ready]:bg-aai-state-ready data-[state=listening]:bg-aai-state-listening data-[state=thinking]:bg-aai-state-thinking data-[state=speaking]:bg-aai-state-speaking data-[state=error]:bg-aai-state-error" }), state] }));
4
5
  }
5
6
  //# sourceMappingURL=state_indicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state_indicator.js","sourceRoot":"","sources":["../../../ui/_components/state_indicator.tsx"],"names":[],"mappings":";AAMA,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAiC;IACrE,OAAO,CACL,eAAK,KAAK,EAAC,uHAAuH,aAChI,cACE,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAE,EAAE,UAAU,EAAE,yBAAyB,KAAK,CAAC,KAAK,GAAG,EAAE,GAC9D,EACD,KAAK,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state_indicator.js","sourceRoot":"","sources":["../../../ui/_components/state_indicator.tsx"],"names":[],"mappings":";AAGA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,SAAS,GAIV;IACC,OAAO,CACL,eACE,KAAK,EAAE,IAAI,CACT,uHAAuH,EACvH,SAAS,CACV,aAED,4BACc,KAAK,CAAC,KAAK,EACvB,KAAK,EAAC,4UAA4U,GAClV,EACD,KAAK,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import type * as preact from "preact";
2
- export declare function ThinkingIndicator(): preact.JSX.Element;
2
+ export declare function ThinkingIndicator({ className }: {
3
+ className?: string;
4
+ }): preact.JSX.Element;
3
5
  //# sourceMappingURL=thinking_indicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking_indicator.d.ts","sourceRoot":"","sources":["../../../ui/_components/thinking_indicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAetD"}
1
+ {"version":3,"file":"thinking_indicator.d.ts","sourceRoot":"","sources":["../../../ui/_components/thinking_indicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAoB3F"}
@@ -1,6 +1,8 @@
1
1
  import { jsx as _jsx } from "preact/jsx-runtime";
2
- export function ThinkingIndicator() {
3
- return (_jsx("div", { class: "flex items-center gap-2 text-aai-text-dim text-sm font-medium min-h-5", children: [0, 0.16, 0.32].map((delay) => (_jsx("div", { class: "w-1.5 h-1.5 rounded-full bg-aai-text-dim", style: {
2
+ // Copyright 2025 the AAI authors. MIT license.
3
+ import clsx from "clsx";
4
+ export function ThinkingIndicator({ className }) {
5
+ return (_jsx("div", { class: clsx("flex items-center gap-2 text-aai-text-dim text-sm font-medium min-h-5", className), children: [0, 0.16, 0.32].map((delay) => (_jsx("div", { class: "w-1.5 h-1.5 rounded-full bg-aai-text-dim", style: {
4
6
  animation: "aai-bounce 1.4s infinite ease-in-out both",
5
7
  animationDelay: `${delay}s`,
6
8
  } }, delay))) }));
@@ -1 +1 @@
1
- {"version":3,"file":"thinking_indicator.js","sourceRoot":"","sources":["../../../ui/_components/thinking_indicator.tsx"],"names":[],"mappings":";AAGA,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CACL,cAAK,KAAK,EAAC,uEAAuE,YAC/E,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC9B,cAEE,KAAK,EAAC,0CAA0C,EAChD,KAAK,EAAE;gBACL,SAAS,EAAE,2CAA2C;gBACtD,cAAc,EAAE,GAAG,KAAK,GAAG;aAC5B,IALI,KAAK,CAMV,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"thinking_indicator.js","sourceRoot":"","sources":["../../../ui/_components/thinking_indicator.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,UAAU,iBAAiB,CAAC,EAAE,SAAS,EAA0B;IACrE,OAAO,CACL,cACE,KAAK,EAAE,IAAI,CACT,uEAAuE,EACvE,SAAS,CACV,YAEA,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC9B,cAEE,KAAK,EAAC,0CAA0C,EAChD,KAAK,EAAE;gBACL,SAAS,EAAE,2CAA2C;gBACtD,cAAc,EAAE,GAAG,KAAK,GAAG;aAC5B,IALI,KAAK,CAMV,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type * as preact from "preact";
2
2
  import type { ToolCallInfo } from "../types.ts";
3
- export declare function ToolCallBlock({ toolCall }: {
3
+ export declare function ToolCallBlock({ toolCall, className, }: {
4
4
  toolCall: ToolCallInfo;
5
+ className?: string;
5
6
  }): preact.JSX.Element;
6
7
  //# sourceMappingURL=tool_call_block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool_call_block.d.ts","sourceRoot":"","sources":["../../../ui/_components/tool_call_block.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmEhD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,YAAY,CAAA;CAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAuC1F"}
1
+ {"version":3,"file":"tool_call_block.d.ts","sourceRoot":"","sources":["../../../ui/_components/tool_call_block.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuDhD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAgDrB"}