@mcp-b/react-components 0.12.0 → 0.14.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-CRmsKg9B.d.ts → AgentChat-Cgb1xuT7.d.ts} +36 -5
- package/dist/{Button-Ct5I6aTu.d.ts → Button-FX_hpqxm.d.ts} +8 -11
- package/dist/{CodeBlock-XNQOupQ3.js → CodeBlock-BUFXG8HW.js} +22 -12
- package/dist/{CodeBlock-CxQXv3C4.d.ts → CodeBlock-DUh9WOGo.d.ts} +13 -7
- package/dist/{Combobox-D9anamNr.d.ts → Combobox-B9Fcd6q-.d.ts} +4 -14
- package/dist/{FileTree-wMyZhhHO.js → FileTree-mpEIcfzA.js} +1 -1
- package/dist/{Menu-BLhnNnRK.d.ts → Menu-Bgu-ufb5.d.ts} +26 -65
- package/dist/{ModelSelector-BB-xB-Es.js → ModelSelector-DVgVBdvw.js} +7 -7
- package/dist/{PromptInput-IyM6ZETj.d.ts → PromptInput-ClNqBiIw.d.ts} +313 -46
- package/dist/Select-Dl_vF_Bt.d.ts +213 -0
- package/dist/{Tabs-D9EAq09D.d.ts → Tabs-3Zc4tb9D.d.ts} +9 -6
- package/dist/{ThinkChat-B3wYahor.js → ThinkChat-7DQ2CogF.js} +34 -2
- package/dist/{ThinkChatActivity-F4KFPcJA.d.ts → ThinkChatActivity-m9orbdeI.d.ts} +1 -1
- package/dist/{attachment-preview-ChtC3HiU.js → attachment-preview-DIs50Q0h.js} +3 -3
- package/dist/components/Accordion.d.ts +17 -6
- package/dist/components/Accordion.js +23 -36
- package/dist/components/Activity.d.ts +5 -5
- package/dist/components/Activity.js +9 -9
- package/dist/components/AgentChat.d.ts +1 -1
- package/dist/components/AgentChat.js +309 -116
- package/dist/components/AgentConnection.js +2 -2
- package/dist/components/AlertDialog.d.ts +40 -32
- package/dist/components/AlertDialog.js +46 -39
- package/dist/components/Artifact.d.ts +1 -1
- package/dist/components/Artifact.js +5 -5
- package/dist/components/Autocomplete.js +10 -2
- package/dist/components/Avatar.d.ts +2 -2
- package/dist/components/Avatar.js +3 -3
- package/dist/components/Badge.d.ts +11 -14
- package/dist/components/Badge.js +10 -18
- package/dist/components/BrowserLiveView.js +26 -36
- package/dist/components/BrowserReplay.js +4 -4
- package/dist/components/BrowserRunPanel.js +1 -1
- package/dist/components/Button.d.ts +2 -2
- package/dist/components/Button.js +7 -30
- package/dist/components/ChainOfThought.d.ts +5 -5
- package/dist/components/ChainOfThought.js +8 -5
- package/dist/components/ChatGptSignInScreen.js +3 -3
- package/dist/components/Checkbox.d.ts +10 -2
- package/dist/components/Checkbox.js +13 -6
- package/dist/components/CheckboxGroup.d.ts +6 -6
- package/dist/components/CheckboxGroup.js +6 -6
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.d.ts +23 -28
- package/dist/components/CodexModelSelector.js +116 -94
- package/dist/components/Collapsible.d.ts +2 -4
- package/dist/components/Collapsible.js +9 -7
- package/dist/components/Combobox.d.ts +2 -2
- package/dist/components/Combobox.js +20 -22
- package/dist/components/Commit.d.ts +5 -5
- package/dist/components/Commit.js +6 -6
- package/dist/components/Context.js +5 -1
- package/dist/components/ContextMenu.d.ts +20 -72
- package/dist/components/ContextMenu.js +46 -56
- package/dist/components/Conversation.d.ts +1 -1
- package/dist/components/Conversation.js +1 -1
- package/dist/components/Dialog.d.ts +38 -30
- package/dist/components/Dialog.js +46 -34
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +5 -5
- package/dist/components/Field.d.ts +3 -3
- package/dist/components/Field.js +7 -8
- package/dist/components/Fieldset.d.ts +2 -2
- package/dist/components/Fieldset.js +2 -2
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Label.d.ts +1 -1
- package/dist/components/Label.js +1 -1
- package/dist/components/McpServerPicker.js +21 -19
- package/dist/components/Menu.d.ts +2 -2
- package/dist/components/Menu.js +39 -49
- package/dist/components/Menubar.d.ts +16 -52
- package/dist/components/Menubar.js +44 -56
- package/dist/components/Message.d.ts +1 -1
- package/dist/components/Message.js +6 -6
- package/dist/components/MessageScroller.d.ts +1 -1
- package/dist/components/MessageScroller.js +1 -1
- package/dist/components/Meter.js +5 -0
- package/dist/components/ModelSelector.d.ts +1 -1
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/NavigationMenu.d.ts +3 -14
- package/dist/components/NavigationMenu.js +22 -38
- package/dist/components/NumberField.js +6 -0
- package/dist/components/Popover.d.ts +21 -44
- package/dist/components/Popover.js +33 -23
- package/dist/components/PreviewCard.d.ts +20 -18
- package/dist/components/PreviewCard.js +30 -20
- package/dist/components/PricingPage.js +30 -29
- package/dist/components/Progress.d.ts +7 -3
- package/dist/components/Progress.js +9 -4
- package/dist/components/PromptInput.d.ts +2 -2
- package/dist/components/PromptInput.js +306 -54
- package/dist/components/Queue.d.ts +7 -7
- package/dist/components/Queue.js +6 -6
- package/dist/components/RadioGroup.d.ts +10 -9
- package/dist/components/RadioGroup.js +8 -9
- package/dist/components/Reasoning.d.ts +4 -4
- package/dist/components/Reasoning.js +10 -6
- package/dist/components/ScrollArea.d.ts +2 -9
- package/dist/components/ScrollArea.js +5 -23
- package/dist/components/Select.d.ts +2 -2
- package/dist/components/Select.js +100 -134
- package/dist/components/Slider.d.ts +10 -7
- package/dist/components/Slider.js +12 -11
- package/dist/components/Sources.d.ts +4 -4
- package/dist/components/Sources.js +8 -5
- package/dist/components/Stepper.js +1 -1
- package/dist/components/Switch.d.ts +6 -3
- package/dist/components/Switch.js +7 -4
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tabs.js +9 -4
- package/dist/components/Task.d.ts +4 -4
- package/dist/components/Task.js +10 -6
- package/dist/components/Terminal.d.ts +2 -2
- package/dist/components/Terminal.js +5 -5
- package/dist/components/TestResults.d.ts +4 -4
- package/dist/components/TestResults.js +5 -5
- package/dist/components/ThinkChat.d.ts +14 -2
- package/dist/components/ThinkChat.js +1 -1
- package/dist/components/ThinkChatActivity.d.ts +1 -1
- package/dist/components/ThinkChatActivity.js +1 -1
- package/dist/components/ThinkChatToolPanels.js +8 -8
- package/dist/components/ThinkExecutionWorkbench.js +28 -28
- package/dist/components/ThinkFullApp.js +8 -8
- package/dist/components/ThinkThreadPicker.js +1 -1
- package/dist/components/ThinkThreadShell.js +5 -5
- package/dist/components/Toast.js +7 -0
- package/dist/components/ToggleGroup.d.ts +6 -2
- package/dist/components/ToggleGroup.js +6 -2
- package/dist/components/Toolbar.js +6 -0
- package/dist/components/Tooltip.d.ts +36 -27
- package/dist/components/Tooltip.js +45 -29
- package/dist/components/WebPreview.d.ts +1 -1
- package/dist/components/WebPreview.js +3 -3
- package/dist/components/WorkspaceExplorer.d.ts +6 -8
- package/dist/components/WorkspaceExplorer.js +6 -6
- package/dist/components/icons.d.ts +2 -2
- package/dist/components/icons.js +2 -2
- package/dist/{copy-button-C6JSKtFE.js → copy-button-DUMLYdsk.js} +7 -6
- package/dist/{copy-button-BKXqGiNm.d.ts → copy-button-DtPMgN7e.d.ts} +3 -2
- package/dist/icons-Ba9THQKz.js +64 -0
- package/dist/icons-CUCz_Sft.d.ts +210 -0
- package/dist/styles/accessibility.css +14 -0
- package/dist/styles/accordion.css +21 -61
- package/dist/styles/activity.css +23 -58
- package/dist/styles/agent-chat.css +45 -4
- package/dist/styles/agent-connection.css +8 -10
- package/dist/styles/alert-dialog.css +20 -26
- package/dist/styles/artifact.css +6 -6
- package/dist/styles/attachment-preview.css +1 -1
- package/dist/styles/autocomplete.css +5 -170
- package/dist/styles/avatar.css +8 -8
- package/dist/styles/badge.css +8 -10
- package/dist/styles/base-ui-motion.css +176 -0
- package/dist/styles/base.css +19 -25
- package/dist/styles/browser-live-view.css +7 -7
- package/dist/styles/browser-replay.css +5 -5
- package/dist/styles/browser-run-panel.css +5 -5
- package/dist/styles/button.css +48 -43
- package/dist/styles/card.css +3 -5
- package/dist/styles/chain-of-thought.css +14 -70
- package/dist/styles/chatgpt-sign-in-screen.css +3 -3
- package/dist/styles/checkbox-group.css +1 -1
- package/dist/styles/checkbox.css +3 -7
- package/dist/styles/code-block.css +10 -10
- package/dist/styles/codex-model-selector.css +33 -44
- package/dist/styles/collapsible.css +11 -27
- package/dist/styles/combobox.css +3 -149
- package/dist/styles/commit.css +19 -35
- package/dist/styles/context-menu.css +1 -77
- package/dist/styles/context.css +12 -12
- package/dist/styles/conversation.css +7 -7
- package/dist/styles/dialog.css +34 -55
- package/dist/styles/environment-variables.css +10 -10
- package/dist/styles/field.css +16 -58
- package/dist/styles/fieldset.css +2 -2
- package/dist/styles/file-tree.css +7 -9
- package/dist/styles/index.css +8 -1
- package/dist/styles/input.css +1 -51
- package/dist/styles/label.css +2 -2
- package/dist/styles/marker.css +2 -4
- package/dist/styles/mcp-server-picker.css +5 -5
- package/dist/styles/menu.css +6 -153
- package/dist/styles/menubar.css +6 -105
- package/dist/styles/message-scroller.css +1 -1
- package/dist/styles/message.css +86 -8
- package/dist/styles/meter.css +4 -20
- package/dist/styles/model-selector.css +13 -13
- package/dist/styles/navigation-menu.css +14 -54
- package/dist/styles/number-field.css +8 -23
- package/dist/styles/popover.css +13 -68
- package/dist/styles/preview-card.css +5 -46
- package/dist/styles/pricing-page.css +43 -43
- package/dist/styles/progress.css +7 -16
- package/dist/styles/prompt-input.css +185 -44
- package/dist/styles/queue.css +12 -28
- package/dist/styles/radio.css +4 -8
- package/dist/styles/reasoning.css +3 -62
- package/dist/styles/recipes.css +475 -0
- package/dist/styles/select.css +7 -103
- package/dist/styles/shell.css +3 -3
- package/dist/styles/slider.css +5 -7
- package/dist/styles/sources.css +9 -66
- package/dist/styles/stepper.css +16 -14
- package/dist/styles/streamdown.css +9 -9
- package/dist/styles/switch.css +4 -7
- package/dist/styles/tabs.css +7 -8
- package/dist/styles/task.css +13 -42
- package/dist/styles/terminal.css +7 -7
- package/dist/styles/test-results.css +21 -37
- package/dist/styles/think-execution-workbench.css +23 -23
- package/dist/styles/think-full-app.css +12 -20
- package/dist/styles/think-resize-handle.css +2 -2
- package/dist/styles/think-thread-picker.css +19 -10
- package/dist/styles/think-thread-shell.css +7 -7
- package/dist/styles/toast.css +14 -25
- package/dist/styles/toggle-group.css +16 -14
- package/dist/styles/toggle.css +14 -15
- package/dist/styles/toolbar.css +13 -25
- package/dist/styles/tooltip.css +6 -16
- package/dist/styles/web-preview.css +15 -15
- package/dist/styles/workspace-explorer.css +14 -13
- package/dist/utils/codex-model-catalog.d.ts +142 -0
- package/dist/utils/codex-model-catalog.js +112 -0
- package/dist/utils/structured-code.d.ts +1 -1
- package/package.json +8 -2
- package/dist/Select-CRsKCJ9x.d.ts +0 -200
- package/dist/icons-CbjtbIJK.d.ts +0 -51
- package/dist/icons-D2Q5n5C1.js +0 -291
|
@@ -34,10 +34,9 @@ interface SwitchThumbProps extends Omit<React.ComponentPropsWithRef<typeof Switc
|
|
|
34
34
|
*
|
|
35
35
|
* @see {@link https://base-ui.com/react/components/switch | Base UI Switch}
|
|
36
36
|
*/
|
|
37
|
-
declare function
|
|
37
|
+
declare function SwitchRoot({
|
|
38
38
|
size,
|
|
39
39
|
className,
|
|
40
|
-
children,
|
|
41
40
|
ref,
|
|
42
41
|
...props
|
|
43
42
|
}: SwitchProps & {
|
|
@@ -53,5 +52,9 @@ declare function SwitchThumb({
|
|
|
53
52
|
}: SwitchThumbProps & {
|
|
54
53
|
ref?: React.Ref<HTMLSpanElement>;
|
|
55
54
|
}): React.JSX.Element;
|
|
55
|
+
declare const Switch: {
|
|
56
|
+
Root: typeof SwitchRoot;
|
|
57
|
+
Thumb: typeof SwitchThumb;
|
|
58
|
+
};
|
|
56
59
|
//#endregion
|
|
57
|
-
export { Switch, SwitchProps,
|
|
60
|
+
export { Switch, SwitchProps, SwitchThumbProps };
|
|
@@ -23,7 +23,7 @@ import { Switch as Switch$1 } from "@base-ui/react/switch";
|
|
|
23
23
|
*
|
|
24
24
|
* @see {@link https://base-ui.com/react/components/switch | Base UI Switch}
|
|
25
25
|
*/
|
|
26
|
-
function
|
|
26
|
+
function SwitchRoot({ size = "default", className = "", ref, ...props }) {
|
|
27
27
|
const normalizedSize = size === "md" ? "default" : size;
|
|
28
28
|
const classes = [
|
|
29
29
|
"switch",
|
|
@@ -35,8 +35,7 @@ function Switch({ size = "default", className = "", children, ref, ...props }) {
|
|
|
35
35
|
"data-slot": "switch",
|
|
36
36
|
"data-size": normalizedSize,
|
|
37
37
|
className: classes,
|
|
38
|
-
...props
|
|
39
|
-
children: children ?? /* @__PURE__ */ jsx(SwitchThumb, {})
|
|
38
|
+
...props
|
|
40
39
|
});
|
|
41
40
|
}
|
|
42
41
|
/**
|
|
@@ -51,5 +50,9 @@ function SwitchThumb({ className = "", ref, ...props }) {
|
|
|
51
50
|
...props
|
|
52
51
|
});
|
|
53
52
|
}
|
|
53
|
+
const Switch = {
|
|
54
|
+
Root: SwitchRoot,
|
|
55
|
+
Thumb: SwitchThumb
|
|
56
|
+
};
|
|
54
57
|
//#endregion
|
|
55
|
-
export { Switch
|
|
58
|
+
export { Switch };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export {
|
|
1
|
+
import { a as TabsListVariantsOptions, i as TabsListProps, n as TabProps, o as TabsProps, r as Tabs, s as tabsListVariants, t as TabPanelProps } from "../Tabs-3Zc4tb9D.js";
|
|
2
|
+
export { TabPanelProps, TabProps, Tabs, TabsListProps, TabsListVariantsOptions, TabsProps, tabsListVariants };
|
package/dist/components/Tabs.js
CHANGED
|
@@ -26,7 +26,7 @@ function tabsListVariants({ variant = "default", className } = {}) {
|
|
|
26
26
|
*
|
|
27
27
|
* @see {@link https://base-ui.com/react/components/tabs | Base UI Tabs}
|
|
28
28
|
*/
|
|
29
|
-
function
|
|
29
|
+
function TabsRoot({ orientation = "horizontal", variant = "default", className = "", ref, ...props }) {
|
|
30
30
|
const classes = [
|
|
31
31
|
"tabs",
|
|
32
32
|
variant !== "default" && `tabs--${variant}`,
|
|
@@ -72,7 +72,12 @@ function TabPanel({ className = "", ref, ...props }) {
|
|
|
72
72
|
...props
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
-
const
|
|
76
|
-
|
|
75
|
+
const Tabs = {
|
|
76
|
+
Root: TabsRoot,
|
|
77
|
+
List: TabsList,
|
|
78
|
+
Tab,
|
|
79
|
+
Indicator: Tabs$1.Indicator,
|
|
80
|
+
Panel: TabPanel
|
|
81
|
+
};
|
|
77
82
|
//#endregion
|
|
78
|
-
export {
|
|
83
|
+
export { Tabs, tabsListVariants };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Collapsible } from "./Collapsible.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/Task.d.ts
|
|
5
|
-
interface TaskProps extends Omit<
|
|
5
|
+
interface TaskProps extends Omit<React.ComponentProps<typeof Collapsible.Root>, "className" | "unstyled"> {
|
|
6
6
|
className?: string;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
@@ -36,7 +36,7 @@ declare function Task({
|
|
|
36
36
|
}: TaskProps & {
|
|
37
37
|
ref?: React.Ref<HTMLDivElement>;
|
|
38
38
|
}): React.JSX.Element;
|
|
39
|
-
interface TaskTriggerProps extends Omit<
|
|
39
|
+
interface TaskTriggerProps extends Omit<React.ComponentProps<typeof Collapsible.Trigger>, "className" | "unstyled"> {
|
|
40
40
|
className?: string;
|
|
41
41
|
/** Heading text shown in the trigger row. */
|
|
42
42
|
title: string;
|
|
@@ -53,7 +53,7 @@ declare function TaskTrigger({
|
|
|
53
53
|
}: TaskTriggerProps & {
|
|
54
54
|
ref?: React.Ref<HTMLButtonElement>;
|
|
55
55
|
}): React.JSX.Element;
|
|
56
|
-
interface TaskContentProps extends Omit<
|
|
56
|
+
interface TaskContentProps extends Omit<React.ComponentProps<typeof Collapsible.Panel>, "className" | "unstyled"> {
|
|
57
57
|
className?: string;
|
|
58
58
|
}
|
|
59
59
|
/**
|
package/dist/components/Task.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Collapsible } from "./Collapsible.js";
|
|
2
2
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
3
|
-
import {
|
|
3
|
+
import { c as ChevronRightIcon, h as FileIcon, j as SearchIcon } from "../icons-Ba9THQKz.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/Task.tsx
|
|
@@ -28,7 +28,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
28
28
|
* @see {@link https://elements.ai-sdk.dev/components/task | AI Elements Task}
|
|
29
29
|
*/
|
|
30
30
|
function Task({ className, defaultOpen = true, ref, ...props }) {
|
|
31
|
-
return /* @__PURE__ */ jsx(
|
|
31
|
+
return /* @__PURE__ */ jsx(Collapsible.Root, {
|
|
32
32
|
ref,
|
|
33
33
|
className: cx("task", className),
|
|
34
34
|
defaultOpen,
|
|
@@ -40,15 +40,17 @@ function Task({ className, defaultOpen = true, ref, ...props }) {
|
|
|
40
40
|
* Clickable header that toggles the task content.
|
|
41
41
|
*/
|
|
42
42
|
function TaskTrigger({ className, title, children, ref, ...props }) {
|
|
43
|
-
if (children !== void 0 && children !== null) return /* @__PURE__ */ jsx(
|
|
43
|
+
if (children !== void 0 && children !== null) return /* @__PURE__ */ jsx(Collapsible.Trigger, {
|
|
44
44
|
ref,
|
|
45
|
+
"data-slot": "task-trigger",
|
|
45
46
|
className: cx("task__trigger", className),
|
|
46
47
|
...props,
|
|
47
48
|
unstyled: true,
|
|
48
49
|
children
|
|
49
50
|
});
|
|
50
|
-
return /* @__PURE__ */ jsxs(
|
|
51
|
+
return /* @__PURE__ */ jsxs(Collapsible.Trigger, {
|
|
51
52
|
ref,
|
|
53
|
+
"data-slot": "task-trigger",
|
|
52
54
|
className: cx("task__trigger", className),
|
|
53
55
|
...props,
|
|
54
56
|
unstyled: true,
|
|
@@ -63,6 +65,7 @@ function TaskTrigger({ className, title, children, ref, ...props }) {
|
|
|
63
65
|
children: title
|
|
64
66
|
}),
|
|
65
67
|
/* @__PURE__ */ jsx("span", {
|
|
68
|
+
"data-slot": "task-trigger-icon",
|
|
66
69
|
className: "task__trigger-icon",
|
|
67
70
|
"aria-hidden": "true",
|
|
68
71
|
children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
|
|
@@ -74,8 +77,9 @@ function TaskTrigger({ className, title, children, ref, ...props }) {
|
|
|
74
77
|
* The collapsible panel containing TaskItem children.
|
|
75
78
|
*/
|
|
76
79
|
function TaskContent({ className, children, ref, ...props }) {
|
|
77
|
-
return /* @__PURE__ */ jsx(
|
|
80
|
+
return /* @__PURE__ */ jsx(Collapsible.Panel, {
|
|
78
81
|
ref,
|
|
82
|
+
"data-slot": "task-content",
|
|
79
83
|
className: cx("task__content", className),
|
|
80
84
|
...props,
|
|
81
85
|
unstyled: true,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as ButtonProps } from "../Button-
|
|
2
|
-
import { t as CopyButtonProps } from "../copy-button-
|
|
1
|
+
import { r as ButtonProps } from "../Button-FX_hpqxm.js";
|
|
2
|
+
import { t as CopyButtonProps } from "../copy-button-DtPMgN7e.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/Terminal.d.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
2
|
-
import {
|
|
2
|
+
import { I as TerminalIcon, z as XIcon } from "../icons-Ba9THQKz.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
|
-
import { Tooltip
|
|
5
|
-
import { t as CopyButton } from "../copy-button-
|
|
4
|
+
import { Tooltip } from "./Tooltip.js";
|
|
5
|
+
import { t as CopyButton } from "../copy-button-DUMLYdsk.js";
|
|
6
6
|
import { Badge } from "./Badge.js";
|
|
7
7
|
import { ScrollArea } from "./ScrollArea.js";
|
|
8
8
|
import * as React from "react";
|
|
@@ -217,7 +217,7 @@ function TerminalClearButton({ className, label = "Clear terminal", onClick, ...
|
|
|
217
217
|
onClear?.();
|
|
218
218
|
onClick?.(e);
|
|
219
219
|
}, [onClear, onClick]);
|
|
220
|
-
return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(
|
|
220
|
+
return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx(Button, {
|
|
221
221
|
variant: "ghost",
|
|
222
222
|
size: "icon",
|
|
223
223
|
"aria-label": label,
|
|
@@ -225,7 +225,7 @@ function TerminalClearButton({ className, label = "Clear terminal", onClick, ...
|
|
|
225
225
|
...props,
|
|
226
226
|
onClick: handleClick,
|
|
227
227
|
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
228
|
-
}) }), /* @__PURE__ */ jsx(
|
|
228
|
+
}) }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, { children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: label }) }) })] });
|
|
229
229
|
}
|
|
230
230
|
const ANSI_REGEX = /\u001b\[[0-9;?]*[a-zA-Z]/g;
|
|
231
231
|
function stripAnsi(input) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Collapsible } from "./Collapsible.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/TestResults.d.ts
|
|
@@ -101,7 +101,7 @@ declare function TestResultsContent({
|
|
|
101
101
|
}: TestResultsContentProps & {
|
|
102
102
|
ref?: React.Ref<HTMLDivElement>;
|
|
103
103
|
}): React.JSX.Element;
|
|
104
|
-
interface TestSuiteProps extends Omit<
|
|
104
|
+
interface TestSuiteProps extends Omit<React.ComponentProps<typeof Collapsible.Root>, "className" | "unstyled"> {
|
|
105
105
|
className?: string;
|
|
106
106
|
name: string;
|
|
107
107
|
status: TestStatusValue;
|
|
@@ -117,7 +117,7 @@ declare function TestSuite({
|
|
|
117
117
|
}: TestSuiteProps & {
|
|
118
118
|
ref?: React.Ref<HTMLDivElement>;
|
|
119
119
|
}): React.JSX.Element;
|
|
120
|
-
type TestSuiteNameProps = Omit<
|
|
120
|
+
type TestSuiteNameProps = Omit<React.ComponentProps<typeof Collapsible.Trigger>, "className" | "unstyled"> & {
|
|
121
121
|
className?: string;
|
|
122
122
|
};
|
|
123
123
|
declare function TestSuiteName({
|
|
@@ -144,7 +144,7 @@ declare function TestSuiteStats({
|
|
|
144
144
|
}: TestSuiteStatsProps & {
|
|
145
145
|
ref?: React.Ref<HTMLDivElement>;
|
|
146
146
|
}): React.JSX.Element;
|
|
147
|
-
type TestSuiteContentProps = Omit<
|
|
147
|
+
type TestSuiteContentProps = Omit<React.ComponentProps<typeof Collapsible.Panel>, "className" | "unstyled"> & {
|
|
148
148
|
className?: string;
|
|
149
149
|
};
|
|
150
150
|
declare function TestSuiteContent({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Collapsible } from "./Collapsible.js";
|
|
2
2
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
3
|
-
import {
|
|
3
|
+
import { N as SpinnerIcon, a as CheckIcon, c as ChevronRightIcon, z as XIcon } from "../icons-Ba9THQKz.js";
|
|
4
4
|
import { Badge } from "./Badge.js";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -169,7 +169,7 @@ function TestSuite({ className, name, status, defaultOpen, children, ref, ...pro
|
|
|
169
169
|
const isComposable = hasComposableTestSuiteChildren(children);
|
|
170
170
|
return /* @__PURE__ */ jsx(TestSuiteContext.Provider, {
|
|
171
171
|
value: contextValue,
|
|
172
|
-
children: /* @__PURE__ */ jsx(
|
|
172
|
+
children: /* @__PURE__ */ jsx(Collapsible.Root, {
|
|
173
173
|
ref,
|
|
174
174
|
className: cx("test-results__suite", className),
|
|
175
175
|
defaultOpen: defaultOpen ?? status === "failed",
|
|
@@ -185,7 +185,7 @@ function TestSuite({ className, name, status, defaultOpen, children, ref, ...pro
|
|
|
185
185
|
}
|
|
186
186
|
function TestSuiteName({ className, children, ref, ...props }) {
|
|
187
187
|
const { name, status } = React.useContext(TestSuiteContext);
|
|
188
|
-
return /* @__PURE__ */ jsxs(
|
|
188
|
+
return /* @__PURE__ */ jsxs(Collapsible.Trigger, {
|
|
189
189
|
ref,
|
|
190
190
|
className: cx("test-results__suite-trigger", className),
|
|
191
191
|
...props,
|
|
@@ -230,7 +230,7 @@ function TestSuiteStats({ className, passed = 0, failed = 0, skipped = 0, childr
|
|
|
230
230
|
});
|
|
231
231
|
}
|
|
232
232
|
function TestSuiteContent({ className, children, ref, ...props }) {
|
|
233
|
-
return /* @__PURE__ */ jsx(
|
|
233
|
+
return /* @__PURE__ */ jsx(Collapsible.Panel, {
|
|
234
234
|
ref,
|
|
235
235
|
className: cx("test-results__suite-content", className),
|
|
236
236
|
...props,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as AgentChatRenderPartContext, r as AgentChatProps } from "../AgentChat-
|
|
1
|
+
import { a as AgentChatRenderPartContext, r as AgentChatProps } from "../AgentChat-Cgb1xuT7.js";
|
|
2
2
|
import { n as BrowserLiveViewProps, t as BrowserLiveView } from "../BrowserLiveView-BV5qgFgI.js";
|
|
3
3
|
import { n as BrowserReplayProps, t as BrowserReplay } from "../BrowserReplay-xWvRjRAC.js";
|
|
4
4
|
import { _ as isThinkChatActivityPart } from "../ThinkChatToolParts-Cv4o7j6F.js";
|
|
5
|
-
import { a as ThinkChatToolRenderers, c as renderThinkChatActivityPart, i as ThinkChatToolRenderer, n as ThinkChatActivityProps, o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, s as describeThinkChatActivityPart, t as ThinkChatActivity } from "../ThinkChatActivity-
|
|
5
|
+
import { a as ThinkChatToolRenderers, c as renderThinkChatActivityPart, i as ThinkChatToolRenderer, n as ThinkChatActivityProps, o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, s as describeThinkChatActivityPart, t as ThinkChatActivity } from "../ThinkChatActivity-m9orbdeI.js";
|
|
6
6
|
import { n as ThinkChatValue } from "../ThinkChatContext-C3Eb1Xpi.js";
|
|
7
7
|
import { FileInfo, UseWorkspaceOptions, WorkspaceExplorer, WorkspaceExplorerProps, WorkspaceFileState, WorkspaceInfo, WorkspaceSource, WorkspaceState, inferWorkspaceLanguage, useWorkspace } from "./WorkspaceExplorer.js";
|
|
8
8
|
import * as React from "react";
|
|
@@ -10,6 +10,7 @@ import { UIMessage } from "ai";
|
|
|
10
10
|
import { UseAgentOptions } from "agents/react";
|
|
11
11
|
import { PendingApproval, Think } from "@cloudflare/think";
|
|
12
12
|
import { AgentStub } from "agents/client";
|
|
13
|
+
import { UseVoiceInputReturn } from "@cloudflare/voice/react";
|
|
13
14
|
|
|
14
15
|
//#region src/components/ThinkChat.d.ts
|
|
15
16
|
interface ThinkChatProviderProps<State = unknown, MessageT extends UIMessage = UIMessage> {
|
|
@@ -32,12 +33,23 @@ interface ThinkChatMessagesProps<MessageT extends UIMessage = UIMessage> extends
|
|
|
32
33
|
emptyState?: React.ReactNode;
|
|
33
34
|
/** Extra controls rendered inside the composer, next to the send button. */
|
|
34
35
|
composerTools?: React.ReactNode;
|
|
36
|
+
/** Whole upstream `useVoiceInput` result for the built-in microphone recorder. */
|
|
37
|
+
voiceInput?: UseVoiceInputReturn;
|
|
38
|
+
/** Host prerequisite run before the built-in recorder calls `voiceInput.start()`. */
|
|
39
|
+
beforeVoiceStart?: AgentChatProps<MessageT>["beforeVoiceStart"];
|
|
40
|
+
/** Optional product state rendered in the PromptInput header, such as an Activity. */
|
|
41
|
+
composerHeader?: AgentChatProps<MessageT>["composerHeader"];
|
|
35
42
|
/** Extra rows rendered in the built-in plus menu after files. */
|
|
36
43
|
composerAddMenuItems?: AgentChatProps<MessageT>["composerAddMenuItems"];
|
|
37
44
|
/** Composer placeholder text. */
|
|
38
45
|
placeholder?: string;
|
|
39
46
|
/** Rendered after each message (e.g. per-message actions). */
|
|
40
47
|
renderMessageAfter?: AgentChatProps<MessageT>["renderMessageAfter"];
|
|
48
|
+
/**
|
|
49
|
+
* Durable backend edit/resend operation. Think does not synchronize
|
|
50
|
+
* `setMessages`, so wire this to an agent callable that creates the branch.
|
|
51
|
+
*/
|
|
52
|
+
onEditAndResend?: AgentChatProps<MessageT>["onEditAndResend"];
|
|
41
53
|
/**
|
|
42
54
|
* Overrides the built-in connection notice (derived from the hook's
|
|
43
55
|
* `isRecovering`/`connectionError`) shown between transcript and composer.
|
|
@@ -2,6 +2,6 @@ import { BrowserLiveView } from "./BrowserLiveView.js";
|
|
|
2
2
|
import { BrowserReplay } from "./BrowserReplay.js";
|
|
3
3
|
import { isThinkChatActivityPart } from "./ThinkChatToolParts.js";
|
|
4
4
|
import { ThinkChatActivity, createThinkChatActivityRenderer, describeThinkChatActivityPart, renderThinkChatActivityPart } from "./ThinkChatActivity.js";
|
|
5
|
-
import { a as useThinkChat, i as ThinkChatRoot, n as ThinkChatMessages, o as useThinkPendingApprovals, r as ThinkChatProvider, t as ThinkChat } from "../ThinkChat-
|
|
5
|
+
import { a as useThinkChat, i as ThinkChatRoot, n as ThinkChatMessages, o as useThinkPendingApprovals, r as ThinkChatProvider, t as ThinkChat } from "../ThinkChat-7DQ2CogF.js";
|
|
6
6
|
import { WorkspaceExplorer, inferWorkspaceLanguage, useWorkspace } from "./WorkspaceExplorer.js";
|
|
7
7
|
export { BrowserLiveView, BrowserReplay, ThinkChat, ThinkChatActivity, ThinkChatMessages, ThinkChatProvider, ThinkChatRoot, WorkspaceExplorer, createThinkChatActivityRenderer, describeThinkChatActivityPart, inferWorkspaceLanguage, isThinkChatActivityPart, renderThinkChatActivityPart, useThinkChat, useThinkPendingApprovals, useWorkspace };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { _ as isThinkChatActivityPart } from "../ThinkChatToolParts-Cv4o7j6F.js";
|
|
2
|
-
import { a as ThinkChatToolRenderers, c as renderThinkChatActivityPart, i as ThinkChatToolRenderer, n as ThinkChatActivityProps, o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, s as describeThinkChatActivityPart, t as ThinkChatActivity } from "../ThinkChatActivity-
|
|
2
|
+
import { a as ThinkChatToolRenderers, c as renderThinkChatActivityPart, i as ThinkChatToolRenderer, n as ThinkChatActivityProps, o as createThinkChatActivityRenderer, r as ThinkChatActivityRendererOptions, s as describeThinkChatActivityPart, t as ThinkChatActivity } from "../ThinkChatActivity-m9orbdeI.js";
|
|
3
3
|
export { ThinkChatActivity, ThinkChatActivityProps, ThinkChatActivityRendererOptions, ThinkChatToolRenderer, ThinkChatToolRenderers, createThinkChatActivityRenderer, describeThinkChatActivityPart, isThinkChatActivityPart, renderThinkChatActivityPart };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { D as PencilIcon, I as TerminalIcon, L as WarningIcon, R as WrenchIcon, b as LinkIcon, h as FileIcon, j as SearchIcon, w as MonitorIcon, y as InfoIcon } from "../icons-Ba9THQKz.js";
|
|
2
2
|
import { Activity, ActivityContent, ActivityItem, ActivityItemGroup, ActivityText, ActivityTrigger } from "./Activity.js";
|
|
3
3
|
import { t as summarizeToolInput } from "../summarize-tool-input-BUJsENSn.js";
|
|
4
4
|
import { useOptionalThinkChatContext } from "./ThinkChatContext.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ActivityOutput, ActivityPanel } from "./Activity.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as CodeBlock } from "../CodeBlock-
|
|
2
|
+
import { Tabs } from "./Tabs.js";
|
|
3
|
+
import { t as CodeBlock } from "../CodeBlock-BUFXG8HW.js";
|
|
4
4
|
import { BrowserLiveView } from "./BrowserLiveView.js";
|
|
5
5
|
import { displayUrl } from "./ThinkChatToolParts.js";
|
|
6
6
|
import * as React from "react";
|
|
@@ -289,25 +289,25 @@ function ThinkChatBrowserPanel({ part }) {
|
|
|
289
289
|
label: "Browser",
|
|
290
290
|
status: executeStatusText(output),
|
|
291
291
|
error: output?.status === "error",
|
|
292
|
-
children: browserView && code ? /* @__PURE__ */ jsxs(Tabs, {
|
|
292
|
+
children: browserView && code ? /* @__PURE__ */ jsxs(Tabs.Root, {
|
|
293
293
|
className: "activity__browser-tabs",
|
|
294
294
|
defaultValue: "browser",
|
|
295
295
|
children: [
|
|
296
|
-
/* @__PURE__ */ jsxs(
|
|
296
|
+
/* @__PURE__ */ jsxs(Tabs.List, {
|
|
297
297
|
variant: "line",
|
|
298
|
-
children: [/* @__PURE__ */ jsx(Tab, {
|
|
298
|
+
children: [/* @__PURE__ */ jsx(Tabs.Tab, {
|
|
299
299
|
value: "browser",
|
|
300
300
|
children: "Preview"
|
|
301
|
-
}), /* @__PURE__ */ jsx(Tab, {
|
|
301
|
+
}), /* @__PURE__ */ jsx(Tabs.Tab, {
|
|
302
302
|
value: "code",
|
|
303
303
|
children: "Code"
|
|
304
304
|
})]
|
|
305
305
|
}),
|
|
306
|
-
/* @__PURE__ */ jsx(
|
|
306
|
+
/* @__PURE__ */ jsx(Tabs.Panel, {
|
|
307
307
|
value: "browser",
|
|
308
308
|
children: browserView
|
|
309
309
|
}),
|
|
310
|
-
/* @__PURE__ */ jsx(
|
|
310
|
+
/* @__PURE__ */ jsx(Tabs.Panel, {
|
|
311
311
|
value: "code",
|
|
312
312
|
children: codeView
|
|
313
313
|
})
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
2
|
-
import {
|
|
2
|
+
import { A as RefreshIcon, E as PauseIcon, I as TerminalIcon, N as SpinnerIcon, a as CheckIcon, f as EllipsisIcon, h as FileIcon, t as ArrowDownIcon, y as InfoIcon, z as XIcon } from "../icons-Ba9THQKz.js";
|
|
3
3
|
import { Activity, ActivityContent, ActivityItem, ActivityItemGroup, ActivityOutput, ActivityPanel, ActivityTrigger } from "./Activity.js";
|
|
4
4
|
import { Button } from "./Button.js";
|
|
5
|
-
import { Tooltip
|
|
6
|
-
import {
|
|
5
|
+
import { Tooltip } from "./Tooltip.js";
|
|
6
|
+
import { Menu } from "./Menu.js";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/components/ThinkExecutionWorkbench.tsx
|
|
@@ -30,18 +30,18 @@ function getErrorMessage(error) {
|
|
|
30
30
|
return error instanceof Error ? error.message : String(error);
|
|
31
31
|
}
|
|
32
32
|
function TooltipIcon({ children, className, label, status, tone }) {
|
|
33
|
-
return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(
|
|
33
|
+
return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx("span", {
|
|
34
34
|
"aria-label": label,
|
|
35
35
|
className: cx("think-execution-workbench__icon", className),
|
|
36
36
|
"data-status": status,
|
|
37
37
|
"data-tone": tone,
|
|
38
38
|
role: "img",
|
|
39
39
|
children
|
|
40
|
-
}) }), /* @__PURE__ */ jsx(
|
|
40
|
+
}) }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
|
|
41
41
|
side: "top",
|
|
42
42
|
sideOffset: 6,
|
|
43
|
-
children: label
|
|
44
|
-
})] });
|
|
43
|
+
children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: label })
|
|
44
|
+
}) })] });
|
|
45
45
|
}
|
|
46
46
|
function runId(run) {
|
|
47
47
|
return run.kind === "submission" ? run.record.submissionId : run.record.workflowId;
|
|
@@ -177,7 +177,7 @@ function RunDetail({ run }) {
|
|
|
177
177
|
function RunActions({ busy, onAction, run, source }) {
|
|
178
178
|
const id = runId(run);
|
|
179
179
|
const action = (key, callback) => () => onAction(key, callback);
|
|
180
|
-
return /* @__PURE__ */ jsxs(
|
|
180
|
+
return /* @__PURE__ */ jsxs(Menu.Root, { children: [/* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx(Menu.Trigger, {
|
|
181
181
|
unstyled: true,
|
|
182
182
|
render: /* @__PURE__ */ jsx(Button, {
|
|
183
183
|
type: "button",
|
|
@@ -189,61 +189,61 @@ function RunActions({ busy, onAction, run, source }) {
|
|
|
189
189
|
disabled: busy,
|
|
190
190
|
children: /* @__PURE__ */ jsx(EllipsisIcon, {})
|
|
191
191
|
})
|
|
192
|
-
}) }), /* @__PURE__ */ jsx(
|
|
192
|
+
}) }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
|
|
193
193
|
side: "top",
|
|
194
194
|
sideOffset: 6,
|
|
195
|
-
children: "Run actions"
|
|
196
|
-
})] }), /* @__PURE__ */ jsx(
|
|
195
|
+
children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: "Run actions" })
|
|
196
|
+
}) })] }), /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
|
|
197
197
|
align: "end",
|
|
198
|
-
children: run.kind === "submission" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
199
|
-
isSubmissionCancelable(run.record.status) ? /* @__PURE__ */ jsx(
|
|
198
|
+
children: /* @__PURE__ */ jsx(Menu.Popup, { children: run.kind === "submission" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
199
|
+
isSubmissionCancelable(run.record.status) ? /* @__PURE__ */ jsx(Menu.Item, {
|
|
200
200
|
disabled: busy,
|
|
201
201
|
onClick: action(`cancel-submission:${id}`, () => source.cancelSubmission(id)),
|
|
202
202
|
children: "Cancel"
|
|
203
203
|
}) : null,
|
|
204
|
-
/* @__PURE__ */ jsx(
|
|
205
|
-
/* @__PURE__ */ jsx(
|
|
204
|
+
/* @__PURE__ */ jsx(Menu.Separator, {}),
|
|
205
|
+
/* @__PURE__ */ jsx(Menu.Item, {
|
|
206
206
|
disabled: busy,
|
|
207
207
|
variant: "destructive",
|
|
208
208
|
onClick: action(`delete-submission:${id}`, () => source.deleteSubmission(id)),
|
|
209
209
|
children: "Delete"
|
|
210
210
|
})
|
|
211
211
|
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
212
|
-
/* @__PURE__ */ jsx(
|
|
212
|
+
/* @__PURE__ */ jsx(Menu.Item, {
|
|
213
213
|
disabled: busy,
|
|
214
214
|
onClick: action(`sync-workflow:${id}`, () => source.getWorkflowStatus(run.record.workflowName, id)),
|
|
215
215
|
children: "Refresh status"
|
|
216
216
|
}),
|
|
217
|
-
runStatus(run) === "running" ? /* @__PURE__ */ jsx(
|
|
217
|
+
runStatus(run) === "running" ? /* @__PURE__ */ jsx(Menu.Item, {
|
|
218
218
|
disabled: busy,
|
|
219
219
|
onClick: action(`pause-workflow:${id}`, () => source.pauseWorkflow(id)),
|
|
220
220
|
children: "Pause"
|
|
221
221
|
}) : null,
|
|
222
|
-
runStatus(run) === "paused" ? /* @__PURE__ */ jsx(
|
|
222
|
+
runStatus(run) === "paused" ? /* @__PURE__ */ jsx(Menu.Item, {
|
|
223
223
|
disabled: busy,
|
|
224
224
|
onClick: action(`resume-workflow:${id}`, () => source.resumeWorkflow(id)),
|
|
225
225
|
children: "Resume"
|
|
226
226
|
}) : null,
|
|
227
|
-
isWorkflowTerminal(run.record.status) ? /* @__PURE__ */ jsx(
|
|
227
|
+
isWorkflowTerminal(run.record.status) ? /* @__PURE__ */ jsx(Menu.Item, {
|
|
228
228
|
disabled: busy,
|
|
229
229
|
onClick: action(`restart-workflow:${id}`, () => source.restartWorkflow(id)),
|
|
230
230
|
children: "Restart"
|
|
231
231
|
}) : null,
|
|
232
|
-
runStatus(run) === "running" ? /* @__PURE__ */ jsx(
|
|
232
|
+
runStatus(run) === "running" ? /* @__PURE__ */ jsx(Menu.Item, {
|
|
233
233
|
disabled: busy,
|
|
234
234
|
variant: "destructive",
|
|
235
235
|
onClick: action(`terminate-workflow:${id}`, () => source.terminateWorkflow(id)),
|
|
236
236
|
children: "Terminate"
|
|
237
237
|
}) : null,
|
|
238
|
-
/* @__PURE__ */ jsx(
|
|
239
|
-
/* @__PURE__ */ jsx(
|
|
238
|
+
/* @__PURE__ */ jsx(Menu.Separator, {}),
|
|
239
|
+
/* @__PURE__ */ jsx(Menu.Item, {
|
|
240
240
|
disabled: busy,
|
|
241
241
|
variant: "destructive",
|
|
242
242
|
onClick: action(`delete-workflow:${id}`, () => source.deleteWorkflow(id)),
|
|
243
243
|
children: "Delete"
|
|
244
244
|
})
|
|
245
|
-
] })
|
|
246
|
-
})] });
|
|
245
|
+
] }) })
|
|
246
|
+
}) })] });
|
|
247
247
|
}
|
|
248
248
|
/**
|
|
249
249
|
* Unified execution history for native Think submissions and Agents workflows.
|
|
@@ -383,7 +383,7 @@ function ThinkExecutionWorkbench({ backButton, className, pageSize = executionPa
|
|
|
383
383
|
className: "think-execution-workbench__title",
|
|
384
384
|
children: title
|
|
385
385
|
})]
|
|
386
|
-
}), /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(
|
|
386
|
+
}), /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx(Button, {
|
|
387
387
|
type: "button",
|
|
388
388
|
variant: "ghost",
|
|
389
389
|
color: "neutral",
|
|
@@ -393,11 +393,11 @@ function ThinkExecutionWorkbench({ backButton, className, pageSize = executionPa
|
|
|
393
393
|
disabled: busyAction !== null,
|
|
394
394
|
onClick: () => void refresh(),
|
|
395
395
|
children: /* @__PURE__ */ jsx(RefreshIcon, {})
|
|
396
|
-
}) }), /* @__PURE__ */ jsx(
|
|
396
|
+
}) }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
|
|
397
397
|
side: "bottom",
|
|
398
398
|
sideOffset: 6,
|
|
399
|
-
children: "Refresh runs"
|
|
400
|
-
})] })]
|
|
399
|
+
children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: "Refresh runs" })
|
|
400
|
+
}) })] })]
|
|
401
401
|
}),
|
|
402
402
|
error ? /* @__PURE__ */ jsx("div", {
|
|
403
403
|
className: "think-execution-workbench__error",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
2
|
-
import {
|
|
2
|
+
import { I as TerminalIcon, h as FileIcon, n as ArrowLeftIcon } from "../icons-Ba9THQKz.js";
|
|
3
3
|
import { Separator } from "./Separator.js";
|
|
4
4
|
import { Button } from "./Button.js";
|
|
5
|
-
import { Tooltip
|
|
6
|
-
import { ToggleGroup
|
|
7
|
-
import { o as useThinkPendingApprovals, s as resolveThinkApprovalProps, t as ThinkChat } from "../ThinkChat-
|
|
5
|
+
import { Tooltip } from "./Tooltip.js";
|
|
6
|
+
import { ToggleGroup } from "./ToggleGroup.js";
|
|
7
|
+
import { o as useThinkPendingApprovals, s as resolveThinkApprovalProps, t as ThinkChat } from "../ThinkChat-7DQ2CogF.js";
|
|
8
8
|
import { WorkspaceExplorer, useWorkspace } from "./WorkspaceExplorer.js";
|
|
9
9
|
import { ThinkExecutionWorkbench } from "./ThinkExecutionWorkbench.js";
|
|
10
10
|
import { ThinkThreadShell } from "./ThinkThreadShell.js";
|
|
@@ -57,20 +57,20 @@ function WorkspacePanel({ source, root }) {
|
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
function WorkbenchViewItem({ children, label, value }) {
|
|
60
|
-
return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(
|
|
60
|
+
return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx(ToggleGroup.Item, {
|
|
61
61
|
type: "button",
|
|
62
62
|
className: "think-full-app__workbench-view-item",
|
|
63
63
|
value,
|
|
64
64
|
"aria-label": label,
|
|
65
65
|
children
|
|
66
|
-
}) }), /* @__PURE__ */ jsx(
|
|
66
|
+
}) }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
|
|
67
67
|
side: "bottom",
|
|
68
68
|
sideOffset: 6,
|
|
69
|
-
children: /* @__PURE__ */ jsx(
|
|
69
|
+
children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: label })
|
|
70
70
|
}) })] });
|
|
71
71
|
}
|
|
72
72
|
function WorkbenchViewSwitch({ panels, value, onValueChange }) {
|
|
73
|
-
return /* @__PURE__ */ jsx(ToggleGroup, {
|
|
73
|
+
return /* @__PURE__ */ jsx(ToggleGroup.Root, {
|
|
74
74
|
className: "think-full-app__workbench-view-switch",
|
|
75
75
|
size: "sm",
|
|
76
76
|
value: [value],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
2
|
-
import {
|
|
2
|
+
import { N as SpinnerIcon, k as PlusIcon, u as DotIcon } from "../icons-Ba9THQKz.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { ScrollArea } from "./ScrollArea.js";
|
|
5
5
|
import "react";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
2
|
-
import {
|
|
2
|
+
import { M as SidebarIcon } from "../icons-Ba9THQKz.js";
|
|
3
3
|
import { Separator } from "./Separator.js";
|
|
4
4
|
import { Button } from "./Button.js";
|
|
5
|
-
import { Tooltip
|
|
5
|
+
import { Tooltip } from "./Tooltip.js";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/ThinkThreadShell.tsx
|
|
@@ -75,7 +75,7 @@ function ThinkThreadShell({ sidebar, sidebarOpen, defaultSidebarOpen, onSidebarO
|
|
|
75
75
|
"aria-label": "Thread controls",
|
|
76
76
|
children: /* @__PURE__ */ jsx("div", {
|
|
77
77
|
className: "think-thread-shell__panel-toggle",
|
|
78
|
-
children: /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(
|
|
78
|
+
children: /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx(Button, {
|
|
79
79
|
type: "button",
|
|
80
80
|
variant: "ghost",
|
|
81
81
|
color: "neutral",
|
|
@@ -87,10 +87,10 @@ function ThinkThreadShell({ sidebar, sidebarOpen, defaultSidebarOpen, onSidebarO
|
|
|
87
87
|
"data-selected": isSidebarOpen,
|
|
88
88
|
onClick: () => setSidebarOpen(!isSidebarOpen),
|
|
89
89
|
children: /* @__PURE__ */ jsx(SidebarIcon, {})
|
|
90
|
-
}) }), /* @__PURE__ */ jsx(
|
|
90
|
+
}) }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
|
|
91
91
|
side: "bottom",
|
|
92
92
|
sideOffset: 6,
|
|
93
|
-
children: /* @__PURE__ */ jsx(
|
|
93
|
+
children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: toggleLabel })
|
|
94
94
|
}) })] })
|
|
95
95
|
})
|
|
96
96
|
}),
|