@mcp-b/react-components 0.51.1 → 0.52.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-BMK6CW9D.js → CodeBlock-Bl-q7wMc.js} +2 -1
- package/dist/{CodeBlock--r6GS8YV.d.ts → CodeBlock-DJ99TQWy.d.ts} +1 -1
- package/dist/EmployeeChrome-C8eTGJWn.d.ts +231 -0
- package/dist/{FileTree-okaLnS5j.js → FileTree-DruTQ-oa.js} +1 -1
- package/dist/{IconButton-ByiyjkYE.d.ts → IconButton-CAlFVb2L.d.ts} +3 -0
- package/dist/{ManagerOffice-5pEFpoV3.js → ManagerOffice-CMJ7laGe.js} +17 -12
- package/dist/McpPluginCatalog-DNeHDrts.d.ts +94 -0
- package/dist/{Message-DyaTBiV7.d.ts → Message-COsMPZSC.d.ts} +2 -2
- package/dist/{ResponsiveSidebarShell-CAmmtQTR.d.ts → ResponsiveSidebarShell-BUBQa_IV.d.ts} +3 -1
- package/dist/{SetupChecklist-O6qmgwz4.js → SetupChecklist-BiWQkKEq.js} +6 -5
- package/dist/{ThinkThreadPicker-yetGX_s5.d.ts → ThinkThreadPicker-DX0lL-P7.d.ts} +3 -0
- package/dist/{Workspace-HzGrWDX3.d.ts → Workspace-mzMZSdts.d.ts} +1 -1
- package/dist/WorkspaceConceptPanel-97ZyVpZI.js +20 -0
- package/dist/{WorkspaceFile-Bouauobc.d.ts → WorkspaceFile-19WP0EU1.d.ts} +1 -1
- package/dist/{WorkspaceFileView-ncZuIWhC.js → WorkspaceFileView-DXgTljKV.js} +3 -2
- package/dist/{WorkspaceMessageResponse-8lOSAbw_.d.ts → WorkspaceMessageResponse-BApg8KZv.d.ts} +1 -1
- package/dist/WorkspaceMountManager-CkLI1B-G.d.ts +33 -0
- package/dist/assets/sigvelo-logo.svg +54 -0
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentChat.d.ts +6 -2
- package/dist/components/agents-sdk/AgentChat.js +12 -16
- package/dist/components/agents-sdk/AgentEvent.js +2 -2
- package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +2 -1
- package/dist/components/agents-sdk/BrowserLiveScreen.js +9 -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.d.ts +43 -30
- package/dist/components/agents-sdk/EmployeeApp.js +47 -34
- package/dist/components/agents-sdk/EmployeeChat.d.ts +28 -8
- package/dist/components/agents-sdk/EmployeeChat.js +33 -5
- package/dist/components/agents-sdk/EmployeeChrome.d.ts +1 -219
- package/dist/components/agents-sdk/EmployeeChrome.js +106 -107
- package/dist/components/agents-sdk/EmployeeSchedules.d.ts +1 -1
- package/dist/components/agents-sdk/EmployeeSchedules.js +3 -4
- package/dist/components/agents-sdk/EmployeeStartScreen.d.ts +12 -11
- package/dist/components/agents-sdk/EmployeeStartScreen.js +23 -16
- package/dist/components/agents-sdk/ManagerAccountActions.js +3 -4
- package/dist/components/agents-sdk/ManagerOffice.js +1 -2
- package/dist/components/agents-sdk/ManagerOfficeScreens.d.ts +2 -2
- package/dist/components/agents-sdk/ManagerOfficeScreens.js +30 -13
- package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
- package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
- package/dist/components/agents-sdk/McpPluginCatalog.d.ts +1 -93
- package/dist/components/agents-sdk/McpPluginCatalog.js +6 -6
- package/dist/components/agents-sdk/McpServerPicker.js +5 -5
- package/dist/components/agents-sdk/ModelEndpointDialog.js +1 -1
- 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.d.ts +3 -0
- package/dist/components/agents-sdk/SubagentRunPanel.js +67 -47
- package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
- package/dist/components/agents-sdk/ThinkChat.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkChatActivity.js +3 -3
- 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 +7 -14
- package/dist/components/agents-sdk/ThinkFullApp.d.ts +2 -0
- package/dist/components/agents-sdk/ThinkFullApp.js +2 -0
- package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineActions.js +2 -2
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
- package/dist/components/agents-sdk/ThinkRoutineForm.js +4 -4
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.js +33 -20
- package/dist/components/agents-sdk/WorkbenchBack.d.ts +18 -0
- package/dist/components/agents-sdk/WorkbenchBack.js +27 -0
- package/dist/components/agents-sdk/Workspace.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +3 -1
- package/dist/components/agents-sdk/WorkspaceConcept.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceCorrespondence.js +6 -6
- package/dist/components/agents-sdk/WorkspaceExecution.js +13 -10
- package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +4 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +13 -4
- package/dist/components/agents-sdk/WorkspaceFile.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
- package/dist/components/agents-sdk/WorkspaceLive.d.ts +2 -2
- package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.d.ts +1 -32
- package/dist/components/agents-sdk/WorkspaceMountManager.js +1 -1
- package/dist/components/agents-sdk/WorkspaceProject.js +7 -5
- package/dist/components/agents-sdk/WorkspaceUserScript.js +7 -5
- 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.d.ts +1 -1
- 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.d.ts +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.d.ts +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.d.ts +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 +7 -7
- 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.d.ts +1 -1
- package/dist/components/extension/ChatGptSignInScreen.js +61 -186
- package/dist/components/extension/CodexModelSelector.js +4 -8
- 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/IconButton.d.ts +1 -1
- package/dist/components/foundations/IconButton.js +7 -4
- 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/ToggleGroup.d.ts +1 -1
- package/dist/components/foundations/ToggleGroup.js +1 -1
- package/dist/components/foundations/icons.js +1 -1
- package/dist/components/general-purpose/AccountSignInDialog.d.ts +5 -9
- package/dist/components/general-purpose/AccountSignInDialog.js +13 -5
- package/dist/components/general-purpose/BrandLoading.d.ts +14 -0
- package/dist/components/general-purpose/BrandLoading.js +25 -0
- package/dist/components/general-purpose/Commit.d.ts +1 -1
- package/dist/components/general-purpose/Commit.js +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +59 -27
- package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/StatusScreen.d.ts +13 -2
- package/dist/components/general-purpose/StatusScreen.js +27 -3
- package/dist/components/general-purpose/Terminal.d.ts +2 -2
- 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 +2 -2
- package/dist/components/general-purpose/WebPreview.d.ts +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 +5 -5
- package/dist/{copy-button-OUwOdgEm.d.ts → copy-button-CJYYgCIU.d.ts} +1 -1
- package/dist/{copy-button-Dk2vRe9j.js → copy-button-CSDuDfdP.js} +1 -1
- package/dist/styles/activity.css +2 -2
- package/dist/styles/agent-chat.css +6 -105
- package/dist/styles/app-root.css +9 -0
- package/dist/styles/app-top-bar.css +10 -4
- package/dist/styles/avatar.css +2 -2
- package/dist/styles/base.css +6 -2
- package/dist/styles/brand-loading.css +58 -0
- package/dist/styles/brand.test.ts +158 -0
- package/dist/styles/browser-control-overlay.css +22 -0
- package/dist/styles/button.css +22 -1
- package/dist/styles/chatgpt-sign-in-screen.css +111 -225
- package/dist/styles/code-block.css +5 -0
- package/dist/styles/codex-model-selector.css +2 -12
- package/dist/styles/description-list.css +9 -2
- package/dist/styles/employee-app.css +19 -1
- package/dist/styles/employee-chrome.css +35 -5
- package/dist/styles/file-tree.css +15 -2
- package/dist/styles/index.css +1 -0
- package/dist/styles/manager-office.css +80 -55
- package/dist/styles/manager-work.css +5 -11
- package/dist/styles/mcp-plugin-catalog.css +29 -34
- package/dist/styles/mcp-server-picker.css +13 -5
- package/dist/styles/prompt-input.css +3 -13
- package/dist/styles/queue.css +1 -1
- package/dist/styles/recipes.css +9 -2
- package/dist/styles/responsive-sidebar-shell-motion.test.ts +67 -0
- package/dist/styles/responsive-sidebar-shell.css +70 -25
- package/dist/styles/search-field.css +8 -6
- package/dist/styles/subagent-run.css +81 -0
- package/dist/styles/think-execution-workbench.css +0 -17
- package/dist/styles/think-full-app.css +11 -4
- package/dist/styles/think-thread-picker.css +16 -38
- package/dist/styles/workspace-concepts.css +29 -2
- package/dist/styles/workspace-explorer.css +6 -48
- package/dist/utils/structured-code.d.ts +1 -1
- package/dist/{workspace-assets-wW_lQLYK.js → workspace-assets-Bg7XhPsk.js} +2 -2
- package/package.json +2 -2
- package/dist/styles/extension-status.css +0 -46
- package/dist/{icons-CeGfXO21.js → icons-cuEtsgj9.js} +1 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="390 289.5 420 420">
|
|
2
|
+
<title>SigVelo</title>
|
|
3
|
+
<style>
|
|
4
|
+
@media (prefers-color-scheme: dark) {
|
|
5
|
+
#top-gradient stop:nth-child(2) { stop-color: #06e8ff }
|
|
6
|
+
#top-gradient stop:nth-child(3) { stop-color: #25dfff }
|
|
7
|
+
#top-gradient stop:nth-child(4) { stop-color: #2ed1ff }
|
|
8
|
+
#top-gradient stop:nth-child(5) { stop-color: #36bdff }
|
|
9
|
+
#top-gradient stop:nth-child(6) { stop-color: #3ca4ff }
|
|
10
|
+
#top-gradient stop:nth-child(7) { stop-color: #3b85ff }
|
|
11
|
+
#top-gradient stop:nth-child(8) { stop-color: #3566ff }
|
|
12
|
+
#top-gradient stop:nth-child(9) { stop-color: #3561ff }
|
|
13
|
+
#bottom-gradient stop:nth-child(2) { stop-color: #17e8ff }
|
|
14
|
+
#bottom-gradient stop:nth-child(3) { stop-color: #2fe1ff }
|
|
15
|
+
#bottom-gradient stop:nth-child(4) { stop-color: #40d5ff }
|
|
16
|
+
#bottom-gradient stop:nth-child(5) { stop-color: #49c5ff }
|
|
17
|
+
#bottom-gradient stop:nth-child(6) { stop-color: #4cb1ff }
|
|
18
|
+
#bottom-gradient stop:nth-child(7) { stop-color: #4999ff }
|
|
19
|
+
#bottom-gradient stop:nth-child(8) { stop-color: #4081ff }
|
|
20
|
+
#bottom-gradient stop:nth-child(9) { stop-color: #316bff }
|
|
21
|
+
#bottom-gradient stop:nth-child(10) { stop-color: #2a64ff }
|
|
22
|
+
.body { fill: #26e5ff }
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
25
|
+
<defs>
|
|
26
|
+
<linearGradient id="top-gradient" x1="756.23" y1="475.14" x2="608.29" y2="352.58" gradientUnits="userSpaceOnUse">
|
|
27
|
+
<stop stop-color="#00ebff"/>
|
|
28
|
+
<stop offset=".17" stop-color="#00e7fe"/>
|
|
29
|
+
<stop offset=".32" stop-color="#01dcfd"/>
|
|
30
|
+
<stop offset=".46" stop-color="#04cbfa"/>
|
|
31
|
+
<stop offset=".59" stop-color="#08b2f6"/>
|
|
32
|
+
<stop offset=".72" stop-color="#0c91f2"/>
|
|
33
|
+
<stop offset=".85" stop-color="#1269ec"/>
|
|
34
|
+
<stop offset=".98" stop-color="#183be6"/>
|
|
35
|
+
<stop offset="1" stop-color="#1a32e5"/>
|
|
36
|
+
</linearGradient>
|
|
37
|
+
<linearGradient id="bottom-gradient" x1="452.57" y1="524.29" x2="583.8" y2="641.28" gradientUnits="userSpaceOnUse">
|
|
38
|
+
<stop stop-color="#00ebff"/>
|
|
39
|
+
<stop offset=".24" stop-color="#00e8ff"/>
|
|
40
|
+
<stop offset=".38" stop-color="#00e0ff"/>
|
|
41
|
+
<stop offset=".5" stop-color="#00d1ff"/>
|
|
42
|
+
<stop offset=".61" stop-color="#00bdff"/>
|
|
43
|
+
<stop offset=".71" stop-color="#00a3ff"/>
|
|
44
|
+
<stop offset=".8" stop-color="#0082ff"/>
|
|
45
|
+
<stop offset=".88" stop-color="#005cff"/>
|
|
46
|
+
<stop offset=".96" stop-color="#0030ff"/>
|
|
47
|
+
<stop offset="1" stop-color="#0118ff"/>
|
|
48
|
+
</linearGradient>
|
|
49
|
+
</defs>
|
|
50
|
+
<path fill="url(#top-gradient)" d="m746.99 482.75-145.57-84.52 60.02-34.87 71.05 41.28a29.03 29.03 0 0 1 14.47 25.13l.03 52.97Z"/>
|
|
51
|
+
<path fill="url(#bottom-gradient)" d="m602.51 601.74-60.02 34.87-29.12-16.94-45.85-26.63a29.03 29.03 0 0 1-14.48-25.14l-.03-53 59.5 34.57.79.46 89.21 51.8Z"/>
|
|
52
|
+
<path class="body" fill="#00e4ff" d="m732.58 595.89-115.46 67.09a29.16 29.16 0 0 1-29.22 0l-45.41-26.38 60.02-34.87 84.29-48.96-.07-84.18 60.29 35.03.03 67.1a29.05 29.05 0 0 1-14.47 25.16Z"/>
|
|
53
|
+
<path class="body" fill="#00e4ff" d="m661.44 363.37-60.02 34.87-88.19 51.21.07 79.61-60.32-35.03-.03-62.5a29.05 29.05 0 0 1 14.48-25.16l119.39-69.35a29.16 29.16 0 0 1 29.2 0l45.42 26.36Z"/>
|
|
54
|
+
</svg>
|
|
@@ -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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { D as PromptInputCommandDefinition, J as PromptInputMessage, r as PromptInput, vt as PromptInputTray } from "../../PromptInput-DGPrCTPl.js";
|
|
2
2
|
import { r as AgentChatQueuedPrompt } from "../../AgentChatQueue-MrHhV901.js";
|
|
3
3
|
import { i as AgentMessageRenderPartContext } from "../../AgentMessageParts-C7L-Mv9U.js";
|
|
4
|
-
import { i as MessageActions } from "../../Message-
|
|
4
|
+
import { i as MessageActions } from "../../Message-COsMPZSC.js";
|
|
5
5
|
import { t as VirtualMessageScrollAnchor } from "../../MessageScrollerVirtual-D4afYwVB.js";
|
|
6
6
|
import { a as getPendingToolApprovals } from "../../PromptInputApproval-D2hpn54U.js";
|
|
7
7
|
import * as React from "react";
|
|
@@ -77,7 +77,11 @@ declare function AgentChatTranscript<MessageT extends UIMessage = UIMessage>({
|
|
|
77
77
|
className,
|
|
78
78
|
scrollAnchor
|
|
79
79
|
}: AgentChatTranscriptProps<MessageT>): React.JSX.Element;
|
|
80
|
-
declare function AgentChatLoading(
|
|
80
|
+
declare function AgentChatLoading({
|
|
81
|
+
label
|
|
82
|
+
}: {
|
|
83
|
+
label?: string;
|
|
84
|
+
}): React.JSX.Element;
|
|
81
85
|
interface AgentChatMessageProps<MessageT extends UIMessage = UIMessage> extends AgentChatRenderMessageContext<MessageT> {
|
|
82
86
|
children: React.ReactNode;
|
|
83
87
|
}
|
|
@@ -1,24 +1,24 @@
|
|
|
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 { EmptyState } from "../foundations/EmptyState.js";
|
|
12
|
-
import { TransitionSurface } from "../foundations/TransitionSurface.js";
|
|
13
|
-
import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
|
|
14
|
-
import { AgentChatQueueProvider, useOptionalAgentChatQueue } from "./AgentChatQueue.js";
|
|
15
12
|
import { PromptInputApproval, getApprovalStateKey, getPendingToolApprovals } from "./PromptInputApproval.js";
|
|
13
|
+
import { BrandLoading } from "../general-purpose/BrandLoading.js";
|
|
14
|
+
import { Marker, MarkerContent } from "../foundations/Marker.js";
|
|
15
|
+
import { TransitionSurface } from "../foundations/TransitionSurface.js";
|
|
16
16
|
import * as React from "react";
|
|
17
17
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
18
18
|
import { useRender } from "@base-ui/react/use-render";
|
|
19
19
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
20
|
-
import { isTextUIPart } from "ai";
|
|
21
20
|
import { isCompactionMessage } from "agents/experimental/memory/utils";
|
|
21
|
+
import { isTextUIPart } from "ai";
|
|
22
22
|
//#region src/components/agents-sdk/AgentChat.tsx
|
|
23
23
|
function observeAgentChatDock(element) {
|
|
24
24
|
if (!element || typeof ResizeObserver === "undefined") return;
|
|
@@ -153,14 +153,10 @@ function AgentChatTranscript({ children, emptyState, className, scrollAnchor })
|
|
|
153
153
|
})
|
|
154
154
|
}) });
|
|
155
155
|
}
|
|
156
|
-
function AgentChatLoading() {
|
|
157
|
-
return /* @__PURE__ */ jsx(
|
|
156
|
+
function AgentChatLoading({ label = "Loading conversation" }) {
|
|
157
|
+
return /* @__PURE__ */ jsx(BrandLoading, {
|
|
158
158
|
className: "agent-chat__transcript-loading",
|
|
159
|
-
|
|
160
|
-
children: /* @__PURE__ */ jsx(EmptyState, {
|
|
161
|
-
icon: /* @__PURE__ */ jsx(SpinnerIcon, {}),
|
|
162
|
-
description: "Loading conversation"
|
|
163
|
-
})
|
|
159
|
+
label
|
|
164
160
|
});
|
|
165
161
|
}
|
|
166
162
|
const ChatMessageContext = React.createContext(null);
|
|
@@ -2,9 +2,9 @@ import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
|
2
2
|
import { Activity, ActivityContent, ActivityText, ActivityTrigger } from "../ai-sdk/Activity.js";
|
|
3
3
|
import { r as firstLine } from "../../format-COCyV98Z.js";
|
|
4
4
|
import { MessageResponse } from "../ai-sdk/Message.js";
|
|
5
|
-
import { NaniteMark } from "../nanites/NaniteScene.js";
|
|
6
|
-
import { getSubagentRunName } from "./SubagentRunIndicator.js";
|
|
7
5
|
import { useOptionalAgentToolRuns } from "./AgentToolRunsContext.js";
|
|
6
|
+
import { getSubagentRunName } from "./SubagentRunIndicator.js";
|
|
7
|
+
import { NaniteMark } from "../nanites/NaniteScene.js";
|
|
8
8
|
import "react";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import { isTextUIPart } from "ai";
|
|
@@ -84,7 +84,8 @@ interface BrowserLiveScreenProtocol {
|
|
|
84
84
|
dataChannelLabel: string;
|
|
85
85
|
/** Parses one machine status message; return null for unrelated data. */
|
|
86
86
|
parseStatus(this: void, value: unknown): BrowserLiveScreenStatus | null;
|
|
87
|
-
/** Serializes
|
|
87
|
+
/** Serializes exact-tab input. Empty events request current status before
|
|
88
|
+
* the first frame; the machine ignores streamGeneration for that request. */
|
|
88
89
|
serializeInput(this: void, input: BrowserLiveScreenInput): string;
|
|
89
90
|
/** Serializes one drawn-browser command for the employee machine. */
|
|
90
91
|
serializeCommand(this: void, command: BrowserLiveScreenCommand): string;
|
|
@@ -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";
|
|
@@ -221,6 +221,14 @@ function BrowserLiveScreen({ sendSignal: sendHostSignal, subscribeSignals, proto
|
|
|
221
221
|
};
|
|
222
222
|
const dataChannel = peer.createDataChannel(dataChannelLabel);
|
|
223
223
|
channel.current = dataChannel;
|
|
224
|
+
dataChannel.onopen = () => {
|
|
225
|
+
if (disposed || peer !== connection || channel.current !== dataChannel) return;
|
|
226
|
+
dataChannel.send(currentProtocol.current.serializeInput({
|
|
227
|
+
tabId,
|
|
228
|
+
streamGeneration: 0,
|
|
229
|
+
events: []
|
|
230
|
+
}));
|
|
231
|
+
};
|
|
224
232
|
dataChannel.onmessage = (event) => {
|
|
225
233
|
if (disposed || peer !== connection || channel.current !== dataChannel) return;
|
|
226
234
|
const status = parseStatus(event.data);
|
|
@@ -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,49 +1,62 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as WorkspaceNavigationAdapter } from "../../WorkspaceLink-Bh9-Jo1r.js";
|
|
2
|
+
import { f as EmployeeShellProps, l as EmployeeModelSetup, n as EmployeeBrand, p as EmployeeStatus, t as EmployeeAgentRun } from "../../EmployeeChrome-C8eTGJWn.js";
|
|
2
3
|
import * as React from "react";
|
|
3
4
|
|
|
4
5
|
//#region src/components/agents-sdk/EmployeeApp.d.ts
|
|
5
|
-
interface
|
|
6
|
-
/**
|
|
6
|
+
interface EmployeeAppRootProps extends EmployeeShellProps {
|
|
7
|
+
/** Admission gates remain separate; connecting keeps the application frame mounted. */
|
|
7
8
|
status: EmployeeStatus;
|
|
9
|
+
workspaceNavigation?: WorkspaceNavigationAdapter;
|
|
8
10
|
brand: EmployeeBrand;
|
|
9
11
|
modelSetup?: EmployeeModelSetup;
|
|
10
|
-
|
|
11
|
-
/** Transcript hydration does not withdraw the parent's navigation or Stop controls. */
|
|
12
|
-
conversationLoading?: string;
|
|
13
|
-
/** Child transcript state; null means a parent chat, independently of toolbar state. */
|
|
14
|
-
conversationRun: EmployeeAgentRun | null;
|
|
15
|
-
/** Current output pane, or null when the conversation occupies the screen. */
|
|
16
|
-
workbench: React.ReactNode;
|
|
17
|
-
/** Host-bound live browser screen. */
|
|
18
|
-
live: React.ReactNode;
|
|
19
|
-
/** Host-bound schedule screen. */
|
|
12
|
+
/** Schedule navigation owns its own shell; the chat remains mounted behind it. */
|
|
20
13
|
schedules: React.ReactNode;
|
|
21
|
-
|
|
22
|
-
/** Render the extension or manager shell from this package using the same chrome state. */
|
|
14
|
+
/** Render the extension or manager shell with the same chrome state. */
|
|
23
15
|
shell: (props: EmployeeShellProps) => React.ReactNode;
|
|
24
|
-
/** Host-bound conversation. */
|
|
25
|
-
children: React.ReactNode;
|
|
26
16
|
ref?: React.Ref<HTMLDivElement>;
|
|
27
17
|
}
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
* supply live content; this component owns admission, navigation and layout.
|
|
31
|
-
*/
|
|
32
|
-
declare function EmployeeApp({
|
|
18
|
+
/** Persistent admission and navigation frame. Put keyed runtimes and Suspense inside it. */
|
|
19
|
+
declare function EmployeeAppRoot({
|
|
33
20
|
status,
|
|
21
|
+
workspaceNavigation,
|
|
34
22
|
brand,
|
|
35
23
|
modelSetup,
|
|
36
|
-
connectingLabel,
|
|
37
|
-
conversationLoading,
|
|
38
|
-
conversationRun,
|
|
39
|
-
workbench,
|
|
40
|
-
live,
|
|
41
24
|
schedules,
|
|
42
|
-
report,
|
|
43
25
|
shell,
|
|
44
26
|
ref,
|
|
45
27
|
children,
|
|
46
28
|
...chrome
|
|
47
|
-
}:
|
|
29
|
+
}: EmployeeAppRootProps): React.JSX.Element;
|
|
30
|
+
interface EmployeeAppContentProps {
|
|
31
|
+
view: EmployeeShellProps["view"];
|
|
32
|
+
/** Current output pane, or null when the conversation occupies the screen. */
|
|
33
|
+
workbench: React.ReactNode;
|
|
34
|
+
live: React.ReactNode;
|
|
35
|
+
report?: React.ReactNode;
|
|
36
|
+
/** Place transcript hydration boundaries here so they cannot replace navigation or output. */
|
|
37
|
+
children: React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
/** Stable content lanes. Hosts hydrate the conversation locally and retain output while waiting. */
|
|
40
|
+
declare function EmployeeAppContent({
|
|
41
|
+
view,
|
|
42
|
+
workbench,
|
|
43
|
+
live,
|
|
44
|
+
report,
|
|
45
|
+
children
|
|
46
|
+
}: EmployeeAppContentProps): React.JSX.Element;
|
|
47
|
+
/** Local run failure presentation; keep the parent connection and queue above this part. */
|
|
48
|
+
declare function EmployeeAppConversation({
|
|
49
|
+
run,
|
|
50
|
+
children
|
|
51
|
+
}: {
|
|
52
|
+
run: EmployeeAgentRun | null;
|
|
53
|
+
children: React.ReactNode;
|
|
54
|
+
}): React.JSX.Element;
|
|
55
|
+
/** Compose one persistent frame around independently hydrating conversation content. */
|
|
56
|
+
declare const EmployeeApp: {
|
|
57
|
+
Root: typeof EmployeeAppRoot;
|
|
58
|
+
Content: typeof EmployeeAppContent;
|
|
59
|
+
Conversation: typeof EmployeeAppConversation;
|
|
60
|
+
};
|
|
48
61
|
//#endregion
|
|
49
|
-
export { EmployeeApp,
|
|
62
|
+
export { EmployeeApp, EmployeeAppContentProps, EmployeeAppRootProps };
|
|
@@ -1,57 +1,70 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
1
|
+
import { et as WarningIcon } from "../../icons-cuEtsgj9.js";
|
|
2
|
+
import { WorkbenchBack } from "./WorkbenchBack.js";
|
|
3
3
|
import { StatusScreen } from "../general-purpose/StatusScreen.js";
|
|
4
4
|
import { EmployeeChrome } from "./EmployeeChrome.js";
|
|
5
5
|
import { ThinkFullApp } from "./ThinkFullApp.js";
|
|
6
6
|
import "react";
|
|
7
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/agents-sdk/EmployeeApp.tsx
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
/** Persistent admission and navigation frame. Put keyed runtimes and Suspense inside it. */
|
|
10
|
+
function EmployeeAppRoot({ status, workspaceNavigation, brand, modelSetup, schedules, shell, ref, children, ...chrome }) {
|
|
11
|
+
const admitted = status === "ready" || status === "connecting";
|
|
12
|
+
chrome.compactBack ??= /* @__PURE__ */ jsx(WorkbenchBack, {
|
|
13
|
+
navigation: workspaceNavigation,
|
|
14
|
+
filesOpen: chrome.view === "files",
|
|
15
|
+
backToChatLink: chrome.renderLink({
|
|
16
|
+
kind: "view",
|
|
17
|
+
view: "chat"
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
return /* @__PURE__ */ jsx("div", {
|
|
15
21
|
className: "employee-app",
|
|
16
22
|
"data-view": chrome.view,
|
|
17
23
|
ref,
|
|
18
|
-
children: /* @__PURE__ */ jsx(EmployeeChrome.Gate, {
|
|
24
|
+
children: !admitted ? /* @__PURE__ */ jsx(EmployeeChrome.Gate, {
|
|
19
25
|
status,
|
|
20
26
|
brand,
|
|
21
27
|
identity: chrome.identity,
|
|
22
|
-
modelSetup
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
modelSetup
|
|
29
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
30
|
+
className: "employee-app__surface",
|
|
31
|
+
hidden: chrome.view === "schedules",
|
|
32
|
+
children: shell({
|
|
33
|
+
...chrome,
|
|
34
|
+
children
|
|
35
|
+
})
|
|
36
|
+
}), chrome.view === "schedules" ? schedules : null] })
|
|
25
37
|
});
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
}
|
|
39
|
+
/** Stable content lanes. Hosts hydrate the conversation locally and retain output while waiting. */
|
|
40
|
+
function EmployeeAppContent({ view, workbench, live, report, children }) {
|
|
41
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(ThinkFullApp.Root, {
|
|
28
42
|
workbenchOpen: Boolean(workbench),
|
|
43
|
+
hidden: view === "live",
|
|
29
44
|
children: [
|
|
30
45
|
/* @__PURE__ */ jsxs(ThinkFullApp.Conversation, {
|
|
31
46
|
"data-workspace-restoration-scope": "chat",
|
|
32
|
-
children: [report,
|
|
33
|
-
role: "alert",
|
|
34
|
-
icon: /* @__PURE__ */ jsx(WarningIcon, {}),
|
|
35
|
-
title: run.state === "unavailable" ? "Delegated run unavailable" : "Could not open this run",
|
|
36
|
-
description: run.state === "error" ? run.error : "This run is no longer available. The parent conversation keeps its history and controls."
|
|
37
|
-
}) : conversationLoading ? /* @__PURE__ */ jsx(StatusScreen, {
|
|
38
|
-
icon: /* @__PURE__ */ jsx(SpinnerIcon, {}),
|
|
39
|
-
description: conversationLoading
|
|
40
|
-
}) : children]
|
|
47
|
+
children: [report, children]
|
|
41
48
|
}),
|
|
42
49
|
/* @__PURE__ */ jsx(ThinkFullApp.ResizeHandle, {}),
|
|
43
50
|
/* @__PURE__ */ jsx(ThinkFullApp.Workbench, { children: workbench })
|
|
44
51
|
]
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
});
|
|
52
|
+
}), view === "live" ? live : null] });
|
|
53
|
+
}
|
|
54
|
+
/** Local run failure presentation; keep the parent connection and queue above this part. */
|
|
55
|
+
function EmployeeAppConversation({ run, children }) {
|
|
56
|
+
return /* @__PURE__ */ jsx(Fragment, { children: run?.state === "unavailable" || run?.state === "error" ? /* @__PURE__ */ jsx(StatusScreen, {
|
|
57
|
+
role: "alert",
|
|
58
|
+
icon: /* @__PURE__ */ jsx(WarningIcon, {}),
|
|
59
|
+
title: run.state === "unavailable" ? "Delegated run unavailable" : "Could not open this run",
|
|
60
|
+
description: run.state === "error" ? run.error : "This run is no longer available. The parent conversation keeps its history and controls."
|
|
61
|
+
}) : children });
|
|
55
62
|
}
|
|
63
|
+
/** Compose one persistent frame around independently hydrating conversation content. */
|
|
64
|
+
const EmployeeApp = {
|
|
65
|
+
Root: EmployeeAppRoot,
|
|
66
|
+
Content: EmployeeAppContent,
|
|
67
|
+
Conversation: EmployeeAppConversation
|
|
68
|
+
};
|
|
56
69
|
//#endregion
|
|
57
70
|
export { EmployeeApp };
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { E as PromptInputCommandComposerProps, F as PromptInputDictationProps, M as PromptInputContextSelectorProps } from "../../PromptInput-DGPrCTPl.js";
|
|
2
2
|
import { AgentChatTranscriptProps } from "./AgentChat.js";
|
|
3
|
+
import { ConversationTabPickerProps } from "../extension/ConversationTabPicker.js";
|
|
4
|
+
import { SetupChecklistGroupProps } from "../general-purpose/SetupChecklist.js";
|
|
5
|
+
import { McpServerPickerItemsProps } from "./McpServerPicker.js";
|
|
6
|
+
import { EmployeeStartScreenProps } from "./EmployeeStartScreen.js";
|
|
3
7
|
import { ContextProps } from "../ai-sdk/Context.js";
|
|
4
8
|
import { CodexModelSelectorProps } from "../extension/CodexModelSelector.js";
|
|
5
9
|
import { ThinkChatMessageContentProps } from "./ThinkChat.js";
|
|
6
10
|
import * as React from "react";
|
|
7
11
|
|
|
8
12
|
//#region src/components/agents-sdk/EmployeeChat.d.ts
|
|
9
|
-
interface EmployeeComposerProps {
|
|
13
|
+
interface EmployeeComposerProps<Id extends string = string> {
|
|
10
14
|
commands: PromptInputCommandComposerProps["commands"];
|
|
11
15
|
mentionCommands?: PromptInputCommandComposerProps["mentionCommands"];
|
|
12
16
|
onCompact?: () => Promise<{
|
|
@@ -14,18 +18,19 @@ interface EmployeeComposerProps {
|
|
|
14
18
|
}>;
|
|
15
19
|
placeholder?: string;
|
|
16
20
|
disabled?: boolean;
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
personalization?: Pick<SetupChecklistGroupProps<Id>, "entries" | "onSelect">;
|
|
22
|
+
connections?: McpServerPickerItemsProps;
|
|
19
23
|
tools?: React.ReactNode;
|
|
20
24
|
contextSelector?: PromptInputContextSelectorProps;
|
|
21
|
-
tabs?:
|
|
25
|
+
tabs?: ConversationTabPickerProps;
|
|
22
26
|
model?: CodexModelSelectorProps;
|
|
23
27
|
dictation?: PromptInputDictationProps;
|
|
24
28
|
context?: ContextProps;
|
|
25
29
|
}
|
|
26
30
|
/** One composer anatomy for the app and its examples; capabilities remain explicit. */
|
|
27
|
-
declare function EmployeeComposer({
|
|
28
|
-
|
|
31
|
+
declare function EmployeeComposer<Id extends string = string>({
|
|
32
|
+
personalization,
|
|
33
|
+
connections,
|
|
29
34
|
tools,
|
|
30
35
|
contextSelector,
|
|
31
36
|
tabs,
|
|
@@ -36,7 +41,7 @@ declare function EmployeeComposer({
|
|
|
36
41
|
placeholder,
|
|
37
42
|
disabled,
|
|
38
43
|
...input
|
|
39
|
-
}: EmployeeComposerProps): React.JSX.Element;
|
|
44
|
+
}: EmployeeComposerProps<Id>): React.JSX.Element;
|
|
40
45
|
interface EmployeeTranscriptProps extends Omit<ThinkChatMessageContentProps, "message"> {
|
|
41
46
|
readOnly?: boolean;
|
|
42
47
|
scrollAnchor?: AgentChatTranscriptProps["scrollAnchor"];
|
|
@@ -59,5 +64,20 @@ declare function EmployeeChatDock({
|
|
|
59
64
|
readOnly?: boolean;
|
|
60
65
|
children?: React.ReactNode;
|
|
61
66
|
}): React.JSX.Element;
|
|
67
|
+
/** Shared conversation layout. Hosts hydrate the parts and retain their runtime providers. */
|
|
68
|
+
declare function EmployeeConversation<Id extends string = string>({
|
|
69
|
+
transcript,
|
|
70
|
+
composer,
|
|
71
|
+
welcome,
|
|
72
|
+
loading,
|
|
73
|
+
loadingLabel,
|
|
74
|
+
...dock
|
|
75
|
+
}: {
|
|
76
|
+
transcript?: EmployeeTranscriptProps;
|
|
77
|
+
composer: EmployeeComposerProps<Id>;
|
|
78
|
+
welcome?: Omit<EmployeeStartScreenProps<Id>, "children">;
|
|
79
|
+
loading?: boolean;
|
|
80
|
+
loadingLabel?: string;
|
|
81
|
+
} & React.ComponentProps<typeof EmployeeChatDock>): React.JSX.Element;
|
|
62
82
|
//#endregion
|
|
63
|
-
export { EmployeeChatDock, EmployeeComposer, EmployeeComposerProps, EmployeeTranscript, EmployeeTranscriptProps };
|
|
83
|
+
export { EmployeeChatDock, EmployeeComposer, EmployeeComposerProps, EmployeeConversation, EmployeeTranscript, EmployeeTranscriptProps };
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger, PromptInputAttachments, PromptInputBody, PromptInputCommandComposer, PromptInputContextSelector, PromptInputDictation, PromptInputFooter, PromptInputFooterEnd, PromptInputTools } from "../ai-sdk/PromptInput.js";
|
|
2
|
+
import { AgentChat, useAgentChatCompaction } from "./AgentChat.js";
|
|
3
|
+
import { ConversationTabPicker } from "../extension/ConversationTabPicker.js";
|
|
4
|
+
import { n as SetupChecklistGroup } from "../../SetupChecklist-BiWQkKEq.js";
|
|
5
|
+
import { McpServerPickerItems } from "./McpServerPicker.js";
|
|
6
|
+
import { EmployeeStartScreen } from "./EmployeeStartScreen.js";
|
|
2
7
|
import { Context, ContextContent, ContextContentBody, ContextContentHeader, ContextTrigger } from "../ai-sdk/Context.js";
|
|
3
8
|
import { CodexModelSelector } from "../extension/CodexModelSelector.js";
|
|
4
|
-
import { AgentChat, useAgentChatCompaction } from "./AgentChat.js";
|
|
5
9
|
import { ThinkChat } from "./ThinkChat.js";
|
|
6
10
|
import "react";
|
|
7
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -23,7 +27,7 @@ function CompactingInput({ onCompact, ...props }) {
|
|
|
23
27
|
})] });
|
|
24
28
|
}
|
|
25
29
|
/** One composer anatomy for the app and its examples; capabilities remain explicit. */
|
|
26
|
-
function EmployeeComposer({
|
|
30
|
+
function EmployeeComposer({ personalization, connections, tools, contextSelector, tabs, model, dictation, context, onCompact, placeholder = "How can I help you today?", disabled, ...input }) {
|
|
27
31
|
const inputProps = {
|
|
28
32
|
...input,
|
|
29
33
|
placeholder,
|
|
@@ -38,11 +42,18 @@ function EmployeeComposer({ menu, tools, contextSelector, tabs, model, dictation
|
|
|
38
42
|
onCompact
|
|
39
43
|
}) : /* @__PURE__ */ jsx(CommandInput, { ...inputProps }),
|
|
40
44
|
/* @__PURE__ */ jsxs(PromptInputFooter, { children: [/* @__PURE__ */ jsxs(PromptInputTools, { children: [
|
|
41
|
-
/* @__PURE__ */ jsxs(PromptInputActionMenu, { children: [/* @__PURE__ */ jsx(PromptInputActionMenuTrigger, { disabled }), /* @__PURE__ */ jsxs(PromptInputActionMenuContent, { children: [
|
|
45
|
+
/* @__PURE__ */ jsxs(PromptInputActionMenu, { children: [/* @__PURE__ */ jsx(PromptInputActionMenuTrigger, { disabled }), /* @__PURE__ */ jsxs(PromptInputActionMenuContent, { children: [
|
|
46
|
+
/* @__PURE__ */ jsx(PromptInputActionAddAttachments, {}),
|
|
47
|
+
personalization ? /* @__PURE__ */ jsx(SetupChecklistGroup, {
|
|
48
|
+
label: "Prompts",
|
|
49
|
+
...personalization
|
|
50
|
+
}) : null,
|
|
51
|
+
connections ? /* @__PURE__ */ jsx(McpServerPickerItems, { ...connections }) : null
|
|
52
|
+
] })] }),
|
|
42
53
|
contextSelector ? /* @__PURE__ */ jsx(PromptInputContextSelector, { ...contextSelector }) : null,
|
|
43
54
|
tools
|
|
44
55
|
] }), /* @__PURE__ */ jsxs(PromptInputFooterEnd, { children: [
|
|
45
|
-
tabs,
|
|
56
|
+
tabs ? /* @__PURE__ */ jsx(ConversationTabPicker, { ...tabs }) : null,
|
|
46
57
|
model ? /* @__PURE__ */ jsx(CodexModelSelector, { ...model }) : null,
|
|
47
58
|
dictation ? /* @__PURE__ */ jsx(PromptInputDictation, { ...dictation }) : null,
|
|
48
59
|
context ? /* @__PURE__ */ jsxs(Context, {
|
|
@@ -80,5 +91,22 @@ function EmployeeChatDock({ recovery, notices, readOnly, children }) {
|
|
|
80
91
|
children
|
|
81
92
|
] })] });
|
|
82
93
|
}
|
|
94
|
+
/** Shared conversation layout. Hosts hydrate the parts and retain their runtime providers. */
|
|
95
|
+
function EmployeeConversation({ transcript, composer, welcome, loading, loadingLabel, ...dock }) {
|
|
96
|
+
if (welcome && !loading && !dock.readOnly) return /* @__PURE__ */ jsx(EmployeeStartScreen, {
|
|
97
|
+
...welcome,
|
|
98
|
+
children: /* @__PURE__ */ jsx(EmployeeComposer, { ...composer })
|
|
99
|
+
});
|
|
100
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [loading ? /* @__PURE__ */ jsx(AgentChat.Loading, { label: loadingLabel }) : /* @__PURE__ */ jsx(EmployeeTranscript, {
|
|
101
|
+
...transcript,
|
|
102
|
+
readOnly: dock.readOnly
|
|
103
|
+
}), /* @__PURE__ */ jsxs(EmployeeChatDock, {
|
|
104
|
+
...dock,
|
|
105
|
+
children: [dock.children, /* @__PURE__ */ jsx(EmployeeComposer, {
|
|
106
|
+
...composer,
|
|
107
|
+
disabled: loading || composer.disabled
|
|
108
|
+
})]
|
|
109
|
+
})] });
|
|
110
|
+
}
|
|
83
111
|
//#endregion
|
|
84
|
-
export { EmployeeChatDock, EmployeeComposer, EmployeeTranscript };
|
|
112
|
+
export { EmployeeChatDock, EmployeeComposer, EmployeeConversation, EmployeeTranscript };
|