@tangle-network/sandbox-ui 0.96.0 → 0.99.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/{WorkflowGraph-OPLQFAJK.js → WorkflowGraph-DB5F6ZSF.js} +1 -1
- package/dist/chat.d.ts +83 -257
- package/dist/chat.js +1 -10
- package/dist/{chunk-I5HGKZCB.js → chunk-G7CFCZQ7.js} +860 -1382
- package/dist/{chunk-22JEBRUV.js → chunk-JIZCCGD2.js} +1 -1
- package/dist/{chunk-5XRAKVIV.js → chunk-RQZRXKMR.js} +1 -5
- package/dist/{chunk-VQZ6XDRR.js → chunk-Y4OTBMZS.js} +730 -444
- package/dist/dashboard.d.ts +8 -86
- package/dist/dashboard.js +8 -24
- package/dist/globals.css +20 -104
- package/dist/index.d.ts +4 -4
- package/dist/index.js +10 -32
- package/dist/{model-brand-CuXKfTMh.d.ts → model-brand-BNnaUKKZ.d.ts} +2 -4
- package/dist/pages.d.ts +1 -1
- package/dist/pages.js +1 -2
- package/dist/styles.css +20 -104
- package/dist/workbench.js +3 -5
- package/dist/workflows.d.ts +1 -1
- package/dist/workflows.js +2 -2
- package/dist/workspace.d.ts +1 -1
- package/package.json +2 -1
- package/dist/chunk-WMVUJ5SA.js +0 -529
- package/dist/chunk-WSN2RZC6.js +0 -292
package/dist/dashboard.d.ts
CHANGED
|
@@ -2,9 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import React__default, { ReactNode } from 'react';
|
|
3
3
|
import { HarnessType } from '@tangle-network/agent-interface';
|
|
4
4
|
export { HarnessType } from '@tangle-network/agent-interface';
|
|
5
|
-
|
|
6
|
-
import { b as ModelInfo } from './model-brand-CuXKfTMh.js';
|
|
7
|
-
export { M as ModelBrandIdentity, a as ModelBrandStack, c as canonicalModelId, m as modelBrandFor } from './model-brand-CuXKfTMh.js';
|
|
5
|
+
export { M as ModelBrandIdentity, a as ModelBrandStack, b as ModelInfo, c as canonicalModelId, m as modelBrandFor } from './model-brand-BNnaUKKZ.js';
|
|
8
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-Bn-Bw5xC.js';
|
|
9
7
|
export { E as ExposedPort, P as PortsList, a as PortsListProps } from './ports-list-CDIvTNnX.js';
|
|
10
8
|
|
|
@@ -705,10 +703,10 @@ interface BackendSelectorProps {
|
|
|
705
703
|
selected: string;
|
|
706
704
|
onChange: (selected: string) => void;
|
|
707
705
|
/**
|
|
708
|
-
* Trigger appearance. "pill" (default) = compact inline pill
|
|
709
|
-
*
|
|
710
|
-
*
|
|
711
|
-
*
|
|
706
|
+
* Trigger appearance. "pill" (default) = compact inline pill — logo + short
|
|
707
|
+
* label only. "field" = full-width form field with a label above. Either
|
|
708
|
+
* way the long descriptor lives only as subtext inside the open dropdown,
|
|
709
|
+
* never on the closed trigger.
|
|
712
710
|
*/
|
|
713
711
|
variant?: BackendSelectorVariant;
|
|
714
712
|
label?: string;
|
|
@@ -781,89 +779,13 @@ interface HarnessLogoProps {
|
|
|
781
779
|
className?: string;
|
|
782
780
|
}
|
|
783
781
|
/**
|
|
784
|
-
* Brand chip for a harness, matching
|
|
785
|
-
* model-
|
|
782
|
+
* Brand chip for a harness, matching `BrandLogo`'s render contract in
|
|
783
|
+
* `lib/model-brand`: a rounded `bg-background ring-1 ring-border` chip wrapping
|
|
786
784
|
* either a foreground-filled CSS-mask of the brand SVG or a lucide fallback
|
|
787
785
|
* glyph. Keeps harness pills visually consistent with model pills.
|
|
788
786
|
*/
|
|
789
787
|
declare function HarnessLogo({ type, size, className }: HarnessLogoProps): React.JSX.Element;
|
|
790
788
|
|
|
791
|
-
type ModelPickerVariant = "field" | "pill";
|
|
792
|
-
interface ModelPickerProps {
|
|
793
|
-
/** Canonical model id (provider-prefixed, e.g. "openai/gpt-5.4"). */
|
|
794
|
-
value: string;
|
|
795
|
-
onChange: (modelId: string) => void;
|
|
796
|
-
/** Models to choose from. Pass `[]` while loading. */
|
|
797
|
-
models: ModelInfo[];
|
|
798
|
-
/** Show the loading state (overrides empty-list copy). */
|
|
799
|
-
loading?: boolean;
|
|
800
|
-
/** Recently-used canonical ids to surface at the top. */
|
|
801
|
-
recents?: ReadonlyArray<string>;
|
|
802
|
-
/**
|
|
803
|
-
* Canonical model ids to surface in a "Popular" section above the full
|
|
804
|
-
* list. Each id is resolved against `models`; ids not present in the
|
|
805
|
-
* loaded catalog are silently skipped, so callers can pass a stable
|
|
806
|
-
* curation list without worrying about provider availability.
|
|
807
|
-
*/
|
|
808
|
-
popular?: ReadonlyArray<string>;
|
|
809
|
-
/** Drop providers from the picker entirely (e.g. "audio", "embedding"). */
|
|
810
|
-
excludeProviders?: ReadonlyArray<string>;
|
|
811
|
-
/** Restrict to these architectures (e.g. ["text"]). Default: all. */
|
|
812
|
-
modalities?: ReadonlyArray<string>;
|
|
813
|
-
/** Trigger appearance. "field" = full-width form field; "pill" = inline chat input pill. */
|
|
814
|
-
variant?: ModelPickerVariant;
|
|
815
|
-
label?: string;
|
|
816
|
-
placeholder?: string;
|
|
817
|
-
className?: string;
|
|
818
|
-
/**
|
|
819
|
-
* Extra classes merged onto the trigger button itself (after the
|
|
820
|
-
* built-in defaults, so callers can override sizing/radius/font to
|
|
821
|
-
* match a surrounding form). Distinct from `className`, which on the
|
|
822
|
-
* "field" variant styles the outer wrapper.
|
|
823
|
-
*/
|
|
824
|
-
triggerClassName?: string;
|
|
825
|
-
disabled?: boolean;
|
|
826
|
-
/** Side the menu opens toward. Defaults to Radix's "bottom". */
|
|
827
|
-
side?: Popover.DropdownMenuContentProps["side"];
|
|
828
|
-
/**
|
|
829
|
-
* Let Radix flip the menu to the opposite side when it would overflow the
|
|
830
|
-
* viewport. Defaults to `true` (Radix default). Pass `false` to pin the menu
|
|
831
|
-
* to `side` — e.g. a composer floating in open space that should always open
|
|
832
|
-
* downward rather than flipping up over the heading.
|
|
833
|
-
*/
|
|
834
|
-
avoidCollisions?: boolean;
|
|
835
|
-
}
|
|
836
|
-
/**
|
|
837
|
-
* Stable key used to collapse catalog duplicates. The Tangle Router lists the
|
|
838
|
-
* same underlying model under several host prefixes (e.g. `openai/gpt-5.4`,
|
|
839
|
-
* `tcloud/gpt-5.4`, `openrouter/openai/gpt-5.4`); they all name one model and
|
|
840
|
-
* should occupy a single row. The key is `<lab>/<model-id>`: the authoring lab
|
|
841
|
-
* (inferred via {@link resolveModelBrandIdentity}, which already maps
|
|
842
|
-
* `gpt-5.4` → openai, `kimi-k2` → moonshot, etc.) plus the final id segment,
|
|
843
|
-
* so a model collapses to one identity regardless of which host serves it.
|
|
844
|
-
*/
|
|
845
|
-
declare function modelDedupKey(model: ModelInfo): string;
|
|
846
|
-
/**
|
|
847
|
-
* Collapse catalog duplicates to one row per {@link modelDedupKey}. When a
|
|
848
|
-
* model is served under multiple hosts the preferred row wins: a `featured`
|
|
849
|
-
* row beats a non-featured one, otherwise the first occurrence is kept (so
|
|
850
|
-
* caller-controlled catalog order still decides ties). Input order is
|
|
851
|
-
* preserved for the surviving rows.
|
|
852
|
-
*/
|
|
853
|
-
declare function dedupeModels(models: ReadonlyArray<ModelInfo>): ModelInfo[];
|
|
854
|
-
/**
|
|
855
|
-
* Fallback "Recommended" seed — latest frontier models per major lab, matched
|
|
856
|
-
* by {@link modelDedupKey} against the loaded catalog. Used only when no
|
|
857
|
-
* catalog row carries an explicit `featured` flag, so a standard router
|
|
858
|
-
* catalog still gets a curated top section without per-deployment config.
|
|
859
|
-
*/
|
|
860
|
-
declare const DEFAULT_FEATURED_MODEL_IDS: ReadonlyArray<string>;
|
|
861
|
-
/** Format $/M tokens. Returns null if pricing is missing or zero. */
|
|
862
|
-
declare function formatPricing(pricing: ModelInfo["pricing"]): string | null;
|
|
863
|
-
/** Format context length compactly (e.g. 200_000 → "200k"). */
|
|
864
|
-
declare function formatContext(ctx: number | undefined): string | null;
|
|
865
|
-
declare function ModelPicker({ value, onChange, models, loading, recents, popular, excludeProviders, modalities, variant, label, placeholder, className, triggerClassName, disabled, side, avoidCollisions, }: ModelPickerProps): React.JSX.Element;
|
|
866
|
-
|
|
867
789
|
type ProductVariant = "sandbox";
|
|
868
790
|
interface NavItem {
|
|
869
791
|
id: string;
|
|
@@ -1353,4 +1275,4 @@ interface InfoPanelProps {
|
|
|
1353
1275
|
}
|
|
1354
1276
|
declare function InfoPanel({ label, title, description, className }: InfoPanelProps): React.JSX.Element;
|
|
1355
1277
|
|
|
1356
|
-
export { ActivityFeed, type ActivityFeedProps, type ActivityItem, type AppearanceController, type Backend, BackendConfig, type BackendConfigProps, BackendSelector, type BackendSelectorProps, type BackendStatusData, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps,
|
|
1278
|
+
export { ActivityFeed, type ActivityFeedProps, type ActivityItem, type AppearanceController, type Backend, BackendConfig, type BackendConfigProps, BackendSelector, type BackendSelectorProps, type BackendStatusData, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, type GitCommitData, GitPanel, type GitPanelProps, type GitStatusData, HARNESS_BRAND, HARNESS_OPTIONS, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessPicker, type HarnessPickerProps, 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, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, PromoBanner, type PromoBannerProps, RailButton, type RailButtonProps, RailCollapseToggle, type RailCollapseToggleProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, RailThemeToggle, RailTooltip, type RailTooltipProps, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxStatus, SandboxTable, type SandboxTableProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarLayout, type SidebarLayoutFlyoutItem, 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, type ThemeMode, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, canAdminSandbox, chatCapableHarnesses, parseInsufficientBalance, useSidebar };
|
package/dist/dashboard.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ActivityFeed,
|
|
3
3
|
BackendConfig,
|
|
4
|
+
BackendSelector,
|
|
4
5
|
ClusterStatusBar,
|
|
5
6
|
CreditBalance,
|
|
6
7
|
DashboardLayout,
|
|
7
8
|
GitPanel,
|
|
9
|
+
HARNESS_BRAND,
|
|
10
|
+
HARNESS_OPTIONS,
|
|
11
|
+
HarnessLogo,
|
|
12
|
+
HarnessPicker,
|
|
8
13
|
INSUFFICIENT_BALANCE_CODE,
|
|
9
14
|
InvoiceTable,
|
|
10
15
|
MetricAreaChart,
|
|
@@ -52,9 +57,10 @@ import {
|
|
|
52
57
|
UsageSummary,
|
|
53
58
|
VariantList,
|
|
54
59
|
canAdminSandbox,
|
|
60
|
+
chatCapableHarnesses,
|
|
55
61
|
parseInsufficientBalance,
|
|
56
62
|
useSidebar
|
|
57
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-Y4OTBMZS.js";
|
|
58
64
|
import {
|
|
59
65
|
BillingDashboard,
|
|
60
66
|
InfoPanel,
|
|
@@ -64,27 +70,11 @@ import {
|
|
|
64
70
|
formatPrice
|
|
65
71
|
} from "./chunk-OMUIPJQZ.js";
|
|
66
72
|
import "./chunk-4ZZUMXPX.js";
|
|
67
|
-
import {
|
|
68
|
-
BackendSelector,
|
|
69
|
-
HARNESS_BRAND,
|
|
70
|
-
HARNESS_OPTIONS,
|
|
71
|
-
HarnessLogo,
|
|
72
|
-
HarnessPicker,
|
|
73
|
-
chatCapableHarnesses
|
|
74
|
-
} from "./chunk-WSN2RZC6.js";
|
|
75
|
-
import {
|
|
76
|
-
DEFAULT_FEATURED_MODEL_IDS,
|
|
77
|
-
ModelPicker,
|
|
78
|
-
dedupeModels,
|
|
79
|
-
formatContext,
|
|
80
|
-
formatPricing,
|
|
81
|
-
modelDedupKey
|
|
82
|
-
} from "./chunk-WMVUJ5SA.js";
|
|
83
73
|
import {
|
|
84
74
|
ModelBrandStack,
|
|
85
75
|
canonicalModelId,
|
|
86
76
|
modelBrandFor
|
|
87
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-RQZRXKMR.js";
|
|
88
78
|
import "./chunk-EI44GEQ5.js";
|
|
89
79
|
import "./chunk-CZ7CSFO4.js";
|
|
90
80
|
export {
|
|
@@ -94,7 +84,6 @@ export {
|
|
|
94
84
|
BillingDashboard,
|
|
95
85
|
ClusterStatusBar,
|
|
96
86
|
CreditBalance,
|
|
97
|
-
DEFAULT_FEATURED_MODEL_IDS,
|
|
98
87
|
DashboardLayout,
|
|
99
88
|
GitPanel,
|
|
100
89
|
HARNESS_BRAND,
|
|
@@ -106,7 +95,6 @@ export {
|
|
|
106
95
|
InvoiceTable,
|
|
107
96
|
MetricAreaChart,
|
|
108
97
|
ModelBrandStack,
|
|
109
|
-
ModelPicker,
|
|
110
98
|
NetworkConfig,
|
|
111
99
|
NewSandboxCard,
|
|
112
100
|
OutOfCreditsModal,
|
|
@@ -156,12 +144,8 @@ export {
|
|
|
156
144
|
canAdminSandbox,
|
|
157
145
|
canonicalModelId,
|
|
158
146
|
chatCapableHarnesses,
|
|
159
|
-
dedupeModels,
|
|
160
|
-
formatContext,
|
|
161
147
|
formatPrice,
|
|
162
|
-
formatPricing,
|
|
163
148
|
modelBrandFor,
|
|
164
|
-
modelDedupKey,
|
|
165
149
|
parseInsufficientBalance,
|
|
166
150
|
useSidebar
|
|
167
151
|
};
|
package/dist/globals.css
CHANGED
|
@@ -409,9 +409,6 @@
|
|
|
409
409
|
.bottom-\[-0\.75rem\] {
|
|
410
410
|
bottom: -0.75rem;
|
|
411
411
|
}
|
|
412
|
-
.bottom-full {
|
|
413
|
-
bottom: 100%;
|
|
414
|
-
}
|
|
415
412
|
.left-0 {
|
|
416
413
|
left: 0px;
|
|
417
414
|
}
|
|
@@ -688,9 +685,6 @@
|
|
|
688
685
|
.table {
|
|
689
686
|
display: table;
|
|
690
687
|
}
|
|
691
|
-
.table-row {
|
|
692
|
-
display: table-row;
|
|
693
|
-
}
|
|
694
688
|
.aspect-\[9\/16\] {
|
|
695
689
|
aspect-ratio: 9/16;
|
|
696
690
|
}
|
|
@@ -919,9 +913,6 @@
|
|
|
919
913
|
.max-h-\[min\(60vh\,420px\)\] {
|
|
920
914
|
max-height: min(60vh, 420px);
|
|
921
915
|
}
|
|
922
|
-
.max-h-\[min\(440px\,var\(--radix-dropdown-menu-content-available-height\)\)\] {
|
|
923
|
-
max-height: min(440px, var(--radix-dropdown-menu-content-available-height));
|
|
924
|
-
}
|
|
925
916
|
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
|
|
926
917
|
max-height: var(--radix-dropdown-menu-content-available-height);
|
|
927
918
|
}
|
|
@@ -979,9 +970,6 @@
|
|
|
979
970
|
.min-h-\[300px\] {
|
|
980
971
|
min-height: 300px;
|
|
981
972
|
}
|
|
982
|
-
.min-h-\[560px\] {
|
|
983
|
-
min-height: 560px;
|
|
984
|
-
}
|
|
985
973
|
.min-h-\[640px\] {
|
|
986
974
|
min-height: 640px;
|
|
987
975
|
}
|
|
@@ -1150,9 +1138,6 @@
|
|
|
1150
1138
|
.w-\[300px\] {
|
|
1151
1139
|
width: 300px;
|
|
1152
1140
|
}
|
|
1153
|
-
.w-\[320px\] {
|
|
1154
|
-
width: 320px;
|
|
1155
|
-
}
|
|
1156
1141
|
.w-\[360px\] {
|
|
1157
1142
|
width: 360px;
|
|
1158
1143
|
}
|
|
@@ -1177,9 +1162,6 @@
|
|
|
1177
1162
|
.w-\[680px\] {
|
|
1178
1163
|
width: 680px;
|
|
1179
1164
|
}
|
|
1180
|
-
.w-\[720px\] {
|
|
1181
|
-
width: 720px;
|
|
1182
|
-
}
|
|
1183
1165
|
.w-\[760px\] {
|
|
1184
1166
|
width: 760px;
|
|
1185
1167
|
}
|
|
@@ -1195,6 +1177,9 @@
|
|
|
1195
1177
|
.w-\[min\(88vw\,24rem\)\] {
|
|
1196
1178
|
width: min(88vw, 24rem);
|
|
1197
1179
|
}
|
|
1180
|
+
.w-\[min\(320px\,calc\(100vw-2rem\)\)\] {
|
|
1181
|
+
width: min(320px, calc(100vw - 2rem));
|
|
1182
|
+
}
|
|
1198
1183
|
.w-\[var\(--avatar-size\)\] {
|
|
1199
1184
|
width: var(--avatar-size);
|
|
1200
1185
|
}
|
|
@@ -1204,9 +1189,6 @@
|
|
|
1204
1189
|
.w-\[var\(--indicator-dot-size\)\] {
|
|
1205
1190
|
width: var(--indicator-dot-size);
|
|
1206
1191
|
}
|
|
1207
|
-
.w-\[var\(--radix-dropdown-menu-trigger-width\)\] {
|
|
1208
|
-
width: var(--radix-dropdown-menu-trigger-width);
|
|
1209
|
-
}
|
|
1210
1192
|
.w-\[var\(--radix-select-trigger-width\)\] {
|
|
1211
1193
|
width: var(--radix-select-trigger-width);
|
|
1212
1194
|
}
|
|
@@ -1276,9 +1258,6 @@
|
|
|
1276
1258
|
.max-w-\[150px\] {
|
|
1277
1259
|
max-width: 150px;
|
|
1278
1260
|
}
|
|
1279
|
-
.max-w-\[180px\] {
|
|
1280
|
-
max-width: 180px;
|
|
1281
|
-
}
|
|
1282
1261
|
.max-w-\[250px\] {
|
|
1283
1262
|
max-width: 250px;
|
|
1284
1263
|
}
|
|
@@ -1291,9 +1270,6 @@
|
|
|
1291
1270
|
.max-w-\[420px\] {
|
|
1292
1271
|
max-width: 420px;
|
|
1293
1272
|
}
|
|
1294
|
-
.max-w-\[460px\] {
|
|
1295
|
-
max-width: 460px;
|
|
1296
|
-
}
|
|
1297
1273
|
.max-w-\[480px\] {
|
|
1298
1274
|
max-width: 480px;
|
|
1299
1275
|
}
|
|
@@ -1357,9 +1333,6 @@
|
|
|
1357
1333
|
.min-w-\[240px\] {
|
|
1358
1334
|
min-width: 240px;
|
|
1359
1335
|
}
|
|
1360
|
-
.min-w-\[320px\] {
|
|
1361
|
-
min-width: 320px;
|
|
1362
|
-
}
|
|
1363
1336
|
.min-w-\[360px\] {
|
|
1364
1337
|
min-width: 360px;
|
|
1365
1338
|
}
|
|
@@ -2049,12 +2022,6 @@
|
|
|
2049
2022
|
.border-primary {
|
|
2050
2023
|
border-color: var(--color-primary);
|
|
2051
2024
|
}
|
|
2052
|
-
.border-primary\/10 {
|
|
2053
|
-
border-color: color-mix(in srgb, hsl(var(--primary)) 10%, transparent);
|
|
2054
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2055
|
-
border-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
|
|
2056
|
-
}
|
|
2057
|
-
}
|
|
2058
2025
|
.border-primary\/20 {
|
|
2059
2026
|
border-color: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);
|
|
2060
2027
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2421,12 +2388,6 @@
|
|
|
2421
2388
|
background-color: color-mix(in oklab, var(--color-muted) 10%, transparent);
|
|
2422
2389
|
}
|
|
2423
2390
|
}
|
|
2424
|
-
.bg-muted\/20 {
|
|
2425
|
-
background-color: color-mix(in srgb, hsl(var(--muted)) 20%, transparent);
|
|
2426
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2427
|
-
background-color: color-mix(in oklab, var(--color-muted) 20%, transparent);
|
|
2428
|
-
}
|
|
2429
|
-
}
|
|
2430
2391
|
.bg-muted\/30 {
|
|
2431
2392
|
background-color: color-mix(in srgb, hsl(var(--muted)) 30%, transparent);
|
|
2432
2393
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2487,12 +2448,6 @@
|
|
|
2487
2448
|
background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
|
|
2488
2449
|
}
|
|
2489
2450
|
}
|
|
2490
|
-
.bg-primary\/\[0\.04\] {
|
|
2491
|
-
background-color: color-mix(in srgb, hsl(var(--primary)) 4%, transparent);
|
|
2492
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2493
|
-
background-color: color-mix(in oklab, var(--color-primary) 4%, transparent);
|
|
2494
|
-
}
|
|
2495
|
-
}
|
|
2496
2451
|
.bg-red-500 {
|
|
2497
2452
|
background-color: var(--color-red-500);
|
|
2498
2453
|
}
|
|
@@ -2511,9 +2466,6 @@
|
|
|
2511
2466
|
background-color: color-mix(in oklab, var(--color-red-600) 20%, transparent);
|
|
2512
2467
|
}
|
|
2513
2468
|
}
|
|
2514
|
-
.bg-ring {
|
|
2515
|
-
background-color: var(--color-ring);
|
|
2516
|
-
}
|
|
2517
2469
|
.bg-secondary {
|
|
2518
2470
|
background-color: var(--color-secondary);
|
|
2519
2471
|
}
|
|
@@ -2837,9 +2789,6 @@
|
|
|
2837
2789
|
.pt-12 {
|
|
2838
2790
|
padding-top: calc(var(--spacing) * 12);
|
|
2839
2791
|
}
|
|
2840
|
-
.pt-14 {
|
|
2841
|
-
padding-top: calc(var(--spacing) * 14);
|
|
2842
|
-
}
|
|
2843
2792
|
.pt-16 {
|
|
2844
2793
|
padding-top: calc(var(--spacing) * 16);
|
|
2845
2794
|
}
|
|
@@ -2861,9 +2810,6 @@
|
|
|
2861
2810
|
.pb-0 {
|
|
2862
2811
|
padding-bottom: 0px;
|
|
2863
2812
|
}
|
|
2864
|
-
.pb-0\.5 {
|
|
2865
|
-
padding-bottom: calc(var(--spacing) * 0.5);
|
|
2866
|
-
}
|
|
2867
2813
|
.pb-1 {
|
|
2868
2814
|
padding-bottom: var(--spacing);
|
|
2869
2815
|
}
|
|
@@ -2879,9 +2825,6 @@
|
|
|
2879
2825
|
.pb-8 {
|
|
2880
2826
|
padding-bottom: calc(var(--spacing) * 8);
|
|
2881
2827
|
}
|
|
2882
|
-
.pb-12 {
|
|
2883
|
-
padding-bottom: calc(var(--spacing) * 12);
|
|
2884
|
-
}
|
|
2885
2828
|
.pl-2 {
|
|
2886
2829
|
padding-left: calc(var(--spacing) * 2);
|
|
2887
2830
|
}
|
|
@@ -3087,10 +3030,6 @@
|
|
|
3087
3030
|
--tw-leading: var(--leading-tight);
|
|
3088
3031
|
line-height: var(--leading-tight);
|
|
3089
3032
|
}
|
|
3090
|
-
.font-\[var\(--font-display\)\] {
|
|
3091
|
-
--tw-font-weight: var(--font-display);
|
|
3092
|
-
font-weight: var(--font-display);
|
|
3093
|
-
}
|
|
3094
3033
|
.font-bold {
|
|
3095
3034
|
--tw-font-weight: var(--font-weight-bold);
|
|
3096
3035
|
font-weight: var(--font-weight-bold);
|
|
@@ -3300,6 +3239,9 @@
|
|
|
3300
3239
|
.text-\[var\(--surface-warning-text\)\] {
|
|
3301
3240
|
color: var(--surface-warning-text);
|
|
3302
3241
|
}
|
|
3242
|
+
.text-\[var\(--text-dim\)\] {
|
|
3243
|
+
color: var(--text-dim);
|
|
3244
|
+
}
|
|
3303
3245
|
.text-\[var\(--text-muted\)\] {
|
|
3304
3246
|
color: var(--text-muted);
|
|
3305
3247
|
}
|
|
@@ -3312,6 +3254,9 @@
|
|
|
3312
3254
|
.text-\[var\(--text-primary\,hsl\(var\(--foreground\)\)\)\] {
|
|
3313
3255
|
color: var(--text-primary,hsl(var(--foreground)));
|
|
3314
3256
|
}
|
|
3257
|
+
.text-\[var\(--text-secondary\)\] {
|
|
3258
|
+
color: var(--text-secondary);
|
|
3259
|
+
}
|
|
3315
3260
|
.text-accent-foreground {
|
|
3316
3261
|
color: var(--color-accent-foreground);
|
|
3317
3262
|
}
|
|
@@ -3470,9 +3415,6 @@
|
|
|
3470
3415
|
-webkit-font-smoothing: antialiased;
|
|
3471
3416
|
-moz-osx-font-smoothing: grayscale;
|
|
3472
3417
|
}
|
|
3473
|
-
.accent-foreground {
|
|
3474
|
-
accent-color: var(--color-foreground);
|
|
3475
|
-
}
|
|
3476
3418
|
.accent-primary {
|
|
3477
3419
|
accent-color: var(--color-primary);
|
|
3478
3420
|
}
|
|
@@ -3641,10 +3583,6 @@
|
|
|
3641
3583
|
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
3642
3584
|
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
3643
3585
|
}
|
|
3644
|
-
.backdrop-filter {
|
|
3645
|
-
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
3646
|
-
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
3647
|
-
}
|
|
3648
3586
|
.transition {
|
|
3649
3587
|
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
|
|
3650
3588
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -3800,10 +3738,6 @@
|
|
|
3800
3738
|
--tw-font-weight: var(--font-weight-medium);
|
|
3801
3739
|
font-weight: var(--font-weight-medium);
|
|
3802
3740
|
}
|
|
3803
|
-
.placeholder\:font-normal::placeholder {
|
|
3804
|
-
--tw-font-weight: var(--font-weight-normal);
|
|
3805
|
-
font-weight: var(--font-weight-normal);
|
|
3806
|
-
}
|
|
3807
3741
|
.placeholder\:text-muted-foreground::placeholder {
|
|
3808
3742
|
color: var(--color-muted-foreground);
|
|
3809
3743
|
}
|
|
@@ -3957,9 +3891,6 @@
|
|
|
3957
3891
|
border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
|
|
3958
3892
|
}
|
|
3959
3893
|
}
|
|
3960
|
-
.hover\:border-transparent:hover {
|
|
3961
|
-
border-color: transparent;
|
|
3962
|
-
}
|
|
3963
3894
|
.hover\:\!bg-primary:hover {
|
|
3964
3895
|
background-color: var(--color-primary) !important;
|
|
3965
3896
|
}
|
|
@@ -4113,14 +4044,6 @@
|
|
|
4113
4044
|
background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
|
|
4114
4045
|
}
|
|
4115
4046
|
}
|
|
4116
|
-
.hover\:bg-muted\/60:hover {
|
|
4117
|
-
background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);
|
|
4118
|
-
}
|
|
4119
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4120
|
-
.hover\:bg-muted\/60:hover {
|
|
4121
|
-
background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);
|
|
4122
|
-
}
|
|
4123
|
-
}
|
|
4124
4047
|
.hover\:bg-muted\/80:hover {
|
|
4125
4048
|
background-color: color-mix(in srgb, hsl(var(--muted)) 80%, transparent);
|
|
4126
4049
|
}
|
|
@@ -4289,12 +4212,6 @@
|
|
|
4289
4212
|
background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
|
|
4290
4213
|
}
|
|
4291
4214
|
}
|
|
4292
|
-
.focus\:bg-primary\/15:focus {
|
|
4293
|
-
background-color: color-mix(in srgb, hsl(var(--primary)) 15%, transparent);
|
|
4294
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4295
|
-
background-color: color-mix(in oklab, var(--color-primary) 15%, transparent);
|
|
4296
|
-
}
|
|
4297
|
-
}
|
|
4298
4215
|
.focus\:text-\[var\(--surface-danger-text\)\]:focus {
|
|
4299
4216
|
color: var(--surface-danger-text);
|
|
4300
4217
|
}
|
|
@@ -4544,9 +4461,6 @@
|
|
|
4544
4461
|
.data-\[state\=open\]\:border-\[var\(--md3-outline-variant\)\][data-state="open"] {
|
|
4545
4462
|
border-color: var(--md3-outline-variant);
|
|
4546
4463
|
}
|
|
4547
|
-
.data-\[state\=open\]\:border-transparent[data-state="open"] {
|
|
4548
|
-
border-color: transparent;
|
|
4549
|
-
}
|
|
4550
4464
|
.data-\[state\=open\]\:bg-\[var\(--accent-surface-strong\)\][data-state="open"] {
|
|
4551
4465
|
background-color: var(--accent-surface-strong);
|
|
4552
4466
|
}
|
|
@@ -4559,18 +4473,9 @@
|
|
|
4559
4473
|
background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
|
|
4560
4474
|
}
|
|
4561
4475
|
}
|
|
4562
|
-
.data-\[state\=open\]\:bg-muted\/60[data-state="open"] {
|
|
4563
|
-
background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);
|
|
4564
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4565
|
-
background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);
|
|
4566
|
-
}
|
|
4567
|
-
}
|
|
4568
4476
|
.data-\[state\=open\]\:bg-surface-container-high[data-state="open"] {
|
|
4569
4477
|
background-color: var(--color-surface-container-high);
|
|
4570
4478
|
}
|
|
4571
|
-
.data-\[state\=open\]\:text-foreground[data-state="open"] {
|
|
4572
|
-
color: var(--color-foreground);
|
|
4573
|
-
}
|
|
4574
4479
|
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
|
|
4575
4480
|
color: var(--color-muted-foreground);
|
|
4576
4481
|
}
|
|
@@ -5558,6 +5463,17 @@
|
|
|
5558
5463
|
--border-default: rgba(120, 108, 158, 0.18);
|
|
5559
5464
|
--border-hover: rgba(120, 108, 158, 0.28);
|
|
5560
5465
|
}
|
|
5466
|
+
:root:not([data-theme]),
|
|
5467
|
+
[data-sandbox-ui]:not([data-theme]),
|
|
5468
|
+
[data-theme="dark"],
|
|
5469
|
+
.dark:not([data-theme]) {
|
|
5470
|
+
--text-dim: #92929a;
|
|
5471
|
+
}
|
|
5472
|
+
[data-sandbox-theme="vault"]:not([data-theme]),
|
|
5473
|
+
[data-theme="light"],
|
|
5474
|
+
.light:not([data-theme]) {
|
|
5475
|
+
--text-dim: #6b6b75;
|
|
5476
|
+
}
|
|
5561
5477
|
.sandbox-tree-surface {
|
|
5562
5478
|
--trees-bg-override: var(--md3-surface-container-lowest);
|
|
5563
5479
|
--trees-bg-muted-override: var(--md3-surface-container-low);
|
package/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,13 @@ export { AgentWorkbench, ApprovalConfidenceStat, ApprovalItem, ApprovalQueue, Ap
|
|
|
5
5
|
export { ArtifactView, BRAND_PRISM_THEME, CodeSurface, CodeSurfaceProps, CodeView, CodeViewProps, DiffStats, DiffView, DiffViewProps, FileBreadcrumb, FileBreadcrumbProps, GitStatusBadge, PanelHeader, PanelHeaderProps, PillTabItem, PillTabs, PillTabsProps, PreviewView, PreviewViewProps, SandboxArtifact, SandboxArtifactPane, SandboxArtifactPaneProps, SandboxArtifactTerminal, buildUnifiedPatch, computeDiffStats, resolveLanguage } from './workbench.js';
|
|
6
6
|
export { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from '@tangle-network/ui/openui';
|
|
7
7
|
export { AgentTimeline, AgentTimelineArtifactItem, AgentTimelineCustomItem, AgentTimelineItem, AgentTimelineMessageItem, AgentTimelineProps, AgentTimelineStatusItem, AgentTimelineTone, AgentTimelineToolGroupItem, AgentTimelineToolItem, ChatContainer, ChatContainerProps, ChatMessage, ChatMessageProps, MessageList, MessageListProps, MessageRole, ThinkingIndicator, ThinkingIndicatorProps, UserMessage, UserMessageProps } from '@tangle-network/ui/chat';
|
|
8
|
-
export { AgentComposer, AgentComposerMention, AgentComposerProps, AgentProfileCapability, AgentProfileDraft, AgentProfileOption, AgentProfilePicker, AgentProfilePickerProps,
|
|
8
|
+
export { AgentComposer, AgentComposerMention, AgentComposerProps, AgentProfileCapability, AgentProfileDraft, AgentProfileOption, AgentProfilePicker, AgentProfilePickerProps, ArtifactAgentDock, ArtifactAgentDockProps, ArtifactAgentDockTransport, ArtifactDockMessage, ArtifactDockStreamEvent, ArtifactKind, ArtifactScope, ComposerFile, ComposerFileRejection, ComposerFileValidationConfig, DEFAULT_REASONING_LEVEL_OPTIONS, HARNESS_REASONING_OPTIONS, MENTION_PILL_CLASS, MentionItem, ReasoningLevel, ReasoningLevelOption, ReasoningLevelPicker, ReasoningLevelPickerProps, createFetchTransport, isAcceptedType, validateComposerFiles } from './chat.js';
|
|
9
|
+
export { HarnessType, modelProvider, snapHarnessToModel } from '@tangle-network/agent-interface';
|
|
9
10
|
export { ExpandedToolDetail, ExpandedToolDetailProps, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps } from '@tangle-network/ui/run';
|
|
10
11
|
export { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from '@tangle-network/ui/tool-previews';
|
|
11
12
|
export { FileArtifactPane, FileArtifactPaneProps, FileNode, FilePreview, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, filterFileTree } from '@tangle-network/ui/files';
|
|
12
|
-
export { ActivityFeed, ActivityFeedProps, ActivityItem, AppearanceController, Backend, BackendConfig, BackendConfigProps, BackendSelector, BackendSelectorProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps,
|
|
13
|
+
export { ActivityFeed, ActivityFeedProps, ActivityItem, AppearanceController, Backend, BackendConfig, BackendConfigProps, BackendSelector, BackendSelectorProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps, DashboardLayout, DashboardLayoutProps, DashboardProfile, DashboardSnapshotInfo, DashboardUser, GitCommitData, GitPanel, GitPanelProps, GitStatusData, HARNESS_BRAND, HARNESS_OPTIONS, HarnessBrand, HarnessLogo, HarnessLogoProps, HarnessPicker, HarnessPickerProps, 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, ProcessInfo, ProcessList, ProcessListProps, ProductVariant, ProfileAvatar, ProfileAvatarProps, ProfileComparison, ProfileComparisonProps, ProfileSelector, ProfileSelectorProps, PromoBanner, PromoBannerProps, RailButton, RailButtonProps, RailCollapseToggle, RailCollapseToggleProps, RailExpandable, RailExpandableProps, RailExpandableSubItem, RailFlyout, RailFlyoutProps, RailHeader, RailHeaderProps, RailModeButton, RailModeButtonProps, RailSeparator, RailSeparatorProps, RailThemeToggle, RailTooltip, RailTooltipProps, ResourceMeter, ResourceMeterProps, ResourceSnapshot, ResourceSnapshotItem, ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxCardData, SandboxCardProps, SandboxStatus, SandboxTable, SandboxTableProps, Sidebar, SidebarContent, SidebarContentProps, SidebarLayout, SidebarLayoutFlyoutItem, 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, ThemeMode, UsageSummary, UsageSummaryData, UsageSummaryProps, Variant, VariantList, VariantListProps, VariantOutcome, VariantStatus, canAdminSandbox, chatCapableHarnesses, parseInsufficientBalance, useSidebar } from './dashboard.js';
|
|
14
|
+
export { M as ModelBrandIdentity, a as ModelBrandStack, b as ModelInfo, c as canonicalModelId, m as modelBrandFor } from './model-brand-BNnaUKKZ.js';
|
|
13
15
|
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-Bn-Bw5xC.js';
|
|
14
16
|
export { E as ExposedPort, P as PortsList, a as PortsListProps } from './ports-list-CDIvTNnX.js';
|
|
15
17
|
export { AuthHeader, AuthHeaderProps, GitHubLoginButton, GitHubLoginButtonProps, LoginLayout, LoginLayoutProps, SessionUser, UserMenu, UserMenuProps } from '@tangle-network/ui/auth';
|
|
@@ -22,8 +24,6 @@ export { ChatSession, connectSession, disconnectSession, sessionAtom } from './s
|
|
|
22
24
|
export { AgentBranding, CustomToolRenderer, DisplayVariant, FinalTextPart, GroupedMessage, MessageRun, MessageUser, ReasoningPart, Run, RunStats, SessionMessage, SessionPart, TextPart, ToolCategory, ToolDisplayMetadata, ToolPart, ToolState, ToolStatus, ToolTime } from '@tangle-network/ui/types';
|
|
23
25
|
export { Session } from './types.js';
|
|
24
26
|
export { TOOL_CATEGORY_ICONS, cn, copyText, formatBytes, formatDuration, formatUptime, getToolCategory, getToolDisplayMetadata, getToolErrorText, timeAgo, truncateText } from '@tangle-network/ui/utils';
|
|
25
|
-
export { HarnessType, modelProvider, snapHarnessToModel } from '@tangle-network/agent-interface';
|
|
26
|
-
export { M as ModelBrandIdentity, a as ModelBrandStack, b as ModelInfo, c as canonicalModelId, m as modelBrandFor } from './model-brand-CuXKfTMh.js';
|
|
27
27
|
import 'react';
|
|
28
28
|
import '@radix-ui/react-dropdown-menu';
|
|
29
29
|
import '@tanstack/react-query';
|