@datatechsolutions/ui 2.11.40 → 2.11.42

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.
@@ -3,7 +3,7 @@
3
3
 
4
4
  require('../chunk-55H6WZQP.js');
5
5
  var chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
6
- var chunkDKJEMRZF_js = require('../chunk-DKJEMRZF.js');
6
+ var chunkYI6QMBKC_js = require('../chunk-YI6QMBKC.js');
7
7
  var chunkKEUOCEOO_js = require('../chunk-KEUOCEOO.js');
8
8
  var chunkYXN2K77G_js = require('../chunk-YXN2K77G.js');
9
9
  require('../chunk-S7KHTUHA.js');
@@ -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 = chunkDKJEMRZF_js.getFrameworkMeta(selectedFramework);
86
+ const frameworkMeta = chunkYI6QMBKC_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(chunkDKJEMRZF_js.FRAMEWORK_META);
362
+ const frameworkKeys = Object.keys(chunkYI6QMBKC_js.FRAMEWORK_META);
363
363
  const hasProviderConstraints = connectedProviderTypes.length > 0;
364
- const compatibleModels = chunkDKJEMRZF_js.getCompatibleModels(models, selectedFramework);
364
+ const compatibleModels = chunkYI6QMBKC_js.getCompatibleModels(models, selectedFramework);
365
365
  const handleFrameworkChange = react.useCallback((newFramework) => {
366
366
  setSelectedFramework(newFramework);
367
- if (!chunkDKJEMRZF_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
- const compatible = chunkDKJEMRZF_js.getCompatibleModels(models, newFramework);
367
+ if (!chunkYI6QMBKC_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
+ const compatible = chunkYI6QMBKC_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 = chunkDKJEMRZF_js.FRAMEWORK_META[key];
379
+ const meta = chunkYI6QMBKC_js.FRAMEWORK_META[key];
380
380
  const isSelected = key === selectedFramework;
381
- const compatCount = chunkDKJEMRZF_js.getCompatibleModels(models, key).length;
382
- const isCompatibleWithProviders = !hasProviderConstraints || chunkDKJEMRZF_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
381
+ const compatCount = chunkYI6QMBKC_js.getCompatibleModels(models, key).length;
382
+ const isCompatibleWithProviders = !hasProviderConstraints || chunkYI6QMBKC_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 = chunkDKJEMRZF_js.isModelCompatibleWithFramework(model.id, selectedFramework);
414
+ const isCompatible = chunkYI6QMBKC_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 = chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodeResults);
513
+ const nodeResults = chunkYI6QMBKC_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) => chunkDKJEMRZF_js.isModelCompatibleWithFramework(m.id, agentFramework)
603
+ (m) => chunkYI6QMBKC_js.isModelCompatibleWithFramework(m.id, agentFramework)
604
604
  );
605
605
  const incompatibleModels = providerModels.models.filter(
606
- (m) => !chunkDKJEMRZF_js.isModelCompatibleWithFramework(m.id, agentFramework)
606
+ (m) => !chunkYI6QMBKC_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 = chunkDKJEMRZF_js.getFrameworkMeta(framework);
679
+ const meta = chunkYI6QMBKC_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" }),
@@ -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 = chunkDKJEMRZF_js.useModalStore((s) => s.activeModal);
718
- const agentData = chunkDKJEMRZF_js.useModalStore((s) => s.agentData);
719
- const closeModal = chunkDKJEMRZF_js.useModalStore((s) => s.closeModal);
717
+ const activeModal = chunkYI6QMBKC_js.useModalStore((s) => s.activeModal);
718
+ const agentData = chunkYI6QMBKC_js.useModalStore((s) => s.agentData);
719
+ const closeModal = chunkYI6QMBKC_js.useModalStore((s) => s.closeModal);
720
720
  const open = activeModal === "agent";
721
721
  const agent = agentData?.agent ?? null;
722
722
  const models = agentData?.models ?? [];
@@ -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 = chunkDKJEMRZF_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
946
+ const agentBehind = chunkYI6QMBKC_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 ?? chunkDKJEMRZF_js.CATEGORY_COLORS[categoryKey] ?? chunkDKJEMRZF_js.CATEGORY_COLORS.external;
976
- const categoryPill = chunkDKJEMRZF_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkDKJEMRZF_js.CATEGORY_PILL_COLORS.external;
977
- const IconComponent = chunkDKJEMRZF_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
975
+ const gradient = tool.color ?? chunkYI6QMBKC_js.CATEGORY_COLORS[categoryKey] ?? chunkYI6QMBKC_js.CATEGORY_COLORS.external;
976
+ const categoryPill = chunkYI6QMBKC_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkYI6QMBKC_js.CATEGORY_PILL_COLORS.external;
977
+ const IconComponent = chunkYI6QMBKC_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");
@@ -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 ? `${chunkDKJEMRZF_js.CATEGORY_PILL_COLORS[cat] ?? chunkDKJEMRZF_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 ? `${chunkYI6QMBKC_js.CATEGORY_PILL_COLORS[cat] ?? chunkYI6QMBKC_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
- chunkDKJEMRZF_js.WorkflowCanvas,
1129
+ chunkYI6QMBKC_js.WorkflowCanvas,
1130
1130
  {
1131
1131
  initialGraph,
1132
1132
  agents: [],
@@ -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 = chunkDKJEMRZF_js.useModalStore((s) => s.activeModal);
1188
- const data = chunkDKJEMRZF_js.useModalStore((s) => s.pipelineSettingsData);
1189
- const closeModal = chunkDKJEMRZF_js.useModalStore((s) => s.closeModal);
1187
+ const activeModal = chunkYI6QMBKC_js.useModalStore((s) => s.activeModal);
1188
+ const data = chunkYI6QMBKC_js.useModalStore((s) => s.pipelineSettingsData);
1189
+ const closeModal = chunkYI6QMBKC_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("");
@@ -1273,31 +1273,27 @@ function PipelineSettingsModal({ onSave }) {
1273
1273
  }
1274
1274
  );
1275
1275
  }
1276
-
1277
- // src/brand/logos/providers/anthropic.svg
1278
- var anthropic_default = "../anthropic-2KBFBWYV.svg";
1279
-
1280
- // src/brand/logos/providers/aws.svg
1281
- var aws_default = "../aws-UCNBZKSZ.svg";
1282
-
1283
- // src/brand/logos/providers/google-gemini.svg
1284
- var google_gemini_default = "../google-gemini-CVCHE4E2.svg";
1285
-
1286
- // src/brand/logos/providers/openai.svg
1287
- var openai_default = "../openai-GLI5I2PL.svg";
1288
-
1289
- // src/brand/logos/providers/meta.svg
1290
- var meta_default = "../meta-EQ5RQLUY.svg";
1291
1276
  var DATASOURCE_LOGOS = {
1292
- bigquery: chunkDKJEMRZF_js.bigquery_default,
1293
- postgres: chunkDKJEMRZF_js.postgres_default,
1294
- snowflake: chunkDKJEMRZF_js.snowflake_default,
1295
- mongodb: chunkDKJEMRZF_js.mongodb_default,
1296
- redis: chunkDKJEMRZF_js.redis_default,
1297
- mysql: chunkDKJEMRZF_js.mysql_default,
1298
- clickhouse: chunkDKJEMRZF_js.clickhouse_default,
1299
- elasticsearch: chunkDKJEMRZF_js.elasticsearch_default,
1300
- duckdb: chunkDKJEMRZF_js.duckdb_default
1277
+ bigquery: "/logos/datasources/bigquery.svg",
1278
+ postgres: "/logos/datasources/postgres.svg",
1279
+ snowflake: "/logos/datasources/snowflake.svg",
1280
+ mongodb: "/logos/datasources/mongodb.svg",
1281
+ redis: "/logos/datasources/redis.svg",
1282
+ mysql: "/logos/datasources/mysql.svg",
1283
+ clickhouse: "/logos/datasources/clickhouse.svg",
1284
+ elasticsearch: "/logos/datasources/elasticsearch.svg",
1285
+ duckdb: "/logos/datasources/duckdb.svg",
1286
+ sqlite: "/logos/datasources/sqlite.svg",
1287
+ mariadb: "/logos/datasources/mariadb.svg",
1288
+ oracle: "/logos/datasources/oracle.svg",
1289
+ mssql: "/logos/datasources/mssql.svg",
1290
+ sqlserver: "/logos/datasources/mssql.svg",
1291
+ cassandra: "/logos/datasources/cassandra.svg",
1292
+ dynamodb: "/logos/datasources/dynamodb.svg",
1293
+ cockroach: "/logos/datasources/cockroachdb.svg",
1294
+ supabase: "/logos/datasources/supabase.svg",
1295
+ firebase: "/logos/datasources/firebase.svg",
1296
+ neo4j: "/logos/datasources/neo4j.svg"
1301
1297
  };
1302
1298
  function getDatasourceLogo(entityId) {
1303
1299
  const lower = entityId.toLowerCase();
@@ -1307,11 +1303,11 @@ function getDatasourceLogo(entityId) {
1307
1303
  return null;
1308
1304
  }
1309
1305
  var PROVIDER_LOGOS2 = {
1310
- anthropic: anthropic_default,
1311
- amazon: aws_default,
1312
- google: google_gemini_default,
1313
- openai: openai_default,
1314
- meta: meta_default
1306
+ anthropic: "/logos/providers/anthropic.svg",
1307
+ amazon: "/logos/providers/aws.svg",
1308
+ google: "/logos/providers/google-gemini.svg",
1309
+ openai: "/logos/providers/openai.svg",
1310
+ meta: "/logos/providers/meta.svg"
1315
1311
  };
1316
1312
  function onDragStart(event, nodeType, entityId, label, config) {
1317
1313
  event.dataTransfer.setData("nodeType", nodeType);
@@ -1409,8 +1405,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
1409
1405
  ] });
1410
1406
  }
1411
1407
  function LogicNodeItemCard({ item, translationFunction }) {
1412
- const IconComponent = chunkDKJEMRZF_js.LOGIC_ICON_MAP[item.nodeType];
1413
- const gradient = chunkDKJEMRZF_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1408
+ const IconComponent = chunkYI6QMBKC_js.LOGIC_ICON_MAP[item.nodeType];
1409
+ const gradient = chunkYI6QMBKC_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1414
1410
  const defaultConfig = chunkPWBWP5FJ_js.createDefaultLogicNodeConfig(item.nodeType);
1415
1411
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
1416
1412
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1653,8 +1649,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1653
1649
  limit: entity.defaultLimit
1654
1650
  });
1655
1651
  const dsLogo = getDatasourceLogo(entity.id);
1656
- const EntityIcon = chunkDKJEMRZF_js.getEntityIcon(entity.id);
1657
- const entityGradient = chunkDKJEMRZF_js.getEntityGradient(entity.id);
1652
+ const EntityIcon = chunkYI6QMBKC_js.getEntityIcon(entity.id);
1653
+ const entityGradient = chunkYI6QMBKC_js.getEntityGradient(entity.id);
1658
1654
  return /* @__PURE__ */ jsxRuntime.jsxs(
1659
1655
  "div",
1660
1656
  {
@@ -2051,9 +2047,9 @@ function formatDuration2(durationMs) {
2051
2047
  }
2052
2048
  function RunPanel({ open, onClose, onRun, onStop }) {
2053
2049
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
2054
- const nodes = chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodes);
2055
- const isRunning = chunkDKJEMRZF_js.useWorkflowStore((state) => state.isRunning);
2056
- const nodeResults = chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodeResults);
2050
+ const nodes = chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodes);
2051
+ const isRunning = chunkYI6QMBKC_js.useWorkflowStore((state) => state.isRunning);
2052
+ const nodeResults = chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodeResults);
2057
2053
  const startNode = nodes.find((node) => node.type === "start");
2058
2054
  const hasEndNode = nodes.some((node) => node.type === "end");
2059
2055
  const hasValidStartConfig = Boolean(
@@ -2338,8 +2334,8 @@ function inferVariables(config, nodeType) {
2338
2334
  }
2339
2335
  function VariableInspector({ open, onClose }) {
2340
2336
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
2341
- const nodes = chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodes);
2342
- const edges = chunkDKJEMRZF_js.useWorkflowStore((state) => state.edges);
2337
+ const nodes = chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodes);
2338
+ const edges = chunkYI6QMBKC_js.useWorkflowStore((state) => state.edges);
2343
2339
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
2344
2340
  const toggleNodeExpansion = react.useCallback((nodeId) => {
2345
2341
  setExpandedNodes((current) => {
@@ -2401,8 +2397,8 @@ function VariableInspector({ open, onClose }) {
2401
2397
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
2402
2398
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
2403
2399
  const isExpanded = expandedNodes.has(entry.nodeId);
2404
- const IconComponent = chunkDKJEMRZF_js.LOGIC_ICON_MAP[entry.nodeType];
2405
- const gradient = chunkDKJEMRZF_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2400
+ const IconComponent = chunkYI6QMBKC_js.LOGIC_ICON_MAP[entry.nodeType];
2401
+ const gradient = chunkYI6QMBKC_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2406
2402
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
2407
2403
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
2408
2404
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -2468,7 +2464,7 @@ function RunInputDialog({
2468
2464
  onRun
2469
2465
  }) {
2470
2466
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
2471
- const nodes = chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodes);
2467
+ const nodes = chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodes);
2472
2468
  const [values, setValues] = react.useState({});
2473
2469
  const inputVariableNames = react.useMemo(() => {
2474
2470
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -2549,8 +2545,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
2549
2545
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
2550
2546
  const [selectedRun, setSelectedRun] = react.useState(null);
2551
2547
  const [selectedNode, setSelectedNode] = react.useState(null);
2552
- const isRunning = chunkDKJEMRZF_js.useWorkflowStore((state) => state.isRunning);
2553
- const nodeResults = chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodeResults);
2548
+ const isRunning = chunkYI6QMBKC_js.useWorkflowStore((state) => state.isRunning);
2549
+ const nodeResults = chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodeResults);
2554
2550
  const refreshRuns = react.useCallback(async () => {
2555
2551
  setIsLoadingRuns(true);
2556
2552
  try {
@@ -2706,7 +2702,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2706
2702
  onAutoSaveGraph(graph);
2707
2703
  }, [onAutoSaveGraph, onGraphSnapshot]);
2708
2704
  return /* @__PURE__ */ jsxRuntime.jsx(
2709
- chunkDKJEMRZF_js.Workspace,
2705
+ chunkYI6QMBKC_js.Workspace,
2710
2706
  {
2711
2707
  ...workspaceProps,
2712
2708
  onGraphChange: handleGraphChange
@@ -3077,14 +3073,14 @@ function DslImportModal({ open, onClose, onImport }) {
3077
3073
  }
3078
3074
 
3079
3075
  // src/astrlabe/store/selectors.ts
3080
- var useCanUndo = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.past.length > 0);
3081
- var useCanRedo = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.future.length > 0);
3082
- var useHasCopied = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.clipboard !== null);
3083
- var useContextMenu = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.contextMenu);
3084
- var useEditingNodeId = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.editingNodeId);
3085
- var useSelectedNodeCount = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3086
- var useIsRunning = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.isRunning);
3087
- var useNodeResults = () => chunkDKJEMRZF_js.useWorkflowStore((state) => state.nodeResults);
3076
+ var useCanUndo = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.past.length > 0);
3077
+ var useCanRedo = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.future.length > 0);
3078
+ var useHasCopied = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.clipboard !== null);
3079
+ var useContextMenu = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.contextMenu);
3080
+ var useEditingNodeId = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.editingNodeId);
3081
+ var useSelectedNodeCount = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3082
+ var useIsRunning = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.isRunning);
3083
+ var useNodeResults = () => chunkYI6QMBKC_js.useWorkflowStore((state) => state.nodeResults);
3088
3084
  var DEFAULT_MAX_HISTORY = 50;
3089
3085
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
3090
3086
  const pastRef = react.useRef([]);
@@ -3372,239 +3368,239 @@ Object.defineProperty(exports, "validateWorkflowGraph", {
3372
3368
  });
3373
3369
  Object.defineProperty(exports, "AgentFlowNode", {
3374
3370
  enumerable: true,
3375
- get: function () { return chunkDKJEMRZF_js.AgentFlowNode; }
3371
+ get: function () { return chunkYI6QMBKC_js.AgentFlowNode; }
3376
3372
  });
3377
3373
  Object.defineProperty(exports, "AgentToolFlowNode", {
3378
3374
  enumerable: true,
3379
- get: function () { return chunkDKJEMRZF_js.AgentToolFlowNode; }
3375
+ get: function () { return chunkYI6QMBKC_js.AgentToolFlowNode; }
3380
3376
  });
3381
3377
  Object.defineProperty(exports, "AnswerFlowNode", {
3382
3378
  enumerable: true,
3383
- get: function () { return chunkDKJEMRZF_js.AnswerFlowNode; }
3379
+ get: function () { return chunkYI6QMBKC_js.AnswerFlowNode; }
3384
3380
  });
3385
3381
  Object.defineProperty(exports, "AnthropicIcon", {
3386
3382
  enumerable: true,
3387
- get: function () { return chunkDKJEMRZF_js.AnthropicIcon; }
3383
+ get: function () { return chunkYI6QMBKC_js.AnthropicIcon; }
3388
3384
  });
3389
3385
  Object.defineProperty(exports, "CodeFlowNode", {
3390
3386
  enumerable: true,
3391
- get: function () { return chunkDKJEMRZF_js.CodeFlowNode; }
3387
+ get: function () { return chunkYI6QMBKC_js.CodeFlowNode; }
3392
3388
  });
3393
3389
  Object.defineProperty(exports, "CrewAIIcon", {
3394
3390
  enumerable: true,
3395
- get: function () { return chunkDKJEMRZF_js.CrewAIIcon; }
3391
+ get: function () { return chunkYI6QMBKC_js.CrewAIIcon; }
3396
3392
  });
3397
3393
  Object.defineProperty(exports, "DocumentExtractorFlowNode", {
3398
3394
  enumerable: true,
3399
- get: function () { return chunkDKJEMRZF_js.DocumentExtractorFlowNode; }
3395
+ get: function () { return chunkYI6QMBKC_js.DocumentExtractorFlowNode; }
3400
3396
  });
3401
3397
  Object.defineProperty(exports, "EndFlowNode", {
3402
3398
  enumerable: true,
3403
- get: function () { return chunkDKJEMRZF_js.EndFlowNode; }
3399
+ get: function () { return chunkYI6QMBKC_js.EndFlowNode; }
3404
3400
  });
3405
3401
  Object.defineProperty(exports, "EntityFlowNode", {
3406
3402
  enumerable: true,
3407
- get: function () { return chunkDKJEMRZF_js.EntityFlowNode; }
3403
+ get: function () { return chunkYI6QMBKC_js.EntityFlowNode; }
3408
3404
  });
3409
3405
  Object.defineProperty(exports, "FRAMEWORK_META", {
3410
3406
  enumerable: true,
3411
- get: function () { return chunkDKJEMRZF_js.FRAMEWORK_META; }
3407
+ get: function () { return chunkYI6QMBKC_js.FRAMEWORK_META; }
3412
3408
  });
3413
3409
  Object.defineProperty(exports, "GoogleADKIcon", {
3414
3410
  enumerable: true,
3415
- get: function () { return chunkDKJEMRZF_js.GoogleADKIcon; }
3411
+ get: function () { return chunkYI6QMBKC_js.GoogleADKIcon; }
3416
3412
  });
3417
3413
  Object.defineProperty(exports, "GroupFlowNode", {
3418
3414
  enumerable: true,
3419
- get: function () { return chunkDKJEMRZF_js.GroupFlowNode; }
3415
+ get: function () { return chunkYI6QMBKC_js.GroupFlowNode; }
3420
3416
  });
3421
3417
  Object.defineProperty(exports, "HttpRequestFlowNode", {
3422
3418
  enumerable: true,
3423
- get: function () { return chunkDKJEMRZF_js.HttpRequestFlowNode; }
3419
+ get: function () { return chunkYI6QMBKC_js.HttpRequestFlowNode; }
3424
3420
  });
3425
3421
  Object.defineProperty(exports, "IfElseFlowNode", {
3426
3422
  enumerable: true,
3427
- get: function () { return chunkDKJEMRZF_js.IfElseFlowNode; }
3423
+ get: function () { return chunkYI6QMBKC_js.IfElseFlowNode; }
3428
3424
  });
3429
3425
  Object.defineProperty(exports, "IterationFlowNode", {
3430
3426
  enumerable: true,
3431
- get: function () { return chunkDKJEMRZF_js.IterationFlowNode; }
3427
+ get: function () { return chunkYI6QMBKC_js.IterationFlowNode; }
3432
3428
  });
3433
3429
  Object.defineProperty(exports, "IterationStartFlowNode", {
3434
3430
  enumerable: true,
3435
- get: function () { return chunkDKJEMRZF_js.IterationStartFlowNode; }
3431
+ get: function () { return chunkYI6QMBKC_js.IterationStartFlowNode; }
3436
3432
  });
3437
3433
  Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
3438
3434
  enumerable: true,
3439
- get: function () { return chunkDKJEMRZF_js.KnowledgeBaseFlowNode; }
3435
+ get: function () { return chunkYI6QMBKC_js.KnowledgeBaseFlowNode; }
3440
3436
  });
3441
3437
  Object.defineProperty(exports, "LOGIC_ICON_MAP", {
3442
3438
  enumerable: true,
3443
- get: function () { return chunkDKJEMRZF_js.LOGIC_ICON_MAP; }
3439
+ get: function () { return chunkYI6QMBKC_js.LOGIC_ICON_MAP; }
3444
3440
  });
3445
3441
  Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
3446
3442
  enumerable: true,
3447
- get: function () { return chunkDKJEMRZF_js.LOGIC_NODE_BADGE_COLORS; }
3443
+ get: function () { return chunkYI6QMBKC_js.LOGIC_NODE_BADGE_COLORS; }
3448
3444
  });
3449
3445
  Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
3450
3446
  enumerable: true,
3451
- get: function () { return chunkDKJEMRZF_js.LOGIC_NODE_GRADIENTS; }
3447
+ get: function () { return chunkYI6QMBKC_js.LOGIC_NODE_GRADIENTS; }
3452
3448
  });
3453
3449
  Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
3454
3450
  enumerable: true,
3455
- get: function () { return chunkDKJEMRZF_js.LOGIC_NODE_HANDLE_COLORS; }
3451
+ get: function () { return chunkYI6QMBKC_js.LOGIC_NODE_HANDLE_COLORS; }
3456
3452
  });
3457
3453
  Object.defineProperty(exports, "LangChainIcon", {
3458
3454
  enumerable: true,
3459
- get: function () { return chunkDKJEMRZF_js.LangChainIcon; }
3455
+ get: function () { return chunkYI6QMBKC_js.LangChainIcon; }
3460
3456
  });
3461
3457
  Object.defineProperty(exports, "ListOperatorFlowNode", {
3462
3458
  enumerable: true,
3463
- get: function () { return chunkDKJEMRZF_js.ListOperatorFlowNode; }
3459
+ get: function () { return chunkYI6QMBKC_js.ListOperatorFlowNode; }
3464
3460
  });
3465
3461
  Object.defineProperty(exports, "LogicNodeModal", {
3466
3462
  enumerable: true,
3467
- get: function () { return chunkDKJEMRZF_js.LogicNodeModal; }
3463
+ get: function () { return chunkYI6QMBKC_js.LogicNodeModal; }
3468
3464
  });
3469
3465
  Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
3470
3466
  enumerable: true,
3471
- get: function () { return chunkDKJEMRZF_js.MINIMAP_NODE_COLORS; }
3467
+ get: function () { return chunkYI6QMBKC_js.MINIMAP_NODE_COLORS; }
3472
3468
  });
3473
3469
  Object.defineProperty(exports, "ModelProviderFlowNode", {
3474
3470
  enumerable: true,
3475
- get: function () { return chunkDKJEMRZF_js.ModelProviderFlowNode; }
3471
+ get: function () { return chunkYI6QMBKC_js.ModelProviderFlowNode; }
3476
3472
  });
3477
3473
  Object.defineProperty(exports, "NODE_EXECUTION_ACCENT_COLORS", {
3478
3474
  enumerable: true,
3479
- get: function () { return chunkDKJEMRZF_js.NODE_EXECUTION_ACCENT_COLORS; }
3475
+ get: function () { return chunkYI6QMBKC_js.NODE_EXECUTION_ACCENT_COLORS; }
3480
3476
  });
3481
3477
  Object.defineProperty(exports, "NodeCard", {
3482
3478
  enumerable: true,
3483
- get: function () { return chunkDKJEMRZF_js.NodeCard; }
3479
+ get: function () { return chunkYI6QMBKC_js.NodeCard; }
3484
3480
  });
3485
3481
  Object.defineProperty(exports, "NodeContextMenu", {
3486
3482
  enumerable: true,
3487
- get: function () { return chunkDKJEMRZF_js.NodeContextMenu; }
3483
+ get: function () { return chunkYI6QMBKC_js.NodeContextMenu; }
3488
3484
  });
3489
3485
  Object.defineProperty(exports, "NoteFlowNode", {
3490
3486
  enumerable: true,
3491
- get: function () { return chunkDKJEMRZF_js.NoteFlowNode; }
3487
+ get: function () { return chunkYI6QMBKC_js.NoteFlowNode; }
3492
3488
  });
3493
3489
  Object.defineProperty(exports, "OpenAIIcon", {
3494
3490
  enumerable: true,
3495
- get: function () { return chunkDKJEMRZF_js.OpenAIIcon; }
3491
+ get: function () { return chunkYI6QMBKC_js.OpenAIIcon; }
3496
3492
  });
3497
3493
  Object.defineProperty(exports, "PanelContextMenu", {
3498
3494
  enumerable: true,
3499
- get: function () { return chunkDKJEMRZF_js.PanelContextMenu; }
3495
+ get: function () { return chunkYI6QMBKC_js.PanelContextMenu; }
3500
3496
  });
3501
3497
  Object.defineProperty(exports, "ParameterExtractorFlowNode", {
3502
3498
  enumerable: true,
3503
- get: function () { return chunkDKJEMRZF_js.ParameterExtractorFlowNode; }
3499
+ get: function () { return chunkYI6QMBKC_js.ParameterExtractorFlowNode; }
3504
3500
  });
3505
3501
  Object.defineProperty(exports, "QuestionClassifierFlowNode", {
3506
3502
  enumerable: true,
3507
- get: function () { return chunkDKJEMRZF_js.QuestionClassifierFlowNode; }
3503
+ get: function () { return chunkYI6QMBKC_js.QuestionClassifierFlowNode; }
3508
3504
  });
3509
3505
  Object.defineProperty(exports, "RuleFlowNode", {
3510
3506
  enumerable: true,
3511
- get: function () { return chunkDKJEMRZF_js.RuleFlowNode; }
3507
+ get: function () { return chunkYI6QMBKC_js.RuleFlowNode; }
3512
3508
  });
3513
3509
  Object.defineProperty(exports, "SelectionContextMenu", {
3514
3510
  enumerable: true,
3515
- get: function () { return chunkDKJEMRZF_js.SelectionContextMenu; }
3511
+ get: function () { return chunkYI6QMBKC_js.SelectionContextMenu; }
3516
3512
  });
3517
3513
  Object.defineProperty(exports, "StartFlowNode", {
3518
3514
  enumerable: true,
3519
- get: function () { return chunkDKJEMRZF_js.StartFlowNode; }
3515
+ get: function () { return chunkYI6QMBKC_js.StartFlowNode; }
3520
3516
  });
3521
3517
  Object.defineProperty(exports, "StrandsIcon", {
3522
3518
  enumerable: true,
3523
- get: function () { return chunkDKJEMRZF_js.StrandsIcon; }
3519
+ get: function () { return chunkYI6QMBKC_js.StrandsIcon; }
3524
3520
  });
3525
3521
  Object.defineProperty(exports, "TemplateTransformFlowNode", {
3526
3522
  enumerable: true,
3527
- get: function () { return chunkDKJEMRZF_js.TemplateTransformFlowNode; }
3523
+ get: function () { return chunkYI6QMBKC_js.TemplateTransformFlowNode; }
3528
3524
  });
3529
3525
  Object.defineProperty(exports, "ToolFlowNode", {
3530
3526
  enumerable: true,
3531
- get: function () { return chunkDKJEMRZF_js.ToolFlowNode; }
3527
+ get: function () { return chunkYI6QMBKC_js.ToolFlowNode; }
3532
3528
  });
3533
3529
  Object.defineProperty(exports, "VariableAggregatorFlowNode", {
3534
3530
  enumerable: true,
3535
- get: function () { return chunkDKJEMRZF_js.VariableAggregatorFlowNode; }
3531
+ get: function () { return chunkYI6QMBKC_js.VariableAggregatorFlowNode; }
3536
3532
  });
3537
3533
  Object.defineProperty(exports, "VariableAssignerFlowNode", {
3538
3534
  enumerable: true,
3539
- get: function () { return chunkDKJEMRZF_js.VariableAssignerFlowNode; }
3535
+ get: function () { return chunkYI6QMBKC_js.VariableAssignerFlowNode; }
3540
3536
  });
3541
3537
  Object.defineProperty(exports, "WorkflowBuilderProvider", {
3542
3538
  enumerable: true,
3543
- get: function () { return chunkDKJEMRZF_js.WorkflowBuilderProvider; }
3539
+ get: function () { return chunkYI6QMBKC_js.WorkflowBuilderProvider; }
3544
3540
  });
3545
3541
  Object.defineProperty(exports, "Workspace", {
3546
3542
  enumerable: true,
3547
- get: function () { return chunkDKJEMRZF_js.Workspace; }
3543
+ get: function () { return chunkYI6QMBKC_js.Workspace; }
3548
3544
  });
3549
3545
  Object.defineProperty(exports, "getCompatibleModels", {
3550
3546
  enumerable: true,
3551
- get: function () { return chunkDKJEMRZF_js.getCompatibleModels; }
3547
+ get: function () { return chunkYI6QMBKC_js.getCompatibleModels; }
3552
3548
  });
3553
3549
  Object.defineProperty(exports, "getDefaultFrameworkForModel", {
3554
3550
  enumerable: true,
3555
- get: function () { return chunkDKJEMRZF_js.getDefaultFrameworkForModel; }
3551
+ get: function () { return chunkYI6QMBKC_js.getDefaultFrameworkForModel; }
3556
3552
  });
3557
3553
  Object.defineProperty(exports, "getEntityBadgeColor", {
3558
3554
  enumerable: true,
3559
- get: function () { return chunkDKJEMRZF_js.getEntityBadgeColor; }
3555
+ get: function () { return chunkYI6QMBKC_js.getEntityBadgeColor; }
3560
3556
  });
3561
3557
  Object.defineProperty(exports, "getEntityGradient", {
3562
3558
  enumerable: true,
3563
- get: function () { return chunkDKJEMRZF_js.getEntityGradient; }
3559
+ get: function () { return chunkYI6QMBKC_js.getEntityGradient; }
3564
3560
  });
3565
3561
  Object.defineProperty(exports, "getEntityHandleColor", {
3566
3562
  enumerable: true,
3567
- get: function () { return chunkDKJEMRZF_js.getEntityHandleColor; }
3563
+ get: function () { return chunkYI6QMBKC_js.getEntityHandleColor; }
3568
3564
  });
3569
3565
  Object.defineProperty(exports, "getEntityIcon", {
3570
3566
  enumerable: true,
3571
- get: function () { return chunkDKJEMRZF_js.getEntityIcon; }
3567
+ get: function () { return chunkYI6QMBKC_js.getEntityIcon; }
3572
3568
  });
3573
3569
  Object.defineProperty(exports, "getEntityMinimapColor", {
3574
3570
  enumerable: true,
3575
- get: function () { return chunkDKJEMRZF_js.getEntityMinimapColor; }
3571
+ get: function () { return chunkYI6QMBKC_js.getEntityMinimapColor; }
3576
3572
  });
3577
3573
  Object.defineProperty(exports, "getFrameworkMeta", {
3578
3574
  enumerable: true,
3579
- get: function () { return chunkDKJEMRZF_js.getFrameworkMeta; }
3575
+ get: function () { return chunkYI6QMBKC_js.getFrameworkMeta; }
3580
3576
  });
3581
3577
  Object.defineProperty(exports, "getNodeExecutionAccent", {
3582
3578
  enumerable: true,
3583
- get: function () { return chunkDKJEMRZF_js.getNodeExecutionAccent; }
3579
+ get: function () { return chunkYI6QMBKC_js.getNodeExecutionAccent; }
3584
3580
  });
3585
3581
  Object.defineProperty(exports, "getNodeExecutionAccentRgb", {
3586
3582
  enumerable: true,
3587
- get: function () { return chunkDKJEMRZF_js.getNodeExecutionAccentRgb; }
3583
+ get: function () { return chunkYI6QMBKC_js.getNodeExecutionAccentRgb; }
3588
3584
  });
3589
3585
  Object.defineProperty(exports, "isModelCompatibleWithFramework", {
3590
3586
  enumerable: true,
3591
- get: function () { return chunkDKJEMRZF_js.isModelCompatibleWithFramework; }
3587
+ get: function () { return chunkYI6QMBKC_js.isModelCompatibleWithFramework; }
3592
3588
  });
3593
3589
  Object.defineProperty(exports, "useModalStore", {
3594
3590
  enumerable: true,
3595
- get: function () { return chunkDKJEMRZF_js.useModalStore; }
3591
+ get: function () { return chunkYI6QMBKC_js.useModalStore; }
3596
3592
  });
3597
3593
  Object.defineProperty(exports, "useWorkflowBuilderClient", {
3598
3594
  enumerable: true,
3599
- get: function () { return chunkDKJEMRZF_js.useWorkflowBuilderClient; }
3595
+ get: function () { return chunkYI6QMBKC_js.useWorkflowBuilderClient; }
3600
3596
  });
3601
3597
  Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
3602
3598
  enumerable: true,
3603
- get: function () { return chunkDKJEMRZF_js.useWorkflowBuilderClientOptional; }
3599
+ get: function () { return chunkYI6QMBKC_js.useWorkflowBuilderClientOptional; }
3604
3600
  });
3605
3601
  Object.defineProperty(exports, "useWorkflowStore", {
3606
3602
  enumerable: true,
3607
- get: function () { return chunkDKJEMRZF_js.useWorkflowStore; }
3603
+ get: function () { return chunkYI6QMBKC_js.useWorkflowStore; }
3608
3604
  });
3609
3605
  Object.defineProperty(exports, "GraphNodeBadge", {
3610
3606
  enumerable: true,