@datatechsolutions/ui 2.11.51 → 2.11.52

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,15 +1,15 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkVZHQMOVM_js = require('../chunk-VZHQMOVM.js');
5
- var chunk2IOPJ5BM_js = require('../chunk-2IOPJ5BM.js');
6
- require('../chunk-UZ3CMNUJ.js');
7
- var chunkYXN2K77G_js = require('../chunk-YXN2K77G.js');
8
- require('../chunk-S7KHTUHA.js');
9
4
  require('../chunk-55H6WZQP.js');
10
- var chunkP4YYEM4B_js = require('../chunk-P4YYEM4B.js');
11
5
  var chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
6
+ var chunkAFVXNLGI_js = require('../chunk-AFVXNLGI.js');
7
+ var chunk2BUYACAN_js = require('../chunk-2BUYACAN.js');
8
+ require('../chunk-S7KHTUHA.js');
9
+ require('../chunk-UZ3CMNUJ.js');
10
+ var chunkP4YYEM4B_js = require('../chunk-P4YYEM4B.js');
12
11
  var chunkPWBWP5FJ_js = require('../chunk-PWBWP5FJ.js');
12
+ var chunkYXN2K77G_js = require('../chunk-YXN2K77G.js');
13
13
  var react = require('react');
14
14
  var outline = require('@heroicons/react/24/outline');
15
15
  var jsxRuntime = require('react/jsx-runtime');
@@ -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 = chunkVZHQMOVM_js.getFrameworkMeta(selectedFramework);
86
+ const frameworkMeta = chunkAFVXNLGI_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(chunkVZHQMOVM_js.FRAMEWORK_META);
362
+ const frameworkKeys = Object.keys(chunkAFVXNLGI_js.FRAMEWORK_META);
363
363
  const hasProviderConstraints = connectedProviderTypes.length > 0;
364
- const compatibleModels = chunkVZHQMOVM_js.getCompatibleModels(models, selectedFramework);
364
+ const compatibleModels = chunkAFVXNLGI_js.getCompatibleModels(models, selectedFramework);
365
365
  const handleFrameworkChange = react.useCallback((newFramework) => {
366
366
  setSelectedFramework(newFramework);
367
- if (!chunkVZHQMOVM_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
- const compatible = chunkVZHQMOVM_js.getCompatibleModels(models, newFramework);
367
+ if (!chunkAFVXNLGI_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
+ const compatible = chunkAFVXNLGI_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 = chunkVZHQMOVM_js.FRAMEWORK_META[key];
379
+ const meta = chunkAFVXNLGI_js.FRAMEWORK_META[key];
380
380
  const isSelected = key === selectedFramework;
381
- const compatCount = chunkVZHQMOVM_js.getCompatibleModels(models, key).length;
382
- const isCompatibleWithProviders = !hasProviderConstraints || chunkVZHQMOVM_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
381
+ const compatCount = chunkAFVXNLGI_js.getCompatibleModels(models, key).length;
382
+ const isCompatibleWithProviders = !hasProviderConstraints || chunkAFVXNLGI_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 = chunkVZHQMOVM_js.isModelCompatibleWithFramework(model.id, selectedFramework);
414
+ const isCompatible = chunkAFVXNLGI_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 = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodeResults);
513
+ const nodeResults = chunkAFVXNLGI_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) => chunkVZHQMOVM_js.isModelCompatibleWithFramework(m.id, agentFramework)
603
+ (m) => chunkAFVXNLGI_js.isModelCompatibleWithFramework(m.id, agentFramework)
604
604
  );
605
605
  const incompatibleModels = providerModels.models.filter(
606
- (m) => !chunkVZHQMOVM_js.isModelCompatibleWithFramework(m.id, agentFramework)
606
+ (m) => !chunkAFVXNLGI_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 = chunkVZHQMOVM_js.getFrameworkMeta(framework);
679
+ const meta = chunkAFVXNLGI_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
- chunk2IOPJ5BM_js.ToggleSwitch,
696
+ chunk2BUYACAN_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 = chunkVZHQMOVM_js.useModalStore((s) => s.activeModal);
718
- const agentData = chunkVZHQMOVM_js.useModalStore((s) => s.agentData);
719
- const closeModal = chunkVZHQMOVM_js.useModalStore((s) => s.closeModal);
717
+ const activeModal = chunkAFVXNLGI_js.useModalStore((s) => s.activeModal);
718
+ const agentData = chunkAFVXNLGI_js.useModalStore((s) => s.agentData);
719
+ const closeModal = chunkAFVXNLGI_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
- chunk2IOPJ5BM_js.GlassModal,
794
+ chunk2BUYACAN_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 = chunkVZHQMOVM_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
946
+ const agentBehind = chunkAFVXNLGI_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 ?? 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;
975
+ const gradient = tool.color ?? chunkAFVXNLGI_js.CATEGORY_COLORS[categoryKey] ?? chunkAFVXNLGI_js.CATEGORY_COLORS.external;
976
+ const categoryPill = chunkAFVXNLGI_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkAFVXNLGI_js.CATEGORY_PILL_COLORS.external;
977
+ const IconComponent = chunkAFVXNLGI_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
- chunk2IOPJ5BM_js.GlassModal,
1010
+ chunk2BUYACAN_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 ? `${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"}`,
1042
+ className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkAFVXNLGI_js.CATEGORY_PILL_COLORS[cat] ?? chunkAFVXNLGI_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
- chunkVZHQMOVM_js.WorkflowCanvas,
1129
+ chunkAFVXNLGI_js.WorkflowCanvas,
1130
1130
  {
1131
1131
  initialGraph,
1132
1132
  agents: [],
@@ -1140,53 +1140,11 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1140
1140
  }
1141
1141
  );
1142
1142
  }
1143
- var LEGACY_WIDTH_MAP = {
1144
- "max-w-xl": "xl",
1145
- "max-w-2xl": "2xl",
1146
- "max-w-4xl": "4xl",
1147
- "max-w-6xl": "6xl",
1148
- "max-w-full": "full"
1149
- };
1150
- function WorkspaceModal({
1151
- open,
1152
- onClose,
1153
- title,
1154
- subtitle,
1155
- label,
1156
- icon,
1157
- gradient = "from-gray-400 to-gray-500",
1158
- maxWidth = "2xl",
1159
- headerActions,
1160
- footer,
1161
- tabs,
1162
- children
1163
- }) {
1164
- const resolvedSize = LEGACY_WIDTH_MAP[maxWidth] ?? maxWidth;
1165
- return /* @__PURE__ */ jsxRuntime.jsxs(
1166
- chunk2IOPJ5BM_js.GlassModal,
1167
- {
1168
- open,
1169
- onClose,
1170
- title,
1171
- subtitle,
1172
- label,
1173
- icon,
1174
- gradient,
1175
- maxWidth: resolvedSize,
1176
- headerActions,
1177
- footer,
1178
- children: [
1179
- tabs,
1180
- children
1181
- ]
1182
- }
1183
- );
1184
- }
1185
1143
  function PipelineSettingsModal({ onSave }) {
1186
1144
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
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);
1145
+ const activeModal = chunkAFVXNLGI_js.useModalStore((s) => s.activeModal);
1146
+ const data = chunkAFVXNLGI_js.useModalStore((s) => s.pipelineSettingsData);
1147
+ const closeModal = chunkAFVXNLGI_js.useModalStore((s) => s.closeModal);
1190
1148
  const open = activeModal === "pipeline-settings";
1191
1149
  const [nameValue, setNameValue] = react.useState("");
1192
1150
  const [descriptionValue, setDescriptionValue] = react.useState("");
@@ -1221,7 +1179,7 @@ function PipelineSettingsModal({ onSave }) {
1221
1179
  }
1222
1180
  ),
1223
1181
  /* @__PURE__ */ jsxRuntime.jsxs(
1224
- chunk2IOPJ5BM_js.Button,
1182
+ chunk2BUYACAN_js.Button,
1225
1183
  {
1226
1184
  type: "submit",
1227
1185
  form: "pipeline-settings-form",
@@ -1236,7 +1194,7 @@ function PipelineSettingsModal({ onSave }) {
1236
1194
  )
1237
1195
  ] });
1238
1196
  return /* @__PURE__ */ jsxRuntime.jsx(
1239
- chunk2IOPJ5BM_js.GlassModal,
1197
+ chunk2BUYACAN_js.GlassModal,
1240
1198
  {
1241
1199
  open,
1242
1200
  onClose: closeModal,
@@ -1250,7 +1208,7 @@ function PipelineSettingsModal({ onSave }) {
1250
1208
  onSubmit: handleSubmit,
1251
1209
  children: /* @__PURE__ */ jsxRuntime.jsxs("form", { id: "pipeline-settings-form", onSubmit: handleSubmit, className: "space-y-6", children: [
1252
1210
  /* @__PURE__ */ jsxRuntime.jsx(
1253
- chunk2IOPJ5BM_js.FormInput,
1211
+ chunk2BUYACAN_js.FormInput,
1254
1212
  {
1255
1213
  label: t("pipelineName"),
1256
1214
  value: nameValue,
@@ -1260,7 +1218,7 @@ function PipelineSettingsModal({ onSave }) {
1260
1218
  }
1261
1219
  ),
1262
1220
  /* @__PURE__ */ jsxRuntime.jsx(
1263
- chunk2IOPJ5BM_js.FormTextarea,
1221
+ chunk2BUYACAN_js.FormTextarea,
1264
1222
  {
1265
1223
  label: t("pipelineDescription"),
1266
1224
  value: descriptionValue,
@@ -1405,8 +1363,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
1405
1363
  ] });
1406
1364
  }
1407
1365
  function LogicNodeItemCard({ item, translationFunction }) {
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";
1366
+ const IconComponent = chunkAFVXNLGI_js.LOGIC_ICON_MAP[item.nodeType];
1367
+ const gradient = chunkAFVXNLGI_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1410
1368
  const defaultConfig = chunkPWBWP5FJ_js.createDefaultLogicNodeConfig(item.nodeType);
1411
1369
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
1412
1370
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1572,7 +1530,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1572
1530
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.category })
1573
1531
  ] }),
1574
1532
  /* @__PURE__ */ jsxRuntime.jsx(
1575
- chunk2IOPJ5BM_js.ToggleSwitch,
1533
+ chunk2BUYACAN_js.ToggleSwitch,
1576
1534
  {
1577
1535
  checked: Boolean(tool.enabled),
1578
1536
  onChange: () => {
@@ -1613,7 +1571,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1613
1571
  ] })
1614
1572
  ] }),
1615
1573
  /* @__PURE__ */ jsxRuntime.jsx(
1616
- chunk2IOPJ5BM_js.ToggleSwitch,
1574
+ chunk2BUYACAN_js.ToggleSwitch,
1617
1575
  {
1618
1576
  checked: Boolean(rule.enabled),
1619
1577
  onChange: () => {
@@ -1649,8 +1607,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1649
1607
  limit: entity.defaultLimit
1650
1608
  });
1651
1609
  const dsLogo = getDatasourceLogo(entity.id);
1652
- const EntityIcon = chunkVZHQMOVM_js.getEntityIcon(entity.id);
1653
- const entityGradient = chunkVZHQMOVM_js.getEntityGradient(entity.id);
1610
+ const EntityIcon = chunkAFVXNLGI_js.getEntityIcon(entity.id);
1611
+ const entityGradient = chunkAFVXNLGI_js.getEntityGradient(entity.id);
1654
1612
  return /* @__PURE__ */ jsxRuntime.jsxs(
1655
1613
  "div",
1656
1614
  {
@@ -1670,7 +1628,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1670
1628
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1671
1629
  /* @__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
1630
  /* @__PURE__ */ jsxRuntime.jsx(
1673
- chunk2IOPJ5BM_js.ToggleSwitch,
1631
+ chunk2BUYACAN_js.ToggleSwitch,
1674
1632
  {
1675
1633
  checked: true,
1676
1634
  onChange: () => {
@@ -2047,9 +2005,9 @@ function formatDuration2(durationMs) {
2047
2005
  }
2048
2006
  function RunPanel({ open, onClose, onRun, onStop }) {
2049
2007
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
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);
2008
+ const nodes = chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodes);
2009
+ const isRunning = chunkAFVXNLGI_js.useWorkflowStore((state) => state.isRunning);
2010
+ const nodeResults = chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodeResults);
2053
2011
  const startNode = nodes.find((node) => node.type === "start");
2054
2012
  const hasEndNode = nodes.some((node) => node.type === "end");
2055
2013
  const hasValidStartConfig = Boolean(
@@ -2334,8 +2292,8 @@ function inferVariables(config, nodeType) {
2334
2292
  }
2335
2293
  function VariableInspector({ open, onClose }) {
2336
2294
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
2337
- const nodes = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodes);
2338
- const edges = chunkVZHQMOVM_js.useWorkflowStore((state) => state.edges);
2295
+ const nodes = chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodes);
2296
+ const edges = chunkAFVXNLGI_js.useWorkflowStore((state) => state.edges);
2339
2297
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
2340
2298
  const toggleNodeExpansion = react.useCallback((nodeId) => {
2341
2299
  setExpandedNodes((current) => {
@@ -2397,8 +2355,8 @@ function VariableInspector({ open, onClose }) {
2397
2355
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
2398
2356
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
2399
2357
  const isExpanded = expandedNodes.has(entry.nodeId);
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";
2358
+ const IconComponent = chunkAFVXNLGI_js.LOGIC_ICON_MAP[entry.nodeType];
2359
+ const gradient = chunkAFVXNLGI_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2402
2360
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
2403
2361
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
2404
2362
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -2464,7 +2422,7 @@ function RunInputDialog({
2464
2422
  onRun
2465
2423
  }) {
2466
2424
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
2467
- const nodes = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodes);
2425
+ const nodes = chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodes);
2468
2426
  const [values, setValues] = react.useState({});
2469
2427
  const inputVariableNames = react.useMemo(() => {
2470
2428
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -2491,7 +2449,7 @@ function RunInputDialog({
2491
2449
  }, [onClose]);
2492
2450
  if (!open) return null;
2493
2451
  return /* @__PURE__ */ jsxRuntime.jsxs(
2494
- chunk2IOPJ5BM_js.GlassModal,
2452
+ chunk2BUYACAN_js.GlassModal,
2495
2453
  {
2496
2454
  open,
2497
2455
  onClose: handleClose,
@@ -2502,7 +2460,7 @@ function RunInputDialog({
2502
2460
  /* @__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
2461
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
2504
2462
  /* @__PURE__ */ jsxRuntime.jsx(
2505
- chunk2IOPJ5BM_js.Input,
2463
+ chunk2BUYACAN_js.Input,
2506
2464
  {
2507
2465
  value: values[variableName] ?? "",
2508
2466
  onChange: (event) => handleValueChange(variableName, event.target.value),
@@ -2511,8 +2469,8 @@ function RunInputDialog({
2511
2469
  )
2512
2470
  ] }, variableName)) }),
2513
2471
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", 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: [
2472
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2BUYACAN_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2473
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk2BUYACAN_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2516
2474
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5", "data-slot": "icon" }),
2517
2475
  t("run")
2518
2476
  ] })
@@ -2545,8 +2503,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
2545
2503
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
2546
2504
  const [selectedRun, setSelectedRun] = react.useState(null);
2547
2505
  const [selectedNode, setSelectedNode] = react.useState(null);
2548
- const isRunning = chunkVZHQMOVM_js.useWorkflowStore((state) => state.isRunning);
2549
- const nodeResults = chunkVZHQMOVM_js.useWorkflowStore((state) => state.nodeResults);
2506
+ const isRunning = chunkAFVXNLGI_js.useWorkflowStore((state) => state.isRunning);
2507
+ const nodeResults = chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodeResults);
2550
2508
  const refreshRuns = react.useCallback(async () => {
2551
2509
  setIsLoadingRuns(true);
2552
2510
  try {
@@ -2702,7 +2660,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2702
2660
  onAutoSaveGraph(graph);
2703
2661
  }, [onAutoSaveGraph, onGraphSnapshot]);
2704
2662
  return /* @__PURE__ */ jsxRuntime.jsx(
2705
- chunkVZHQMOVM_js.Workspace,
2663
+ chunkAFVXNLGI_js.Workspace,
2706
2664
  {
2707
2665
  ...workspaceProps,
2708
2666
  onGraphChange: handleGraphChange
@@ -2710,7 +2668,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2710
2668
  );
2711
2669
  });
2712
2670
  function DynamicIslandConfirm2(props) {
2713
- return /* @__PURE__ */ jsxRuntime.jsx(chunk2IOPJ5BM_js.DynamicIslandConfirm, { ...props });
2671
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk2BUYACAN_js.DynamicIslandConfirm, { ...props });
2714
2672
  }
2715
2673
  var JSON_PREVIEW_LINE_LIMIT = 50;
2716
2674
  function DslExportModal({ open, onClose, workflow, graph }) {
@@ -2764,7 +2722,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2764
2722
  }, [jsonString, workflow.name, workflow.version]);
2765
2723
  if (!open) return null;
2766
2724
  return /* @__PURE__ */ jsxRuntime.jsx(
2767
- chunk2IOPJ5BM_js.GlassModal,
2725
+ chunk2BUYACAN_js.GlassModal,
2768
2726
  {
2769
2727
  open,
2770
2728
  onClose,
@@ -2806,7 +2764,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2806
2764
  ] }),
2807
2765
  /* @__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
2766
  /* @__PURE__ */ jsxRuntime.jsx(
2809
- chunk2IOPJ5BM_js.Button,
2767
+ chunk2BUYACAN_js.Button,
2810
2768
  {
2811
2769
  type: "button",
2812
2770
  onClick: handleCopyToClipboard,
@@ -2823,7 +2781,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2823
2781
  }
2824
2782
  ),
2825
2783
  /* @__PURE__ */ jsxRuntime.jsxs(
2826
- chunk2IOPJ5BM_js.Button,
2784
+ chunk2BUYACAN_js.Button,
2827
2785
  {
2828
2786
  type: "button",
2829
2787
  onClick: handleDownloadJson,
@@ -2982,7 +2940,7 @@ function DslImportModal({ open, onClose, onImport }) {
2982
2940
  }, []);
2983
2941
  if (!open) return null;
2984
2942
  return /* @__PURE__ */ jsxRuntime.jsx(
2985
- chunk2IOPJ5BM_js.GlassModal,
2943
+ chunk2BUYACAN_js.GlassModal,
2986
2944
  {
2987
2945
  open,
2988
2946
  onClose,
@@ -3022,7 +2980,7 @@ function DslImportModal({ open, onClose, onImport }) {
3022
2980
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "import-validation-result", children: [
3023
2981
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
3024
2982
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: fileName }),
3025
- /* @__PURE__ */ jsxRuntime.jsx(chunk2IOPJ5BM_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
2983
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2BUYACAN_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
3026
2984
  ] }),
3027
2985
  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
2986
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -3050,9 +3008,9 @@ function DslImportModal({ open, onClose, onImport }) {
3050
3008
  ] })
3051
3009
  ] }) }),
3052
3010
  /* @__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(chunk2IOPJ5BM_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3011
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2BUYACAN_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
3054
3012
  /* @__PURE__ */ jsxRuntime.jsxs(
3055
- chunk2IOPJ5BM_js.Button,
3013
+ chunk2BUYACAN_js.Button,
3056
3014
  {
3057
3015
  type: "button",
3058
3016
  onClick: handleImport,
@@ -3073,14 +3031,14 @@ function DslImportModal({ open, onClose, onImport }) {
3073
3031
  }
3074
3032
 
3075
3033
  // src/astrlabe/store/selectors.ts
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);
3034
+ var useCanUndo = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.past.length > 0);
3035
+ var useCanRedo = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.future.length > 0);
3036
+ var useHasCopied = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.clipboard !== null);
3037
+ var useContextMenu = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.contextMenu);
3038
+ var useEditingNodeId = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.editingNodeId);
3039
+ var useSelectedNodeCount = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3040
+ var useIsRunning = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.isRunning);
3041
+ var useNodeResults = () => chunkAFVXNLGI_js.useWorkflowStore((state) => state.nodeResults);
3084
3042
  var DEFAULT_MAX_HISTORY = 50;
3085
3043
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
3086
3044
  const pastRef = react.useRef([]);
@@ -3358,241 +3316,249 @@ function useHelpLines() {
3358
3316
  };
3359
3317
  }
3360
3318
 
3319
+ Object.defineProperty(exports, "topologicalSortAgents", {
3320
+ enumerable: true,
3321
+ get: function () { return chunk3GE3MBUZ_js.topologicalSortAgents; }
3322
+ });
3323
+ Object.defineProperty(exports, "validateWorkflowGraph", {
3324
+ enumerable: true,
3325
+ get: function () { return chunk3GE3MBUZ_js.validateWorkflowGraph; }
3326
+ });
3361
3327
  Object.defineProperty(exports, "AgentFlowNode", {
3362
3328
  enumerable: true,
3363
- get: function () { return chunkVZHQMOVM_js.AgentFlowNode; }
3329
+ get: function () { return chunkAFVXNLGI_js.AgentFlowNode; }
3364
3330
  });
3365
3331
  Object.defineProperty(exports, "AgentToolFlowNode", {
3366
3332
  enumerable: true,
3367
- get: function () { return chunkVZHQMOVM_js.AgentToolFlowNode; }
3333
+ get: function () { return chunkAFVXNLGI_js.AgentToolFlowNode; }
3368
3334
  });
3369
3335
  Object.defineProperty(exports, "AnswerFlowNode", {
3370
3336
  enumerable: true,
3371
- get: function () { return chunkVZHQMOVM_js.AnswerFlowNode; }
3337
+ get: function () { return chunkAFVXNLGI_js.AnswerFlowNode; }
3372
3338
  });
3373
3339
  Object.defineProperty(exports, "AnthropicIcon", {
3374
3340
  enumerable: true,
3375
- get: function () { return chunkVZHQMOVM_js.AnthropicIcon; }
3341
+ get: function () { return chunkAFVXNLGI_js.AnthropicIcon; }
3376
3342
  });
3377
3343
  Object.defineProperty(exports, "CodeFlowNode", {
3378
3344
  enumerable: true,
3379
- get: function () { return chunkVZHQMOVM_js.CodeFlowNode; }
3345
+ get: function () { return chunkAFVXNLGI_js.CodeFlowNode; }
3380
3346
  });
3381
3347
  Object.defineProperty(exports, "CrewAIIcon", {
3382
3348
  enumerable: true,
3383
- get: function () { return chunkVZHQMOVM_js.CrewAIIcon; }
3349
+ get: function () { return chunkAFVXNLGI_js.CrewAIIcon; }
3384
3350
  });
3385
3351
  Object.defineProperty(exports, "DocumentExtractorFlowNode", {
3386
3352
  enumerable: true,
3387
- get: function () { return chunkVZHQMOVM_js.DocumentExtractorFlowNode; }
3353
+ get: function () { return chunkAFVXNLGI_js.DocumentExtractorFlowNode; }
3388
3354
  });
3389
3355
  Object.defineProperty(exports, "EndFlowNode", {
3390
3356
  enumerable: true,
3391
- get: function () { return chunkVZHQMOVM_js.EndFlowNode; }
3357
+ get: function () { return chunkAFVXNLGI_js.EndFlowNode; }
3392
3358
  });
3393
3359
  Object.defineProperty(exports, "EntityFlowNode", {
3394
3360
  enumerable: true,
3395
- get: function () { return chunkVZHQMOVM_js.EntityFlowNode; }
3361
+ get: function () { return chunkAFVXNLGI_js.EntityFlowNode; }
3396
3362
  });
3397
3363
  Object.defineProperty(exports, "FRAMEWORK_META", {
3398
3364
  enumerable: true,
3399
- get: function () { return chunkVZHQMOVM_js.FRAMEWORK_META; }
3365
+ get: function () { return chunkAFVXNLGI_js.FRAMEWORK_META; }
3400
3366
  });
3401
3367
  Object.defineProperty(exports, "GoogleADKIcon", {
3402
3368
  enumerable: true,
3403
- get: function () { return chunkVZHQMOVM_js.GoogleADKIcon; }
3369
+ get: function () { return chunkAFVXNLGI_js.GoogleADKIcon; }
3404
3370
  });
3405
3371
  Object.defineProperty(exports, "GroupFlowNode", {
3406
3372
  enumerable: true,
3407
- get: function () { return chunkVZHQMOVM_js.GroupFlowNode; }
3373
+ get: function () { return chunkAFVXNLGI_js.GroupFlowNode; }
3408
3374
  });
3409
3375
  Object.defineProperty(exports, "HttpRequestFlowNode", {
3410
3376
  enumerable: true,
3411
- get: function () { return chunkVZHQMOVM_js.HttpRequestFlowNode; }
3377
+ get: function () { return chunkAFVXNLGI_js.HttpRequestFlowNode; }
3412
3378
  });
3413
3379
  Object.defineProperty(exports, "IfElseFlowNode", {
3414
3380
  enumerable: true,
3415
- get: function () { return chunkVZHQMOVM_js.IfElseFlowNode; }
3381
+ get: function () { return chunkAFVXNLGI_js.IfElseFlowNode; }
3416
3382
  });
3417
3383
  Object.defineProperty(exports, "IterationFlowNode", {
3418
3384
  enumerable: true,
3419
- get: function () { return chunkVZHQMOVM_js.IterationFlowNode; }
3385
+ get: function () { return chunkAFVXNLGI_js.IterationFlowNode; }
3420
3386
  });
3421
3387
  Object.defineProperty(exports, "IterationStartFlowNode", {
3422
3388
  enumerable: true,
3423
- get: function () { return chunkVZHQMOVM_js.IterationStartFlowNode; }
3389
+ get: function () { return chunkAFVXNLGI_js.IterationStartFlowNode; }
3424
3390
  });
3425
3391
  Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
3426
3392
  enumerable: true,
3427
- get: function () { return chunkVZHQMOVM_js.KnowledgeBaseFlowNode; }
3393
+ get: function () { return chunkAFVXNLGI_js.KnowledgeBaseFlowNode; }
3428
3394
  });
3429
3395
  Object.defineProperty(exports, "LOGIC_ICON_MAP", {
3430
3396
  enumerable: true,
3431
- get: function () { return chunkVZHQMOVM_js.LOGIC_ICON_MAP; }
3397
+ get: function () { return chunkAFVXNLGI_js.LOGIC_ICON_MAP; }
3432
3398
  });
3433
3399
  Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
3434
3400
  enumerable: true,
3435
- get: function () { return chunkVZHQMOVM_js.LOGIC_NODE_BADGE_COLORS; }
3401
+ get: function () { return chunkAFVXNLGI_js.LOGIC_NODE_BADGE_COLORS; }
3436
3402
  });
3437
3403
  Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
3438
3404
  enumerable: true,
3439
- get: function () { return chunkVZHQMOVM_js.LOGIC_NODE_GRADIENTS; }
3405
+ get: function () { return chunkAFVXNLGI_js.LOGIC_NODE_GRADIENTS; }
3440
3406
  });
3441
3407
  Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
3442
3408
  enumerable: true,
3443
- get: function () { return chunkVZHQMOVM_js.LOGIC_NODE_HANDLE_COLORS; }
3409
+ get: function () { return chunkAFVXNLGI_js.LOGIC_NODE_HANDLE_COLORS; }
3444
3410
  });
3445
3411
  Object.defineProperty(exports, "LangChainIcon", {
3446
3412
  enumerable: true,
3447
- get: function () { return chunkVZHQMOVM_js.LangChainIcon; }
3413
+ get: function () { return chunkAFVXNLGI_js.LangChainIcon; }
3448
3414
  });
3449
3415
  Object.defineProperty(exports, "ListOperatorFlowNode", {
3450
3416
  enumerable: true,
3451
- get: function () { return chunkVZHQMOVM_js.ListOperatorFlowNode; }
3417
+ get: function () { return chunkAFVXNLGI_js.ListOperatorFlowNode; }
3452
3418
  });
3453
3419
  Object.defineProperty(exports, "LogicNodeModal", {
3454
3420
  enumerable: true,
3455
- get: function () { return chunkVZHQMOVM_js.LogicNodeModal; }
3421
+ get: function () { return chunkAFVXNLGI_js.LogicNodeModal; }
3456
3422
  });
3457
3423
  Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
3458
3424
  enumerable: true,
3459
- get: function () { return chunkVZHQMOVM_js.MINIMAP_NODE_COLORS; }
3425
+ get: function () { return chunkAFVXNLGI_js.MINIMAP_NODE_COLORS; }
3460
3426
  });
3461
3427
  Object.defineProperty(exports, "ModelProviderFlowNode", {
3462
3428
  enumerable: true,
3463
- get: function () { return chunkVZHQMOVM_js.ModelProviderFlowNode; }
3429
+ get: function () { return chunkAFVXNLGI_js.ModelProviderFlowNode; }
3464
3430
  });
3465
3431
  Object.defineProperty(exports, "NODE_EXECUTION_ACCENT_COLORS", {
3466
3432
  enumerable: true,
3467
- get: function () { return chunkVZHQMOVM_js.NODE_EXECUTION_ACCENT_COLORS; }
3433
+ get: function () { return chunkAFVXNLGI_js.NODE_EXECUTION_ACCENT_COLORS; }
3468
3434
  });
3469
3435
  Object.defineProperty(exports, "NodeCard", {
3470
3436
  enumerable: true,
3471
- get: function () { return chunkVZHQMOVM_js.NodeCard; }
3437
+ get: function () { return chunkAFVXNLGI_js.NodeCard; }
3472
3438
  });
3473
3439
  Object.defineProperty(exports, "NodeContextMenu", {
3474
3440
  enumerable: true,
3475
- get: function () { return chunkVZHQMOVM_js.NodeContextMenu; }
3441
+ get: function () { return chunkAFVXNLGI_js.NodeContextMenu; }
3476
3442
  });
3477
3443
  Object.defineProperty(exports, "NoteFlowNode", {
3478
3444
  enumerable: true,
3479
- get: function () { return chunkVZHQMOVM_js.NoteFlowNode; }
3445
+ get: function () { return chunkAFVXNLGI_js.NoteFlowNode; }
3480
3446
  });
3481
3447
  Object.defineProperty(exports, "OpenAIIcon", {
3482
3448
  enumerable: true,
3483
- get: function () { return chunkVZHQMOVM_js.OpenAIIcon; }
3449
+ get: function () { return chunkAFVXNLGI_js.OpenAIIcon; }
3484
3450
  });
3485
3451
  Object.defineProperty(exports, "PanelContextMenu", {
3486
3452
  enumerable: true,
3487
- get: function () { return chunkVZHQMOVM_js.PanelContextMenu; }
3453
+ get: function () { return chunkAFVXNLGI_js.PanelContextMenu; }
3488
3454
  });
3489
3455
  Object.defineProperty(exports, "ParameterExtractorFlowNode", {
3490
3456
  enumerable: true,
3491
- get: function () { return chunkVZHQMOVM_js.ParameterExtractorFlowNode; }
3457
+ get: function () { return chunkAFVXNLGI_js.ParameterExtractorFlowNode; }
3492
3458
  });
3493
3459
  Object.defineProperty(exports, "QuestionClassifierFlowNode", {
3494
3460
  enumerable: true,
3495
- get: function () { return chunkVZHQMOVM_js.QuestionClassifierFlowNode; }
3461
+ get: function () { return chunkAFVXNLGI_js.QuestionClassifierFlowNode; }
3496
3462
  });
3497
3463
  Object.defineProperty(exports, "RuleFlowNode", {
3498
3464
  enumerable: true,
3499
- get: function () { return chunkVZHQMOVM_js.RuleFlowNode; }
3465
+ get: function () { return chunkAFVXNLGI_js.RuleFlowNode; }
3500
3466
  });
3501
3467
  Object.defineProperty(exports, "SelectionContextMenu", {
3502
3468
  enumerable: true,
3503
- get: function () { return chunkVZHQMOVM_js.SelectionContextMenu; }
3469
+ get: function () { return chunkAFVXNLGI_js.SelectionContextMenu; }
3504
3470
  });
3505
3471
  Object.defineProperty(exports, "StartFlowNode", {
3506
3472
  enumerable: true,
3507
- get: function () { return chunkVZHQMOVM_js.StartFlowNode; }
3473
+ get: function () { return chunkAFVXNLGI_js.StartFlowNode; }
3508
3474
  });
3509
3475
  Object.defineProperty(exports, "StrandsIcon", {
3510
3476
  enumerable: true,
3511
- get: function () { return chunkVZHQMOVM_js.StrandsIcon; }
3477
+ get: function () { return chunkAFVXNLGI_js.StrandsIcon; }
3512
3478
  });
3513
3479
  Object.defineProperty(exports, "TemplateTransformFlowNode", {
3514
3480
  enumerable: true,
3515
- get: function () { return chunkVZHQMOVM_js.TemplateTransformFlowNode; }
3481
+ get: function () { return chunkAFVXNLGI_js.TemplateTransformFlowNode; }
3516
3482
  });
3517
3483
  Object.defineProperty(exports, "ToolFlowNode", {
3518
3484
  enumerable: true,
3519
- get: function () { return chunkVZHQMOVM_js.ToolFlowNode; }
3485
+ get: function () { return chunkAFVXNLGI_js.ToolFlowNode; }
3520
3486
  });
3521
3487
  Object.defineProperty(exports, "VariableAggregatorFlowNode", {
3522
3488
  enumerable: true,
3523
- get: function () { return chunkVZHQMOVM_js.VariableAggregatorFlowNode; }
3489
+ get: function () { return chunkAFVXNLGI_js.VariableAggregatorFlowNode; }
3524
3490
  });
3525
3491
  Object.defineProperty(exports, "VariableAssignerFlowNode", {
3526
3492
  enumerable: true,
3527
- get: function () { return chunkVZHQMOVM_js.VariableAssignerFlowNode; }
3493
+ get: function () { return chunkAFVXNLGI_js.VariableAssignerFlowNode; }
3528
3494
  });
3529
3495
  Object.defineProperty(exports, "WorkflowBuilderProvider", {
3530
3496
  enumerable: true,
3531
- get: function () { return chunkVZHQMOVM_js.WorkflowBuilderProvider; }
3497
+ get: function () { return chunkAFVXNLGI_js.WorkflowBuilderProvider; }
3532
3498
  });
3533
3499
  Object.defineProperty(exports, "Workspace", {
3534
3500
  enumerable: true,
3535
- get: function () { return chunkVZHQMOVM_js.Workspace; }
3501
+ get: function () { return chunkAFVXNLGI_js.Workspace; }
3536
3502
  });
3537
3503
  Object.defineProperty(exports, "getCompatibleModels", {
3538
3504
  enumerable: true,
3539
- get: function () { return chunkVZHQMOVM_js.getCompatibleModels; }
3505
+ get: function () { return chunkAFVXNLGI_js.getCompatibleModels; }
3540
3506
  });
3541
3507
  Object.defineProperty(exports, "getDefaultFrameworkForModel", {
3542
3508
  enumerable: true,
3543
- get: function () { return chunkVZHQMOVM_js.getDefaultFrameworkForModel; }
3509
+ get: function () { return chunkAFVXNLGI_js.getDefaultFrameworkForModel; }
3544
3510
  });
3545
3511
  Object.defineProperty(exports, "getEntityBadgeColor", {
3546
3512
  enumerable: true,
3547
- get: function () { return chunkVZHQMOVM_js.getEntityBadgeColor; }
3513
+ get: function () { return chunkAFVXNLGI_js.getEntityBadgeColor; }
3548
3514
  });
3549
3515
  Object.defineProperty(exports, "getEntityGradient", {
3550
3516
  enumerable: true,
3551
- get: function () { return chunkVZHQMOVM_js.getEntityGradient; }
3517
+ get: function () { return chunkAFVXNLGI_js.getEntityGradient; }
3552
3518
  });
3553
3519
  Object.defineProperty(exports, "getEntityHandleColor", {
3554
3520
  enumerable: true,
3555
- get: function () { return chunkVZHQMOVM_js.getEntityHandleColor; }
3521
+ get: function () { return chunkAFVXNLGI_js.getEntityHandleColor; }
3556
3522
  });
3557
3523
  Object.defineProperty(exports, "getEntityIcon", {
3558
3524
  enumerable: true,
3559
- get: function () { return chunkVZHQMOVM_js.getEntityIcon; }
3525
+ get: function () { return chunkAFVXNLGI_js.getEntityIcon; }
3560
3526
  });
3561
3527
  Object.defineProperty(exports, "getEntityMinimapColor", {
3562
3528
  enumerable: true,
3563
- get: function () { return chunkVZHQMOVM_js.getEntityMinimapColor; }
3529
+ get: function () { return chunkAFVXNLGI_js.getEntityMinimapColor; }
3564
3530
  });
3565
3531
  Object.defineProperty(exports, "getFrameworkMeta", {
3566
3532
  enumerable: true,
3567
- get: function () { return chunkVZHQMOVM_js.getFrameworkMeta; }
3533
+ get: function () { return chunkAFVXNLGI_js.getFrameworkMeta; }
3568
3534
  });
3569
3535
  Object.defineProperty(exports, "getNodeExecutionAccent", {
3570
3536
  enumerable: true,
3571
- get: function () { return chunkVZHQMOVM_js.getNodeExecutionAccent; }
3537
+ get: function () { return chunkAFVXNLGI_js.getNodeExecutionAccent; }
3572
3538
  });
3573
3539
  Object.defineProperty(exports, "getNodeExecutionAccentRgb", {
3574
3540
  enumerable: true,
3575
- get: function () { return chunkVZHQMOVM_js.getNodeExecutionAccentRgb; }
3541
+ get: function () { return chunkAFVXNLGI_js.getNodeExecutionAccentRgb; }
3576
3542
  });
3577
3543
  Object.defineProperty(exports, "isModelCompatibleWithFramework", {
3578
3544
  enumerable: true,
3579
- get: function () { return chunkVZHQMOVM_js.isModelCompatibleWithFramework; }
3545
+ get: function () { return chunkAFVXNLGI_js.isModelCompatibleWithFramework; }
3580
3546
  });
3581
3547
  Object.defineProperty(exports, "useModalStore", {
3582
3548
  enumerable: true,
3583
- get: function () { return chunkVZHQMOVM_js.useModalStore; }
3549
+ get: function () { return chunkAFVXNLGI_js.useModalStore; }
3584
3550
  });
3585
3551
  Object.defineProperty(exports, "useWorkflowBuilderClient", {
3586
3552
  enumerable: true,
3587
- get: function () { return chunkVZHQMOVM_js.useWorkflowBuilderClient; }
3553
+ get: function () { return chunkAFVXNLGI_js.useWorkflowBuilderClient; }
3588
3554
  });
3589
3555
  Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
3590
3556
  enumerable: true,
3591
- get: function () { return chunkVZHQMOVM_js.useWorkflowBuilderClientOptional; }
3557
+ get: function () { return chunkAFVXNLGI_js.useWorkflowBuilderClientOptional; }
3592
3558
  });
3593
3559
  Object.defineProperty(exports, "useWorkflowStore", {
3594
3560
  enumerable: true,
3595
- get: function () { return chunkVZHQMOVM_js.useWorkflowStore; }
3561
+ get: function () { return chunkAFVXNLGI_js.useWorkflowStore; }
3596
3562
  });
3597
3563
  Object.defineProperty(exports, "GraphNodeBadge", {
3598
3564
  enumerable: true,
@@ -3610,14 +3576,6 @@ Object.defineProperty(exports, "GraphNodeMeta", {
3610
3576
  enumerable: true,
3611
3577
  get: function () { return chunkP4YYEM4B_js.GraphNodeMeta; }
3612
3578
  });
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
3579
  Object.defineProperty(exports, "applyDagreLayout", {
3622
3580
  enumerable: true,
3623
3581
  get: function () { return chunkPWBWP5FJ_js.applyDagreLayout; }
@@ -3648,7 +3606,6 @@ exports.SubworkflowModal = SubworkflowModal;
3648
3606
  exports.VariableInspector = VariableInspector;
3649
3607
  exports.VersionHistoryPanel = VersionHistoryPanel;
3650
3608
  exports.WorkflowListBar = WorkflowListBar;
3651
- exports.WorkspaceModal = WorkspaceModal;
3652
3609
  exports.getModelIcon = getModelIcon;
3653
3610
  exports.useCanRedo = useCanRedo;
3654
3611
  exports.useCanUndo = useCanUndo;