@datatechsolutions/ui 2.11.18 → 2.11.20

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,8 +3,8 @@
3
3
 
4
4
  require('../chunk-55H6WZQP.js');
5
5
  var chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
6
- var chunk4X7ITYP2_js = require('../chunk-4X7ITYP2.js');
7
- var chunk4XID6LOC_js = require('../chunk-4XID6LOC.js');
6
+ var chunkGMGTX3TB_js = require('../chunk-GMGTX3TB.js');
7
+ var chunkBSPRG6ZF_js = require('../chunk-BSPRG6ZF.js');
8
8
  require('../chunk-S7KHTUHA.js');
9
9
  require('../chunk-UZ3CMNUJ.js');
10
10
  var chunkP4YYEM4B_js = require('../chunk-P4YYEM4B.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 = chunk4X7ITYP2_js.getFrameworkMeta(selectedFramework);
86
+ const frameworkMeta = chunkGMGTX3TB_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" },
@@ -358,29 +358,14 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
358
358
  ] })
359
359
  ] });
360
360
  }
361
- function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework, temperature, setTemperature, dirty, markDirty, markSaved }) {
362
- const [promptText, setPromptText] = react.useState(agent.systemPrompt ?? "");
363
- const handleTemperatureChange = react.useCallback((event) => {
364
- setTemperature(parseFloat(event.target.value));
365
- markDirty();
366
- }, []);
367
- const handlePromptChange = react.useCallback((event) => {
368
- setPromptText(event.target.value);
369
- markDirty();
370
- }, []);
371
- react.useCallback(() => {
372
- markSaved();
373
- }, [markSaved]);
374
- const temperaturePercent = temperature * 100;
375
- const isPrecise = temperature <= 0.3;
376
- const isBalanced = temperature > 0.3 && temperature <= 0.7;
377
- const isCreative = temperature > 0.7;
378
- const frameworkKeys = Object.keys(chunk4X7ITYP2_js.FRAMEWORK_META);
379
- const compatibleModels = chunk4X7ITYP2_js.getCompatibleModels(models, selectedFramework);
361
+ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework, markDirty, connectedProviderTypes }) {
362
+ const frameworkKeys = Object.keys(chunkGMGTX3TB_js.FRAMEWORK_META);
363
+ const hasProviderConstraints = connectedProviderTypes.length > 0;
364
+ const compatibleModels = chunkGMGTX3TB_js.getCompatibleModels(models, selectedFramework);
380
365
  const handleFrameworkChange = react.useCallback((newFramework) => {
381
366
  setSelectedFramework(newFramework);
382
- if (!chunk4X7ITYP2_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
383
- const compatible = chunk4X7ITYP2_js.getCompatibleModels(models, newFramework);
367
+ if (!chunkGMGTX3TB_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
368
+ const compatible = chunkGMGTX3TB_js.getCompatibleModels(models, newFramework);
384
369
  if (compatible.length > 0) {
385
370
  setSelectedModelId(compatible[0].id);
386
371
  }
@@ -391,15 +376,18 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
391
376
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
392
377
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.framework") }),
393
378
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: frameworkKeys.map((key) => {
394
- const meta = chunk4X7ITYP2_js.FRAMEWORK_META[key];
379
+ const meta = chunkGMGTX3TB_js.FRAMEWORK_META[key];
395
380
  const isSelected = key === selectedFramework;
396
- const compatCount = chunk4X7ITYP2_js.getCompatibleModels(models, key).length;
381
+ const compatCount = chunkGMGTX3TB_js.getCompatibleModels(models, key).length;
382
+ const isCompatibleWithProviders = !hasProviderConstraints || chunkGMGTX3TB_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
397
383
  return /* @__PURE__ */ jsxRuntime.jsxs(
398
384
  "button",
399
385
  {
400
386
  type: "button",
401
387
  onClick: () => handleFrameworkChange(key),
402
- className: `inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[10px] font-semibold transition-all ${isSelected ? `${meta.badgeColor} ring-1 ring-current/20` : "bg-gray-100 text-gray-500 hover:bg-gray-200 dark:bg-white/5 dark:text-gray-400 dark:hover:bg-white/10"}`,
388
+ disabled: !isCompatibleWithProviders,
389
+ className: `inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[10px] font-semibold transition-all ${!isCompatibleWithProviders ? "cursor-not-allowed bg-gray-100 text-gray-400 opacity-40 dark:bg-white/5 dark:text-gray-500" : isSelected ? `${meta.badgeColor} ring-1 ring-current/20` : "bg-gray-100 text-gray-500 hover:bg-gray-200 dark:bg-white/5 dark:text-gray-400 dark:hover:bg-white/10"}`,
390
+ title: !isCompatibleWithProviders ? t("agentDrawer.frameworkIncompatible") : void 0,
403
391
  children: [
404
392
  /* @__PURE__ */ jsxRuntime.jsx(meta.IconComponent, { className: "h-3.5 w-3.5" }),
405
393
  meta.label,
@@ -423,7 +411,7 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
423
411
  ] }),
424
412
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: models.map((model) => {
425
413
  const isSelected = model.id === selectedModelId;
426
- const isCompatible = chunk4X7ITYP2_js.isModelCompatibleWithFramework(model.id, selectedFramework);
414
+ const isCompatible = chunkGMGTX3TB_js.isModelCompatibleWithFramework(model.id, selectedFramework);
427
415
  const { IconComponent, color, providerLabel } = getModelIcon(model.id);
428
416
  return /* @__PURE__ */ jsxRuntime.jsxs(
429
417
  "button",
@@ -446,7 +434,24 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
446
434
  model.id
447
435
  );
448
436
  }) })
449
- ] }),
437
+ ] })
438
+ ] });
439
+ }
440
+ function PromptTab({ agent, temperature, setTemperature, markDirty, t }) {
441
+ const [promptText, setPromptText] = react.useState(agent.systemPrompt ?? "");
442
+ const handleTemperatureChange = react.useCallback((event) => {
443
+ setTemperature(parseFloat(event.target.value));
444
+ markDirty();
445
+ }, []);
446
+ const handlePromptChange = react.useCallback((event) => {
447
+ setPromptText(event.target.value);
448
+ markDirty();
449
+ }, []);
450
+ const temperaturePercent = temperature * 100;
451
+ const isPrecise = temperature <= 0.3;
452
+ const isBalanced = temperature > 0.3 && temperature <= 0.7;
453
+ const isCreative = temperature > 0.7;
454
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5 p-4", children: [
450
455
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
451
456
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
452
457
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.temperature") }),
@@ -457,10 +462,7 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
457
462
  "div",
458
463
  {
459
464
  className: "h-full rounded-full transition-all duration-300 ease-out",
460
- style: {
461
- width: `${temperaturePercent}%`,
462
- background: `linear-gradient(90deg, #3b82f6, #8b5cf6 50%, #ec4899)`
463
- }
465
+ style: { width: `${temperaturePercent}%`, background: "linear-gradient(90deg, #3b82f6, #8b5cf6 50%, #ec4899)" }
464
466
  }
465
467
  ) }),
466
468
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -473,24 +475,12 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
473
475
  value: temperature,
474
476
  onChange: handleTemperatureChange,
475
477
  "aria-label": t("agentDrawer.temperature"),
476
- "aria-valuemin": 0,
477
- "aria-valuemax": 1,
478
478
  "aria-valuenow": temperature,
479
479
  "aria-valuetext": `${temperature.toFixed(2)} \u2014 ${isPrecise ? t("agentDrawer.precise") : isBalanced ? t("agentDrawer.balanced") : t("agentDrawer.creative")}`,
480
- className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-gray-900",
481
- style: {
482
- // Thumb color based on temperature zone
483
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
484
- ["--thumb-color"]: isPrecise ? "#3b82f6" : isBalanced ? "#8b5cf6" : "#ec4899"
485
- }
480
+ className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-gray-900"
486
481
  }
487
482
  ),
488
- /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
489
- input[type="range"]::-webkit-slider-thumb {
490
- background: ${isPrecise ? "#3b82f6" : isBalanced ? "#8b5cf6" : "#ec4899"};
491
- box-shadow: 0 0 8px ${isPrecise ? "rgba(59,130,246,0.5)" : isBalanced ? "rgba(139,92,246,0.5)" : "rgba(236,72,153,0.5)"};
492
- }
493
- ` })
483
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: `input[type="range"]::-webkit-slider-thumb { background: ${isPrecise ? "#3b82f6" : isBalanced ? "#8b5cf6" : "#ec4899"}; box-shadow: 0 0 8px ${isPrecise ? "rgba(59,130,246,0.5)" : isBalanced ? "rgba(139,92,246,0.5)" : "rgba(236,72,153,0.5)"}; }` })
494
484
  ] }),
495
485
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex items-center justify-between", children: [
496
486
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isPrecise ? "text-blue-500" : "text-gray-400 dark:text-gray-500"}`, children: t("agentDrawer.precise") }),
@@ -511,7 +501,7 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
511
501
  {
512
502
  value: promptText,
513
503
  onChange: handlePromptChange,
514
- rows: 8,
504
+ rows: 12,
515
505
  className: "w-full resize-y rounded-lg border border-gray-200/50 bg-gray-50/50 px-3 py-2.5 font-mono text-xs leading-relaxed text-gray-700 outline-none transition-colors placeholder:text-gray-400 focus:border-indigo-300/50 focus:ring-1 focus:ring-indigo-300/30 dark:border-white/10 dark:bg-white/5 dark:text-gray-300 dark:placeholder:text-gray-500 dark:focus:border-indigo-500/30 dark:focus:ring-indigo-500/20",
516
506
  placeholder: t("agentDrawer.systemPromptPlaceholder")
517
507
  }
@@ -520,7 +510,7 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
520
510
  ] });
521
511
  }
522
512
  function ResultsTab({ agentId, t }) {
523
- const nodeResults = chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodeResults);
513
+ const nodeResults = chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodeResults);
524
514
  const agentResult = react.useMemo(() => {
525
515
  return nodeResults[agentId] ?? null;
526
516
  }, [nodeResults, agentId]);
@@ -610,10 +600,10 @@ function ModelsTab({ modelProviders, selectedProviderId, onSelectProvider, model
610
600
  const providerModels = modelsByProvider.find((p) => p.provider.id === selectedProviderId);
611
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") });
612
602
  const compatibleModels = providerModels.models.filter(
613
- (m) => chunk4X7ITYP2_js.isModelCompatibleWithFramework(m.id, agentFramework)
603
+ (m) => chunkGMGTX3TB_js.isModelCompatibleWithFramework(m.id, agentFramework)
614
604
  );
615
605
  const incompatibleModels = providerModels.models.filter(
616
- (m) => !chunk4X7ITYP2_js.isModelCompatibleWithFramework(m.id, agentFramework)
606
+ (m) => !chunkGMGTX3TB_js.isModelCompatibleWithFramework(m.id, agentFramework)
617
607
  );
618
608
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
619
609
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.selectModel") }),
@@ -686,7 +676,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
686
676
  ] }),
687
677
  tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.description }),
688
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) => {
689
- const meta = chunk4X7ITYP2_js.getFrameworkMeta(framework);
679
+ const meta = chunkGMGTX3TB_js.getFrameworkMeta(framework);
690
680
  const isCurrentFw = framework === agentFramework;
691
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: [
692
682
  /* @__PURE__ */ jsxRuntime.jsx(meta.IconComponent, { className: "h-2.5 w-2.5" }),
@@ -704,9 +694,9 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
704
694
  }
705
695
  function AgentModal({ onSaved }) {
706
696
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
707
- const activeModal = chunk4X7ITYP2_js.useModalStore((s) => s.activeModal);
708
- const agentData = chunk4X7ITYP2_js.useModalStore((s) => s.agentData);
709
- const closeModal = chunk4X7ITYP2_js.useModalStore((s) => s.closeModal);
697
+ const activeModal = chunkGMGTX3TB_js.useModalStore((s) => s.activeModal);
698
+ const agentData = chunkGMGTX3TB_js.useModalStore((s) => s.agentData);
699
+ const closeModal = chunkGMGTX3TB_js.useModalStore((s) => s.closeModal);
710
700
  const open = activeModal === "agent";
711
701
  const agent = agentData?.agent ?? null;
712
702
  const models = agentData?.models ?? [];
@@ -761,6 +751,7 @@ function AgentModal({ onSaved }) {
761
751
  const sections = [
762
752
  { id: "profile", label: t("agentDrawer.profileSection"), icon: outline.UserCircleIcon, group: t("agentDrawer.agentGroup") },
763
753
  { id: "framework", label: t("agentDrawer.frameworkSection"), icon: outline.Cog6ToothIcon, group: t("agentDrawer.agentGroup") },
754
+ { id: "prompt", label: t("agentDrawer.promptSection"), icon: outline.SparklesIcon, group: t("agentDrawer.agentGroup") },
764
755
  { id: "tools", label: `${t("agentDrawer.toolsTab")}${enabledToolIds.size > 0 ? ` (${enabledToolIds.size})` : ""}`, icon: outline.CommandLineIcon, group: t("agentDrawer.configGroup") },
765
756
  { id: "models", label: `${t("agentDrawer.modelsTab")}${selectedProviderId ? " \u2713" : ""}`, icon: outline.KeyIcon, group: t("agentDrawer.configGroup") },
766
757
  { id: "results", label: t("agentDrawer.resultsTab"), icon: outline.PlayCircleIcon, group: t("agentDrawer.executionGroup") }
@@ -780,7 +771,7 @@ function AgentModal({ onSaved }) {
780
771
  )
781
772
  ] });
782
773
  return /* @__PURE__ */ jsxRuntime.jsxs(
783
- chunk4XID6LOC_js.SettingsDialog,
774
+ chunkBSPRG6ZF_js.SettingsDialog,
784
775
  {
785
776
  open,
786
777
  onClose: handleClose,
@@ -798,7 +789,8 @@ function AgentModal({ onSaved }) {
798
789
  sidebarFooter,
799
790
  children: [
800
791
  activeTab === "profile" && /* @__PURE__ */ jsxRuntime.jsx(AgentProfileHeader, { agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, temperature, setTemperature, elo, setElo, onChanged: markDirty }),
801
- activeTab === "framework" && /* @__PURE__ */ jsxRuntime.jsx(ConfigTab, { agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework: (fw) => setSelectedFramework(fw), temperature, setTemperature, dirty, markDirty, markSaved: handleMarkSaved }),
792
+ activeTab === "framework" && /* @__PURE__ */ jsxRuntime.jsx(ConfigTab, { models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework: (fw) => setSelectedFramework(fw), markDirty, connectedProviderTypes: availableModelProviders.map((p) => p.provider) }),
793
+ activeTab === "prompt" && /* @__PURE__ */ jsxRuntime.jsx(PromptTab, { agent, temperature, setTemperature, markDirty, t }),
802
794
  activeTab === "tools" && /* @__PURE__ */ jsxRuntime.jsx(ToolsTab, { agentTools: availableAgentTools, enabledToolIds, onToggle: handleToggleTool, agentFramework: selectedFramework, t }),
803
795
  activeTab === "models" && /* @__PURE__ */ jsxRuntime.jsx(
804
796
  ModelsTab,
@@ -926,7 +918,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
926
918
  const markDirty = useSubworkflowStore((s) => s.markDirty);
927
919
  const markSaved = useSubworkflowStore((s) => s.markSaved);
928
920
  const closeModal = useSubworkflowStore((s) => s.closeModal);
929
- const agentBehind = chunk4X7ITYP2_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
921
+ const agentBehind = chunkGMGTX3TB_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
930
922
  const isCreateMode = !tool?.toolId;
931
923
  const initialGraph = react.useMemo(() => {
932
924
  const config = tool?.config;
@@ -955,9 +947,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
955
947
  }, [tool, onSaved, name, category, description, timeoutMs, latestGraphRef, markSaved]);
956
948
  if (!tool) return null;
957
949
  const categoryKey = category ?? "external";
958
- const gradient = tool.color ?? chunk4X7ITYP2_js.CATEGORY_COLORS[categoryKey] ?? chunk4X7ITYP2_js.CATEGORY_COLORS.external;
959
- const categoryPill = chunk4X7ITYP2_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunk4X7ITYP2_js.CATEGORY_PILL_COLORS.external;
960
- const IconComponent = chunk4X7ITYP2_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
950
+ const gradient = tool.color ?? chunkGMGTX3TB_js.CATEGORY_COLORS[categoryKey] ?? chunkGMGTX3TB_js.CATEGORY_COLORS.external;
951
+ const categoryPill = chunkGMGTX3TB_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkGMGTX3TB_js.CATEGORY_PILL_COLORS.external;
952
+ const IconComponent = chunkGMGTX3TB_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
961
953
  const graph = latestGraphRef.current;
962
954
  const startNode = graph.nodes.find((n) => n.type === "start");
963
955
  const endNode = graph.nodes.find((n) => n.type === "end");
@@ -990,7 +982,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
990
982
  ] })
991
983
  ] });
992
984
  return /* @__PURE__ */ jsxRuntime.jsx(
993
- chunk4XID6LOC_js.GlassModalShell,
985
+ chunkBSPRG6ZF_js.GlassModalShell,
994
986
  {
995
987
  open,
996
988
  onClose: closeModal,
@@ -1022,7 +1014,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1022
1014
  {
1023
1015
  type: "button",
1024
1016
  onClick: () => setCategory(cat),
1025
- className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunk4X7ITYP2_js.CATEGORY_PILL_COLORS[cat] ?? chunk4X7ITYP2_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"}`,
1017
+ className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkGMGTX3TB_js.CATEGORY_PILL_COLORS[cat] ?? chunkGMGTX3TB_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"}`,
1026
1018
  children: cat
1027
1019
  },
1028
1020
  cat
@@ -1109,7 +1101,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1109
1101
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto" })
1110
1102
  ] }),
1111
1103
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
1112
- chunk4X7ITYP2_js.WorkflowCanvas,
1104
+ chunkGMGTX3TB_js.WorkflowCanvas,
1113
1105
  {
1114
1106
  initialGraph,
1115
1107
  agents: [],
@@ -1146,7 +1138,7 @@ function WorkspaceModal({
1146
1138
  }) {
1147
1139
  const resolvedSize = LEGACY_WIDTH_MAP[maxWidth] ?? maxWidth;
1148
1140
  return /* @__PURE__ */ jsxRuntime.jsxs(
1149
- chunk4XID6LOC_js.GlassModalShell,
1141
+ chunkBSPRG6ZF_js.GlassModalShell,
1150
1142
  {
1151
1143
  open,
1152
1144
  onClose,
@@ -1167,9 +1159,9 @@ function WorkspaceModal({
1167
1159
  }
1168
1160
  function PipelineSettingsModal({ onSave }) {
1169
1161
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1170
- const activeModal = chunk4X7ITYP2_js.useModalStore((s) => s.activeModal);
1171
- const data = chunk4X7ITYP2_js.useModalStore((s) => s.pipelineSettingsData);
1172
- const closeModal = chunk4X7ITYP2_js.useModalStore((s) => s.closeModal);
1162
+ const activeModal = chunkGMGTX3TB_js.useModalStore((s) => s.activeModal);
1163
+ const data = chunkGMGTX3TB_js.useModalStore((s) => s.pipelineSettingsData);
1164
+ const closeModal = chunkGMGTX3TB_js.useModalStore((s) => s.closeModal);
1173
1165
  const open = activeModal === "pipeline-settings";
1174
1166
  const [nameValue, setNameValue] = react.useState("");
1175
1167
  const [descriptionValue, setDescriptionValue] = react.useState("");
@@ -1204,7 +1196,7 @@ function PipelineSettingsModal({ onSave }) {
1204
1196
  }
1205
1197
  ),
1206
1198
  /* @__PURE__ */ jsxRuntime.jsxs(
1207
- chunk4XID6LOC_js.Button,
1199
+ chunkBSPRG6ZF_js.Button,
1208
1200
  {
1209
1201
  type: "submit",
1210
1202
  form: "pipeline-settings-form",
@@ -1219,7 +1211,7 @@ function PipelineSettingsModal({ onSave }) {
1219
1211
  )
1220
1212
  ] });
1221
1213
  return /* @__PURE__ */ jsxRuntime.jsx(
1222
- chunk4XID6LOC_js.GlassModalShell,
1214
+ chunkBSPRG6ZF_js.GlassModalShell,
1223
1215
  {
1224
1216
  open,
1225
1217
  onClose: closeModal,
@@ -1233,7 +1225,7 @@ function PipelineSettingsModal({ onSave }) {
1233
1225
  onSubmit: handleSubmit,
1234
1226
  children: /* @__PURE__ */ jsxRuntime.jsxs("form", { id: "pipeline-settings-form", onSubmit: handleSubmit, className: "space-y-6", children: [
1235
1227
  /* @__PURE__ */ jsxRuntime.jsx(
1236
- chunk4XID6LOC_js.FormInput,
1228
+ chunkBSPRG6ZF_js.FormInput,
1237
1229
  {
1238
1230
  label: t("pipelineName"),
1239
1231
  value: nameValue,
@@ -1243,7 +1235,7 @@ function PipelineSettingsModal({ onSave }) {
1243
1235
  }
1244
1236
  ),
1245
1237
  /* @__PURE__ */ jsxRuntime.jsx(
1246
- chunk4XID6LOC_js.FormTextarea,
1238
+ chunkBSPRG6ZF_js.FormTextarea,
1247
1239
  {
1248
1240
  label: t("pipelineDescription"),
1249
1241
  value: descriptionValue,
@@ -1378,8 +1370,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
1378
1370
  ] });
1379
1371
  }
1380
1372
  function LogicNodeItemCard({ item, translationFunction }) {
1381
- const IconComponent = chunk4X7ITYP2_js.LOGIC_ICON_MAP[item.nodeType];
1382
- const gradient = chunk4X7ITYP2_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1373
+ const IconComponent = chunkGMGTX3TB_js.LOGIC_ICON_MAP[item.nodeType];
1374
+ const gradient = chunkGMGTX3TB_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
1383
1375
  const defaultConfig = chunkPWBWP5FJ_js.createDefaultLogicNodeConfig(item.nodeType);
1384
1376
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
1385
1377
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1600,8 +1592,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1600
1592
  limit: entity.defaultLimit
1601
1593
  });
1602
1594
  const dsLogo = getDatasourceLogo(entity.id);
1603
- const EntityIcon = chunk4X7ITYP2_js.getEntityIcon(entity.id);
1604
- const entityGradient = chunk4X7ITYP2_js.getEntityGradient(entity.id);
1595
+ const EntityIcon = chunkGMGTX3TB_js.getEntityIcon(entity.id);
1596
+ const entityGradient = chunkGMGTX3TB_js.getEntityGradient(entity.id);
1605
1597
  return /* @__PURE__ */ jsxRuntime.jsxs(
1606
1598
  "div",
1607
1599
  {
@@ -1628,9 +1620,9 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1628
1620
  filteredProviders.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1629
1621
  CollapsibleSection,
1630
1622
  {
1631
- title: t("modelProvidersSection"),
1623
+ title: t("connectionsSection"),
1632
1624
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-3 w-3" }),
1633
- colorClass: "text-rose-600 dark:text-rose-400",
1625
+ colorClass: "text-slate-600 dark:text-slate-400",
1634
1626
  count: filteredProviders.length,
1635
1627
  children: filteredProviders.map((provider) => {
1636
1628
  const providerLogo = PROVIDER_LOGOS2[provider.provider];
@@ -1983,9 +1975,9 @@ function formatDuration2(durationMs) {
1983
1975
  }
1984
1976
  function RunPanel({ open, onClose, onRun, onStop }) {
1985
1977
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
1986
- const nodes = chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodes);
1987
- const isRunning = chunk4X7ITYP2_js.useWorkflowStore((state) => state.isRunning);
1988
- const nodeResults = chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodeResults);
1978
+ const nodes = chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodes);
1979
+ const isRunning = chunkGMGTX3TB_js.useWorkflowStore((state) => state.isRunning);
1980
+ const nodeResults = chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodeResults);
1989
1981
  const startNode = nodes.find((node) => node.type === "start");
1990
1982
  const hasEndNode = nodes.some((node) => node.type === "end");
1991
1983
  const hasValidStartConfig = Boolean(
@@ -2270,8 +2262,8 @@ function inferVariables(config, nodeType) {
2270
2262
  }
2271
2263
  function VariableInspector({ open, onClose }) {
2272
2264
  const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
2273
- const nodes = chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodes);
2274
- const edges = chunk4X7ITYP2_js.useWorkflowStore((state) => state.edges);
2265
+ const nodes = chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodes);
2266
+ const edges = chunkGMGTX3TB_js.useWorkflowStore((state) => state.edges);
2275
2267
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
2276
2268
  const toggleNodeExpansion = react.useCallback((nodeId) => {
2277
2269
  setExpandedNodes((current) => {
@@ -2333,8 +2325,8 @@ function VariableInspector({ open, onClose }) {
2333
2325
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
2334
2326
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
2335
2327
  const isExpanded = expandedNodes.has(entry.nodeId);
2336
- const IconComponent = chunk4X7ITYP2_js.LOGIC_ICON_MAP[entry.nodeType];
2337
- const gradient = chunk4X7ITYP2_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2328
+ const IconComponent = chunkGMGTX3TB_js.LOGIC_ICON_MAP[entry.nodeType];
2329
+ const gradient = chunkGMGTX3TB_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
2338
2330
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
2339
2331
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
2340
2332
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -2400,7 +2392,7 @@ function RunInputDialog({
2400
2392
  onRun
2401
2393
  }) {
2402
2394
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
2403
- const nodes = chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodes);
2395
+ const nodes = chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodes);
2404
2396
  const [values, setValues] = react.useState({});
2405
2397
  const inputVariableNames = react.useMemo(() => {
2406
2398
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -2427,7 +2419,7 @@ function RunInputDialog({
2427
2419
  }, [onClose]);
2428
2420
  if (!open) return null;
2429
2421
  return /* @__PURE__ */ jsxRuntime.jsxs(
2430
- chunk4XID6LOC_js.GlassFormModal,
2422
+ chunkBSPRG6ZF_js.GlassFormModal,
2431
2423
  {
2432
2424
  open,
2433
2425
  onClose: handleClose,
@@ -2439,7 +2431,7 @@ function RunInputDialog({
2439
2431
  /* @__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: [
2440
2432
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
2441
2433
  /* @__PURE__ */ jsxRuntime.jsx(
2442
- chunk4XID6LOC_js.Input,
2434
+ chunkBSPRG6ZF_js.Input,
2443
2435
  {
2444
2436
  value: values[variableName] ?? "",
2445
2437
  onChange: (event) => handleValueChange(variableName, event.target.value),
@@ -2448,8 +2440,8 @@ function RunInputDialog({
2448
2440
  )
2449
2441
  ] }, variableName)) }),
2450
2442
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", children: [
2451
- /* @__PURE__ */ jsxRuntime.jsx(chunk4XID6LOC_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2452
- /* @__PURE__ */ jsxRuntime.jsxs(chunk4XID6LOC_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2443
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBSPRG6ZF_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
2444
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkBSPRG6ZF_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
2453
2445
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5", "data-slot": "icon" }),
2454
2446
  t("run")
2455
2447
  ] })
@@ -2482,8 +2474,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
2482
2474
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
2483
2475
  const [selectedRun, setSelectedRun] = react.useState(null);
2484
2476
  const [selectedNode, setSelectedNode] = react.useState(null);
2485
- const isRunning = chunk4X7ITYP2_js.useWorkflowStore((state) => state.isRunning);
2486
- const nodeResults = chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodeResults);
2477
+ const isRunning = chunkGMGTX3TB_js.useWorkflowStore((state) => state.isRunning);
2478
+ const nodeResults = chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodeResults);
2487
2479
  const refreshRuns = react.useCallback(async () => {
2488
2480
  setIsLoadingRuns(true);
2489
2481
  try {
@@ -2639,7 +2631,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2639
2631
  onAutoSaveGraph(graph);
2640
2632
  }, [onAutoSaveGraph, onGraphSnapshot]);
2641
2633
  return /* @__PURE__ */ jsxRuntime.jsx(
2642
- chunk4X7ITYP2_js.Workspace,
2634
+ chunkGMGTX3TB_js.Workspace,
2643
2635
  {
2644
2636
  ...workspaceProps,
2645
2637
  onGraphChange: handleGraphChange
@@ -2647,7 +2639,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
2647
2639
  );
2648
2640
  });
2649
2641
  function DynamicIslandConfirm2(props) {
2650
- return /* @__PURE__ */ jsxRuntime.jsx(chunk4XID6LOC_js.DynamicIslandConfirm, { ...props });
2642
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkBSPRG6ZF_js.DynamicIslandConfirm, { ...props });
2651
2643
  }
2652
2644
  var JSON_PREVIEW_LINE_LIMIT = 50;
2653
2645
  function DslExportModal({ open, onClose, workflow, graph }) {
@@ -2701,7 +2693,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2701
2693
  }, [jsonString, workflow.name, workflow.version]);
2702
2694
  if (!open) return null;
2703
2695
  return /* @__PURE__ */ jsxRuntime.jsx(
2704
- chunk4XID6LOC_js.GlassFormModal,
2696
+ chunkBSPRG6ZF_js.GlassFormModal,
2705
2697
  {
2706
2698
  open,
2707
2699
  onClose,
@@ -2744,7 +2736,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2744
2736
  ] }),
2745
2737
  /* @__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: [
2746
2738
  /* @__PURE__ */ jsxRuntime.jsx(
2747
- chunk4XID6LOC_js.Button,
2739
+ chunkBSPRG6ZF_js.Button,
2748
2740
  {
2749
2741
  type: "button",
2750
2742
  onClick: handleCopyToClipboard,
@@ -2761,7 +2753,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
2761
2753
  }
2762
2754
  ),
2763
2755
  /* @__PURE__ */ jsxRuntime.jsxs(
2764
- chunk4XID6LOC_js.Button,
2756
+ chunkBSPRG6ZF_js.Button,
2765
2757
  {
2766
2758
  type: "button",
2767
2759
  onClick: handleDownloadJson,
@@ -2920,7 +2912,7 @@ function DslImportModal({ open, onClose, onImport }) {
2920
2912
  }, []);
2921
2913
  if (!open) return null;
2922
2914
  return /* @__PURE__ */ jsxRuntime.jsx(
2923
- chunk4XID6LOC_js.GlassFormModal,
2915
+ chunkBSPRG6ZF_js.GlassFormModal,
2924
2916
  {
2925
2917
  open,
2926
2918
  onClose,
@@ -2961,7 +2953,7 @@ function DslImportModal({ open, onClose, onImport }) {
2961
2953
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "import-validation-result", children: [
2962
2954
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
2963
2955
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: fileName }),
2964
- /* @__PURE__ */ jsxRuntime.jsx(chunk4XID6LOC_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
2956
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBSPRG6ZF_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
2965
2957
  ] }),
2966
2958
  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: [
2967
2959
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -2989,9 +2981,9 @@ function DslImportModal({ open, onClose, onImport }) {
2989
2981
  ] })
2990
2982
  ] }) }),
2991
2983
  /* @__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: [
2992
- /* @__PURE__ */ jsxRuntime.jsx(chunk4XID6LOC_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
2984
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBSPRG6ZF_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
2993
2985
  /* @__PURE__ */ jsxRuntime.jsxs(
2994
- chunk4XID6LOC_js.Button,
2986
+ chunkBSPRG6ZF_js.Button,
2995
2987
  {
2996
2988
  type: "button",
2997
2989
  onClick: handleImport,
@@ -3012,14 +3004,14 @@ function DslImportModal({ open, onClose, onImport }) {
3012
3004
  }
3013
3005
 
3014
3006
  // src/astrlabe/store/selectors.ts
3015
- var useCanUndo = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.past.length > 0);
3016
- var useCanRedo = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.future.length > 0);
3017
- var useHasCopied = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.clipboard !== null);
3018
- var useContextMenu = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.contextMenu);
3019
- var useEditingNodeId = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.editingNodeId);
3020
- var useSelectedNodeCount = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3021
- var useIsRunning = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.isRunning);
3022
- var useNodeResults = () => chunk4X7ITYP2_js.useWorkflowStore((state) => state.nodeResults);
3007
+ var useCanUndo = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.past.length > 0);
3008
+ var useCanRedo = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.future.length > 0);
3009
+ var useHasCopied = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.clipboard !== null);
3010
+ var useContextMenu = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.contextMenu);
3011
+ var useEditingNodeId = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.editingNodeId);
3012
+ var useSelectedNodeCount = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
3013
+ var useIsRunning = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.isRunning);
3014
+ var useNodeResults = () => chunkGMGTX3TB_js.useWorkflowStore((state) => state.nodeResults);
3023
3015
  var DEFAULT_MAX_HISTORY = 50;
3024
3016
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
3025
3017
  const pastRef = react.useRef([]);
@@ -3307,227 +3299,227 @@ Object.defineProperty(exports, "validateWorkflowGraph", {
3307
3299
  });
3308
3300
  Object.defineProperty(exports, "AgentFlowNode", {
3309
3301
  enumerable: true,
3310
- get: function () { return chunk4X7ITYP2_js.AgentFlowNode; }
3302
+ get: function () { return chunkGMGTX3TB_js.AgentFlowNode; }
3311
3303
  });
3312
3304
  Object.defineProperty(exports, "AgentToolFlowNode", {
3313
3305
  enumerable: true,
3314
- get: function () { return chunk4X7ITYP2_js.AgentToolFlowNode; }
3306
+ get: function () { return chunkGMGTX3TB_js.AgentToolFlowNode; }
3315
3307
  });
3316
3308
  Object.defineProperty(exports, "AnswerFlowNode", {
3317
3309
  enumerable: true,
3318
- get: function () { return chunk4X7ITYP2_js.AnswerFlowNode; }
3310
+ get: function () { return chunkGMGTX3TB_js.AnswerFlowNode; }
3319
3311
  });
3320
3312
  Object.defineProperty(exports, "AnthropicIcon", {
3321
3313
  enumerable: true,
3322
- get: function () { return chunk4X7ITYP2_js.AnthropicIcon; }
3314
+ get: function () { return chunkGMGTX3TB_js.AnthropicIcon; }
3323
3315
  });
3324
3316
  Object.defineProperty(exports, "CodeFlowNode", {
3325
3317
  enumerable: true,
3326
- get: function () { return chunk4X7ITYP2_js.CodeFlowNode; }
3318
+ get: function () { return chunkGMGTX3TB_js.CodeFlowNode; }
3327
3319
  });
3328
3320
  Object.defineProperty(exports, "CrewAIIcon", {
3329
3321
  enumerable: true,
3330
- get: function () { return chunk4X7ITYP2_js.CrewAIIcon; }
3322
+ get: function () { return chunkGMGTX3TB_js.CrewAIIcon; }
3331
3323
  });
3332
3324
  Object.defineProperty(exports, "DocumentExtractorFlowNode", {
3333
3325
  enumerable: true,
3334
- get: function () { return chunk4X7ITYP2_js.DocumentExtractorFlowNode; }
3326
+ get: function () { return chunkGMGTX3TB_js.DocumentExtractorFlowNode; }
3335
3327
  });
3336
3328
  Object.defineProperty(exports, "EndFlowNode", {
3337
3329
  enumerable: true,
3338
- get: function () { return chunk4X7ITYP2_js.EndFlowNode; }
3330
+ get: function () { return chunkGMGTX3TB_js.EndFlowNode; }
3339
3331
  });
3340
3332
  Object.defineProperty(exports, "EntityFlowNode", {
3341
3333
  enumerable: true,
3342
- get: function () { return chunk4X7ITYP2_js.EntityFlowNode; }
3334
+ get: function () { return chunkGMGTX3TB_js.EntityFlowNode; }
3343
3335
  });
3344
3336
  Object.defineProperty(exports, "FRAMEWORK_META", {
3345
3337
  enumerable: true,
3346
- get: function () { return chunk4X7ITYP2_js.FRAMEWORK_META; }
3338
+ get: function () { return chunkGMGTX3TB_js.FRAMEWORK_META; }
3347
3339
  });
3348
3340
  Object.defineProperty(exports, "GoogleADKIcon", {
3349
3341
  enumerable: true,
3350
- get: function () { return chunk4X7ITYP2_js.GoogleADKIcon; }
3342
+ get: function () { return chunkGMGTX3TB_js.GoogleADKIcon; }
3351
3343
  });
3352
3344
  Object.defineProperty(exports, "GroupFlowNode", {
3353
3345
  enumerable: true,
3354
- get: function () { return chunk4X7ITYP2_js.GroupFlowNode; }
3346
+ get: function () { return chunkGMGTX3TB_js.GroupFlowNode; }
3355
3347
  });
3356
3348
  Object.defineProperty(exports, "HttpRequestFlowNode", {
3357
3349
  enumerable: true,
3358
- get: function () { return chunk4X7ITYP2_js.HttpRequestFlowNode; }
3350
+ get: function () { return chunkGMGTX3TB_js.HttpRequestFlowNode; }
3359
3351
  });
3360
3352
  Object.defineProperty(exports, "IfElseFlowNode", {
3361
3353
  enumerable: true,
3362
- get: function () { return chunk4X7ITYP2_js.IfElseFlowNode; }
3354
+ get: function () { return chunkGMGTX3TB_js.IfElseFlowNode; }
3363
3355
  });
3364
3356
  Object.defineProperty(exports, "IterationFlowNode", {
3365
3357
  enumerable: true,
3366
- get: function () { return chunk4X7ITYP2_js.IterationFlowNode; }
3358
+ get: function () { return chunkGMGTX3TB_js.IterationFlowNode; }
3367
3359
  });
3368
3360
  Object.defineProperty(exports, "IterationStartFlowNode", {
3369
3361
  enumerable: true,
3370
- get: function () { return chunk4X7ITYP2_js.IterationStartFlowNode; }
3362
+ get: function () { return chunkGMGTX3TB_js.IterationStartFlowNode; }
3371
3363
  });
3372
3364
  Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
3373
3365
  enumerable: true,
3374
- get: function () { return chunk4X7ITYP2_js.KnowledgeBaseFlowNode; }
3366
+ get: function () { return chunkGMGTX3TB_js.KnowledgeBaseFlowNode; }
3375
3367
  });
3376
3368
  Object.defineProperty(exports, "LOGIC_ICON_MAP", {
3377
3369
  enumerable: true,
3378
- get: function () { return chunk4X7ITYP2_js.LOGIC_ICON_MAP; }
3370
+ get: function () { return chunkGMGTX3TB_js.LOGIC_ICON_MAP; }
3379
3371
  });
3380
3372
  Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
3381
3373
  enumerable: true,
3382
- get: function () { return chunk4X7ITYP2_js.LOGIC_NODE_BADGE_COLORS; }
3374
+ get: function () { return chunkGMGTX3TB_js.LOGIC_NODE_BADGE_COLORS; }
3383
3375
  });
3384
3376
  Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
3385
3377
  enumerable: true,
3386
- get: function () { return chunk4X7ITYP2_js.LOGIC_NODE_GRADIENTS; }
3378
+ get: function () { return chunkGMGTX3TB_js.LOGIC_NODE_GRADIENTS; }
3387
3379
  });
3388
3380
  Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
3389
3381
  enumerable: true,
3390
- get: function () { return chunk4X7ITYP2_js.LOGIC_NODE_HANDLE_COLORS; }
3382
+ get: function () { return chunkGMGTX3TB_js.LOGIC_NODE_HANDLE_COLORS; }
3391
3383
  });
3392
3384
  Object.defineProperty(exports, "LangChainIcon", {
3393
3385
  enumerable: true,
3394
- get: function () { return chunk4X7ITYP2_js.LangChainIcon; }
3386
+ get: function () { return chunkGMGTX3TB_js.LangChainIcon; }
3395
3387
  });
3396
3388
  Object.defineProperty(exports, "ListOperatorFlowNode", {
3397
3389
  enumerable: true,
3398
- get: function () { return chunk4X7ITYP2_js.ListOperatorFlowNode; }
3390
+ get: function () { return chunkGMGTX3TB_js.ListOperatorFlowNode; }
3399
3391
  });
3400
3392
  Object.defineProperty(exports, "LogicNodeModal", {
3401
3393
  enumerable: true,
3402
- get: function () { return chunk4X7ITYP2_js.LogicNodeModal; }
3394
+ get: function () { return chunkGMGTX3TB_js.LogicNodeModal; }
3403
3395
  });
3404
3396
  Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
3405
3397
  enumerable: true,
3406
- get: function () { return chunk4X7ITYP2_js.MINIMAP_NODE_COLORS; }
3398
+ get: function () { return chunkGMGTX3TB_js.MINIMAP_NODE_COLORS; }
3407
3399
  });
3408
3400
  Object.defineProperty(exports, "ModelProviderFlowNode", {
3409
3401
  enumerable: true,
3410
- get: function () { return chunk4X7ITYP2_js.ModelProviderFlowNode; }
3402
+ get: function () { return chunkGMGTX3TB_js.ModelProviderFlowNode; }
3411
3403
  });
3412
3404
  Object.defineProperty(exports, "NodeCard", {
3413
3405
  enumerable: true,
3414
- get: function () { return chunk4X7ITYP2_js.NodeCard; }
3406
+ get: function () { return chunkGMGTX3TB_js.NodeCard; }
3415
3407
  });
3416
3408
  Object.defineProperty(exports, "NodeContextMenu", {
3417
3409
  enumerable: true,
3418
- get: function () { return chunk4X7ITYP2_js.NodeContextMenu; }
3410
+ get: function () { return chunkGMGTX3TB_js.NodeContextMenu; }
3419
3411
  });
3420
3412
  Object.defineProperty(exports, "NoteFlowNode", {
3421
3413
  enumerable: true,
3422
- get: function () { return chunk4X7ITYP2_js.NoteFlowNode; }
3414
+ get: function () { return chunkGMGTX3TB_js.NoteFlowNode; }
3423
3415
  });
3424
3416
  Object.defineProperty(exports, "OpenAIIcon", {
3425
3417
  enumerable: true,
3426
- get: function () { return chunk4X7ITYP2_js.OpenAIIcon; }
3418
+ get: function () { return chunkGMGTX3TB_js.OpenAIIcon; }
3427
3419
  });
3428
3420
  Object.defineProperty(exports, "PanelContextMenu", {
3429
3421
  enumerable: true,
3430
- get: function () { return chunk4X7ITYP2_js.PanelContextMenu; }
3422
+ get: function () { return chunkGMGTX3TB_js.PanelContextMenu; }
3431
3423
  });
3432
3424
  Object.defineProperty(exports, "ParameterExtractorFlowNode", {
3433
3425
  enumerable: true,
3434
- get: function () { return chunk4X7ITYP2_js.ParameterExtractorFlowNode; }
3426
+ get: function () { return chunkGMGTX3TB_js.ParameterExtractorFlowNode; }
3435
3427
  });
3436
3428
  Object.defineProperty(exports, "QuestionClassifierFlowNode", {
3437
3429
  enumerable: true,
3438
- get: function () { return chunk4X7ITYP2_js.QuestionClassifierFlowNode; }
3430
+ get: function () { return chunkGMGTX3TB_js.QuestionClassifierFlowNode; }
3439
3431
  });
3440
3432
  Object.defineProperty(exports, "RuleFlowNode", {
3441
3433
  enumerable: true,
3442
- get: function () { return chunk4X7ITYP2_js.RuleFlowNode; }
3434
+ get: function () { return chunkGMGTX3TB_js.RuleFlowNode; }
3443
3435
  });
3444
3436
  Object.defineProperty(exports, "SelectionContextMenu", {
3445
3437
  enumerable: true,
3446
- get: function () { return chunk4X7ITYP2_js.SelectionContextMenu; }
3438
+ get: function () { return chunkGMGTX3TB_js.SelectionContextMenu; }
3447
3439
  });
3448
3440
  Object.defineProperty(exports, "StartFlowNode", {
3449
3441
  enumerable: true,
3450
- get: function () { return chunk4X7ITYP2_js.StartFlowNode; }
3442
+ get: function () { return chunkGMGTX3TB_js.StartFlowNode; }
3451
3443
  });
3452
3444
  Object.defineProperty(exports, "StrandsIcon", {
3453
3445
  enumerable: true,
3454
- get: function () { return chunk4X7ITYP2_js.StrandsIcon; }
3446
+ get: function () { return chunkGMGTX3TB_js.StrandsIcon; }
3455
3447
  });
3456
3448
  Object.defineProperty(exports, "TemplateTransformFlowNode", {
3457
3449
  enumerable: true,
3458
- get: function () { return chunk4X7ITYP2_js.TemplateTransformFlowNode; }
3450
+ get: function () { return chunkGMGTX3TB_js.TemplateTransformFlowNode; }
3459
3451
  });
3460
3452
  Object.defineProperty(exports, "ToolFlowNode", {
3461
3453
  enumerable: true,
3462
- get: function () { return chunk4X7ITYP2_js.ToolFlowNode; }
3454
+ get: function () { return chunkGMGTX3TB_js.ToolFlowNode; }
3463
3455
  });
3464
3456
  Object.defineProperty(exports, "VariableAggregatorFlowNode", {
3465
3457
  enumerable: true,
3466
- get: function () { return chunk4X7ITYP2_js.VariableAggregatorFlowNode; }
3458
+ get: function () { return chunkGMGTX3TB_js.VariableAggregatorFlowNode; }
3467
3459
  });
3468
3460
  Object.defineProperty(exports, "VariableAssignerFlowNode", {
3469
3461
  enumerable: true,
3470
- get: function () { return chunk4X7ITYP2_js.VariableAssignerFlowNode; }
3462
+ get: function () { return chunkGMGTX3TB_js.VariableAssignerFlowNode; }
3471
3463
  });
3472
3464
  Object.defineProperty(exports, "WorkflowBuilderProvider", {
3473
3465
  enumerable: true,
3474
- get: function () { return chunk4X7ITYP2_js.WorkflowBuilderProvider; }
3466
+ get: function () { return chunkGMGTX3TB_js.WorkflowBuilderProvider; }
3475
3467
  });
3476
3468
  Object.defineProperty(exports, "Workspace", {
3477
3469
  enumerable: true,
3478
- get: function () { return chunk4X7ITYP2_js.Workspace; }
3470
+ get: function () { return chunkGMGTX3TB_js.Workspace; }
3479
3471
  });
3480
3472
  Object.defineProperty(exports, "getCompatibleModels", {
3481
3473
  enumerable: true,
3482
- get: function () { return chunk4X7ITYP2_js.getCompatibleModels; }
3474
+ get: function () { return chunkGMGTX3TB_js.getCompatibleModels; }
3483
3475
  });
3484
3476
  Object.defineProperty(exports, "getDefaultFrameworkForModel", {
3485
3477
  enumerable: true,
3486
- get: function () { return chunk4X7ITYP2_js.getDefaultFrameworkForModel; }
3478
+ get: function () { return chunkGMGTX3TB_js.getDefaultFrameworkForModel; }
3487
3479
  });
3488
3480
  Object.defineProperty(exports, "getEntityBadgeColor", {
3489
3481
  enumerable: true,
3490
- get: function () { return chunk4X7ITYP2_js.getEntityBadgeColor; }
3482
+ get: function () { return chunkGMGTX3TB_js.getEntityBadgeColor; }
3491
3483
  });
3492
3484
  Object.defineProperty(exports, "getEntityGradient", {
3493
3485
  enumerable: true,
3494
- get: function () { return chunk4X7ITYP2_js.getEntityGradient; }
3486
+ get: function () { return chunkGMGTX3TB_js.getEntityGradient; }
3495
3487
  });
3496
3488
  Object.defineProperty(exports, "getEntityHandleColor", {
3497
3489
  enumerable: true,
3498
- get: function () { return chunk4X7ITYP2_js.getEntityHandleColor; }
3490
+ get: function () { return chunkGMGTX3TB_js.getEntityHandleColor; }
3499
3491
  });
3500
3492
  Object.defineProperty(exports, "getEntityIcon", {
3501
3493
  enumerable: true,
3502
- get: function () { return chunk4X7ITYP2_js.getEntityIcon; }
3494
+ get: function () { return chunkGMGTX3TB_js.getEntityIcon; }
3503
3495
  });
3504
3496
  Object.defineProperty(exports, "getEntityMinimapColor", {
3505
3497
  enumerable: true,
3506
- get: function () { return chunk4X7ITYP2_js.getEntityMinimapColor; }
3498
+ get: function () { return chunkGMGTX3TB_js.getEntityMinimapColor; }
3507
3499
  });
3508
3500
  Object.defineProperty(exports, "getFrameworkMeta", {
3509
3501
  enumerable: true,
3510
- get: function () { return chunk4X7ITYP2_js.getFrameworkMeta; }
3502
+ get: function () { return chunkGMGTX3TB_js.getFrameworkMeta; }
3511
3503
  });
3512
3504
  Object.defineProperty(exports, "isModelCompatibleWithFramework", {
3513
3505
  enumerable: true,
3514
- get: function () { return chunk4X7ITYP2_js.isModelCompatibleWithFramework; }
3506
+ get: function () { return chunkGMGTX3TB_js.isModelCompatibleWithFramework; }
3515
3507
  });
3516
3508
  Object.defineProperty(exports, "useModalStore", {
3517
3509
  enumerable: true,
3518
- get: function () { return chunk4X7ITYP2_js.useModalStore; }
3510
+ get: function () { return chunkGMGTX3TB_js.useModalStore; }
3519
3511
  });
3520
3512
  Object.defineProperty(exports, "useWorkflowBuilderClient", {
3521
3513
  enumerable: true,
3522
- get: function () { return chunk4X7ITYP2_js.useWorkflowBuilderClient; }
3514
+ get: function () { return chunkGMGTX3TB_js.useWorkflowBuilderClient; }
3523
3515
  });
3524
3516
  Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
3525
3517
  enumerable: true,
3526
- get: function () { return chunk4X7ITYP2_js.useWorkflowBuilderClientOptional; }
3518
+ get: function () { return chunkGMGTX3TB_js.useWorkflowBuilderClientOptional; }
3527
3519
  });
3528
3520
  Object.defineProperty(exports, "useWorkflowStore", {
3529
3521
  enumerable: true,
3530
- get: function () { return chunk4X7ITYP2_js.useWorkflowStore; }
3522
+ get: function () { return chunkGMGTX3TB_js.useWorkflowStore; }
3531
3523
  });
3532
3524
  Object.defineProperty(exports, "GraphNodeBadge", {
3533
3525
  enumerable: true,