@datatechsolutions/ui 2.11.50 → 2.11.51

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 chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
6
- var chunkYDZRHVCW_js = require('../chunk-YDZRHVCW.js');
7
- var chunkKEUOCEOO_js = require('../chunk-KEUOCEOO.js');
4
+ var chunkVZHQMOVM_js = require('../chunk-VZHQMOVM.js');
5
+ var chunk2IOPJ5BM_js = require('../chunk-2IOPJ5BM.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 chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
12
12
  var chunkPWBWP5FJ_js = require('../chunk-PWBWP5FJ.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 = chunkYDZRHVCW_js.getFrameworkMeta(selectedFramework);
86
+ const frameworkMeta = chunkVZHQMOVM_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(chunkYDZRHVCW_js.FRAMEWORK_META);
362
+ const frameworkKeys = Object.keys(chunkVZHQMOVM_js.FRAMEWORK_META);
363
363
  const hasProviderConstraints = connectedProviderTypes.length > 0;
364
- const compatibleModels = chunkYDZRHVCW_js.getCompatibleModels(models, selectedFramework);
364
+ const compatibleModels = chunkVZHQMOVM_js.getCompatibleModels(models, selectedFramework);
365
365
  const handleFrameworkChange = react.useCallback((newFramework) => {
366
366
  setSelectedFramework(newFramework);
367
- if (!chunkYDZRHVCW_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
- const compatible = chunkYDZRHVCW_js.getCompatibleModels(models, newFramework);
367
+ if (!chunkVZHQMOVM_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
+ const compatible = chunkVZHQMOVM_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 = chunkYDZRHVCW_js.FRAMEWORK_META[key];
379
+ const meta = chunkVZHQMOVM_js.FRAMEWORK_META[key];
380
380
  const isSelected = key === selectedFramework;
381
- const compatCount = chunkYDZRHVCW_js.getCompatibleModels(models, key).length;
382
- const isCompatibleWithProviders = !hasProviderConstraints || chunkYDZRHVCW_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
381
+ const compatCount = chunkVZHQMOVM_js.getCompatibleModels(models, key).length;
382
+ const isCompatibleWithProviders = !hasProviderConstraints || chunkVZHQMOVM_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 = chunkYDZRHVCW_js.isModelCompatibleWithFramework(model.id, selectedFramework);
414
+ const isCompatible = chunkVZHQMOVM_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 = chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodeResults);
513
+ const nodeResults = chunkVZHQMOVM_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) => chunkYDZRHVCW_js.isModelCompatibleWithFramework(m.id, agentFramework)
603
+ (m) => chunkVZHQMOVM_js.isModelCompatibleWithFramework(m.id, agentFramework)
604
604
  );
605
605
  const incompatibleModels = providerModels.models.filter(
606
- (m) => !chunkYDZRHVCW_js.isModelCompatibleWithFramework(m.id, agentFramework)
606
+ (m) => !chunkVZHQMOVM_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 = chunkYDZRHVCW_js.getFrameworkMeta(framework);
679
+ const meta = chunkVZHQMOVM_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
- chunkKEUOCEOO_js.ToggleSwitch,
696
+ chunk2IOPJ5BM_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 = chunkYDZRHVCW_js.useModalStore((s) => s.activeModal);
718
- const agentData = chunkYDZRHVCW_js.useModalStore((s) => s.agentData);
719
- const closeModal = chunkYDZRHVCW_js.useModalStore((s) => s.closeModal);
717
+ const activeModal = chunkVZHQMOVM_js.useModalStore((s) => s.activeModal);
718
+ const agentData = chunkVZHQMOVM_js.useModalStore((s) => s.agentData);
719
+ const closeModal = chunkVZHQMOVM_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
- chunkKEUOCEOO_js.GlassModal,
794
+ chunk2IOPJ5BM_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 = chunkYDZRHVCW_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
946
+ const agentBehind = chunkVZHQMOVM_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 ?? chunkYDZRHVCW_js.CATEGORY_COLORS[categoryKey] ?? chunkYDZRHVCW_js.CATEGORY_COLORS.external;
976
- const categoryPill = chunkYDZRHVCW_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkYDZRHVCW_js.CATEGORY_PILL_COLORS.external;
977
- const IconComponent = chunkYDZRHVCW_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
975
+ const gradient = tool.color ?? chunkVZHQMOVM_js.CATEGORY_COLORS[categoryKey] ?? chunkVZHQMOVM_js.CATEGORY_COLORS.external;
976
+ const categoryPill = chunkVZHQMOVM_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkVZHQMOVM_js.CATEGORY_PILL_COLORS.external;
977
+ const IconComponent = chunkVZHQMOVM_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
- chunkKEUOCEOO_js.GlassModal,
1010
+ chunk2IOPJ5BM_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 ? `${chunkYDZRHVCW_js.CATEGORY_PILL_COLORS[cat] ?? chunkYDZRHVCW_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 ? `${chunkVZHQMOVM_js.CATEGORY_PILL_COLORS[cat] ?? chunkVZHQMOVM_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
- chunkYDZRHVCW_js.WorkflowCanvas,
1129
+ chunkVZHQMOVM_js.WorkflowCanvas,
1130
1130
  {
1131
1131
  initialGraph,
1132
1132
  agents: [],
@@ -1163,7 +1163,7 @@ function WorkspaceModal({
1163
1163
  }) {
1164
1164
  const resolvedSize = LEGACY_WIDTH_MAP[maxWidth] ?? maxWidth;
1165
1165
  return /* @__PURE__ */ jsxRuntime.jsxs(
1166
- chunkKEUOCEOO_js.GlassModal,
1166
+ chunk2IOPJ5BM_js.GlassModal,
1167
1167
  {
1168
1168
  open,
1169
1169
  onClose,
@@ -1184,9 +1184,9 @@ function WorkspaceModal({
1184
1184
  }
1185
1185
  function PipelineSettingsModal({ onSave }) {
1186
1186
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1187
- const activeModal = chunkYDZRHVCW_js.useModalStore((s) => s.activeModal);
1188
- const data = chunkYDZRHVCW_js.useModalStore((s) => s.pipelineSettingsData);
1189
- const closeModal = chunkYDZRHVCW_js.useModalStore((s) => s.closeModal);
1187
+ const activeModal = chunkVZHQMOVM_js.useModalStore((s) => s.activeModal);
1188
+ const data = chunkVZHQMOVM_js.useModalStore((s) => s.pipelineSettingsData);
1189
+ const closeModal = chunkVZHQMOVM_js.useModalStore((s) => s.closeModal);
1190
1190
  const open = activeModal === "pipeline-settings";
1191
1191
  const [nameValue, setNameValue] = react.useState("");
1192
1192
  const [descriptionValue, setDescriptionValue] = react.useState("");
@@ -1221,7 +1221,7 @@ function PipelineSettingsModal({ onSave }) {
1221
1221
  }
1222
1222
  ),
1223
1223
  /* @__PURE__ */ jsxRuntime.jsxs(
1224
- chunkKEUOCEOO_js.Button,
1224
+ chunk2IOPJ5BM_js.Button,
1225
1225
  {
1226
1226
  type: "submit",
1227
1227
  form: "pipeline-settings-form",
@@ -1236,7 +1236,7 @@ function PipelineSettingsModal({ onSave }) {
1236
1236
  )
1237
1237
  ] });
1238
1238
  return /* @__PURE__ */ jsxRuntime.jsx(
1239
- chunkKEUOCEOO_js.GlassModal,
1239
+ chunk2IOPJ5BM_js.GlassModal,
1240
1240
  {
1241
1241
  open,
1242
1242
  onClose: closeModal,
@@ -1250,7 +1250,7 @@ function PipelineSettingsModal({ onSave }) {
1250
1250
  onSubmit: handleSubmit,
1251
1251
  children: /* @__PURE__ */ jsxRuntime.jsxs("form", { id: "pipeline-settings-form", onSubmit: handleSubmit, className: "space-y-6", children: [
1252
1252
  /* @__PURE__ */ jsxRuntime.jsx(
1253
- chunkKEUOCEOO_js.FormInput,
1253
+ chunk2IOPJ5BM_js.FormInput,
1254
1254
  {
1255
1255
  label: t("pipelineName"),
1256
1256
  value: nameValue,
@@ -1260,7 +1260,7 @@ function PipelineSettingsModal({ onSave }) {
1260
1260
  }
1261
1261
  ),
1262
1262
  /* @__PURE__ */ jsxRuntime.jsx(
1263
- chunkKEUOCEOO_js.FormTextarea,
1263
+ chunk2IOPJ5BM_js.FormTextarea,
1264
1264
  {
1265
1265
  label: t("pipelineDescription"),
1266
1266
  value: descriptionValue,
@@ -1405,8 +1405,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
1405
1405
  ] });
1406
1406
  }
1407
1407
  function LogicNodeItemCard({ item, translationFunction }) {
1408
- const IconComponent = chunkYDZRHVCW_js.LOGIC_ICON_MAP[item.nodeType];
1409
- const gradient = chunkYDZRHVCW_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1408
+ const IconComponent = chunkVZHQMOVM_js.LOGIC_ICON_MAP[item.nodeType];
1409
+ const gradient = chunkVZHQMOVM_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1410
1410
  const defaultConfig = chunkPWBWP5FJ_js.createDefaultLogicNodeConfig(item.nodeType);
1411
1411
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
1412
1412
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1572,7 +1572,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1572
1572
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.category })
1573
1573
  ] }),
1574
1574
  /* @__PURE__ */ jsxRuntime.jsx(
1575
- chunkKEUOCEOO_js.ToggleSwitch,
1575
+ chunk2IOPJ5BM_js.ToggleSwitch,
1576
1576
  {
1577
1577
  checked: Boolean(tool.enabled),
1578
1578
  onChange: () => {
@@ -1613,7 +1613,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1613
1613
  ] })
1614
1614
  ] }),
1615
1615
  /* @__PURE__ */ jsxRuntime.jsx(
1616
- chunkKEUOCEOO_js.ToggleSwitch,
1616
+ chunk2IOPJ5BM_js.ToggleSwitch,
1617
1617
  {
1618
1618
  checked: Boolean(rule.enabled),
1619
1619
  onChange: () => {
@@ -1649,8 +1649,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1649
1649
  limit: entity.defaultLimit
1650
1650
  });
1651
1651
  const dsLogo = getDatasourceLogo(entity.id);
1652
- const EntityIcon = chunkYDZRHVCW_js.getEntityIcon(entity.id);
1653
- const entityGradient = chunkYDZRHVCW_js.getEntityGradient(entity.id);
1652
+ const EntityIcon = chunkVZHQMOVM_js.getEntityIcon(entity.id);
1653
+ const entityGradient = chunkVZHQMOVM_js.getEntityGradient(entity.id);
1654
1654
  return /* @__PURE__ */ jsxRuntime.jsxs(
1655
1655
  "div",
1656
1656
  {
@@ -1670,7 +1670,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1670
1670
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1671
1671
  /* @__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" }),
1672
1672
  /* @__PURE__ */ jsxRuntime.jsx(
1673
- chunkKEUOCEOO_js.ToggleSwitch,
1673
+ chunk2IOPJ5BM_js.ToggleSwitch,
1674
1674
  {
1675
1675
  checked: true,
1676
1676
  onChange: () => {
@@ -2047,9 +2047,9 @@ function formatDuration2(durationMs) {
2047
2047
  }
2048
2048
  function RunPanel({ open, onClose, onRun, onStop }) {
2049
2049
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
2050
- const nodes = chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodes);
2051
- const isRunning = chunkYDZRHVCW_js.useWorkflowStore((state) => state.isRunning);
2052
- const nodeResults = chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodeResults);
2050
+ const nodes = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodes);
2051
+ const isRunning = chunkVZHQMOVM_js.useWorkflowStore((state) => state.isRunning);
2052
+ const nodeResults = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodeResults);
2053
2053
  const startNode = nodes.find((node) => node.type === "start");
2054
2054
  const hasEndNode = nodes.some((node) => node.type === "end");
2055
2055
  const hasValidStartConfig = Boolean(
@@ -2334,8 +2334,8 @@ function inferVariables(config, nodeType) {
2334
2334
  }
2335
2335
  function VariableInspector({ open, onClose }) {
2336
2336
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
2337
- const nodes = chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodes);
2338
- const edges = chunkYDZRHVCW_js.useWorkflowStore((state) => state.edges);
2337
+ const nodes = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodes);
2338
+ const edges = chunkVZHQMOVM_js.useWorkflowStore((state) => state.edges);
2339
2339
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
2340
2340
  const toggleNodeExpansion = react.useCallback((nodeId) => {
2341
2341
  setExpandedNodes((current) => {
@@ -2397,8 +2397,8 @@ function VariableInspector({ open, onClose }) {
2397
2397
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
2398
2398
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
2399
2399
  const isExpanded = expandedNodes.has(entry.nodeId);
2400
- const IconComponent = chunkYDZRHVCW_js.LOGIC_ICON_MAP[entry.nodeType];
2401
- const gradient = chunkYDZRHVCW_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2400
+ const IconComponent = chunkVZHQMOVM_js.LOGIC_ICON_MAP[entry.nodeType];
2401
+ const gradient = chunkVZHQMOVM_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2402
2402
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
2403
2403
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
2404
2404
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -2464,7 +2464,7 @@ function RunInputDialog({
2464
2464
  onRun
2465
2465
  }) {
2466
2466
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
2467
- const nodes = chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodes);
2467
+ const nodes = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodes);
2468
2468
  const [values, setValues] = react.useState({});
2469
2469
  const inputVariableNames = react.useMemo(() => {
2470
2470
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -2491,7 +2491,7 @@ function RunInputDialog({
2491
2491
  }, [onClose]);
2492
2492
  if (!open) return null;
2493
2493
  return /* @__PURE__ */ jsxRuntime.jsxs(
2494
- chunkKEUOCEOO_js.GlassModal,
2494
+ chunk2IOPJ5BM_js.GlassModal,
2495
2495
  {
2496
2496
  open,
2497
2497
  onClose: handleClose,
@@ -2502,7 +2502,7 @@ function RunInputDialog({
2502
2502
  /* @__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: [
2503
2503
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
2504
2504
  /* @__PURE__ */ jsxRuntime.jsx(
2505
- chunkKEUOCEOO_js.Input,
2505
+ chunk2IOPJ5BM_js.Input,
2506
2506
  {
2507
2507
  value: values[variableName] ?? "",
2508
2508
  onChange: (event) => handleValueChange(variableName, event.target.value),
@@ -2511,8 +2511,8 @@ function RunInputDialog({
2511
2511
  )
2512
2512
  ] }, variableName)) }),
2513
2513
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", children: [
2514
- /* @__PURE__ */ jsxRuntime.jsx(chunkKEUOCEOO_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2515
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKEUOCEOO_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2514
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2IOPJ5BM_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2515
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk2IOPJ5BM_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2516
2516
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5", "data-slot": "icon" }),
2517
2517
  t("run")
2518
2518
  ] })
@@ -2545,8 +2545,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
2545
2545
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
2546
2546
  const [selectedRun, setSelectedRun] = react.useState(null);
2547
2547
  const [selectedNode, setSelectedNode] = react.useState(null);
2548
- const isRunning = chunkYDZRHVCW_js.useWorkflowStore((state) => state.isRunning);
2549
- const nodeResults = chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodeResults);
2548
+ const isRunning = chunkVZHQMOVM_js.useWorkflowStore((state) => state.isRunning);
2549
+ const nodeResults = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodeResults);
2550
2550
  const refreshRuns = react.useCallback(async () => {
2551
2551
  setIsLoadingRuns(true);
2552
2552
  try {
@@ -2702,7 +2702,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2702
2702
  onAutoSaveGraph(graph);
2703
2703
  }, [onAutoSaveGraph, onGraphSnapshot]);
2704
2704
  return /* @__PURE__ */ jsxRuntime.jsx(
2705
- chunkYDZRHVCW_js.Workspace,
2705
+ chunkVZHQMOVM_js.Workspace,
2706
2706
  {
2707
2707
  ...workspaceProps,
2708
2708
  onGraphChange: handleGraphChange
@@ -2710,7 +2710,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2710
2710
  );
2711
2711
  });
2712
2712
  function DynamicIslandConfirm2(props) {
2713
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKEUOCEOO_js.DynamicIslandConfirm, { ...props });
2713
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk2IOPJ5BM_js.DynamicIslandConfirm, { ...props });
2714
2714
  }
2715
2715
  var JSON_PREVIEW_LINE_LIMIT = 50;
2716
2716
  function DslExportModal({ open, onClose, workflow, graph }) {
@@ -2764,7 +2764,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2764
2764
  }, [jsonString, workflow.name, workflow.version]);
2765
2765
  if (!open) return null;
2766
2766
  return /* @__PURE__ */ jsxRuntime.jsx(
2767
- chunkKEUOCEOO_js.GlassModal,
2767
+ chunk2IOPJ5BM_js.GlassModal,
2768
2768
  {
2769
2769
  open,
2770
2770
  onClose,
@@ -2806,7 +2806,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2806
2806
  ] }),
2807
2807
  /* @__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: [
2808
2808
  /* @__PURE__ */ jsxRuntime.jsx(
2809
- chunkKEUOCEOO_js.Button,
2809
+ chunk2IOPJ5BM_js.Button,
2810
2810
  {
2811
2811
  type: "button",
2812
2812
  onClick: handleCopyToClipboard,
@@ -2823,7 +2823,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2823
2823
  }
2824
2824
  ),
2825
2825
  /* @__PURE__ */ jsxRuntime.jsxs(
2826
- chunkKEUOCEOO_js.Button,
2826
+ chunk2IOPJ5BM_js.Button,
2827
2827
  {
2828
2828
  type: "button",
2829
2829
  onClick: handleDownloadJson,
@@ -2982,7 +2982,7 @@ function DslImportModal({ open, onClose, onImport }) {
2982
2982
  }, []);
2983
2983
  if (!open) return null;
2984
2984
  return /* @__PURE__ */ jsxRuntime.jsx(
2985
- chunkKEUOCEOO_js.GlassModal,
2985
+ chunk2IOPJ5BM_js.GlassModal,
2986
2986
  {
2987
2987
  open,
2988
2988
  onClose,
@@ -3022,7 +3022,7 @@ function DslImportModal({ open, onClose, onImport }) {
3022
3022
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "import-validation-result", children: [
3023
3023
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
3024
3024
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: fileName }),
3025
- /* @__PURE__ */ jsxRuntime.jsx(chunkKEUOCEOO_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
3025
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2IOPJ5BM_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
3026
3026
  ] }),
3027
3027
  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: [
3028
3028
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -3050,9 +3050,9 @@ function DslImportModal({ open, onClose, onImport }) {
3050
3050
  ] })
3051
3051
  ] }) }),
3052
3052
  /* @__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: [
3053
- /* @__PURE__ */ jsxRuntime.jsx(chunkKEUOCEOO_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3053
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2IOPJ5BM_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3054
3054
  /* @__PURE__ */ jsxRuntime.jsxs(
3055
- chunkKEUOCEOO_js.Button,
3055
+ chunk2IOPJ5BM_js.Button,
3056
3056
  {
3057
3057
  type: "button",
3058
3058
  onClick: handleImport,
@@ -3073,14 +3073,14 @@ function DslImportModal({ open, onClose, onImport }) {
3073
3073
  }
3074
3074
 
3075
3075
  // src/astrlabe/store/selectors.ts
3076
- var useCanUndo = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.past.length > 0);
3077
- var useCanRedo = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.future.length > 0);
3078
- var useHasCopied = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.clipboard !== null);
3079
- var useContextMenu = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.contextMenu);
3080
- var useEditingNodeId = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.editingNodeId);
3081
- var useSelectedNodeCount = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3082
- var useIsRunning = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.isRunning);
3083
- var useNodeResults = () => chunkYDZRHVCW_js.useWorkflowStore((state) => state.nodeResults);
3076
+ var useCanUndo = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.past.length > 0);
3077
+ var useCanRedo = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.future.length > 0);
3078
+ var useHasCopied = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.clipboard !== null);
3079
+ var useContextMenu = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.contextMenu);
3080
+ var useEditingNodeId = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.editingNodeId);
3081
+ var useSelectedNodeCount = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3082
+ var useIsRunning = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.isRunning);
3083
+ var useNodeResults = () => chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodeResults);
3084
3084
  var DEFAULT_MAX_HISTORY = 50;
3085
3085
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
3086
3086
  const pastRef = react.useRef([]);
@@ -3358,249 +3358,241 @@ function useHelpLines() {
3358
3358
  };
3359
3359
  }
3360
3360
 
3361
- Object.defineProperty(exports, "topologicalSortAgents", {
3362
- enumerable: true,
3363
- get: function () { return chunk3GE3MBUZ_js.topologicalSortAgents; }
3364
- });
3365
- Object.defineProperty(exports, "validateWorkflowGraph", {
3366
- enumerable: true,
3367
- get: function () { return chunk3GE3MBUZ_js.validateWorkflowGraph; }
3368
- });
3369
3361
  Object.defineProperty(exports, "AgentFlowNode", {
3370
3362
  enumerable: true,
3371
- get: function () { return chunkYDZRHVCW_js.AgentFlowNode; }
3363
+ get: function () { return chunkVZHQMOVM_js.AgentFlowNode; }
3372
3364
  });
3373
3365
  Object.defineProperty(exports, "AgentToolFlowNode", {
3374
3366
  enumerable: true,
3375
- get: function () { return chunkYDZRHVCW_js.AgentToolFlowNode; }
3367
+ get: function () { return chunkVZHQMOVM_js.AgentToolFlowNode; }
3376
3368
  });
3377
3369
  Object.defineProperty(exports, "AnswerFlowNode", {
3378
3370
  enumerable: true,
3379
- get: function () { return chunkYDZRHVCW_js.AnswerFlowNode; }
3371
+ get: function () { return chunkVZHQMOVM_js.AnswerFlowNode; }
3380
3372
  });
3381
3373
  Object.defineProperty(exports, "AnthropicIcon", {
3382
3374
  enumerable: true,
3383
- get: function () { return chunkYDZRHVCW_js.AnthropicIcon; }
3375
+ get: function () { return chunkVZHQMOVM_js.AnthropicIcon; }
3384
3376
  });
3385
3377
  Object.defineProperty(exports, "CodeFlowNode", {
3386
3378
  enumerable: true,
3387
- get: function () { return chunkYDZRHVCW_js.CodeFlowNode; }
3379
+ get: function () { return chunkVZHQMOVM_js.CodeFlowNode; }
3388
3380
  });
3389
3381
  Object.defineProperty(exports, "CrewAIIcon", {
3390
3382
  enumerable: true,
3391
- get: function () { return chunkYDZRHVCW_js.CrewAIIcon; }
3383
+ get: function () { return chunkVZHQMOVM_js.CrewAIIcon; }
3392
3384
  });
3393
3385
  Object.defineProperty(exports, "DocumentExtractorFlowNode", {
3394
3386
  enumerable: true,
3395
- get: function () { return chunkYDZRHVCW_js.DocumentExtractorFlowNode; }
3387
+ get: function () { return chunkVZHQMOVM_js.DocumentExtractorFlowNode; }
3396
3388
  });
3397
3389
  Object.defineProperty(exports, "EndFlowNode", {
3398
3390
  enumerable: true,
3399
- get: function () { return chunkYDZRHVCW_js.EndFlowNode; }
3391
+ get: function () { return chunkVZHQMOVM_js.EndFlowNode; }
3400
3392
  });
3401
3393
  Object.defineProperty(exports, "EntityFlowNode", {
3402
3394
  enumerable: true,
3403
- get: function () { return chunkYDZRHVCW_js.EntityFlowNode; }
3395
+ get: function () { return chunkVZHQMOVM_js.EntityFlowNode; }
3404
3396
  });
3405
3397
  Object.defineProperty(exports, "FRAMEWORK_META", {
3406
3398
  enumerable: true,
3407
- get: function () { return chunkYDZRHVCW_js.FRAMEWORK_META; }
3399
+ get: function () { return chunkVZHQMOVM_js.FRAMEWORK_META; }
3408
3400
  });
3409
3401
  Object.defineProperty(exports, "GoogleADKIcon", {
3410
3402
  enumerable: true,
3411
- get: function () { return chunkYDZRHVCW_js.GoogleADKIcon; }
3403
+ get: function () { return chunkVZHQMOVM_js.GoogleADKIcon; }
3412
3404
  });
3413
3405
  Object.defineProperty(exports, "GroupFlowNode", {
3414
3406
  enumerable: true,
3415
- get: function () { return chunkYDZRHVCW_js.GroupFlowNode; }
3407
+ get: function () { return chunkVZHQMOVM_js.GroupFlowNode; }
3416
3408
  });
3417
3409
  Object.defineProperty(exports, "HttpRequestFlowNode", {
3418
3410
  enumerable: true,
3419
- get: function () { return chunkYDZRHVCW_js.HttpRequestFlowNode; }
3411
+ get: function () { return chunkVZHQMOVM_js.HttpRequestFlowNode; }
3420
3412
  });
3421
3413
  Object.defineProperty(exports, "IfElseFlowNode", {
3422
3414
  enumerable: true,
3423
- get: function () { return chunkYDZRHVCW_js.IfElseFlowNode; }
3415
+ get: function () { return chunkVZHQMOVM_js.IfElseFlowNode; }
3424
3416
  });
3425
3417
  Object.defineProperty(exports, "IterationFlowNode", {
3426
3418
  enumerable: true,
3427
- get: function () { return chunkYDZRHVCW_js.IterationFlowNode; }
3419
+ get: function () { return chunkVZHQMOVM_js.IterationFlowNode; }
3428
3420
  });
3429
3421
  Object.defineProperty(exports, "IterationStartFlowNode", {
3430
3422
  enumerable: true,
3431
- get: function () { return chunkYDZRHVCW_js.IterationStartFlowNode; }
3423
+ get: function () { return chunkVZHQMOVM_js.IterationStartFlowNode; }
3432
3424
  });
3433
3425
  Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
3434
3426
  enumerable: true,
3435
- get: function () { return chunkYDZRHVCW_js.KnowledgeBaseFlowNode; }
3427
+ get: function () { return chunkVZHQMOVM_js.KnowledgeBaseFlowNode; }
3436
3428
  });
3437
3429
  Object.defineProperty(exports, "LOGIC_ICON_MAP", {
3438
3430
  enumerable: true,
3439
- get: function () { return chunkYDZRHVCW_js.LOGIC_ICON_MAP; }
3431
+ get: function () { return chunkVZHQMOVM_js.LOGIC_ICON_MAP; }
3440
3432
  });
3441
3433
  Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
3442
3434
  enumerable: true,
3443
- get: function () { return chunkYDZRHVCW_js.LOGIC_NODE_BADGE_COLORS; }
3435
+ get: function () { return chunkVZHQMOVM_js.LOGIC_NODE_BADGE_COLORS; }
3444
3436
  });
3445
3437
  Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
3446
3438
  enumerable: true,
3447
- get: function () { return chunkYDZRHVCW_js.LOGIC_NODE_GRADIENTS; }
3439
+ get: function () { return chunkVZHQMOVM_js.LOGIC_NODE_GRADIENTS; }
3448
3440
  });
3449
3441
  Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
3450
3442
  enumerable: true,
3451
- get: function () { return chunkYDZRHVCW_js.LOGIC_NODE_HANDLE_COLORS; }
3443
+ get: function () { return chunkVZHQMOVM_js.LOGIC_NODE_HANDLE_COLORS; }
3452
3444
  });
3453
3445
  Object.defineProperty(exports, "LangChainIcon", {
3454
3446
  enumerable: true,
3455
- get: function () { return chunkYDZRHVCW_js.LangChainIcon; }
3447
+ get: function () { return chunkVZHQMOVM_js.LangChainIcon; }
3456
3448
  });
3457
3449
  Object.defineProperty(exports, "ListOperatorFlowNode", {
3458
3450
  enumerable: true,
3459
- get: function () { return chunkYDZRHVCW_js.ListOperatorFlowNode; }
3451
+ get: function () { return chunkVZHQMOVM_js.ListOperatorFlowNode; }
3460
3452
  });
3461
3453
  Object.defineProperty(exports, "LogicNodeModal", {
3462
3454
  enumerable: true,
3463
- get: function () { return chunkYDZRHVCW_js.LogicNodeModal; }
3455
+ get: function () { return chunkVZHQMOVM_js.LogicNodeModal; }
3464
3456
  });
3465
3457
  Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
3466
3458
  enumerable: true,
3467
- get: function () { return chunkYDZRHVCW_js.MINIMAP_NODE_COLORS; }
3459
+ get: function () { return chunkVZHQMOVM_js.MINIMAP_NODE_COLORS; }
3468
3460
  });
3469
3461
  Object.defineProperty(exports, "ModelProviderFlowNode", {
3470
3462
  enumerable: true,
3471
- get: function () { return chunkYDZRHVCW_js.ModelProviderFlowNode; }
3463
+ get: function () { return chunkVZHQMOVM_js.ModelProviderFlowNode; }
3472
3464
  });
3473
3465
  Object.defineProperty(exports, "NODE_EXECUTION_ACCENT_COLORS", {
3474
3466
  enumerable: true,
3475
- get: function () { return chunkYDZRHVCW_js.NODE_EXECUTION_ACCENT_COLORS; }
3467
+ get: function () { return chunkVZHQMOVM_js.NODE_EXECUTION_ACCENT_COLORS; }
3476
3468
  });
3477
3469
  Object.defineProperty(exports, "NodeCard", {
3478
3470
  enumerable: true,
3479
- get: function () { return chunkYDZRHVCW_js.NodeCard; }
3471
+ get: function () { return chunkVZHQMOVM_js.NodeCard; }
3480
3472
  });
3481
3473
  Object.defineProperty(exports, "NodeContextMenu", {
3482
3474
  enumerable: true,
3483
- get: function () { return chunkYDZRHVCW_js.NodeContextMenu; }
3475
+ get: function () { return chunkVZHQMOVM_js.NodeContextMenu; }
3484
3476
  });
3485
3477
  Object.defineProperty(exports, "NoteFlowNode", {
3486
3478
  enumerable: true,
3487
- get: function () { return chunkYDZRHVCW_js.NoteFlowNode; }
3479
+ get: function () { return chunkVZHQMOVM_js.NoteFlowNode; }
3488
3480
  });
3489
3481
  Object.defineProperty(exports, "OpenAIIcon", {
3490
3482
  enumerable: true,
3491
- get: function () { return chunkYDZRHVCW_js.OpenAIIcon; }
3483
+ get: function () { return chunkVZHQMOVM_js.OpenAIIcon; }
3492
3484
  });
3493
3485
  Object.defineProperty(exports, "PanelContextMenu", {
3494
3486
  enumerable: true,
3495
- get: function () { return chunkYDZRHVCW_js.PanelContextMenu; }
3487
+ get: function () { return chunkVZHQMOVM_js.PanelContextMenu; }
3496
3488
  });
3497
3489
  Object.defineProperty(exports, "ParameterExtractorFlowNode", {
3498
3490
  enumerable: true,
3499
- get: function () { return chunkYDZRHVCW_js.ParameterExtractorFlowNode; }
3491
+ get: function () { return chunkVZHQMOVM_js.ParameterExtractorFlowNode; }
3500
3492
  });
3501
3493
  Object.defineProperty(exports, "QuestionClassifierFlowNode", {
3502
3494
  enumerable: true,
3503
- get: function () { return chunkYDZRHVCW_js.QuestionClassifierFlowNode; }
3495
+ get: function () { return chunkVZHQMOVM_js.QuestionClassifierFlowNode; }
3504
3496
  });
3505
3497
  Object.defineProperty(exports, "RuleFlowNode", {
3506
3498
  enumerable: true,
3507
- get: function () { return chunkYDZRHVCW_js.RuleFlowNode; }
3499
+ get: function () { return chunkVZHQMOVM_js.RuleFlowNode; }
3508
3500
  });
3509
3501
  Object.defineProperty(exports, "SelectionContextMenu", {
3510
3502
  enumerable: true,
3511
- get: function () { return chunkYDZRHVCW_js.SelectionContextMenu; }
3503
+ get: function () { return chunkVZHQMOVM_js.SelectionContextMenu; }
3512
3504
  });
3513
3505
  Object.defineProperty(exports, "StartFlowNode", {
3514
3506
  enumerable: true,
3515
- get: function () { return chunkYDZRHVCW_js.StartFlowNode; }
3507
+ get: function () { return chunkVZHQMOVM_js.StartFlowNode; }
3516
3508
  });
3517
3509
  Object.defineProperty(exports, "StrandsIcon", {
3518
3510
  enumerable: true,
3519
- get: function () { return chunkYDZRHVCW_js.StrandsIcon; }
3511
+ get: function () { return chunkVZHQMOVM_js.StrandsIcon; }
3520
3512
  });
3521
3513
  Object.defineProperty(exports, "TemplateTransformFlowNode", {
3522
3514
  enumerable: true,
3523
- get: function () { return chunkYDZRHVCW_js.TemplateTransformFlowNode; }
3515
+ get: function () { return chunkVZHQMOVM_js.TemplateTransformFlowNode; }
3524
3516
  });
3525
3517
  Object.defineProperty(exports, "ToolFlowNode", {
3526
3518
  enumerable: true,
3527
- get: function () { return chunkYDZRHVCW_js.ToolFlowNode; }
3519
+ get: function () { return chunkVZHQMOVM_js.ToolFlowNode; }
3528
3520
  });
3529
3521
  Object.defineProperty(exports, "VariableAggregatorFlowNode", {
3530
3522
  enumerable: true,
3531
- get: function () { return chunkYDZRHVCW_js.VariableAggregatorFlowNode; }
3523
+ get: function () { return chunkVZHQMOVM_js.VariableAggregatorFlowNode; }
3532
3524
  });
3533
3525
  Object.defineProperty(exports, "VariableAssignerFlowNode", {
3534
3526
  enumerable: true,
3535
- get: function () { return chunkYDZRHVCW_js.VariableAssignerFlowNode; }
3527
+ get: function () { return chunkVZHQMOVM_js.VariableAssignerFlowNode; }
3536
3528
  });
3537
3529
  Object.defineProperty(exports, "WorkflowBuilderProvider", {
3538
3530
  enumerable: true,
3539
- get: function () { return chunkYDZRHVCW_js.WorkflowBuilderProvider; }
3531
+ get: function () { return chunkVZHQMOVM_js.WorkflowBuilderProvider; }
3540
3532
  });
3541
3533
  Object.defineProperty(exports, "Workspace", {
3542
3534
  enumerable: true,
3543
- get: function () { return chunkYDZRHVCW_js.Workspace; }
3535
+ get: function () { return chunkVZHQMOVM_js.Workspace; }
3544
3536
  });
3545
3537
  Object.defineProperty(exports, "getCompatibleModels", {
3546
3538
  enumerable: true,
3547
- get: function () { return chunkYDZRHVCW_js.getCompatibleModels; }
3539
+ get: function () { return chunkVZHQMOVM_js.getCompatibleModels; }
3548
3540
  });
3549
3541
  Object.defineProperty(exports, "getDefaultFrameworkForModel", {
3550
3542
  enumerable: true,
3551
- get: function () { return chunkYDZRHVCW_js.getDefaultFrameworkForModel; }
3543
+ get: function () { return chunkVZHQMOVM_js.getDefaultFrameworkForModel; }
3552
3544
  });
3553
3545
  Object.defineProperty(exports, "getEntityBadgeColor", {
3554
3546
  enumerable: true,
3555
- get: function () { return chunkYDZRHVCW_js.getEntityBadgeColor; }
3547
+ get: function () { return chunkVZHQMOVM_js.getEntityBadgeColor; }
3556
3548
  });
3557
3549
  Object.defineProperty(exports, "getEntityGradient", {
3558
3550
  enumerable: true,
3559
- get: function () { return chunkYDZRHVCW_js.getEntityGradient; }
3551
+ get: function () { return chunkVZHQMOVM_js.getEntityGradient; }
3560
3552
  });
3561
3553
  Object.defineProperty(exports, "getEntityHandleColor", {
3562
3554
  enumerable: true,
3563
- get: function () { return chunkYDZRHVCW_js.getEntityHandleColor; }
3555
+ get: function () { return chunkVZHQMOVM_js.getEntityHandleColor; }
3564
3556
  });
3565
3557
  Object.defineProperty(exports, "getEntityIcon", {
3566
3558
  enumerable: true,
3567
- get: function () { return chunkYDZRHVCW_js.getEntityIcon; }
3559
+ get: function () { return chunkVZHQMOVM_js.getEntityIcon; }
3568
3560
  });
3569
3561
  Object.defineProperty(exports, "getEntityMinimapColor", {
3570
3562
  enumerable: true,
3571
- get: function () { return chunkYDZRHVCW_js.getEntityMinimapColor; }
3563
+ get: function () { return chunkVZHQMOVM_js.getEntityMinimapColor; }
3572
3564
  });
3573
3565
  Object.defineProperty(exports, "getFrameworkMeta", {
3574
3566
  enumerable: true,
3575
- get: function () { return chunkYDZRHVCW_js.getFrameworkMeta; }
3567
+ get: function () { return chunkVZHQMOVM_js.getFrameworkMeta; }
3576
3568
  });
3577
3569
  Object.defineProperty(exports, "getNodeExecutionAccent", {
3578
3570
  enumerable: true,
3579
- get: function () { return chunkYDZRHVCW_js.getNodeExecutionAccent; }
3571
+ get: function () { return chunkVZHQMOVM_js.getNodeExecutionAccent; }
3580
3572
  });
3581
3573
  Object.defineProperty(exports, "getNodeExecutionAccentRgb", {
3582
3574
  enumerable: true,
3583
- get: function () { return chunkYDZRHVCW_js.getNodeExecutionAccentRgb; }
3575
+ get: function () { return chunkVZHQMOVM_js.getNodeExecutionAccentRgb; }
3584
3576
  });
3585
3577
  Object.defineProperty(exports, "isModelCompatibleWithFramework", {
3586
3578
  enumerable: true,
3587
- get: function () { return chunkYDZRHVCW_js.isModelCompatibleWithFramework; }
3579
+ get: function () { return chunkVZHQMOVM_js.isModelCompatibleWithFramework; }
3588
3580
  });
3589
3581
  Object.defineProperty(exports, "useModalStore", {
3590
3582
  enumerable: true,
3591
- get: function () { return chunkYDZRHVCW_js.useModalStore; }
3583
+ get: function () { return chunkVZHQMOVM_js.useModalStore; }
3592
3584
  });
3593
3585
  Object.defineProperty(exports, "useWorkflowBuilderClient", {
3594
3586
  enumerable: true,
3595
- get: function () { return chunkYDZRHVCW_js.useWorkflowBuilderClient; }
3587
+ get: function () { return chunkVZHQMOVM_js.useWorkflowBuilderClient; }
3596
3588
  });
3597
3589
  Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
3598
3590
  enumerable: true,
3599
- get: function () { return chunkYDZRHVCW_js.useWorkflowBuilderClientOptional; }
3591
+ get: function () { return chunkVZHQMOVM_js.useWorkflowBuilderClientOptional; }
3600
3592
  });
3601
3593
  Object.defineProperty(exports, "useWorkflowStore", {
3602
3594
  enumerable: true,
3603
- get: function () { return chunkYDZRHVCW_js.useWorkflowStore; }
3595
+ get: function () { return chunkVZHQMOVM_js.useWorkflowStore; }
3604
3596
  });
3605
3597
  Object.defineProperty(exports, "GraphNodeBadge", {
3606
3598
  enumerable: true,
@@ -3618,6 +3610,14 @@ Object.defineProperty(exports, "GraphNodeMeta", {
3618
3610
  enumerable: true,
3619
3611
  get: function () { return chunkP4YYEM4B_js.GraphNodeMeta; }
3620
3612
  });
3613
+ Object.defineProperty(exports, "topologicalSortAgents", {
3614
+ enumerable: true,
3615
+ get: function () { return chunk3GE3MBUZ_js.topologicalSortAgents; }
3616
+ });
3617
+ Object.defineProperty(exports, "validateWorkflowGraph", {
3618
+ enumerable: true,
3619
+ get: function () { return chunk3GE3MBUZ_js.validateWorkflowGraph; }
3620
+ });
3621
3621
  Object.defineProperty(exports, "applyDagreLayout", {
3622
3622
  enumerable: true,
3623
3623
  get: function () { return chunkPWBWP5FJ_js.applyDagreLayout; }