@mcp-b/react-components 0.40.0 → 0.42.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/{AgentChat-CVO7xyLC.d.ts → AgentChat-DVr2giwD.d.ts} +1 -1
- package/dist/{AgentToolRunsContext-BCVqCtJ1.d.ts → AgentToolRunsContext-daY67hFM.d.ts} +12 -0
- package/dist/{CodeBlock-CWk1FVtm.js → CodeBlock-BjELA-_s.js} +1 -1
- package/dist/{FileTree-xqHYBw4g.js → FileTree-DMYRdT6R.js} +1 -1
- package/dist/McpConnectorForm-MRm1r59e.d.ts +39 -0
- package/dist/{Message-DBsHHhcM.d.ts → Message-D_vCVEGB.d.ts} +20 -1
- package/dist/{ThinkChatActivity-D6-_5Phw.d.ts → ThinkChatActivity-CsDql-ER.d.ts} +4 -1
- package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
- package/dist/{WorkspaceFileView-Lab3om3F.js → WorkspaceFileView-DwdXiKku.js} +17 -22
- package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
- package/dist/components/agents-sdk/AgentActivity.js +4 -3
- package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
- package/dist/components/agents-sdk/AgentChat.js +42 -18
- package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
- package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
- package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
- package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
- package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
- package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.d.ts +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.js +8 -13
- package/dist/components/agents-sdk/ManagerOffice.d.ts +168 -0
- package/dist/components/agents-sdk/ManagerOffice.js +698 -0
- package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
- package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
- package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
- package/dist/components/agents-sdk/McpPluginCatalog.js +82 -62
- package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
- package/dist/components/agents-sdk/McpServerPicker.js +2 -2
- package/dist/components/agents-sdk/ModelSelector.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
- package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
- package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
- package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
- package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkChatActivity.js +18 -4
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +7 -3
- package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +45 -43
- package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
- package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
- package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +43 -37
- package/dist/components/agents-sdk/ThinkFullApp.d.ts +42 -78
- package/dist/components/agents-sdk/ThinkFullApp.js +121 -202
- package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineDetail.js +4 -15
- package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +7 -6
- package/dist/components/agents-sdk/ThinkRoutineLibrary.js +112 -140
- package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
- package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +2 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
- package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentAttention.d.ts +1 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
- package/dist/components/ai-sdk/Approval.js +1 -1
- package/dist/components/ai-sdk/Artifact.js +1 -1
- package/dist/components/ai-sdk/ChainOfThought.d.ts +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/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 +2 -2
- package/dist/components/ai-sdk/Message.js +25 -3
- package/dist/components/ai-sdk/MessageScroller.js +3 -2
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +2 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.js +21 -15
- package/dist/components/ai-sdk/Queue.d.ts +4 -4
- package/dist/components/ai-sdk/Queue.js +6 -15
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.d.ts +2 -2
- package/dist/components/ai-sdk/Task.js +2 -2
- package/dist/components/extension/ChatGptSignInScreen.js +2 -1
- package/dist/components/extension/CodexModelSelector.js +1 -1
- package/dist/components/extension/ConversationTabPicker.js +1 -1
- package/dist/components/foundations/Avatar.d.ts +1 -10
- package/dist/components/foundations/Avatar.js +1 -10
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/CheckboxGroup.js +1 -0
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/LinkButton.d.ts +12 -10
- package/dist/components/foundations/LinkButton.js +15 -11
- 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 +79 -1
- package/dist/components/foundations/icons.d.ts +2 -2
- package/dist/components/foundations/icons.js +2 -2
- package/dist/components/general-purpose/AppFrame.js +1 -0
- package/dist/components/general-purpose/AppTopBar.d.ts +6 -0
- package/dist/components/general-purpose/AppTopBar.js +2 -1
- package/dist/components/general-purpose/Commit.d.ts +2 -2
- package/dist/components/general-purpose/Commit.js +5 -13
- package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingBillingToggle.js +4 -9
- package/dist/components/general-purpose/PricingPlanCard.js +15 -14
- package/dist/components/general-purpose/ResizableSidePanel.d.ts +8 -0
- package/dist/components/general-purpose/ResizableSidePanel.js +3 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +105 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +112 -56
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/Terminal.d.ts +1 -1
- package/dist/components/general-purpose/Terminal.js +4 -12
- package/dist/components/general-purpose/TestResults.d.ts +1 -1
- package/dist/components/general-purpose/TestResults.js +8 -21
- package/dist/components/general-purpose/ThemeModeControl.js +1 -1
- package/dist/components/general-purpose/WebPreview.d.ts +4 -1
- package/dist/components/general-purpose/WebPreview.js +6 -14
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
- package/dist/components/nanites/AgentToolDetail.js +6 -5
- package/dist/components/nanites/NaniteScene.js +11 -11
- package/dist/{copy-button-Bc7jsYv_.js → copy-button-lys9N_aI.js} +1 -1
- package/dist/{icons-DwgNir1Q.d.ts → icons-0corjfxR.d.ts} +1 -16
- package/dist/{icons-MmIXciMO.js → icons-CVFSeTJn.js} +2 -5
- package/dist/styles/accordion.css +1 -0
- package/dist/styles/action-guide.css +8 -7
- package/dist/styles/activity-header.css +13 -39
- package/dist/styles/activity.css +40 -55
- package/dist/styles/agent-attention.css +19 -19
- package/dist/styles/agent-chat.css +94 -42
- package/dist/styles/agent-connection.css +10 -4
- package/dist/styles/agent-tool-detail.css +5 -15
- package/dist/styles/alert-dialog.css +4 -4
- package/dist/styles/app-frame.css +1 -3
- package/dist/styles/app-icon.css +12 -18
- package/dist/styles/app-top-bar.css +31 -9
- package/dist/styles/approval.css +1 -0
- package/dist/styles/artifact.css +6 -6
- package/dist/styles/attachment-preview.css +5 -4
- package/dist/styles/avatar.css +6 -22
- package/dist/styles/base.css +2 -8
- package/dist/styles/browser-live-screen.css +38 -0
- package/dist/styles/browser-live-view.css +12 -4
- package/dist/styles/browser-replay.css +6 -6
- package/dist/styles/browser-run-panel.css +21 -18
- package/dist/styles/button.css +15 -6
- package/dist/styles/card.css +5 -5
- package/dist/styles/chatgpt-sign-in-screen.css +6 -6
- package/dist/styles/code-block.css +14 -13
- package/dist/styles/codex-model-selector.css +2 -0
- package/dist/styles/collapsible.css +1 -0
- package/dist/styles/commit.css +30 -7
- package/dist/styles/context.css +9 -9
- package/dist/styles/conversation-tab-picker.css +1 -1
- package/dist/styles/conversation.css +6 -8
- package/dist/styles/dialog.css +4 -4
- package/dist/styles/empty-state.css +3 -3
- package/dist/styles/environment-variables.css +12 -9
- package/dist/styles/field.css +2 -1
- package/dist/styles/fieldset.css +2 -2
- package/dist/styles/index.css +8 -7
- package/dist/styles/manager-office.css +480 -0
- package/dist/styles/mcp-plugin-catalog.css +44 -39
- package/dist/styles/mcp-server-picker.css +4 -4
- package/dist/styles/message-scroller.css +9 -11
- package/dist/styles/message.css +74 -28
- package/dist/styles/nanite-scene.css +9 -9
- package/dist/styles/navigation-menu.css +1 -0
- package/dist/styles/plan.css +13 -12
- package/dist/styles/pricing-page.css +37 -30
- package/dist/styles/prompt-input.css +26 -18
- package/dist/styles/queue.css +1 -0
- package/dist/styles/reasoning.css +1 -9
- package/dist/styles/recipes.css +29 -58
- package/dist/styles/responsive-sidebar-shell.css +107 -29
- package/dist/styles/separator.css +5 -5
- package/dist/styles/sources.css +4 -4
- package/dist/styles/stepper.css +1 -0
- package/dist/styles/streamdown.css +31 -21
- package/dist/styles/subagent-run.css +20 -3
- package/dist/styles/tabs.css +1 -0
- package/dist/styles/task.css +5 -17
- package/dist/styles/terminal.css +29 -10
- package/dist/styles/test-results.css +16 -7
- package/dist/styles/think-execution-status.css +10 -26
- package/dist/styles/think-execution-workbench.css +98 -108
- package/dist/styles/think-full-app.css +75 -225
- package/dist/styles/think-routine-library.css +26 -95
- package/dist/styles/think-thread-picker.css +17 -12
- package/dist/styles/transition-surface.css +7 -8
- package/dist/styles/utilities.css +75 -0
- package/dist/styles/web-preview.css +46 -22
- package/dist/styles/workspace-explorer.css +22 -44
- package/dist/styles/workspace-mount-manager.css +24 -2
- package/dist/utils/favicon.d.ts +6 -1
- package/dist/utils/favicon.js +18 -1
- package/package.json +37 -35
- package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
- package/dist/ToggleGroup-_pQMyHGM.d.ts +0 -80
- package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
- package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
- package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
- package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
- package/dist/components/foundations/Badge.d.ts +0 -62
- package/dist/components/foundations/Badge.js +0 -55
- package/dist/components/foundations/StatusPill.d.ts +0 -43
- package/dist/components/foundations/StatusPill.js +0 -35
- package/dist/components/general-purpose/Shell.d.ts +0 -149
- package/dist/components/general-purpose/Shell.js +0 -116
- package/dist/styles/agent-activity-preview-overlay.css +0 -169
- package/dist/styles/agent-activity-preview.css +0 -209
- package/dist/styles/badge.css +0 -120
- package/dist/styles/shell.css +0 -122
- package/dist/styles/status-pill.css +0 -39
|
@@ -77,7 +77,7 @@ interface BrowserRunPanelStreamedProps extends BrowserRunPanelCommonProps {
|
|
|
77
77
|
}
|
|
78
78
|
type BrowserRunPanelProps = BrowserRunPanelHostedProps | BrowserRunPanelStreamedProps;
|
|
79
79
|
/**
|
|
80
|
-
* Browser panel chrome — drawn tab strip, address bar,
|
|
80
|
+
* Browser panel chrome — drawn tab strip, address bar, edge-to-edge body — for
|
|
81
81
|
* browser surfaces Chrome itself never paints.
|
|
82
82
|
*
|
|
83
83
|
* Two hosts fill it in. A Browser Run host passes upstream `BrowserLiveView`
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
3
|
-
import { Button } from "../foundations/Button.js";
|
|
2
|
+
import { K as SpinnerIcon, tt as XIcon } from "../../icons-CVFSeTJn.js";
|
|
4
3
|
import { Tabs } from "../foundations/Tabs.js";
|
|
5
4
|
import { WebPreview, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl } from "../general-purpose/WebPreview.js";
|
|
6
5
|
import { BrowserLiveView } from "./BrowserLiveView.js";
|
|
@@ -46,22 +45,17 @@ function BrowserRunPanelFrame({ body, bodyBusy, bodyTabValue, className, error,
|
|
|
46
45
|
...onOpenUrl ? { onUrlChange: onOpenUrl } : {},
|
|
47
46
|
role: "region",
|
|
48
47
|
"aria-label": typeof label === "string" ? label : "Browser",
|
|
49
|
-
...props
|
|
48
|
+
...props,
|
|
49
|
+
"data-recipe": "fill-host"
|
|
50
50
|
}),
|
|
51
51
|
children: [
|
|
52
|
-
tabs.length > 1 ? /* @__PURE__ */ jsx(WebPreviewNavigation, { children: /* @__PURE__ */
|
|
52
|
+
tabs.length > 1 ? /* @__PURE__ */ jsx(WebPreviewNavigation, { children: /* @__PURE__ */ jsx(Tabs.List, {
|
|
53
53
|
className: "browser-run-panel__tabs",
|
|
54
54
|
"aria-label": "Open browser pages",
|
|
55
55
|
activateOnFocus: true,
|
|
56
|
-
children:
|
|
56
|
+
children: tabs.map((tab) => /* @__PURE__ */ jsxs(Tabs.Tab, {
|
|
57
57
|
value: tab.id,
|
|
58
58
|
className: "browser-run-panel__tab",
|
|
59
|
-
render: /* @__PURE__ */ jsx(Button, {
|
|
60
|
-
type: "button",
|
|
61
|
-
variant: "ghost",
|
|
62
|
-
color: "neutral",
|
|
63
|
-
size: "sm"
|
|
64
|
-
}),
|
|
65
59
|
children: [/* @__PURE__ */ jsx("span", {
|
|
66
60
|
className: "browser-run-panel__tab-glyph",
|
|
67
61
|
"aria-hidden": "true",
|
|
@@ -70,7 +64,7 @@ function BrowserRunPanelFrame({ body, bodyBusy, bodyTabValue, className, error,
|
|
|
70
64
|
className: "browser-run-panel__tab-title sigvelo-truncate",
|
|
71
65
|
children: tabLabel(tab)
|
|
72
66
|
})]
|
|
73
|
-
}, tab.id))
|
|
67
|
+
}, tab.id))
|
|
74
68
|
}) }) : null,
|
|
75
69
|
/* @__PURE__ */ jsxs(WebPreviewNavigation, {
|
|
76
70
|
className: "browser-run-panel__address-bar",
|
|
@@ -109,6 +103,7 @@ function HostedBrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, e
|
|
|
109
103
|
const targets = liveView?.targets ?? [];
|
|
110
104
|
const target = pickTarget(targets, requestedTargetId);
|
|
111
105
|
const body = target && liveView ? /* @__PURE__ */ jsx(BrowserLiveView, {
|
|
106
|
+
fill: true,
|
|
112
107
|
source: {
|
|
113
108
|
url: target.url,
|
|
114
109
|
targetId: target.targetId,
|
|
@@ -167,7 +162,7 @@ function StreamedBrowserRunPanel({ children, tabs = [], selectedTabId = null, on
|
|
|
167
162
|
});
|
|
168
163
|
}
|
|
169
164
|
/**
|
|
170
|
-
* Browser panel chrome — drawn tab strip, address bar,
|
|
165
|
+
* Browser panel chrome — drawn tab strip, address bar, edge-to-edge body — for
|
|
171
166
|
* browser surfaces Chrome itself never paints.
|
|
172
167
|
*
|
|
173
168
|
* Two hosts fill it in. A Browser Run host passes upstream `BrowserLiveView`
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/agents-sdk/ManagerOffice.d.ts
|
|
4
|
+
type ManagerOfficeWorkStatus = "idle" | "running" | "attention" | "error" | "interrupted";
|
|
5
|
+
/**
|
|
6
|
+
* The rail already lists every employee, so there is no separate roster view:
|
|
7
|
+
* the office opens on the one thing that needs a person, and an employee is a
|
|
8
|
+
* selection in the rail rather than a page reached through a second list.
|
|
9
|
+
*/
|
|
10
|
+
type ManagerOfficeView = {
|
|
11
|
+
kind: "attention";
|
|
12
|
+
} | {
|
|
13
|
+
kind: "employee";
|
|
14
|
+
employeeId: string;
|
|
15
|
+
};
|
|
16
|
+
interface ManagerOfficeHandoff {
|
|
17
|
+
/** Stable handoff identity. */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Exact claimed browser tab waiting for the manager. */
|
|
20
|
+
tabId: number;
|
|
21
|
+
/** Exact action the employee needs from the manager. */
|
|
22
|
+
reason: string;
|
|
23
|
+
/**
|
|
24
|
+
* The employee's own words about what it is blocked on, verbatim. The reason
|
|
25
|
+
* is the headline a manager scans; this is the ask they answer, so it is not
|
|
26
|
+
* truncated and not summarized by this component.
|
|
27
|
+
*/
|
|
28
|
+
request?: string;
|
|
29
|
+
/** Work item that owns the handoff. */
|
|
30
|
+
workId: string;
|
|
31
|
+
/** Human-readable title of the owning work. */
|
|
32
|
+
workTitle: string;
|
|
33
|
+
/** Unix timestamp in milliseconds when this handoff began. */
|
|
34
|
+
createdAt: number;
|
|
35
|
+
}
|
|
36
|
+
interface ManagerOfficeWork {
|
|
37
|
+
/** Stable work identity. */
|
|
38
|
+
id: string;
|
|
39
|
+
/** Human-readable outcome or conversation title. */
|
|
40
|
+
title: string;
|
|
41
|
+
/** Canonical thread lifecycle status. */
|
|
42
|
+
status: ManagerOfficeWorkStatus;
|
|
43
|
+
/** Unix timestamp in milliseconds of the latest lifecycle transition. */
|
|
44
|
+
updatedAt: number;
|
|
45
|
+
}
|
|
46
|
+
interface ManagerOfficeRoutine {
|
|
47
|
+
/** Stable routine identity. */
|
|
48
|
+
id: string;
|
|
49
|
+
/** Human-readable recurring responsibility. */
|
|
50
|
+
name: string;
|
|
51
|
+
/** Human-readable schedule supplied by the host. */
|
|
52
|
+
schedule: string;
|
|
53
|
+
/** Whether future occurrences are enabled. */
|
|
54
|
+
enabled: boolean;
|
|
55
|
+
/** Completed runs among the bounded recent run history. */
|
|
56
|
+
completedRuns: number;
|
|
57
|
+
/** Terminal runs among the bounded recent run history. */
|
|
58
|
+
finishedRuns: number;
|
|
59
|
+
}
|
|
60
|
+
/** Which way work moves through a channel, from the employee's side. */
|
|
61
|
+
type ManagerOfficeChannelDirection = "input" | "output" | "both";
|
|
62
|
+
type ManagerOfficeChannelStatus = "connected" | "needs-auth" | "error";
|
|
63
|
+
interface ManagerOfficeChannel {
|
|
64
|
+
/** Stable channel identity. */
|
|
65
|
+
id: string;
|
|
66
|
+
/** Service the employee reaches through, such as “Slack” or “Gmail”. */
|
|
67
|
+
name: string;
|
|
68
|
+
direction: ManagerOfficeChannelDirection;
|
|
69
|
+
status: ManagerOfficeChannelStatus;
|
|
70
|
+
/** Connected account or workspace, or the reason the channel stopped. */
|
|
71
|
+
detail?: string;
|
|
72
|
+
/**
|
|
73
|
+
* App-owned service mark. Products know their own integrations, so the mark
|
|
74
|
+
* comes from them; the package draws the first letter when none is supplied.
|
|
75
|
+
*/
|
|
76
|
+
icon?: React.ReactNode;
|
|
77
|
+
}
|
|
78
|
+
interface ManagerOfficeEmployeeBase {
|
|
79
|
+
/** Stable employee identity used by routes and list keys. */
|
|
80
|
+
id: string;
|
|
81
|
+
/** Short presentation name. */
|
|
82
|
+
name: string;
|
|
83
|
+
/** Verified employee email. */
|
|
84
|
+
email: string;
|
|
85
|
+
/** One or two characters rendered when no avatar image exists. */
|
|
86
|
+
initials: string;
|
|
87
|
+
}
|
|
88
|
+
interface ManagerOfficeConnectedEmployee extends ManagerOfficeEmployeeBase {
|
|
89
|
+
status: "needs-you" | "working" | "idle" | "issue";
|
|
90
|
+
/** Plain-language summary of the employee's role. */
|
|
91
|
+
role: string;
|
|
92
|
+
handoffs: readonly ManagerOfficeHandoff[];
|
|
93
|
+
work: readonly ManagerOfficeWork[];
|
|
94
|
+
routines: readonly ManagerOfficeRoutine[];
|
|
95
|
+
/** Every service the employee reads from or acts on. Empty is meaningful. */
|
|
96
|
+
channels: readonly ManagerOfficeChannel[];
|
|
97
|
+
}
|
|
98
|
+
interface ManagerOfficeDisconnectedEmployee extends ManagerOfficeEmployeeBase {
|
|
99
|
+
status: "offline" | "connecting" | "unavailable";
|
|
100
|
+
/** Honest explanation of the connection state and the manager's next option. */
|
|
101
|
+
statusDescription: string;
|
|
102
|
+
}
|
|
103
|
+
type ManagerOfficeEmployee = ManagerOfficeConnectedEmployee | ManagerOfficeDisconnectedEmployee;
|
|
104
|
+
type ManagerOfficeEmployeeStatus = ManagerOfficeEmployee["status"];
|
|
105
|
+
/**
|
|
106
|
+
* Every place the office can send a manager, as one discriminated union — the
|
|
107
|
+
* same shape `WorkspaceNavigationAdapter.renderLink` uses. Consumers map it
|
|
108
|
+
* with one `switch` instead of implementing seven factories.
|
|
109
|
+
*/
|
|
110
|
+
type ManagerOfficeDestination = {
|
|
111
|
+
kind: "attention";
|
|
112
|
+
} | {
|
|
113
|
+
kind: "employee";
|
|
114
|
+
employee: ManagerOfficeEmployee;
|
|
115
|
+
} | {
|
|
116
|
+
kind: "handoff";
|
|
117
|
+
employee: ManagerOfficeConnectedEmployee;
|
|
118
|
+
handoff: ManagerOfficeHandoff;
|
|
119
|
+
} | {
|
|
120
|
+
kind: "work";
|
|
121
|
+
employee: ManagerOfficeConnectedEmployee;
|
|
122
|
+
work: ManagerOfficeWork;
|
|
123
|
+
} | {
|
|
124
|
+
kind: "routine";
|
|
125
|
+
employee: ManagerOfficeConnectedEmployee;
|
|
126
|
+
routine: ManagerOfficeRoutine;
|
|
127
|
+
} | {
|
|
128
|
+
kind: "new-work";
|
|
129
|
+
employee: ManagerOfficeConnectedEmployee;
|
|
130
|
+
} | {
|
|
131
|
+
kind: "workspace";
|
|
132
|
+
employee: ManagerOfficeConnectedEmployee;
|
|
133
|
+
};
|
|
134
|
+
interface ManagerOfficeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
135
|
+
/** Current disposable navigation projection; durable selection remains app-owned. */
|
|
136
|
+
view: ManagerOfficeView;
|
|
137
|
+
/** Employees projected from their owning runtimes. */
|
|
138
|
+
employees: readonly ManagerOfficeEmployee[];
|
|
139
|
+
/** Returns an app-owned route element for every office destination. */
|
|
140
|
+
renderLink: (destination: ManagerOfficeDestination) => React.ReactElement;
|
|
141
|
+
/** Add/sign-out controls rendered in the office rail. */
|
|
142
|
+
officeActions?: React.ReactNode;
|
|
143
|
+
/**
|
|
144
|
+
* Actions rendered for the selected connected employee. Compose interactive
|
|
145
|
+
* controls through `AppTopBar.Control` so they join the toolbar.
|
|
146
|
+
*/
|
|
147
|
+
renderEmployeeActions?: (employee: ManagerOfficeConnectedEmployee) => React.ReactNode;
|
|
148
|
+
/** Action shown in the empty office. */
|
|
149
|
+
emptyOfficeAction?: React.ReactNode;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Multi-employee manager office: aggregate handoffs, employee roster, and one
|
|
153
|
+
* employee dossier. The consuming app owns authentication, Agent connections,
|
|
154
|
+
* routing, and the selected employee's full work surface.
|
|
155
|
+
*/
|
|
156
|
+
declare function ManagerOffice({
|
|
157
|
+
className,
|
|
158
|
+
emptyOfficeAction,
|
|
159
|
+
employees,
|
|
160
|
+
renderLink,
|
|
161
|
+
officeActions,
|
|
162
|
+
renderEmployeeActions,
|
|
163
|
+
style,
|
|
164
|
+
view,
|
|
165
|
+
...props
|
|
166
|
+
}: ManagerOfficeProps): React.JSX.Element;
|
|
167
|
+
//#endregion
|
|
168
|
+
export { ManagerOffice, ManagerOfficeChannel, ManagerOfficeChannelDirection, ManagerOfficeChannelStatus, ManagerOfficeConnectedEmployee, ManagerOfficeDestination, ManagerOfficeDisconnectedEmployee, ManagerOfficeEmployee, ManagerOfficeEmployeeStatus, ManagerOfficeHandoff, ManagerOfficeProps, ManagerOfficeRoutine, ManagerOfficeView, ManagerOfficeWork, ManagerOfficeWorkStatus };
|