@inf-monkeys-tech/monkeys-design 1.0.11 → 1.0.12
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/components/agent-workbench/index.d.mts +57 -2
- package/dist/components/agent-workbench/index.d.ts +57 -2
- package/dist/components/agent-workbench/index.js +669 -43
- package/dist/components/agent-workbench/index.js.map +1 -1
- package/dist/components/agent-workbench/index.mjs +636 -39
- package/dist/components/agent-workbench/index.mjs.map +1 -1
- package/dist/components/base/index.js +32 -0
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/base/index.mjs +32 -0
- package/dist/components/base/index.mjs.map +1 -1
- package/dist/components/data-explorer/index.js +32 -0
- package/dist/components/data-explorer/index.js.map +1 -1
- package/dist/components/data-explorer/index.mjs +32 -0
- package/dist/components/data-explorer/index.mjs.map +1 -1
- package/dist/components/layout/index.js +32 -0
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/index.mjs +32 -0
- package/dist/components/layout/index.mjs.map +1 -1
- package/dist/components/runtime/index.js +32 -0
- package/dist/components/runtime/index.js.map +1 -1
- package/dist/components/runtime/index.mjs +32 -0
- package/dist/components/runtime/index.mjs.map +1 -1
- package/dist/components/toast/index.d.mts +1 -1
- package/dist/components/toast/index.d.ts +1 -1
- package/dist/components/toast/index.js +32 -0
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toast/index.mjs +32 -0
- package/dist/components/toast/index.mjs.map +1 -1
- package/dist/components/toolbar/index.js +32 -0
- package/dist/components/toolbar/index.js.map +1 -1
- package/dist/components/toolbar/index.mjs +32 -0
- package/dist/components/toolbar/index.mjs.map +1 -1
- package/dist/components/workbench/index.js +32 -0
- package/dist/components/workbench/index.js.map +1 -1
- package/dist/components/workbench/index.mjs +32 -0
- package/dist/components/workbench/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1021 -386
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +645 -17
- package/dist/index.mjs.map +1 -1
- package/dist/locale/index.d.mts +70 -2
- package/dist/locale/index.d.ts +70 -2
- package/dist/locale/index.js +68 -0
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/index.mjs +68 -0
- package/dist/locale/index.mjs.map +1 -1
- package/dist/provider/index.d.mts +2 -2
- package/dist/provider/index.d.ts +2 -2
- package/dist/provider/index.js +68 -0
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +68 -0
- package/dist/provider/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-3d3e043f0ccb.d.mts → types-37967a434f7c.d.mts} +35 -0
- package/dist/{types-3d3e043f0ccb.d.ts → types-37967a434f7c.d.ts} +35 -0
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import debounce from 'lodash/debounce.js';
|
|
2
2
|
import { resolveThemeTokens, buildApplicationHandoffUrl } from '@inf-monkeys-tech/monkeys/runtime';
|
|
3
|
-
import
|
|
3
|
+
import * as React2 from 'react';
|
|
4
|
+
import React2__default, { forwardRef, useId, useState, useRef, useEffect, createElement, createContext, useCallback, useMemo, useContext, Children, isValidElement, Fragment as Fragment$1, useLayoutEffect } from 'react';
|
|
4
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
|
-
import {
|
|
6
|
+
import { ChevronDown, Check, ChevronRight, Circle, ChevronUp, Search, X, Plus, Pin, SquarePen, Blocks, Settings, TerminalSquare, Clock3, FileOutput, Download, RefreshCw, Bot, Image, Loader2, CheckCircle2, AlertCircle, Ellipsis, Pencil, Trash2, XCircle, CircleStop, Copy, RotateCcw, FileCode2, Files, TestTube2 } from 'lucide-react';
|
|
6
7
|
import * as DropdownMenu2 from '@radix-ui/react-dropdown-menu';
|
|
7
8
|
import { twMerge } from 'tailwind-merge';
|
|
8
9
|
import * as ContextMenu from '@radix-ui/react-context-menu';
|
|
9
10
|
import { createPortal } from 'react-dom';
|
|
10
11
|
import * as Dialog from '@radix-ui/react-dialog';
|
|
11
12
|
import * as Tooltip2 from '@radix-ui/react-tooltip';
|
|
13
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
14
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
15
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
16
|
+
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
17
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
18
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
19
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
20
|
+
import { cva } from 'class-variance-authority';
|
|
21
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
12
22
|
import { useSensors, useSensor, PointerSensor, DndContext, DragOverlay, useDroppable, useDraggable } from '@dnd-kit/core';
|
|
13
23
|
import { toast as toast$1, Toaster } from 'sonner';
|
|
14
24
|
|
|
@@ -3074,6 +3084,38 @@ var enUS = {
|
|
|
3074
3084
|
label: "Context usage",
|
|
3075
3085
|
context: ({ used, total }) => `${used} / ${total} tokens`
|
|
3076
3086
|
},
|
|
3087
|
+
navigation: {
|
|
3088
|
+
search: "Search agents and sessions",
|
|
3089
|
+
searchShortcut: "Focus search",
|
|
3090
|
+
clearSearch: "Clear search",
|
|
3091
|
+
tabsLabel: "Agent workbench navigation",
|
|
3092
|
+
agents: "Agents",
|
|
3093
|
+
sessions: "Sessions",
|
|
3094
|
+
newAgent: "New Agent",
|
|
3095
|
+
newSession: "New Session",
|
|
3096
|
+
capabilities: "Capabilities & Extensions",
|
|
3097
|
+
settings: "Agent Settings",
|
|
3098
|
+
allAgents: "All Agents",
|
|
3099
|
+
recentSessions: "Recent Sessions",
|
|
3100
|
+
builtIn: "Built-in",
|
|
3101
|
+
noDescription: "No description",
|
|
3102
|
+
loading: "Loading...",
|
|
3103
|
+
emptyAgents: "No agents yet",
|
|
3104
|
+
emptySessions: "No sessions yet",
|
|
3105
|
+
noResults: "No matching results",
|
|
3106
|
+
retry: "Retry",
|
|
3107
|
+
pin: "Pin",
|
|
3108
|
+
unpin: "Unpin",
|
|
3109
|
+
rename: "Rename",
|
|
3110
|
+
delete: "Delete",
|
|
3111
|
+
actions: "Actions",
|
|
3112
|
+
save: "Save",
|
|
3113
|
+
cancel: "Cancel",
|
|
3114
|
+
running: "Running",
|
|
3115
|
+
completed: "Completed",
|
|
3116
|
+
failed: "Failed",
|
|
3117
|
+
contextUsage: ({ percent }) => `${percent}% context used`
|
|
3118
|
+
},
|
|
3077
3119
|
details: {
|
|
3078
3120
|
title: "Task details",
|
|
3079
3121
|
description: "Summary and workspace activity",
|
|
@@ -3255,6 +3297,38 @@ var zhCN = {
|
|
|
3255
3297
|
label: "\u4E0A\u4E0B\u6587\u7528\u91CF",
|
|
3256
3298
|
context: ({ used, total }) => `${used} / ${total} tokens`
|
|
3257
3299
|
},
|
|
3300
|
+
navigation: {
|
|
3301
|
+
search: "\u641C\u7D22\u667A\u80FD\u4F53\u548C\u4F1A\u8BDD",
|
|
3302
|
+
searchShortcut: "\u805A\u7126\u641C\u7D22\u6846",
|
|
3303
|
+
clearSearch: "\u6E05\u9664\u641C\u7D22",
|
|
3304
|
+
tabsLabel: "\u667A\u80FD\u4F53\u5DE5\u4F5C\u53F0\u5BFC\u822A",
|
|
3305
|
+
agents: "\u667A\u80FD\u4F53",
|
|
3306
|
+
sessions: "\u4F1A\u8BDD",
|
|
3307
|
+
newAgent: "\u65B0\u5EFA\u667A\u80FD\u4F53",
|
|
3308
|
+
newSession: "\u65B0\u5EFA\u4F1A\u8BDD",
|
|
3309
|
+
capabilities: "\u80FD\u529B\u4E0E\u6269\u5C55",
|
|
3310
|
+
settings: "\u667A\u80FD\u4F53\u8BBE\u7F6E",
|
|
3311
|
+
allAgents: "\u5168\u90E8\u667A\u80FD\u4F53",
|
|
3312
|
+
recentSessions: "\u6700\u8FD1\u4F1A\u8BDD",
|
|
3313
|
+
builtIn: "\u5185\u7F6E",
|
|
3314
|
+
noDescription: "\u6682\u65E0\u63CF\u8FF0",
|
|
3315
|
+
loading: "\u52A0\u8F7D\u4E2D...",
|
|
3316
|
+
emptyAgents: "\u6682\u65E0\u667A\u80FD\u4F53",
|
|
3317
|
+
emptySessions: "\u6682\u65E0\u4F1A\u8BDD",
|
|
3318
|
+
noResults: "\u6CA1\u6709\u5339\u914D\u7ED3\u679C",
|
|
3319
|
+
retry: "\u91CD\u8BD5",
|
|
3320
|
+
pin: "\u7F6E\u9876",
|
|
3321
|
+
unpin: "\u53D6\u6D88\u7F6E\u9876",
|
|
3322
|
+
rename: "\u91CD\u547D\u540D",
|
|
3323
|
+
delete: "\u5220\u9664",
|
|
3324
|
+
actions: "\u64CD\u4F5C",
|
|
3325
|
+
save: "\u4FDD\u5B58",
|
|
3326
|
+
cancel: "\u53D6\u6D88",
|
|
3327
|
+
running: "\u8FD0\u884C\u4E2D",
|
|
3328
|
+
completed: "\u5DF2\u5B8C\u6210",
|
|
3329
|
+
failed: "\u5931\u8D25",
|
|
3330
|
+
contextUsage: ({ percent }) => `\u5DF2\u4F7F\u7528 ${percent}% \u4E0A\u4E0B\u6587`
|
|
3331
|
+
},
|
|
3258
3332
|
details: {
|
|
3259
3333
|
title: "\u4EFB\u52A1\u8BE6\u60C5",
|
|
3260
3334
|
description: "\u6458\u8981\u4E0E\u5DE5\u4F5C\u533A\u6D3B\u52A8",
|
|
@@ -3441,6 +3515,10 @@ function mergeMonkeysLocaleMessages(base, override) {
|
|
|
3441
3515
|
...base.agentWorkbench.usage,
|
|
3442
3516
|
...override.agentWorkbench?.usage
|
|
3443
3517
|
},
|
|
3518
|
+
navigation: {
|
|
3519
|
+
...base.agentWorkbench.navigation,
|
|
3520
|
+
...override.agentWorkbench?.navigation
|
|
3521
|
+
},
|
|
3444
3522
|
details: {
|
|
3445
3523
|
...base.agentWorkbench.details,
|
|
3446
3524
|
...override.agentWorkbench?.details,
|
|
@@ -16895,6 +16973,556 @@ function NavigationLayout({
|
|
|
16895
16973
|
}
|
|
16896
16974
|
);
|
|
16897
16975
|
}
|
|
16976
|
+
var AccordionItem = React2.forwardRef(({ className, style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
16977
|
+
AccordionPrimitive.Item,
|
|
16978
|
+
{
|
|
16979
|
+
ref,
|
|
16980
|
+
className: cn("border-b", className),
|
|
16981
|
+
style: {
|
|
16982
|
+
borderColor: "var(--monkeys-component-accordion-item-border-color, hsl(var(--border)))",
|
|
16983
|
+
...style
|
|
16984
|
+
},
|
|
16985
|
+
...props
|
|
16986
|
+
}
|
|
16987
|
+
));
|
|
16988
|
+
AccordionItem.displayName = "AccordionItem";
|
|
16989
|
+
var AccordionTrigger = React2.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
|
|
16990
|
+
AccordionPrimitive.Trigger,
|
|
16991
|
+
{
|
|
16992
|
+
ref,
|
|
16993
|
+
className: cn(
|
|
16994
|
+
"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
16995
|
+
className
|
|
16996
|
+
),
|
|
16997
|
+
...props,
|
|
16998
|
+
children: [
|
|
16999
|
+
children,
|
|
17000
|
+
/* @__PURE__ */ jsx(
|
|
17001
|
+
ChevronDown,
|
|
17002
|
+
{
|
|
17003
|
+
"aria-hidden": "true",
|
|
17004
|
+
className: "h-4 w-4 shrink-0 transition-transform duration-200"
|
|
17005
|
+
}
|
|
17006
|
+
)
|
|
17007
|
+
]
|
|
17008
|
+
}
|
|
17009
|
+
) }));
|
|
17010
|
+
AccordionTrigger.displayName = "AccordionTrigger";
|
|
17011
|
+
var AccordionContent = React2.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17012
|
+
AccordionPrimitive.Content,
|
|
17013
|
+
{
|
|
17014
|
+
ref,
|
|
17015
|
+
className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
17016
|
+
...props,
|
|
17017
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("pb-4 pt-0", className), children })
|
|
17018
|
+
}
|
|
17019
|
+
));
|
|
17020
|
+
AccordionContent.displayName = "AccordionContent";
|
|
17021
|
+
var Checkbox = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17022
|
+
CheckboxPrimitive.Root,
|
|
17023
|
+
{
|
|
17024
|
+
ref,
|
|
17025
|
+
className: cn(
|
|
17026
|
+
"peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
|
|
17027
|
+
className
|
|
17028
|
+
),
|
|
17029
|
+
...props,
|
|
17030
|
+
children: /* @__PURE__ */ jsx(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "h-4 w-4" }) })
|
|
17031
|
+
}
|
|
17032
|
+
));
|
|
17033
|
+
Checkbox.displayName = "Checkbox";
|
|
17034
|
+
var buttonVariants = cva(
|
|
17035
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
17036
|
+
{
|
|
17037
|
+
variants: {
|
|
17038
|
+
variant: {
|
|
17039
|
+
default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90",
|
|
17040
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
17041
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
17042
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
17043
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
17044
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
17045
|
+
},
|
|
17046
|
+
size: {
|
|
17047
|
+
default: "h-10 px-4 py-2",
|
|
17048
|
+
sm: "h-9 rounded-sm px-3",
|
|
17049
|
+
lg: "h-11 rounded-md px-8",
|
|
17050
|
+
icon: "h-10 w-10"
|
|
17051
|
+
}
|
|
17052
|
+
},
|
|
17053
|
+
defaultVariants: { variant: "default", size: "default" }
|
|
17054
|
+
}
|
|
17055
|
+
);
|
|
17056
|
+
var Button = React2.forwardRef(
|
|
17057
|
+
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
17058
|
+
const Component = asChild ? Slot : "button";
|
|
17059
|
+
return /* @__PURE__ */ jsx(
|
|
17060
|
+
Component,
|
|
17061
|
+
{
|
|
17062
|
+
ref,
|
|
17063
|
+
className: buttonVariants({ variant, size, className }),
|
|
17064
|
+
...props
|
|
17065
|
+
}
|
|
17066
|
+
);
|
|
17067
|
+
}
|
|
17068
|
+
);
|
|
17069
|
+
Button.displayName = "Button";
|
|
17070
|
+
var PopoverContent = React2.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
17071
|
+
PopoverPrimitive.Content,
|
|
17072
|
+
{
|
|
17073
|
+
ref,
|
|
17074
|
+
align,
|
|
17075
|
+
sideOffset,
|
|
17076
|
+
className: cn(
|
|
17077
|
+
"z-50 w-72 rounded-lg border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
17078
|
+
className
|
|
17079
|
+
),
|
|
17080
|
+
...props
|
|
17081
|
+
}
|
|
17082
|
+
) }));
|
|
17083
|
+
PopoverContent.displayName = "PopoverContent";
|
|
17084
|
+
var ScrollArea = React2.forwardRef(
|
|
17085
|
+
({
|
|
17086
|
+
className,
|
|
17087
|
+
children,
|
|
17088
|
+
viewportClassName,
|
|
17089
|
+
viewportRef,
|
|
17090
|
+
onViewportScroll,
|
|
17091
|
+
scrollbar = true,
|
|
17092
|
+
scrollbarOrientation = "vertical",
|
|
17093
|
+
scrollBarDisabled = false,
|
|
17094
|
+
...props
|
|
17095
|
+
}, ref) => /* @__PURE__ */ jsxs(
|
|
17096
|
+
ScrollAreaPrimitive.Root,
|
|
17097
|
+
{
|
|
17098
|
+
ref,
|
|
17099
|
+
className: cn(
|
|
17100
|
+
"group relative overflow-hidden",
|
|
17101
|
+
scrollBarDisabled && "no-scrollbar",
|
|
17102
|
+
className
|
|
17103
|
+
),
|
|
17104
|
+
...props,
|
|
17105
|
+
children: [
|
|
17106
|
+
/* @__PURE__ */ jsx(
|
|
17107
|
+
ScrollAreaPrimitive.Viewport,
|
|
17108
|
+
{
|
|
17109
|
+
ref: viewportRef,
|
|
17110
|
+
onScroll: onViewportScroll,
|
|
17111
|
+
className: cn("h-full w-full rounded-[inherit]", viewportClassName),
|
|
17112
|
+
children
|
|
17113
|
+
}
|
|
17114
|
+
),
|
|
17115
|
+
scrollbar ? /* @__PURE__ */ jsx(
|
|
17116
|
+
ScrollBar,
|
|
17117
|
+
{
|
|
17118
|
+
orientation: scrollbarOrientation,
|
|
17119
|
+
className: cn(scrollBarDisabled && "size-0 p-0")
|
|
17120
|
+
}
|
|
17121
|
+
) : null,
|
|
17122
|
+
/* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
|
|
17123
|
+
]
|
|
17124
|
+
}
|
|
17125
|
+
)
|
|
17126
|
+
);
|
|
17127
|
+
ScrollArea.displayName = "ScrollArea";
|
|
17128
|
+
var ScrollBar = React2.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17129
|
+
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
17130
|
+
{
|
|
17131
|
+
ref,
|
|
17132
|
+
orientation,
|
|
17133
|
+
className: cn(
|
|
17134
|
+
"flex touch-none select-none opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100 data-[state=visible]:opacity-100",
|
|
17135
|
+
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px",
|
|
17136
|
+
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-px",
|
|
17137
|
+
className
|
|
17138
|
+
),
|
|
17139
|
+
...props,
|
|
17140
|
+
children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
|
|
17141
|
+
}
|
|
17142
|
+
));
|
|
17143
|
+
ScrollBar.displayName = "ScrollBar";
|
|
17144
|
+
var Switch = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17145
|
+
SwitchPrimitive.Root,
|
|
17146
|
+
{
|
|
17147
|
+
ref,
|
|
17148
|
+
className: cn(
|
|
17149
|
+
"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
17150
|
+
className
|
|
17151
|
+
),
|
|
17152
|
+
...props,
|
|
17153
|
+
children: /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, { className: "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0" })
|
|
17154
|
+
}
|
|
17155
|
+
));
|
|
17156
|
+
Switch.displayName = "Switch";
|
|
17157
|
+
var Tabs = React2.forwardRef(({ variant = "default", ...props }, ref) => /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, "data-variant": variant, ...props }));
|
|
17158
|
+
Tabs.displayName = "Tabs";
|
|
17159
|
+
var TabsList = React2.forwardRef(({ className, gap, style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17160
|
+
TabsPrimitive.List,
|
|
17161
|
+
{
|
|
17162
|
+
ref,
|
|
17163
|
+
className: cn(
|
|
17164
|
+
"inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
|
|
17165
|
+
className
|
|
17166
|
+
),
|
|
17167
|
+
style: { gap, ...style },
|
|
17168
|
+
...props
|
|
17169
|
+
}
|
|
17170
|
+
));
|
|
17171
|
+
TabsList.displayName = "TabsList";
|
|
17172
|
+
var TabsTrigger = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17173
|
+
TabsPrimitive.Trigger,
|
|
17174
|
+
{
|
|
17175
|
+
ref,
|
|
17176
|
+
className: cn(
|
|
17177
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
|
|
17178
|
+
className
|
|
17179
|
+
),
|
|
17180
|
+
...props
|
|
17181
|
+
}
|
|
17182
|
+
));
|
|
17183
|
+
TabsTrigger.displayName = "TabsTrigger";
|
|
17184
|
+
var TabsContent = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
17185
|
+
TabsPrimitive.Content,
|
|
17186
|
+
{
|
|
17187
|
+
ref,
|
|
17188
|
+
className: cn(
|
|
17189
|
+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
17190
|
+
className
|
|
17191
|
+
),
|
|
17192
|
+
...props
|
|
17193
|
+
}
|
|
17194
|
+
));
|
|
17195
|
+
TabsContent.displayName = "TabsContent";
|
|
17196
|
+
var TooltipContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(Tooltip2.Portal, { children: /* @__PURE__ */ jsx(
|
|
17197
|
+
Tooltip2.Content,
|
|
17198
|
+
{
|
|
17199
|
+
ref,
|
|
17200
|
+
sideOffset,
|
|
17201
|
+
className: cn(
|
|
17202
|
+
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
17203
|
+
className
|
|
17204
|
+
),
|
|
17205
|
+
...props
|
|
17206
|
+
}
|
|
17207
|
+
) }));
|
|
17208
|
+
TooltipContent.displayName = "TooltipContent";
|
|
17209
|
+
var menuItemClassName = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
|
|
17210
|
+
var menuContentClassName = "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2";
|
|
17211
|
+
var DropdownMenu4 = DropdownMenu2.Root;
|
|
17212
|
+
var DropdownMenuTrigger = DropdownMenu2.Trigger;
|
|
17213
|
+
var DropdownMenuSubTrigger = React2.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenu2.SubTrigger, { ref, className: cn(menuItemClassName, "data-[state=open]:bg-accent", inset && "pl-8", className), ...props, children: [
|
|
17214
|
+
children,
|
|
17215
|
+
/* @__PURE__ */ jsx(ChevronRight, { "aria-hidden": "true", className: "ml-auto" })
|
|
17216
|
+
] }));
|
|
17217
|
+
DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
|
|
17218
|
+
var DropdownMenuSubContent = React2.forwardRef(
|
|
17219
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenu2.SubContent, { ref, className: cn(menuContentClassName, className), ...props })
|
|
17220
|
+
);
|
|
17221
|
+
DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
|
|
17222
|
+
var DropdownMenuContent = React2.forwardRef(
|
|
17223
|
+
({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenu2.Portal, { children: /* @__PURE__ */ jsx(DropdownMenu2.Content, { ref, sideOffset, className: cn(menuContentClassName, className), ...props }) })
|
|
17224
|
+
);
|
|
17225
|
+
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
17226
|
+
var DropdownMenuItem = React2.forwardRef(
|
|
17227
|
+
({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenu2.Item, { ref, className: cn(menuItemClassName, inset && "pl-8", className), ...props })
|
|
17228
|
+
);
|
|
17229
|
+
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
17230
|
+
var DropdownMenuCheckboxItem = React2.forwardRef(
|
|
17231
|
+
({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenu2.CheckboxItem, { ref, className: cn(menuItemClassName, "pl-8", className), checked, ...props, children: [
|
|
17232
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu2.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "h-4 w-4" }) }) }),
|
|
17233
|
+
children
|
|
17234
|
+
] })
|
|
17235
|
+
);
|
|
17236
|
+
DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
|
|
17237
|
+
var DropdownMenuRadioItem = React2.forwardRef(
|
|
17238
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenu2.RadioItem, { ref, className: cn(menuItemClassName, "pl-8", className), ...props, children: [
|
|
17239
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu2.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { "aria-hidden": "true", className: "h-2 w-2 fill-current" }) }) }),
|
|
17240
|
+
children
|
|
17241
|
+
] })
|
|
17242
|
+
);
|
|
17243
|
+
DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
|
|
17244
|
+
var DropdownMenuLabel = React2.forwardRef(
|
|
17245
|
+
({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenu2.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className), ...props })
|
|
17246
|
+
);
|
|
17247
|
+
DropdownMenuLabel.displayName = "DropdownMenuLabel";
|
|
17248
|
+
var DropdownMenuSeparator = React2.forwardRef(
|
|
17249
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenu2.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props })
|
|
17250
|
+
);
|
|
17251
|
+
DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
|
|
17252
|
+
var SelectTrigger = React2.forwardRef(
|
|
17253
|
+
({ className, children, iconClassName, size = "default", ...props }, ref) => /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, { ref, className: cn("flex h-10 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-background px-3 py-2 text-left text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:min-w-0 [&>span]:flex-1 [&>span]:text-left", size === "sm" && "h-8 px-2 py-1 text-xs", className), ...props, children: [
|
|
17254
|
+
children,
|
|
17255
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true", className: cn("h-4 w-4 opacity-50", iconClassName) }) })
|
|
17256
|
+
] })
|
|
17257
|
+
);
|
|
17258
|
+
SelectTrigger.displayName = "SelectTrigger";
|
|
17259
|
+
var SelectScrollUpButton = React2.forwardRef(
|
|
17260
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.ScrollUpButton, { ref, className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: /* @__PURE__ */ jsx(ChevronUp, { "aria-hidden": "true", className: "h-4 w-4" }) })
|
|
17261
|
+
);
|
|
17262
|
+
SelectScrollUpButton.displayName = "SelectScrollUpButton";
|
|
17263
|
+
var SelectScrollDownButton = React2.forwardRef(
|
|
17264
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.ScrollDownButton, { ref, className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true", className: "h-4 w-4" }) })
|
|
17265
|
+
);
|
|
17266
|
+
SelectScrollDownButton.displayName = "SelectScrollDownButton";
|
|
17267
|
+
var SelectContent = React2.forwardRef(
|
|
17268
|
+
({ className, children, position = "popper", viewportClassName, disableTriggerViewportSizing = false, ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(SelectPrimitive.Content, { ref, position, className: cn(menuContentClassName, "relative max-h-[var(--radix-select-content-available-height)] overflow-y-auto overflow-x-hidden", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), ...props, children: [
|
|
17269
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
17270
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" && "w-full min-w-[var(--radix-select-trigger-width)]", position === "popper" && !disableTriggerViewportSizing && "h-[var(--radix-select-trigger-height)]", viewportClassName), children }),
|
|
17271
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
17272
|
+
] }) })
|
|
17273
|
+
);
|
|
17274
|
+
SelectContent.displayName = "SelectContent";
|
|
17275
|
+
var SelectLabel = React2.forwardRef(
|
|
17276
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", className), ...props })
|
|
17277
|
+
);
|
|
17278
|
+
SelectLabel.displayName = "SelectLabel";
|
|
17279
|
+
var SelectItem = React2.forwardRef(
|
|
17280
|
+
({ className, children, indicatorClassName, itemText, hideIndicator = false, ...props }, ref) => /* @__PURE__ */ jsxs(SelectPrimitive.Item, { ref, className: cn(menuItemClassName, "w-full", hideIndicator ? "px-2" : "pl-8 pr-2", className), ...props, children: [
|
|
17281
|
+
!hideIndicator ? /* @__PURE__ */ jsx("span", { className: cn("absolute left-2 flex h-3.5 w-3.5 items-center justify-center", indicatorClassName), children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "h-4 w-4" }) }) }) : null,
|
|
17282
|
+
itemText ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17283
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: itemText }) }),
|
|
17284
|
+
children
|
|
17285
|
+
] }) : /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
17286
|
+
] })
|
|
17287
|
+
);
|
|
17288
|
+
SelectItem.displayName = "SelectItem";
|
|
17289
|
+
var SelectSeparator = React2.forwardRef(
|
|
17290
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props })
|
|
17291
|
+
);
|
|
17292
|
+
SelectSeparator.displayName = "SelectSeparator";
|
|
17293
|
+
function ItemAvatar({ item }) {
|
|
17294
|
+
const [failed, setFailed] = useState(false);
|
|
17295
|
+
if (item.iconUrl && !failed) {
|
|
17296
|
+
return /* @__PURE__ */ jsx("img", { src: item.iconUrl, alt: "", className: "size-full object-cover", onError: () => setFailed(true) });
|
|
17297
|
+
}
|
|
17298
|
+
const initial = item.name.trim().charAt(0).toLocaleUpperCase();
|
|
17299
|
+
return initial ? /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold", children: initial }) : /* @__PURE__ */ jsx(Bot, { className: "size-4" });
|
|
17300
|
+
}
|
|
17301
|
+
function SessionAvatar({ item }) {
|
|
17302
|
+
const [failed, setFailed] = useState(false);
|
|
17303
|
+
if (item.thumbnailUrl && !failed) {
|
|
17304
|
+
return /* @__PURE__ */ jsx(
|
|
17305
|
+
"img",
|
|
17306
|
+
{
|
|
17307
|
+
src: item.thumbnailUrl,
|
|
17308
|
+
alt: "",
|
|
17309
|
+
className: "size-full object-cover",
|
|
17310
|
+
loading: "lazy",
|
|
17311
|
+
onError: () => setFailed(true)
|
|
17312
|
+
}
|
|
17313
|
+
);
|
|
17314
|
+
}
|
|
17315
|
+
return /* @__PURE__ */ jsx(Image, { className: "size-5", "aria-hidden": "true" });
|
|
17316
|
+
}
|
|
17317
|
+
function CollectionState({
|
|
17318
|
+
status,
|
|
17319
|
+
empty,
|
|
17320
|
+
noResults,
|
|
17321
|
+
hasItems,
|
|
17322
|
+
query,
|
|
17323
|
+
error,
|
|
17324
|
+
onRetry
|
|
17325
|
+
}) {
|
|
17326
|
+
const messages = useMonkeysLocaleMessages().agentWorkbench.navigation;
|
|
17327
|
+
if (status === "loading" && !hasItems) {
|
|
17328
|
+
return /* @__PURE__ */ jsx("div", { className: "px-3 py-8 text-center text-sm text-muted-foreground", children: messages.loading });
|
|
17329
|
+
}
|
|
17330
|
+
if (status === "error") {
|
|
17331
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-3 px-3 py-8 text-center", children: [
|
|
17332
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", role: "alert", children: error }),
|
|
17333
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "inline-flex items-center gap-1.5 text-sm font-medium text-primary", onClick: onRetry, children: [
|
|
17334
|
+
/* @__PURE__ */ jsx(RefreshCw, { className: "size-3.5", "aria-hidden": "true" }),
|
|
17335
|
+
messages.retry
|
|
17336
|
+
] })
|
|
17337
|
+
] });
|
|
17338
|
+
}
|
|
17339
|
+
if (!hasItems) {
|
|
17340
|
+
return /* @__PURE__ */ jsx("div", { className: "px-3 py-8 text-center text-sm text-muted-foreground", children: query ? noResults : empty });
|
|
17341
|
+
}
|
|
17342
|
+
return null;
|
|
17343
|
+
}
|
|
17344
|
+
function StatusIndicator({ status }) {
|
|
17345
|
+
const messages = useMonkeysLocaleMessages().agentWorkbench.navigation;
|
|
17346
|
+
if (status === "running") {
|
|
17347
|
+
return /* @__PURE__ */ jsx(Loader2, { className: "size-4 animate-spin text-primary", "aria-label": messages.running });
|
|
17348
|
+
}
|
|
17349
|
+
if (status === "completed") {
|
|
17350
|
+
return /* @__PURE__ */ jsx(CheckCircle2, { className: "size-4 text-primary", "aria-label": messages.completed });
|
|
17351
|
+
}
|
|
17352
|
+
if (status === "error") {
|
|
17353
|
+
return /* @__PURE__ */ jsx(AlertCircle, { className: "size-4 text-destructive-text", "aria-label": messages.failed });
|
|
17354
|
+
}
|
|
17355
|
+
return null;
|
|
17356
|
+
}
|
|
17357
|
+
function SessionActions({
|
|
17358
|
+
item,
|
|
17359
|
+
capabilities,
|
|
17360
|
+
onIntent
|
|
17361
|
+
}) {
|
|
17362
|
+
const messages = useMonkeysLocaleMessages().agentWorkbench.navigation;
|
|
17363
|
+
if (!capabilities.renameSessions && !capabilities.deleteSessions) return null;
|
|
17364
|
+
return /* @__PURE__ */ jsxs(DropdownMenu4, { children: [
|
|
17365
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { type: "button", className: "flex size-8 items-center justify-center rounded-md hover:bg-muted", "aria-label": messages.actions, children: /* @__PURE__ */ jsx(Ellipsis, { className: "size-4", "aria-hidden": "true" }) }) }),
|
|
17366
|
+
/* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", children: [
|
|
17367
|
+
capabilities.renameSessions ? /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: () => onIntent?.({ type: "rename-session", sessionId: item.id, title: item.title }), children: [
|
|
17368
|
+
/* @__PURE__ */ jsx(Pencil, { className: "mr-2 size-4", "aria-hidden": "true" }),
|
|
17369
|
+
messages.rename
|
|
17370
|
+
] }) : null,
|
|
17371
|
+
capabilities.deleteSessions ? /* @__PURE__ */ jsxs(DropdownMenuItem, { className: "text-destructive-text", onSelect: () => onIntent?.({ type: "delete-session", sessionId: item.id }), children: [
|
|
17372
|
+
/* @__PURE__ */ jsx(Trash2, { className: "mr-2 size-4", "aria-hidden": "true" }),
|
|
17373
|
+
messages.delete
|
|
17374
|
+
] }) : null
|
|
17375
|
+
] })
|
|
17376
|
+
] });
|
|
17377
|
+
}
|
|
17378
|
+
function AgentWorkbenchSidebar({ viewModel, className, classNames, onIntent }) {
|
|
17379
|
+
const { locale } = useMonkeysLocale();
|
|
17380
|
+
const messages = useMonkeysLocaleMessages().agentWorkbench.navigation;
|
|
17381
|
+
const searchRef = useRef(null);
|
|
17382
|
+
const query = viewModel.searchQuery.trim().toLocaleLowerCase();
|
|
17383
|
+
const agents = useMemo(
|
|
17384
|
+
() => viewModel.agents.items.filter((item) => !query || `${item.name} ${item.description ?? ""}`.toLocaleLowerCase().includes(query)),
|
|
17385
|
+
[query, viewModel.agents.items]
|
|
17386
|
+
);
|
|
17387
|
+
const sessions = useMemo(
|
|
17388
|
+
() => viewModel.sessions.items.filter((item) => !query || item.title.toLocaleLowerCase().includes(query)),
|
|
17389
|
+
[query, viewModel.sessions.items]
|
|
17390
|
+
);
|
|
17391
|
+
useEffect(() => {
|
|
17392
|
+
const handleShortcut = (event) => {
|
|
17393
|
+
if (!(event.ctrlKey || event.metaKey) || event.key.toLocaleLowerCase() !== "k") return;
|
|
17394
|
+
event.preventDefault();
|
|
17395
|
+
searchRef.current?.focus();
|
|
17396
|
+
searchRef.current?.select();
|
|
17397
|
+
};
|
|
17398
|
+
window.addEventListener("keydown", handleShortcut);
|
|
17399
|
+
return () => window.removeEventListener("keydown", handleShortcut);
|
|
17400
|
+
}, []);
|
|
17401
|
+
return /* @__PURE__ */ jsx("nav", { "aria-label": messages.tabsLabel, className: cn2("h-full min-h-0", classNames?.root, className), children: /* @__PURE__ */ jsxs(
|
|
17402
|
+
Tabs,
|
|
17403
|
+
{
|
|
17404
|
+
value: viewModel.activeTab,
|
|
17405
|
+
onValueChange: (value) => {
|
|
17406
|
+
if (value === "agents" || value === "sessions") onIntent?.({ type: "change-tab", tab: value });
|
|
17407
|
+
},
|
|
17408
|
+
className: "flex h-full min-h-0 flex-col bg-background text-foreground",
|
|
17409
|
+
children: [
|
|
17410
|
+
/* @__PURE__ */ jsxs("div", { className: "shrink-0 space-y-3 p-4 pb-2", children: [
|
|
17411
|
+
/* @__PURE__ */ jsxs("div", { className: cn2("flex h-10 items-center gap-2 rounded-lg border border-border bg-card px-3 focus-within:ring-2 focus-within:ring-ring", classNames?.search), children: [
|
|
17412
|
+
/* @__PURE__ */ jsx(Search, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": "true" }),
|
|
17413
|
+
/* @__PURE__ */ jsx(
|
|
17414
|
+
"input",
|
|
17415
|
+
{
|
|
17416
|
+
ref: searchRef,
|
|
17417
|
+
type: "search",
|
|
17418
|
+
value: viewModel.searchQuery,
|
|
17419
|
+
"aria-label": messages.search,
|
|
17420
|
+
placeholder: messages.search,
|
|
17421
|
+
className: "min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:hidden",
|
|
17422
|
+
onChange: (event) => onIntent?.({ type: "change-search", query: event.target.value }),
|
|
17423
|
+
onKeyDown: (event) => {
|
|
17424
|
+
if (event.key !== "Escape") return;
|
|
17425
|
+
onIntent?.({ type: "change-search", query: "" });
|
|
17426
|
+
event.currentTarget.blur();
|
|
17427
|
+
}
|
|
17428
|
+
}
|
|
17429
|
+
),
|
|
17430
|
+
viewModel.searchQuery ? /* @__PURE__ */ jsx("button", { type: "button", className: "flex size-6 items-center justify-center rounded-md hover:bg-muted", "aria-label": messages.clearSearch, onClick: () => onIntent?.({ type: "change-search", query: "" }), children: /* @__PURE__ */ jsx(X, { className: "size-3.5", "aria-hidden": "true" }) }) : /* @__PURE__ */ jsx("kbd", { className: "rounded border border-border px-1.5 py-0.5 text-[10px] text-muted-foreground", children: "Ctrl K" })
|
|
17431
|
+
] }),
|
|
17432
|
+
/* @__PURE__ */ jsxs(TabsList, { className: cn2("grid w-full grid-cols-2 text-foreground", classNames?.tabs), "aria-label": messages.tabsLabel, children: [
|
|
17433
|
+
/* @__PURE__ */ jsx(TabsTrigger, { value: "agents", children: messages.agents }),
|
|
17434
|
+
/* @__PURE__ */ jsx(TabsTrigger, { value: "sessions", children: messages.sessions })
|
|
17435
|
+
] })
|
|
17436
|
+
] }),
|
|
17437
|
+
/* @__PURE__ */ jsxs(TabsContent, { value: "agents", className: cn2("mt-0 min-h-0 flex-1 overflow-y-auto px-4 pb-4", classNames?.body), children: [
|
|
17438
|
+
viewModel.capabilities.createAgent ? /* @__PURE__ */ jsxs("button", { type: "button", className: "mb-3 flex h-9 w-full items-center gap-2 rounded-md px-3 text-left text-sm font-medium hover:bg-muted", onClick: () => onIntent?.({ type: "create-agent" }), children: [
|
|
17439
|
+
/* @__PURE__ */ jsx(Plus, { className: "size-4", "aria-hidden": "true" }),
|
|
17440
|
+
messages.newAgent
|
|
17441
|
+
] }) : null,
|
|
17442
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 px-3 text-xs font-medium text-muted-foreground", children: messages.allAgents }),
|
|
17443
|
+
/* @__PURE__ */ jsx(CollectionState, { status: viewModel.agents.status, empty: messages.emptyAgents, noResults: messages.noResults, hasItems: agents.length > 0, query, error: viewModel.agents.error, onRetry: () => onIntent?.({ type: "retry-agents" }) }),
|
|
17444
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: agents.map((item) => /* @__PURE__ */ jsxs(
|
|
17445
|
+
"div",
|
|
17446
|
+
{
|
|
17447
|
+
"aria-current": item.id === viewModel.selectedAgentItem ? "page" : void 0,
|
|
17448
|
+
className: cn2("group flex w-full items-center gap-3 rounded-lg border border-transparent px-3 py-2 text-left hover:bg-muted aria-[current=page]:border-primary aria-[current=page]:bg-muted", classNames?.item),
|
|
17449
|
+
children: [
|
|
17450
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "flex min-w-0 flex-1 items-center gap-3 text-left", onClick: () => onIntent?.({ type: "select-agent", itemId: item.id }), children: [
|
|
17451
|
+
/* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx(ItemAvatar, { item }) }),
|
|
17452
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
17453
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-sm font-medium", children: item.name }),
|
|
17454
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-xs text-foreground/80", children: item.description || messages.noDescription })
|
|
17455
|
+
] })
|
|
17456
|
+
] }),
|
|
17457
|
+
item.builtIn ? /* @__PURE__ */ jsx("span", { className: "rounded-full bg-muted px-1.5 py-1 text-[10px] text-foreground", children: messages.builtIn }) : null,
|
|
17458
|
+
viewModel.capabilities.pinAgents ? /* @__PURE__ */ jsx(
|
|
17459
|
+
"button",
|
|
17460
|
+
{
|
|
17461
|
+
type: "button",
|
|
17462
|
+
"aria-label": item.pinned ? messages.unpin : messages.pin,
|
|
17463
|
+
className: cn2("flex size-8 items-center justify-center rounded-md text-muted-foreground opacity-0 hover:bg-muted group-hover:opacity-100", item.pinned && "text-primary opacity-100"),
|
|
17464
|
+
onClick: (event) => {
|
|
17465
|
+
event.stopPropagation();
|
|
17466
|
+
onIntent?.({ type: "toggle-agent-pin", itemId: item.id, pinned: !item.pinned });
|
|
17467
|
+
},
|
|
17468
|
+
onKeyDown: (event) => {
|
|
17469
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
17470
|
+
event.preventDefault();
|
|
17471
|
+
event.stopPropagation();
|
|
17472
|
+
onIntent?.({ type: "toggle-agent-pin", itemId: item.id, pinned: !item.pinned });
|
|
17473
|
+
}
|
|
17474
|
+
},
|
|
17475
|
+
children: /* @__PURE__ */ jsx(Pin, { className: cn2("size-4", item.pinned && "fill-current", item.pinPending && "animate-pulse") })
|
|
17476
|
+
}
|
|
17477
|
+
) : null
|
|
17478
|
+
]
|
|
17479
|
+
},
|
|
17480
|
+
item.id
|
|
17481
|
+
)) })
|
|
17482
|
+
] }),
|
|
17483
|
+
/* @__PURE__ */ jsxs(TabsContent, { value: "sessions", className: cn2("mt-0 min-h-0 flex-1 overflow-y-auto px-4 pb-4", classNames?.body), children: [
|
|
17484
|
+
viewModel.capabilities.createSession ? /* @__PURE__ */ jsxs("button", { type: "button", className: "flex h-9 w-full items-center gap-2 rounded-md px-3 text-left text-sm font-medium hover:bg-muted", onClick: () => onIntent?.({ type: "create-session" }), children: [
|
|
17485
|
+
/* @__PURE__ */ jsx(SquarePen, { className: "size-4", "aria-hidden": "true" }),
|
|
17486
|
+
messages.newSession
|
|
17487
|
+
] }) : null,
|
|
17488
|
+
viewModel.capabilities.manageCapabilities ? /* @__PURE__ */ jsxs("button", { type: "button", className: "mb-3 flex h-9 w-full items-center gap-2 rounded-md px-3 text-left text-sm font-medium hover:bg-muted", onClick: () => onIntent?.({ type: "open-capabilities" }), children: [
|
|
17489
|
+
/* @__PURE__ */ jsx(Blocks, { className: "size-4", "aria-hidden": "true" }),
|
|
17490
|
+
messages.capabilities
|
|
17491
|
+
] }) : null,
|
|
17492
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 px-3 text-xs font-medium text-muted-foreground", children: messages.recentSessions }),
|
|
17493
|
+
/* @__PURE__ */ jsx(CollectionState, { status: viewModel.sessions.status, empty: messages.emptySessions, noResults: messages.noResults, hasItems: sessions.length > 0, query, error: viewModel.sessions.error, onRetry: () => onIntent?.({ type: "retry-sessions" }) }),
|
|
17494
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: sessions.map((item) => {
|
|
17495
|
+
const percent = item.contextUsage ? Math.min(100, Math.round(item.contextUsage.usedTokens / item.contextUsage.maxTokens * 100)) : void 0;
|
|
17496
|
+
return /* @__PURE__ */ jsxs("div", { "aria-current": item.id === viewModel.selectedSessionItem ? "page" : void 0, className: cn2("group flex w-full items-center gap-3 rounded-lg border border-transparent px-3 py-2 text-left hover:bg-muted aria-[current=page]:border-primary aria-[current=page]:bg-muted", classNames?.item), children: [
|
|
17497
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "flex min-w-0 flex-1 items-center gap-3 text-left", onClick: () => onIntent?.({ type: "select-session", sessionId: item.id }), children: [
|
|
17498
|
+
/* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx(SessionAvatar, { item }) }),
|
|
17499
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
17500
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-sm font-medium", children: item.title }),
|
|
17501
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-xs text-foreground/80", children: new Intl.DateTimeFormat(locale, { dateStyle: "medium", timeStyle: "short" }).format(new Date(item.updatedAt)) })
|
|
17502
|
+
] })
|
|
17503
|
+
] }),
|
|
17504
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
17505
|
+
percent !== void 0 && item.status === "idle" ? /* @__PURE__ */ jsxs("span", { className: "text-xs text-foreground", "aria-label": messages.contextUsage({ percent }), children: [
|
|
17506
|
+
percent,
|
|
17507
|
+
"%"
|
|
17508
|
+
] }) : /* @__PURE__ */ jsx(StatusIndicator, { status: item.status }),
|
|
17509
|
+
viewModel.capabilities.pinSessions ? /* @__PURE__ */ jsx("button", { type: "button", "aria-label": item.pinned ? messages.unpin : messages.pin, className: cn2("flex size-8 items-center justify-center rounded-md text-muted-foreground opacity-0 hover:bg-muted group-hover:opacity-100", item.pinned && "text-primary opacity-100"), onClick: (event) => {
|
|
17510
|
+
event.stopPropagation();
|
|
17511
|
+
onIntent?.({ type: "toggle-session-pin", sessionId: item.id, pinned: !item.pinned });
|
|
17512
|
+
}, children: /* @__PURE__ */ jsx(Pin, { className: cn2("size-4", item.pinned && "fill-current") }) }) : null,
|
|
17513
|
+
/* @__PURE__ */ jsx("span", { onClick: (event) => event.stopPropagation(), onKeyDown: (event) => event.stopPropagation(), children: /* @__PURE__ */ jsx(SessionActions, { item, capabilities: viewModel.capabilities, onIntent }) })
|
|
17514
|
+
] })
|
|
17515
|
+
] }, item.id);
|
|
17516
|
+
}) })
|
|
17517
|
+
] }),
|
|
17518
|
+
viewModel.capabilities.manageAgentSettings ? /* @__PURE__ */ jsx("div", { className: cn2("shrink-0 border-t border-border p-4", classNames?.footer), children: /* @__PURE__ */ jsxs("button", { type: "button", className: "flex h-10 w-full items-center gap-2 rounded-md px-3 text-left text-sm font-medium hover:bg-muted", onClick: () => onIntent?.({ type: "open-agent-settings" }), children: [
|
|
17519
|
+
/* @__PURE__ */ jsx(Settings, { className: "size-4", "aria-hidden": "true" }),
|
|
17520
|
+
messages.settings
|
|
17521
|
+
] }) }) : null
|
|
17522
|
+
]
|
|
17523
|
+
}
|
|
17524
|
+
) });
|
|
17525
|
+
}
|
|
16898
17526
|
|
|
16899
17527
|
// src/components/agent-workbench/activity-model.ts
|
|
16900
17528
|
var EVENT_CAPABILITIES = {
|
|
@@ -17057,7 +17685,7 @@ function AgentWorkbenchTool({
|
|
|
17057
17685
|
children: [
|
|
17058
17686
|
/* @__PURE__ */ jsx(TerminalSquare, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": "true" }),
|
|
17059
17687
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate font-medium", children: event.payload.toolName }),
|
|
17060
|
-
/* @__PURE__ */ jsxs("span", { className: "inline-flex shrink-0 items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-
|
|
17688
|
+
/* @__PURE__ */ jsxs("span", { className: "inline-flex shrink-0 items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-foreground", children: [
|
|
17061
17689
|
/* @__PURE__ */ jsx(ToolStatus, { status }),
|
|
17062
17690
|
messages.status[status]
|
|
17063
17691
|
] }),
|
|
@@ -17087,7 +17715,7 @@ function AgentWorkbenchTool({
|
|
|
17087
17715
|
);
|
|
17088
17716
|
}
|
|
17089
17717
|
function ActivityDetails({
|
|
17090
|
-
icon:
|
|
17718
|
+
icon: Icon2,
|
|
17091
17719
|
title,
|
|
17092
17720
|
open,
|
|
17093
17721
|
streaming,
|
|
@@ -17113,7 +17741,7 @@ function ActivityDetails({
|
|
|
17113
17741
|
triggerClassName
|
|
17114
17742
|
),
|
|
17115
17743
|
children: [
|
|
17116
|
-
streaming ? /* @__PURE__ */ jsx(Loader2, { className: "size-4 shrink-0 animate-spin", "aria-hidden": "true" }) : /* @__PURE__ */ jsx(
|
|
17744
|
+
streaming ? /* @__PURE__ */ jsx(Loader2, { className: "size-4 shrink-0 animate-spin", "aria-hidden": "true" }) : /* @__PURE__ */ jsx(Icon2, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": "true" }),
|
|
17117
17745
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: title }),
|
|
17118
17746
|
/* @__PURE__ */ jsx(
|
|
17119
17747
|
ChevronDown,
|
|
@@ -17375,7 +18003,7 @@ function AgentWorkbenchActivity({
|
|
|
17375
18003
|
{
|
|
17376
18004
|
className: cn2("flex justify-end", classNames?.usage),
|
|
17377
18005
|
"aria-label": messages.usage.label,
|
|
17378
|
-
children: /* @__PURE__ */ jsx("span", { className: "rounded-full border border-border bg-muted px-2.5 py-1 text-xs text-
|
|
18006
|
+
children: /* @__PURE__ */ jsx("span", { className: "rounded-full border border-border bg-muted px-2.5 py-1 text-xs text-foreground", children: messages.usage.context({
|
|
17379
18007
|
used: usage.contextTokens ?? usage.totalTokens ?? 0,
|
|
17380
18008
|
total: contextWindow
|
|
17381
18009
|
}) })
|
|
@@ -17492,12 +18120,12 @@ function formatDate(value, locale) {
|
|
|
17492
18120
|
}).format(date);
|
|
17493
18121
|
}
|
|
17494
18122
|
function Count({ value }) {
|
|
17495
|
-
return /* @__PURE__ */ jsx("span", { className: "rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-semibold text-
|
|
18123
|
+
return /* @__PURE__ */ jsx("span", { className: "rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-semibold text-foreground", children: value });
|
|
17496
18124
|
}
|
|
17497
18125
|
function DetailsSection({
|
|
17498
18126
|
title,
|
|
17499
18127
|
count,
|
|
17500
|
-
icon:
|
|
18128
|
+
icon: Icon2,
|
|
17501
18129
|
className,
|
|
17502
18130
|
children
|
|
17503
18131
|
}) {
|
|
@@ -17512,7 +18140,7 @@ function DetailsSection({
|
|
|
17512
18140
|
open: true,
|
|
17513
18141
|
children: [
|
|
17514
18142
|
/* @__PURE__ */ jsxs("summary", { className: "flex cursor-pointer list-none items-center gap-2 px-3 py-2.5 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring [&::-webkit-details-marker]:hidden", children: [
|
|
17515
|
-
/* @__PURE__ */ jsx(
|
|
18143
|
+
/* @__PURE__ */ jsx(Icon2, { className: "size-4 text-muted-foreground", "aria-hidden": "true" }),
|
|
17516
18144
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: title }),
|
|
17517
18145
|
/* @__PURE__ */ jsx(Count, { value: count }),
|
|
17518
18146
|
/* @__PURE__ */ jsx(
|
|
@@ -18070,7 +18698,7 @@ function LoginPage({
|
|
|
18070
18698
|
]
|
|
18071
18699
|
}
|
|
18072
18700
|
);
|
|
18073
|
-
return /* @__PURE__ */ jsx(
|
|
18701
|
+
return /* @__PURE__ */ jsx(React2__default.Fragment, { children: method.render ? method.render(button) : button }, method.id);
|
|
18074
18702
|
};
|
|
18075
18703
|
return /* @__PURE__ */ jsxs(
|
|
18076
18704
|
"main",
|
|
@@ -19634,8 +20262,8 @@ function renderWorkbenchIcon(icon, className) {
|
|
|
19634
20262
|
if (!icon) return null;
|
|
19635
20263
|
if (isValidElement(icon)) return icon;
|
|
19636
20264
|
if (isWorkbenchIconComponent(icon)) {
|
|
19637
|
-
const
|
|
19638
|
-
return /* @__PURE__ */ jsx(
|
|
20265
|
+
const Icon2 = icon;
|
|
20266
|
+
return /* @__PURE__ */ jsx(Icon2, { className });
|
|
19639
20267
|
}
|
|
19640
20268
|
return icon;
|
|
19641
20269
|
}
|
|
@@ -28526,7 +29154,7 @@ function DarkModeSelector({
|
|
|
28526
29154
|
className: "z-50 min-w-[8rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-0 zoom-in-95",
|
|
28527
29155
|
sideOffset: 5,
|
|
28528
29156
|
align: "end",
|
|
28529
|
-
children: options.map(({ value, label, Icon }) => /* @__PURE__ */ jsxs(
|
|
29157
|
+
children: options.map(({ value, label, Icon: Icon2 }) => /* @__PURE__ */ jsxs(
|
|
28530
29158
|
DropdownMenu2.Item,
|
|
28531
29159
|
{
|
|
28532
29160
|
className: cn5(
|
|
@@ -28535,7 +29163,7 @@ function DarkModeSelector({
|
|
|
28535
29163
|
),
|
|
28536
29164
|
onSelect: () => onModeChange(value),
|
|
28537
29165
|
children: [
|
|
28538
|
-
/* @__PURE__ */ jsx(
|
|
29166
|
+
/* @__PURE__ */ jsx(Icon2, { className: "h-4 w-4" }),
|
|
28539
29167
|
label
|
|
28540
29168
|
]
|
|
28541
29169
|
},
|
|
@@ -28602,7 +29230,7 @@ function DarkModeSubMenu({
|
|
|
28602
29230
|
{
|
|
28603
29231
|
className: "z-50 min-w-[8rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-0 zoom-in-95",
|
|
28604
29232
|
sideOffset: 8,
|
|
28605
|
-
children: options.map(({ value, label: optLabel, Icon }) => /* @__PURE__ */ jsxs(
|
|
29233
|
+
children: options.map(({ value, label: optLabel, Icon: Icon2 }) => /* @__PURE__ */ jsxs(
|
|
28606
29234
|
DropdownMenu2.CheckboxItem,
|
|
28607
29235
|
{
|
|
28608
29236
|
checked: mode === value,
|
|
@@ -28613,7 +29241,7 @@ function DarkModeSubMenu({
|
|
|
28613
29241
|
onCheckedChange: () => onModeChange(value),
|
|
28614
29242
|
children: [
|
|
28615
29243
|
/* @__PURE__ */ jsx(DropdownMenu2.ItemIndicator, { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" }) }) }),
|
|
28616
|
-
/* @__PURE__ */ jsx(
|
|
29244
|
+
/* @__PURE__ */ jsx(Icon2, { className: "h-4 w-4" }),
|
|
28617
29245
|
optLabel
|
|
28618
29246
|
]
|
|
28619
29247
|
},
|
|
@@ -28743,6 +29371,6 @@ function useDarkMode() {
|
|
|
28743
29371
|
return { mode, setMode, resolvedMode };
|
|
28744
29372
|
}
|
|
28745
29373
|
|
|
28746
|
-
export { AgentWorkbenchActivity, AgentWorkbenchTaskDetails, AgentWorkbenchTool, AppHeader, AppLayout, AppShellSidebar, AppSidebar, ApplicationHandoffLink, BaseAccordion, BaseAspectRatio, BaseAvatar, BaseBadge, BaseBreadcrumb, BaseButton, BaseCheckbox, BaseCode, BaseContainer, BaseContextMenu, BaseContextMenuCheckboxItem, BaseContextMenuContent, BaseContextMenuItem, BaseContextMenuLabel, BaseContextMenuRadioGroup, BaseContextMenuRadioItem, BaseContextMenuSeparator, BaseContextMenuSub, BaseContextMenuSubContent, BaseContextMenuSubTrigger, BaseContextMenuTrigger, BaseDescriptionList, BaseDialog, BaseDivider, BaseDropdownMenu, BaseEmptyState, BaseField, BaseFieldset, BaseGrid, BaseHeading, BaseInline, BaseInput, BaseInputGroup, BaseKbd, BaseLayout, BaseLayoutPane, BaseLayoutResizeHandle, BaseLayoutSplit, BaseLink, BaseList, BaseListItem, BaseLoadingState, BaseMultiSelect, BaseNotice, BaseNumberInput, BasePagination, BasePanel, BasePasswordInput, BasePortal, BaseProgress, BaseRadioGroup, BaseScrollArea, BaseSectionHeader, BaseSegmentedControl, BaseSelect, BaseSkeleton, BaseSpinner, BaseStack, BaseSteps, BaseSwitch, BaseTable, BaseTableBody, BaseTableCaption, BaseTableCell, BaseTableContainer, BaseTableEmpty, BaseTableFooter, BaseTableFooterBar, BaseTableHead, BaseTableHeader, BaseTableLoading, BaseTableRow, BaseTabs, BaseText, BaseTextarea, BaseToolbar, BaseTooltip, BaseVisuallyHidden, DarkModeSelector, DarkModeSubMenu, DataExplorerActionBar, DataExplorerButton, DataExplorerCheckbox, DataExplorerCollectionFooter, DataExplorerDetailField, DataExplorerDetailSection, DataExplorerDetailShell, DataExplorerDisplayActionMenu, DataExplorerDisplayCard, DataExplorerDisplayCollectionView, DataExplorerDisplayListItem, DataExplorerDisplayMedia, DataExplorerImagePreview, DataExplorerPage, DataExplorerRecordCard, DataExplorerSelect, DataExplorerToolbarActions, DataExplorerToolbarShell, DataExplorerTree, DataExplorerTreeShell, DataExplorerView, DataExplorerViewCollection, DataExplorerViewItem, DataExplorerViewItemShell, DataExplorerViewShell, DataExplorerViewTree, I18nSelector, InteractiveTable, InteractiveTableEditableTextCell, InteractiveTableReadonlyCell, InteractiveTableSelectCell, LoginPage, MonkeysProvider, MonkeysToastProvider, MonkeysToaster, NavButton, NavigationLayout, OverlayNodeHost, RenderNodeHost, MonkeysToastProvider as ToastProvider, MonkeysToaster as Toaster, UserAccountMenu, WorkbenchAssetGallery, WorkbenchContentPane, WorkbenchContentToolbar, WorkbenchDetailSidebar, WorkbenchEvidenceList, WorkbenchGalleryCard, WorkbenchGallerySettingsButton, WorkbenchGallerySettingsPanel, WorkbenchGalleryView, WorkbenchJourneyNavigation, WorkbenchLaneView, WorkbenchMasonryLayout, WorkbenchMetricGrid, WorkbenchRadarFilterChip, WorkbenchRadarInspectorSection, WorkbenchRadarMatrix, WorkbenchRadarNavigation, WorkbenchRadarWorkspace, WorkbenchRankedList, WorkbenchRelationshipGraph, WorkbenchResizableSidebar, WorkbenchScatterPlot, WorkbenchSelectionTray, WorkbenchTableView, applyThemeTokens, browserOverlayHistoryAdapter, buildOverlayUrl, calculateHue, calculateLightness, calculateSaturation, cn2 as cn, compileThemeTokens, createAgentWorkbenchActivityModel, createAgentWorkbenchDetailsModel, createSolidColorScale, defaultMonkeysLocale, enUS, extractToastMessage, genTailwindTheme, getBaseBadgeToneClassName, getBaseButtonToneClassName, getBaseMenuItemToneClassName, getBaseNoticeToneClassName, getDataExplorerActionToneClassName, getDataExplorerMenuItemToneClassName, getOverlayPresentationClassNames, getOverlayZIndex, getRenderNodeDataAttributes, getThemeTokenCssValue, isOverlayUrlActive, markDarkColor, mergeMonkeysLocaleMessages, resolveBaseAppearance, resolveDataExplorerAppearance, resolveMonkeysLocale, resolveRenderNodePolicyState, resolveToastVariantForMessage, sessionRenderNodeScrollRestoration, setTailwindTheme, toast, useDarkMode, useMonkeysBaseAppearance, useMonkeysComponentAttributes, useMonkeysDataExplorerAppearance, useMonkeysDirection, useMonkeysEnvironment, useMonkeysLocale, useMonkeysLocaleMessages, useMonkeysPortalOptions, useMonkeysResolvedTheme, useToastFeed, useToastOnValue, zhCN };
|
|
29374
|
+
export { AgentWorkbenchActivity, AgentWorkbenchSidebar, AgentWorkbenchTaskDetails, AgentWorkbenchTool, AppHeader, AppLayout, AppShellSidebar, AppSidebar, ApplicationHandoffLink, BaseAccordion, BaseAspectRatio, BaseAvatar, BaseBadge, BaseBreadcrumb, BaseButton, BaseCheckbox, BaseCode, BaseContainer, BaseContextMenu, BaseContextMenuCheckboxItem, BaseContextMenuContent, BaseContextMenuItem, BaseContextMenuLabel, BaseContextMenuRadioGroup, BaseContextMenuRadioItem, BaseContextMenuSeparator, BaseContextMenuSub, BaseContextMenuSubContent, BaseContextMenuSubTrigger, BaseContextMenuTrigger, BaseDescriptionList, BaseDialog, BaseDivider, BaseDropdownMenu, BaseEmptyState, BaseField, BaseFieldset, BaseGrid, BaseHeading, BaseInline, BaseInput, BaseInputGroup, BaseKbd, BaseLayout, BaseLayoutPane, BaseLayoutResizeHandle, BaseLayoutSplit, BaseLink, BaseList, BaseListItem, BaseLoadingState, BaseMultiSelect, BaseNotice, BaseNumberInput, BasePagination, BasePanel, BasePasswordInput, BasePortal, BaseProgress, BaseRadioGroup, BaseScrollArea, BaseSectionHeader, BaseSegmentedControl, BaseSelect, BaseSkeleton, BaseSpinner, BaseStack, BaseSteps, BaseSwitch, BaseTable, BaseTableBody, BaseTableCaption, BaseTableCell, BaseTableContainer, BaseTableEmpty, BaseTableFooter, BaseTableFooterBar, BaseTableHead, BaseTableHeader, BaseTableLoading, BaseTableRow, BaseTabs, BaseText, BaseTextarea, BaseToolbar, BaseTooltip, BaseVisuallyHidden, DarkModeSelector, DarkModeSubMenu, DataExplorerActionBar, DataExplorerButton, DataExplorerCheckbox, DataExplorerCollectionFooter, DataExplorerDetailField, DataExplorerDetailSection, DataExplorerDetailShell, DataExplorerDisplayActionMenu, DataExplorerDisplayCard, DataExplorerDisplayCollectionView, DataExplorerDisplayListItem, DataExplorerDisplayMedia, DataExplorerImagePreview, DataExplorerPage, DataExplorerRecordCard, DataExplorerSelect, DataExplorerToolbarActions, DataExplorerToolbarShell, DataExplorerTree, DataExplorerTreeShell, DataExplorerView, DataExplorerViewCollection, DataExplorerViewItem, DataExplorerViewItemShell, DataExplorerViewShell, DataExplorerViewTree, I18nSelector, InteractiveTable, InteractiveTableEditableTextCell, InteractiveTableReadonlyCell, InteractiveTableSelectCell, LoginPage, MonkeysProvider, MonkeysToastProvider, MonkeysToaster, NavButton, NavigationLayout, OverlayNodeHost, RenderNodeHost, MonkeysToastProvider as ToastProvider, MonkeysToaster as Toaster, UserAccountMenu, WorkbenchAssetGallery, WorkbenchContentPane, WorkbenchContentToolbar, WorkbenchDetailSidebar, WorkbenchEvidenceList, WorkbenchGalleryCard, WorkbenchGallerySettingsButton, WorkbenchGallerySettingsPanel, WorkbenchGalleryView, WorkbenchJourneyNavigation, WorkbenchLaneView, WorkbenchMasonryLayout, WorkbenchMetricGrid, WorkbenchRadarFilterChip, WorkbenchRadarInspectorSection, WorkbenchRadarMatrix, WorkbenchRadarNavigation, WorkbenchRadarWorkspace, WorkbenchRankedList, WorkbenchRelationshipGraph, WorkbenchResizableSidebar, WorkbenchScatterPlot, WorkbenchSelectionTray, WorkbenchTableView, applyThemeTokens, browserOverlayHistoryAdapter, buildOverlayUrl, calculateHue, calculateLightness, calculateSaturation, cn2 as cn, compileThemeTokens, createAgentWorkbenchActivityModel, createAgentWorkbenchDetailsModel, createSolidColorScale, defaultMonkeysLocale, enUS, extractToastMessage, genTailwindTheme, getBaseBadgeToneClassName, getBaseButtonToneClassName, getBaseMenuItemToneClassName, getBaseNoticeToneClassName, getDataExplorerActionToneClassName, getDataExplorerMenuItemToneClassName, getOverlayPresentationClassNames, getOverlayZIndex, getRenderNodeDataAttributes, getThemeTokenCssValue, isOverlayUrlActive, markDarkColor, mergeMonkeysLocaleMessages, resolveBaseAppearance, resolveDataExplorerAppearance, resolveMonkeysLocale, resolveRenderNodePolicyState, resolveToastVariantForMessage, sessionRenderNodeScrollRestoration, setTailwindTheme, toast, useDarkMode, useMonkeysBaseAppearance, useMonkeysComponentAttributes, useMonkeysDataExplorerAppearance, useMonkeysDirection, useMonkeysEnvironment, useMonkeysLocale, useMonkeysLocaleMessages, useMonkeysPortalOptions, useMonkeysResolvedTheme, useToastFeed, useToastOnValue, zhCN };
|
|
28747
29375
|
//# sourceMappingURL=index.mjs.map
|
|
28748
29376
|
//# sourceMappingURL=index.mjs.map
|