@mcp-b/react-components 0.51.2 → 0.53.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 (196) hide show
  1. package/dist/{CodeBlock--r6GS8YV.d.ts → CodeBlock-DJ99TQWy.d.ts} +1 -1
  2. package/dist/{CodeBlock-g8sADidM.js → CodeBlock-Dw1z6jc8.js} +2 -1
  3. package/dist/EmployeeChrome-B605rpVz.d.ts +233 -0
  4. package/dist/{FileTree-DruTQ-oa.js → FileTree-okaLnS5j.js} +1 -1
  5. package/dist/{IconButton-ByiyjkYE.d.ts → IconButton-CAlFVb2L.d.ts} +3 -0
  6. package/dist/{ManagerOffice-D-7SOJ4x.js → ManagerOffice-CJwBAEMv.js} +17 -12
  7. package/dist/McpPluginCatalog-DNeHDrts.d.ts +94 -0
  8. package/dist/{Message-DyaTBiV7.d.ts → Message-COsMPZSC.d.ts} +2 -2
  9. package/dist/{ResponsiveSidebarShell-CAmmtQTR.d.ts → ResponsiveSidebarShell-BUBQa_IV.d.ts} +3 -1
  10. package/dist/{SetupChecklist-Btmy3-_C.js → SetupChecklist-DWyifWWg.js} +6 -5
  11. package/dist/{ThinkThreadPicker-yetGX_s5.d.ts → ThinkThreadPicker-DX0lL-P7.d.ts} +3 -0
  12. package/dist/{Workspace-HzGrWDX3.d.ts → Workspace-mzMZSdts.d.ts} +1 -1
  13. package/dist/WorkspaceConceptPanel-97ZyVpZI.js +20 -0
  14. package/dist/{WorkspaceFile-Bouauobc.d.ts → WorkspaceFile-19WP0EU1.d.ts} +1 -1
  15. package/dist/{WorkspaceFileView-DYPtRVpM.js → WorkspaceFileView-DQDWUpAH.js} +3 -2
  16. package/dist/{WorkspaceMessageResponse-8lOSAbw_.d.ts → WorkspaceMessageResponse-BApg8KZv.d.ts} +1 -1
  17. package/dist/WorkspaceMountManager-CkLI1B-G.d.ts +33 -0
  18. package/dist/assets/sigvelo-logo.svg +54 -0
  19. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  20. package/dist/components/agents-sdk/AgentChat.d.ts +6 -2
  21. package/dist/components/agents-sdk/AgentChat.js +12 -18
  22. package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
  23. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  24. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  25. package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
  26. package/dist/components/agents-sdk/EmployeeApp.d.ts +43 -30
  27. package/dist/components/agents-sdk/EmployeeApp.js +47 -34
  28. package/dist/components/agents-sdk/EmployeeChat.d.ts +31 -10
  29. package/dist/components/agents-sdk/EmployeeChat.js +35 -7
  30. package/dist/components/agents-sdk/EmployeeChrome.d.ts +1 -219
  31. package/dist/components/agents-sdk/EmployeeChrome.js +219 -162
  32. package/dist/components/agents-sdk/EmployeeSchedules.d.ts +1 -1
  33. package/dist/components/agents-sdk/EmployeeSchedules.js +2 -3
  34. package/dist/components/agents-sdk/EmployeeStartScreen.d.ts +12 -11
  35. package/dist/components/agents-sdk/EmployeeStartScreen.js +22 -15
  36. package/dist/components/agents-sdk/ManagerAccountActions.js +2 -3
  37. package/dist/components/agents-sdk/ManagerOffice.js +1 -2
  38. package/dist/components/agents-sdk/ManagerOfficeScreens.d.ts +2 -2
  39. package/dist/components/agents-sdk/ManagerOfficeScreens.js +33 -13
  40. package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
  41. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  42. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +1 -93
  43. package/dist/components/agents-sdk/McpPluginCatalog.js +5 -5
  44. package/dist/components/agents-sdk/McpServerPicker.js +5 -5
  45. package/dist/components/agents-sdk/ModelSelector.js +4 -4
  46. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  47. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  48. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  49. package/dist/components/agents-sdk/SubagentRunPanel.d.ts +3 -0
  50. package/dist/components/agents-sdk/SubagentRunPanel.js +67 -47
  51. package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
  52. package/dist/components/agents-sdk/ThinkChat.d.ts +1 -1
  53. package/dist/components/agents-sdk/ThinkChatActivity.js +2 -2
  54. package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
  55. package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
  56. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  57. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +7 -14
  58. package/dist/components/agents-sdk/ThinkFullApp.d.ts +2 -0
  59. package/dist/components/agents-sdk/ThinkFullApp.js +2 -0
  60. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  61. package/dist/components/agents-sdk/ThinkRoutineActions.js +1 -1
  62. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
  63. package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
  64. package/dist/components/agents-sdk/ThinkRoutineForm.js +3 -3
  65. package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
  66. package/dist/components/agents-sdk/ThinkThreadPicker.d.ts +1 -1
  67. package/dist/components/agents-sdk/ThinkThreadPicker.js +32 -19
  68. package/dist/components/agents-sdk/WorkbenchBack.d.ts +18 -0
  69. package/dist/components/agents-sdk/WorkbenchBack.js +27 -0
  70. package/dist/components/agents-sdk/Workspace.d.ts +1 -1
  71. package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
  72. package/dist/components/agents-sdk/WorkspaceBrowser.js +3 -1
  73. package/dist/components/agents-sdk/WorkspaceConcept.d.ts +1 -1
  74. package/dist/components/agents-sdk/WorkspaceCorrespondence.js +6 -6
  75. package/dist/components/agents-sdk/WorkspaceExecution.js +13 -10
  76. package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +4 -1
  77. package/dist/components/agents-sdk/WorkspaceExplorer.js +13 -4
  78. package/dist/components/agents-sdk/WorkspaceFile.d.ts +1 -1
  79. package/dist/components/agents-sdk/WorkspaceFileView.d.ts +1 -1
  80. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  81. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  82. package/dist/components/agents-sdk/WorkspaceLive.d.ts +2 -2
  83. package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
  84. package/dist/components/agents-sdk/WorkspaceMountManager.d.ts +1 -32
  85. package/dist/components/agents-sdk/WorkspaceMountManager.js +2 -2
  86. package/dist/components/agents-sdk/WorkspaceProject.js +7 -5
  87. package/dist/components/agents-sdk/WorkspaceUserScript.js +7 -5
  88. package/dist/components/ai-sdk/Activity.js +1 -1
  89. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  90. package/dist/components/ai-sdk/Approval.js +2 -2
  91. package/dist/components/ai-sdk/Artifact.d.ts +1 -1
  92. package/dist/components/ai-sdk/Artifact.js +1 -1
  93. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  94. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  95. package/dist/components/ai-sdk/CodeBlock.d.ts +1 -1
  96. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  97. package/dist/components/ai-sdk/ComposerLink.js +1 -1
  98. package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
  99. package/dist/components/ai-sdk/Context.js +1 -1
  100. package/dist/components/ai-sdk/Conversation.d.ts +1 -1
  101. package/dist/components/ai-sdk/Conversation.js +1 -1
  102. package/dist/components/ai-sdk/Goal.js +1 -1
  103. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  104. package/dist/components/ai-sdk/Message.d.ts +1 -1
  105. package/dist/components/ai-sdk/Message.js +2 -2
  106. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  107. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  108. package/dist/components/ai-sdk/Plan.js +1 -1
  109. package/dist/components/ai-sdk/PromptInput.js +46 -43
  110. package/dist/components/ai-sdk/Queue.js +1 -1
  111. package/dist/components/ai-sdk/Reasoning.js +1 -1
  112. package/dist/components/ai-sdk/Sources.js +1 -1
  113. package/dist/components/ai-sdk/Task.js +1 -1
  114. package/dist/components/extension/ChatGptSignInScreen.d.ts +1 -1
  115. package/dist/components/extension/ChatGptSignInScreen.js +61 -186
  116. package/dist/components/extension/CodexModelSelector.js +4 -8
  117. package/dist/components/extension/ConversationTabPicker.js +2 -2
  118. package/dist/components/foundations/Checkbox.js +1 -1
  119. package/dist/components/foundations/Collapsible.js +1 -1
  120. package/dist/components/foundations/ContextMenu.js +1 -1
  121. package/dist/components/foundations/IconButton.d.ts +1 -1
  122. package/dist/components/foundations/IconButton.js +7 -4
  123. package/dist/components/foundations/Menubar.js +1 -1
  124. package/dist/components/foundations/SearchField.js +1 -1
  125. package/dist/components/foundations/Select.js +1 -1
  126. package/dist/components/foundations/Stepper.js +1 -1
  127. package/dist/components/foundations/Toast.js +1 -1
  128. package/dist/components/foundations/icons.js +1 -1
  129. package/dist/components/general-purpose/AccountSignInDialog.d.ts +5 -9
  130. package/dist/components/general-purpose/AccountSignInDialog.js +13 -5
  131. package/dist/components/general-purpose/BrandLoading.d.ts +14 -0
  132. package/dist/components/general-purpose/BrandLoading.js +25 -0
  133. package/dist/components/general-purpose/Commit.d.ts +1 -1
  134. package/dist/components/general-purpose/Commit.js +2 -2
  135. package/dist/components/general-purpose/EnvironmentVariables.d.ts +1 -1
  136. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  137. package/dist/components/general-purpose/FileTree.js +1 -1
  138. package/dist/components/general-purpose/PricingBillingToggle.js +1 -1
  139. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  140. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  141. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +1 -1
  142. package/dist/components/general-purpose/ResponsiveSidebarShell.js +59 -27
  143. package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
  144. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  145. package/dist/components/general-purpose/StatusScreen.d.ts +13 -2
  146. package/dist/components/general-purpose/StatusScreen.js +27 -3
  147. package/dist/components/general-purpose/Terminal.d.ts +2 -2
  148. package/dist/components/general-purpose/Terminal.js +2 -2
  149. package/dist/components/general-purpose/TestResults.js +1 -1
  150. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  151. package/dist/components/general-purpose/WebPreview.d.ts +1 -1
  152. package/dist/components/general-purpose/WebPreview.js +2 -2
  153. package/dist/components/nanites/AgentConnection.js +2 -2
  154. package/dist/components/nanites/AgentToolDetail.js +2 -2
  155. package/dist/{copy-button-OUwOdgEm.d.ts → copy-button-CJYYgCIU.d.ts} +1 -1
  156. package/dist/{copy-button-CSDuDfdP.js → copy-button-Dk2vRe9j.js} +1 -1
  157. package/dist/styles/activity.css +2 -2
  158. package/dist/styles/agent-chat.css +6 -105
  159. package/dist/styles/app-root.css +9 -0
  160. package/dist/styles/app-top-bar.css +10 -4
  161. package/dist/styles/avatar.css +2 -2
  162. package/dist/styles/base.css +6 -2
  163. package/dist/styles/brand-loading.css +58 -0
  164. package/dist/styles/brand.test.ts +158 -0
  165. package/dist/styles/browser-control-overlay.css +22 -0
  166. package/dist/styles/button.css +22 -1
  167. package/dist/styles/chatgpt-sign-in-screen.css +111 -225
  168. package/dist/styles/code-block.css +5 -0
  169. package/dist/styles/codex-model-selector.css +2 -12
  170. package/dist/styles/description-list.css +9 -2
  171. package/dist/styles/employee-app.css +19 -1
  172. package/dist/styles/employee-chrome.css +39 -5
  173. package/dist/styles/file-tree.css +15 -2
  174. package/dist/styles/index.css +1 -0
  175. package/dist/styles/manager-office.css +80 -55
  176. package/dist/styles/manager-work.css +5 -11
  177. package/dist/styles/mcp-plugin-catalog.css +29 -34
  178. package/dist/styles/mcp-server-picker.css +13 -5
  179. package/dist/styles/prompt-input.css +3 -13
  180. package/dist/styles/queue.css +1 -1
  181. package/dist/styles/recipes.css +9 -2
  182. package/dist/styles/responsive-sidebar-shell-motion.test.ts +67 -0
  183. package/dist/styles/responsive-sidebar-shell.css +70 -25
  184. package/dist/styles/search-field.css +8 -6
  185. package/dist/styles/subagent-run.css +81 -0
  186. package/dist/styles/switch.css +7 -0
  187. package/dist/styles/think-execution-workbench.css +0 -17
  188. package/dist/styles/think-full-app.css +11 -4
  189. package/dist/styles/think-thread-picker.css +16 -38
  190. package/dist/styles/workspace-concepts.css +29 -2
  191. package/dist/styles/workspace-explorer.css +6 -48
  192. package/dist/utils/structured-code.d.ts +1 -1
  193. package/dist/{workspace-assets-Bg7XhPsk.js → workspace-assets-C3QT6UlQ.js} +1 -1
  194. package/package.json +2 -2
  195. package/dist/styles/extension-status.css +0 -46
  196. package/dist/{icons-cuEtsgj9.js → icons-CeGfXO21.js} +1 -1
@@ -0,0 +1,54 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="390 289.5 420 420">
2
+ <title>SigVelo</title>
3
+ <style>
4
+ @media (prefers-color-scheme: dark) {
5
+ #top-gradient stop:nth-child(2) { stop-color: #06e8ff }
6
+ #top-gradient stop:nth-child(3) { stop-color: #25dfff }
7
+ #top-gradient stop:nth-child(4) { stop-color: #2ed1ff }
8
+ #top-gradient stop:nth-child(5) { stop-color: #36bdff }
9
+ #top-gradient stop:nth-child(6) { stop-color: #3ca4ff }
10
+ #top-gradient stop:nth-child(7) { stop-color: #3b85ff }
11
+ #top-gradient stop:nth-child(8) { stop-color: #3566ff }
12
+ #top-gradient stop:nth-child(9) { stop-color: #3561ff }
13
+ #bottom-gradient stop:nth-child(2) { stop-color: #17e8ff }
14
+ #bottom-gradient stop:nth-child(3) { stop-color: #2fe1ff }
15
+ #bottom-gradient stop:nth-child(4) { stop-color: #40d5ff }
16
+ #bottom-gradient stop:nth-child(5) { stop-color: #49c5ff }
17
+ #bottom-gradient stop:nth-child(6) { stop-color: #4cb1ff }
18
+ #bottom-gradient stop:nth-child(7) { stop-color: #4999ff }
19
+ #bottom-gradient stop:nth-child(8) { stop-color: #4081ff }
20
+ #bottom-gradient stop:nth-child(9) { stop-color: #316bff }
21
+ #bottom-gradient stop:nth-child(10) { stop-color: #2a64ff }
22
+ .body { fill: #26e5ff }
23
+ }
24
+ </style>
25
+ <defs>
26
+ <linearGradient id="top-gradient" x1="756.23" y1="475.14" x2="608.29" y2="352.58" gradientUnits="userSpaceOnUse">
27
+ <stop stop-color="#00ebff"/>
28
+ <stop offset=".17" stop-color="#00e7fe"/>
29
+ <stop offset=".32" stop-color="#01dcfd"/>
30
+ <stop offset=".46" stop-color="#04cbfa"/>
31
+ <stop offset=".59" stop-color="#08b2f6"/>
32
+ <stop offset=".72" stop-color="#0c91f2"/>
33
+ <stop offset=".85" stop-color="#1269ec"/>
34
+ <stop offset=".98" stop-color="#183be6"/>
35
+ <stop offset="1" stop-color="#1a32e5"/>
36
+ </linearGradient>
37
+ <linearGradient id="bottom-gradient" x1="452.57" y1="524.29" x2="583.8" y2="641.28" gradientUnits="userSpaceOnUse">
38
+ <stop stop-color="#00ebff"/>
39
+ <stop offset=".24" stop-color="#00e8ff"/>
40
+ <stop offset=".38" stop-color="#00e0ff"/>
41
+ <stop offset=".5" stop-color="#00d1ff"/>
42
+ <stop offset=".61" stop-color="#00bdff"/>
43
+ <stop offset=".71" stop-color="#00a3ff"/>
44
+ <stop offset=".8" stop-color="#0082ff"/>
45
+ <stop offset=".88" stop-color="#005cff"/>
46
+ <stop offset=".96" stop-color="#0030ff"/>
47
+ <stop offset="1" stop-color="#0118ff"/>
48
+ </linearGradient>
49
+ </defs>
50
+ <path fill="url(#top-gradient)" d="m746.99 482.75-145.57-84.52 60.02-34.87 71.05 41.28a29.03 29.03 0 0 1 14.47 25.13l.03 52.97Z"/>
51
+ <path fill="url(#bottom-gradient)" d="m602.51 601.74-60.02 34.87-29.12-16.94-45.85-26.63a29.03 29.03 0 0 1-14.48-25.14l-.03-53 59.5 34.57.79.46 89.21 51.8Z"/>
52
+ <path class="body" fill="#00e4ff" d="m732.58 595.89-115.46 67.09a29.16 29.16 0 0 1-29.22 0l-45.41-26.38 60.02-34.87 84.29-48.96-.07-84.18 60.29 35.03.03 67.1a29.05 29.05 0 0 1-14.47 25.16Z"/>
53
+ <path class="body" fill="#00e4ff" d="m661.44 363.37-60.02 34.87-88.19 51.21.07 79.61-60.32-35.03-.03-62.5a29.05 29.05 0 0 1 14.48-25.16l119.39-69.35a29.16 29.16 0 0 1 29.2 0l45.42 26.36Z"/>
54
+ </svg>
@@ -1,5 +1,5 @@
1
1
  import { canRequestFavicon, inferFaviconUrl } from "../../utils/favicon.js";
2
- import { D as LinkIcon, P as MonitorIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, U as SearchIcon, Z as TerminalIcon, et as WarningIcon, tt as WrenchIcon } from "../../icons-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,7 +1,7 @@
1
1
  import { D as PromptInputCommandDefinition, J as PromptInputMessage, r as PromptInput, vt as PromptInputTray } from "../../PromptInput-DGPrCTPl.js";
2
2
  import { r as AgentChatQueuedPrompt } from "../../AgentChatQueue-MrHhV901.js";
3
3
  import { i as AgentMessageRenderPartContext } from "../../AgentMessageParts-C7L-Mv9U.js";
4
- import { i as MessageActions } from "../../Message-DyaTBiV7.js";
4
+ import { i as MessageActions } from "../../Message-COsMPZSC.js";
5
5
  import { t as VirtualMessageScrollAnchor } from "../../MessageScrollerVirtual-D4afYwVB.js";
6
6
  import { a as getPendingToolApprovals } from "../../PromptInputApproval-D2hpn54U.js";
7
7
  import * as React from "react";
@@ -77,7 +77,11 @@ declare function AgentChatTranscript<MessageT extends UIMessage = UIMessage>({
77
77
  className,
78
78
  scrollAnchor
79
79
  }: AgentChatTranscriptProps<MessageT>): React.JSX.Element;
80
- declare function AgentChatLoading(): React.JSX.Element;
80
+ declare function AgentChatLoading({
81
+ label
82
+ }: {
83
+ label?: string;
84
+ }): React.JSX.Element;
81
85
  interface AgentChatMessageProps<MessageT extends UIMessage = UIMessage> extends AgentChatRenderMessageContext<MessageT> {
82
86
  children: React.ReactNode;
83
87
  }
@@ -1,24 +1,23 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { H as RefreshIcon, K as SpinnerIcon, Q as TrashIcon, R as PencilIcon, t as ArchiveIcon } from "../../icons-cuEtsgj9.js";
3
2
  import { ExpansionStateProvider } from "../ai-sdk/ExpansionState.js";
3
+ import { H as RefreshIcon, K as SpinnerIcon, Q as TrashIcon, R as PencilIcon, t as ArchiveIcon } from "../../icons-CeGfXO21.js";
4
+ import { AgentChatMessageEditor } from "../ai-sdk/AgentChatMessageEditor.js";
5
+ import { PromptInput, PromptInputSubmit, PromptInputTray, composerLinksToReferences, usePromptInputController } from "../ai-sdk/PromptInput.js";
4
6
  import { Message, MessageAction, MessageActions, MessageCopyAction, MessageMeta, MessageTimestamp } from "../ai-sdk/Message.js";
5
- import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
6
- import { AgentChatQueueProvider, useOptionalAgentChatQueue } from "./AgentChatQueue.js";
7
7
  import { AgentMessageParts } from "../ai-sdk/AgentMessageParts.js";
8
- import { AgentChatMessageEditor } from "../ai-sdk/AgentChatMessageEditor.js";
8
+ import { Marker, MarkerContent } from "../foundations/Marker.js";
9
9
  import { VirtualMessageScroller } from "../ai-sdk/MessageScrollerVirtual.js";
10
- import { PromptInput, PromptInputSubmit, PromptInputTray, composerLinksToReferences, usePromptInputController } from "../ai-sdk/PromptInput.js";
11
10
  import { Queue, QueueItem, QueueItemAction, QueueItemActions, QueueItemContent, QueueItemIndicator, QueueList } from "../ai-sdk/Queue.js";
11
+ import { AgentEventRow, getAgentEvent } from "./AgentEvent.js";
12
+ import { AgentChatQueueProvider, useOptionalAgentChatQueue } from "./AgentChatQueue.js";
12
13
  import { PromptInputApproval, getApprovalStateKey, getPendingToolApprovals } from "./PromptInputApproval.js";
13
- import { EmptyState } from "../foundations/EmptyState.js";
14
- import { Marker, MarkerContent } from "../foundations/Marker.js";
15
- import { TransitionSurface } from "../foundations/TransitionSurface.js";
14
+ import { BrandLoading } from "../general-purpose/BrandLoading.js";
16
15
  import * as React from "react";
17
16
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
17
  import { useRender } from "@base-ui/react/use-render";
19
18
  import { mergeProps } from "@base-ui/react/merge-props";
20
- import { isCompactionMessage } from "agents/experimental/memory/utils";
21
19
  import { isTextUIPart } from "ai";
20
+ import { isCompactionMessage } from "agents/experimental/memory/utils";
22
21
  //#region src/components/agents-sdk/AgentChat.tsx
23
22
  function observeAgentChatDock(element) {
24
23
  if (!element || typeof ResizeObserver === "undefined") return;
@@ -114,9 +113,8 @@ function AgentChatRuntimeRoot({ messages, status = "ready", onRegenerate, onEdit
114
113
  ]);
115
114
  return /* @__PURE__ */ jsx(AgentChatContext.Provider, {
116
115
  value,
117
- children: /* @__PURE__ */ jsxs(TransitionSurface, {
116
+ children: /* @__PURE__ */ jsxs("div", {
118
117
  ref,
119
- variant: "fade",
120
118
  className: cx("agent-chat", className),
121
119
  "data-recipe": "fill-host",
122
120
  ...props,
@@ -153,14 +151,10 @@ function AgentChatTranscript({ children, emptyState, className, scrollAnchor })
153
151
  })
154
152
  }) });
155
153
  }
156
- function AgentChatLoading() {
157
- return /* @__PURE__ */ jsx("div", {
154
+ function AgentChatLoading({ label = "Loading conversation" }) {
155
+ return /* @__PURE__ */ jsx(BrandLoading, {
158
156
  className: "agent-chat__transcript-loading",
159
- role: "status",
160
- children: /* @__PURE__ */ jsx(EmptyState, {
161
- icon: /* @__PURE__ */ jsx(SpinnerIcon, {}),
162
- description: "Loading conversation"
163
- })
157
+ label
164
158
  });
165
159
  }
166
160
  const ChatMessageContext = React.createContext(null);
@@ -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, WebPreviewEmpty, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl, WebPreviewViewport } from "../general-purpose/WebPreview.js";
5
5
  import { BrowserLiveView } from "./BrowserLiveView.js";
@@ -1,49 +1,62 @@
1
- import { EmployeeAgentRun, EmployeeBrand, EmployeeModelSetup, EmployeeShellProps, EmployeeStatus } from "./EmployeeChrome.js";
1
+ import { l as WorkspaceNavigationAdapter } from "../../WorkspaceLink-Bh9-Jo1r.js";
2
+ import { f as EmployeeShellProps, l as EmployeeModelSetup, n as EmployeeBrand, p as EmployeeStatus, t as EmployeeAgentRun } from "../../EmployeeChrome-B605rpVz.js";
2
3
  import * as React from "react";
3
4
 
4
5
  //#region src/components/agents-sdk/EmployeeApp.d.ts
5
- interface EmployeeAppProps extends EmployeeShellProps {
6
- /** Application admission. Gates occupy the entire screen, without navigation. */
6
+ interface EmployeeAppRootProps extends EmployeeShellProps {
7
+ /** Admission gates remain separate; connecting keeps the application frame mounted. */
7
8
  status: EmployeeStatus;
9
+ workspaceNavigation?: WorkspaceNavigationAdapter;
8
10
  brand: EmployeeBrand;
9
11
  modelSetup?: EmployeeModelSetup;
10
- connectingLabel?: string;
11
- /** Transcript hydration does not withdraw the parent's navigation or Stop controls. */
12
- conversationLoading?: string;
13
- /** Child transcript state; null means a parent chat, independently of toolbar state. */
14
- conversationRun: EmployeeAgentRun | null;
15
- /** Current output pane, or null when the conversation occupies the screen. */
16
- workbench: React.ReactNode;
17
- /** Host-bound live browser screen. */
18
- live: React.ReactNode;
19
- /** Host-bound schedule screen. */
12
+ /** Schedule navigation owns its own shell; the chat remains mounted behind it. */
20
13
  schedules: React.ReactNode;
21
- report?: React.ReactNode;
22
- /** Render the extension or manager shell from this package using the same chrome state. */
14
+ /** Render the extension or manager shell with the same chrome state. */
23
15
  shell: (props: EmployeeShellProps) => React.ReactNode;
24
- /** Host-bound conversation. */
25
- children: React.ReactNode;
26
16
  ref?: React.Ref<HTMLDivElement>;
27
17
  }
28
- /**
29
- * Canonical employee screen. Hosts keep chat providers mounted above it and
30
- * supply live content; this component owns admission, navigation and layout.
31
- */
32
- declare function EmployeeApp({
18
+ /** Persistent admission and navigation frame. Put keyed runtimes and Suspense inside it. */
19
+ declare function EmployeeAppRoot({
33
20
  status,
21
+ workspaceNavigation,
34
22
  brand,
35
23
  modelSetup,
36
- connectingLabel,
37
- conversationLoading,
38
- conversationRun,
39
- workbench,
40
- live,
41
24
  schedules,
42
- report,
43
25
  shell,
44
26
  ref,
45
27
  children,
46
28
  ...chrome
47
- }: EmployeeAppProps): React.JSX.Element;
29
+ }: EmployeeAppRootProps): React.JSX.Element;
30
+ interface EmployeeAppContentProps {
31
+ view: EmployeeShellProps["view"];
32
+ /** Current output pane, or null when the conversation occupies the screen. */
33
+ workbench: React.ReactNode;
34
+ live: React.ReactNode;
35
+ report?: React.ReactNode;
36
+ /** Place transcript hydration boundaries here so they cannot replace navigation or output. */
37
+ children: React.ReactNode;
38
+ }
39
+ /** Stable content lanes. Hosts hydrate the conversation locally and retain output while waiting. */
40
+ declare function EmployeeAppContent({
41
+ view,
42
+ workbench,
43
+ live,
44
+ report,
45
+ children
46
+ }: EmployeeAppContentProps): React.JSX.Element;
47
+ /** Local run failure presentation; keep the parent connection and queue above this part. */
48
+ declare function EmployeeAppConversation({
49
+ run,
50
+ children
51
+ }: {
52
+ run: EmployeeAgentRun | null;
53
+ children: React.ReactNode;
54
+ }): React.JSX.Element;
55
+ /** Compose one persistent frame around independently hydrating conversation content. */
56
+ declare const EmployeeApp: {
57
+ Root: typeof EmployeeAppRoot;
58
+ Content: typeof EmployeeAppContent;
59
+ Conversation: typeof EmployeeAppConversation;
60
+ };
48
61
  //#endregion
49
- export { EmployeeApp, EmployeeAppProps };
62
+ export { EmployeeApp, EmployeeAppContentProps, EmployeeAppRootProps };
@@ -1,57 +1,70 @@
1
- import { K as SpinnerIcon, et as WarningIcon } from "../../icons-cuEtsgj9.js";
2
- import "../foundations/icons.js";
1
+ import { et as WarningIcon } from "../../icons-CeGfXO21.js";
2
+ import { WorkbenchBack } from "./WorkbenchBack.js";
3
3
  import { StatusScreen } from "../general-purpose/StatusScreen.js";
4
4
  import { EmployeeChrome } from "./EmployeeChrome.js";
5
5
  import { ThinkFullApp } from "./ThinkFullApp.js";
6
6
  import "react";
7
- import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region src/components/agents-sdk/EmployeeApp.tsx
9
- /**
10
- * Canonical employee screen. Hosts keep chat providers mounted above it and
11
- * supply live content; this component owns admission, navigation and layout.
12
- */
13
- function EmployeeApp({ status, brand, modelSetup, connectingLabel, conversationLoading, conversationRun, workbench, live, schedules, report, shell, ref, children, ...chrome }) {
14
- if (status !== "ready") return /* @__PURE__ */ jsx("div", {
9
+ /** Persistent admission and navigation frame. Put keyed runtimes and Suspense inside it. */
10
+ function EmployeeAppRoot({ status, workspaceNavigation, brand, modelSetup, schedules, shell, ref, children, ...chrome }) {
11
+ const admitted = status === "ready" || status === "connecting";
12
+ chrome.compactBack ??= /* @__PURE__ */ jsx(WorkbenchBack, {
13
+ navigation: workspaceNavigation,
14
+ filesOpen: chrome.view === "files",
15
+ backToChatLink: chrome.renderLink({
16
+ kind: "view",
17
+ view: "chat"
18
+ })
19
+ });
20
+ return /* @__PURE__ */ jsx("div", {
15
21
  className: "employee-app",
16
22
  "data-view": chrome.view,
17
23
  ref,
18
- children: /* @__PURE__ */ jsx(EmployeeChrome.Gate, {
24
+ children: !admitted ? /* @__PURE__ */ jsx(EmployeeChrome.Gate, {
19
25
  status,
20
26
  brand,
21
27
  identity: chrome.identity,
22
- modelSetup,
23
- connectingLabel
24
- })
28
+ modelSetup
29
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
30
+ className: "employee-app__surface",
31
+ hidden: chrome.view === "schedules",
32
+ children: shell({
33
+ ...chrome,
34
+ children
35
+ })
36
+ }), chrome.view === "schedules" ? schedules : null] })
25
37
  });
26
- const run = conversationRun;
27
- const content = chrome.view === "live" ? live : /* @__PURE__ */ jsxs(ThinkFullApp.Root, {
38
+ }
39
+ /** Stable content lanes. Hosts hydrate the conversation locally and retain output while waiting. */
40
+ function EmployeeAppContent({ view, workbench, live, report, children }) {
41
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(ThinkFullApp.Root, {
28
42
  workbenchOpen: Boolean(workbench),
43
+ hidden: view === "live",
29
44
  children: [
30
45
  /* @__PURE__ */ jsxs(ThinkFullApp.Conversation, {
31
46
  "data-workspace-restoration-scope": "chat",
32
- children: [report, run?.state === "unavailable" || run?.state === "error" ? /* @__PURE__ */ jsx(StatusScreen, {
33
- role: "alert",
34
- icon: /* @__PURE__ */ jsx(WarningIcon, {}),
35
- title: run.state === "unavailable" ? "Delegated run unavailable" : "Could not open this run",
36
- description: run.state === "error" ? run.error : "This run is no longer available. The parent conversation keeps its history and controls."
37
- }) : conversationLoading ? /* @__PURE__ */ jsx(StatusScreen, {
38
- icon: /* @__PURE__ */ jsx(SpinnerIcon, {}),
39
- description: conversationLoading
40
- }) : children]
47
+ children: [report, children]
41
48
  }),
42
49
  /* @__PURE__ */ jsx(ThinkFullApp.ResizeHandle, {}),
43
50
  /* @__PURE__ */ jsx(ThinkFullApp.Workbench, { children: workbench })
44
51
  ]
45
- });
46
- return /* @__PURE__ */ jsx("div", {
47
- className: "employee-app",
48
- "data-view": chrome.view,
49
- ref,
50
- children: chrome.view === "schedules" ? schedules : shell({
51
- ...chrome,
52
- children: content
53
- })
54
- });
52
+ }), view === "live" ? live : null] });
53
+ }
54
+ /** Local run failure presentation; keep the parent connection and queue above this part. */
55
+ function EmployeeAppConversation({ run, children }) {
56
+ return /* @__PURE__ */ jsx(Fragment, { children: run?.state === "unavailable" || run?.state === "error" ? /* @__PURE__ */ jsx(StatusScreen, {
57
+ role: "alert",
58
+ icon: /* @__PURE__ */ jsx(WarningIcon, {}),
59
+ title: run.state === "unavailable" ? "Delegated run unavailable" : "Could not open this run",
60
+ description: run.state === "error" ? run.error : "This run is no longer available. The parent conversation keeps its history and controls."
61
+ }) : children });
55
62
  }
63
+ /** Compose one persistent frame around independently hydrating conversation content. */
64
+ const EmployeeApp = {
65
+ Root: EmployeeAppRoot,
66
+ Content: EmployeeAppContent,
67
+ Conversation: EmployeeAppConversation
68
+ };
56
69
  //#endregion
57
70
  export { EmployeeApp };
@@ -1,12 +1,16 @@
1
- import { E as PromptInputCommandComposerProps, F as PromptInputDictationProps, M as PromptInputContextSelectorProps } from "../../PromptInput-DGPrCTPl.js";
1
+ import { E as PromptInputCommandComposerProps, M as PromptInputContextSelectorProps } from "../../PromptInput-DGPrCTPl.js";
2
2
  import { AgentChatTranscriptProps } from "./AgentChat.js";
3
+ import { ConversationTabPickerProps } from "../extension/ConversationTabPicker.js";
4
+ import { SetupChecklistGroupProps } from "../general-purpose/SetupChecklist.js";
5
+ import { McpServerPickerItemsProps } from "./McpServerPicker.js";
6
+ import { EmployeeStartScreenProps } from "./EmployeeStartScreen.js";
3
7
  import { ContextProps } from "../ai-sdk/Context.js";
4
8
  import { CodexModelSelectorProps } from "../extension/CodexModelSelector.js";
5
9
  import { ThinkChatMessageContentProps } from "./ThinkChat.js";
6
10
  import * as React from "react";
7
11
 
8
12
  //#region src/components/agents-sdk/EmployeeChat.d.ts
9
- interface EmployeeComposerProps {
13
+ interface EmployeeComposerProps<Id extends string = string> {
10
14
  commands: PromptInputCommandComposerProps["commands"];
11
15
  mentionCommands?: PromptInputCommandComposerProps["mentionCommands"];
12
16
  onCompact?: () => Promise<{
@@ -14,18 +18,20 @@ interface EmployeeComposerProps {
14
18
  }>;
15
19
  placeholder?: string;
16
20
  disabled?: boolean;
17
- /** Additional connection/personalization menu entries, using shared menu components. */
18
- menu?: React.ReactNode;
21
+ personalization?: Pick<SetupChecklistGroupProps<Id>, "entries" | "onSelect">;
22
+ connections?: McpServerPickerItemsProps;
19
23
  tools?: React.ReactNode;
20
24
  contextSelector?: PromptInputContextSelectorProps;
21
- tabs?: React.ReactNode;
25
+ tabs?: ConversationTabPickerProps;
22
26
  model?: CodexModelSelectorProps;
23
- dictation?: PromptInputDictationProps;
27
+ /** Dictation control; mount live meter subscriptions inside this slot. */
28
+ dictation?: React.ReactNode;
24
29
  context?: ContextProps;
25
30
  }
26
31
  /** One composer anatomy for the app and its examples; capabilities remain explicit. */
27
- declare function EmployeeComposer({
28
- menu,
32
+ declare function EmployeeComposer<Id extends string = string>({
33
+ personalization,
34
+ connections,
29
35
  tools,
30
36
  contextSelector,
31
37
  tabs,
@@ -36,7 +42,7 @@ declare function EmployeeComposer({
36
42
  placeholder,
37
43
  disabled,
38
44
  ...input
39
- }: EmployeeComposerProps): React.JSX.Element;
45
+ }: EmployeeComposerProps<Id>): React.JSX.Element;
40
46
  interface EmployeeTranscriptProps extends Omit<ThinkChatMessageContentProps, "message"> {
41
47
  readOnly?: boolean;
42
48
  scrollAnchor?: AgentChatTranscriptProps["scrollAnchor"];
@@ -59,5 +65,20 @@ declare function EmployeeChatDock({
59
65
  readOnly?: boolean;
60
66
  children?: React.ReactNode;
61
67
  }): React.JSX.Element;
68
+ /** Shared conversation layout. Hosts hydrate the parts and retain their runtime providers. */
69
+ declare function EmployeeConversation<Id extends string = string>({
70
+ transcript,
71
+ composer,
72
+ welcome,
73
+ loading,
74
+ loadingLabel,
75
+ ...dock
76
+ }: {
77
+ transcript?: EmployeeTranscriptProps;
78
+ composer: EmployeeComposerProps<Id>;
79
+ welcome?: Omit<EmployeeStartScreenProps<Id>, "children">;
80
+ loading?: boolean;
81
+ loadingLabel?: string;
82
+ } & React.ComponentProps<typeof EmployeeChatDock>): React.JSX.Element;
62
83
  //#endregion
63
- export { EmployeeChatDock, EmployeeComposer, EmployeeComposerProps, EmployeeTranscript, EmployeeTranscriptProps };
84
+ export { EmployeeChatDock, EmployeeComposer, EmployeeComposerProps, EmployeeConversation, EmployeeTranscript, EmployeeTranscriptProps };
@@ -1,7 +1,11 @@
1
- import { PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger, PromptInputAttachments, PromptInputBody, PromptInputCommandComposer, PromptInputContextSelector, PromptInputDictation, PromptInputFooter, PromptInputFooterEnd, PromptInputTools } from "../ai-sdk/PromptInput.js";
2
- import { AgentChat, useAgentChatCompaction } from "./AgentChat.js";
1
+ import { PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuTrigger, PromptInputAttachments, PromptInputBody, PromptInputCommandComposer, PromptInputContextSelector, PromptInputFooter, PromptInputFooterEnd, PromptInputTools } from "../ai-sdk/PromptInput.js";
3
2
  import { Context, ContextContent, ContextContentBody, ContextContentHeader, ContextTrigger } from "../ai-sdk/Context.js";
4
3
  import { CodexModelSelector } from "../extension/CodexModelSelector.js";
4
+ import { ConversationTabPicker } from "../extension/ConversationTabPicker.js";
5
+ import { AgentChat, useAgentChatCompaction } from "./AgentChat.js";
6
+ import { n as SetupChecklistGroup } from "../../SetupChecklist-DWyifWWg.js";
7
+ import { McpServerPickerItems } from "./McpServerPicker.js";
8
+ import { EmployeeStartScreen } from "./EmployeeStartScreen.js";
5
9
  import { ThinkChat } from "./ThinkChat.js";
6
10
  import "react";
7
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -23,7 +27,7 @@ function CompactingInput({ onCompact, ...props }) {
23
27
  })] });
24
28
  }
25
29
  /** One composer anatomy for the app and its examples; capabilities remain explicit. */
26
- function EmployeeComposer({ menu, tools, contextSelector, tabs, model, dictation, context, onCompact, placeholder = "How can I help you today?", disabled, ...input }) {
30
+ function EmployeeComposer({ personalization, connections, tools, contextSelector, tabs, model, dictation, context, onCompact, placeholder = "How can I help you today?", disabled, ...input }) {
27
31
  const inputProps = {
28
32
  ...input,
29
33
  placeholder,
@@ -38,13 +42,20 @@ function EmployeeComposer({ menu, tools, contextSelector, tabs, model, dictation
38
42
  onCompact
39
43
  }) : /* @__PURE__ */ jsx(CommandInput, { ...inputProps }),
40
44
  /* @__PURE__ */ jsxs(PromptInputFooter, { children: [/* @__PURE__ */ jsxs(PromptInputTools, { children: [
41
- /* @__PURE__ */ jsxs(PromptInputActionMenu, { children: [/* @__PURE__ */ jsx(PromptInputActionMenuTrigger, { disabled }), /* @__PURE__ */ jsxs(PromptInputActionMenuContent, { children: [/* @__PURE__ */ jsx(PromptInputActionAddAttachments, {}), menu] })] }),
45
+ /* @__PURE__ */ jsxs(PromptInputActionMenu, { children: [/* @__PURE__ */ jsx(PromptInputActionMenuTrigger, { disabled }), /* @__PURE__ */ jsxs(PromptInputActionMenuContent, { children: [
46
+ /* @__PURE__ */ jsx(PromptInputActionAddAttachments, {}),
47
+ personalization ? /* @__PURE__ */ jsx(SetupChecklistGroup, {
48
+ label: "Prompts",
49
+ ...personalization
50
+ }) : null,
51
+ connections ? /* @__PURE__ */ jsx(McpServerPickerItems, { ...connections }) : null
52
+ ] })] }),
42
53
  contextSelector ? /* @__PURE__ */ jsx(PromptInputContextSelector, { ...contextSelector }) : null,
43
54
  tools
44
55
  ] }), /* @__PURE__ */ jsxs(PromptInputFooterEnd, { children: [
45
- tabs,
56
+ tabs ? /* @__PURE__ */ jsx(ConversationTabPicker, { ...tabs }) : null,
46
57
  model ? /* @__PURE__ */ jsx(CodexModelSelector, { ...model }) : null,
47
- dictation ? /* @__PURE__ */ jsx(PromptInputDictation, { ...dictation }) : null,
58
+ dictation,
48
59
  context ? /* @__PURE__ */ jsxs(Context, {
49
60
  ...context,
50
61
  children: [/* @__PURE__ */ jsx(ContextTrigger, {}), /* @__PURE__ */ jsxs(ContextContent, { children: [/* @__PURE__ */ jsx(ContextContentHeader, {}), /* @__PURE__ */ jsx(ContextContentBody, {})] })]
@@ -80,5 +91,22 @@ function EmployeeChatDock({ recovery, notices, readOnly, children }) {
80
91
  children
81
92
  ] })] });
82
93
  }
94
+ /** Shared conversation layout. Hosts hydrate the parts and retain their runtime providers. */
95
+ function EmployeeConversation({ transcript, composer, welcome, loading, loadingLabel, ...dock }) {
96
+ if (welcome && !loading && !dock.readOnly) return /* @__PURE__ */ jsx(EmployeeStartScreen, {
97
+ ...welcome,
98
+ children: /* @__PURE__ */ jsx(EmployeeComposer, { ...composer })
99
+ });
100
+ return /* @__PURE__ */ jsxs(Fragment, { children: [loading ? /* @__PURE__ */ jsx(AgentChat.Loading, { label: loadingLabel }) : /* @__PURE__ */ jsx(EmployeeTranscript, {
101
+ ...transcript,
102
+ readOnly: dock.readOnly
103
+ }), /* @__PURE__ */ jsxs(EmployeeChatDock, {
104
+ ...dock,
105
+ children: [dock.children, /* @__PURE__ */ jsx(EmployeeComposer, {
106
+ ...composer,
107
+ disabled: loading || composer.disabled
108
+ })]
109
+ })] });
110
+ }
83
111
  //#endregion
84
- export { EmployeeChatDock, EmployeeComposer, EmployeeTranscript };
112
+ export { EmployeeChatDock, EmployeeComposer, EmployeeConversation, EmployeeTranscript };