@mcp-b/react-components 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CodeBlock-DO4Hdu1R.js → CodeBlock-CWk1FVtm.js} +1 -1
- package/dist/{FileTree-DbQMpvxV.js → FileTree-xqHYBw4g.js} +1 -1
- package/dist/{WorkspaceFileView-DeGzWwhK.js → WorkspaceFileView-Lab3om3F.js} +2 -2
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentActivityPreview.js +1 -1
- package/dist/components/agents-sdk/AgentChat.js +7 -7
- package/dist/components/agents-sdk/BrowserLiveView.d.ts +73 -25
- package/dist/components/agents-sdk/BrowserLiveView.js +95 -65
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.d.ts +72 -25
- package/dist/components/agents-sdk/BrowserRunPanel.js +109 -62
- package/dist/components/agents-sdk/McpConnectionRequest.js +1 -1
- package/dist/components/agents-sdk/McpPluginCatalog.js +1 -1
- package/dist/components/agents-sdk/McpServerPicker.js +1 -1
- package/dist/components/agents-sdk/ModelSelector.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +1 -1
- package/dist/components/agents-sdk/ThinkFullApp.js +8 -7
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineLibrary.js +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.js +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.js +1 -1
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
- package/dist/components/ai-sdk/Approval.js +1 -1
- package/dist/components/ai-sdk/Artifact.js +1 -1
- package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
- package/dist/components/ai-sdk/ChainOfThought.js +1 -1
- package/dist/components/ai-sdk/Checkpoint.js +1 -1
- package/dist/components/ai-sdk/CodeBlock.js +1 -1
- package/dist/components/ai-sdk/Conversation.js +1 -1
- package/dist/components/ai-sdk/Goal.js +1 -1
- package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
- package/dist/components/ai-sdk/Message.js +1 -1
- package/dist/components/ai-sdk/MessageScroller.js +1 -1
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.js +1 -1
- package/dist/components/ai-sdk/Queue.js +1 -1
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.js +1 -1
- package/dist/components/extension/ChatGptSignInScreen.d.ts +21 -10
- package/dist/components/extension/ChatGptSignInScreen.js +42 -34
- package/dist/components/extension/CodexModelSelector.js +1 -1
- package/dist/components/extension/ConversationTabPicker.js +1 -1
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/EmptyState.d.ts +10 -0
- package/dist/components/foundations/EmptyState.js +10 -0
- package/dist/components/foundations/Menubar.js +1 -1
- package/dist/components/foundations/SearchField.js +1 -1
- package/dist/components/foundations/Select.js +1 -1
- package/dist/components/foundations/Stepper.js +1 -1
- package/dist/components/foundations/Toast.js +1 -1
- package/dist/components/foundations/icons.d.ts +2 -2
- package/dist/components/foundations/icons.js +2 -2
- package/dist/components/general-purpose/Commit.js +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingPlanCard.js +1 -1
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/Terminal.js +2 -2
- package/dist/components/general-purpose/TestResults.js +1 -1
- package/dist/components/general-purpose/ThemeModeControl.js +1 -1
- package/dist/components/general-purpose/WebPreview.js +1 -1
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.js +1 -1
- package/dist/{copy-button-4YvddK4e.js → copy-button-Bc7jsYv_.js} +1 -1
- package/dist/{icons-BGZ916hb.d.ts → icons-DwgNir1Q.d.ts} +6 -1
- package/dist/{icons-B4mGvCvc.js → icons-MmIXciMO.js} +3 -2
- package/dist/styles/agent-chat.css +2 -2
- package/dist/styles/base.css +4 -0
- package/dist/styles/browser-live-view.css +45 -0
- package/dist/styles/browser-run-panel.css +3 -1
- package/dist/styles/chatgpt-sign-in-screen.css +6 -0
- package/dist/styles/think-full-app.css +14 -0
- package/package.json +2 -2
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon, it as XIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { Tabs } from "../foundations/Tabs.js";
|
|
5
5
|
import { WebPreview, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl } from "../general-purpose/WebPreview.js";
|
|
6
6
|
import { BrowserLiveView } from "./BrowserLiveView.js";
|
|
7
7
|
import * as React from "react";
|
|
8
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/components/agents-sdk/BrowserRunPanel.tsx
|
|
10
10
|
function isInspectablePage(target) {
|
|
11
11
|
const pageUrl = target.pageUrl;
|
|
12
12
|
return Boolean(pageUrl && !pageUrl.startsWith("about:") && !pageUrl.startsWith("chrome:") && !pageUrl.startsWith("devtools:"));
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
return
|
|
14
|
+
function tabLabel(tab) {
|
|
15
|
+
return tab.title || tab.url || tab.id;
|
|
16
16
|
}
|
|
17
|
-
function
|
|
18
|
-
return (
|
|
17
|
+
function tabGlyph(tab) {
|
|
18
|
+
return tabLabel(tab).trim().charAt(0).toUpperCase() || "•";
|
|
19
19
|
}
|
|
20
20
|
function pickTarget(targets, targetId) {
|
|
21
21
|
return (targetId ? targets.find((target) => target.targetId === targetId) : void 0) ?? targets.find(isInspectablePage) ?? targets[0];
|
|
@@ -28,60 +28,33 @@ function BrowserRunPanelState({ children, role, tone = "neutral" }) {
|
|
|
28
28
|
children
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
* The app owns `createBrowserRuntime()`, `connector.liveView()`, polling, and
|
|
35
|
-
* session cleanup. This component only renders upstream `BrowserLiveView`
|
|
36
|
-
* data and calls app-provided refresh/close callbacks.
|
|
37
|
-
*/
|
|
38
|
-
function BrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, error, label = "Browser", empty = "No live browser session", fallback, className, ref, ...props }) {
|
|
39
|
-
const [requestedTargetId, setRequestedTargetId] = React.useState();
|
|
40
|
-
const [receivedAt, setReceivedAt] = React.useState(() => Date.now());
|
|
41
|
-
React.useEffect(() => {
|
|
42
|
-
if (liveView) setReceivedAt(Date.now());
|
|
43
|
-
}, [liveView]);
|
|
44
|
-
const targets = liveView?.targets ?? [];
|
|
45
|
-
const target = pickTarget(targets, requestedTargetId);
|
|
46
|
-
const pageUrl = target?.pageUrl ?? "";
|
|
47
|
-
const body = target && liveView ? /* @__PURE__ */ jsx(BrowserLiveView, {
|
|
48
|
-
source: {
|
|
49
|
-
url: target.url,
|
|
50
|
-
targetId: target.targetId,
|
|
51
|
-
expiresInMs: liveView.expiresInMs
|
|
52
|
-
},
|
|
53
|
-
receivedAt,
|
|
54
|
-
pageTitle: target.title ?? target.pageUrl,
|
|
55
|
-
fallback,
|
|
56
|
-
className: "browser-run-panel__live-view"
|
|
57
|
-
}) : loading ? /* @__PURE__ */ jsxs(BrowserRunPanelState, {
|
|
58
|
-
role: "status",
|
|
59
|
-
children: [/* @__PURE__ */ jsx(SpinnerIcon, {}), "Loading browser session"]
|
|
60
|
-
}) : /* @__PURE__ */ jsx(BrowserRunPanelState, { children: empty });
|
|
31
|
+
/** The one rendering of the panel chrome, whichever mode filled its props in. */
|
|
32
|
+
function BrowserRunPanelFrame({ body, bodyBusy, bodyTabValue, className, error, label = "Browser", navigation, navigationEnd, onOpenUrl, onSelectTab, ref, selectedTabId, tabs, url, urlDisabled, urlLabel = "Browser page URL", urlPlaceholder, urlReadOnly, ...props }) {
|
|
61
33
|
const bodyProps = {
|
|
62
34
|
className: "web-preview__body browser-run-panel__body",
|
|
63
|
-
"aria-busy":
|
|
35
|
+
"aria-busy": bodyBusy || void 0
|
|
64
36
|
};
|
|
65
37
|
return /* @__PURE__ */ jsxs(Tabs.Root, {
|
|
66
38
|
className: cx("browser-run-panel", className),
|
|
67
|
-
value:
|
|
39
|
+
value: selectedTabId ?? null,
|
|
68
40
|
onValueChange: (value) => {
|
|
69
|
-
if (typeof value === "string")
|
|
41
|
+
if (typeof value === "string" && value !== selectedTabId) onSelectTab?.(value);
|
|
70
42
|
},
|
|
71
43
|
render: /* @__PURE__ */ jsx(WebPreview, {
|
|
72
44
|
ref,
|
|
73
|
-
url
|
|
45
|
+
url,
|
|
46
|
+
...onOpenUrl ? { onUrlChange: onOpenUrl } : {},
|
|
74
47
|
role: "region",
|
|
75
48
|
"aria-label": typeof label === "string" ? label : "Browser",
|
|
76
49
|
...props
|
|
77
50
|
}),
|
|
78
51
|
children: [
|
|
79
|
-
|
|
52
|
+
tabs.length > 1 ? /* @__PURE__ */ jsx(WebPreviewNavigation, { children: /* @__PURE__ */ jsxs(Tabs.List, {
|
|
80
53
|
className: "browser-run-panel__tabs",
|
|
81
54
|
"aria-label": "Open browser pages",
|
|
82
55
|
activateOnFocus: true,
|
|
83
|
-
children: [
|
|
84
|
-
value:
|
|
56
|
+
children: [tabs.map((tab) => /* @__PURE__ */ jsxs(Tabs.Tab, {
|
|
57
|
+
value: tab.id,
|
|
85
58
|
className: "browser-run-panel__tab",
|
|
86
59
|
render: /* @__PURE__ */ jsx(Button, {
|
|
87
60
|
type: "button",
|
|
@@ -92,41 +65,33 @@ function BrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, error,
|
|
|
92
65
|
children: [/* @__PURE__ */ jsx("span", {
|
|
93
66
|
className: "browser-run-panel__tab-glyph",
|
|
94
67
|
"aria-hidden": "true",
|
|
95
|
-
children:
|
|
68
|
+
children: tabGlyph(tab)
|
|
96
69
|
}), /* @__PURE__ */ jsx("span", {
|
|
97
70
|
className: "browser-run-panel__tab-title sigvelo-truncate",
|
|
98
|
-
children:
|
|
71
|
+
children: tabLabel(tab)
|
|
99
72
|
})]
|
|
100
|
-
},
|
|
73
|
+
}, tab.id)), /* @__PURE__ */ jsx(Tabs.Indicator, {})]
|
|
101
74
|
}) }) : null,
|
|
102
75
|
/* @__PURE__ */ jsxs(WebPreviewNavigation, {
|
|
103
76
|
className: "browser-run-panel__address-bar",
|
|
104
77
|
children: [
|
|
78
|
+
navigation,
|
|
105
79
|
/* @__PURE__ */ jsx(WebPreviewUrl, {
|
|
106
|
-
"aria-label":
|
|
107
|
-
placeholder:
|
|
108
|
-
readOnly:
|
|
80
|
+
"aria-label": urlLabel,
|
|
81
|
+
placeholder: urlPlaceholder,
|
|
82
|
+
readOnly: urlReadOnly,
|
|
83
|
+
disabled: urlDisabled
|
|
109
84
|
}),
|
|
110
|
-
|
|
111
|
-
action: "reload",
|
|
112
|
-
label: "Refresh browser view",
|
|
113
|
-
disabled: loading,
|
|
114
|
-
onClick: () => void onRefresh()
|
|
115
|
-
}) : null,
|
|
116
|
-
onCloseSession ? /* @__PURE__ */ jsx(WebPreviewNavigationButton, {
|
|
117
|
-
label: "Close browser session",
|
|
118
|
-
onClick: () => void onCloseSession(),
|
|
119
|
-
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
120
|
-
}) : null
|
|
85
|
+
navigationEnd
|
|
121
86
|
]
|
|
122
87
|
}),
|
|
123
88
|
error ? /* @__PURE__ */ jsx(BrowserRunPanelState, {
|
|
124
89
|
tone: "danger",
|
|
125
90
|
children: error
|
|
126
91
|
}) : null,
|
|
127
|
-
|
|
92
|
+
bodyTabValue !== void 0 ? /* @__PURE__ */ jsx(Tabs.Panel, {
|
|
128
93
|
...bodyProps,
|
|
129
|
-
value:
|
|
94
|
+
value: bodyTabValue,
|
|
130
95
|
children: body
|
|
131
96
|
}) : /* @__PURE__ */ jsx("div", {
|
|
132
97
|
...bodyProps,
|
|
@@ -135,5 +100,87 @@ function BrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, error,
|
|
|
135
100
|
]
|
|
136
101
|
});
|
|
137
102
|
}
|
|
103
|
+
function HostedBrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, error, label, empty = "No live browser session", fallback, ...props }) {
|
|
104
|
+
const [requestedTargetId, setRequestedTargetId] = React.useState();
|
|
105
|
+
const [receivedAt, setReceivedAt] = React.useState(() => Date.now());
|
|
106
|
+
React.useEffect(() => {
|
|
107
|
+
if (liveView) setReceivedAt(Date.now());
|
|
108
|
+
}, [liveView]);
|
|
109
|
+
const targets = liveView?.targets ?? [];
|
|
110
|
+
const target = pickTarget(targets, requestedTargetId);
|
|
111
|
+
const body = target && liveView ? /* @__PURE__ */ jsx(BrowserLiveView, {
|
|
112
|
+
source: {
|
|
113
|
+
url: target.url,
|
|
114
|
+
targetId: target.targetId,
|
|
115
|
+
expiresInMs: liveView.expiresInMs
|
|
116
|
+
},
|
|
117
|
+
receivedAt,
|
|
118
|
+
pageTitle: target.title ?? target.pageUrl,
|
|
119
|
+
fallback
|
|
120
|
+
}) : loading ? /* @__PURE__ */ jsxs(BrowserRunPanelState, {
|
|
121
|
+
role: "status",
|
|
122
|
+
children: [/* @__PURE__ */ jsx(SpinnerIcon, {}), "Loading browser session"]
|
|
123
|
+
}) : /* @__PURE__ */ jsx(BrowserRunPanelState, { children: empty });
|
|
124
|
+
return /* @__PURE__ */ jsx(BrowserRunPanelFrame, {
|
|
125
|
+
...props,
|
|
126
|
+
body,
|
|
127
|
+
bodyBusy: loading,
|
|
128
|
+
bodyTabValue: targets.length > 1 && target ? target.targetId : void 0,
|
|
129
|
+
error,
|
|
130
|
+
label,
|
|
131
|
+
navigationEnd: /* @__PURE__ */ jsxs(Fragment, { children: [onRefresh ? /* @__PURE__ */ jsx(WebPreviewNavigationButton, {
|
|
132
|
+
action: "reload",
|
|
133
|
+
label: "Refresh browser view",
|
|
134
|
+
disabled: loading,
|
|
135
|
+
onClick: () => void onRefresh()
|
|
136
|
+
}) : null, onCloseSession ? /* @__PURE__ */ jsx(WebPreviewNavigationButton, {
|
|
137
|
+
label: "Close browser session",
|
|
138
|
+
onClick: () => void onCloseSession(),
|
|
139
|
+
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
140
|
+
}) : null] }),
|
|
141
|
+
onSelectTab: setRequestedTargetId,
|
|
142
|
+
selectedTabId: target?.targetId ?? null,
|
|
143
|
+
tabs: targets.map((candidate) => ({
|
|
144
|
+
id: candidate.targetId,
|
|
145
|
+
...candidate.title === void 0 ? {} : { title: candidate.title },
|
|
146
|
+
...candidate.pageUrl === void 0 ? {} : { url: candidate.pageUrl }
|
|
147
|
+
})),
|
|
148
|
+
url: target?.pageUrl ?? "",
|
|
149
|
+
urlPlaceholder: "Waiting for browser session",
|
|
150
|
+
urlReadOnly: true
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
function StreamedBrowserRunPanel({ children, tabs = [], selectedTabId = null, onSelectTab, url = "", onOpenUrl, urlPlaceholder, urlDisabled, urlLabel, navigation, ...props }) {
|
|
154
|
+
return /* @__PURE__ */ jsx(BrowserRunPanelFrame, {
|
|
155
|
+
...props,
|
|
156
|
+
body: children,
|
|
157
|
+
navigation,
|
|
158
|
+
onOpenUrl,
|
|
159
|
+
onSelectTab,
|
|
160
|
+
selectedTabId,
|
|
161
|
+
tabs,
|
|
162
|
+
url,
|
|
163
|
+
urlDisabled,
|
|
164
|
+
urlLabel,
|
|
165
|
+
urlPlaceholder,
|
|
166
|
+
urlReadOnly: onOpenUrl === void 0 || void 0
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Browser panel chrome — drawn tab strip, address bar, framed body — for
|
|
171
|
+
* browser surfaces Chrome itself never paints.
|
|
172
|
+
*
|
|
173
|
+
* Two hosts fill it in. A Browser Run host passes upstream `BrowserLiveView`
|
|
174
|
+
* data from `connector.liveView()`, and the panel derives tabs, address, and
|
|
175
|
+
* an embedded live view itself, calling app-provided refresh/close callbacks.
|
|
176
|
+
* A streaming host instead passes `children` — its own live surface — with
|
|
177
|
+
* the tab strip, address bar, and navigation controlled from the host's own
|
|
178
|
+
* records, because a remote screencast carries only page pixels and every
|
|
179
|
+
* piece of chrome around it has to be synthesized from host state.
|
|
180
|
+
*/
|
|
181
|
+
function BrowserRunPanel(props) {
|
|
182
|
+
if (props.children !== void 0) return /* @__PURE__ */ jsx(StreamedBrowserRunPanel, { ...props });
|
|
183
|
+
return /* @__PURE__ */ jsx(HostedBrowserRunPanel, { ...props });
|
|
184
|
+
}
|
|
138
185
|
//#endregion
|
|
139
186
|
export { BrowserRunPanel };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { M as McpIcon, Y as SpinnerIcon, d as CheckIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "../ai-sdk/AgentAttention.js";
|
|
5
5
|
import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { U as PlusIcon, Y as SpinnerIcon, b as EllipsisIcon, it as XIcon, nt as WarningIcon, o as ArrowUpRightIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { AgentAttention, AgentAttentionBody, AgentAttentionHeader } from "../ai-sdk/AgentAttention.js";
|
|
5
5
|
import { IconButton } from "../foundations/IconButton.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { F as MinusIcon, Y as SpinnerIcon, d as CheckIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { Menu } from "../foundations/Menu.js";
|
|
5
5
|
import { Dialog } from "../foundations/Dialog.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { K as SearchIcon, f as ChevronDownIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { Autocomplete } from "../foundations/Autocomplete.js";
|
|
5
5
|
import { Dialog } from "../foundations/Dialog.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { M as McpIcon, c as BoxIcon } from "../../icons-MmIXciMO.js";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/agents-sdk/PromptInputCommands.tsx
|
|
4
4
|
/** Project whole upstream Agents MCP state into composer mention commands. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon, Z as StopIcon, d as CheckIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/agents-sdk/SubagentRunIndicator.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { l as BrainIcon } from "../../icons-
|
|
2
|
+
import { l as BrainIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { Tooltip } from "../foundations/Tooltip.js";
|
|
5
5
|
import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ActivityOutput, ActivityPanel } from "../ai-sdk/Activity.js";
|
|
2
2
|
import { Tabs } from "../foundations/Tabs.js";
|
|
3
3
|
import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
|
|
4
|
-
import { t as CodeBlock } from "../../CodeBlock-
|
|
4
|
+
import { t as CodeBlock } from "../../CodeBlock-CWk1FVtm.js";
|
|
5
5
|
import { BrowserLiveView } from "./BrowserLiveView.js";
|
|
6
6
|
import { inferWorkspaceLanguage } from "./WorkspaceFile.js";
|
|
7
7
|
import { displayUrl, isSessionContextToolFailure } from "./ThinkChatToolParts.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { C as FileIcon, G as RefreshIcon, O as InfoIcon, d as CheckIcon, et as TerminalIcon, it as XIcon, n as ArrowDownIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Activity, ActivityContent, ActivityItem, ActivityItemGroup, ActivityOutput, ActivityPanel, ActivityTrigger } from "../ai-sdk/Activity.js";
|
|
4
4
|
import { a as formatUnknownValue } from "../../format-DB2mX9DA.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 {
|
|
2
|
+
import { B as PauseIcon, O as InfoIcon, Y as SpinnerIcon, d as CheckIcon, it as XIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Tooltip } from "../foundations/Tooltip.js";
|
|
4
4
|
import { formatThinkExecutionRunProgress, formatThinkExecutionStatus, getThinkExecutionRunStatus, getThinkExecutionRunStatusTone, getThinkExecutionRunSubtitle, getThinkExecutionRunTitle } from "./ThinkExecutionRun.js";
|
|
5
5
|
import "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { G as RefreshIcon, b as EllipsisIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
5
|
import { Menu } from "../foundations/Menu.js";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { C as FileIcon, Y as SpinnerIcon, c as BoxIcon, et as TerminalIcon, f as ChevronDownIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
|
|
5
5
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
6
|
+
import { EmptyState } from "../foundations/EmptyState.js";
|
|
6
7
|
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
7
8
|
import { ResizableSidePanel } from "../general-purpose/ResizableSidePanel.js";
|
|
8
9
|
import { a as WorkspaceNavigationRestorationBoundary, i as WorkspaceNavigationFocusRestorer, n as WorkspaceNavigationProvider } from "../../WorkspaceLink-DtH66bAY.js";
|
|
@@ -119,13 +120,13 @@ function ThinkFullApp({ appBarActions, appBarLeading, appBarTitle, className, co
|
|
|
119
120
|
label: "Execution",
|
|
120
121
|
icon: /* @__PURE__ */ jsx(TerminalIcon, {}),
|
|
121
122
|
render: () => /* @__PURE__ */ jsx(React.Suspense, {
|
|
122
|
-
fallback: /* @__PURE__ */
|
|
123
|
-
className: "think-full-app__workbench",
|
|
123
|
+
fallback: /* @__PURE__ */ jsx("div", {
|
|
124
|
+
className: "think-full-app__workbench think-full-app__workbench--loading",
|
|
124
125
|
role: "status",
|
|
125
|
-
children:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
})
|
|
126
|
+
children: /* @__PURE__ */ jsx(EmptyState, {
|
|
127
|
+
icon: /* @__PURE__ */ jsx(SpinnerIcon, {}),
|
|
128
|
+
description: "Loading execution"
|
|
129
|
+
})
|
|
129
130
|
}),
|
|
130
131
|
children: /* @__PURE__ */ jsx(ThinkExecutionWorkbench, {
|
|
131
132
|
source: agent.stub,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { U as PlusIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { Tooltip } from "../foundations/Tooltip.js";
|
|
5
5
|
import { t as capitalize } from "../../format-DB2mX9DA.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button, buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { Field } from "../foundations/Field.js";
|
|
5
5
|
import { Form } from "../foundations/Form.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { H as PlayIcon, Y as SpinnerIcon, b as EllipsisIcon, f as ChevronDownIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button, buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { Menu } from "../foundations/Menu.js";
|
|
5
5
|
import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { U as PlusIcon, Y as SpinnerIcon, nt as WarningIcon, t as ArchiveIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button, buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
|
|
5
5
|
import { n as isPlainPrimaryLinkActivation, t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
|
|
@@ -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-
|
|
2
|
+
import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../../FileTree-xqHYBw4g.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";
|
|
@@ -2,7 +2,7 @@ import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
|
2
2
|
import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
|
|
3
3
|
import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink } from "../../WorkspaceLink-DtH66bAY.js";
|
|
4
4
|
import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
|
|
5
|
-
import { t as WorkspaceFileView } from "../../WorkspaceFileView-
|
|
5
|
+
import { t as WorkspaceFileView } from "../../WorkspaceFileView-Lab3om3F.js";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/agents-sdk/WorkspaceExplorer.tsx
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as WorkspaceFileView } from "../../WorkspaceFileView-
|
|
1
|
+
import { t as WorkspaceFileView } from "../../WorkspaceFileView-Lab3om3F.js";
|
|
2
2
|
export { WorkspaceFileView };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { z as PaperclipIcon } from "../../icons-MmIXciMO.js";
|
|
2
2
|
import { Button } from "../foundations/Button.js";
|
|
3
3
|
import { Popover } from "../foundations/Popover.js";
|
|
4
4
|
import { Card, CardAction, CardFooter, CardHeader, CardTitle } from "../foundations/Card.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
3
|
import { useExpansionState } from "./ExpansionState.js";
|
|
4
|
-
import { m as ChevronRightIcon } from "../../icons-
|
|
4
|
+
import { m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/components/ai-sdk/Activity.tsx
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { it as XIcon } from "../../icons-MmIXciMO.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,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { V as PencilIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { Kbd } from "../foundations/Kbd.js";
|
|
5
5
|
import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon, it as XIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button, buttonVariants } from "../foundations/Button.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
5
|
import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
2
|
-
import { O as IconProps } from "../../icons-
|
|
2
|
+
import { O as IconProps } from "../../icons-DwgNir1Q.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/ai-sdk/ChainOfThought.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Y as SpinnerIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-MmIXciMO.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-
|
|
2
|
+
import { s as BookmarkIcon } from "../../icons-MmIXciMO.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 { 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-
|
|
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-CWk1FVtm.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-
|
|
2
|
+
import { n as ArrowDownIcon, y as DownloadIcon } from "../../icons-MmIXciMO.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 {
|
|
2
|
+
import { $ as TargetIcon, B as PauseIcon, H as PlayIcon, tt as TrashIcon } from "../../icons-MmIXciMO.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,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { H as PlayIcon } from "../../icons-MmIXciMO.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-
|
|
2
|
+
import { C as FileIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-MmIXciMO.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";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { n as ArrowDownIcon } from "../../icons-
|
|
2
|
+
import { n as ArrowDownIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { t as messageScrollerContract } from "../../message-scroller-C8cplcQO.js";
|
|
5
5
|
import "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { n as ArrowDownIcon } from "../../icons-
|
|
2
|
+
import { n as ArrowDownIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { t as messageScrollerContract } from "../../message-scroller-C8cplcQO.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 { d as CheckIcon, i as ArrowRightIcon, v as DotIcon } from "../../icons-
|
|
2
|
+
import { d as CheckIcon, i as ArrowRightIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Popover } from "../foundations/Popover.js";
|
|
4
4
|
import { t as ProgressRing } from "../../progress-ring-BEocM1e3.js";
|
|
5
5
|
import * as React from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { C as FileIcon,
|
|
2
|
+
import { C as FileIcon, I as MonitorIcon, P as MicrophoneIcon, U as PlusIcon, X as SquareIcon, Y as SpinnerIcon, Z as StopIcon, a as ArrowUpIcon, d as CheckIcon, f as ChevronDownIcon, it as XIcon, nt as WarningIcon, rt as WrenchIcon, w as FolderIcon, z as PaperclipIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { Tooltip } from "../foundations/Tooltip.js";
|
|
5
5
|
import { IconButton } from "../foundations/IconButton.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import { C as FileIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-
|
|
3
|
+
import { C as FileIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
|
|
4
4
|
import { Button } from "../foundations/Button.js";
|
|
5
5
|
import { Badge } from "../foundations/Badge.js";
|
|
6
6
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Y as SpinnerIcon } from "../../icons-MmIXciMO.js";
|
|
3
3
|
import { Activity, ActivityContent, ActivityText, ActivityTrigger } from "./Activity.js";
|
|
4
4
|
import { MessageResponse } from "./Message.js";
|
|
5
5
|
import * as React from "react";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
3
|
+
import { A as LinkIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/ai-sdk/Sources.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import { C as FileIcon,
|
|
3
|
+
import { C as FileIcon, K as SearchIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/ai-sdk/Task.tsx
|