@mcp-b/react-components 0.35.0 → 0.37.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 (184) hide show
  1. package/dist/{AgentChat-mpacmRU1.d.ts → AgentChat-CVO7xyLC.d.ts} +1 -1
  2. package/dist/{CodeBlock-DzGhYyNe.d.ts → CodeBlock-C380GD5t.d.ts} +2 -5
  3. package/dist/{CodeBlock-CM5gfmdq.js → CodeBlock-DO4Hdu1R.js} +4 -3
  4. package/dist/{Dialog-DeOSJ0Oy.d.ts → Dialog-B_FhRWaz.d.ts} +22 -37
  5. package/dist/{FileTree-4WP4Uc_m.js → FileTree-DbQMpvxV.js} +1 -1
  6. package/dist/{Menu-DVmjBIuM.d.ts → Menu-yb6QXWA3.d.ts} +64 -75
  7. package/dist/{PromptInput-DOyee1kM.d.ts → PromptInput-BRX7FhjH.d.ts} +7 -272
  8. package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +68 -0
  9. package/dist/{Select-D96d09ww.d.ts → Select-RrceeEIe.d.ts} +17 -52
  10. package/dist/{ThinkChat-DbzqSTBt.js → ThinkChat-DQh59CeC.js} +6 -8
  11. package/dist/{ThinkChatActivity-BZyN5MBg.d.ts → ThinkChatActivity-Dkmm2pIj.d.ts} +1 -1
  12. package/dist/{ToggleGroup-CSBWfPXo.d.ts → ToggleGroup-_pQMyHGM.d.ts} +5 -7
  13. package/dist/{WorkspaceFile-CVAzjTt6.d.ts → WorkspaceFile-BLaFmMrt.d.ts} +1 -1
  14. package/dist/{WorkspaceFileView-BmxSbhRu.js → WorkspaceFileView-Cu_ZG6HJ.js} +11 -17
  15. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  16. package/dist/components/agents-sdk/AgentActivityPreview.js +4 -4
  17. package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
  18. package/dist/components/agents-sdk/AgentChat.js +36 -30
  19. package/dist/components/agents-sdk/BrowserLiveView.d.ts +47 -1
  20. package/dist/components/agents-sdk/BrowserLiveView.js +2 -2
  21. package/dist/components/agents-sdk/BrowserReplay.d.ts +40 -1
  22. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  23. package/dist/components/agents-sdk/BrowserRunPanel.js +2 -2
  24. package/dist/components/agents-sdk/McpConnectionRequest.js +15 -16
  25. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  26. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +1 -1
  27. package/dist/components/agents-sdk/McpPluginCatalog.js +19 -26
  28. package/dist/components/agents-sdk/McpServerPicker.d.ts +2 -2
  29. package/dist/components/agents-sdk/McpServerPicker.js +20 -18
  30. package/dist/components/agents-sdk/ModelSelector.d.ts +9 -9
  31. package/dist/components/agents-sdk/ModelSelector.js +504 -1
  32. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  33. package/dist/components/agents-sdk/PromptInputCommands.d.ts +1 -1
  34. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  35. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  36. package/dist/components/agents-sdk/SubagentRunSelector.js +2 -2
  37. package/dist/components/agents-sdk/ThinkChat.d.ts +17 -107
  38. package/dist/components/agents-sdk/ThinkChat.js +2 -12
  39. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +2 -4
  40. package/dist/components/agents-sdk/ThinkChatActivity.js +2 -2
  41. package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
  42. package/dist/components/agents-sdk/ThinkExecutionDetail.js +1 -1
  43. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  44. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
  45. package/dist/components/agents-sdk/ThinkFullApp.d.ts +4 -4
  46. package/dist/components/agents-sdk/ThinkFullApp.js +10 -14
  47. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
  48. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  49. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  50. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
  51. package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
  52. package/dist/components/agents-sdk/ThinkRoutineForm.js +3 -3
  53. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +2 -3
  54. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +4 -4
  55. package/dist/components/agents-sdk/ThinkRoutineRuns.js +2 -2
  56. package/dist/components/agents-sdk/ThinkThreadPicker.js +6 -7
  57. package/dist/components/agents-sdk/ThinkThreadShell.d.ts +1 -1
  58. package/dist/components/agents-sdk/Workspace.d.ts +140 -2
  59. package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
  60. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  61. package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +32 -5
  62. package/dist/components/agents-sdk/WorkspaceExplorer.js +3 -5
  63. package/dist/components/agents-sdk/WorkspaceFile.d.ts +1 -1
  64. package/dist/components/agents-sdk/WorkspaceFileView.d.ts +1 -1
  65. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  66. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  67. package/dist/components/agents-sdk/WorkspaceMountManager.js +2 -2
  68. package/dist/components/ai-sdk/Activity.d.ts +5 -0
  69. package/dist/components/ai-sdk/Activity.js +34 -14
  70. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  71. package/dist/components/ai-sdk/Approval.js +2 -2
  72. package/dist/components/ai-sdk/Artifact.js +1 -1
  73. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  74. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  75. package/dist/components/ai-sdk/CodeBlock.d.ts +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/InlineCitation.js +1 -1
  80. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  81. package/dist/components/ai-sdk/Message.js +2 -6
  82. package/dist/components/ai-sdk/MessageScroller.d.ts +5 -0
  83. package/dist/components/ai-sdk/MessageScroller.js +19 -13
  84. package/dist/components/ai-sdk/MessageScrollerVirtual.js +19 -11
  85. package/dist/components/ai-sdk/Plan.js +1 -1
  86. package/dist/components/ai-sdk/PromptInput.d.ts +2 -2
  87. package/dist/components/ai-sdk/PromptInput.js +126 -129
  88. package/dist/components/ai-sdk/Queue.js +2 -2
  89. package/dist/components/ai-sdk/Reasoning.d.ts +3 -4
  90. package/dist/components/ai-sdk/Reasoning.js +30 -14
  91. package/dist/components/ai-sdk/Sources.js +1 -1
  92. package/dist/components/ai-sdk/Task.js +1 -1
  93. package/dist/components/ai-sdk/ToolInvocation.d.ts +3 -5
  94. package/dist/components/extension/ChatGptSignInScreen.js +3 -3
  95. package/dist/components/extension/CodexModelSelector.d.ts +1 -1
  96. package/dist/components/extension/CodexModelSelector.js +2 -2
  97. package/dist/components/extension/ConversationTabPicker.js +3 -3
  98. package/dist/components/foundations/Accordion.d.ts +1 -3
  99. package/dist/components/foundations/Accordion.js +1 -3
  100. package/dist/components/foundations/AlertDialog.d.ts +16 -36
  101. package/dist/components/foundations/Autocomplete.d.ts +12 -33
  102. package/dist/components/foundations/Autocomplete.js +2 -1
  103. package/dist/components/foundations/Card.d.ts +3 -3
  104. package/dist/components/foundations/Card.js +3 -3
  105. package/dist/components/foundations/Checkbox.js +1 -1
  106. package/dist/components/foundations/Collapsible.js +1 -1
  107. package/dist/components/foundations/Combobox.d.ts +119 -2
  108. package/dist/components/foundations/Combobox.js +6 -23
  109. package/dist/components/foundations/ContextMenu.d.ts +50 -57
  110. package/dist/components/foundations/ContextMenu.js +5 -29
  111. package/dist/components/foundations/DescriptionList.d.ts +34 -2
  112. package/dist/components/foundations/DescriptionList.js +33 -2
  113. package/dist/components/foundations/Dialog.d.ts +1 -1
  114. package/dist/components/foundations/Dialog.js +2 -1
  115. package/dist/components/foundations/Menu.d.ts +1 -1
  116. package/dist/components/foundations/Menu.js +3 -21
  117. package/dist/components/foundations/Menubar.d.ts +35 -64
  118. package/dist/components/foundations/Menubar.js +4 -23
  119. package/dist/components/foundations/Popover.d.ts +8 -21
  120. package/dist/components/foundations/Popover.js +3 -48
  121. package/dist/components/foundations/PreviewCard.d.ts +44 -29
  122. package/dist/components/foundations/PreviewCard.js +3 -6
  123. package/dist/components/foundations/RadioGroup.d.ts +4 -6
  124. package/dist/components/foundations/SearchField.js +1 -1
  125. package/dist/components/foundations/Select.d.ts +1 -1
  126. package/dist/components/foundations/Select.js +8 -22
  127. package/dist/components/foundations/Slider.d.ts +31 -44
  128. package/dist/components/foundations/Slider.js +26 -25
  129. package/dist/components/foundations/Stepper.d.ts +3 -3
  130. package/dist/components/foundations/Stepper.js +6 -7
  131. package/dist/components/foundations/Toast.js +1 -1
  132. package/dist/components/foundations/ToggleGroup.d.ts +1 -1
  133. package/dist/components/foundations/ToggleGroup.js +1 -1
  134. package/dist/components/foundations/Tooltip.d.ts +6 -8
  135. package/dist/components/foundations/Tooltip.js +4 -3
  136. package/dist/components/foundations/icons.js +1 -1
  137. package/dist/components/general-purpose/Commit.js +3 -3
  138. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  139. package/dist/components/general-purpose/FileTree.js +1 -1
  140. package/dist/components/general-purpose/PricingBillingToggle.d.ts +2 -3
  141. package/dist/components/general-purpose/PricingBillingToggle.js +5 -23
  142. package/dist/components/general-purpose/PricingPage.d.ts +3 -4
  143. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  144. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  145. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +1 -67
  146. package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
  147. package/dist/components/general-purpose/SettingsFormDialog.d.ts +7 -2
  148. package/dist/components/general-purpose/SettingsFormDialog.js +19 -4
  149. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  150. package/dist/components/general-purpose/Terminal.js +4 -4
  151. package/dist/components/general-purpose/TestResults.js +1 -1
  152. package/dist/components/general-purpose/ThemeModeControl.js +2 -2
  153. package/dist/components/general-purpose/WebPreview.js +5 -5
  154. package/dist/components/nanites/AgentConnection.js +17 -12
  155. package/dist/components/nanites/AgentToolDetail.js +4 -4
  156. package/dist/{copy-button-CsNSSKYG.js → copy-button-4YvddK4e.js} +1 -1
  157. package/dist/{mcp-server-U71zhxFF.js → mcp-server-SD_S-IpB.js} +18 -2
  158. package/dist/message-scroller-C8cplcQO.js +32 -0
  159. package/dist/provider-logos-zjZycgV6.js +74 -0
  160. package/dist/styles/agent-chat.css +9 -0
  161. package/dist/styles/agent-connection.css +4 -31
  162. package/dist/styles/alert-dialog.css +0 -2
  163. package/dist/styles/base-ui-motion.css +7 -5
  164. package/dist/styles/chatgpt-sign-in-screen.css +5 -3
  165. package/dist/styles/dialog.css +0 -2
  166. package/dist/styles/model-selector.css +30 -12
  167. package/dist/styles/popover.css +0 -1
  168. package/dist/styles/preview-card.css +0 -4
  169. package/dist/styles/pricing-page.css +1 -13
  170. package/dist/styles/prompt-input.css +12 -10
  171. package/dist/styles/recipes.css +22 -14
  172. package/dist/styles/slider.css +2 -2
  173. package/dist/styles/tooltip.css +0 -1
  174. package/dist/utils/structured-code.d.ts +1 -1
  175. package/package.json +18 -8
  176. package/dist/BrowserLiveView-tJTWkoyu.d.ts +0 -48
  177. package/dist/BrowserReplay-B0BQZr-N.d.ts +0 -41
  178. package/dist/Combobox-WrrDDaEv.d.ts +0 -154
  179. package/dist/ModelSelector-DtBxWqRn.js +0 -504
  180. package/dist/Workspace-GTlqvcIn.d.ts +0 -278
  181. package/dist/WorkspaceExplorer-Cu044amt.d.ts +0 -32
  182. package/dist/components/foundations/DescriptionListParts.d.ts +0 -37
  183. package/dist/components/foundations/DescriptionListParts.js +0 -35
  184. package/dist/{icons-B1Qw05te.js → icons-B4mGvCvc.js} +1 -1
@@ -1,2 +1,140 @@
1
- import { a as WorkspaceSource, c as workspaceBinaryFileQueryOptions, d as workspaceDirectoryQueryPrefix, f as workspaceFileAssetQueryOptions, g as workspaceTextFileQueryOptions, h as workspaceQueryKey, i as WorkspaceQueryKey, l as workspaceDirectoryQueryKey, m as workspaceInfoQueryOptions, n as WorkspaceFileReadTarget, o as WorkspaceState, p as workspaceFileStatQueryOptions, r as WorkspaceInfo, s as useWorkspace, t as UseWorkspaceOptions, u as workspaceDirectoryQueryOptions } from "../../Workspace-GTlqvcIn.js";
2
- export { UseWorkspaceOptions, WorkspaceFileReadTarget, WorkspaceInfo, WorkspaceQueryKey, WorkspaceSource, WorkspaceState, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryKey, workspaceDirectoryQueryOptions, workspaceDirectoryQueryPrefix, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
1
+ import { a as WorkspaceMediaInfo, i as WorkspaceFileState, r as WorkspaceFileAssetResolver, t as WorkspaceFileAsset } from "../../WorkspaceFile-BLaFmMrt.js";
2
+ import { DataTag, QueryKey, UnusedSkipTokenOptions } from "@tanstack/react-query";
3
+ import { WorkspaceLike } from "@cloudflare/think";
4
+ import { FileInfo, Workspace } from "@cloudflare/shell";
5
+
6
+ //#region src/components/agents-sdk/Workspace.d.ts
7
+ /** Workspace summary, as returned by `Workspace.getWorkspaceInfo()` upstream. */
8
+ type WorkspaceInfo = Awaited<ReturnType<Workspace["getWorkspaceInfo"]>>;
9
+ /** Whole upstream workspace shapes, accepted without narrowing or mirroring. */
10
+ type WorkspaceSource = Workspace | WorkspaceLike;
11
+ interface UseWorkspaceOptions {
12
+ /** Must be referentially stable (memoize in the app). */
13
+ source: WorkspaceSource;
14
+ /**
15
+ * Stable, non-secret identity for the endpoint/account/tenant/workspace
16
+ * behind `source`. Change it whenever that backing workspace changes.
17
+ */
18
+ sourceKey: string;
19
+ /** Root directory to list first. Defaults to "/". */
20
+ root?: string;
21
+ /** Route-owned selected file path. */
22
+ selectedPath: string | null;
23
+ /** Called when a non-link browser asks the app to select a file. */
24
+ onSelectedPathChange?: (path: string | null) => void;
25
+ /**
26
+ * Optional host adapter called before text/binary reads. Return `null` for
27
+ * ordinary text files and prefer signed/range-friendly URLs for large media.
28
+ * The configured root scopes navigation; hosts must enforce authorization
29
+ * atomically when resolving assets across a trust boundary.
30
+ * Keep this resolver semantically stable for a given `sourceKey`; function
31
+ * identity is intentionally excluded from serializable query keys.
32
+ */
33
+ resolveFileAsset?: WorkspaceFileAssetResolver;
34
+ /** Maximum size for the built-in buffered-byte fallback. Defaults to 32 MiB. */
35
+ maxInlineAssetBytes?: number;
36
+ }
37
+ interface WorkspaceState {
38
+ root: string;
39
+ /** Loaded directory listings, keyed by directory path. */
40
+ entriesByDirectory: Readonly<Record<string, readonly FileInfo[]>>;
41
+ /** Every loaded entry, keyed by its path. */
42
+ entryByPath: ReadonlyMap<string, FileInfo>;
43
+ expandedPaths: ReadonlySet<string>;
44
+ /** Update expansion; newly expanded directories load lazily. */
45
+ setExpandedPaths: (next: Set<string>) => void;
46
+ selectedPath: string | null;
47
+ /** Ask the route owner to select a file. */
48
+ selectFile: (path: string | null) => void;
49
+ /** The selected file once its read settles; null while loading. */
50
+ selectedFile: WorkspaceFileState | null;
51
+ /** Initial root/info load or explicit refresh in flight. */
52
+ isLoading: boolean;
53
+ /** Directory and file paths with a query in flight. */
54
+ loadingPaths: ReadonlySet<string>;
55
+ /** Root/directory listing failure. Per-file read errors live on the file state. */
56
+ error: string | null;
57
+ /** Workspace summary, when the source provides `getWorkspaceInfo`. */
58
+ info: WorkspaceInfo | null;
59
+ /** Reload the root, every expanded directory, and the selected file. */
60
+ refresh: () => void;
61
+ }
62
+ interface WorkspaceFileReadTarget {
63
+ requestedPath: string;
64
+ readPath: string;
65
+ info: FileInfo;
66
+ media: WorkspaceMediaInfo | null;
67
+ }
68
+ interface WorkspaceResolvedAsset {
69
+ asset: WorkspaceFileAsset;
70
+ media: WorkspaceMediaInfo;
71
+ }
72
+ type WorkspaceQueryOptions<TData, TQueryKey extends QueryKey> = UnusedSkipTokenOptions<TData, Error, TData, TQueryKey> & {
73
+ queryKey: DataTag<TQueryKey, TData, Error>;
74
+ };
75
+ /**
76
+ * Source/root prefix for cache inspection, cancellation, or removal.
77
+ * Do not broadly invalidate this prefix: active file queries must refresh in
78
+ * stat → resolver → content order. Use a resource option key or `refresh()`.
79
+ */
80
+ declare function workspaceQueryKey(sourceKey: string, root: string): readonly ["workspace", string, string];
81
+ type WorkspaceQueryKey = ReturnType<typeof workspaceQueryKey>;
82
+ /** Directory-listing prefix for targeted cache invalidation. */
83
+ declare function workspaceDirectoryQueryPrefix(sourceKey: string, root: string): readonly ["workspace", string, string, "directory"];
84
+ /** Exact directory-listing key shared by query options and live hosts. */
85
+ declare function workspaceDirectoryQueryKey(sourceKey: string, root: string, path: string): readonly ["workspace", string, string, "directory", string];
86
+ type WorkspaceDirectoryQueryKey = ReturnType<typeof workspaceDirectoryQueryKey>;
87
+ declare function workspaceFileQueryKey(sourceKey: string, root: string, requestedPath: string): readonly ["workspace", string, string, "file", string];
88
+ type WorkspaceFileQueryKey = ReturnType<typeof workspaceFileQueryKey>;
89
+ declare function workspaceFileVersion(target: WorkspaceFileReadTarget): {
90
+ readonly path: string;
91
+ readonly name: string;
92
+ readonly type: import("@cloudflare/shell").EntryType;
93
+ readonly mimeType: string;
94
+ readonly size: number;
95
+ readonly createdAt: number;
96
+ readonly updatedAt: number;
97
+ readonly target: string | null;
98
+ };
99
+ type WorkspaceFileVersion = ReturnType<typeof workspaceFileVersion>;
100
+ type WorkspaceDirectoryQueryOptions = WorkspaceQueryOptions<readonly FileInfo[], WorkspaceDirectoryQueryKey>;
101
+ type WorkspaceInfoQueryKey = readonly [...WorkspaceQueryKey, "info"];
102
+ type WorkspaceInfoQueryOptions = WorkspaceQueryOptions<WorkspaceInfo | null, WorkspaceInfoQueryKey>;
103
+ type WorkspaceFileStatQueryKey = readonly [...WorkspaceFileQueryKey, "stat"];
104
+ type WorkspaceFileStatQueryOptions = WorkspaceQueryOptions<WorkspaceFileReadTarget, WorkspaceFileStatQueryKey>;
105
+ type WorkspaceFileAssetQueryKey = readonly [...WorkspaceFileQueryKey, "asset", WorkspaceFileVersion];
106
+ type WorkspaceFileAssetQueryOptions = WorkspaceQueryOptions<WorkspaceResolvedAsset | null, WorkspaceFileAssetQueryKey>;
107
+ type WorkspaceTextFileQueryKey = readonly [...WorkspaceFileQueryKey, "text", WorkspaceFileVersion];
108
+ type WorkspaceTextFileQueryOptions = WorkspaceQueryOptions<string | null, WorkspaceTextFileQueryKey>;
109
+ type WorkspaceBinaryFileQueryKey = readonly [...WorkspaceFileQueryKey, "bytes", WorkspaceFileVersion, {
110
+ readonly maxInlineAssetBytes: number;
111
+ }];
112
+ type WorkspaceBinaryFileQueryOptions = WorkspaceQueryOptions<WorkspaceResolvedAsset | null, WorkspaceBinaryFileQueryKey>;
113
+ /** Shared directory options for workspace components and route loaders. */
114
+ declare function workspaceDirectoryQueryOptions(source: WorkspaceSource, sourceKey: string, root: string, path: string): WorkspaceDirectoryQueryOptions;
115
+ /** Shared workspace-summary options for workspace components and route loaders. */
116
+ declare function workspaceInfoQueryOptions(source: WorkspaceSource, sourceKey: string, root: string): WorkspaceInfoQueryOptions;
117
+ /** Re-stat and validate a requested path before any resolver or file read. */
118
+ declare function workspaceFileStatQueryOptions(source: WorkspaceSource, sourceKey: string, root: string, requestedPath: string): WorkspaceFileStatQueryOptions;
119
+ /** Optional host asset resolution, scoped to the current stat result. */
120
+ declare function workspaceFileAssetQueryOptions(sourceKey: string, root: string, target: WorkspaceFileReadTarget, resolveFileAsset: WorkspaceFileAssetResolver): WorkspaceFileAssetQueryOptions;
121
+ /** Cached text read options, scoped to the validated stat result. */
122
+ declare function workspaceTextFileQueryOptions(source: WorkspaceSource, sourceKey: string, root: string, target: WorkspaceFileReadTarget): WorkspaceTextFileQueryOptions;
123
+ /** Active-file-only buffered asset options, scoped to the validated stat result. */
124
+ declare function workspaceBinaryFileQueryOptions(source: WorkspaceSource, sourceKey: string, root: string, target: WorkspaceFileReadTarget, maxInlineAssetBytes: number): WorkspaceBinaryFileQueryOptions;
125
+ /**
126
+ * Headless state for browsing a Think workspace. TanStack Query owns remote
127
+ * directory, metadata, resolver, text, and byte lifecycles; the route owns
128
+ * selection, while this hook only keeps local tree expansion state.
129
+ */
130
+ declare function useWorkspace({
131
+ source,
132
+ sourceKey,
133
+ root,
134
+ selectedPath,
135
+ onSelectedPathChange,
136
+ resolveFileAsset,
137
+ maxInlineAssetBytes
138
+ }: UseWorkspaceOptions): WorkspaceState;
139
+ //#endregion
140
+ export { UseWorkspaceOptions, WorkspaceBinaryFileQueryKey, WorkspaceBinaryFileQueryOptions, WorkspaceDirectoryQueryKey, WorkspaceDirectoryQueryOptions, WorkspaceFileAssetQueryKey, WorkspaceFileAssetQueryOptions, WorkspaceFileQueryKey, WorkspaceFileReadTarget, WorkspaceFileStatQueryKey, WorkspaceFileStatQueryOptions, WorkspaceFileVersion, WorkspaceInfo, WorkspaceInfoQueryKey, WorkspaceInfoQueryOptions, WorkspaceQueryKey, WorkspaceResolvedAsset, WorkspaceSource, WorkspaceState, WorkspaceTextFileQueryKey, WorkspaceTextFileQueryOptions, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryKey, workspaceDirectoryQueryOptions, workspaceDirectoryQueryPrefix, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
@@ -1,4 +1,4 @@
1
- import { o as WorkspaceState } from "../../Workspace-GTlqvcIn.js";
1
+ import { WorkspaceState } from "./Workspace.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/agents-sdk/WorkspaceBrowser.d.ts
@@ -1,5 +1,5 @@
1
1
  import { SearchField } from "../foundations/SearchField.js";
2
- import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../../FileTree-4WP4Uc_m.js";
2
+ import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../../FileTree-DbQMpvxV.js";
3
3
  import { WorkspaceHeader } from "./WorkspaceHeader.js";
4
4
  import * as React from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,32 @@
1
- import { a as WorkspaceFileLinkProps, c as WorkspaceLinkResolution, d as WorkspaceNavigationProvider, f as WorkspaceNavigationProviderProps, i as WorkspaceFileLink, l as WorkspaceNavigationAdapter, n as WorkspaceDestination, o as WorkspaceInvalidDestination, p as resolveWorkspaceLink, r as WorkspaceExternalDestination, s as WorkspaceLinkBase, t as ResolveWorkspaceLinkOptions, u as WorkspaceNavigationEntry } from "../../WorkspaceLink-DQogVe8E.js";
2
- import { _ as parseWorkspaceSkill, a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as isWorkspaceSkillPath, h as isWorkspaceMediaPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMarkdownPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset } from "../../WorkspaceFile-CVAzjTt6.js";
3
- import { a as WorkspaceSource, c as workspaceBinaryFileQueryOptions, d as workspaceDirectoryQueryPrefix, f as workspaceFileAssetQueryOptions, g as workspaceTextFileQueryOptions, h as workspaceQueryKey, i as WorkspaceQueryKey, l as workspaceDirectoryQueryKey, m as workspaceInfoQueryOptions, n as WorkspaceFileReadTarget, o as WorkspaceState, p as workspaceFileStatQueryOptions, r as WorkspaceInfo, s as useWorkspace, t as UseWorkspaceOptions, u as workspaceDirectoryQueryOptions } from "../../Workspace-GTlqvcIn.js";
4
- import { n as WorkspaceExplorerProps, t as WorkspaceExplorer } from "../../WorkspaceExplorer-Cu044amt.js";
5
- export { type ResolveWorkspaceLinkOptions, type UseWorkspaceOptions, type WorkspaceDestination, WorkspaceExplorer, WorkspaceExplorerProps, type WorkspaceExternalDestination, type WorkspaceFileAsset, type WorkspaceFileAssetRequest, type WorkspaceFileAssetResolver, WorkspaceFileLink, type WorkspaceFileLinkProps, type WorkspaceFileReadTarget, type WorkspaceFileState, type WorkspaceInfo, type WorkspaceInvalidDestination, type WorkspaceLinkBase, type WorkspaceLinkResolution, type WorkspaceMediaInfo, type WorkspaceMediaKind, type WorkspaceMediaTrack, type WorkspaceMediaTrackKind, type WorkspaceNavigationAdapter, type WorkspaceNavigationEntry, WorkspaceNavigationProvider, type WorkspaceNavigationProviderProps, type WorkspaceQueryKey, type WorkspaceSkillDocument, type WorkspaceSource, type WorkspaceState, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryKey, workspaceDirectoryQueryOptions, workspaceDirectoryQueryPrefix, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
1
+ import { l as WorkspaceNavigationAdapter } from "../../WorkspaceLink-DQogVe8E.js";
2
+ import { WorkspaceState } from "./Workspace.js";
3
+ import * as React from "react";
4
+
5
+ //#region src/components/agents-sdk/WorkspaceExplorer.d.ts
6
+ interface WorkspaceExplorerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
7
+ workspace: WorkspaceState;
8
+ /** Host-owned URL/history adapter shared by chat links and the file explorer. */
9
+ navigation: WorkspaceNavigationAdapter;
10
+ /** Header label. Defaults to "Workspace". */
11
+ title?: React.ReactNode;
12
+ /** Leading workspace control, such as a host-owned Back to chat button. */
13
+ leading?: React.ReactNode;
14
+ /** Extra header actions, rendered next to the built-in refresh button. */
15
+ actions?: React.ReactNode;
16
+ /** Show the file filter input. Hidden by default to keep the browser compact. */
17
+ showFilter?: boolean;
18
+ filterPlaceholder?: string;
19
+ emptyState?: React.ReactNode;
20
+ }
21
+ /**
22
+ * Convenience workspace application composed from `WorkspaceBrowser` and
23
+ * `WorkspaceFileView`. The host adapter owns URLs and history; the explorer
24
+ * only restores presentation state for stable navigation entry keys.
25
+ */
26
+ declare function WorkspaceExplorer({
27
+ ...props
28
+ }: WorkspaceExplorerProps & {
29
+ ref?: React.Ref<HTMLDivElement>;
30
+ }): React.JSX.Element;
31
+ //#endregion
32
+ export { WorkspaceExplorer, WorkspaceExplorerProps };
@@ -1,10 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
3
- import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./WorkspaceFile.js";
4
- import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../../WorkspaceLink-DZeLe_jN.js";
3
+ import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink } from "../../WorkspaceLink-DZeLe_jN.js";
5
4
  import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
6
- import { t as WorkspaceFileView } from "../../WorkspaceFileView-BmxSbhRu.js";
7
- import { useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryKey, workspaceDirectoryQueryOptions, workspaceDirectoryQueryPrefix, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions } from "./Workspace.js";
5
+ import { t as WorkspaceFileView } from "../../WorkspaceFileView-Cu_ZG6HJ.js";
8
6
  import * as React from "react";
9
7
  import { jsx } from "react/jsx-runtime";
10
8
  //#region src/components/agents-sdk/WorkspaceExplorer.tsx
@@ -123,4 +121,4 @@ function WorkspaceExplorerContent({ workspace, navigation, className, title = "W
123
121
  });
124
122
  }
125
123
  //#endregion
126
- export { WorkspaceExplorer, WorkspaceFileLink, WorkspaceNavigationProvider, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryKey, workspaceDirectoryQueryOptions, workspaceDirectoryQueryPrefix, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
124
+ export { WorkspaceExplorer };
@@ -1,2 +1,2 @@
1
- import { _ as parseWorkspaceSkill, a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as isWorkspaceSkillPath, h as isWorkspaceMediaPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMarkdownPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as inferWorkspaceMimeType, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset, u as getWorkspaceBasename } from "../../WorkspaceFile-CVAzjTt6.js";
1
+ import { _ as parseWorkspaceSkill, a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as isWorkspaceSkillPath, h as isWorkspaceMediaPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMarkdownPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as inferWorkspaceMimeType, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset, u as getWorkspaceBasename } from "../../WorkspaceFile-BLaFmMrt.js";
2
2
  export { WorkspaceFileAsset, WorkspaceFileAssetRequest, WorkspaceFileAssetResolver, WorkspaceFileState, WorkspaceMediaInfo, WorkspaceMediaKind, WorkspaceMediaTrack, WorkspaceMediaTrackKind, WorkspaceSkillDocument, getWorkspaceBasename, inferWorkspaceLanguage, inferWorkspaceMedia, inferWorkspaceMimeType, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill };
@@ -1,4 +1,4 @@
1
- import { i as WorkspaceFileState } from "../../WorkspaceFile-CVAzjTt6.js";
1
+ import { i as WorkspaceFileState } from "../../WorkspaceFile-BLaFmMrt.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/agents-sdk/WorkspaceFileView.d.ts
@@ -1,2 +1,2 @@
1
- import { t as WorkspaceFileView } from "../../WorkspaceFileView-BmxSbhRu.js";
1
+ import { t as WorkspaceFileView } from "../../WorkspaceFileView-Cu_ZG6HJ.js";
2
2
  export { WorkspaceFileView };
@@ -1,4 +1,4 @@
1
- import { W as RefreshIcon } from "../../icons-B1Qw05te.js";
1
+ import { W as RefreshIcon } from "../../icons-B4mGvCvc.js";
2
2
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
3
3
  import "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,10 +1,10 @@
1
- import { R as PaperclipIcon } from "../../icons-B1Qw05te.js";
1
+ import { R as PaperclipIcon } from "../../icons-B4mGvCvc.js";
2
2
  import { Button } from "../foundations/Button.js";
3
3
  import { Popover } from "../foundations/Popover.js";
4
+ import { Card, CardAction, CardFooter, CardHeader, CardTitle } from "../foundations/Card.js";
4
5
  import { EmptyState } from "../foundations/EmptyState.js";
5
6
  import { StatusPill } from "../foundations/StatusPill.js";
6
7
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
7
- import { Card, CardAction, CardFooter, CardHeader, CardTitle } from "../foundations/Card.js";
8
8
  import "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  //#region src/components/agents-sdk/WorkspaceMountManager.tsx
@@ -37,6 +37,8 @@ declare function Activity({
37
37
  className,
38
38
  isStreaming,
39
39
  defaultOpen,
40
+ open: controlledOpen,
41
+ onOpenChange,
40
42
  stateKey,
41
43
  ref,
42
44
  ...props
@@ -130,6 +132,9 @@ declare function ActivityItemGroup({
130
132
  detail,
131
133
  icon,
132
134
  children,
135
+ defaultOpen,
136
+ open: controlledOpen,
137
+ onOpenChange,
133
138
  stateKey,
134
139
  ref,
135
140
  ...props
@@ -1,10 +1,28 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { m as ChevronRightIcon } from "../../icons-B1Qw05te.js";
3
2
  import { Collapsible } from "../foundations/Collapsible.js";
4
3
  import { useExpansionState } from "./ExpansionState.js";
5
- import "react";
4
+ import { m as ChevronRightIcon } from "../../icons-B4mGvCvc.js";
5
+ import * as React from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/components/ai-sdk/Activity.tsx
8
+ function usePersistedActivityOpenProps({ defaultOpen = false, open: controlledOpen, onOpenChange, stateKey }) {
9
+ const [persistedOpen, setPersistedOpen] = useExpansionState(stateKey, defaultOpen);
10
+ const handleOpenChange = React.useCallback((nextOpen, eventDetails) => {
11
+ onOpenChange?.(nextOpen, eventDetails);
12
+ if (!eventDetails.isCanceled) setPersistedOpen(nextOpen);
13
+ }, [onOpenChange, setPersistedOpen]);
14
+ if (controlledOpen !== void 0) return {
15
+ open: controlledOpen,
16
+ onOpenChange
17
+ };
18
+ return stateKey === void 0 ? {
19
+ defaultOpen,
20
+ onOpenChange
21
+ } : {
22
+ open: persistedOpen,
23
+ onOpenChange: handleOpenChange
24
+ };
25
+ }
8
26
  /**
9
27
  * A collapsible activity line that aggregates agent activity (tool calls,
10
28
  * file edits, searches) instead of rendering every call as its own block.
@@ -25,12 +43,13 @@ import { jsx, jsxs } from "react/jsx-runtime";
25
43
  * </Activity>
26
44
  * ```
27
45
  */
28
- function Activity({ className, isStreaming = false, defaultOpen = false, stateKey, ref, ...props }) {
29
- const [open, setOpen] = useExpansionState(stateKey, defaultOpen);
30
- const openProps = stateKey !== void 0 ? {
31
- open,
32
- onOpenChange: setOpen
33
- } : { defaultOpen };
46
+ function Activity({ className, isStreaming = false, defaultOpen = false, open: controlledOpen, onOpenChange, stateKey, ref, ...props }) {
47
+ const openProps = usePersistedActivityOpenProps({
48
+ defaultOpen,
49
+ open: controlledOpen,
50
+ onOpenChange,
51
+ stateKey
52
+ });
34
53
  return /* @__PURE__ */ jsx(Collapsible.Root, {
35
54
  ref,
36
55
  className: cx("activity", className),
@@ -110,12 +129,13 @@ function ActivityContent({ className, children, ref, ...props }) {
110
129
  * like a plain ActivityItem; expanding reveals chrome-free detail (shell
111
130
  * output or a thought trace) flush inside the outer Activity log.
112
131
  */
113
- function ActivityItemGroup({ className, action, detail, icon, children, stateKey, ref, ...props }) {
114
- const [open, setOpen] = useExpansionState(stateKey, false);
115
- const openProps = stateKey !== void 0 ? {
116
- open,
117
- onOpenChange: setOpen
118
- } : void 0;
132
+ function ActivityItemGroup({ className, action, detail, icon, children, defaultOpen = false, open: controlledOpen, onOpenChange, stateKey, ref, ...props }) {
133
+ const openProps = usePersistedActivityOpenProps({
134
+ defaultOpen,
135
+ open: controlledOpen,
136
+ onOpenChange,
137
+ stateKey
138
+ });
119
139
  return /* @__PURE__ */ jsxs(Collapsible.Root, {
120
140
  ref,
121
141
  className: cx("activity__group", className),
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { rt as XIcon } from "../../icons-B1Qw05te.js";
2
+ import { rt as XIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { PromptInputTray } from "./PromptInput.js";
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { B as PencilIcon } from "../../icons-B1Qw05te.js";
2
+ import { B as PencilIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
- import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
5
4
  import { Kbd } from "../foundations/Kbd.js";
5
+ import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
6
6
  import * as React from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region src/components/ai-sdk/Approval.tsx
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { rt as XIcon } from "../../icons-B1Qw05te.js";
2
+ import { rt as XIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { J as SpinnerIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-B1Qw05te.js";
3
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
+ import { J as SpinnerIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-B4mGvCvc.js";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/ai-sdk/ChainOfThought.tsx
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { s as BookmarkIcon } from "../../icons-B1Qw05te.js";
2
+ import { s as BookmarkIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Marker, MarkerIcon } from "../foundations/Marker.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { C as CodeBlockLanguageSelectorValueProps, D as CODE_BLOCK_LANGUAGES, E as CodeBlockTitleProps, O as CodeBlockLanguage, S as CodeBlockLanguageSelectorValue, T as CodeBlockTitle, _ as CodeBlockLanguageSelectorItem, a as CodeBlockContainerProps, b as CodeBlockLanguageSelectorTrigger, c as CodeBlockCopyButton, d as CodeBlockFilenameProps, f as CodeBlockHeader, g as CodeBlockLanguageSelectorContentProps, h as CodeBlockLanguageSelectorContent, i as CodeBlockContainer, l as CodeBlockCopyButtonProps, m as CodeBlockLanguageSelector, n as CodeBlockActions, o as CodeBlockContent, p as CodeBlockHeaderProps, r as CodeBlockActionsProps, s as CodeBlockContentProps, t as CodeBlock, u as CodeBlockFilename, v as CodeBlockLanguageSelectorItemProps, w as CodeBlockProps, x as CodeBlockLanguageSelectorTriggerProps, y as CodeBlockLanguageSelectorProps } from "../../CodeBlock-DzGhYyNe.js";
1
+ import { C as CodeBlockLanguageSelectorValueProps, D as CODE_BLOCK_LANGUAGES, E as CodeBlockTitleProps, O as CodeBlockLanguage, S as CodeBlockLanguageSelectorValue, T as CodeBlockTitle, _ as CodeBlockLanguageSelectorItem, a as CodeBlockContainerProps, b as CodeBlockLanguageSelectorTrigger, c as CodeBlockCopyButton, d as CodeBlockFilenameProps, f as CodeBlockHeader, g as CodeBlockLanguageSelectorContentProps, h as CodeBlockLanguageSelectorContent, i as CodeBlockContainer, l as CodeBlockCopyButtonProps, m as CodeBlockLanguageSelector, n as CodeBlockActions, o as CodeBlockContent, p as CodeBlockHeaderProps, r as CodeBlockActionsProps, s as CodeBlockContentProps, t as CodeBlock, u as CodeBlockFilename, v as CodeBlockLanguageSelectorItemProps, w as CodeBlockProps, x as CodeBlockLanguageSelectorTriggerProps, y as CodeBlockLanguageSelectorProps } from "../../CodeBlock-C380GD5t.js";
2
2
  export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockActionsProps, CodeBlockContainer, CodeBlockContainerProps, CodeBlockContent, CodeBlockContentProps, CodeBlockCopyButton, CodeBlockCopyButtonProps, CodeBlockFilename, CodeBlockFilenameProps, CodeBlockHeader, CodeBlockHeaderProps, type CodeBlockLanguage, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorContentProps, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorItemProps, CodeBlockLanguageSelectorProps, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorTriggerProps, CodeBlockLanguageSelectorValue, CodeBlockLanguageSelectorValueProps, CodeBlockProps, CodeBlockTitle, CodeBlockTitleProps };
@@ -1,2 +1,2 @@
1
- import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as CODE_BLOCK_LANGUAGES, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../../CodeBlock-CM5gfmdq.js";
1
+ import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as CODE_BLOCK_LANGUAGES, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../../CodeBlock-DO4Hdu1R.js";
2
2
  export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockContainer, CodeBlockContent, CodeBlockCopyButton, CodeBlockFilename, CodeBlockHeader, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorValue, CodeBlockTitle };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { n as ArrowDownIcon, y as DownloadIcon } from "../../icons-B1Qw05te.js";
2
+ import { n as ArrowDownIcon, y as DownloadIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import { t as assignRef } from "../../merge-refs-DF_7w2x_.js";
5
5
  import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport } from "./MessageScroller.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Q as TargetIcon, V as PlayIcon, et as TrashIcon, z as PauseIcon } from "../../icons-B1Qw05te.js";
2
+ import { Q as TargetIcon, V as PlayIcon, et as TrashIcon, z as PauseIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
5
5
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Popover } from "../foundations/Popover.js";
3
2
  import { PreviewCard } from "../foundations/PreviewCard.js";
3
+ import { Popover } from "../foundations/Popover.js";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/ai-sdk/InlineCitation.tsx
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { V as PlayIcon } from "../../icons-B1Qw05te.js";
2
+ import { V as PlayIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
4
4
  import { Card } from "../foundations/Card.js";
5
5
  import * as React from "react";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { C as FileIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-B1Qw05te.js";
2
+ import { C as FileIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { t as AttachmentPreview } from "../../attachment-preview-1CXJvrmb.js";
@@ -8,8 +8,6 @@ import * as React from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { cjk } from "@streamdown/cjk";
10
10
  import { code } from "@streamdown/code";
11
- import { math } from "@streamdown/math";
12
- import { mermaid } from "@streamdown/mermaid";
13
11
  import { Streamdown } from "streamdown";
14
12
  //#region src/components/ai-sdk/Message.tsx
15
13
  /**
@@ -56,9 +54,7 @@ function MessageContent({ className, children, ref, ...props }) {
56
54
  }
57
55
  const streamdownPlugins = {
58
56
  cjk,
59
- code,
60
- math,
61
- mermaid
57
+ code
62
58
  };
63
59
  const messageResponseComponents = { img: "img" };
64
60
  const MessageResponse = React.memo(function MessageResponse({ className, components, ...props }) {
@@ -21,11 +21,16 @@ declare function MessageScroller({
21
21
  ...props
22
22
  }: MessageScrollerProps): React.JSX.Element;
23
23
  declare function MessageScrollerViewport({
24
+ "aria-label": ariaLabel,
24
25
  className,
26
+ role,
27
+ tabIndex,
25
28
  ...props
26
29
  }: MessageScrollerViewportProps): React.JSX.Element;
27
30
  declare function MessageScrollerContent({
31
+ "aria-relevant": ariaRelevant,
28
32
  className,
33
+ role,
29
34
  ...props
30
35
  }: MessageScrollerContentProps): React.JSX.Element;
31
36
  declare function MessageScrollerItem({
@@ -1,6 +1,7 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { n as ArrowDownIcon } from "../../icons-B1Qw05te.js";
2
+ import { n as ArrowDownIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
+ import { t as messageScrollerContract } from "../../message-scroller-C8cplcQO.js";
4
5
  import "react";
5
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
7
  import { MessageScroller as MessageScroller$1, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "@shadcn/react/message-scroller";
@@ -14,39 +15,44 @@ function MessageScrollerProvider(props) {
14
15
  */
15
16
  function MessageScroller({ className, ...props }) {
16
17
  return /* @__PURE__ */ jsx(MessageScroller$1.Root, {
17
- "data-slot": "message-scroller",
18
- className: cx("message-scroller", className),
18
+ "data-slot": messageScrollerContract.root.slot,
19
+ className: cx(messageScrollerContract.root.className, className),
19
20
  ...props
20
21
  });
21
22
  }
22
- function MessageScrollerViewport({ className, ...props }) {
23
+ function MessageScrollerViewport({ "aria-label": ariaLabel = messageScrollerContract.viewport.ariaLabel, className, role = messageScrollerContract.viewport.role, tabIndex = messageScrollerContract.viewport.tabIndex, ...props }) {
23
24
  return /* @__PURE__ */ jsx(MessageScroller$1.Viewport, {
24
- "data-slot": "message-scroller-viewport",
25
+ "aria-label": ariaLabel,
26
+ "data-slot": messageScrollerContract.viewport.slot,
25
27
  "data-recipe": "scroll-fade-y",
26
- className: cx("message-scroller__viewport", className),
28
+ className: cx(messageScrollerContract.viewport.className, className),
29
+ role,
30
+ tabIndex,
27
31
  ...props
28
32
  });
29
33
  }
30
- function MessageScrollerContent({ className, ...props }) {
34
+ function MessageScrollerContent({ "aria-relevant": ariaRelevant = messageScrollerContract.content.ariaRelevant, className, role = messageScrollerContract.content.role, ...props }) {
31
35
  return /* @__PURE__ */ jsx(MessageScroller$1.Content, {
32
- "data-slot": "message-scroller-content",
33
- className: cx("message-scroller__content", className),
36
+ "aria-relevant": ariaRelevant,
37
+ "data-slot": messageScrollerContract.content.slot,
38
+ className: cx(messageScrollerContract.content.className, className),
39
+ role,
34
40
  ...props
35
41
  });
36
42
  }
37
43
  function MessageScrollerItem({ className, scrollAnchor = false, ...props }) {
38
44
  return /* @__PURE__ */ jsx(MessageScroller$1.Item, {
39
- "data-slot": "message-scroller-item",
45
+ "data-slot": messageScrollerContract.item.slot,
40
46
  scrollAnchor,
41
- className: cx("message-scroller__item", className),
47
+ className: cx(messageScrollerContract.item.className, className),
42
48
  ...props
43
49
  });
44
50
  }
45
51
  function MessageScrollerButton({ className, children, color = "neutral", direction = "end", render, size = "sm", variant = "normal", ...props }) {
46
52
  return /* @__PURE__ */ jsx(MessageScroller$1.Button, {
47
- "data-slot": "message-scroller-button",
53
+ "data-slot": messageScrollerContract.button.slot,
48
54
  direction,
49
- className: cx("message-scroller__button", className),
55
+ className: cx(messageScrollerContract.button.className, className),
50
56
  render: render ?? /* @__PURE__ */ jsx(Button, {
51
57
  color,
52
58
  size,