pxengine 0.1.34 → 0.1.36

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/index.cjs CHANGED
@@ -200,6 +200,9 @@ __export(index_exports, {
200
200
  MenubarSeparator: () => MenubarSeparator,
201
201
  MenubarShortcut: () => MenubarShortcut,
202
202
  MenubarTrigger: () => MenubarTrigger,
203
+ MultiAgentCard: () => MultiAgentCard,
204
+ MultiAgentPlan: () => MultiAgentPlan,
205
+ MultiAgentUISelector: () => MultiAgentUISelector,
203
206
  NavigationMenu: () => NavigationMenu,
204
207
  NavigationMenuContent: () => NavigationMenuContent,
205
208
  NavigationMenuItem: () => NavigationMenuItem,
@@ -264,6 +267,7 @@ __export(index_exports, {
264
267
  SliderAtom: () => SliderAtom,
265
268
  Spinner: () => Spinner,
266
269
  SpinnerAtom: () => SpinnerAtom,
270
+ StageIndicator: () => StageIndicator,
267
271
  StatsGrid: () => StatsGrid,
268
272
  StepWizard: () => StepWizard,
269
273
  Switch: () => Switch,
@@ -294,6 +298,7 @@ __export(index_exports, {
294
298
  TooltipProvider: () => TooltipProvider,
295
299
  TooltipTrigger: () => TooltipTrigger,
296
300
  TopPostsGrid: () => TopPostsGrid,
301
+ UIComponentSelector: () => UIComponentSelector,
297
302
  VideoAtom: () => VideoAtom,
298
303
  WorkflowVisualizer: () => WorkflowVisualizer,
299
304
  cn: () => cn
@@ -301,7 +306,7 @@ __export(index_exports, {
301
306
  module.exports = __toCommonJS(index_exports);
302
307
 
303
308
  // src/render/PXEngineRenderer.tsx
304
- var import_react69 = __toESM(require("react"), 1);
309
+ var import_react71 = __toESM(require("react"), 1);
305
310
 
306
311
  // src/atoms/index.ts
307
312
  var atoms_exports = {};
@@ -33599,16 +33604,21 @@ __export(molecules_exports, {
33599
33604
  KeywordBundlesEdit: () => KeywordBundlesEdit,
33600
33605
  LoadingOverlay: () => LoadingOverlay,
33601
33606
  MCQCard: () => MCQCard,
33607
+ MultiAgentCard: () => MultiAgentCard,
33608
+ MultiAgentPlan: () => MultiAgentPlan,
33609
+ MultiAgentUISelector: () => MultiAgentUISelector,
33602
33610
  NotificationList: () => NotificationList,
33603
33611
  PlatformIconGroup: () => PlatformIconGroup,
33604
33612
  PlatformSelectDisplay: () => PlatformSelectDisplay,
33605
33613
  PlatformSelectEdit: () => PlatformSelectEdit,
33606
33614
  SearchSpecCard: () => SearchSpecCard,
33615
+ StageIndicator: () => StageIndicator,
33607
33616
  StatsGrid: () => StatsGrid,
33608
33617
  StepWizard: () => StepWizard,
33609
33618
  TagCloud: () => TagCloud,
33610
33619
  ToolListCard: () => ToolListCard,
33611
33620
  TopPostsGrid: () => TopPostsGrid,
33621
+ UIComponentSelector: () => UIComponentSelector,
33612
33622
  WorkflowVisualizer: () => WorkflowVisualizer
33613
33623
  });
33614
33624
 
@@ -36950,7 +36960,7 @@ var ToolListCard = ({
36950
36960
  "div",
36951
36961
  {
36952
36962
  className: cn(
36953
- "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
36963
+ "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
36954
36964
  className
36955
36965
  ),
36956
36966
  children: [
@@ -36977,10 +36987,10 @@ var ToolListCard = ({
36977
36987
  /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-[var(--primary-color)]/[0.08]", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(ToolIcon, { className: "w-3 h-3 text-[var(--primary-color)]/60" }) }),
36978
36988
  /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex-1 min-w-0", children: [
36979
36989
  /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex items-center gap-2 flex-wrap", children: [
36980
- tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: tool.display_name }),
36981
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[11px] font-mono px-1.5 py-0.5 rounded bg-[var(--foreground)]/[0.06] text-[var(--foreground)]/50 border border-[var(--foreground)]/[0.06]", children: tool.name })
36990
+ tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
36991
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[11px] font-mono px-1.5 py-0.5 rounded bg-[var(--foreground)]/[0.06] text-[var(--foreground)]/50 border border-[var(--foreground)]/[0.06] truncate", children: tool.name })
36982
36992
  ] }),
36983
- tool.description && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5", children: tool.description })
36993
+ tool.description && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
36984
36994
  ] })
36985
36995
  ]
36986
36996
  },
@@ -37083,7 +37093,7 @@ var AgentCard = ({
37083
37093
  "div",
37084
37094
  {
37085
37095
  className: cn(
37086
- "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37096
+ "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37087
37097
  className
37088
37098
  ),
37089
37099
  children: [
@@ -37092,40 +37102,19 @@ var AgentCard = ({
37092
37102
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
37093
37103
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarFallback, { className: "bg-[var(--primary-color)]/10 text-[var(--primary-color)] text-lg font-bold", children: agent.display_name.charAt(0) })
37094
37104
  ] }),
37095
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex-1 min-w-0", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "space-y-2", children: [
37096
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37097
- "input",
37098
- {
37099
- type: "text",
37100
- value: editState.display_name,
37101
- onChange: (e) => setEditState((s) => ({ ...s, display_name: e.target.value })),
37102
- className: "w-full bg-[var(--card-background)] border border-[var(--border-color)] rounded-lg px-3 py-1.5 text-sm text-[var(--foreground)] font-semibold outline-none focus:border-[var(--primary-color)] transition-colors",
37103
- placeholder: "Display name"
37104
- }
37105
- ),
37106
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37107
- "textarea",
37108
- {
37109
- value: editState.description,
37110
- onChange: (e) => setEditState((s) => ({ ...s, description: e.target.value })),
37111
- className: "w-full bg-[var(--card-background)] border border-[var(--border-color)] rounded-lg px-3 py-1.5 text-xs text-[var(--foreground)]/70 outline-none focus:border-[var(--primary-color)] transition-colors resize-none",
37112
- rows: 2,
37113
- placeholder: "Description"
37114
- }
37115
- ),
37116
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37117
- "input",
37118
- {
37119
- type: "text",
37120
- value: editState.image,
37121
- onChange: (e) => setEditState((s) => ({ ...s, image: e.target.value })),
37122
- className: "w-full bg-[var(--card-background)] border border-[var(--border-color)] rounded-lg px-3 py-1.5 text-xs text-[var(--foreground)]/70 font-mono outline-none focus:border-[var(--primary-color)] transition-colors",
37123
- placeholder: "Avatar image URL"
37124
- }
37125
- )
37126
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
37105
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex-1 min-w-0", children: [
37127
37106
  /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-center gap-2", children: [
37128
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
37107
+ isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37108
+ "input",
37109
+ {
37110
+ type: "text",
37111
+ value: editState.display_name,
37112
+ onChange: (e) => setEditState((s) => ({ ...s, display_name: e.target.value })),
37113
+ disabled: isSaving,
37114
+ className: "flex-1 bg-transparent border-b border-[var(--primary-color)]/30 text-sm font-semibold text-[var(--foreground)] outline-none focus:border-[var(--primary-color)] transition-all",
37115
+ placeholder: "Agent name"
37116
+ }
37117
+ ) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
37129
37118
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: agent.name }),
37130
37119
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37131
37120
  "span",
@@ -37138,8 +37127,32 @@ var AgentCard = ({
37138
37127
  }
37139
37128
  )
37140
37129
  ] }),
37141
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 mt-1 leading-relaxed", children: agent.description })
37142
- ] }) }),
37130
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37131
+ "textarea",
37132
+ {
37133
+ value: editState.description,
37134
+ onChange: (e) => setEditState((s) => ({ ...s, description: e.target.value })),
37135
+ disabled: isSaving,
37136
+ className: "w-full bg-transparent border-b border-[var(--primary-color)]/30 text-xs text-[var(--foreground)]/70 outline-none focus:border-[var(--primary-color)] transition-all resize-none leading-relaxed min-h-[40px]",
37137
+ rows: 2,
37138
+ placeholder: "Describe this agent..."
37139
+ }
37140
+ ) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
37141
+ isEditing && /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "mt-2 flex items-center gap-2", children: [
37142
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
37143
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37144
+ "input",
37145
+ {
37146
+ type: "text",
37147
+ value: editState.image,
37148
+ onChange: (e) => setEditState((s) => ({ ...s, image: e.target.value })),
37149
+ disabled: isSaving,
37150
+ className: "flex-1 bg-[var(--foreground)]/[0.03] border border-[var(--border-color)] rounded px-2 py-0.5 text-[10px] text-[var(--foreground)]/50 font-mono outline-none focus:border-[var(--primary-color)]/50 transition-colors",
37151
+ placeholder: "URL"
37152
+ }
37153
+ )
37154
+ ] })
37155
+ ] }),
37143
37156
  editable && onSave && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
37144
37157
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37145
37158
  "button",
@@ -37155,7 +37168,7 @@ var AgentCard = ({
37155
37168
  {
37156
37169
  onClick: handleSave,
37157
37170
  disabled: isSaving,
37158
- className: "text-[11px] px-2.5 py-1 rounded-md bg-[var(--primary-color)] text-white hover:opacity-90 transition-opacity disabled:opacity-50",
37171
+ className: "text-[11px] px-2.5 py-1 rounded-md bg-[var(--border-color)] text-foreground border border-[var(--border-color)] hover:opacity-90 transition-opacity disabled:opacity-50",
37159
37172
  children: isSaving ? "Saving..." : "Save"
37160
37173
  }
37161
37174
  )
@@ -37230,7 +37243,7 @@ var AgentDataTable = ({
37230
37243
  "div",
37231
37244
  {
37232
37245
  className: cn(
37233
- "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37246
+ "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37234
37247
  className
37235
37248
  ),
37236
37249
  children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("table", { className: "w-full text-xs", children: [
@@ -37274,7 +37287,7 @@ var WorkflowVisualizer = ({
37274
37287
  "div",
37275
37288
  {
37276
37289
  className: cn(
37277
- "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
37290
+ "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
37278
37291
  className
37279
37292
  ),
37280
37293
  children: [
@@ -37405,7 +37418,7 @@ var InstructionPreview = ({
37405
37418
  "div",
37406
37419
  {
37407
37420
  className: cn(
37408
- "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
37421
+ "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
37409
37422
  className
37410
37423
  ),
37411
37424
  children: [
@@ -37472,6 +37485,432 @@ var InstructionPreview = ({
37472
37485
  );
37473
37486
  };
37474
37487
 
37488
+ // src/molecules/agent-builder/UIComponentSelector/UIComponentSelector.tsx
37489
+ var import_react68 = require("react");
37490
+ var import_jsx_runtime127 = require("react/jsx-runtime");
37491
+ function UIComponentSelector({
37492
+ components,
37493
+ onSelect,
37494
+ className
37495
+ }) {
37496
+ const [selected, setSelected] = (0, import_react68.useState)(/* @__PURE__ */ new Set());
37497
+ const [submitted, setSubmitted] = (0, import_react68.useState)(false);
37498
+ const grouped = components.reduce(
37499
+ (acc, comp) => {
37500
+ const cat = comp.category || "Other";
37501
+ if (!acc[cat]) acc[cat] = [];
37502
+ acc[cat].push(comp);
37503
+ return acc;
37504
+ },
37505
+ {}
37506
+ );
37507
+ const toggle = (name) => {
37508
+ if (submitted) return;
37509
+ setSelected((prev) => {
37510
+ const next = new Set(prev);
37511
+ if (next.has(name)) next.delete(name);
37512
+ else next.add(name);
37513
+ return next;
37514
+ });
37515
+ };
37516
+ const handleContinue = () => {
37517
+ setSubmitted(true);
37518
+ onSelect?.(Array.from(selected));
37519
+ };
37520
+ const categoryOrder = Object.keys(grouped).sort();
37521
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
37522
+ "div",
37523
+ {
37524
+ className: cn(
37525
+ "rounded-xl border border-border bg-card overflow-hidden",
37526
+ className
37527
+ ),
37528
+ children: [
37529
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-b border-border bg-muted/50", children: [
37530
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
37531
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
37532
+ ] }),
37533
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { children: [
37534
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2", children: category }),
37535
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
37536
+ "label",
37537
+ {
37538
+ className: cn(
37539
+ "flex items-start gap-3 px-3 py-2 rounded-lg cursor-pointer transition-colors",
37540
+ submitted ? "cursor-default opacity-70" : "hover:bg-muted/50",
37541
+ selected.has(comp.name) && !submitted && "bg-primary/5 border border-primary/20",
37542
+ selected.has(comp.name) && submitted && "bg-primary/5"
37543
+ ),
37544
+ children: [
37545
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
37546
+ "input",
37547
+ {
37548
+ type: "checkbox",
37549
+ checked: selected.has(comp.name),
37550
+ onChange: () => toggle(comp.name),
37551
+ disabled: submitted,
37552
+ className: "mt-0.5 h-4 w-4 rounded border-border text-primary focus:ring-primary/50 disabled:opacity-50"
37553
+ }
37554
+ ),
37555
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex-1 min-w-0", children: [
37556
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
37557
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "ml-2 text-xs text-muted-foreground", children: comp.description })
37558
+ ] })
37559
+ ]
37560
+ },
37561
+ comp.name
37562
+ )) })
37563
+ ] }, category)) }),
37564
+ !submitted && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
37565
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
37566
+ selected.size,
37567
+ " selected"
37568
+ ] }),
37569
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
37570
+ "button",
37571
+ {
37572
+ onClick: handleContinue,
37573
+ className: "px-4 py-1.5 text-sm font-medium rounded-lg bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",
37574
+ children: "Continue"
37575
+ }
37576
+ )
37577
+ ] })
37578
+ ]
37579
+ }
37580
+ );
37581
+ }
37582
+
37583
+ // src/molecules/agent-builder/MultiAgentCard/MultiAgentCard.tsx
37584
+ var import_jsx_runtime128 = require("react/jsx-runtime");
37585
+ var MultiAgentCard = ({
37586
+ name,
37587
+ display_name,
37588
+ description,
37589
+ stages = [],
37590
+ enabled = true,
37591
+ className
37592
+ }) => {
37593
+ const avatarUrl = `https://api.dicebear.com/7.x/avataaars/svg?seed=${name}`;
37594
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
37595
+ "div",
37596
+ {
37597
+ className: cn(
37598
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37599
+ className
37600
+ ),
37601
+ children: [
37602
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37603
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "h-12 w-12 shrink-0 rounded-full border-2 border-[var(--primary-color)]/20 overflow-hidden bg-[var(--primary-color)]/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
37604
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 min-w-0", children: [
37605
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
37606
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
37607
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
37608
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-violet-500/10 text-violet-600", children: "Multi-Agent" }),
37609
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37610
+ "span",
37611
+ {
37612
+ className: cn(
37613
+ "text-[10px] px-1.5 py-0.5 rounded-full font-medium",
37614
+ enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
37615
+ ),
37616
+ children: enabled ? "Active" : "Disabled"
37617
+ }
37618
+ )
37619
+ ] }),
37620
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1", children: description })
37621
+ ] })
37622
+ ] }),
37623
+ stages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
37624
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
37625
+ "Stages (",
37626
+ stages.length,
37627
+ ")"
37628
+ ] }),
37629
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-stretch", children: [
37630
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex flex-col items-center mr-3 w-5", children: [
37631
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37632
+ "div",
37633
+ {
37634
+ className: cn(
37635
+ "w-5 h-5 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0",
37636
+ "bg-[var(--primary-color)]/10 text-[var(--primary-color)] border border-[var(--primary-color)]/30"
37637
+ ),
37638
+ children: idx + 1
37639
+ }
37640
+ ),
37641
+ idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "w-px flex-1 bg-[var(--primary-color)]/20 min-h-[16px]" })
37642
+ ] }),
37643
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
37644
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
37645
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
37646
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
37647
+ ] }),
37648
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
37649
+ stage.tools && stage.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
37650
+ stage.tools.length,
37651
+ " tool",
37652
+ stage.tools.length !== 1 ? "s" : ""
37653
+ ] }),
37654
+ stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
37655
+ stage.ui_components.length,
37656
+ " component",
37657
+ stage.ui_components.length !== 1 ? "s" : ""
37658
+ ] })
37659
+ ] })
37660
+ ] })
37661
+ ] }, stage.agent_name || idx)) })
37662
+ ] })
37663
+ ]
37664
+ }
37665
+ );
37666
+ };
37667
+
37668
+ // src/molecules/agent-builder/MultiAgentPlan/MultiAgentPlan.tsx
37669
+ var import_jsx_runtime129 = require("react/jsx-runtime");
37670
+ var MultiAgentPlan = ({
37671
+ stages = [],
37672
+ className
37673
+ }) => {
37674
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
37675
+ "div",
37676
+ {
37677
+ className: cn(
37678
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37679
+ className
37680
+ ),
37681
+ children: [
37682
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-center gap-2", children: [
37683
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37684
+ "svg",
37685
+ {
37686
+ width: "10",
37687
+ height: "10",
37688
+ viewBox: "0 0 24 24",
37689
+ fill: "none",
37690
+ stroke: "currentColor",
37691
+ strokeWidth: "2",
37692
+ className: "text-violet-600",
37693
+ children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
37694
+ }
37695
+ ) }),
37696
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
37697
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
37698
+ ] }) }),
37699
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "px-4 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-stretch", children: [
37700
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex flex-col items-center mr-3 w-6", children: [
37701
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 bg-[var(--primary-color)]/10 text-[var(--primary-color)] border border-[var(--primary-color)]/30", children: idx + 1 }),
37702
+ idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-px flex-1 bg-[var(--primary-color)]/20 min-h-[12px]" })
37703
+ ] }),
37704
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex-1 mb-2 pb-2", children: [
37705
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("p", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
37706
+ stage.description && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/50 mt-0.5", children: stage.description }),
37707
+ stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37708
+ "span",
37709
+ {
37710
+ className: "text-[10px] px-1.5 py-0.5 rounded bg-[var(--primary-color)]/10 text-[var(--primary-color)] font-mono",
37711
+ children: tool
37712
+ },
37713
+ tool
37714
+ )) })
37715
+ ] })
37716
+ ] }, stage.name || idx)) }) })
37717
+ ]
37718
+ }
37719
+ );
37720
+ };
37721
+
37722
+ // src/molecules/agent-builder/MultiAgentUISelector/MultiAgentUISelector.tsx
37723
+ var import_react69 = require("react");
37724
+ var import_jsx_runtime130 = require("react/jsx-runtime");
37725
+ var MultiAgentUISelector = ({
37726
+ stages = [],
37727
+ components = [],
37728
+ onSelect,
37729
+ className
37730
+ }) => {
37731
+ const [activeStageId, setActiveStageId] = (0, import_react69.useState)(stages[0]?.id || "");
37732
+ const [selections, setSelections] = (0, import_react69.useState)(
37733
+ () => {
37734
+ const init = {};
37735
+ for (const stage of stages) {
37736
+ init[stage.id] = /* @__PURE__ */ new Set();
37737
+ }
37738
+ return init;
37739
+ }
37740
+ );
37741
+ const [submitted, setSubmitted] = (0, import_react69.useState)(false);
37742
+ const grouped = components.reduce((acc, comp) => {
37743
+ const cat = comp.category || "Other";
37744
+ if (!acc[cat]) acc[cat] = [];
37745
+ acc[cat].push(comp);
37746
+ return acc;
37747
+ }, {});
37748
+ const toggleComponent = (0, import_react69.useCallback)(
37749
+ (stageId, compName) => {
37750
+ if (submitted) return;
37751
+ setSelections((prev) => {
37752
+ const updated = { ...prev };
37753
+ const set = new Set(updated[stageId] || []);
37754
+ if (set.has(compName)) {
37755
+ set.delete(compName);
37756
+ } else {
37757
+ set.add(compName);
37758
+ }
37759
+ updated[stageId] = set;
37760
+ return updated;
37761
+ });
37762
+ },
37763
+ [submitted]
37764
+ );
37765
+ const handleContinue = (0, import_react69.useCallback)(() => {
37766
+ setSubmitted(true);
37767
+ if (onSelect) {
37768
+ const result = {};
37769
+ for (const [stageId, set] of Object.entries(selections)) {
37770
+ result[stageId] = Array.from(set);
37771
+ }
37772
+ onSelect(result);
37773
+ }
37774
+ }, [onSelect, selections]);
37775
+ const activeStage = stages.find((s) => s.id === activeStageId);
37776
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37777
+ "div",
37778
+ {
37779
+ className: cn(
37780
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37781
+ className
37782
+ ),
37783
+ children: [
37784
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-2", children: [
37785
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-4 h-4 rounded bg-[var(--primary-color)]/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37786
+ "svg",
37787
+ {
37788
+ width: "10",
37789
+ height: "10",
37790
+ viewBox: "0 0 24 24",
37791
+ fill: "none",
37792
+ stroke: "currentColor",
37793
+ strokeWidth: "2",
37794
+ className: "text-[var(--primary-color)]",
37795
+ children: [
37796
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "3", y: "3", width: "7", height: "7" }),
37797
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "14", y: "3", width: "7", height: "7" }),
37798
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "3", y: "14", width: "7", height: "7" }),
37799
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "14", y: "14", width: "7", height: "7" })
37800
+ ]
37801
+ }
37802
+ ) }),
37803
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
37804
+ ] }) }),
37805
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37806
+ "button",
37807
+ {
37808
+ onClick: () => setActiveStageId(stage.id),
37809
+ disabled: submitted,
37810
+ className: cn(
37811
+ "px-3 py-2 text-[11px] font-medium border-b-2 transition-colors",
37812
+ activeStageId === stage.id ? "border-[var(--primary-color)] text-[var(--primary-color)]" : "border-transparent text-[var(--foreground)]/50 hover:text-[var(--foreground)]",
37813
+ submitted && "opacity-60 cursor-default"
37814
+ ),
37815
+ children: stage.name
37816
+ },
37817
+ stage.id
37818
+ )) }),
37819
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-4 py-3", children: [
37820
+ activeStage && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("p", { className: "text-[10px] text-[var(--foreground)]/40 mb-3", children: [
37821
+ "Select components for ",
37822
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("strong", { children: activeStage.name }),
37823
+ " (",
37824
+ activeStage.agent_name,
37825
+ ")"
37826
+ ] }),
37827
+ Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "mb-3", children: [
37828
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
37829
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
37830
+ const isSelected = selections[activeStageId]?.has(comp.name) || false;
37831
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37832
+ "button",
37833
+ {
37834
+ onClick: () => toggleComponent(activeStageId, comp.name),
37835
+ disabled: submitted,
37836
+ className: cn(
37837
+ "text-left p-2.5 rounded-lg border text-[11px] transition-all",
37838
+ isSelected ? "border-[var(--primary-color)] bg-[var(--primary-color)]/5" : "border-[var(--border-color)] hover:border-[var(--primary-color)]/50",
37839
+ submitted && "opacity-60 cursor-default"
37840
+ ),
37841
+ children: [
37842
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-1.5", children: [
37843
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37844
+ "div",
37845
+ {
37846
+ className: cn(
37847
+ "w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0",
37848
+ isSelected ? "bg-[var(--primary-color)] border-[var(--primary-color)]" : "border-[var(--foreground)]/20"
37849
+ ),
37850
+ children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37851
+ "svg",
37852
+ {
37853
+ width: "8",
37854
+ height: "8",
37855
+ viewBox: "0 0 24 24",
37856
+ fill: "none",
37857
+ stroke: "white",
37858
+ strokeWidth: "3",
37859
+ children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("polyline", { points: "20 6 9 17 4 12" })
37860
+ }
37861
+ )
37862
+ }
37863
+ ),
37864
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name })
37865
+ ] }),
37866
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-[10px] text-[var(--foreground)]/40 mt-0.5 ml-5", children: comp.description })
37867
+ ]
37868
+ },
37869
+ comp.name
37870
+ );
37871
+ }) })
37872
+ ] }, category))
37873
+ ] }),
37874
+ !submitted && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37875
+ "button",
37876
+ {
37877
+ onClick: handleContinue,
37878
+ className: "w-full py-2 rounded-lg bg-[var(--primary-color)] text-white text-xs font-medium hover:opacity-90 transition-opacity",
37879
+ children: "Continue"
37880
+ }
37881
+ ) }),
37882
+ submitted && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5", children: "Selections confirmed" }) })
37883
+ ]
37884
+ }
37885
+ );
37886
+ };
37887
+
37888
+ // src/molecules/agent-builder/StageIndicator/StageIndicator.tsx
37889
+ var import_jsx_runtime131 = require("react/jsx-runtime");
37890
+ var StageIndicator = ({
37891
+ stage_name,
37892
+ agent_name,
37893
+ className
37894
+ }) => {
37895
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
37896
+ "div",
37897
+ {
37898
+ className: cn(
37899
+ "flex items-center gap-3 my-4",
37900
+ className
37901
+ ),
37902
+ children: [
37903
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
37904
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
37905
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
37906
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
37907
+ ] }),
37908
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
37909
+ ]
37910
+ }
37911
+ );
37912
+ };
37913
+
37475
37914
  // src/components/ui/index.ts
37476
37915
  var ui_exports = {};
37477
37916
  __export(ui_exports, {
@@ -37764,7 +38203,7 @@ __export(ui_exports, {
37764
38203
  // src/components/ui/button-group.tsx
37765
38204
  var import_react_slot4 = require("@radix-ui/react-slot");
37766
38205
  var import_class_variance_authority8 = require("class-variance-authority");
37767
- var import_jsx_runtime127 = require("react/jsx-runtime");
38206
+ var import_jsx_runtime132 = require("react/jsx-runtime");
37768
38207
  var buttonGroupVariants = (0, import_class_variance_authority8.cva)(
37769
38208
  "flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
37770
38209
  {
@@ -37784,7 +38223,7 @@ function ButtonGroup({
37784
38223
  orientation,
37785
38224
  ...props
37786
38225
  }) {
37787
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38226
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37788
38227
  "div",
37789
38228
  {
37790
38229
  role: "group",
@@ -37801,7 +38240,7 @@ function ButtonGroupText({
37801
38240
  ...props
37802
38241
  }) {
37803
38242
  const Comp = asChild ? import_react_slot4.Slot : "div";
37804
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38243
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37805
38244
  Comp,
37806
38245
  {
37807
38246
  className: cn(
@@ -37817,7 +38256,7 @@ function ButtonGroupSeparator({
37817
38256
  orientation = "vertical",
37818
38257
  ...props
37819
38258
  }) {
37820
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38259
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37821
38260
  Separator2,
37822
38261
  {
37823
38262
  "data-slot": "button-group-separator",
@@ -37833,9 +38272,9 @@ function ButtonGroupSeparator({
37833
38272
 
37834
38273
  // src/components/ui/empty.tsx
37835
38274
  var import_class_variance_authority9 = require("class-variance-authority");
37836
- var import_jsx_runtime128 = require("react/jsx-runtime");
38275
+ var import_jsx_runtime133 = require("react/jsx-runtime");
37837
38276
  function Empty({ className, ...props }) {
37838
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38277
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37839
38278
  "div",
37840
38279
  {
37841
38280
  "data-slot": "empty",
@@ -37848,7 +38287,7 @@ function Empty({ className, ...props }) {
37848
38287
  );
37849
38288
  }
37850
38289
  function EmptyHeader({ className, ...props }) {
37851
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38290
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37852
38291
  "div",
37853
38292
  {
37854
38293
  "data-slot": "empty-header",
@@ -37879,7 +38318,7 @@ function EmptyMedia({
37879
38318
  variant = "default",
37880
38319
  ...props
37881
38320
  }) {
37882
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38321
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37883
38322
  "div",
37884
38323
  {
37885
38324
  "data-slot": "empty-icon",
@@ -37890,7 +38329,7 @@ function EmptyMedia({
37890
38329
  );
37891
38330
  }
37892
38331
  function EmptyTitle({ className, ...props }) {
37893
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38332
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37894
38333
  "div",
37895
38334
  {
37896
38335
  "data-slot": "empty-title",
@@ -37900,7 +38339,7 @@ function EmptyTitle({ className, ...props }) {
37900
38339
  );
37901
38340
  }
37902
38341
  function EmptyDescription({ className, ...props }) {
37903
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38342
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37904
38343
  "div",
37905
38344
  {
37906
38345
  "data-slot": "empty-description",
@@ -37913,7 +38352,7 @@ function EmptyDescription({ className, ...props }) {
37913
38352
  );
37914
38353
  }
37915
38354
  function EmptyContent({ className, ...props }) {
37916
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38355
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37917
38356
  "div",
37918
38357
  {
37919
38358
  "data-slot": "empty-content",
@@ -37927,11 +38366,11 @@ function EmptyContent({ className, ...props }) {
37927
38366
  }
37928
38367
 
37929
38368
  // src/components/ui/field.tsx
37930
- var import_react68 = require("react");
38369
+ var import_react70 = require("react");
37931
38370
  var import_class_variance_authority10 = require("class-variance-authority");
37932
- var import_jsx_runtime129 = require("react/jsx-runtime");
38371
+ var import_jsx_runtime134 = require("react/jsx-runtime");
37933
38372
  function FieldSet({ className, ...props }) {
37934
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38373
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
37935
38374
  "fieldset",
37936
38375
  {
37937
38376
  "data-slot": "field-set",
@@ -37949,7 +38388,7 @@ function FieldLegend({
37949
38388
  variant = "legend",
37950
38389
  ...props
37951
38390
  }) {
37952
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38391
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
37953
38392
  "legend",
37954
38393
  {
37955
38394
  "data-slot": "field-legend",
@@ -37965,7 +38404,7 @@ function FieldLegend({
37965
38404
  );
37966
38405
  }
37967
38406
  function FieldGroup({ className, ...props }) {
37968
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38407
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
37969
38408
  "div",
37970
38409
  {
37971
38410
  "data-slot": "field-group",
@@ -38005,7 +38444,7 @@ function Field({
38005
38444
  orientation = "vertical",
38006
38445
  ...props
38007
38446
  }) {
38008
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38447
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38009
38448
  "div",
38010
38449
  {
38011
38450
  role: "group",
@@ -38017,7 +38456,7 @@ function Field({
38017
38456
  );
38018
38457
  }
38019
38458
  function FieldContent({ className, ...props }) {
38020
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38459
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38021
38460
  "div",
38022
38461
  {
38023
38462
  "data-slot": "field-content",
@@ -38033,7 +38472,7 @@ function FieldLabel({
38033
38472
  className,
38034
38473
  ...props
38035
38474
  }) {
38036
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38475
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38037
38476
  Label,
38038
38477
  {
38039
38478
  "data-slot": "field-label",
@@ -38048,7 +38487,7 @@ function FieldLabel({
38048
38487
  );
38049
38488
  }
38050
38489
  function FieldTitle({ className, ...props }) {
38051
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38490
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38052
38491
  "div",
38053
38492
  {
38054
38493
  "data-slot": "field-label",
@@ -38061,7 +38500,7 @@ function FieldTitle({ className, ...props }) {
38061
38500
  );
38062
38501
  }
38063
38502
  function FieldDescription({ className, ...props }) {
38064
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38503
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38065
38504
  "p",
38066
38505
  {
38067
38506
  "data-slot": "field-description",
@@ -38080,7 +38519,7 @@ function FieldSeparator({
38080
38519
  className,
38081
38520
  ...props
38082
38521
  }) {
38083
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
38522
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
38084
38523
  "div",
38085
38524
  {
38086
38525
  "data-slot": "field-separator",
@@ -38091,8 +38530,8 @@ function FieldSeparator({
38091
38530
  ),
38092
38531
  ...props,
38093
38532
  children: [
38094
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
38095
- children && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38533
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
38534
+ children && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38096
38535
  "span",
38097
38536
  {
38098
38537
  className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
@@ -38110,7 +38549,7 @@ function FieldError({
38110
38549
  errors,
38111
38550
  ...props
38112
38551
  }) {
38113
- const content = (0, import_react68.useMemo)(() => {
38552
+ const content = (0, import_react70.useMemo)(() => {
38114
38553
  if (children) {
38115
38554
  return children;
38116
38555
  }
@@ -38120,14 +38559,14 @@ function FieldError({
38120
38559
  if (errors?.length === 1 && errors[0]?.message) {
38121
38560
  return errors[0].message;
38122
38561
  }
38123
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
38124
- (error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("li", { children: error.message }, index)
38562
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
38563
+ (error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("li", { children: error.message }, index)
38125
38564
  ) });
38126
38565
  }, [children, errors]);
38127
38566
  if (!content) {
38128
38567
  return null;
38129
38568
  }
38130
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38569
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38131
38570
  "div",
38132
38571
  {
38133
38572
  role: "alert",
@@ -38141,9 +38580,9 @@ function FieldError({
38141
38580
 
38142
38581
  // src/components/ui/input-group.tsx
38143
38582
  var import_class_variance_authority11 = require("class-variance-authority");
38144
- var import_jsx_runtime130 = require("react/jsx-runtime");
38583
+ var import_jsx_runtime135 = require("react/jsx-runtime");
38145
38584
  function InputGroup({ className, ...props }) {
38146
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38585
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38147
38586
  "div",
38148
38587
  {
38149
38588
  "data-slot": "input-group",
@@ -38187,7 +38626,7 @@ function InputGroupAddon({
38187
38626
  align = "inline-start",
38188
38627
  ...props
38189
38628
  }) {
38190
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38629
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38191
38630
  "div",
38192
38631
  {
38193
38632
  role: "group",
@@ -38227,7 +38666,7 @@ function InputGroupButton({
38227
38666
  size = "xs",
38228
38667
  ...props
38229
38668
  }) {
38230
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38669
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38231
38670
  Button,
38232
38671
  {
38233
38672
  type,
@@ -38239,7 +38678,7 @@ function InputGroupButton({
38239
38678
  );
38240
38679
  }
38241
38680
  function InputGroupText({ className, ...props }) {
38242
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38681
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38243
38682
  "span",
38244
38683
  {
38245
38684
  className: cn(
@@ -38254,7 +38693,7 @@ function InputGroupInput({
38254
38693
  className,
38255
38694
  ...props
38256
38695
  }) {
38257
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38696
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38258
38697
  Input,
38259
38698
  {
38260
38699
  "data-slot": "input-group-control",
@@ -38270,7 +38709,7 @@ function InputGroupTextarea({
38270
38709
  className,
38271
38710
  ...props
38272
38711
  }) {
38273
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38712
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38274
38713
  Textarea,
38275
38714
  {
38276
38715
  "data-slot": "input-group-control",
@@ -38286,9 +38725,9 @@ function InputGroupTextarea({
38286
38725
  // src/components/ui/item.tsx
38287
38726
  var import_react_slot5 = require("@radix-ui/react-slot");
38288
38727
  var import_class_variance_authority12 = require("class-variance-authority");
38289
- var import_jsx_runtime131 = require("react/jsx-runtime");
38728
+ var import_jsx_runtime136 = require("react/jsx-runtime");
38290
38729
  function ItemGroup({ className, ...props }) {
38291
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38730
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38292
38731
  "div",
38293
38732
  {
38294
38733
  role: "list",
@@ -38302,7 +38741,7 @@ function ItemSeparator({
38302
38741
  className,
38303
38742
  ...props
38304
38743
  }) {
38305
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38744
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38306
38745
  Separator2,
38307
38746
  {
38308
38747
  "data-slot": "item-separator",
@@ -38340,7 +38779,7 @@ function Item8({
38340
38779
  ...props
38341
38780
  }) {
38342
38781
  const Comp = asChild ? import_react_slot5.Slot : "div";
38343
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38782
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38344
38783
  Comp,
38345
38784
  {
38346
38785
  "data-slot": "item",
@@ -38371,7 +38810,7 @@ function ItemMedia({
38371
38810
  variant = "default",
38372
38811
  ...props
38373
38812
  }) {
38374
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38813
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38375
38814
  "div",
38376
38815
  {
38377
38816
  "data-slot": "item-media",
@@ -38382,7 +38821,7 @@ function ItemMedia({
38382
38821
  );
38383
38822
  }
38384
38823
  function ItemContent({ className, ...props }) {
38385
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38824
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38386
38825
  "div",
38387
38826
  {
38388
38827
  "data-slot": "item-content",
@@ -38395,7 +38834,7 @@ function ItemContent({ className, ...props }) {
38395
38834
  );
38396
38835
  }
38397
38836
  function ItemTitle({ className, ...props }) {
38398
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38837
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38399
38838
  "div",
38400
38839
  {
38401
38840
  "data-slot": "item-title",
@@ -38408,7 +38847,7 @@ function ItemTitle({ className, ...props }) {
38408
38847
  );
38409
38848
  }
38410
38849
  function ItemDescription({ className, ...props }) {
38411
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38850
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38412
38851
  "p",
38413
38852
  {
38414
38853
  "data-slot": "item-description",
@@ -38422,7 +38861,7 @@ function ItemDescription({ className, ...props }) {
38422
38861
  );
38423
38862
  }
38424
38863
  function ItemActions({ className, ...props }) {
38425
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38864
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38426
38865
  "div",
38427
38866
  {
38428
38867
  "data-slot": "item-actions",
@@ -38432,7 +38871,7 @@ function ItemActions({ className, ...props }) {
38432
38871
  );
38433
38872
  }
38434
38873
  function ItemHeader({ className, ...props }) {
38435
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38874
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38436
38875
  "div",
38437
38876
  {
38438
38877
  "data-slot": "item-header",
@@ -38445,7 +38884,7 @@ function ItemHeader({ className, ...props }) {
38445
38884
  );
38446
38885
  }
38447
38886
  function ItemFooter({ className, ...props }) {
38448
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
38887
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38449
38888
  "div",
38450
38889
  {
38451
38890
  "data-slot": "item-footer",
@@ -38459,9 +38898,9 @@ function ItemFooter({ className, ...props }) {
38459
38898
  }
38460
38899
 
38461
38900
  // src/components/ui/kbd.tsx
38462
- var import_jsx_runtime132 = require("react/jsx-runtime");
38901
+ var import_jsx_runtime137 = require("react/jsx-runtime");
38463
38902
  function Kbd({ className, ...props }) {
38464
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38903
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38465
38904
  "kbd",
38466
38905
  {
38467
38906
  "data-slot": "kbd",
@@ -38476,7 +38915,7 @@ function Kbd({ className, ...props }) {
38476
38915
  );
38477
38916
  }
38478
38917
  function KbdGroup({ className, ...props }) {
38479
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38918
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38480
38919
  "kbd",
38481
38920
  {
38482
38921
  "data-slot": "kbd-group",
@@ -38487,16 +38926,16 @@ function KbdGroup({ className, ...props }) {
38487
38926
  }
38488
38927
 
38489
38928
  // src/components/ui/sidebar.tsx
38490
- var React99 = __toESM(require("react"), 1);
38929
+ var React100 = __toESM(require("react"), 1);
38491
38930
  var import_react_slot6 = require("@radix-ui/react-slot");
38492
38931
  var import_class_variance_authority13 = require("class-variance-authority");
38493
38932
 
38494
38933
  // src/hooks/use-mobile.tsx
38495
- var React98 = __toESM(require("react"), 1);
38934
+ var React99 = __toESM(require("react"), 1);
38496
38935
  var MOBILE_BREAKPOINT = 768;
38497
38936
  function useIsMobile() {
38498
- const [isMobile, setIsMobile] = React98.useState(void 0);
38499
- React98.useEffect(() => {
38937
+ const [isMobile, setIsMobile] = React99.useState(void 0);
38938
+ React99.useEffect(() => {
38500
38939
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
38501
38940
  const onChange = () => {
38502
38941
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -38509,22 +38948,22 @@ function useIsMobile() {
38509
38948
  }
38510
38949
 
38511
38950
  // src/components/ui/sidebar.tsx
38512
- var import_jsx_runtime133 = require("react/jsx-runtime");
38951
+ var import_jsx_runtime138 = require("react/jsx-runtime");
38513
38952
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
38514
38953
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
38515
38954
  var SIDEBAR_WIDTH = "16rem";
38516
38955
  var SIDEBAR_WIDTH_MOBILE = "18rem";
38517
38956
  var SIDEBAR_WIDTH_ICON = "3rem";
38518
38957
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
38519
- var SidebarContext = React99.createContext(null);
38958
+ var SidebarContext = React100.createContext(null);
38520
38959
  function useSidebar() {
38521
- const context = React99.useContext(SidebarContext);
38960
+ const context = React100.useContext(SidebarContext);
38522
38961
  if (!context) {
38523
38962
  throw new Error("useSidebar must be used within a SidebarProvider.");
38524
38963
  }
38525
38964
  return context;
38526
38965
  }
38527
- var SidebarProvider = React99.forwardRef(
38966
+ var SidebarProvider = React100.forwardRef(
38528
38967
  ({
38529
38968
  defaultOpen = true,
38530
38969
  open: openProp,
@@ -38535,10 +38974,10 @@ var SidebarProvider = React99.forwardRef(
38535
38974
  ...props
38536
38975
  }, ref) => {
38537
38976
  const isMobile = useIsMobile();
38538
- const [openMobile, setOpenMobile] = React99.useState(false);
38539
- const [_open, _setOpen] = React99.useState(defaultOpen);
38977
+ const [openMobile, setOpenMobile] = React100.useState(false);
38978
+ const [_open, _setOpen] = React100.useState(defaultOpen);
38540
38979
  const open = openProp ?? _open;
38541
- const setOpen = React99.useCallback(
38980
+ const setOpen = React100.useCallback(
38542
38981
  (value) => {
38543
38982
  const openState = typeof value === "function" ? value(open) : value;
38544
38983
  if (setOpenProp) {
@@ -38550,10 +38989,10 @@ var SidebarProvider = React99.forwardRef(
38550
38989
  },
38551
38990
  [setOpenProp, open]
38552
38991
  );
38553
- const toggleSidebar = React99.useCallback(() => {
38992
+ const toggleSidebar = React100.useCallback(() => {
38554
38993
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
38555
38994
  }, [isMobile, setOpen, setOpenMobile]);
38556
- React99.useEffect(() => {
38995
+ React100.useEffect(() => {
38557
38996
  const handleKeyDown = (event) => {
38558
38997
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
38559
38998
  event.preventDefault();
@@ -38564,7 +39003,7 @@ var SidebarProvider = React99.forwardRef(
38564
39003
  return () => window.removeEventListener("keydown", handleKeyDown);
38565
39004
  }, [toggleSidebar]);
38566
39005
  const state = open ? "expanded" : "collapsed";
38567
- const contextValue = React99.useMemo(
39006
+ const contextValue = React100.useMemo(
38568
39007
  () => ({
38569
39008
  state,
38570
39009
  open,
@@ -38576,7 +39015,7 @@ var SidebarProvider = React99.forwardRef(
38576
39015
  }),
38577
39016
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
38578
39017
  );
38579
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39018
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38580
39019
  "div",
38581
39020
  {
38582
39021
  style: {
@@ -38596,7 +39035,7 @@ var SidebarProvider = React99.forwardRef(
38596
39035
  }
38597
39036
  );
38598
39037
  SidebarProvider.displayName = "SidebarProvider";
38599
- var Sidebar = React99.forwardRef(
39038
+ var Sidebar = React100.forwardRef(
38600
39039
  ({
38601
39040
  side = "left",
38602
39041
  variant = "sidebar",
@@ -38607,7 +39046,7 @@ var Sidebar = React99.forwardRef(
38607
39046
  }, ref) => {
38608
39047
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
38609
39048
  if (collapsible === "none") {
38610
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39049
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38611
39050
  "div",
38612
39051
  {
38613
39052
  className: cn(
@@ -38621,7 +39060,7 @@ var Sidebar = React99.forwardRef(
38621
39060
  );
38622
39061
  }
38623
39062
  if (isMobile) {
38624
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
39063
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
38625
39064
  SheetContent,
38626
39065
  {
38627
39066
  "data-sidebar": "sidebar",
@@ -38632,16 +39071,16 @@ var Sidebar = React99.forwardRef(
38632
39071
  },
38633
39072
  side,
38634
39073
  children: [
38635
- /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(SheetHeader, { className: "sr-only", children: [
38636
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(SheetTitle, { children: "Sidebar" }),
38637
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
39074
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(SheetHeader, { className: "sr-only", children: [
39075
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetTitle, { children: "Sidebar" }),
39076
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
38638
39077
  ] }),
38639
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "flex h-full w-full flex-col", children })
39078
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("div", { className: "flex h-full w-full flex-col", children })
38640
39079
  ]
38641
39080
  }
38642
39081
  ) });
38643
39082
  }
38644
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
39083
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
38645
39084
  "div",
38646
39085
  {
38647
39086
  ref,
@@ -38651,7 +39090,7 @@ var Sidebar = React99.forwardRef(
38651
39090
  "data-variant": variant,
38652
39091
  "data-side": side,
38653
39092
  children: [
38654
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39093
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38655
39094
  "div",
38656
39095
  {
38657
39096
  className: cn(
@@ -38662,7 +39101,7 @@ var Sidebar = React99.forwardRef(
38662
39101
  )
38663
39102
  }
38664
39103
  ),
38665
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39104
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38666
39105
  "div",
38667
39106
  {
38668
39107
  className: cn(
@@ -38673,7 +39112,7 @@ var Sidebar = React99.forwardRef(
38673
39112
  className
38674
39113
  ),
38675
39114
  ...props,
38676
- children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39115
+ children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38677
39116
  "div",
38678
39117
  {
38679
39118
  "data-sidebar": "sidebar",
@@ -38689,9 +39128,9 @@ var Sidebar = React99.forwardRef(
38689
39128
  }
38690
39129
  );
38691
39130
  Sidebar.displayName = "Sidebar";
38692
- var SidebarTrigger = React99.forwardRef(({ className, onClick, ...props }, ref) => {
39131
+ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
38693
39132
  const { toggleSidebar } = useSidebar();
38694
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
39133
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
38695
39134
  Button,
38696
39135
  {
38697
39136
  ref,
@@ -38705,16 +39144,16 @@ var SidebarTrigger = React99.forwardRef(({ className, onClick, ...props }, ref)
38705
39144
  },
38706
39145
  ...props,
38707
39146
  children: [
38708
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(PanelLeft, {}),
38709
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
39147
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(PanelLeft, {}),
39148
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
38710
39149
  ]
38711
39150
  }
38712
39151
  );
38713
39152
  });
38714
39153
  SidebarTrigger.displayName = "SidebarTrigger";
38715
- var SidebarRail = React99.forwardRef(({ className, ...props }, ref) => {
39154
+ var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
38716
39155
  const { toggleSidebar } = useSidebar();
38717
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39156
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38718
39157
  "button",
38719
39158
  {
38720
39159
  ref,
@@ -38737,8 +39176,8 @@ var SidebarRail = React99.forwardRef(({ className, ...props }, ref) => {
38737
39176
  );
38738
39177
  });
38739
39178
  SidebarRail.displayName = "SidebarRail";
38740
- var SidebarInset = React99.forwardRef(({ className, ...props }, ref) => {
38741
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39179
+ var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
39180
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38742
39181
  "main",
38743
39182
  {
38744
39183
  ref,
@@ -38752,8 +39191,8 @@ var SidebarInset = React99.forwardRef(({ className, ...props }, ref) => {
38752
39191
  );
38753
39192
  });
38754
39193
  SidebarInset.displayName = "SidebarInset";
38755
- var SidebarInput = React99.forwardRef(({ className, ...props }, ref) => {
38756
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39194
+ var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
39195
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38757
39196
  Input,
38758
39197
  {
38759
39198
  ref,
@@ -38767,8 +39206,8 @@ var SidebarInput = React99.forwardRef(({ className, ...props }, ref) => {
38767
39206
  );
38768
39207
  });
38769
39208
  SidebarInput.displayName = "SidebarInput";
38770
- var SidebarHeader = React99.forwardRef(({ className, ...props }, ref) => {
38771
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39209
+ var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39210
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38772
39211
  "div",
38773
39212
  {
38774
39213
  ref,
@@ -38779,8 +39218,8 @@ var SidebarHeader = React99.forwardRef(({ className, ...props }, ref) => {
38779
39218
  );
38780
39219
  });
38781
39220
  SidebarHeader.displayName = "SidebarHeader";
38782
- var SidebarFooter = React99.forwardRef(({ className, ...props }, ref) => {
38783
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39221
+ var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39222
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38784
39223
  "div",
38785
39224
  {
38786
39225
  ref,
@@ -38791,8 +39230,8 @@ var SidebarFooter = React99.forwardRef(({ className, ...props }, ref) => {
38791
39230
  );
38792
39231
  });
38793
39232
  SidebarFooter.displayName = "SidebarFooter";
38794
- var SidebarSeparator = React99.forwardRef(({ className, ...props }, ref) => {
38795
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39233
+ var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39234
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38796
39235
  Separator2,
38797
39236
  {
38798
39237
  ref,
@@ -38803,8 +39242,8 @@ var SidebarSeparator = React99.forwardRef(({ className, ...props }, ref) => {
38803
39242
  );
38804
39243
  });
38805
39244
  SidebarSeparator.displayName = "SidebarSeparator";
38806
- var SidebarContent = React99.forwardRef(({ className, ...props }, ref) => {
38807
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39245
+ var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39246
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38808
39247
  "div",
38809
39248
  {
38810
39249
  ref,
@@ -38818,8 +39257,8 @@ var SidebarContent = React99.forwardRef(({ className, ...props }, ref) => {
38818
39257
  );
38819
39258
  });
38820
39259
  SidebarContent.displayName = "SidebarContent";
38821
- var SidebarGroup = React99.forwardRef(({ className, ...props }, ref) => {
38822
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39260
+ var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39261
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38823
39262
  "div",
38824
39263
  {
38825
39264
  ref,
@@ -38830,9 +39269,9 @@ var SidebarGroup = React99.forwardRef(({ className, ...props }, ref) => {
38830
39269
  );
38831
39270
  });
38832
39271
  SidebarGroup.displayName = "SidebarGroup";
38833
- var SidebarGroupLabel = React99.forwardRef(({ className, asChild = false, ...props }, ref) => {
39272
+ var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
38834
39273
  const Comp = asChild ? import_react_slot6.Slot : "div";
38835
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39274
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38836
39275
  Comp,
38837
39276
  {
38838
39277
  ref,
@@ -38847,9 +39286,9 @@ var SidebarGroupLabel = React99.forwardRef(({ className, asChild = false, ...pro
38847
39286
  );
38848
39287
  });
38849
39288
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
38850
- var SidebarGroupAction = React99.forwardRef(({ className, asChild = false, ...props }, ref) => {
39289
+ var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
38851
39290
  const Comp = asChild ? import_react_slot6.Slot : "button";
38852
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39291
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38853
39292
  Comp,
38854
39293
  {
38855
39294
  ref,
@@ -38866,7 +39305,7 @@ var SidebarGroupAction = React99.forwardRef(({ className, asChild = false, ...pr
38866
39305
  );
38867
39306
  });
38868
39307
  SidebarGroupAction.displayName = "SidebarGroupAction";
38869
- var SidebarGroupContent = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39308
+ var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38870
39309
  "div",
38871
39310
  {
38872
39311
  ref,
@@ -38876,7 +39315,7 @@ var SidebarGroupContent = React99.forwardRef(({ className, ...props }, ref) => /
38876
39315
  }
38877
39316
  ));
38878
39317
  SidebarGroupContent.displayName = "SidebarGroupContent";
38879
- var SidebarMenu = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39318
+ var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38880
39319
  "ul",
38881
39320
  {
38882
39321
  ref,
@@ -38886,7 +39325,7 @@ var SidebarMenu = React99.forwardRef(({ className, ...props }, ref) => /* @__PUR
38886
39325
  }
38887
39326
  ));
38888
39327
  SidebarMenu.displayName = "SidebarMenu";
38889
- var SidebarMenuItem = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39328
+ var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38890
39329
  "li",
38891
39330
  {
38892
39331
  ref,
@@ -38916,7 +39355,7 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority13.cva)(
38916
39355
  }
38917
39356
  }
38918
39357
  );
38919
- var SidebarMenuButton = React99.forwardRef(
39358
+ var SidebarMenuButton = React100.forwardRef(
38920
39359
  ({
38921
39360
  asChild = false,
38922
39361
  isActive = false,
@@ -38928,7 +39367,7 @@ var SidebarMenuButton = React99.forwardRef(
38928
39367
  }, ref) => {
38929
39368
  const Comp = asChild ? import_react_slot6.Slot : "button";
38930
39369
  const { isMobile, state } = useSidebar();
38931
- const button = /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39370
+ const button = /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38932
39371
  Comp,
38933
39372
  {
38934
39373
  ref,
@@ -38947,9 +39386,9 @@ var SidebarMenuButton = React99.forwardRef(
38947
39386
  children: tooltip
38948
39387
  };
38949
39388
  }
38950
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(Tooltip, { children: [
38951
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(TooltipTrigger, { asChild: true, children: button }),
38952
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39389
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(Tooltip, { children: [
39390
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipTrigger, { asChild: true, children: button }),
39391
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38953
39392
  TooltipContent,
38954
39393
  {
38955
39394
  side: "right",
@@ -38962,9 +39401,9 @@ var SidebarMenuButton = React99.forwardRef(
38962
39401
  }
38963
39402
  );
38964
39403
  SidebarMenuButton.displayName = "SidebarMenuButton";
38965
- var SidebarMenuAction = React99.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
39404
+ var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
38966
39405
  const Comp = asChild ? import_react_slot6.Slot : "button";
38967
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39406
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38968
39407
  Comp,
38969
39408
  {
38970
39409
  ref,
@@ -38985,7 +39424,7 @@ var SidebarMenuAction = React99.forwardRef(({ className, asChild = false, showOn
38985
39424
  );
38986
39425
  });
38987
39426
  SidebarMenuAction.displayName = "SidebarMenuAction";
38988
- var SidebarMenuBadge = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39427
+ var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38989
39428
  "div",
38990
39429
  {
38991
39430
  ref,
@@ -39003,11 +39442,11 @@ var SidebarMenuBadge = React99.forwardRef(({ className, ...props }, ref) => /* @
39003
39442
  }
39004
39443
  ));
39005
39444
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
39006
- var SidebarMenuSkeleton = React99.forwardRef(({ className, showIcon = false, ...props }, ref) => {
39007
- const width = React99.useMemo(() => {
39445
+ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ...props }, ref) => {
39446
+ const width = React100.useMemo(() => {
39008
39447
  return `${Math.floor(Math.random() * 40) + 50}%`;
39009
39448
  }, []);
39010
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
39449
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
39011
39450
  "div",
39012
39451
  {
39013
39452
  ref,
@@ -39015,14 +39454,14 @@ var SidebarMenuSkeleton = React99.forwardRef(({ className, showIcon = false, ...
39015
39454
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
39016
39455
  ...props,
39017
39456
  children: [
39018
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39457
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39019
39458
  Skeleton,
39020
39459
  {
39021
39460
  className: "size-4 rounded-md",
39022
39461
  "data-sidebar": "menu-skeleton-icon"
39023
39462
  }
39024
39463
  ),
39025
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39464
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39026
39465
  Skeleton,
39027
39466
  {
39028
39467
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -39037,7 +39476,7 @@ var SidebarMenuSkeleton = React99.forwardRef(({ className, showIcon = false, ...
39037
39476
  );
39038
39477
  });
39039
39478
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
39040
- var SidebarMenuSub = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39479
+ var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39041
39480
  "ul",
39042
39481
  {
39043
39482
  ref,
@@ -39051,11 +39490,11 @@ var SidebarMenuSub = React99.forwardRef(({ className, ...props }, ref) => /* @__
39051
39490
  }
39052
39491
  ));
39053
39492
  SidebarMenuSub.displayName = "SidebarMenuSub";
39054
- var SidebarMenuSubItem = React99.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("li", { ref, ...props }));
39493
+ var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("li", { ref, ...props }));
39055
39494
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
39056
- var SidebarMenuSubButton = React99.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
39495
+ var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
39057
39496
  const Comp = asChild ? import_react_slot6.Slot : "a";
39058
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
39497
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39059
39498
  Comp,
39060
39499
  {
39061
39500
  ref,
@@ -39079,20 +39518,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
39079
39518
  // src/components/ui/sonner.tsx
39080
39519
  var import_next_themes = require("next-themes");
39081
39520
  var import_sonner = require("sonner");
39082
- var import_jsx_runtime134 = require("react/jsx-runtime");
39521
+ var import_jsx_runtime139 = require("react/jsx-runtime");
39083
39522
  var Toaster = ({ ...props }) => {
39084
39523
  const { theme = "system" } = (0, import_next_themes.useTheme)();
39085
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39524
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
39086
39525
  import_sonner.Toaster,
39087
39526
  {
39088
39527
  theme,
39089
39528
  className: "toaster group",
39090
39529
  icons: {
39091
- success: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(CircleCheck, { className: "h-4 w-4" }),
39092
- info: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Info, { className: "h-4 w-4" }),
39093
- warning: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(TriangleAlert, { className: "h-4 w-4" }),
39094
- error: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(OctagonX, { className: "h-4 w-4" }),
39095
- loading: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
39530
+ success: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(CircleCheck, { className: "h-4 w-4" }),
39531
+ info: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Info, { className: "h-4 w-4" }),
39532
+ warning: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(TriangleAlert, { className: "h-4 w-4" }),
39533
+ error: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(OctagonX, { className: "h-4 w-4" }),
39534
+ loading: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
39096
39535
  },
39097
39536
  toastOptions: {
39098
39537
  classNames: {
@@ -39108,26 +39547,26 @@ var Toaster = ({ ...props }) => {
39108
39547
  };
39109
39548
 
39110
39549
  // src/components/ui/toggle-group.tsx
39111
- var React100 = __toESM(require("react"), 1);
39550
+ var React101 = __toESM(require("react"), 1);
39112
39551
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
39113
- var import_jsx_runtime135 = require("react/jsx-runtime");
39114
- var ToggleGroupContext = React100.createContext({
39552
+ var import_jsx_runtime140 = require("react/jsx-runtime");
39553
+ var ToggleGroupContext = React101.createContext({
39115
39554
  size: "default",
39116
39555
  variant: "default"
39117
39556
  });
39118
- var ToggleGroup = React100.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39557
+ var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
39119
39558
  ToggleGroupPrimitive.Root,
39120
39559
  {
39121
39560
  ref,
39122
39561
  className: cn("flex items-center justify-center gap-1", className),
39123
39562
  ...props,
39124
- children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
39563
+ children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
39125
39564
  }
39126
39565
  ));
39127
39566
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
39128
- var ToggleGroupItem = React100.forwardRef(({ className, children, variant, size, ...props }, ref) => {
39129
- const context = React100.useContext(ToggleGroupContext);
39130
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39567
+ var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size, ...props }, ref) => {
39568
+ const context = React101.useContext(ToggleGroupContext);
39569
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
39131
39570
  ToggleGroupPrimitive.Item,
39132
39571
  {
39133
39572
  ref,
@@ -39146,7 +39585,7 @@ var ToggleGroupItem = React100.forwardRef(({ className, children, variant, size,
39146
39585
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
39147
39586
 
39148
39587
  // src/render/PXEngineRenderer.tsx
39149
- var import_jsx_runtime136 = require("react/jsx-runtime");
39588
+ var import_jsx_runtime141 = require("react/jsx-runtime");
39150
39589
  var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
39151
39590
  // Form components - require FormField + FormItem context
39152
39591
  "FormLabel",
@@ -39238,24 +39677,24 @@ var COMPONENT_SUGGESTIONS = {
39238
39677
  };
39239
39678
  var renderContextDependentError = (componentName, normalizedName, key) => {
39240
39679
  const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
39241
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
39680
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(
39242
39681
  "div",
39243
39682
  {
39244
39683
  className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
39245
39684
  children: [
39246
- /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "flex items-start gap-2", children: [
39247
- /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
39248
- /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "flex-1", children: [
39249
- /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("p", { className: "text-sm font-semibold text-amber-900", children: [
39685
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex items-start gap-2", children: [
39686
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
39687
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex-1", children: [
39688
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("p", { className: "text-sm font-semibold text-amber-900", children: [
39250
39689
  "Invalid Component: ",
39251
39690
  componentName
39252
39691
  ] }),
39253
- /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
39692
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
39254
39693
  ] })
39255
39694
  ] }),
39256
- /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
39257
- /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
39258
- /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
39695
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
39696
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
39697
+ /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
39259
39698
  ] })
39260
39699
  ]
39261
39700
  },
@@ -39335,7 +39774,7 @@ var PXEngineRenderer = ({
39335
39774
  if (typeof component === "string" || typeof component === "number") {
39336
39775
  return component;
39337
39776
  }
39338
- if (import_react69.default.isValidElement(component)) {
39777
+ if (import_react71.default.isValidElement(component)) {
39339
39778
  return component;
39340
39779
  }
39341
39780
  if (!component || typeof component !== "object") return null;
@@ -39413,7 +39852,7 @@ var PXEngineRenderer = ({
39413
39852
  const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
39414
39853
  const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
39415
39854
  if (isAtomWithRenderProp) {
39416
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39855
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
39417
39856
  TargetComponent,
39418
39857
  {
39419
39858
  ...finalProps,
@@ -39425,7 +39864,7 @@ var PXEngineRenderer = ({
39425
39864
  uniqueKey
39426
39865
  );
39427
39866
  } else {
39428
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39867
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
39429
39868
  TargetComponent,
39430
39869
  {
39431
39870
  ...finalProps,
@@ -39437,7 +39876,7 @@ var PXEngineRenderer = ({
39437
39876
  );
39438
39877
  }
39439
39878
  };
39440
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
39879
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
39441
39880
  };
39442
39881
  // Annotate the CommonJS export names for ESM import in node:
39443
39882
  0 && (module.exports = {
@@ -39611,6 +40050,9 @@ var PXEngineRenderer = ({
39611
40050
  MenubarSeparator,
39612
40051
  MenubarShortcut,
39613
40052
  MenubarTrigger,
40053
+ MultiAgentCard,
40054
+ MultiAgentPlan,
40055
+ MultiAgentUISelector,
39614
40056
  NavigationMenu,
39615
40057
  NavigationMenuContent,
39616
40058
  NavigationMenuItem,
@@ -39675,6 +40117,7 @@ var PXEngineRenderer = ({
39675
40117
  SliderAtom,
39676
40118
  Spinner,
39677
40119
  SpinnerAtom,
40120
+ StageIndicator,
39678
40121
  StatsGrid,
39679
40122
  StepWizard,
39680
40123
  Switch,
@@ -39705,6 +40148,7 @@ var PXEngineRenderer = ({
39705
40148
  TooltipProvider,
39706
40149
  TooltipTrigger,
39707
40150
  TopPostsGrid,
40151
+ UIComponentSelector,
39708
40152
  VideoAtom,
39709
40153
  WorkflowVisualizer,
39710
40154
  cn