@mcp-b/react-components 0.39.0 → 0.41.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/AppTopBar-ZdgmB_Lu.d.ts +97 -0
- package/dist/{CodeBlock-DO4Hdu1R.js → CodeBlock-BjELA-_s.js} +1 -1
- package/dist/{FileTree-DbQMpvxV.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-DyGHj01E.d.ts} +1 -1
- package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
- package/dist/Toolbar-CBOseBQr.d.ts +152 -0
- package/dist/{WorkspaceFileView-D0r7xnq5.js → WorkspaceFileView-D0yFwoDr.js} +3 -3
- package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
- package/dist/components/agents-sdk/AgentChat.js +41 -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 +72 -25
- package/dist/components/agents-sdk/BrowserRunPanel.js +111 -70
- package/dist/components/agents-sdk/ManagerOffice.d.ts +156 -0
- package/dist/components/agents-sdk/ManagerOffice.js +662 -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 +79 -61
- 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/ThinkChatToolPanels.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +43 -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 -38
- package/dist/components/agents-sdk/ThinkFullApp.d.ts +18 -6
- package/dist/components/agents-sdk/ThinkFullApp.js +112 -144
- 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.js +69 -89
- 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 +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 +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 +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.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.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/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/Toolbar.d.ts +1 -151
- package/dist/components/foundations/icons.d.ts +2 -2
- package/dist/components/foundations/icons.js +2 -2
- package/dist/components/general-purpose/AppTopBar.d.ts +1 -90
- 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/ResponsiveSidebarShell.d.ts +95 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +90 -34
- 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 +1 -1
- package/dist/components/general-purpose/WebPreview.js +4 -12
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
- package/dist/components/nanites/AgentToolDetail.js +7 -7
- package/dist/components/nanites/NaniteScene.js +11 -11
- package/dist/{copy-button-4YvddK4e.js → copy-button-lys9N_aI.js} +1 -1
- package/dist/{icons-BGZ916hb.d.ts → icons-0corjfxR.d.ts} +6 -16
- package/dist/{icons-B4mGvCvc.js → icons-CVFSeTJn.js} +3 -5
- package/dist/styles/agent-attention.css +5 -5
- package/dist/styles/agent-chat.css +47 -12
- package/dist/styles/agent-tool-detail.css +2 -12
- package/dist/styles/app-icon.css +12 -18
- package/dist/styles/app-top-bar.css +32 -6
- 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-run-panel.css +20 -16
- package/dist/styles/chatgpt-sign-in-screen.css +11 -5
- package/dist/styles/commit.css +24 -1
- package/dist/styles/environment-variables.css +3 -0
- package/dist/styles/index.css +5 -4
- package/dist/styles/manager-office.css +486 -0
- package/dist/styles/mcp-plugin-catalog.css +39 -35
- package/dist/styles/mcp-server-picker.css +1 -1
- package/dist/styles/message.css +41 -18
- package/dist/styles/nanite-scene.css +9 -9
- package/dist/styles/pricing-page.css +12 -8
- package/dist/styles/prompt-input.css +8 -13
- package/dist/styles/recipes.css +1 -57
- package/dist/styles/responsive-sidebar-shell.css +70 -20
- package/dist/styles/subagent-run.css +20 -3
- package/dist/styles/terminal.css +19 -0
- package/dist/styles/test-results.css +10 -1
- package/dist/styles/think-execution-status.css +8 -24
- package/dist/styles/think-execution-workbench.css +98 -105
- package/dist/styles/think-full-app.css +81 -185
- package/dist/styles/think-routine-library.css +0 -40
- package/dist/styles/think-thread-picker.css +8 -3
- package/dist/styles/transition-surface.css +7 -8
- package/dist/styles/utilities.css +42 -0
- package/dist/styles/web-preview.css +28 -5
- package/dist/styles/workspace-explorer.css +4 -23
- package/dist/styles/workspace-mount-manager.css +22 -0
- package/package.json +37 -35
- package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
- 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,8 +1,7 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Z as TerminalIcon, tt as XIcon } from "../../icons-CVFSeTJn.js";
|
|
3
3
|
import { IconButton } from "../foundations/IconButton.js";
|
|
4
|
-
import { t as CopyButton } from "../../copy-button-
|
|
5
|
-
import { Badge } from "../foundations/Badge.js";
|
|
4
|
+
import { t as CopyButton } from "../../copy-button-lys9N_aI.js";
|
|
6
5
|
import { ScrollArea } from "../foundations/ScrollArea.js";
|
|
7
6
|
import * as React from "react";
|
|
8
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -123,19 +122,12 @@ function TerminalTitle({ className, children, ref, ...props }) {
|
|
|
123
122
|
children: [/* @__PURE__ */ jsx(TerminalIcon, { "aria-hidden": "true" }), children ?? "Terminal"]
|
|
124
123
|
});
|
|
125
124
|
}
|
|
126
|
-
const STATUS_COLOR = {
|
|
127
|
-
idle: "neutral",
|
|
128
|
-
running: "primary",
|
|
129
|
-
success: "success",
|
|
130
|
-
error: "destructive"
|
|
131
|
-
};
|
|
132
125
|
function TerminalStatus({ className, status, ref, ...props }) {
|
|
133
|
-
return /* @__PURE__ */ jsx(
|
|
126
|
+
return /* @__PURE__ */ jsx("span", {
|
|
134
127
|
...props,
|
|
135
128
|
ref,
|
|
136
|
-
color: STATUS_COLOR[status],
|
|
137
|
-
size: "sm",
|
|
138
129
|
className: cx("terminal__status", className),
|
|
130
|
+
"data-status": status,
|
|
139
131
|
children: status
|
|
140
132
|
});
|
|
141
133
|
}
|
|
@@ -30,7 +30,7 @@ interface TestResultsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
30
30
|
* Built internally for CI/test output in agent and developer workflows. Use it
|
|
31
31
|
* for structured test reports. Do not use it for generic status dashboards.
|
|
32
32
|
*
|
|
33
|
-
* Sigvelo changes: composes Collapsible
|
|
33
|
+
* Sigvelo changes: composes Collapsible and Progress; maps status
|
|
34
34
|
* color and spacing to Sigvelo CSS tokens; opens failed suites by default.
|
|
35
35
|
*
|
|
36
36
|
* Suite triggers inherit Collapsible keyboard behavior. Error stacks should be
|
|
@@ -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";
|
|
@@ -35,7 +35,7 @@ interface WebPreviewProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
35
35
|
* known URL with local navigation controls. Do not use it for trusted app
|
|
36
36
|
* embedding that needs custom iframe permissions; add those explicitly here.
|
|
37
37
|
*
|
|
38
|
-
* Sigvelo changes: composes IconButton, Input,
|
|
38
|
+
* Sigvelo changes: composes IconButton, Input, and ScrollArea; keeps a
|
|
39
39
|
* conservative sandbox; and maps navigation and console UI to Sigvelo CSS
|
|
40
40
|
* tokens.
|
|
41
41
|
*
|
|
@@ -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
|
*
|
|
@@ -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,11 +1,11 @@
|
|
|
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
|
-
import { SubagentRunActions, SubagentRunMilestone, SubagentRunMilestones, SubagentRunProgress } from "../agents-sdk/SubagentRunDetails.js";
|
|
5
|
-
import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
|
|
6
|
-
import { t as ThinkChat } from "../../ThinkChat-BES_3Mb-.js";
|
|
7
4
|
import { AppTopBar } from "../general-purpose/AppTopBar.js";
|
|
5
|
+
import { SubagentRunMilestone, SubagentRunMilestones, SubagentRunProgress } from "../agents-sdk/SubagentRunDetails.js";
|
|
6
|
+
import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
|
|
8
7
|
import { NaniteMark } from "./NaniteScene.js";
|
|
8
|
+
import { t as ThinkChat } from "../../ThinkChat-BES_3Mb-.js";
|
|
9
9
|
import * as React from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { useAgentChat } from "@cloudflare/think/react";
|
|
@@ -31,6 +31,7 @@ function AgentToolDetail({ actions, backLink, chat, className, messages, ref, ru
|
|
|
31
31
|
...props,
|
|
32
32
|
children: [
|
|
33
33
|
/* @__PURE__ */ jsxs(AppTopBar.Root, {
|
|
34
|
+
titleAlign: "start",
|
|
34
35
|
"aria-label": `${name} controls`,
|
|
35
36
|
children: [
|
|
36
37
|
/* @__PURE__ */ jsxs(AppTopBar.Leading, { children: [backLink ? /* @__PURE__ */ jsx(AppTopBar.Link, {
|
|
@@ -43,7 +44,7 @@ function AgentToolDetail({ actions, backLink, chat, className, messages, ref, ru
|
|
|
43
44
|
className: "agent-tool-detail__title",
|
|
44
45
|
children: name
|
|
45
46
|
}) }),
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
+
/* @__PURE__ */ jsxs(AppTopBar.Trailing, { children: [/* @__PURE__ */ jsx(SubagentRunIndicator, { run }), actions] })
|
|
47
48
|
]
|
|
48
49
|
}),
|
|
49
50
|
progressLabel || run.milestones?.length || run.error || run.summary ? /* @__PURE__ */ jsxs("div", {
|
|
@@ -80,8 +81,7 @@ function AgentToolDetail({ actions, backLink, chat, className, messages, ref, ru
|
|
|
80
81
|
showComposer: false,
|
|
81
82
|
loading: true
|
|
82
83
|
})
|
|
83
|
-
})
|
|
84
|
-
actions ? /* @__PURE__ */ jsx(SubagentRunActions, { children: actions }) : null
|
|
84
|
+
})
|
|
85
85
|
]
|
|
86
86
|
});
|
|
87
87
|
}
|
|
@@ -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,
|
|
@@ -203,6 +198,11 @@ declare const LinkIcon: ({
|
|
|
203
198
|
strokeWidth,
|
|
204
199
|
...props
|
|
205
200
|
}: IconProps) => import("react").JSX.Element;
|
|
201
|
+
declare const KeyboardIcon: ({
|
|
202
|
+
size,
|
|
203
|
+
strokeWidth,
|
|
204
|
+
...props
|
|
205
|
+
}: IconProps) => import("react").JSX.Element;
|
|
206
206
|
declare const QueueIcon: ({
|
|
207
207
|
size,
|
|
208
208
|
strokeWidth,
|
|
@@ -233,11 +233,6 @@ declare const CalendarIcon: ({
|
|
|
233
233
|
strokeWidth,
|
|
234
234
|
...props
|
|
235
235
|
}: IconProps) => import("react").JSX.Element;
|
|
236
|
-
declare const HashIcon: ({
|
|
237
|
-
size,
|
|
238
|
-
strokeWidth,
|
|
239
|
-
...props
|
|
240
|
-
}: IconProps) => import("react").JSX.Element;
|
|
241
236
|
declare const WrenchIcon: ({
|
|
242
237
|
size,
|
|
243
238
|
strokeWidth,
|
|
@@ -248,11 +243,6 @@ declare const InfoIcon: ({
|
|
|
248
243
|
strokeWidth,
|
|
249
244
|
...props
|
|
250
245
|
}: IconProps) => import("react").JSX.Element;
|
|
251
|
-
declare const ImageIcon: ({
|
|
252
|
-
size,
|
|
253
|
-
strokeWidth,
|
|
254
|
-
...props
|
|
255
|
-
}: IconProps) => import("react").JSX.Element;
|
|
256
246
|
declare const MonitorIcon: ({
|
|
257
247
|
size,
|
|
258
248
|
strokeWidth,
|
|
@@ -296,4 +286,4 @@ declare const MaximizeIcon: ({
|
|
|
296
286
|
...props
|
|
297
287
|
}: IconProps) => import("react").JSX.Element;
|
|
298
288
|
//#endregion
|
|
299
|
-
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);
|
|
@@ -72,16 +71,15 @@ const SearchIcon = icon(Search);
|
|
|
72
71
|
const SidebarIcon = icon(PanelLeft);
|
|
73
72
|
const TerminalIcon = icon(Terminal);
|
|
74
73
|
const LinkIcon = icon(Link2);
|
|
74
|
+
const KeyboardIcon = icon(Keyboard);
|
|
75
75
|
const QueueIcon = icon(ListRestart);
|
|
76
76
|
const TrashIcon = icon(Trash2);
|
|
77
77
|
const WarningIcon = icon(TriangleAlert);
|
|
78
78
|
const BoxIcon = icon(Box);
|
|
79
79
|
const BrainIcon = icon(Brain);
|
|
80
80
|
const CalendarIcon = icon(CalendarDays);
|
|
81
|
-
const HashIcon = icon(Hash);
|
|
82
81
|
const WrenchIcon = icon(Wrench);
|
|
83
82
|
const InfoIcon = icon(Info);
|
|
84
|
-
const ImageIcon = icon(Image);
|
|
85
83
|
const MonitorIcon = icon(Monitor);
|
|
86
84
|
const MessageSquareIcon = icon(MessageSquare);
|
|
87
85
|
const McpIcon = brandIcon(SiModelcontextprotocol);
|
|
@@ -92,4 +90,4 @@ const SunIcon = icon(Sun);
|
|
|
92
90
|
const TargetIcon = icon(Target);
|
|
93
91
|
const MaximizeIcon = icon(Maximize2);
|
|
94
92
|
//#endregion
|
|
95
|
-
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 };
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
box-shadow: var(--sigvelo-elevation-raised);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
.agent-attention[data-tone="
|
|
16
|
-
border-color: var(--sigvelo-color-
|
|
15
|
+
.agent-attention[data-tone="attention"] {
|
|
16
|
+
border-color: var(--sigvelo-color-danger-border);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
.agent-attention__header,
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
background: var(--sigvelo-color-neutral-bg-subtle);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
.agent-attention[data-tone="
|
|
49
|
-
color: var(--sigvelo-color-
|
|
50
|
-
background: var(--sigvelo-color-
|
|
48
|
+
.agent-attention[data-tone="attention"] .agent-attention__icon {
|
|
49
|
+
color: var(--sigvelo-color-danger-text);
|
|
50
|
+
background: var(--sigvelo-color-danger-bg-subtle);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.agent-attention__icon > :is(svg, img) {
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
.agent-chat {
|
|
2
|
-
--agent-chat-content-max-inline-size
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
/* Hooks, not constants: hosts set --agent-chat-content-max-inline-size or
|
|
3
|
+
--agent-chat-composer-scrim-fade on any ancestor. Declaring them here
|
|
4
|
+
would beat every inherited value, so the defaults live in the fallbacks
|
|
5
|
+
at each use site. */
|
|
5
6
|
container: agent-chat / inline-size;
|
|
6
7
|
position: relative;
|
|
7
8
|
inline-size: 100%;
|
|
8
9
|
block-size: 100%;
|
|
9
10
|
min-inline-size: 0;
|
|
10
11
|
min-block-size: 0;
|
|
11
|
-
|
|
12
|
+
/* The colour the lane rests on. Hosts that seat the conversation on the
|
|
13
|
+
underlay rather than a plane of its own inherit --agent-chat-surface down
|
|
14
|
+
to here, so the composer's scrim dissolves into what is actually behind
|
|
15
|
+
it. Declared as a fallback rather than on .agent-chat itself: a local
|
|
16
|
+
custom property would beat the ancestor's value. */
|
|
17
|
+
background-color: var(--agent-chat-surface, var(--sigvelo-color-surface));
|
|
12
18
|
color: var(--sigvelo-color-text);
|
|
13
19
|
font-family: inherit;
|
|
14
20
|
}
|
|
@@ -34,12 +40,15 @@
|
|
|
34
40
|
block padding), so the inline gutters land OUTSIDE this size — subtract
|
|
35
41
|
them from the full-width term or the padding box overflows the viewport
|
|
36
42
|
and end-aligned user rows hang past the right edge. */
|
|
37
|
-
inline-size: min(
|
|
43
|
+
inline-size: min(
|
|
44
|
+
100% - 2 * var(--sigvelo-spacing-4),
|
|
45
|
+
var(--agent-chat-content-max-inline-size, 64rem)
|
|
46
|
+
);
|
|
38
47
|
margin-inline: auto;
|
|
39
48
|
/* Clearance = composer + its scrim band, so a transcript resting at the
|
|
40
49
|
bottom never sits inside the fade. */
|
|
41
50
|
padding-block: var(--message-scroller-virtual-block-start)
|
|
42
|
-
calc(var(--agent-chat-composer-size, 5rem) + var(--agent-chat-composer-scrim-fade));
|
|
51
|
+
calc(var(--agent-chat-composer-size, 5rem) + var(--agent-chat-composer-scrim-fade, 2.5rem));
|
|
43
52
|
padding-inline: var(--sigvelo-spacing-4);
|
|
44
53
|
}
|
|
45
54
|
|
|
@@ -89,7 +98,7 @@
|
|
|
89
98
|
|
|
90
99
|
display: grid;
|
|
91
100
|
grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
92
|
-
inline-size: min(100%, var(--agent-chat-content-max-inline-size));
|
|
101
|
+
inline-size: min(100%, var(--agent-chat-content-max-inline-size, 64rem));
|
|
93
102
|
min-block-size: 100%;
|
|
94
103
|
margin-inline: auto;
|
|
95
104
|
padding-block: max(var(--agent-chat-start-screen-padding-block), env(safe-area-inset-top, 0px))
|
|
@@ -360,24 +369,25 @@
|
|
|
360
369
|
position: absolute;
|
|
361
370
|
z-index: -1;
|
|
362
371
|
inset: 0;
|
|
363
|
-
inset-block-start: calc(-1 * var(--agent-chat-composer-scrim-fade));
|
|
372
|
+
inset-block-start: calc(-1 * var(--agent-chat-composer-scrim-fade, 2.5rem));
|
|
364
373
|
content: "";
|
|
365
374
|
pointer-events: none;
|
|
366
375
|
background: linear-gradient(
|
|
367
376
|
to bottom,
|
|
368
377
|
transparent,
|
|
369
|
-
var(--
|
|
378
|
+
var(--agent-chat-surface, var(--sigvelo-color-surface))
|
|
379
|
+
var(--agent-chat-composer-scrim-fade, 2.5rem)
|
|
370
380
|
);
|
|
371
381
|
}
|
|
372
382
|
|
|
373
383
|
.agent-chat__composer > .prompt-input {
|
|
374
384
|
z-index: 1;
|
|
375
|
-
inline-size: min(100%, var(--agent-chat-content-max-inline-size));
|
|
385
|
+
inline-size: min(100%, var(--agent-chat-content-max-inline-size, 64rem));
|
|
376
386
|
margin-inline: auto;
|
|
377
387
|
padding-block: var(--sigvelo-spacing-3);
|
|
378
388
|
}
|
|
379
389
|
|
|
380
|
-
/* Transient status
|
|
390
|
+
/* Transient status between transcript and composer (recovery, errors). */
|
|
381
391
|
.agent-chat__notice {
|
|
382
392
|
display: flex;
|
|
383
393
|
align-items: center;
|
|
@@ -397,7 +407,7 @@
|
|
|
397
407
|
flex-direction: column;
|
|
398
408
|
align-items: stretch;
|
|
399
409
|
inline-size: calc(
|
|
400
|
-
min(100%, var(--agent-chat-content-max-inline-size)) - var(--sigvelo-spacing-10)
|
|
410
|
+
min(100%, var(--agent-chat-content-max-inline-size, 64rem)) - var(--sigvelo-spacing-10)
|
|
401
411
|
);
|
|
402
412
|
margin-inline: auto;
|
|
403
413
|
}
|
|
@@ -528,6 +538,31 @@
|
|
|
528
538
|
spare pixels under it. Only the height query below drops the centring, and
|
|
529
539
|
only where there is genuinely no room for it. */
|
|
530
540
|
@container agent-chat (width <= 36rem) {
|
|
541
|
+
.agent-chat__transcript-content {
|
|
542
|
+
/* A notch pushes the first row down only as far as it must: the desktop
|
|
543
|
+
inset already clears shallow insets, so only deeper ones add height. */
|
|
544
|
+
--message-scroller-virtual-block-start: max(
|
|
545
|
+
var(--sigvelo-spacing-8),
|
|
546
|
+
calc(var(--sigvelo-spacing-5) + env(safe-area-inset-top, 0px))
|
|
547
|
+
);
|
|
548
|
+
|
|
549
|
+
inline-size: min(
|
|
550
|
+
100% - 2 * var(--sigvelo-spacing-3),
|
|
551
|
+
var(--agent-chat-content-max-inline-size, 64rem)
|
|
552
|
+
);
|
|
553
|
+
padding-inline: var(--sigvelo-spacing-3);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.agent-chat .message[data-from="assistant"] .message__content {
|
|
557
|
+
inline-size: 100%;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
.agent-chat__composer {
|
|
561
|
+
padding-block-end: max(var(--sigvelo-spacing-4), env(safe-area-inset-bottom, 0px));
|
|
562
|
+
padding-inline: max(var(--sigvelo-spacing-3), env(safe-area-inset-left, 0px))
|
|
563
|
+
max(var(--sigvelo-spacing-3), env(safe-area-inset-right, 0px));
|
|
564
|
+
}
|
|
565
|
+
|
|
531
566
|
.agent-chat-start-screen__content {
|
|
532
567
|
--agent-chat-start-screen-padding-block: var(--sigvelo-spacing-5);
|
|
533
568
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.agent-tool-detail {
|
|
2
2
|
display: grid;
|
|
3
|
-
grid-template-rows: auto auto minmax(0, 1fr)
|
|
3
|
+
grid-template-rows: auto auto minmax(0, 1fr);
|
|
4
4
|
min-inline-size: 0;
|
|
5
5
|
block-size: 100%;
|
|
6
6
|
background-color: var(--sigvelo-color-surface);
|
|
@@ -47,18 +47,8 @@
|
|
|
47
47
|
block-size: 100%;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
.agent-tool-detail > .subagent-run__actions {
|
|
51
|
-
grid-row: 4;
|
|
52
|
-
display: flex;
|
|
53
|
-
justify-content: center;
|
|
54
|
-
padding: var(--sigvelo-spacing-2) var(--sigvelo-spacing-3);
|
|
55
|
-
border-block-start: var(--sigvelo-border-width) var(--sigvelo-border-style)
|
|
56
|
-
var(--sigvelo-color-neutral-border-subtle);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
50
|
@media (forced-colors: active) {
|
|
60
|
-
.agent-tool-detail__run-state
|
|
61
|
-
.agent-tool-detail > .subagent-run__actions {
|
|
51
|
+
.agent-tool-detail__run-state {
|
|
62
52
|
border-color: CanvasText;
|
|
63
53
|
}
|
|
64
54
|
}
|
package/dist/styles/app-icon.css
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/* A mark sits flat on whatever canvas hosts it — the tile never paints its
|
|
2
|
+
own background. Elevation is a drop shadow that follows the mark's own
|
|
3
|
+
silhouette, so a transparent favicon casts its shape, not an invisible box. */
|
|
1
4
|
.avatar.app-icon {
|
|
2
5
|
--sigvelo-recipe-app-icon-size: var(--sigvelo-spacing-8);
|
|
3
6
|
--sigvelo-recipe-app-icon-radius: 30%;
|
|
@@ -11,10 +14,11 @@
|
|
|
11
14
|
flex: none;
|
|
12
15
|
overflow: hidden;
|
|
13
16
|
border-radius: var(--sigvelo-recipe-app-icon-radius);
|
|
14
|
-
background:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
background: transparent;
|
|
18
|
+
filter: drop-shadow(
|
|
19
|
+
0 var(--sigvelo-border-width) var(--sigvelo-spacing-0-5)
|
|
20
|
+
color-mix(in oklab, transparent, var(--sigvelo-color-shadow) 25%)
|
|
21
|
+
);
|
|
18
22
|
user-select: none;
|
|
19
23
|
}
|
|
20
24
|
|
|
@@ -40,24 +44,15 @@
|
|
|
40
44
|
padding: var(--sigvelo-spacing-2);
|
|
41
45
|
}
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
background: var(--sigvelo-color-surface-raised);
|
|
45
|
-
}
|
|
47
|
+
/* The surface variant keeps only the inset; the mark stays flat on the canvas. */
|
|
46
48
|
|
|
47
49
|
.app-icon[data-app-icon-variant="contrast"] {
|
|
48
50
|
background: var(--sigvelo-color-primary-bg);
|
|
49
51
|
color: var(--sigvelo-color-primary-text-on-bg);
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
inset: 0;
|
|
55
|
-
border-radius: inherit;
|
|
56
|
-
box-shadow: inset 0 0 0 var(--sigvelo-border-width-hairline)
|
|
57
|
-
color-mix(in oklab, transparent, var(--sigvelo-color-shadow) 10%);
|
|
58
|
-
content: "";
|
|
59
|
-
pointer-events: none;
|
|
60
|
-
}
|
|
54
|
+
/* Full-bleed artwork brings its own edges; a hairline ring around a flat
|
|
55
|
+
transparent mark would outline an invisible box, so no variant draws one. */
|
|
61
56
|
|
|
62
57
|
.app-icon__image,
|
|
63
58
|
.app-icon__fallback,
|
|
@@ -80,7 +75,7 @@
|
|
|
80
75
|
align-items: center;
|
|
81
76
|
justify-content: center;
|
|
82
77
|
border-radius: inherit;
|
|
83
|
-
background:
|
|
78
|
+
background: transparent;
|
|
84
79
|
color: var(--sigvelo-color-text-muted);
|
|
85
80
|
font-size: var(--sigvelo-text-xs);
|
|
86
81
|
font-weight: var(--sigvelo-font-weight-semibold);
|
|
@@ -94,7 +89,6 @@
|
|
|
94
89
|
.app-icon-stack {
|
|
95
90
|
display: inline-flex;
|
|
96
91
|
align-items: center;
|
|
97
|
-
block-size: 0;
|
|
98
92
|
isolation: isolate;
|
|
99
93
|
}
|
|
100
94
|
|