@datatechsolutions/ui 2.11.62 → 2.11.63

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,7 +1,7 @@
1
1
  "use client";
2
- import { Workspace, useModalStore, CATEGORY_COLORS, CATEGORY_PILL_COLORS, ICON_MAP, WorkflowCanvas, getEntityIcon, getEntityGradient, useWorkflowStore, LOGIC_ICON_MAP, LOGIC_NODE_GRADIENTS, getFrameworkMeta, getCompatibleModels, isModelCompatibleWithFramework, FRAMEWORK_META, isFrameworkCompatibleWithProviders } from '../chunk-VG6AMK5R.mjs';
3
- export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, ModelProviderFlowNode, NODE_EXECUTION_ACCENT_COLORS, NodeCard, NodeContextMenu, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, getNodeExecutionAccent, getNodeExecutionAccentRgb, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore } from '../chunk-VG6AMK5R.mjs';
4
- import { GlassModal, Button, FormInput, FormTextarea, ToggleSwitch, Input, DynamicIslandConfirm } from '../chunk-KRWGJS25.mjs';
2
+ import { Workspace, useModalStore, CATEGORY_COLORS, CATEGORY_PILL_COLORS, ICON_MAP, WorkflowCanvas, getEntityIcon, getEntityGradient, useWorkflowStore, LOGIC_ICON_MAP, LOGIC_NODE_GRADIENTS, getFrameworkMeta, getCompatibleModels, isModelCompatibleWithFramework, FRAMEWORK_META, isFrameworkCompatibleWithProviders } from '../chunk-BZX5WQOL.mjs';
3
+ export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, ModelProviderFlowNode, NODE_EXECUTION_ACCENT_COLORS, NodeCard, NodeContextMenu, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, getNodeExecutionAccent, getNodeExecutionAccentRgb, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore } from '../chunk-BZX5WQOL.mjs';
4
+ import { GlassModal, Button, FormInput, FormTextarea, ToggleSwitch, Input, DynamicIslandConfirm } from '../chunk-T5SX6BD6.mjs';
5
5
  import '../chunk-D2JF6C3E.mjs';
6
6
  import { useTranslations } from '../chunk-7VJ7CMMT.mjs';
7
7
  import '../chunk-QWG2FMUN.mjs';
@@ -1291,10 +1291,13 @@ var LOGIC_NODE_ITEMS = [
1291
1291
  { nodeType: "variable_assigner", nameKey: "variableAssignerNode", descriptionKey: "variableAssignerNodeDescription", subcategory: "data_processing" },
1292
1292
  { nodeType: "variable_aggregator", nameKey: "variableAggregatorNode", descriptionKey: "variableAggregatorNodeDescription", subcategory: "data_processing" },
1293
1293
  { nodeType: "list_operator", nameKey: "listOperatorNode", descriptionKey: "listOperatorNodeDescription", subcategory: "data_processing" },
1294
- { nodeType: "document_extractor", nameKey: "documentExtractorNode", descriptionKey: "documentExtractorNodeDescription", subcategory: "data_processing" },
1294
+ // DocumentExtractor echoes its config today pending a real
1295
+ // extractor implementation, tag as experimental.
1296
+ { nodeType: "document_extractor", nameKey: "documentExtractorNode", descriptionKey: "documentExtractorNodeDescription", subcategory: "data_processing", experimental: true },
1295
1297
  { nodeType: "datasource", nameKey: "datasourceNode", descriptionKey: "datasourceNodeDescription", subcategory: "data_processing" },
1296
1298
  // AI/ML
1297
- { nodeType: "knowledge_base", nameKey: "knowledgeBaseNode", descriptionKey: "knowledgeBaseNodeDescription", subcategory: "ai_ml" },
1299
+ // KnowledgeBase is a stub (no vector store wired yet) — hide by default.
1300
+ { nodeType: "knowledge_base", nameKey: "knowledgeBaseNode", descriptionKey: "knowledgeBaseNodeDescription", subcategory: "ai_ml", experimental: true },
1298
1301
  { nodeType: "answer", nameKey: "answerNode", descriptionKey: "answerNodeDescription", subcategory: "ai_ml" },
1299
1302
  { nodeType: "question_classifier", nameKey: "questionClassifierNode", descriptionKey: "questionClassifierNodeDescription", subcategory: "ai_ml" },
1300
1303
  { nodeType: "parameter_extractor", nameKey: "parameterExtractorNode", descriptionKey: "parameterExtractorNodeDescription", subcategory: "ai_ml" },
@@ -1389,6 +1392,7 @@ function LogicNodeItemCard({ item, translationFunction }) {
1389
1392
  function NodePalette({ agents, tools, agentTools = [], rules, entities = [], modelProviders = [], onCreateAgent, onCreateTool, onCreateAgentTool, onCreateRule, onCreateDatasource, onConfigureProvider }) {
1390
1393
  const t = useTranslations("agents.workflow");
1391
1394
  const [searchQuery, setSearchQuery] = useState("");
1395
+ const [showExperimental, setShowExperimental] = useState(false);
1392
1396
  const normalizedQuery = searchQuery.toLowerCase().trim();
1393
1397
  const filteredAgents = useMemo(
1394
1398
  () => normalizedQuery ? agents.filter(
@@ -1437,12 +1441,13 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1437
1441
  ) : entityTypes,
1438
1442
  [entityTypes, normalizedQuery]
1439
1443
  );
1440
- const filteredLogicItems = useMemo(
1441
- () => normalizedQuery ? LOGIC_NODE_ITEMS.filter(
1444
+ const filteredLogicItems = useMemo(() => {
1445
+ const visibleByDefault = showExperimental ? LOGIC_NODE_ITEMS : LOGIC_NODE_ITEMS.filter((item) => !item.experimental);
1446
+ if (!normalizedQuery) return visibleByDefault;
1447
+ return visibleByDefault.filter(
1442
1448
  (item) => t(item.nameKey).toLowerCase().includes(normalizedQuery) || t(item.descriptionKey).toLowerCase().includes(normalizedQuery)
1443
- ) : LOGIC_NODE_ITEMS,
1444
- [normalizedQuery, t]
1445
- );
1449
+ );
1450
+ }, [normalizedQuery, showExperimental, t]);
1446
1451
  const groupedLogicItems = useMemo(() => {
1447
1452
  const groups = {
1448
1453
  control_flow: [],
@@ -1475,7 +1480,19 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1475
1480
  placeholder: t("searchPalette"),
1476
1481
  className: "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-[11px] text-gray-900 placeholder-gray-400 outline-none transition-colors focus:ring-1 focus:ring-indigo-300/40 dark:text-white dark:placeholder-gray-500 dark:focus:ring-indigo-500/20"
1477
1482
  }
1478
- ) })
1483
+ ) }),
1484
+ /* @__PURE__ */ jsxs("label", { className: "mt-2 flex items-center gap-2 text-[10px] text-gray-500 dark:text-gray-400 select-none cursor-pointer", children: [
1485
+ /* @__PURE__ */ jsx(
1486
+ "input",
1487
+ {
1488
+ type: "checkbox",
1489
+ checked: showExperimental,
1490
+ onChange: (event) => setShowExperimental(event.target.checked),
1491
+ className: "h-3 w-3 rounded border-gray-300 text-indigo-600 focus:ring-1 focus:ring-indigo-400/40 dark:border-gray-600"
1492
+ }
1493
+ ),
1494
+ t("showExperimentalNodes", { _: "Show experimental" })
1495
+ ] })
1479
1496
  ] }),
1480
1497
  /* @__PURE__ */ jsx(
1481
1498
  CollapsibleSection,
@@ -2182,8 +2199,11 @@ function inferVariables(config, nodeType) {
2182
2199
  }
2183
2200
  break;
2184
2201
  case "code":
2185
- variables.push({ name: "code_input", direction: "input", variableType: config.language });
2186
- variables.push({ name: "code_output", direction: "output", variableType: "any" });
2202
+ {
2203
+ const kind = "language" in config ? config.language : config.operation;
2204
+ variables.push({ name: "code_input", direction: "input", variableType: kind });
2205
+ variables.push({ name: "code_output", direction: "output", variableType: "any" });
2206
+ }
2187
2207
  break;
2188
2208
  case "http_request":
2189
2209
  variables.push({ name: "url", direction: "input", variableType: "string" });