@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
|
@@ -1,220 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as AgentToolRunValue } from "../../AgentToolRunsContext-GMe_hSnD.js";
|
|
3
|
-
import { n as ResponsiveSidebarShell } from "../../ResponsiveSidebarShell-CAmmtQTR.js";
|
|
4
|
-
import { t as ThinkThreadItem } from "../../ThinkThreadPicker-yetGX_s5.js";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
|
|
7
|
-
//#region src/components/agents-sdk/EmployeeChrome.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* Chat, the two exclusive full-screen surfaces (`live`, `schedules`), or an
|
|
10
|
-
* opaque workbench panel id. Built-in workbench destinations are `files` and
|
|
11
|
-
* `plugins`; hosts append more through `workbenchNavigation`. An unknown id
|
|
12
|
-
* keeps the conversation visible without rewriting the host's destination.
|
|
13
|
-
*/
|
|
14
|
-
type EmployeeView = string;
|
|
15
|
-
type EmployeeDestination = {
|
|
16
|
-
kind: "thread";
|
|
17
|
-
threadId: string;
|
|
18
|
-
} | {
|
|
19
|
-
kind: "new-thread";
|
|
20
|
-
} | {
|
|
21
|
-
kind: "view";
|
|
22
|
-
view: EmployeeView;
|
|
23
|
-
} | {
|
|
24
|
-
kind: "agent-run";
|
|
25
|
-
runId: string;
|
|
26
|
-
} | {
|
|
27
|
-
kind: "routine";
|
|
28
|
-
routineId: string;
|
|
29
|
-
} | {
|
|
30
|
-
kind: "create-routine";
|
|
31
|
-
} | {
|
|
32
|
-
kind: "edit-routine";
|
|
33
|
-
routineId: string;
|
|
34
|
-
} | {
|
|
35
|
-
kind: "routine-run";
|
|
36
|
-
routineId: string;
|
|
37
|
-
runId: string;
|
|
38
|
-
};
|
|
39
|
-
/** Host-owned router link for a destination; the chrome has no route vocabulary. */
|
|
40
|
-
type EmployeeRenderLink = (destination: EmployeeDestination) => React.ReactElement;
|
|
41
|
-
type EmployeeStatus = "ready" | "connecting" | "offline" | "identity-blocked" | "needs-model";
|
|
42
|
-
interface EmployeeBrand {
|
|
43
|
-
logo: React.ReactNode;
|
|
44
|
-
name: string;
|
|
45
|
-
}
|
|
46
|
-
interface EmployeeIdentity {
|
|
47
|
-
email?: string;
|
|
48
|
-
liveProfile: string;
|
|
49
|
-
assignedAccount: string;
|
|
50
|
-
managed?: boolean;
|
|
51
|
-
canBind?: boolean;
|
|
52
|
-
onBind?: () => void | Promise<void>;
|
|
53
|
-
onUnbind?: () => void | Promise<void>;
|
|
54
|
-
}
|
|
55
|
-
/** Host-owned follow preference for the selected conversation. */
|
|
56
|
-
interface EmployeeFollow {
|
|
57
|
-
followed: boolean;
|
|
58
|
-
onCheckedChange: (followed: boolean) => void;
|
|
59
|
-
}
|
|
60
|
-
/** Companion availability and its destination, both host-owned. */
|
|
61
|
-
interface EmployeeCompanion {
|
|
62
|
-
enabled: boolean;
|
|
63
|
-
origin: string;
|
|
64
|
-
setEnabled: (enabled: boolean) => void;
|
|
65
|
-
}
|
|
66
|
-
/** Host-owned passkey-vault preference; credential storage stays outside the chrome. */
|
|
67
|
-
interface EmployeePasskeyVault {
|
|
68
|
-
enabled: boolean;
|
|
69
|
-
setEnabled: (enabled: boolean) => void;
|
|
70
|
-
}
|
|
71
|
-
/** Host sign-in and endpoint-setup controls behind the `needs-model` gate. */
|
|
72
|
-
interface EmployeeModelSetup {
|
|
73
|
-
onSignIn?: () => void;
|
|
74
|
-
busy?: boolean;
|
|
75
|
-
error?: React.ReactNode;
|
|
76
|
-
label?: string;
|
|
77
|
-
onCustomEndpoint?: () => void;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* The delegated run the chrome is drilled into. A `ready` run carries the whole
|
|
81
|
-
* retained record out of the dispatching thread's projection, so status,
|
|
82
|
-
* progress, and report are the dispatching thread's facts, never the child's.
|
|
83
|
-
* The host decides which state applies and whether the run may still be
|
|
84
|
-
* stopped — `onCancel` is the whole Stop affordance's condition.
|
|
85
|
-
*/
|
|
86
|
-
type EmployeeAgentRun = {
|
|
87
|
-
state: "loading";
|
|
88
|
-
} | {
|
|
89
|
-
state: "unavailable";
|
|
90
|
-
} | {
|
|
91
|
-
state: "error";
|
|
92
|
-
error: string;
|
|
93
|
-
} | {
|
|
94
|
-
state: "ready";
|
|
95
|
-
run: AgentToolRunValue; /** Stops the run. Omit while the run cannot be stopped; the bar follows. */
|
|
96
|
-
onCancel?: () => void; /** A stop already in flight, so the control reads as busy rather than dead. */
|
|
97
|
-
cancelPending?: boolean;
|
|
98
|
-
};
|
|
99
|
-
/** One host view following Files and Plugins in the bar and the compact overflow. */
|
|
100
|
-
interface EmployeeWorkbenchItem {
|
|
101
|
-
id: string;
|
|
102
|
-
label: string;
|
|
103
|
-
icon: React.ReactNode;
|
|
104
|
-
}
|
|
105
|
-
interface EmployeeMenuProps {
|
|
106
|
-
renderLink: EmployeeRenderLink;
|
|
107
|
-
/** Identity assignment and bind/unbind operations behind the account dialog. */
|
|
108
|
-
identity?: EmployeeIdentity;
|
|
109
|
-
/** Opens the host's model-selection surface. */
|
|
110
|
-
onModel?: () => void;
|
|
111
|
-
/** Requests host sign-out; session teardown stays host-owned. */
|
|
112
|
-
onSignOut?: () => void;
|
|
113
|
-
companion?: EmployeeCompanion;
|
|
114
|
-
passkeys?: EmployeePasskeyVault;
|
|
115
|
-
/** Shown for a selected conversation; omit when there is nothing to follow. */
|
|
116
|
-
follow?: EmployeeFollow;
|
|
117
|
-
/** Additional host views, following Files and Plugins. */
|
|
118
|
-
workbenchNavigation?: readonly EmployeeWorkbenchItem[];
|
|
119
|
-
}
|
|
120
|
-
/** Employee settings are host-owned state; the menu stores only dialog visibility. */
|
|
121
|
-
declare function EmployeeMenu({
|
|
122
|
-
renderLink,
|
|
123
|
-
identity,
|
|
124
|
-
onModel,
|
|
125
|
-
onSignOut,
|
|
126
|
-
companion,
|
|
127
|
-
passkeys,
|
|
128
|
-
follow,
|
|
129
|
-
workbenchNavigation
|
|
130
|
-
}: EmployeeMenuProps): React.JSX.Element;
|
|
131
|
-
/** Bar links to Files, Plugins, and host views; the compact overflow carries them instead. */
|
|
132
|
-
declare function EmployeeWorkbenchLinks({
|
|
133
|
-
view,
|
|
134
|
-
renderLink,
|
|
135
|
-
workbenchNavigation
|
|
136
|
-
}: {
|
|
137
|
-
view: EmployeeView;
|
|
138
|
-
renderLink: EmployeeRenderLink;
|
|
139
|
-
workbenchNavigation?: readonly EmployeeWorkbenchItem[];
|
|
140
|
-
}): React.JSX.Element | null;
|
|
141
|
-
interface EmployeeShellProps<Thread extends ThinkThreadItem = ThinkThreadItem> extends EmployeeMenuProps {
|
|
142
|
-
view: EmployeeView;
|
|
143
|
-
/** Host-projected thread history; the chrome neither fetches nor persists it. */
|
|
144
|
-
threads?: readonly Thread[];
|
|
145
|
-
/** Selected thread, used for the title, the picker, and the return link. */
|
|
146
|
-
threadId?: string;
|
|
147
|
-
/** The delegated run this chrome is drilled into, when it is drilled into one. */
|
|
148
|
-
agentRun?: EmployeeAgentRun;
|
|
149
|
-
/** Caller-owned leading bar content, such as the extension's navigation control. */
|
|
150
|
-
appBarLeading?: React.ReactNode;
|
|
151
|
-
/** Passed the whole history item after the thread picker confirms removal. */
|
|
152
|
-
onDeleteThread?: (thread: Thread) => void | Promise<void>;
|
|
153
|
-
/** Shared manager shell supplies workforce navigation in place of thread-only navigation. */
|
|
154
|
-
sidebar?: React.ComponentProps<typeof ResponsiveSidebarShell>["sidebar"];
|
|
155
|
-
sidebarLabel?: string;
|
|
156
|
-
navigation?: readonly EmployeeWorkbenchItem[];
|
|
157
|
-
children: React.ReactNode;
|
|
158
|
-
}
|
|
159
|
-
declare function EmployeeShell<Thread extends ThinkThreadItem = ThinkThreadItem>({
|
|
160
|
-
view,
|
|
161
|
-
threads,
|
|
162
|
-
threadId,
|
|
163
|
-
agentRun,
|
|
164
|
-
renderLink,
|
|
165
|
-
appBarLeading,
|
|
166
|
-
onDeleteThread,
|
|
167
|
-
sidebar,
|
|
168
|
-
sidebarLabel,
|
|
169
|
-
navigation,
|
|
170
|
-
children,
|
|
171
|
-
...menu
|
|
172
|
-
}: EmployeeShellProps<Thread>): React.JSX.Element;
|
|
173
|
-
/** Policy and connection gates are host facts, not design-system presets. */
|
|
174
|
-
declare function EmployeeGate({
|
|
175
|
-
status,
|
|
176
|
-
connectingLabel,
|
|
177
|
-
identity,
|
|
178
|
-
brand,
|
|
179
|
-
modelSetup
|
|
180
|
-
}: {
|
|
181
|
-
status: EmployeeStatus;
|
|
182
|
-
connectingLabel?: string;
|
|
183
|
-
identity?: EmployeeIdentity;
|
|
184
|
-
brand: EmployeeBrand;
|
|
185
|
-
modelSetup?: EmployeeModelSetup;
|
|
186
|
-
}): React.JSX.Element | null;
|
|
187
|
-
/** The composer remains under its existing prompt provider; connection controls are explicit slots. */
|
|
188
|
-
declare function EmployeeWelcome({
|
|
189
|
-
brand,
|
|
190
|
-
children,
|
|
191
|
-
suggestions,
|
|
192
|
-
suggestionsError,
|
|
193
|
-
onRetrySuggestions,
|
|
194
|
-
onSubmit,
|
|
195
|
-
tray,
|
|
196
|
-
setupActions,
|
|
197
|
-
hasConnectedApps
|
|
198
|
-
}: {
|
|
199
|
-
brand: EmployeeBrand;
|
|
200
|
-
children: React.ReactNode;
|
|
201
|
-
suggestions?: readonly {
|
|
202
|
-
label: string;
|
|
203
|
-
value: string;
|
|
204
|
-
}[];
|
|
205
|
-
suggestionsError?: boolean;
|
|
206
|
-
onRetrySuggestions?: () => void;
|
|
207
|
-
onSubmit: (message: PromptInputMessage) => void | Promise<void>;
|
|
208
|
-
tray?: React.ReactNode; /** Slack, Discord, and local-folder actions composed by the host. */
|
|
209
|
-
setupActions?: React.ReactNode;
|
|
210
|
-
hasConnectedApps?: boolean;
|
|
211
|
-
}): React.JSX.Element;
|
|
212
|
-
declare const EmployeeChrome: {
|
|
213
|
-
Shell: typeof EmployeeShell;
|
|
214
|
-
Menu: typeof EmployeeMenu;
|
|
215
|
-
WorkbenchLinks: typeof EmployeeWorkbenchLinks;
|
|
216
|
-
Gate: typeof EmployeeGate;
|
|
217
|
-
Welcome: typeof EmployeeWelcome;
|
|
218
|
-
};
|
|
219
|
-
//#endregion
|
|
1
|
+
import { a as EmployeeDestination, c as EmployeeMenuProps, d as EmployeeRenderLink, f as EmployeeShellProps, h as EmployeeWorkbenchItem, i as EmployeeCompanion, l as EmployeeModelSetup, m as EmployeeView, n as EmployeeBrand, o as EmployeeFollow, p as EmployeeStatus, r as EmployeeChrome, s as EmployeeIdentity, t as EmployeeAgentRun, u as EmployeePasskeyVault } from "../../EmployeeChrome-C8eTGJWn.js";
|
|
220
2
|
export { EmployeeAgentRun, EmployeeBrand, EmployeeChrome, EmployeeCompanion, EmployeeDestination, EmployeeFollow, EmployeeIdentity, EmployeeMenuProps, EmployeeModelSetup, EmployeePasskeyVault, EmployeeRenderLink, EmployeeShellProps, EmployeeStatus, EmployeeView, EmployeeWorkbenchItem };
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { findCatalogMcpServerCard } from "../../utils/mcp-server-catalog.js";
|
|
2
|
-
import { A as McpIcon, C as FolderIcon, K as SpinnerIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, V as QueueIcon, 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";
|
|
5
|
+
import { IconButton } from "../foundations/IconButton.js";
|
|
6
6
|
import { Dialog } from "../foundations/Dialog.js";
|
|
7
7
|
import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
|
|
8
|
+
import { SubagentRunLabel, getSubagentRunName } from "./SubagentRunIndicator.js";
|
|
9
|
+
import { Menu } from "../foundations/Menu.js";
|
|
10
|
+
import { BrandLoading } from "../general-purpose/BrandLoading.js";
|
|
11
|
+
import { AgentChat } from "./AgentChat.js";
|
|
12
|
+
import { EmptyState } from "../foundations/EmptyState.js";
|
|
13
|
+
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
14
|
+
import { n as isPlainPrimaryLinkActivation } from "../../navigation-link-kqMa81v5.js";
|
|
8
15
|
import { AgentChatStartScreen, AgentChatStartScreenComposer, AgentChatStartScreenPrimary, AgentChatStartScreenSuggestions, AgentChatStartScreenTray, AgentChatStarterList } from "../ai-sdk/AgentChatStartScreen.js";
|
|
9
|
-
import { DescriptionList } from "../foundations/DescriptionList.js";
|
|
10
|
-
import { Avatar } from "../foundations/Avatar.js";
|
|
11
16
|
import { ChatGptSignInScreen } from "../extension/ChatGptSignInScreen.js";
|
|
12
|
-
import {
|
|
17
|
+
import { Avatar } from "../foundations/Avatar.js";
|
|
18
|
+
import { DescriptionList } from "../foundations/DescriptionList.js";
|
|
13
19
|
import { Switch } from "../foundations/Switch.js";
|
|
14
20
|
import { useTheme } from "../foundations/ThemeProvider.js";
|
|
15
|
-
import "../foundations/icons.js";
|
|
16
21
|
import { ActionGuide, ActionGuideAction, ActionGuideList, ActionGuideSection } from "../general-purpose/ActionGuide.js";
|
|
17
|
-
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
18
22
|
import { ResponsiveSidebarShell, useResponsiveSidebarShell } from "../general-purpose/ResponsiveSidebarShell.js";
|
|
19
|
-
import { SubagentRunLabel, getSubagentRunName } from "./SubagentRunIndicator.js";
|
|
20
|
-
import { AgentChat } from "./AgentChat.js";
|
|
21
23
|
import { McpServerIcon } from "./McpServerIcon.js";
|
|
22
24
|
import { ThinkThreadPicker } from "./ThinkThreadPicker.js";
|
|
23
25
|
import * as React from "react";
|
|
@@ -32,24 +34,13 @@ const WORKBENCH_NAVIGATION = [{
|
|
|
32
34
|
label: "Plugins",
|
|
33
35
|
icon: /* @__PURE__ */ jsx(BoxIcon, {})
|
|
34
36
|
}];
|
|
35
|
-
function
|
|
36
|
-
return /* @__PURE__ */ jsxs(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"aria-label": label + " help"
|
|
43
|
-
}),
|
|
44
|
-
children: /* @__PURE__ */ jsx(InfoIcon, { "aria-hidden": "true" })
|
|
45
|
-
}), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, { children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: hint }) }) })] })]
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
function MenuSwitchItem({ label, checked, onCheckedChange }) {
|
|
49
|
-
return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
|
|
50
|
-
className: "employee-menu__switch",
|
|
51
|
-
checked,
|
|
52
|
-
onCheckedChange,
|
|
37
|
+
function MenuSwitchItem({ label, hint, checked, onCheckedChange }) {
|
|
38
|
+
return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsxs(Tooltip.Trigger, {
|
|
39
|
+
render: /* @__PURE__ */ jsx(Menu.CheckboxItem, {
|
|
40
|
+
className: "employee-menu__switch",
|
|
41
|
+
checked,
|
|
42
|
+
onCheckedChange
|
|
43
|
+
}),
|
|
53
44
|
children: [label, /* @__PURE__ */ jsx(Switch.Root, {
|
|
54
45
|
"aria-hidden": true,
|
|
55
46
|
tabIndex: -1,
|
|
@@ -58,11 +49,11 @@ function MenuSwitchItem({ label, checked, onCheckedChange }) {
|
|
|
58
49
|
checked,
|
|
59
50
|
children: /* @__PURE__ */ jsx(Switch.Thumb, {})
|
|
60
51
|
})]
|
|
61
|
-
});
|
|
52
|
+
}), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, { children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: hint }) }) })] });
|
|
62
53
|
}
|
|
63
54
|
/** Employee settings are host-owned state; the menu stores only dialog visibility. */
|
|
64
|
-
function EmployeeMenu({ renderLink, identity, onModel, onSignOut, companion, passkeys, follow, workbenchNavigation = [] }) {
|
|
65
|
-
const { compact } = useResponsiveSidebarShell();
|
|
55
|
+
function EmployeeMenu({ renderLink, view = "chat", identity, onModel, onSignOut, companion, passkeys, follow, workbenchNavigation = [], navigation }) {
|
|
56
|
+
const { contentCompact: compact } = useResponsiveSidebarShell();
|
|
66
57
|
const { preference, setPreference } = useTheme();
|
|
67
58
|
const [identityOpen, setIdentityOpen] = React.useState(false);
|
|
68
59
|
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(Menu.Root, { children: [/* @__PURE__ */ jsx(AppTopBar.Button, {
|
|
@@ -78,10 +69,10 @@ function EmployeeMenu({ renderLink, identity, onModel, onSignOut, companion, pas
|
|
|
78
69
|
align: "end",
|
|
79
70
|
sideOffset: 4,
|
|
80
71
|
children: /* @__PURE__ */ jsxs(Menu.Popup, { children: [
|
|
81
|
-
compact ? [...WORKBENCH_NAVIGATION, ...workbenchNavigation].map((item) => /* @__PURE__ */ jsxs(Menu.Item, {
|
|
72
|
+
compact ? (navigation ?? [...WORKBENCH_NAVIGATION, ...workbenchNavigation]).map((item) => /* @__PURE__ */ jsxs(Menu.Item, {
|
|
82
73
|
render: renderLink({
|
|
83
74
|
kind: "view",
|
|
84
|
-
view: item.id
|
|
75
|
+
view: view === item.id ? "chat" : item.id
|
|
85
76
|
}),
|
|
86
77
|
children: [item.icon, item.label]
|
|
87
78
|
}, item.id)) : null,
|
|
@@ -106,12 +97,10 @@ function EmployeeMenu({ renderLink, identity, onModel, onSignOut, companion, pas
|
|
|
106
97
|
children: [/* @__PURE__ */ jsx(TerminalIcon, {}), "Model"]
|
|
107
98
|
}) : null,
|
|
108
99
|
companion ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Menu.Separator, {}), /* @__PURE__ */ jsxs(Menu.Group, { children: [
|
|
109
|
-
/* @__PURE__ */ jsx(
|
|
110
|
-
label: "Companion app",
|
|
111
|
-
hint: "Connecting lets this employee chat with the browser and watch it work from anywhere."
|
|
112
|
-
}),
|
|
100
|
+
/* @__PURE__ */ jsx(Menu.GroupLabel, { children: "Companion app" }),
|
|
113
101
|
/* @__PURE__ */ jsx(MenuSwitchItem, {
|
|
114
102
|
label: "Connect this browser",
|
|
103
|
+
hint: "Connecting lets this employee chat with the browser and watch it work from anywhere.",
|
|
115
104
|
checked: companion.enabled,
|
|
116
105
|
onCheckedChange: companion.setEnabled
|
|
117
106
|
}),
|
|
@@ -125,35 +114,58 @@ function EmployeeMenu({ renderLink, identity, onModel, onSignOut, companion, pas
|
|
|
125
114
|
children: [/* @__PURE__ */ jsx(ArrowUpRightIcon, {}), companion.origin.replace(/^https?:\/\//, "")]
|
|
126
115
|
})
|
|
127
116
|
] })] }) : null,
|
|
128
|
-
passkeys ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Menu.Separator, {}), /* @__PURE__ */ jsxs(Menu.Group, { children: [/* @__PURE__ */ jsx(
|
|
129
|
-
label: "Passkeys",
|
|
130
|
-
hint: "The employee saves and uses its own passkeys instead of the browser's."
|
|
131
|
-
}), /* @__PURE__ */ jsx(MenuSwitchItem, {
|
|
117
|
+
passkeys ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Menu.Separator, {}), /* @__PURE__ */ jsxs(Menu.Group, { children: [/* @__PURE__ */ jsx(Menu.GroupLabel, { children: "Passkeys" }), /* @__PURE__ */ jsx(MenuSwitchItem, {
|
|
132
118
|
label: "Use its own passkeys",
|
|
119
|
+
hint: "The employee saves and uses its own passkeys instead of the browser's.",
|
|
133
120
|
checked: passkeys.enabled,
|
|
134
121
|
onCheckedChange: passkeys.setEnabled
|
|
135
122
|
})] })] }) : null,
|
|
136
123
|
/* @__PURE__ */ jsx(Menu.Separator, {}),
|
|
137
|
-
/* @__PURE__ */ jsxs(Menu.Group, {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
124
|
+
/* @__PURE__ */ jsxs(Menu.Group, {
|
|
125
|
+
className: "employee-menu__appearance",
|
|
126
|
+
children: [/* @__PURE__ */ jsx(Menu.GroupLabel, { children: "Appearance" }), /* @__PURE__ */ jsxs(Menu.RadioGroup, {
|
|
127
|
+
className: "employee-menu__theme-options",
|
|
128
|
+
value: preference,
|
|
129
|
+
onValueChange: (value) => {
|
|
130
|
+
if (value === "light" || value === "dark" || value === "system") setPreference(value);
|
|
131
|
+
},
|
|
132
|
+
children: [
|
|
133
|
+
/* @__PURE__ */ jsxs(Menu.RadioItem, {
|
|
134
|
+
value: "light",
|
|
135
|
+
className: "employee-menu__theme-option",
|
|
136
|
+
"aria-label": "Light",
|
|
137
|
+
title: "Light",
|
|
138
|
+
closeOnClick: false,
|
|
139
|
+
children: [/* @__PURE__ */ jsx(SunIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", {
|
|
140
|
+
className: "sigvelo-visually-hidden",
|
|
141
|
+
children: "Light"
|
|
142
|
+
})]
|
|
143
|
+
}),
|
|
144
|
+
/* @__PURE__ */ jsxs(Menu.RadioItem, {
|
|
145
|
+
value: "dark",
|
|
146
|
+
className: "employee-menu__theme-option",
|
|
147
|
+
"aria-label": "Dark",
|
|
148
|
+
title: "Dark",
|
|
149
|
+
closeOnClick: false,
|
|
150
|
+
children: [/* @__PURE__ */ jsx(MoonIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", {
|
|
151
|
+
className: "sigvelo-visually-hidden",
|
|
152
|
+
children: "Dark"
|
|
153
|
+
})]
|
|
154
|
+
}),
|
|
155
|
+
/* @__PURE__ */ jsxs(Menu.RadioItem, {
|
|
156
|
+
value: "system",
|
|
157
|
+
className: "employee-menu__theme-option",
|
|
158
|
+
"aria-label": "System",
|
|
159
|
+
title: "System",
|
|
160
|
+
closeOnClick: false,
|
|
161
|
+
children: [/* @__PURE__ */ jsx(MonitorIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", {
|
|
162
|
+
className: "sigvelo-visually-hidden",
|
|
163
|
+
children: "System"
|
|
164
|
+
})]
|
|
165
|
+
})
|
|
166
|
+
]
|
|
167
|
+
})]
|
|
168
|
+
}),
|
|
157
169
|
onSignOut ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Menu.Separator, {}), /* @__PURE__ */ jsxs(Menu.Item, {
|
|
158
170
|
onClick: onSignOut,
|
|
159
171
|
children: [/* @__PURE__ */ jsx(ArrowUpRightIcon, {}), "Sign out"]
|
|
@@ -214,16 +226,16 @@ function IdentityDialog({ identity, open, onOpenChange }) {
|
|
|
214
226
|
});
|
|
215
227
|
}
|
|
216
228
|
/** Bar links to Files, Plugins, and host views; the compact overflow carries them instead. */
|
|
217
|
-
function EmployeeWorkbenchLinks({ view, renderLink, workbenchNavigation = [] }) {
|
|
218
|
-
const { compact } = useResponsiveSidebarShell();
|
|
229
|
+
function EmployeeWorkbenchLinks({ view, renderLink, workbenchNavigation = [], navigation }) {
|
|
230
|
+
const { contentCompact: compact } = useResponsiveSidebarShell();
|
|
219
231
|
if (compact) return null;
|
|
220
|
-
return /* @__PURE__ */ jsx(Fragment, { children: [...WORKBENCH_NAVIGATION, ...workbenchNavigation].map((item) => /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
232
|
+
return /* @__PURE__ */ jsx(Fragment, { children: (navigation ?? [...WORKBENCH_NAVIGATION, ...workbenchNavigation]).map((item) => /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
221
233
|
label: item.label,
|
|
222
234
|
"aria-current": view === item.id ? "page" : void 0,
|
|
223
235
|
"data-pressed": view === item.id ? "" : void 0,
|
|
224
236
|
render: renderLink({
|
|
225
237
|
kind: "view",
|
|
226
|
-
view: item.id
|
|
238
|
+
view: view === item.id ? "chat" : item.id
|
|
227
239
|
}),
|
|
228
240
|
children: item.icon
|
|
229
241
|
}, item.id)) });
|
|
@@ -253,29 +265,9 @@ function employeeShellTitle({ agentRun, threadTitle }) {
|
|
|
253
265
|
})] })
|
|
254
266
|
});
|
|
255
267
|
}
|
|
256
|
-
function employeeShellLeading({ agentRun, view, hasThread, appBarLeading, back, renderLink }) {
|
|
257
|
-
if (agentRun) return back;
|
|
258
|
-
let navigation;
|
|
259
|
-
if (view !== "chat") navigation = back;
|
|
260
|
-
else if (hasThread) navigation = /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
261
|
-
label: "New thread",
|
|
262
|
-
render: renderLink({ kind: "new-thread" }),
|
|
263
|
-
children: /* @__PURE__ */ jsx(PencilIcon, {})
|
|
264
|
-
});
|
|
265
|
-
if (!navigation && !appBarLeading) return null;
|
|
266
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [navigation, appBarLeading] });
|
|
267
|
-
}
|
|
268
268
|
function employeeShellActions({ agentRun, view, renderLink, workbenchNavigation, focusedStop, navigation }) {
|
|
269
|
-
if (!agentRun && navigation) return /* @__PURE__ */ jsx(Fragment, { children: navigation.map((item) => /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
270
|
-
label: item.label,
|
|
271
|
-
"aria-current": view === item.id ? "page" : void 0,
|
|
272
|
-
render: renderLink({
|
|
273
|
-
kind: "view",
|
|
274
|
-
view: item.id
|
|
275
|
-
}),
|
|
276
|
-
children: item.icon
|
|
277
|
-
}, item.id)) });
|
|
278
269
|
if (!agentRun) return /* @__PURE__ */ jsx(EmployeeWorkbenchLinks, {
|
|
270
|
+
navigation,
|
|
279
271
|
view,
|
|
280
272
|
renderLink,
|
|
281
273
|
workbenchNavigation
|
|
@@ -294,7 +286,18 @@ function employeeShellActions({ agentRun, view, renderLink, workbenchNavigation,
|
|
|
294
286
|
children: /* @__PURE__ */ jsx(SquareIcon, {})
|
|
295
287
|
});
|
|
296
288
|
}
|
|
297
|
-
function
|
|
289
|
+
function EmployeeNewThread({ renderLink }) {
|
|
290
|
+
const { closeSidebar } = useResponsiveSidebarShell();
|
|
291
|
+
return /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
292
|
+
label: "New thread",
|
|
293
|
+
render: renderLink({ kind: "new-thread" }),
|
|
294
|
+
onClick: (event) => {
|
|
295
|
+
if (isPlainPrimaryLinkActivation(event)) closeSidebar();
|
|
296
|
+
},
|
|
297
|
+
children: /* @__PURE__ */ jsx(PencilIcon, {})
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
function EmployeeShell({ view, threads, threadId, agentRun, renderLink, appBarLeading, compactBack, onDeleteThread, sidebar, sidebarLabel = "threads", navigation, children, ...menu }) {
|
|
298
301
|
const history = threads ?? EMPTY_THREADS;
|
|
299
302
|
const thread = history.find((candidate) => candidate.id === threadId);
|
|
300
303
|
const { backRef, focusedStop } = useEmployeeRunStopFocus();
|
|
@@ -326,8 +329,10 @@ function EmployeeShell({ view, threads, threadId, agentRun, renderLink, appBarLe
|
|
|
326
329
|
className: "employee-shell",
|
|
327
330
|
"data-view": view,
|
|
328
331
|
children: /* @__PURE__ */ jsx(ResponsiveSidebarShell, {
|
|
332
|
+
className: "employee-shell__navigation",
|
|
329
333
|
sidebarLabel,
|
|
330
|
-
|
|
334
|
+
defaultSidebarOpen: sidebar ? void 0 : false,
|
|
335
|
+
sidebarTogglePlacement: "main",
|
|
331
336
|
showMainLabel: "Show selected thread",
|
|
332
337
|
bar: {
|
|
333
338
|
label: "Workbench controls",
|
|
@@ -336,14 +341,8 @@ function EmployeeShell({ view, threads, threadId, agentRun, renderLink, appBarLe
|
|
|
336
341
|
threadTitle: thread?.title
|
|
337
342
|
}),
|
|
338
343
|
compactTitleTrigger: agentRun ? void 0 : /* @__PURE__ */ jsx("span", { children: thread?.title ?? "New chat" }),
|
|
339
|
-
leading:
|
|
340
|
-
|
|
341
|
-
view,
|
|
342
|
-
hasThread: Boolean(thread),
|
|
343
|
-
appBarLeading,
|
|
344
|
-
back,
|
|
345
|
-
renderLink
|
|
346
|
-
}),
|
|
344
|
+
leading: agentRun ? back : /* @__PURE__ */ jsxs(Fragment, { children: [appBarLeading, /* @__PURE__ */ jsx(EmployeeNewThread, { renderLink })] }),
|
|
345
|
+
compactLeading: !agentRun && view !== "chat" ? compactBack ?? back : void 0,
|
|
347
346
|
actions: employeeShellActions({
|
|
348
347
|
agentRun,
|
|
349
348
|
view,
|
|
@@ -354,17 +353,25 @@ function EmployeeShell({ view, threads, threadId, agentRun, renderLink, appBarLe
|
|
|
354
353
|
}),
|
|
355
354
|
primary: /* @__PURE__ */ jsx(EmployeeMenu, {
|
|
356
355
|
...menu,
|
|
356
|
+
view,
|
|
357
|
+
navigation,
|
|
357
358
|
renderLink,
|
|
358
359
|
follow: agentRun ? void 0 : menu.follow
|
|
359
|
-
})
|
|
360
|
+
}, JSON.stringify([view, threadId]))
|
|
360
361
|
},
|
|
361
|
-
sidebar: sidebar ?? (agentRun ? void 0 : ({ closeSidebarOnCompact }) => /* @__PURE__ */ jsx(ThinkThreadPicker, {
|
|
362
|
+
sidebar: sidebar ?? (agentRun ? void 0 : ({ closeSidebar, closeSidebarOnCompact }) => /* @__PURE__ */ jsx(ThinkThreadPicker, {
|
|
363
|
+
headerActions: /* @__PURE__ */ jsx(IconButton, {
|
|
364
|
+
label: "Hide threads",
|
|
365
|
+
variant: "ghost",
|
|
366
|
+
size: "sm",
|
|
367
|
+
onClick: closeSidebar,
|
|
368
|
+
children: /* @__PURE__ */ jsx(SidebarIcon, {})
|
|
369
|
+
}),
|
|
362
370
|
threads: history,
|
|
363
371
|
renderThreadLink: (item) => renderLink({
|
|
364
372
|
kind: "thread",
|
|
365
373
|
threadId: item.id
|
|
366
374
|
}),
|
|
367
|
-
createThreadLink: renderLink({ kind: "new-thread" }),
|
|
368
375
|
onSelect: closeSidebarOnCompact,
|
|
369
376
|
onDelete: onDeleteThread
|
|
370
377
|
})),
|
|
@@ -383,21 +390,13 @@ function EmployeeGate({ status, connectingLabel, identity, brand, modelSetup })
|
|
|
383
390
|
label: modelSetup?.label,
|
|
384
391
|
title: "Meet " + brand.name,
|
|
385
392
|
brandName: "SigVelo",
|
|
386
|
-
brandLogo: brand.logo,
|
|
387
393
|
onSignIn: modelSetup?.onSignIn,
|
|
388
394
|
secondaryAction: modelSetup?.onCustomEndpoint ? {
|
|
389
395
|
label: "Set up a custom model endpoint",
|
|
390
396
|
onSelect: modelSetup.onCustomEndpoint
|
|
391
397
|
} : void 0
|
|
392
398
|
});
|
|
393
|
-
case "connecting": return /* @__PURE__ */ jsx("
|
|
394
|
-
className: "employee-gate",
|
|
395
|
-
role: "status",
|
|
396
|
-
children: /* @__PURE__ */ jsx(EmptyState, {
|
|
397
|
-
icon: /* @__PURE__ */ jsx(SpinnerIcon, {}),
|
|
398
|
-
description: connectingLabel ?? "Connecting…"
|
|
399
|
-
})
|
|
400
|
-
});
|
|
399
|
+
case "connecting": return /* @__PURE__ */ jsx(BrandLoading, { label: connectingLabel ?? "Connecting…" });
|
|
401
400
|
case "offline": return /* @__PURE__ */ jsx("div", {
|
|
402
401
|
className: "employee-gate",
|
|
403
402
|
role: "status",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmployeeMenuProps } from "
|
|
1
|
+
import { c as EmployeeMenuProps } from "../../EmployeeChrome-C8eTGJWn.js";
|
|
2
2
|
import { t as ThinkRoutine } from "../../ThinkRoutine-Cb1DdaHa.js";
|
|
3
3
|
import { ThinkRoutineActionsRootProps } from "./ThinkRoutineActions.js";
|
|
4
4
|
import * as React from "react";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { R as PencilIcon, r as ArrowLeftIcon } from "../../icons-
|
|
2
|
-
import { LinkButton } from "../foundations/LinkButton.js";
|
|
3
|
-
import "../foundations/icons.js";
|
|
1
|
+
import { R as PencilIcon, r as ArrowLeftIcon } from "../../icons-cuEtsgj9.js";
|
|
4
2
|
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
5
|
-
import { ResponsiveSidebarShell } from "../general-purpose/ResponsiveSidebarShell.js";
|
|
6
3
|
import { StatusScreen } from "../general-purpose/StatusScreen.js";
|
|
4
|
+
import { ResponsiveSidebarShell } from "../general-purpose/ResponsiveSidebarShell.js";
|
|
5
|
+
import { LinkButton } from "../foundations/LinkButton.js";
|
|
7
6
|
import { EmployeeChrome } from "./EmployeeChrome.js";
|
|
8
7
|
import { getThinkExecutionRunId } from "./ThinkExecutionRun.js";
|
|
9
8
|
import { ThinkRoutineActions, useThinkRoutineActions } from "./ThinkRoutineActions.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { J as PromptInputMessage } from "../../PromptInput-DGPrCTPl.js";
|
|
2
|
-
import {
|
|
2
|
+
import { a as EmployeeDestination, n as EmployeeBrand } from "../../EmployeeChrome-C8eTGJWn.js";
|
|
3
3
|
import { SetupChecklistGroupProps } from "../general-purpose/SetupChecklist.js";
|
|
4
|
-
import { McpPluginCatalogProps } from "
|
|
5
|
-
import { WorkspaceMountManagerProps } from "
|
|
4
|
+
import { n as McpPluginCatalogProps } from "../../McpPluginCatalog-DNeHDrts.js";
|
|
5
|
+
import { r as WorkspaceMountManagerProps } from "../../WorkspaceMountManager-CkLI1B-G.js";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
|
|
8
8
|
//#region src/components/agents-sdk/EmployeeStartScreen.d.ts
|
|
@@ -25,6 +25,13 @@ interface EmployeeStartActions<Id extends string = string> {
|
|
|
25
25
|
mounts?: Omit<WorkspaceMountManagerProps, "trigger">;
|
|
26
26
|
personalization?: Pick<SetupChecklistGroupProps<Id>, "entries" | "onSelect">;
|
|
27
27
|
}
|
|
28
|
+
interface EmployeeStartScreenProps<Id extends string = string> {
|
|
29
|
+
brand: EmployeeBrand;
|
|
30
|
+
start: EmployeeStartActions<Id>;
|
|
31
|
+
plugins?: McpPluginCatalogProps;
|
|
32
|
+
renderLink: (destination: EmployeeDestination) => React.ReactElement;
|
|
33
|
+
children: React.ReactNode;
|
|
34
|
+
}
|
|
28
35
|
/** Canonical welcome screen, including configured connection states and connection menus. */
|
|
29
36
|
declare function EmployeeStartScreen<Id extends string>({
|
|
30
37
|
brand,
|
|
@@ -32,12 +39,6 @@ declare function EmployeeStartScreen<Id extends string>({
|
|
|
32
39
|
plugins,
|
|
33
40
|
renderLink,
|
|
34
41
|
children
|
|
35
|
-
}:
|
|
36
|
-
brand: EmployeeBrand;
|
|
37
|
-
start: EmployeeStartActions<Id>;
|
|
38
|
-
plugins?: McpPluginCatalogProps;
|
|
39
|
-
renderLink: (destination: EmployeeDestination) => React.ReactElement;
|
|
40
|
-
children: React.ReactNode;
|
|
41
|
-
}): React.JSX.Element;
|
|
42
|
+
}: EmployeeStartScreenProps<Id>): React.JSX.Element;
|
|
42
43
|
//#endregion
|
|
43
|
-
export { EmployeeStartActions, EmployeeStartConnection, EmployeeStartScreen };
|
|
44
|
+
export { EmployeeStartActions, EmployeeStartConnection, EmployeeStartScreen, EmployeeStartScreenProps };
|