@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,4 +1,4 @@
1
- import { o as McpServerCard } from "../../mcp-server-catalog-CCj2ItkV.js";
1
+ import { o as McpServerCard } from "../../mcp-server-catalog-Cbu483Zb.js";
2
2
  import * as React from "react";
3
3
  import { DynamicToolUIPart, ToolUIPart } from "ai";
4
4
  import { MCPServersState } from "agents";
@@ -1,10 +1,10 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { A as McpIcon, d as CheckIcon, et as WarningIcon, q as SpinnerIcon } from "../../icons-Dw-im7lg.js";
2
+ import { d as CheckIcon, et as WarningIcon, q as SpinnerIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { Button } from "../foundations/Button.js";
4
- import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
5
4
  import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "../ai-sdk/AgentAttention.js";
5
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
6
+ import { r as getMcpServerProjection, t as McpServerIcon } from "../../mcp-server-7NR24ASj.js";
6
7
  import { DescriptionList } from "../foundations/DescriptionList.js";
7
- import { n as getMcpServerProjection } from "../../mcp-server-SD_S-IpB.js";
8
8
  import * as React from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  import { getToolPartState } from "@cloudflare/think/react";
@@ -80,7 +80,10 @@ function McpConnectionRequestContent({ part, server, reason, mcp: _mcp, serverId
80
80
  role: failed ? "alert" : "status",
81
81
  tone: failed ? "attention" : "neutral",
82
82
  children: [/* @__PURE__ */ jsx(AgentAttentionHeader, {
83
- icon: failed ? /* @__PURE__ */ jsx(WarningIcon, {}) : outcome === "connected" ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(McpIcon, {}),
83
+ icon: failed ? /* @__PURE__ */ jsx(WarningIcon, {}) : outcome === "connected" ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(McpServerIcon, {
84
+ server,
85
+ size: "xs"
86
+ }),
84
87
  title: failed ? `Couldn’t connect ${server.name}` : declined ? `Skipped connecting ${server.name}` : outcome === "connected" ? `Connected to ${server.name}` : `Connection request completed for ${server.name}`
85
88
  }), error ? /* @__PURE__ */ jsx(AgentAttentionBody, { children: /* @__PURE__ */ jsx("div", {
86
89
  className: "mcp-connection-request__error",
@@ -103,7 +106,10 @@ function McpConnectionRequestContent({ part, server, reason, mcp: _mcp, serverId
103
106
  children: [
104
107
  /* @__PURE__ */ jsx(AgentAttentionHeader, {
105
108
  description,
106
- icon: preparing || connecting ? /* @__PURE__ */ jsx(SpinnerIcon, {}) : ready ? /* @__PURE__ */ jsx(CheckIcon, {}) : authorizing ? /* @__PURE__ */ jsx(McpIcon, {}) : reconnect ? /* @__PURE__ */ jsx(WarningIcon, {}) : /* @__PURE__ */ jsx(McpIcon, {}),
109
+ icon: preparing || connecting ? /* @__PURE__ */ jsx(SpinnerIcon, {}) : ready ? /* @__PURE__ */ jsx(CheckIcon, {}) : reconnect ? /* @__PURE__ */ jsx(WarningIcon, {}) : /* @__PURE__ */ jsx(McpServerIcon, {
110
+ server,
111
+ size: "xs"
112
+ }),
107
113
  title
108
114
  }),
109
115
  /* @__PURE__ */ jsxs(AgentAttentionBody, {
@@ -1,2 +1,2 @@
1
- import { n as McpConnectorFormProps, r as McpConnectorFormValues, t as McpConnectorForm } from "../../McpConnectorForm-MRm1r59e.js";
1
+ import { n as McpConnectorFormProps, r as McpConnectorFormValues, t as McpConnectorForm } from "../../McpConnectorForm-BETdVBRk.js";
2
2
  export { McpConnectorForm, McpConnectorFormProps, McpConnectorFormValues };
@@ -1,9 +1,9 @@
1
1
  import { CUSTOM_MCP_SERVER_CARD } from "../../utils/mcp-server-catalog.js";
2
2
  import { t as cx } from "../../class-names-BiMDVpUo.js";
3
3
  import { Button } from "../foundations/Button.js";
4
- import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
5
4
  import { Field } from "../foundations/Field.js";
6
5
  import { Form } from "../foundations/Form.js";
6
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
7
7
  import { Fieldset } from "../foundations/Fieldset.js";
8
8
  import * as React from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { a as McpPluginDetailsDialogProps, i as McpPluginDetailsDialog, n as McpPluginCatalogProps, r as McpPluginDetails, t as McpPluginCatalog } from "../../McpPluginCatalog-mbGw8FTu.js";
1
+ import { a as McpPluginDetailsDialogProps, i as McpPluginDetailsDialog, n as McpPluginCatalogProps, r as McpPluginDetails, t as McpPluginCatalog } from "../../McpPluginCatalog-C6ip9IvL.js";
2
2
  export { McpPluginCatalog, McpPluginCatalogProps, McpPluginDetails, McpPluginDetailsDialog, McpPluginDetailsDialogProps };
@@ -1,14 +1,14 @@
1
1
  import { CUSTOM_MCP_SERVER_CARD } from "../../utils/mcp-server-catalog.js";
2
2
  import { t as cx } from "../../class-names-BiMDVpUo.js";
3
- import { V as PlusIcon, et as WarningIcon, nt as XIcon, o as ArrowUpRightIcon, q as SpinnerIcon, y as EllipsisIcon } from "../../icons-Dw-im7lg.js";
3
+ import { V as PlusIcon, et as WarningIcon, nt as XIcon, o as ArrowUpRightIcon, q as SpinnerIcon, y as EllipsisIcon } from "../../icons-BNEY4gO5.js";
4
4
  import { Button } from "../foundations/Button.js";
5
+ import { AgentAttention, AgentAttentionBody, AgentAttentionHeader } from "../ai-sdk/AgentAttention.js";
5
6
  import { IconButton } from "../foundations/IconButton.js";
6
7
  import { Dialog } from "../foundations/Dialog.js";
7
- import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
8
- import { Separator } from "../foundations/Separator.js";
9
- import { AgentAttention, AgentAttentionBody, AgentAttentionHeader } from "../ai-sdk/AgentAttention.js";
8
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
10
9
  import { AppIcon } from "../foundations/AppIcon.js";
11
- import { n as getMcpServerProjection, t as McpServerIcon } from "../../mcp-server-SD_S-IpB.js";
10
+ import { r as getMcpServerProjection, t as McpServerIcon } from "../../mcp-server-7NR24ASj.js";
11
+ import { Separator } from "../foundations/Separator.js";
12
12
  import { SearchField } from "../foundations/SearchField.js";
13
13
  import { McpServerSetupDialog } from "./McpServerPicker.js";
14
14
  import * as React from "react";
@@ -129,6 +129,7 @@ function McpPluginCatalog({ servers, mcp, detailsByServerId, featuredServerIds =
129
129
  /** Reference-derived plugin detail surface without a parallel install state. */
130
130
  function McpPluginDetailsDialog({ server, details, mcp, brandName = "your AI", brandLogo = /* @__PURE__ */ jsx("img", {
131
131
  alt: "",
132
+ className: "sigvelo-brand-mark sigvelo-brand-mark--colorful",
132
133
  src: new URL("../../assets/think-browser-host.png", import.meta.url).href,
133
134
  width: 128,
134
135
  height: 128
@@ -175,7 +176,7 @@ function McpPluginDetailsDialog({ server, details, mcp, brandName = "your AI", b
175
176
  /* @__PURE__ */ jsx(Separator, { orientation: "vertical" }),
176
177
  /* @__PURE__ */ jsx(AppIcon.Root, {
177
178
  size: "xl",
178
- variant: "contrast",
179
+ variant: "surface",
179
180
  children: brandLogo
180
181
  })
181
182
  ]
@@ -223,7 +224,10 @@ function McpPluginCard({ server, details, mcp, onSelect }) {
223
224
  size: "xl",
224
225
  variant: "ghost",
225
226
  onClick: onSelect,
226
- children: [/* @__PURE__ */ jsx(McpServerIcon, { server }), /* @__PURE__ */ jsxs("span", {
227
+ children: [/* @__PURE__ */ jsx(McpServerIcon, {
228
+ server,
229
+ size: "md"
230
+ }), /* @__PURE__ */ jsxs("span", {
227
231
  className: "mcp-plugin-catalog__card-copy",
228
232
  children: [/* @__PURE__ */ jsx("span", {
229
233
  className: "mcp-plugin-catalog__card-name sigvelo-truncate",
@@ -1,6 +1,6 @@
1
1
  import { s as MenuItemProps, t as Menu } from "../../Menu-yb6QXWA3.js";
2
- import { o as McpServerCard } from "../../mcp-server-catalog-CCj2ItkV.js";
3
- import { n as McpConnectorFormProps } from "../../McpConnectorForm-MRm1r59e.js";
2
+ import { o as McpServerCard } from "../../mcp-server-catalog-Cbu483Zb.js";
3
+ import { n as McpConnectorFormProps } from "../../McpConnectorForm-BETdVBRk.js";
4
4
  import { l as DialogProps } from "../../Dialog-B_FhRWaz.js";
5
5
  import * as React from "react";
6
6
  import { MCPServersState } from "agents";
@@ -1,11 +1,11 @@
1
1
  import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
2
- import { N as MinusIcon, d as CheckIcon, et as WarningIcon, q as SpinnerIcon } from "../../icons-Dw-im7lg.js";
2
+ import { N as MinusIcon, d as CheckIcon, et as WarningIcon, q as SpinnerIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { buttonVariants } from "../foundations/Button.js";
4
- import { Dialog } from "../foundations/Dialog.js";
5
- import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
6
4
  import { Menu } from "../foundations/Menu.js";
5
+ import { Dialog } from "../foundations/Dialog.js";
6
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
7
+ import { r as getMcpServerProjection, t as McpServerIcon } from "../../mcp-server-7NR24ASj.js";
7
8
  import { PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger } from "../ai-sdk/PromptInput.js";
8
- import { n as getMcpServerProjection, t as McpServerIcon } from "../../mcp-server-SD_S-IpB.js";
9
9
  import { McpConnectorForm } from "./McpConnectorForm.js";
10
10
  import * as React from "react";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,13 +1,13 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { W as SearchIcon, f as ChevronDownIcon } from "../../icons-Dw-im7lg.js";
2
+ import { W as SearchIcon, f as ChevronDownIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { Button } from "../foundations/Button.js";
4
+ import { Autocomplete } from "../foundations/Autocomplete.js";
4
5
  import { Dialog } from "../foundations/Dialog.js";
5
- import { o as titleCase } from "../../format-DB2mX9DA.js";
6
+ import { c as titleCase } from "../../format-COCyV98Z.js";
6
7
  import { Separator } from "../foundations/Separator.js";
7
- import { EmptyState } from "../foundations/EmptyState.js";
8
8
  import { ScrollArea } from "../foundations/ScrollArea.js";
9
- import { Autocomplete } from "../foundations/Autocomplete.js";
10
- import { t as ProviderLogo } from "../../provider-logos-zjZycgV6.js";
9
+ import { t as ProviderLogo } from "../../provider-logos-DWYY8wNz.js";
10
+ import { EmptyState } from "../foundations/EmptyState.js";
11
11
  import * as React from "react";
12
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
13
  import { createPortal } from "react-dom";
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { ThinkExecutionApproval, ThinkPendingApproval, getPausedExecution } from "./ThinkPendingApproval.js";
3
2
  import { ToolApproval } from "../ai-sdk/ToolApproval.js";
3
+ import { ThinkExecutionApproval, ThinkPendingApproval, getPausedExecution } from "./ThinkPendingApproval.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { isToolUIPart } from "ai";
@@ -1,4 +1,5 @@
1
- import { D as PromptInputCommandDefinition } from "../../PromptInput-BRX7FhjH.js";
1
+ import { D as PromptInputCommandDefinition } from "../../PromptInput-DtJHyp0S.js";
2
+ import { ConversationTabPickerItem } from "../extension/ConversationTabPicker.js";
2
3
  import { MCPServersState } from "agents";
3
4
  import { SkillDescriptor } from "agents/skills";
4
5
 
@@ -7,5 +8,7 @@ import { SkillDescriptor } from "agents/skills";
7
8
  declare function mcpPromptInputCommands(mcp: MCPServersState): PromptInputCommandDefinition[];
8
9
  /** Project whole upstream skill descriptors into composer slash commands. */
9
10
  declare function skillPromptInputCommands(skills: readonly SkillDescriptor[]): PromptInputCommandDefinition[];
11
+ /** Project host-resolved browser tabs into composer `@` mentions. */
12
+ declare function tabPromptInputCommands(tabs: readonly ConversationTabPickerItem[]): PromptInputCommandDefinition[];
10
13
  //#endregion
11
- export { mcpPromptInputCommands, skillPromptInputCommands };
14
+ export { mcpPromptInputCommands, skillPromptInputCommands, tabPromptInputCommands };
@@ -1,6 +1,43 @@
1
- import { A as McpIcon, c as BoxIcon } from "../../icons-Dw-im7lg.js";
1
+ import { composerLinkHref } from "../../utils/composer-link.js";
2
+ import { getMcpServerIconSrc } from "../../utils/mcp-server-catalog.js";
3
+ import { A as McpIcon, c as BoxIcon } from "../../icons-BNEY4gO5.js";
4
+ import { n as findCatalogMcpServerCard } from "../../mcp-server-7NR24ASj.js";
2
5
  import { jsx } from "react/jsx-runtime";
3
6
  //#region src/components/agents-sdk/PromptInputCommands.tsx
7
+ function mcpServerCommandIcon(server) {
8
+ const card = findCatalogMcpServerCard({
9
+ id: server.name,
10
+ name: server.name,
11
+ url: server.server_url
12
+ });
13
+ const src = card ? getMcpServerIconSrc(card) : void 0;
14
+ if (!src) return /* @__PURE__ */ jsx(McpIcon, {});
15
+ return /* @__PURE__ */ jsx("img", {
16
+ alt: "",
17
+ className: "sigvelo-brand-mark sigvelo-brand-mark--colorful",
18
+ decoding: "async",
19
+ referrerPolicy: "no-referrer",
20
+ src
21
+ });
22
+ }
23
+ function mcpServerIconSrc(server) {
24
+ const card = findCatalogMcpServerCard({
25
+ id: server.name,
26
+ name: server.name,
27
+ url: server.server_url
28
+ });
29
+ return card ? getMcpServerIconSrc(card) : void 0;
30
+ }
31
+ function tabCommandLabel(tab) {
32
+ const title = tab.title?.trim();
33
+ if (title) return title;
34
+ if (!tab.url) return `Tab ${tab.id}`;
35
+ try {
36
+ return new URL(tab.url).hostname.replace(/^www\./, "") || tab.url;
37
+ } catch {
38
+ return tab.url;
39
+ }
40
+ }
4
41
  /** Project whole upstream Agents MCP state into composer mention commands. */
5
42
  function mcpPromptInputCommands(mcp) {
6
43
  return Object.entries(mcp.servers).flatMap(([id, server]) => server.state === "ready" ? [{
@@ -8,7 +45,14 @@ function mcpPromptInputCommands(mcp) {
8
45
  value: id,
9
46
  label: server.name,
10
47
  description: server.server_url,
11
- icon: /* @__PURE__ */ jsx(McpIcon, {}),
48
+ icon: mcpServerCommandIcon(server),
49
+ iconSrc: mcpServerIconSrc(server),
50
+ href: composerLinkHref({
51
+ kind: "mcp",
52
+ value: id,
53
+ label: server.name,
54
+ iconSrc: mcpServerIconSrc(server)
55
+ }),
12
56
  keywords: [id, server.server_url],
13
57
  group: "Connected MCP servers",
14
58
  meta: "Connected"
@@ -21,6 +65,11 @@ function skillPromptInputCommands(skills) {
21
65
  value: skill.name,
22
66
  label: skill.name,
23
67
  description: skill.description,
68
+ href: composerLinkHref({
69
+ kind: "skill",
70
+ value: skill.name,
71
+ label: skill.name
72
+ }),
24
73
  icon: /* @__PURE__ */ jsx(BoxIcon, {}),
25
74
  ...skill.sourceId ? {
26
75
  keywords: [skill.sourceId],
@@ -29,5 +78,34 @@ function skillPromptInputCommands(skills) {
29
78
  group: "Skills"
30
79
  }));
31
80
  }
81
+ /** Project host-resolved browser tabs into composer `@` mentions. */
82
+ function tabPromptInputCommands(tabs) {
83
+ return tabs.map((tab) => {
84
+ const label = tabCommandLabel(tab);
85
+ const value = String(tab.id);
86
+ return {
87
+ id: `tab:${value}`,
88
+ value,
89
+ label,
90
+ description: tab.url,
91
+ iconSrc: tab.iconSrc,
92
+ href: composerLinkHref({
93
+ kind: "tab",
94
+ value,
95
+ label,
96
+ iconSrc: tab.iconSrc
97
+ }),
98
+ icon: tab.iconSrc ? /* @__PURE__ */ jsx("img", {
99
+ alt: "",
100
+ className: "sigvelo-brand-mark sigvelo-brand-mark--colorful",
101
+ decoding: "async",
102
+ referrerPolicy: "no-referrer",
103
+ src: tab.iconSrc
104
+ }) : void 0,
105
+ keywords: [tab.url, tab.title].filter((term) => Boolean(term)),
106
+ group: "Tabs"
107
+ };
108
+ });
109
+ }
32
110
  //#endregion
33
- export { mcpPromptInputCommands, skillPromptInputCommands };
111
+ export { mcpPromptInputCommands, skillPromptInputCommands, tabPromptInputCommands };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { n as clamp } from "../../format-DB2mX9DA.js";
2
+ import { n as clamp } from "../../format-COCyV98Z.js";
3
3
  import { Progress } from "../foundations/Progress.js";
4
4
  import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -3,8 +3,15 @@ import { AgentToolRunPart, AgentToolRunState } from "agents/agent-tools";
3
3
 
4
4
  //#region src/components/agents-sdk/SubagentRunIndicator.d.ts
5
5
  declare function getSubagentRunName(run: AgentToolRunState): string;
6
- /** Human-readable detail for a retained run selector's tooltip. */
7
- declare function getSubagentRunTooltip(run: AgentToolRunState): React.ReactNode;
6
+ /**
7
+ * One line of status for a retained run, derived from upstream's whole
8
+ * record: the latest progress report or streamed text while it runs, the
9
+ * report's first line once it finished, the failure otherwise. Rendered under
10
+ * the run's name wherever the run labels itself, and as its tooltip. Every
11
+ * source is cut in one place here, because a host's progress message, error,
12
+ * and report are all unbounded prose.
13
+ */
14
+ declare function getSubagentRunStatusText(run: AgentToolRunState): string;
8
15
  interface SubagentRunIndicatorProps<Part extends AgentToolRunPart = AgentToolRunPart> extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
9
16
  /** Complete retained-run state returned by `useAgentToolEvents()`. */
10
17
  run: AgentToolRunState<Part>;
@@ -18,5 +25,16 @@ declare function SubagentRunIndicator<Part extends AgentToolRunPart = AgentToolR
18
25
  }: SubagentRunIndicatorProps<Part> & {
19
26
  ref?: React.Ref<HTMLSpanElement>;
20
27
  }): React.JSX.Element;
28
+ /**
29
+ * How a run labels itself anywhere it appears: its Nanite, its name over its
30
+ * live status line, and its status mark. The selector chip and the drill-in's
31
+ * top bar share this so what a person clicks and what they land on read the
32
+ * same. The caller owns the surrounding row (a link, a bar title).
33
+ */
34
+ declare function SubagentRunLabel<Part extends AgentToolRunPart = AgentToolRunPart>({
35
+ run
36
+ }: {
37
+ /** Complete retained-run state returned by `useAgentToolEvents()`. */run: AgentToolRunState<Part>;
38
+ }): React.JSX.Element;
21
39
  //#endregion
22
- export { SubagentRunIndicator, SubagentRunIndicatorProps, getSubagentRunName, getSubagentRunTooltip };
40
+ export { SubagentRunIndicator, SubagentRunIndicatorProps, SubagentRunLabel, getSubagentRunName, getSubagentRunStatusText };
@@ -1,21 +1,48 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Y as StopIcon, d as CheckIcon, et as WarningIcon, q as SpinnerIcon } from "../../icons-Dw-im7lg.js";
2
+ import { Y as StopIcon, d as CheckIcon, et as WarningIcon, q as SpinnerIcon } from "../../icons-BNEY4gO5.js";
3
+ import { r as firstLine, s as textLines } from "../../format-COCyV98Z.js";
4
+ import { NaniteMark } from "../nanites/NaniteScene.js";
3
5
  import "react";
4
- import { jsx } from "react/jsx-runtime";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
7
  //#region src/components/agents-sdk/SubagentRunIndicator.tsx
6
8
  function getSubagentRunName(run) {
7
9
  return run.display?.name ?? run.agentType;
8
10
  }
9
- /** Human-readable detail for a retained run selector's tooltip. */
10
- function getSubagentRunTooltip(run) {
11
+ /**
12
+ * The last thing the child said, read off the run's live stream projection —
13
+ * what a running run shows before (or between) its progress reports. The
14
+ * projection's part type only guarantees `type`, so the text is narrowed here
15
+ * rather than assumed.
16
+ */
17
+ function lastStreamedLine(run) {
18
+ for (let index = run.parts.length - 1; index >= 0; index -= 1) {
19
+ const part = run.parts[index];
20
+ if (part.type !== "text" || !("text" in part) || typeof part.text !== "string") continue;
21
+ const line = textLines(part.text).at(-1);
22
+ if (line) return line;
23
+ }
24
+ }
25
+ /** Where a run's status line comes from, before it is cut to one line. */
26
+ function statusSource(run) {
11
27
  switch (run.status) {
12
- case "running": return run.progress?.message ?? run.progress?.phase ?? "Running";
28
+ case "running": return run.progress?.message ?? run.progress?.phase ?? lastStreamedLine(run) ?? "Running";
13
29
  case "completed": return run.summary ?? "Completed";
14
30
  case "error": return run.error ?? "Agent run failed";
15
31
  case "aborted": return run.error ?? "Agent run stopped";
16
32
  case "interrupted": return run.error ?? (run.childStillRunning ? "Interrupted · agent may still be running" : "Interrupted");
17
33
  }
18
34
  }
35
+ /**
36
+ * One line of status for a retained run, derived from upstream's whole
37
+ * record: the latest progress report or streamed text while it runs, the
38
+ * report's first line once it finished, the failure otherwise. Rendered under
39
+ * the run's name wherever the run labels itself, and as its tooltip. Every
40
+ * source is cut in one place here, because a host's progress message, error,
41
+ * and report are all unbounded prose.
42
+ */
43
+ function getSubagentRunStatusText(run) {
44
+ return firstLine(statusSource(run));
45
+ }
19
46
  /** Decorative status mark derived from a whole upstream retained-run record. */
20
47
  function SubagentRunIndicator({ className, run, ref, ...props }) {
21
48
  const icon = run.status === "running" ? /* @__PURE__ */ jsx(SpinnerIcon, {}) : run.status === "completed" ? /* @__PURE__ */ jsx(CheckIcon, {}) : run.status === "aborted" ? /* @__PURE__ */ jsx(StopIcon, {}) : /* @__PURE__ */ jsx(WarningIcon, {});
@@ -29,5 +56,28 @@ function SubagentRunIndicator({ className, run, ref, ...props }) {
29
56
  children: icon
30
57
  });
31
58
  }
59
+ /**
60
+ * How a run labels itself anywhere it appears: its Nanite, its name over its
61
+ * live status line, and its status mark. The selector chip and the drill-in's
62
+ * top bar share this so what a person clicks and what they land on read the
63
+ * same. The caller owns the surrounding row (a link, a bar title).
64
+ */
65
+ function SubagentRunLabel({ run }) {
66
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
67
+ /* @__PURE__ */ jsx(NaniteMark, { index: run.order }),
68
+ /* @__PURE__ */ jsxs("span", {
69
+ className: "subagent-run__text",
70
+ "data-status": run.status,
71
+ children: [/* @__PURE__ */ jsx("span", {
72
+ className: "subagent-run__title sigvelo-truncate",
73
+ children: getSubagentRunName(run)
74
+ }), /* @__PURE__ */ jsx("span", {
75
+ className: "subagent-run__status sigvelo-truncate",
76
+ children: getSubagentRunStatusText(run)
77
+ })]
78
+ }),
79
+ /* @__PURE__ */ jsx(SubagentRunIndicator, { run })
80
+ ] });
81
+ }
32
82
  //#endregion
33
- export { SubagentRunIndicator, getSubagentRunName, getSubagentRunTooltip };
83
+ export { SubagentRunIndicator, SubagentRunLabel, getSubagentRunName, getSubagentRunStatusText };
@@ -2,8 +2,7 @@ import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { buttonVariants } from "../foundations/Button.js";
3
3
  import { Tooltip } from "../foundations/Tooltip.js";
4
4
  import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
5
- import { SubagentRunIndicator, getSubagentRunName, getSubagentRunTooltip } from "./SubagentRunIndicator.js";
6
- import { NaniteMark } from "../nanites/NaniteScene.js";
5
+ import { SubagentRunLabel, getSubagentRunName, getSubagentRunStatusText } from "./SubagentRunIndicator.js";
7
6
  import "react";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
9
8
  //#region src/components/agents-sdk/SubagentRunSelector.tsx
@@ -19,10 +18,11 @@ import { jsx, jsxs } from "react/jsx-runtime";
19
18
  */
20
19
  function SubagentRunSelector({ className, render, run, tooltip, ref, "aria-label": ariaLabel, ...props }) {
21
20
  const name = getSubagentRunName(run);
22
- const link = /* @__PURE__ */ jsxs(NavigationLink, {
21
+ const link = /* @__PURE__ */ jsx(NavigationLink, {
23
22
  ref,
24
23
  render,
25
24
  "data-slot": "subagent-run-selector",
25
+ "data-status": run.status,
26
26
  className: cx(buttonVariants({
27
27
  variant: "ghost",
28
28
  color: "neutral",
@@ -30,16 +30,9 @@ function SubagentRunSelector({ className, render, run, tooltip, ref, "aria-label
30
30
  }), "subagent-run__selector", className),
31
31
  "aria-label": ariaLabel ?? `Open ${name}, ${run.status}`,
32
32
  ...props,
33
- children: [
34
- /* @__PURE__ */ jsx(NaniteMark, { index: run.order }),
35
- /* @__PURE__ */ jsx("span", {
36
- className: "subagent-run__title sigvelo-truncate",
37
- children: name
38
- }),
39
- /* @__PURE__ */ jsx(SubagentRunIndicator, { run })
40
- ]
33
+ children: /* @__PURE__ */ jsx(SubagentRunLabel, { run })
41
34
  });
42
- const tooltipContent = tooltip === false ? null : tooltip ?? getSubagentRunTooltip(run);
35
+ const tooltipContent = tooltip === false ? null : tooltip ?? getSubagentRunStatusText(run);
43
36
  if (!tooltipContent) return link;
44
37
  return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, {
45
38
  render: link,
@@ -1,9 +1,9 @@
1
1
  import { i as AgentMessageRenderPartContext } from "../../AgentMessageParts-C7L-Mv9U.js";
2
- import { K as PromptInputMessage } from "../../PromptInput-BRX7FhjH.js";
3
- import { r as AgentChatProps } from "../../AgentChat-Bibfj7u1.js";
4
- import { n as AgentToolEventsValue } from "../../AgentToolRunsContext-daY67hFM.js";
2
+ import { K as PromptInputMessage } from "../../PromptInput-DtJHyp0S.js";
3
+ import { r as AgentChatProps } from "../../AgentChat-BLmQghkt.js";
4
+ import { n as AgentToolEventsValue } from "../../AgentToolRunsContext-jtmveaRE.js";
5
5
  import { o as UseSessionCompactionResult } from "../../SessionCompaction-CmTJFpzj.js";
6
- import { o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, t as ThinkChatActivity } from "../../ThinkChatActivity-CgvmTXXB.js";
6
+ import { o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, t as ThinkChatActivity } from "../../ThinkChatActivity-B3lGVS-6.js";
7
7
  import { i as ThinkChatValue } from "../../ThinkChatContext-COIgzkYp.js";
8
8
  import { t as ThinkRecoveryNotice } from "../../ThinkRecoveryNotice-DGWr94rk.js";
9
9
  import { n as WorkspaceHtmlArtifactRenderer } from "../../WorkspaceMessageResponse-D66ty4FO.js";
@@ -124,7 +124,6 @@ declare function ThinkChatRoot<State = unknown, MessageT extends UIMessage = UIM
124
124
  * card) — see README "App-specific tools" and the Custom Tool Panel story.
125
125
  */
126
126
  declare function ThinkChatMessages<State = unknown, MessageT extends UIMessage = UIMessage>({
127
- composerHeader,
128
127
  draft,
129
128
  loading,
130
129
  renderPart,
@@ -1,2 +1,2 @@
1
- import { a as thinkPendingExecutionApprovalsQueryOptions, i as ThinkChatRoot, n as ThinkChatMessages, o as useThinkChat, r as ThinkChatProvider, s as useThinkPendingExecutionApprovals, t as ThinkChat } from "../../ThinkChat-BES_3Mb-.js";
1
+ import { a as thinkPendingExecutionApprovalsQueryOptions, i as ThinkChatRoot, n as ThinkChatMessages, o as useThinkChat, r as ThinkChatProvider, s as useThinkPendingExecutionApprovals, t as ThinkChat } from "../../ThinkChat-qztQ6Clo.js";
2
2
  export { ThinkChat, ThinkChatMessages, ThinkChatProvider, ThinkChatRoot, thinkPendingExecutionApprovalsQueryOptions, useThinkChat, useThinkPendingExecutionApprovals };
@@ -1,2 +1,2 @@
1
- import { a as ThinkChatToolRenderers, i as ThinkChatToolRenderer, n as ThinkChatActivityProps, o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, s as renderThinkChatActivityPart, t as ThinkChatActivity } from "../../ThinkChatActivity-CgvmTXXB.js";
1
+ import { a as ThinkChatToolRenderers, i as ThinkChatToolRenderer, n as ThinkChatActivityProps, o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, s as renderThinkChatActivityPart, t as ThinkChatActivity } from "../../ThinkChatActivity-B3lGVS-6.js";
2
2
  export { ThinkChatActivity, ThinkChatActivityProps, ThinkChatActivityRendererOptions, ThinkChatToolRenderer, ThinkChatToolRenderers, createThinkChatActivityRenderer, renderThinkChatActivityPart };
@@ -1,9 +1,9 @@
1
- import { AgentActivityFavicon, AgentActivityIcon } from "./AgentActivity.js";
2
- import { Button } from "../foundations/Button.js";
3
- import { MessageResponse } from "../ai-sdk/Message.js";
4
1
  import { useExpansionState } from "../ai-sdk/ExpansionState.js";
5
2
  import { Activity, ActivityContent, ActivityItem, ActivityItemGroup, ActivityText, ActivityTrigger } from "../ai-sdk/Activity.js";
3
+ import { Button } from "../foundations/Button.js";
4
+ import { MessageResponse } from "../ai-sdk/Message.js";
6
5
  import { useOptionalAgentToolRuns } from "./AgentToolRunsContext.js";
6
+ import { AgentActivityFavicon, AgentActivityIcon } from "./AgentActivity.js";
7
7
  import { SubagentRunList } from "./SubagentRunList.js";
8
8
  import { useOptionalThinkChatLive } from "./ThinkChatContext.js";
9
9
  import { isBrowserToolPart, isExecuteToolPart, isFetchToolPart, isPartWorking, isSessionContextToolPart, isSkillToolPart, isThinkChatActivityPart, isWorkspaceToolPart } from "./ThinkChatToolParts.js";
@@ -1,4 +1,4 @@
1
- import { t as capitalize } from "../../format-DB2mX9DA.js";
1
+ import { t as capitalize } from "../../format-COCyV98Z.js";
2
2
  import { getToolDisplayName } from "../ai-sdk/ToolPart.js";
3
3
  import { t as summarizeToolInput } from "../../summarize-tool-input-CqTcGRYy.js";
4
4
  import { displayUrl, isBrowserToolPart, isExecuteToolPart, isFetchToolPart, isPartFailed, isPartWorking, isSessionContextToolFailure, isSessionContextToolPart, isSkillToolPart, isWorkspaceToolPart } from "./ThinkChatToolParts.js";
@@ -1,8 +1,8 @@
1
- import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
2
1
  import { ActivityOutput, ActivityPanel } from "../ai-sdk/Activity.js";
3
2
  import { Tabs } from "../foundations/Tabs.js";
3
+ import { o as formatUnknownValue } from "../../format-COCyV98Z.js";
4
+ import { t as CodeBlock } from "../../CodeBlock-BpooTofO.js";
4
5
  import { BrowserLiveView } from "./BrowserLiveView.js";
5
- import { t as CodeBlock } from "../../CodeBlock-Dl7a3Wqo.js";
6
6
  import { inferWorkspaceLanguage } from "./WorkspaceFile.js";
7
7
  import { displayUrl, isSessionContextToolFailure } from "./ThinkChatToolParts.js";
8
8
  import * as React from "react";
@@ -1,9 +1,9 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { S as FileIcon, T as InfoIcon } from "../../icons-Dw-im7lg.js";
3
- import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
2
+ import { S as FileIcon, T as InfoIcon } from "../../icons-BNEY4gO5.js";
4
3
  import { Activity, ActivityContent, ActivityItemGroup, ActivityOutput, ActivityTrigger } from "../ai-sdk/Activity.js";
5
- import { EmptyState } from "../foundations/EmptyState.js";
4
+ import { o as formatUnknownValue } from "../../format-COCyV98Z.js";
6
5
  import { DescriptionList } from "../foundations/DescriptionList.js";
6
+ import { EmptyState } from "../foundations/EmptyState.js";
7
7
  import { formatThinkExecutionTimestamp, getThinkExecutionRunError, getThinkExecutionRunId, getThinkExecutionRunKindLabel, getThinkExecutionRunProgressedAt, getThinkExecutionRunProgressedLabel, getThinkExecutionRunTitle, isThinkSubmissionRun } from "./ThinkExecutionRun.js";
8
8
  import { ThinkExecutionStatus } from "./ThinkExecutionStatus.js";
9
9
  import "react";
@@ -1,4 +1,4 @@
1
- import { t as capitalize } from "../../format-DB2mX9DA.js";
1
+ import { t as capitalize } from "../../format-COCyV98Z.js";
2
2
  //#region src/components/agents-sdk/ThinkExecutionRun.ts
3
3
  /** Narrows the direct upstream execution union without wrapping either record. */
4
4
  function isThinkSubmissionRun(run) {
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { R as PauseIcon, T as InfoIcon, d as CheckIcon, nt as XIcon, q as SpinnerIcon } from "../../icons-Dw-im7lg.js";
2
+ import { R as PauseIcon, T as InfoIcon, d as CheckIcon, nt as XIcon, q as SpinnerIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { Tooltip } from "../foundations/Tooltip.js";
4
4
  import { formatThinkExecutionRunProgress, formatThinkExecutionStatus, getThinkExecutionRunKindLabel, getThinkExecutionRunStatus, getThinkExecutionRunStatusTone, getThinkExecutionRunTitle } from "./ThinkExecutionRun.js";
5
5
  import "react";
@@ -1,11 +1,11 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { U as RefreshIcon, et as WarningIcon, r as ArrowLeftIcon, y as EllipsisIcon } from "../../icons-Dw-im7lg.js";
2
+ import { U as RefreshIcon, et as WarningIcon, r as ArrowLeftIcon, y as EllipsisIcon } from "../../icons-BNEY4gO5.js";
3
3
  import { buttonVariants } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
- import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
6
- import { EmptyState } from "../foundations/EmptyState.js";
7
5
  import { Menu } from "../foundations/Menu.js";
6
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
8
7
  import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
8
+ import { EmptyState } from "../foundations/EmptyState.js";
9
9
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
10
10
  import { getThinkExecutionRunAccessibleName, getThinkExecutionRunId, getThinkExecutionRunStatus, getThinkExecutionRunStatusTone, isThinkSubmissionRun } from "./ThinkExecutionRun.js";
11
11
  import { ThinkExecutionRunSummary } from "./ThinkExecutionStatus.js";