@mcp-b/react-components 0.47.0 → 0.48.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 (127) hide show
  1. package/dist/{CodeBlock-DMHZiw86.js → CodeBlock-BSJl682D.js} +1 -1
  2. package/dist/Correspondent-7K6uNLUm.d.ts +64 -0
  3. package/dist/{FileTree-BHebfvkK.js → FileTree-DvE0hNZu.js} +1 -1
  4. package/dist/{SetupChecklist-CwRjIDH4.js → SetupChecklist-DeTU9YpW.js} +1 -1
  5. package/dist/{ThinkChat-DLDta57t.js → ThinkChat-DiI6hhDP.js} +3 -3
  6. package/dist/{Workspace-C_zHq9KZ.d.ts → Workspace-LIoU30n7.d.ts} +13 -2
  7. package/dist/{WorkspaceFileView-ChIJz-fl.js → WorkspaceFileView-C_WnYm-a.js} +3 -3
  8. package/dist/{WorkspaceLive-DLGhtIly.d.ts → WorkspaceLive-DfjH1Ypm.d.ts} +12 -0
  9. package/dist/{WorkspaceMessageResponse-Dg_aNpoj.js → WorkspaceMessageResponse-BqOezptB.js} +4 -1
  10. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  11. package/dist/components/agents-sdk/AgentChat.js +10 -10
  12. package/dist/components/agents-sdk/AgentEvent.js +1 -1
  13. package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
  14. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  15. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  16. package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
  17. package/dist/components/agents-sdk/ManagerOffice.d.ts +41 -50
  18. package/dist/components/agents-sdk/ManagerOffice.js +360 -979
  19. package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
  20. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  21. package/dist/components/agents-sdk/McpPluginCatalog.js +2 -2
  22. package/dist/components/agents-sdk/McpServerPicker.js +2 -2
  23. package/dist/components/agents-sdk/ModelSelector.js +3 -3
  24. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  25. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  26. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  27. package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
  28. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  29. package/dist/components/agents-sdk/ThinkChatActivity.js +1 -1
  30. package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
  31. package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
  32. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  33. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
  34. package/dist/components/agents-sdk/ThinkFullApp.d.ts +3 -3
  35. package/dist/components/agents-sdk/ThinkFullApp.js +9 -4
  36. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  37. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  38. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
  39. package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
  40. package/dist/components/agents-sdk/ThinkRoutineForm.js +4 -4
  41. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +3 -3
  42. package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
  43. package/dist/components/agents-sdk/ThinkSidepanel.js +10 -10
  44. package/dist/components/agents-sdk/ThinkThreadPicker.js +4 -4
  45. package/dist/components/agents-sdk/Workspace.d.ts +2 -2
  46. package/dist/components/agents-sdk/Workspace.js +13 -10
  47. package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
  48. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  49. package/dist/components/agents-sdk/WorkspaceConcept.d.ts +3 -2
  50. package/dist/components/agents-sdk/WorkspaceConcept.js +3 -3
  51. package/dist/components/agents-sdk/WorkspaceCorrespondence.d.ts +5 -9
  52. package/dist/components/agents-sdk/WorkspaceCorrespondence.js +44 -44
  53. package/dist/components/agents-sdk/WorkspaceExecution.d.ts +30 -21
  54. package/dist/components/agents-sdk/WorkspaceExecution.js +104 -167
  55. package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +1 -1
  56. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
  57. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  58. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  59. package/dist/components/agents-sdk/WorkspaceLive.d.ts +1 -1
  60. package/dist/components/agents-sdk/WorkspaceLive.js +33 -5
  61. package/dist/components/agents-sdk/WorkspaceMessageResponse.js +1 -1
  62. package/dist/components/agents-sdk/WorkspaceMountManager.js +2 -2
  63. package/dist/components/agents-sdk/WorkspaceProject.d.ts +43 -5
  64. package/dist/components/agents-sdk/WorkspaceProject.js +62 -25
  65. package/dist/components/agents-sdk/WorkspaceUserScript.js +4 -4
  66. package/dist/components/ai-sdk/Activity.js +1 -1
  67. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  68. package/dist/components/ai-sdk/Approval.js +2 -2
  69. package/dist/components/ai-sdk/Artifact.js +3 -3
  70. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  71. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  72. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  73. package/dist/components/ai-sdk/ComposerLink.js +1 -1
  74. package/dist/components/ai-sdk/ConnectedAppCards.d.ts +7 -0
  75. package/dist/components/ai-sdk/ConnectedAppCards.js +48 -80
  76. package/dist/components/ai-sdk/Conversation.js +1 -1
  77. package/dist/components/ai-sdk/Correspondent.d.ts +2 -0
  78. package/dist/components/ai-sdk/Correspondent.js +145 -0
  79. package/dist/components/ai-sdk/Goal.js +1 -1
  80. package/dist/components/ai-sdk/InlineCitation.js +1 -1
  81. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  82. package/dist/components/ai-sdk/Message.js +1 -1
  83. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  84. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  85. package/dist/components/ai-sdk/Plan.js +1 -1
  86. package/dist/components/ai-sdk/PromptInput.js +5 -5
  87. package/dist/components/ai-sdk/Queue.js +1 -1
  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.js +1 -1
  91. package/dist/components/extension/ChatGptSignInScreen.js +1 -1
  92. package/dist/components/extension/CodexModelSelector.js +2 -2
  93. package/dist/components/extension/ConversationTabPicker.js +2 -2
  94. package/dist/components/foundations/Checkbox.js +1 -1
  95. package/dist/components/foundations/Collapsible.js +1 -1
  96. package/dist/components/foundations/ContextMenu.js +1 -1
  97. package/dist/components/foundations/Menubar.js +1 -1
  98. package/dist/components/foundations/SearchField.js +1 -1
  99. package/dist/components/foundations/Select.js +1 -1
  100. package/dist/components/foundations/Stepper.js +1 -1
  101. package/dist/components/foundations/Toast.js +1 -1
  102. package/dist/components/foundations/ToggleGroup.d.ts +1 -1
  103. package/dist/components/foundations/ToggleGroup.js +1 -1
  104. package/dist/components/foundations/icons.js +1 -1
  105. package/dist/components/general-purpose/Commit.js +2 -2
  106. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  107. package/dist/components/general-purpose/FileTree.js +1 -1
  108. package/dist/components/general-purpose/PricingBillingToggle.js +1 -1
  109. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  110. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  111. package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
  112. package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
  113. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  114. package/dist/components/general-purpose/Terminal.js +2 -2
  115. package/dist/components/general-purpose/TestResults.js +1 -1
  116. package/dist/components/general-purpose/ThemeModeControl.js +2 -2
  117. package/dist/components/general-purpose/WebPreview.js +2 -2
  118. package/dist/components/nanites/AgentConnection.js +2 -2
  119. package/dist/components/nanites/AgentToolDetail.js +5 -5
  120. package/dist/{copy-button-CSDuDfdP.js → copy-button-Dk2vRe9j.js} +1 -1
  121. package/dist/styles/base.css +2 -2
  122. package/dist/styles/correspondent.css +73 -0
  123. package/dist/styles/index.css +1 -0
  124. package/dist/styles/manager-office.css +380 -1086
  125. package/dist/{workspace-assets-CxpEHsac.js → workspace-assets-GqsCYxqT.js} +16 -2
  126. package/package.json +2 -2
  127. package/dist/{icons-cuEtsgj9.js → icons-CeGfXO21.js} +1 -1
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
- import { t as CopyButton } from "./copy-button-CSDuDfdP.js";
3
2
  import { Select } from "./components/foundations/Select.js";
3
+ import { t as CopyButton } from "./copy-button-Dk2vRe9j.js";
4
4
  import * as React from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  import { createHighlighter } from "shiki";
@@ -0,0 +1,64 @@
1
+ import * as React from "react";
2
+
3
+ //#region src/components/ai-sdk/Correspondent.d.ts
4
+ /** One live handle. Extra handles are extra correspondents — no merge. */
5
+ type CorrespondentHandle = {
6
+ kind: "email";
7
+ address: string;
8
+ } | {
9
+ kind: "slack";
10
+ userId: string;
11
+ userName?: string;
12
+ } | {
13
+ kind: "linkedin";
14
+ url: string;
15
+ } | {
16
+ kind: "people";
17
+ resourceName: string;
18
+ };
19
+ type CorrespondentLatest = {
20
+ kind: "email-thread";
21
+ label: string;
22
+ } | {
23
+ kind: "slack-thread";
24
+ threadId: string;
25
+ label: string;
26
+ } | {
27
+ kind: "linkedin-tab";
28
+ tabId: number;
29
+ url: string;
30
+ title?: string;
31
+ } | {
32
+ kind: "calendar-event";
33
+ label: string;
34
+ };
35
+ /**
36
+ * Presentation of a person-shaped destination on current work. Not a contact
37
+ * record and not a ManagerOfficeEmployee seat.
38
+ */
39
+ interface Correspondent {
40
+ handle: CorrespondentHandle;
41
+ displayName?: string;
42
+ avatarUrl?: string;
43
+ latest?: CorrespondentLatest;
44
+ }
45
+ declare function slackDestinationCorrespondent(to: string): Correspondent | undefined;
46
+ declare function emailDestinationCorrespondent(to: string): Correspondent | undefined;
47
+ declare function linkedinTabCorrespondent(url: string): Correspondent | undefined;
48
+ declare function correspondentHandleLabel(handle: CorrespondentHandle): string;
49
+ declare function correspondentInitials(label: string): string;
50
+ interface CorrespondentNameProps {
51
+ correspondent: Correspondent;
52
+ className?: string;
53
+ }
54
+ /**
55
+ * Avatar + name for a person-shaped destination. LinkedIn handles open the
56
+ * profile; other handles disclose handle and latest thread without inventing
57
+ * a directory.
58
+ */
59
+ declare function CorrespondentName({
60
+ correspondent,
61
+ className
62
+ }: CorrespondentNameProps): React.ReactElement;
63
+ //#endregion
64
+ export { CorrespondentNameProps as a, emailDestinationCorrespondent as c, CorrespondentName as i, linkedinTabCorrespondent as l, CorrespondentHandle as n, correspondentHandleLabel as o, CorrespondentLatest as r, correspondentInitials as s, Correspondent as t, slackDestinationCorrespondent as u };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
- import { C as FolderIcon, S as FileIcon, p as ChevronRightIcon, w as FolderOpenIcon } from "./icons-cuEtsgj9.js";
2
+ import { C as FolderIcon, S as FileIcon, p as ChevronRightIcon, w as FolderOpenIcon } from "./icons-CeGfXO21.js";
3
3
  import { t as NavigationLink } from "./navigation-link-kqMa81v5.js";
4
4
  import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "./class-names-BiMDVpUo.js";
2
- import { B as PlusIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon } from "./icons-cuEtsgj9.js";
2
+ import { B as PlusIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon } from "./icons-CeGfXO21.js";
3
3
  import { Button } from "./components/foundations/Button.js";
4
4
  import { Menu } from "./components/foundations/Menu.js";
5
5
  import * as React from "react";
@@ -1,16 +1,16 @@
1
1
  import { composerDraftToPrompt, parseComposerLinks } from "./utils/composer-link.js";
2
- import { AgentToolRunsProvider, useSourceScopedAgentToolEvents } from "./components/agents-sdk/AgentToolRunsContext.js";
3
2
  import { TransitionSurface } from "./components/foundations/TransitionSurface.js";
3
+ import { AgentToolRunsProvider, useSourceScopedAgentToolEvents } from "./components/agents-sdk/AgentToolRunsContext.js";
4
4
  import { AgentChat, compactingNotice } from "./components/agents-sdk/AgentChat.js";
5
5
  import { ThinkChatContext, ThinkChatLiveContext, useOptionalThinkChatContext, useThinkChatContext } from "./components/agents-sdk/ThinkChatContext.js";
6
6
  import { ThinkChatActivity, createThinkChatActivityRenderer, renderThinkChatActivityPart } from "./components/agents-sdk/ThinkChatActivity.js";
7
7
  import { ThinkRecoveryNotice } from "./components/agents-sdk/ThinkRecoveryNotice.js";
8
- import { n as WorkspaceMessageResponse, t as WorkspaceFileRendererProvider } from "./WorkspaceMessageResponse-Dg_aNpoj.js";
8
+ import { n as WorkspaceMessageResponse, t as WorkspaceFileRendererProvider } from "./WorkspaceMessageResponse-BqOezptB.js";
9
9
  import * as React from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
  import { isTextUIPart } from "ai";
12
- import { useAgent } from "agents/react";
13
12
  import { useAgentChat } from "@cloudflare/think/react";
13
+ import { useAgent } from "agents/react";
14
14
  import { queryOptions, useQuery, useQueryClient } from "@tanstack/react-query";
15
15
  //#region src/components/_internal/think-approvals.ts
16
16
  /**
@@ -1,5 +1,5 @@
1
1
  import { a as WorkspaceMediaInfo, i as WorkspaceFileState, r as WorkspaceFileAssetResolver, t as WorkspaceFileAsset } from "./WorkspaceFile-Dq-GC0_T.js";
2
- import { DataTag, QueryKey, UnusedSkipTokenOptions } from "@tanstack/react-query";
2
+ import { DataTag, QueryClient, QueryKey, UnusedSkipTokenOptions } from "@tanstack/react-query";
3
3
  import { FileInfo, Workspace, WorkspaceFsLike } from "@cloudflare/shell";
4
4
 
5
5
  //#region src/components/agents-sdk/Workspace.d.ts
@@ -85,6 +85,7 @@ declare function workspaceDirectoryQueryKey(sourceKey: string, root: string, pat
85
85
  type WorkspaceDirectoryQueryKey = ReturnType<typeof workspaceDirectoryQueryKey>;
86
86
  declare function workspaceFileQueryKey(sourceKey: string, root: string, requestedPath: string): readonly ["workspace", string, string, "file", string];
87
87
  type WorkspaceFileQueryKey = ReturnType<typeof workspaceFileQueryKey>;
88
+ declare function workspaceInfoQueryKey(sourceKey: string, root: string): readonly ["workspace", string, string, "info"];
88
89
  declare function workspaceFileVersion(target: WorkspaceFileReadTarget): {
89
90
  readonly path: string;
90
91
  readonly name: string;
@@ -121,6 +122,16 @@ declare function workspaceFileAssetQueryOptions(sourceKey: string, root: string,
121
122
  declare function workspaceTextFileQueryOptions(source: WorkspaceSource, sourceKey: string, root: string, target: WorkspaceFileReadTarget): WorkspaceTextFileQueryOptions;
122
123
  /** Active-file-only buffered asset options, scoped to the validated stat result. */
123
124
  declare function workspaceBinaryFileQueryOptions(source: WorkspaceSource, sourceKey: string, root: string, target: WorkspaceFileReadTarget, maxInlineAssetBytes: number): WorkspaceBinaryFileQueryOptions;
125
+ declare function refreshWorkspaceFileQueries(queryClient: QueryClient, {
126
+ source,
127
+ sourceKey,
128
+ root,
129
+ selectedPath,
130
+ resolveFileAsset,
131
+ maxInlineAssetBytes
132
+ }: Pick<UseWorkspaceOptions, "source" | "sourceKey" | "selectedPath" | "resolveFileAsset" | "maxInlineAssetBytes"> & {
133
+ root: string;
134
+ }): Promise<void>;
124
135
  /**
125
136
  * Headless state for browsing a Think workspace. TanStack Query owns remote
126
137
  * directory, metadata, resolver, text, and byte lifecycles; the route owns
@@ -136,4 +147,4 @@ declare function useWorkspace({
136
147
  maxInlineAssetBytes
137
148
  }: UseWorkspaceOptions): WorkspaceState;
138
149
  //#endregion
139
- export { workspaceInfoQueryOptions as A, useWorkspace as C, workspaceDirectoryQueryPrefix as D, workspaceDirectoryQueryOptions as E, workspaceTextFileQueryOptions as M, workspaceFileAssetQueryOptions as O, WorkspaceTextFileQueryOptions as S, workspaceDirectoryQueryKey as T, WorkspaceQueryOptions as _, WorkspaceDirectoryQueryOptions as a, WorkspaceState as b, WorkspaceFileQueryKey as c, WorkspaceFileStatQueryOptions as d, WorkspaceFileVersion as f, WorkspaceQueryKey as g, WorkspaceInfoQueryOptions as h, WorkspaceDirectoryQueryKey as i, workspaceQueryKey as j, workspaceFileStatQueryOptions as k, WorkspaceFileReadTarget as l, WorkspaceInfoQueryKey as m, WorkspaceBinaryFileQueryKey as n, WorkspaceFileAssetQueryKey as o, WorkspaceInfo as p, WorkspaceBinaryFileQueryOptions as r, WorkspaceFileAssetQueryOptions as s, UseWorkspaceOptions as t, WorkspaceFileStatQueryKey as u, WorkspaceResolvedAsset as v, workspaceBinaryFileQueryOptions as w, WorkspaceTextFileQueryKey as x, WorkspaceSource as y };
150
+ export { workspaceFileQueryKey as A, refreshWorkspaceFileQueries as C, workspaceDirectoryQueryOptions as D, workspaceDirectoryQueryKey as E, workspaceTextFileQueryOptions as F, workspaceInfoQueryKey as M, workspaceInfoQueryOptions as N, workspaceDirectoryQueryPrefix as O, workspaceQueryKey as P, WorkspaceTextFileQueryOptions as S, workspaceBinaryFileQueryOptions as T, WorkspaceQueryOptions as _, WorkspaceDirectoryQueryOptions as a, WorkspaceState as b, WorkspaceFileQueryKey as c, WorkspaceFileStatQueryOptions as d, WorkspaceFileVersion as f, WorkspaceQueryKey as g, WorkspaceInfoQueryOptions as h, WorkspaceDirectoryQueryKey as i, workspaceFileStatQueryOptions as j, workspaceFileAssetQueryOptions as k, WorkspaceFileReadTarget as l, WorkspaceInfoQueryKey as m, WorkspaceBinaryFileQueryKey as n, WorkspaceFileAssetQueryKey as o, WorkspaceInfo as p, WorkspaceBinaryFileQueryOptions as r, WorkspaceFileAssetQueryOptions as s, UseWorkspaceOptions as t, WorkspaceFileStatQueryKey as u, WorkspaceResolvedAsset as v, useWorkspace as w, WorkspaceTextFileQueryKey as x, WorkspaceSource as y };
@@ -1,10 +1,10 @@
1
- import { b as EyeIcon, d as CheckIcon, et as WarningIcon, k as MaximizeIcon, m as CodeIcon, r as ArrowLeftIcon, v as DownloadIcon } from "./icons-cuEtsgj9.js";
1
+ import { b as EyeIcon, d as CheckIcon, et as WarningIcon, k as MaximizeIcon, m as CodeIcon, r as ArrowLeftIcon, v as DownloadIcon } from "./icons-CeGfXO21.js";
2
2
  import { i as formatClock } from "./format-COCyV98Z.js";
3
+ import { a as CodeBlockCopyButton, i as CodeBlockContent, r as CodeBlockContainer, t as CodeBlock } from "./CodeBlock-BSJl682D.js";
3
4
  import { AppTopBar } from "./components/general-purpose/AppTopBar.js";
4
- import { a as CodeBlockCopyButton, i as CodeBlockContent, r as CodeBlockContainer, t as CodeBlock } from "./CodeBlock-DMHZiw86.js";
5
5
  import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./components/agents-sdk/WorkspaceFile.js";
6
6
  import { c as useWorkspaceNavigationContext, s as useWorkspaceNavigationRestoration } from "./WorkspaceLink-B1d2GIGl.js";
7
- import { n as WorkspaceMessageResponse, r as createWorkspaceRehypePlugins } from "./WorkspaceMessageResponse-Dg_aNpoj.js";
7
+ import { n as WorkspaceMessageResponse, r as createWorkspaceRehypePlugins } from "./WorkspaceMessageResponse-BqOezptB.js";
8
8
  import { WorkspaceHeader } from "./components/agents-sdk/WorkspaceHeader.js";
9
9
  import * as React from "react";
10
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,3 +1,5 @@
1
+ import { r as WorkspaceFileAssetResolver } from "./WorkspaceFile-Dq-GC0_T.js";
2
+ import { y as WorkspaceSource } from "./Workspace-LIoU30n7.js";
1
3
  import { QueryClient } from "@tanstack/react-query";
2
4
 
3
5
  //#region src/components/agents-sdk/WorkspaceLive.d.ts
@@ -24,6 +26,12 @@ interface UseWorkspaceLiveQueriesOptions {
24
26
  * that disagrees with the queries silently invalidates nothing.
25
27
  */
26
28
  root: string;
29
+ /** Workspace read adapter used to refresh an observed open file in order. */
30
+ source?: WorkspaceSource;
31
+ /** Route-owned open file. Omit or pass null when Files has no selection. */
32
+ selectedPath?: string | null;
33
+ resolveFileAsset?: WorkspaceFileAssetResolver;
34
+ maxInlineAssetBytes?: number;
27
35
  /**
28
36
  * Disposable freshness tick for hosts without native observation — for
29
37
  * example a serialization of settled-turn state. Every change of a defined
@@ -41,6 +49,10 @@ interface UseWorkspaceLiveQueriesOptions {
41
49
  */
42
50
  declare function useWorkspaceLiveQueries({
43
51
  changes,
52
+ maxInlineAssetBytes,
53
+ resolveFileAsset,
54
+ selectedPath,
55
+ source,
44
56
  sourceKey,
45
57
  root,
46
58
  revision
@@ -122,7 +122,10 @@ function WorkspaceFileParagraph({ node, children, ...paragraphProps }) {
122
122
  const promoted = renderFile({
123
123
  label: file.label,
124
124
  path: file.path,
125
- sourceLink: /* @__PURE__ */ jsx(WorkspaceFileLink, { href: file.path })
125
+ sourceLink: /* @__PURE__ */ jsx(WorkspaceFileLink, {
126
+ href: file.path,
127
+ children: file.label
128
+ })
126
129
  });
127
130
  if (promoted == null) return renderFallbackParagraph(children);
128
131
  const remainingChildren = React.Children.toArray(children).filter((_child, index) => index !== file.childIndex);
@@ -1,5 +1,5 @@
1
1
  import { canRequestFavicon, inferFaviconUrl } from "../../utils/favicon.js";
2
- import { D as LinkIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, U as SearchIcon, Z as TerminalIcon, et as WarningIcon, tt as WrenchIcon } from "../../icons-cuEtsgj9.js";
2
+ import { D as LinkIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, U as SearchIcon, Z as TerminalIcon, et as WarningIcon, tt as WrenchIcon } from "../../icons-CeGfXO21.js";
3
3
  import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/components/agents-sdk/AgentActivity.tsx
@@ -1,28 +1,28 @@
1
1
  import { replaceComposerTrigger } from "../../utils/composer-link.js";
2
2
  import { t as cx } from "../../class-names-BiMDVpUo.js";
3
- import { B as PlusIcon, H as RefreshIcon, K as SpinnerIcon, Q as TrashIcon, R as PencilIcon, V as QueueIcon, t as ArchiveIcon } from "../../icons-cuEtsgj9.js";
4
3
  import { ExpansionStateProvider } from "../ai-sdk/ExpansionState.js";
4
+ import { B as PlusIcon, H as RefreshIcon, K as SpinnerIcon, Q as TrashIcon, R as PencilIcon, V as QueueIcon, t as ArchiveIcon } from "../../icons-CeGfXO21.js";
5
5
  import { Button } from "../foundations/Button.js";
6
+ import { AgentChatMessageEditor } from "../ai-sdk/AgentChatMessageEditor.js";
6
7
  import { IconButton } from "../foundations/IconButton.js";
8
+ import { Menu } from "../foundations/Menu.js";
9
+ import { PromptInput, PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger, PromptInputAttachments, PromptInputBody, PromptInputButton, PromptInputCommandComposer, PromptInputContextSelector, PromptInputDictation, PromptInputFooter, PromptInputHeader, PromptInputPermissionSelector, PromptInputSubmit, PromptInputTextarea, PromptInputTools, PromptInputTray, composerLinksToReferences, usePromptInputAttachments } from "../ai-sdk/PromptInput.js";
10
+ import { AgentChatStartScreen } from "../ai-sdk/AgentChatStartScreen.js";
7
11
  import { Message, MessageAction, MessageActions, MessageMeta, MessageTimestamp } from "../ai-sdk/Message.js";
8
- import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
9
12
  import { AgentMessageParts } from "../ai-sdk/AgentMessageParts.js";
13
+ import { Marker, MarkerContent } from "../foundations/Marker.js";
14
+ import { t as CopyButton } from "../../copy-button-Dk2vRe9j.js";
10
15
  import { Context, ContextContent, ContextContentBody, ContextContentHeader, ContextTrigger, getContextUsage, getContextUsedTokens } from "../ai-sdk/Context.js";
11
- import { EmptyState } from "../foundations/EmptyState.js";
12
16
  import { VirtualMessageScroller } from "../ai-sdk/MessageScrollerVirtual.js";
13
17
  import { QueueItem, QueueItemActions, QueueItemContent } from "../ai-sdk/Queue.js";
14
- import { Menu } from "../foundations/Menu.js";
15
- import { PromptInput, PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger, PromptInputAttachments, PromptInputBody, PromptInputButton, PromptInputCommandComposer, PromptInputContextSelector, PromptInputDictation, PromptInputFooter, PromptInputHeader, PromptInputPermissionSelector, PromptInputSubmit, PromptInputTextarea, PromptInputTools, PromptInputTray, composerLinksToReferences, usePromptInputAttachments } from "../ai-sdk/PromptInput.js";
16
- import { AgentChatStartScreen } from "../ai-sdk/AgentChatStartScreen.js";
17
- import { AgentChatMessageEditor } from "../ai-sdk/AgentChatMessageEditor.js";
18
- import { Marker, MarkerContent } from "../foundations/Marker.js";
18
+ import { EmptyState } from "../foundations/EmptyState.js";
19
19
  import { TransitionSurface } from "../foundations/TransitionSurface.js";
20
+ import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
20
21
  import { PromptInputApproval, getApprovalRequestId, getApprovalStateKey, getPendingToolApprovals } from "./PromptInputApproval.js";
21
- import { t as CopyButton } from "../../copy-button-CSDuDfdP.js";
22
22
  import * as React from "react";
23
23
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
- import { isCompactionMessage } from "agents/experimental/memory/utils";
25
24
  import { isTextUIPart } from "ai";
25
+ import { isCompactionMessage } from "agents/experimental/memory/utils";
26
26
  //#region src/components/agents-sdk/AgentChat.tsx
27
27
  /**
28
28
  * Agents exports this helper from `agents/sessions` after cloudflare/agents#1896;
@@ -2,9 +2,9 @@ import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Activity, ActivityContent, ActivityText, ActivityTrigger } from "../ai-sdk/Activity.js";
3
3
  import { r as firstLine } from "../../format-COCyV98Z.js";
4
4
  import { MessageResponse } from "../ai-sdk/Message.js";
5
- import { useOptionalAgentToolRuns } from "./AgentToolRunsContext.js";
6
5
  import { NaniteMark } from "../nanites/NaniteScene.js";
7
6
  import { getSubagentRunName } from "./SubagentRunIndicator.js";
7
+ import { useOptionalAgentToolRuns } from "./AgentToolRunsContext.js";
8
8
  import "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  import { isTextUIPart } from "ai";
@@ -1,4 +1,4 @@
1
- import { E as KeyboardIcon, H as RefreshIcon, r as ArrowLeftIcon } from "../../icons-cuEtsgj9.js";
1
+ import { E as KeyboardIcon, H as RefreshIcon, r as ArrowLeftIcon } from "../../icons-CeGfXO21.js";
2
2
  import { Button } from "../foundations/Button.js";
3
3
  import { WebPreviewNavigationButton } from "../general-purpose/WebPreview.js";
4
4
  import { BrowserLiveView } from "./BrowserLiveView.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { K as SpinnerIcon, _ as DotIcon, k as MaximizeIcon } from "../../icons-cuEtsgj9.js";
2
+ import { K as SpinnerIcon, _ as DotIcon, k as MaximizeIcon } from "../../icons-CeGfXO21.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { Dialog } from "../foundations/Dialog.js";
5
5
  import { TransitionSurface } from "../foundations/TransitionSurface.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { L as PauseIcon, z as PlayIcon } from "../../icons-cuEtsgj9.js";
2
+ import { L as PauseIcon, z as PlayIcon } from "../../icons-CeGfXO21.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import { i as formatClock } from "../../format-COCyV98Z.js";
5
5
  import { EmptyState } from "../foundations/EmptyState.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { K as SpinnerIcon, nt as XIcon } from "../../icons-cuEtsgj9.js";
2
+ import { K as SpinnerIcon, nt as XIcon } from "../../icons-CeGfXO21.js";
3
3
  import { Tabs } from "../foundations/Tabs.js";
4
4
  import { WebPreview, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl } from "../general-purpose/WebPreview.js";
5
5
  import { BrowserLiveView } from "./BrowserLiveView.js";
@@ -1,3 +1,4 @@
1
+ import { t as Correspondent } from "../../Correspondent-7K6uNLUm.js";
1
2
  import { n as ResponsiveSidebarShell } from "../../ResponsiveSidebarShell-BTVPxLJK.js";
2
3
  import { ThinkRoutine } from "./ThinkRoutine.js";
3
4
  import * as React from "react";
@@ -6,8 +7,6 @@ import * as React from "react";
6
7
  type ManagerOfficeWorkStatus = "idle" | "running" | "attention" | "error" | "interrupted";
7
8
  /** The app-owned projection currently shown by the manager office. */
8
9
  type ManagerOfficeView = {
9
- kind: "dashboard";
10
- } | {
11
10
  kind: "attention";
12
11
  } | {
13
12
  kind: "employee";
@@ -33,6 +32,27 @@ interface ManagerOfficeHandoff {
33
32
  /** Unix timestamp in milliseconds when this handoff began. */
34
33
  createdAt: number;
35
34
  }
35
+ /**
36
+ * One item in a lane's workspace staging area. Companion projects a thread
37
+ * folder (files, recorded Google Doc/Sheet URLs, people) once the employee
38
+ * creates it. Not a document registry and not a CRM.
39
+ */
40
+ type ManagerOfficeWorkingSetItem = {
41
+ kind: "file";
42
+ path: string;
43
+ title: string;
44
+ } | {
45
+ kind: "folder";
46
+ path: string;
47
+ title: string;
48
+ } | {
49
+ kind: "link";
50
+ href: string;
51
+ title: string;
52
+ } | {
53
+ kind: "correspondent";
54
+ correspondent: Correspondent;
55
+ };
36
56
  interface ManagerOfficeWork {
37
57
  /** Stable work identity. */
38
58
  id: string;
@@ -44,16 +64,18 @@ interface ManagerOfficeWork {
44
64
  summary?: string;
45
65
  /** Unix timestamp in milliseconds of the latest lifecycle transition. */
46
66
  updatedAt: number;
67
+ /**
68
+ * Staging files, provider documents, and people this lane is using. Omit or
69
+ * empty until the employee creates the thread's workspace folder.
70
+ */
71
+ workingSet?: readonly ManagerOfficeWorkingSetItem[];
47
72
  }
48
- /** Which way work moves through a channel, from the employee's side. */
49
- type ManagerOfficeChannelDirection = "input" | "output" | "both";
50
73
  type ManagerOfficeChannelStatus = "connected" | "needs-auth" | "error";
51
74
  interface ManagerOfficeChannel {
52
75
  /** Stable channel identity. */
53
76
  id: string;
54
77
  /** Service the employee reaches through, such as “Slack” or “Gmail”. */
55
78
  name: string;
56
- direction: ManagerOfficeChannelDirection;
57
79
  status: ManagerOfficeChannelStatus;
58
80
  /** Connected account or workspace, or the reason the channel stopped. */
59
81
  detail?: string;
@@ -64,30 +86,6 @@ interface ManagerOfficeChannel {
64
86
  */
65
87
  icon?: React.ReactNode;
66
88
  }
67
- interface ManagerOfficeBrowserPreview {
68
- /** Title of the tab currently visible on the employee's browser. */
69
- title: string;
70
- /** Display-safe URL supplied by the host. */
71
- url: string;
72
- }
73
- interface ManagerOfficeAnalyticsPoint {
74
- /** Start of the reporting bucket as a Unix timestamp in milliseconds. */
75
- timestamp: number;
76
- /** Outcomes completed during this bucket. */
77
- completed: number;
78
- /** Employee runtime consumed during this bucket. */
79
- workloadHours: number;
80
- /** Host-estimated inference and tool cost during this bucket. */
81
- estimatedCost: number;
82
- }
83
- interface ManagerOfficeEmployeeAnalytics {
84
- employeeId: string;
85
- points: readonly ManagerOfficeAnalyticsPoint[];
86
- }
87
- interface ManagerOfficeReportSelection {
88
- employeeIds: readonly string[];
89
- rangeDays: 7 | 30 | 90;
90
- }
91
89
  interface ManagerOfficeEmployeeBase {
92
90
  /** Stable employee identity used by routes and list keys. */
93
91
  id: string;
@@ -108,8 +106,6 @@ interface ManagerOfficeConnectedEmployee extends ManagerOfficeEmployeeBase {
108
106
  routines: readonly ThinkRoutine[];
109
107
  /** Every service the employee reads from or acts on. Empty is meaningful. */
110
108
  channels: readonly ManagerOfficeChannel[];
111
- /** The live tab the manager can glance at from the office. */
112
- browserPreview?: ManagerOfficeBrowserPreview;
113
109
  }
114
110
  interface ManagerOfficeDisconnectedEmployee extends ManagerOfficeEmployeeBase {
115
111
  status: "offline" | "connecting" | "unavailable";
@@ -148,7 +144,9 @@ type ManagerOfficeDestination = {
148
144
  employee: ManagerOfficeConnectedEmployee;
149
145
  } | {
150
146
  kind: "workspace";
151
- employee: ManagerOfficeConnectedEmployee;
147
+ employee: ManagerOfficeConnectedEmployee; /** Owning lane when opening a file from that lane's working set. */
148
+ work?: ManagerOfficeWork; /** Workspace path to select, when the destination is a specific entry. */
149
+ path?: string;
152
150
  };
153
151
  interface ManagerOfficeProps extends React.HTMLAttributes<HTMLDivElement> {
154
152
  /** Current disposable navigation projection; durable selection remains app-owned. */
@@ -168,12 +166,6 @@ interface ManagerOfficeProps extends React.HTMLAttributes<HTMLDivElement> {
168
166
  renderEmployeeActions?: (employee: ManagerOfficeConnectedEmployee) => React.ReactNode;
169
167
  /** Action shown in the empty office. */
170
168
  emptyOfficeAction?: React.ReactNode;
171
- /** Per-employee reporting buckets used by the executive analytics view. */
172
- analytics?: readonly ManagerOfficeEmployeeAnalytics[];
173
- /** Currency used for cost estimates. Defaults to USD. */
174
- analyticsCurrency?: string;
175
- /** Export the exact filtered portfolio and time range currently on screen. */
176
- onExportReport?: (selection: ManagerOfficeReportSelection) => void;
177
169
  }
178
170
  interface ManagerOfficeSidebarProps extends Omit<React.HTMLAttributes<HTMLElement>, "content"> {
179
171
  /** Close the office drawer after a compact-width selection. */
@@ -190,6 +182,11 @@ interface ManagerOfficeSidebarProps extends Omit<React.HTMLAttributes<HTMLElemen
190
182
  content?: React.ReactNode;
191
183
  /** Persistent sidebar action, such as starting a conversation with the selected employee. */
192
184
  footer?: React.ReactNode;
185
+ /**
186
+ * Office is a vertical named roster. Chat is a horizontal seat strip so the
187
+ * thread list owns the column.
188
+ */
189
+ layout?: "office" | "chat";
193
190
  }
194
191
  type ManagerOfficeSidebarAlertProps = {
195
192
  "aria-label"?: string;
@@ -211,11 +208,6 @@ declare function ManagerOfficeSidebarAlert({
211
208
  title,
212
209
  ...props
213
210
  }: ManagerOfficeSidebarAlertProps): React.JSX.Element;
214
- /**
215
- * Shared Manager Office rail. Stories and host shells may add employee-owned
216
- * content, but the Workforce header, roster identity, status language, scrolling,
217
- * and footer placement stay component-owned and therefore cannot drift.
218
- */
219
211
  declare function ManagerOfficeSidebar({
220
212
  className,
221
213
  closeSidebarOnCompact,
@@ -223,24 +215,23 @@ declare function ManagerOfficeSidebar({
223
215
  employees,
224
216
  renderLink,
225
217
  footer,
218
+ layout,
226
219
  officeActions,
227
220
  selectedEmployeeId,
228
221
  ...props
229
222
  }: ManagerOfficeSidebarProps): React.JSX.Element;
230
223
  /**
231
- * Multi-employee manager office: a dashboard, aggregate handoffs, employee
232
- * roster, and one employee dossier. The consuming app owns authentication,
233
- * Agent connections, routing, and the selected employee's full work surface.
224
+ * Multi-employee manager office: inbox of browser waits plus ready work,
225
+ * employee roster, and one employee dossier of work lanes. The consuming app
226
+ * owns authentication, Agent connections, routing, and the selected
227
+ * employee's full work surface.
234
228
  */
235
229
  declare function ManagerOffice({
236
- analytics,
237
- analyticsCurrency,
238
230
  className,
239
231
  emptyOfficeAction,
240
232
  employees,
241
233
  renderLink,
242
234
  officeActions,
243
- onExportReport,
244
235
  renderEmployeeActions,
245
236
  sidebarTogglePlacement,
246
237
  style,
@@ -248,4 +239,4 @@ declare function ManagerOffice({
248
239
  ...props
249
240
  }: ManagerOfficeProps): React.JSX.Element;
250
241
  //#endregion
251
- export { ManagerOffice, ManagerOfficeAnalyticsPoint, ManagerOfficeBrowserPreview, ManagerOfficeChannel, ManagerOfficeChannelDirection, ManagerOfficeChannelStatus, ManagerOfficeConnectedEmployee, ManagerOfficeDestination, ManagerOfficeDisconnectedEmployee, ManagerOfficeEmployee, ManagerOfficeEmployeeAnalytics, ManagerOfficeEmployeeStatus, ManagerOfficeHandoff, ManagerOfficeProps, ManagerOfficeReportSelection, ManagerOfficeSidebar, ManagerOfficeSidebarAlert, ManagerOfficeSidebarAlertProps, ManagerOfficeSidebarProps, ManagerOfficeView, ManagerOfficeWork, ManagerOfficeWorkStatus };
242
+ export { ManagerOffice, ManagerOfficeChannel, ManagerOfficeChannelStatus, ManagerOfficeConnectedEmployee, ManagerOfficeDestination, ManagerOfficeDisconnectedEmployee, ManagerOfficeEmployee, ManagerOfficeEmployeeStatus, ManagerOfficeHandoff, ManagerOfficeProps, ManagerOfficeSidebar, ManagerOfficeSidebarAlert, ManagerOfficeSidebarAlertProps, ManagerOfficeSidebarProps, ManagerOfficeView, ManagerOfficeWork, ManagerOfficeWorkStatus, ManagerOfficeWorkingSetItem };