@tangle-network/sandbox-ui 0.4.0 → 0.5.1
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/auth.js +3 -3
- package/dist/chat.d.ts +1 -1
- package/dist/chat.js +11 -9
- package/dist/{chunk-ZP6GSX4D.js → chunk-565V6JTN.js} +26 -50
- package/dist/chunk-5CEMHKBP.js +72 -0
- package/dist/{chunk-FOQTE67I.js → chunk-5F4NX5R2.js} +10 -5
- package/dist/{chunk-MVYFNPAH.js → chunk-7DVFZEVW.js} +298 -272
- package/dist/{chunk-MUOL44AE.js → chunk-BRBTD7RH.js} +6 -6
- package/dist/{chunk-SSKVYXCR.js → chunk-DCPYTL4W.js} +62 -79
- package/dist/chunk-DLCFZDGX.js +182 -0
- package/dist/{chunk-HXEA7L2T.js → chunk-FFOXUHOF.js} +10 -10
- package/dist/chunk-H5XYSFYE.js +228 -0
- package/dist/{chunk-TQN3VR4F.js → chunk-JP725R4W.js} +2 -2
- package/dist/{chunk-CJ2RYVZH.js → chunk-NTSRY4GW.js} +68 -10
- package/dist/{chunk-DQYODCBN.js → chunk-P24K22CV.js} +57 -66
- package/dist/{chunk-GVUW4VDD.js → chunk-R3IU37AW.js} +161 -229
- package/dist/chunk-TDYQBLL5.js +127 -0
- package/dist/{chunk-HWLX5NME.js → chunk-TSE423UF.js} +12 -12
- package/dist/{chunk-YDBXQQLC.js → chunk-VBWY44UU.js} +30 -76
- package/dist/{chunk-IW2JZCOC.js → chunk-WBQ7VULC.js} +7 -7
- package/dist/{chunk-72UEKFZ2.js → chunk-WC7QTWPN.js} +65 -42
- package/dist/{chunk-HYLTXGOI.js → chunk-WQH233GF.js} +5 -5
- package/dist/{chunk-CCKNIAS7.js → chunk-XBR3IP7B.js} +2 -2
- package/dist/{chunk-OHMO7NUX.js → chunk-XTPAWK7L.js} +20 -31
- package/dist/{chunk-SULQQJPB.js → chunk-YS66Q3RC.js} +1 -1
- package/dist/{chunk-FRGMMANX.js → chunk-YYGECNZZ.js} +3 -3
- package/dist/dashboard.d.ts +2 -2
- package/dist/dashboard.js +6 -6
- package/dist/{document-editor-pane-5TN2VWGZ.js → document-editor-pane-JNXPANWM.js} +2 -2
- package/dist/editor.js +2 -2
- package/dist/files.js +2 -2
- package/dist/globals.css +129 -95
- package/dist/hooks.d.ts +2 -2
- package/dist/hooks.js +5 -5
- package/dist/{index-tTfThG0n.d.ts → index-BT_-ecpc.d.ts} +11 -10
- package/dist/index.d.ts +16 -23
- package/dist/index.js +27 -26
- package/dist/markdown.d.ts +14 -17
- package/dist/markdown.js +1 -1
- package/dist/openui.js +5 -5
- package/dist/pages.d.ts +10 -3
- package/dist/pages.js +147 -184
- package/dist/primitives.d.ts +8 -5
- package/dist/primitives.js +8 -8
- package/dist/run.d.ts +1 -1
- package/dist/run.js +4 -4
- package/dist/sdk-hooks.d.ts +1 -1
- package/dist/sdk-hooks.js +4 -4
- package/dist/styles.css +129 -95
- package/dist/terminal.d.ts +2 -2
- package/dist/terminal.js +13 -43
- package/dist/tokens.css +299 -179
- package/dist/{tool-call-feed-D5Ume-Pt.d.ts → tool-call-feed-Bs3MyQMT.d.ts} +3 -1
- package/dist/{usage-chart-CY9xo3KX.d.ts → usage-chart-XCoB_7Xu.d.ts} +1 -2
- package/dist/{use-pty-session-DeZSxOCN.d.ts → use-pty-session-COzVkhtc.d.ts} +1 -1
- package/dist/workspace.d.ts +3 -1
- package/dist/workspace.js +11 -11
- package/package.json +14 -2
- package/dist/chunk-GRYHFH5O.js +0 -110
- package/dist/chunk-LTFK464G.js +0 -103
- package/dist/chunk-MXCSSOGH.js +0 -105
package/dist/pages.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
DialogFooter,
|
|
6
6
|
DialogHeader,
|
|
7
7
|
DialogTitle
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YS66Q3RC.js";
|
|
9
9
|
import {
|
|
10
10
|
Tabs,
|
|
11
11
|
TabsContent,
|
|
@@ -15,23 +15,23 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
EmptyState,
|
|
17
17
|
Input
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-BRBTD7RH.js";
|
|
19
19
|
import {
|
|
20
20
|
BillingDashboard,
|
|
21
21
|
PricingPage,
|
|
22
22
|
UsageChart
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-565V6JTN.js";
|
|
24
24
|
import {
|
|
25
25
|
Skeleton,
|
|
26
26
|
SkeletonCard
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-YYGECNZZ.js";
|
|
28
28
|
import {
|
|
29
29
|
Badge,
|
|
30
30
|
Card
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-TDYQBLL5.js";
|
|
32
32
|
import {
|
|
33
33
|
Button
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-TSE423UF.js";
|
|
35
35
|
import {
|
|
36
36
|
cn
|
|
37
37
|
} from "./chunk-RQHJBTEU.js";
|
|
@@ -265,8 +265,7 @@ function BillingPage({
|
|
|
265
265
|
{
|
|
266
266
|
data: data.usageHistory,
|
|
267
267
|
title: "Credit Usage History",
|
|
268
|
-
unit: "credits"
|
|
269
|
-
variant
|
|
268
|
+
unit: "credits"
|
|
270
269
|
}
|
|
271
270
|
) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center rounded-xl border border-border bg-card p-12 text-center", children: [
|
|
272
271
|
/* @__PURE__ */ jsxs(
|
|
@@ -295,13 +294,33 @@ function BillingPage({
|
|
|
295
294
|
|
|
296
295
|
// src/pages/provisioning-wizard.tsx
|
|
297
296
|
import * as React2 from "react";
|
|
297
|
+
import { ArrowLeft, ArrowRight, Layers, Cpu, Bot, Info } from "lucide-react";
|
|
298
298
|
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
299
|
-
|
|
300
|
-
|
|
299
|
+
var STACK_DISPLAY = {
|
|
300
|
+
universal: { name: "Universal", abbr: "U", color: "violet", textClass: "text-[var(--surface-violet-text)]" },
|
|
301
|
+
ethereum: { name: "Ethereum", abbr: "\u039E", color: "blue", textClass: "text-[var(--surface-info-text)]" },
|
|
302
|
+
solana: { name: "Solana", abbr: "S", color: "green", textClass: "text-[var(--surface-success-text)]" },
|
|
303
|
+
tangle: { name: "Tangle", abbr: "T", color: "purple", textClass: "text-[var(--surface-violet-text)]" },
|
|
304
|
+
"ai-sdk": { name: "AI SDK", abbr: "AI", color: "teal", textClass: "text-[var(--surface-teal-text)]" },
|
|
305
|
+
rust: { name: "Rust", abbr: "Rs", color: "orange", textClass: "text-[var(--surface-orange-text)]" }
|
|
306
|
+
};
|
|
307
|
+
function resolveEnvironment(env) {
|
|
308
|
+
const display = STACK_DISPLAY[env.id];
|
|
309
|
+
const name = display?.name ?? (env.id.length > 0 ? env.id.charAt(0).toUpperCase() + env.id.slice(1).replace(/-/g, " ") : "Unknown");
|
|
310
|
+
const abbr = display?.abbr ?? (env.id.length > 0 ? env.id[0].toUpperCase() : "?");
|
|
311
|
+
const color = display?.color ?? "slate";
|
|
312
|
+
const textClass = display?.textClass ?? "text-[var(--text-muted)]";
|
|
313
|
+
return {
|
|
314
|
+
id: env.id,
|
|
315
|
+
name,
|
|
316
|
+
description: env.description ?? `${name} development environment`,
|
|
317
|
+
icon: /* @__PURE__ */ jsx2("span", { className: `${textClass} text-2xl font-bold`, children: abbr }),
|
|
318
|
+
color
|
|
319
|
+
};
|
|
301
320
|
}
|
|
302
321
|
var defaultEnvironments = [
|
|
303
|
-
{ id: "node", name: "Node.js", description: "v20.x LTS with optimized runtime for asynchronous event-driven agents.", icon: /* @__PURE__ */ jsx2("span", { className: "text-
|
|
304
|
-
{ id: "python", name: "Python", description: "v3.11 pre-installed with PyTorch and common data science libraries.", icon: /* @__PURE__ */ jsx2("span", { className: "text-
|
|
322
|
+
{ id: "node", name: "Node.js", description: "v20.x LTS with optimized runtime for asynchronous event-driven agents.", icon: /* @__PURE__ */ jsx2("span", { className: "text-[var(--code-success)] text-2xl font-bold", children: "N" }), color: "green" },
|
|
323
|
+
{ id: "python", name: "Python", description: "v3.11 pre-installed with PyTorch and common data science libraries.", icon: /* @__PURE__ */ jsx2("span", { className: "text-sky-400 text-2xl font-bold", children: "Py" }), color: "blue" },
|
|
305
324
|
{ id: "ubuntu", name: "Ubuntu", description: "Full 22.04 LTS terminal access for custom containerized workloads.", icon: /* @__PURE__ */ jsx2("span", { className: "text-orange-400 text-2xl font-bold", children: "U" }), color: "orange" }
|
|
306
325
|
];
|
|
307
326
|
var STEPS = ["Stack", "Resources", "Agent", "Review"];
|
|
@@ -315,18 +334,29 @@ function calcCost(cpu, ram) {
|
|
|
315
334
|
const cost = cpu * 0.045 + ram * 5e-3;
|
|
316
335
|
return cost.toFixed(2);
|
|
317
336
|
}
|
|
337
|
+
var sectionIcon = "flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-[var(--accent-surface-soft)] border border-[var(--border-accent)] text-[var(--brand-cool)]";
|
|
318
338
|
function ProvisioningWizard({
|
|
319
|
-
environments
|
|
339
|
+
environments: environmentsProp,
|
|
340
|
+
onLoadEnvironments,
|
|
320
341
|
onSubmit,
|
|
321
342
|
onBack,
|
|
322
343
|
className
|
|
323
344
|
}) {
|
|
345
|
+
const [envList, setEnvList] = React2.useState(environmentsProp ?? defaultEnvironments);
|
|
346
|
+
React2.useEffect(() => {
|
|
347
|
+
if (onLoadEnvironments) {
|
|
348
|
+
onLoadEnvironments().then((entries) => setEnvList(entries.map(resolveEnvironment)));
|
|
349
|
+
} else if (environmentsProp) {
|
|
350
|
+
setEnvList(environmentsProp);
|
|
351
|
+
}
|
|
352
|
+
}, [onLoadEnvironments, environmentsProp]);
|
|
353
|
+
const environments = envList;
|
|
324
354
|
const [step, setStep] = React2.useState(0);
|
|
325
355
|
const [selectedEnv, setSelectedEnv] = React2.useState(environments[0]?.id ?? "");
|
|
326
356
|
const [cpuCores, setCpuCores] = React2.useState(4);
|
|
327
357
|
const [ramGB, setRamGB] = React2.useState(16);
|
|
328
358
|
const [storageGB, setStorageGB] = React2.useState(128);
|
|
329
|
-
const [modelTier, setModelTier] = React2.useState("
|
|
359
|
+
const [modelTier, setModelTier] = React2.useState("claude-sonnet");
|
|
330
360
|
const [systemPrompt, setSystemPrompt] = React2.useState("");
|
|
331
361
|
const handleNext = () => {
|
|
332
362
|
if (step < STEPS.length - 1) setStep(step + 1);
|
|
@@ -338,24 +368,24 @@ function ProvisioningWizard({
|
|
|
338
368
|
};
|
|
339
369
|
const hourCost = calcCost(cpuCores, ramGB);
|
|
340
370
|
return /* @__PURE__ */ jsxs2("div", { className: cn("max-w-6xl mx-auto", className), children: [
|
|
341
|
-
/* @__PURE__ */ jsxs2("div", { className: "mb-
|
|
342
|
-
/* @__PURE__ */ jsx2("h1", { className: "text-4xl font-extrabold tracking-tight text-
|
|
343
|
-
/* @__PURE__ */ jsx2("p", { className: "text-
|
|
371
|
+
/* @__PURE__ */ jsxs2("div", { className: "mb-10", children: [
|
|
372
|
+
/* @__PURE__ */ jsx2("h1", { className: "text-4xl font-extrabold tracking-tight text-[var(--text-primary)] mb-2", children: "Sandbox Provisioning" }),
|
|
373
|
+
/* @__PURE__ */ jsx2("p", { className: "text-[var(--text-muted)] max-w-2xl", children: "Configure your high-performance orchestration environment. Select your stack, allocate resources, and prime your agent for deployment." })
|
|
344
374
|
] }),
|
|
345
|
-
/* @__PURE__ */ jsx2("div", { className: "grid grid-cols-4 gap-4 mb-
|
|
346
|
-
/* @__PURE__ */ jsx2("div", { className: cn("h-1 w-full rounded-full", i <= step ? "bg-
|
|
347
|
-
/* @__PURE__ */ jsxs2("span", { className: cn("absolute top-0 left-0 font-mono text-[10px] uppercase tracking-widest font-bold", i <= step ? "text-
|
|
375
|
+
/* @__PURE__ */ jsx2("div", { className: "grid grid-cols-4 gap-4 mb-10", children: STEPS.map((label, i) => /* @__PURE__ */ jsxs2("div", { className: "relative pt-5", children: [
|
|
376
|
+
/* @__PURE__ */ jsx2("div", { className: cn("h-1 w-full rounded-full transition-colors", i <= step ? "bg-[var(--brand-cool)]" : "bg-[var(--depth-3)]") }),
|
|
377
|
+
/* @__PURE__ */ jsxs2("span", { className: cn("absolute top-0 left-0 font-mono text-[10px] uppercase tracking-widest font-bold transition-colors", i <= step ? "text-[var(--brand-cool)]" : "text-[var(--text-muted)]"), children: [
|
|
348
378
|
String(i + 1).padStart(2, "0"),
|
|
349
379
|
" ",
|
|
350
380
|
label
|
|
351
381
|
] })
|
|
352
382
|
] }, label)) }),
|
|
353
383
|
/* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-12 gap-8 items-start", children: [
|
|
354
|
-
/* @__PURE__ */ jsxs2("div", { className: "col-span-12 xl:col-span-8 space-y-
|
|
355
|
-
/* @__PURE__ */ jsxs2("section", { className: "bg-
|
|
384
|
+
/* @__PURE__ */ jsxs2("div", { className: "col-span-12 xl:col-span-8 space-y-6", children: [
|
|
385
|
+
/* @__PURE__ */ jsxs2("section", { className: "bg-[var(--depth-2)] rounded-xl p-8 border border-[var(--border-subtle)]", children: [
|
|
356
386
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-4 mb-8", children: [
|
|
357
|
-
/* @__PURE__ */ jsx2("div", { className:
|
|
358
|
-
/* @__PURE__ */ jsx2("h2", { className: "text-xl font-bold", children: "Environment Selection" })
|
|
387
|
+
/* @__PURE__ */ jsx2("div", { className: sectionIcon, children: /* @__PURE__ */ jsx2(Layers, { className: "h-5 w-5" }) }),
|
|
388
|
+
/* @__PURE__ */ jsx2("h2", { className: "text-xl font-bold text-[var(--text-primary)]", children: "Environment Selection" })
|
|
359
389
|
] }),
|
|
360
390
|
/* @__PURE__ */ jsx2("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: environments.map((env) => /* @__PURE__ */ jsxs2(
|
|
361
391
|
"button",
|
|
@@ -363,139 +393,79 @@ function ProvisioningWizard({
|
|
|
363
393
|
type: "button",
|
|
364
394
|
onClick: () => setSelectedEnv(env.id),
|
|
365
395
|
className: cn(
|
|
366
|
-
"group relative p-
|
|
367
|
-
selectedEnv === env.id ? "border
|
|
396
|
+
"group relative p-5 rounded-xl bg-[var(--depth-3)] cursor-pointer hover:bg-[var(--depth-4)] transition-all text-left border",
|
|
397
|
+
selectedEnv === env.id ? "border-[var(--border-accent)]" : "border-[var(--border-subtle)]"
|
|
368
398
|
),
|
|
369
399
|
children: [
|
|
370
400
|
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-start mb-4", children: [
|
|
371
|
-
/* @__PURE__ */ jsx2("div", { className:
|
|
372
|
-
/* @__PURE__ */ jsx2("div", { className: cn("w-5 h-5 rounded-full border-2 flex items-center justify-center", selectedEnv === env.id ? "border-
|
|
401
|
+
/* @__PURE__ */ jsx2("div", { className: "w-12 h-12 rounded-full flex items-center justify-center bg-[var(--depth-1)]", children: env.icon }),
|
|
402
|
+
/* @__PURE__ */ jsx2("div", { className: cn("w-5 h-5 rounded-full border-2 flex items-center justify-center", selectedEnv === env.id ? "border-[var(--brand-cool)]" : "border-[var(--border-default)]"), children: selectedEnv === env.id && /* @__PURE__ */ jsx2("div", { className: "w-2.5 h-2.5 bg-[var(--brand-cool)] rounded-full" }) })
|
|
373
403
|
] }),
|
|
374
|
-
/* @__PURE__ */ jsx2("h3", { className: "font-bold text-
|
|
375
|
-
/* @__PURE__ */ jsx2("p", { className: "text-xs text-
|
|
404
|
+
/* @__PURE__ */ jsx2("h3", { className: "font-bold text-base mb-1 text-[var(--text-primary)]", children: env.name }),
|
|
405
|
+
/* @__PURE__ */ jsx2("p", { className: "text-xs text-[var(--text-muted)] leading-relaxed", children: env.description })
|
|
376
406
|
]
|
|
377
407
|
},
|
|
378
408
|
env.id
|
|
379
409
|
)) })
|
|
380
410
|
] }),
|
|
381
|
-
/* @__PURE__ */ jsxs2("section", { className: "bg-
|
|
411
|
+
/* @__PURE__ */ jsxs2("section", { className: "bg-[var(--depth-2)] rounded-xl p-8 border border-[var(--border-subtle)]", children: [
|
|
382
412
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-4 mb-8", children: [
|
|
383
|
-
/* @__PURE__ */ jsx2("div", { className:
|
|
384
|
-
/* @__PURE__ */ jsx2("h2", { className: "text-xl font-bold", children: "Resource Allocation" })
|
|
413
|
+
/* @__PURE__ */ jsx2("div", { className: sectionIcon, children: /* @__PURE__ */ jsx2(Cpu, { className: "h-5 w-5" }) }),
|
|
414
|
+
/* @__PURE__ */ jsx2("h2", { className: "text-xl font-bold text-[var(--text-primary)]", children: "Resource Allocation" })
|
|
385
415
|
] }),
|
|
386
|
-
/* @__PURE__ */
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
"input",
|
|
398
|
-
{
|
|
399
|
-
type: "range",
|
|
400
|
-
min: CPU_MIN,
|
|
401
|
-
max: CPU_MAX,
|
|
402
|
-
step: 0.5,
|
|
403
|
-
value: cpuCores,
|
|
404
|
-
onChange: (e) => setCpuCores(+e.target.value),
|
|
405
|
-
className: "w-full h-2 bg-surface-container-highest rounded-full appearance-none cursor-pointer accent-violet-500"
|
|
406
|
-
}
|
|
407
|
-
),
|
|
408
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono text-surface-variant", children: [
|
|
409
|
-
/* @__PURE__ */ jsxs2("span", { children: [
|
|
410
|
-
CPU_MIN,
|
|
411
|
-
" vCPU"
|
|
412
|
-
] }),
|
|
413
|
-
/* @__PURE__ */ jsxs2("span", { children: [
|
|
414
|
-
CPU_MAX,
|
|
415
|
-
" vCPU"
|
|
416
|
-
] })
|
|
417
|
-
] })
|
|
418
|
-
] }),
|
|
419
|
-
/* @__PURE__ */ jsxs2("div", { className: "space-y-4", children: [
|
|
420
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-end", children: [
|
|
421
|
-
/* @__PURE__ */ jsx2("label", { className: "font-mono text-xs uppercase tracking-widest text-on-surface-variant", children: "Memory (RAM)" }),
|
|
422
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-2xl font-bold text-md3-primary", children: [
|
|
423
|
-
ramGB,
|
|
424
|
-
" ",
|
|
425
|
-
/* @__PURE__ */ jsx2("span", { className: "text-xs text-on-surface-variant", children: "GB" })
|
|
426
|
-
] })
|
|
427
|
-
] }),
|
|
428
|
-
/* @__PURE__ */ jsx2(
|
|
429
|
-
"input",
|
|
430
|
-
{
|
|
431
|
-
type: "range",
|
|
432
|
-
min: RAM_MIN,
|
|
433
|
-
max: RAM_MAX,
|
|
434
|
-
step: 1,
|
|
435
|
-
value: ramGB,
|
|
436
|
-
onChange: (e) => setRamGB(+e.target.value),
|
|
437
|
-
className: "w-full h-2 bg-surface-container-highest rounded-full appearance-none cursor-pointer accent-violet-500"
|
|
438
|
-
}
|
|
439
|
-
),
|
|
440
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono text-surface-variant", children: [
|
|
441
|
-
/* @__PURE__ */ jsxs2("span", { children: [
|
|
442
|
-
RAM_MIN,
|
|
443
|
-
" GB"
|
|
444
|
-
] }),
|
|
445
|
-
/* @__PURE__ */ jsxs2("span", { children: [
|
|
446
|
-
RAM_MAX,
|
|
447
|
-
" GB"
|
|
448
|
-
] })
|
|
416
|
+
/* @__PURE__ */ jsx2("div", { className: "space-y-8", children: [
|
|
417
|
+
{ label: "Compute Cores (CPU)", value: cpuCores, setter: setCpuCores, min: CPU_MIN, max: CPU_MAX, step: 0.5, unit: "vCPUs" },
|
|
418
|
+
{ label: "Memory (RAM)", value: ramGB, setter: setRamGB, min: RAM_MIN, max: RAM_MAX, step: 1, unit: "GB" },
|
|
419
|
+
{ label: "Ephemeral Storage", value: storageGB, setter: setStorageGB, min: STORAGE_MIN, max: STORAGE_MAX, step: 8, unit: "GB" }
|
|
420
|
+
].map(({ label, value, setter, min, max, step: s, unit }) => /* @__PURE__ */ jsxs2("div", { className: "space-y-3", children: [
|
|
421
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-end", children: [
|
|
422
|
+
/* @__PURE__ */ jsx2("label", { className: "font-mono text-xs uppercase tracking-widest text-[var(--text-muted)]", children: label }),
|
|
423
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-2xl font-bold text-[var(--brand-cool)]", children: [
|
|
424
|
+
value,
|
|
425
|
+
" ",
|
|
426
|
+
/* @__PURE__ */ jsx2("span", { className: "text-xs text-[var(--text-muted)]", children: unit })
|
|
449
427
|
] })
|
|
450
428
|
] }),
|
|
451
|
-
/* @__PURE__ */
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
429
|
+
/* @__PURE__ */ jsx2(
|
|
430
|
+
"input",
|
|
431
|
+
{
|
|
432
|
+
type: "range",
|
|
433
|
+
min,
|
|
434
|
+
max,
|
|
435
|
+
step: s,
|
|
436
|
+
value,
|
|
437
|
+
onChange: (e) => setter(+e.target.value),
|
|
438
|
+
className: "w-full h-2 bg-[var(--depth-1)] rounded-full appearance-none cursor-pointer accent-[var(--brand-cool)]"
|
|
439
|
+
}
|
|
440
|
+
),
|
|
441
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono text-[var(--text-muted)]", children: [
|
|
442
|
+
/* @__PURE__ */ jsxs2("span", { children: [
|
|
443
|
+
min,
|
|
444
|
+
" ",
|
|
445
|
+
unit
|
|
459
446
|
] }),
|
|
460
|
-
/* @__PURE__ */
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
min: STORAGE_MIN,
|
|
465
|
-
max: STORAGE_MAX,
|
|
466
|
-
step: 8,
|
|
467
|
-
value: storageGB,
|
|
468
|
-
onChange: (e) => setStorageGB(+e.target.value),
|
|
469
|
-
className: "w-full h-2 bg-surface-container-highest rounded-full appearance-none cursor-pointer accent-violet-500"
|
|
470
|
-
}
|
|
471
|
-
),
|
|
472
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono text-surface-variant", children: [
|
|
473
|
-
/* @__PURE__ */ jsxs2("span", { children: [
|
|
474
|
-
STORAGE_MIN,
|
|
475
|
-
" GB"
|
|
476
|
-
] }),
|
|
477
|
-
/* @__PURE__ */ jsxs2("span", { children: [
|
|
478
|
-
STORAGE_MAX,
|
|
479
|
-
" GB"
|
|
480
|
-
] })
|
|
447
|
+
/* @__PURE__ */ jsxs2("span", { children: [
|
|
448
|
+
max,
|
|
449
|
+
" ",
|
|
450
|
+
unit
|
|
481
451
|
] })
|
|
482
452
|
] })
|
|
483
|
-
] })
|
|
453
|
+
] }, label)) })
|
|
484
454
|
] }),
|
|
485
|
-
/* @__PURE__ */ jsxs2("section", { className: "bg-
|
|
455
|
+
/* @__PURE__ */ jsxs2("section", { className: "bg-[var(--depth-2)] rounded-xl p-8 border border-[var(--border-subtle)]", children: [
|
|
486
456
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-4 mb-8", children: [
|
|
487
|
-
/* @__PURE__ */ jsx2("div", { className:
|
|
488
|
-
/* @__PURE__ */ jsx2("h2", { className: "text-xl font-bold", children: "AI Agent Configuration" })
|
|
457
|
+
/* @__PURE__ */ jsx2("div", { className: sectionIcon, children: /* @__PURE__ */ jsx2(Bot, { className: "h-5 w-5" }) }),
|
|
458
|
+
/* @__PURE__ */ jsx2("h2", { className: "text-xl font-bold text-[var(--text-primary)]", children: "AI Agent Configuration" })
|
|
489
459
|
] }),
|
|
490
460
|
/* @__PURE__ */ jsxs2("div", { className: "space-y-6", children: [
|
|
491
461
|
/* @__PURE__ */ jsxs2("div", { children: [
|
|
492
|
-
/* @__PURE__ */ jsx2("label", { className: "block font-mono text-xs uppercase tracking-widest text-
|
|
462
|
+
/* @__PURE__ */ jsx2("label", { className: "block font-mono text-xs uppercase tracking-widest text-[var(--text-muted)] mb-3", children: "Model Tier" }),
|
|
493
463
|
/* @__PURE__ */ jsxs2(
|
|
494
464
|
"select",
|
|
495
465
|
{
|
|
496
466
|
value: modelTier,
|
|
497
467
|
onChange: (e) => setModelTier(e.target.value),
|
|
498
|
-
className: "w-full bg-
|
|
468
|
+
className: "w-full bg-[var(--depth-1)] border border-[var(--border-subtle)] rounded-xl h-12 px-4 font-mono text-sm focus:outline-none focus:ring-2 focus:ring-[var(--border-accent)] text-[var(--text-primary)]",
|
|
499
469
|
children: [
|
|
500
470
|
/* @__PURE__ */ jsx2("option", { value: "llama-3-8b", children: "Llama-3-8B-Instruct (Lightweight)" }),
|
|
501
471
|
/* @__PURE__ */ jsx2("option", { value: "mistral-7b", children: "Mistral-7B-v0.2 (Efficient)" }),
|
|
@@ -505,13 +475,13 @@ function ProvisioningWizard({
|
|
|
505
475
|
)
|
|
506
476
|
] }),
|
|
507
477
|
/* @__PURE__ */ jsxs2("div", { children: [
|
|
508
|
-
/* @__PURE__ */ jsx2("label", { className: "block font-mono text-xs uppercase tracking-widest text-
|
|
478
|
+
/* @__PURE__ */ jsx2("label", { className: "block font-mono text-xs uppercase tracking-widest text-[var(--text-muted)] mb-3", children: "Initial System Prompt" }),
|
|
509
479
|
/* @__PURE__ */ jsx2(
|
|
510
480
|
"textarea",
|
|
511
481
|
{
|
|
512
482
|
value: systemPrompt,
|
|
513
483
|
onChange: (e) => setSystemPrompt(e.target.value),
|
|
514
|
-
className: "w-full bg-
|
|
484
|
+
className: "w-full bg-[var(--depth-1)] border border-[var(--border-subtle)] rounded-xl p-5 font-mono text-sm focus:outline-none focus:ring-2 focus:ring-[var(--border-accent)] h-40 resize-none text-[var(--text-primary)] placeholder:text-[var(--text-muted)]",
|
|
515
485
|
placeholder: "Define the core persona of your agent..."
|
|
516
486
|
}
|
|
517
487
|
)
|
|
@@ -519,88 +489,80 @@ function ProvisioningWizard({
|
|
|
519
489
|
] })
|
|
520
490
|
] }),
|
|
521
491
|
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-center py-4", children: [
|
|
522
|
-
/* @__PURE__ */ jsxs2("button", { type: "button", onClick: handleBack, className: "px-8 py-3 rounded-xl border border-
|
|
523
|
-
/* @__PURE__ */ jsx2(
|
|
492
|
+
/* @__PURE__ */ jsxs2("button", { type: "button", onClick: handleBack, className: "px-8 py-3 rounded-xl border border-[var(--border-subtle)] hover:bg-[var(--depth-3)] transition-colors text-sm font-bold text-[var(--text-secondary)] flex items-center gap-2", children: [
|
|
493
|
+
/* @__PURE__ */ jsx2(ArrowLeft, { className: "h-4 w-4" }),
|
|
524
494
|
"Back"
|
|
525
495
|
] }),
|
|
526
|
-
/* @__PURE__ */ jsxs2("button", { type: "button", onClick: handleNext, className: "px-10 py-3 bg-
|
|
527
|
-
step < STEPS.length - 1 ? "Continue
|
|
528
|
-
/* @__PURE__ */ jsx2(
|
|
496
|
+
/* @__PURE__ */ jsxs2("button", { type: "button", onClick: handleNext, className: "px-10 py-3 bg-[var(--accent-surface-soft)] border border-[var(--border-accent)] text-[var(--accent-text)] font-bold rounded-xl hover:bg-[var(--accent-surface-strong)] active:scale-95 transition-all flex items-center gap-2 group", children: [
|
|
497
|
+
step < STEPS.length - 1 ? "Continue" : "Launch Sandbox",
|
|
498
|
+
/* @__PURE__ */ jsx2(ArrowRight, { className: "h-4 w-4 group-hover:translate-x-1 transition-transform" })
|
|
529
499
|
] })
|
|
530
500
|
] })
|
|
531
501
|
] }),
|
|
532
|
-
/* @__PURE__ */ jsxs2("div", { className: "col-span-12 xl:col-span-4 sticky top-24 space-y-
|
|
533
|
-
/* @__PURE__ */ jsxs2("div", { className: "bg-
|
|
534
|
-
/* @__PURE__ */
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
/* @__PURE__ */ jsx2("div", { className: "font-mono text-[10px] text-slate-500 uppercase tracking-tighter", children: "config_stream.sh" }),
|
|
541
|
-
/* @__PURE__ */ jsx2("div", {})
|
|
542
|
-
] }),
|
|
543
|
-
/* @__PURE__ */ jsxs2("div", { className: "p-6 font-mono text-xs space-y-3 min-h-[300px]", children: [
|
|
544
|
-
/* @__PURE__ */ jsx2("div", { className: "text-green-400", children: "$ tangle-cli provision --new" }),
|
|
545
|
-
/* @__PURE__ */ jsx2("div", { className: "text-slate-500", children: "Initializing handshake..." }),
|
|
546
|
-
/* @__PURE__ */ jsxs2("div", { className: "text-slate-300", children: [
|
|
547
|
-
/* @__PURE__ */ jsx2("span", { className: "text-violet-400", children: "\u2713" }),
|
|
502
|
+
/* @__PURE__ */ jsxs2("div", { className: "col-span-12 xl:col-span-4 sticky top-24 space-y-6", children: [
|
|
503
|
+
/* @__PURE__ */ jsxs2("div", { className: "bg-[var(--depth-2)] rounded-xl overflow-hidden border border-[var(--border-subtle)]", children: [
|
|
504
|
+
/* @__PURE__ */ jsx2("div", { className: "bg-[var(--depth-1)] border-b border-[var(--border-subtle)] px-4 py-3 flex items-center justify-between", children: /* @__PURE__ */ jsx2("div", { className: "font-mono text-[10px] text-[var(--text-muted)] uppercase tracking-tighter", children: "config_stream.sh" }) }),
|
|
505
|
+
/* @__PURE__ */ jsxs2("div", { className: "p-6 font-mono text-xs space-y-3 min-h-[280px]", children: [
|
|
506
|
+
/* @__PURE__ */ jsx2("div", { className: "text-[var(--code-success)]", children: "$ tangle-cli provision --new" }),
|
|
507
|
+
/* @__PURE__ */ jsx2("div", { className: "text-[var(--text-muted)]", children: "Initializing handshake..." }),
|
|
508
|
+
/* @__PURE__ */ jsxs2("div", { className: "text-[var(--text-secondary)]", children: [
|
|
509
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--brand-cool)]", children: "\u2713" }),
|
|
548
510
|
" Platform: ",
|
|
549
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
511
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--text-primary)]", children: environments.find((e) => e.id === selectedEnv)?.name ?? "Node.js" })
|
|
550
512
|
] }),
|
|
551
|
-
/* @__PURE__ */ jsxs2("div", { className: "text-
|
|
552
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
513
|
+
/* @__PURE__ */ jsxs2("div", { className: "text-[var(--text-secondary)]", children: [
|
|
514
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--brand-cool)]", children: "\u2713" }),
|
|
553
515
|
" Compute: ",
|
|
554
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-
|
|
516
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-[var(--text-primary)]", children: [
|
|
555
517
|
cpuCores,
|
|
556
518
|
" vCPUs"
|
|
557
519
|
] })
|
|
558
520
|
] }),
|
|
559
|
-
/* @__PURE__ */ jsxs2("div", { className: "text-
|
|
560
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
521
|
+
/* @__PURE__ */ jsxs2("div", { className: "text-[var(--text-secondary)]", children: [
|
|
522
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--brand-cool)]", children: "\u2713" }),
|
|
561
523
|
" Memory: ",
|
|
562
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-
|
|
524
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-[var(--text-primary)]", children: [
|
|
563
525
|
ramGB,
|
|
564
526
|
"GB"
|
|
565
527
|
] })
|
|
566
528
|
] }),
|
|
567
|
-
/* @__PURE__ */ jsxs2("div", { className: "text-
|
|
568
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
529
|
+
/* @__PURE__ */ jsxs2("div", { className: "text-[var(--text-secondary)]", children: [
|
|
530
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--brand-cool)]", children: "\u2713" }),
|
|
569
531
|
" Disk: ",
|
|
570
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-
|
|
532
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-[var(--text-primary)]", children: [
|
|
571
533
|
storageGB,
|
|
572
534
|
"GB NVMe"
|
|
573
535
|
] })
|
|
574
536
|
] }),
|
|
575
537
|
/* @__PURE__ */ jsxs2("div", { className: "pt-4 flex items-center gap-2", children: [
|
|
576
|
-
/* @__PURE__ */ jsx2("div", { className: "w-2 h-4 bg-
|
|
577
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
538
|
+
/* @__PURE__ */ jsx2("div", { className: "w-2 h-4 bg-[var(--brand-cool)] animate-pulse" }),
|
|
539
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--text-muted)]", children: "Ready for review..." })
|
|
578
540
|
] })
|
|
579
541
|
] })
|
|
580
542
|
] }),
|
|
581
|
-
/* @__PURE__ */ jsxs2("div", { className: "p-6 rounded-xl bg-
|
|
543
|
+
/* @__PURE__ */ jsxs2("div", { className: "p-6 rounded-xl bg-[var(--depth-3)] border border-[var(--border-accent)]", children: [
|
|
582
544
|
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-center mb-4", children: [
|
|
583
|
-
/* @__PURE__ */ jsx2("span", { className: "text-sm font-bold text-
|
|
584
|
-
/* @__PURE__ */ jsx2(
|
|
545
|
+
/* @__PURE__ */ jsx2("span", { className: "text-sm font-bold text-[var(--text-secondary)]", children: "Estimated Run Cost" }),
|
|
546
|
+
/* @__PURE__ */ jsx2(Info, { className: "h-4 w-4 text-[var(--brand-cool)]" })
|
|
585
547
|
] }),
|
|
586
548
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-baseline gap-2 mb-6", children: [
|
|
587
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-4xl font-extrabold text-
|
|
549
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-4xl font-extrabold text-[var(--text-primary)]", children: [
|
|
588
550
|
"$",
|
|
589
551
|
hourCost
|
|
590
552
|
] }),
|
|
591
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
553
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[var(--text-muted)] text-sm", children: "/ hour" })
|
|
592
554
|
] }),
|
|
593
555
|
/* @__PURE__ */ jsxs2("div", { className: "space-y-2", children: [
|
|
594
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono uppercase tracking-widest text-
|
|
556
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono uppercase tracking-widest text-[var(--text-muted)]", children: [
|
|
595
557
|
/* @__PURE__ */ jsx2("span", { children: "Compute" }),
|
|
596
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-
|
|
558
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-[var(--text-secondary)]", children: [
|
|
597
559
|
"$",
|
|
598
560
|
(cpuCores * 0.045).toFixed(2)
|
|
599
561
|
] })
|
|
600
562
|
] }),
|
|
601
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono uppercase tracking-widest text-
|
|
563
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono uppercase tracking-widest text-[var(--text-muted)]", children: [
|
|
602
564
|
/* @__PURE__ */ jsx2("span", { children: "Memory" }),
|
|
603
|
-
/* @__PURE__ */ jsxs2("span", { className: "text-
|
|
565
|
+
/* @__PURE__ */ jsxs2("span", { className: "text-[var(--text-secondary)]", children: [
|
|
604
566
|
"$",
|
|
605
567
|
(ramGB * 5e-3).toFixed(2)
|
|
606
568
|
] })
|
|
@@ -955,7 +917,7 @@ function ProfilesPage({
|
|
|
955
917
|
)
|
|
956
918
|
] })
|
|
957
919
|
] }),
|
|
958
|
-
!canCreateMore && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-
|
|
920
|
+
!canCreateMore && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-[var(--surface-warning-border)] bg-[var(--surface-warning-bg)] p-3 text-sm text-[var(--surface-warning-text)]", children: [
|
|
959
921
|
/* @__PURE__ */ jsx4(AlertCircle, { className: "h-4 w-4" }),
|
|
960
922
|
/* @__PURE__ */ jsxs4("span", { children: [
|
|
961
923
|
"You've reached your profile limit (",
|
|
@@ -975,7 +937,7 @@ function ProfilesPage({
|
|
|
975
937
|
}
|
|
976
938
|
)
|
|
977
939
|
] }),
|
|
978
|
-
error && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-
|
|
940
|
+
error && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)] p-3 text-[var(--surface-danger-text)] text-sm", children: [
|
|
979
941
|
/* @__PURE__ */ jsx4(AlertCircle, { className: "h-4 w-4" }),
|
|
980
942
|
/* @__PURE__ */ jsx4("span", { children: error }),
|
|
981
943
|
/* @__PURE__ */ jsx4(Button, { variant: "ghost", size: "sm", onClick: loadProfiles, children: "Retry" })
|
|
@@ -1099,7 +1061,7 @@ function ProfileCard({
|
|
|
1099
1061
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1100
1062
|
/* @__PURE__ */ jsx4("h3", { className: "font-medium", children: profile.name }),
|
|
1101
1063
|
isBuiltin && /* @__PURE__ */ jsx4(Badge, { variant: "secondary", className: "border-0 text-xs", children: "Built-in" }),
|
|
1102
|
-
profile.is_public && !isBuiltin && /* @__PURE__ */ jsx4(Badge, { className: "border-
|
|
1064
|
+
profile.is_public && !isBuiltin && /* @__PURE__ */ jsx4(Badge, { className: "border border-[var(--surface-info-border)] bg-[var(--surface-info-bg)] text-[var(--surface-info-text)] text-xs", children: "Public" })
|
|
1103
1065
|
] }),
|
|
1104
1066
|
profile.description && /* @__PURE__ */ jsx4("p", { className: "mt-1 line-clamp-2 text-muted-foreground text-sm", children: profile.description })
|
|
1105
1067
|
] }),
|
|
@@ -1121,7 +1083,7 @@ function ProfileCard({
|
|
|
1121
1083
|
size: "icon",
|
|
1122
1084
|
onClick: onDelete,
|
|
1123
1085
|
"aria-label": "Delete profile",
|
|
1124
|
-
children: /* @__PURE__ */ jsx4(Trash2, { className: "h-4 w-4 text-
|
|
1086
|
+
children: /* @__PURE__ */ jsx4(Trash2, { className: "h-4 w-4 text-[var(--surface-danger-text)]" })
|
|
1125
1087
|
}
|
|
1126
1088
|
)
|
|
1127
1089
|
] })
|
|
@@ -1235,7 +1197,7 @@ function ProfileFormDialog({
|
|
|
1235
1197
|
/* @__PURE__ */ jsx4(DialogDescription, { children: isEditing ? "Update your custom profile configuration" : "Create a new profile to customize agent behavior" })
|
|
1236
1198
|
] }),
|
|
1237
1199
|
/* @__PURE__ */ jsxs4("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
|
|
1238
|
-
error && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-
|
|
1200
|
+
error && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)] p-3 text-[var(--surface-danger-text)] text-sm", children: [
|
|
1239
1201
|
/* @__PURE__ */ jsx4(AlertCircle, { className: "h-4 w-4" }),
|
|
1240
1202
|
/* @__PURE__ */ jsx4("span", { children: error })
|
|
1241
1203
|
] }),
|
|
@@ -1376,11 +1338,11 @@ function DeleteProfileDialog({
|
|
|
1376
1338
|
'"? This action cannot be undone.'
|
|
1377
1339
|
] })
|
|
1378
1340
|
] }),
|
|
1379
|
-
error && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-
|
|
1341
|
+
error && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded-lg border border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)] p-3 text-[var(--surface-danger-text)] text-sm", children: [
|
|
1380
1342
|
/* @__PURE__ */ jsx4(AlertCircle, { className: "h-4 w-4" }),
|
|
1381
1343
|
/* @__PURE__ */ jsx4("span", { children: error })
|
|
1382
1344
|
] }),
|
|
1383
|
-
profile?.metrics && profile.metrics.total_runs > 0 && /* @__PURE__ */ jsxs4("div", { className: "rounded-lg border border-
|
|
1345
|
+
profile?.metrics && profile.metrics.total_runs > 0 && /* @__PURE__ */ jsxs4("div", { className: "rounded-lg border border-[var(--surface-warning-border)] bg-[var(--surface-warning-bg)] p-3 text-sm text-[var(--surface-warning-text)]", children: [
|
|
1384
1346
|
"This profile has ",
|
|
1385
1347
|
profile.metrics.total_runs,
|
|
1386
1348
|
" recorded runs. Deleting it will lose all performance metrics."
|
|
@@ -1414,7 +1376,7 @@ function ProfileDetailDialog({
|
|
|
1414
1376
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1415
1377
|
/* @__PURE__ */ jsx4(DialogTitle, { children: profile.name }),
|
|
1416
1378
|
profile.is_builtin && /* @__PURE__ */ jsx4(Badge, { variant: "secondary", className: "border-0", children: "Built-in" }),
|
|
1417
|
-
profile.is_public && !profile.is_builtin && /* @__PURE__ */ jsx4(Badge, { className: "border-
|
|
1379
|
+
profile.is_public && !profile.is_builtin && /* @__PURE__ */ jsx4(Badge, { className: "border border-[var(--surface-info-border)] bg-[var(--surface-info-bg)] text-[var(--surface-info-text)]", children: "Public" })
|
|
1418
1380
|
] }),
|
|
1419
1381
|
profile.description && /* @__PURE__ */ jsx4(DialogDescription, { children: profile.description })
|
|
1420
1382
|
] }),
|
|
@@ -1502,5 +1464,6 @@ export {
|
|
|
1502
1464
|
BillingPage,
|
|
1503
1465
|
ProfilesPage,
|
|
1504
1466
|
ProvisioningWizard,
|
|
1505
|
-
StandalonePricingPage
|
|
1467
|
+
StandalonePricingPage,
|
|
1468
|
+
resolveEnvironment
|
|
1506
1469
|
};
|
package/dist/primitives.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { ReactNode } from 'react';
|
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
6
6
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
7
|
+
import { VariantProps } from 'class-variance-authority';
|
|
7
8
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
8
9
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
9
10
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
@@ -13,7 +14,7 @@ import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
|
13
14
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
14
15
|
|
|
15
16
|
declare const Card: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
|
|
16
|
-
variant?: "default" | "glass" | "sandbox";
|
|
17
|
+
variant?: "default" | "glass" | "sandbox" | "elevated";
|
|
17
18
|
hover?: boolean;
|
|
18
19
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
19
20
|
declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -57,12 +58,14 @@ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaEleme
|
|
|
57
58
|
declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
|
|
58
59
|
|
|
59
60
|
declare const badgeVariants: (props?: ({
|
|
60
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | "sandbox" | "error" | "success" | "warning" | "info" | null | undefined;
|
|
61
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "sandbox" | "error" | "success" | "warning" | "info" | "running" | "creating" | "stopped" | "warm" | "cold" | "deleted" | null | undefined;
|
|
61
62
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
type BadgeVariant = "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "sandbox" | "running" | "creating" | "stopped" | "warm" | "cold" | "deleted" | null;
|
|
64
|
+
interface BadgeProps extends VariantProps<typeof badgeVariants> {
|
|
65
|
+
variant?: BadgeVariant;
|
|
64
66
|
className?: string;
|
|
65
67
|
children?: React$1.ReactNode;
|
|
68
|
+
dot?: boolean;
|
|
66
69
|
onClick?: React$1.MouseEventHandler<HTMLDivElement>;
|
|
67
70
|
style?: React$1.CSSProperties;
|
|
68
71
|
id?: string;
|
|
@@ -70,7 +73,7 @@ interface BadgeProps {
|
|
|
70
73
|
title?: string;
|
|
71
74
|
[key: string]: unknown;
|
|
72
75
|
}
|
|
73
|
-
declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
76
|
+
declare function Badge({ className, variant, dot, children, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
74
77
|
|
|
75
78
|
declare const Avatar: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
76
79
|
declare const AvatarImage: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React$1.RefAttributes<HTMLImageElement>, "ref"> & React$1.RefAttributes<HTMLImageElement>>;
|