@mcp-b/react-components 0.53.0 → 0.55.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 (106) hide show
  1. package/dist/{CodeBlock-Dw1z6jc8.js → CodeBlock-Bl-q7wMc.js} +1 -1
  2. package/dist/{FileTree-okaLnS5j.js → FileTree-DruTQ-oa.js} +1 -1
  3. package/dist/{ManagerOffice-CJwBAEMv.js → ManagerOffice-CMJ7laGe.js} +4 -4
  4. package/dist/{SetupChecklist-DWyifWWg.js → SetupChecklist-BiWQkKEq.js} +2 -2
  5. package/dist/{WorkspaceFileView-DQDWUpAH.js → WorkspaceFileView-DXgTljKV.js} +2 -2
  6. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  7. package/dist/components/agents-sdk/AgentChat.d.ts +11 -1
  8. package/dist/components/agents-sdk/AgentChat.js +90 -55
  9. package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
  10. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  11. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  12. package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
  13. package/dist/components/agents-sdk/EmployeeApp.js +1 -1
  14. package/dist/components/agents-sdk/EmployeeChat.d.ts +3 -3
  15. package/dist/components/agents-sdk/EmployeeChat.js +27 -19
  16. package/dist/components/agents-sdk/EmployeeChrome.js +7 -7
  17. package/dist/components/agents-sdk/EmployeeSchedules.js +1 -1
  18. package/dist/components/agents-sdk/EmployeeStartScreen.js +3 -3
  19. package/dist/components/agents-sdk/ManagerAccountActions.js +2 -2
  20. package/dist/components/agents-sdk/ManagerOffice.js +1 -1
  21. package/dist/components/agents-sdk/ManagerOfficeScreens.js +2 -2
  22. package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
  23. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  24. package/dist/components/agents-sdk/McpPluginCatalog.js +2 -2
  25. package/dist/components/agents-sdk/McpServerPicker.js +2 -2
  26. package/dist/components/agents-sdk/ModelSelector.js +4 -4
  27. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  28. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  29. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  30. package/dist/components/agents-sdk/SubagentRunPanel.js +1 -1
  31. package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
  32. package/dist/components/agents-sdk/ThinkChat.js +6 -5
  33. package/dist/components/agents-sdk/ThinkChatActivity.js +2 -2
  34. package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
  35. package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
  36. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  37. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
  38. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  39. package/dist/components/agents-sdk/ThinkRoutineActions.js +1 -1
  40. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
  41. package/dist/components/agents-sdk/ThinkRoutineForm.js +3 -3
  42. package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
  43. package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -2
  44. package/dist/components/agents-sdk/WorkbenchBack.js +1 -1
  45. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  46. package/dist/components/agents-sdk/WorkspaceCorrespondence.js +6 -6
  47. package/dist/components/agents-sdk/WorkspaceExecution.js +6 -6
  48. package/dist/components/agents-sdk/WorkspaceExplorer.js +2 -2
  49. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  50. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  51. package/dist/components/agents-sdk/WorkspaceMountManager.js +1 -1
  52. package/dist/components/agents-sdk/WorkspaceProject.js +4 -4
  53. package/dist/components/agents-sdk/WorkspaceUserScript.js +4 -4
  54. package/dist/components/ai-sdk/Activity.js +1 -1
  55. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  56. package/dist/components/ai-sdk/Approval.js +2 -2
  57. package/dist/components/ai-sdk/Artifact.js +1 -1
  58. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  59. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  60. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  61. package/dist/components/ai-sdk/ComposerLink.js +1 -1
  62. package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
  63. package/dist/components/ai-sdk/Context.js +1 -1
  64. package/dist/components/ai-sdk/Conversation.js +1 -1
  65. package/dist/components/ai-sdk/Goal.js +1 -1
  66. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  67. package/dist/components/ai-sdk/Message.js +2 -2
  68. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  69. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  70. package/dist/components/ai-sdk/Plan.js +1 -1
  71. package/dist/components/ai-sdk/PromptInput.js +6 -6
  72. package/dist/components/ai-sdk/Queue.js +1 -1
  73. package/dist/components/ai-sdk/Reasoning.js +1 -1
  74. package/dist/components/ai-sdk/Sources.js +1 -1
  75. package/dist/components/ai-sdk/Task.js +1 -1
  76. package/dist/components/extension/ChatGptSignInScreen.js +1 -1
  77. package/dist/components/extension/CodexModelSelector.js +2 -2
  78. package/dist/components/extension/ConversationTabPicker.js +2 -2
  79. package/dist/components/foundations/Checkbox.js +1 -1
  80. package/dist/components/foundations/Collapsible.js +1 -1
  81. package/dist/components/foundations/ContextMenu.js +1 -1
  82. package/dist/components/foundations/Menubar.js +1 -1
  83. package/dist/components/foundations/SearchField.js +1 -1
  84. package/dist/components/foundations/Select.js +1 -1
  85. package/dist/components/foundations/Stepper.js +1 -1
  86. package/dist/components/foundations/Toast.js +1 -1
  87. package/dist/components/foundations/icons.js +1 -1
  88. package/dist/components/general-purpose/AccountSignInDialog.js +1 -1
  89. package/dist/components/general-purpose/Commit.js +2 -2
  90. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  91. package/dist/components/general-purpose/FileTree.js +1 -1
  92. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  93. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  94. package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
  95. package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
  96. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  97. package/dist/components/general-purpose/Terminal.js +2 -2
  98. package/dist/components/general-purpose/TestResults.js +1 -1
  99. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  100. package/dist/components/general-purpose/WebPreview.js +2 -2
  101. package/dist/components/nanites/AgentConnection.js +2 -2
  102. package/dist/components/nanites/AgentToolDetail.js +3 -2
  103. package/dist/{copy-button-Dk2vRe9j.js → copy-button-CSDuDfdP.js} +1 -1
  104. package/dist/{workspace-assets-C3QT6UlQ.js → workspace-assets-Bg7XhPsk.js} +1 -1
  105. package/package.json +8 -13
  106. package/dist/{icons-CeGfXO21.js → icons-cuEtsgj9.js} +1 -1
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
- import { t as CopyButton } from "./copy-button-Dk2vRe9j.js";
2
+ import { t as CopyButton } from "./copy-button-CSDuDfdP.js";
3
3
  import { Select } from "./components/foundations/Select.js";
4
4
  import * as React from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
- import { C as FolderIcon, S as FileIcon, p as ChevronRightIcon, w as FolderOpenIcon } from "./icons-CeGfXO21.js";
2
+ import { C as FolderIcon, S as FileIcon, p as ChevronRightIcon, w as FolderOpenIcon } from "./icons-cuEtsgj9.js";
3
3
  import { t as NavigationLink } from "./navigation-link-kqMa81v5.js";
4
4
  import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,17 +1,17 @@
1
1
  import { findCatalogMcpServerCard, getMcpServerIconSrc } from "./utils/mcp-server-catalog.js";
2
2
  import { t as cx } from "./class-names-BiMDVpUo.js";
3
+ import { C as FolderIcon, D as LinkIcon, K as SpinnerIcon, L as PauseIcon, P as MonitorIcon, S as FileIcon, T as InfoIcon, _ as DotIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon, j as MessageSquareIcon, nt as XIcon, p as ChevronRightIcon, u as CalendarIcon } from "./icons-cuEtsgj9.js";
3
4
  import { Collapsible } from "./components/foundations/Collapsible.js";
4
- import { C as FolderIcon, D as LinkIcon, K as SpinnerIcon, L as PauseIcon, P as MonitorIcon, S as FileIcon, T as InfoIcon, _ as DotIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon, j as MessageSquareIcon, nt as XIcon, p as ChevronRightIcon, u as CalendarIcon } from "./icons-CeGfXO21.js";
5
5
  import { Button } from "./components/foundations/Button.js";
6
- import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "./components/ai-sdk/AgentAttention.js";
7
6
  import { Tooltip } from "./components/foundations/Tooltip.js";
8
- import { Avatar } from "./components/foundations/Avatar.js";
9
- import { CorrespondentName, correspondentHandleLabel } from "./components/ai-sdk/Correspondent.js";
10
7
  import { EmptyState } from "./components/foundations/EmptyState.js";
11
8
  import { AppTopBar } from "./components/general-purpose/AppTopBar.js";
9
+ import { Avatar } from "./components/foundations/Avatar.js";
12
10
  import { AppIcon } from "./components/foundations/AppIcon.js";
13
11
  import { LinkButton } from "./components/foundations/LinkButton.js";
14
12
  import { getThinkExecutionRunStatus } from "./components/agents-sdk/ThinkExecutionRun.js";
13
+ import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "./components/ai-sdk/AgentAttention.js";
14
+ import { CorrespondentName, correspondentHandleLabel } from "./components/ai-sdk/Correspondent.js";
15
15
  import * as React from "react";
16
16
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
17
17
  import { useRender } from "@base-ui/react/use-render";
@@ -1,7 +1,7 @@
1
1
  import { n as mergeBaseClassName } from "./class-names-BiMDVpUo.js";
2
- import { B as PlusIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon } from "./icons-CeGfXO21.js";
3
- import { Menu } from "./components/foundations/Menu.js";
2
+ import { B as PlusIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon } from "./icons-cuEtsgj9.js";
4
3
  import { IconButton } from "./components/foundations/IconButton.js";
4
+ import { Menu } from "./components/foundations/Menu.js";
5
5
  import * as React from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/components/_internal/menu-disclosure-group.tsx
@@ -1,7 +1,7 @@
1
- import { b as EyeIcon, d as CheckIcon, et as WarningIcon, k as MaximizeIcon, m as CodeIcon, r as ArrowLeftIcon, v as DownloadIcon } from "./icons-CeGfXO21.js";
1
+ import { b as EyeIcon, d as CheckIcon, et as WarningIcon, k as MaximizeIcon, m as CodeIcon, r as ArrowLeftIcon, v as DownloadIcon } from "./icons-cuEtsgj9.js";
2
2
  import { i as formatClock } from "./format-COCyV98Z.js";
3
- import { a as CodeBlockCopyButton, i as CodeBlockContent, r as CodeBlockContainer, t as CodeBlock } from "./CodeBlock-Dw1z6jc8.js";
4
3
  import { AppTopBar } from "./components/general-purpose/AppTopBar.js";
4
+ import { a as CodeBlockCopyButton, i as CodeBlockContent, r as CodeBlockContainer, t as CodeBlock } from "./CodeBlock-Bl-q7wMc.js";
5
5
  import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./components/agents-sdk/WorkspaceFile.js";
6
6
  import { i as useWorkspaceNavigationContext } from "./WorkspaceLink-BYZG-V_I.js";
7
7
  import { useWorkspaceNavigationRestoration } from "./components/agents-sdk/WorkspaceNavigationRestoration.js";
@@ -1,5 +1,5 @@
1
1
  import { canRequestFavicon, inferFaviconUrl } from "../../utils/favicon.js";
2
- import { D as LinkIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, U as SearchIcon, Z as TerminalIcon, et as WarningIcon, tt as WrenchIcon } from "../../icons-CeGfXO21.js";
2
+ import { D as LinkIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, U as SearchIcon, Z as TerminalIcon, et as WarningIcon, tt as WrenchIcon } from "../../icons-cuEtsgj9.js";
3
3
  import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/components/agents-sdk/AgentActivity.tsx
@@ -32,6 +32,8 @@ interface AgentChatRootProps<MessageT extends UIMessage = UIMessage> extends Omi
32
32
  interface AgentChatRenderMessageContext<MessageT extends UIMessage = UIMessage> {
33
33
  message: MessageT;
34
34
  messageIndex: number;
35
+ /** One-based ordinal among ordinary messages of the same role. */
36
+ messageNumber: number;
35
37
  }
36
38
  interface AgentChatRuntime<MessageT extends UIMessage = UIMessage> {
37
39
  messages: readonly MessageT[];
@@ -52,6 +54,13 @@ interface AgentChatRuntime<MessageT extends UIMessage = UIMessage> {
52
54
  dockRef: React.RefObject<HTMLDivElement | null>;
53
55
  announce: (text: string) => void;
54
56
  }
57
+ type AgentChatControls<MessageT extends UIMessage = UIMessage> = Omit<AgentChatRuntime<MessageT>, "messages"> & {
58
+ lastMessageId: string | undefined;
59
+ lastUserMessageId: string | undefined;
60
+ lastAssistantMessageId: string | undefined;
61
+ };
62
+ /** Control state excludes streamed message bodies. */
63
+ declare function useAgentChatControls<MessageT extends UIMessage = UIMessage>(): AgentChatControls<MessageT>;
55
64
  declare function useAgentChatRuntime<MessageT extends UIMessage = UIMessage>(): AgentChatRuntime<MessageT>;
56
65
  /** Layout and runtime adapter over the nearest queue owner; connections remain host-owned. */
57
66
  declare function AgentChatRoot<MessageT extends UIMessage = UIMessage>({
@@ -89,6 +98,7 @@ interface AgentChatMessageProps<MessageT extends UIMessage = UIMessage> extends
89
98
  declare function AgentChatMessage<MessageT extends UIMessage = UIMessage>({
90
99
  message,
91
100
  messageIndex,
101
+ messageNumber,
92
102
  children
93
103
  }: AgentChatMessageProps<MessageT>): React.JSX.Element;
94
104
  interface AgentChatMessageContentProps<MessageT extends UIMessage = UIMessage> {
@@ -199,4 +209,4 @@ declare const AgentChat: {
199
209
  Approval: typeof AgentChatApproval;
200
210
  };
201
211
  //#endregion
202
- export { AgentChat, AgentChatActions, AgentChatApproval, AgentChatApprovals, AgentChatApprovalsProps, AgentChatComposer, AgentChatComposerProps, AgentChatCopyAction, AgentChatDock, AgentChatEditAction, AgentChatLoading, AgentChatMessage, AgentChatMessageContent, AgentChatMessageContentProps, AgentChatMessageProps, AgentChatNotice, AgentChatPromptTray, AgentChatPromptTrayProps, AgentChatQueue, AgentChatRenderMessageContext, AgentChatRetryAction, AgentChatRoot, AgentChatRootProps, AgentChatSubmit, AgentChatTimestamp, AgentChatTranscript, AgentChatTranscriptProps, compactingNotice, useAgentChatApprovals, useAgentChatCompaction, useAgentChatRuntime };
212
+ export { AgentChat, AgentChatActions, AgentChatApproval, AgentChatApprovals, AgentChatApprovalsProps, AgentChatComposer, AgentChatComposerProps, AgentChatCopyAction, AgentChatDock, AgentChatEditAction, AgentChatLoading, AgentChatMessage, AgentChatMessageContent, AgentChatMessageContentProps, AgentChatMessageProps, AgentChatNotice, AgentChatPromptTray, AgentChatPromptTrayProps, AgentChatQueue, AgentChatRenderMessageContext, AgentChatRetryAction, AgentChatRoot, AgentChatRootProps, AgentChatSubmit, AgentChatTimestamp, AgentChatTranscript, AgentChatTranscriptProps, compactingNotice, useAgentChatApprovals, useAgentChatCompaction, useAgentChatControls, useAgentChatRuntime };
@@ -1,23 +1,23 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
+ import { H as RefreshIcon, K as SpinnerIcon, Q as TrashIcon, R as PencilIcon, t as ArchiveIcon } from "../../icons-cuEtsgj9.js";
2
3
  import { ExpansionStateProvider } from "../ai-sdk/ExpansionState.js";
3
- import { H as RefreshIcon, K as SpinnerIcon, Q as TrashIcon, R as PencilIcon, t as ArchiveIcon } from "../../icons-CeGfXO21.js";
4
- import { AgentChatMessageEditor } from "../ai-sdk/AgentChatMessageEditor.js";
5
- import { PromptInput, PromptInputSubmit, PromptInputTray, composerLinksToReferences, usePromptInputController } from "../ai-sdk/PromptInput.js";
6
4
  import { Message, MessageAction, MessageActions, MessageCopyAction, MessageMeta, MessageTimestamp } from "../ai-sdk/Message.js";
5
+ import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
6
+ import { AgentChatQueueProvider, useOptionalAgentChatQueue } from "./AgentChatQueue.js";
7
7
  import { AgentMessageParts } from "../ai-sdk/AgentMessageParts.js";
8
- import { Marker, MarkerContent } from "../foundations/Marker.js";
8
+ import { AgentChatMessageEditor } from "../ai-sdk/AgentChatMessageEditor.js";
9
9
  import { VirtualMessageScroller } from "../ai-sdk/MessageScrollerVirtual.js";
10
+ import { PromptInput, PromptInputSubmit, PromptInputTray, composerLinksToReferences, usePromptInputController } from "../ai-sdk/PromptInput.js";
10
11
  import { Queue, QueueItem, QueueItemAction, QueueItemActions, QueueItemContent, QueueItemIndicator, QueueList } from "../ai-sdk/Queue.js";
11
- import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
12
- import { AgentChatQueueProvider, useOptionalAgentChatQueue } from "./AgentChatQueue.js";
13
12
  import { PromptInputApproval, getApprovalStateKey, getPendingToolApprovals } from "./PromptInputApproval.js";
14
13
  import { BrandLoading } from "../general-purpose/BrandLoading.js";
14
+ import { Marker, MarkerContent } from "../foundations/Marker.js";
15
15
  import * as React from "react";
16
16
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
17
17
  import { useRender } from "@base-ui/react/use-render";
18
18
  import { mergeProps } from "@base-ui/react/merge-props";
19
+ import { isCompactionMessage } from "agents/sessions";
19
20
  import { isTextUIPart } from "ai";
20
- import { isCompactionMessage } from "agents/experimental/memory/utils";
21
21
  //#region src/components/agents-sdk/AgentChat.tsx
22
22
  function observeAgentChatDock(element) {
23
23
  if (!element || typeof ResizeObserver === "undefined") return;
@@ -40,12 +40,23 @@ function observeAgentChatDock(element) {
40
40
  observer.disconnect();
41
41
  };
42
42
  }
43
- const AgentChatContext = React.createContext(null);
44
- function useAgentChatRuntime() {
45
- const value = React.useContext(AgentChatContext);
43
+ const AgentChatMessagesContext = React.createContext(null);
44
+ const AgentChatControlsContext = React.createContext(null);
45
+ /** Control state excludes streamed message bodies. */
46
+ function useAgentChatControls() {
47
+ const value = React.useContext(AgentChatControlsContext);
46
48
  if (!value) throw new Error("Chat parts must be used inside AgentChat.Root or ThinkChat.Root.");
47
49
  return value;
48
50
  }
51
+ function useAgentChatRuntime() {
52
+ const messages = React.useContext(AgentChatMessagesContext);
53
+ const controls = useAgentChatControls();
54
+ if (!messages) throw new Error("Chat parts must be used inside AgentChat.Root or ThinkChat.Root.");
55
+ return React.useMemo(() => ({
56
+ messages,
57
+ ...controls
58
+ }), [messages, controls]);
59
+ }
49
60
  /** Layout and runtime adapter over the nearest queue owner; connections remain host-owned. */
50
61
  function AgentChatRoot({ onSubmit, onStop, onPromptQueued, ...props }) {
51
62
  const queue = useOptionalAgentChatQueue();
@@ -72,11 +83,17 @@ function AgentChatRuntimeRoot({ messages, status = "ready", onRegenerate, onEdit
72
83
  const { items: queued, submit, captureSubmit, remove: removeQueued, steer, error: queueError, submissionVersion } = queue;
73
84
  const busy = status === "submitted" || status === "streaming";
74
85
  const dockRef = React.useRef(null);
75
- const stop = React.useMemo(() => queue.canStop ? () => {
76
- queue.stop().catch(() => void 0);
77
- } : void 0, [queue]);
86
+ const { canStop, stop: stopQueued } = queue;
87
+ const stop = React.useMemo(() => canStop ? () => {
88
+ stopQueued().catch(() => void 0);
89
+ } : void 0, [canStop, stopQueued]);
90
+ const lastMessageId = messages.at(-1)?.id;
91
+ const lastUserMessageId = messages.findLast((message) => message.role === "user" && !getAgentEvent(message))?.id;
92
+ const lastAssistantMessageId = messages.findLast((message) => message.role === "assistant" && !isCompactionMessage(message) && !getAgentEvent(message))?.id;
78
93
  const value = React.useMemo(() => ({
79
- messages,
94
+ lastMessageId,
95
+ lastUserMessageId,
96
+ lastAssistantMessageId,
80
97
  status,
81
98
  busy,
82
99
  submit,
@@ -94,7 +111,9 @@ function AgentChatRuntimeRoot({ messages, status = "ready", onRegenerate, onEdit
94
111
  dockRef,
95
112
  announce
96
113
  }), [
97
- messages,
114
+ lastMessageId,
115
+ lastUserMessageId,
116
+ lastAssistantMessageId,
98
117
  status,
99
118
  busy,
100
119
  submit,
@@ -111,26 +130,37 @@ function AgentChatRuntimeRoot({ messages, status = "ready", onRegenerate, onEdit
111
130
  submissionVersion,
112
131
  announce
113
132
  ]);
114
- return /* @__PURE__ */ jsx(AgentChatContext.Provider, {
115
- value,
116
- children: /* @__PURE__ */ jsxs("div", {
117
- ref,
118
- className: cx("agent-chat", className),
119
- "data-recipe": "fill-host",
120
- ...props,
121
- children: [children, /* @__PURE__ */ jsx("span", {
122
- className: "sigvelo-visually-hidden",
123
- role: "status",
124
- "aria-live": "polite",
125
- "aria-atomic": "true",
126
- children: announcement
127
- })]
133
+ return /* @__PURE__ */ jsx(AgentChatMessagesContext.Provider, {
134
+ value: messages,
135
+ children: /* @__PURE__ */ jsx(AgentChatControlsContext.Provider, {
136
+ value,
137
+ children: /* @__PURE__ */ jsxs("div", {
138
+ ref,
139
+ className: cx("agent-chat", className),
140
+ "data-recipe": "fill-host",
141
+ ...props,
142
+ children: [children, /* @__PURE__ */ jsx("span", {
143
+ className: "sigvelo-visually-hidden",
144
+ role: "status",
145
+ "aria-live": "polite",
146
+ "aria-atomic": "true",
147
+ children: announcement
148
+ })]
149
+ })
128
150
  })
129
151
  });
130
152
  }
131
153
  /** Windowed transcript. Historical rows are never a live region; their disclosure state survives windowing. */
132
154
  function AgentChatTranscript({ children, emptyState, className, scrollAnchor }) {
133
155
  const { messages, busy } = useAgentChatRuntime();
156
+ const messageNumbers = React.useMemo(() => {
157
+ const counts = {
158
+ system: 0,
159
+ user: 0,
160
+ assistant: 0
161
+ };
162
+ return messages.map((message) => isCompactionMessage(message) || getAgentEvent(message) ? 0 : ++counts[message.role]);
163
+ }, [messages]);
134
164
  return /* @__PURE__ */ jsx(ExpansionStateProvider, { children: /* @__PURE__ */ jsx(VirtualMessageScroller, {
135
165
  className: cx("agent-chat__conversation", className),
136
166
  items: messages,
@@ -147,7 +177,8 @@ function AgentChatTranscript({ children, emptyState, className, scrollAnchor })
147
177
  scrollButtonProps: { className: "agent-chat__scroll-button" },
148
178
  renderItem: (message, messageIndex) => children({
149
179
  message,
150
- messageIndex
180
+ messageIndex,
181
+ messageNumber: messageNumbers[messageIndex]
151
182
  })
152
183
  }) });
153
184
  }
@@ -164,8 +195,8 @@ function useChatMessage() {
164
195
  return value;
165
196
  }
166
197
  /** Preserves runtime-authored event/compaction provenance and owns only the local edit lifecycle. */
167
- function AgentChatMessage({ message, messageIndex, children }) {
168
- const { onEditAndResend } = useAgentChatRuntime();
198
+ function AgentChatMessage({ message, messageIndex, messageNumber, children }) {
199
+ const { onEditAndResend } = useAgentChatControls();
169
200
  const [editing, setEditing] = React.useState(false);
170
201
  const editRef = React.useRef(null);
171
202
  const restoreFocus = React.useRef(false);
@@ -178,9 +209,14 @@ function AgentChatMessage({ message, messageIndex, children }) {
178
209
  const value = React.useMemo(() => ({
179
210
  message,
180
211
  messageIndex,
212
+ messageNumber,
181
213
  editRef,
182
214
  startEdit: () => setEditing(true)
183
- }), [message, messageIndex]);
215
+ }), [
216
+ message,
217
+ messageIndex,
218
+ messageNumber
219
+ ]);
184
220
  if (isCompactionMessage(message)) return /* @__PURE__ */ jsx(Marker, {
185
221
  variant: "separator",
186
222
  children: /* @__PURE__ */ jsx(MarkerContent, { children: "Context compacted" })
@@ -217,11 +253,11 @@ function isCompactedPart(message, partIndex) {
217
253
  return isTextUIPart(part) ? Array.isArray(metadata?.compactedTextParts) && metadata.compactedTextParts.includes(partIndex) : part !== void 0 && "toolCallId" in part && Array.isArray(metadata?.compactedToolOutputs) && metadata.compactedToolOutputs.includes(part.toolCallId);
218
254
  }
219
255
  function AgentChatMessageContent({ message, renderPart }) {
220
- const { messages, status } = useAgentChatRuntime();
256
+ const { lastMessageId, status } = useAgentChatControls();
221
257
  return /* @__PURE__ */ jsx(MemoizedMessageParts, {
222
258
  message,
223
259
  renderPart,
224
- status: message.id === messages.at(-1)?.id ? status : "ready"
260
+ status: message.id === lastMessageId ? status : "ready"
225
261
  });
226
262
  }
227
263
  function MessageParts({ message, renderPart, status }) {
@@ -242,13 +278,12 @@ function MessageParts({ message, renderPart, status }) {
242
278
  const MemoizedMessageParts = React.memo(MessageParts);
243
279
  /** Stable action space for a message; callers choose every action inside it. */
244
280
  function AgentChatActions({ children, ...props }) {
245
- const { message, messageIndex } = useChatMessage();
246
- const { messages, busy } = useAgentChatRuntime();
247
- const number = messages.slice(0, messageIndex + 1).filter((m) => m.role === message.role && !isCompactionMessage(m) && !getAgentEvent(m)).length;
248
- const unavailable = busy && (message.role === "user" ? message.id === messages.findLast((item) => item.role === "user" && !getAgentEvent(item))?.id : message.id === messages.at(-1)?.id);
281
+ const { message, messageNumber } = useChatMessage();
282
+ const { lastMessageId, lastUserMessageId, busy } = useAgentChatControls();
283
+ const unavailable = busy && message.id === (message.role === "user" ? lastUserMessageId : lastMessageId);
249
284
  return /* @__PURE__ */ jsx(MessageMeta, { children: /* @__PURE__ */ jsx(MessageActions, {
250
285
  reserveSpace: message.role === "assistant",
251
- "aria-label": `Actions for ${message.role === "assistant" ? "response" : "message"} ${number}`,
286
+ "aria-label": `Actions for ${message.role === "assistant" ? "response" : "message"} ${messageNumber}`,
252
287
  "data-unavailable": unavailable ? true : void 0,
253
288
  "aria-hidden": unavailable ? true : void 0,
254
289
  inert: unavailable ? true : void 0,
@@ -257,14 +292,14 @@ function AgentChatActions({ children, ...props }) {
257
292
  }) });
258
293
  }
259
294
  function AgentChatCopyAction() {
260
- const { message, messageIndex } = useChatMessage();
261
- const { messages, busy, announce } = useAgentChatRuntime();
295
+ const { message, messageIndex, messageNumber } = useChatMessage();
296
+ const { lastMessageId, busy, announce } = useAgentChatControls();
262
297
  const text = message.parts.filter(isTextUIPart).map((part) => part.text).join("\n\n").trim();
263
298
  if (!text) return null;
264
- const label = message.role === "assistant" ? `Copy response ${messages.slice(0, messageIndex + 1).filter((m) => m.role === "assistant" && !isCompactionMessage(m) && !getAgentEvent(m)).length}` : `Copy message ${messageIndex + 1}`;
299
+ const label = message.role === "assistant" ? `Copy response ${messageNumber}` : `Copy message ${messageIndex + 1}`;
265
300
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(MessageCopyAction, {
266
301
  label,
267
- disabled: busy && message.id === messages.at(-1)?.id,
302
+ disabled: busy && message.id === lastMessageId,
268
303
  tooltip: message.role === "assistant" ? "Copy response" : "Copy message",
269
304
  text,
270
305
  size: "xs",
@@ -274,8 +309,8 @@ function AgentChatCopyAction() {
274
309
  }
275
310
  function AgentChatRetryAction() {
276
311
  const { message } = useChatMessage();
277
- const { messages, busy, onRegenerate } = useAgentChatRuntime();
278
- if (!onRegenerate || message.id !== messages.findLast((m) => m.role === "assistant" && !isCompactionMessage(m) && !getAgentEvent(m))?.id) return null;
312
+ const { lastAssistantMessageId, busy, onRegenerate } = useAgentChatControls();
313
+ if (!onRegenerate || message.id !== lastAssistantMessageId) return null;
279
314
  return /* @__PURE__ */ jsx(MessageAction, {
280
315
  disabled: busy,
281
316
  label: "Retry",
@@ -287,8 +322,8 @@ function AgentChatRetryAction() {
287
322
  }
288
323
  function AgentChatEditAction() {
289
324
  const { message, startEdit, editRef } = useChatMessage();
290
- const { messages, busy, onEditAndResend } = useAgentChatRuntime();
291
- if (!onEditAndResend || !editableText(message) || message.id !== messages.findLast((m) => m.role === "user" && !getAgentEvent(m))?.id) return null;
325
+ const { lastUserMessageId, busy, onEditAndResend } = useAgentChatControls();
326
+ if (!onEditAndResend || !editableText(message) || message.id !== lastUserMessageId) return null;
292
327
  return /* @__PURE__ */ jsx(MessageAction, {
293
328
  ref: editRef,
294
329
  disabled: busy,
@@ -310,7 +345,7 @@ function AgentChatTimestamp() {
310
345
  }
311
346
  /** Measured bottom surface for notices, queued prompts, approvals and the form. */
312
347
  function AgentChatDock({ children, render, ref, ...props }) {
313
- const { dockRef } = useAgentChatRuntime();
348
+ const { dockRef } = useAgentChatControls();
314
349
  const observe = React.useCallback((element) => {
315
350
  dockRef.current = element;
316
351
  return observeAgentChatDock(element);
@@ -330,7 +365,7 @@ function AgentChatDock({ children, render, ref, ...props }) {
330
365
  }
331
366
  /** Submission adapter only. Compose it inside Dock; the caller owns its inputs and controls. */
332
367
  function AgentChatComposer({ children, disabled = false, className, onSubmitCapture, ...props }) {
333
- const { submit, captureSubmit, canSubmit } = useAgentChatRuntime();
368
+ const { submit, captureSubmit, canSubmit } = useAgentChatControls();
334
369
  const submissions = React.useRef(/* @__PURE__ */ new WeakMap());
335
370
  return /* @__PURE__ */ jsx(PromptInput, {
336
371
  ...props,
@@ -351,7 +386,7 @@ function AgentChatComposer({ children, disabled = false, className, onSubmitCapt
351
386
  });
352
387
  }
353
388
  function AgentChatSubmit({ disabled = false }) {
354
- const { status, stop, canSubmit } = useAgentChatRuntime();
389
+ const { status, stop, canSubmit } = useAgentChatControls();
355
390
  const { textInput, attachments } = usePromptInputController();
356
391
  return /* @__PURE__ */ jsx(PromptInputSubmit, {
357
392
  status,
@@ -369,7 +404,7 @@ function AgentChatPromptTray({ className, ...props }) {
369
404
  });
370
405
  }
371
406
  function AgentChatQueue() {
372
- const { queued, busy, stop, steer, removeQueued, queueError } = useAgentChatRuntime();
407
+ const { queued, busy, stop, steer, removeQueued, queueError } = useAgentChatControls();
373
408
  if (!queued.length && !queueError) return null;
374
409
  return /* @__PURE__ */ jsx(AgentChatPromptTray, {
375
410
  "data-agent-chat-queue": "",
@@ -497,7 +532,7 @@ function AgentChatApprovals({ thinkStub, pendingApprovals = [], onExecutionSettl
497
532
  });
498
533
  }
499
534
  function AgentChatApproval() {
500
- const { onApprovalResponse } = useAgentChatRuntime();
535
+ const { onApprovalResponse } = useAgentChatControls();
501
536
  const { pending, skip, settled, thinkStub } = useAgentChatApprovals();
502
537
  const first = pending[0];
503
538
  if (!first) return null;
@@ -532,7 +567,7 @@ const COMPACTION_COMMAND = {
532
567
  };
533
568
  /** Explicit command action controller; callers put its command in the catalog and its notice where appropriate. */
534
569
  function useAgentChatCompaction(onCompact) {
535
- const { busy, submissionVersion } = useAgentChatRuntime();
570
+ const { busy, submissionVersion } = useAgentChatControls();
536
571
  const { textInput } = usePromptInputController();
537
572
  const [state, setState] = React.useState(null);
538
573
  React.useEffect(() => {
@@ -579,4 +614,4 @@ const AgentChat = {
579
614
  Approval: AgentChatApproval
580
615
  };
581
616
  //#endregion
582
- export { AgentChat, AgentChatActions, AgentChatApproval, AgentChatApprovals, AgentChatComposer, AgentChatCopyAction, AgentChatDock, AgentChatEditAction, AgentChatLoading, AgentChatMessage, AgentChatMessageContent, AgentChatNotice, AgentChatPromptTray, AgentChatQueue, AgentChatRetryAction, AgentChatRoot, AgentChatSubmit, AgentChatTimestamp, AgentChatTranscript, compactingNotice, useAgentChatApprovals, useAgentChatCompaction, useAgentChatRuntime };
617
+ export { AgentChat, AgentChatActions, AgentChatApproval, AgentChatApprovals, AgentChatComposer, AgentChatCopyAction, AgentChatDock, AgentChatEditAction, AgentChatLoading, AgentChatMessage, AgentChatMessageContent, AgentChatNotice, AgentChatPromptTray, AgentChatQueue, AgentChatRetryAction, AgentChatRoot, AgentChatSubmit, AgentChatTimestamp, AgentChatTranscript, compactingNotice, useAgentChatApprovals, useAgentChatCompaction, useAgentChatControls, useAgentChatRuntime };
@@ -1,4 +1,4 @@
1
- import { E as KeyboardIcon, H as RefreshIcon, r as ArrowLeftIcon } from "../../icons-CeGfXO21.js";
1
+ import { E as KeyboardIcon, H as RefreshIcon, r as ArrowLeftIcon } from "../../icons-cuEtsgj9.js";
2
2
  import { Button } from "../foundations/Button.js";
3
3
  import { WebPreviewNavigationButton } from "../general-purpose/WebPreview.js";
4
4
  import { BrowserLiveView } from "./BrowserLiveView.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { K as SpinnerIcon, _ as DotIcon, k as MaximizeIcon } from "../../icons-CeGfXO21.js";
2
+ import { K as SpinnerIcon, _ as DotIcon, k as MaximizeIcon } from "../../icons-cuEtsgj9.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { Dialog } from "../foundations/Dialog.js";
5
5
  import { TransitionSurface } from "../foundations/TransitionSurface.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { L as PauseIcon, z as PlayIcon } from "../../icons-CeGfXO21.js";
2
+ import { L as PauseIcon, z as PlayIcon } from "../../icons-cuEtsgj9.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import { i as formatClock } from "../../format-COCyV98Z.js";
5
5
  import { EmptyState } from "../foundations/EmptyState.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { K as SpinnerIcon, nt as XIcon } from "../../icons-CeGfXO21.js";
2
+ import { K as SpinnerIcon, nt as XIcon } from "../../icons-cuEtsgj9.js";
3
3
  import { Tabs } from "../foundations/Tabs.js";
4
4
  import { WebPreview, WebPreviewEmpty, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl, WebPreviewViewport } from "../general-purpose/WebPreview.js";
5
5
  import { BrowserLiveView } from "./BrowserLiveView.js";
@@ -1,4 +1,4 @@
1
- import { et as WarningIcon } from "../../icons-CeGfXO21.js";
1
+ import { et as WarningIcon } from "../../icons-cuEtsgj9.js";
2
2
  import { WorkbenchBack } from "./WorkbenchBack.js";
3
3
  import { StatusScreen } from "../general-purpose/StatusScreen.js";
4
4
  import { EmployeeChrome } from "./EmployeeChrome.js";
@@ -28,8 +28,7 @@ interface EmployeeComposerProps<Id extends string = string> {
28
28
  dictation?: React.ReactNode;
29
29
  context?: ContextProps;
30
30
  }
31
- /** One composer anatomy for the app and its examples; capabilities remain explicit. */
32
- declare function EmployeeComposer<Id extends string = string>({
31
+ declare function EmployeeComposerContent<Id extends string = string>({
33
32
  personalization,
34
33
  connections,
35
34
  tools,
@@ -43,13 +42,14 @@ declare function EmployeeComposer<Id extends string = string>({
43
42
  disabled,
44
43
  ...input
45
44
  }: EmployeeComposerProps<Id>): React.JSX.Element;
45
+ /** One composer anatomy for the app and its examples; unchanged configuration stays quiet during streaming. */
46
+ declare const EmployeeComposer: typeof EmployeeComposerContent;
46
47
  interface EmployeeTranscriptProps extends Omit<ThinkChatMessageContentProps, "message"> {
47
48
  readOnly?: boolean;
48
49
  scrollAnchor?: AgentChatTranscriptProps["scrollAnchor"];
49
50
  }
50
51
  /** Shared message content and actions, including the same read-only run behavior. */
51
52
  declare function EmployeeTranscript({
52
- readOnly,
53
53
  scrollAnchor,
54
54
  ...content
55
55
  }: EmployeeTranscriptProps): React.JSX.Element;
@@ -1,13 +1,13 @@
1
1
  import { PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger, PromptInputAttachments, PromptInputBody, PromptInputCommandComposer, PromptInputContextSelector, PromptInputFooter, PromptInputFooterEnd, PromptInputTools } from "../ai-sdk/PromptInput.js";
2
- import { Context, ContextContent, ContextContentBody, ContextContentHeader, ContextTrigger } from "../ai-sdk/Context.js";
3
- import { CodexModelSelector } from "../extension/CodexModelSelector.js";
4
- import { ConversationTabPicker } from "../extension/ConversationTabPicker.js";
5
2
  import { AgentChat, useAgentChatCompaction } from "./AgentChat.js";
6
- import { n as SetupChecklistGroup } from "../../SetupChecklist-DWyifWWg.js";
3
+ import { ConversationTabPicker } from "../extension/ConversationTabPicker.js";
4
+ import { n as SetupChecklistGroup } from "../../SetupChecklist-BiWQkKEq.js";
7
5
  import { McpServerPickerItems } from "./McpServerPicker.js";
8
6
  import { EmployeeStartScreen } from "./EmployeeStartScreen.js";
7
+ import { Context, ContextContent, ContextContentBody, ContextContentHeader, ContextTrigger } from "../ai-sdk/Context.js";
8
+ import { CodexModelSelector } from "../extension/CodexModelSelector.js";
9
9
  import { ThinkChat } from "./ThinkChat.js";
10
- import "react";
10
+ import * as React from "react";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
12
  //#region src/components/agents-sdk/EmployeeChat.tsx
13
13
  function CommandInput(props) {
@@ -26,8 +26,7 @@ function CompactingInput({ onCompact, ...props }) {
26
26
  }
27
27
  })] });
28
28
  }
29
- /** One composer anatomy for the app and its examples; capabilities remain explicit. */
30
- function EmployeeComposer({ personalization, connections, tools, contextSelector, tabs, model, dictation, context, onCompact, placeholder = "How can I help you today?", disabled, ...input }) {
29
+ function EmployeeComposerContent({ personalization, connections, tools, contextSelector, tabs, model, dictation, context, onCompact, placeholder = "How can I help you today?", disabled, ...input }) {
31
30
  const inputProps = {
32
31
  ...input,
33
32
  placeholder,
@@ -65,21 +64,30 @@ function EmployeeComposer({ personalization, connections, tools, contextSelector
65
64
  ]
66
65
  });
67
66
  }
67
+ /** One composer anatomy for the app and its examples; unchanged configuration stays quiet during streaming. */
68
+ const EmployeeComposer = React.memo(EmployeeComposerContent);
69
+ const EmployeeMessage = React.memo(function EmployeeMessage({ message, messageIndex, messageNumber, readOnly, ...content }) {
70
+ return /* @__PURE__ */ jsxs(AgentChat.Message, {
71
+ message,
72
+ messageIndex,
73
+ messageNumber,
74
+ children: [/* @__PURE__ */ jsx(ThinkChat.MessageContent, {
75
+ ...content,
76
+ message
77
+ }), /* @__PURE__ */ jsxs(AgentChat.Actions, { children: [
78
+ /* @__PURE__ */ jsx(AgentChat.CopyAction, {}),
79
+ readOnly ? null : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(AgentChat.RetryAction, {}), /* @__PURE__ */ jsx(AgentChat.EditAction, {})] }),
80
+ /* @__PURE__ */ jsx(AgentChat.Timestamp, {})
81
+ ] })]
82
+ });
83
+ });
68
84
  /** Shared message content and actions, including the same read-only run behavior. */
69
- function EmployeeTranscript({ readOnly, scrollAnchor, ...content }) {
85
+ function EmployeeTranscript({ scrollAnchor, ...content }) {
70
86
  return /* @__PURE__ */ jsx(AgentChat.Transcript, {
71
87
  scrollAnchor,
72
- children: ({ message, messageIndex }) => /* @__PURE__ */ jsxs(AgentChat.Message, {
73
- message,
74
- messageIndex,
75
- children: [/* @__PURE__ */ jsx(ThinkChat.MessageContent, {
76
- ...content,
77
- message
78
- }), /* @__PURE__ */ jsxs(AgentChat.Actions, { children: [
79
- /* @__PURE__ */ jsx(AgentChat.CopyAction, {}),
80
- readOnly ? null : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(AgentChat.RetryAction, {}), /* @__PURE__ */ jsx(AgentChat.EditAction, {})] }),
81
- /* @__PURE__ */ jsx(AgentChat.Timestamp, {})
82
- ] })]
88
+ children: (row) => /* @__PURE__ */ jsx(EmployeeMessage, {
89
+ ...row,
90
+ ...content
83
91
  })
84
92
  });
85
93
  }
@@ -1,21 +1,21 @@
1
1
  import { findCatalogMcpServerCard } from "../../utils/mcp-server-catalog.js";
2
- import { A as McpIcon, C as FolderIcon, F as MoonIcon, K as SpinnerIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, V as QueueIcon, W as SidebarIcon, Y as SunIcon, Z as TerminalIcon, b as EyeIcon, c as BoxIcon, et as WarningIcon, o as ArrowUpRightIcon, q as SquareIcon, r as ArrowLeftIcon, y as EllipsisIcon } from "../../icons-CeGfXO21.js";
2
+ import { A as McpIcon, C as FolderIcon, F as MoonIcon, K as SpinnerIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, V as QueueIcon, W as SidebarIcon, Y as SunIcon, Z as TerminalIcon, b as EyeIcon, c as BoxIcon, et as WarningIcon, o as ArrowUpRightIcon, q as SquareIcon, r as ArrowLeftIcon, y as EllipsisIcon } from "../../icons-cuEtsgj9.js";
3
3
  import { Button } from "../foundations/Button.js";
4
- import { Menu } from "../foundations/Menu.js";
5
4
  import { Tooltip } from "../foundations/Tooltip.js";
6
5
  import { IconButton } from "../foundations/IconButton.js";
7
6
  import { Dialog } from "../foundations/Dialog.js";
8
7
  import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
9
- import { AgentChatStartScreen, AgentChatStartScreenComposer, AgentChatStartScreenPrimary, AgentChatStartScreenSuggestions, AgentChatStartScreenTray, AgentChatStarterList } from "../ai-sdk/AgentChatStartScreen.js";
10
- import { n as isPlainPrimaryLinkActivation } from "../../navigation-link-kqMa81v5.js";
11
- import { DescriptionList } from "../foundations/DescriptionList.js";
12
- import { Avatar } from "../foundations/Avatar.js";
13
- import { ChatGptSignInScreen } from "../extension/ChatGptSignInScreen.js";
14
8
  import { SubagentRunLabel, getSubagentRunName } from "./SubagentRunIndicator.js";
9
+ import { Menu } from "../foundations/Menu.js";
15
10
  import { BrandLoading } from "../general-purpose/BrandLoading.js";
16
11
  import { AgentChat } from "./AgentChat.js";
17
12
  import { EmptyState } from "../foundations/EmptyState.js";
18
13
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
14
+ import { n as isPlainPrimaryLinkActivation } from "../../navigation-link-kqMa81v5.js";
15
+ import { AgentChatStartScreen, AgentChatStartScreenComposer, AgentChatStartScreenPrimary, AgentChatStartScreenSuggestions, AgentChatStartScreenTray, AgentChatStarterList } from "../ai-sdk/AgentChatStartScreen.js";
16
+ import { ChatGptSignInScreen } from "../extension/ChatGptSignInScreen.js";
17
+ import { Avatar } from "../foundations/Avatar.js";
18
+ import { DescriptionList } from "../foundations/DescriptionList.js";
19
19
  import { useTheme } from "../foundations/ThemeProvider.js";
20
20
  import { ActionGuide, ActionGuideAction, ActionGuideList, ActionGuideSection } from "../general-purpose/ActionGuide.js";
21
21
  import { ResponsiveSidebarShell, useResponsiveSidebarShell } from "../general-purpose/ResponsiveSidebarShell.js";
@@ -1,4 +1,4 @@
1
- import { R as PencilIcon, r as ArrowLeftIcon } from "../../icons-CeGfXO21.js";
1
+ import { R as PencilIcon, r as ArrowLeftIcon } from "../../icons-cuEtsgj9.js";
2
2
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
3
3
  import { StatusScreen } from "../general-purpose/StatusScreen.js";
4
4
  import { ResponsiveSidebarShell } from "../general-purpose/ResponsiveSidebarShell.js";
@@ -1,10 +1,10 @@
1
- import { C as FolderIcon, G as SlackIcon, I as PaperclipIcon, c as BoxIcon, g as DiscordIcon } from "../../icons-CeGfXO21.js";
2
- import { Menu } from "../foundations/Menu.js";
1
+ import { C as FolderIcon, G as SlackIcon, I as PaperclipIcon, c as BoxIcon, g as DiscordIcon } from "../../icons-cuEtsgj9.js";
3
2
  import { IconButton } from "../foundations/IconButton.js";
3
+ import { Menu } from "../foundations/Menu.js";
4
4
  import { ActionGuideAction } from "../general-purpose/ActionGuide.js";
5
5
  import { AppIcon } from "../foundations/AppIcon.js";
6
6
  import { EmployeeChrome } from "./EmployeeChrome.js";
7
- import { t as SetupChecklistAction } from "../../SetupChecklist-DWyifWWg.js";
7
+ import { t as SetupChecklistAction } from "../../SetupChecklist-BiWQkKEq.js";
8
8
  import { McpServerPickerAction, McpServerPickerItems } from "./McpServerPicker.js";
9
9
  import { WorkspaceMountManager } from "./WorkspaceMountManager.js";
10
10
  import * as React from "react";
@@ -1,7 +1,7 @@
1
- import { B as PlusIcon, y as EllipsisIcon } from "../../icons-CeGfXO21.js";
2
- import { Menu } from "../foundations/Menu.js";
1
+ import { B as PlusIcon, y as EllipsisIcon } from "../../icons-cuEtsgj9.js";
3
2
  import { IconButton } from "../foundations/IconButton.js";
4
3
  import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
4
+ import { Menu } from "../foundations/Menu.js";
5
5
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
6
6
  import { Toast } from "../foundations/Toast.js";
7
7
  import "react";
@@ -1,2 +1,2 @@
1
- import { n as ManagerOfficeSidebar, r as ManagerOfficeSidebarAlert, t as ManagerOffice } from "../../ManagerOffice-CJwBAEMv.js";
1
+ import { n as ManagerOfficeSidebar, r as ManagerOfficeSidebarAlert, t as ManagerOffice } from "../../ManagerOffice-CMJ7laGe.js";
2
2
  export { ManagerOffice, ManagerOfficeSidebar, ManagerOfficeSidebarAlert };