@mcp-b/react-components 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/dist/{AgentChat-CrlpbvQJ.d.ts → AgentChat-CRuMi1Pb.d.ts} +4 -10
  2. package/dist/AgentMessageParts-CyD2UB3V.d.ts +46 -0
  3. package/dist/AgentToolRunsContext-BVe4stgw.d.ts +21 -0
  4. package/dist/{CodeBlock-BmB4Xaqq.js → CodeBlock-Co1noLbC.js} +2 -2
  5. package/dist/{CodeBlock-BRajW4QU.d.ts → CodeBlock-Dnpr88ZQ.d.ts} +2 -2
  6. package/dist/Collapsible-N64ASIQr.d.ts +119 -0
  7. package/dist/{Combobox-B9Fcd6q-.d.ts → Combobox-CYc37s5l.d.ts} +11 -33
  8. package/dist/{FileTree-CkVbIMWV.js → FileTree-B7bBsUyU.js} +7 -7
  9. package/dist/{Menu-Bgu-ufb5.d.ts → Menu-L6MZm-7N.d.ts} +15 -56
  10. package/dist/{Message-BkMdE3bS.js → Message-C4eYRogZ.js} +3 -3
  11. package/dist/{ModelSelector-SlJNgwKY.js → ModelSelector-BNrZlY_Y.js} +5 -5
  12. package/dist/{PromptInput-BWTuXMOD.d.ts → PromptInput-OLfXPuHM.d.ts} +39 -67
  13. package/dist/{ResponsiveSidebarShell-Dd9DCcBT.d.ts → ResponsiveSidebarShell-CsAh4NyL.d.ts} +1 -0
  14. package/dist/{Select-BeEsefzh.d.ts → Select-CwSqP07Y.d.ts} +14 -42
  15. package/dist/{Tabs-3Zc4tb9D.d.ts → Tabs-9zddXDQo.d.ts} +5 -19
  16. package/dist/{ThinkChat-CzC-zNGA.js → ThinkChat-DInElus-.js} +53 -26
  17. package/dist/{ThinkChatActivity-BFQnb2ct.d.ts → ThinkChatActivity-BgesTfZ4.d.ts} +12 -4
  18. package/dist/{ThinkChatContext-C3Eb1Xpi.d.ts → ThinkChatContext-DrsZqdaO.d.ts} +1 -1
  19. package/dist/ThinkRecoveryNotice-DFIcG9UX.d.ts +19 -0
  20. package/dist/{Toggle-CAAlNl-M.d.ts → Toggle-DaXpe1Lc.d.ts} +1 -1
  21. package/dist/{ToggleGroup-8hPv-b69.d.ts → ToggleGroup-yseEWkOC.d.ts} +3 -4
  22. package/dist/{Workspace-D39LxGvP.d.ts → Workspace-C9RFoxcu.d.ts} +1 -1
  23. package/dist/WorkspaceExplorer-sZewzT2O.d.ts +32 -0
  24. package/dist/{WorkspaceFile-DOZkPwzu.d.ts → WorkspaceFile-C8UzuSH4.d.ts} +1 -1
  25. package/dist/{WorkspaceFileView-rSN_yT0L.js → WorkspaceFileView-DNdGAEiX.js} +5 -5
  26. package/dist/{WorkspaceLink-DIPbXrUM.js → WorkspaceLink-B1ykV1dS.js} +15 -29
  27. package/dist/class-names-Bk-QLWWI.js +11 -0
  28. package/dist/components/Accordion.d.ts +5 -15
  29. package/dist/components/Accordion.js +11 -10
  30. package/dist/components/Activity.d.ts +5 -10
  31. package/dist/components/Activity.js +2 -2
  32. package/dist/components/AgentActivity.js +1 -1
  33. package/dist/components/AgentActivityPreview.js +2 -2
  34. package/dist/components/AgentAttention.d.ts +1 -1
  35. package/dist/components/AgentAttention.js +1 -1
  36. package/dist/components/AgentChat.d.ts +2 -2
  37. package/dist/components/AgentChat.js +27 -164
  38. package/dist/components/AgentChatMessageEditor.js +1 -1
  39. package/dist/components/AgentConnection.js +4 -4
  40. package/dist/components/AgentMessageParts.d.ts +2 -0
  41. package/dist/components/AgentMessageParts.js +119 -0
  42. package/dist/components/AgentToolDetail.d.ts +55 -0
  43. package/dist/components/AgentToolDetail.js +98 -0
  44. package/dist/components/AgentToolRunsContext.d.ts +2 -0
  45. package/dist/components/AgentToolRunsContext.js +16 -0
  46. package/dist/components/AlertDialog.d.ts +7 -19
  47. package/dist/components/AlertDialog.js +21 -32
  48. package/dist/components/AppTopBar.d.ts +4 -1
  49. package/dist/components/AppTopBar.js +5 -5
  50. package/dist/components/Approval.d.ts +102 -0
  51. package/dist/components/Approval.js +227 -0
  52. package/dist/components/Artifact.d.ts +2 -4
  53. package/dist/components/Artifact.js +3 -3
  54. package/dist/components/Autocomplete.d.ts +11 -33
  55. package/dist/components/Autocomplete.js +23 -30
  56. package/dist/components/Avatar.d.ts +3 -11
  57. package/dist/components/Avatar.js +13 -12
  58. package/dist/components/BrowserLiveView.js +2 -2
  59. package/dist/components/BrowserReplay.js +2 -2
  60. package/dist/components/BrowserRunPanel.js +58 -78
  61. package/dist/components/Button.js +4 -9
  62. package/dist/components/ChainOfThought.d.ts +5 -11
  63. package/dist/components/ChainOfThought.js +3 -2
  64. package/dist/components/ChatGptSignInScreen.js +3 -3
  65. package/dist/components/Checkbox.d.ts +2 -4
  66. package/dist/components/Checkbox.js +6 -5
  67. package/dist/components/CheckboxGroup.d.ts +1 -3
  68. package/dist/components/CheckboxGroup.js +15 -14
  69. package/dist/components/Checkpoint.d.ts +64 -0
  70. package/dist/components/Checkpoint.js +63 -0
  71. package/dist/components/CodeBlock.d.ts +1 -1
  72. package/dist/components/CodeBlock.js +1 -1
  73. package/dist/components/CodexModelSelector.d.ts +1 -1
  74. package/dist/components/CodexModelSelector.js +2 -2
  75. package/dist/components/Collapsible.d.ts +1 -124
  76. package/dist/components/Collapsible.js +7 -10
  77. package/dist/components/Combobox.d.ts +1 -1
  78. package/dist/components/Combobox.js +23 -30
  79. package/dist/components/Commit.d.ts +5 -11
  80. package/dist/components/Commit.js +6 -5
  81. package/dist/components/Context.js +1 -1
  82. package/dist/components/ContextMenu.d.ts +21 -37
  83. package/dist/components/ContextMenu.js +34 -51
  84. package/dist/components/Conversation.d.ts +2 -4
  85. package/dist/components/Conversation.js +2 -2
  86. package/dist/components/DescriptionListParts.js +1 -1
  87. package/dist/components/Dialog.d.ts +6 -17
  88. package/dist/components/Dialog.js +17 -24
  89. package/dist/components/EnvironmentVariables.d.ts +1 -1
  90. package/dist/components/EnvironmentVariables.js +4 -3
  91. package/dist/components/Field.d.ts +17 -20
  92. package/dist/components/Field.js +16 -16
  93. package/dist/components/Fieldset.d.ts +2 -7
  94. package/dist/components/Fieldset.js +7 -6
  95. package/dist/components/FileTree.js +1 -1
  96. package/dist/components/Form.d.ts +1 -4
  97. package/dist/components/Form.js +3 -2
  98. package/dist/components/GithubMotionMark.js +1 -1
  99. package/dist/components/InlineCitation.d.ts +66 -0
  100. package/dist/components/InlineCitation.js +142 -0
  101. package/dist/components/Input.d.ts +1 -4
  102. package/dist/components/Input.js +3 -2
  103. package/dist/components/Marker.js +1 -1
  104. package/dist/components/McpConnectionRequest.js +2 -2
  105. package/dist/components/McpServerPicker.d.ts +1 -1
  106. package/dist/components/McpServerPicker.js +6 -5
  107. package/dist/components/Menu.d.ts +1 -1
  108. package/dist/components/Menu.js +33 -52
  109. package/dist/components/Menubar.d.ts +22 -43
  110. package/dist/components/Menubar.js +36 -53
  111. package/dist/components/Message.d.ts +3 -6
  112. package/dist/components/Message.js +1 -1
  113. package/dist/components/MessageScroller.d.ts +1 -1
  114. package/dist/components/MessageScroller.js +3 -3
  115. package/dist/components/Meter.d.ts +5 -20
  116. package/dist/components/Meter.js +11 -10
  117. package/dist/components/ModelSelector.d.ts +2 -6
  118. package/dist/components/ModelSelector.js +1 -1
  119. package/dist/components/NavigationMenu.d.ts +11 -33
  120. package/dist/components/NavigationMenu.js +23 -30
  121. package/dist/components/NumberField.d.ts +6 -24
  122. package/dist/components/NumberField.js +13 -12
  123. package/dist/components/Plan.d.ts +103 -0
  124. package/dist/components/Plan.js +113 -0
  125. package/dist/components/Popover.d.ts +9 -36
  126. package/dist/components/Popover.js +23 -34
  127. package/dist/components/PreviewCard.d.ts +6 -24
  128. package/dist/components/PreviewCard.js +13 -24
  129. package/dist/components/PricingBillingToggle.js +1 -1
  130. package/dist/components/PricingFAQ.js +1 -1
  131. package/dist/components/PricingPlanCard.js +3 -3
  132. package/dist/components/PricingUsageCalculator.js +2 -2
  133. package/dist/components/Progress.d.ts +3 -8
  134. package/dist/components/Progress.js +7 -10
  135. package/dist/components/PromptInput.d.ts +2 -2
  136. package/dist/components/PromptInput.js +52 -200
  137. package/dist/components/Queue.d.ts +6 -16
  138. package/dist/components/Queue.js +2 -2
  139. package/dist/components/RadioGroup.d.ts +3 -8
  140. package/dist/components/RadioGroup.js +7 -10
  141. package/dist/components/Reasoning.d.ts +4 -8
  142. package/dist/components/Reasoning.js +3 -3
  143. package/dist/components/ResizableSidePanel.js +2 -2
  144. package/dist/components/ResponsiveSidebarShell.d.ts +1 -1
  145. package/dist/components/ResponsiveSidebarShell.js +4 -3
  146. package/dist/components/ScrollArea.d.ts +5 -20
  147. package/dist/components/ScrollArea.js +11 -10
  148. package/dist/components/Select.d.ts +1 -1
  149. package/dist/components/Select.js +32 -55
  150. package/dist/components/Separator.d.ts +1 -5
  151. package/dist/components/Separator.js +3 -6
  152. package/dist/components/Slider.d.ts +6 -19
  153. package/dist/components/Slider.js +15 -14
  154. package/dist/components/Sources.d.ts +4 -9
  155. package/dist/components/Sources.js +3 -2
  156. package/dist/components/Stepper.js +2 -2
  157. package/dist/components/SubagentRunDetails.js +1 -1
  158. package/dist/components/SubagentRunIndicator.js +2 -2
  159. package/dist/components/SubagentRunList.js +1 -2
  160. package/dist/components/SubagentRunSelector.d.ts +2 -11
  161. package/dist/components/SubagentRunSelector.js +16 -15
  162. package/dist/components/Switch.d.ts +2 -5
  163. package/dist/components/Switch.js +5 -8
  164. package/dist/components/Tabs.d.ts +2 -2
  165. package/dist/components/Tabs.js +10 -16
  166. package/dist/components/Task.d.ts +4 -9
  167. package/dist/components/Task.js +4 -3
  168. package/dist/components/Terminal.d.ts +2 -3
  169. package/dist/components/Terminal.js +3 -3
  170. package/dist/components/TestResults.d.ts +4 -9
  171. package/dist/components/TestResults.js +3 -2
  172. package/dist/components/Textarea.js +1 -1
  173. package/dist/components/ThemeModeControl.js +1 -1
  174. package/dist/components/ThinkChat.d.ts +21 -11
  175. package/dist/components/ThinkChat.js +5 -3
  176. package/dist/components/ThinkChatActivity.d.ts +1 -1
  177. package/dist/components/ThinkChatActivity.js +26 -7
  178. package/dist/components/ThinkChatContext.d.ts +1 -1
  179. package/dist/components/ThinkChatToolPanels.js +2 -2
  180. package/dist/components/ThinkExecutionDetail.js +2 -2
  181. package/dist/components/ThinkExecutionStatus.js +2 -2
  182. package/dist/components/ThinkExecutionWorkbench.js +2 -2
  183. package/dist/components/ThinkFullApp.d.ts +33 -9
  184. package/dist/components/ThinkFullApp.js +118 -64
  185. package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
  186. package/dist/components/ThinkFullAppViewSwitch.js +2 -2
  187. package/dist/components/ThinkPendingApproval.d.ts +60 -0
  188. package/dist/components/ThinkPendingApproval.js +99 -0
  189. package/dist/components/ThinkRecoveryNotice.d.ts +2 -0
  190. package/dist/components/ThinkRecoveryNotice.js +40 -0
  191. package/dist/components/ThinkRoutine.js +1 -0
  192. package/dist/components/ThinkRoutineBrowser.js +6 -6
  193. package/dist/components/ThinkRoutineDetail.js +1 -1
  194. package/dist/components/ThinkRoutineForm.js +2 -2
  195. package/dist/components/ThinkRoutineLibrary.d.ts +9 -0
  196. package/dist/components/ThinkRoutineLibrary.js +67 -20
  197. package/dist/components/ThinkRoutineRuns.js +1 -1
  198. package/dist/components/ThinkThreadPicker.js +2 -2
  199. package/dist/components/ThinkThreadShell.d.ts +1 -1
  200. package/dist/components/Toast.d.ts +7 -28
  201. package/dist/components/Toast.js +15 -14
  202. package/dist/components/Toggle.d.ts +1 -1
  203. package/dist/components/Toggle.js +5 -5
  204. package/dist/components/ToggleGroup.d.ts +1 -1
  205. package/dist/components/ToggleGroup.js +8 -15
  206. package/dist/components/ToolApproval.d.ts +28 -0
  207. package/dist/components/ToolApproval.js +35 -0
  208. package/dist/components/ToolInvocation.d.ts +26 -0
  209. package/dist/components/ToolInvocation.js +72 -0
  210. package/dist/components/Toolbar.d.ts +6 -24
  211. package/dist/components/Toolbar.js +13 -12
  212. package/dist/components/Tooltip.d.ts +3 -9
  213. package/dist/components/Tooltip.js +7 -10
  214. package/dist/components/WebPreview.d.ts +1 -2
  215. package/dist/components/WebPreview.js +4 -3
  216. package/dist/components/Workspace.d.ts +1 -1
  217. package/dist/components/Workspace.js +5 -20
  218. package/dist/components/WorkspaceBrowser.d.ts +1 -1
  219. package/dist/components/WorkspaceBrowser.js +3 -3
  220. package/dist/components/WorkspaceExplorer.d.ts +3 -31
  221. package/dist/components/WorkspaceExplorer.js +3 -3
  222. package/dist/components/WorkspaceFile.d.ts +1 -1
  223. package/dist/components/WorkspaceFileView.d.ts +1 -1
  224. package/dist/components/WorkspaceFileView.js +1 -1
  225. package/dist/components/WorkspaceHeader.js +1 -1
  226. package/dist/components/WorkspaceLink.js +1 -1
  227. package/dist/components/icons.d.ts +2 -2
  228. package/dist/components/icons.js +2 -2
  229. package/dist/{copy-button-DtPMgN7e.d.ts → copy-button-CQx3LQAC.d.ts} +1 -2
  230. package/dist/{copy-button-Dejn5heL.js → copy-button-cYsJBauI.js} +1 -1
  231. package/dist/{icons-CpfUer49.js → icons--FqCZEc3.js} +3 -2
  232. package/dist/{icons-GQd1xF4e.d.ts → icons-DpUqY8Mp.d.ts} +6 -1
  233. package/dist/styles/agent-activity-preview.css +13 -11
  234. package/dist/styles/agent-attention.css +19 -13
  235. package/dist/styles/agent-chat.css +0 -41
  236. package/dist/styles/agent-connection.css +9 -21
  237. package/dist/styles/agent-tool-detail.css +54 -0
  238. package/dist/styles/alert-dialog.css +11 -11
  239. package/dist/styles/app-top-bar.css +9 -7
  240. package/dist/styles/approval.css +172 -0
  241. package/dist/styles/artifact.css +0 -12
  242. package/dist/styles/browser-run-panel.css +5 -2
  243. package/dist/styles/card.css +8 -8
  244. package/dist/styles/chain-of-thought.css +5 -13
  245. package/dist/styles/checkpoint.css +58 -0
  246. package/dist/styles/codex-model-selector.css +3 -3
  247. package/dist/styles/combobox.css +3 -2
  248. package/dist/styles/commit.css +0 -21
  249. package/dist/styles/context-menu.css +1 -9
  250. package/dist/styles/dialog.css +11 -11
  251. package/dist/styles/environment-variables.css +0 -13
  252. package/dist/styles/field.css +14 -14
  253. package/dist/styles/fieldset.css +5 -5
  254. package/dist/styles/file-tree.css +0 -16
  255. package/dist/styles/index.css +8 -4
  256. package/dist/styles/inline-citation.css +107 -0
  257. package/dist/styles/mcp-connection-request.css +3 -3
  258. package/dist/styles/mcp-server-picker.css +1 -30
  259. package/dist/styles/menu.css +1 -30
  260. package/dist/styles/menubar.css +0 -8
  261. package/dist/styles/message-scroller.css +0 -12
  262. package/dist/styles/message.css +0 -12
  263. package/dist/styles/model-selector.css +18 -32
  264. package/dist/styles/plan.css +127 -0
  265. package/dist/styles/popover.css +7 -43
  266. package/dist/styles/preview-card.css +1 -1
  267. package/dist/styles/prompt-input.css +2 -195
  268. package/dist/styles/recipes.css +139 -12
  269. package/dist/styles/responsive-sidebar-shell.css +16 -19
  270. package/dist/styles/select.css +3 -3
  271. package/dist/styles/sources.css +6 -14
  272. package/dist/styles/subagent-run.css +12 -70
  273. package/dist/styles/task.css +17 -26
  274. package/dist/styles/test-results.css +17 -23
  275. package/dist/styles/textarea.css +1 -1
  276. package/dist/styles/think-execution-workbench.css +9 -9
  277. package/dist/styles/think-full-app.css +49 -33
  278. package/dist/styles/think-routine-library.css +30 -38
  279. package/dist/styles/think-thread-picker.css +15 -0
  280. package/dist/styles/toast.css +4 -11
  281. package/dist/styles/tooltip.css +1 -1
  282. package/dist/styles/utilities.css +31 -0
  283. package/dist/styles/web-preview.css +0 -21
  284. package/dist/styles/workspace-explorer.css +20 -65
  285. package/dist/think-agent-Cip5KAPj.d.ts +7 -0
  286. package/dist/utils/codex-model-catalog.d.ts +4 -4
  287. package/dist/utils/structured-code.d.ts +1 -1
  288. package/dist/workspace-path-L_KmjRjq.js +26 -0
  289. package/package.json +3 -4
  290. package/dist/class-names-9UtZwb0J.js +0 -12
  291. package/dist/components/AppFrame.d.ts +0 -24
  292. package/dist/components/AppFrame.js +0 -25
  293. package/dist/components/Shell.d.ts +0 -163
  294. package/dist/components/Shell.js +0 -137
  295. package/dist/components/SubagentRun.d.ts +0 -86
  296. package/dist/components/SubagentRun.js +0 -108
  297. package/dist/styles/app-frame.css +0 -15
  298. package/dist/styles/shell.css +0 -122
@@ -5,45 +5,27 @@ import { Toolbar as Toolbar$1 } from "@base-ui/react/toolbar";
5
5
  /**
6
6
  * Props for the Toolbar.Root component.
7
7
  */
8
- interface ToolbarRootProps extends Omit<React.ComponentPropsWithoutRef<typeof Toolbar$1.Root>, "className"> {
9
- /** Additional CSS class names */
10
- className?: string;
11
- }
8
+ interface ToolbarRootProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Root> {}
12
9
  /**
13
10
  * Props for the Toolbar.Button component.
14
11
  */
15
- interface ToolbarButtonProps extends Omit<React.ComponentPropsWithoutRef<typeof Toolbar$1.Button>, "className"> {
16
- /** Additional CSS class names */
17
- className?: string;
18
- }
12
+ interface ToolbarButtonProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Button> {}
19
13
  /**
20
14
  * Props for the Toolbar.Link component.
21
15
  */
22
- interface ToolbarLinkProps extends Omit<React.ComponentPropsWithoutRef<typeof Toolbar$1.Link>, "className"> {
23
- /** Additional CSS class names */
24
- className?: string;
25
- }
16
+ interface ToolbarLinkProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Link> {}
26
17
  /**
27
18
  * Props for the Toolbar.Group component.
28
19
  */
29
- interface ToolbarGroupProps extends Omit<React.ComponentPropsWithoutRef<typeof Toolbar$1.Group>, "className"> {
30
- /** Additional CSS class names */
31
- className?: string;
32
- }
20
+ interface ToolbarGroupProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Group> {}
33
21
  /**
34
22
  * Props for the Toolbar.Separator component.
35
23
  */
36
- interface ToolbarSeparatorProps extends Omit<React.ComponentPropsWithoutRef<typeof Toolbar$1.Separator>, "className"> {
37
- /** Additional CSS class names */
38
- className?: string;
39
- }
24
+ interface ToolbarSeparatorProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Separator> {}
40
25
  /**
41
26
  * Props for the Toolbar.Input component.
42
27
  */
43
- interface ToolbarInputProps extends Omit<React.ComponentPropsWithoutRef<typeof Toolbar$1.Input>, "className"> {
44
- /** Additional CSS class names */
45
- className?: string;
46
- }
28
+ interface ToolbarInputProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Input> {}
47
29
  /**
48
30
  * Container for grouping toolbar buttons and controls.
49
31
  *
@@ -1,3 +1,4 @@
1
+ import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
2
  import "react";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  import { Toolbar as Toolbar$1 } from "@base-ui/react/toolbar";
@@ -17,8 +18,8 @@ import { Toolbar as Toolbar$1 } from "@base-ui/react/toolbar";
17
18
  *
18
19
  * @see {@link https://base-ui.com/react/components/toolbar | Base UI Toolbar}
19
20
  */
20
- function ToolbarRoot({ className = "", ref, ...props }) {
21
- const classes = ["toolbar", className].filter(Boolean).join(" ");
21
+ function ToolbarRoot({ className, ref, ...props }) {
22
+ const classes = mergeBaseClassName("toolbar", className);
22
23
  return /* @__PURE__ */ jsx(Toolbar$1.Root, {
23
24
  ref,
24
25
  "data-slot": "toolbar",
@@ -29,8 +30,8 @@ function ToolbarRoot({ className = "", ref, ...props }) {
29
30
  /**
30
31
  * A clickable button within the toolbar.
31
32
  */
32
- function ToolbarButton({ className = "", ref, ...props }) {
33
- const classes = ["toolbar__button", className].filter(Boolean).join(" ");
33
+ function ToolbarButton({ className, ref, ...props }) {
34
+ const classes = mergeBaseClassName("toolbar__button", className);
34
35
  return /* @__PURE__ */ jsx(Toolbar$1.Button, {
35
36
  ref,
36
37
  "data-slot": "toolbar-button",
@@ -41,8 +42,8 @@ function ToolbarButton({ className = "", ref, ...props }) {
41
42
  /**
42
43
  * A link element within the toolbar.
43
44
  */
44
- function ToolbarLink({ className = "", ref, ...props }) {
45
- const classes = ["toolbar__link", className].filter(Boolean).join(" ");
45
+ function ToolbarLink({ className, ref, ...props }) {
46
+ const classes = mergeBaseClassName("toolbar__link", className);
46
47
  return /* @__PURE__ */ jsx(Toolbar$1.Link, {
47
48
  ref,
48
49
  "data-slot": "toolbar-link",
@@ -53,8 +54,8 @@ function ToolbarLink({ className = "", ref, ...props }) {
53
54
  /**
54
55
  * Groups toolbar items together.
55
56
  */
56
- function ToolbarGroup({ className = "", ref, ...props }) {
57
- const classes = ["toolbar__group", className].filter(Boolean).join(" ");
57
+ function ToolbarGroup({ className, ref, ...props }) {
58
+ const classes = mergeBaseClassName("toolbar__group", className);
58
59
  return /* @__PURE__ */ jsx(Toolbar$1.Group, {
59
60
  ref,
60
61
  "data-slot": "toolbar-group",
@@ -65,8 +66,8 @@ function ToolbarGroup({ className = "", ref, ...props }) {
65
66
  /**
66
67
  * Visual separator between toolbar sections.
67
68
  */
68
- function ToolbarSeparator({ className = "", ref, ...props }) {
69
- const classes = ["toolbar__separator", className].filter(Boolean).join(" ");
69
+ function ToolbarSeparator({ className, ref, ...props }) {
70
+ const classes = mergeBaseClassName("toolbar__separator", className);
70
71
  return /* @__PURE__ */ jsx(Toolbar$1.Separator, {
71
72
  ref,
72
73
  "data-slot": "toolbar-separator",
@@ -77,8 +78,8 @@ function ToolbarSeparator({ className = "", ref, ...props }) {
77
78
  /**
78
79
  * Input element within the toolbar.
79
80
  */
80
- function ToolbarInput({ className = "", ref, ...props }) {
81
- const classes = ["toolbar__input", className].filter(Boolean).join(" ");
81
+ function ToolbarInput({ className, ref, ...props }) {
82
+ const classes = mergeBaseClassName("toolbar__input", className);
82
83
  return /* @__PURE__ */ jsx(Toolbar$1.Input, {
83
84
  ref,
84
85
  "data-slot": "toolbar-input",
@@ -9,15 +9,9 @@ interface TooltipPositionerProps extends Tooltip$1.Positioner.Props {}
9
9
  interface TooltipProviderProps extends Tooltip$1.Provider.Props {
10
10
  delayDuration?: number;
11
11
  }
12
- interface TooltipPopupProps extends Omit<Tooltip$1.Popup.Props, "className"> {
13
- className?: string;
14
- }
15
- interface TooltipViewportProps extends Omit<Tooltip$1.Viewport.Props, "className"> {
16
- className?: string;
17
- }
18
- interface TooltipArrowProps extends Omit<Tooltip$1.Arrow.Props, "className"> {
19
- className?: string;
20
- }
12
+ interface TooltipPopupProps extends Tooltip$1.Popup.Props {}
13
+ interface TooltipViewportProps extends Tooltip$1.Viewport.Props {}
14
+ interface TooltipArrowProps extends Tooltip$1.Arrow.Props {}
21
15
  /**
22
16
  * A tooltip component for displaying helpful information on hover.
23
17
  *
@@ -1,3 +1,4 @@
1
+ import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
2
  import "react";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
@@ -36,12 +37,8 @@ function TooltipTrigger(props) {
36
37
  ...props
37
38
  });
38
39
  }
39
- function TooltipPopup({ className = "", ref, role = "tooltip", ...props }) {
40
- const classes = [
41
- "tooltip__popup",
42
- "base-ui-popup",
43
- className
44
- ].filter(Boolean).join(" ");
40
+ function TooltipPopup({ className, ref, role = "tooltip", ...props }) {
41
+ const classes = mergeBaseClassName(["tooltip__popup", "base-ui-popup"].filter(Boolean).join(" "), className);
45
42
  return /* @__PURE__ */ jsx(Tooltip$1.Popup, {
46
43
  ref,
47
44
  role,
@@ -55,8 +52,8 @@ function TooltipPopup({ className = "", ref, role = "tooltip", ...props }) {
55
52
  * triggers. Pair the adaptive classes from `base-ui-motion.css` with the
56
53
  * positioner, popup, and this viewport when that behavior is needed.
57
54
  */
58
- function TooltipViewport({ className = "", ref, ...props }) {
59
- const classes = ["tooltip__viewport", className].filter(Boolean).join(" ");
55
+ function TooltipViewport({ className, ref, ...props }) {
56
+ const classes = mergeBaseClassName(["tooltip__viewport"].filter(Boolean).join(" "), className);
60
57
  return /* @__PURE__ */ jsx(Tooltip$1.Viewport, {
61
58
  ref,
62
59
  "data-slot": "tooltip-viewport",
@@ -64,8 +61,8 @@ function TooltipViewport({ className = "", ref, ...props }) {
64
61
  ...props
65
62
  });
66
63
  }
67
- function TooltipArrow({ className = "", ref, ...props }) {
68
- const classes = ["tooltip__arrow", className].filter(Boolean).join(" ");
64
+ function TooltipArrow({ className, ref, ...props }) {
65
+ const classes = mergeBaseClassName(["tooltip__arrow"].filter(Boolean).join(" "), className);
69
66
  return /* @__PURE__ */ jsx(Tooltip$1.Arrow, {
70
67
  ref,
71
68
  "data-slot": "tooltip-arrow",
@@ -77,8 +77,7 @@ declare function WebPreviewNavigation({
77
77
  }: WebPreviewNavigationProps & {
78
78
  ref?: React.Ref<HTMLDivElement>;
79
79
  }): React.JSX.Element;
80
- interface WebPreviewNavigationButtonProps extends Omit<ButtonProps, "variant" | "size" | "color" | "className" | "onClick"> {
81
- className?: string;
80
+ interface WebPreviewNavigationButtonProps extends Omit<ButtonProps, "variant" | "size" | "color" | "onClick"> {
82
81
  action?: "back" | "forward" | "reload";
83
82
  label?: string;
84
83
  tooltip?: string;
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-9UtZwb0J.js";
2
- import { L as RefreshIcon, n as ArrowLeftIcon, r as ArrowRightIcon, s as ChevronDownIcon } from "../icons-CpfUer49.js";
1
+ import { t as cx } from "../class-names-Bk-QLWWI.js";
2
+ import { R as RefreshIcon, c as ChevronDownIcon, n as ArrowLeftIcon, r as ArrowRightIcon } from "../icons--FqCZEc3.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { Tooltip } from "./Tooltip.js";
5
5
  import { Badge } from "./Badge.js";
@@ -122,6 +122,7 @@ function WebPreview({ className, defaultUrl = "", url: controlledUrl, onUrlChang
122
122
  ref,
123
123
  className: cx("web-preview", className),
124
124
  ...props,
125
+ "data-recipe": "framed-panel",
125
126
  children
126
127
  })
127
128
  });
@@ -246,7 +247,7 @@ function WebPreviewConsole({ className, logs = [], children, ref, ...props }) {
246
247
  children: [/* @__PURE__ */ jsxs(ScrollArea.Viewport, {
247
248
  className: "web-preview__console-viewport",
248
249
  children: [/* @__PURE__ */ jsx("ul", {
249
- className: "web-preview__console-list",
250
+ className: "web-preview__console-list sigvelo-stack-list",
250
251
  children: logs.length === 0 ? /* @__PURE__ */ jsx("li", {
251
252
  className: "web-preview__console-empty",
252
253
  children: "No console output"
@@ -1,2 +1,2 @@
1
- import { a as useWorkspace, i as WorkspaceState, n as WorkspaceInfo, r as WorkspaceSource, t as UseWorkspaceOptions } from "../Workspace-D39LxGvP.js";
1
+ import { a as useWorkspace, i as WorkspaceState, n as WorkspaceInfo, r as WorkspaceSource, t as UseWorkspaceOptions } from "../Workspace-C9RFoxcu.js";
2
2
  export { UseWorkspaceOptions, WorkspaceInfo, WorkspaceSource, WorkspaceState, useWorkspace };
@@ -1,3 +1,4 @@
1
+ import { n as isWorkspacePathWithinRoot, t as canonicalizeAbsoluteWorkspacePath } from "../workspace-path-L_KmjRjq.js";
1
2
  import { getWorkspaceBasename, inferWorkspaceMedia } from "./WorkspaceFile.js";
2
3
  import * as React from "react";
3
4
  //#region src/components/Workspace.ts
@@ -9,22 +10,6 @@ const EMPTY_PATHS = /* @__PURE__ */ new Set();
9
10
  function toErrorMessage(error) {
10
11
  return error instanceof Error ? error.message : String(error);
11
12
  }
12
- function normalizeWorkspacePath(path) {
13
- if (!path.startsWith("/") || path.includes("\0")) return null;
14
- const segments = [];
15
- for (const segment of path.split("/")) {
16
- if (!segment || segment === ".") continue;
17
- if (segment === "..") segments.pop();
18
- else segments.push(segment);
19
- }
20
- return `/${segments.join("/")}`;
21
- }
22
- function isPathWithinWorkspaceRoot(path, root) {
23
- const normalizedPath = normalizeWorkspacePath(path);
24
- const normalizedRoot = normalizeWorkspacePath(root);
25
- if (!normalizedPath || !normalizedRoot) return false;
26
- return normalizedRoot === "/" || normalizedPath === normalizedRoot || normalizedPath.startsWith(`${normalizedRoot}/`);
27
- }
28
13
  function getWorkspaceParentPath(path) {
29
14
  const separatorIndex = path.lastIndexOf("/");
30
15
  return separatorIndex <= 0 ? "/" : path.slice(0, separatorIndex);
@@ -215,7 +200,7 @@ function useWorkspace({ source, root = "/", resolveFileAsset, maxInlineAssetByte
215
200
  let media = inferWorkspaceMedia(path, fileInfo?.mimeType);
216
201
  const requestIsCurrent = () => !controller.signal.aborted && generation === sourceIdentityRef.current.generation && selectedPathRef.current === path && (refreshRequestVersion === void 0 || refreshRequestVersionRef.current === refreshRequestVersion);
217
202
  try {
218
- if (!isPathWithinWorkspaceRoot(path, root)) throw new Error("This file is outside the configured workspace root.");
203
+ if (!isWorkspacePathWithinRoot(path, root)) throw new Error("This file is outside the configured workspace root.");
219
204
  const resolvedInfo = await source.stat(path);
220
205
  if (!requestIsCurrent()) return;
221
206
  if (!resolvedInfo) {
@@ -223,16 +208,16 @@ function useWorkspace({ source, root = "/", resolveFileAsset, maxInlineAssetByte
223
208
  throw new Error("File metadata is unavailable because source.stat() returned null.");
224
209
  }
225
210
  fileInfo = resolvedInfo;
226
- const readPath = normalizeWorkspacePath(resolvedInfo.path);
211
+ const readPath = canonicalizeAbsoluteWorkspacePath(resolvedInfo.path);
227
212
  if (!readPath) throw new Error("The workspace source returned an invalid file path from stat().");
228
213
  if (readPath !== resolvedInfo.path) throw new Error("The workspace source returned a non-canonical file path from stat().");
229
- if (!isPathWithinWorkspaceRoot(readPath, root)) throw new Error("This file's resolved path is outside the configured workspace root.");
214
+ if (!isWorkspacePathWithinRoot(readPath, root)) throw new Error("This file's resolved path is outside the configured workspace root.");
230
215
  media = inferWorkspaceMedia(readPath, resolvedInfo.mimeType);
231
216
  const resolver = resolveFileAssetRef.current;
232
217
  const resolvedAsset = resolver ? await resolver({
233
218
  path: readPath,
234
219
  requestedPath: path,
235
- root: normalizeWorkspacePath(root) ?? root,
220
+ root: canonicalizeAbsoluteWorkspacePath(root) ?? root,
236
221
  info: resolvedInfo,
237
222
  signal: controller.signal
238
223
  }) : null;
@@ -1,4 +1,4 @@
1
- import { i as WorkspaceState } from "../Workspace-D39LxGvP.js";
1
+ import { i as WorkspaceState } from "../Workspace-C9RFoxcu.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/WorkspaceBrowser.d.ts
@@ -1,6 +1,6 @@
1
- import { R as SearchIcon } from "../icons-CpfUer49.js";
1
+ import { z as SearchIcon } from "../icons--FqCZEc3.js";
2
2
  import { Field } from "./Field.js";
3
- import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../FileTree-CkVbIMWV.js";
3
+ import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../FileTree-B7bBsUyU.js";
4
4
  import { WorkspaceHeader } from "./WorkspaceHeader.js";
5
5
  import * as React from "react";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -57,7 +57,7 @@ function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, sh
57
57
  className: "workspace-explorer__filter",
58
58
  name: "workspace-filter",
59
59
  children: [/* @__PURE__ */ jsx(Field.Label, {
60
- className: "workspace-explorer__filter-label",
60
+ className: "workspace-explorer__filter-label sigvelo-visually-hidden",
61
61
  children: "Filter workspace files"
62
62
  }), /* @__PURE__ */ jsxs("div", {
63
63
  className: "workspace-explorer__filter-control",
@@ -1,33 +1,5 @@
1
1
  import { a as WorkspaceFileLinkProps, c as WorkspaceLinkResolution, d as WorkspaceNavigationProvider, f as WorkspaceNavigationProviderProps, i as WorkspaceFileLink, l as WorkspaceNavigationAdapter, n as WorkspaceDestination, o as WorkspaceInvalidDestination, p as resolveWorkspaceLink, r as WorkspaceExternalDestination, s as WorkspaceLinkBase, t as ResolveWorkspaceLinkOptions, u as WorkspaceNavigationEntry } from "../WorkspaceLink-DK1DWMHe.js";
2
- import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset } from "../WorkspaceFile-DOZkPwzu.js";
3
- import { a as useWorkspace, i as WorkspaceState, n as WorkspaceInfo, r as WorkspaceSource, t as UseWorkspaceOptions } from "../Workspace-D39LxGvP.js";
4
- import * as React from "react";
5
-
6
- //#region src/components/WorkspaceExplorer.d.ts
7
- interface WorkspaceExplorerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
8
- workspace: WorkspaceState;
9
- /** Host-owned URL/history adapter shared by chat links and the file explorer. */
10
- navigation: WorkspaceNavigationAdapter;
11
- /** Header label. Defaults to "Workspace". */
12
- title?: React.ReactNode;
13
- /** Leading workspace control, such as a host-owned Back to chat button. */
14
- leading?: React.ReactNode;
15
- /** Extra header actions, rendered next to the built-in refresh button. */
16
- actions?: React.ReactNode;
17
- /** Show the file filter input. Hidden by default to keep the browser compact. */
18
- showFilter?: boolean;
19
- filterPlaceholder?: string;
20
- emptyState?: React.ReactNode;
21
- }
22
- /**
23
- * Convenience workspace application composed from `WorkspaceBrowser` and
24
- * `WorkspaceFileView`. The host adapter owns URLs and history; the explorer
25
- * only restores presentation state for stable navigation entry keys.
26
- */
27
- declare function WorkspaceExplorer({
28
- ...props
29
- }: WorkspaceExplorerProps & {
30
- ref?: React.Ref<HTMLDivElement>;
31
- }): React.JSX.Element;
32
- //#endregion
2
+ import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset } from "../WorkspaceFile-C8UzuSH4.js";
3
+ import { a as useWorkspace, i as WorkspaceState, n as WorkspaceInfo, r as WorkspaceSource, t as UseWorkspaceOptions } from "../Workspace-C9RFoxcu.js";
4
+ import { n as WorkspaceExplorerProps, t as WorkspaceExplorer } from "../WorkspaceExplorer-sZewzT2O.js";
33
5
  export { type ResolveWorkspaceLinkOptions, type UseWorkspaceOptions, type WorkspaceDestination, WorkspaceExplorer, WorkspaceExplorerProps, type WorkspaceExternalDestination, type WorkspaceFileAsset, type WorkspaceFileAssetRequest, type WorkspaceFileAssetResolver, WorkspaceFileLink, type WorkspaceFileLinkProps, type WorkspaceFileState, type WorkspaceInfo, type WorkspaceInvalidDestination, type WorkspaceLinkBase, type WorkspaceLinkResolution, type WorkspaceMediaInfo, type WorkspaceMediaKind, type WorkspaceMediaTrack, type WorkspaceMediaTrackKind, type WorkspaceNavigationAdapter, type WorkspaceNavigationEntry, WorkspaceNavigationProvider, type WorkspaceNavigationProviderProps, type WorkspaceSkillDocument, type WorkspaceSource, type WorkspaceState, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace };
@@ -1,9 +1,9 @@
1
- import { t as cx } from "../class-names-9UtZwb0J.js";
2
- import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-DIPbXrUM.js";
1
+ import { t as cx } from "../class-names-Bk-QLWWI.js";
2
+ import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-B1ykV1dS.js";
3
3
  import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
4
4
  import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
5
5
  import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./WorkspaceFile.js";
6
- import { t as WorkspaceFileView } from "../WorkspaceFileView-rSN_yT0L.js";
6
+ import { t as WorkspaceFileView } from "../WorkspaceFileView-DNdGAEiX.js";
7
7
  import { useWorkspace } from "./Workspace.js";
8
8
  import * as React from "react";
9
9
  import { jsx } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset, u as getWorkspaceBasename } from "../WorkspaceFile-DOZkPwzu.js";
1
+ import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset, u as getWorkspaceBasename } from "../WorkspaceFile-C8UzuSH4.js";
2
2
  export { WorkspaceFileAsset, WorkspaceFileAssetRequest, WorkspaceFileAssetResolver, WorkspaceFileState, WorkspaceMediaInfo, WorkspaceMediaKind, WorkspaceMediaTrack, WorkspaceMediaTrackKind, WorkspaceSkillDocument, getWorkspaceBasename, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill };
@@ -1,4 +1,4 @@
1
- import { i as WorkspaceFileState } from "../WorkspaceFile-DOZkPwzu.js";
1
+ import { i as WorkspaceFileState } from "../WorkspaceFile-C8UzuSH4.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/WorkspaceFileView.d.ts
@@ -1,2 +1,2 @@
1
- import { t as WorkspaceFileView } from "../WorkspaceFileView-rSN_yT0L.js";
1
+ import { t as WorkspaceFileView } from "../WorkspaceFileView-DNdGAEiX.js";
2
2
  export { WorkspaceFileView };
@@ -1,4 +1,4 @@
1
- import { L as RefreshIcon, n as ArrowLeftIcon, r as ArrowRightIcon } from "../icons-CpfUer49.js";
1
+ import { R as RefreshIcon, n as ArrowLeftIcon, r as ArrowRightIcon } from "../icons--FqCZEc3.js";
2
2
  import { AppTopBar } from "./AppTopBar.js";
3
3
  import "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { n as WorkspaceNavigationProvider, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-DIPbXrUM.js";
1
+ import { n as WorkspaceNavigationProvider, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-B1ykV1dS.js";
2
2
  export { WorkspaceFileLink, WorkspaceNavigationProvider, resolveWorkspaceLink };
@@ -1,2 +1,2 @@
1
- import { A as MinusIcon, B as SearchIcon, C as ImageIcon, D as McpIcon, E as MaximizeIcon, F as PencilIcon, G as StopIcon, H as SpinnerIcon, I as PlayIcon, J as TrashIcon, K as SunIcon, L as PlusIcon, M as MoonIcon, N as PaperclipIcon, O as MessageSquareIcon, P as PauseIcon, R as QueueIcon, S as IconProps, T as LinkIcon, U as SquareIcon, V as SidebarIcon, W as SteerIcon, X as WrenchIcon, Y as WarningIcon, Z as XIcon, _ as EyeIcon, a as BoxIcon, b as FolderIcon, c as ChevronDownIcon, d as CodeIcon, f as CopyIcon, g as EllipsisIcon, h as DownloadIcon, i as ArrowUpIcon, j as MonitorIcon, k as MicrophoneIcon, l as ChevronLeftIcon, m as DotIcon, n as ArrowLeftIcon, o as BrandIconProps, p as DiscordIcon, q as TerminalIcon, r as ArrowRightIcon, s as CheckIcon, t as ArrowDownIcon, u as ChevronRightIcon, v as EyeOffIcon, w as InfoIcon, x as FolderOpenIcon, y as FileIcon, z as RefreshIcon } from "../icons-GQd1xF4e.js";
2
- export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BoxIcon, BrandIconProps, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, IconProps, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, SteerIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
1
+ import { A as MicrophoneIcon, B as RefreshIcon, C as IconProps, D as MaximizeIcon, E as LinkIcon, F as PauseIcon, G as SteerIcon, H as SidebarIcon, I as PencilIcon, J as TerminalIcon, K as StopIcon, L as PlayIcon, M as MonitorIcon, N as MoonIcon, O as McpIcon, P as PaperclipIcon, Q as XIcon, R as PlusIcon, S as FolderOpenIcon, T as InfoIcon, U as SpinnerIcon, V as SearchIcon, W as SquareIcon, X as WarningIcon, Y as TrashIcon, Z as WrenchIcon, _ as EllipsisIcon, a as BookmarkIcon, b as FileIcon, c as CheckIcon, d as ChevronRightIcon, f as CodeIcon, g as DownloadIcon, h as DotIcon, i as ArrowUpIcon, j as MinusIcon, k as MessageSquareIcon, l as ChevronDownIcon, m as DiscordIcon, n as ArrowLeftIcon, o as BoxIcon, p as CopyIcon, q as SunIcon, r as ArrowRightIcon, s as BrandIconProps, t as ArrowDownIcon, u as ChevronLeftIcon, v as EyeIcon, w as ImageIcon, x as FolderIcon, y as EyeOffIcon, z as QueueIcon } from "../icons-DpUqY8Mp.js";
2
+ export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookmarkIcon, BoxIcon, BrandIconProps, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, IconProps, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, SteerIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
@@ -1,2 +1,2 @@
1
- import { A as MoonIcon, B as SpinnerIcon, C as LinkIcon, D as MicrophoneIcon, E as MessageSquareIcon, F as PlusIcon, G as TerminalIcon, H as SteerIcon, I as QueueIcon, J as WrenchIcon, K as TrashIcon, L as RefreshIcon, M as PauseIcon, N as PencilIcon, O as MinusIcon, P as PlayIcon, R as SearchIcon, S as InfoIcon, T as McpIcon, U as StopIcon, V as SquareIcon, W as SunIcon, Y as XIcon, _ as EyeOffIcon, a as BoxIcon, b as FolderOpenIcon, c as ChevronLeftIcon, d as CopyIcon, f as DiscordIcon, g as EyeIcon, h as EllipsisIcon, i as ArrowUpIcon, j as PaperclipIcon, k as MonitorIcon, l as ChevronRightIcon, m as DownloadIcon, n as ArrowLeftIcon, o as CheckIcon, p as DotIcon, q as WarningIcon, r as ArrowRightIcon, s as ChevronDownIcon, t as ArrowDownIcon, u as CodeIcon, v as FileIcon, w as MaximizeIcon, x as ImageIcon, y as FolderIcon, z as SidebarIcon } from "../icons-CpfUer49.js";
2
- export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BoxIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, SteerIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
1
+ import { A as MonitorIcon, B as SidebarIcon, C as InfoIcon, D as MessageSquareIcon, E as McpIcon, F as PlayIcon, G as SunIcon, H as SquareIcon, I as PlusIcon, J as WarningIcon, K as TerminalIcon, L as QueueIcon, M as PaperclipIcon, N as PauseIcon, O as MicrophoneIcon, P as PencilIcon, R as RefreshIcon, S as ImageIcon, T as MaximizeIcon, U as SteerIcon, V as SpinnerIcon, W as StopIcon, X as XIcon, Y as WrenchIcon, _ as EyeIcon, a as BookmarkIcon, b as FolderIcon, c as ChevronDownIcon, d as CodeIcon, f as CopyIcon, g as EllipsisIcon, h as DownloadIcon, i as ArrowUpIcon, j as MoonIcon, k as MinusIcon, l as ChevronLeftIcon, m as DotIcon, n as ArrowLeftIcon, o as BoxIcon, p as DiscordIcon, q as TrashIcon, r as ArrowRightIcon, s as CheckIcon, t as ArrowDownIcon, u as ChevronRightIcon, v as EyeOffIcon, w as LinkIcon, x as FolderOpenIcon, y as FileIcon, z as SearchIcon } from "../icons--FqCZEc3.js";
2
+ export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookmarkIcon, BoxIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, SteerIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
@@ -2,8 +2,7 @@ import { r as ButtonProps } from "./Button-FX_hpqxm.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/_internal/copy-button.d.ts
5
- interface CopyButtonProps extends Omit<ButtonProps, "children" | "variant" | "color" | "className" | "onClick" | "onError"> {
6
- className?: string;
5
+ interface CopyButtonProps extends Omit<ButtonProps, "children" | "variant" | "color" | "onClick" | "onError"> {
7
6
  label: string;
8
7
  tooltip?: string;
9
8
  text: string;
@@ -1,4 +1,4 @@
1
- import { d as CopyIcon, o as CheckIcon } from "./icons-CpfUer49.js";
1
+ import { f as CopyIcon, s as CheckIcon } from "./icons--FqCZEc3.js";
2
2
  import { Button } from "./components/Button.js";
3
3
  import { Tooltip } from "./components/Tooltip.js";
4
4
  import * as React from "react";
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Box, Check, ChevronDown, ChevronLeft, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Image, Info, Link2, ListRestart, LoaderCircle, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
2
+ import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Bookmark, Box, Check, ChevronDown, ChevronLeft, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Image, Info, Link2, ListRestart, LoaderCircle, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
3
3
  import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
4
4
  //#region src/components/_internal/icons.tsx
5
5
  function icon(Component) {
@@ -49,6 +49,7 @@ const ArrowLeftIcon = icon(ArrowLeft);
49
49
  const ArrowRightIcon = icon(ArrowRight);
50
50
  const ArrowDownIcon = icon(ArrowDown);
51
51
  const ArrowUpIcon = icon(ArrowUp);
52
+ const BookmarkIcon = icon(Bookmark);
52
53
  const DownloadIcon = icon(Download);
53
54
  const RefreshIcon = icon(RefreshCw);
54
55
  const DotIcon = icon(Dot);
@@ -82,4 +83,4 @@ const MoonIcon = icon(Moon);
82
83
  const SunIcon = icon(Sun);
83
84
  const MaximizeIcon = icon(Maximize2);
84
85
  //#endregion
85
- export { MoonIcon as A, SpinnerIcon as B, LinkIcon as C, MicrophoneIcon as D, MessageSquareIcon as E, PlusIcon as F, TerminalIcon as G, SteerIcon as H, QueueIcon as I, WrenchIcon as J, TrashIcon as K, RefreshIcon as L, PauseIcon as M, PencilIcon as N, MinusIcon as O, PlayIcon as P, SearchIcon as R, InfoIcon as S, McpIcon as T, StopIcon as U, SquareIcon as V, SunIcon as W, XIcon as Y, EyeOffIcon as _, BoxIcon as a, FolderOpenIcon as b, ChevronLeftIcon as c, CopyIcon as d, DiscordIcon as f, EyeIcon as g, EllipsisIcon as h, ArrowUpIcon as i, PaperclipIcon as j, MonitorIcon as k, ChevronRightIcon as l, DownloadIcon as m, ArrowLeftIcon as n, CheckIcon as o, DotIcon as p, WarningIcon as q, ArrowRightIcon as r, ChevronDownIcon as s, ArrowDownIcon as t, CodeIcon as u, FileIcon as v, MaximizeIcon as w, ImageIcon as x, FolderIcon as y, SidebarIcon as z };
86
+ export { MonitorIcon as A, SidebarIcon as B, InfoIcon as C, MessageSquareIcon as D, McpIcon as E, PlayIcon as F, SunIcon as G, SquareIcon as H, PlusIcon as I, WarningIcon as J, TerminalIcon as K, QueueIcon as L, PaperclipIcon as M, PauseIcon as N, MicrophoneIcon as O, PencilIcon as P, RefreshIcon as R, ImageIcon as S, MaximizeIcon as T, SteerIcon as U, SpinnerIcon as V, StopIcon as W, XIcon as X, WrenchIcon as Y, EyeIcon as _, BookmarkIcon as a, FolderIcon as b, ChevronDownIcon as c, CodeIcon as d, CopyIcon as f, EllipsisIcon as g, DownloadIcon as h, ArrowUpIcon as i, MoonIcon as j, MinusIcon as k, ChevronLeftIcon as l, DotIcon as m, ArrowLeftIcon as n, BoxIcon as o, DiscordIcon as p, TrashIcon as q, ArrowRightIcon as r, CheckIcon as s, ArrowDownIcon as t, ChevronRightIcon as u, EyeOffIcon as v, LinkIcon as w, FolderOpenIcon as x, FileIcon as y, SearchIcon as z };
@@ -142,6 +142,11 @@ declare const ArrowUpIcon: ({
142
142
  strokeWidth,
143
143
  ...props
144
144
  }: IconProps) => import("react").JSX.Element;
145
+ declare const BookmarkIcon: ({
146
+ size,
147
+ strokeWidth,
148
+ ...props
149
+ }: IconProps) => import("react").JSX.Element;
145
150
  declare const DownloadIcon: ({
146
151
  size,
147
152
  strokeWidth,
@@ -257,4 +262,4 @@ declare const MaximizeIcon: ({
257
262
  ...props
258
263
  }: IconProps) => import("react").JSX.Element;
259
264
  //#endregion
260
- export { MinusIcon as A, SearchIcon as B, ImageIcon as C, McpIcon as D, MaximizeIcon as E, PencilIcon as F, StopIcon as G, SpinnerIcon as H, PlayIcon as I, TrashIcon as J, SunIcon as K, PlusIcon as L, MoonIcon as M, PaperclipIcon as N, MessageSquareIcon as O, PauseIcon as P, QueueIcon as R, IconProps as S, LinkIcon as T, SquareIcon as U, SidebarIcon as V, SteerIcon as W, WrenchIcon as X, WarningIcon as Y, XIcon as Z, EyeIcon as _, BoxIcon as a, FolderIcon as b, ChevronDownIcon as c, CodeIcon as d, CopyIcon as f, EllipsisIcon as g, DownloadIcon as h, ArrowUpIcon as i, MonitorIcon as j, MicrophoneIcon as k, ChevronLeftIcon as l, DotIcon as m, ArrowLeftIcon as n, BrandIconProps as o, DiscordIcon as p, TerminalIcon as q, ArrowRightIcon as r, CheckIcon as s, ArrowDownIcon as t, ChevronRightIcon as u, EyeOffIcon as v, InfoIcon as w, FolderOpenIcon as x, FileIcon as y, RefreshIcon as z };
265
+ export { MicrophoneIcon as A, RefreshIcon as B, IconProps as C, MaximizeIcon as D, LinkIcon as E, PauseIcon as F, SteerIcon as G, SidebarIcon as H, PencilIcon as I, TerminalIcon as J, StopIcon as K, PlayIcon as L, MonitorIcon as M, MoonIcon as N, McpIcon as O, PaperclipIcon as P, XIcon as Q, PlusIcon as R, FolderOpenIcon as S, InfoIcon as T, SpinnerIcon as U, SearchIcon as V, SquareIcon as W, WarningIcon as X, TrashIcon as Y, WrenchIcon as Z, EllipsisIcon as _, BookmarkIcon as a, FileIcon as b, CheckIcon as c, ChevronRightIcon as d, CodeIcon as f, DownloadIcon as g, DotIcon as h, ArrowUpIcon as i, MinusIcon as j, MessageSquareIcon as k, ChevronDownIcon as l, DiscordIcon as m, ArrowLeftIcon as n, BoxIcon as o, CopyIcon as p, SunIcon as q, ArrowRightIcon as r, BrandIconProps as s, ArrowDownIcon as t, ChevronLeftIcon as u, EyeIcon as v, ImageIcon as w, FolderIcon as x, EyeOffIcon as y, QueueIcon as z };
@@ -2,13 +2,11 @@
2
2
  position: relative;
3
3
  width: min(28rem, 100%);
4
4
  min-width: 0;
5
- padding: var(--sigvelo-spacing-3) var(--sigvelo-spacing-2) var(--sigvelo-spacing-2);
6
- border-radius: calc(var(--sigvelo-radius-lg) + var(--sigvelo-spacing-1));
5
+ padding: var(--sigvelo-spacing-2);
6
+ border-radius: var(--sigvelo-radius-lg);
7
7
  color: var(--sigvelo-color-text);
8
8
  background: color-mix(in oklab, var(--sigvelo-color-surface), transparent 3%);
9
- box-shadow:
10
- 0 1.25rem 3rem color-mix(in oklab, var(--sigvelo-color-text), transparent 88%),
11
- 0 0.25rem 0.75rem color-mix(in oklab, var(--sigvelo-color-text), transparent 94%);
9
+ box-shadow: var(--sigvelo-shadow-xs);
12
10
  }
13
11
 
14
12
  .agent-activity-preview__badge {
@@ -95,12 +93,16 @@
95
93
  min-width: 0;
96
94
  }
97
95
 
96
+ .agent-activity-preview__item:first-child {
97
+ padding-inline-end: calc(2rem + var(--sigvelo-spacing-0-5));
98
+ }
99
+
98
100
  .agent-activity-preview__row {
99
101
  display: block;
100
102
  width: 100%;
101
103
  min-width: 0;
102
- min-height: 2.5rem;
103
- padding: var(--sigvelo-spacing-2);
104
+ min-height: var(--sigvelo-control-height-sm);
105
+ padding: var(--sigvelo-spacing-1-5);
104
106
  border: 0;
105
107
  border-radius: var(--sigvelo-radius-md);
106
108
  color: inherit;
@@ -120,9 +122,9 @@
120
122
  .agent-activity-preview__file-action {
121
123
  display: grid;
122
124
  place-items: center;
123
- min-width: 2.5rem;
124
- min-height: 2.5rem;
125
- padding: var(--sigvelo-spacing-2);
125
+ min-width: var(--sigvelo-control-height-sm);
126
+ min-height: var(--sigvelo-control-height-sm);
127
+ padding: var(--sigvelo-spacing-1-5);
126
128
  border: 0;
127
129
  border-radius: var(--sigvelo-radius-md);
128
130
  color: var(--sigvelo-color-text-muted);
@@ -205,7 +207,7 @@
205
207
 
206
208
  .agent-activity-preview__row,
207
209
  .agent-activity-preview__file-action {
208
- min-height: 2.75rem;
210
+ min-height: var(--sigvelo-control-height-xl);
209
211
  }
210
212
  }
211
213
 
@@ -2,13 +2,13 @@
2
2
  display: grid;
3
3
  width: min(22rem, 100%);
4
4
  min-width: 0;
5
- gap: var(--sigvelo-spacing-2);
6
- padding: var(--sigvelo-spacing-2);
5
+ gap: var(--sigvelo-spacing-1-5);
6
+ padding: var(--sigvelo-spacing-1-5);
7
7
  border: 1px solid var(--sigvelo-color-neutral-border-muted);
8
- border-radius: var(--sigvelo-radius-lg);
8
+ border-radius: var(--sigvelo-radius-md);
9
9
  color: var(--sigvelo-color-text);
10
10
  background: var(--sigvelo-color-surface);
11
- box-shadow: var(--sigvelo-shadow-md);
11
+ box-shadow: var(--sigvelo-shadow-xs);
12
12
  }
13
13
 
14
14
  .agent-attention[data-tone="warning"] {
@@ -20,26 +20,26 @@
20
20
  display: grid;
21
21
  grid-template-columns: auto minmax(0, 1fr) auto;
22
22
  align-items: center;
23
- gap: var(--sigvelo-spacing-2);
23
+ gap: var(--sigvelo-spacing-1-5);
24
24
  min-width: 0;
25
25
  }
26
26
 
27
27
  .agent-attention__trigger.button {
28
28
  width: 100%;
29
29
  height: auto;
30
- min-height: 2.5rem;
30
+ min-height: var(--sigvelo-control-height-sm);
31
31
  justify-content: stretch;
32
- padding: var(--sigvelo-spacing-2);
33
- margin: calc(-1 * var(--sigvelo-spacing-2));
32
+ padding: var(--sigvelo-spacing-1-5);
33
+ margin: calc(-1 * var(--sigvelo-spacing-1-5));
34
34
  text-align: start;
35
35
  }
36
36
 
37
37
  .agent-attention__icon {
38
38
  display: grid;
39
39
  place-items: center;
40
- width: 2rem;
41
- height: 2rem;
42
- border-radius: var(--sigvelo-radius-md);
40
+ width: var(--sigvelo-control-height-xs);
41
+ height: var(--sigvelo-control-height-xs);
42
+ border-radius: var(--sigvelo-radius-sm);
43
43
  color: var(--sigvelo-color-text-muted);
44
44
  background: var(--sigvelo-color-neutral-bg-subtle);
45
45
  }
@@ -80,14 +80,20 @@
80
80
  .agent-attention__body {
81
81
  min-width: 0;
82
82
  overflow: hidden;
83
- border-radius: var(--sigvelo-radius-md);
83
+ border-radius: var(--sigvelo-radius-sm);
84
84
  }
85
85
 
86
86
  .agent-attention__actions {
87
87
  display: flex;
88
88
  flex-wrap: wrap;
89
89
  justify-content: flex-end;
90
- gap: var(--sigvelo-spacing-1-5);
90
+ gap: var(--sigvelo-spacing-1);
91
+ }
92
+
93
+ @media (any-pointer: coarse) {
94
+ .agent-attention__trigger.button {
95
+ min-height: var(--sigvelo-control-height-xl);
96
+ }
91
97
  }
92
98
 
93
99
  .agent-attention[data-busy] .agent-attention__title {