@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.
Files changed (228) hide show
  1. package/dist/{AgentChat-CVO7xyLC.d.ts → AgentChat-DVr2giwD.d.ts} +1 -1
  2. package/dist/{AgentToolRunsContext-BCVqCtJ1.d.ts → AgentToolRunsContext-daY67hFM.d.ts} +12 -0
  3. package/dist/{CodeBlock-CWk1FVtm.js → CodeBlock-BjELA-_s.js} +1 -1
  4. package/dist/{FileTree-xqHYBw4g.js → FileTree-DMYRdT6R.js} +1 -1
  5. package/dist/McpConnectorForm-MRm1r59e.d.ts +39 -0
  6. package/dist/{Message-DBsHHhcM.d.ts → Message-D_vCVEGB.d.ts} +20 -1
  7. package/dist/{ThinkChatActivity-D6-_5Phw.d.ts → ThinkChatActivity-CsDql-ER.d.ts} +4 -1
  8. package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
  9. package/dist/{WorkspaceFileView-Lab3om3F.js → WorkspaceFileView-DwdXiKku.js} +17 -22
  10. package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
  11. package/dist/components/agents-sdk/AgentActivity.js +4 -3
  12. package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
  13. package/dist/components/agents-sdk/AgentChat.js +42 -18
  14. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
  15. package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
  16. package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
  17. package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
  18. package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
  19. package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
  20. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  21. package/dist/components/agents-sdk/BrowserRunPanel.d.ts +1 -1
  22. package/dist/components/agents-sdk/BrowserRunPanel.js +8 -13
  23. package/dist/components/agents-sdk/ManagerOffice.d.ts +168 -0
  24. package/dist/components/agents-sdk/ManagerOffice.js +698 -0
  25. package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
  26. package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
  27. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
  28. package/dist/components/agents-sdk/McpPluginCatalog.js +82 -62
  29. package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
  30. package/dist/components/agents-sdk/McpServerPicker.js +2 -2
  31. package/dist/components/agents-sdk/ModelSelector.js +1 -1
  32. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  33. package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
  34. package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
  35. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  36. package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
  37. package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
  38. package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
  39. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
  40. package/dist/components/agents-sdk/ThinkChatActivity.js +18 -4
  41. package/dist/components/agents-sdk/ThinkChatToolPanels.js +7 -3
  42. package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
  43. package/dist/components/agents-sdk/ThinkExecutionDetail.js +45 -43
  44. package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
  45. package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
  46. package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
  47. package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
  48. package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
  49. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +43 -37
  50. package/dist/components/agents-sdk/ThinkFullApp.d.ts +42 -78
  51. package/dist/components/agents-sdk/ThinkFullApp.js +121 -202
  52. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
  53. package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
  54. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
  55. package/dist/components/agents-sdk/ThinkRoutineDetail.js +4 -15
  56. package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
  57. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +7 -6
  58. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +112 -140
  59. package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
  60. package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
  61. package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -1
  62. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  63. package/dist/components/agents-sdk/WorkspaceExplorer.js +2 -1
  64. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  65. package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
  66. package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
  67. package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
  68. package/dist/components/ai-sdk/Activity.js +1 -1
  69. package/dist/components/ai-sdk/AgentAttention.d.ts +1 -1
  70. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  71. package/dist/components/ai-sdk/Approval.js +1 -1
  72. package/dist/components/ai-sdk/Artifact.js +1 -1
  73. package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
  74. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  75. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  76. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  77. package/dist/components/ai-sdk/Conversation.js +1 -1
  78. package/dist/components/ai-sdk/Goal.js +1 -1
  79. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  80. package/dist/components/ai-sdk/Message.d.ts +2 -2
  81. package/dist/components/ai-sdk/Message.js +25 -3
  82. package/dist/components/ai-sdk/MessageScroller.js +3 -2
  83. package/dist/components/ai-sdk/MessageScrollerVirtual.js +2 -1
  84. package/dist/components/ai-sdk/Plan.js +1 -1
  85. package/dist/components/ai-sdk/PromptInput.js +21 -15
  86. package/dist/components/ai-sdk/Queue.d.ts +4 -4
  87. package/dist/components/ai-sdk/Queue.js +6 -15
  88. package/dist/components/ai-sdk/Reasoning.js +1 -1
  89. package/dist/components/ai-sdk/Sources.js +1 -1
  90. package/dist/components/ai-sdk/Task.d.ts +2 -2
  91. package/dist/components/ai-sdk/Task.js +2 -2
  92. package/dist/components/extension/ChatGptSignInScreen.js +2 -1
  93. package/dist/components/extension/CodexModelSelector.js +1 -1
  94. package/dist/components/extension/ConversationTabPicker.js +1 -1
  95. package/dist/components/foundations/Avatar.d.ts +1 -10
  96. package/dist/components/foundations/Avatar.js +1 -10
  97. package/dist/components/foundations/Checkbox.js +1 -1
  98. package/dist/components/foundations/CheckboxGroup.js +1 -0
  99. package/dist/components/foundations/ContextMenu.js +1 -1
  100. package/dist/components/foundations/LinkButton.d.ts +12 -10
  101. package/dist/components/foundations/LinkButton.js +15 -11
  102. package/dist/components/foundations/Menubar.js +1 -1
  103. package/dist/components/foundations/SearchField.js +1 -1
  104. package/dist/components/foundations/Select.js +1 -1
  105. package/dist/components/foundations/Stepper.js +1 -1
  106. package/dist/components/foundations/Toast.js +1 -1
  107. package/dist/components/foundations/ToggleGroup.d.ts +79 -1
  108. package/dist/components/foundations/icons.d.ts +2 -2
  109. package/dist/components/foundations/icons.js +2 -2
  110. package/dist/components/general-purpose/AppFrame.js +1 -0
  111. package/dist/components/general-purpose/AppTopBar.d.ts +6 -0
  112. package/dist/components/general-purpose/AppTopBar.js +2 -1
  113. package/dist/components/general-purpose/Commit.d.ts +2 -2
  114. package/dist/components/general-purpose/Commit.js +5 -13
  115. package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
  116. package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
  117. package/dist/components/general-purpose/FileTree.js +1 -1
  118. package/dist/components/general-purpose/PricingBillingToggle.js +4 -9
  119. package/dist/components/general-purpose/PricingPlanCard.js +15 -14
  120. package/dist/components/general-purpose/ResizableSidePanel.d.ts +8 -0
  121. package/dist/components/general-purpose/ResizableSidePanel.js +3 -2
  122. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +105 -2
  123. package/dist/components/general-purpose/ResponsiveSidebarShell.js +112 -56
  124. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  125. package/dist/components/general-purpose/Terminal.d.ts +1 -1
  126. package/dist/components/general-purpose/Terminal.js +4 -12
  127. package/dist/components/general-purpose/TestResults.d.ts +1 -1
  128. package/dist/components/general-purpose/TestResults.js +8 -21
  129. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  130. package/dist/components/general-purpose/WebPreview.d.ts +4 -1
  131. package/dist/components/general-purpose/WebPreview.js +6 -14
  132. package/dist/components/nanites/AgentConnection.js +2 -2
  133. package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
  134. package/dist/components/nanites/AgentToolDetail.js +6 -5
  135. package/dist/components/nanites/NaniteScene.js +11 -11
  136. package/dist/{copy-button-Bc7jsYv_.js → copy-button-lys9N_aI.js} +1 -1
  137. package/dist/{icons-DwgNir1Q.d.ts → icons-0corjfxR.d.ts} +1 -16
  138. package/dist/{icons-MmIXciMO.js → icons-CVFSeTJn.js} +2 -5
  139. package/dist/styles/accordion.css +1 -0
  140. package/dist/styles/action-guide.css +8 -7
  141. package/dist/styles/activity-header.css +13 -39
  142. package/dist/styles/activity.css +40 -55
  143. package/dist/styles/agent-attention.css +19 -19
  144. package/dist/styles/agent-chat.css +94 -42
  145. package/dist/styles/agent-connection.css +10 -4
  146. package/dist/styles/agent-tool-detail.css +5 -15
  147. package/dist/styles/alert-dialog.css +4 -4
  148. package/dist/styles/app-frame.css +1 -3
  149. package/dist/styles/app-icon.css +12 -18
  150. package/dist/styles/app-top-bar.css +31 -9
  151. package/dist/styles/approval.css +1 -0
  152. package/dist/styles/artifact.css +6 -6
  153. package/dist/styles/attachment-preview.css +5 -4
  154. package/dist/styles/avatar.css +6 -22
  155. package/dist/styles/base.css +2 -8
  156. package/dist/styles/browser-live-screen.css +38 -0
  157. package/dist/styles/browser-live-view.css +12 -4
  158. package/dist/styles/browser-replay.css +6 -6
  159. package/dist/styles/browser-run-panel.css +21 -18
  160. package/dist/styles/button.css +15 -6
  161. package/dist/styles/card.css +5 -5
  162. package/dist/styles/chatgpt-sign-in-screen.css +6 -6
  163. package/dist/styles/code-block.css +14 -13
  164. package/dist/styles/codex-model-selector.css +2 -0
  165. package/dist/styles/collapsible.css +1 -0
  166. package/dist/styles/commit.css +30 -7
  167. package/dist/styles/context.css +9 -9
  168. package/dist/styles/conversation-tab-picker.css +1 -1
  169. package/dist/styles/conversation.css +6 -8
  170. package/dist/styles/dialog.css +4 -4
  171. package/dist/styles/empty-state.css +3 -3
  172. package/dist/styles/environment-variables.css +12 -9
  173. package/dist/styles/field.css +2 -1
  174. package/dist/styles/fieldset.css +2 -2
  175. package/dist/styles/index.css +8 -7
  176. package/dist/styles/manager-office.css +480 -0
  177. package/dist/styles/mcp-plugin-catalog.css +44 -39
  178. package/dist/styles/mcp-server-picker.css +4 -4
  179. package/dist/styles/message-scroller.css +9 -11
  180. package/dist/styles/message.css +74 -28
  181. package/dist/styles/nanite-scene.css +9 -9
  182. package/dist/styles/navigation-menu.css +1 -0
  183. package/dist/styles/plan.css +13 -12
  184. package/dist/styles/pricing-page.css +37 -30
  185. package/dist/styles/prompt-input.css +26 -18
  186. package/dist/styles/queue.css +1 -0
  187. package/dist/styles/reasoning.css +1 -9
  188. package/dist/styles/recipes.css +29 -58
  189. package/dist/styles/responsive-sidebar-shell.css +107 -29
  190. package/dist/styles/separator.css +5 -5
  191. package/dist/styles/sources.css +4 -4
  192. package/dist/styles/stepper.css +1 -0
  193. package/dist/styles/streamdown.css +31 -21
  194. package/dist/styles/subagent-run.css +20 -3
  195. package/dist/styles/tabs.css +1 -0
  196. package/dist/styles/task.css +5 -17
  197. package/dist/styles/terminal.css +29 -10
  198. package/dist/styles/test-results.css +16 -7
  199. package/dist/styles/think-execution-status.css +10 -26
  200. package/dist/styles/think-execution-workbench.css +98 -108
  201. package/dist/styles/think-full-app.css +75 -225
  202. package/dist/styles/think-routine-library.css +26 -95
  203. package/dist/styles/think-thread-picker.css +17 -12
  204. package/dist/styles/transition-surface.css +7 -8
  205. package/dist/styles/utilities.css +75 -0
  206. package/dist/styles/web-preview.css +46 -22
  207. package/dist/styles/workspace-explorer.css +22 -44
  208. package/dist/styles/workspace-mount-manager.css +24 -2
  209. package/dist/utils/favicon.d.ts +6 -1
  210. package/dist/utils/favicon.js +18 -1
  211. package/package.json +37 -35
  212. package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
  213. package/dist/ToggleGroup-_pQMyHGM.d.ts +0 -80
  214. package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
  215. package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
  216. package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
  217. package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
  218. package/dist/components/foundations/Badge.d.ts +0 -62
  219. package/dist/components/foundations/Badge.js +0 -55
  220. package/dist/components/foundations/StatusPill.d.ts +0 -43
  221. package/dist/components/foundations/StatusPill.js +0 -35
  222. package/dist/components/general-purpose/Shell.d.ts +0 -149
  223. package/dist/components/general-purpose/Shell.js +0 -116
  224. package/dist/styles/agent-activity-preview-overlay.css +0 -169
  225. package/dist/styles/agent-activity-preview.css +0 -209
  226. package/dist/styles/badge.css +0 -120
  227. package/dist/styles/shell.css +0 -122
  228. 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, framed body — for
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 { Y as SpinnerIcon, it as XIcon } from "../../icons-MmIXciMO.js";
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__ */ jsxs(Tabs.List, {
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: [tabs.map((tab) => /* @__PURE__ */ jsxs(Tabs.Tab, {
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)), /* @__PURE__ */ jsx(Tabs.Indicator, {})]
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, framed body — for
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 };