@mcp-b/react-components 0.40.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AgentChat-CVO7xyLC.d.ts → AgentChat-DVr2giwD.d.ts} +1 -1
- package/dist/{AgentToolRunsContext-BCVqCtJ1.d.ts → AgentToolRunsContext-daY67hFM.d.ts} +12 -0
- package/dist/{CodeBlock-CWk1FVtm.js → CodeBlock-BjELA-_s.js} +1 -1
- package/dist/{FileTree-xqHYBw4g.js → FileTree-DMYRdT6R.js} +1 -1
- package/dist/McpConnectorForm-MRm1r59e.d.ts +39 -0
- package/dist/{Message-DBsHHhcM.d.ts → Message-D_vCVEGB.d.ts} +20 -1
- package/dist/{ThinkChatActivity-D6-_5Phw.d.ts → ThinkChatActivity-CsDql-ER.d.ts} +4 -1
- package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
- package/dist/{WorkspaceFileView-Lab3om3F.js → WorkspaceFileView-DwdXiKku.js} +17 -22
- package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
- package/dist/components/agents-sdk/AgentActivity.js +4 -3
- package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
- package/dist/components/agents-sdk/AgentChat.js +42 -18
- package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
- package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
- package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
- package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
- package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
- package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.d.ts +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.js +8 -13
- package/dist/components/agents-sdk/ManagerOffice.d.ts +168 -0
- package/dist/components/agents-sdk/ManagerOffice.js +698 -0
- package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
- package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
- package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
- package/dist/components/agents-sdk/McpPluginCatalog.js +82 -62
- package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
- package/dist/components/agents-sdk/McpServerPicker.js +2 -2
- package/dist/components/agents-sdk/ModelSelector.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
- package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
- package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
- package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
- package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkChatActivity.js +18 -4
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +7 -3
- package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +45 -43
- package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
- package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
- package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +43 -37
- package/dist/components/agents-sdk/ThinkFullApp.d.ts +42 -78
- package/dist/components/agents-sdk/ThinkFullApp.js +121 -202
- package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineDetail.js +4 -15
- package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +7 -6
- package/dist/components/agents-sdk/ThinkRoutineLibrary.js +112 -140
- package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
- package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +2 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
- package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentAttention.d.ts +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.d.ts +2 -2
- package/dist/components/ai-sdk/Message.js +25 -3
- package/dist/components/ai-sdk/MessageScroller.js +3 -2
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +2 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.js +21 -15
- package/dist/components/ai-sdk/Queue.d.ts +4 -4
- package/dist/components/ai-sdk/Queue.js +6 -15
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.d.ts +2 -2
- package/dist/components/ai-sdk/Task.js +2 -2
- package/dist/components/extension/ChatGptSignInScreen.js +2 -1
- package/dist/components/extension/CodexModelSelector.js +1 -1
- package/dist/components/extension/ConversationTabPicker.js +1 -1
- package/dist/components/foundations/Avatar.d.ts +1 -10
- package/dist/components/foundations/Avatar.js +1 -10
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/CheckboxGroup.js +1 -0
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/LinkButton.d.ts +12 -10
- package/dist/components/foundations/LinkButton.js +15 -11
- 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/ToggleGroup.d.ts +79 -1
- package/dist/components/foundations/icons.d.ts +2 -2
- package/dist/components/foundations/icons.js +2 -2
- package/dist/components/general-purpose/AppFrame.js +1 -0
- package/dist/components/general-purpose/AppTopBar.d.ts +6 -0
- package/dist/components/general-purpose/AppTopBar.js +2 -1
- package/dist/components/general-purpose/Commit.d.ts +2 -2
- package/dist/components/general-purpose/Commit.js +5 -13
- package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingBillingToggle.js +4 -9
- package/dist/components/general-purpose/PricingPlanCard.js +15 -14
- package/dist/components/general-purpose/ResizableSidePanel.d.ts +8 -0
- package/dist/components/general-purpose/ResizableSidePanel.js +3 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +105 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +112 -56
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/Terminal.d.ts +1 -1
- package/dist/components/general-purpose/Terminal.js +4 -12
- package/dist/components/general-purpose/TestResults.d.ts +1 -1
- package/dist/components/general-purpose/TestResults.js +8 -21
- package/dist/components/general-purpose/ThemeModeControl.js +1 -1
- package/dist/components/general-purpose/WebPreview.d.ts +4 -1
- package/dist/components/general-purpose/WebPreview.js +6 -14
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
- package/dist/components/nanites/AgentToolDetail.js +6 -5
- package/dist/components/nanites/NaniteScene.js +11 -11
- package/dist/{copy-button-Bc7jsYv_.js → copy-button-lys9N_aI.js} +1 -1
- package/dist/{icons-DwgNir1Q.d.ts → icons-0corjfxR.d.ts} +1 -16
- package/dist/{icons-MmIXciMO.js → icons-CVFSeTJn.js} +2 -5
- package/dist/styles/accordion.css +1 -0
- package/dist/styles/action-guide.css +8 -7
- package/dist/styles/activity-header.css +13 -39
- package/dist/styles/activity.css +40 -55
- package/dist/styles/agent-attention.css +19 -19
- package/dist/styles/agent-chat.css +94 -42
- package/dist/styles/agent-connection.css +10 -4
- package/dist/styles/agent-tool-detail.css +5 -15
- package/dist/styles/alert-dialog.css +4 -4
- package/dist/styles/app-frame.css +1 -3
- package/dist/styles/app-icon.css +12 -18
- package/dist/styles/app-top-bar.css +31 -9
- package/dist/styles/approval.css +1 -0
- package/dist/styles/artifact.css +6 -6
- package/dist/styles/attachment-preview.css +5 -4
- package/dist/styles/avatar.css +6 -22
- package/dist/styles/base.css +2 -8
- package/dist/styles/browser-live-screen.css +38 -0
- package/dist/styles/browser-live-view.css +12 -4
- package/dist/styles/browser-replay.css +6 -6
- package/dist/styles/browser-run-panel.css +21 -18
- package/dist/styles/button.css +15 -6
- package/dist/styles/card.css +5 -5
- package/dist/styles/chatgpt-sign-in-screen.css +6 -6
- package/dist/styles/code-block.css +14 -13
- package/dist/styles/codex-model-selector.css +2 -0
- package/dist/styles/collapsible.css +1 -0
- package/dist/styles/commit.css +30 -7
- package/dist/styles/context.css +9 -9
- package/dist/styles/conversation-tab-picker.css +1 -1
- package/dist/styles/conversation.css +6 -8
- package/dist/styles/dialog.css +4 -4
- package/dist/styles/empty-state.css +3 -3
- package/dist/styles/environment-variables.css +12 -9
- package/dist/styles/field.css +2 -1
- package/dist/styles/fieldset.css +2 -2
- package/dist/styles/index.css +8 -7
- package/dist/styles/manager-office.css +480 -0
- package/dist/styles/mcp-plugin-catalog.css +44 -39
- package/dist/styles/mcp-server-picker.css +4 -4
- package/dist/styles/message-scroller.css +9 -11
- package/dist/styles/message.css +74 -28
- package/dist/styles/nanite-scene.css +9 -9
- package/dist/styles/navigation-menu.css +1 -0
- package/dist/styles/plan.css +13 -12
- package/dist/styles/pricing-page.css +37 -30
- package/dist/styles/prompt-input.css +26 -18
- package/dist/styles/queue.css +1 -0
- package/dist/styles/reasoning.css +1 -9
- package/dist/styles/recipes.css +29 -58
- package/dist/styles/responsive-sidebar-shell.css +107 -29
- package/dist/styles/separator.css +5 -5
- package/dist/styles/sources.css +4 -4
- package/dist/styles/stepper.css +1 -0
- package/dist/styles/streamdown.css +31 -21
- package/dist/styles/subagent-run.css +20 -3
- package/dist/styles/tabs.css +1 -0
- package/dist/styles/task.css +5 -17
- package/dist/styles/terminal.css +29 -10
- package/dist/styles/test-results.css +16 -7
- package/dist/styles/think-execution-status.css +10 -26
- package/dist/styles/think-execution-workbench.css +98 -108
- package/dist/styles/think-full-app.css +75 -225
- package/dist/styles/think-routine-library.css +26 -95
- package/dist/styles/think-thread-picker.css +17 -12
- package/dist/styles/transition-surface.css +7 -8
- package/dist/styles/utilities.css +75 -0
- package/dist/styles/web-preview.css +46 -22
- package/dist/styles/workspace-explorer.css +22 -44
- package/dist/styles/workspace-mount-manager.css +24 -2
- package/dist/utils/favicon.d.ts +6 -1
- package/dist/utils/favicon.js +18 -1
- package/package.json +37 -35
- package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
- package/dist/ToggleGroup-_pQMyHGM.d.ts +0 -80
- package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
- package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
- package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
- package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
- package/dist/components/foundations/Badge.d.ts +0 -62
- package/dist/components/foundations/Badge.js +0 -55
- package/dist/components/foundations/StatusPill.d.ts +0 -43
- package/dist/components/foundations/StatusPill.js +0 -35
- package/dist/components/general-purpose/Shell.d.ts +0 -149
- package/dist/components/general-purpose/Shell.js +0 -116
- package/dist/styles/agent-activity-preview-overlay.css +0 -169
- package/dist/styles/agent-activity-preview.css +0 -209
- package/dist/styles/badge.css +0 -120
- package/dist/styles/shell.css +0 -122
- package/dist/styles/status-pill.css +0 -39
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
4
|
-
import { Badge } from "../foundations/Badge.js";
|
|
3
|
+
import { K as SpinnerIcon, d as CheckIcon, p as ChevronRightIcon, tt as XIcon } from "../../icons-CVFSeTJn.js";
|
|
5
4
|
import { Progress } from "../foundations/Progress.js";
|
|
6
5
|
import * as React from "react";
|
|
7
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
7
|
//#region src/components/general-purpose/TestResults.tsx
|
|
9
|
-
const STATUS_COLOR = {
|
|
10
|
-
passed: "success",
|
|
11
|
-
failed: "destructive",
|
|
12
|
-
skipped: "warning",
|
|
13
|
-
running: "primary"
|
|
14
|
-
};
|
|
15
|
-
const STATUS_LABEL = {
|
|
16
|
-
passed: "PASS",
|
|
17
|
-
failed: "FAIL",
|
|
18
|
-
skipped: "SKIP",
|
|
19
|
-
running: "RUN"
|
|
20
|
-
};
|
|
21
8
|
const TestResultsContext = React.createContext({});
|
|
22
9
|
/**
|
|
23
10
|
* Displays a test suite report with summary stats, progress bar, and
|
|
@@ -26,7 +13,7 @@ const TestResultsContext = React.createContext({});
|
|
|
26
13
|
* Built internally for CI/test output in agent and developer workflows. Use it
|
|
27
14
|
* for structured test reports. Do not use it for generic status dashboards.
|
|
28
15
|
*
|
|
29
|
-
* Sigvelo changes: composes Collapsible
|
|
16
|
+
* Sigvelo changes: composes Collapsible and Progress; maps status
|
|
30
17
|
* color and spacing to Sigvelo CSS tokens; opens failed suites by default.
|
|
31
18
|
*
|
|
32
19
|
* Suite triggers inherit Collapsible keyboard behavior. Error stacks should be
|
|
@@ -85,8 +72,9 @@ function TestResultsSummary({ className, children, ref, ...props }) {
|
|
|
85
72
|
ref,
|
|
86
73
|
className: cx("test-results__summary", className),
|
|
87
74
|
...props,
|
|
88
|
-
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(
|
|
89
|
-
|
|
75
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("strong", {
|
|
76
|
+
className: "test-results__outcome",
|
|
77
|
+
"data-status": overall,
|
|
90
78
|
children: overall === "passed" ? "All tests passed" : `${summary.failed} failed`
|
|
91
79
|
}), /* @__PURE__ */ jsxs("span", {
|
|
92
80
|
className: "test-results__stats",
|
|
@@ -201,10 +189,9 @@ function TestSuiteName({ className, children, ref, ...props }) {
|
|
|
201
189
|
"aria-hidden": "true",
|
|
202
190
|
children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
|
|
203
191
|
}),
|
|
204
|
-
/* @__PURE__ */ jsx(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
children: STATUS_LABEL[status]
|
|
192
|
+
/* @__PURE__ */ jsx(TestStatus, {
|
|
193
|
+
status,
|
|
194
|
+
"aria-label": `${status} suite`
|
|
208
195
|
}),
|
|
209
196
|
/* @__PURE__ */ jsx("span", {
|
|
210
197
|
className: "test-results__suite-name sigvelo-truncate",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { N as MonitorIcon, P as MoonIcon, Y as SunIcon } from "../../icons-CVFSeTJn.js";
|
|
2
2
|
import { Radio, RadioGroup } from "../foundations/RadioGroup.js";
|
|
3
3
|
import { useTheme } from "../foundations/ThemeProvider.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -25,6 +25,8 @@ interface WebPreviewProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
25
25
|
className?: string;
|
|
26
26
|
/** Navigation, body, and optional console slots. */
|
|
27
27
|
children?: React.ReactNode;
|
|
28
|
+
/** Extra recipes composed with the framed-panel contract. */
|
|
29
|
+
"data-recipe"?: string;
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* An iframe preview with a navigation bar, URL input, and optional console
|
|
@@ -35,7 +37,7 @@ interface WebPreviewProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
35
37
|
* known URL with local navigation controls. Do not use it for trusted app
|
|
36
38
|
* embedding that needs custom iframe permissions; add those explicitly here.
|
|
37
39
|
*
|
|
38
|
-
* Sigvelo changes: composes IconButton, Input,
|
|
40
|
+
* Sigvelo changes: composes IconButton, Input, and ScrollArea; keeps a
|
|
39
41
|
* conservative sandbox; and maps navigation and console UI to Sigvelo CSS
|
|
40
42
|
* tokens.
|
|
41
43
|
*
|
|
@@ -64,6 +66,7 @@ declare function WebPreview({
|
|
|
64
66
|
onUrlChange,
|
|
65
67
|
children,
|
|
66
68
|
ref,
|
|
69
|
+
"data-recipe": recipe,
|
|
67
70
|
...props
|
|
68
71
|
}: WebPreviewProps & {
|
|
69
72
|
ref?: React.Ref<HTMLDivElement>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
3
|
+
import { H as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-CVFSeTJn.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
|
-
import { Badge } from "../foundations/Badge.js";
|
|
6
5
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
7
6
|
import { Input } from "../foundations/Input.js";
|
|
8
7
|
import * as React from "react";
|
|
@@ -23,7 +22,7 @@ function useWebPreviewContext() {
|
|
|
23
22
|
* known URL with local navigation controls. Do not use it for trusted app
|
|
24
23
|
* embedding that needs custom iframe permissions; add those explicitly here.
|
|
25
24
|
*
|
|
26
|
-
* Sigvelo changes: composes IconButton, Input,
|
|
25
|
+
* Sigvelo changes: composes IconButton, Input, and ScrollArea; keeps a
|
|
27
26
|
* conservative sandbox; and maps navigation and console UI to Sigvelo CSS
|
|
28
27
|
* tokens.
|
|
29
28
|
*
|
|
@@ -45,7 +44,7 @@ function useWebPreviewContext() {
|
|
|
45
44
|
* </WebPreview>
|
|
46
45
|
* ```
|
|
47
46
|
*/
|
|
48
|
-
function WebPreview({ className, defaultUrl = "", url: controlledUrl, onUrlChange, children, ref, ...props }) {
|
|
47
|
+
function WebPreview({ className, defaultUrl = "", url: controlledUrl, onUrlChange, children, ref, "data-recipe": recipe, ...props }) {
|
|
49
48
|
const [navigation, setNavigation] = React.useState(() => ({
|
|
50
49
|
history: defaultUrl ? [defaultUrl] : [],
|
|
51
50
|
index: defaultUrl ? 0 : -1
|
|
@@ -127,7 +126,7 @@ function WebPreview({ className, defaultUrl = "", url: controlledUrl, onUrlChang
|
|
|
127
126
|
ref,
|
|
128
127
|
className: cx("web-preview", className),
|
|
129
128
|
...props,
|
|
130
|
-
"data-recipe": "framed-panel",
|
|
129
|
+
"data-recipe": cx("framed-panel", recipe),
|
|
131
130
|
children
|
|
132
131
|
})
|
|
133
132
|
});
|
|
@@ -238,12 +237,6 @@ function WebPreviewBody({ className, loading, src, ref, interactive = true, ...p
|
|
|
238
237
|
...props
|
|
239
238
|
}, iframeSrc), loading] });
|
|
240
239
|
}
|
|
241
|
-
const LEVEL_COLOR = {
|
|
242
|
-
log: "neutral",
|
|
243
|
-
info: "primary",
|
|
244
|
-
warn: "warning",
|
|
245
|
-
error: "destructive"
|
|
246
|
-
};
|
|
247
240
|
function WebPreviewConsole({ className, logs = [], children, ref, ...props }) {
|
|
248
241
|
const { consoleOpen, setConsoleOpen } = useWebPreviewContext();
|
|
249
242
|
return /* @__PURE__ */ jsxs(Collapsible.Root, {
|
|
@@ -272,9 +265,8 @@ function WebPreviewConsole({ className, logs = [], children, ref, ...props }) {
|
|
|
272
265
|
}) : logs.map((log, index) => /* @__PURE__ */ jsxs("li", {
|
|
273
266
|
className: cx("web-preview__console-item", `web-preview__console-item--${log.level}`),
|
|
274
267
|
children: [
|
|
275
|
-
/* @__PURE__ */ jsx(
|
|
276
|
-
|
|
277
|
-
size: "sm",
|
|
268
|
+
/* @__PURE__ */ jsx("span", {
|
|
269
|
+
className: "web-preview__console-level",
|
|
278
270
|
children: log.level
|
|
279
271
|
}),
|
|
280
272
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { D as LinkIcon } from "../../icons-CVFSeTJn.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
|
-
import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-
|
|
4
|
+
import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-BjELA-_s.js";
|
|
5
5
|
import { Popover } from "../foundations/Popover.js";
|
|
6
6
|
import { ToggleGroup } from "../foundations/ToggleGroup.js";
|
|
7
7
|
import * as React from "react";
|
|
@@ -22,7 +22,7 @@ interface AgentToolDetailProps<State = unknown, MessageT extends UIMessage = UIM
|
|
|
22
22
|
backLink?: React.ReactElement;
|
|
23
23
|
/**
|
|
24
24
|
* Route-owned run controls (the app's cancel callable, for example),
|
|
25
|
-
* rendered in
|
|
25
|
+
* rendered in the top bar's trailing slot after the status mark.
|
|
26
26
|
*/
|
|
27
27
|
actions?: React.ReactNode;
|
|
28
28
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { r as ArrowLeftIcon } from "../../icons-
|
|
2
|
+
import { r as ArrowLeftIcon } from "../../icons-CVFSeTJn.js";
|
|
3
3
|
import { TransitionSurface } from "../foundations/TransitionSurface.js";
|
|
4
4
|
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
5
5
|
import { NaniteMark } from "./NaniteScene.js";
|
|
6
6
|
import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
|
|
7
|
-
import {
|
|
7
|
+
import { SubagentRunMilestone, SubagentRunMilestones, SubagentRunProgress } from "../agents-sdk/SubagentRunDetails.js";
|
|
8
8
|
import { t as ThinkChat } from "../../ThinkChat-DkA4Wr71.js";
|
|
9
9
|
import * as React from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -29,8 +29,10 @@ function AgentToolDetail({ actions, backLink, chat, className, messages, ref, ru
|
|
|
29
29
|
"data-slot": "agent-tool-detail",
|
|
30
30
|
className: cx("agent-tool-detail", className),
|
|
31
31
|
...props,
|
|
32
|
+
"data-recipe": "fill-host",
|
|
32
33
|
children: [
|
|
33
34
|
/* @__PURE__ */ jsxs(AppTopBar.Root, {
|
|
35
|
+
titleAlign: "start",
|
|
34
36
|
"aria-label": `${name} controls`,
|
|
35
37
|
children: [
|
|
36
38
|
/* @__PURE__ */ jsxs(AppTopBar.Leading, { children: [backLink ? /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
@@ -43,7 +45,7 @@ function AgentToolDetail({ actions, backLink, chat, className, messages, ref, ru
|
|
|
43
45
|
className: "agent-tool-detail__title",
|
|
44
46
|
children: name
|
|
45
47
|
}) }),
|
|
46
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ jsxs(AppTopBar.Trailing, { children: [/* @__PURE__ */ jsx(SubagentRunIndicator, { run }), actions] })
|
|
47
49
|
]
|
|
48
50
|
}),
|
|
49
51
|
progressLabel || run.milestones?.length || run.error || run.summary ? /* @__PURE__ */ jsxs("div", {
|
|
@@ -80,8 +82,7 @@ function AgentToolDetail({ actions, backLink, chat, className, messages, ref, ru
|
|
|
80
82
|
showComposer: false,
|
|
81
83
|
loading: true
|
|
82
84
|
})
|
|
83
|
-
})
|
|
84
|
-
actions ? /* @__PURE__ */ jsx(SubagentRunActions, { children: actions }) : null
|
|
85
|
+
})
|
|
85
86
|
]
|
|
86
87
|
});
|
|
87
88
|
}
|
|
@@ -16,8 +16,8 @@ const SCREEN_BORDER = "#3a5068";
|
|
|
16
16
|
const SCREEN_LINE = "#2e3d50";
|
|
17
17
|
const SCREEN_ICON_WARN = "#c87832";
|
|
18
18
|
const GLASS_STROKE = "#8ba7b8";
|
|
19
|
-
const
|
|
20
|
-
const
|
|
19
|
+
const STATUS_MARK_SUCCESS = "#0f7b6c";
|
|
20
|
+
const STATUS_MARK_FAIL = "#dc2626";
|
|
21
21
|
const TRIO_XS = [
|
|
22
22
|
40,
|
|
23
23
|
100,
|
|
@@ -108,8 +108,8 @@ function NaniteScene({ variant, mode = "trio", className, title }) {
|
|
|
108
108
|
}
|
|
109
109
|
const showBrowser = variant !== "idle" && variant !== "helmet";
|
|
110
110
|
const showGlass = variant === "working";
|
|
111
|
-
const
|
|
112
|
-
const
|
|
111
|
+
const showSuccessMark = variant === "celebrating";
|
|
112
|
+
const showFailMark = variant === "concerned";
|
|
113
113
|
const soloViewBox = showBrowser ? "0 0 120 56" : "0 0 52 56";
|
|
114
114
|
const soloWidth = showBrowser ? 120 : 52;
|
|
115
115
|
const naniteX = 24;
|
|
@@ -265,15 +265,15 @@ function NaniteScene({ variant, mode = "trio", className, title }) {
|
|
|
265
265
|
})]
|
|
266
266
|
})
|
|
267
267
|
}) : null,
|
|
268
|
-
|
|
268
|
+
showSuccessMark ? /* @__PURE__ */ jsx("g", {
|
|
269
269
|
transform: `translate(96, ${screenCy - 10})`,
|
|
270
270
|
children: /* @__PURE__ */ jsxs("g", {
|
|
271
|
-
className: "nanite-
|
|
271
|
+
className: "nanite-scene__status-mark",
|
|
272
272
|
children: [/* @__PURE__ */ jsx("circle", {
|
|
273
273
|
cx: "0",
|
|
274
274
|
cy: "0",
|
|
275
275
|
r: "7",
|
|
276
|
-
fill:
|
|
276
|
+
fill: STATUS_MARK_SUCCESS,
|
|
277
277
|
stroke: "#ffffff",
|
|
278
278
|
strokeWidth: "1.5"
|
|
279
279
|
}), /* @__PURE__ */ jsx("path", {
|
|
@@ -286,16 +286,16 @@ function NaniteScene({ variant, mode = "trio", className, title }) {
|
|
|
286
286
|
})]
|
|
287
287
|
})
|
|
288
288
|
}) : null,
|
|
289
|
-
|
|
289
|
+
showFailMark ? /* @__PURE__ */ jsx("g", {
|
|
290
290
|
transform: `translate(96, ${screenCy - 10})`,
|
|
291
291
|
children: /* @__PURE__ */ jsxs("g", {
|
|
292
|
-
className: "nanite-
|
|
292
|
+
className: "nanite-scene__status-mark",
|
|
293
293
|
children: [
|
|
294
294
|
/* @__PURE__ */ jsx("circle", {
|
|
295
295
|
cx: "0",
|
|
296
296
|
cy: "0",
|
|
297
297
|
r: "7",
|
|
298
|
-
fill:
|
|
298
|
+
fill: STATUS_MARK_FAIL,
|
|
299
299
|
stroke: "#ffffff",
|
|
300
300
|
strokeWidth: "1.5"
|
|
301
301
|
}),
|
|
@@ -320,7 +320,7 @@ function NaniteScene({ variant, mode = "trio", className, title }) {
|
|
|
320
320
|
]
|
|
321
321
|
})
|
|
322
322
|
}) : null,
|
|
323
|
-
|
|
323
|
+
showSuccessMark ? /* @__PURE__ */ jsxs("g", {
|
|
324
324
|
className: "nanite-scene__sparkles",
|
|
325
325
|
children: [
|
|
326
326
|
/* @__PURE__ */ jsx("circle", {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as CheckIcon,
|
|
1
|
+
import { d as CheckIcon, h as CopyIcon } from "./icons-CVFSeTJn.js";
|
|
2
2
|
import { IconButton } from "./components/foundations/IconButton.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -22,11 +22,6 @@ declare const ChevronDownIcon: ({
|
|
|
22
22
|
strokeWidth,
|
|
23
23
|
...props
|
|
24
24
|
}: IconProps) => import("react").JSX.Element;
|
|
25
|
-
declare const ChevronLeftIcon: ({
|
|
26
|
-
size,
|
|
27
|
-
strokeWidth,
|
|
28
|
-
...props
|
|
29
|
-
}: IconProps) => import("react").JSX.Element;
|
|
30
25
|
declare const CheckIcon: ({
|
|
31
26
|
size,
|
|
32
27
|
strokeWidth,
|
|
@@ -238,11 +233,6 @@ declare const CalendarIcon: ({
|
|
|
238
233
|
strokeWidth,
|
|
239
234
|
...props
|
|
240
235
|
}: IconProps) => import("react").JSX.Element;
|
|
241
|
-
declare const HashIcon: ({
|
|
242
|
-
size,
|
|
243
|
-
strokeWidth,
|
|
244
|
-
...props
|
|
245
|
-
}: IconProps) => import("react").JSX.Element;
|
|
246
236
|
declare const WrenchIcon: ({
|
|
247
237
|
size,
|
|
248
238
|
strokeWidth,
|
|
@@ -253,11 +243,6 @@ declare const InfoIcon: ({
|
|
|
253
243
|
strokeWidth,
|
|
254
244
|
...props
|
|
255
245
|
}: IconProps) => import("react").JSX.Element;
|
|
256
|
-
declare const ImageIcon: ({
|
|
257
|
-
size,
|
|
258
|
-
strokeWidth,
|
|
259
|
-
...props
|
|
260
|
-
}: IconProps) => import("react").JSX.Element;
|
|
261
246
|
declare const MonitorIcon: ({
|
|
262
247
|
size,
|
|
263
248
|
strokeWidth,
|
|
@@ -301,4 +286,4 @@ declare const MaximizeIcon: ({
|
|
|
301
286
|
...props
|
|
302
287
|
}: IconProps) => import("react").JSX.Element;
|
|
303
288
|
//#endregion
|
|
304
|
-
export {
|
|
289
|
+
export { TerminalIcon as $, MaximizeIcon as A, PencilIcon as B, FileIcon as C, InfoIcon as D, IconProps as E, MonitorIcon as F, SearchIcon as G, PlusIcon as H, MoonIcon as I, SpinnerIcon as J, SidebarIcon as K, MoveToFrontIcon as L, MessageSquareIcon as M, MicrophoneIcon as N, KeyboardIcon as O, MinusIcon as P, TargetIcon as Q, PaperclipIcon as R, EyeOffIcon as S, FolderOpenIcon as T, QueueIcon as U, PlayIcon as V, RefreshIcon as W, StopIcon as X, SquareIcon as Y, SunIcon as Z, DiscordIcon as _, ArrowUpIcon as a, EllipsisIcon as b, BoxIcon as c, CalendarIcon as d, TrashIcon as et, CheckIcon as f, CopyIcon as g, CodeIcon as h, ArrowRightIcon as i, McpIcon as j, LinkIcon as k, BrainIcon as l, ChevronRightIcon as m, ArrowDownIcon as n, WrenchIcon as nt, ArrowUpRightIcon as o, ChevronDownIcon as p, SlackIcon as q, ArrowLeftIcon as r, XIcon as rt, BookmarkIcon as s, ArchiveIcon as t, WarningIcon as tt, BrandIconProps as u, DotIcon as v, FolderIcon as w, EyeIcon as x, DownloadIcon as y, PauseIcon as z };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "./class-names-BiMDVpUo.js";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpRight, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown,
|
|
3
|
+
import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpRight, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Info, Keyboard, Link2, ListRestart, LoaderCircle, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Target, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
|
|
4
4
|
import { FaSlack } from "react-icons/fa6";
|
|
5
5
|
import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
|
|
6
6
|
//#region src/components/_internal/icons.tsx
|
|
@@ -27,7 +27,6 @@ function brandIcon(Component) {
|
|
|
27
27
|
}
|
|
28
28
|
const ChevronRightIcon = icon(ChevronRight);
|
|
29
29
|
const ChevronDownIcon = icon(ChevronDown);
|
|
30
|
-
const ChevronLeftIcon = icon(ChevronLeft);
|
|
31
30
|
const CheckIcon = icon(Check);
|
|
32
31
|
const CodeIcon = icon(CodeXml);
|
|
33
32
|
const XIcon = icon(X);
|
|
@@ -79,10 +78,8 @@ const WarningIcon = icon(TriangleAlert);
|
|
|
79
78
|
const BoxIcon = icon(Box);
|
|
80
79
|
const BrainIcon = icon(Brain);
|
|
81
80
|
const CalendarIcon = icon(CalendarDays);
|
|
82
|
-
const HashIcon = icon(Hash);
|
|
83
81
|
const WrenchIcon = icon(Wrench);
|
|
84
82
|
const InfoIcon = icon(Info);
|
|
85
|
-
const ImageIcon = icon(Image);
|
|
86
83
|
const MonitorIcon = icon(Monitor);
|
|
87
84
|
const MessageSquareIcon = icon(MessageSquare);
|
|
88
85
|
const McpIcon = brandIcon(SiModelcontextprotocol);
|
|
@@ -93,4 +90,4 @@ const SunIcon = icon(Sun);
|
|
|
93
90
|
const TargetIcon = icon(Target);
|
|
94
91
|
const MaximizeIcon = icon(Maximize2);
|
|
95
92
|
//#endregion
|
|
96
|
-
export {
|
|
93
|
+
export { WarningIcon as $, MessageSquareIcon as A, PlusIcon as B, FolderIcon as C, LinkIcon as D, KeyboardIcon as E, MoveToFrontIcon as F, SlackIcon as G, RefreshIcon as H, PaperclipIcon as I, StopIcon as J, SpinnerIcon as K, PauseIcon as L, MinusIcon as M, MonitorIcon as N, MaximizeIcon as O, MoonIcon as P, TrashIcon as Q, PencilIcon as R, FileIcon as S, InfoIcon as T, SearchIcon as U, QueueIcon as V, SidebarIcon as W, TargetIcon as X, SunIcon as Y, TerminalIcon as Z, DotIcon as _, ArrowUpIcon as a, EyeIcon as b, BoxIcon as c, CheckIcon as d, WrenchIcon as et, ChevronDownIcon as f, DiscordIcon as g, CopyIcon as h, ArrowRightIcon as i, MicrophoneIcon as j, McpIcon as k, BrainIcon as l, CodeIcon as m, ArrowDownIcon as n, ArrowUpRightIcon as o, ChevronRightIcon as p, SquareIcon as q, ArrowLeftIcon as r, BookmarkIcon as s, ArchiveIcon as t, XIcon as tt, CalendarIcon as u, DownloadIcon as v, FolderOpenIcon as w, EyeOffIcon as x, EllipsisIcon as y, PlayIcon as z };
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
display: grid;
|
|
4
4
|
gap: var(--sigvelo-spacing-8);
|
|
5
5
|
inline-size: 100%;
|
|
6
|
-
padding: var(--sigvelo-
|
|
6
|
+
padding: var(--sigvelo-layout-cluster) var(--sigvelo-layout-gutter) var(--sigvelo-spacing-8);
|
|
7
7
|
color: var(--sigvelo-color-text);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.action-guide__header {
|
|
11
11
|
display: grid;
|
|
12
|
-
gap: var(--sigvelo-
|
|
12
|
+
gap: var(--sigvelo-layout-stack);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
.action-guide__title,
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
|
|
33
33
|
.action-guide__section {
|
|
34
34
|
display: grid;
|
|
35
|
-
gap: var(--sigvelo-
|
|
35
|
+
gap: var(--sigvelo-layout-stack);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.action-guide__list {
|
|
39
39
|
display: grid;
|
|
40
|
-
grid-template-columns:
|
|
41
|
-
gap: var(--sigvelo-
|
|
40
|
+
grid-template-columns: var(--sigvelo-layout-track-fill);
|
|
41
|
+
gap: var(--sigvelo-layout-gutter);
|
|
42
42
|
margin: 0;
|
|
43
43
|
padding: 0;
|
|
44
44
|
list-style: none;
|
|
@@ -115,9 +115,10 @@
|
|
|
115
115
|
border-radius: var(--sigvelo-radius-lg);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
/* Local wrap. Not --sigvelo-layout-break-compact. */
|
|
119
|
+
@container action-guide (inline-size > 30rem) {
|
|
119
120
|
.action-guide__list[data-layout="cards"] {
|
|
120
|
-
grid-template-columns: repeat(2,
|
|
121
|
+
grid-template-columns: repeat(2, var(--sigvelo-layout-track-fill));
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
|
|
@@ -1,58 +1,32 @@
|
|
|
1
1
|
.activity__header {
|
|
2
2
|
display: flex;
|
|
3
|
-
|
|
4
|
-
min-
|
|
3
|
+
inline-size: 100%;
|
|
4
|
+
min-inline-size: 0;
|
|
5
5
|
align-items: center;
|
|
6
6
|
gap: var(--sigvelo-spacing-1-5);
|
|
7
|
-
color:
|
|
7
|
+
color: inherit;
|
|
8
8
|
font-family: inherit;
|
|
9
|
-
font-size: var(--sigvelo-text-
|
|
10
|
-
font-weight: var(--sigvelo-font-weight-
|
|
9
|
+
font-size: var(--sigvelo-text-prose);
|
|
10
|
+
font-weight: var(--sigvelo-font-weight-normal);
|
|
11
|
+
line-height: var(--sigvelo-text-prose-leading);
|
|
11
12
|
text-align: start;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
/*
|
|
15
|
-
* The action holds its content width and the detail absorbs whatever is left,
|
|
16
|
-
* so the two shrink in the right order: a long path loses its tail while
|
|
17
|
-
* "Reading" stays legible. Basis 0 on the detail is what makes it the flexible
|
|
18
|
-
* one; the trailing affordance stays adjacent until the width is exhausted.
|
|
19
|
-
*
|
|
20
|
-
* With no detail present the action is the only flexible item, so a settled
|
|
21
|
-
* summary sentence still truncates rather than inflating its owner.
|
|
22
|
-
*/
|
|
15
|
+
/* Action keeps its content width; the detail takes the leftover track. */
|
|
23
16
|
.activity__header-action {
|
|
24
17
|
flex: 0 1 auto;
|
|
25
|
-
min-
|
|
26
|
-
|
|
27
|
-
overflow:
|
|
28
|
-
color: var(--sigvelo-color-text);
|
|
29
|
-
text-overflow: ellipsis;
|
|
30
|
-
white-space: nowrap;
|
|
18
|
+
min-inline-size: 0;
|
|
19
|
+
color: inherit;
|
|
20
|
+
overflow-wrap: anywhere;
|
|
31
21
|
}
|
|
32
22
|
|
|
33
|
-
/*
|
|
34
|
-
* The target of the action — a path, a command, a query. Muted, because in a
|
|
35
|
-
* column of activity lines the verb is what the reader scans for.
|
|
36
|
-
*
|
|
37
|
-
* Faded rather than ellipsed: this is data, and a trailing "…" reads as part of
|
|
38
|
-
* the value it is truncating.
|
|
39
|
-
*
|
|
40
|
-
* The fade is unconditional because it does not need a condition. Growing to
|
|
41
|
-
* fill the free space means the box is wider than short text, so the gradient
|
|
42
|
-
* lands on empty space and only bites once the text actually reaches the edge.
|
|
43
|
-
*/
|
|
23
|
+
/* Path, command, or query. Muted so the verb stays the scan target. */
|
|
44
24
|
.activity__header-detail {
|
|
45
25
|
flex: 1 1 0;
|
|
46
|
-
min-
|
|
47
|
-
overflow: hidden;
|
|
26
|
+
min-inline-size: 0;
|
|
48
27
|
color: var(--sigvelo-color-text-muted);
|
|
49
28
|
font-weight: var(--sigvelo-font-weight-normal);
|
|
50
|
-
|
|
51
|
-
mask-image: linear-gradient(
|
|
52
|
-
to right,
|
|
53
|
-
#000 calc(100% - var(--sigvelo-spacing-4)),
|
|
54
|
-
transparent 100%
|
|
55
|
-
);
|
|
29
|
+
overflow-wrap: anywhere;
|
|
56
30
|
}
|
|
57
31
|
|
|
58
32
|
.activity__item-icon {
|