@sero-ai/ui 0.4.1 → 0.4.2

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 (279) hide show
  1. package/.turbo/turbo-build.log +628 -615
  2. package/.turbo/turbo-test.log +18 -0
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/dist/components/ai-elements/agent.cjs +6 -6
  5. package/dist/components/ai-elements/agent.js +6 -6
  6. package/dist/components/ai-elements/artifact.cjs +2 -2
  7. package/dist/components/ai-elements/artifact.js +2 -2
  8. package/dist/components/ai-elements/attachments.cjs +2 -2
  9. package/dist/components/ai-elements/attachments.js +2 -2
  10. package/dist/components/ai-elements/chain-of-thought.cjs +2 -2
  11. package/dist/components/ai-elements/chain-of-thought.js +2 -2
  12. package/dist/components/ai-elements/code-block.cjs +7 -5
  13. package/dist/components/ai-elements/code-block.d.cts +2 -1
  14. package/dist/components/ai-elements/code-block.d.ts +2 -1
  15. package/dist/components/ai-elements/code-block.js +7 -5
  16. package/dist/components/ai-elements/commit.cjs +2 -2
  17. package/dist/components/ai-elements/commit.js +2 -2
  18. package/dist/components/ai-elements/confirmation.cjs +1 -1
  19. package/dist/components/ai-elements/confirmation.js +1 -1
  20. package/dist/components/ai-elements/conversation.cjs +2 -2
  21. package/dist/components/ai-elements/conversation.js +2 -2
  22. package/dist/components/ai-elements/environment-variables.cjs +3 -3
  23. package/dist/components/ai-elements/environment-variables.js +3 -3
  24. package/dist/components/ai-elements/file-tree.cjs +1 -1
  25. package/dist/components/ai-elements/file-tree.js +1 -1
  26. package/dist/components/ai-elements/inline-citation.cjs +3 -3
  27. package/dist/components/ai-elements/inline-citation.js +3 -3
  28. package/dist/components/ai-elements/jsx-preview.cjs +1 -1
  29. package/dist/components/ai-elements/jsx-preview.js +1 -1
  30. package/dist/components/ai-elements/message.cjs +1 -1
  31. package/dist/components/ai-elements/message.js +1 -1
  32. package/dist/components/ai-elements/package-info.cjs +4 -4
  33. package/dist/components/ai-elements/package-info.js +4 -4
  34. package/dist/components/ai-elements/prompt-input-context.cjs +2 -3
  35. package/dist/components/ai-elements/prompt-input-context.js +2 -3
  36. package/dist/components/ai-elements/queue.cjs +2 -2
  37. package/dist/components/ai-elements/queue.js +2 -2
  38. package/dist/components/ai-elements/reasoning.cjs +2 -2
  39. package/dist/components/ai-elements/reasoning.js +2 -2
  40. package/dist/components/ai-elements/sandbox.cjs +3 -3
  41. package/dist/components/ai-elements/sandbox.js +3 -3
  42. package/dist/components/ai-elements/schema-display.cjs +12 -12
  43. package/dist/components/ai-elements/schema-display.js +12 -12
  44. package/dist/components/ai-elements/speech-input.cjs +18 -2
  45. package/dist/components/ai-elements/speech-input.js +16 -0
  46. package/dist/components/ai-elements/stack-trace.cjs +1 -1
  47. package/dist/components/ai-elements/stack-trace.js +1 -1
  48. package/dist/components/ai-elements/task.cjs +3 -3
  49. package/dist/components/ai-elements/task.js +3 -3
  50. package/dist/components/ai-elements/terminal.cjs +2 -2
  51. package/dist/components/ai-elements/terminal.js +2 -2
  52. package/dist/components/ai-elements/test-results.cjs +4 -4
  53. package/dist/components/ai-elements/test-results.js +4 -4
  54. package/dist/components/ai-elements/tool.cjs +4 -4
  55. package/dist/components/ai-elements/tool.js +4 -4
  56. package/dist/components/ai-elements/transcription.cjs +1 -1
  57. package/dist/components/ai-elements/transcription.js +1 -1
  58. package/dist/components/ai-elements/web-preview.cjs +2 -2
  59. package/dist/components/ai-elements/web-preview.js +2 -2
  60. package/dist/components/context-editor/CapabilitySection.cjs +2 -2
  61. package/dist/components/context-editor/CapabilitySection.js +2 -2
  62. package/dist/components/context-editor/ContextEditor.cjs +2 -2
  63. package/dist/components/context-editor/ContextEditor.js +2 -2
  64. package/dist/components/context-editor/PresetBar.cjs +3 -3
  65. package/dist/components/context-editor/PresetBar.js +3 -3
  66. package/dist/components/context-editor/SystemPromptSection.cjs +4 -4
  67. package/dist/components/context-editor/SystemPromptSection.js +4 -4
  68. package/dist/components/context-editor/parts.cjs +6 -6
  69. package/dist/components/context-editor/parts.js +6 -6
  70. package/dist/components/dashboard/activity-list.cjs +2 -2
  71. package/dist/components/dashboard/activity-list.js +2 -2
  72. package/dist/components/dashboard/empty-state.cjs +1 -1
  73. package/dist/components/dashboard/empty-state.js +1 -1
  74. package/dist/components/dashboard/item-list.cjs +2 -2
  75. package/dist/components/dashboard/item-list.js +2 -2
  76. package/dist/components/dashboard/layout.cjs +1 -1
  77. package/dist/components/dashboard/layout.js +1 -1
  78. package/dist/components/dashboard/metric.cjs +1 -1
  79. package/dist/components/dashboard/metric.js +1 -1
  80. package/dist/components/dashboard/stale-indicator.cjs +1 -1
  81. package/dist/components/dashboard/stale-indicator.js +1 -1
  82. package/dist/components/dashboard/typography.cjs +4 -4
  83. package/dist/components/dashboard/typography.d.cts +1 -1
  84. package/dist/components/dashboard/typography.d.ts +1 -1
  85. package/dist/components/dashboard/typography.js +4 -4
  86. package/dist/components/model-selection/available-model-picker.cjs +6 -6
  87. package/dist/components/model-selection/available-model-picker.js +6 -6
  88. package/dist/components/model-selection/thinking-level-picker.cjs +1 -1
  89. package/dist/components/model-selection/thinking-level-picker.js +1 -1
  90. package/dist/components/model-selection/thinking-picker.cjs +70 -0
  91. package/dist/components/model-selection/thinking-picker.d.cts +12 -0
  92. package/dist/components/model-selection/thinking-picker.d.ts +12 -0
  93. package/dist/components/model-selection/thinking-picker.js +70 -0
  94. package/dist/components/ui/accordion.cjs +2 -2
  95. package/dist/components/ui/accordion.js +2 -2
  96. package/dist/components/ui/alert-dialog.cjs +4 -2
  97. package/dist/components/ui/alert-dialog.js +4 -2
  98. package/dist/components/ui/alert.cjs +2 -2
  99. package/dist/components/ui/alert.js +2 -2
  100. package/dist/components/ui/avatar.cjs +2 -2
  101. package/dist/components/ui/avatar.js +2 -2
  102. package/dist/components/ui/breadcrumb.cjs +1 -1
  103. package/dist/components/ui/breadcrumb.js +1 -1
  104. package/dist/components/ui/button-group.cjs +1 -1
  105. package/dist/components/ui/button-group.js +1 -1
  106. package/dist/components/ui/button.cjs +1 -1
  107. package/dist/components/ui/button.js +1 -1
  108. package/dist/components/ui/calendar.cjs +2 -2
  109. package/dist/components/ui/calendar.js +2 -2
  110. package/dist/components/ui/card.cjs +1 -1
  111. package/dist/components/ui/card.js +1 -1
  112. package/dist/components/ui/carousel.cjs +3 -2
  113. package/dist/components/ui/carousel.js +2 -1
  114. package/dist/components/ui/chart.cjs +36 -27
  115. package/dist/components/ui/chart.d.cts +21 -17
  116. package/dist/components/ui/chart.d.ts +21 -17
  117. package/dist/components/ui/chart.js +30 -21
  118. package/dist/components/ui/combobox.cjs +7 -5
  119. package/dist/components/ui/combobox.js +7 -5
  120. package/dist/components/ui/command.cjs +3 -3
  121. package/dist/components/ui/command.js +3 -3
  122. package/dist/components/ui/context-menu.cjs +10 -7
  123. package/dist/components/ui/context-menu.js +10 -7
  124. package/dist/components/ui/dialog.cjs +4 -2
  125. package/dist/components/ui/dialog.js +4 -2
  126. package/dist/components/ui/drawer.cjs +4 -2
  127. package/dist/components/ui/drawer.js +4 -2
  128. package/dist/components/ui/dropdown-menu.cjs +10 -7
  129. package/dist/components/ui/dropdown-menu.js +10 -7
  130. package/dist/components/ui/empty.cjs +2 -2
  131. package/dist/components/ui/empty.js +2 -2
  132. package/dist/components/ui/field.cjs +5 -5
  133. package/dist/components/ui/field.js +5 -5
  134. package/dist/components/ui/form.cjs +2 -2
  135. package/dist/components/ui/form.js +2 -2
  136. package/dist/components/ui/hover-card.cjs +3 -1
  137. package/dist/components/ui/hover-card.js +3 -1
  138. package/dist/components/ui/input-group.cjs +3 -3
  139. package/dist/components/ui/input-group.js +3 -3
  140. package/dist/components/ui/input-otp.cjs +1 -1
  141. package/dist/components/ui/input-otp.js +1 -1
  142. package/dist/components/ui/input.cjs +1 -1
  143. package/dist/components/ui/input.js +1 -1
  144. package/dist/components/ui/item.cjs +3 -3
  145. package/dist/components/ui/item.js +3 -3
  146. package/dist/components/ui/label.cjs +1 -1
  147. package/dist/components/ui/label.js +1 -1
  148. package/dist/components/ui/menubar.cjs +9 -7
  149. package/dist/components/ui/menubar.js +9 -7
  150. package/dist/components/ui/native-select.cjs +1 -1
  151. package/dist/components/ui/native-select.js +1 -1
  152. package/dist/components/ui/navigation-menu.cjs +2 -2
  153. package/dist/components/ui/navigation-menu.js +2 -2
  154. package/dist/components/ui/plugin-safety-disclaimer.cjs +1 -1
  155. package/dist/components/ui/plugin-safety-disclaimer.js +1 -1
  156. package/dist/components/ui/popover.cjs +4 -2
  157. package/dist/components/ui/popover.js +4 -2
  158. package/dist/components/ui/select.cjs +5 -3
  159. package/dist/components/ui/select.js +5 -3
  160. package/dist/components/ui/sheet.cjs +4 -2
  161. package/dist/components/ui/sheet.js +4 -2
  162. package/dist/components/ui/sidebar.cjs +5 -5
  163. package/dist/components/ui/sidebar.js +5 -5
  164. package/dist/components/ui/table.cjs +2 -2
  165. package/dist/components/ui/table.js +2 -2
  166. package/dist/components/ui/tabs.cjs +1 -1
  167. package/dist/components/ui/tabs.js +1 -1
  168. package/dist/components/ui/textarea.cjs +1 -1
  169. package/dist/components/ui/textarea.js +1 -1
  170. package/dist/components/ui/toggle.cjs +1 -1
  171. package/dist/components/ui/toggle.js +1 -1
  172. package/dist/components/ui/tooltip.cjs +3 -1
  173. package/dist/components/ui/tooltip.js +3 -1
  174. package/dist/index.cjs +5 -1
  175. package/dist/index.d.cts +2 -0
  176. package/dist/index.d.ts +2 -0
  177. package/dist/index.js +5 -1
  178. package/dist/plugin-style-scope-context.cjs +10 -0
  179. package/dist/plugin-style-scope-context.d.cts +13 -0
  180. package/dist/plugin-style-scope-context.d.ts +13 -0
  181. package/dist/plugin-style-scope-context.js +10 -0
  182. package/dist/plugin-style-scope.cjs +25 -0
  183. package/dist/plugin-style-scope.d.cts +11 -0
  184. package/dist/plugin-style-scope.d.ts +11 -0
  185. package/dist/plugin-style-scope.js +25 -0
  186. package/dist/reference.cjs +15 -15
  187. package/dist/reference.js +15 -15
  188. package/dist/styles/globals.css +22 -3
  189. package/dist/styles/plugin-theme.css +80 -0
  190. package/dist/styles/plugin.css +14 -2
  191. package/package.json +2 -2
  192. package/src/components/ai-elements/agent.tsx +6 -6
  193. package/src/components/ai-elements/artifact.tsx +2 -2
  194. package/src/components/ai-elements/attachments.tsx +2 -2
  195. package/src/components/ai-elements/chain-of-thought.tsx +2 -2
  196. package/src/components/ai-elements/code-block.tsx +6 -3
  197. package/src/components/ai-elements/commit.tsx +2 -2
  198. package/src/components/ai-elements/confirmation.tsx +1 -1
  199. package/src/components/ai-elements/conversation.tsx +2 -2
  200. package/src/components/ai-elements/environment-variables.tsx +3 -3
  201. package/src/components/ai-elements/file-tree.tsx +1 -1
  202. package/src/components/ai-elements/inline-citation.tsx +3 -3
  203. package/src/components/ai-elements/jsx-preview.tsx +1 -1
  204. package/src/components/ai-elements/message.tsx +1 -1
  205. package/src/components/ai-elements/package-info.tsx +4 -4
  206. package/src/components/ai-elements/prompt-input-context.tsx +3 -2
  207. package/src/components/ai-elements/queue.tsx +2 -2
  208. package/src/components/ai-elements/reasoning.tsx +2 -2
  209. package/src/components/ai-elements/sandbox.tsx +3 -3
  210. package/src/components/ai-elements/schema-display.tsx +12 -12
  211. package/src/components/ai-elements/speech-input.tsx +17 -0
  212. package/src/components/ai-elements/stack-trace.tsx +1 -1
  213. package/src/components/ai-elements/task.tsx +3 -3
  214. package/src/components/ai-elements/terminal.tsx +2 -2
  215. package/src/components/ai-elements/test-results.tsx +4 -4
  216. package/src/components/ai-elements/tool.tsx +4 -4
  217. package/src/components/ai-elements/transcription.tsx +1 -1
  218. package/src/components/ai-elements/web-preview.tsx +2 -2
  219. package/src/components/context-editor/CapabilitySection.tsx +2 -2
  220. package/src/components/context-editor/ContextEditor.tsx +2 -2
  221. package/src/components/context-editor/PresetBar.tsx +3 -3
  222. package/src/components/context-editor/SystemPromptSection.tsx +4 -4
  223. package/src/components/context-editor/parts.tsx +6 -6
  224. package/src/components/dashboard/activity-list.tsx +2 -2
  225. package/src/components/dashboard/empty-state.tsx +1 -1
  226. package/src/components/dashboard/item-list.tsx +2 -2
  227. package/src/components/dashboard/layout.tsx +1 -1
  228. package/src/components/dashboard/metric.tsx +1 -1
  229. package/src/components/dashboard/stale-indicator.tsx +1 -1
  230. package/src/components/dashboard/typography.tsx +5 -5
  231. package/src/components/model-selection/available-model-picker.tsx +7 -7
  232. package/src/components/model-selection/thinking-level-picker.tsx +1 -1
  233. package/src/components/model-selection/thinking-picker.tsx +90 -0
  234. package/src/components/ui/accordion.tsx +2 -2
  235. package/src/components/ui/alert-dialog.tsx +4 -2
  236. package/src/components/ui/alert.tsx +2 -2
  237. package/src/components/ui/avatar.tsx +2 -2
  238. package/src/components/ui/breadcrumb.tsx +1 -1
  239. package/src/components/ui/button-group.tsx +1 -1
  240. package/src/components/ui/button.tsx +1 -1
  241. package/src/components/ui/calendar.tsx +3 -3
  242. package/src/components/ui/card.tsx +1 -1
  243. package/src/components/ui/carousel.tsx +2 -1
  244. package/src/components/ui/chart.tsx +54 -36
  245. package/src/components/ui/combobox.tsx +7 -5
  246. package/src/components/ui/command.tsx +3 -3
  247. package/src/components/ui/context-menu.tsx +10 -7
  248. package/src/components/ui/dialog.tsx +4 -2
  249. package/src/components/ui/drawer.tsx +4 -2
  250. package/src/components/ui/dropdown-menu.tsx +10 -7
  251. package/src/components/ui/empty.tsx +2 -2
  252. package/src/components/ui/field.tsx +5 -5
  253. package/src/components/ui/form.tsx +2 -2
  254. package/src/components/ui/hover-card.tsx +3 -1
  255. package/src/components/ui/input-group.tsx +3 -3
  256. package/src/components/ui/input-otp.tsx +1 -1
  257. package/src/components/ui/input.tsx +1 -1
  258. package/src/components/ui/item.tsx +3 -3
  259. package/src/components/ui/label.tsx +1 -1
  260. package/src/components/ui/menubar.tsx +9 -7
  261. package/src/components/ui/native-select.tsx +1 -1
  262. package/src/components/ui/navigation-menu.tsx +2 -2
  263. package/src/components/ui/plugin-safety-disclaimer.tsx +1 -1
  264. package/src/components/ui/popover.tsx +4 -2
  265. package/src/components/ui/select.tsx +5 -3
  266. package/src/components/ui/sheet.tsx +4 -2
  267. package/src/components/ui/sidebar.tsx +5 -5
  268. package/src/components/ui/table.tsx +2 -2
  269. package/src/components/ui/tabs.tsx +1 -1
  270. package/src/components/ui/textarea.tsx +1 -1
  271. package/src/components/ui/toggle.tsx +1 -1
  272. package/src/components/ui/tooltip.tsx +3 -1
  273. package/src/index.ts +2 -0
  274. package/src/plugin-style-scope-context.ts +21 -0
  275. package/src/plugin-style-scope.test.tsx +38 -0
  276. package/src/plugin-style-scope.tsx +35 -0
  277. package/src/styles/globals.css +22 -3
  278. package/src/styles/plugin-theme.css +80 -0
  279. package/src/styles/plugin.css +14 -2
@@ -55,7 +55,7 @@ const PackageInfoName = ({
55
55
  const { name } = use(PackageInfoContext);
56
56
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", className), ...props, children: [
57
57
  /* @__PURE__ */ jsx(PackageIcon, { className: "size-4 text-muted-foreground" }),
58
- /* @__PURE__ */ jsx("span", { className: "font-medium font-mono text-sm", children: children ?? name })
58
+ /* @__PURE__ */ jsx("span", { className: "font-medium font-mono text-base", children: children ?? name })
59
59
  ] });
60
60
  };
61
61
  const changeTypeStyles = {
@@ -111,7 +111,7 @@ const PackageInfoVersion = ({
111
111
  "div",
112
112
  {
113
113
  className: cn(
114
- "mt-2 flex items-center gap-2 font-mono text-muted-foreground text-sm",
114
+ "mt-2 flex items-center gap-2 font-mono text-muted-foreground text-base",
115
115
  className
116
116
  ),
117
117
  ...props,
@@ -127,7 +127,7 @@ const PackageInfoDescription = ({
127
127
  className,
128
128
  children,
129
129
  ...props
130
- }) => /* @__PURE__ */ jsx("p", { className: cn("mt-2 text-muted-foreground text-sm", className), ...props, children });
130
+ }) => /* @__PURE__ */ jsx("p", { className: cn("mt-2 text-muted-foreground text-base", className), ...props, children });
131
131
  const PackageInfoContent = ({
132
132
  className,
133
133
  children,
@@ -150,7 +150,7 @@ const PackageInfoDependency = ({
150
150
  }) => /* @__PURE__ */ jsx(
151
151
  "div",
152
152
  {
153
- className: cn("flex items-center justify-between text-sm", className),
153
+ className: cn("flex items-center justify-between text-base", className),
154
154
  ...props,
155
155
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
156
156
  /* @__PURE__ */ jsx("span", { className: "font-mono text-muted-foreground", children: name }),
@@ -142,9 +142,8 @@ const PromptInputActionAddAttachments = ({
142
142
  },
143
143
  [attachments]
144
144
  );
145
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _dropdownmenu.DropdownMenuItem, { ...props, onSelect: handleSelect, children: [
146
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ImageIcon, { className: "mr-2 size-4" }),
147
- " ",
145
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _dropdownmenu.DropdownMenuItem, { ...props, onSelect: handleSelect, className: "text-sm", children: [
146
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ImageIcon, { className: "size-4" }),
148
147
  label
149
148
  ] });
150
149
  };
@@ -142,9 +142,8 @@ const PromptInputActionAddAttachments = ({
142
142
  },
143
143
  [attachments]
144
144
  );
145
- return /* @__PURE__ */ jsxs(DropdownMenuItem, { ...props, onSelect: handleSelect, children: [
146
- /* @__PURE__ */ jsx(ImageIcon, { className: "mr-2 size-4" }),
147
- " ",
145
+ return /* @__PURE__ */ jsxs(DropdownMenuItem, { ...props, onSelect: handleSelect, className: "text-sm", children: [
146
+ /* @__PURE__ */ jsx(ImageIcon, { className: "size-4" }),
148
147
  label
149
148
  ] });
150
149
  };
@@ -13,7 +13,7 @@ const QueueItem = ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.c
13
13
  "li",
14
14
  {
15
15
  className: _utils.cn.call(void 0,
16
- "group flex flex-col gap-1 rounded-md px-3 py-1 text-sm transition-colors hover:bg-muted",
16
+ "group flex flex-col gap-1 rounded-md px-3 py-1 text-base transition-colors hover:bg-muted",
17
17
  className
18
18
  ),
19
19
  ...props
@@ -137,7 +137,7 @@ const QueueSectionTrigger = ({
137
137
  "button",
138
138
  {
139
139
  className: _utils.cn.call(void 0,
140
- "group flex w-full items-center justify-between rounded-md bg-muted/40 px-3 py-2 text-left font-medium text-muted-foreground text-sm transition-colors hover:bg-muted",
140
+ "group flex w-full items-center justify-between rounded-md bg-muted/40 px-3 py-2 text-left font-medium text-muted-foreground text-base transition-colors hover:bg-muted",
141
141
  className
142
142
  ),
143
143
  type: "button",
@@ -13,7 +13,7 @@ const QueueItem = ({ className, ...props }) => /* @__PURE__ */ jsx(
13
13
  "li",
14
14
  {
15
15
  className: cn(
16
- "group flex flex-col gap-1 rounded-md px-3 py-1 text-sm transition-colors hover:bg-muted",
16
+ "group flex flex-col gap-1 rounded-md px-3 py-1 text-base transition-colors hover:bg-muted",
17
17
  className
18
18
  ),
19
19
  ...props
@@ -137,7 +137,7 @@ const QueueSectionTrigger = ({
137
137
  "button",
138
138
  {
139
139
  className: cn(
140
- "group flex w-full items-center justify-between rounded-md bg-muted/40 px-3 py-2 text-left font-medium text-muted-foreground text-sm transition-colors hover:bg-muted",
140
+ "group flex w-full items-center justify-between rounded-md bg-muted/40 px-3 py-2 text-left font-medium text-muted-foreground text-base transition-colors hover:bg-muted",
141
141
  className
142
142
  ),
143
143
  type: "button",
@@ -131,7 +131,7 @@ const ReasoningTrigger = _react.memo.call(void 0,
131
131
  _collapsible.CollapsibleTrigger,
132
132
  {
133
133
  className: _utils.cn.call(void 0,
134
- "flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",
134
+ "flex w-full items-center gap-2 text-muted-foreground text-base transition-colors hover:text-foreground",
135
135
  className
136
136
  ),
137
137
  ...props,
@@ -158,7 +158,7 @@ const ReasoningContent = _react.memo.call(void 0,
158
158
  _collapsible.CollapsibleContent,
159
159
  {
160
160
  className: _utils.cn.call(void 0,
161
- "mt-4 text-sm",
161
+ "mt-4 text-base",
162
162
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
163
163
  className
164
164
  ),
@@ -131,7 +131,7 @@ const ReasoningTrigger = memo(
131
131
  CollapsibleTrigger,
132
132
  {
133
133
  className: cn(
134
- "flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",
134
+ "flex w-full items-center gap-2 text-muted-foreground text-base transition-colors hover:text-foreground",
135
135
  className
136
136
  ),
137
137
  ...props,
@@ -158,7 +158,7 @@ const ReasoningContent = memo(
158
158
  CollapsibleContent,
159
159
  {
160
160
  className: cn(
161
- "mt-4 text-sm",
161
+ "mt-4 text-base",
162
162
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
163
163
  className
164
164
  ),
@@ -41,7 +41,7 @@ const SandboxHeader = ({
41
41
  children: [
42
42
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
43
43
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Code, { className: "size-4 text-muted-foreground" }),
44
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-sm", children: title }),
44
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-base", children: title }),
45
45
  _tool.getStatusBadge.call(void 0, state)
46
46
  ] }),
47
47
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
@@ -92,7 +92,7 @@ const SandboxTabsTrigger = ({
92
92
  _tabs.TabsTrigger,
93
93
  {
94
94
  className: _utils.cn.call(void 0,
95
- "rounded-none border-0 border-transparent border-b-2 px-4 py-2 font-medium text-muted-foreground text-sm transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:shadow-none",
95
+ "rounded-none border-0 border-transparent border-b-2 px-4 py-2 font-medium text-muted-foreground text-base transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:shadow-none",
96
96
  className
97
97
  ),
98
98
  ...props
@@ -101,7 +101,7 @@ const SandboxTabsTrigger = ({
101
101
  const SandboxTabContent = ({
102
102
  className,
103
103
  ...props
104
- }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _tabs.TabsContent, { className: _utils.cn.call(void 0, "mt-0 text-sm", className), ...props });
104
+ }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _tabs.TabsContent, { className: _utils.cn.call(void 0, "mt-0 text-base", className), ...props });
105
105
 
106
106
 
107
107
 
@@ -41,7 +41,7 @@ const SandboxHeader = ({
41
41
  children: [
42
42
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
43
43
  /* @__PURE__ */ jsx(Code, { className: "size-4 text-muted-foreground" }),
44
- /* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: title }),
44
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-base", children: title }),
45
45
  getStatusBadge(state)
46
46
  ] }),
47
47
  /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
@@ -92,7 +92,7 @@ const SandboxTabsTrigger = ({
92
92
  TabsTrigger,
93
93
  {
94
94
  className: cn(
95
- "rounded-none border-0 border-transparent border-b-2 px-4 py-2 font-medium text-muted-foreground text-sm transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:shadow-none",
95
+ "rounded-none border-0 border-transparent border-b-2 px-4 py-2 font-medium text-muted-foreground text-base transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:shadow-none",
96
96
  className
97
97
  ),
98
98
  ...props
@@ -101,7 +101,7 @@ const SandboxTabsTrigger = ({
101
101
  const SandboxTabContent = ({
102
102
  className,
103
103
  ...props
104
- }) => /* @__PURE__ */ jsx(TabsContent, { className: cn("mt-0 text-sm", className), ...props });
104
+ }) => /* @__PURE__ */ jsx(TabsContent, { className: cn("mt-0 text-base", className), ...props });
105
105
  export {
106
106
  Sandbox,
107
107
  SandboxContent,
@@ -106,7 +106,7 @@ const SchemaDisplayPath = ({
106
106
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
107
107
  "span",
108
108
  {
109
- className: _utils.cn.call(void 0, "font-mono text-sm", className),
109
+ className: _utils.cn.call(void 0, "font-mono text-base", className),
110
110
  dangerouslySetInnerHTML: { __html: _nullishCoalesce(children, () => ( highlightedPath)) },
111
111
  ...props
112
112
  }
@@ -122,7 +122,7 @@ const SchemaDisplayDescription = ({
122
122
  "p",
123
123
  {
124
124
  className: _utils.cn.call(void 0,
125
- "border-b px-4 py-3 text-muted-foreground text-sm",
125
+ "border-b px-4 py-3 text-muted-foreground text-base",
126
126
  className
127
127
  ),
128
128
  ...props,
@@ -144,7 +144,7 @@ const SchemaDisplayParameters = ({
144
144
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _collapsible.Collapsible, { className: _utils.cn.call(void 0, className), defaultOpen: true, ...props, children: [
145
145
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _collapsible.CollapsibleTrigger, { className: "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [
146
146
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-sm", children: "Parameters" }),
147
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-base", children: "Parameters" }),
148
148
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _badge.Badge, { className: "ml-auto text-xs", variant: "secondary", children: _optionalChain([parameters, 'optionalAccess', _ => _.length]) })
149
149
  ] }),
150
150
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _collapsible.CollapsibleContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "divide-y border-t", children: _nullishCoalesce(children, () => ( _optionalChain([parameters, 'optionalAccess', _2 => _2.map, 'call', _3 => _3((param) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SchemaDisplayParameter, { ...param }, param.name))]))) }) })
@@ -160,7 +160,7 @@ const SchemaDisplayParameter = ({
160
160
  ...props
161
161
  }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _utils.cn.call(void 0, "px-4 py-3 pl-10", className), ...props, children: [
162
162
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
163
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-sm", children: name }),
163
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-base", children: name }),
164
164
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _badge.Badge, { className: "text-xs", variant: "outline", children: type }),
165
165
  location && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _badge.Badge, { className: "text-xs", variant: "secondary", children: location }),
166
166
  required && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -172,7 +172,7 @@ const SchemaDisplayParameter = ({
172
172
  }
173
173
  )
174
174
  ] }),
175
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 text-muted-foreground text-sm", children: description })
175
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 text-muted-foreground text-base", children: description })
176
176
  ] });
177
177
  const SchemaDisplayRequest = ({
178
178
  className,
@@ -183,7 +183,7 @@ const SchemaDisplayRequest = ({
183
183
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _collapsible.Collapsible, { className: _utils.cn.call(void 0, className), defaultOpen: true, ...props, children: [
184
184
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _collapsible.CollapsibleTrigger, { className: "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [
185
185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
186
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-sm", children: "Request Body" })
186
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-base", children: "Request Body" })
187
187
  ] }),
188
188
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _collapsible.CollapsibleContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t", children: _nullishCoalesce(children, () => ( _optionalChain([requestBody, 'optionalAccess', _4 => _4.map, 'call', _5 => _5((prop) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SchemaDisplayProperty, { ...prop, depth: 0 }, prop.name))]))) }) })
189
189
  ] });
@@ -197,7 +197,7 @@ const SchemaDisplayResponse = ({
197
197
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _collapsible.Collapsible, { className: _utils.cn.call(void 0, className), defaultOpen: true, ...props, children: [
198
198
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _collapsible.CollapsibleTrigger, { className: "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [
199
199
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
200
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-sm", children: "Response" })
200
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-base", children: "Response" })
201
201
  ] }),
202
202
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _collapsible.CollapsibleContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t", children: _nullishCoalesce(children, () => ( _optionalChain([responseBody, 'optionalAccess', _6 => _6.map, 'call', _7 => _7((prop) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SchemaDisplayProperty, { ...prop, depth: 0 }, prop.name))]))) }) })
203
203
  ] });
@@ -232,7 +232,7 @@ const SchemaDisplayProperty = ({
232
232
  style: { paddingLeft },
233
233
  children: [
234
234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
235
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-sm", children: name }),
235
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-base", children: name }),
236
236
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _badge.Badge, { className: "text-xs", variant: "outline", children: type }),
237
237
  required && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
238
238
  _badge.Badge,
@@ -248,7 +248,7 @@ const SchemaDisplayProperty = ({
248
248
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
249
249
  "p",
250
250
  {
251
- className: "pb-2 text-muted-foreground text-sm",
251
+ className: "pb-2 text-muted-foreground text-base",
252
252
  style: { paddingLeft: paddingLeft + 24 },
253
253
  children: description
254
254
  }
@@ -282,7 +282,7 @@ const SchemaDisplayProperty = ({
282
282
  children: [
283
283
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
284
284
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "size-4" }),
285
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-sm", children: name }),
285
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-base", children: name }),
286
286
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _badge.Badge, { className: "text-xs", variant: "outline", children: type }),
287
287
  required && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
288
288
  _badge.Badge,
@@ -293,7 +293,7 @@ const SchemaDisplayProperty = ({
293
293
  }
294
294
  )
295
295
  ] }),
296
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 pl-6 text-muted-foreground text-sm", children: description })
296
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 pl-6 text-muted-foreground text-base", children: description })
297
297
  ]
298
298
  }
299
299
  );
@@ -306,7 +306,7 @@ const SchemaDisplayExample = ({
306
306
  "pre",
307
307
  {
308
308
  className: _utils.cn.call(void 0,
309
- "mx-4 mb-4 overflow-auto rounded-md bg-muted p-4 font-mono text-sm",
309
+ "mx-4 mb-4 overflow-auto rounded-md bg-muted p-4 font-mono text-base",
310
310
  className
311
311
  ),
312
312
  ...props,
@@ -106,7 +106,7 @@ const SchemaDisplayPath = ({
106
106
  return /* @__PURE__ */ jsx(
107
107
  "span",
108
108
  {
109
- className: cn("font-mono text-sm", className),
109
+ className: cn("font-mono text-base", className),
110
110
  dangerouslySetInnerHTML: { __html: children ?? highlightedPath },
111
111
  ...props
112
112
  }
@@ -122,7 +122,7 @@ const SchemaDisplayDescription = ({
122
122
  "p",
123
123
  {
124
124
  className: cn(
125
- "border-b px-4 py-3 text-muted-foreground text-sm",
125
+ "border-b px-4 py-3 text-muted-foreground text-base",
126
126
  className
127
127
  ),
128
128
  ...props,
@@ -144,7 +144,7 @@ const SchemaDisplayParameters = ({
144
144
  return /* @__PURE__ */ jsxs(Collapsible, { className: cn(className), defaultOpen: true, ...props, children: [
145
145
  /* @__PURE__ */ jsxs(CollapsibleTrigger, { className: "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [
146
146
  /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
147
- /* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: "Parameters" }),
147
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-base", children: "Parameters" }),
148
148
  /* @__PURE__ */ jsx(Badge, { className: "ml-auto text-xs", variant: "secondary", children: parameters?.length })
149
149
  ] }),
150
150
  /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", { className: "divide-y border-t", children: children ?? parameters?.map((param) => /* @__PURE__ */ jsx(SchemaDisplayParameter, { ...param }, param.name)) }) })
@@ -160,7 +160,7 @@ const SchemaDisplayParameter = ({
160
160
  ...props
161
161
  }) => /* @__PURE__ */ jsxs("div", { className: cn("px-4 py-3 pl-10", className), ...props, children: [
162
162
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
163
- /* @__PURE__ */ jsx("span", { className: "font-mono text-sm", children: name }),
163
+ /* @__PURE__ */ jsx("span", { className: "font-mono text-base", children: name }),
164
164
  /* @__PURE__ */ jsx(Badge, { className: "text-xs", variant: "outline", children: type }),
165
165
  location && /* @__PURE__ */ jsx(Badge, { className: "text-xs", variant: "secondary", children: location }),
166
166
  required && /* @__PURE__ */ jsx(
@@ -172,7 +172,7 @@ const SchemaDisplayParameter = ({
172
172
  }
173
173
  )
174
174
  ] }),
175
- description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-muted-foreground text-sm", children: description })
175
+ description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-muted-foreground text-base", children: description })
176
176
  ] });
177
177
  const SchemaDisplayRequest = ({
178
178
  className,
@@ -183,7 +183,7 @@ const SchemaDisplayRequest = ({
183
183
  return /* @__PURE__ */ jsxs(Collapsible, { className: cn(className), defaultOpen: true, ...props, children: [
184
184
  /* @__PURE__ */ jsxs(CollapsibleTrigger, { className: "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [
185
185
  /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
186
- /* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: "Request Body" })
186
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-base", children: "Request Body" })
187
187
  ] }),
188
188
  /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", { className: "border-t", children: children ?? requestBody?.map((prop) => /* @__PURE__ */ jsx(SchemaDisplayProperty, { ...prop, depth: 0 }, prop.name)) }) })
189
189
  ] });
@@ -197,7 +197,7 @@ const SchemaDisplayResponse = ({
197
197
  return /* @__PURE__ */ jsxs(Collapsible, { className: cn(className), defaultOpen: true, ...props, children: [
198
198
  /* @__PURE__ */ jsxs(CollapsibleTrigger, { className: "group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [
199
199
  /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
200
- /* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: "Response" })
200
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-base", children: "Response" })
201
201
  ] }),
202
202
  /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", { className: "border-t", children: children ?? responseBody?.map((prop) => /* @__PURE__ */ jsx(SchemaDisplayProperty, { ...prop, depth: 0 }, prop.name)) }) })
203
203
  ] });
@@ -232,7 +232,7 @@ const SchemaDisplayProperty = ({
232
232
  style: { paddingLeft },
233
233
  children: [
234
234
  /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
235
- /* @__PURE__ */ jsx("span", { className: "font-mono text-sm", children: name }),
235
+ /* @__PURE__ */ jsx("span", { className: "font-mono text-base", children: name }),
236
236
  /* @__PURE__ */ jsx(Badge, { className: "text-xs", variant: "outline", children: type }),
237
237
  required && /* @__PURE__ */ jsx(
238
238
  Badge,
@@ -248,7 +248,7 @@ const SchemaDisplayProperty = ({
248
248
  description && /* @__PURE__ */ jsx(
249
249
  "p",
250
250
  {
251
- className: "pb-2 text-muted-foreground text-sm",
251
+ className: "pb-2 text-muted-foreground text-base",
252
252
  style: { paddingLeft: paddingLeft + 24 },
253
253
  children: description
254
254
  }
@@ -282,7 +282,7 @@ const SchemaDisplayProperty = ({
282
282
  children: [
283
283
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
284
284
  /* @__PURE__ */ jsx("span", { className: "size-4" }),
285
- /* @__PURE__ */ jsx("span", { className: "font-mono text-sm", children: name }),
285
+ /* @__PURE__ */ jsx("span", { className: "font-mono text-base", children: name }),
286
286
  /* @__PURE__ */ jsx(Badge, { className: "text-xs", variant: "outline", children: type }),
287
287
  required && /* @__PURE__ */ jsx(
288
288
  Badge,
@@ -293,7 +293,7 @@ const SchemaDisplayProperty = ({
293
293
  }
294
294
  )
295
295
  ] }),
296
- description && /* @__PURE__ */ jsx("p", { className: "mt-1 pl-6 text-muted-foreground text-sm", children: description })
296
+ description && /* @__PURE__ */ jsx("p", { className: "mt-1 pl-6 text-muted-foreground text-base", children: description })
297
297
  ]
298
298
  }
299
299
  );
@@ -306,7 +306,7 @@ const SchemaDisplayExample = ({
306
306
  "pre",
307
307
  {
308
308
  className: cn(
309
- "mx-4 mb-4 overflow-auto rounded-md bg-muted p-4 font-mono text-sm",
309
+ "mx-4 mb-4 overflow-auto rounded-md bg-muted p-4 font-mono text-base",
310
310
  className
311
311
  ),
312
312
  ...props,
@@ -30,6 +30,7 @@ const SpeechInput = ({
30
30
  const [isRecognitionReady, setIsRecognitionReady] = _react.useState.call(void 0, false);
31
31
  const recognitionRef = _react.useRef.call(void 0, null);
32
32
  const mediaRecorderRef = _react.useRef.call(void 0, null);
33
+ const mediaRecorderCleanupRef = _react.useRef.call(void 0, null);
33
34
  const streamRef = _react.useRef.call(void 0, null);
34
35
  const audioChunksRef = _react.useRef.call(void 0, []);
35
36
  const onTranscriptionChangeRef = _react.useRef.call(void 0, onTranscriptionChange);
@@ -88,6 +89,7 @@ const SpeechInput = ({
88
89
  if (_optionalChain([mediaRecorderRef, 'access', _5 => _5.current, 'optionalAccess', _6 => _6.state]) === "recording") {
89
90
  mediaRecorderRef.current.stop();
90
91
  }
92
+ _optionalChain([mediaRecorderCleanupRef, 'access', _7 => _7.current, 'optionalCall', _8 => _8()]);
91
93
  if (streamRef.current) {
92
94
  for (const track of streamRef.current.getTracks()) {
93
95
  track.stop();
@@ -115,6 +117,7 @@ const SpeechInput = ({
115
117
  track.stop();
116
118
  }
117
119
  streamRef.current = null;
120
+ cleanupMediaRecorder();
118
121
  const audioBlob = new Blob(audioChunksRef.current, {
119
122
  type: "audio/webm"
120
123
  });
@@ -123,7 +126,7 @@ const SpeechInput = ({
123
126
  try {
124
127
  const transcript = await onAudioRecordedRef.current(audioBlob);
125
128
  if (transcript) {
126
- _optionalChain([onTranscriptionChangeRef, 'access', _7 => _7.current, 'optionalCall', _8 => _8(transcript)]);
129
+ _optionalChain([onTranscriptionChangeRef, 'access', _9 => _9.current, 'optionalCall', _10 => _10(transcript)]);
127
130
  }
128
131
  } catch (e) {
129
132
  } finally {
@@ -137,11 +140,24 @@ const SpeechInput = ({
137
140
  track.stop();
138
141
  }
139
142
  streamRef.current = null;
143
+ cleanupMediaRecorder();
144
+ };
145
+ const cleanupMediaRecorder = () => {
146
+ mediaRecorder.removeEventListener("dataavailable", handleDataAvailable);
147
+ mediaRecorder.removeEventListener("stop", handleStop);
148
+ mediaRecorder.removeEventListener("error", handleError);
149
+ if (mediaRecorderRef.current === mediaRecorder) {
150
+ mediaRecorderRef.current = null;
151
+ }
152
+ if (mediaRecorderCleanupRef.current === cleanupMediaRecorder) {
153
+ mediaRecorderCleanupRef.current = null;
154
+ }
140
155
  };
141
156
  mediaRecorder.addEventListener("dataavailable", handleDataAvailable);
142
157
  mediaRecorder.addEventListener("stop", handleStop);
143
158
  mediaRecorder.addEventListener("error", handleError);
144
159
  mediaRecorderRef.current = mediaRecorder;
160
+ mediaRecorderCleanupRef.current = cleanupMediaRecorder;
145
161
  mediaRecorder.start();
146
162
  setIsListening(true);
147
163
  } catch (e2) {
@@ -149,7 +165,7 @@ const SpeechInput = ({
149
165
  }
150
166
  }, []);
151
167
  const stopMediaRecorder = _react.useCallback.call(void 0, () => {
152
- if (_optionalChain([mediaRecorderRef, 'access', _9 => _9.current, 'optionalAccess', _10 => _10.state]) === "recording") {
168
+ if (_optionalChain([mediaRecorderRef, 'access', _11 => _11.current, 'optionalAccess', _12 => _12.state]) === "recording") {
153
169
  mediaRecorderRef.current.stop();
154
170
  }
155
171
  setIsListening(false);
@@ -30,6 +30,7 @@ const SpeechInput = ({
30
30
  const [isRecognitionReady, setIsRecognitionReady] = useState(false);
31
31
  const recognitionRef = useRef(null);
32
32
  const mediaRecorderRef = useRef(null);
33
+ const mediaRecorderCleanupRef = useRef(null);
33
34
  const streamRef = useRef(null);
34
35
  const audioChunksRef = useRef([]);
35
36
  const onTranscriptionChangeRef = useRef(onTranscriptionChange);
@@ -88,6 +89,7 @@ const SpeechInput = ({
88
89
  if (mediaRecorderRef.current?.state === "recording") {
89
90
  mediaRecorderRef.current.stop();
90
91
  }
92
+ mediaRecorderCleanupRef.current?.();
91
93
  if (streamRef.current) {
92
94
  for (const track of streamRef.current.getTracks()) {
93
95
  track.stop();
@@ -115,6 +117,7 @@ const SpeechInput = ({
115
117
  track.stop();
116
118
  }
117
119
  streamRef.current = null;
120
+ cleanupMediaRecorder();
118
121
  const audioBlob = new Blob(audioChunksRef.current, {
119
122
  type: "audio/webm"
120
123
  });
@@ -137,11 +140,24 @@ const SpeechInput = ({
137
140
  track.stop();
138
141
  }
139
142
  streamRef.current = null;
143
+ cleanupMediaRecorder();
144
+ };
145
+ const cleanupMediaRecorder = () => {
146
+ mediaRecorder.removeEventListener("dataavailable", handleDataAvailable);
147
+ mediaRecorder.removeEventListener("stop", handleStop);
148
+ mediaRecorder.removeEventListener("error", handleError);
149
+ if (mediaRecorderRef.current === mediaRecorder) {
150
+ mediaRecorderRef.current = null;
151
+ }
152
+ if (mediaRecorderCleanupRef.current === cleanupMediaRecorder) {
153
+ mediaRecorderCleanupRef.current = null;
154
+ }
140
155
  };
141
156
  mediaRecorder.addEventListener("dataavailable", handleDataAvailable);
142
157
  mediaRecorder.addEventListener("stop", handleStop);
143
158
  mediaRecorder.addEventListener("error", handleError);
144
159
  mediaRecorderRef.current = mediaRecorder;
160
+ mediaRecorderCleanupRef.current = cleanupMediaRecorder;
145
161
  mediaRecorder.start();
146
162
  setIsListening(true);
147
163
  } catch {
@@ -131,7 +131,7 @@ const StackTrace = _react.memo.call(void 0,
131
131
  "div",
132
132
  {
133
133
  className: _utils.cn.call(void 0,
134
- "not-prose w-full overflow-hidden rounded-lg border bg-background font-mono text-sm",
134
+ "not-prose w-full overflow-hidden rounded-lg border bg-background font-mono text-base",
135
135
  className
136
136
  ),
137
137
  ...props,
@@ -131,7 +131,7 @@ const StackTrace = memo(
131
131
  "div",
132
132
  {
133
133
  className: cn(
134
- "not-prose w-full overflow-hidden rounded-lg border bg-background font-mono text-sm",
134
+ "not-prose w-full overflow-hidden rounded-lg border bg-background font-mono text-base",
135
135
  className
136
136
  ),
137
137
  ...props,
@@ -22,7 +22,7 @@ const TaskItemFile = ({
22
22
  children
23
23
  }
24
24
  );
25
- const TaskItem = ({ children, className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _utils.cn.call(void 0, "text-muted-foreground text-sm", className), ...props, children });
25
+ const TaskItem = ({ children, className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _utils.cn.call(void 0, "text-muted-foreground text-base", className), ...props, children });
26
26
  const Task = ({
27
27
  defaultOpen = true,
28
28
  className,
@@ -33,9 +33,9 @@ const TaskTrigger = ({
33
33
  className,
34
34
  title,
35
35
  ...props
36
- }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _collapsible.CollapsibleTrigger, { asChild: true, className: _utils.cn.call(void 0, "group", className), ...props, children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground", children: [
36
+ }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _collapsible.CollapsibleTrigger, { asChild: true, className: _utils.cn.call(void 0, "group", className), ...props, children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-base transition-colors hover:text-foreground", children: [
37
37
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SearchIcon, { className: "size-4" }),
38
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: title }),
38
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-base", children: title }),
39
39
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "size-4 transition-transform group-data-[state=open]:rotate-180" })
40
40
  ] }))) });
41
41
  const TaskContent = ({
@@ -22,7 +22,7 @@ const TaskItemFile = ({
22
22
  children
23
23
  }
24
24
  );
25
- const TaskItem = ({ children, className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground text-sm", className), ...props, children });
25
+ const TaskItem = ({ children, className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground text-base", className), ...props, children });
26
26
  const Task = ({
27
27
  defaultOpen = true,
28
28
  className,
@@ -33,9 +33,9 @@ const TaskTrigger = ({
33
33
  className,
34
34
  title,
35
35
  ...props
36
- }) => /* @__PURE__ */ jsx(CollapsibleTrigger, { asChild: true, className: cn("group", className), ...props, children: children ?? /* @__PURE__ */ jsxs("div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground", children: [
36
+ }) => /* @__PURE__ */ jsx(CollapsibleTrigger, { asChild: true, className: cn("group", className), ...props, children: children ?? /* @__PURE__ */ jsxs("div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-base transition-colors hover:text-foreground", children: [
37
37
  /* @__PURE__ */ jsx(SearchIcon, { className: "size-4" }),
38
- /* @__PURE__ */ jsx("p", { className: "text-sm", children: title }),
38
+ /* @__PURE__ */ jsx("p", { className: "text-base", children: title }),
39
39
  /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 transition-transform group-data-[state=open]:rotate-180" })
40
40
  ] }) });
41
41
  const TaskContent = ({
@@ -78,7 +78,7 @@ const TerminalTitle = ({
78
78
  }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
79
79
  "div",
80
80
  {
81
- className: _utils.cn.call(void 0, "flex items-center gap-2 text-sm text-zinc-400", className),
81
+ className: _utils.cn.call(void 0, "flex items-center gap-2 text-base text-zinc-400", className),
82
82
  ...props,
83
83
  children: [
84
84
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.TerminalIcon, { className: "size-4" }),
@@ -196,7 +196,7 @@ const TerminalContent = ({
196
196
  "div",
197
197
  {
198
198
  className: _utils.cn.call(void 0,
199
- "max-h-96 overflow-auto p-4 font-mono text-sm leading-relaxed",
199
+ "max-h-96 overflow-auto p-4 font-mono text-base leading-relaxed",
200
200
  className
201
201
  ),
202
202
  ref: containerRef,
@@ -78,7 +78,7 @@ const TerminalTitle = ({
78
78
  }) => /* @__PURE__ */ jsxs(
79
79
  "div",
80
80
  {
81
- className: cn("flex items-center gap-2 text-sm text-zinc-400", className),
81
+ className: cn("flex items-center gap-2 text-base text-zinc-400", className),
82
82
  ...props,
83
83
  children: [
84
84
  /* @__PURE__ */ jsx(TerminalIcon, { className: "size-4" }),
@@ -196,7 +196,7 @@ const TerminalContent = ({
196
196
  "div",
197
197
  {
198
198
  className: cn(
199
- "max-h-96 overflow-auto p-4 font-mono text-sm leading-relaxed",
199
+ "max-h-96 overflow-auto p-4 font-mono text-base leading-relaxed",
200
200
  className
201
201
  ),
202
202
  ref: containerRef,