@tangle-network/sandbox-ui 1.1.10 → 2.0.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/{AgentGraph-DxAeQQch.d.ts → AgentGraph-B4uWLXlD.d.ts} +12 -17
- package/dist/AgentGraph-C1DsA-Rd.js +1369 -0
- package/dist/{AgentGraphCanvas-CMdOlSlh.js → AgentGraphCanvas-Bcxq-e6E.js} +557 -383
- package/dist/{WorkflowGraph-DZ3xejKE.js → WorkflowGraph-BDjc7V_U.js} +3 -2
- package/dist/canvas-theme-DGd0fm1H.js +58 -0
- package/dist/{chat-4OZD23RA.js → chat-BrlLa4rg.js} +2 -2
- package/dist/chat.d.ts +2 -2
- package/dist/chat.js +1 -1
- package/dist/{dashboard-DZ6FcC_Z.js → dashboard-FMrtIe9S.js} +1 -1
- package/dist/dashboard.js +1 -1
- package/dist/globals.css +404 -240
- package/dist/{index-ucJHuuVZ.d.ts → index-5zOVKgDT.d.ts} +2 -2
- package/dist/index-BK8KKLNY.d.ts +26 -0
- package/dist/{index-72uBu5lu.d.ts → index-D9-IiEpQ.d.ts} +21 -6
- package/dist/index.d.ts +4 -4
- package/dist/index.js +7 -6
- package/dist/latest-events-B34ElSTE.js +190 -0
- package/dist/{AgentGraph-DJEQrKTs.js → node-ui-Bfnh08U3.js} +40 -1194
- package/dist/primitives-CCdx5Hh_.js +23 -0
- package/dist/primitives.d.ts +2 -2
- package/dist/primitives.js +1 -1
- package/dist/{run-Qern6muT.js → run-BqpdpP1K.js} +161 -60
- package/dist/run.d.ts +2 -2
- package/dist/run.js +3 -1
- package/dist/styles.css +404 -240
- package/dist/tailwind.css +70 -43
- package/dist/{workbench-Ca6ZqAs5.js → workbench-BVnZNhP2.js} +1 -1
- package/dist/workbench.js +1 -1
- package/dist/workflows.d.ts +3 -7
- package/dist/workflows.js +2 -1
- package/package.json +9 -8
- package/dist/elk-loader-Dl9S7jQk.js +0 -12
- package/dist/index-CFJ1iJhu.d.ts +0 -26
- package/dist/primitives-B-76QdOU.js +0 -23
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Alert as Alert$1, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, ArtifactPane as ArtifactPane$1, Avatar as Avatar$1, AvatarFallback as AvatarFallback$1, AvatarImage as AvatarImage$1, Badge as Badge$1, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button as Button$1, CATEGORY_TONES, Calendar, Card as Card$1, CardContent as CardContent$1, CardDescription as CardDescription$1, CardFooter, CardHeader as CardHeader$1, CardTitle as CardTitle$1, Checkbox, Chip, CodeBlock, Collapsible, CollapsibleContent, CollapsibleTrigger, ComplianceBadge, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DatePicker as DatePicker$1, Dialog as Dialog$1, DialogClose as DialogClose$1, DialogContent as DialogContent$1, DialogDescription as DialogDescription$1, DialogFooter as DialogFooter$1, DialogHeader as DialogHeader$1, DialogOverlay, DialogPortal, DialogTitle as DialogTitle$1, DialogTrigger as DialogTrigger$1, DropZone, DropdownMenu as DropdownMenu$1, DropdownMenuCheckboxItem, DropdownMenuContent as DropdownMenuContent$1, DropdownMenuGroup, DropdownMenuItem as DropdownMenuItem$1, DropdownMenuLabel as DropdownMenuLabel$1, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator as DropdownMenuSeparator$1, DropdownMenuShortcut, DropdownMenuSub as DropdownMenuSub$1, DropdownMenuSubContent as DropdownMenuSubContent$1, DropdownMenuSubTrigger as DropdownMenuSubTrigger$1, DropdownMenuTrigger as DropdownMenuTrigger$1, EmptyState as EmptyState$1, Field, FilterField as FilterField$1, Heading, HelpText, HoverCard, HoverCardContent, HoverCardDescription, HoverCardHeader, HoverCardTitle, HoverCardTrigger, IconTile, InlineCode, Input as Input$1, Label as Label$1, Metric, MetricChart, MetricStrip, PageHeader, PageHeader as PageHeader$1, PageShell as PageShell$1, Pagination, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress as Progress$1, RadioGroup, RadioGroupItem, SegmentedControl as SegmentedControl$1, Select as Select$1, SelectContent as SelectContent$1, SelectGroup, SelectItem as SelectItem$1, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger as SelectTrigger$1, SelectValue as SelectValue$1, Separator, SeriesSparkline, SettingsList, SettingsListItem, SettingsNote, SettingsRow, SettingsSection, Sheet as Sheet$1, SheetClose as SheetClose$1, SheetContent as SheetContent$1, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle as SheetTitle$1, SheetTrigger as SheetTrigger$1, SidebarDropZone, Skeleton as Skeleton$1, SkeletonCard as SkeletonCard$1, SkeletonTable, Slider, StatCard as StatCard$1, StatusPill as StatusPill$1, Switch, TONE_CLASSES, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs as Tabs$1, TabsContent as TabsContent$1, TabsList as TabsList$1, TabsTrigger as TabsTrigger$1, Tag, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, Textarea as Textarea$1, ThemeToggle, TimeSelect, ToastContainer, ToastProvider, Toolbar as Toolbar$1, Tooltip as Tooltip$1, TooltipContent as TooltipContent$1, TooltipProvider as TooltipProvider$1, TooltipTrigger as TooltipTrigger$1, UploadProgress, Wizard, WizardStep, badgeVariants, buttonVariants, fieldMessageId, formatCalendarDate, initialsOf, localToday as localToday$1, normalizeSeries, parseCalendarDate, periodDelta, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, toneFor, useTheme, useToast } from "@tangle-network/ui/primitives";
|
|
2
|
+
import { Logo, TangleKnot as TangleKnot$1 } from "@tangle-network/brand";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
// src/primitives/logo.tsx
|
|
5
|
+
/** Keep the Sandbox wordmark API while Brand owns the mark and layout. */
|
|
6
|
+
function Logo$1({ variant = "sandbox", size = "md", className, iconOnly = false }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(Logo, {
|
|
8
|
+
size,
|
|
9
|
+
variant: iconOnly ? "icon" : "full",
|
|
10
|
+
suffix: variant === "sandbox" ? "Sandbox" : null,
|
|
11
|
+
className
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
Logo$1.displayName = "Logo";
|
|
15
|
+
// src/primitives/heading.tsx
|
|
16
|
+
/** Compatibility name for the canonical nested (h2) page header. */
|
|
17
|
+
function SectionTitle(props) {
|
|
18
|
+
return /* @__PURE__ */ jsx(PageHeader, {
|
|
19
|
+
...props,
|
|
20
|
+
level: 2
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export { ContextMenuShortcut as $, TabsContent$1 as $n, Popover as $t, Card$1 as A, SheetHeader as An, seriesAreaPath as Ar, DropdownMenuSubTrigger$1 as At, CollapsibleContent as B, StatCard$1 as Bn, TangleKnot$1 as Br, HoverCardHeader as Bt, BreadcrumbLink as C, SettingsRow as Cn, fieldMessageId as Cr, DropdownMenuPortal as Ct, Button$1 as D, SheetContent$1 as Dn, normalizeSeries as Dr, DropdownMenuShortcut as Dt, BreadcrumbSeparator as E, SheetClose$1 as En, localToday$1 as Er, DropdownMenuSeparator$1 as Et, CardTitle$1 as F, SidebarDropZone as Fn, toneFor as Fr, Heading as Ft, ContextMenuContent as G, TableBody as Gn, Input$1 as Gt, ComplianceBadge as H, Switch as Hn, HoverCardTrigger as Ht, Checkbox as I, Skeleton$1 as In, useTheme as Ir, HelpText as It, ContextMenuLabel as J, TableFooter as Jn, MetricChart as Jt, ContextMenuGroup as K, TableCaption as Kn, Label$1 as Kt, Chip as L, SkeletonCard$1 as Ln, useToast as Lr, HoverCard as Lt, CardDescription$1 as M, SheetPortal as Mn, seriesLinePath as Mr, EmptyState$1 as Mt, CardFooter as N, SheetTitle$1 as Nn, seriesMean as Nr, Field as Nt, CATEGORY_TONES as O, SheetDescription as On, parseCalendarDate as Or, DropdownMenuSub$1 as Ot, CardHeader$1 as P, SheetTrigger$1 as Pn, seriesScale as Pr, FilterField$1 as Pt, ContextMenuSeparator as Q, Tabs$1 as Qn, Pagination as Qt, CodeBlock as R, SkeletonTable as Rn, SectionTitle as Rr, HoverCardContent as Rt, BreadcrumbItem as S, SettingsNote as Sn, buttonVariants as Sr, DropdownMenuLabel$1 as St, BreadcrumbPage as T, Sheet$1 as Tn, initialsOf as Tr, DropdownMenuRadioItem as Tt, ContextMenu as U, TONE_CLASSES as Un, IconTile as Ut, CollapsibleTrigger as V, StatusPill$1 as Vn, HoverCardTitle as Vt, ContextMenuCheckboxItem as W, Table as Wn, InlineCode as Wt, ContextMenuRadioGroup as X, TableHeader as Xn, PageHeader$1 as Xt, ContextMenuPortal as Y, TableHead as Yn, MetricStrip as Yt, ContextMenuRadioItem as Z, TableRow as Zn, PageShell$1 as Zt, AvatarFallback$1 as _, SelectValue$1 as _n, TooltipTrigger$1 as _r, DropdownMenu$1 as _t, AlertDialogCancel as a, RadioGroup as an, TerminalInput as ar, DatePicker$1 as at, Breadcrumb as b, SettingsList as bn, WizardStep as br, DropdownMenuGroup as bt, AlertDialogFooter as c, Select$1 as cn, Textarea$1 as cr, DialogContent$1 as ct, AlertDialogPortal as d, SelectItem$1 as dn, ToastContainer as dr, DialogHeader$1 as dt, PopoverAnchor as en, TabsList$1 as er, ContextMenuSub as et, AlertDialogTitle as f, SelectLabel as fn, ToastProvider as fr, DialogOverlay as ft, Avatar$1 as g, SelectTrigger$1 as gn, TooltipProvider$1 as gr, DropZone as gt, ArtifactPane$1 as h, SelectSeparator as hn, TooltipContent$1 as hr, DialogTrigger$1 as ht, AlertDialogAction as i, Progress$1 as in, TerminalDisplay as ir, CopyButton as it, CardContent$1 as j, SheetOverlay as jn, seriesExtent as jr, DropdownMenuTrigger$1 as jt, Calendar as k, SheetFooter as kn, periodDelta as kr, DropdownMenuSubContent$1 as kt, AlertDialogHeader as l, SelectContent$1 as ln, ThemeToggle as lr, DialogDescription$1 as lt, AlertTitle as m, SelectScrollUpButton as mn, Tooltip$1 as mr, DialogTitle$1 as mt, AlertDescription as n, PopoverContent as nn, Tag as nr, ContextMenuSubTrigger as nt, AlertDialogContent as o, RadioGroupItem as on, TerminalLine as or, Dialog$1 as ot, AlertDialogTrigger as p, SelectScrollDownButton as pn, Toolbar$1 as pr, DialogPortal as pt, ContextMenuItem as q, TableCell as qn, Metric as qt, AlertDialog as r, PopoverTrigger as rn, TerminalCursor as rr, ContextMenuTrigger as rt, AlertDialogDescription as s, SegmentedControl$1 as sn, TextShimmer as sr, DialogClose$1 as st, Alert$1 as t, PopoverClose as tn, TabsTrigger$1 as tr, ContextMenuSubContent as tt, AlertDialogOverlay as u, SelectGroup as un, TimeSelect as ur, DialogFooter$1 as ut, AvatarImage$1 as v, Separator as vn, UploadProgress as vr, DropdownMenuCheckboxItem as vt, BreadcrumbList as w, SettingsSection as wn, formatCalendarDate as wr, DropdownMenuRadioGroup as wt, BreadcrumbEllipsis as x, SettingsListItem as xn, badgeVariants as xr, DropdownMenuItem$1 as xt, Badge$1 as y, SeriesSparkline as yn, Wizard as yr, DropdownMenuContent$1 as yt, Collapsible as z, Slider as zn, Logo$1 as zr, HoverCardDescription as zt };
|
package/dist/primitives.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as CollapsibleContent, $i as
|
|
2
|
-
export { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTone, ArtifactPane, type ArtifactPaneProps, Avatar, AvatarFallback, AvatarImage, type AvatarProps, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, CATEGORY_TONES, Calendar, type CalendarDate, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CardTitleProps, type CategoryTone, type ChartReferenceLine, Checkbox, Chip, type ChipProps, CodeBlock, type CodeBlockProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ComplianceBadge, type ComplianceBadgeProps, type ComplianceProduct, type ComplianceStatus, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DatePicker, type DatePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, Field, type FieldProps, FilterField, type FilterFieldProps, Heading, type HeadingProps, type HeadingVariant, HelpText, type HelpTextProps, HoverCard, HoverCardContent, HoverCardDescription, HoverCardHeader, HoverCardTitle, HoverCardTrigger, IconTile, type IconTileProps, InlineCode, type InlineCodeProps, Input, type InputProps, Label, Logo, type LogoProps, Metric, MetricChart, type MetricChartProps, type MetricProps, MetricStrip, type MetricStripProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, Pagination, type PaginationProps, type PeriodDelta, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, SectionTitle, type SectionTitleProps, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeriesExtent, type SeriesPoint, type SeriesPointInput, type SeriesScale, SeriesSparkline, type SeriesSparklineProps, SettingsList, type SettingsListAction, type SettingsListColumns, SettingsListItem, type SettingsListItemProps, type SettingsListMenuItem, type SettingsListProps, SettingsRow, type SettingsRowLayout, type SettingsRowProps, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarDropZone, type SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, Slider, StatCard, type StatCardProps, StatusPill, type StatusPillProps, type StatusTone, Switch, TONE_CLASSES, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TangleKnot, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, ThemeToggle, TimeSelect, type TimeSelectProps, type Toast, ToastContainer, ToastProvider, type Tone, type ToneClasses, Toolbar, type ToolbarProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UploadFile, UploadProgress, type UploadProgressProps, Wizard, type WizardProps, WizardStep, type WizardStepProps, badgeVariants, buttonVariants, fieldMessageId, formatCalendarDate, initialsOf, localToday, normalizeSeries, parseCalendarDate, periodDelta, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, toneFor, useTheme, useToast };
|
|
1
|
+
import { $ as CollapsibleContent, $i as Logo, $n as Separator, $r as TabsContent, $t as FieldProps, A as BreadcrumbPage, Ai as WizardProps, An as PaginationProps, Ar as SidebarDropZone, At as DialogPortal, B as CardDescription, Bi as parseCalendarDate, Bn as SegmentedControl, Br as StatusTone, Bt as DropdownMenuLabel, C as Badge, Ci as TooltipContent, Cn as MetricStrip, Cr as SheetDescription, Ct as Dialog, D as BreadcrumbItem, Di as UploadProgress, Dn as PageShell, Dr as SheetPortal, Dt as DialogFooter, E as BreadcrumbEllipsis, Ei as UploadFile, En as PageHeaderProps, Er as SheetOverlay, Et as DialogDescription, F as Calendar, Fi as fieldMessageId, Fn as PopoverContent, Fr as Slider, Ft as DropdownMenu, G as CategoryTone, Gi as seriesMean, Gn as SelectGroup, Gr as TableCaption, Gt as DropdownMenuShortcut, H as CardHeader, Hi as seriesAreaPath, Hn as SegmentedControlProps, Hr as TONE_CLASSES, Ht as DropdownMenuRadioGroup, I as CalendarDate, Ii as formatCalendarDate, In as PopoverTrigger, Ir as StatCard, It as DropdownMenuCheckboxItem, J as Chip, Ji as useTheme, Jn as SelectScrollDownButton, Jr as TableHead, Jt as DropdownMenuSubTrigger, K as ChartReferenceLine, Ki as seriesScale, Kn as SelectItem, Kr as TableCell, Kt as DropdownMenuSub, L as CalendarProps, Li as initialsOf, Ln as Progress, Lr as StatCardProps, Lt as DropdownMenuContent, M as Button, Mi as WizardStepProps, Mn as Popover, Mr as Skeleton, Mt as DialogTrigger, N as ButtonProps, Ni as badgeVariants, Nn as PopoverAnchor, Nr as SkeletonCard, Nt as DropZone, O as BreadcrumbLink, Oi as UploadProgressProps, On as PageShellProps, Or as SheetTitle, Ot as DialogHeader, P as CATEGORY_TONES, Pi as buttonVariants, Pn as PopoverClose, Pr as SkeletonTable, Pt as DropZoneProps, Q as Collapsible, Qi as SectionTitleProps, Qn as SelectValue, Qr as Tabs, Qt as Field, R as Card, Ri as localToday, Rn as RadioGroup, Rr as StatusPill, Rt as DropdownMenuGroup, S as AvatarProps, Si as Tooltip, Sn as MetricProps, Sr as SheetContent, St as DatePickerProps, T as Breadcrumb, Ti as TooltipTrigger, Tn as PageHeader, Tr as SheetHeader, Tt as DialogContent, U as CardTitle, Ui as seriesExtent, Un as Select, Ur as Table, Ut as DropdownMenuRadioItem, V as CardFooter, Vi as periodDelta, Vn as SegmentedControlOption, Vr as Switch, Vt as DropdownMenuPortal, W as CardTitleProps, Wi as seriesLinePath, Wn as SelectContent, Wr as TableBody, Wt as DropdownMenuSeparator, X as CodeBlock, Xi as HeadingProps, Xn as SelectSeparator, Xr as TableProps, Xt as EmptyState, Y as ChipProps, Yi as useToast, Yn as SelectScrollUpButton, Yr as TableHeader, Yt as DropdownMenuTrigger, Z as CodeBlockProps, Zi as SectionTitle, Zn as SelectTrigger, Zr as TableRow, Zt as EmptyStateProps, _ as ArtifactPane, _i as ToastProvider, _n as InputProps, _r as SettingsRowProps, _t as ContextMenuSubContent, a as AlertDialogCancel, ai as TerminalDisplay, an as HelpTextProps, ar as SeriesSparklineProps, at as ContextMenu, b as AvatarFallback, bi as Toolbar, bn as MetricChart, br as Sheet, bt as CopyButton, c as AlertDialogFooter, ci as TextShimmer, cn as HoverCardDescription, cr as SettingsListColumns, ct as ContextMenuGroup, d as AlertDialogPortal, di as TextareaProps, dn as HoverCardTrigger, dr as SettingsListMenuItem, dt as ContextMenuPortal, ea as LogoProps, ei as TabsList, en as FilterField, er as SeriesExtent, et as CollapsibleTrigger, f as AlertDialogTitle, fi as ThemeToggle, fn as IconTile, fr as SettingsListProps, ft as ContextMenuRadioGroup, g as AlertTone, gi as ToastContainer, gn as Input, gr as SettingsRowLayout, gt as ContextMenuSub, h as AlertTitle, hi as Toast, hn as InlineCodeProps, hr as SettingsRow, ht as ContextMenuShortcut, i as AlertDialogAction, ii as TerminalCursor, in as HelpText, ir as SeriesSparkline, it as ComplianceStatus, j as BreadcrumbSeparator, ji as WizardStep, jn as PeriodDelta, jr as SidebarDropZoneProps, jt as DialogTitle, k as BreadcrumbList, ki as Wizard, kn as Pagination, kr as SheetTrigger, kt as DialogOverlay, l as AlertDialogHeader, li as TextShimmerProps, ln as HoverCardHeader, lr as SettingsListItem, lt as ContextMenuItem, m as AlertProps, mi as TimeSelectProps, mn as InlineCode, mr as SettingsNoteProps, mt as ContextMenuSeparator, n as AlertDescription, ni as Tag, nn as Heading, nr as SeriesPointInput, nt as ComplianceBadgeProps, o as AlertDialogContent, oi as TerminalInput, on as HoverCard, or as SettingsList, ot as ContextMenuCheckboxItem, p as AlertDialogTrigger, pi as TimeSelect, pn as IconTileProps, pr as SettingsNote, pt as ContextMenuRadioItem, q as Checkbox, qi as toneFor, qn as SelectLabel, qr as TableFooter, qt as DropdownMenuSubContent, r as AlertDialog, ri as TagProps, rn as HeadingVariant, rr as SeriesScale, rt as ComplianceProduct, s as AlertDialogDescription, si as TerminalLine, sn as HoverCardContent, sr as SettingsListAction, st as ContextMenuContent, t as Alert, ta as TangleKnot, ti as TabsTrigger, tn as FilterFieldProps, tr as SeriesPoint, tt as ComplianceBadge, u as AlertDialogOverlay, ui as Textarea, un as HoverCardTitle, ur as SettingsListItemProps, ut as ContextMenuLabel, v as ArtifactPaneProps, vi as Tone, vn as Label, vr as SettingsSection, vt as ContextMenuSubTrigger, w as BadgeProps, wi as TooltipProvider, wn as MetricStripProps, wr as SheetFooter, wt as DialogClose, x as AvatarImage, xi as ToolbarProps, xn as MetricChartProps, xr as SheetClose, xt as DatePicker, y as Avatar, yi as ToneClasses, yn as Metric, yr as SettingsSectionProps, yt as ContextMenuTrigger, z as CardContent, zi as normalizeSeries, zn as RadioGroupItem, zr as StatusPillProps, zt as DropdownMenuItem } from "./index-BK8KKLNY.js";
|
|
2
|
+
export { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTone, ArtifactPane, type ArtifactPaneProps, Avatar, AvatarFallback, AvatarImage, type AvatarProps, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, CATEGORY_TONES, Calendar, type CalendarDate, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CardTitleProps, type CategoryTone, type ChartReferenceLine, Checkbox, Chip, type ChipProps, CodeBlock, type CodeBlockProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ComplianceBadge, type ComplianceBadgeProps, type ComplianceProduct, type ComplianceStatus, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DatePicker, type DatePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, Field, type FieldProps, FilterField, type FilterFieldProps, Heading, type HeadingProps, type HeadingVariant, HelpText, type HelpTextProps, HoverCard, HoverCardContent, HoverCardDescription, HoverCardHeader, HoverCardTitle, HoverCardTrigger, IconTile, type IconTileProps, InlineCode, type InlineCodeProps, Input, type InputProps, Label, Logo, type LogoProps, Metric, MetricChart, type MetricChartProps, type MetricProps, MetricStrip, type MetricStripProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, Pagination, type PaginationProps, type PeriodDelta, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, SectionTitle, type SectionTitleProps, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeriesExtent, type SeriesPoint, type SeriesPointInput, type SeriesScale, SeriesSparkline, type SeriesSparklineProps, SettingsList, type SettingsListAction, type SettingsListColumns, SettingsListItem, type SettingsListItemProps, type SettingsListMenuItem, type SettingsListProps, SettingsNote, type SettingsNoteProps, SettingsRow, type SettingsRowLayout, type SettingsRowProps, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarDropZone, type SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, Slider, StatCard, type StatCardProps, StatusPill, type StatusPillProps, type StatusTone, Switch, TONE_CLASSES, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TangleKnot, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, ThemeToggle, TimeSelect, type TimeSelectProps, type Toast, ToastContainer, ToastProvider, type Tone, type ToneClasses, Toolbar, type ToolbarProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UploadFile, UploadProgress, type UploadProgressProps, Wizard, type WizardProps, WizardStep, type WizardStepProps, badgeVariants, buttonVariants, fieldMessageId, formatCalendarDate, initialsOf, localToday, normalizeSeries, parseCalendarDate, periodDelta, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, toneFor, useTheme, useToast };
|
package/dist/primitives.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as Alert, n as AlertDescription, r as AlertDialog, i as AlertDialogAction, a as AlertDialogCancel, o as AlertDialogContent, s as AlertDialogDescription, c as AlertDialogFooter, l as AlertDialogHeader, u as AlertDialogOverlay, d as AlertDialogPortal, f as AlertDialogTitle, p as AlertDialogTrigger, m as AlertTitle, h as ArtifactPane, g as Avatar, _ as AvatarFallback, v as AvatarImage, y as Badge, b as Breadcrumb, x as BreadcrumbEllipsis, S as BreadcrumbItem, C as BreadcrumbLink, w as BreadcrumbList, T as BreadcrumbPage, E as BreadcrumbSeparator, D as Button, O as CATEGORY_TONES, k as Calendar, A as Card, j as CardContent, M as CardDescription, N as CardFooter, P as CardHeader, F as CardTitle, I as Checkbox, L as Chip, R as CodeBlock, z as Collapsible, B as CollapsibleContent, V as CollapsibleTrigger, H as ComplianceBadge, U as ContextMenu, W as ContextMenuCheckboxItem, G as ContextMenuContent, K as ContextMenuGroup, q as ContextMenuItem, J as ContextMenuLabel, Y as ContextMenuPortal, X as ContextMenuRadioGroup, Z as ContextMenuRadioItem, Q as ContextMenuSeparator, $ as ContextMenuShortcut, et as ContextMenuSub, tt as ContextMenuSubContent, nt as ContextMenuSubTrigger, rt as ContextMenuTrigger, it as CopyButton, at as DatePicker, ot as Dialog, st as DialogClose, ct as DialogContent, lt as DialogDescription, ut as DialogFooter, dt as DialogHeader, ft as DialogOverlay, pt as DialogPortal, mt as DialogTitle, ht as DialogTrigger, gt as DropZone, _t as DropdownMenu, vt as DropdownMenuCheckboxItem, yt as DropdownMenuContent, bt as DropdownMenuGroup, xt as DropdownMenuItem, St as DropdownMenuLabel, Ct as DropdownMenuPortal, wt as DropdownMenuRadioGroup, Tt as DropdownMenuRadioItem, Et as DropdownMenuSeparator, Dt as DropdownMenuShortcut, Ot as DropdownMenuSub, kt as DropdownMenuSubContent, At as DropdownMenuSubTrigger, jt as DropdownMenuTrigger, Mt as EmptyState, Nt as Field, Pt as FilterField, Ft as Heading, It as HelpText, Lt as HoverCard, Rt as HoverCardContent, zt as HoverCardDescription, Bt as HoverCardHeader, Vt as HoverCardTitle, Ht as HoverCardTrigger, Ut as IconTile, Wt as InlineCode, Gt as Input, Kt as Label,
|
|
1
|
+
export { t as Alert, n as AlertDescription, r as AlertDialog, i as AlertDialogAction, a as AlertDialogCancel, o as AlertDialogContent, s as AlertDialogDescription, c as AlertDialogFooter, l as AlertDialogHeader, u as AlertDialogOverlay, d as AlertDialogPortal, f as AlertDialogTitle, p as AlertDialogTrigger, m as AlertTitle, h as ArtifactPane, g as Avatar, _ as AvatarFallback, v as AvatarImage, y as Badge, b as Breadcrumb, x as BreadcrumbEllipsis, S as BreadcrumbItem, C as BreadcrumbLink, w as BreadcrumbList, T as BreadcrumbPage, E as BreadcrumbSeparator, D as Button, O as CATEGORY_TONES, k as Calendar, A as Card, j as CardContent, M as CardDescription, N as CardFooter, P as CardHeader, F as CardTitle, I as Checkbox, L as Chip, R as CodeBlock, z as Collapsible, B as CollapsibleContent, V as CollapsibleTrigger, H as ComplianceBadge, U as ContextMenu, W as ContextMenuCheckboxItem, G as ContextMenuContent, K as ContextMenuGroup, q as ContextMenuItem, J as ContextMenuLabel, Y as ContextMenuPortal, X as ContextMenuRadioGroup, Z as ContextMenuRadioItem, Q as ContextMenuSeparator, $ as ContextMenuShortcut, et as ContextMenuSub, tt as ContextMenuSubContent, nt as ContextMenuSubTrigger, rt as ContextMenuTrigger, it as CopyButton, at as DatePicker, ot as Dialog, st as DialogClose, ct as DialogContent, lt as DialogDescription, ut as DialogFooter, dt as DialogHeader, ft as DialogOverlay, pt as DialogPortal, mt as DialogTitle, ht as DialogTrigger, gt as DropZone, _t as DropdownMenu, vt as DropdownMenuCheckboxItem, yt as DropdownMenuContent, bt as DropdownMenuGroup, xt as DropdownMenuItem, St as DropdownMenuLabel, Ct as DropdownMenuPortal, wt as DropdownMenuRadioGroup, Tt as DropdownMenuRadioItem, Et as DropdownMenuSeparator, Dt as DropdownMenuShortcut, Ot as DropdownMenuSub, kt as DropdownMenuSubContent, At as DropdownMenuSubTrigger, jt as DropdownMenuTrigger, Mt as EmptyState, Nt as Field, Pt as FilterField, Ft as Heading, It as HelpText, Lt as HoverCard, Rt as HoverCardContent, zt as HoverCardDescription, Bt as HoverCardHeader, Vt as HoverCardTitle, Ht as HoverCardTrigger, Ut as IconTile, Wt as InlineCode, Gt as Input, Kt as Label, zr as Logo, qt as Metric, Jt as MetricChart, Yt as MetricStrip, Xt as PageHeader, Zt as PageShell, Qt as Pagination, $t as Popover, en as PopoverAnchor, tn as PopoverClose, nn as PopoverContent, rn as PopoverTrigger, in as Progress, an as RadioGroup, on as RadioGroupItem, Rr as SectionTitle, sn as SegmentedControl, cn as Select, ln as SelectContent, un as SelectGroup, dn as SelectItem, fn as SelectLabel, pn as SelectScrollDownButton, mn as SelectScrollUpButton, hn as SelectSeparator, gn as SelectTrigger, _n as SelectValue, vn as Separator, yn as SeriesSparkline, bn as SettingsList, xn as SettingsListItem, Sn as SettingsNote, Cn as SettingsRow, wn as SettingsSection, Tn as Sheet, En as SheetClose, Dn as SheetContent, On as SheetDescription, kn as SheetFooter, An as SheetHeader, jn as SheetOverlay, Mn as SheetPortal, Nn as SheetTitle, Pn as SheetTrigger, Fn as SidebarDropZone, In as Skeleton, Ln as SkeletonCard, Rn as SkeletonTable, zn as Slider, Bn as StatCard, Vn as StatusPill, Hn as Switch, Un as TONE_CLASSES, Wn as Table, Gn as TableBody, Kn as TableCaption, qn as TableCell, Jn as TableFooter, Yn as TableHead, Xn as TableHeader, Zn as TableRow, Qn as Tabs, $n as TabsContent, er as TabsList, tr as TabsTrigger, nr as Tag, Br as TangleKnot, rr as TerminalCursor, ir as TerminalDisplay, ar as TerminalInput, or as TerminalLine, sr as TextShimmer, cr as Textarea, lr as ThemeToggle, ur as TimeSelect, dr as ToastContainer, fr as ToastProvider, pr as Toolbar, mr as Tooltip, hr as TooltipContent, gr as TooltipProvider, _r as TooltipTrigger, vr as UploadProgress, yr as Wizard, br as WizardStep, xr as badgeVariants, Sr as buttonVariants, Cr as fieldMessageId, wr as formatCalendarDate, Tr as initialsOf, Er as localToday, Dr as normalizeSeries, Or as parseCalendarDate, kr as periodDelta, Ar as seriesAreaPath, jr as seriesExtent, Mr as seriesLinePath, Nr as seriesMean, Pr as seriesScale, Fr as toneFor, Ir as useTheme, Lr as useToast } from "./primitives-CCdx5Hh_.js";
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { t as cn } from "./utils-BER_bdgE.js";
|
|
2
2
|
import { i as modelBrandFor, t as ModelBrandStack } from "./model-brand-bTcMjQtB.js";
|
|
3
3
|
import { t as ProviderIcon } from "./provider-logo-CPKRPHcS.js";
|
|
4
|
-
import { t as AgentGraph } from "./AgentGraph-
|
|
4
|
+
import { f as syncAmbient, l as activityTiming, t as AgentGraph, u as ambientStyle } from "./AgentGraph-C1DsA-Rd.js";
|
|
5
|
+
import { t as LatestEvents } from "./latest-events-B34ElSTE.js";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
import { useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
|
|
7
8
|
import { X } from "lucide-react";
|
|
8
9
|
import { AgentTimeline } from "@tangle-network/ui/chat";
|
|
9
|
-
import { ApprovalCard, ApprovalDiffSummary, ExpandedToolDetail, InlineThinkingItem, InlineThinkingItem as InlineThinkingItem$1, InlineToolItem, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, TaskList, ToolCallFeed, parseToolEvent, showsTaskPriority, taskProgress, taskStatus } from "@tangle-network/ui/run";
|
|
10
|
-
import { FlowWaterfall } from "@tangle-network/charts/react";
|
|
10
|
+
import { ApprovalCard, ApprovalDiffSummary, ExpandedToolDetail, InlineThinkingItem, InlineThinkingItem as InlineThinkingItem$1, InlineToolItem, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon as RunStatusIcon$1, TaskList, ToolCallFeed, parseToolEvent, runStatus, runStatus as runStatus$1, showsTaskPriority, statusMeta as statusMeta$1, taskProgress, taskStatus } from "@tangle-network/ui/run";
|
|
11
|
+
import { FlowWaterfall, toolGlyph } from "@tangle-network/charts/react";
|
|
11
12
|
// src/run/trace-waterfall.tsx
|
|
12
13
|
/** Agent and model spans show their lab/host mark; tool spans show their provider's mark. Unknown keeps the kind glyph. */
|
|
13
14
|
function traceSpanMark(span) {
|
|
@@ -264,32 +265,82 @@ function agentOf(span, byId) {
|
|
|
264
265
|
}
|
|
265
266
|
/** The trace's agents as a spawn tree at the cursor: an agent not started by then is left out, one that ends after it is
|
|
266
267
|
* still running, so the Graph and the Timeline always show the same moment. */
|
|
267
|
-
function agentGraphAt(spans, byId, at, epoch, cards) {
|
|
268
|
-
const nodes = [];
|
|
269
|
-
const
|
|
270
|
-
const
|
|
268
|
+
function agentGraphAt(spans, byId, at, epoch, cards, extraEdges = []) {
|
|
269
|
+
const nodes = [], edges = [], seen = /* @__PURE__ */ new Set();
|
|
270
|
+
const timed = new Set(spans.flatMap((span) => span.kind === "pipeline" && span.id ? [span.id] : []));
|
|
271
|
+
const recorded = /* @__PURE__ */ new Map();
|
|
272
|
+
for (const [index, span] of spans.entries()) {
|
|
273
|
+
if (span.kind === "pipeline" || at !== null && span.startMs > at) continue;
|
|
274
|
+
const owner = agentOf(span, byId);
|
|
275
|
+
if (!owner?.id) continue;
|
|
276
|
+
const events = recorded.get(owner.id) ?? [];
|
|
277
|
+
const endpoints = [{
|
|
278
|
+
suffix: "start",
|
|
279
|
+
label: "Started ",
|
|
280
|
+
time: span.startMs
|
|
281
|
+
}];
|
|
282
|
+
if (span.status !== "running" && span.endMs !== span.startMs && (at === null || span.endMs <= at)) endpoints.push({
|
|
283
|
+
suffix: "end",
|
|
284
|
+
label: "Recorded ",
|
|
285
|
+
time: span.endMs
|
|
286
|
+
});
|
|
287
|
+
for (const endpoint of endpoints) events.push({
|
|
288
|
+
id: (span.id ?? String(index)) + ":" + endpoint.suffix,
|
|
289
|
+
label: endpoint.label + span.name,
|
|
290
|
+
at: epoch == null || !Number.isFinite(epoch) ? void 0 : epoch + endpoint.time
|
|
291
|
+
});
|
|
292
|
+
recorded.set(owner.id, events);
|
|
293
|
+
}
|
|
271
294
|
for (const span of spans) {
|
|
272
|
-
if (span.kind !== "pipeline" || !span.id || at !== null && span.startMs > at) continue;
|
|
273
|
-
if (seen.has(span.id)) continue;
|
|
295
|
+
if (span.kind !== "pipeline" || !span.id || seen.has(span.id) || at !== null && span.startMs > at) continue;
|
|
274
296
|
seen.add(span.id);
|
|
275
|
-
const
|
|
297
|
+
const card = cards?.[span.id];
|
|
298
|
+
const state = at !== null && (span.endMs > at || span.status === "running") ? "running" : runStatus(span.status ?? "unknown");
|
|
299
|
+
const activity = (span.activityAt ?? []).reduce((last, time) => Number.isFinite(time) && (at === null || time <= at) ? Math.max(last, time) : last, -Infinity);
|
|
300
|
+
const events = (card?.events ?? recorded.get(span.id) ?? []).filter((event) => at === null || epoch != null && event.at != null && event.at <= epoch + at).sort((a, b) => (a.at ?? 0) - (b.at ?? 0));
|
|
301
|
+
const timing = activityTiming({
|
|
302
|
+
events,
|
|
303
|
+
lastActivityAt: epoch != null && Number.isFinite(epoch) && Number.isFinite(activity) ? epoch + activity : at === null ? card?.lastActivityAt : void 0,
|
|
304
|
+
medianEventGapMs: span.medianEventGapMs ?? (at === null ? card?.medianEventGapMs : void 0)
|
|
305
|
+
});
|
|
276
306
|
nodes.push({
|
|
307
|
+
...card,
|
|
277
308
|
id: span.id,
|
|
278
|
-
label: span.name,
|
|
279
|
-
model: span.detail,
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
startedAt: epoch
|
|
283
|
-
...
|
|
309
|
+
label: card?.label ?? span.name,
|
|
310
|
+
model: card?.model ?? span.detail,
|
|
311
|
+
status: at === null && card?.status ? card.status : state === "done" ? "succeeded" : state,
|
|
312
|
+
costUsd: at === null ? card?.costUsd ?? span.costUsd : span.endMs <= at ? span.costUsd : void 0,
|
|
313
|
+
startedAt: epoch == null || !Number.isFinite(epoch) ? at === null ? card?.startedAt : void 0 : epoch + span.startMs,
|
|
314
|
+
...timing,
|
|
315
|
+
events: events.slice(-4),
|
|
316
|
+
turn: at === null ? card?.turn : void 0,
|
|
317
|
+
result: at === null ? card?.result ?? span.output : span.endMs <= at ? span.output : void 0,
|
|
318
|
+
commits: at === null ? card?.commits : void 0,
|
|
319
|
+
tokens: at === null ? card?.tokens : void 0
|
|
284
320
|
});
|
|
285
|
-
const parent = span.parentId ? byId.get(span.parentId) : void 0;
|
|
286
|
-
const spawner = parent && agentOf(parent, byId);
|
|
321
|
+
const parent = span.parentId ? byId.get(span.parentId) : void 0, spawner = parent && agentOf(parent, byId);
|
|
287
322
|
if (spawner?.id) edges.push({
|
|
288
323
|
from: spawner.id,
|
|
289
324
|
to: span.id,
|
|
290
325
|
kind: "spawn"
|
|
291
326
|
});
|
|
292
327
|
}
|
|
328
|
+
for (const [id, card] of Object.entries(cards ?? {})) if (!timed.has(id)) nodes.push(at === null ? {
|
|
329
|
+
...card,
|
|
330
|
+
id,
|
|
331
|
+
label: card.label ?? id,
|
|
332
|
+
status: card.status ?? "unknown"
|
|
333
|
+
} : {
|
|
334
|
+
id,
|
|
335
|
+
label: card.label ?? id,
|
|
336
|
+
model: card.model,
|
|
337
|
+
harness: card.harness,
|
|
338
|
+
role: card.role,
|
|
339
|
+
status: "unknown",
|
|
340
|
+
turn: "Timing unavailable at this cursor"
|
|
341
|
+
});
|
|
342
|
+
const ids = new Set(nodes.map((node) => node.id));
|
|
343
|
+
for (const edge of extraEdges) if (ids.has(edge.from) && ids.has(edge.to) && (edge.kind !== "spawn" || !edges.some((prior) => prior.kind === "spawn" && prior.from === edge.from && prior.to === edge.to))) edges.push(edge);
|
|
293
344
|
return {
|
|
294
345
|
nodes,
|
|
295
346
|
edges
|
|
@@ -342,7 +393,7 @@ function NotTimeIndexed({ label }) {
|
|
|
342
393
|
* streaming in a right-hand drawer, and the page's code workspace and scoreboard following the time cursor. Scrubbing is time travel:
|
|
343
394
|
* every panel shows what was true at the cursor, and the conversation shows what had been said by then.
|
|
344
395
|
*/
|
|
345
|
-
function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scoreboard, selectedAgentId, onSelectAgent, agentCards, className, ...waterfall }) {
|
|
396
|
+
function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scoreboard, selectedAgentId, onSelectAgent, agentCards, agentGraph, className, ...waterfall }) {
|
|
346
397
|
const byId = useMemo(() => new Map(trace.spans.flatMap((span) => span.id ? [[span.id, span]] : [])), [trace]);
|
|
347
398
|
const [ownSelection, setOwnSelection] = useState();
|
|
348
399
|
const selected = selectedAgentId ?? ownSelection;
|
|
@@ -350,7 +401,10 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
350
401
|
setOwnSelection(agentId);
|
|
351
402
|
onSelectAgent?.(agentId);
|
|
352
403
|
};
|
|
353
|
-
const agent = selected ? byId.get(selected) : void 0;
|
|
404
|
+
const agent = selected ? byId.get(selected) : void 0, card = selected ? agentCards?.[selected] : void 0;
|
|
405
|
+
const agentId = agent?.id ?? (card ? selected : void 0), agentName = agent?.name ?? card?.label ?? agentId, agentModel = agent?.detail ?? card?.model;
|
|
406
|
+
const { defaultLayout = "tree", ...graphOptions } = agentGraph ?? {};
|
|
407
|
+
const [graphLayout, setGraphLayout] = useState(defaultLayout);
|
|
354
408
|
const [cursor, setCursor] = useState(null);
|
|
355
409
|
const stream = useAgentStream(selected && streamUrl ? streamUrl(selected) : void 0);
|
|
356
410
|
const origin = useMemo(() => {
|
|
@@ -362,15 +416,21 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
362
416
|
agent,
|
|
363
417
|
stream.entries
|
|
364
418
|
]);
|
|
365
|
-
const
|
|
366
|
-
const graph = useMemo(() => view === "graph" ? agentGraphAt(trace.spans, byId, cursor, waterfall.startedAt, agentCards) : void 0, [
|
|
367
|
-
view,
|
|
419
|
+
const graph = useMemo(() => agentGraphAt(trace.spans, byId, cursor, waterfall.startedAt, agentCards, agentGraph?.edges), [
|
|
368
420
|
trace,
|
|
369
421
|
byId,
|
|
370
422
|
cursor,
|
|
371
423
|
waterfall.startedAt,
|
|
372
|
-
agentCards
|
|
424
|
+
agentCards,
|
|
425
|
+
agentGraph?.edges
|
|
373
426
|
]);
|
|
427
|
+
const selectedNode = graph.nodes.find((node) => node.id === agentId);
|
|
428
|
+
const facts = cursor === null || agent && agent.endMs <= cursor ? [...agent?.facts ?? []] : [];
|
|
429
|
+
for (const [label, value] of [["Recorded result", selectedNode?.result], ["Activity", selectedNode?.turn]]) if (value && !facts.some((fact) => fact.value === value)) facts.push({
|
|
430
|
+
label,
|
|
431
|
+
value
|
|
432
|
+
});
|
|
433
|
+
const graphNow = cursor !== null && waterfall.startedAt !== void 0 ? waterfall.startedAt + cursor : void 0;
|
|
374
434
|
const shown = cursor === null || origin === void 0 ? stream.entries : stream.entries.filter((entry) => entry.at - origin <= cursor);
|
|
375
435
|
const live = stream.alive && !stream.error && cursor === null;
|
|
376
436
|
const items = useMemo(() => timelineItems(shown, live), [shown, live]);
|
|
@@ -391,42 +451,65 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
391
451
|
className: cn("sandbox-trace-workspace flex min-h-0 flex-col gap-3", className),
|
|
392
452
|
children: [
|
|
393
453
|
/* @__PURE__ */ jsx("div", {
|
|
394
|
-
|
|
395
|
-
"aria-label": "Run view",
|
|
396
|
-
className: "flex gap-1 self-end rounded-lg border border-border bg-card p-0.5 text-sm",
|
|
397
|
-
children: ["timeline", "graph"].map((option) => /* @__PURE__ */ jsx("button", {
|
|
398
|
-
type: "button",
|
|
399
|
-
"aria-pressed": view === option,
|
|
400
|
-
onClick: () => setView(option),
|
|
401
|
-
className: "rounded-md px-3 py-1 capitalize text-muted-foreground aria-pressed:bg-muted aria-pressed:text-foreground",
|
|
402
|
-
children: option
|
|
403
|
-
}, option))
|
|
404
|
-
}),
|
|
405
|
-
graph && /* @__PURE__ */ jsx(AgentGraph, {
|
|
406
|
-
nodes: graph.nodes,
|
|
407
|
-
edges: graph.edges,
|
|
408
|
-
selectedId: agent?.id ?? null,
|
|
409
|
-
onSelect: select,
|
|
410
|
-
live: cursor === null && graph.nodes.some((node) => node.status === "running"),
|
|
411
|
-
now: cursor !== null && waterfall.startedAt !== void 0 ? waterfall.startedAt + cursor : void 0,
|
|
412
|
-
className: "h-[60vh] min-h-[480px] rounded-xl border border-border bg-card"
|
|
413
|
-
}),
|
|
414
|
-
/* @__PURE__ */ jsx("div", {
|
|
415
|
-
hidden: view === "graph",
|
|
454
|
+
className: agentId ? "min-w-0 lg:mr-[420px]" : "min-w-0",
|
|
416
455
|
children: /* @__PURE__ */ jsx(TraceWaterfall, {
|
|
417
456
|
...waterfall,
|
|
418
457
|
trace,
|
|
419
458
|
markers: events,
|
|
420
|
-
selectedId:
|
|
459
|
+
selectedId: agentId,
|
|
421
460
|
onDeselect: () => select(void 0),
|
|
422
461
|
onSelect: (span) => {
|
|
423
462
|
const owner = agentOf(span, byId);
|
|
424
463
|
if (owner?.id) select(owner.id);
|
|
425
464
|
},
|
|
426
|
-
onTimeChange: (
|
|
427
|
-
setCursor(
|
|
428
|
-
onTimeChange?.(
|
|
429
|
-
}
|
|
465
|
+
onTimeChange: (time) => {
|
|
466
|
+
setCursor(time);
|
|
467
|
+
onTimeChange?.(time);
|
|
468
|
+
},
|
|
469
|
+
latestEvents: /* @__PURE__ */ jsx(LatestEvents, {
|
|
470
|
+
agents: graph.nodes,
|
|
471
|
+
now: graphNow,
|
|
472
|
+
live: cursor === null,
|
|
473
|
+
selectedId: agentId,
|
|
474
|
+
onSelect: select
|
|
475
|
+
}),
|
|
476
|
+
graph: /* @__PURE__ */ jsxs("section", {
|
|
477
|
+
className: "flex h-[60vh] min-h-[480px] flex-col",
|
|
478
|
+
"aria-label": "Agent graph",
|
|
479
|
+
children: [/* @__PURE__ */ jsxs("label", {
|
|
480
|
+
className: "flex h-8 shrink-0 items-center justify-end gap-2 px-3 text-xs text-muted-foreground",
|
|
481
|
+
children: ["Layout", /* @__PURE__ */ jsxs("select", {
|
|
482
|
+
"aria-label": "Graph layout",
|
|
483
|
+
value: graphLayout,
|
|
484
|
+
onChange: (event) => setGraphLayout(event.currentTarget.value),
|
|
485
|
+
className: "rounded-[var(--radius-control)] border border-border bg-card px-2 py-1 text-foreground",
|
|
486
|
+
children: [/* @__PURE__ */ jsx("option", {
|
|
487
|
+
value: "tree",
|
|
488
|
+
children: "Tree"
|
|
489
|
+
}), /* @__PURE__ */ jsx("option", {
|
|
490
|
+
value: "hub",
|
|
491
|
+
children: "Hub"
|
|
492
|
+
})]
|
|
493
|
+
})]
|
|
494
|
+
}), /* @__PURE__ */ jsx(AgentGraph, {
|
|
495
|
+
...graphOptions,
|
|
496
|
+
layout: graphLayout,
|
|
497
|
+
renderEventIcon: (event) => toolGlyph(event.label),
|
|
498
|
+
nodes: graph.nodes,
|
|
499
|
+
edges: graph.edges,
|
|
500
|
+
selectedId: agentId ?? null,
|
|
501
|
+
onSelect: select,
|
|
502
|
+
showLatestEvents: false,
|
|
503
|
+
now: graphNow,
|
|
504
|
+
live: cursor === null && graph.nodes.some((node) => [
|
|
505
|
+
"running",
|
|
506
|
+
"waiting",
|
|
507
|
+
"needs-you",
|
|
508
|
+
"failed"
|
|
509
|
+
].includes(node.status)),
|
|
510
|
+
className: cn("min-h-0 flex-1", graphOptions.className)
|
|
511
|
+
})]
|
|
512
|
+
})
|
|
430
513
|
})
|
|
431
514
|
}),
|
|
432
515
|
files && /* @__PURE__ */ jsx("section", {
|
|
@@ -439,8 +522,8 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
439
522
|
className: "overflow-hidden rounded-xl border border-border bg-card",
|
|
440
523
|
children: scoreboard
|
|
441
524
|
}),
|
|
442
|
-
|
|
443
|
-
"aria-label": `${
|
|
525
|
+
agentId && /* @__PURE__ */ jsxs("aside", {
|
|
526
|
+
"aria-label": `${agentName} conversation`,
|
|
444
527
|
onKeyDown: (event) => {
|
|
445
528
|
if (event.key === "Escape") select(void 0);
|
|
446
529
|
},
|
|
@@ -450,16 +533,19 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
450
533
|
className: "flex shrink-0 items-center gap-2 border-b border-border px-3 py-2",
|
|
451
534
|
children: [
|
|
452
535
|
/* @__PURE__ */ jsx("span", {
|
|
453
|
-
className: cn("h-
|
|
454
|
-
"aria-hidden": true
|
|
536
|
+
className: cn("h-1.5 w-1.5 shrink-0 rounded-full", live ? "bg-[var(--surface-info-text)]" : "bg-muted-foreground"),
|
|
537
|
+
"aria-hidden": true,
|
|
538
|
+
"data-motion": live ? "essential" : void 0,
|
|
539
|
+
style: live ? ambientStyle : void 0,
|
|
540
|
+
onAnimationStart: syncAmbient
|
|
455
541
|
}),
|
|
456
542
|
/* @__PURE__ */ jsx("h3", {
|
|
457
543
|
className: "min-w-0 flex-1 truncate text-sm font-semibold",
|
|
458
|
-
children:
|
|
544
|
+
children: agentName
|
|
459
545
|
}),
|
|
460
|
-
|
|
546
|
+
agentModel && /* @__PURE__ */ jsx("span", {
|
|
461
547
|
className: "truncate text-xs text-muted-foreground",
|
|
462
|
-
children:
|
|
548
|
+
children: agentModel
|
|
463
549
|
}),
|
|
464
550
|
/* @__PURE__ */ jsx("button", {
|
|
465
551
|
type: "button",
|
|
@@ -474,6 +560,21 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
474
560
|
})
|
|
475
561
|
]
|
|
476
562
|
}),
|
|
563
|
+
facts.length > 0 && /* @__PURE__ */ jsx("section", {
|
|
564
|
+
"aria-label": "Recorded agent details",
|
|
565
|
+
tabIndex: 0,
|
|
566
|
+
className: "max-h-[35vh] shrink-0 overflow-y-auto border-b border-border px-3 py-2 text-sm",
|
|
567
|
+
children: /* @__PURE__ */ jsx("dl", {
|
|
568
|
+
className: "space-y-2",
|
|
569
|
+
children: facts.map((fact, index) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("dt", {
|
|
570
|
+
className: "text-xs text-muted-foreground",
|
|
571
|
+
children: fact.label
|
|
572
|
+
}), /* @__PURE__ */ jsx("dd", {
|
|
573
|
+
className: "m-0 whitespace-pre-wrap break-words",
|
|
574
|
+
children: fact.value
|
|
575
|
+
})] }, index))
|
|
576
|
+
})
|
|
577
|
+
}),
|
|
477
578
|
/* @__PURE__ */ jsx("div", {
|
|
478
579
|
ref: scroller,
|
|
479
580
|
onScroll: (event) => {
|
|
@@ -483,7 +584,7 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
483
584
|
},
|
|
484
585
|
"data-primary-content": "",
|
|
485
586
|
className: "min-h-0 flex-1 overflow-y-auto px-3 py-2",
|
|
486
|
-
children: streamUrl ? /* @__PURE__ */ jsx(AgentTimeline, {
|
|
587
|
+
children: streamUrl && (cursor === null || origin !== void 0) ? /* @__PURE__ */ jsx(AgentTimeline, {
|
|
487
588
|
items,
|
|
488
589
|
isThinking: live && items.length === 0,
|
|
489
590
|
emptyState: /* @__PURE__ */ jsx("p", {
|
|
@@ -508,4 +609,4 @@ function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scorebo
|
|
|
508
609
|
]
|
|
509
610
|
});
|
|
510
611
|
}
|
|
511
|
-
export {
|
|
612
|
+
export { TraceWaterfall as C, useAgentStream as S, statusMeta$1 as _, InlineToolItem as a, TraceWorkspace as b, RunPhaseList as c, RunStatusIcon$1 as d, TaskList as f, showsTaskPriority as g, runStatus$1 as h, InlineThinkingItem$1 as i, RunRowShell as l, parseToolEvent as m, ApprovalDiffSummary as n, LiveDuration as o, ToolCallFeed as p, ExpandedToolDetail as r, RunGroup as s, ApprovalCard as t, RunRowStatusDot as u, taskProgress as v, traceSpanMark as w, foldAgentRows as x, taskStatus as y };
|
package/dist/run.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { type AgentStreamRow, type AgentStreamState, type AgentTranscriptEntry, ApprovalCard, type ApprovalCardProps, type ApprovalDiffFile, ApprovalDiffSummary, type ApprovalPlanStep, ExpandedToolDetail, type ExpandedToolDetailProps, type FeedSegment, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, LiveDuration, RunGroup, type RunGroupProps, type RunPhase, RunPhaseList, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, TaskList, type TaskListItem, type TaskListProps, type TaskStatus, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type TraceEvent, TraceWaterfall, type TraceWaterfallProps, TraceWorkspace, type TraceWorkspaceProps, foldAgentRows, parseToolEvent, showsTaskPriority, taskProgress, taskStatus, traceSpanMark, useAgentStream };
|
|
1
|
+
import { $ as traceSpanMark, A as ToolCallData, B as taskStatus, C as RunStatusIcon, D as TaskListItem, E as TaskList, F as parseToolEvent, G as AgentTranscriptEntry, H as LatestEventsProps, I as runStatus, J as TraceEvent, K as foldAgentRows, L as showsTaskPriority, M as ToolCallFeedProps, N as ToolCallStatus, O as TaskListProps, P as ToolCallType, Q as TraceWaterfallProps, R as statusMeta, S as RunStatus, T as StatusMeta, U as AgentStreamRow, V as LatestEvents, W as AgentStreamState, X as TraceWorkspaceProps, Y as TraceWorkspace, Z as TraceWaterfall, _ as RunPhaseList, a as ApprovalPlanStep, b as RunRowStatus, c as FeedSegment, d as InlineToolItem, f as InlineToolItemProps, g as RunPhase, h as RunGroupProps, i as ApprovalDiffSummary, j as ToolCallFeed, k as TaskStatus, l as InlineThinkingItem, m as RunGroup, n as ApprovalCardProps, o as ExpandedToolDetail, p as LiveDuration, q as useAgentStream, r as ApprovalDiffFile, s as ExpandedToolDetailProps, t as ApprovalCard, u as InlineThinkingItemProps, v as RunRowShell, w as RunStatusIconProps, x as RunRowStatusDot, y as RunRowShellProps, z as taskProgress } from "./index-D9-IiEpQ.js";
|
|
2
|
+
export { type AgentStreamRow, type AgentStreamState, type AgentTranscriptEntry, ApprovalCard, type ApprovalCardProps, type ApprovalDiffFile, ApprovalDiffSummary, type ApprovalPlanStep, ExpandedToolDetail, type ExpandedToolDetailProps, type FeedSegment, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, LatestEvents, type LatestEventsProps, LiveDuration, RunGroup, type RunGroupProps, type RunPhase, RunPhaseList, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type RunStatus, RunStatusIcon, type RunStatusIconProps, type StatusMeta, TaskList, type TaskListItem, type TaskListProps, type TaskStatus, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type TraceEvent, TraceWaterfall, type TraceWaterfallProps, TraceWorkspace, type TraceWorkspaceProps, foldAgentRows, parseToolEvent, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus, traceSpanMark, useAgentStream };
|
package/dist/run.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { C as TraceWaterfall, S as useAgentStream, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as traceSpanMark, x as foldAgentRows, y as taskStatus } from "./run-BqpdpP1K.js";
|
|
2
|
+
import { t as LatestEvents } from "./latest-events-B34ElSTE.js";
|
|
3
|
+
export { ApprovalCard, ApprovalDiffSummary, ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LatestEvents, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon, TaskList, ToolCallFeed, TraceWaterfall, TraceWorkspace, foldAgentRows, parseToolEvent, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus, traceSpanMark, useAgentStream };
|