@datatechsolutions/ui 2.11.61 → 2.11.62

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 chunkGUKB6TLR_js = require('../chunk-GUKB6TLR.js');
7
- var chunk3BR5TG34_js = require('../chunk-3BR5TG34.js');
4
+ var chunkHDVBJXF4_js = require('../chunk-HDVBJXF4.js');
5
+ var chunkMV27AY4F_js = require('../chunk-MV27AY4F.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 = chunkGUKB6TLR_js.getFrameworkMeta(selectedFramework);
86
+ const frameworkMeta = chunkHDVBJXF4_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(chunkGUKB6TLR_js.FRAMEWORK_META);
362
+ const frameworkKeys = Object.keys(chunkHDVBJXF4_js.FRAMEWORK_META);
363
363
  const hasProviderConstraints = connectedProviderTypes.length > 0;
364
- const compatibleModels = chunkGUKB6TLR_js.getCompatibleModels(models, selectedFramework);
364
+ const compatibleModels = chunkHDVBJXF4_js.getCompatibleModels(models, selectedFramework);
365
365
  const handleFrameworkChange = react.useCallback((newFramework) => {
366
366
  setSelectedFramework(newFramework);
367
- if (!chunkGUKB6TLR_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
- const compatible = chunkGUKB6TLR_js.getCompatibleModels(models, newFramework);
367
+ if (!chunkHDVBJXF4_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
+ const compatible = chunkHDVBJXF4_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 = chunkGUKB6TLR_js.FRAMEWORK_META[key];
379
+ const meta = chunkHDVBJXF4_js.FRAMEWORK_META[key];
380
380
  const isSelected = key === selectedFramework;
381
- const compatCount = chunkGUKB6TLR_js.getCompatibleModels(models, key).length;
382
- const isCompatibleWithProviders = !hasProviderConstraints || chunkGUKB6TLR_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
381
+ const compatCount = chunkHDVBJXF4_js.getCompatibleModels(models, key).length;
382
+ const isCompatibleWithProviders = !hasProviderConstraints || chunkHDVBJXF4_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 = chunkGUKB6TLR_js.isModelCompatibleWithFramework(model.id, selectedFramework);
414
+ const isCompatible = chunkHDVBJXF4_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 = chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodeResults);
513
+ const nodeResults = chunkHDVBJXF4_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) => chunkGUKB6TLR_js.isModelCompatibleWithFramework(m.id, agentFramework)
603
+ (m) => chunkHDVBJXF4_js.isModelCompatibleWithFramework(m.id, agentFramework)
604
604
  );
605
605
  const incompatibleModels = providerModels.models.filter(
606
- (m) => !chunkGUKB6TLR_js.isModelCompatibleWithFramework(m.id, agentFramework)
606
+ (m) => !chunkHDVBJXF4_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 = chunkGUKB6TLR_js.getFrameworkMeta(framework);
679
+ const meta = chunkHDVBJXF4_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
- chunk3BR5TG34_js.ToggleSwitch,
696
+ chunkMV27AY4F_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 = chunkGUKB6TLR_js.useModalStore((s) => s.activeModal);
718
- const agentData = chunkGUKB6TLR_js.useModalStore((s) => s.agentData);
719
- const closeModal = chunkGUKB6TLR_js.useModalStore((s) => s.closeModal);
717
+ const activeModal = chunkHDVBJXF4_js.useModalStore((s) => s.activeModal);
718
+ const agentData = chunkHDVBJXF4_js.useModalStore((s) => s.agentData);
719
+ const closeModal = chunkHDVBJXF4_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
- chunk3BR5TG34_js.GlassModal,
794
+ chunkMV27AY4F_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 = chunkGUKB6TLR_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
946
+ const agentBehind = chunkHDVBJXF4_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 ?? chunkGUKB6TLR_js.CATEGORY_COLORS[categoryKey] ?? chunkGUKB6TLR_js.CATEGORY_COLORS.external;
976
- const categoryPill = chunkGUKB6TLR_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkGUKB6TLR_js.CATEGORY_PILL_COLORS.external;
977
- const IconComponent = chunkGUKB6TLR_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
975
+ const gradient = tool.color ?? chunkHDVBJXF4_js.CATEGORY_COLORS[categoryKey] ?? chunkHDVBJXF4_js.CATEGORY_COLORS.external;
976
+ const categoryPill = chunkHDVBJXF4_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkHDVBJXF4_js.CATEGORY_PILL_COLORS.external;
977
+ const IconComponent = chunkHDVBJXF4_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
- chunk3BR5TG34_js.GlassModal,
1010
+ chunkMV27AY4F_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 ? `${chunkGUKB6TLR_js.CATEGORY_PILL_COLORS[cat] ?? chunkGUKB6TLR_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 ? `${chunkHDVBJXF4_js.CATEGORY_PILL_COLORS[cat] ?? chunkHDVBJXF4_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
- chunkGUKB6TLR_js.WorkflowCanvas,
1129
+ chunkHDVBJXF4_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 = chunkGUKB6TLR_js.useModalStore((s) => s.activeModal);
1146
- const data = chunkGUKB6TLR_js.useModalStore((s) => s.pipelineSettingsData);
1147
- const closeModal = chunkGUKB6TLR_js.useModalStore((s) => s.closeModal);
1145
+ const activeModal = chunkHDVBJXF4_js.useModalStore((s) => s.activeModal);
1146
+ const data = chunkHDVBJXF4_js.useModalStore((s) => s.pipelineSettingsData);
1147
+ const closeModal = chunkHDVBJXF4_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
- chunk3BR5TG34_js.Button,
1182
+ chunkMV27AY4F_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
- chunk3BR5TG34_js.GlassModal,
1197
+ chunkMV27AY4F_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
- chunk3BR5TG34_js.FormInput,
1211
+ chunkMV27AY4F_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
- chunk3BR5TG34_js.FormTextarea,
1221
+ chunkMV27AY4F_js.FormTextarea,
1222
1222
  {
1223
1223
  label: t("pipelineDescription"),
1224
1224
  value: descriptionValue,
@@ -1366,8 +1366,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
1366
1366
  ] });
1367
1367
  }
1368
1368
  function LogicNodeItemCard({ item, translationFunction }) {
1369
- const IconComponent = chunkGUKB6TLR_js.LOGIC_ICON_MAP[item.nodeType];
1370
- const gradient = chunkGUKB6TLR_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1369
+ const IconComponent = chunkHDVBJXF4_js.LOGIC_ICON_MAP[item.nodeType];
1370
+ const gradient = chunkHDVBJXF4_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1371
1371
  const defaultConfig = chunkC7BI5LQ6_js.createDefaultLogicNodeConfig(item.nodeType);
1372
1372
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
1373
1373
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1534,7 +1534,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1534
1534
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.category })
1535
1535
  ] }),
1536
1536
  /* @__PURE__ */ jsxRuntime.jsx(
1537
- chunk3BR5TG34_js.ToggleSwitch,
1537
+ chunkMV27AY4F_js.ToggleSwitch,
1538
1538
  {
1539
1539
  checked: Boolean(tool.enabled),
1540
1540
  onChange: () => {
@@ -1575,7 +1575,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1575
1575
  ] })
1576
1576
  ] }),
1577
1577
  /* @__PURE__ */ jsxRuntime.jsx(
1578
- chunk3BR5TG34_js.ToggleSwitch,
1578
+ chunkMV27AY4F_js.ToggleSwitch,
1579
1579
  {
1580
1580
  checked: Boolean(rule.enabled),
1581
1581
  onChange: () => {
@@ -1611,8 +1611,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1611
1611
  limit: entity.defaultLimit
1612
1612
  });
1613
1613
  const dsLogo = getDatasourceLogo(entity.id);
1614
- const EntityIcon = chunkGUKB6TLR_js.getEntityIcon(entity.id);
1615
- const entityGradient = chunkGUKB6TLR_js.getEntityGradient(entity.id);
1614
+ const EntityIcon = chunkHDVBJXF4_js.getEntityIcon(entity.id);
1615
+ const entityGradient = chunkHDVBJXF4_js.getEntityGradient(entity.id);
1616
1616
  return /* @__PURE__ */ jsxRuntime.jsxs(
1617
1617
  "div",
1618
1618
  {
@@ -1632,7 +1632,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1632
1632
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1633
1633
  /* @__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" }),
1634
1634
  /* @__PURE__ */ jsxRuntime.jsx(
1635
- chunk3BR5TG34_js.ToggleSwitch,
1635
+ chunkMV27AY4F_js.ToggleSwitch,
1636
1636
  {
1637
1637
  checked: true,
1638
1638
  onChange: () => {
@@ -2010,9 +2010,9 @@ function formatDuration2(durationMs) {
2010
2010
  }
2011
2011
  function RunPanel({ open, onClose, onRun, onStop }) {
2012
2012
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
2013
- const nodes = chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodes);
2014
- const isRunning = chunkGUKB6TLR_js.useWorkflowStore((state) => state.isRunning);
2015
- const nodeResults = chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodeResults);
2013
+ const nodes = chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodes);
2014
+ const isRunning = chunkHDVBJXF4_js.useWorkflowStore((state) => state.isRunning);
2015
+ const nodeResults = chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodeResults);
2016
2016
  const startNode = nodes.find((node) => node.type === "start");
2017
2017
  const hasEndNode = nodes.some((node) => node.type === "end");
2018
2018
  const hasValidStartConfig = Boolean(
@@ -2297,8 +2297,8 @@ function inferVariables(config, nodeType) {
2297
2297
  }
2298
2298
  function VariableInspector({ open, onClose }) {
2299
2299
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
2300
- const nodes = chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodes);
2301
- const edges = chunkGUKB6TLR_js.useWorkflowStore((state) => state.edges);
2300
+ const nodes = chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodes);
2301
+ const edges = chunkHDVBJXF4_js.useWorkflowStore((state) => state.edges);
2302
2302
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
2303
2303
  const toggleNodeExpansion = react.useCallback((nodeId) => {
2304
2304
  setExpandedNodes((current) => {
@@ -2360,8 +2360,8 @@ function VariableInspector({ open, onClose }) {
2360
2360
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
2361
2361
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
2362
2362
  const isExpanded = expandedNodes.has(entry.nodeId);
2363
- const IconComponent = chunkGUKB6TLR_js.LOGIC_ICON_MAP[entry.nodeType];
2364
- const gradient = chunkGUKB6TLR_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2363
+ const IconComponent = chunkHDVBJXF4_js.LOGIC_ICON_MAP[entry.nodeType];
2364
+ const gradient = chunkHDVBJXF4_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2365
2365
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
2366
2366
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
2367
2367
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -2427,7 +2427,7 @@ function RunInputDialog({
2427
2427
  onRun
2428
2428
  }) {
2429
2429
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
2430
- const nodes = chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodes);
2430
+ const nodes = chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodes);
2431
2431
  const [values, setValues] = react.useState({});
2432
2432
  const inputVariableNames = react.useMemo(() => {
2433
2433
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -2454,7 +2454,7 @@ function RunInputDialog({
2454
2454
  }, [onClose]);
2455
2455
  if (!open) return null;
2456
2456
  return /* @__PURE__ */ jsxRuntime.jsxs(
2457
- chunk3BR5TG34_js.GlassModal,
2457
+ chunkMV27AY4F_js.GlassModal,
2458
2458
  {
2459
2459
  open,
2460
2460
  onClose: handleClose,
@@ -2465,7 +2465,7 @@ function RunInputDialog({
2465
2465
  /* @__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: [
2466
2466
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
2467
2467
  /* @__PURE__ */ jsxRuntime.jsx(
2468
- chunk3BR5TG34_js.Input,
2468
+ chunkMV27AY4F_js.Input,
2469
2469
  {
2470
2470
  value: values[variableName] ?? "",
2471
2471
  onChange: (event) => handleValueChange(variableName, event.target.value),
@@ -2474,8 +2474,8 @@ function RunInputDialog({
2474
2474
  )
2475
2475
  ] }, variableName)) }),
2476
2476
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", children: [
2477
- /* @__PURE__ */ jsxRuntime.jsx(chunk3BR5TG34_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2478
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3BR5TG34_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2477
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMV27AY4F_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2478
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkMV27AY4F_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2479
2479
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5", "data-slot": "icon" }),
2480
2480
  t("run")
2481
2481
  ] })
@@ -2508,8 +2508,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
2508
2508
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
2509
2509
  const [selectedRun, setSelectedRun] = react.useState(null);
2510
2510
  const [selectedNode, setSelectedNode] = react.useState(null);
2511
- const isRunning = chunkGUKB6TLR_js.useWorkflowStore((state) => state.isRunning);
2512
- const nodeResults = chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodeResults);
2511
+ const isRunning = chunkHDVBJXF4_js.useWorkflowStore((state) => state.isRunning);
2512
+ const nodeResults = chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodeResults);
2513
2513
  const refreshRuns = react.useCallback(async () => {
2514
2514
  setIsLoadingRuns(true);
2515
2515
  try {
@@ -2665,7 +2665,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2665
2665
  onAutoSaveGraph(graph);
2666
2666
  }, [onAutoSaveGraph, onGraphSnapshot]);
2667
2667
  return /* @__PURE__ */ jsxRuntime.jsx(
2668
- chunkGUKB6TLR_js.Workspace,
2668
+ chunkHDVBJXF4_js.Workspace,
2669
2669
  {
2670
2670
  ...workspaceProps,
2671
2671
  onGraphChange: handleGraphChange
@@ -2673,7 +2673,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2673
2673
  );
2674
2674
  });
2675
2675
  function DynamicIslandConfirm2(props) {
2676
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3BR5TG34_js.DynamicIslandConfirm, { ...props });
2676
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkMV27AY4F_js.DynamicIslandConfirm, { ...props });
2677
2677
  }
2678
2678
  var JSON_PREVIEW_LINE_LIMIT = 50;
2679
2679
  function DslExportModal({ open, onClose, workflow, graph }) {
@@ -2727,7 +2727,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2727
2727
  }, [jsonString, workflow.name, workflow.version]);
2728
2728
  if (!open) return null;
2729
2729
  return /* @__PURE__ */ jsxRuntime.jsx(
2730
- chunk3BR5TG34_js.GlassModal,
2730
+ chunkMV27AY4F_js.GlassModal,
2731
2731
  {
2732
2732
  open,
2733
2733
  onClose,
@@ -2769,7 +2769,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2769
2769
  ] }),
2770
2770
  /* @__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: [
2771
2771
  /* @__PURE__ */ jsxRuntime.jsx(
2772
- chunk3BR5TG34_js.Button,
2772
+ chunkMV27AY4F_js.Button,
2773
2773
  {
2774
2774
  type: "button",
2775
2775
  onClick: handleCopyToClipboard,
@@ -2786,7 +2786,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2786
2786
  }
2787
2787
  ),
2788
2788
  /* @__PURE__ */ jsxRuntime.jsxs(
2789
- chunk3BR5TG34_js.Button,
2789
+ chunkMV27AY4F_js.Button,
2790
2790
  {
2791
2791
  type: "button",
2792
2792
  onClick: handleDownloadJson,
@@ -2945,7 +2945,7 @@ function DslImportModal({ open, onClose, onImport }) {
2945
2945
  }, []);
2946
2946
  if (!open) return null;
2947
2947
  return /* @__PURE__ */ jsxRuntime.jsx(
2948
- chunk3BR5TG34_js.GlassModal,
2948
+ chunkMV27AY4F_js.GlassModal,
2949
2949
  {
2950
2950
  open,
2951
2951
  onClose,
@@ -2985,7 +2985,7 @@ function DslImportModal({ open, onClose, onImport }) {
2985
2985
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "import-validation-result", children: [
2986
2986
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
2987
2987
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: fileName }),
2988
- /* @__PURE__ */ jsxRuntime.jsx(chunk3BR5TG34_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
2988
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMV27AY4F_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
2989
2989
  ] }),
2990
2990
  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: [
2991
2991
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -3013,9 +3013,9 @@ function DslImportModal({ open, onClose, onImport }) {
3013
3013
  ] })
3014
3014
  ] }) }),
3015
3015
  /* @__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: [
3016
- /* @__PURE__ */ jsxRuntime.jsx(chunk3BR5TG34_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3016
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMV27AY4F_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3017
3017
  /* @__PURE__ */ jsxRuntime.jsxs(
3018
- chunk3BR5TG34_js.Button,
3018
+ chunkMV27AY4F_js.Button,
3019
3019
  {
3020
3020
  type: "button",
3021
3021
  onClick: handleImport,
@@ -3036,14 +3036,14 @@ function DslImportModal({ open, onClose, onImport }) {
3036
3036
  }
3037
3037
 
3038
3038
  // src/astrlabe/store/selectors.ts
3039
- var useCanUndo = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.past.length > 0);
3040
- var useCanRedo = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.future.length > 0);
3041
- var useHasCopied = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.clipboard !== null);
3042
- var useContextMenu = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.contextMenu);
3043
- var useEditingNodeId = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.editingNodeId);
3044
- var useSelectedNodeCount = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3045
- var useIsRunning = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.isRunning);
3046
- var useNodeResults = () => chunkGUKB6TLR_js.useWorkflowStore((state) => state.nodeResults);
3039
+ var useCanUndo = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.past.length > 0);
3040
+ var useCanRedo = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.future.length > 0);
3041
+ var useHasCopied = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.clipboard !== null);
3042
+ var useContextMenu = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.contextMenu);
3043
+ var useEditingNodeId = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.editingNodeId);
3044
+ var useSelectedNodeCount = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3045
+ var useIsRunning = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.isRunning);
3046
+ var useNodeResults = () => chunkHDVBJXF4_js.useWorkflowStore((state) => state.nodeResults);
3047
3047
  var DEFAULT_MAX_HISTORY = 50;
3048
3048
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
3049
3049
  const pastRef = react.useRef([]);
@@ -3321,257 +3321,241 @@ function useHelpLines() {
3321
3321
  };
3322
3322
  }
3323
3323
 
3324
- Object.defineProperty(exports, "topologicalSortAgents", {
3325
- enumerable: true,
3326
- get: function () { return chunk5UU3RQRB_js.topologicalSortAgents; }
3327
- });
3328
- Object.defineProperty(exports, "validateGraphNodeConfigs", {
3329
- enumerable: true,
3330
- get: function () { return chunk5UU3RQRB_js.validateGraphNodeConfigs; }
3331
- });
3332
- Object.defineProperty(exports, "validateNodeConfig", {
3333
- enumerable: true,
3334
- get: function () { return chunk5UU3RQRB_js.validateNodeConfig; }
3335
- });
3336
- Object.defineProperty(exports, "validateWorkflowGraph", {
3337
- enumerable: true,
3338
- get: function () { return chunk5UU3RQRB_js.validateWorkflowGraph; }
3339
- });
3340
3324
  Object.defineProperty(exports, "AgentFlowNode", {
3341
3325
  enumerable: true,
3342
- get: function () { return chunkGUKB6TLR_js.AgentFlowNode; }
3326
+ get: function () { return chunkHDVBJXF4_js.AgentFlowNode; }
3343
3327
  });
3344
3328
  Object.defineProperty(exports, "AgentToolFlowNode", {
3345
3329
  enumerable: true,
3346
- get: function () { return chunkGUKB6TLR_js.AgentToolFlowNode; }
3330
+ get: function () { return chunkHDVBJXF4_js.AgentToolFlowNode; }
3347
3331
  });
3348
3332
  Object.defineProperty(exports, "AnswerFlowNode", {
3349
3333
  enumerable: true,
3350
- get: function () { return chunkGUKB6TLR_js.AnswerFlowNode; }
3334
+ get: function () { return chunkHDVBJXF4_js.AnswerFlowNode; }
3351
3335
  });
3352
3336
  Object.defineProperty(exports, "AnthropicIcon", {
3353
3337
  enumerable: true,
3354
- get: function () { return chunkGUKB6TLR_js.AnthropicIcon; }
3338
+ get: function () { return chunkHDVBJXF4_js.AnthropicIcon; }
3355
3339
  });
3356
3340
  Object.defineProperty(exports, "CodeFlowNode", {
3357
3341
  enumerable: true,
3358
- get: function () { return chunkGUKB6TLR_js.CodeFlowNode; }
3342
+ get: function () { return chunkHDVBJXF4_js.CodeFlowNode; }
3359
3343
  });
3360
3344
  Object.defineProperty(exports, "CrewAIIcon", {
3361
3345
  enumerable: true,
3362
- get: function () { return chunkGUKB6TLR_js.CrewAIIcon; }
3346
+ get: function () { return chunkHDVBJXF4_js.CrewAIIcon; }
3363
3347
  });
3364
3348
  Object.defineProperty(exports, "DocumentExtractorFlowNode", {
3365
3349
  enumerable: true,
3366
- get: function () { return chunkGUKB6TLR_js.DocumentExtractorFlowNode; }
3350
+ get: function () { return chunkHDVBJXF4_js.DocumentExtractorFlowNode; }
3367
3351
  });
3368
3352
  Object.defineProperty(exports, "EndFlowNode", {
3369
3353
  enumerable: true,
3370
- get: function () { return chunkGUKB6TLR_js.EndFlowNode; }
3354
+ get: function () { return chunkHDVBJXF4_js.EndFlowNode; }
3371
3355
  });
3372
3356
  Object.defineProperty(exports, "EntityFlowNode", {
3373
3357
  enumerable: true,
3374
- get: function () { return chunkGUKB6TLR_js.EntityFlowNode; }
3358
+ get: function () { return chunkHDVBJXF4_js.EntityFlowNode; }
3375
3359
  });
3376
3360
  Object.defineProperty(exports, "FRAMEWORK_META", {
3377
3361
  enumerable: true,
3378
- get: function () { return chunkGUKB6TLR_js.FRAMEWORK_META; }
3362
+ get: function () { return chunkHDVBJXF4_js.FRAMEWORK_META; }
3379
3363
  });
3380
3364
  Object.defineProperty(exports, "GoogleADKIcon", {
3381
3365
  enumerable: true,
3382
- get: function () { return chunkGUKB6TLR_js.GoogleADKIcon; }
3366
+ get: function () { return chunkHDVBJXF4_js.GoogleADKIcon; }
3383
3367
  });
3384
3368
  Object.defineProperty(exports, "GroupFlowNode", {
3385
3369
  enumerable: true,
3386
- get: function () { return chunkGUKB6TLR_js.GroupFlowNode; }
3370
+ get: function () { return chunkHDVBJXF4_js.GroupFlowNode; }
3387
3371
  });
3388
3372
  Object.defineProperty(exports, "HttpRequestFlowNode", {
3389
3373
  enumerable: true,
3390
- get: function () { return chunkGUKB6TLR_js.HttpRequestFlowNode; }
3374
+ get: function () { return chunkHDVBJXF4_js.HttpRequestFlowNode; }
3391
3375
  });
3392
3376
  Object.defineProperty(exports, "IfElseFlowNode", {
3393
3377
  enumerable: true,
3394
- get: function () { return chunkGUKB6TLR_js.IfElseFlowNode; }
3378
+ get: function () { return chunkHDVBJXF4_js.IfElseFlowNode; }
3395
3379
  });
3396
3380
  Object.defineProperty(exports, "IterationFlowNode", {
3397
3381
  enumerable: true,
3398
- get: function () { return chunkGUKB6TLR_js.IterationFlowNode; }
3382
+ get: function () { return chunkHDVBJXF4_js.IterationFlowNode; }
3399
3383
  });
3400
3384
  Object.defineProperty(exports, "IterationStartFlowNode", {
3401
3385
  enumerable: true,
3402
- get: function () { return chunkGUKB6TLR_js.IterationStartFlowNode; }
3386
+ get: function () { return chunkHDVBJXF4_js.IterationStartFlowNode; }
3403
3387
  });
3404
3388
  Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
3405
3389
  enumerable: true,
3406
- get: function () { return chunkGUKB6TLR_js.KnowledgeBaseFlowNode; }
3390
+ get: function () { return chunkHDVBJXF4_js.KnowledgeBaseFlowNode; }
3407
3391
  });
3408
3392
  Object.defineProperty(exports, "LOGIC_ICON_MAP", {
3409
3393
  enumerable: true,
3410
- get: function () { return chunkGUKB6TLR_js.LOGIC_ICON_MAP; }
3394
+ get: function () { return chunkHDVBJXF4_js.LOGIC_ICON_MAP; }
3411
3395
  });
3412
3396
  Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
3413
3397
  enumerable: true,
3414
- get: function () { return chunkGUKB6TLR_js.LOGIC_NODE_BADGE_COLORS; }
3398
+ get: function () { return chunkHDVBJXF4_js.LOGIC_NODE_BADGE_COLORS; }
3415
3399
  });
3416
3400
  Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
3417
3401
  enumerable: true,
3418
- get: function () { return chunkGUKB6TLR_js.LOGIC_NODE_GRADIENTS; }
3402
+ get: function () { return chunkHDVBJXF4_js.LOGIC_NODE_GRADIENTS; }
3419
3403
  });
3420
3404
  Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
3421
3405
  enumerable: true,
3422
- get: function () { return chunkGUKB6TLR_js.LOGIC_NODE_HANDLE_COLORS; }
3406
+ get: function () { return chunkHDVBJXF4_js.LOGIC_NODE_HANDLE_COLORS; }
3423
3407
  });
3424
3408
  Object.defineProperty(exports, "LangChainIcon", {
3425
3409
  enumerable: true,
3426
- get: function () { return chunkGUKB6TLR_js.LangChainIcon; }
3410
+ get: function () { return chunkHDVBJXF4_js.LangChainIcon; }
3427
3411
  });
3428
3412
  Object.defineProperty(exports, "ListOperatorFlowNode", {
3429
3413
  enumerable: true,
3430
- get: function () { return chunkGUKB6TLR_js.ListOperatorFlowNode; }
3414
+ get: function () { return chunkHDVBJXF4_js.ListOperatorFlowNode; }
3431
3415
  });
3432
3416
  Object.defineProperty(exports, "LogicNodeModal", {
3433
3417
  enumerable: true,
3434
- get: function () { return chunkGUKB6TLR_js.LogicNodeModal; }
3418
+ get: function () { return chunkHDVBJXF4_js.LogicNodeModal; }
3435
3419
  });
3436
3420
  Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
3437
3421
  enumerable: true,
3438
- get: function () { return chunkGUKB6TLR_js.MINIMAP_NODE_COLORS; }
3422
+ get: function () { return chunkHDVBJXF4_js.MINIMAP_NODE_COLORS; }
3439
3423
  });
3440
3424
  Object.defineProperty(exports, "ModelProviderFlowNode", {
3441
3425
  enumerable: true,
3442
- get: function () { return chunkGUKB6TLR_js.ModelProviderFlowNode; }
3426
+ get: function () { return chunkHDVBJXF4_js.ModelProviderFlowNode; }
3443
3427
  });
3444
3428
  Object.defineProperty(exports, "NODE_EXECUTION_ACCENT_COLORS", {
3445
3429
  enumerable: true,
3446
- get: function () { return chunkGUKB6TLR_js.NODE_EXECUTION_ACCENT_COLORS; }
3430
+ get: function () { return chunkHDVBJXF4_js.NODE_EXECUTION_ACCENT_COLORS; }
3447
3431
  });
3448
3432
  Object.defineProperty(exports, "NodeCard", {
3449
3433
  enumerable: true,
3450
- get: function () { return chunkGUKB6TLR_js.NodeCard; }
3434
+ get: function () { return chunkHDVBJXF4_js.NodeCard; }
3451
3435
  });
3452
3436
  Object.defineProperty(exports, "NodeContextMenu", {
3453
3437
  enumerable: true,
3454
- get: function () { return chunkGUKB6TLR_js.NodeContextMenu; }
3438
+ get: function () { return chunkHDVBJXF4_js.NodeContextMenu; }
3455
3439
  });
3456
3440
  Object.defineProperty(exports, "NoteFlowNode", {
3457
3441
  enumerable: true,
3458
- get: function () { return chunkGUKB6TLR_js.NoteFlowNode; }
3442
+ get: function () { return chunkHDVBJXF4_js.NoteFlowNode; }
3459
3443
  });
3460
3444
  Object.defineProperty(exports, "OpenAIIcon", {
3461
3445
  enumerable: true,
3462
- get: function () { return chunkGUKB6TLR_js.OpenAIIcon; }
3446
+ get: function () { return chunkHDVBJXF4_js.OpenAIIcon; }
3463
3447
  });
3464
3448
  Object.defineProperty(exports, "PanelContextMenu", {
3465
3449
  enumerable: true,
3466
- get: function () { return chunkGUKB6TLR_js.PanelContextMenu; }
3450
+ get: function () { return chunkHDVBJXF4_js.PanelContextMenu; }
3467
3451
  });
3468
3452
  Object.defineProperty(exports, "ParameterExtractorFlowNode", {
3469
3453
  enumerable: true,
3470
- get: function () { return chunkGUKB6TLR_js.ParameterExtractorFlowNode; }
3454
+ get: function () { return chunkHDVBJXF4_js.ParameterExtractorFlowNode; }
3471
3455
  });
3472
3456
  Object.defineProperty(exports, "QuestionClassifierFlowNode", {
3473
3457
  enumerable: true,
3474
- get: function () { return chunkGUKB6TLR_js.QuestionClassifierFlowNode; }
3458
+ get: function () { return chunkHDVBJXF4_js.QuestionClassifierFlowNode; }
3475
3459
  });
3476
3460
  Object.defineProperty(exports, "RuleFlowNode", {
3477
3461
  enumerable: true,
3478
- get: function () { return chunkGUKB6TLR_js.RuleFlowNode; }
3462
+ get: function () { return chunkHDVBJXF4_js.RuleFlowNode; }
3479
3463
  });
3480
3464
  Object.defineProperty(exports, "SelectionContextMenu", {
3481
3465
  enumerable: true,
3482
- get: function () { return chunkGUKB6TLR_js.SelectionContextMenu; }
3466
+ get: function () { return chunkHDVBJXF4_js.SelectionContextMenu; }
3483
3467
  });
3484
3468
  Object.defineProperty(exports, "StartFlowNode", {
3485
3469
  enumerable: true,
3486
- get: function () { return chunkGUKB6TLR_js.StartFlowNode; }
3470
+ get: function () { return chunkHDVBJXF4_js.StartFlowNode; }
3487
3471
  });
3488
3472
  Object.defineProperty(exports, "StrandsIcon", {
3489
3473
  enumerable: true,
3490
- get: function () { return chunkGUKB6TLR_js.StrandsIcon; }
3474
+ get: function () { return chunkHDVBJXF4_js.StrandsIcon; }
3491
3475
  });
3492
3476
  Object.defineProperty(exports, "TemplateTransformFlowNode", {
3493
3477
  enumerable: true,
3494
- get: function () { return chunkGUKB6TLR_js.TemplateTransformFlowNode; }
3478
+ get: function () { return chunkHDVBJXF4_js.TemplateTransformFlowNode; }
3495
3479
  });
3496
3480
  Object.defineProperty(exports, "ToolFlowNode", {
3497
3481
  enumerable: true,
3498
- get: function () { return chunkGUKB6TLR_js.ToolFlowNode; }
3482
+ get: function () { return chunkHDVBJXF4_js.ToolFlowNode; }
3499
3483
  });
3500
3484
  Object.defineProperty(exports, "VariableAggregatorFlowNode", {
3501
3485
  enumerable: true,
3502
- get: function () { return chunkGUKB6TLR_js.VariableAggregatorFlowNode; }
3486
+ get: function () { return chunkHDVBJXF4_js.VariableAggregatorFlowNode; }
3503
3487
  });
3504
3488
  Object.defineProperty(exports, "VariableAssignerFlowNode", {
3505
3489
  enumerable: true,
3506
- get: function () { return chunkGUKB6TLR_js.VariableAssignerFlowNode; }
3490
+ get: function () { return chunkHDVBJXF4_js.VariableAssignerFlowNode; }
3507
3491
  });
3508
3492
  Object.defineProperty(exports, "WorkflowBuilderProvider", {
3509
3493
  enumerable: true,
3510
- get: function () { return chunkGUKB6TLR_js.WorkflowBuilderProvider; }
3494
+ get: function () { return chunkHDVBJXF4_js.WorkflowBuilderProvider; }
3511
3495
  });
3512
3496
  Object.defineProperty(exports, "Workspace", {
3513
3497
  enumerable: true,
3514
- get: function () { return chunkGUKB6TLR_js.Workspace; }
3498
+ get: function () { return chunkHDVBJXF4_js.Workspace; }
3515
3499
  });
3516
3500
  Object.defineProperty(exports, "getCompatibleModels", {
3517
3501
  enumerable: true,
3518
- get: function () { return chunkGUKB6TLR_js.getCompatibleModels; }
3502
+ get: function () { return chunkHDVBJXF4_js.getCompatibleModels; }
3519
3503
  });
3520
3504
  Object.defineProperty(exports, "getDefaultFrameworkForModel", {
3521
3505
  enumerable: true,
3522
- get: function () { return chunkGUKB6TLR_js.getDefaultFrameworkForModel; }
3506
+ get: function () { return chunkHDVBJXF4_js.getDefaultFrameworkForModel; }
3523
3507
  });
3524
3508
  Object.defineProperty(exports, "getEntityBadgeColor", {
3525
3509
  enumerable: true,
3526
- get: function () { return chunkGUKB6TLR_js.getEntityBadgeColor; }
3510
+ get: function () { return chunkHDVBJXF4_js.getEntityBadgeColor; }
3527
3511
  });
3528
3512
  Object.defineProperty(exports, "getEntityGradient", {
3529
3513
  enumerable: true,
3530
- get: function () { return chunkGUKB6TLR_js.getEntityGradient; }
3514
+ get: function () { return chunkHDVBJXF4_js.getEntityGradient; }
3531
3515
  });
3532
3516
  Object.defineProperty(exports, "getEntityHandleColor", {
3533
3517
  enumerable: true,
3534
- get: function () { return chunkGUKB6TLR_js.getEntityHandleColor; }
3518
+ get: function () { return chunkHDVBJXF4_js.getEntityHandleColor; }
3535
3519
  });
3536
3520
  Object.defineProperty(exports, "getEntityIcon", {
3537
3521
  enumerable: true,
3538
- get: function () { return chunkGUKB6TLR_js.getEntityIcon; }
3522
+ get: function () { return chunkHDVBJXF4_js.getEntityIcon; }
3539
3523
  });
3540
3524
  Object.defineProperty(exports, "getEntityMinimapColor", {
3541
3525
  enumerable: true,
3542
- get: function () { return chunkGUKB6TLR_js.getEntityMinimapColor; }
3526
+ get: function () { return chunkHDVBJXF4_js.getEntityMinimapColor; }
3543
3527
  });
3544
3528
  Object.defineProperty(exports, "getFrameworkMeta", {
3545
3529
  enumerable: true,
3546
- get: function () { return chunkGUKB6TLR_js.getFrameworkMeta; }
3530
+ get: function () { return chunkHDVBJXF4_js.getFrameworkMeta; }
3547
3531
  });
3548
3532
  Object.defineProperty(exports, "getNodeExecutionAccent", {
3549
3533
  enumerable: true,
3550
- get: function () { return chunkGUKB6TLR_js.getNodeExecutionAccent; }
3534
+ get: function () { return chunkHDVBJXF4_js.getNodeExecutionAccent; }
3551
3535
  });
3552
3536
  Object.defineProperty(exports, "getNodeExecutionAccentRgb", {
3553
3537
  enumerable: true,
3554
- get: function () { return chunkGUKB6TLR_js.getNodeExecutionAccentRgb; }
3538
+ get: function () { return chunkHDVBJXF4_js.getNodeExecutionAccentRgb; }
3555
3539
  });
3556
3540
  Object.defineProperty(exports, "isModelCompatibleWithFramework", {
3557
3541
  enumerable: true,
3558
- get: function () { return chunkGUKB6TLR_js.isModelCompatibleWithFramework; }
3542
+ get: function () { return chunkHDVBJXF4_js.isModelCompatibleWithFramework; }
3559
3543
  });
3560
3544
  Object.defineProperty(exports, "useModalStore", {
3561
3545
  enumerable: true,
3562
- get: function () { return chunkGUKB6TLR_js.useModalStore; }
3546
+ get: function () { return chunkHDVBJXF4_js.useModalStore; }
3563
3547
  });
3564
3548
  Object.defineProperty(exports, "useWorkflowBuilderClient", {
3565
3549
  enumerable: true,
3566
- get: function () { return chunkGUKB6TLR_js.useWorkflowBuilderClient; }
3550
+ get: function () { return chunkHDVBJXF4_js.useWorkflowBuilderClient; }
3567
3551
  });
3568
3552
  Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
3569
3553
  enumerable: true,
3570
- get: function () { return chunkGUKB6TLR_js.useWorkflowBuilderClientOptional; }
3554
+ get: function () { return chunkHDVBJXF4_js.useWorkflowBuilderClientOptional; }
3571
3555
  });
3572
3556
  Object.defineProperty(exports, "useWorkflowStore", {
3573
3557
  enumerable: true,
3574
- get: function () { return chunkGUKB6TLR_js.useWorkflowStore; }
3558
+ get: function () { return chunkHDVBJXF4_js.useWorkflowStore; }
3575
3559
  });
3576
3560
  Object.defineProperty(exports, "GraphNodeBadge", {
3577
3561
  enumerable: true,
@@ -3589,6 +3573,22 @@ Object.defineProperty(exports, "GraphNodeMeta", {
3589
3573
  enumerable: true,
3590
3574
  get: function () { return chunkP4YYEM4B_js.GraphNodeMeta; }
3591
3575
  });
3576
+ Object.defineProperty(exports, "topologicalSortAgents", {
3577
+ enumerable: true,
3578
+ get: function () { return chunk5UU3RQRB_js.topologicalSortAgents; }
3579
+ });
3580
+ Object.defineProperty(exports, "validateGraphNodeConfigs", {
3581
+ enumerable: true,
3582
+ get: function () { return chunk5UU3RQRB_js.validateGraphNodeConfigs; }
3583
+ });
3584
+ Object.defineProperty(exports, "validateNodeConfig", {
3585
+ enumerable: true,
3586
+ get: function () { return chunk5UU3RQRB_js.validateNodeConfig; }
3587
+ });
3588
+ Object.defineProperty(exports, "validateWorkflowGraph", {
3589
+ enumerable: true,
3590
+ get: function () { return chunk5UU3RQRB_js.validateWorkflowGraph; }
3591
+ });
3592
3592
  Object.defineProperty(exports, "applyDagreLayout", {
3593
3593
  enumerable: true,
3594
3594
  get: function () { return chunkC7BI5LQ6_js.applyDagreLayout; }