@tangle-network/sandbox-ui 0.4.0 → 0.5.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.
Files changed (61) hide show
  1. package/dist/auth.js +3 -3
  2. package/dist/chat.d.ts +1 -1
  3. package/dist/chat.js +11 -9
  4. package/dist/{chunk-ZP6GSX4D.js → chunk-565V6JTN.js} +26 -50
  5. package/dist/chunk-5CEMHKBP.js +72 -0
  6. package/dist/{chunk-FOQTE67I.js → chunk-5F4NX5R2.js} +10 -5
  7. package/dist/{chunk-MUOL44AE.js → chunk-BRBTD7RH.js} +6 -6
  8. package/dist/{chunk-SSKVYXCR.js → chunk-DCPYTL4W.js} +62 -79
  9. package/dist/chunk-DLCFZDGX.js +182 -0
  10. package/dist/{chunk-HXEA7L2T.js → chunk-FFOXUHOF.js} +10 -10
  11. package/dist/chunk-H5XYSFYE.js +228 -0
  12. package/dist/{chunk-TQN3VR4F.js → chunk-JP725R4W.js} +2 -2
  13. package/dist/{chunk-CJ2RYVZH.js → chunk-NTSRY4GW.js} +68 -10
  14. package/dist/{chunk-DQYODCBN.js → chunk-P24K22CV.js} +57 -66
  15. package/dist/{chunk-GVUW4VDD.js → chunk-R3IU37AW.js} +161 -229
  16. package/dist/chunk-TDYQBLL5.js +127 -0
  17. package/dist/{chunk-HWLX5NME.js → chunk-TSE423UF.js} +12 -12
  18. package/dist/{chunk-YDBXQQLC.js → chunk-VBWY44UU.js} +30 -76
  19. package/dist/{chunk-IW2JZCOC.js → chunk-WBQ7VULC.js} +7 -7
  20. package/dist/{chunk-72UEKFZ2.js → chunk-WC7QTWPN.js} +65 -42
  21. package/dist/{chunk-HYLTXGOI.js → chunk-WQH233GF.js} +5 -5
  22. package/dist/{chunk-CCKNIAS7.js → chunk-XBR3IP7B.js} +2 -2
  23. package/dist/{chunk-OHMO7NUX.js → chunk-XTPAWK7L.js} +20 -31
  24. package/dist/{chunk-SULQQJPB.js → chunk-YS66Q3RC.js} +1 -1
  25. package/dist/{chunk-FRGMMANX.js → chunk-YYGECNZZ.js} +3 -3
  26. package/dist/{chunk-MVYFNPAH.js → chunk-ZOZX2U6I.js} +285 -271
  27. package/dist/dashboard.d.ts +2 -2
  28. package/dist/dashboard.js +6 -6
  29. package/dist/{document-editor-pane-5TN2VWGZ.js → document-editor-pane-JNXPANWM.js} +2 -2
  30. package/dist/editor.js +2 -2
  31. package/dist/files.js +2 -2
  32. package/dist/globals.css +129 -95
  33. package/dist/hooks.d.ts +2 -2
  34. package/dist/hooks.js +5 -5
  35. package/dist/{index-tTfThG0n.d.ts → index-CDt0GE4A.d.ts} +7 -8
  36. package/dist/index.d.ts +16 -23
  37. package/dist/index.js +27 -26
  38. package/dist/markdown.d.ts +14 -17
  39. package/dist/markdown.js +1 -1
  40. package/dist/openui.js +5 -5
  41. package/dist/pages.d.ts +10 -3
  42. package/dist/pages.js +147 -184
  43. package/dist/primitives.d.ts +8 -5
  44. package/dist/primitives.js +8 -8
  45. package/dist/run.d.ts +1 -1
  46. package/dist/run.js +4 -4
  47. package/dist/sdk-hooks.d.ts +1 -1
  48. package/dist/sdk-hooks.js +4 -4
  49. package/dist/styles.css +129 -95
  50. package/dist/terminal.d.ts +2 -2
  51. package/dist/terminal.js +13 -43
  52. package/dist/tokens.css +299 -179
  53. package/dist/{tool-call-feed-D5Ume-Pt.d.ts → tool-call-feed-Bs3MyQMT.d.ts} +3 -1
  54. package/dist/{usage-chart-CY9xo3KX.d.ts → usage-chart-XCoB_7Xu.d.ts} +1 -2
  55. package/dist/{use-pty-session-DeZSxOCN.d.ts → use-pty-session-COzVkhtc.d.ts} +1 -1
  56. package/dist/workspace.d.ts +3 -1
  57. package/dist/workspace.js +11 -11
  58. package/package.json +14 -2
  59. package/dist/chunk-GRYHFH5O.js +0 -110
  60. package/dist/chunk-LTFK464G.js +0 -103
  61. 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-SULQQJPB.js";
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-MUOL44AE.js";
18
+ } from "./chunk-BRBTD7RH.js";
19
19
  import {
20
20
  BillingDashboard,
21
21
  PricingPage,
22
22
  UsageChart
23
- } from "./chunk-ZP6GSX4D.js";
23
+ } from "./chunk-565V6JTN.js";
24
24
  import {
25
25
  Skeleton,
26
26
  SkeletonCard
27
- } from "./chunk-FRGMMANX.js";
27
+ } from "./chunk-YYGECNZZ.js";
28
28
  import {
29
29
  Badge,
30
30
  Card
31
- } from "./chunk-MXCSSOGH.js";
31
+ } from "./chunk-TDYQBLL5.js";
32
32
  import {
33
33
  Button
34
- } from "./chunk-HWLX5NME.js";
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
- function MaterialIcon({ name, className }) {
300
- return /* @__PURE__ */ jsx2("span", { className: cn("material-symbols-outlined", className), style: { fontVariationSettings: "'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24" }, children: name });
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-green-400 text-2xl font-bold", children: "N" }), color: "green" },
304
- { id: "python", name: "Python", description: "v3.11 pre-installed with PyTorch and common data science libraries.", icon: /* @__PURE__ */ jsx2("span", { className: "text-blue-400 text-2xl font-bold", children: "Py" }), color: "blue" },
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 = defaultEnvironments,
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("llama-3-8b");
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-12", children: [
342
- /* @__PURE__ */ jsx2("h1", { className: "text-4xl font-extrabold tracking-tight text-white mb-2", children: "Sandbox Provisioning" }),
343
- /* @__PURE__ */ jsx2("p", { className: "text-on-surface-variant max-w-2xl", children: "Configure your high-performance orchestration environment. Select your stack, allocate resources, and prime your agent for deployment." })
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-12", children: STEPS.map((label, i) => /* @__PURE__ */ jsxs2("div", { className: "relative pt-4", children: [
346
- /* @__PURE__ */ jsx2("div", { className: cn("h-1 w-full rounded-full", i <= step ? "bg-md3-primary" : i === step + 1 ? "bg-md3-primary/40" : "bg-surface-container-highest") }),
347
- /* @__PURE__ */ jsxs2("span", { className: cn("absolute top-0 left-0 font-mono text-[10px] uppercase tracking-widest font-bold", i <= step ? "text-md3-primary" : "text-surface-variant"), children: [
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-8", children: [
355
- /* @__PURE__ */ jsxs2("section", { className: "bg-surface-container-low rounded-xl p-8 shadow-sm", children: [
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: "w-10 h-10 rounded-lg bg-md3-primary/10 flex items-center justify-center text-md3-primary", children: /* @__PURE__ */ jsx2(MaterialIcon, { name: "layers" }) }),
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-6 rounded-xl bg-surface-container cursor-pointer hover:bg-surface-container-high transition-all text-left",
367
- selectedEnv === env.id ? "border border-md3-primary/20" : "border border-outline-variant/10"
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: cn("w-12 h-12 rounded-full flex items-center justify-center", `bg-${env.color}-500/10`), children: env.icon }),
372
- /* @__PURE__ */ jsx2("div", { className: cn("w-5 h-5 rounded-full border-2 flex items-center justify-center", selectedEnv === env.id ? "border-md3-primary" : "border-outline-variant/30"), children: selectedEnv === env.id && /* @__PURE__ */ jsx2("div", { className: "w-2.5 h-2.5 bg-md3-primary rounded-full" }) })
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-lg mb-1", children: env.name }),
375
- /* @__PURE__ */ jsx2("p", { className: "text-xs text-on-surface-variant leading-relaxed", children: env.description })
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-surface-container-low rounded-xl p-8 shadow-sm", children: [
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: "w-10 h-10 rounded-lg bg-md3-primary/10 flex items-center justify-center text-md3-primary", children: /* @__PURE__ */ jsx2(MaterialIcon, { name: "memory" }) }),
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__ */ jsxs2("div", { className: "space-y-10", children: [
387
- /* @__PURE__ */ jsxs2("div", { className: "space-y-4", children: [
388
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-end", children: [
389
- /* @__PURE__ */ jsx2("label", { className: "font-mono text-xs uppercase tracking-widest text-on-surface-variant", children: "Compute Cores (CPU)" }),
390
- /* @__PURE__ */ jsxs2("span", { className: "text-2xl font-bold text-md3-primary", children: [
391
- cpuCores,
392
- " ",
393
- /* @__PURE__ */ jsx2("span", { className: "text-xs text-on-surface-variant", children: "vCPUs" })
394
- ] })
395
- ] }),
396
- /* @__PURE__ */ jsx2(
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__ */ jsxs2("div", { className: "space-y-4", children: [
452
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-end", children: [
453
- /* @__PURE__ */ jsx2("label", { className: "font-mono text-xs uppercase tracking-widest text-on-surface-variant", children: "Ephemeral Storage" }),
454
- /* @__PURE__ */ jsxs2("span", { className: "text-2xl font-bold text-md3-primary", children: [
455
- storageGB,
456
- " ",
457
- /* @__PURE__ */ jsx2("span", { className: "text-xs text-on-surface-variant", children: "GB" })
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__ */ jsx2(
461
- "input",
462
- {
463
- type: "range",
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-surface-container-low rounded-xl p-8 shadow-sm", children: [
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: "w-10 h-10 rounded-lg bg-md3-primary/10 flex items-center justify-center text-md3-primary", children: /* @__PURE__ */ jsx2(MaterialIcon, { name: "smart_toy" }) }),
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-on-surface-variant mb-3", children: "Model Tier" }),
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-surface-container-highest border-none rounded-xl h-12 px-4 font-mono text-sm focus:ring-2 focus:ring-md3-primary/40 text-on-surface",
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-on-surface-variant mb-3", children: "Initial System Prompt" }),
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-surface-container-lowest border-none rounded-xl p-6 font-mono text-sm focus:ring-2 focus:ring-md3-primary/40 h-40 resize-none text-primary-fixed-dim",
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-outline-variant/20 hover:bg-surface-container-high transition-colors text-sm font-bold flex items-center gap-2", children: [
523
- /* @__PURE__ */ jsx2(MaterialIcon, { name: "arrow_back", className: "text-lg" }),
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-gradient-to-br from-md3-primary to-primary-container text-on-primary font-bold rounded-xl shadow-lg shadow-md3-primary/20 flex items-center gap-2 group", children: [
527
- step < STEPS.length - 1 ? "Continue to Review" : "Launch Sandbox",
528
- /* @__PURE__ */ jsx2(MaterialIcon, { name: "arrow_forward", className: "group-hover:translate-x-1 transition-transform" })
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-8", children: [
533
- /* @__PURE__ */ jsxs2("div", { className: "bg-surface-container-lowest rounded-xl overflow-hidden shadow-2xl", children: [
534
- /* @__PURE__ */ jsxs2("div", { className: "bg-surface-container-high px-4 py-3 flex items-center justify-between", children: [
535
- /* @__PURE__ */ jsxs2("div", { className: "flex gap-2", children: [
536
- /* @__PURE__ */ jsx2("div", { className: "w-3 h-3 rounded-full bg-red-500/50" }),
537
- /* @__PURE__ */ jsx2("div", { className: "w-3 h-3 rounded-full bg-yellow-500/50" }),
538
- /* @__PURE__ */ jsx2("div", { className: "w-3 h-3 rounded-full bg-green-500/50" })
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-white", children: environments.find((e) => e.id === selectedEnv)?.name ?? "Node.js" })
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-slate-300", children: [
552
- /* @__PURE__ */ jsx2("span", { className: "text-violet-400", children: "\u2713" }),
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-white", children: [
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-slate-300", children: [
560
- /* @__PURE__ */ jsx2("span", { className: "text-violet-400", children: "\u2713" }),
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-white", children: [
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-slate-300", children: [
568
- /* @__PURE__ */ jsx2("span", { className: "text-violet-400", children: "\u2713" }),
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-white", children: [
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-md3-primary animate-pulse" }),
577
- /* @__PURE__ */ jsx2("span", { className: "text-slate-500", children: "Ready for review..." })
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-gradient-to-br from-violet-500/10 to-transparent border border-violet-500/20 backdrop-blur-[20px]", children: [
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-on-surface-variant", children: "Estimated Run Cost" }),
584
- /* @__PURE__ */ jsx2(MaterialIcon, { name: "info", className: "text-violet-400" })
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-white", children: [
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-on-surface-variant text-sm", children: "/ hour" })
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-slate-500", children: [
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-slate-300", children: [
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-slate-500", children: [
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-slate-300", children: [
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-yellow-500/30 bg-yellow-500/10 p-3 text-sm text-yellow-400", children: [
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-red-500/30 bg-red-500/10 p-3 text-red-400 text-sm", children: [
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-0 bg-blue-500/10 text-blue-400 text-xs", children: "Public" })
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-red-400" })
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-red-500/30 bg-red-500/10 p-3 text-red-400 text-sm", children: [
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-red-500/30 bg-red-500/10 p-3 text-red-400 text-sm", children: [
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-yellow-500/30 bg-yellow-500/10 p-3 text-sm text-yellow-400", children: [
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-0 bg-blue-500/10 text-blue-400", children: "Public" })
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
  };
@@ -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
- interface BadgeProps {
63
- variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "sandbox" | null;
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>>;