@datatechsolutions/ui 2.11.74 → 2.11.76

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.
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- require('../chunk-55H6WZQP.js');
5
- var chunk5UU3RQRB_js = require('../chunk-5UU3RQRB.js');
6
- var chunkPRCRY6MW_js = require('../chunk-PRCRY6MW.js');
7
- var chunkNIGFMRWC_js = require('../chunk-NIGFMRWC.js');
4
+ var chunkEAGAWIIC_js = require('../chunk-EAGAWIIC.js');
5
+ var chunkKNXAOJAK_js = require('../chunk-KNXAOJAK.js');
6
+ require('../chunk-UZ3CMNUJ.js');
8
7
  var chunkYXN2K77G_js = require('../chunk-YXN2K77G.js');
9
8
  require('../chunk-S7KHTUHA.js');
10
- require('../chunk-UZ3CMNUJ.js');
9
+ require('../chunk-55H6WZQP.js');
11
10
  var chunkP4YYEM4B_js = require('../chunk-P4YYEM4B.js');
11
+ var chunk5UU3RQRB_js = require('../chunk-5UU3RQRB.js');
12
12
  var chunkC7BI5LQ6_js = require('../chunk-C7BI5LQ6.js');
13
13
  var react = require('react');
14
14
  var outline = require('@heroicons/react/24/outline');
@@ -83,7 +83,7 @@ function OutputCard({ label, value }) {
83
83
  function AgentProfileHeader({ agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, temperature, setTemperature, elo, setElo, onChanged }) {
84
84
  const modelName = models.find((model) => model.id === selectedModelId)?.name ?? selectedModelId ?? "\u2014";
85
85
  const avatarUrl = agent.avatar;
86
- const frameworkMeta = chunkPRCRY6MW_js.getFrameworkMeta(selectedFramework);
86
+ const frameworkMeta = chunkEAGAWIIC_js.getFrameworkMeta(selectedFramework);
87
87
  const tierInfo = getEloTier(elo);
88
88
  const difficultyConfig = {
89
89
  beginner: { color: "bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-400", labelKey: "agentDrawer.tierBeginner" },
@@ -359,13 +359,13 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
359
359
  ] });
360
360
  }
361
361
  function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework, markDirty, connectedProviderTypes }) {
362
- const frameworkKeys = Object.keys(chunkPRCRY6MW_js.FRAMEWORK_META);
362
+ const frameworkKeys = Object.keys(chunkEAGAWIIC_js.FRAMEWORK_META);
363
363
  const hasProviderConstraints = connectedProviderTypes.length > 0;
364
- const compatibleModels = chunkPRCRY6MW_js.getCompatibleModels(models, selectedFramework);
364
+ const compatibleModels = chunkEAGAWIIC_js.getCompatibleModels(models, selectedFramework);
365
365
  const handleFrameworkChange = react.useCallback((newFramework) => {
366
366
  setSelectedFramework(newFramework);
367
- if (!chunkPRCRY6MW_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
- const compatible = chunkPRCRY6MW_js.getCompatibleModels(models, newFramework);
367
+ if (!chunkEAGAWIIC_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
+ const compatible = chunkEAGAWIIC_js.getCompatibleModels(models, newFramework);
369
369
  if (compatible.length > 0) {
370
370
  setSelectedModelId(compatible[0].id);
371
371
  }
@@ -376,10 +376,10 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
376
376
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
377
377
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.framework") }),
378
378
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: frameworkKeys.map((key) => {
379
- const meta = chunkPRCRY6MW_js.FRAMEWORK_META[key];
379
+ const meta = chunkEAGAWIIC_js.FRAMEWORK_META[key];
380
380
  const isSelected = key === selectedFramework;
381
- const compatCount = chunkPRCRY6MW_js.getCompatibleModels(models, key).length;
382
- const isCompatibleWithProviders = !hasProviderConstraints || chunkPRCRY6MW_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
381
+ const compatCount = chunkEAGAWIIC_js.getCompatibleModels(models, key).length;
382
+ const isCompatibleWithProviders = !hasProviderConstraints || chunkEAGAWIIC_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
383
383
  return /* @__PURE__ */ jsxRuntime.jsxs(
384
384
  "button",
385
385
  {
@@ -411,7 +411,7 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
411
411
  ] }),
412
412
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: models.map((model) => {
413
413
  const isSelected = model.id === selectedModelId;
414
- const isCompatible = chunkPRCRY6MW_js.isModelCompatibleWithFramework(model.id, selectedFramework);
414
+ const isCompatible = chunkEAGAWIIC_js.isModelCompatibleWithFramework(model.id, selectedFramework);
415
415
  const { IconComponent, color, providerLabel } = getModelIcon(model.id);
416
416
  return /* @__PURE__ */ jsxRuntime.jsxs(
417
417
  "button",
@@ -510,7 +510,7 @@ function PromptTab({ agent, temperature, setTemperature, markDirty, t }) {
510
510
  ] });
511
511
  }
512
512
  function ResultsTab({ agentId, t }) {
513
- const nodeResults = chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodeResults);
513
+ const nodeResults = chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodeResults);
514
514
  const agentResult = react.useMemo(() => {
515
515
  return nodeResults[agentId] ?? null;
516
516
  }, [nodeResults, agentId]);
@@ -600,10 +600,10 @@ function ModelsTab({ modelProviders, selectedProviderId, onSelectProvider, model
600
600
  const providerModels = modelsByProvider.find((p) => p.provider.id === selectedProviderId);
601
601
  if (!providerModels || providerModels.models.length === 0) return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-400 dark:text-gray-500", children: t("agentDrawer.noModelsForProvider") });
602
602
  const compatibleModels = providerModels.models.filter(
603
- (m) => chunkPRCRY6MW_js.isModelCompatibleWithFramework(m.id, agentFramework)
603
+ (m) => chunkEAGAWIIC_js.isModelCompatibleWithFramework(m.id, agentFramework)
604
604
  );
605
605
  const incompatibleModels = providerModels.models.filter(
606
- (m) => !chunkPRCRY6MW_js.isModelCompatibleWithFramework(m.id, agentFramework)
606
+ (m) => !chunkEAGAWIIC_js.isModelCompatibleWithFramework(m.id, agentFramework)
607
607
  );
608
608
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
609
609
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.selectModel") }),
@@ -676,7 +676,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
676
676
  ] }),
677
677
  tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.description }),
678
678
  tool.compatibleFrameworks && tool.compatibleFrameworks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex flex-wrap gap-0.5", children: tool.compatibleFrameworks.map((framework) => {
679
- const meta = chunkPRCRY6MW_js.getFrameworkMeta(framework);
679
+ const meta = chunkEAGAWIIC_js.getFrameworkMeta(framework);
680
680
  const isCurrentFw = framework === agentFramework;
681
681
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-[8px] font-medium ${isCurrentFw ? meta.badgeColor : "bg-gray-100 text-gray-500 dark:bg-white/5 dark:text-gray-400"}`, children: [
682
682
  /* @__PURE__ */ jsxRuntime.jsx(meta.IconComponent, { className: "h-2.5 w-2.5" }),
@@ -693,7 +693,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
693
693
  event.stopPropagation();
694
694
  },
695
695
  children: /* @__PURE__ */ jsxRuntime.jsx(
696
- chunkNIGFMRWC_js.ToggleSwitch,
696
+ chunkKNXAOJAK_js.ToggleSwitch,
697
697
  {
698
698
  checked: isEnabled,
699
699
  onChange: () => onToggle(tool.agentToolId),
@@ -714,9 +714,9 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
714
714
  }
715
715
  function AgentModal({ onSaved }) {
716
716
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
717
- const activeModal = chunkPRCRY6MW_js.useModalStore((s) => s.activeModal);
718
- const agentData = chunkPRCRY6MW_js.useModalStore((s) => s.agentData);
719
- const closeModal = chunkPRCRY6MW_js.useModalStore((s) => s.closeModal);
717
+ const activeModal = chunkEAGAWIIC_js.useModalStore((s) => s.activeModal);
718
+ const agentData = chunkEAGAWIIC_js.useModalStore((s) => s.agentData);
719
+ const closeModal = chunkEAGAWIIC_js.useModalStore((s) => s.closeModal);
720
720
  const open = activeModal === "agent";
721
721
  const agent = agentData?.agent ?? null;
722
722
  const models = agentData?.models ?? [];
@@ -791,7 +791,7 @@ function AgentModal({ onSaved }) {
791
791
  )
792
792
  ] });
793
793
  return /* @__PURE__ */ jsxRuntime.jsxs(
794
- chunkNIGFMRWC_js.GlassModal,
794
+ chunkKNXAOJAK_js.GlassModal,
795
795
  {
796
796
  open,
797
797
  onClose: handleClose,
@@ -943,7 +943,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
943
943
  const markDirty = useSubworkflowStore((s) => s.markDirty);
944
944
  const markSaved = useSubworkflowStore((s) => s.markSaved);
945
945
  const closeModal = useSubworkflowStore((s) => s.closeModal);
946
- const agentBehind = chunkPRCRY6MW_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
946
+ const agentBehind = chunkEAGAWIIC_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
947
947
  const isCreateMode = !tool?.toolId;
948
948
  const initialGraph = react.useMemo(() => {
949
949
  const config = tool?.config;
@@ -972,9 +972,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
972
972
  }, [tool, onSaved, name, category, description, timeoutMs, latestGraphRef, markSaved]);
973
973
  if (!tool) return null;
974
974
  const categoryKey = category ?? "external";
975
- const gradient = tool.color ?? chunkPRCRY6MW_js.CATEGORY_COLORS[categoryKey] ?? chunkPRCRY6MW_js.CATEGORY_COLORS.external;
976
- const categoryPill = chunkPRCRY6MW_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkPRCRY6MW_js.CATEGORY_PILL_COLORS.external;
977
- const IconComponent = chunkPRCRY6MW_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
975
+ const gradient = tool.color ?? chunkEAGAWIIC_js.CATEGORY_COLORS[categoryKey] ?? chunkEAGAWIIC_js.CATEGORY_COLORS.external;
976
+ const categoryPill = chunkEAGAWIIC_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkEAGAWIIC_js.CATEGORY_PILL_COLORS.external;
977
+ const IconComponent = chunkEAGAWIIC_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
978
978
  const graph = latestGraphRef.current;
979
979
  const startNode = graph.nodes.find((n) => n.type === "start");
980
980
  const endNode = graph.nodes.find((n) => n.type === "end");
@@ -1007,7 +1007,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1007
1007
  ] })
1008
1008
  ] });
1009
1009
  return /* @__PURE__ */ jsxRuntime.jsx(
1010
- chunkNIGFMRWC_js.GlassModal,
1010
+ chunkKNXAOJAK_js.GlassModal,
1011
1011
  {
1012
1012
  open,
1013
1013
  onClose: closeModal,
@@ -1039,7 +1039,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1039
1039
  {
1040
1040
  type: "button",
1041
1041
  onClick: () => setCategory(cat),
1042
- className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkPRCRY6MW_js.CATEGORY_PILL_COLORS[cat] ?? chunkPRCRY6MW_js.CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-gray-500 hover:bg-white/50 dark:bg-white/5 dark:text-gray-400"}`,
1042
+ className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkEAGAWIIC_js.CATEGORY_PILL_COLORS[cat] ?? chunkEAGAWIIC_js.CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-gray-500 hover:bg-white/50 dark:bg-white/5 dark:text-gray-400"}`,
1043
1043
  children: cat
1044
1044
  },
1045
1045
  cat
@@ -1126,7 +1126,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1126
1126
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto" })
1127
1127
  ] }),
1128
1128
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
1129
- chunkPRCRY6MW_js.WorkflowCanvas,
1129
+ chunkEAGAWIIC_js.WorkflowCanvas,
1130
1130
  {
1131
1131
  initialGraph,
1132
1132
  agents: [],
@@ -1142,9 +1142,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1142
1142
  }
1143
1143
  function PipelineSettingsModal({ onSave }) {
1144
1144
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1145
- const activeModal = chunkPRCRY6MW_js.useModalStore((s) => s.activeModal);
1146
- const data = chunkPRCRY6MW_js.useModalStore((s) => s.pipelineSettingsData);
1147
- const closeModal = chunkPRCRY6MW_js.useModalStore((s) => s.closeModal);
1145
+ const activeModal = chunkEAGAWIIC_js.useModalStore((s) => s.activeModal);
1146
+ const data = chunkEAGAWIIC_js.useModalStore((s) => s.pipelineSettingsData);
1147
+ const closeModal = chunkEAGAWIIC_js.useModalStore((s) => s.closeModal);
1148
1148
  const open = activeModal === "pipeline-settings";
1149
1149
  const [nameValue, setNameValue] = react.useState("");
1150
1150
  const [descriptionValue, setDescriptionValue] = react.useState("");
@@ -1179,7 +1179,7 @@ function PipelineSettingsModal({ onSave }) {
1179
1179
  }
1180
1180
  ),
1181
1181
  /* @__PURE__ */ jsxRuntime.jsxs(
1182
- chunkNIGFMRWC_js.Button,
1182
+ chunkKNXAOJAK_js.Button,
1183
1183
  {
1184
1184
  type: "submit",
1185
1185
  form: "pipeline-settings-form",
@@ -1194,7 +1194,7 @@ function PipelineSettingsModal({ onSave }) {
1194
1194
  )
1195
1195
  ] });
1196
1196
  return /* @__PURE__ */ jsxRuntime.jsx(
1197
- chunkNIGFMRWC_js.GlassModal,
1197
+ chunkKNXAOJAK_js.GlassModal,
1198
1198
  {
1199
1199
  open,
1200
1200
  onClose: closeModal,
@@ -1208,7 +1208,7 @@ function PipelineSettingsModal({ onSave }) {
1208
1208
  onSubmit: handleSubmit,
1209
1209
  children: /* @__PURE__ */ jsxRuntime.jsxs("form", { id: "pipeline-settings-form", onSubmit: handleSubmit, className: "space-y-6", children: [
1210
1210
  /* @__PURE__ */ jsxRuntime.jsx(
1211
- chunkNIGFMRWC_js.FormInput,
1211
+ chunkKNXAOJAK_js.FormInput,
1212
1212
  {
1213
1213
  label: t("pipelineName"),
1214
1214
  value: nameValue,
@@ -1218,7 +1218,7 @@ function PipelineSettingsModal({ onSave }) {
1218
1218
  }
1219
1219
  ),
1220
1220
  /* @__PURE__ */ jsxRuntime.jsx(
1221
- chunkNIGFMRWC_js.FormTextarea,
1221
+ chunkKNXAOJAK_js.FormTextarea,
1222
1222
  {
1223
1223
  label: t("pipelineDescription"),
1224
1224
  value: descriptionValue,
@@ -1369,8 +1369,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
1369
1369
  ] });
1370
1370
  }
1371
1371
  function LogicNodeItemCard({ item, translationFunction }) {
1372
- const IconComponent = chunkPRCRY6MW_js.LOGIC_ICON_MAP[item.nodeType];
1373
- const gradient = chunkPRCRY6MW_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1372
+ const IconComponent = chunkEAGAWIIC_js.LOGIC_ICON_MAP[item.nodeType];
1373
+ const gradient = chunkEAGAWIIC_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1374
1374
  const defaultConfig = chunkC7BI5LQ6_js.createDefaultLogicNodeConfig(item.nodeType);
1375
1375
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
1376
1376
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1551,7 +1551,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1551
1551
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.category })
1552
1552
  ] }),
1553
1553
  /* @__PURE__ */ jsxRuntime.jsx(
1554
- chunkNIGFMRWC_js.ToggleSwitch,
1554
+ chunkKNXAOJAK_js.ToggleSwitch,
1555
1555
  {
1556
1556
  checked: Boolean(tool.enabled),
1557
1557
  onChange: () => {
@@ -1592,7 +1592,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1592
1592
  ] })
1593
1593
  ] }),
1594
1594
  /* @__PURE__ */ jsxRuntime.jsx(
1595
- chunkNIGFMRWC_js.ToggleSwitch,
1595
+ chunkKNXAOJAK_js.ToggleSwitch,
1596
1596
  {
1597
1597
  checked: Boolean(rule.enabled),
1598
1598
  onChange: () => {
@@ -1628,8 +1628,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1628
1628
  limit: entity.defaultLimit
1629
1629
  });
1630
1630
  const dsLogo = getDatasourceLogo(entity.id);
1631
- const EntityIcon = chunkPRCRY6MW_js.getEntityIcon(entity.id);
1632
- const entityGradient = chunkPRCRY6MW_js.getEntityGradient(entity.id);
1631
+ const EntityIcon = chunkEAGAWIIC_js.getEntityIcon(entity.id);
1632
+ const entityGradient = chunkEAGAWIIC_js.getEntityGradient(entity.id);
1633
1633
  return /* @__PURE__ */ jsxRuntime.jsxs(
1634
1634
  "div",
1635
1635
  {
@@ -1649,7 +1649,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1649
1649
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1650
1650
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-slate-100 px-1.5 py-0.5 text-[9px] font-medium text-slate-600 dark:bg-white/10 dark:text-slate-300", children: "Read only" }),
1651
1651
  /* @__PURE__ */ jsxRuntime.jsx(
1652
- chunkNIGFMRWC_js.ToggleSwitch,
1652
+ chunkKNXAOJAK_js.ToggleSwitch,
1653
1653
  {
1654
1654
  checked: true,
1655
1655
  onChange: () => {
@@ -2027,9 +2027,9 @@ function formatDuration2(durationMs) {
2027
2027
  }
2028
2028
  function RunPanel({ open, onClose, onRun, onStop }) {
2029
2029
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
2030
- const nodes = chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodes);
2031
- const isRunning = chunkPRCRY6MW_js.useWorkflowStore((state) => state.isRunning);
2032
- const nodeResults = chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodeResults);
2030
+ const nodes = chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodes);
2031
+ const isRunning = chunkEAGAWIIC_js.useWorkflowStore((state) => state.isRunning);
2032
+ const nodeResults = chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodeResults);
2033
2033
  const startNode = nodes.find((node) => node.type === "start");
2034
2034
  const hasEndNode = nodes.some((node) => node.type === "end");
2035
2035
  const hasValidStartConfig = Boolean(
@@ -2317,8 +2317,8 @@ function inferVariables(config, nodeType) {
2317
2317
  }
2318
2318
  function VariableInspector({ open, onClose }) {
2319
2319
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
2320
- const nodes = chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodes);
2321
- const edges = chunkPRCRY6MW_js.useWorkflowStore((state) => state.edges);
2320
+ const nodes = chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodes);
2321
+ const edges = chunkEAGAWIIC_js.useWorkflowStore((state) => state.edges);
2322
2322
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
2323
2323
  const toggleNodeExpansion = react.useCallback((nodeId) => {
2324
2324
  setExpandedNodes((current) => {
@@ -2380,8 +2380,8 @@ function VariableInspector({ open, onClose }) {
2380
2380
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
2381
2381
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
2382
2382
  const isExpanded = expandedNodes.has(entry.nodeId);
2383
- const IconComponent = chunkPRCRY6MW_js.LOGIC_ICON_MAP[entry.nodeType];
2384
- const gradient = chunkPRCRY6MW_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2383
+ const IconComponent = chunkEAGAWIIC_js.LOGIC_ICON_MAP[entry.nodeType];
2384
+ const gradient = chunkEAGAWIIC_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2385
2385
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
2386
2386
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
2387
2387
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -2447,7 +2447,7 @@ function RunInputDialog({
2447
2447
  onRun
2448
2448
  }) {
2449
2449
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
2450
- const nodes = chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodes);
2450
+ const nodes = chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodes);
2451
2451
  const [values, setValues] = react.useState({});
2452
2452
  const inputVariableNames = react.useMemo(() => {
2453
2453
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -2474,7 +2474,7 @@ function RunInputDialog({
2474
2474
  }, [onClose]);
2475
2475
  if (!open) return null;
2476
2476
  return /* @__PURE__ */ jsxRuntime.jsxs(
2477
- chunkNIGFMRWC_js.GlassModal,
2477
+ chunkKNXAOJAK_js.GlassModal,
2478
2478
  {
2479
2479
  open,
2480
2480
  onClose: handleClose,
@@ -2485,7 +2485,7 @@ function RunInputDialog({
2485
2485
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: inputVariableNames.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-sm text-gray-500 dark:text-gray-400", children: t("noInputs") }) : inputVariableNames.map((variableName) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2486
2486
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
2487
2487
  /* @__PURE__ */ jsxRuntime.jsx(
2488
- chunkNIGFMRWC_js.Input,
2488
+ chunkKNXAOJAK_js.Input,
2489
2489
  {
2490
2490
  value: values[variableName] ?? "",
2491
2491
  onChange: (event) => handleValueChange(variableName, event.target.value),
@@ -2494,8 +2494,8 @@ function RunInputDialog({
2494
2494
  )
2495
2495
  ] }, variableName)) }),
2496
2496
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", children: [
2497
- /* @__PURE__ */ jsxRuntime.jsx(chunkNIGFMRWC_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2498
- /* @__PURE__ */ jsxRuntime.jsxs(chunkNIGFMRWC_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2497
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2498
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2499
2499
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5", "data-slot": "icon" }),
2500
2500
  t("run")
2501
2501
  ] })
@@ -2528,8 +2528,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
2528
2528
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
2529
2529
  const [selectedRun, setSelectedRun] = react.useState(null);
2530
2530
  const [selectedNode, setSelectedNode] = react.useState(null);
2531
- const isRunning = chunkPRCRY6MW_js.useWorkflowStore((state) => state.isRunning);
2532
- const nodeResults = chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodeResults);
2531
+ const isRunning = chunkEAGAWIIC_js.useWorkflowStore((state) => state.isRunning);
2532
+ const nodeResults = chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodeResults);
2533
2533
  const refreshRuns = react.useCallback(async () => {
2534
2534
  setIsLoadingRuns(true);
2535
2535
  try {
@@ -2685,7 +2685,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2685
2685
  onAutoSaveGraph(graph);
2686
2686
  }, [onAutoSaveGraph, onGraphSnapshot]);
2687
2687
  return /* @__PURE__ */ jsxRuntime.jsx(
2688
- chunkPRCRY6MW_js.Workspace,
2688
+ chunkEAGAWIIC_js.Workspace,
2689
2689
  {
2690
2690
  ...workspaceProps,
2691
2691
  onGraphChange: handleGraphChange
@@ -2693,7 +2693,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2693
2693
  );
2694
2694
  });
2695
2695
  function DynamicIslandConfirm2(props) {
2696
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNIGFMRWC_js.DynamicIslandConfirm, { ...props });
2696
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.DynamicIslandConfirm, { ...props });
2697
2697
  }
2698
2698
  var JSON_PREVIEW_LINE_LIMIT = 50;
2699
2699
  function DslExportModal({ open, onClose, workflow, graph }) {
@@ -2747,7 +2747,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2747
2747
  }, [jsonString, workflow.name, workflow.version]);
2748
2748
  if (!open) return null;
2749
2749
  return /* @__PURE__ */ jsxRuntime.jsx(
2750
- chunkNIGFMRWC_js.GlassModal,
2750
+ chunkKNXAOJAK_js.GlassModal,
2751
2751
  {
2752
2752
  open,
2753
2753
  onClose,
@@ -2789,7 +2789,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2789
2789
  ] }),
2790
2790
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-gray-200 px-1 py-4 dark:border-gray-700", children: [
2791
2791
  /* @__PURE__ */ jsxRuntime.jsx(
2792
- chunkNIGFMRWC_js.Button,
2792
+ chunkKNXAOJAK_js.Button,
2793
2793
  {
2794
2794
  type: "button",
2795
2795
  onClick: handleCopyToClipboard,
@@ -2806,7 +2806,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2806
2806
  }
2807
2807
  ),
2808
2808
  /* @__PURE__ */ jsxRuntime.jsxs(
2809
- chunkNIGFMRWC_js.Button,
2809
+ chunkKNXAOJAK_js.Button,
2810
2810
  {
2811
2811
  type: "button",
2812
2812
  onClick: handleDownloadJson,
@@ -2965,7 +2965,7 @@ function DslImportModal({ open, onClose, onImport }) {
2965
2965
  }, []);
2966
2966
  if (!open) return null;
2967
2967
  return /* @__PURE__ */ jsxRuntime.jsx(
2968
- chunkNIGFMRWC_js.GlassModal,
2968
+ chunkKNXAOJAK_js.GlassModal,
2969
2969
  {
2970
2970
  open,
2971
2971
  onClose,
@@ -3005,7 +3005,7 @@ function DslImportModal({ open, onClose, onImport }) {
3005
3005
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "import-validation-result", children: [
3006
3006
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
3007
3007
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: fileName }),
3008
- /* @__PURE__ */ jsxRuntime.jsx(chunkNIGFMRWC_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
3008
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
3009
3009
  ] }),
3010
3010
  validationResult.isValid ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-green-200 bg-green-50 p-4 dark:border-green-800 dark:bg-green-900/20", children: [
3011
3011
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -3033,9 +3033,9 @@ function DslImportModal({ open, onClose, onImport }) {
3033
3033
  ] })
3034
3034
  ] }) }),
3035
3035
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-gray-200 px-1 py-4 dark:border-gray-700", children: [
3036
- /* @__PURE__ */ jsxRuntime.jsx(chunkNIGFMRWC_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3036
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3037
3037
  /* @__PURE__ */ jsxRuntime.jsxs(
3038
- chunkNIGFMRWC_js.Button,
3038
+ chunkKNXAOJAK_js.Button,
3039
3039
  {
3040
3040
  type: "button",
3041
3041
  onClick: handleImport,
@@ -3056,14 +3056,14 @@ function DslImportModal({ open, onClose, onImport }) {
3056
3056
  }
3057
3057
 
3058
3058
  // src/astrlabe/store/selectors.ts
3059
- var useCanUndo = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.past.length > 0);
3060
- var useCanRedo = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.future.length > 0);
3061
- var useHasCopied = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.clipboard !== null);
3062
- var useContextMenu = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.contextMenu);
3063
- var useEditingNodeId = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.editingNodeId);
3064
- var useSelectedNodeCount = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3065
- var useIsRunning = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.isRunning);
3066
- var useNodeResults = () => chunkPRCRY6MW_js.useWorkflowStore((state) => state.nodeResults);
3059
+ var useCanUndo = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.past.length > 0);
3060
+ var useCanRedo = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.future.length > 0);
3061
+ var useHasCopied = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.clipboard !== null);
3062
+ var useContextMenu = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.contextMenu);
3063
+ var useEditingNodeId = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.editingNodeId);
3064
+ var useSelectedNodeCount = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3065
+ var useIsRunning = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.isRunning);
3066
+ var useNodeResults = () => chunkEAGAWIIC_js.useWorkflowStore((state) => state.nodeResults);
3067
3067
  var DEFAULT_MAX_HISTORY = 50;
3068
3068
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
3069
3069
  const pastRef = react.useRef([]);
@@ -3341,257 +3341,241 @@ function useHelpLines() {
3341
3341
  };
3342
3342
  }
3343
3343
 
3344
- Object.defineProperty(exports, "topologicalSortAgents", {
3345
- enumerable: true,
3346
- get: function () { return chunk5UU3RQRB_js.topologicalSortAgents; }
3347
- });
3348
- Object.defineProperty(exports, "validateGraphNodeConfigs", {
3349
- enumerable: true,
3350
- get: function () { return chunk5UU3RQRB_js.validateGraphNodeConfigs; }
3351
- });
3352
- Object.defineProperty(exports, "validateNodeConfig", {
3353
- enumerable: true,
3354
- get: function () { return chunk5UU3RQRB_js.validateNodeConfig; }
3355
- });
3356
- Object.defineProperty(exports, "validateWorkflowGraph", {
3357
- enumerable: true,
3358
- get: function () { return chunk5UU3RQRB_js.validateWorkflowGraph; }
3359
- });
3360
3344
  Object.defineProperty(exports, "AgentFlowNode", {
3361
3345
  enumerable: true,
3362
- get: function () { return chunkPRCRY6MW_js.AgentFlowNode; }
3346
+ get: function () { return chunkEAGAWIIC_js.AgentFlowNode; }
3363
3347
  });
3364
3348
  Object.defineProperty(exports, "AgentToolFlowNode", {
3365
3349
  enumerable: true,
3366
- get: function () { return chunkPRCRY6MW_js.AgentToolFlowNode; }
3350
+ get: function () { return chunkEAGAWIIC_js.AgentToolFlowNode; }
3367
3351
  });
3368
3352
  Object.defineProperty(exports, "AnswerFlowNode", {
3369
3353
  enumerable: true,
3370
- get: function () { return chunkPRCRY6MW_js.AnswerFlowNode; }
3354
+ get: function () { return chunkEAGAWIIC_js.AnswerFlowNode; }
3371
3355
  });
3372
3356
  Object.defineProperty(exports, "AnthropicIcon", {
3373
3357
  enumerable: true,
3374
- get: function () { return chunkPRCRY6MW_js.AnthropicIcon; }
3358
+ get: function () { return chunkEAGAWIIC_js.AnthropicIcon; }
3375
3359
  });
3376
3360
  Object.defineProperty(exports, "CodeFlowNode", {
3377
3361
  enumerable: true,
3378
- get: function () { return chunkPRCRY6MW_js.CodeFlowNode; }
3362
+ get: function () { return chunkEAGAWIIC_js.CodeFlowNode; }
3379
3363
  });
3380
3364
  Object.defineProperty(exports, "CrewAIIcon", {
3381
3365
  enumerable: true,
3382
- get: function () { return chunkPRCRY6MW_js.CrewAIIcon; }
3366
+ get: function () { return chunkEAGAWIIC_js.CrewAIIcon; }
3383
3367
  });
3384
3368
  Object.defineProperty(exports, "DocumentExtractorFlowNode", {
3385
3369
  enumerable: true,
3386
- get: function () { return chunkPRCRY6MW_js.DocumentExtractorFlowNode; }
3370
+ get: function () { return chunkEAGAWIIC_js.DocumentExtractorFlowNode; }
3387
3371
  });
3388
3372
  Object.defineProperty(exports, "EndFlowNode", {
3389
3373
  enumerable: true,
3390
- get: function () { return chunkPRCRY6MW_js.EndFlowNode; }
3374
+ get: function () { return chunkEAGAWIIC_js.EndFlowNode; }
3391
3375
  });
3392
3376
  Object.defineProperty(exports, "EntityFlowNode", {
3393
3377
  enumerable: true,
3394
- get: function () { return chunkPRCRY6MW_js.EntityFlowNode; }
3378
+ get: function () { return chunkEAGAWIIC_js.EntityFlowNode; }
3395
3379
  });
3396
3380
  Object.defineProperty(exports, "FRAMEWORK_META", {
3397
3381
  enumerable: true,
3398
- get: function () { return chunkPRCRY6MW_js.FRAMEWORK_META; }
3382
+ get: function () { return chunkEAGAWIIC_js.FRAMEWORK_META; }
3399
3383
  });
3400
3384
  Object.defineProperty(exports, "GoogleADKIcon", {
3401
3385
  enumerable: true,
3402
- get: function () { return chunkPRCRY6MW_js.GoogleADKIcon; }
3386
+ get: function () { return chunkEAGAWIIC_js.GoogleADKIcon; }
3403
3387
  });
3404
3388
  Object.defineProperty(exports, "GroupFlowNode", {
3405
3389
  enumerable: true,
3406
- get: function () { return chunkPRCRY6MW_js.GroupFlowNode; }
3390
+ get: function () { return chunkEAGAWIIC_js.GroupFlowNode; }
3407
3391
  });
3408
3392
  Object.defineProperty(exports, "HttpRequestFlowNode", {
3409
3393
  enumerable: true,
3410
- get: function () { return chunkPRCRY6MW_js.HttpRequestFlowNode; }
3394
+ get: function () { return chunkEAGAWIIC_js.HttpRequestFlowNode; }
3411
3395
  });
3412
3396
  Object.defineProperty(exports, "IfElseFlowNode", {
3413
3397
  enumerable: true,
3414
- get: function () { return chunkPRCRY6MW_js.IfElseFlowNode; }
3398
+ get: function () { return chunkEAGAWIIC_js.IfElseFlowNode; }
3415
3399
  });
3416
3400
  Object.defineProperty(exports, "IterationFlowNode", {
3417
3401
  enumerable: true,
3418
- get: function () { return chunkPRCRY6MW_js.IterationFlowNode; }
3402
+ get: function () { return chunkEAGAWIIC_js.IterationFlowNode; }
3419
3403
  });
3420
3404
  Object.defineProperty(exports, "IterationStartFlowNode", {
3421
3405
  enumerable: true,
3422
- get: function () { return chunkPRCRY6MW_js.IterationStartFlowNode; }
3406
+ get: function () { return chunkEAGAWIIC_js.IterationStartFlowNode; }
3423
3407
  });
3424
3408
  Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
3425
3409
  enumerable: true,
3426
- get: function () { return chunkPRCRY6MW_js.KnowledgeBaseFlowNode; }
3410
+ get: function () { return chunkEAGAWIIC_js.KnowledgeBaseFlowNode; }
3427
3411
  });
3428
3412
  Object.defineProperty(exports, "LOGIC_ICON_MAP", {
3429
3413
  enumerable: true,
3430
- get: function () { return chunkPRCRY6MW_js.LOGIC_ICON_MAP; }
3414
+ get: function () { return chunkEAGAWIIC_js.LOGIC_ICON_MAP; }
3431
3415
  });
3432
3416
  Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
3433
3417
  enumerable: true,
3434
- get: function () { return chunkPRCRY6MW_js.LOGIC_NODE_BADGE_COLORS; }
3418
+ get: function () { return chunkEAGAWIIC_js.LOGIC_NODE_BADGE_COLORS; }
3435
3419
  });
3436
3420
  Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
3437
3421
  enumerable: true,
3438
- get: function () { return chunkPRCRY6MW_js.LOGIC_NODE_GRADIENTS; }
3422
+ get: function () { return chunkEAGAWIIC_js.LOGIC_NODE_GRADIENTS; }
3439
3423
  });
3440
3424
  Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
3441
3425
  enumerable: true,
3442
- get: function () { return chunkPRCRY6MW_js.LOGIC_NODE_HANDLE_COLORS; }
3426
+ get: function () { return chunkEAGAWIIC_js.LOGIC_NODE_HANDLE_COLORS; }
3443
3427
  });
3444
3428
  Object.defineProperty(exports, "LangChainIcon", {
3445
3429
  enumerable: true,
3446
- get: function () { return chunkPRCRY6MW_js.LangChainIcon; }
3430
+ get: function () { return chunkEAGAWIIC_js.LangChainIcon; }
3447
3431
  });
3448
3432
  Object.defineProperty(exports, "ListOperatorFlowNode", {
3449
3433
  enumerable: true,
3450
- get: function () { return chunkPRCRY6MW_js.ListOperatorFlowNode; }
3434
+ get: function () { return chunkEAGAWIIC_js.ListOperatorFlowNode; }
3451
3435
  });
3452
3436
  Object.defineProperty(exports, "LogicNodeModal", {
3453
3437
  enumerable: true,
3454
- get: function () { return chunkPRCRY6MW_js.LogicNodeModal; }
3438
+ get: function () { return chunkEAGAWIIC_js.LogicNodeModal; }
3455
3439
  });
3456
3440
  Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
3457
3441
  enumerable: true,
3458
- get: function () { return chunkPRCRY6MW_js.MINIMAP_NODE_COLORS; }
3442
+ get: function () { return chunkEAGAWIIC_js.MINIMAP_NODE_COLORS; }
3459
3443
  });
3460
3444
  Object.defineProperty(exports, "ModelProviderFlowNode", {
3461
3445
  enumerable: true,
3462
- get: function () { return chunkPRCRY6MW_js.ModelProviderFlowNode; }
3446
+ get: function () { return chunkEAGAWIIC_js.ModelProviderFlowNode; }
3463
3447
  });
3464
3448
  Object.defineProperty(exports, "NODE_EXECUTION_ACCENT_COLORS", {
3465
3449
  enumerable: true,
3466
- get: function () { return chunkPRCRY6MW_js.NODE_EXECUTION_ACCENT_COLORS; }
3450
+ get: function () { return chunkEAGAWIIC_js.NODE_EXECUTION_ACCENT_COLORS; }
3467
3451
  });
3468
3452
  Object.defineProperty(exports, "NodeCard", {
3469
3453
  enumerable: true,
3470
- get: function () { return chunkPRCRY6MW_js.NodeCard; }
3454
+ get: function () { return chunkEAGAWIIC_js.NodeCard; }
3471
3455
  });
3472
3456
  Object.defineProperty(exports, "NodeContextMenu", {
3473
3457
  enumerable: true,
3474
- get: function () { return chunkPRCRY6MW_js.NodeContextMenu; }
3458
+ get: function () { return chunkEAGAWIIC_js.NodeContextMenu; }
3475
3459
  });
3476
3460
  Object.defineProperty(exports, "NoteFlowNode", {
3477
3461
  enumerable: true,
3478
- get: function () { return chunkPRCRY6MW_js.NoteFlowNode; }
3462
+ get: function () { return chunkEAGAWIIC_js.NoteFlowNode; }
3479
3463
  });
3480
3464
  Object.defineProperty(exports, "OpenAIIcon", {
3481
3465
  enumerable: true,
3482
- get: function () { return chunkPRCRY6MW_js.OpenAIIcon; }
3466
+ get: function () { return chunkEAGAWIIC_js.OpenAIIcon; }
3483
3467
  });
3484
3468
  Object.defineProperty(exports, "PanelContextMenu", {
3485
3469
  enumerable: true,
3486
- get: function () { return chunkPRCRY6MW_js.PanelContextMenu; }
3470
+ get: function () { return chunkEAGAWIIC_js.PanelContextMenu; }
3487
3471
  });
3488
3472
  Object.defineProperty(exports, "ParameterExtractorFlowNode", {
3489
3473
  enumerable: true,
3490
- get: function () { return chunkPRCRY6MW_js.ParameterExtractorFlowNode; }
3474
+ get: function () { return chunkEAGAWIIC_js.ParameterExtractorFlowNode; }
3491
3475
  });
3492
3476
  Object.defineProperty(exports, "QuestionClassifierFlowNode", {
3493
3477
  enumerable: true,
3494
- get: function () { return chunkPRCRY6MW_js.QuestionClassifierFlowNode; }
3478
+ get: function () { return chunkEAGAWIIC_js.QuestionClassifierFlowNode; }
3495
3479
  });
3496
3480
  Object.defineProperty(exports, "RuleFlowNode", {
3497
3481
  enumerable: true,
3498
- get: function () { return chunkPRCRY6MW_js.RuleFlowNode; }
3482
+ get: function () { return chunkEAGAWIIC_js.RuleFlowNode; }
3499
3483
  });
3500
3484
  Object.defineProperty(exports, "SelectionContextMenu", {
3501
3485
  enumerable: true,
3502
- get: function () { return chunkPRCRY6MW_js.SelectionContextMenu; }
3486
+ get: function () { return chunkEAGAWIIC_js.SelectionContextMenu; }
3503
3487
  });
3504
3488
  Object.defineProperty(exports, "StartFlowNode", {
3505
3489
  enumerable: true,
3506
- get: function () { return chunkPRCRY6MW_js.StartFlowNode; }
3490
+ get: function () { return chunkEAGAWIIC_js.StartFlowNode; }
3507
3491
  });
3508
3492
  Object.defineProperty(exports, "StrandsIcon", {
3509
3493
  enumerable: true,
3510
- get: function () { return chunkPRCRY6MW_js.StrandsIcon; }
3494
+ get: function () { return chunkEAGAWIIC_js.StrandsIcon; }
3511
3495
  });
3512
3496
  Object.defineProperty(exports, "TemplateTransformFlowNode", {
3513
3497
  enumerable: true,
3514
- get: function () { return chunkPRCRY6MW_js.TemplateTransformFlowNode; }
3498
+ get: function () { return chunkEAGAWIIC_js.TemplateTransformFlowNode; }
3515
3499
  });
3516
3500
  Object.defineProperty(exports, "ToolFlowNode", {
3517
3501
  enumerable: true,
3518
- get: function () { return chunkPRCRY6MW_js.ToolFlowNode; }
3502
+ get: function () { return chunkEAGAWIIC_js.ToolFlowNode; }
3519
3503
  });
3520
3504
  Object.defineProperty(exports, "VariableAggregatorFlowNode", {
3521
3505
  enumerable: true,
3522
- get: function () { return chunkPRCRY6MW_js.VariableAggregatorFlowNode; }
3506
+ get: function () { return chunkEAGAWIIC_js.VariableAggregatorFlowNode; }
3523
3507
  });
3524
3508
  Object.defineProperty(exports, "VariableAssignerFlowNode", {
3525
3509
  enumerable: true,
3526
- get: function () { return chunkPRCRY6MW_js.VariableAssignerFlowNode; }
3510
+ get: function () { return chunkEAGAWIIC_js.VariableAssignerFlowNode; }
3527
3511
  });
3528
3512
  Object.defineProperty(exports, "WorkflowBuilderProvider", {
3529
3513
  enumerable: true,
3530
- get: function () { return chunkPRCRY6MW_js.WorkflowBuilderProvider; }
3514
+ get: function () { return chunkEAGAWIIC_js.WorkflowBuilderProvider; }
3531
3515
  });
3532
3516
  Object.defineProperty(exports, "Workspace", {
3533
3517
  enumerable: true,
3534
- get: function () { return chunkPRCRY6MW_js.Workspace; }
3518
+ get: function () { return chunkEAGAWIIC_js.Workspace; }
3535
3519
  });
3536
3520
  Object.defineProperty(exports, "getCompatibleModels", {
3537
3521
  enumerable: true,
3538
- get: function () { return chunkPRCRY6MW_js.getCompatibleModels; }
3522
+ get: function () { return chunkEAGAWIIC_js.getCompatibleModels; }
3539
3523
  });
3540
3524
  Object.defineProperty(exports, "getDefaultFrameworkForModel", {
3541
3525
  enumerable: true,
3542
- get: function () { return chunkPRCRY6MW_js.getDefaultFrameworkForModel; }
3526
+ get: function () { return chunkEAGAWIIC_js.getDefaultFrameworkForModel; }
3543
3527
  });
3544
3528
  Object.defineProperty(exports, "getEntityBadgeColor", {
3545
3529
  enumerable: true,
3546
- get: function () { return chunkPRCRY6MW_js.getEntityBadgeColor; }
3530
+ get: function () { return chunkEAGAWIIC_js.getEntityBadgeColor; }
3547
3531
  });
3548
3532
  Object.defineProperty(exports, "getEntityGradient", {
3549
3533
  enumerable: true,
3550
- get: function () { return chunkPRCRY6MW_js.getEntityGradient; }
3534
+ get: function () { return chunkEAGAWIIC_js.getEntityGradient; }
3551
3535
  });
3552
3536
  Object.defineProperty(exports, "getEntityHandleColor", {
3553
3537
  enumerable: true,
3554
- get: function () { return chunkPRCRY6MW_js.getEntityHandleColor; }
3538
+ get: function () { return chunkEAGAWIIC_js.getEntityHandleColor; }
3555
3539
  });
3556
3540
  Object.defineProperty(exports, "getEntityIcon", {
3557
3541
  enumerable: true,
3558
- get: function () { return chunkPRCRY6MW_js.getEntityIcon; }
3542
+ get: function () { return chunkEAGAWIIC_js.getEntityIcon; }
3559
3543
  });
3560
3544
  Object.defineProperty(exports, "getEntityMinimapColor", {
3561
3545
  enumerable: true,
3562
- get: function () { return chunkPRCRY6MW_js.getEntityMinimapColor; }
3546
+ get: function () { return chunkEAGAWIIC_js.getEntityMinimapColor; }
3563
3547
  });
3564
3548
  Object.defineProperty(exports, "getFrameworkMeta", {
3565
3549
  enumerable: true,
3566
- get: function () { return chunkPRCRY6MW_js.getFrameworkMeta; }
3550
+ get: function () { return chunkEAGAWIIC_js.getFrameworkMeta; }
3567
3551
  });
3568
3552
  Object.defineProperty(exports, "getNodeExecutionAccent", {
3569
3553
  enumerable: true,
3570
- get: function () { return chunkPRCRY6MW_js.getNodeExecutionAccent; }
3554
+ get: function () { return chunkEAGAWIIC_js.getNodeExecutionAccent; }
3571
3555
  });
3572
3556
  Object.defineProperty(exports, "getNodeExecutionAccentRgb", {
3573
3557
  enumerable: true,
3574
- get: function () { return chunkPRCRY6MW_js.getNodeExecutionAccentRgb; }
3558
+ get: function () { return chunkEAGAWIIC_js.getNodeExecutionAccentRgb; }
3575
3559
  });
3576
3560
  Object.defineProperty(exports, "isModelCompatibleWithFramework", {
3577
3561
  enumerable: true,
3578
- get: function () { return chunkPRCRY6MW_js.isModelCompatibleWithFramework; }
3562
+ get: function () { return chunkEAGAWIIC_js.isModelCompatibleWithFramework; }
3579
3563
  });
3580
3564
  Object.defineProperty(exports, "useModalStore", {
3581
3565
  enumerable: true,
3582
- get: function () { return chunkPRCRY6MW_js.useModalStore; }
3566
+ get: function () { return chunkEAGAWIIC_js.useModalStore; }
3583
3567
  });
3584
3568
  Object.defineProperty(exports, "useWorkflowBuilderClient", {
3585
3569
  enumerable: true,
3586
- get: function () { return chunkPRCRY6MW_js.useWorkflowBuilderClient; }
3570
+ get: function () { return chunkEAGAWIIC_js.useWorkflowBuilderClient; }
3587
3571
  });
3588
3572
  Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
3589
3573
  enumerable: true,
3590
- get: function () { return chunkPRCRY6MW_js.useWorkflowBuilderClientOptional; }
3574
+ get: function () { return chunkEAGAWIIC_js.useWorkflowBuilderClientOptional; }
3591
3575
  });
3592
3576
  Object.defineProperty(exports, "useWorkflowStore", {
3593
3577
  enumerable: true,
3594
- get: function () { return chunkPRCRY6MW_js.useWorkflowStore; }
3578
+ get: function () { return chunkEAGAWIIC_js.useWorkflowStore; }
3595
3579
  });
3596
3580
  Object.defineProperty(exports, "GraphNodeBadge", {
3597
3581
  enumerable: true,
@@ -3609,6 +3593,22 @@ Object.defineProperty(exports, "GraphNodeMeta", {
3609
3593
  enumerable: true,
3610
3594
  get: function () { return chunkP4YYEM4B_js.GraphNodeMeta; }
3611
3595
  });
3596
+ Object.defineProperty(exports, "topologicalSortAgents", {
3597
+ enumerable: true,
3598
+ get: function () { return chunk5UU3RQRB_js.topologicalSortAgents; }
3599
+ });
3600
+ Object.defineProperty(exports, "validateGraphNodeConfigs", {
3601
+ enumerable: true,
3602
+ get: function () { return chunk5UU3RQRB_js.validateGraphNodeConfigs; }
3603
+ });
3604
+ Object.defineProperty(exports, "validateNodeConfig", {
3605
+ enumerable: true,
3606
+ get: function () { return chunk5UU3RQRB_js.validateNodeConfig; }
3607
+ });
3608
+ Object.defineProperty(exports, "validateWorkflowGraph", {
3609
+ enumerable: true,
3610
+ get: function () { return chunk5UU3RQRB_js.validateWorkflowGraph; }
3611
+ });
3612
3612
  Object.defineProperty(exports, "applyDagreLayout", {
3613
3613
  enumerable: true,
3614
3614
  get: function () { return chunkC7BI5LQ6_js.applyDagreLayout; }