@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.
- package/dist/{CodeBlock-Dw1z6jc8.js → CodeBlock-Bl-q7wMc.js} +1 -1
- package/dist/{FileTree-okaLnS5j.js → FileTree-DruTQ-oa.js} +1 -1
- package/dist/{ManagerOffice-CJwBAEMv.js → ManagerOffice-CMJ7laGe.js} +4 -4
- package/dist/{SetupChecklist-DWyifWWg.js → SetupChecklist-BiWQkKEq.js} +2 -2
- package/dist/{WorkspaceFileView-DQDWUpAH.js → WorkspaceFileView-DXgTljKV.js} +2 -2
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentChat.d.ts +11 -1
- package/dist/components/agents-sdk/AgentChat.js +90 -55
- package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
- package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
- package/dist/components/agents-sdk/EmployeeApp.js +1 -1
- package/dist/components/agents-sdk/EmployeeChat.d.ts +3 -3
- package/dist/components/agents-sdk/EmployeeChat.js +27 -19
- package/dist/components/agents-sdk/EmployeeChrome.js +7 -7
- package/dist/components/agents-sdk/EmployeeSchedules.js +1 -1
- package/dist/components/agents-sdk/EmployeeStartScreen.js +3 -3
- package/dist/components/agents-sdk/ManagerAccountActions.js +2 -2
- package/dist/components/agents-sdk/ManagerOffice.js +1 -1
- package/dist/components/agents-sdk/ManagerOfficeScreens.js +2 -2
- package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
- package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
- package/dist/components/agents-sdk/McpPluginCatalog.js +2 -2
- package/dist/components/agents-sdk/McpServerPicker.js +2 -2
- package/dist/components/agents-sdk/ModelSelector.js +4 -4
- package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunPanel.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
- package/dist/components/agents-sdk/ThinkChat.js +6 -5
- package/dist/components/agents-sdk/ThinkChatActivity.js +2 -2
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
- package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineActions.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
- package/dist/components/agents-sdk/ThinkRoutineForm.js +3 -3
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -2
- package/dist/components/agents-sdk/WorkbenchBack.js +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceCorrespondence.js +6 -6
- package/dist/components/agents-sdk/WorkspaceExecution.js +6 -6
- package/dist/components/agents-sdk/WorkspaceExplorer.js +2 -2
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.js +1 -1
- package/dist/components/agents-sdk/WorkspaceProject.js +4 -4
- package/dist/components/agents-sdk/WorkspaceUserScript.js +4 -4
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
- package/dist/components/ai-sdk/Approval.js +2 -2
- package/dist/components/ai-sdk/Artifact.js +1 -1
- package/dist/components/ai-sdk/ChainOfThought.js +1 -1
- package/dist/components/ai-sdk/Checkpoint.js +1 -1
- package/dist/components/ai-sdk/CodeBlock.js +1 -1
- package/dist/components/ai-sdk/ComposerLink.js +1 -1
- package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
- package/dist/components/ai-sdk/Context.js +1 -1
- package/dist/components/ai-sdk/Conversation.js +1 -1
- package/dist/components/ai-sdk/Goal.js +1 -1
- package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
- package/dist/components/ai-sdk/Message.js +2 -2
- package/dist/components/ai-sdk/MessageScroller.js +1 -1
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.js +6 -6
- package/dist/components/ai-sdk/Queue.js +1 -1
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.js +1 -1
- package/dist/components/extension/ChatGptSignInScreen.js +1 -1
- package/dist/components/extension/CodexModelSelector.js +2 -2
- package/dist/components/extension/ConversationTabPicker.js +2 -2
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/Collapsible.js +1 -1
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/Menubar.js +1 -1
- package/dist/components/foundations/SearchField.js +1 -1
- package/dist/components/foundations/Select.js +1 -1
- package/dist/components/foundations/Stepper.js +1 -1
- package/dist/components/foundations/Toast.js +1 -1
- package/dist/components/foundations/icons.js +1 -1
- package/dist/components/general-purpose/AccountSignInDialog.js +1 -1
- package/dist/components/general-purpose/Commit.js +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingPlanCard.js +2 -2
- package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
- package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/Terminal.js +2 -2
- package/dist/components/general-purpose/TestResults.js +1 -1
- package/dist/components/general-purpose/ThemeModeControl.js +1 -1
- package/dist/components/general-purpose/WebPreview.js +2 -2
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.js +3 -2
- package/dist/{copy-button-Dk2vRe9j.js → copy-button-CSDuDfdP.js} +1 -1
- package/dist/{workspace-assets-C3QT6UlQ.js → workspace-assets-Bg7XhPsk.js} +1 -1
- package/package.json +8 -13
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 {
|
|
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
|
|
44
|
-
|
|
45
|
-
|
|
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
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
115
|
-
value,
|
|
116
|
-
children: /* @__PURE__ */
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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 } =
|
|
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
|
-
}), [
|
|
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 {
|
|
256
|
+
const { lastMessageId, status } = useAgentChatControls();
|
|
221
257
|
return /* @__PURE__ */ jsx(MemoizedMessageParts, {
|
|
222
258
|
message,
|
|
223
259
|
renderPart,
|
|
224
|
-
status: message.id ===
|
|
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,
|
|
246
|
-
const {
|
|
247
|
-
const
|
|
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"} ${
|
|
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 {
|
|
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 ${
|
|
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 ===
|
|
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 {
|
|
278
|
-
if (!onRegenerate || message.id !==
|
|
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 {
|
|
291
|
-
if (!onEditAndResend || !editableText(message) || message.id !==
|
|
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 } =
|
|
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 } =
|
|
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 } =
|
|
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 } =
|
|
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 } =
|
|
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 } =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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({
|
|
85
|
+
function EmployeeTranscript({ scrollAnchor, ...content }) {
|
|
70
86
|
return /* @__PURE__ */ jsx(AgentChat.Transcript, {
|
|
71
87
|
scrollAnchor,
|
|
72
|
-
children: (
|
|
73
|
-
|
|
74
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
1
|
+
import { n as ManagerOfficeSidebar, r as ManagerOfficeSidebarAlert, t as ManagerOffice } from "../../ManagerOffice-CMJ7laGe.js";
|
|
2
2
|
export { ManagerOffice, ManagerOfficeSidebar, ManagerOfficeSidebarAlert };
|