@datatechsolutions/ui 2.11.53 → 2.11.55

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.
@@ -10,7 +10,7 @@ import { D as DynamicIslandConfirm$1 } from '../dynamic-island-confirm-BKsZkAEP.
10
10
  import * as zustand from 'zustand';
11
11
  import { Node, Edge } from '@xyflow/react';
12
12
  import { LayoutDirection } from './utils.mjs';
13
- export { AgentTier, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateWorkflowGraph } from './utils.mjs';
13
+ export { AgentTier, NodeValidationIssue, ValidationResult, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateGraphNodeConfigs, validateNodeConfig, validateWorkflowGraph } from './utils.mjs';
14
14
 
15
15
  type WorkspaceBootstrapPayload = {
16
16
  workflow: Workflow | null;
@@ -10,7 +10,7 @@ import { D as DynamicIslandConfirm$1 } from '../dynamic-island-confirm-BKsZkAEP.
10
10
  import * as zustand from 'zustand';
11
11
  import { Node, Edge } from '@xyflow/react';
12
12
  import { LayoutDirection } from './utils.js';
13
- export { AgentTier, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateWorkflowGraph } from './utils.js';
13
+ export { AgentTier, NodeValidationIssue, ValidationResult, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateGraphNodeConfigs, validateNodeConfig, validateWorkflowGraph } from './utils.js';
14
14
 
15
15
  type WorkspaceBootstrapPayload = {
16
16
  workflow: Workflow | null;
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  require('../chunk-55H6WZQP.js');
5
- var chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
5
+ var chunk5UU3RQRB_js = require('../chunk-5UU3RQRB.js');
6
6
  var chunk7LCEP4X5_js = require('../chunk-7LCEP4X5.js');
7
7
  var chunk5N6QYUAA_js = require('../chunk-5N6QYUAA.js');
8
8
  var chunkYXN2K77G_js = require('../chunk-YXN2K77G.js');
@@ -3318,11 +3318,19 @@ function useHelpLines() {
3318
3318
 
3319
3319
  Object.defineProperty(exports, "topologicalSortAgents", {
3320
3320
  enumerable: true,
3321
- get: function () { return chunk3GE3MBUZ_js.topologicalSortAgents; }
3321
+ get: function () { return chunk5UU3RQRB_js.topologicalSortAgents; }
3322
+ });
3323
+ Object.defineProperty(exports, "validateGraphNodeConfigs", {
3324
+ enumerable: true,
3325
+ get: function () { return chunk5UU3RQRB_js.validateGraphNodeConfigs; }
3326
+ });
3327
+ Object.defineProperty(exports, "validateNodeConfig", {
3328
+ enumerable: true,
3329
+ get: function () { return chunk5UU3RQRB_js.validateNodeConfig; }
3322
3330
  });
3323
3331
  Object.defineProperty(exports, "validateWorkflowGraph", {
3324
3332
  enumerable: true,
3325
- get: function () { return chunk3GE3MBUZ_js.validateWorkflowGraph; }
3333
+ get: function () { return chunk5UU3RQRB_js.validateWorkflowGraph; }
3326
3334
  });
3327
3335
  Object.defineProperty(exports, "AgentFlowNode", {
3328
3336
  enumerable: true,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import '../chunk-JB6RNAD2.mjs';
3
- export { topologicalSortAgents, validateWorkflowGraph } from '../chunk-BLNXRUC4.mjs';
3
+ export { topologicalSortAgents, validateGraphNodeConfigs, validateNodeConfig, validateWorkflowGraph } from '../chunk-53SRKVKQ.mjs';
4
4
  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-PEBQWL6R.mjs';
5
5
  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-PEBQWL6R.mjs';
6
6
  import { GlassModal, Button, FormInput, FormTextarea, ToggleSwitch, Input, DynamicIslandConfirm } from '../chunk-GWLWSE2C.mjs';
@@ -1,4 +1,4 @@
1
- import { WorkflowNodeType, LogicNodeConfig, WorkflowGraph } from './contracts.mjs';
1
+ import { WorkflowNodeType, LogicNodeConfig, WorkflowNode, WorkflowEdge, WorkflowGraph } from './contracts.mjs';
2
2
  import { Node, Edge } from '@xyflow/react';
3
3
 
4
4
  /**
@@ -28,33 +28,37 @@ declare function createDefaultLogicNodeConfig(nodeType: WorkflowNodeType): Logic
28
28
  /**
29
29
  * Workflow Validator
30
30
  * =================
31
- * Validates the workflow graph before publishing.
32
- * Ensures the graph forms a valid DAG with proper node connections.
31
+ * Localizes validation output inside the UI package while keeping issue codes
32
+ * stable enough for future contract tests against the backend validator.
33
33
  */
34
34
 
35
+ type SupportedLocale = 'en' | 'pt-BR' | 'es' | 'fr' | 'de' | 'it';
36
+ type ValidationParams = Record<string, string | number | undefined>;
37
+ type ValidationLocale = SupportedLocale | string;
38
+ type ValidationIssueCode = 'graph.noAgents' | 'graph.missingSource' | 'graph.missingTarget' | 'graph.orphanNode' | 'graph.toolToNonAgent' | 'graph.ruleNoAgent' | 'graph.cycleDetected' | 'graph.multipleStartNodes' | 'graph.multipleEndNodes' | 'graph.startHasIncoming' | 'graph.endHasOutgoing' | 'graph.iterationNoOutgoing' | 'node.required' | 'node.requiredWhenLanguageSet' | 'node.codeShapeRequired' | 'node.mustBeArray' | 'node.mustBeReferenceArray' | 'node.mustBeNonEmptyReferenceArray' | 'node.assignmentNeedsSourceOrValue' | 'node.invalidAggregationMode' | 'node.invalidListOperation' | 'node.invalidLogicalOperator' | 'node.mustBeNumber' | 'node.invalidHttpMethod' | 'node.providerIdentityRequired' | 'node.inputOrInstructionsRequired' | 'node.invalidExtractionMode' | 'node.unknownType';
39
+ type ValidationIssue = {
40
+ code: ValidationIssueCode;
41
+ message: string;
42
+ params?: ValidationParams;
43
+ };
44
+ type NodeValidationIssue = ValidationIssue & {
45
+ nodeId: string;
46
+ nodeType: string;
47
+ field?: string;
48
+ };
35
49
  type ValidationResult = {
36
50
  valid: boolean;
37
51
  errors: string[];
52
+ issues: ValidationIssue[];
53
+ nodeIssues: NodeValidationIssue[];
38
54
  };
39
- /**
40
- * Validate a workflow graph for publishing.
41
- * Checks:
42
- * - At least one agent node exists
43
- * - All edges have valid source/target nodes
44
- * - No orphan nodes (every node has at least one connection, except note nodes)
45
- * - Tool nodes connect to agent nodes only
46
- * - Agent chain forms a valid DAG (no cycles)
47
- * - Rule nodes have incoming edges from agents
48
- * - Logic node constraints (start/end uniqueness, config validation)
49
- * - New node type validations (answer, question_classifier, parameter_extractor, etc.)
50
- */
51
- declare function validateWorkflowGraph(graph: WorkflowGraph): ValidationResult;
52
- /**
53
- * Topologically sort agent nodes from the graph edges.
54
- * Returns agent entityIds in execution order.
55
- * Logic nodes are skipped — only agent entityIds are returned.
56
- */
57
- declare function topologicalSortAgents(graph: WorkflowGraph): string[];
55
+ type ValidationOptions = {
56
+ locale?: ValidationLocale;
57
+ };
58
+ declare function validateNodeConfig(node: WorkflowNode, options?: ValidationOptions): NodeValidationIssue[];
59
+ declare function validateGraphNodeConfigs(graph: WorkflowGraph, options?: ValidationOptions): NodeValidationIssue[];
60
+ declare function validateWorkflowGraph(graph: WorkflowGraph, options?: ValidationOptions): ValidationResult;
61
+ declare function topologicalSortAgents(agentNodes: WorkflowNode[], edges: WorkflowEdge[], nodeMap: Map<string, WorkflowNode>): WorkflowNode[];
58
62
 
59
63
  /**
60
64
  * Agent ELO Tier
@@ -68,4 +72,4 @@ type AgentTier = {
68
72
  };
69
73
  declare function getAgentTier(elo: number | undefined): AgentTier;
70
74
 
71
- export { type AgentTier, type LayoutDirection, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateWorkflowGraph };
75
+ export { type AgentTier, type LayoutDirection, type NodeValidationIssue, type ValidationResult, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateGraphNodeConfigs, validateNodeConfig, validateWorkflowGraph };
@@ -1,4 +1,4 @@
1
- import { WorkflowNodeType, LogicNodeConfig, WorkflowGraph } from './contracts.js';
1
+ import { WorkflowNodeType, LogicNodeConfig, WorkflowNode, WorkflowEdge, WorkflowGraph } from './contracts.js';
2
2
  import { Node, Edge } from '@xyflow/react';
3
3
 
4
4
  /**
@@ -28,33 +28,37 @@ declare function createDefaultLogicNodeConfig(nodeType: WorkflowNodeType): Logic
28
28
  /**
29
29
  * Workflow Validator
30
30
  * =================
31
- * Validates the workflow graph before publishing.
32
- * Ensures the graph forms a valid DAG with proper node connections.
31
+ * Localizes validation output inside the UI package while keeping issue codes
32
+ * stable enough for future contract tests against the backend validator.
33
33
  */
34
34
 
35
+ type SupportedLocale = 'en' | 'pt-BR' | 'es' | 'fr' | 'de' | 'it';
36
+ type ValidationParams = Record<string, string | number | undefined>;
37
+ type ValidationLocale = SupportedLocale | string;
38
+ type ValidationIssueCode = 'graph.noAgents' | 'graph.missingSource' | 'graph.missingTarget' | 'graph.orphanNode' | 'graph.toolToNonAgent' | 'graph.ruleNoAgent' | 'graph.cycleDetected' | 'graph.multipleStartNodes' | 'graph.multipleEndNodes' | 'graph.startHasIncoming' | 'graph.endHasOutgoing' | 'graph.iterationNoOutgoing' | 'node.required' | 'node.requiredWhenLanguageSet' | 'node.codeShapeRequired' | 'node.mustBeArray' | 'node.mustBeReferenceArray' | 'node.mustBeNonEmptyReferenceArray' | 'node.assignmentNeedsSourceOrValue' | 'node.invalidAggregationMode' | 'node.invalidListOperation' | 'node.invalidLogicalOperator' | 'node.mustBeNumber' | 'node.invalidHttpMethod' | 'node.providerIdentityRequired' | 'node.inputOrInstructionsRequired' | 'node.invalidExtractionMode' | 'node.unknownType';
39
+ type ValidationIssue = {
40
+ code: ValidationIssueCode;
41
+ message: string;
42
+ params?: ValidationParams;
43
+ };
44
+ type NodeValidationIssue = ValidationIssue & {
45
+ nodeId: string;
46
+ nodeType: string;
47
+ field?: string;
48
+ };
35
49
  type ValidationResult = {
36
50
  valid: boolean;
37
51
  errors: string[];
52
+ issues: ValidationIssue[];
53
+ nodeIssues: NodeValidationIssue[];
38
54
  };
39
- /**
40
- * Validate a workflow graph for publishing.
41
- * Checks:
42
- * - At least one agent node exists
43
- * - All edges have valid source/target nodes
44
- * - No orphan nodes (every node has at least one connection, except note nodes)
45
- * - Tool nodes connect to agent nodes only
46
- * - Agent chain forms a valid DAG (no cycles)
47
- * - Rule nodes have incoming edges from agents
48
- * - Logic node constraints (start/end uniqueness, config validation)
49
- * - New node type validations (answer, question_classifier, parameter_extractor, etc.)
50
- */
51
- declare function validateWorkflowGraph(graph: WorkflowGraph): ValidationResult;
52
- /**
53
- * Topologically sort agent nodes from the graph edges.
54
- * Returns agent entityIds in execution order.
55
- * Logic nodes are skipped — only agent entityIds are returned.
56
- */
57
- declare function topologicalSortAgents(graph: WorkflowGraph): string[];
55
+ type ValidationOptions = {
56
+ locale?: ValidationLocale;
57
+ };
58
+ declare function validateNodeConfig(node: WorkflowNode, options?: ValidationOptions): NodeValidationIssue[];
59
+ declare function validateGraphNodeConfigs(graph: WorkflowGraph, options?: ValidationOptions): NodeValidationIssue[];
60
+ declare function validateWorkflowGraph(graph: WorkflowGraph, options?: ValidationOptions): ValidationResult;
61
+ declare function topologicalSortAgents(agentNodes: WorkflowNode[], edges: WorkflowEdge[], nodeMap: Map<string, WorkflowNode>): WorkflowNode[];
58
62
 
59
63
  /**
60
64
  * Agent ELO Tier
@@ -68,4 +72,4 @@ type AgentTier = {
68
72
  };
69
73
  declare function getAgentTier(elo: number | undefined): AgentTier;
70
74
 
71
- export { type AgentTier, type LayoutDirection, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateWorkflowGraph };
75
+ export { type AgentTier, type LayoutDirection, type NodeValidationIssue, type ValidationResult, applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier, topologicalSortAgents, validateGraphNodeConfigs, validateNodeConfig, validateWorkflowGraph };
@@ -1,18 +1,26 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
4
+ var chunk5UU3RQRB_js = require('../chunk-5UU3RQRB.js');
5
5
  var chunkPWBWP5FJ_js = require('../chunk-PWBWP5FJ.js');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "topologicalSortAgents", {
10
10
  enumerable: true,
11
- get: function () { return chunk3GE3MBUZ_js.topologicalSortAgents; }
11
+ get: function () { return chunk5UU3RQRB_js.topologicalSortAgents; }
12
+ });
13
+ Object.defineProperty(exports, "validateGraphNodeConfigs", {
14
+ enumerable: true,
15
+ get: function () { return chunk5UU3RQRB_js.validateGraphNodeConfigs; }
16
+ });
17
+ Object.defineProperty(exports, "validateNodeConfig", {
18
+ enumerable: true,
19
+ get: function () { return chunk5UU3RQRB_js.validateNodeConfig; }
12
20
  });
13
21
  Object.defineProperty(exports, "validateWorkflowGraph", {
14
22
  enumerable: true,
15
- get: function () { return chunk3GE3MBUZ_js.validateWorkflowGraph; }
23
+ get: function () { return chunk5UU3RQRB_js.validateWorkflowGraph; }
16
24
  });
17
25
  Object.defineProperty(exports, "applyDagreLayout", {
18
26
  enumerable: true,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { topologicalSortAgents, validateWorkflowGraph } from '../chunk-BLNXRUC4.mjs';
2
+ export { topologicalSortAgents, validateGraphNodeConfigs, validateNodeConfig, validateWorkflowGraph } from '../chunk-53SRKVKQ.mjs';
3
3
  export { applyDagreLayout, createDefaultLogicNodeConfig, getAgentTier } from '../chunk-TLPPVL3W.mjs';
4
4
  //# sourceMappingURL=utils.mjs.map
5
5
  //# sourceMappingURL=utils.mjs.map