@charliesu/workflow-core 0.0.1-alpha → 0.0.3-alpha

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.
package/README.md CHANGED
@@ -4,7 +4,10 @@
4
4
  [![npm downloads](https://img.shields.io/npm/dm/@charliesu/workflow-core.svg)](https://www.npmjs.com/package/@charliesu/workflow-core)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- Shared workflow engine for TopFlow and TaraFlow - React Flow based workflow orchestration library.
7
+ Shared workflow validation and type definitions for TopFlow and TaraFlow - React Flow based workflow orchestration library.
8
+
9
+ > **Current Version**: 0.0.2-alpha
10
+ > **Status**: Alpha - API may change
8
11
 
9
12
  ## Installation
10
13
 
@@ -24,44 +27,80 @@ yarn add @charliesu/workflow-core
24
27
 
25
28
  ## Usage
26
29
 
27
- ```typescript
28
- import { WorkflowEngine, WorkflowNode, WorkflowEdge } from '@charliesu/workflow-core';
30
+ ### Workflow Validation
29
31
 
30
- // Define your workflow
31
- const nodes: WorkflowNode[] = [
32
+ ```typescript
33
+ import {
34
+ validateWorkflow,
35
+ validateApiKeys,
36
+ calculateValidationScore,
37
+ getValidationGrade,
38
+ type ValidationIssue
39
+ } from '@charliesu/workflow-core';
40
+ import type { Node, Edge } from '@xyflow/react';
41
+
42
+ // Validate workflow structure
43
+ const nodes: Node[] = [
32
44
  {
33
45
  id: '1',
34
46
  type: 'start',
35
47
  position: { x: 0, y: 0 },
36
- data: { label: 'Start' }
48
+ data: {}
37
49
  },
38
50
  {
39
51
  id: '2',
40
52
  type: 'textModel',
41
53
  position: { x: 200, y: 0 },
42
- data: { model: 'gpt-4', temperature: 0.7 }
54
+ data: { model: 'gpt-4o', temperature: 0.7 }
43
55
  }
44
56
  ];
45
57
 
46
- const edges: WorkflowEdge[] = [
47
- {
48
- id: 'e1-2',
49
- source: '1',
50
- target: '2'
51
- }
58
+ const edges: Edge[] = [
59
+ { id: 'e1-2', source: '1', target: '2' }
52
60
  ];
53
61
 
54
- // Use the workflow engine
55
- // ... (your implementation)
62
+ // Run validation
63
+ const issues: ValidationIssue[] = validateWorkflow(nodes, edges);
64
+
65
+ // Check API keys
66
+ const apiKeys = { openai: 'sk-...' };
67
+ const keyIssues = validateApiKeys(apiKeys, nodes);
68
+
69
+ // Calculate validation score (0-100)
70
+ const score = calculateValidationScore([...issues, ...keyIssues]);
71
+ const grade = getValidationGrade(score); // A, B, C, D, or F
72
+
73
+ console.log(`Validation: ${grade} (${score}/100)`);
74
+ console.log(`Issues:`, issues);
75
+ ```
76
+
77
+ ### ValidationIssue Type
78
+
79
+ ```typescript
80
+ interface ValidationIssue {
81
+ type: 'error' | 'warning' | 'info';
82
+ nodeId?: string; // Optional: specific node with issue
83
+ message: string; // Human-readable error message
84
+ field?: string; // Optional: specific field with issue
85
+ suggestion?: string; // Optional: how to fix
86
+ }
56
87
  ```
57
88
 
58
89
  ## Features
59
90
 
60
- - 🔄 **React Flow Integration** - Built on top of React Flow for visual workflow editing
91
+ - **Workflow Validation** - Comprehensive validation for React Flow workflows
92
+ - Cycle detection (prevents infinite loops)
93
+ - Orphan node detection
94
+ - Missing configuration checks
95
+ - SSRF protection for HTTP nodes
96
+ - 🔐 **Security-First** - Built-in security validations
97
+ - URL safety checks (blocks localhost, private IPs, metadata endpoints)
98
+ - API key validation
99
+ - Protocol restrictions (HTTP/HTTPS only)
100
+ - 📊 **Validation Scoring** - Grade workflows A-F based on issues
61
101
  - 📦 **TypeScript Support** - Full type safety with TypeScript definitions
62
- - 🎯 **Shared Engine** - Common workflow engine for TopFlow and TaraFlow projects
63
- - ⚡ **Type-Safe Workflows** - Strongly typed workflow definitions
64
- - 🔐 **Security-First** - Built with security patterns in mind
102
+ - 🎯 **Shared Library** - Common validation logic for TopFlow and TaraFlow
103
+ - ⚡ **Zero Dependencies** - Only peer dependencies on React and @xyflow/react
65
104
 
66
105
  ## Requirements
67
106
 
@@ -70,10 +109,32 @@ This package has peer dependencies that you need to install:
70
109
  - React >= 19.0.0
71
110
  - React DOM >= 19.0.0
72
111
 
73
- ## Node Types
74
-
75
- The workflow engine supports various node types including:
76
-
112
+ ## Validation Checks
113
+
114
+ ### Structural Validation
115
+ - **Cycle Detection** - Identifies circular dependencies that would cause infinite loops
116
+ - **Orphan Nodes** - Finds disconnected nodes that won't execute
117
+ - **Start Node** - Ensures workflow has an entry point
118
+ - **Unreachable End Nodes** - Detects end nodes with no incoming connections
119
+
120
+ ### Configuration Validation
121
+ Validates node-specific requirements:
122
+ - **Text Model Nodes** - Requires model selection
123
+ - **HTTP Request Nodes** - Requires valid URL, checks for SSRF vulnerabilities
124
+ - **Prompt Nodes** - Warns about empty content
125
+ - **Conditional Nodes** - Requires condition expression
126
+ - **Unused Outputs** - Detects nodes whose output is never used
127
+ - **Long Chains** - Warns about chains >10 nodes deep
128
+
129
+ ### Security Validation
130
+ - **SSRF Prevention** - Blocks requests to:
131
+ - localhost, 127.0.0.1, 0.0.0.0
132
+ - Private IP ranges (10.x, 172.16.x, 192.168.x)
133
+ - Cloud metadata endpoints (AWS, GCP)
134
+ - **Protocol Restrictions** - Only allows HTTP/HTTPS
135
+ - **API Key Validation** - Ensures required provider keys are configured
136
+
137
+ ### Supported Node Types
77
138
  - **Entry/Exit**: `start`, `end`
78
139
  - **AI Nodes**: `textModel`, `embeddingModel`, `imageGeneration`, `audio`
79
140
  - **Data Nodes**: `prompt`, `javascript`, `structuredOutput`
@@ -108,6 +169,38 @@ This package provides the core workflow engine that is shared between:
108
169
 
109
170
  The forked foundation architecture allows both projects to share common workflow logic while maintaining their unique features.
110
171
 
172
+ ## API Reference
173
+
174
+ ### Core Functions
175
+
176
+ - `validateWorkflow(nodes, edges)` - Validates workflow structure and configuration
177
+ - `validateApiKeys(apiKeys, nodes)` - Validates required API keys for nodes
178
+ - `calculateValidationScore(issues)` - Calculates 0-100 score from issues
179
+ - `getValidationGrade(score)` - Converts score to letter grade (A-F)
180
+ - `isUrlSafe(url)` - Checks if URL is safe (no SSRF)
181
+ - `detectCycles(nodes, edges)` - Finds circular dependencies
182
+
183
+ ### Types
184
+
185
+ - `ValidationIssue` - Validation error/warning/info object
186
+ - `ValidationIssueType` - Type literal: `'error' | 'warning' | 'info'`
187
+
188
+ ## Changelog
189
+
190
+ ### 0.0.2-alpha (2026-01-12)
191
+ - **Breaking**: Updated `ValidationIssue` interface
192
+ - Removed: `id`, `title`, `description`, `nodeIds[]`, `fixable`
193
+ - Added: `message` (combined title+description), `nodeId?` (single node), `field?`, `suggestion?`
194
+ - Improved validation messages with actionable suggestions
195
+ - Consolidated duplicate type definitions
196
+ - Fixed type exports for better IDE support
197
+
198
+ ### 0.0.1-alpha (2026-01-11)
199
+ - Initial alpha release
200
+ - Core validation functions
201
+ - TypeScript type definitions
202
+ - SSRF protection
203
+
111
204
  ## Contributing
112
205
 
113
206
  Contributions are welcome! Please feel free to submit a Pull Request.
@@ -1,12 +1,5 @@
1
1
  import type { Node, Edge } from "@xyflow/react";
2
- export type ValidationIssue = {
3
- id: string;
4
- type: "error" | "warning" | "info";
5
- title: string;
6
- description: string;
7
- nodeIds: string[];
8
- fixable: boolean;
9
- };
2
+ import type { ValidationIssue } from "../types/validation";
10
3
  export declare function isUrlSafe(url: string): boolean;
11
4
  export declare function detectCycles(nodes: Node[], edges: Edge[]): string[][];
12
5
  export declare function validateWorkflow(nodes: Node[], edges: Edge[]): ValidationIssue[];
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAaD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAsB9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,EAAE,CA+CrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CA6LhF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CA6BjG;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAa1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxD"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAa1D,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA2B9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,EAAE,CA+CrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAgLhF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CA2BjG;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAa1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxD"}
@@ -9,6 +9,9 @@ const BLOCKED_HOSTS = [
9
9
  "192.168.",
10
10
  ];
11
11
  export function isUrlSafe(url) {
12
+ if (url.startsWith('/')) {
13
+ return true;
14
+ }
12
15
  try {
13
16
  const parsed = new URL(url);
14
17
  const hostname = parsed.hostname.toLowerCase();
@@ -70,14 +73,12 @@ export function validateWorkflow(nodes, edges) {
70
73
  const issues = [];
71
74
  const cycles = detectCycles(nodes, edges);
72
75
  if (cycles.length > 0) {
73
- cycles.forEach((cycle, index) => {
76
+ cycles.forEach((cycle) => {
74
77
  issues.push({
75
- id: `cycle-${index}`,
76
78
  type: "error",
77
- title: "Cycle Detected",
78
- description: `Infinite loop detected. Execution will never complete.`,
79
- nodeIds: cycle,
80
- fixable: false,
79
+ nodeId: cycle[0],
80
+ message: `Cycle detected - Infinite loop found involving nodes: ${cycle.join(' → ')}`,
81
+ suggestion: "Remove connections that create circular dependencies"
81
82
  });
82
83
  });
83
84
  }
@@ -88,24 +89,21 @@ export function validateWorkflow(nodes, edges) {
88
89
  });
89
90
  const orphanNodes = nodes.filter((node) => !connectedNodes.has(node.id) && node.type !== "start" && nodes.length > 1);
90
91
  if (orphanNodes.length > 0) {
91
- issues.push({
92
- id: "orphan-nodes",
93
- type: "warning",
94
- title: `${orphanNodes.length} Orphan Node${orphanNodes.length > 1 ? "s" : ""}`,
95
- description: "These nodes are not connected to the workflow and will not execute.",
96
- nodeIds: orphanNodes.map((n) => n.id),
97
- fixable: true,
92
+ orphanNodes.forEach((node) => {
93
+ issues.push({
94
+ type: "warning",
95
+ nodeId: node.id,
96
+ message: "Orphan node - Not connected to workflow and will not execute",
97
+ suggestion: "Connect this node to the workflow or remove it"
98
+ });
98
99
  });
99
100
  }
100
101
  const hasStartNode = nodes.some((node) => node.type === "start");
101
102
  if (!hasStartNode && nodes.length > 0) {
102
103
  issues.push({
103
- id: "no-start-node",
104
104
  type: "warning",
105
- title: "No Start Node",
106
- description: "Add a Start node to define the workflow entry point.",
107
- nodeIds: [],
108
- fixable: false,
105
+ message: "No Start node - Workflow needs an entry point",
106
+ suggestion: "Add a Start node to define where execution begins"
109
107
  });
110
108
  }
111
109
  const endNodes = nodes.filter((node) => node.type === "end");
@@ -113,12 +111,10 @@ export function validateWorkflow(nodes, edges) {
113
111
  const hasPath = edges.some((edge) => edge.target === endNode.id);
114
112
  if (!hasPath && nodes.length > 1) {
115
113
  issues.push({
116
- id: `unreachable-end-${endNode.id}`,
117
114
  type: "warning",
118
- title: "Unreachable End Node",
119
- description: "This end node cannot be reached from any other node.",
120
- nodeIds: [endNode.id],
121
- fixable: false,
115
+ nodeId: endNode.id,
116
+ message: "Unreachable End node - Cannot be reached from any other node",
117
+ suggestion: "Connect this node to the workflow or remove it"
122
118
  });
123
119
  }
124
120
  });
@@ -128,58 +124,53 @@ export function validateWorkflow(nodes, edges) {
128
124
  case "textModel":
129
125
  if (!data.model) {
130
126
  issues.push({
131
- id: `missing-model-${node.id}`,
132
127
  type: "error",
133
- title: "Missing Model Configuration",
134
- description: "Text Model node requires a model to be selected.",
135
- nodeIds: [node.id],
136
- fixable: false,
128
+ nodeId: node.id,
129
+ field: "model",
130
+ message: "Text Model node requires a model to be selected",
131
+ suggestion: "Select an AI model from the configuration panel"
137
132
  });
138
133
  }
139
134
  break;
140
135
  case "httpRequest":
141
136
  if (!data.url) {
142
137
  issues.push({
143
- id: `missing-url-${node.id}`,
144
138
  type: "error",
145
- title: "Missing URL",
146
- description: "HTTP Request node requires a URL.",
147
- nodeIds: [node.id],
148
- fixable: false,
139
+ nodeId: node.id,
140
+ field: "url",
141
+ message: "HTTP Request node requires a URL",
142
+ suggestion: "Enter a valid HTTP or HTTPS URL"
149
143
  });
150
144
  }
151
145
  else if (!isUrlSafe(data.url)) {
152
146
  issues.push({
153
- id: `unsafe-url-${node.id}`,
154
147
  type: "error",
155
- title: "Unsafe URL Detected",
156
- description: "URL points to private network or uses an unsupported protocol. Only public HTTP/HTTPS endpoints are allowed.",
157
- nodeIds: [node.id],
158
- fixable: false,
148
+ nodeId: node.id,
149
+ field: "url",
150
+ message: "Unsafe URL - Points to private network or uses unsupported protocol",
151
+ suggestion: "Only public HTTP/HTTPS endpoints are allowed. Avoid localhost, private IPs, and metadata endpoints"
159
152
  });
160
153
  }
161
154
  break;
162
155
  case "prompt":
163
156
  if (!data.content) {
164
157
  issues.push({
165
- id: `missing-prompt-${node.id}`,
166
158
  type: "warning",
167
- title: "Empty Prompt",
168
- description: "Prompt node has no content.",
169
- nodeIds: [node.id],
170
- fixable: false,
159
+ nodeId: node.id,
160
+ field: "content",
161
+ message: "Prompt node has no content",
162
+ suggestion: "Add prompt text or template"
171
163
  });
172
164
  }
173
165
  break;
174
166
  case "conditional":
175
167
  if (!data.condition) {
176
168
  issues.push({
177
- id: `missing-condition-${node.id}`,
178
169
  type: "error",
179
- title: "Missing Condition",
180
- description: "Conditional node requires a condition expression.",
181
- nodeIds: [node.id],
182
- fixable: false,
170
+ nodeId: node.id,
171
+ field: "condition",
172
+ message: "Conditional node requires a condition expression",
173
+ suggestion: "Add a JavaScript expression that returns true or false"
183
174
  });
184
175
  }
185
176
  break;
@@ -188,13 +179,13 @@ export function validateWorkflow(nodes, edges) {
188
179
  const targetNodes = new Set(edges.map((e) => e.target));
189
180
  const unusedOutputs = nodes.filter((node) => !targetNodes.has(node.id) && node.type !== "end" && nodes.length > 1);
190
181
  if (unusedOutputs.length > 0) {
191
- issues.push({
192
- id: "unused-outputs",
193
- type: "info",
194
- title: `${unusedOutputs.length} Node${unusedOutputs.length > 1 ? "s" : ""} with Unused Outputs`,
195
- description: "These nodes have outputs that are not connected to any other nodes.",
196
- nodeIds: unusedOutputs.map((n) => n.id),
197
- fixable: false,
182
+ unusedOutputs.forEach((node) => {
183
+ issues.push({
184
+ type: "info",
185
+ nodeId: node.id,
186
+ message: "Node output not connected - Result will not be used",
187
+ suggestion: "Connect to another node or add an End node"
188
+ });
198
189
  });
199
190
  }
200
191
  const chainLengths = new Map();
@@ -218,13 +209,13 @@ export function validateWorkflow(nodes, edges) {
218
209
  return length > 10;
219
210
  });
220
211
  if (longChains.length > 0) {
221
- issues.push({
222
- id: "long-chains",
223
- type: "info",
224
- title: "Long Execution Chains Detected",
225
- description: "Consider adding checkpoints or breaking long chains into smaller workflows for better debugging.",
226
- nodeIds: longChains.map((n) => n.id),
227
- fixable: false,
212
+ longChains.forEach((node) => {
213
+ issues.push({
214
+ type: "info",
215
+ nodeId: node.id,
216
+ message: "Long execution chain detected (>10 nodes deep)",
217
+ suggestion: "Consider breaking into smaller workflows or adding checkpoints for better debugging"
218
+ });
228
219
  });
229
220
  }
230
221
  return issues;
@@ -245,12 +236,10 @@ export function validateApiKeys(apiKeys, nodes) {
245
236
  requiredProviders.forEach((provider) => {
246
237
  if (!apiKeys[provider] || apiKeys[provider].trim() === "") {
247
238
  issues.push({
248
- id: `missing-api-key-${provider}`,
249
239
  type: "error",
250
- title: `Missing ${provider.charAt(0).toUpperCase() + provider.slice(1)} API Key`,
251
- description: `Your workflow uses ${provider} models but no API key is configured. Click API Keys to add it.`,
252
- nodeIds: [],
253
- fixable: true,
240
+ message: `Missing ${provider.charAt(0).toUpperCase() + provider.slice(1)} API Key - Workflow uses ${provider} models but no key is configured`,
241
+ field: provider,
242
+ suggestion: "Click API Keys to add your credentials"
254
243
  });
255
244
  }
256
245
  });
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@charliesu/workflow-core",
3
- "version": "0.0.1-alpha",
3
+ "version": "0.0.3-alpha",
4
4
  "description": "Shared workflow engine for TopFlow and TaraFlow - React Flow based workflow orchestration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",