@tangle-network/sandbox-ui 0.23.1 → 0.23.3
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/chat.d.ts +1 -1
- package/dist/chat.js +3 -3
- package/dist/{chunk-CB3KBKYN.js → chunk-76TCOY2R.js} +71 -31
- package/dist/{chunk-TAAYDQGM.js → chunk-H5PBSY62.js} +62 -17
- package/dist/chunk-HXIYUQN2.js +253 -0
- package/dist/{chunk-4KAPMTPU.js → chunk-JDMX4HHN.js} +110 -55
- package/dist/dashboard.d.ts +33 -2
- package/dist/dashboard.js +7 -3
- package/dist/globals.css +3 -0
- package/dist/{harness-picker-C1W3rTeb.d.ts → harness-picker-ppDe7ap-.d.ts} +7 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +8 -4
- package/dist/pages.js +1 -1
- package/dist/styles.css +3 -0
- package/package.json +1 -1
- package/dist/chunk-ESRYVGHF.js +0 -147
package/dist/dashboard.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
|
|
3
|
+
import { e as HarnessType } from './harness-picker-ppDe7ap-.js';
|
|
4
|
+
export { B as Backend, a as BackendSelector, b as BackendSelectorProps, H as HARNESS_OPTIONS, c as HarnessPicker, d as HarnessPickerProps } from './harness-picker-ppDe7ap-.js';
|
|
4
5
|
export { M as ModelInfo, a as ModelPicker, b as ModelPickerProps, c as ModelPickerVariant, d as canonicalModelId, f as formatContext, e as formatPricing } from './model-picker-DUfMTQo5.js';
|
|
5
6
|
export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, P as PricingPage, e as PricingPageProps, f as PricingTier, T as TemplateCard, g as TemplateCardData, h as TemplateCardProps, U as UsageChart, i as UsageChartProps, j as UsageDataPoint, k as formatPrice } from './template-card-UhV3pmRC.js';
|
|
6
7
|
|
|
@@ -434,6 +435,34 @@ interface PlanCardsProps {
|
|
|
434
435
|
}
|
|
435
436
|
declare function PlanCards({ plans, className }: PlanCardsProps): react_jsx_runtime.JSX.Element;
|
|
436
437
|
|
|
438
|
+
/**
|
|
439
|
+
* Per-harness brand glyph. `logoUrl` is a bundled lobehub data-url rendered
|
|
440
|
+
* as a CSS mask filled with the foreground token (single-color brand mark,
|
|
441
|
+
* theme-safe). `icon` is an honest lucide fallback for harnesses that have
|
|
442
|
+
* no published brand mark — never an invented logo.
|
|
443
|
+
*/
|
|
444
|
+
interface HarnessBrand {
|
|
445
|
+
label: string;
|
|
446
|
+
logoUrl?: string;
|
|
447
|
+
icon?: React.ComponentType<{
|
|
448
|
+
className?: string;
|
|
449
|
+
}>;
|
|
450
|
+
}
|
|
451
|
+
declare const HARNESS_BRAND: Record<HarnessType, HarnessBrand>;
|
|
452
|
+
interface HarnessLogoProps {
|
|
453
|
+
type: HarnessType;
|
|
454
|
+
/** Chip edge length in px. Default 16 (matches the model pill glyph). */
|
|
455
|
+
size?: number;
|
|
456
|
+
className?: string;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Brand chip for a harness, matching {@link BrandLogo}'s render contract in
|
|
460
|
+
* model-picker: a rounded `bg-background ring-1 ring-border` chip wrapping
|
|
461
|
+
* either a foreground-filled CSS-mask of the brand SVG or a lucide fallback
|
|
462
|
+
* glyph. Keeps harness pills visually consistent with model pills.
|
|
463
|
+
*/
|
|
464
|
+
declare function HarnessLogo({ type, size, className }: HarnessLogoProps): react_jsx_runtime.JSX.Element;
|
|
465
|
+
|
|
437
466
|
type ProductVariant = "sandbox";
|
|
438
467
|
interface NavItem {
|
|
439
468
|
id: string;
|
|
@@ -535,6 +564,8 @@ interface SidebarLayoutProps {
|
|
|
535
564
|
settingsHref?: string;
|
|
536
565
|
/** Extra items rendered before settings/logout in the profile menu. */
|
|
537
566
|
profileMenuItems?: React.ReactNode;
|
|
567
|
+
/** Render a light/dark theme switch in the profile menu (uses the shared `useTheme`). */
|
|
568
|
+
showThemeToggle?: boolean;
|
|
538
569
|
/** Extra content in the rail footer, above the profile avatar. */
|
|
539
570
|
railFooter?: React.ReactNode;
|
|
540
571
|
LinkComponent?: React.ComponentType<any>;
|
|
@@ -813,4 +844,4 @@ interface InfoPanelProps {
|
|
|
813
844
|
}
|
|
814
845
|
declare function InfoPanel({ label, title, description, className }: InfoPanelProps): react_jsx_runtime.JSX.Element;
|
|
815
846
|
|
|
816
|
-
export { ActivityFeed, type ActivityFeedProps, type ActivityItem, BackendConfig, type BackendConfigProps, type BackendStatusData, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, type ExposedPort, type GitCommitData, GitPanel, type GitPanelProps, type GitStatusData, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, type McpServer, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, OutOfCreditsModal, type OutOfCreditsModalProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, PromoBanner, type PromoBannerProps, RailButton, type RailButtonProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxStatus, SandboxTable, type SandboxTableProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarLayout, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, SnapshotList, type SnapshotListProps, SystemLogsViewer, type SystemLogsViewerProps, type TeamRole, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar };
|
|
847
|
+
export { ActivityFeed, type ActivityFeedProps, type ActivityItem, BackendConfig, type BackendConfigProps, type BackendStatusData, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, type ExposedPort, type GitCommitData, GitPanel, type GitPanelProps, type GitStatusData, HARNESS_BRAND, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessType, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, type McpServer, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, OutOfCreditsModal, type OutOfCreditsModalProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, PromoBanner, type PromoBannerProps, RailButton, type RailButtonProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxStatus, SandboxTable, type SandboxTableProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarLayout, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, SnapshotList, type SnapshotListProps, SystemLogsViewer, type SystemLogsViewerProps, type TeamRole, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar };
|
package/dist/dashboard.js
CHANGED
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
canAdminSandbox,
|
|
48
48
|
parseInsufficientBalance,
|
|
49
49
|
useSidebar
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-76TCOY2R.js";
|
|
51
51
|
import {
|
|
52
52
|
BillingDashboard,
|
|
53
53
|
InfoPanel,
|
|
@@ -59,15 +59,17 @@ import {
|
|
|
59
59
|
import "./chunk-7ZA5SEK3.js";
|
|
60
60
|
import {
|
|
61
61
|
BackendSelector,
|
|
62
|
+
HARNESS_BRAND,
|
|
62
63
|
HARNESS_OPTIONS,
|
|
64
|
+
HarnessLogo,
|
|
63
65
|
HarnessPicker
|
|
64
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-HXIYUQN2.js";
|
|
65
67
|
import {
|
|
66
68
|
ModelPicker,
|
|
67
69
|
canonicalModelId,
|
|
68
70
|
formatContext,
|
|
69
71
|
formatPricing
|
|
70
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-JDMX4HHN.js";
|
|
71
73
|
import "./chunk-EI44GEQ5.js";
|
|
72
74
|
export {
|
|
73
75
|
ActivityFeed,
|
|
@@ -78,7 +80,9 @@ export {
|
|
|
78
80
|
CreditBalance,
|
|
79
81
|
DashboardLayout,
|
|
80
82
|
GitPanel,
|
|
83
|
+
HARNESS_BRAND,
|
|
81
84
|
HARNESS_OPTIONS,
|
|
85
|
+
HarnessLogo,
|
|
82
86
|
HarnessPicker,
|
|
83
87
|
INSUFFICIENT_BALANCE_CODE,
|
|
84
88
|
InfoPanel,
|
package/dist/globals.css
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
2
3
|
|
|
3
4
|
interface Backend {
|
|
4
5
|
type: string;
|
|
5
6
|
label: string;
|
|
6
7
|
description?: string;
|
|
8
|
+
/** Optional leading brand glyph (e.g. a HarnessLogo) shown in the trigger and rows. */
|
|
9
|
+
icon?: ReactNode;
|
|
7
10
|
}
|
|
8
11
|
interface BackendSelectorProps {
|
|
9
12
|
backends: Backend[];
|
|
@@ -18,9 +21,11 @@ declare function BackendSelector({ backends, selected, onChange, label, placehol
|
|
|
18
21
|
/**
|
|
19
22
|
* Sandbox agent harness types — mirrors `BackendType` from
|
|
20
23
|
* `@tangle-network/sandbox` SDK. Kept in lockstep with that enum:
|
|
21
|
-
* if the SDK adds a backend, add it here too.
|
|
24
|
+
* if the SDK adds a backend, add it here too. The SDK's `pi`, `forge`,
|
|
25
|
+
* `acp`, and `cursor` backends are deliberately deferred (not yet
|
|
26
|
+
* surfaced in the picker) until their copy and compat policies land.
|
|
22
27
|
*/
|
|
23
|
-
type HarnessType = "opencode" | "claude-code" | "codex" | "amp" | "factory-droids" | "cli-base";
|
|
28
|
+
type HarnessType = "opencode" | "claude-code" | "codex" | "amp" | "factory-droids" | "cli-base" | "kimi-code" | "openclaw" | "nanoclaw" | "hermes";
|
|
24
29
|
interface HarnessOption extends Backend {
|
|
25
30
|
type: HarnessType;
|
|
26
31
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ export { AgentSessionControls, AgentSessionControlsProps, AgentSessionHarnessCon
|
|
|
8
8
|
export { ExpandedToolDetail, ExpandedToolDetailProps, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps } from '@tangle-network/ui/run';
|
|
9
9
|
export { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from '@tangle-network/ui/tool-previews';
|
|
10
10
|
export { FileArtifactPane, FileArtifactPaneProps, FileNode, FilePreview, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, filterFileTree } from '@tangle-network/ui/files';
|
|
11
|
-
export { ActivityFeed, ActivityFeedProps, ActivityItem, BackendConfig, BackendConfigProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps, DashboardLayout, DashboardLayoutProps, DashboardProfile, DashboardSnapshotInfo, DashboardUser, ExposedPort, GitCommitData, GitPanel, GitPanelProps, GitStatusData, INSUFFICIENT_BALANCE_CODE, InfoPanel, InfoPanelProps, InsufficientBalance, Invoice, InvoiceTable, InvoiceTableProps, McpServer, MetricAreaChart, MetricAreaChartProps, MetricChartPoint, MetricChartTone, NavItem, NetworkConfig, NetworkConfigData, NetworkConfigProps, NewSandboxCard, NewSandboxCardProps, OutOfCreditsModal, OutOfCreditsModalProps, PlanCardData, PlanCards, PlanCardsProps, PlanFeature, PortsList, PortsListProps, ProcessInfo, ProcessList, ProcessListProps, ProductVariant, ProfileAvatar, ProfileAvatarProps, ProfileComparison, ProfileComparisonProps, ProfileSelector, ProfileSelectorProps, PromoBanner, PromoBannerProps, RailButton, RailButtonProps, RailModeButton, RailModeButtonProps, RailSeparator, RailSeparatorProps, ResourceMeter, ResourceMeterProps, ResourceSnapshot, ResourceSnapshotItem, ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxCardData, SandboxCardProps, SandboxStatus, SandboxTable, SandboxTableProps, Sidebar, SidebarContent, SidebarContentProps, SidebarLayout, SidebarLayoutNavItem, SidebarLayoutProps, SidebarPanel, SidebarPanelContent, SidebarPanelContentProps, SidebarPanelHeader, SidebarPanelHeaderProps, SidebarPanelProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailFooter, SidebarRailFooterProps, SidebarRailHeader, SidebarRailHeaderProps, SidebarRailNav, SidebarRailNavProps, SidebarRailProps, SidebarUser, SnapshotList, SnapshotListProps, SystemLogsViewer, SystemLogsViewerProps, TeamRole, UsageSummary, UsageSummaryData, UsageSummaryProps, Variant, VariantList, VariantListProps, VariantOutcome, VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar } from './dashboard.js';
|
|
12
|
-
export { B as Backend, a as BackendSelector, b as BackendSelectorProps, H as HARNESS_OPTIONS, c as HarnessPicker, d as HarnessPickerProps, e as HarnessType } from './harness-picker-
|
|
11
|
+
export { ActivityFeed, ActivityFeedProps, ActivityItem, BackendConfig, BackendConfigProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps, DashboardLayout, DashboardLayoutProps, DashboardProfile, DashboardSnapshotInfo, DashboardUser, ExposedPort, GitCommitData, GitPanel, GitPanelProps, GitStatusData, HARNESS_BRAND, HarnessBrand, HarnessLogo, HarnessLogoProps, INSUFFICIENT_BALANCE_CODE, InfoPanel, InfoPanelProps, InsufficientBalance, Invoice, InvoiceTable, InvoiceTableProps, McpServer, MetricAreaChart, MetricAreaChartProps, MetricChartPoint, MetricChartTone, NavItem, NetworkConfig, NetworkConfigData, NetworkConfigProps, NewSandboxCard, NewSandboxCardProps, OutOfCreditsModal, OutOfCreditsModalProps, PlanCardData, PlanCards, PlanCardsProps, PlanFeature, PortsList, PortsListProps, ProcessInfo, ProcessList, ProcessListProps, ProductVariant, ProfileAvatar, ProfileAvatarProps, ProfileComparison, ProfileComparisonProps, ProfileSelector, ProfileSelectorProps, PromoBanner, PromoBannerProps, RailButton, RailButtonProps, RailModeButton, RailModeButtonProps, RailSeparator, RailSeparatorProps, ResourceMeter, ResourceMeterProps, ResourceSnapshot, ResourceSnapshotItem, ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxCardData, SandboxCardProps, SandboxStatus, SandboxTable, SandboxTableProps, Sidebar, SidebarContent, SidebarContentProps, SidebarLayout, SidebarLayoutNavItem, SidebarLayoutProps, SidebarPanel, SidebarPanelContent, SidebarPanelContentProps, SidebarPanelHeader, SidebarPanelHeaderProps, SidebarPanelProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailFooter, SidebarRailFooterProps, SidebarRailHeader, SidebarRailHeaderProps, SidebarRailNav, SidebarRailNavProps, SidebarRailProps, SidebarUser, SnapshotList, SnapshotListProps, SystemLogsViewer, SystemLogsViewerProps, TeamRole, UsageSummary, UsageSummaryData, UsageSummaryProps, Variant, VariantList, VariantListProps, VariantOutcome, VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar } from './dashboard.js';
|
|
12
|
+
export { B as Backend, a as BackendSelector, b as BackendSelectorProps, H as HARNESS_OPTIONS, c as HarnessPicker, d as HarnessPickerProps, e as HarnessType } from './harness-picker-ppDe7ap-.js';
|
|
13
13
|
export { M as ModelInfo, a as ModelPicker, b as ModelPickerProps, c as ModelPickerVariant, d as canonicalModelId, f as formatContext, e as formatPricing } from './model-picker-DUfMTQo5.js';
|
|
14
14
|
export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, P as PricingPage, e as PricingPageProps, f as PricingTier, T as TemplateCard, g as TemplateCardData, h as TemplateCardProps, U as UsageChart, i as UsageChartProps, j as UsageDataPoint, k as formatPrice } from './template-card-UhV3pmRC.js';
|
|
15
15
|
export { AuthHeader, AuthHeaderProps, GitHubLoginButton, GitHubLoginButtonProps, LoginLayout, LoginLayoutProps, SessionUser, UserMenu, UserMenuProps } from '@tangle-network/ui/auth';
|
package/dist/index.js
CHANGED
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
modelProvider,
|
|
105
105
|
snapHarnessToModel,
|
|
106
106
|
snapModelToHarness
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-H5PBSY62.js";
|
|
108
108
|
import {
|
|
109
109
|
ExpandedToolDetail,
|
|
110
110
|
InlineThinkingItem,
|
|
@@ -189,7 +189,7 @@ import {
|
|
|
189
189
|
canAdminSandbox,
|
|
190
190
|
parseInsufficientBalance,
|
|
191
191
|
useSidebar
|
|
192
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-76TCOY2R.js";
|
|
193
193
|
import {
|
|
194
194
|
BillingDashboard,
|
|
195
195
|
InfoPanel,
|
|
@@ -287,15 +287,17 @@ import {
|
|
|
287
287
|
} from "./chunk-7ZA5SEK3.js";
|
|
288
288
|
import {
|
|
289
289
|
BackendSelector,
|
|
290
|
+
HARNESS_BRAND,
|
|
290
291
|
HARNESS_OPTIONS,
|
|
292
|
+
HarnessLogo,
|
|
291
293
|
HarnessPicker
|
|
292
|
-
} from "./chunk-
|
|
294
|
+
} from "./chunk-HXIYUQN2.js";
|
|
293
295
|
import {
|
|
294
296
|
ModelPicker,
|
|
295
297
|
canonicalModelId,
|
|
296
298
|
formatContext,
|
|
297
299
|
formatPricing
|
|
298
|
-
} from "./chunk-
|
|
300
|
+
} from "./chunk-JDMX4HHN.js";
|
|
299
301
|
import "./chunk-EI44GEQ5.js";
|
|
300
302
|
|
|
301
303
|
// src/index.ts
|
|
@@ -389,8 +391,10 @@ export {
|
|
|
389
391
|
GitPanel,
|
|
390
392
|
GlobResultsPreview,
|
|
391
393
|
GrepResultsPreview,
|
|
394
|
+
HARNESS_BRAND,
|
|
392
395
|
HARNESS_MODEL_POLICIES,
|
|
393
396
|
HARNESS_OPTIONS,
|
|
397
|
+
HarnessLogo,
|
|
394
398
|
HarnessPicker,
|
|
395
399
|
INSUFFICIENT_BALANCE_CODE,
|
|
396
400
|
InfoPanel,
|
package/dist/pages.js
CHANGED
package/dist/styles.css
CHANGED
package/package.json
CHANGED
package/dist/chunk-ESRYVGHF.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cn
|
|
3
|
-
} from "./chunk-EI44GEQ5.js";
|
|
4
|
-
|
|
5
|
-
// src/dashboard/backend-selector.tsx
|
|
6
|
-
import { ChevronDown } from "lucide-react";
|
|
7
|
-
import * as Select from "@radix-ui/react-select";
|
|
8
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
-
function BackendSelector({
|
|
10
|
-
backends,
|
|
11
|
-
selected,
|
|
12
|
-
onChange,
|
|
13
|
-
label = "Model",
|
|
14
|
-
placeholder = "Select a model",
|
|
15
|
-
className
|
|
16
|
-
}) {
|
|
17
|
-
const current = backends.find((b) => b.type === selected);
|
|
18
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-1.5", className), children: [
|
|
19
|
-
label && /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-muted-foreground uppercase tracking-[0.06em]", children: label }),
|
|
20
|
-
/* @__PURE__ */ jsxs(Select.Root, { value: selected, onValueChange: onChange, children: [
|
|
21
|
-
/* @__PURE__ */ jsxs(
|
|
22
|
-
Select.Trigger,
|
|
23
|
-
{
|
|
24
|
-
className: cn(
|
|
25
|
-
"flex w-full items-center justify-between gap-2 rounded-[var(--radius-md)]",
|
|
26
|
-
"border border-border bg-card",
|
|
27
|
-
"px-3 py-2.5 text-sm text-left",
|
|
28
|
-
"transition-colors duration-[var(--transition-fast)]",
|
|
29
|
-
"hover:border-primary/20 hover:bg-accent/30",
|
|
30
|
-
"focus:outline-none focus:border-primary/30",
|
|
31
|
-
"data-[state=open]:border-primary/30 data-[state=open]:bg-accent/30"
|
|
32
|
-
),
|
|
33
|
-
children: [
|
|
34
|
-
/* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: current ? /* @__PURE__ */ jsxs("div", { children: [
|
|
35
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: current.label }),
|
|
36
|
-
current.description && /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: current.description })
|
|
37
|
-
] }) : /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: placeholder }) }),
|
|
38
|
-
/* @__PURE__ */ jsx(Select.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-[var(--transition-fast)] data-[state=open]:rotate-180" }) })
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
),
|
|
42
|
-
/* @__PURE__ */ jsx(Select.Portal, { children: /* @__PURE__ */ jsx(
|
|
43
|
-
Select.Content,
|
|
44
|
-
{
|
|
45
|
-
position: "popper",
|
|
46
|
-
sideOffset: 4,
|
|
47
|
-
className: cn(
|
|
48
|
-
"z-50 w-[var(--radix-select-trigger-width)] overflow-hidden",
|
|
49
|
-
"rounded-[var(--radius-md)] border border-border",
|
|
50
|
-
"bg-card shadow-[var(--shadow-dropdown)]",
|
|
51
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
52
|
-
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
53
|
-
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
54
|
-
"data-[side=bottom]:slide-in-from-top-1"
|
|
55
|
-
),
|
|
56
|
-
children: /* @__PURE__ */ jsx(Select.Viewport, { className: "p-1", children: backends.map((backend) => /* @__PURE__ */ jsxs(
|
|
57
|
-
Select.Item,
|
|
58
|
-
{
|
|
59
|
-
value: backend.type,
|
|
60
|
-
className: cn(
|
|
61
|
-
"relative flex cursor-pointer select-none flex-col rounded-[var(--radius-sm)]",
|
|
62
|
-
"px-3 py-2.5 text-sm outline-none",
|
|
63
|
-
"transition-colors duration-[var(--transition-fast)]",
|
|
64
|
-
"hover:bg-accent/50 focus:bg-accent/50",
|
|
65
|
-
"data-[state=checked]:bg-[var(--accent-surface-soft)] data-[state=checked]:text-[var(--brand-primary)]"
|
|
66
|
-
),
|
|
67
|
-
children: [
|
|
68
|
-
/* @__PURE__ */ jsx(Select.ItemText, { children: /* @__PURE__ */ jsx("span", { className: "font-medium", children: backend.label }) }),
|
|
69
|
-
backend.description && /* @__PURE__ */ jsx("span", { className: "mt-0.5 text-xs text-muted-foreground data-[state=checked]:text-[var(--accent-text)]", children: backend.description })
|
|
70
|
-
]
|
|
71
|
-
},
|
|
72
|
-
backend.type
|
|
73
|
-
)) })
|
|
74
|
-
}
|
|
75
|
-
) })
|
|
76
|
-
] })
|
|
77
|
-
] });
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// src/dashboard/harness-picker.tsx
|
|
81
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
82
|
-
var HARNESS_OPTIONS = [
|
|
83
|
-
{
|
|
84
|
-
type: "opencode",
|
|
85
|
-
label: "OpenCode",
|
|
86
|
-
description: "Default agent \u2014 broad model support, deterministic streaming"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
type: "claude-code",
|
|
90
|
-
label: "Claude Code",
|
|
91
|
-
description: "Native Claude skills and tools (requires ANTHROPIC_API_KEY)"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
type: "codex",
|
|
95
|
-
label: "Codex",
|
|
96
|
-
description: "OpenAI Codex CLI (requires OPENAI_API_KEY)"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
type: "amp",
|
|
100
|
-
label: "AMP",
|
|
101
|
-
description: "Sourcegraph AMP agent"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
type: "factory-droids",
|
|
105
|
-
label: "Factory Droids",
|
|
106
|
-
description: "Factory Droid agent"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
type: "cli-base",
|
|
110
|
-
label: "CLI base (no agent)",
|
|
111
|
-
description: "Shell tools only \u2014 for non-AI scheduled tasks"
|
|
112
|
-
}
|
|
113
|
-
];
|
|
114
|
-
function HarnessPicker({
|
|
115
|
-
value,
|
|
116
|
-
onChange,
|
|
117
|
-
available,
|
|
118
|
-
optionsOverride,
|
|
119
|
-
label = "Agent harness",
|
|
120
|
-
...rest
|
|
121
|
-
}) {
|
|
122
|
-
const allowed = new Set(available ?? HARNESS_OPTIONS.map((h) => h.type));
|
|
123
|
-
const backends = HARNESS_OPTIONS.filter((h) => allowed.has(h.type)).map((h) => {
|
|
124
|
-
const override = optionsOverride?.[h.type];
|
|
125
|
-
return {
|
|
126
|
-
type: h.type,
|
|
127
|
-
label: override?.label ?? h.label,
|
|
128
|
-
description: override?.description ?? h.description
|
|
129
|
-
};
|
|
130
|
-
});
|
|
131
|
-
return /* @__PURE__ */ jsx2(
|
|
132
|
-
BackendSelector,
|
|
133
|
-
{
|
|
134
|
-
backends,
|
|
135
|
-
selected: value,
|
|
136
|
-
onChange: (next) => onChange(next),
|
|
137
|
-
label,
|
|
138
|
-
...rest
|
|
139
|
-
}
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export {
|
|
144
|
-
BackendSelector,
|
|
145
|
-
HARNESS_OPTIONS,
|
|
146
|
-
HarnessPicker
|
|
147
|
-
};
|