pxengine 0.1.33 → 0.1.34

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
@@ -36,6 +36,8 @@ __export(index_exports, {
36
36
  AccordionItem: () => AccordionItem,
37
37
  AccordionTrigger: () => AccordionTrigger,
38
38
  ActionButton: () => ActionButton,
39
+ AgentCard: () => AgentCard,
40
+ AgentDataTable: () => AgentDataTable,
39
41
  Alert: () => Alert,
40
42
  AlertAtom: () => AlertAtom,
41
43
  AlertDescription: () => AlertDescription,
@@ -180,6 +182,7 @@ __export(index_exports, {
180
182
  InputOTPGroup: () => InputOTPGroup,
181
183
  InputOTPSeparator: () => InputOTPSeparator,
182
184
  InputOTPSlot: () => InputOTPSlot,
185
+ InstructionPreview: () => InstructionPreview,
183
186
  KbdAtom: () => KbdAtom,
184
187
  KeywordBundlesDisplay: () => KeywordBundlesDisplay,
185
188
  KeywordBundlesEdit: () => KeywordBundlesEdit,
@@ -284,6 +287,7 @@ __export(index_exports, {
284
287
  TextareaAtom: () => TextareaAtom,
285
288
  TimelineAtom: () => TimelineAtom,
286
289
  ToggleAtom: () => ToggleAtom,
290
+ ToolListCard: () => ToolListCard,
287
291
  Tooltip: () => Tooltip,
288
292
  TooltipAtom: () => TooltipAtom,
289
293
  TooltipContent: () => TooltipContent,
@@ -291,12 +295,13 @@ __export(index_exports, {
291
295
  TooltipTrigger: () => TooltipTrigger,
292
296
  TopPostsGrid: () => TopPostsGrid,
293
297
  VideoAtom: () => VideoAtom,
298
+ WorkflowVisualizer: () => WorkflowVisualizer,
294
299
  cn: () => cn
295
300
  });
296
301
  module.exports = __toCommonJS(index_exports);
297
302
 
298
303
  // src/render/PXEngineRenderer.tsx
299
- var import_react66 = __toESM(require("react"), 1);
304
+ var import_react69 = __toESM(require("react"), 1);
300
305
 
301
306
  // src/atoms/index.ts
302
307
  var atoms_exports = {};
@@ -33568,6 +33573,8 @@ ArrowToggleAtom.displayName = "ArrowToggleAtom";
33568
33573
  var molecules_exports = {};
33569
33574
  __export(molecules_exports, {
33570
33575
  ActionButton: () => ActionButton,
33576
+ AgentCard: () => AgentCard,
33577
+ AgentDataTable: () => AgentDataTable,
33571
33578
  AudienceDemographicsCard: () => AudienceDemographicsCard,
33572
33579
  AudienceMetricCard: () => AudienceMetricCard,
33573
33580
  BrandAffinityGroup: () => BrandAffinityGroup,
@@ -33587,6 +33594,7 @@ __export(molecules_exports, {
33587
33594
  FilterBar: () => FilterBar,
33588
33595
  FormCard: () => FormCard,
33589
33596
  GrowthChartCard: () => GrowthChartCard,
33597
+ InstructionPreview: () => InstructionPreview,
33590
33598
  KeywordBundlesDisplay: () => KeywordBundlesDisplay,
33591
33599
  KeywordBundlesEdit: () => KeywordBundlesEdit,
33592
33600
  LoadingOverlay: () => LoadingOverlay,
@@ -33599,7 +33607,9 @@ __export(molecules_exports, {
33599
33607
  StatsGrid: () => StatsGrid,
33600
33608
  StepWizard: () => StepWizard,
33601
33609
  TagCloud: () => TagCloud,
33602
- TopPostsGrid: () => TopPostsGrid
33610
+ ToolListCard: () => ToolListCard,
33611
+ TopPostsGrid: () => TopPostsGrid,
33612
+ WorkflowVisualizer: () => WorkflowVisualizer
33603
33613
  });
33604
33614
 
33605
33615
  // src/molecules/generic/EditableField/EditableField.tsx
@@ -36878,6 +36888,590 @@ var CampaignConceptCard = import_react64.default.memo(
36878
36888
  );
36879
36889
  CampaignConceptCard.displayName = "CampaignConceptCard";
36880
36890
 
36891
+ // src/molecules/agent-builder/ToolListCard/ToolListCard.tsx
36892
+ var import_jsx_runtime122 = require("react/jsx-runtime");
36893
+ var ICON_MAP = {
36894
+ Search,
36895
+ Database,
36896
+ Globe,
36897
+ FileText,
36898
+ Zap,
36899
+ Layout: PanelsTopLeft,
36900
+ Wrench,
36901
+ BookOpen,
36902
+ BarChart3: ChartColumn,
36903
+ Link,
36904
+ MessageSquare,
36905
+ Sparkles,
36906
+ FolderOpen,
36907
+ Code,
36908
+ Shield,
36909
+ Image,
36910
+ Mail,
36911
+ Calendar
36912
+ };
36913
+ var CATEGORY_FALLBACK = {
36914
+ search: Search,
36915
+ data: Database,
36916
+ knowledge: BookOpen,
36917
+ web: Globe,
36918
+ content: FileText,
36919
+ ui: PanelsTopLeft,
36920
+ analytics: ChartColumn,
36921
+ integration: Link,
36922
+ communication: MessageSquare,
36923
+ generation: Sparkles,
36924
+ file: FolderOpen,
36925
+ code: Code,
36926
+ security: Shield,
36927
+ general: Zap
36928
+ };
36929
+ function resolveIcon(tool) {
36930
+ if (tool.icon && ICON_MAP[tool.icon]) return ICON_MAP[tool.icon];
36931
+ if (tool.category && CATEGORY_FALLBACK[tool.category.toLowerCase()])
36932
+ return CATEGORY_FALLBACK[tool.category.toLowerCase()];
36933
+ return Wrench;
36934
+ }
36935
+ function resolveCategoryIcon(category) {
36936
+ return CATEGORY_FALLBACK[category.toLowerCase()] || Wrench;
36937
+ }
36938
+ var ToolListCard = ({
36939
+ tools,
36940
+ className
36941
+ }) => {
36942
+ const grouped = {};
36943
+ for (const tool of tools) {
36944
+ const cat = tool.category || "General";
36945
+ if (!grouped[cat]) grouped[cat] = [];
36946
+ grouped[cat].push(tool);
36947
+ }
36948
+ const categories = Object.keys(grouped);
36949
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
36950
+ "div",
36951
+ {
36952
+ className: cn(
36953
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
36954
+ className
36955
+ ),
36956
+ children: [
36957
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
36958
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "w-6 h-6 rounded-md bg-[var(--primary-color)]/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Wrench, { className: "w-3.5 h-3.5 text-[var(--primary-color)]" }) }),
36959
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Available Tools" }),
36960
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: tools.length })
36961
+ ] }),
36962
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
36963
+ const CatIcon = resolveCategoryIcon(cat);
36964
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "px-4 py-3", children: [
36965
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex items-center gap-2 mb-2.5", children: [
36966
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(CatIcon, { className: "w-3.5 h-3.5 text-[var(--primary-color)]/70" }),
36967
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
36968
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
36969
+ ] }),
36970
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "space-y-1.5", children: grouped[cat].map((tool) => {
36971
+ const ToolIcon = resolveIcon(tool);
36972
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
36973
+ "div",
36974
+ {
36975
+ className: "group flex items-start gap-3 px-3 py-2 rounded-lg hover:bg-[var(--foreground)]/[0.03] transition-colors",
36976
+ children: [
36977
+ /* @__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
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex-1 min-w-0", children: [
36979
+ /* @__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 })
36982
+ ] }),
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 })
36984
+ ] })
36985
+ ]
36986
+ },
36987
+ tool.name
36988
+ );
36989
+ }) })
36990
+ ] }, cat);
36991
+ }) })
36992
+ ]
36993
+ }
36994
+ );
36995
+ };
36996
+
36997
+ // src/molecules/agent-builder/AgentCard/AgentCard.tsx
36998
+ var import_react65 = require("react");
36999
+ var import_jsx_runtime123 = require("react/jsx-runtime");
37000
+ var AgentCard = ({
37001
+ agent,
37002
+ editable = true,
37003
+ compact = false,
37004
+ onSave,
37005
+ className
37006
+ }) => {
37007
+ const [isEditing, setIsEditing] = (0, import_react65.useState)(false);
37008
+ const [isSaving, setIsSaving] = (0, import_react65.useState)(false);
37009
+ const [editState, setEditState] = (0, import_react65.useState)({
37010
+ display_name: agent.display_name,
37011
+ description: agent.description,
37012
+ image: agent.image || ""
37013
+ });
37014
+ const avatarUrl = agent.image || `https://api.dicebear.com/7.x/avataaars/svg?seed=${agent.name}`;
37015
+ const handleEdit = (0, import_react65.useCallback)(() => {
37016
+ setEditState({
37017
+ display_name: agent.display_name,
37018
+ description: agent.description,
37019
+ image: agent.image || ""
37020
+ });
37021
+ setIsEditing(true);
37022
+ }, [agent]);
37023
+ const handleCancel = (0, import_react65.useCallback)(() => {
37024
+ setIsEditing(false);
37025
+ }, []);
37026
+ const handleSave = (0, import_react65.useCallback)(async () => {
37027
+ if (!onSave) return;
37028
+ const updates = {};
37029
+ if (editState.display_name !== agent.display_name)
37030
+ updates.display_name = editState.display_name;
37031
+ if (editState.description !== agent.description)
37032
+ updates.description = editState.description;
37033
+ if (editState.image !== (agent.image || ""))
37034
+ updates.image = editState.image;
37035
+ if (Object.keys(updates).length === 0) {
37036
+ setIsEditing(false);
37037
+ return;
37038
+ }
37039
+ setIsSaving(true);
37040
+ try {
37041
+ await onSave(agent, updates);
37042
+ setIsEditing(false);
37043
+ } catch (err) {
37044
+ console.error("AgentCard save failed:", err);
37045
+ } finally {
37046
+ setIsSaving(false);
37047
+ }
37048
+ }, [onSave, agent, editState]);
37049
+ if (compact) {
37050
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
37051
+ "div",
37052
+ {
37053
+ className: cn(
37054
+ "flex items-center gap-3 py-1",
37055
+ className
37056
+ ),
37057
+ children: [
37058
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(Avatar, { className: "h-8 w-8 shrink-0", children: [
37059
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
37060
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarFallback, { className: "bg-[var(--primary-color)]/10 text-[var(--primary-color)] text-xs font-bold", children: agent.display_name.charAt(0) })
37061
+ ] }),
37062
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex-1 min-w-0", children: [
37063
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-center gap-2", children: [
37064
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
37065
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37066
+ "span",
37067
+ {
37068
+ className: cn(
37069
+ "text-[10px] px-1.5 py-0.5 rounded-full font-medium",
37070
+ agent.enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
37071
+ ),
37072
+ children: agent.enabled ? "Active" : "Disabled"
37073
+ }
37074
+ )
37075
+ ] }),
37076
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-[var(--foreground)]/50 text-xs truncate", children: agent.description })
37077
+ ] })
37078
+ ]
37079
+ }
37080
+ );
37081
+ }
37082
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
37083
+ "div",
37084
+ {
37085
+ className: cn(
37086
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37087
+ className
37088
+ ),
37089
+ children: [
37090
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37091
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-[var(--primary-color)]/20", children: [
37092
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
37093
+ /* @__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
+ ] }),
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: [
37127
+ /* @__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 }),
37129
+ /* @__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
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37131
+ "span",
37132
+ {
37133
+ className: cn(
37134
+ "text-[10px] px-1.5 py-0.5 rounded-full font-medium",
37135
+ agent.enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
37136
+ ),
37137
+ children: agent.enabled ? "Active" : "Disabled"
37138
+ }
37139
+ )
37140
+ ] }),
37141
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 mt-1 leading-relaxed", children: agent.description })
37142
+ ] }) }),
37143
+ 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
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37145
+ "button",
37146
+ {
37147
+ onClick: handleCancel,
37148
+ disabled: isSaving,
37149
+ className: "text-[11px] px-2.5 py-1 rounded-md border border-[var(--border-color)] text-[var(--foreground)]/60 hover:text-[var(--foreground)] transition-colors disabled:opacity-50",
37150
+ children: "Cancel"
37151
+ }
37152
+ ),
37153
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37154
+ "button",
37155
+ {
37156
+ onClick: handleSave,
37157
+ 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",
37159
+ children: isSaving ? "Saving..." : "Save"
37160
+ }
37161
+ )
37162
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37163
+ "button",
37164
+ {
37165
+ onClick: handleEdit,
37166
+ className: "text-[11px] px-2.5 py-1 rounded-md border border-[var(--border-color)] text-[var(--foreground)]/50 hover:text-[var(--foreground)] hover:border-[var(--primary-color)]/50 transition-colors",
37167
+ children: "Edit"
37168
+ }
37169
+ ) })
37170
+ ] }),
37171
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex flex-wrap items-center gap-3 px-5 pb-3 text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("span", { className: "text-[var(--foreground)]/40", children: [
37172
+ "Model:",
37173
+ " ",
37174
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "font-mono text-[var(--foreground)]/70", children: agent.model })
37175
+ ] }) }),
37176
+ agent.tools && agent.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-3", children: [
37177
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-2", children: [
37178
+ "Tools (",
37179
+ agent.tools.length,
37180
+ ")"
37181
+ ] }),
37182
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex flex-wrap gap-1.5", children: agent.tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37183
+ "span",
37184
+ {
37185
+ className: "text-[11px] px-2 py-0.5 rounded-md bg-[var(--primary-color)]/10 text-[var(--primary-color)] font-mono border border-[var(--primary-color)]/20",
37186
+ children: tool
37187
+ },
37188
+ tool
37189
+ )) })
37190
+ ] })
37191
+ ]
37192
+ }
37193
+ );
37194
+ };
37195
+
37196
+ // src/molecules/agent-builder/AgentDataTable/AgentDataTable.tsx
37197
+ var import_jsx_runtime124 = require("react/jsx-runtime");
37198
+ var AgentDataTable = ({
37199
+ headers,
37200
+ rows,
37201
+ className
37202
+ }) => {
37203
+ const renderCell = (value) => {
37204
+ if (typeof value === "boolean") {
37205
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
37206
+ "span",
37207
+ {
37208
+ className: cn(
37209
+ "inline-flex items-center gap-1 text-[11px] font-medium px-2 py-0.5 rounded-full",
37210
+ value ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
37211
+ ),
37212
+ children: [
37213
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37214
+ "span",
37215
+ {
37216
+ className: cn(
37217
+ "w-1.5 h-1.5 rounded-full",
37218
+ value ? "bg-emerald-500" : "bg-red-500"
37219
+ )
37220
+ }
37221
+ ),
37222
+ value ? "Yes" : "No"
37223
+ ]
37224
+ }
37225
+ );
37226
+ }
37227
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("span", { className: "text-[var(--foreground)]", children: String(value) });
37228
+ };
37229
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37230
+ "div",
37231
+ {
37232
+ className: cn(
37233
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37234
+ className
37235
+ ),
37236
+ 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: [
37237
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37238
+ "th",
37239
+ {
37240
+ className: "text-left px-4 py-2.5 text-[11px] font-semibold text-[var(--foreground)]/60 uppercase tracking-wide whitespace-nowrap",
37241
+ children: header
37242
+ },
37243
+ header
37244
+ )) }) }),
37245
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37246
+ "tr",
37247
+ {
37248
+ className: "border-b border-[var(--border-color)] last:border-b-0 hover:bg-[var(--foreground)]/[0.02] transition-colors",
37249
+ children: row.map((cell, cellIdx) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37250
+ "td",
37251
+ {
37252
+ className: "px-4 py-2.5 text-xs whitespace-nowrap",
37253
+ children: renderCell(cell)
37254
+ },
37255
+ cellIdx
37256
+ ))
37257
+ },
37258
+ rowIdx
37259
+ )) })
37260
+ ] }) })
37261
+ }
37262
+ );
37263
+ };
37264
+
37265
+ // src/molecules/agent-builder/WorkflowVisualizer/WorkflowVisualizer.tsx
37266
+ var import_react66 = require("react");
37267
+ var import_jsx_runtime125 = require("react/jsx-runtime");
37268
+ var WorkflowVisualizer = ({
37269
+ steps,
37270
+ className
37271
+ }) => {
37272
+ const [expandedStep, setExpandedStep] = (0, import_react66.useState)(null);
37273
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37274
+ "div",
37275
+ {
37276
+ className: cn(
37277
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
37278
+ className
37279
+ ),
37280
+ children: [
37281
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37282
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-6 h-6 rounded-md bg-[var(--primary-color)]/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37283
+ "svg",
37284
+ {
37285
+ width: "14",
37286
+ height: "14",
37287
+ viewBox: "0 0 24 24",
37288
+ fill: "none",
37289
+ stroke: "var(--primary-color)",
37290
+ strokeWidth: "2",
37291
+ strokeLinecap: "round",
37292
+ strokeLinejoin: "round",
37293
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("polyline", { points: "22 12 18 12 15 21 9 3 6 12 2 12" })
37294
+ }
37295
+ ) }),
37296
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Workflow" }),
37297
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: [
37298
+ steps.length,
37299
+ " steps"
37300
+ ] })
37301
+ ] }),
37302
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "px-4 py-3", children: steps.map((step, idx) => {
37303
+ const isLast = idx === steps.length - 1;
37304
+ const isExpanded = expandedStep === step.id;
37305
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex gap-3", children: [
37306
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col items-center shrink-0", children: [
37307
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-7 h-7 rounded-full bg-[var(--primary-color)]/10 border-2 border-[var(--primary-color)]/30 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[10px] font-bold text-[var(--primary-color)]", children: idx + 1 }) }),
37308
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-0.5 flex-1 min-h-[16px] bg-[var(--primary-color)]/15" })
37309
+ ] }),
37310
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37311
+ "div",
37312
+ {
37313
+ className: cn(
37314
+ "flex-1 mb-3 rounded-lg border border-[var(--border-color)] transition-colors",
37315
+ isExpanded ? "bg-[var(--foreground)]/[0.02]" : "hover:bg-[var(--foreground)]/[0.02]"
37316
+ ),
37317
+ children: [
37318
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37319
+ "button",
37320
+ {
37321
+ onClick: () => setExpandedStep(isExpanded ? null : step.id),
37322
+ className: "w-full text-left px-3 py-2.5 flex items-center gap-2",
37323
+ children: [
37324
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex-1 min-w-0", children: [
37325
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }),
37326
+ step.description && !isExpanded && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("span", { className: "text-xs text-[var(--foreground)]/40 ml-2", children: [
37327
+ "\u2014 ",
37328
+ step.description
37329
+ ] })
37330
+ ] }),
37331
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37332
+ "svg",
37333
+ {
37334
+ width: "12",
37335
+ height: "12",
37336
+ viewBox: "0 0 24 24",
37337
+ fill: "none",
37338
+ stroke: "currentColor",
37339
+ strokeWidth: "2",
37340
+ className: cn(
37341
+ "shrink-0 text-[var(--foreground)]/30 transition-transform",
37342
+ isExpanded && "rotate-180"
37343
+ ),
37344
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("polyline", { points: "6 9 12 15 18 9" })
37345
+ }
37346
+ )
37347
+ ]
37348
+ }
37349
+ ),
37350
+ isExpanded && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "px-3 pb-3 space-y-2.5", children: [
37351
+ step.description && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed", children: step.description }),
37352
+ step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37353
+ "div",
37354
+ {
37355
+ className: "flex items-start gap-2 text-xs",
37356
+ children: [
37357
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "shrink-0 mt-0.5 w-1.5 h-1.5 rounded-full bg-[var(--primary-color)]/40" }),
37358
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[var(--foreground)]/60", children: sub.action })
37359
+ ]
37360
+ },
37361
+ sub.id
37362
+ )) }),
37363
+ step.tools && step.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
37364
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold tracking-wider", children: "Tools:" }),
37365
+ step.tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37366
+ "span",
37367
+ {
37368
+ className: "text-[10px] font-mono px-1.5 py-0.5 rounded bg-[var(--primary-color)]/[0.08] text-[var(--primary-color)]/70 border border-[var(--primary-color)]/10",
37369
+ children: tool
37370
+ },
37371
+ tool
37372
+ ))
37373
+ ] }),
37374
+ step.on_failure && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex items-start gap-2 text-xs bg-[#ef4444]/[0.06] border border-[#ef4444]/10 rounded-md px-2.5 py-2", children: [
37375
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "shrink-0 text-[10px] font-semibold text-[#ef4444]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
37376
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
37377
+ ] })
37378
+ ] })
37379
+ ]
37380
+ }
37381
+ )
37382
+ ] }, step.id);
37383
+ }) })
37384
+ ]
37385
+ }
37386
+ );
37387
+ };
37388
+
37389
+ // src/molecules/agent-builder/InstructionPreview/InstructionPreview.tsx
37390
+ var import_react67 = require("react");
37391
+ var import_jsx_runtime126 = require("react/jsx-runtime");
37392
+ var InstructionPreview = ({
37393
+ agent_name,
37394
+ description,
37395
+ instruction,
37396
+ workflow_summary,
37397
+ tools,
37398
+ className
37399
+ }) => {
37400
+ const [isExpanded, setIsExpanded] = (0, import_react67.useState)(false);
37401
+ const previewLength = 300;
37402
+ const isLong = instruction.length > previewLength;
37403
+ const displayText = isExpanded || !isLong ? instruction : instruction.slice(0, previewLength) + "...";
37404
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
37405
+ "div",
37406
+ {
37407
+ className: cn(
37408
+ "my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
37409
+ className
37410
+ ),
37411
+ children: [
37412
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex items-center gap-2.5", children: [
37413
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "w-6 h-6 rounded-md bg-[var(--primary-color)]/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
37414
+ "svg",
37415
+ {
37416
+ width: "14",
37417
+ height: "14",
37418
+ viewBox: "0 0 24 24",
37419
+ fill: "none",
37420
+ stroke: "var(--primary-color)",
37421
+ strokeWidth: "2",
37422
+ strokeLinecap: "round",
37423
+ strokeLinejoin: "round",
37424
+ children: [
37425
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
37426
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("polyline", { points: "14 2 14 8 20 8" }),
37427
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
37428
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
37429
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("polyline", { points: "10 9 9 9 8 9" })
37430
+ ]
37431
+ }
37432
+ ) }),
37433
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex-1 min-w-0", children: [
37434
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
37435
+ description && /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5", children: description })
37436
+ ] })
37437
+ ] }) }),
37438
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "px-4 py-3 space-y-3", children: [
37439
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { children: [
37440
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Instruction" }),
37441
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-pre-wrap font-mono bg-[var(--foreground)]/[0.02] border border-[var(--border-color)] rounded-lg p-3", children: displayText }),
37442
+ isLong && /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
37443
+ "button",
37444
+ {
37445
+ onClick: () => setIsExpanded(!isExpanded),
37446
+ className: "text-[11px] text-[var(--primary-color)] hover:underline mt-1",
37447
+ children: isExpanded ? "Show less" : "Show full instruction"
37448
+ }
37449
+ )
37450
+ ] }),
37451
+ workflow_summary && workflow_summary.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { children: [
37452
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Workflow" }),
37453
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "space-y-1", children: workflow_summary.map((step, idx) => /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex items-start gap-2 text-xs", children: [
37454
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { className: "shrink-0 w-5 h-5 rounded-full bg-[var(--primary-color)]/10 flex items-center justify-center text-[10px] font-bold text-[var(--primary-color)]", children: idx + 1 }),
37455
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { className: "text-[var(--foreground)]/50 mt-0.5", children: step })
37456
+ ] }, idx)) })
37457
+ ] }),
37458
+ tools && tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { children: [
37459
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Tools" }),
37460
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "flex flex-wrap gap-1.5", children: tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
37461
+ "span",
37462
+ {
37463
+ className: "text-[10px] font-mono px-2 py-0.5 rounded bg-[var(--primary-color)]/[0.08] text-[var(--primary-color)]/70 border border-[var(--primary-color)]/10",
37464
+ children: tool
37465
+ },
37466
+ tool
37467
+ )) })
37468
+ ] })
37469
+ ] })
37470
+ ]
37471
+ }
37472
+ );
37473
+ };
37474
+
36881
37475
  // src/components/ui/index.ts
36882
37476
  var ui_exports = {};
36883
37477
  __export(ui_exports, {
@@ -37170,7 +37764,7 @@ __export(ui_exports, {
37170
37764
  // src/components/ui/button-group.tsx
37171
37765
  var import_react_slot4 = require("@radix-ui/react-slot");
37172
37766
  var import_class_variance_authority8 = require("class-variance-authority");
37173
- var import_jsx_runtime122 = require("react/jsx-runtime");
37767
+ var import_jsx_runtime127 = require("react/jsx-runtime");
37174
37768
  var buttonGroupVariants = (0, import_class_variance_authority8.cva)(
37175
37769
  "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",
37176
37770
  {
@@ -37190,7 +37784,7 @@ function ButtonGroup({
37190
37784
  orientation,
37191
37785
  ...props
37192
37786
  }) {
37193
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
37787
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
37194
37788
  "div",
37195
37789
  {
37196
37790
  role: "group",
@@ -37207,7 +37801,7 @@ function ButtonGroupText({
37207
37801
  ...props
37208
37802
  }) {
37209
37803
  const Comp = asChild ? import_react_slot4.Slot : "div";
37210
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
37804
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
37211
37805
  Comp,
37212
37806
  {
37213
37807
  className: cn(
@@ -37223,7 +37817,7 @@ function ButtonGroupSeparator({
37223
37817
  orientation = "vertical",
37224
37818
  ...props
37225
37819
  }) {
37226
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
37820
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
37227
37821
  Separator2,
37228
37822
  {
37229
37823
  "data-slot": "button-group-separator",
@@ -37239,9 +37833,9 @@ function ButtonGroupSeparator({
37239
37833
 
37240
37834
  // src/components/ui/empty.tsx
37241
37835
  var import_class_variance_authority9 = require("class-variance-authority");
37242
- var import_jsx_runtime123 = require("react/jsx-runtime");
37836
+ var import_jsx_runtime128 = require("react/jsx-runtime");
37243
37837
  function Empty({ className, ...props }) {
37244
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37838
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37245
37839
  "div",
37246
37840
  {
37247
37841
  "data-slot": "empty",
@@ -37254,7 +37848,7 @@ function Empty({ className, ...props }) {
37254
37848
  );
37255
37849
  }
37256
37850
  function EmptyHeader({ className, ...props }) {
37257
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37851
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37258
37852
  "div",
37259
37853
  {
37260
37854
  "data-slot": "empty-header",
@@ -37285,7 +37879,7 @@ function EmptyMedia({
37285
37879
  variant = "default",
37286
37880
  ...props
37287
37881
  }) {
37288
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37882
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37289
37883
  "div",
37290
37884
  {
37291
37885
  "data-slot": "empty-icon",
@@ -37296,7 +37890,7 @@ function EmptyMedia({
37296
37890
  );
37297
37891
  }
37298
37892
  function EmptyTitle({ className, ...props }) {
37299
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37893
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37300
37894
  "div",
37301
37895
  {
37302
37896
  "data-slot": "empty-title",
@@ -37306,7 +37900,7 @@ function EmptyTitle({ className, ...props }) {
37306
37900
  );
37307
37901
  }
37308
37902
  function EmptyDescription({ className, ...props }) {
37309
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37903
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37310
37904
  "div",
37311
37905
  {
37312
37906
  "data-slot": "empty-description",
@@ -37319,7 +37913,7 @@ function EmptyDescription({ className, ...props }) {
37319
37913
  );
37320
37914
  }
37321
37915
  function EmptyContent({ className, ...props }) {
37322
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37916
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37323
37917
  "div",
37324
37918
  {
37325
37919
  "data-slot": "empty-content",
@@ -37333,11 +37927,11 @@ function EmptyContent({ className, ...props }) {
37333
37927
  }
37334
37928
 
37335
37929
  // src/components/ui/field.tsx
37336
- var import_react65 = require("react");
37930
+ var import_react68 = require("react");
37337
37931
  var import_class_variance_authority10 = require("class-variance-authority");
37338
- var import_jsx_runtime124 = require("react/jsx-runtime");
37932
+ var import_jsx_runtime129 = require("react/jsx-runtime");
37339
37933
  function FieldSet({ className, ...props }) {
37340
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37934
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37341
37935
  "fieldset",
37342
37936
  {
37343
37937
  "data-slot": "field-set",
@@ -37355,7 +37949,7 @@ function FieldLegend({
37355
37949
  variant = "legend",
37356
37950
  ...props
37357
37951
  }) {
37358
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37952
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37359
37953
  "legend",
37360
37954
  {
37361
37955
  "data-slot": "field-legend",
@@ -37371,7 +37965,7 @@ function FieldLegend({
37371
37965
  );
37372
37966
  }
37373
37967
  function FieldGroup({ className, ...props }) {
37374
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37968
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37375
37969
  "div",
37376
37970
  {
37377
37971
  "data-slot": "field-group",
@@ -37411,7 +38005,7 @@ function Field({
37411
38005
  orientation = "vertical",
37412
38006
  ...props
37413
38007
  }) {
37414
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38008
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37415
38009
  "div",
37416
38010
  {
37417
38011
  role: "group",
@@ -37423,7 +38017,7 @@ function Field({
37423
38017
  );
37424
38018
  }
37425
38019
  function FieldContent({ className, ...props }) {
37426
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38020
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37427
38021
  "div",
37428
38022
  {
37429
38023
  "data-slot": "field-content",
@@ -37439,7 +38033,7 @@ function FieldLabel({
37439
38033
  className,
37440
38034
  ...props
37441
38035
  }) {
37442
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38036
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37443
38037
  Label,
37444
38038
  {
37445
38039
  "data-slot": "field-label",
@@ -37454,7 +38048,7 @@ function FieldLabel({
37454
38048
  );
37455
38049
  }
37456
38050
  function FieldTitle({ className, ...props }) {
37457
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38051
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37458
38052
  "div",
37459
38053
  {
37460
38054
  "data-slot": "field-label",
@@ -37467,7 +38061,7 @@ function FieldTitle({ className, ...props }) {
37467
38061
  );
37468
38062
  }
37469
38063
  function FieldDescription({ className, ...props }) {
37470
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38064
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37471
38065
  "p",
37472
38066
  {
37473
38067
  "data-slot": "field-description",
@@ -37486,7 +38080,7 @@ function FieldSeparator({
37486
38080
  className,
37487
38081
  ...props
37488
38082
  }) {
37489
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
38083
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
37490
38084
  "div",
37491
38085
  {
37492
38086
  "data-slot": "field-separator",
@@ -37497,8 +38091,8 @@ function FieldSeparator({
37497
38091
  ),
37498
38092
  ...props,
37499
38093
  children: [
37500
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
37501
- children && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38094
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
38095
+ children && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37502
38096
  "span",
37503
38097
  {
37504
38098
  className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
@@ -37516,7 +38110,7 @@ function FieldError({
37516
38110
  errors,
37517
38111
  ...props
37518
38112
  }) {
37519
- const content = (0, import_react65.useMemo)(() => {
38113
+ const content = (0, import_react68.useMemo)(() => {
37520
38114
  if (children) {
37521
38115
  return children;
37522
38116
  }
@@ -37526,14 +38120,14 @@ function FieldError({
37526
38120
  if (errors?.length === 1 && errors[0]?.message) {
37527
38121
  return errors[0].message;
37528
38122
  }
37529
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
37530
- (error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("li", { children: error.message }, index)
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)
37531
38125
  ) });
37532
38126
  }, [children, errors]);
37533
38127
  if (!content) {
37534
38128
  return null;
37535
38129
  }
37536
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
38130
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37537
38131
  "div",
37538
38132
  {
37539
38133
  role: "alert",
@@ -37547,9 +38141,9 @@ function FieldError({
37547
38141
 
37548
38142
  // src/components/ui/input-group.tsx
37549
38143
  var import_class_variance_authority11 = require("class-variance-authority");
37550
- var import_jsx_runtime125 = require("react/jsx-runtime");
38144
+ var import_jsx_runtime130 = require("react/jsx-runtime");
37551
38145
  function InputGroup({ className, ...props }) {
37552
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
38146
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37553
38147
  "div",
37554
38148
  {
37555
38149
  "data-slot": "input-group",
@@ -37593,7 +38187,7 @@ function InputGroupAddon({
37593
38187
  align = "inline-start",
37594
38188
  ...props
37595
38189
  }) {
37596
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
38190
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37597
38191
  "div",
37598
38192
  {
37599
38193
  role: "group",
@@ -37633,7 +38227,7 @@ function InputGroupButton({
37633
38227
  size = "xs",
37634
38228
  ...props
37635
38229
  }) {
37636
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
38230
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37637
38231
  Button,
37638
38232
  {
37639
38233
  type,
@@ -37645,7 +38239,7 @@ function InputGroupButton({
37645
38239
  );
37646
38240
  }
37647
38241
  function InputGroupText({ className, ...props }) {
37648
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
38242
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37649
38243
  "span",
37650
38244
  {
37651
38245
  className: cn(
@@ -37660,7 +38254,7 @@ function InputGroupInput({
37660
38254
  className,
37661
38255
  ...props
37662
38256
  }) {
37663
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
38257
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37664
38258
  Input,
37665
38259
  {
37666
38260
  "data-slot": "input-group-control",
@@ -37676,7 +38270,7 @@ function InputGroupTextarea({
37676
38270
  className,
37677
38271
  ...props
37678
38272
  }) {
37679
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
38273
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37680
38274
  Textarea,
37681
38275
  {
37682
38276
  "data-slot": "input-group-control",
@@ -37692,9 +38286,9 @@ function InputGroupTextarea({
37692
38286
  // src/components/ui/item.tsx
37693
38287
  var import_react_slot5 = require("@radix-ui/react-slot");
37694
38288
  var import_class_variance_authority12 = require("class-variance-authority");
37695
- var import_jsx_runtime126 = require("react/jsx-runtime");
38289
+ var import_jsx_runtime131 = require("react/jsx-runtime");
37696
38290
  function ItemGroup({ className, ...props }) {
37697
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38291
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37698
38292
  "div",
37699
38293
  {
37700
38294
  role: "list",
@@ -37708,7 +38302,7 @@ function ItemSeparator({
37708
38302
  className,
37709
38303
  ...props
37710
38304
  }) {
37711
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38305
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37712
38306
  Separator2,
37713
38307
  {
37714
38308
  "data-slot": "item-separator",
@@ -37746,7 +38340,7 @@ function Item8({
37746
38340
  ...props
37747
38341
  }) {
37748
38342
  const Comp = asChild ? import_react_slot5.Slot : "div";
37749
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38343
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37750
38344
  Comp,
37751
38345
  {
37752
38346
  "data-slot": "item",
@@ -37777,7 +38371,7 @@ function ItemMedia({
37777
38371
  variant = "default",
37778
38372
  ...props
37779
38373
  }) {
37780
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38374
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37781
38375
  "div",
37782
38376
  {
37783
38377
  "data-slot": "item-media",
@@ -37788,7 +38382,7 @@ function ItemMedia({
37788
38382
  );
37789
38383
  }
37790
38384
  function ItemContent({ className, ...props }) {
37791
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38385
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37792
38386
  "div",
37793
38387
  {
37794
38388
  "data-slot": "item-content",
@@ -37801,7 +38395,7 @@ function ItemContent({ className, ...props }) {
37801
38395
  );
37802
38396
  }
37803
38397
  function ItemTitle({ className, ...props }) {
37804
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38398
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37805
38399
  "div",
37806
38400
  {
37807
38401
  "data-slot": "item-title",
@@ -37814,7 +38408,7 @@ function ItemTitle({ className, ...props }) {
37814
38408
  );
37815
38409
  }
37816
38410
  function ItemDescription({ className, ...props }) {
37817
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38411
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37818
38412
  "p",
37819
38413
  {
37820
38414
  "data-slot": "item-description",
@@ -37828,7 +38422,7 @@ function ItemDescription({ className, ...props }) {
37828
38422
  );
37829
38423
  }
37830
38424
  function ItemActions({ className, ...props }) {
37831
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38425
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37832
38426
  "div",
37833
38427
  {
37834
38428
  "data-slot": "item-actions",
@@ -37838,7 +38432,7 @@ function ItemActions({ className, ...props }) {
37838
38432
  );
37839
38433
  }
37840
38434
  function ItemHeader({ className, ...props }) {
37841
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38435
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37842
38436
  "div",
37843
38437
  {
37844
38438
  "data-slot": "item-header",
@@ -37851,7 +38445,7 @@ function ItemHeader({ className, ...props }) {
37851
38445
  );
37852
38446
  }
37853
38447
  function ItemFooter({ className, ...props }) {
37854
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
38448
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37855
38449
  "div",
37856
38450
  {
37857
38451
  "data-slot": "item-footer",
@@ -37865,9 +38459,9 @@ function ItemFooter({ className, ...props }) {
37865
38459
  }
37866
38460
 
37867
38461
  // src/components/ui/kbd.tsx
37868
- var import_jsx_runtime127 = require("react/jsx-runtime");
38462
+ var import_jsx_runtime132 = require("react/jsx-runtime");
37869
38463
  function Kbd({ className, ...props }) {
37870
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38464
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37871
38465
  "kbd",
37872
38466
  {
37873
38467
  "data-slot": "kbd",
@@ -37882,7 +38476,7 @@ function Kbd({ className, ...props }) {
37882
38476
  );
37883
38477
  }
37884
38478
  function KbdGroup({ className, ...props }) {
37885
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38479
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37886
38480
  "kbd",
37887
38481
  {
37888
38482
  "data-slot": "kbd-group",
@@ -37893,16 +38487,16 @@ function KbdGroup({ className, ...props }) {
37893
38487
  }
37894
38488
 
37895
38489
  // src/components/ui/sidebar.tsx
37896
- var React96 = __toESM(require("react"), 1);
38490
+ var React99 = __toESM(require("react"), 1);
37897
38491
  var import_react_slot6 = require("@radix-ui/react-slot");
37898
38492
  var import_class_variance_authority13 = require("class-variance-authority");
37899
38493
 
37900
38494
  // src/hooks/use-mobile.tsx
37901
- var React95 = __toESM(require("react"), 1);
38495
+ var React98 = __toESM(require("react"), 1);
37902
38496
  var MOBILE_BREAKPOINT = 768;
37903
38497
  function useIsMobile() {
37904
- const [isMobile, setIsMobile] = React95.useState(void 0);
37905
- React95.useEffect(() => {
38498
+ const [isMobile, setIsMobile] = React98.useState(void 0);
38499
+ React98.useEffect(() => {
37906
38500
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
37907
38501
  const onChange = () => {
37908
38502
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -37915,22 +38509,22 @@ function useIsMobile() {
37915
38509
  }
37916
38510
 
37917
38511
  // src/components/ui/sidebar.tsx
37918
- var import_jsx_runtime128 = require("react/jsx-runtime");
38512
+ var import_jsx_runtime133 = require("react/jsx-runtime");
37919
38513
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
37920
38514
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
37921
38515
  var SIDEBAR_WIDTH = "16rem";
37922
38516
  var SIDEBAR_WIDTH_MOBILE = "18rem";
37923
38517
  var SIDEBAR_WIDTH_ICON = "3rem";
37924
38518
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
37925
- var SidebarContext = React96.createContext(null);
38519
+ var SidebarContext = React99.createContext(null);
37926
38520
  function useSidebar() {
37927
- const context = React96.useContext(SidebarContext);
38521
+ const context = React99.useContext(SidebarContext);
37928
38522
  if (!context) {
37929
38523
  throw new Error("useSidebar must be used within a SidebarProvider.");
37930
38524
  }
37931
38525
  return context;
37932
38526
  }
37933
- var SidebarProvider = React96.forwardRef(
38527
+ var SidebarProvider = React99.forwardRef(
37934
38528
  ({
37935
38529
  defaultOpen = true,
37936
38530
  open: openProp,
@@ -37941,10 +38535,10 @@ var SidebarProvider = React96.forwardRef(
37941
38535
  ...props
37942
38536
  }, ref) => {
37943
38537
  const isMobile = useIsMobile();
37944
- const [openMobile, setOpenMobile] = React96.useState(false);
37945
- const [_open, _setOpen] = React96.useState(defaultOpen);
38538
+ const [openMobile, setOpenMobile] = React99.useState(false);
38539
+ const [_open, _setOpen] = React99.useState(defaultOpen);
37946
38540
  const open = openProp ?? _open;
37947
- const setOpen = React96.useCallback(
38541
+ const setOpen = React99.useCallback(
37948
38542
  (value) => {
37949
38543
  const openState = typeof value === "function" ? value(open) : value;
37950
38544
  if (setOpenProp) {
@@ -37956,10 +38550,10 @@ var SidebarProvider = React96.forwardRef(
37956
38550
  },
37957
38551
  [setOpenProp, open]
37958
38552
  );
37959
- const toggleSidebar = React96.useCallback(() => {
38553
+ const toggleSidebar = React99.useCallback(() => {
37960
38554
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
37961
38555
  }, [isMobile, setOpen, setOpenMobile]);
37962
- React96.useEffect(() => {
38556
+ React99.useEffect(() => {
37963
38557
  const handleKeyDown = (event) => {
37964
38558
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
37965
38559
  event.preventDefault();
@@ -37970,7 +38564,7 @@ var SidebarProvider = React96.forwardRef(
37970
38564
  return () => window.removeEventListener("keydown", handleKeyDown);
37971
38565
  }, [toggleSidebar]);
37972
38566
  const state = open ? "expanded" : "collapsed";
37973
- const contextValue = React96.useMemo(
38567
+ const contextValue = React99.useMemo(
37974
38568
  () => ({
37975
38569
  state,
37976
38570
  open,
@@ -37982,7 +38576,7 @@ var SidebarProvider = React96.forwardRef(
37982
38576
  }),
37983
38577
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
37984
38578
  );
37985
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
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)(
37986
38580
  "div",
37987
38581
  {
37988
38582
  style: {
@@ -38002,7 +38596,7 @@ var SidebarProvider = React96.forwardRef(
38002
38596
  }
38003
38597
  );
38004
38598
  SidebarProvider.displayName = "SidebarProvider";
38005
- var Sidebar = React96.forwardRef(
38599
+ var Sidebar = React99.forwardRef(
38006
38600
  ({
38007
38601
  side = "left",
38008
38602
  variant = "sidebar",
@@ -38013,7 +38607,7 @@ var Sidebar = React96.forwardRef(
38013
38607
  }, ref) => {
38014
38608
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
38015
38609
  if (collapsible === "none") {
38016
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38610
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38017
38611
  "div",
38018
38612
  {
38019
38613
  className: cn(
@@ -38027,7 +38621,7 @@ var Sidebar = React96.forwardRef(
38027
38621
  );
38028
38622
  }
38029
38623
  if (isMobile) {
38030
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
38624
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
38031
38625
  SheetContent,
38032
38626
  {
38033
38627
  "data-sidebar": "sidebar",
@@ -38038,16 +38632,16 @@ var Sidebar = React96.forwardRef(
38038
38632
  },
38039
38633
  side,
38040
38634
  children: [
38041
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(SheetHeader, { className: "sr-only", children: [
38042
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SheetTitle, { children: "Sidebar" }),
38043
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
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." })
38044
38638
  ] }),
38045
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex h-full w-full flex-col", children })
38639
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "flex h-full w-full flex-col", children })
38046
38640
  ]
38047
38641
  }
38048
38642
  ) });
38049
38643
  }
38050
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
38644
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
38051
38645
  "div",
38052
38646
  {
38053
38647
  ref,
@@ -38057,7 +38651,7 @@ var Sidebar = React96.forwardRef(
38057
38651
  "data-variant": variant,
38058
38652
  "data-side": side,
38059
38653
  children: [
38060
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38654
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38061
38655
  "div",
38062
38656
  {
38063
38657
  className: cn(
@@ -38068,7 +38662,7 @@ var Sidebar = React96.forwardRef(
38068
38662
  )
38069
38663
  }
38070
38664
  ),
38071
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38665
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38072
38666
  "div",
38073
38667
  {
38074
38668
  className: cn(
@@ -38079,7 +38673,7 @@ var Sidebar = React96.forwardRef(
38079
38673
  className
38080
38674
  ),
38081
38675
  ...props,
38082
- children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38676
+ children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38083
38677
  "div",
38084
38678
  {
38085
38679
  "data-sidebar": "sidebar",
@@ -38095,9 +38689,9 @@ var Sidebar = React96.forwardRef(
38095
38689
  }
38096
38690
  );
38097
38691
  Sidebar.displayName = "Sidebar";
38098
- var SidebarTrigger = React96.forwardRef(({ className, onClick, ...props }, ref) => {
38692
+ var SidebarTrigger = React99.forwardRef(({ className, onClick, ...props }, ref) => {
38099
38693
  const { toggleSidebar } = useSidebar();
38100
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
38694
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
38101
38695
  Button,
38102
38696
  {
38103
38697
  ref,
@@ -38111,16 +38705,16 @@ var SidebarTrigger = React96.forwardRef(({ className, onClick, ...props }, ref)
38111
38705
  },
38112
38706
  ...props,
38113
38707
  children: [
38114
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(PanelLeft, {}),
38115
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
38708
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(PanelLeft, {}),
38709
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
38116
38710
  ]
38117
38711
  }
38118
38712
  );
38119
38713
  });
38120
38714
  SidebarTrigger.displayName = "SidebarTrigger";
38121
- var SidebarRail = React96.forwardRef(({ className, ...props }, ref) => {
38715
+ var SidebarRail = React99.forwardRef(({ className, ...props }, ref) => {
38122
38716
  const { toggleSidebar } = useSidebar();
38123
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38717
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38124
38718
  "button",
38125
38719
  {
38126
38720
  ref,
@@ -38143,8 +38737,8 @@ var SidebarRail = React96.forwardRef(({ className, ...props }, ref) => {
38143
38737
  );
38144
38738
  });
38145
38739
  SidebarRail.displayName = "SidebarRail";
38146
- var SidebarInset = React96.forwardRef(({ className, ...props }, ref) => {
38147
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38740
+ var SidebarInset = React99.forwardRef(({ className, ...props }, ref) => {
38741
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38148
38742
  "main",
38149
38743
  {
38150
38744
  ref,
@@ -38158,8 +38752,8 @@ var SidebarInset = React96.forwardRef(({ className, ...props }, ref) => {
38158
38752
  );
38159
38753
  });
38160
38754
  SidebarInset.displayName = "SidebarInset";
38161
- var SidebarInput = React96.forwardRef(({ className, ...props }, ref) => {
38162
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38755
+ var SidebarInput = React99.forwardRef(({ className, ...props }, ref) => {
38756
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38163
38757
  Input,
38164
38758
  {
38165
38759
  ref,
@@ -38173,8 +38767,8 @@ var SidebarInput = React96.forwardRef(({ className, ...props }, ref) => {
38173
38767
  );
38174
38768
  });
38175
38769
  SidebarInput.displayName = "SidebarInput";
38176
- var SidebarHeader = React96.forwardRef(({ className, ...props }, ref) => {
38177
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38770
+ var SidebarHeader = React99.forwardRef(({ className, ...props }, ref) => {
38771
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38178
38772
  "div",
38179
38773
  {
38180
38774
  ref,
@@ -38185,8 +38779,8 @@ var SidebarHeader = React96.forwardRef(({ className, ...props }, ref) => {
38185
38779
  );
38186
38780
  });
38187
38781
  SidebarHeader.displayName = "SidebarHeader";
38188
- var SidebarFooter = React96.forwardRef(({ className, ...props }, ref) => {
38189
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38782
+ var SidebarFooter = React99.forwardRef(({ className, ...props }, ref) => {
38783
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38190
38784
  "div",
38191
38785
  {
38192
38786
  ref,
@@ -38197,8 +38791,8 @@ var SidebarFooter = React96.forwardRef(({ className, ...props }, ref) => {
38197
38791
  );
38198
38792
  });
38199
38793
  SidebarFooter.displayName = "SidebarFooter";
38200
- var SidebarSeparator = React96.forwardRef(({ className, ...props }, ref) => {
38201
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38794
+ var SidebarSeparator = React99.forwardRef(({ className, ...props }, ref) => {
38795
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38202
38796
  Separator2,
38203
38797
  {
38204
38798
  ref,
@@ -38209,8 +38803,8 @@ var SidebarSeparator = React96.forwardRef(({ className, ...props }, ref) => {
38209
38803
  );
38210
38804
  });
38211
38805
  SidebarSeparator.displayName = "SidebarSeparator";
38212
- var SidebarContent = React96.forwardRef(({ className, ...props }, ref) => {
38213
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38806
+ var SidebarContent = React99.forwardRef(({ className, ...props }, ref) => {
38807
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38214
38808
  "div",
38215
38809
  {
38216
38810
  ref,
@@ -38224,8 +38818,8 @@ var SidebarContent = React96.forwardRef(({ className, ...props }, ref) => {
38224
38818
  );
38225
38819
  });
38226
38820
  SidebarContent.displayName = "SidebarContent";
38227
- var SidebarGroup = React96.forwardRef(({ className, ...props }, ref) => {
38228
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38821
+ var SidebarGroup = React99.forwardRef(({ className, ...props }, ref) => {
38822
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38229
38823
  "div",
38230
38824
  {
38231
38825
  ref,
@@ -38236,9 +38830,9 @@ var SidebarGroup = React96.forwardRef(({ className, ...props }, ref) => {
38236
38830
  );
38237
38831
  });
38238
38832
  SidebarGroup.displayName = "SidebarGroup";
38239
- var SidebarGroupLabel = React96.forwardRef(({ className, asChild = false, ...props }, ref) => {
38833
+ var SidebarGroupLabel = React99.forwardRef(({ className, asChild = false, ...props }, ref) => {
38240
38834
  const Comp = asChild ? import_react_slot6.Slot : "div";
38241
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38835
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38242
38836
  Comp,
38243
38837
  {
38244
38838
  ref,
@@ -38253,9 +38847,9 @@ var SidebarGroupLabel = React96.forwardRef(({ className, asChild = false, ...pro
38253
38847
  );
38254
38848
  });
38255
38849
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
38256
- var SidebarGroupAction = React96.forwardRef(({ className, asChild = false, ...props }, ref) => {
38850
+ var SidebarGroupAction = React99.forwardRef(({ className, asChild = false, ...props }, ref) => {
38257
38851
  const Comp = asChild ? import_react_slot6.Slot : "button";
38258
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38852
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38259
38853
  Comp,
38260
38854
  {
38261
38855
  ref,
@@ -38272,7 +38866,7 @@ var SidebarGroupAction = React96.forwardRef(({ className, asChild = false, ...pr
38272
38866
  );
38273
38867
  });
38274
38868
  SidebarGroupAction.displayName = "SidebarGroupAction";
38275
- var SidebarGroupContent = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38869
+ var SidebarGroupContent = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38276
38870
  "div",
38277
38871
  {
38278
38872
  ref,
@@ -38282,7 +38876,7 @@ var SidebarGroupContent = React96.forwardRef(({ className, ...props }, ref) => /
38282
38876
  }
38283
38877
  ));
38284
38878
  SidebarGroupContent.displayName = "SidebarGroupContent";
38285
- var SidebarMenu = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38879
+ var SidebarMenu = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38286
38880
  "ul",
38287
38881
  {
38288
38882
  ref,
@@ -38292,7 +38886,7 @@ var SidebarMenu = React96.forwardRef(({ className, ...props }, ref) => /* @__PUR
38292
38886
  }
38293
38887
  ));
38294
38888
  SidebarMenu.displayName = "SidebarMenu";
38295
- var SidebarMenuItem = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38889
+ var SidebarMenuItem = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38296
38890
  "li",
38297
38891
  {
38298
38892
  ref,
@@ -38322,7 +38916,7 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority13.cva)(
38322
38916
  }
38323
38917
  }
38324
38918
  );
38325
- var SidebarMenuButton = React96.forwardRef(
38919
+ var SidebarMenuButton = React99.forwardRef(
38326
38920
  ({
38327
38921
  asChild = false,
38328
38922
  isActive = false,
@@ -38334,7 +38928,7 @@ var SidebarMenuButton = React96.forwardRef(
38334
38928
  }, ref) => {
38335
38929
  const Comp = asChild ? import_react_slot6.Slot : "button";
38336
38930
  const { isMobile, state } = useSidebar();
38337
- const button = /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38931
+ const button = /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38338
38932
  Comp,
38339
38933
  {
38340
38934
  ref,
@@ -38353,9 +38947,9 @@ var SidebarMenuButton = React96.forwardRef(
38353
38947
  children: tooltip
38354
38948
  };
38355
38949
  }
38356
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Tooltip, { children: [
38357
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(TooltipTrigger, { asChild: true, children: button }),
38358
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
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)(
38359
38953
  TooltipContent,
38360
38954
  {
38361
38955
  side: "right",
@@ -38368,9 +38962,9 @@ var SidebarMenuButton = React96.forwardRef(
38368
38962
  }
38369
38963
  );
38370
38964
  SidebarMenuButton.displayName = "SidebarMenuButton";
38371
- var SidebarMenuAction = React96.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
38965
+ var SidebarMenuAction = React99.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
38372
38966
  const Comp = asChild ? import_react_slot6.Slot : "button";
38373
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38967
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38374
38968
  Comp,
38375
38969
  {
38376
38970
  ref,
@@ -38391,7 +38985,7 @@ var SidebarMenuAction = React96.forwardRef(({ className, asChild = false, showOn
38391
38985
  );
38392
38986
  });
38393
38987
  SidebarMenuAction.displayName = "SidebarMenuAction";
38394
- var SidebarMenuBadge = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38988
+ var SidebarMenuBadge = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38395
38989
  "div",
38396
38990
  {
38397
38991
  ref,
@@ -38409,11 +39003,11 @@ var SidebarMenuBadge = React96.forwardRef(({ className, ...props }, ref) => /* @
38409
39003
  }
38410
39004
  ));
38411
39005
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
38412
- var SidebarMenuSkeleton = React96.forwardRef(({ className, showIcon = false, ...props }, ref) => {
38413
- const width = React96.useMemo(() => {
39006
+ var SidebarMenuSkeleton = React99.forwardRef(({ className, showIcon = false, ...props }, ref) => {
39007
+ const width = React99.useMemo(() => {
38414
39008
  return `${Math.floor(Math.random() * 40) + 50}%`;
38415
39009
  }, []);
38416
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
39010
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
38417
39011
  "div",
38418
39012
  {
38419
39013
  ref,
@@ -38421,14 +39015,14 @@ var SidebarMenuSkeleton = React96.forwardRef(({ className, showIcon = false, ...
38421
39015
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
38422
39016
  ...props,
38423
39017
  children: [
38424
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
39018
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38425
39019
  Skeleton,
38426
39020
  {
38427
39021
  className: "size-4 rounded-md",
38428
39022
  "data-sidebar": "menu-skeleton-icon"
38429
39023
  }
38430
39024
  ),
38431
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
39025
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38432
39026
  Skeleton,
38433
39027
  {
38434
39028
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -38443,7 +39037,7 @@ var SidebarMenuSkeleton = React96.forwardRef(({ className, showIcon = false, ...
38443
39037
  );
38444
39038
  });
38445
39039
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
38446
- var SidebarMenuSub = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
39040
+ var SidebarMenuSub = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38447
39041
  "ul",
38448
39042
  {
38449
39043
  ref,
@@ -38457,11 +39051,11 @@ var SidebarMenuSub = React96.forwardRef(({ className, ...props }, ref) => /* @__
38457
39051
  }
38458
39052
  ));
38459
39053
  SidebarMenuSub.displayName = "SidebarMenuSub";
38460
- var SidebarMenuSubItem = React96.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("li", { ref, ...props }));
39054
+ var SidebarMenuSubItem = React99.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("li", { ref, ...props }));
38461
39055
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
38462
- var SidebarMenuSubButton = React96.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
39056
+ var SidebarMenuSubButton = React99.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
38463
39057
  const Comp = asChild ? import_react_slot6.Slot : "a";
38464
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
39058
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38465
39059
  Comp,
38466
39060
  {
38467
39061
  ref,
@@ -38485,20 +39079,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
38485
39079
  // src/components/ui/sonner.tsx
38486
39080
  var import_next_themes = require("next-themes");
38487
39081
  var import_sonner = require("sonner");
38488
- var import_jsx_runtime129 = require("react/jsx-runtime");
39082
+ var import_jsx_runtime134 = require("react/jsx-runtime");
38489
39083
  var Toaster = ({ ...props }) => {
38490
39084
  const { theme = "system" } = (0, import_next_themes.useTheme)();
38491
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
39085
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38492
39086
  import_sonner.Toaster,
38493
39087
  {
38494
39088
  theme,
38495
39089
  className: "toaster group",
38496
39090
  icons: {
38497
- success: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(CircleCheck, { className: "h-4 w-4" }),
38498
- info: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Info, { className: "h-4 w-4" }),
38499
- warning: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(TriangleAlert, { className: "h-4 w-4" }),
38500
- error: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(OctagonX, { className: "h-4 w-4" }),
38501
- loading: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
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" })
38502
39096
  },
38503
39097
  toastOptions: {
38504
39098
  classNames: {
@@ -38514,26 +39108,26 @@ var Toaster = ({ ...props }) => {
38514
39108
  };
38515
39109
 
38516
39110
  // src/components/ui/toggle-group.tsx
38517
- var React97 = __toESM(require("react"), 1);
39111
+ var React100 = __toESM(require("react"), 1);
38518
39112
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
38519
- var import_jsx_runtime130 = require("react/jsx-runtime");
38520
- var ToggleGroupContext = React97.createContext({
39113
+ var import_jsx_runtime135 = require("react/jsx-runtime");
39114
+ var ToggleGroupContext = React100.createContext({
38521
39115
  size: "default",
38522
39116
  variant: "default"
38523
39117
  });
38524
- var ToggleGroup = React97.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
39118
+ var ToggleGroup = React100.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
38525
39119
  ToggleGroupPrimitive.Root,
38526
39120
  {
38527
39121
  ref,
38528
39122
  className: cn("flex items-center justify-center gap-1", className),
38529
39123
  ...props,
38530
- children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
39124
+ children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
38531
39125
  }
38532
39126
  ));
38533
39127
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
38534
- var ToggleGroupItem = React97.forwardRef(({ className, children, variant, size, ...props }, ref) => {
38535
- const context = React97.useContext(ToggleGroupContext);
38536
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
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)(
38537
39131
  ToggleGroupPrimitive.Item,
38538
39132
  {
38539
39133
  ref,
@@ -38552,7 +39146,7 @@ var ToggleGroupItem = React97.forwardRef(({ className, children, variant, size,
38552
39146
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
38553
39147
 
38554
39148
  // src/render/PXEngineRenderer.tsx
38555
- var import_jsx_runtime131 = require("react/jsx-runtime");
39149
+ var import_jsx_runtime136 = require("react/jsx-runtime");
38556
39150
  var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
38557
39151
  // Form components - require FormField + FormItem context
38558
39152
  "FormLabel",
@@ -38644,24 +39238,24 @@ var COMPONENT_SUGGESTIONS = {
38644
39238
  };
38645
39239
  var renderContextDependentError = (componentName, normalizedName, key) => {
38646
39240
  const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
38647
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
39241
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
38648
39242
  "div",
38649
39243
  {
38650
39244
  className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
38651
39245
  children: [
38652
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-start gap-2", children: [
38653
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
38654
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex-1", children: [
38655
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("p", { className: "text-sm font-semibold text-amber-900", 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: [
38656
39250
  "Invalid Component: ",
38657
39251
  componentName
38658
39252
  ] }),
38659
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
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." })
38660
39254
  ] })
38661
39255
  ] }),
38662
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
38663
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
38664
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
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 })
38665
39259
  ] })
38666
39260
  ]
38667
39261
  },
@@ -38741,7 +39335,7 @@ var PXEngineRenderer = ({
38741
39335
  if (typeof component === "string" || typeof component === "number") {
38742
39336
  return component;
38743
39337
  }
38744
- if (import_react66.default.isValidElement(component)) {
39338
+ if (import_react69.default.isValidElement(component)) {
38745
39339
  return component;
38746
39340
  }
38747
39341
  if (!component || typeof component !== "object") return null;
@@ -38819,7 +39413,7 @@ var PXEngineRenderer = ({
38819
39413
  const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
38820
39414
  const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
38821
39415
  if (isAtomWithRenderProp) {
38822
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
39416
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38823
39417
  TargetComponent,
38824
39418
  {
38825
39419
  ...finalProps,
@@ -38831,7 +39425,7 @@ var PXEngineRenderer = ({
38831
39425
  uniqueKey
38832
39426
  );
38833
39427
  } else {
38834
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
39428
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
38835
39429
  TargetComponent,
38836
39430
  {
38837
39431
  ...finalProps,
@@ -38843,7 +39437,7 @@ var PXEngineRenderer = ({
38843
39437
  );
38844
39438
  }
38845
39439
  };
38846
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
39440
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
38847
39441
  };
38848
39442
  // Annotate the CommonJS export names for ESM import in node:
38849
39443
  0 && (module.exports = {
@@ -38853,6 +39447,8 @@ var PXEngineRenderer = ({
38853
39447
  AccordionItem,
38854
39448
  AccordionTrigger,
38855
39449
  ActionButton,
39450
+ AgentCard,
39451
+ AgentDataTable,
38856
39452
  Alert,
38857
39453
  AlertAtom,
38858
39454
  AlertDescription,
@@ -38997,6 +39593,7 @@ var PXEngineRenderer = ({
38997
39593
  InputOTPGroup,
38998
39594
  InputOTPSeparator,
38999
39595
  InputOTPSlot,
39596
+ InstructionPreview,
39000
39597
  KbdAtom,
39001
39598
  KeywordBundlesDisplay,
39002
39599
  KeywordBundlesEdit,
@@ -39101,6 +39698,7 @@ var PXEngineRenderer = ({
39101
39698
  TextareaAtom,
39102
39699
  TimelineAtom,
39103
39700
  ToggleAtom,
39701
+ ToolListCard,
39104
39702
  Tooltip,
39105
39703
  TooltipAtom,
39106
39704
  TooltipContent,
@@ -39108,6 +39706,7 @@ var PXEngineRenderer = ({
39108
39706
  TooltipTrigger,
39109
39707
  TopPostsGrid,
39110
39708
  VideoAtom,
39709
+ WorkflowVisualizer,
39111
39710
  cn
39112
39711
  });
39113
39712
  /*! Bundled license information: