@mcp-b/react-components 0.44.1 → 0.46.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 (170) hide show
  1. package/dist/{AgentChat-Bibfj7u1.d.ts → AgentChat-BLmQghkt.d.ts} +2 -2
  2. package/dist/{AgentToolRunsContext-daY67hFM.d.ts → AgentToolRunsContext-jtmveaRE.d.ts} +8 -7
  3. package/dist/{CodeBlock-Dl7a3Wqo.js → CodeBlock-BpooTofO.js} +1 -1
  4. package/dist/{FileTree-Uu3ZnW1u.js → FileTree-CAXWXH63.js} +1 -1
  5. package/dist/{McpConnectorForm-MRm1r59e.d.ts → McpConnectorForm-BETdVBRk.d.ts} +1 -1
  6. package/dist/{McpPluginCatalog-mbGw8FTu.d.ts → McpPluginCatalog-C6ip9IvL.d.ts} +2 -2
  7. package/dist/{PromptInput-BRX7FhjH.d.ts → PromptInput-DtJHyp0S.d.ts} +27 -22
  8. package/dist/{ResponsiveSidebarShell-DOXd5T-d.d.ts → ResponsiveSidebarShell-BTVPxLJK.d.ts} +12 -0
  9. package/dist/{SetupChecklist-DOp-zqjh.js → SetupChecklist-DyPZWzK2.js} +2 -2
  10. package/dist/{ThinkChat-BES_3Mb-.js → ThinkChat-qztQ6Clo.js} +7 -22
  11. package/dist/{ThinkChatActivity-CgvmTXXB.d.ts → ThinkChatActivity-B3lGVS-6.d.ts} +1 -1
  12. package/dist/{WorkspaceFileView-BublZXky.js → WorkspaceFileView-BvDbKM2c.js} +3 -3
  13. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  14. package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
  15. package/dist/components/agents-sdk/AgentChat.js +44 -40
  16. package/dist/components/agents-sdk/AgentEvent.d.ts +42 -0
  17. package/dist/components/agents-sdk/AgentEvent.js +96 -0
  18. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
  19. package/dist/components/agents-sdk/AgentToolRunsContext.js +11 -7
  20. package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
  21. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  22. package/dist/components/agents-sdk/BrowserReplay.js +2 -2
  23. package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
  24. package/dist/components/agents-sdk/ManagerOffice.d.ts +106 -11
  25. package/dist/components/agents-sdk/ManagerOffice.js +1193 -151
  26. package/dist/components/agents-sdk/McpConnectionRequest.d.ts +1 -1
  27. package/dist/components/agents-sdk/McpConnectionRequest.js +11 -5
  28. package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -1
  29. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  30. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +1 -1
  31. package/dist/components/agents-sdk/McpPluginCatalog.js +11 -7
  32. package/dist/components/agents-sdk/McpServerPicker.d.ts +2 -2
  33. package/dist/components/agents-sdk/McpServerPicker.js +4 -4
  34. package/dist/components/agents-sdk/ModelSelector.js +5 -5
  35. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  36. package/dist/components/agents-sdk/PromptInputCommands.d.ts +5 -2
  37. package/dist/components/agents-sdk/PromptInputCommands.js +81 -3
  38. package/dist/components/agents-sdk/SubagentRunDetails.js +1 -1
  39. package/dist/components/agents-sdk/SubagentRunIndicator.d.ts +21 -3
  40. package/dist/components/agents-sdk/SubagentRunIndicator.js +56 -6
  41. package/dist/components/agents-sdk/SubagentRunSelector.js +5 -12
  42. package/dist/components/agents-sdk/ThinkChat.d.ts +4 -5
  43. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  44. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
  45. package/dist/components/agents-sdk/ThinkChatActivity.js +3 -3
  46. package/dist/components/agents-sdk/ThinkChatActivitySummary.js +1 -1
  47. package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
  48. package/dist/components/agents-sdk/ThinkExecutionDetail.js +3 -3
  49. package/dist/components/agents-sdk/ThinkExecutionRun.js +1 -1
  50. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  51. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
  52. package/dist/components/agents-sdk/ThinkFullApp.d.ts +14 -4
  53. package/dist/components/agents-sdk/ThinkFullApp.js +51 -5
  54. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  55. package/dist/components/agents-sdk/ThinkPendingApproval.js +1 -1
  56. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  57. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +3 -3
  58. package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
  59. package/dist/components/agents-sdk/ThinkRoutineForm.js +4 -4
  60. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +1 -1
  61. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +4 -4
  62. package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
  63. package/dist/components/agents-sdk/ThinkSidepanel.d.ts +22 -4
  64. package/dist/components/agents-sdk/ThinkSidepanel.js +87 -35
  65. package/dist/components/agents-sdk/ThinkThreadPicker.js +5 -5
  66. package/dist/components/agents-sdk/Workspace.js +1 -1
  67. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  68. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
  69. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  70. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  71. package/dist/components/agents-sdk/WorkspaceMountManager.js +4 -21
  72. package/dist/components/ai-sdk/Activity.js +1 -1
  73. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  74. package/dist/components/ai-sdk/Approval.js +2 -2
  75. package/dist/components/ai-sdk/Artifact.js +1 -1
  76. package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
  77. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  78. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  79. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  80. package/dist/components/ai-sdk/ComposerLink.d.ts +27 -0
  81. package/dist/components/ai-sdk/ComposerLink.js +111 -0
  82. package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
  83. package/dist/components/ai-sdk/Context.js +1 -1
  84. package/dist/components/ai-sdk/Conversation.js +1 -1
  85. package/dist/components/ai-sdk/Goal.js +2 -2
  86. package/dist/components/ai-sdk/InlineCitation.js +1 -1
  87. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  88. package/dist/components/ai-sdk/Message.js +19 -3
  89. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  90. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  91. package/dist/components/ai-sdk/Plan.js +2 -2
  92. package/dist/components/ai-sdk/PromptInput.d.ts +2 -2
  93. package/dist/components/ai-sdk/PromptInput.js +67 -61
  94. package/dist/components/ai-sdk/PromptInputComposerEditor.d.ts +31 -0
  95. package/dist/components/ai-sdk/PromptInputComposerEditor.js +198 -0
  96. package/dist/components/ai-sdk/Queue.js +2 -2
  97. package/dist/components/ai-sdk/Reasoning.js +2 -2
  98. package/dist/components/ai-sdk/Sources.js +1 -1
  99. package/dist/components/ai-sdk/Task.js +1 -1
  100. package/dist/components/ai-sdk/ToolInvocation.js +1 -1
  101. package/dist/components/extension/ChatGptSignInScreen.js +2 -2
  102. package/dist/components/extension/CodexModelSelector.js +2 -2
  103. package/dist/components/extension/ConversationTabPicker.js +2 -2
  104. package/dist/components/foundations/AppIcon.js +1 -1
  105. package/dist/components/foundations/Checkbox.js +1 -1
  106. package/dist/components/foundations/Collapsible.js +1 -1
  107. package/dist/components/foundations/ContextMenu.js +1 -1
  108. package/dist/components/foundations/Menubar.js +1 -1
  109. package/dist/components/foundations/SearchField.js +1 -1
  110. package/dist/components/foundations/Select.js +1 -1
  111. package/dist/components/foundations/Stepper.js +1 -1
  112. package/dist/components/foundations/Toast.js +1 -1
  113. package/dist/components/foundations/ToggleGroup.d.ts +1 -1
  114. package/dist/components/foundations/ToggleGroup.js +1 -1
  115. package/dist/components/foundations/icons.d.ts +1 -1
  116. package/dist/components/foundations/icons.js +1 -1
  117. package/dist/components/general-purpose/Commit.js +2 -2
  118. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  119. package/dist/components/general-purpose/FileTree.js +1 -1
  120. package/dist/components/general-purpose/PricingBillingToggle.js +1 -1
  121. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  122. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  123. package/dist/components/general-purpose/ResizableSidePanel.js +1 -1
  124. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +1 -1
  125. package/dist/components/general-purpose/ResponsiveSidebarShell.js +72 -22
  126. package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
  127. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  128. package/dist/components/general-purpose/Terminal.js +2 -2
  129. package/dist/components/general-purpose/TestResults.js +1 -1
  130. package/dist/components/general-purpose/ThemeModeControl.js +2 -2
  131. package/dist/components/general-purpose/WebPreview.js +3 -3
  132. package/dist/components/nanites/AgentConnection.js +2 -2
  133. package/dist/components/nanites/AgentToolDetail.js +4 -4
  134. package/dist/{copy-button-DHhf-J1d.js → copy-button-D7ySsRRo.js} +1 -1
  135. package/dist/{format-DB2mX9DA.js → format-COCyV98Z.js} +23 -1
  136. package/dist/{icons-Dw-im7lg.js → icons-BNEY4gO5.js} +44 -4
  137. package/dist/{icons-6ZnyZJiR.d.ts → icons-D0Pd2P9v.d.ts} +9 -4
  138. package/dist/{mcp-server-SD_S-IpB.js → mcp-server-7NR24ASj.js} +31 -4
  139. package/dist/{mcp-server-catalog-CCj2ItkV.d.ts → mcp-server-catalog-Cbu483Zb.d.ts} +9 -9
  140. package/dist/{progress-ring-BEocM1e3.js → progress-ring-Cgii90dC.js} +1 -1
  141. package/dist/{provider-logos-zjZycgV6.js → provider-logos-DWYY8wNz.js} +31 -6
  142. package/dist/styles/action-guide.css +4 -0
  143. package/dist/styles/agent-attention.css +5 -1
  144. package/dist/styles/agent-chat.css +21 -18
  145. package/dist/styles/agent-event.css +14 -0
  146. package/dist/styles/app-icon.css +21 -0
  147. package/dist/styles/avatar.css +2 -1
  148. package/dist/styles/base.css +4 -0
  149. package/dist/styles/brand-marks.css +22 -0
  150. package/dist/styles/button.css +10 -0
  151. package/dist/styles/composer-link.css +99 -0
  152. package/dist/styles/connected-app-card.css +9 -0
  153. package/dist/styles/github-motion-mark.css +8 -1
  154. package/dist/styles/index.css +3 -0
  155. package/dist/styles/manager-office.css +1313 -73
  156. package/dist/styles/mcp-plugin-catalog.css +4 -0
  157. package/dist/styles/mcp-server-picker.css +2 -0
  158. package/dist/styles/message-scroller.css +5 -0
  159. package/dist/styles/prompt-input.css +14 -53
  160. package/dist/styles/responsive-sidebar-shell.css +47 -0
  161. package/dist/styles/subagent-run.css +29 -19
  162. package/dist/styles/think-full-app.css +139 -4
  163. package/dist/styles/think-sidepanel.css +9 -5
  164. package/dist/styles/think-thread-picker.css +13 -12
  165. package/dist/styles/workspace-mount-manager.css +0 -22
  166. package/dist/utils/composer-link.d.ts +59 -0
  167. package/dist/utils/composer-link.js +203 -0
  168. package/dist/utils/mcp-server-catalog.d.ts +1 -1
  169. package/dist/utils/mcp-server-catalog.js +9 -9
  170. package/package.json +8 -8
@@ -1,7 +1,7 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { G as SidebarIcon, et as WarningIcon, f as ChevronDownIcon, r as ArrowLeftIcon } from "../../icons-Dw-im7lg.js";
2
+ import { G as SidebarIcon, et as WarningIcon, f as ChevronDownIcon, r as ArrowLeftIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { Button } from "../foundations/Button.js";
4
- import { t as capitalize } from "../../format-DB2mX9DA.js";
4
+ import { t as capitalize } from "../../format-COCyV98Z.js";
5
5
  import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
6
6
  import { AppTopBar } from "./AppTopBar.js";
7
7
  import { ResizableSidePanel } from "./ResizableSidePanel.js";
@@ -15,6 +15,17 @@ const sidebarMaxWidth = 384;
15
15
  const sidebarKeyboardStep = 24;
16
16
  /** Matches --sigvelo-layout-break-compact. */
17
17
  const compactSidebarWidthRem = 56;
18
+ function useControllableSidebar({ sidebarOpen, defaultSidebarOpen, onSidebarOpenChange }) {
19
+ const [innerOpen, setInnerOpen] = React.useState(defaultSidebarOpen ?? true);
20
+ return [
21
+ sidebarOpen ?? innerOpen,
22
+ React.useCallback((next) => {
23
+ if (sidebarOpen === void 0) setInnerOpen(next);
24
+ onSidebarOpenChange?.(next);
25
+ }, [sidebarOpen, onSidebarOpenChange]),
26
+ setInnerOpen
27
+ ];
28
+ }
18
29
  function isCompactSidebar(root) {
19
30
  const rootFontSize = Number.parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
20
31
  return root.offsetWidth <= compactSidebarWidthRem * rootFontSize;
@@ -27,14 +38,19 @@ function isCompactSidebar(root) {
27
38
  * hook, and its container name `responsive-sidebar-shell` is public contract:
28
39
  * surfaces that compose the shell size themselves against it.
29
40
  */
30
- function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSidebarWidth = sidebarDefaultWidth, bar, error, showMainLabel = "Show main content", className, children, ref, style, ...props }) {
41
+ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen, sidebarTogglePlacement = "main", defaultSidebarOpen, defaultSidebarWidth = sidebarDefaultWidth, onSidebarOpenChange, bar, error, showMainLabel = "Show main content", className, children, ref, style, ...props }) {
31
42
  const sidebarId = React.useId();
32
43
  const rootRef = React.useRef(null);
33
44
  const mainRef = React.useRef(null);
34
45
  const openerRef = React.useRef(null);
35
46
  const compactRef = React.useRef(null);
36
47
  const restoreSidebarOnWideRef = React.useRef(true);
37
- const [isSidebarOpen, setSidebarOpen] = React.useState(true);
48
+ const [isSidebarOpen, setSidebarOpen, primeSidebarOpen] = useControllableSidebar({
49
+ sidebarOpen,
50
+ defaultSidebarOpen,
51
+ onSidebarOpenChange
52
+ });
53
+ const wantsBuiltInDefault = sidebarOpen === void 0 && defaultSidebarOpen === void 0;
38
54
  React.useLayoutEffect(() => {
39
55
  const root = rootRef.current;
40
56
  if (!root) return;
@@ -44,7 +60,7 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSide
44
60
  const wasCompact = compactRef.current;
45
61
  compactRef.current = compact;
46
62
  if (wasCompact === null) {
47
- if (compact) setSidebarOpen(false);
63
+ if (wantsBuiltInDefault && compact) primeSidebarOpen(false);
48
64
  return;
49
65
  }
50
66
  if (!wasCompact && compact) {
@@ -57,7 +73,12 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSide
57
73
  const observer = new ResizeObserver(syncLayout);
58
74
  observer.observe(root);
59
75
  return () => observer.disconnect();
60
- }, [isSidebarOpen]);
76
+ }, [
77
+ isSidebarOpen,
78
+ primeSidebarOpen,
79
+ setSidebarOpen,
80
+ wantsBuiltInDefault
81
+ ]);
61
82
  const hasSidebar = sidebar != null;
62
83
  const toggleLabel = capitalize(sidebarLabel);
63
84
  const toggleTooltip = `${isSidebarOpen ? "Hide" : "Show"} ${sidebarLabel}`;
@@ -67,23 +88,54 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSide
67
88
  }, []);
68
89
  const closeSidebar = React.useCallback(() => {
69
90
  updateSidebar(() => setSidebarOpen(false), () => mainRef.current?.focus({ preventScroll: true }));
70
- }, [updateSidebar]);
91
+ }, [setSidebarOpen, updateSidebar]);
71
92
  const closeSidebarOnCompact = React.useCallback(() => {
72
93
  if (rootRef.current && isCompactSidebar(rootRef.current)) closeSidebar();
73
94
  }, [closeSidebar]);
74
95
  const toggleSidebar = React.useCallback((trigger) => {
75
96
  if (trigger) openerRef.current = trigger;
76
97
  updateSidebar(() => setSidebarOpen(!isSidebarOpen));
77
- }, [isSidebarOpen, updateSidebar]);
98
+ }, [
99
+ isSidebarOpen,
100
+ setSidebarOpen,
101
+ updateSidebar
102
+ ]);
78
103
  const dismissSidebar = React.useCallback(() => {
79
104
  updateSidebar(() => setSidebarOpen(false), () => openerRef.current?.focus({ preventScroll: true }));
80
- }, [updateSidebar]);
105
+ }, [setSidebarOpen, updateSidebar]);
81
106
  const sidebarContent = typeof sidebar === "function" ? sidebar({
82
107
  closeSidebar,
83
108
  closeSidebarOnCompact
84
109
  }) : sidebar;
85
- const hasAppLeading = bar?.back != null || bar?.leading != null;
110
+ const hasCustomLeading = bar?.leading != null;
111
+ const hasAppLeading = bar?.back != null || hasCustomLeading;
86
112
  const hasTitleTrigger = hasSidebar && bar?.compactTitleTrigger != null && bar?.compactLeading == null;
113
+ const renderSidebarToggle = (className) => hasSidebar ? /* @__PURE__ */ jsx(AppTopBar.Button, {
114
+ className: cx("responsive-sidebar-shell__toggle", className),
115
+ label: toggleLabel,
116
+ tooltip: toggleTooltip,
117
+ type: "button",
118
+ "aria-controls": sidebarId,
119
+ "aria-expanded": isSidebarOpen,
120
+ onClick: (event) => toggleSidebar(event.currentTarget),
121
+ children: /* @__PURE__ */ jsx(SidebarIcon, {})
122
+ }) : null;
123
+ const renderSidebarToggleInSidebar = () => hasSidebar ? /* @__PURE__ */ jsx(Button, {
124
+ className: "responsive-sidebar-shell__toggle responsive-sidebar-shell__toggle--sidebar",
125
+ type: "button",
126
+ variant: "ghost",
127
+ color: "neutral",
128
+ size: "sm",
129
+ iconOnly: true,
130
+ "aria-label": toggleLabel,
131
+ title: toggleTooltip,
132
+ "aria-controls": sidebarId,
133
+ "aria-expanded": isSidebarOpen,
134
+ onClick: (event) => toggleSidebar(event.currentTarget),
135
+ children: /* @__PURE__ */ jsx(SidebarIcon, {})
136
+ }) : null;
137
+ const sidebarToggle = sidebarTogglePlacement === "sidebar" && isSidebarOpen ? renderSidebarToggleInSidebar() : null;
138
+ const mainSidebarToggle = sidebarTogglePlacement === "sidebar" || sidebarTogglePlacement === "main" && !hasCustomLeading ? renderSidebarToggle(sidebarTogglePlacement === "sidebar" ? "responsive-sidebar-shell__toggle--sidebar-fallback" : hasTitleTrigger ? "responsive-sidebar-shell__toggle--replaced-by-title" : bar?.compactLeading != null ? "responsive-sidebar-shell__toggle--replaced-by-compact-leading" : void 0) : null;
87
139
  const hasTopBar = !bar?.hidden && (hasSidebar || bar?.back != null || bar?.leading != null || bar?.compactLeading != null || bar?.title != null || bar?.actions != null || bar?.primary != null);
88
140
  const compactLeadingMode = hasTitleTrigger ? "trigger" : !hasAppLeading && bar?.compactLeading != null ? "custom" : void 0;
89
141
  return /* @__PURE__ */ jsx("div", {
@@ -93,6 +145,7 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSide
93
145
  style,
94
146
  ...props,
95
147
  "data-sidebar-open": hasSidebar && isSidebarOpen ? "true" : "false",
148
+ "data-sidebar-toggle-placement": sidebarTogglePlacement,
96
149
  onKeyDown: (event) => {
97
150
  props.onKeyDown?.(event);
98
151
  if (!event.defaultPrevented && event.key === "Escape" && hasSidebar && isSidebarOpen && rootRef.current && isCompactSidebar(rootRef.current)) {
@@ -111,12 +164,18 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSide
111
164
  keyboardStep: sidebarKeyboardStep,
112
165
  children: [
113
166
  hasSidebar && isSidebarOpen ? /* @__PURE__ */ jsx(ResizableSidePanel.Handle, { className: "responsive-sidebar-shell__resizer" }) : null,
114
- hasSidebar ? /* @__PURE__ */ jsx("div", {
167
+ hasSidebar ? /* @__PURE__ */ jsxs("div", {
115
168
  id: sidebarId,
116
169
  className: "responsive-sidebar-shell__sidebar",
117
170
  "aria-hidden": isSidebarOpen ? void 0 : true,
118
171
  inert: isSidebarOpen ? void 0 : true,
119
- children: sidebarContent
172
+ children: [sidebarToggle ? /* @__PURE__ */ jsx("div", {
173
+ className: "responsive-sidebar-shell__sidebar-leading",
174
+ children: sidebarToggle
175
+ }) : null, /* @__PURE__ */ jsx("div", {
176
+ className: "responsive-sidebar-shell__sidebar-content",
177
+ children: sidebarContent
178
+ })]
120
179
  }) : null,
121
180
  /* @__PURE__ */ jsxs("div", {
122
181
  ref: mainRef,
@@ -135,16 +194,7 @@ function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", defaultSide
135
194
  children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
136
195
  }) : null,
137
196
  bar?.leading,
138
- !hasAppLeading && hasSidebar ? /* @__PURE__ */ jsx(AppTopBar.Button, {
139
- className: "responsive-sidebar-shell__toggle",
140
- label: toggleLabel,
141
- tooltip: toggleTooltip,
142
- type: "button",
143
- "aria-controls": sidebarId,
144
- "aria-expanded": isSidebarOpen,
145
- onClick: (event) => toggleSidebar(event.currentTarget),
146
- children: /* @__PURE__ */ jsx(SidebarIcon, {})
147
- }) : null,
197
+ !hasCustomLeading ? mainSidebarToggle : null,
148
198
  compactLeadingMode === "custom" ? /* @__PURE__ */ jsx("span", {
149
199
  className: "responsive-sidebar-shell__compact-leading",
150
200
  children: bar?.compactLeading
@@ -1,8 +1,8 @@
1
1
  import { Button } from "../foundations/Button.js";
2
- import { Dialog } from "../foundations/Dialog.js";
3
- import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
4
2
  import { Field } from "../foundations/Field.js";
5
3
  import { Form } from "../foundations/Form.js";
4
+ import { Dialog } from "../foundations/Dialog.js";
5
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
6
6
  import { Checkbox } from "../foundations/Checkbox.js";
7
7
  import * as React from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { n as SetupChecklistGroup, t as SetupChecklistAction } from "../../SetupChecklist-DOp-zqjh.js";
1
+ import { n as SetupChecklistGroup, t as SetupChecklistAction } from "../../SetupChecklist-DyPZWzK2.js";
2
2
  export { SetupChecklistAction, SetupChecklistGroup };
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Q as TerminalIcon, nt as XIcon } from "../../icons-Dw-im7lg.js";
2
+ import { Q as TerminalIcon, nt as XIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
+ import { t as CopyButton } from "../../copy-button-D7ySsRRo.js";
4
5
  import { ScrollArea } from "../foundations/ScrollArea.js";
5
- import { t as CopyButton } from "../../copy-button-DHhf-J1d.js";
6
6
  import * as React from "react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  import Anser from "anser";
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { d as CheckIcon, nt as XIcon, p as ChevronRightIcon, q as SpinnerIcon } from "../../icons-Dw-im7lg.js";
3
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
+ import { d as CheckIcon, nt as XIcon, p as ChevronRightIcon, q as SpinnerIcon } from "../../icons-BNEY4gO5.js";
4
4
  import { Progress } from "../foundations/Progress.js";
5
5
  import * as React from "react";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
- import { F as MoonIcon, P as MonitorIcon, X as SunIcon } from "../../icons-Dw-im7lg.js";
2
- import { useTheme } from "../foundations/ThemeProvider.js";
1
+ import { F as MoonIcon, P as MonitorIcon, X as SunIcon } from "../../icons-BNEY4gO5.js";
3
2
  import { Radio, RadioGroup } from "../foundations/RadioGroup.js";
3
+ import { useTheme } from "../foundations/ThemeProvider.js";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/components/general-purpose/ThemeModeControl.tsx
6
6
  const modes = [
@@ -1,9 +1,9 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { U as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-Dw-im7lg.js";
3
- import { IconButton } from "../foundations/IconButton.js";
4
2
  import { Collapsible } from "../foundations/Collapsible.js";
5
- import { ScrollArea } from "../foundations/ScrollArea.js";
3
+ import { U as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-BNEY4gO5.js";
4
+ import { IconButton } from "../foundations/IconButton.js";
6
5
  import { Input } from "../foundations/Input.js";
6
+ import { ScrollArea } from "../foundations/ScrollArea.js";
7
7
  import * as React from "react";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/components/general-purpose/WebPreview.tsx
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { D as LinkIcon } from "../../icons-Dw-im7lg.js";
2
+ import { D as LinkIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { Button } from "../foundations/Button.js";
4
+ import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-BpooTofO.js";
4
5
  import { Popover } from "../foundations/Popover.js";
5
- import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-Dl7a3Wqo.js";
6
6
  import { ToggleGroup } from "../foundations/ToggleGroup.js";
7
7
  import * as React from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,11 +1,11 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { r as ArrowLeftIcon } from "../../icons-Dw-im7lg.js";
2
+ import { r as ArrowLeftIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { TransitionSurface } from "../foundations/TransitionSurface.js";
4
4
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
5
- import { SubagentRunMilestone, SubagentRunMilestones, SubagentRunProgress } from "../agents-sdk/SubagentRunDetails.js";
6
- import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
7
5
  import { NaniteMark } from "./NaniteScene.js";
8
- import { t as ThinkChat } from "../../ThinkChat-BES_3Mb-.js";
6
+ import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
7
+ import { SubagentRunMilestone, SubagentRunMilestones, SubagentRunProgress } from "../agents-sdk/SubagentRunDetails.js";
8
+ import { t as ThinkChat } from "../../ThinkChat-qztQ6Clo.js";
9
9
  import * as React from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
  import { useAgentChat } from "@cloudflare/think/react";
@@ -1,4 +1,4 @@
1
- import { d as CheckIcon, h as CopyIcon } from "./icons-Dw-im7lg.js";
1
+ import { d as CheckIcon, h as CopyIcon } from "./icons-BNEY4gO5.js";
2
2
  import { IconButton } from "./components/foundations/IconButton.js";
3
3
  import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -38,6 +38,28 @@ function formatErrorMessage(error) {
38
38
  return error instanceof Error ? error.message : String(error);
39
39
  }
40
40
  /**
41
+ * How much of one line a collapsed row carries before it is cut. One bound for
42
+ * every such row — a run's status line, an activity row's detail — because
43
+ * they stack in the same transcript and two limits would read as drift.
44
+ */
45
+ const LINE_LIMIT = 160;
46
+ /**
47
+ * The trimmed, non-empty lines of `value`. Callers that want the newest line
48
+ * of a stream take the last one; `firstLine` covers the common case.
49
+ */
50
+ function textLines(value) {
51
+ return value.split("\n").map((entry) => entry.trim()).filter((entry) => entry.length > 0);
52
+ }
53
+ /**
54
+ * `value` reduced to the one line a collapsed row shows: its first non-empty
55
+ * line, cut with an ellipsis. Empty when `value` has no line to show, so a
56
+ * caller can fall back to its own wording.
57
+ */
58
+ function firstLine(value) {
59
+ const line = textLines(value).at(0) ?? "";
60
+ return line.length > LINE_LIMIT ? `${line.slice(0, LINE_LIMIT - 1)}…` : line;
61
+ }
62
+ /**
41
63
  * Renders an unknown upstream value as display text. Tool arguments, results,
42
64
  * and audit records arrive in shapes this package never declared, so a bigint,
43
65
  * a cycle, or a value `JSON.stringify` has no answer for is an ordinary input
@@ -53,4 +75,4 @@ function formatUnknownValue(value, space) {
53
75
  }
54
76
  }
55
77
  //#endregion
56
- export { formatUnknownValue as a, formatErrorMessage as i, clamp as n, titleCase as o, formatClock as r, capitalize as t };
78
+ export { formatErrorMessage as a, titleCase as c, formatClock as i, clamp as n, formatUnknownValue as o, firstLine as r, textLines as s, capitalize as t };
@@ -1,8 +1,7 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
2
3
  import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpRight, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Info, Keyboard, Link2, ListRestart, LoaderCircle, Mail, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Target, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
3
- import { FaSlack } from "react-icons/fa6";
4
4
  import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
5
- import { jsx } from "react/jsx-runtime";
6
5
  //#region src/components/_internal/icons.tsx
7
6
  function icon(Component) {
8
7
  return function DesignSystemIcon({ size = 16, strokeWidth = 1.75, ...props }) {
@@ -84,8 +83,49 @@ const MonitorIcon = icon(Monitor);
84
83
  const MessageSquareIcon = icon(MessageSquare);
85
84
  const MailIcon = icon(Mail);
86
85
  const McpIcon = brandIcon(SiModelcontextprotocol);
87
- const DiscordIcon = brandIcon(SiDiscord);
88
- const SlackIcon = brandIcon(FaSlack);
86
+ /** Discord Blurple. Callers override with `color` or a `className` that sets color. */
87
+ function DiscordIcon({ size = 16, color = "#5865F2", className, ...props }) {
88
+ return /* @__PURE__ */ jsx(SiDiscord, {
89
+ size,
90
+ color,
91
+ "aria-hidden": "true",
92
+ focusable: "false",
93
+ className: cx("sigvelo-brand-mark", "sigvelo-brand-mark--discord", className),
94
+ ...props
95
+ });
96
+ }
97
+ /** Four-color Slack hash. Official fills live on the paths, not currentColor. */
98
+ function SlackIcon({ size = 16, className, ...props }) {
99
+ return /* @__PURE__ */ jsxs("svg", {
100
+ width: size,
101
+ height: size,
102
+ viewBox: "0 0 200 200",
103
+ fill: "none",
104
+ xmlns: "http://www.w3.org/2000/svg",
105
+ "aria-hidden": "true",
106
+ focusable: "false",
107
+ className: cx("sigvelo-brand-mark", "sigvelo-brand-mark--colorful", className),
108
+ ...props,
109
+ children: [
110
+ /* @__PURE__ */ jsx("path", {
111
+ d: "M53.0056 121.477C53.0056 130.921 45.3784 138.555 35.9413 138.555C26.5042 138.555 18.877 130.921 18.877 121.477C18.877 112.032 26.5042 104.398 35.9413 104.398H53.0056V121.477ZM61.5378 121.477C61.5378 112.032 69.165 104.398 78.6021 104.398C88.0392 104.398 95.6664 112.032 95.6664 121.477V164.172C95.6664 173.617 88.0392 181.25 78.6021 181.25C69.165 181.25 61.5378 173.617 61.5378 164.172V121.477Z",
112
+ fill: "#E01E5A"
113
+ }),
114
+ /* @__PURE__ */ jsx("path", {
115
+ d: "M78.6044 52.9062C69.1673 52.9062 61.5401 45.2728 61.5401 35.8281C61.5401 26.3834 69.1673 18.75 78.6044 18.75C88.0415 18.75 95.6688 26.3834 95.6688 35.8281V52.9062H78.6044ZM78.6044 61.5747C88.0415 61.5747 95.6688 69.2081 95.6688 78.6528C95.6688 88.0975 88.0415 95.7309 78.6044 95.7309H35.8143C26.3772 95.7309 18.75 88.0975 18.75 78.6528C18.75 69.2081 26.3772 61.5747 35.8143 61.5747H78.6044Z",
116
+ fill: "#36C5F0"
117
+ }),
118
+ /* @__PURE__ */ jsx("path", {
119
+ d: "M146.991 78.6528C146.991 69.2081 154.618 61.5747 164.055 61.5747C173.492 61.5747 181.12 69.2081 181.12 78.6528C181.12 88.0975 173.492 95.7309 164.055 95.7309H146.991V78.6528ZM138.459 78.6528C138.459 88.0975 130.831 95.7309 121.394 95.7309C111.957 95.7309 104.33 88.0975 104.33 78.6528V35.8281C104.33 26.3834 111.957 18.75 121.394 18.75C130.831 18.75 138.459 26.3834 138.459 35.8281V78.6528Z",
120
+ fill: "#2EB67D"
121
+ }),
122
+ /* @__PURE__ */ jsx("path", {
123
+ d: "M121.394 147.094C130.831 147.094 138.459 154.727 138.459 164.172C138.459 173.617 130.831 181.25 121.394 181.25C111.957 181.25 104.33 173.617 104.33 164.172V147.094H121.394ZM121.394 138.555C111.957 138.555 104.33 130.921 104.33 121.477C104.33 112.032 111.957 104.398 121.394 104.398H164.184C173.622 104.398 181.249 112.032 181.249 121.477C181.249 130.921 173.622 138.555 164.184 138.555H121.394Z",
124
+ fill: "#ECB22E"
125
+ })
126
+ ]
127
+ });
128
+ }
89
129
  const MoonIcon = icon(Moon);
90
130
  const SunIcon = icon(Sun);
91
131
  const TargetIcon = icon(Target);
@@ -262,14 +262,19 @@ declare const McpIcon: ({
262
262
  size,
263
263
  ...props
264
264
  }: BrandIconProps) => import("react").JSX.Element;
265
- declare const DiscordIcon: ({
265
+ /** Discord Blurple. Callers override with `color` or a `className` that sets color. */
266
+ declare function DiscordIcon({
266
267
  size,
268
+ color,
269
+ className,
267
270
  ...props
268
- }: BrandIconProps) => import("react").JSX.Element;
269
- declare const SlackIcon: ({
271
+ }: BrandIconProps): import("react").JSX.Element;
272
+ /** Four-color Slack hash. Official fills live on the paths, not currentColor. */
273
+ declare function SlackIcon({
270
274
  size,
275
+ className,
271
276
  ...props
272
- }: BrandIconProps) => import("react").JSX.Element;
277
+ }: BrandIconProps): import("react").JSX.Element;
273
278
  declare const MoonIcon: ({
274
279
  size,
275
280
  strokeWidth,
@@ -1,4 +1,4 @@
1
- import { getMcpServerEntry, getMcpServerIconSrc, getMcpServerRuntimeState } from "./utils/mcp-server-catalog.js";
1
+ import { DEFAULT_MCP_SERVER_CARDS, getMcpServerEntry, getMcpServerIconSrc, getMcpServerRuntimeState } from "./utils/mcp-server-catalog.js";
2
2
  import { AppIcon } from "./components/foundations/AppIcon.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/components/_internal/mcp-server.tsx
@@ -25,8 +25,35 @@ function getMcpServerProjection(card, mcp, serverId) {
25
25
  serverId: entry?.[0]
26
26
  };
27
27
  }
28
+ /** Match a live MCP entry or channel name to a catalog card that already has a brand mark. */
29
+ function findCatalogMcpServerCard(query) {
30
+ const id = query.id?.trim().toLowerCase();
31
+ const name = query.name?.trim().toLowerCase();
32
+ let hostname;
33
+ if (query.url) try {
34
+ hostname = new URL(query.url).hostname;
35
+ } catch {
36
+ hostname = void 0;
37
+ }
38
+ return DEFAULT_MCP_SERVER_CARDS.find((candidate) => {
39
+ if (!candidate.url) return false;
40
+ if (id && candidate.id === id) return true;
41
+ if (name && (candidate.name.toLowerCase() === name || candidate.id === name)) return true;
42
+ if (!hostname) return false;
43
+ try {
44
+ return new URL(candidate.url).hostname === hostname;
45
+ } catch {
46
+ return false;
47
+ }
48
+ });
49
+ }
28
50
  function McpServerIcon({ server, size = "lg", variant }) {
29
- const src = getMcpServerIconSrc(server);
51
+ const resolved = server.icon == null ? findCatalogMcpServerCard({
52
+ id: server.id,
53
+ name: server.name,
54
+ url: server.url
55
+ }) ?? server : server;
56
+ const src = getMcpServerIconSrc(resolved);
30
57
  return /* @__PURE__ */ jsxs(AppIcon.Root, {
31
58
  size,
32
59
  variant,
@@ -35,8 +62,8 @@ function McpServerIcon({ server, size = "lg", variant }) {
35
62
  alt: "",
36
63
  fit: "contain",
37
64
  src
38
- }, src) : null, /* @__PURE__ */ jsx(AppIcon.Fallback, { children: server.name.slice(0, 1) })]
65
+ }, src) : null, /* @__PURE__ */ jsx(AppIcon.Fallback, { children: resolved.name.slice(0, 1) })]
39
66
  });
40
67
  }
41
68
  //#endregion
42
- export { getMcpServerProjection as n, McpServerIcon as t };
69
+ export { findCatalogMcpServerCard as n, getMcpServerProjection as r, McpServerIcon as t };
@@ -271,7 +271,7 @@ declare const DCR_MCP_SERVER_CARDS: readonly [{
271
271
  readonly url: "https://mcp.miro.com/mcp";
272
272
  readonly description: "Work with boards and diagrams";
273
273
  readonly category: "Auto";
274
- readonly icon: "https://cdn.simpleicons.org/miro/FFD02F";
274
+ readonly icon: "https://cdn.simpleicons.org/miro/050038";
275
275
  }, {
276
276
  readonly id: "monday";
277
277
  readonly name: "monday.com";
@@ -292,14 +292,14 @@ declare const DCR_MCP_SERVER_CARDS: readonly [{
292
292
  readonly url: "https://mcp.notion.com/mcp";
293
293
  readonly description: "Work across docs, wikis, and project notes";
294
294
  readonly category: "Auto";
295
- readonly icon: "https://cdn.simpleicons.org/notion/A1A1AA";
295
+ readonly icon: "https://cdn.simpleicons.org/notion/000000";
296
296
  }, {
297
297
  readonly id: "paypal";
298
298
  readonly name: "PayPal";
299
299
  readonly url: "https://mcp.paypal.com/mcp";
300
300
  readonly description: "Use PayPal merchant tools";
301
301
  readonly category: "Auto";
302
- readonly icon: "https://cdn.simpleicons.org/paypal/003087";
302
+ readonly icon: "https://cdn.simpleicons.org/paypal/002991";
303
303
  }, {
304
304
  readonly id: "postman";
305
305
  readonly name: "Postman";
@@ -313,7 +313,7 @@ declare const DCR_MCP_SERVER_CARDS: readonly [{
313
313
  readonly url: "https://mcp.railway.com";
314
314
  readonly description: "Manage Railway projects and services";
315
315
  readonly category: "Auto";
316
- readonly icon: "https://cdn.simpleicons.org/railway/8957E5";
316
+ readonly icon: "https://cdn.simpleicons.org/railway/0B0D0E";
317
317
  }, {
318
318
  readonly id: "ramp";
319
319
  readonly name: "Ramp";
@@ -327,7 +327,7 @@ declare const DCR_MCP_SERVER_CARDS: readonly [{
327
327
  readonly url: "https://mcp.sentry.dev/mcp";
328
328
  readonly description: "Debug errors and inspect projects";
329
329
  readonly category: "Auto";
330
- readonly icon: "https://cdn.simpleicons.org/sentry/8957E5";
330
+ readonly icon: "https://cdn.simpleicons.org/sentry/362D59";
331
331
  }, {
332
332
  readonly id: "square";
333
333
  readonly name: "Square";
@@ -348,14 +348,14 @@ declare const DCR_MCP_SERVER_CARDS: readonly [{
348
348
  readonly url: "https://mcp.supabase.com/mcp";
349
349
  readonly description: "Manage Supabase projects";
350
350
  readonly category: "Auto";
351
- readonly icon: "https://cdn.simpleicons.org/supabase/3ECF8E";
351
+ readonly icon: "https://cdn.simpleicons.org/supabase/3FCF8E";
352
352
  }, {
353
353
  readonly id: "vercel";
354
354
  readonly name: "Vercel";
355
355
  readonly url: "https://mcp.vercel.com";
356
356
  readonly description: "Manage projects and deployments";
357
357
  readonly category: "Auto";
358
- readonly icon: "https://cdn.simpleicons.org/vercel/A1A1AA";
358
+ readonly icon: "https://cdn.simpleicons.org/vercel/000000";
359
359
  }, {
360
360
  readonly id: "webflow";
361
361
  readonly name: "Webflow";
@@ -369,7 +369,7 @@ declare const DCR_MCP_SERVER_CARDS: readonly [{
369
369
  readonly url: "https://mcp.wix.com/mcp";
370
370
  readonly description: "Work with Wix sites and apps";
371
371
  readonly category: "Auto";
372
- readonly icon: "https://cdn.simpleicons.org/wix/A1A1AA";
372
+ readonly icon: "https://cdn.simpleicons.org/wix/0C6EFC";
373
373
  }, {
374
374
  readonly id: "zapier";
375
375
  readonly name: "Zapier";
@@ -514,7 +514,7 @@ declare const MANUAL_MCP_SERVER_CARDS: readonly [{
514
514
  readonly url: "https://chatmcp.googleapis.com/mcp/v1";
515
515
  readonly description: "Read spaces, memberships, and messages";
516
516
  readonly category: "Manual";
517
- readonly icon: "https://cdn.simpleicons.org/googlechat/00AC47";
517
+ readonly icon: "https://cdn.simpleicons.org/googlechat/34A853";
518
518
  readonly manualSetup: {
519
519
  readonly auth: {
520
520
  readonly type: "manual_oauth_client";
@@ -1,4 +1,4 @@
1
- import { n as clamp } from "./format-DB2mX9DA.js";
1
+ import { n as clamp } from "./format-COCyV98Z.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  //#region src/components/_internal/progress-ring.tsx
4
4
  /**
@@ -1,15 +1,17 @@
1
+ import { t as cx } from "./class-names-BiMDVpUo.js";
1
2
  import "react";
2
3
  import { jsx, jsxs } from "react/jsx-runtime";
3
4
  //#region src/components/_internal/provider-logos.tsx
4
- function Svg({ children, size = 16, ...props }) {
5
+ function Svg({ children, size = 16, fill = "currentColor", className, ...props }) {
5
6
  return /* @__PURE__ */ jsx("svg", {
6
7
  width: size,
7
8
  height: size,
8
9
  viewBox: "0 0 24 24",
9
- fill: "currentColor",
10
+ fill,
10
11
  xmlns: "http://www.w3.org/2000/svg",
11
12
  "aria-hidden": "true",
12
13
  focusable: "false",
14
+ className: cx("sigvelo-brand-mark", className),
13
15
  ...props,
14
16
  children
15
17
  });
@@ -18,15 +20,38 @@ const OpenAILogo = (props) => /* @__PURE__ */ jsx(Svg, {
18
20
  ...props,
19
21
  children: /* @__PURE__ */ jsx("path", { d: "M22.28 9.81a5.99 5.99 0 0 0-.52-4.91 6.05 6.05 0 0 0-6.52-2.9A6.05 6.05 0 0 0 10.58 0a6.05 6.05 0 0 0-5.77 4.18 5.99 5.99 0 0 0-4 2.9 6.05 6.05 0 0 0 .74 7.09 5.99 5.99 0 0 0 .52 4.91 6.05 6.05 0 0 0 6.52 2.9A5.99 5.99 0 0 0 13.25 24a6.05 6.05 0 0 0 5.77-4.19 5.99 5.99 0 0 0 4-2.9 6.05 6.05 0 0 0-.74-7.1ZM13.25 22.44a4.48 4.48 0 0 1-2.88-1.04l.14-.08 4.79-2.76a.78.78 0 0 0 .39-.68v-6.75l2.02 1.17c.02 0 .04.03.04.05v5.58a4.5 4.5 0 0 1-4.5 4.5ZM3.57 18.3a4.5 4.5 0 0 1-.54-3.03l.14.09 4.79 2.76a.78.78 0 0 0 .78 0l5.85-3.37v2.33c0 .02 0 .04-.03.06L9.72 19.94a4.5 4.5 0 0 1-6.15-1.64ZM2.31 7.88a4.48 4.48 0 0 1 2.35-1.97v5.69a.78.78 0 0 0 .39.67l5.83 3.36-2.02 1.17a.07.07 0 0 1-.07 0l-4.83-2.8A4.5 4.5 0 0 1 2.3 7.9Zm16.64 3.87L13.1 8.37l2.02-1.17c.02 0 .05-.01.07 0l4.83 2.8a4.5 4.5 0 0 1-.67 8.11V12.4a.77.77 0 0 0-.4-.66Zm2-3.03-.14-.09-4.78-2.78a.78.78 0 0 0-.79 0L9.4 9.25V6.92c0-.02 0-.04.02-.05l4.83-2.79a4.5 4.5 0 0 1 6.68 4.66Zm-12.68 4.17-2.02-1.17a.07.07 0 0 1-.04-.06V6.1a4.5 4.5 0 0 1 7.38-3.45l-.14.08L8.66 5.5a.78.78 0 0 0-.4.68v6.74Zm1.1-2.36 2.6-1.5 2.61 1.5v3l-2.6 1.5-2.6-1.5Z" })
20
22
  });
21
- const AnthropicLogo = (props) => /* @__PURE__ */ jsxs(Svg, {
23
+ const AnthropicLogo = ({ className, ...props }) => /* @__PURE__ */ jsxs(Svg, {
24
+ className: cx("sigvelo-brand-mark--colorful", className),
25
+ fill: "#D97757",
22
26
  ...props,
23
27
  children: [/* @__PURE__ */ jsx("path", { d: "M13.83 4H17.3L24 20h-3.47l-1.37-3.52h-7L10.82 20H7.36ZM13.25 13.58h4.8l-2.4-6.15Z" }), /* @__PURE__ */ jsx("path", { d: "M0 4h3.47l6.7 16H6.7Z" })]
24
28
  });
25
- const GoogleLogo = (props) => /* @__PURE__ */ jsx(Svg, {
29
+ const GoogleLogo = ({ className, ...props }) => /* @__PURE__ */ jsxs(Svg, {
30
+ className: cx("sigvelo-brand-mark--colorful", className),
31
+ fill: "none",
26
32
  ...props,
27
- children: /* @__PURE__ */ jsx("path", { d: "M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 0 1 5.34 2.05l-2.2 2.2A5 5 0 1 0 17 12.6h-5v-2.6h7.9A8 8 0 0 1 12 20 8 8 0 0 1 12 4Z" })
33
+ children: [
34
+ /* @__PURE__ */ jsx("path", {
35
+ fill: "#4285F4",
36
+ d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"
37
+ }),
38
+ /* @__PURE__ */ jsx("path", {
39
+ fill: "#34A853",
40
+ d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"
41
+ }),
42
+ /* @__PURE__ */ jsx("path", {
43
+ fill: "#FBBC05",
44
+ d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"
45
+ }),
46
+ /* @__PURE__ */ jsx("path", {
47
+ fill: "#EA4335",
48
+ d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"
49
+ })
50
+ ]
28
51
  });
29
- const MetaLogo = (props) => /* @__PURE__ */ jsx(Svg, {
52
+ const MetaLogo = ({ className, ...props }) => /* @__PURE__ */ jsx(Svg, {
53
+ className: cx("sigvelo-brand-mark--colorful", className),
54
+ fill: "#0668E1",
30
55
  ...props,
31
56
  children: /* @__PURE__ */ jsx("path", { d: "M2 12.5c0-3.5 1.8-6.5 4.4-6.5 1.8 0 3.2 1.3 4.9 3.8 2.2 3.2 3.3 5 4.6 5 1 0 1.5-.8 1.5-2.3 0-2.1-1-4.3-2.7-4.3-1 0-2 .6-3.2 2l-1.3-1.7C11.5 6.8 12.9 6 14.5 6c3 0 5.5 3.3 5.5 7 0 3.3-1.6 5-3.8 5-2.3 0-3.6-1.6-6-5.3C8.9 10.4 8 9.2 6.8 9.2 5.4 9.2 4.3 10.6 4.3 13c0 1.8.5 3 1.3 3 .6 0 1.1-.3 1.8-1.1l1.3 1.7C7.6 17.6 6.3 18 5.3 18 3.3 18 2 16 2 12.5Z" })
32
57
  });
@@ -81,6 +81,10 @@
81
81
  block-size: var(--sigvelo-control-icon-size-md);
82
82
  }
83
83
 
84
+ .action-guide__action-icon :is(img, .app-icon__image) {
85
+ color: unset;
86
+ }
87
+
84
88
  .action-guide__action-label {
85
89
  min-inline-size: 0;
86
90
  overflow-wrap: anywhere;
@@ -50,11 +50,15 @@
50
50
  background: var(--sigvelo-color-danger-bg-subtle);
51
51
  }
52
52
 
53
- .agent-attention__icon > :is(svg, img) {
53
+ .agent-attention__icon > :is(svg, img, .app-icon) {
54
54
  inline-size: 1rem;
55
55
  block-size: 1rem;
56
56
  }
57
57
 
58
+ .agent-attention__icon :is(img, .app-icon__image) {
59
+ color: unset;
60
+ }
61
+
58
62
  .agent-attention__text {
59
63
  display: grid;
60
64
  min-inline-size: 0;