@mcp-b/react-components 0.20.5 → 0.22.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/{AgentActivity-D2SHSGFX.d.ts → AgentActivity-D3OvrC02.d.ts} +14 -1
- package/dist/{AgentChat-C-ZyXbJz.d.ts → AgentChat-Bm1qYbOo.d.ts} +24 -1
- package/dist/AgentChatStartScreen-DDZ25aax.d.ts +60 -0
- package/dist/{Button-yRInko9u.d.ts → Button-SBIz6Lqi.d.ts} +2 -1
- package/dist/{CodeBlock-ygtuzqJd.js → CodeBlock-Cp67Njo3.js} +1 -1
- package/dist/{CodeBlock-Bbls1CnA.d.ts → CodeBlock-yMpGqScn.d.ts} +1 -1
- package/dist/Dialog-BD8NBKaE.d.ts +122 -0
- package/dist/{FileTree-CdgfccsM.js → FileTree-DW60q1w7.js} +1 -1
- package/dist/IconButton-CFKhu6OR.d.ts +35 -0
- package/dist/{Message-DzuteocT.js → Message-_-bEYLAO.js} +9 -16
- package/dist/{ModelSelector-pecWyOFI.js → ModelSelector-Brvj9Cab.js} +15 -8
- package/dist/{PromptInput-Cq-8RoXD.d.ts → PromptInput-BjoPWaaG.d.ts} +15 -2
- package/dist/{ThinkChatActivity-CdbL0aoA.d.ts → ThinkChatActivity-2BobmuvR.d.ts} +8 -7
- package/dist/{ThinkChatActivitySummary-D1xOrNrq.d.ts → ThinkChatActivitySummary-kr5fE0wg.d.ts} +14 -5
- package/dist/{ToggleGroup-DNd6cDJZ.d.ts → ToggleGroup-BW1jrhAF.d.ts} +10 -0
- package/dist/{Workspace-CWtust-2.d.ts → Workspace-CIycQ4xE.d.ts} +1 -1
- package/dist/{WorkspaceExplorer-DGigwsgH.d.ts → WorkspaceExplorer-BCipn7Vd.d.ts} +1 -1
- package/dist/{WorkspaceFile-D8Un_xge.d.ts → WorkspaceFile-DMtRMwVv.d.ts} +1 -1
- package/dist/{WorkspaceFileView-Bxx4wEzJ.js → WorkspaceFileView-rUEN2iox.js} +4 -4
- package/dist/assets/think-browser-host.png +0 -0
- package/dist/components/ActionGuide.d.ts +85 -0
- package/dist/components/ActionGuide.js +94 -0
- package/dist/components/Activity.d.ts +33 -17
- package/dist/components/Activity.js +40 -28
- package/dist/components/AgentActivity.d.ts +1 -1
- package/dist/components/AgentActivity.js +3 -11
- package/dist/components/AgentActivityPreview.d.ts +1 -1
- package/dist/components/AgentActivityPreview.js +17 -16
- package/dist/components/AgentAttention.d.ts +1 -1
- package/dist/components/AgentChat.d.ts +1 -1
- package/dist/components/AgentChat.js +169 -136
- package/dist/components/AgentChatStartScreen.d.ts +2 -0
- package/dist/components/AgentChatStartScreen.js +88 -0
- package/dist/components/AgentConnection.d.ts +1 -1
- package/dist/components/AgentConnection.js +2 -2
- package/dist/components/AgentMessageParts.js +1 -1
- package/dist/components/AgentToolDetail.js +1 -1
- package/dist/components/AlertDialog.d.ts +2 -1
- package/dist/components/AlertDialog.js +8 -2
- package/dist/components/AppIcon.d.ts +58 -0
- package/dist/components/AppIcon.js +51 -0
- package/dist/components/AppTopBar.js +9 -10
- package/dist/components/Approval.js +3 -5
- package/dist/components/Artifact.d.ts +3 -7
- package/dist/components/Artifact.js +12 -18
- package/dist/components/Avatar.d.ts +7 -2
- package/dist/components/Avatar.js +4 -2
- package/dist/components/BrowserLiveView.js +6 -8
- package/dist/components/BrowserReplay.js +9 -9
- package/dist/components/BrowserRunPanel.js +2 -2
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/ChainOfThought.d.ts +1 -1
- package/dist/components/ChainOfThought.js +1 -1
- package/dist/components/ChatGptSignInScreen.js +2 -2
- package/dist/components/Checkbox.js +1 -1
- package/dist/components/Checkpoint.js +1 -1
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.js +1 -1
- package/dist/components/Commit.d.ts +1 -1
- package/dist/components/Commit.js +3 -3
- package/dist/components/ContextMenu.js +1 -1
- package/dist/components/Conversation.d.ts +3 -24
- package/dist/components/Conversation.js +6 -34
- package/dist/components/Dialog.d.ts +1 -117
- package/dist/components/Dialog.js +9 -1
- package/dist/components/EmptyState.d.ts +46 -0
- package/dist/components/EmptyState.js +50 -0
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +2 -2
- package/dist/components/FileTree.js +1 -1
- package/dist/components/IconButton.d.ts +1 -31
- package/dist/components/IconButton.js +2 -1
- package/dist/components/Kbd.d.ts +32 -0
- package/dist/components/Kbd.js +34 -0
- package/dist/components/McpConnectionRequest.d.ts +1 -1
- package/dist/components/McpConnectionRequest.js +1 -1
- package/dist/components/McpPluginCatalog.d.ts +86 -0
- package/dist/components/McpPluginCatalog.js +364 -0
- package/dist/components/McpServerPicker.d.ts +2 -2
- package/dist/components/McpServerPicker.js +7 -13
- package/dist/components/MediaPreviewCard.js +1 -1
- package/dist/components/Menubar.js +1 -1
- package/dist/components/Message.d.ts +4 -8
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +1 -1
- package/dist/components/MessageScroller.js +1 -1
- package/dist/components/ModelSelector.d.ts +12 -6
- package/dist/components/ModelSelector.js +2 -2
- package/dist/components/Plan.js +1 -1
- package/dist/components/PricingBillingToggle.js +1 -0
- package/dist/components/PricingPlanCard.d.ts +1 -1
- package/dist/components/PricingPlanCard.js +10 -12
- package/dist/components/PromptInput.d.ts +2 -2
- package/dist/components/PromptInput.js +30 -12
- package/dist/components/Queue.d.ts +1 -1
- package/dist/components/Queue.js +2 -2
- package/dist/components/Reasoning.js +5 -10
- package/dist/components/ResponsiveSidebarShell.js +2 -1
- package/dist/components/SearchField.js +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Sources.js +1 -1
- package/dist/components/StatusPill.d.ts +43 -0
- package/dist/components/StatusPill.js +35 -0
- package/dist/components/Stepper.js +1 -1
- package/dist/components/SubagentRunIndicator.js +1 -1
- package/dist/components/SubagentRunSelector.js +1 -1
- package/dist/components/Task.js +1 -1
- package/dist/components/Terminal.d.ts +3 -3
- package/dist/components/Terminal.js +7 -8
- package/dist/components/TestResults.js +1 -1
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChat.d.ts +12 -6
- package/dist/components/ThinkChatActivity.d.ts +2 -2
- package/dist/components/ThinkChatActivity.js +28 -16
- package/dist/components/ThinkChatActivitySummary.d.ts +2 -2
- package/dist/components/ThinkChatActivitySummary.js +67 -64
- package/dist/components/ThinkChatToolPanels.js +1 -1
- package/dist/components/ThinkExecutionDetail.js +5 -5
- package/dist/components/ThinkExecutionStatus.js +1 -1
- package/dist/components/ThinkExecutionWorkbench.js +19 -25
- package/dist/components/ThinkFullApp.d.ts +8 -4
- package/dist/components/ThinkFullApp.js +17 -2
- package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/ThinkRoutineBrowser.js +3 -2
- package/dist/components/ThinkRoutineForm.js +3 -3
- package/dist/components/ThinkRoutineLibrary.js +2 -2
- package/dist/components/ThinkRoutineRuns.js +4 -3
- package/dist/components/ThinkThreadPicker.js +5 -4
- package/dist/components/Toast.d.ts +12 -2
- package/dist/components/Toast.js +14 -4
- package/dist/components/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup.js +54 -7
- package/dist/components/ToolInvocation.js +1 -1
- package/dist/components/Tooltip.d.ts +6 -4
- package/dist/components/Tooltip.js +11 -4
- package/dist/components/WebPreview.d.ts +13 -6
- package/dist/components/WebPreview.js +55 -50
- package/dist/components/Workspace.d.ts +1 -1
- package/dist/components/WorkspaceBrowser.d.ts +1 -1
- package/dist/components/WorkspaceBrowser.js +1 -1
- package/dist/components/WorkspaceExplorer.d.ts +3 -3
- package/dist/components/WorkspaceExplorer.js +1 -1
- package/dist/components/WorkspaceFile.d.ts +1 -1
- package/dist/components/WorkspaceFileView.d.ts +1 -1
- package/dist/components/WorkspaceFileView.js +1 -1
- package/dist/components/WorkspaceHeader.js +1 -1
- package/dist/components/icons.d.ts +2 -2
- package/dist/components/icons.js +2 -2
- package/dist/{copy-button-BrvQ7z4W.d.ts → copy-button-EBv_B9F6.d.ts} +2 -2
- package/dist/{copy-button-vo1paUSi.js → copy-button-TWq8nZhc.js} +8 -8
- package/dist/{icons-DyOM0EJs.js → icons-ua6f_GH3.js} +3 -2
- package/dist/{icons-DkRtZmvT.d.ts → icons-wP1yFUXF.d.ts} +6 -1
- package/dist/mcp-server-catalog-DycejaJ5.d.ts +1077 -0
- package/dist/styles/action-guide.css +128 -0
- package/dist/styles/activity-header.css +41 -10
- package/dist/styles/activity.css +26 -4
- package/dist/styles/agent-activity-preview-overlay.css +51 -12
- package/dist/styles/agent-activity-preview.css +23 -53
- package/dist/styles/agent-attention.css +2 -2
- package/dist/styles/agent-chat.css +291 -57
- package/dist/styles/agent-connection.css +8 -8
- package/dist/styles/alert-dialog.css +5 -20
- package/dist/styles/app-icon.css +122 -0
- package/dist/styles/app-top-bar.css +4 -5
- package/dist/styles/approval.css +1 -7
- package/dist/styles/artifact.css +4 -4
- package/dist/styles/avatar.css +13 -0
- package/dist/styles/base-ui-motion.css +1 -1
- package/dist/styles/base.css +94 -3
- package/dist/styles/browser-control-overlay.css +16 -7
- package/dist/styles/browser-live-view.css +5 -38
- package/dist/styles/browser-replay.css +2 -6
- package/dist/styles/browser-run-panel.css +4 -18
- package/dist/styles/button.css +17 -1
- package/dist/styles/card.css +4 -4
- package/dist/styles/chain-of-thought.css +0 -1
- package/dist/styles/chatgpt-sign-in-screen.css +7 -5
- package/dist/styles/checkbox-group.css +3 -3
- package/dist/styles/code-block.css +4 -4
- package/dist/styles/context-menu.css +1 -1
- package/dist/styles/conversation.css +7 -42
- package/dist/styles/description-list.css +4 -4
- package/dist/styles/dialog.css +22 -7
- package/dist/styles/empty-state.css +48 -0
- package/dist/styles/environment-variables.css +4 -4
- package/dist/styles/field.css +2 -2
- package/dist/styles/index.css +6 -0
- package/dist/styles/inline-citation.css +1 -1
- package/dist/styles/kbd.css +40 -0
- package/dist/styles/mcp-plugin-catalog.css +296 -0
- package/dist/styles/mcp-server-picker.css +0 -26
- package/dist/styles/media-preview-card.css +5 -3
- package/dist/styles/message-scroller.css +4 -4
- package/dist/styles/message.css +11 -6
- package/dist/styles/model-selector.css +5 -8
- package/dist/styles/popover.css +1 -1
- package/dist/styles/preview-card.css +1 -1
- package/dist/styles/prompt-input.css +44 -54
- package/dist/styles/queue.css +2 -2
- package/dist/styles/recipes.css +83 -9
- package/dist/styles/resizable-side-panel.css +1 -1
- package/dist/styles/responsive-sidebar-shell.css +19 -14
- package/dist/styles/scrollbars.css +32 -3
- package/dist/styles/search-field.css +9 -0
- package/dist/styles/sources.css +1 -1
- package/dist/styles/status-pill.css +39 -0
- package/dist/styles/stepper.css +2 -2
- package/dist/styles/streamdown.css +13 -12
- package/dist/styles/subagent-run.css +3 -3
- package/dist/styles/switch.css +1 -3
- package/dist/styles/tabs.css +1 -1
- package/dist/styles/task.css +1 -1
- package/dist/styles/terminal.css +2 -2
- package/dist/styles/test-results.css +1 -2
- package/dist/styles/textarea.css +1 -1
- package/dist/styles/theme-mode-control.css +1 -1
- package/dist/styles/think-execution-status.css +4 -23
- package/dist/styles/think-execution-workbench.css +2 -3
- package/dist/styles/think-full-app.css +24 -4
- package/dist/styles/think-routine-library.css +14 -16
- package/dist/styles/think-thread-picker.css +9 -26
- package/dist/styles/toast.css +2 -23
- package/dist/styles/toggle-group.css +76 -3
- package/dist/styles/tooltip.css +1 -2
- package/dist/styles/utilities.css +73 -0
- package/dist/styles/web-preview.css +5 -0
- package/dist/styles/workspace-explorer.css +4 -6
- package/dist/utils/favicon.d.ts +10 -0
- package/dist/utils/favicon.js +18 -0
- package/dist/utils/mcp-server-catalog.d.ts +2 -1078
- package/dist/utils/mcp-server-catalog.js +3 -11
- package/dist/utils/structured-code.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Q as WarningIcon, b as EyeIcon, et as XIcon, k as MaximizeIcon, m as CodeIcon, u as CheckIcon, v as DownloadIcon } from "./icons-DyOM0EJs.js";
|
|
2
|
-
import { t as NavigationLink } from "./navigation-link-Cob7KBlM.js";
|
|
3
1
|
import { buttonVariants } from "./components/Button.js";
|
|
2
|
+
import { $ as WarningIcon, A as MaximizeIcon, d as CheckIcon, h as CodeIcon, tt as XIcon, x as EyeIcon, y as DownloadIcon } from "./icons-ua6f_GH3.js";
|
|
3
|
+
import { t as NavigationLink } from "./navigation-link-Cob7KBlM.js";
|
|
4
4
|
import { c as useWorkspaceNavigationContext, s as useWorkspaceNavigationRestoration } from "./WorkspaceLink-BYYeTQLf.js";
|
|
5
5
|
import { r as formatClock } from "./format-S6uWyoSb.js";
|
|
6
|
-
import { f as MessageResponse, m as createWorkspaceRehypePlugins } from "./Message-
|
|
7
|
-
import { a as CodeBlockCopyButton, i as CodeBlockContent, r as CodeBlockContainer, t as CodeBlock } from "./CodeBlock-
|
|
6
|
+
import { f as MessageResponse, m as createWorkspaceRehypePlugins } from "./Message-_-bEYLAO.js";
|
|
7
|
+
import { a as CodeBlockCopyButton, i as CodeBlockContent, r as CodeBlockContainer, t as CodeBlock } from "./CodeBlock-Cp67Njo3.js";
|
|
8
8
|
import { AppTopBar } from "./components/AppTopBar.js";
|
|
9
9
|
import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./components/WorkspaceFile.js";
|
|
10
10
|
import { WorkspaceHeader } from "./components/WorkspaceHeader.js";
|
|
Binary file
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { r as ButtonProps } from "../Button-SBIz6Lqi.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/ActionGuide.d.ts
|
|
5
|
+
type ActionGuideHeadingLevel = 2 | 3 | 4 | 5 | 6;
|
|
6
|
+
type ActionGuideListLayout = "compact" | "cards" | "list";
|
|
7
|
+
interface ActionGuideProps extends Omit<React.ComponentPropsWithoutRef<"article">, "title"> {
|
|
8
|
+
/** Short, task-oriented introduction to the guide. */
|
|
9
|
+
title: React.ReactNode;
|
|
10
|
+
/** Optional sentence that explains what the guide helps the user do. */
|
|
11
|
+
description?: React.ReactNode;
|
|
12
|
+
/** Semantic heading level for the guide title. */
|
|
13
|
+
headingLevel?: ActionGuideHeadingLevel;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Composable, app-agnostic guide for presenting groups of useful actions.
|
|
17
|
+
*
|
|
18
|
+
* Product code owns the copy, icons, availability, and click behavior. This
|
|
19
|
+
* component owns only the shared article rhythm and responsive layout.
|
|
20
|
+
*/
|
|
21
|
+
declare function ActionGuide({
|
|
22
|
+
title,
|
|
23
|
+
description,
|
|
24
|
+
headingLevel,
|
|
25
|
+
children,
|
|
26
|
+
className,
|
|
27
|
+
"aria-label": ariaLabel,
|
|
28
|
+
"aria-labelledby": ariaLabelledBy,
|
|
29
|
+
ref,
|
|
30
|
+
...props
|
|
31
|
+
}: ActionGuideProps & {
|
|
32
|
+
ref?: React.Ref<HTMLElement>;
|
|
33
|
+
}): React.JSX.Element;
|
|
34
|
+
interface ActionGuideSectionProps extends Omit<React.ComponentPropsWithoutRef<"section">, "title"> {
|
|
35
|
+
/** Label for this group of related actions. */
|
|
36
|
+
title: React.ReactNode;
|
|
37
|
+
/** Semantic heading level for the section title. */
|
|
38
|
+
headingLevel?: ActionGuideHeadingLevel;
|
|
39
|
+
}
|
|
40
|
+
/** A labelled group inside an {@link ActionGuide}. */
|
|
41
|
+
declare function ActionGuideSection({
|
|
42
|
+
title,
|
|
43
|
+
headingLevel,
|
|
44
|
+
children,
|
|
45
|
+
className,
|
|
46
|
+
"aria-label": ariaLabel,
|
|
47
|
+
"aria-labelledby": ariaLabelledBy,
|
|
48
|
+
ref,
|
|
49
|
+
...props
|
|
50
|
+
}: ActionGuideSectionProps & {
|
|
51
|
+
ref?: React.Ref<HTMLElement>;
|
|
52
|
+
}): React.JSX.Element;
|
|
53
|
+
interface ActionGuideListProps extends React.ComponentPropsWithoutRef<"ul"> {
|
|
54
|
+
/** Responsive arrangement for the actions in this group. */
|
|
55
|
+
layout?: ActionGuideListLayout;
|
|
56
|
+
}
|
|
57
|
+
/** Semantic action list with compact, card, and plain-row layouts. */
|
|
58
|
+
declare function ActionGuideList({
|
|
59
|
+
layout,
|
|
60
|
+
className,
|
|
61
|
+
ref,
|
|
62
|
+
...props
|
|
63
|
+
}: ActionGuideListProps & {
|
|
64
|
+
ref?: React.Ref<HTMLUListElement>;
|
|
65
|
+
}): React.JSX.Element;
|
|
66
|
+
interface ActionGuideActionProps extends Omit<ButtonProps, "color" | "iconOnly" | "nativeButton" | "render" | "size" | "variant"> {
|
|
67
|
+
/** Decorative leading glyph or app mark. */
|
|
68
|
+
icon?: React.ReactNode;
|
|
69
|
+
/** Raised actions are prominent; ghost actions form a quieter task list. */
|
|
70
|
+
variant?: "surface" | "ghost";
|
|
71
|
+
}
|
|
72
|
+
/** One native-button action inside an {@link ActionGuideList}. */
|
|
73
|
+
declare function ActionGuideAction({
|
|
74
|
+
icon,
|
|
75
|
+
variant,
|
|
76
|
+
children,
|
|
77
|
+
className,
|
|
78
|
+
type,
|
|
79
|
+
ref,
|
|
80
|
+
...props
|
|
81
|
+
}: ActionGuideActionProps & {
|
|
82
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
83
|
+
}): React.JSX.Element;
|
|
84
|
+
//#endregion
|
|
85
|
+
export { ActionGuide, ActionGuideAction, ActionGuideActionProps, ActionGuideHeadingLevel, ActionGuideList, ActionGuideListLayout, ActionGuideListProps, ActionGuideProps, ActionGuideSection, ActionGuideSectionProps };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { Button } from "./Button.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/ActionGuide.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Composable, app-agnostic guide for presenting groups of useful actions.
|
|
8
|
+
*
|
|
9
|
+
* Product code owns the copy, icons, availability, and click behavior. This
|
|
10
|
+
* component owns only the shared article rhythm and responsive layout.
|
|
11
|
+
*/
|
|
12
|
+
function ActionGuide({ title, description, headingLevel = 2, children, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ref, ...props }) {
|
|
13
|
+
const titleId = React.useId();
|
|
14
|
+
const Title = `h${headingLevel}`;
|
|
15
|
+
return /* @__PURE__ */ jsxs("article", {
|
|
16
|
+
ref,
|
|
17
|
+
"data-slot": "action-guide",
|
|
18
|
+
"data-message-layout": "wide",
|
|
19
|
+
className: cx("action-guide", className),
|
|
20
|
+
"aria-label": ariaLabel,
|
|
21
|
+
"aria-labelledby": ariaLabel ? void 0 : ariaLabelledBy ?? titleId,
|
|
22
|
+
...props,
|
|
23
|
+
children: [/* @__PURE__ */ jsxs("header", {
|
|
24
|
+
"data-slot": "action-guide-header",
|
|
25
|
+
className: "action-guide__header",
|
|
26
|
+
children: [/* @__PURE__ */ jsx(Title, {
|
|
27
|
+
id: titleId,
|
|
28
|
+
"data-slot": "action-guide-title",
|
|
29
|
+
className: "action-guide__title",
|
|
30
|
+
children: title
|
|
31
|
+
}), description ? /* @__PURE__ */ jsx("p", {
|
|
32
|
+
"data-slot": "action-guide-description",
|
|
33
|
+
className: "action-guide__description",
|
|
34
|
+
children: description
|
|
35
|
+
}) : null]
|
|
36
|
+
}), children]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/** A labelled group inside an {@link ActionGuide}. */
|
|
40
|
+
function ActionGuideSection({ title, headingLevel = 3, children, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ref, ...props }) {
|
|
41
|
+
const titleId = React.useId();
|
|
42
|
+
const Title = `h${headingLevel}`;
|
|
43
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
44
|
+
ref,
|
|
45
|
+
"data-slot": "action-guide-section",
|
|
46
|
+
className: cx("action-guide__section", className),
|
|
47
|
+
"aria-label": ariaLabel,
|
|
48
|
+
"aria-labelledby": ariaLabel ? void 0 : ariaLabelledBy ?? titleId,
|
|
49
|
+
...props,
|
|
50
|
+
children: [/* @__PURE__ */ jsx(Title, {
|
|
51
|
+
id: titleId,
|
|
52
|
+
"data-slot": "action-guide-section-title",
|
|
53
|
+
className: "action-guide__section-title",
|
|
54
|
+
children: title
|
|
55
|
+
}), children]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/** Semantic action list with compact, card, and plain-row layouts. */
|
|
59
|
+
function ActionGuideList({ layout = "compact", className, ref, ...props }) {
|
|
60
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
61
|
+
ref,
|
|
62
|
+
"data-slot": "action-guide-list",
|
|
63
|
+
"data-layout": layout,
|
|
64
|
+
className: cx("action-guide__list", className),
|
|
65
|
+
...props
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/** One native-button action inside an {@link ActionGuideList}. */
|
|
69
|
+
function ActionGuideAction({ icon, variant = "surface", children, className, type = "button", ref, ...props }) {
|
|
70
|
+
return /* @__PURE__ */ jsx("li", {
|
|
71
|
+
"data-slot": "action-guide-item",
|
|
72
|
+
className: "action-guide__item",
|
|
73
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
74
|
+
ref,
|
|
75
|
+
...props,
|
|
76
|
+
type,
|
|
77
|
+
variant,
|
|
78
|
+
color: "neutral",
|
|
79
|
+
className: cx("action-guide__action", className),
|
|
80
|
+
children: [icon ? /* @__PURE__ */ jsx("span", {
|
|
81
|
+
"data-slot": "action-guide-action-icon",
|
|
82
|
+
className: "action-guide__action-icon",
|
|
83
|
+
"aria-hidden": true,
|
|
84
|
+
children: icon
|
|
85
|
+
}) : null, /* @__PURE__ */ jsx("span", {
|
|
86
|
+
"data-slot": "action-guide-action-label",
|
|
87
|
+
className: "action-guide__action-label",
|
|
88
|
+
children
|
|
89
|
+
})]
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { ActionGuide, ActionGuideAction, ActionGuideList, ActionGuideSection };
|
|
@@ -3,22 +3,22 @@ import * as React from "react";
|
|
|
3
3
|
|
|
4
4
|
//#region src/components/Activity.d.ts
|
|
5
5
|
interface ActivityProps extends Omit<React.ComponentProps<typeof Collapsible.Root>, "unstyled"> {
|
|
6
|
-
/** While true, the trigger
|
|
6
|
+
/** While true, the trigger action shimmers. */
|
|
7
7
|
isStreaming?: boolean;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* A collapsible activity line that aggregates agent activity (tool calls,
|
|
11
11
|
* file edits, searches) instead of rendering every call as its own block.
|
|
12
12
|
* Borderless, Claude/Codex style: the collapsed state is a single plain text
|
|
13
|
-
* line whose
|
|
14
|
-
*
|
|
13
|
+
* line whose action shimmers while streaming — pass the latest action while
|
|
14
|
+
* streaming, and a short summary once settled. Expanding reveals
|
|
15
15
|
* the full log. Compose with ActivityTrigger, ActivityContent, and
|
|
16
16
|
* ActivityItem.
|
|
17
17
|
*
|
|
18
18
|
* @example
|
|
19
19
|
* ```tsx
|
|
20
20
|
* <Activity isStreaming={running}>
|
|
21
|
-
* <ActivityTrigger
|
|
21
|
+
* <ActivityTrigger action={running ? "Searching code" : "Read 2 files and searched code"} />
|
|
22
22
|
* <ActivityContent>
|
|
23
23
|
* <ActivityItem>Searched code</ActivityItem>
|
|
24
24
|
* <ActivityItem>Edited a file</ActivityItem>
|
|
@@ -35,20 +35,29 @@ declare function Activity({
|
|
|
35
35
|
}: ActivityProps & {
|
|
36
36
|
ref?: React.Ref<HTMLDivElement>;
|
|
37
37
|
}): React.JSX.Element;
|
|
38
|
-
interface ActivityTriggerProps extends Omit<React.ComponentProps<typeof Collapsible.Trigger>, "unstyled"> {
|
|
39
|
-
/**
|
|
40
|
-
|
|
38
|
+
interface ActivityTriggerProps extends Omit<React.ComponentProps<typeof Collapsible.Trigger>, "unstyled" | "children"> {
|
|
39
|
+
/** The action being taken. Defaults to "Working…". */
|
|
40
|
+
action?: React.ReactNode;
|
|
41
|
+
/** What the action is being applied to, rendered quieter. See ActivityHeader. */
|
|
42
|
+
detail?: React.ReactNode;
|
|
41
43
|
/** Optional leading icon for the header. */
|
|
42
44
|
icon?: React.ReactNode;
|
|
43
45
|
}
|
|
44
46
|
interface ActivityHeaderProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
+
/** The action being taken, e.g. "Reading" or "Ran". */
|
|
48
|
+
action?: React.ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* What the action applies to: a path, a command, a query. Rendered in the
|
|
51
|
+
* muted role beside the action, which is what lets a reader find the verb at
|
|
52
|
+
* a glance in a column of activity lines. It also truncates first, so a long
|
|
53
|
+
* command loses its tail rather than pushing the action out of view.
|
|
54
|
+
*/
|
|
55
|
+
detail?: React.ReactNode;
|
|
47
56
|
/** Optional leading activity icon. */
|
|
48
57
|
icon?: React.ReactNode;
|
|
49
58
|
/** Optional trailing affordance supplied by the interactive owner. */
|
|
50
59
|
trailing?: React.ReactNode;
|
|
51
|
-
/** While true, the
|
|
60
|
+
/** While true, the action uses the shared streaming treatment. */
|
|
52
61
|
isStreaming?: boolean;
|
|
53
62
|
}
|
|
54
63
|
/**
|
|
@@ -58,9 +67,10 @@ interface ActivityHeaderProps extends Omit<React.HTMLAttributes<HTMLSpanElement>
|
|
|
58
67
|
*/
|
|
59
68
|
declare function ActivityHeader({
|
|
60
69
|
className,
|
|
70
|
+
detail,
|
|
61
71
|
icon,
|
|
62
72
|
isStreaming,
|
|
63
|
-
|
|
73
|
+
action,
|
|
64
74
|
trailing,
|
|
65
75
|
ref,
|
|
66
76
|
...props
|
|
@@ -68,14 +78,14 @@ declare function ActivityHeader({
|
|
|
68
78
|
ref?: React.Ref<HTMLSpanElement>;
|
|
69
79
|
}): React.JSX.Element;
|
|
70
80
|
/**
|
|
71
|
-
* Clickable header line that toggles the activity log. The
|
|
81
|
+
* Clickable header line that toggles the activity log. The action shimmers
|
|
72
82
|
* while the parent Activity is streaming.
|
|
73
83
|
*/
|
|
74
84
|
declare function ActivityTrigger({
|
|
75
85
|
className,
|
|
76
|
-
|
|
86
|
+
action,
|
|
87
|
+
detail,
|
|
77
88
|
icon,
|
|
78
|
-
children,
|
|
79
89
|
ref,
|
|
80
90
|
...props
|
|
81
91
|
}: ActivityTriggerProps & {
|
|
@@ -92,8 +102,10 @@ declare function ActivityContent({
|
|
|
92
102
|
ref?: React.Ref<HTMLDivElement>;
|
|
93
103
|
}): React.JSX.Element;
|
|
94
104
|
interface ActivityItemGroupProps extends Omit<React.ComponentProps<typeof Collapsible.Root>, "unstyled"> {
|
|
95
|
-
/** The row
|
|
96
|
-
|
|
105
|
+
/** The action the row reports, e.g. "Ran" or "Edited". */
|
|
106
|
+
action: React.ReactNode;
|
|
107
|
+
/** What the action applied to — a path, a command. Rendered muted. */
|
|
108
|
+
detail?: React.ReactNode;
|
|
97
109
|
/** Optional leading icon for the row. */
|
|
98
110
|
icon?: React.ReactNode;
|
|
99
111
|
}
|
|
@@ -104,7 +116,8 @@ interface ActivityItemGroupProps extends Omit<React.ComponentProps<typeof Collap
|
|
|
104
116
|
*/
|
|
105
117
|
declare function ActivityItemGroup({
|
|
106
118
|
className,
|
|
107
|
-
|
|
119
|
+
action,
|
|
120
|
+
detail,
|
|
108
121
|
icon,
|
|
109
122
|
children,
|
|
110
123
|
ref,
|
|
@@ -125,6 +138,8 @@ declare function ActivityText({
|
|
|
125
138
|
interface ActivityItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
126
139
|
/** Optional leading icon for the row. */
|
|
127
140
|
icon?: React.ReactNode;
|
|
141
|
+
/** What the row's action applied to — a path, a command. Rendered muted. */
|
|
142
|
+
detail?: React.ReactNode;
|
|
128
143
|
}
|
|
129
144
|
/**
|
|
130
145
|
* A single activity row — "Searched code", "Edited a file", etc. Free-form
|
|
@@ -133,6 +148,7 @@ interface ActivityItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
133
148
|
declare function ActivityItem({
|
|
134
149
|
className,
|
|
135
150
|
icon,
|
|
151
|
+
detail,
|
|
136
152
|
children,
|
|
137
153
|
ref,
|
|
138
154
|
...props
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "./Collapsible.js";
|
|
3
|
-
import {
|
|
3
|
+
import { m as ChevronRightIcon } from "../icons-ua6f_GH3.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/Activity.tsx
|
|
@@ -8,15 +8,15 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
* A collapsible activity line that aggregates agent activity (tool calls,
|
|
9
9
|
* file edits, searches) instead of rendering every call as its own block.
|
|
10
10
|
* Borderless, Claude/Codex style: the collapsed state is a single plain text
|
|
11
|
-
* line whose
|
|
12
|
-
*
|
|
11
|
+
* line whose action shimmers while streaming — pass the latest action while
|
|
12
|
+
* streaming, and a short summary once settled. Expanding reveals
|
|
13
13
|
* the full log. Compose with ActivityTrigger, ActivityContent, and
|
|
14
14
|
* ActivityItem.
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```tsx
|
|
18
18
|
* <Activity isStreaming={running}>
|
|
19
|
-
* <ActivityTrigger
|
|
19
|
+
* <ActivityTrigger action={running ? "Searching code" : "Read 2 files and searched code"} />
|
|
20
20
|
* <ActivityContent>
|
|
21
21
|
* <ActivityItem>Searched code</ActivityItem>
|
|
22
22
|
* <ActivityItem>Edited a file</ActivityItem>
|
|
@@ -39,7 +39,7 @@ function Activity({ className, isStreaming = false, defaultOpen = false, ref, ..
|
|
|
39
39
|
* disclosure behavior so a transcript, app shell, or injected preview can
|
|
40
40
|
* provide the correct interaction semantics around the same visual.
|
|
41
41
|
*/
|
|
42
|
-
function ActivityHeader({ className, icon, isStreaming = false,
|
|
42
|
+
function ActivityHeader({ className, detail, icon, isStreaming = false, action = "Working…", trailing, ref, ...props }) {
|
|
43
43
|
return /* @__PURE__ */ jsxs("span", {
|
|
44
44
|
ref,
|
|
45
45
|
className: cx("activity__header", className),
|
|
@@ -52,25 +52,23 @@ function ActivityHeader({ className, icon, isStreaming = false, label = "Working
|
|
|
52
52
|
children: icon
|
|
53
53
|
}) : null,
|
|
54
54
|
/* @__PURE__ */ jsx("span", {
|
|
55
|
-
className: "activity__header-
|
|
56
|
-
children:
|
|
55
|
+
className: "activity__header-action",
|
|
56
|
+
children: action
|
|
57
57
|
}),
|
|
58
|
+
detail ? " " : null,
|
|
59
|
+
detail ? /* @__PURE__ */ jsx("span", {
|
|
60
|
+
className: "activity__header-detail",
|
|
61
|
+
children: detail
|
|
62
|
+
}) : null,
|
|
58
63
|
trailing
|
|
59
64
|
]
|
|
60
65
|
});
|
|
61
66
|
}
|
|
62
67
|
/**
|
|
63
|
-
* Clickable header line that toggles the activity log. The
|
|
68
|
+
* Clickable header line that toggles the activity log. The action shimmers
|
|
64
69
|
* while the parent Activity is streaming.
|
|
65
70
|
*/
|
|
66
|
-
function ActivityTrigger({ className,
|
|
67
|
-
if (children !== void 0 && children !== null) return /* @__PURE__ */ jsx(Collapsible.Trigger, {
|
|
68
|
-
ref,
|
|
69
|
-
className: cx("activity__trigger", className),
|
|
70
|
-
...props,
|
|
71
|
-
unstyled: true,
|
|
72
|
-
children
|
|
73
|
-
});
|
|
71
|
+
function ActivityTrigger({ className, action = "Working…", detail, icon, ref, ...props }) {
|
|
74
72
|
return /* @__PURE__ */ jsx(Collapsible.Trigger, {
|
|
75
73
|
ref,
|
|
76
74
|
className: cx("activity__trigger", className),
|
|
@@ -78,7 +76,8 @@ function ActivityTrigger({ className, label = "Working…", icon, children, ref,
|
|
|
78
76
|
unstyled: true,
|
|
79
77
|
children: /* @__PURE__ */ jsx(ActivityHeader, {
|
|
80
78
|
icon,
|
|
81
|
-
|
|
79
|
+
action,
|
|
80
|
+
detail,
|
|
82
81
|
trailing: /* @__PURE__ */ jsx("span", {
|
|
83
82
|
className: "activity__trigger-icon",
|
|
84
83
|
"aria-hidden": "true",
|
|
@@ -105,7 +104,7 @@ function ActivityContent({ className, children, ref, ...props }) {
|
|
|
105
104
|
* like a plain ActivityItem; expanding reveals chrome-free detail (a Terminal,
|
|
106
105
|
* a thought trace) flush inside the outer Activity log.
|
|
107
106
|
*/
|
|
108
|
-
function ActivityItemGroup({ className,
|
|
107
|
+
function ActivityItemGroup({ className, action, detail, icon, children, ref, ...props }) {
|
|
109
108
|
return /* @__PURE__ */ jsxs(Collapsible.Root, {
|
|
110
109
|
ref,
|
|
111
110
|
className: cx("activity__group", className),
|
|
@@ -122,8 +121,13 @@ function ActivityItemGroup({ className, label, icon, children, ref, ...props })
|
|
|
122
121
|
}) : null,
|
|
123
122
|
/* @__PURE__ */ jsx("span", {
|
|
124
123
|
className: "activity__item-text",
|
|
125
|
-
children:
|
|
124
|
+
children: action
|
|
126
125
|
}),
|
|
126
|
+
detail ? " " : null,
|
|
127
|
+
detail ? /* @__PURE__ */ jsx("span", {
|
|
128
|
+
className: "activity__item-detail",
|
|
129
|
+
children: detail
|
|
130
|
+
}) : null,
|
|
127
131
|
/* @__PURE__ */ jsx("span", {
|
|
128
132
|
className: "activity__group-icon",
|
|
129
133
|
"aria-hidden": "true",
|
|
@@ -154,19 +158,27 @@ function ActivityText({ className, children, ref, ...props }) {
|
|
|
154
158
|
* A single activity row — "Searched code", "Edited a file", etc. Free-form
|
|
155
159
|
* content; keep it to one line so the streaming peek reads well.
|
|
156
160
|
*/
|
|
157
|
-
function ActivityItem({ className, icon, children, ref, ...props }) {
|
|
161
|
+
function ActivityItem({ className, icon, detail, children, ref, ...props }) {
|
|
158
162
|
return /* @__PURE__ */ jsxs("div", {
|
|
159
163
|
ref,
|
|
160
164
|
className: cx("activity__item", className),
|
|
161
165
|
...props,
|
|
162
|
-
children: [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
166
|
+
children: [
|
|
167
|
+
icon ? /* @__PURE__ */ jsx("span", {
|
|
168
|
+
className: "activity__item-icon",
|
|
169
|
+
"aria-hidden": "true",
|
|
170
|
+
children: icon
|
|
171
|
+
}) : null,
|
|
172
|
+
/* @__PURE__ */ jsx("span", {
|
|
173
|
+
className: "activity__item-text",
|
|
174
|
+
children
|
|
175
|
+
}),
|
|
176
|
+
detail ? " " : null,
|
|
177
|
+
detail ? /* @__PURE__ */ jsx("span", {
|
|
178
|
+
className: "activity__item-detail",
|
|
179
|
+
children: detail
|
|
180
|
+
}) : null
|
|
181
|
+
]
|
|
170
182
|
});
|
|
171
183
|
}
|
|
172
184
|
/** Scrollable monospaced output inside an ActivityPanel. */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as AgentActivityIconProps, i as AgentActivityIconKind, n as AgentActivityFaviconProps, o as AgentActivityMode, r as AgentActivityIcon, s as AgentActivitySummary, t as AgentActivityFavicon } from "../AgentActivity-
|
|
1
|
+
import { a as AgentActivityIconProps, i as AgentActivityIconKind, n as AgentActivityFaviconProps, o as AgentActivityMode, r as AgentActivityIcon, s as AgentActivitySummary, t as AgentActivityFavicon } from "../AgentActivity-D3OvrC02.js";
|
|
2
2
|
export { AgentActivityFavicon, AgentActivityFaviconProps, AgentActivityIcon, AgentActivityIconKind, AgentActivityIconProps, AgentActivityMode, AgentActivitySummary };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as WarningIcon, B as PencilIcon, C as FileIcon, F as MonitorIcon, G as SearchIcon, O as InfoIcon, Z as TerminalIcon, et as WrenchIcon, k as LinkIcon } from "../icons-ua6f_GH3.js";
|
|
2
|
+
import { inferFaviconUrl } from "../utils/favicon.js";
|
|
2
3
|
import * as React from "react";
|
|
3
4
|
import { jsx } from "react/jsx-runtime";
|
|
4
5
|
//#region src/components/AgentActivity.tsx
|
|
@@ -18,7 +19,7 @@ function AgentActivityIcon({ kind }) {
|
|
|
18
19
|
}
|
|
19
20
|
/** Site favicon for URL-backed activity, with the shared icon vocabulary as fallback. */
|
|
20
21
|
function AgentActivityFavicon({ fallbackKind = "web", url }) {
|
|
21
|
-
const src =
|
|
22
|
+
const src = inferFaviconUrl(url);
|
|
22
23
|
const [failedSrc, setFailedSrc] = React.useState(null);
|
|
23
24
|
if (!src || failedSrc === src) return /* @__PURE__ */ jsx(AgentActivityIcon, { kind: fallbackKind });
|
|
24
25
|
return /* @__PURE__ */ jsx("img", {
|
|
@@ -31,14 +32,5 @@ function AgentActivityFavicon({ fallbackKind = "web", url }) {
|
|
|
31
32
|
onError: () => setFailedSrc(src)
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
|
-
function faviconHref(url) {
|
|
35
|
-
try {
|
|
36
|
-
const parsed = new URL(url);
|
|
37
|
-
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") return null;
|
|
38
|
-
return new URL("/favicon.ico", parsed.origin).href;
|
|
39
|
-
} catch {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
35
|
//#endregion
|
|
44
36
|
export { AgentActivityFavicon, AgentActivityIcon };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as WorkspaceDestination } from "../WorkspaceLink-O-EBKUJ8.js";
|
|
2
|
-
import { s as AgentActivitySummary } from "../AgentActivity-
|
|
2
|
+
import { s as AgentActivitySummary } from "../AgentActivity-D3OvrC02.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/AgentActivityPreview.d.ts
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { $ as WarningIcon, C as FileIcon, j as McpIcon, q as SpinnerIcon, tt as XIcon } from "../icons-ua6f_GH3.js";
|
|
3
3
|
import { ActivityHeader } from "./Activity.js";
|
|
4
4
|
import { AgentActivityFavicon, AgentActivityIcon } from "./AgentActivity.js";
|
|
5
5
|
import { t as NavigationLink } from "../navigation-link-Cob7KBlM.js";
|
|
6
|
+
import { AppIcon } from "./AppIcon.js";
|
|
7
|
+
import { IconButton } from "./IconButton.js";
|
|
6
8
|
import "react";
|
|
7
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
10
|
//#region src/components/AgentActivityPreview.tsx
|
|
@@ -21,10 +23,12 @@ function AgentActivityPreview({ "aria-label": ariaLabel = "Agent activity", bran
|
|
|
21
23
|
"aria-hidden": "true",
|
|
22
24
|
children: brandIcon
|
|
23
25
|
}),
|
|
24
|
-
onDismiss ? /* @__PURE__ */ jsx(
|
|
25
|
-
type: "button",
|
|
26
|
+
onDismiss ? /* @__PURE__ */ jsx(IconButton, {
|
|
26
27
|
className: "agent-activity-preview__dismiss",
|
|
27
|
-
|
|
28
|
+
color: "neutral",
|
|
29
|
+
label: "Hide agent activity",
|
|
30
|
+
size: "sm",
|
|
31
|
+
variant: "ghost",
|
|
28
32
|
onClick: onDismiss,
|
|
29
33
|
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
30
34
|
}) : null,
|
|
@@ -36,7 +40,7 @@ function AgentActivityPreview({ "aria-label": ariaLabel = "Agent activity", bran
|
|
|
36
40
|
children: [/* @__PURE__ */ jsx(NavigationLink, {
|
|
37
41
|
render: renderAgentLink(item),
|
|
38
42
|
className: "agent-activity-preview__row",
|
|
39
|
-
"aria-label": `${item.
|
|
43
|
+
"aria-label": `${item.action}. ${statusLabel(item.status)}. Open agent.`,
|
|
40
44
|
"data-status": item.status,
|
|
41
45
|
children: /* @__PURE__ */ jsx(ActivityHeader, {
|
|
42
46
|
icon: item.url ? /* @__PURE__ */ jsx(AgentActivityFavicon, {
|
|
@@ -44,21 +48,18 @@ function AgentActivityPreview({ "aria-label": ariaLabel = "Agent activity", bran
|
|
|
44
48
|
fallbackKind: item.iconKind
|
|
45
49
|
}) : /* @__PURE__ */ jsx(AgentActivityIcon, { kind: item.iconKind }),
|
|
46
50
|
isStreaming: item.status === "running",
|
|
47
|
-
|
|
51
|
+
action: item.action,
|
|
48
52
|
trailing: /* @__PURE__ */ jsxs("span", {
|
|
49
53
|
className: "agent-activity-preview__trailing",
|
|
50
54
|
"aria-hidden": "true",
|
|
51
|
-
children: [item.favicons?.length ? /* @__PURE__ */ jsx(
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
children: [item.favicons?.length ? /* @__PURE__ */ jsx(AppIcon.Stack, { children: item.favicons.map((favicon) => /* @__PURE__ */ jsxs(AppIcon.Root, {
|
|
56
|
+
size: "sm",
|
|
57
|
+
title: favicon.label,
|
|
58
|
+
children: [/* @__PURE__ */ jsx(AppIcon.Image, {
|
|
54
59
|
src: favicon.src,
|
|
55
|
-
alt: ""
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
decoding: "async",
|
|
59
|
-
referrerPolicy: "no-referrer"
|
|
60
|
-
}, `${favicon.src}:${favicon.label}`))
|
|
61
|
-
}) : null, /* @__PURE__ */ jsx(StatusIcon, { status: item.status })]
|
|
60
|
+
alt: ""
|
|
61
|
+
}), /* @__PURE__ */ jsx(AppIcon.Fallback, { children: favicon.label.slice(0, 1) })]
|
|
62
|
+
}, `${favicon.src}:${favicon.label}`)) }) : null, /* @__PURE__ */ jsx(StatusIcon, { status: item.status })]
|
|
62
63
|
})
|
|
63
64
|
})
|
|
64
65
|
}), item.workspaceDestination && renderWorkspaceFileLink ? /* @__PURE__ */ jsx(NavigationLink, {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as PermissionModeControl, i as AgentChatRenderMessageContext, n as AgentChatComposerDraft, r as AgentChatProps, t as AgentChat } from "../AgentChat-
|
|
1
|
+
import { a as PermissionModeControl, i as AgentChatRenderMessageContext, n as AgentChatComposerDraft, r as AgentChatProps, t as AgentChat } from "../AgentChat-Bm1qYbOo.js";
|
|
2
2
|
export { AgentChat, AgentChatComposerDraft, AgentChatProps, AgentChatRenderMessageContext, PermissionModeControl };
|