@ai.ntellect/core 0.7.6 → 0.7.7

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.
@@ -11,7 +11,6 @@ export declare class GraphController {
11
11
  * Executes multiple graphs sequentially
12
12
  * @param graphs - Array of GraphFlow instances to execute
13
13
  * @param startNodes - Array of starting node identifiers for each graph
14
- * @param inputs - Optional array of additional inputs for each graph
15
14
  * @param params - Optional array of node parameters for each graph
16
15
  * @returns Map containing results of each graph execution, keyed by graph name and index
17
16
  * @template T - Zod schema type for graph context validation
@@ -23,10 +22,10 @@ export declare class GraphController {
23
22
  * @param graphs - Array of GraphFlow instances to execute
24
23
  * @param startNodes - Array of starting node identifiers for each graph
25
24
  * @param concurrency - Optional limit on number of concurrent graph executions
26
- * @param inputs - Optional array of additional inputs for each graph
25
+ * @param params - Optional array of node parameters for each graph
27
26
  * @returns Map containing results of each graph execution, keyed by graph name
28
27
  * @template T - Zod schema type for graph context validation
29
28
  */
30
- static executeParallel<T extends ZodSchema>(graphs: GraphFlow<T>[], startNodes: string[], concurrency: number, inputs?: any[]): Promise<GraphContext<T>[]>;
29
+ static executeParallel<T extends ZodSchema>(graphs: GraphFlow<T>[], startNodes: string[], concurrency: number, params?: NodeParams[]): Promise<GraphContext<T>[]>;
31
30
  }
32
31
  //# sourceMappingURL=controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../graph/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;OAQG;WACU,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAChD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EACtB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,GAAG,EAAE,CAAC;mBAaI,YAAY;IAYjC;;;;;;;;OAQG;WACU,eAAe,CAAC,CAAC,SAAS,SAAS,EAC9C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EACtB,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;CAgB9B"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../graph/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;WACU,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAChD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EACtB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,GAAG,EAAE,CAAC;mBASI,YAAY;IAYjC;;;;;;;;OAQG;WACU,eAAe,CAAC,CAAC,SAAS,SAAS,EAC9C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EACtB,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;CAgB9B"}
@@ -19,7 +19,6 @@ class GraphController {
19
19
  * Executes multiple graphs sequentially
20
20
  * @param graphs - Array of GraphFlow instances to execute
21
21
  * @param startNodes - Array of starting node identifiers for each graph
22
- * @param inputs - Optional array of additional inputs for each graph
23
22
  * @param params - Optional array of node parameters for each graph
24
23
  * @returns Map containing results of each graph execution, keyed by graph name and index
25
24
  * @template T - Zod schema type for graph context validation
@@ -28,7 +27,7 @@ class GraphController {
28
27
  return __awaiter(this, void 0, void 0, function* () {
29
28
  const results = new Map();
30
29
  for (let i = 0; i < graphs.length; i++) {
31
- const result = yield graphs[i].execute(startNodes[i], params === null || params === void 0 ? void 0 : params[i], undefined);
30
+ const result = yield graphs[i].execute(startNodes[i], params === null || params === void 0 ? void 0 : params[i]);
32
31
  results.set(`${graphs[i].name}-${i}`, result);
33
32
  }
34
33
  return Array.from(results.values());
@@ -49,18 +48,18 @@ class GraphController {
49
48
  * @param graphs - Array of GraphFlow instances to execute
50
49
  * @param startNodes - Array of starting node identifiers for each graph
51
50
  * @param concurrency - Optional limit on number of concurrent graph executions
52
- * @param inputs - Optional array of additional inputs for each graph
51
+ * @param params - Optional array of node parameters for each graph
53
52
  * @returns Map containing results of each graph execution, keyed by graph name
54
53
  * @template T - Zod schema type for graph context validation
55
54
  */
56
- static executeParallel(graphs, startNodes, concurrency, inputs) {
55
+ static executeParallel(graphs, startNodes, concurrency, params) {
57
56
  return __awaiter(this, void 0, void 0, function* () {
58
57
  const results = [];
59
58
  for (let i = 0; i < graphs.length; i += concurrency) {
60
59
  const batch = graphs.slice(i, i + concurrency);
61
60
  const batchResults = yield Promise.all(batch.map((graph, idx) => {
62
- const input = inputs === null || inputs === void 0 ? void 0 : inputs[i + idx];
63
- return this.executeGraph(graph, startNodes[i + idx], input);
61
+ const param = params === null || params === void 0 ? void 0 : params[i + idx];
62
+ return this.executeGraph(graph, startNodes[i + idx], param);
64
63
  }));
65
64
  results.push(...batchResults);
66
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../graph/controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA;;;GAGG;AACH,MAAa,eAAe;IAC1B;;;;;;;;OAQG;IACH,MAAM,CAAO,iBAAiB,CAC5B,MAAsB,EACtB,UAAoB,EACpB,MAAqB;;YAErB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CACpC,UAAU,CAAC,CAAC,CAAC,EACb,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,EACX,SAAS,CACV,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC;KAAA;IAEO,MAAM,CAAO,YAAY,CAC/B,KAAmB,EACnB,SAAiB,EACjB,MAAmB;;YAEnB,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;OAQG;IACH,MAAM,CAAO,eAAe,CAC1B,MAAsB,EACtB,UAAoB,EACpB,WAAmB,EACnB,MAAc;;YAEd,MAAM,OAAO,GAAsB,EAAE,CAAC;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;gBAC/C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACvB,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBAChC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CACF;AArED,0CAqEC"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../graph/controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA;;;GAGG;AACH,MAAa,eAAe;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAO,iBAAiB,CAC5B,MAAsB,EACtB,UAAoB,EACpB,MAAqB;;YAErB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC;KAAA;IAEO,MAAM,CAAO,YAAY,CAC/B,KAAmB,EACnB,SAAiB,EACjB,MAAmB;;YAEnB,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;OAQG;IACH,MAAM,CAAO,eAAe,CAC1B,MAAsB,EACtB,UAAoB,EACpB,WAAmB,EACnB,MAAqB;;YAErB,MAAM,OAAO,GAAsB,EAAE,CAAC;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;gBAC/C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACvB,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBAChC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CACF;AAhED,0CAgEC"}
@@ -166,8 +166,8 @@ class GraphFlow {
166
166
  const node = this.nodes.get(startNode);
167
167
  if (!node)
168
168
  throw new Error(`Node "${startNode}" not found`);
169
- if (node.inputs && !params) {
170
- throw new Error(`Inputs required for node "${startNode}"`);
169
+ if (node.params && !params) {
170
+ throw new Error(`Params required for node "${startNode}"`);
171
171
  }
172
172
  yield this.nodeExecutor.executeNode(startNode, this.context, params, false);
173
173
  this.eventEmitter.emit("graphCompleted", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BehaviorSubject, Subject } from "rxjs";
2
2
  import { ZodSchema } from "zod";
3
- import { GraphContext, GraphEvent } from "../types";
3
+ import { GraphContext, GraphEvent, Node } from "../types";
4
4
  import { GraphEventManager } from "./event-manager";
5
5
  /**
6
6
  * Represents a node in the graph that can execute operations and manage state
@@ -9,28 +9,6 @@ import { GraphEventManager } from "./event-manager";
9
9
  export interface NodeParams<T = any> {
10
10
  [key: string]: T;
11
11
  }
12
- export interface Node<T extends ZodSchema, I = any> {
13
- condition?: (context: GraphContext<T>, params?: NodeParams) => boolean;
14
- execute: (context: GraphContext<T>, inputs: I, params?: NodeParams) => Promise<void>;
15
- next?: string[] | ((context: GraphContext<T>) => string[]);
16
- inputs?: ZodSchema;
17
- outputs?: ZodSchema;
18
- retry?: {
19
- maxAttempts: number;
20
- delay?: number;
21
- onRetryFailed?: (error: Error, context: GraphContext<T>) => Promise<void>;
22
- continueOnFailed?: boolean;
23
- };
24
- correlateEvents?: {
25
- events: string[];
26
- timeout?: number;
27
- correlation: (events: GraphEvent<T>[]) => boolean;
28
- };
29
- waitForEvents?: {
30
- events: string[];
31
- timeout: number;
32
- };
33
- }
34
12
  export interface GraphLogger {
35
13
  addLog: (message: string, data?: any) => void;
36
14
  }
@@ -61,29 +39,20 @@ export declare class GraphNode<T extends ZodSchema> {
61
39
  * Executes a node with the given name and context
62
40
  * @param nodeName - The name of the node to execute
63
41
  * @param context - The current graph context
64
- * @param inputs - Input data for the node
42
+ * @param params - Input data for the node
65
43
  * @param triggeredByEvent - Whether the execution was triggered by an event
66
44
  * @throws Error if the node is not found or execution fails
67
45
  */
68
- executeNode(nodeName: string, context: GraphContext<T>, inputs: any, triggeredByEvent?: boolean): Promise<void>;
46
+ executeNode(nodeName: string, context: GraphContext<T>, params: any, triggeredByEvent?: boolean): Promise<void>;
69
47
  /**
70
- * Validates the inputs for a node using its schema
71
- * @param node - The node whose inputs need validation
72
- * @param inputs - The input data to validate
73
- * @param nodeName - The name of the node (for error messages)
74
- * @throws Error if validation fails
75
- * @private
76
- */
77
- private validateInputs;
78
- /**
79
- * Validates the outputs of a node against its schema
80
- * @param node - The node whose outputs need validation
81
- * @param context - The current graph context
48
+ * Validates the params for a node using its schema
49
+ * @param node - The node whose params need validation
50
+ * @param params - The input data to validate
82
51
  * @param nodeName - The name of the node (for error messages)
83
52
  * @throws Error if validation fails
84
53
  * @private
85
54
  */
86
- private validateOutputs;
55
+ private validateParams;
87
56
  /**
88
57
  * Handles event-related operations for a node
89
58
  * @param node - The node whose events need handling
@@ -96,8 +65,9 @@ export declare class GraphNode<T extends ZodSchema> {
96
65
  * Executes a node with retry logic
97
66
  * @param node - The node to execute
98
67
  * @param contextProxy - The proxied graph context
99
- * @param inputs - Input data for the node
68
+ * @param params - Input data for the node
100
69
  * @param nodeName - The name of the node
70
+ * @param params - Parameters for the node
101
71
  * @throws Error if all retry attempts fail
102
72
  * @private
103
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,GAAG;IAChD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;IACvE,OAAO,EAAE,CACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,EACT,MAAM,CAAC,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;KACnD,CAAC;IACF,aAAa,CAAC,EAAE;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/C;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS;IAYtC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IAftB,OAAO,CAAC,cAAc,CAA8B;IAEpD;;;;;;;OAOG;gBAEO,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAClC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACpC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAGxD;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA+BjB;;;;;;;OAOG;IACU,WAAW,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,GAAG,EACX,gBAAgB,GAAE,OAAe,GAChC,OAAO,CAAC,IAAI,CAAC;IAqDhB;;;;;;;OAOG;YACW,cAAc;IAkB5B;;;;;;;OAOG;YACW,eAAe;IAgB7B;;;;;;OAMG;YACW,YAAY;IAc1B;;;;;;;;OAQG;YACW,gBAAgB;IAwD9B;;;;;;OAMG;YACW,sBAAsB;IAuCpC;;;;;;OAMG;YACW,mBAAmB;CAalC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/C;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS;IAYtC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IAftB,OAAO,CAAC,cAAc,CAA8B;IAEpD;;;;;;;OAOG;gBAEO,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAClC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACpC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAGxD;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA+BjB;;;;;;;OAOG;IACU,WAAW,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,GAAG,EACX,gBAAgB,GAAE,OAAe,GAChC,OAAO,CAAC,IAAI,CAAC;IAqDhB;;;;;;;OAOG;YACW,cAAc;IAoB5B;;;;;;OAMG;YACW,YAAY;IAc1B;;;;;;;;;OASG;YACW,gBAAgB;IAwC9B;;;;;;OAMG;YACW,sBAAsB;IAuCpC;;;;;;OAMG;YACW,mBAAmB;CAalC"}
@@ -59,12 +59,12 @@ class GraphNode {
59
59
  * Executes a node with the given name and context
60
60
  * @param nodeName - The name of the node to execute
61
61
  * @param context - The current graph context
62
- * @param inputs - Input data for the node
62
+ * @param params - Input data for the node
63
63
  * @param triggeredByEvent - Whether the execution was triggered by an event
64
64
  * @throws Error if the node is not found or execution fails
65
65
  */
66
- executeNode(nodeName_1, context_1, inputs_1) {
67
- return __awaiter(this, arguments, void 0, function* (nodeName, context, inputs, triggeredByEvent = false) {
66
+ executeNode(nodeName_1, context_1, params_1) {
67
+ return __awaiter(this, arguments, void 0, function* (nodeName, context, params, triggeredByEvent = false) {
68
68
  const node = this.nodes.get(nodeName);
69
69
  if (!node)
70
70
  throw new Error(`Node "${nodeName}" not found.`);
@@ -90,10 +90,10 @@ class GraphNode {
90
90
  return true;
91
91
  },
92
92
  });
93
- if (node.condition && !node.condition(contextProxy, inputs)) {
93
+ if (node.condition && !node.condition(contextProxy, params)) {
94
94
  return;
95
95
  }
96
- yield this.executeWithRetry(node, contextProxy, inputs, nodeName);
96
+ yield this.executeWithRetry(node, contextProxy, nodeName, params);
97
97
  this.emitEvent("nodeCompleted", { name: nodeName, context: nodeContext });
98
98
  if (!triggeredByEvent && node.next) {
99
99
  const nextNodes = typeof node.next === "function" ? node.next(contextProxy) : node.next;
@@ -113,45 +113,28 @@ class GraphNode {
113
113
  });
114
114
  }
115
115
  /**
116
- * Validates the inputs for a node using its schema
117
- * @param node - The node whose inputs need validation
118
- * @param inputs - The input data to validate
116
+ * Validates the params for a node using its schema
117
+ * @param node - The node whose params need validation
118
+ * @param params - The input data to validate
119
119
  * @param nodeName - The name of the node (for error messages)
120
120
  * @throws Error if validation fails
121
121
  * @private
122
122
  */
123
- validateInputs(node, inputs, nodeName) {
123
+ validateParams(node, params, nodeName) {
124
124
  return __awaiter(this, void 0, void 0, function* () {
125
125
  var _a, _b;
126
- if (!inputs) {
127
- throw new Error(`Inputs required for node "${nodeName}"`);
126
+ // Si pas de schéma de validation ou si le schéma est optionnel, accepter n'importe quels params
127
+ if (!node.params || ((_b = (_a = node.params).isOptional) === null || _b === void 0 ? void 0 : _b.call(_a)))
128
+ return;
129
+ // Vérifier les params uniquement si un schéma est défini et non optionnel
130
+ if (!params) {
131
+ throw new Error(`Params required for node "${nodeName}"`);
128
132
  }
129
133
  try {
130
- return node.inputs.parse(inputs);
134
+ return node.params.parse(params);
131
135
  }
132
136
  catch (error) {
133
- throw new Error(((_b = (_a = error.errors) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) || error.message || "Input validation failed");
134
- }
135
- });
136
- }
137
- /**
138
- * Validates the outputs of a node against its schema
139
- * @param node - The node whose outputs need validation
140
- * @param context - The current graph context
141
- * @param nodeName - The name of the node (for error messages)
142
- * @throws Error if validation fails
143
- * @private
144
- */
145
- validateOutputs(node, context, nodeName) {
146
- return __awaiter(this, void 0, void 0, function* () {
147
- var _a, _b;
148
- try {
149
- node.outputs.parse(context);
150
- }
151
- catch (error) {
152
- throw new Error(((_b = (_a = error.errors) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) ||
153
- error.message ||
154
- "Output validation failed");
137
+ throw error;
155
138
  }
156
139
  });
157
140
  }
@@ -176,40 +159,24 @@ class GraphNode {
176
159
  * Executes a node with retry logic
177
160
  * @param node - The node to execute
178
161
  * @param contextProxy - The proxied graph context
179
- * @param inputs - Input data for the node
162
+ * @param params - Input data for the node
180
163
  * @param nodeName - The name of the node
164
+ * @param params - Parameters for the node
181
165
  * @throws Error if all retry attempts fail
182
166
  * @private
183
167
  */
184
- executeWithRetry(node, contextProxy, inputs, nodeName) {
168
+ executeWithRetry(node, contextProxy, nodeName, params) {
185
169
  return __awaiter(this, void 0, void 0, function* () {
186
- var _a, _b, _c, _d, _e, _f, _g;
170
+ var _a, _b, _c;
187
171
  let attempts = 0;
188
172
  let lastError = new Error("Unknown error");
189
173
  while (attempts < (((_a = node.retry) === null || _a === void 0 ? void 0 : _a.maxAttempts) || 1)) {
190
174
  try {
191
- // Validation des inputs
192
- if (node.inputs) {
193
- try {
194
- node.inputs.parse(inputs);
195
- }
196
- catch (error) {
197
- const message = ((_c = (_b = error.errors) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.message) || error.message;
198
- throw new Error(`Input validation failed: ${message}`);
199
- }
200
- }
201
- // Exécution du node
202
- yield node.execute(contextProxy, inputs);
203
- // Validation des outputs
204
- if (node.outputs) {
205
- try {
206
- node.outputs.parse(contextProxy);
207
- }
208
- catch (error) {
209
- const message = ((_e = (_d = error.errors) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.message) || error.message;
210
- throw new Error(`Output validation failed: ${message}`);
211
- }
175
+ // Valider les params uniquement si un schéma est défini
176
+ if (node.params) {
177
+ yield this.validateParams(node, params, nodeName);
212
178
  }
179
+ yield node.execute(contextProxy, params);
213
180
  return;
214
181
  }
215
182
  catch (error) {
@@ -218,8 +185,8 @@ class GraphNode {
218
185
  ? error
219
186
  : new Error((error === null || error === void 0 ? void 0 : error.message) || "Unknown error");
220
187
  attempts++;
221
- if (attempts === (((_f = node.retry) === null || _f === void 0 ? void 0 : _f.maxAttempts) || 1)) {
222
- if ((_g = node.retry) === null || _g === void 0 ? void 0 : _g.onRetryFailed) {
188
+ if (attempts === (((_b = node.retry) === null || _b === void 0 ? void 0 : _b.maxAttempts) || 1)) {
189
+ if ((_c = node.retry) === null || _c === void 0 ? void 0 : _c.onRetryFailed) {
223
190
  yield node.retry.onRetryFailed(lastError, contextProxy);
224
191
  if (node.retry.continueOnFailed)
225
192
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"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"}
@@ -69,10 +69,10 @@ export type GraphContext<T> = SchemaType<T>;
69
69
  export interface Node<T extends ZodSchema, I = any> {
70
70
  /** Name of the node */
71
71
  name: string;
72
+ /** Description of the node */
73
+ description?: string;
72
74
  /** Schema for node inputs */
73
- inputs?: I extends void ? never : ZodSchema<I>;
74
- /** Schema for node outputs */
75
- outputs?: ZodSchema;
75
+ params?: I extends void ? never : ZodSchema<I>;
76
76
  /** Execute function for the node */
77
77
  execute: (context: GraphContext<T>, params?: I) => Promise<void>;
78
78
  /** Optional condition for node execution */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ const generateActionSchema = (graphs) => {
6
6
  return graphs
7
7
  .map((graph) => {
8
8
  const rootNode = Array.from(graph.nodes.values())[0];
9
- const schemaStr = rootNode.inputs
10
- ? (0, exports.getSchemaString)(rootNode.inputs)
9
+ const schemaStr = rootNode.params
10
+ ? (0, exports.getSchemaString)(rootNode.params)
11
11
  : "No parameters";
12
12
  return `Workflow: ${graph.name}\nParameters: ${schemaStr}`;
13
13
  })
@@ -12,7 +12,6 @@ export class GraphController {
12
12
  * Executes multiple graphs sequentially
13
13
  * @param graphs - Array of GraphFlow instances to execute
14
14
  * @param startNodes - Array of starting node identifiers for each graph
15
- * @param inputs - Optional array of additional inputs for each graph
16
15
  * @param params - Optional array of node parameters for each graph
17
16
  * @returns Map containing results of each graph execution, keyed by graph name and index
18
17
  * @template T - Zod schema type for graph context validation
@@ -24,11 +23,7 @@ export class GraphController {
24
23
  ): Promise<any[]> {
25
24
  const results = new Map<string, GraphContext<T>>();
26
25
  for (let i = 0; i < graphs.length; i++) {
27
- const result = await graphs[i].execute(
28
- startNodes[i],
29
- params?.[i],
30
- undefined
31
- );
26
+ const result = await graphs[i].execute(startNodes[i], params?.[i]);
32
27
  results.set(`${graphs[i].name}-${i}`, result);
33
28
  }
34
29
  return Array.from(results.values());
@@ -51,7 +46,7 @@ export class GraphController {
51
46
  * @param graphs - Array of GraphFlow instances to execute
52
47
  * @param startNodes - Array of starting node identifiers for each graph
53
48
  * @param concurrency - Optional limit on number of concurrent graph executions
54
- * @param inputs - Optional array of additional inputs for each graph
49
+ * @param params - Optional array of node parameters for each graph
55
50
  * @returns Map containing results of each graph execution, keyed by graph name
56
51
  * @template T - Zod schema type for graph context validation
57
52
  */
@@ -59,7 +54,7 @@ export class GraphController {
59
54
  graphs: GraphFlow<T>[],
60
55
  startNodes: string[],
61
56
  concurrency: number,
62
- inputs?: any[]
57
+ params?: NodeParams[]
63
58
  ): Promise<GraphContext<T>[]> {
64
59
  const results: GraphContext<T>[] = [];
65
60
 
@@ -67,8 +62,8 @@ export class GraphController {
67
62
  const batch = graphs.slice(i, i + concurrency);
68
63
  const batchResults = await Promise.all(
69
64
  batch.map((graph, idx) => {
70
- const input = inputs?.[i + idx];
71
- return this.executeGraph(graph, startNodes[i + idx], input);
65
+ const param = params?.[i + idx];
66
+ return this.executeGraph(graph, startNodes[i + idx], param);
72
67
  })
73
68
  );
74
69
  results.push(...batchResults);
package/graph/index.ts CHANGED
@@ -75,7 +75,7 @@ export class GraphFlow<T extends ZodSchema> {
75
75
  config.onError
76
76
  );
77
77
  this.nodeExecutor = new GraphNode(
78
- this.nodes as Map<string, import("./node").Node<T, any>>,
78
+ this.nodes as Map<string, Node<T, any>>,
79
79
  this.logger,
80
80
  this.eventManager,
81
81
  this.eventSubject,
@@ -236,8 +236,8 @@ export class GraphFlow<T extends ZodSchema> {
236
236
  const node = this.nodes.get(startNode);
237
237
  if (!node) throw new Error(`Node "${startNode}" not found`);
238
238
 
239
- if (node.inputs && !params) {
240
- throw new Error(`Inputs required for node "${startNode}"`);
239
+ if (node.params && !params) {
240
+ throw new Error(`Params required for node "${startNode}"`);
241
241
  }
242
242
 
243
243
  await this.nodeExecutor.executeNode(
package/graph/node.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BehaviorSubject, Subject } from "rxjs";
2
2
  import { ZodSchema } from "zod";
3
- import { GraphContext, GraphEvent } from "../types";
3
+ import { GraphContext, GraphEvent, Node } from "../types";
4
4
  import { GraphEventManager } from "./event-manager";
5
5
 
6
6
  /**
@@ -11,33 +11,6 @@ export interface NodeParams<T = any> {
11
11
  [key: string]: T;
12
12
  }
13
13
 
14
- export interface Node<T extends ZodSchema, I = any> {
15
- condition?: (context: GraphContext<T>, params?: NodeParams) => boolean;
16
- execute: (
17
- context: GraphContext<T>,
18
- inputs: I,
19
- params?: NodeParams
20
- ) => Promise<void>;
21
- next?: string[] | ((context: GraphContext<T>) => string[]);
22
- inputs?: ZodSchema;
23
- outputs?: ZodSchema;
24
- retry?: {
25
- maxAttempts: number;
26
- delay?: number;
27
- onRetryFailed?: (error: Error, context: GraphContext<T>) => Promise<void>;
28
- continueOnFailed?: boolean;
29
- };
30
- correlateEvents?: {
31
- events: string[];
32
- timeout?: number;
33
- correlation: (events: GraphEvent<T>[]) => boolean;
34
- };
35
- waitForEvents?: {
36
- events: string[];
37
- timeout: number;
38
- };
39
- }
40
-
41
14
  export interface GraphLogger {
42
15
  addLog: (message: string, data?: any) => void;
43
16
  }
@@ -102,14 +75,14 @@ export class GraphNode<T extends ZodSchema> {
102
75
  * Executes a node with the given name and context
103
76
  * @param nodeName - The name of the node to execute
104
77
  * @param context - The current graph context
105
- * @param inputs - Input data for the node
78
+ * @param params - Input data for the node
106
79
  * @param triggeredByEvent - Whether the execution was triggered by an event
107
80
  * @throws Error if the node is not found or execution fails
108
81
  */
109
82
  public async executeNode(
110
83
  nodeName: string,
111
84
  context: GraphContext<T>,
112
- inputs: any,
85
+ params: any,
113
86
  triggeredByEvent: boolean = false
114
87
  ): Promise<void> {
115
88
  const node = this.nodes.get(nodeName);
@@ -140,11 +113,11 @@ export class GraphNode<T extends ZodSchema> {
140
113
  },
141
114
  });
142
115
 
143
- if (node.condition && !node.condition(contextProxy, inputs)) {
116
+ if (node.condition && !node.condition(contextProxy, params)) {
144
117
  return;
145
118
  }
146
119
 
147
- await this.executeWithRetry(node, contextProxy, inputs, nodeName);
120
+ await this.executeWithRetry(node, contextProxy, nodeName, params);
148
121
  this.emitEvent("nodeCompleted", { name: nodeName, context: nodeContext });
149
122
 
150
123
  if (!triggeredByEvent && node.next) {
@@ -165,52 +138,30 @@ export class GraphNode<T extends ZodSchema> {
165
138
  }
166
139
 
167
140
  /**
168
- * Validates the inputs for a node using its schema
169
- * @param node - The node whose inputs need validation
170
- * @param inputs - The input data to validate
141
+ * Validates the params for a node using its schema
142
+ * @param node - The node whose params need validation
143
+ * @param params - The input data to validate
171
144
  * @param nodeName - The name of the node (for error messages)
172
145
  * @throws Error if validation fails
173
146
  * @private
174
147
  */
175
- private async validateInputs(
148
+ private async validateParams(
176
149
  node: Node<T, any>,
177
- inputs: any,
150
+ params: any,
178
151
  nodeName: string
179
152
  ): Promise<void> {
180
- if (!inputs) {
181
- throw new Error(`Inputs required for node "${nodeName}"`);
182
- }
153
+ // Si pas de schéma de validation ou si le schéma est optionnel, accepter n'importe quels params
154
+ if (!node.params || node.params.isOptional?.()) return;
183
155
 
184
- try {
185
- return node.inputs!.parse(inputs);
186
- } catch (error: any) {
187
- throw new Error(
188
- error.errors?.[0]?.message || error.message || "Input validation failed"
189
- );
156
+ // Vérifier les params uniquement si un schéma est défini et non optionnel
157
+ if (!params) {
158
+ throw new Error(`Params required for node "${nodeName}"`);
190
159
  }
191
- }
192
160
 
193
- /**
194
- * Validates the outputs of a node against its schema
195
- * @param node - The node whose outputs need validation
196
- * @param context - The current graph context
197
- * @param nodeName - The name of the node (for error messages)
198
- * @throws Error if validation fails
199
- * @private
200
- */
201
- private async validateOutputs(
202
- node: Node<T, any>,
203
- context: GraphContext<T>,
204
- nodeName: string
205
- ): Promise<void> {
206
161
  try {
207
- node.outputs!.parse(context);
162
+ return node.params.parse(params);
208
163
  } catch (error: any) {
209
- throw new Error(
210
- error.errors?.[0]?.message ||
211
- error.message ||
212
- "Output validation failed"
213
- );
164
+ throw error;
214
165
  }
215
166
  }
216
167
 
@@ -239,44 +190,29 @@ export class GraphNode<T extends ZodSchema> {
239
190
  * Executes a node with retry logic
240
191
  * @param node - The node to execute
241
192
  * @param contextProxy - The proxied graph context
242
- * @param inputs - Input data for the node
193
+ * @param params - Input data for the node
243
194
  * @param nodeName - The name of the node
195
+ * @param params - Parameters for the node
244
196
  * @throws Error if all retry attempts fail
245
197
  * @private
246
198
  */
247
199
  private async executeWithRetry(
248
200
  node: Node<T, any>,
249
201
  contextProxy: GraphContext<T>,
250
- inputs: any,
251
- nodeName: string
202
+ nodeName: string,
203
+ params?: NodeParams
252
204
  ): Promise<void> {
253
205
  let attempts = 0;
254
206
  let lastError: Error = new Error("Unknown error");
255
207
 
256
208
  while (attempts < (node.retry?.maxAttempts || 1)) {
257
209
  try {
258
- // Validation des inputs
259
- if (node.inputs) {
260
- try {
261
- node.inputs.parse(inputs);
262
- } catch (error: any) {
263
- const message = error.errors?.[0]?.message || error.message;
264
- throw new Error(`Input validation failed: ${message}`);
265
- }
210
+ // Valider les params uniquement si un schéma est défini
211
+ if (node.params) {
212
+ await this.validateParams(node, params, nodeName);
266
213
  }
267
214
 
268
- // Exécution du node
269
- await node.execute(contextProxy, inputs);
270
-
271
- // Validation des outputs
272
- if (node.outputs) {
273
- try {
274
- node.outputs.parse(contextProxy);
275
- } catch (error: any) {
276
- const message = error.errors?.[0]?.message || error.message;
277
- throw new Error(`Output validation failed: ${message}`);
278
- }
279
- }
215
+ await node.execute(contextProxy, params);
280
216
  return;
281
217
  } catch (error: any) {
282
218
  lastError =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai.ntellect/core",
3
- "version": "0.7.6",
3
+ "version": "0.7.7",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -1,19 +1,27 @@
1
- import { expect } from "chai";
1
+ import { expect, use } from "chai";
2
+ import chaiAsPromised from "chai-as-promised";
2
3
  import EventEmitter from "events";
3
4
  import sinon from "sinon";
4
5
  import { z } from "zod";
5
6
  import { GraphController } from "../../graph/controller";
6
7
  import { GraphFlow } from "../../graph/index";
8
+ import { NodeParams } from "../../graph/node";
7
9
  import { GraphContext, GraphDefinition, Node } from "../../types";
8
10
 
11
+ use(chaiAsPromised);
12
+
9
13
  /**
10
14
  * Test schema definition using Zod for graph context validation
11
15
  * Defines a schema with:
12
16
  * - value: numeric value for tracking state changes
17
+ * - counter: numeric value for tracking state changes
18
+ * - message: string for tracking state changes
13
19
  * - eventPayload: optional object containing transaction metadata
14
20
  */
15
21
  const TestSchema = z.object({
16
22
  value: z.number().default(0),
23
+ counter: z.number().default(0),
24
+ message: z.string().default(""),
17
25
  eventPayload: z
18
26
  .object({
19
27
  transactionId: z.string().optional(),
@@ -172,18 +180,15 @@ describe("GraphFlow", function () {
172
180
  * - Integration between node execution and validation
173
181
  * Ensures type safety and data consistency in node interactions
174
182
  */
175
- it("should execute a node with validated inputs and outputs", async function () {
183
+ it("should execute a node with validated params and outputs", async function () {
176
184
  const paramNode: Node<TestSchema, { increment: number }> = {
177
185
  name: "paramNode",
178
- inputs: z.object({
186
+ params: z.object({
179
187
  increment: z.number(),
180
188
  }),
181
- outputs: z.object({
182
- value: z.number().min(5),
183
- }),
184
- execute: async (context, inputs?: { increment: number }) => {
185
- if (!inputs) throw new Error("Inputs required");
186
- context.value = (context.value ?? 0) + inputs.increment;
189
+ execute: async (context, params?: { increment: number }) => {
190
+ if (!params) throw new Error("params required");
191
+ context.value = (context.value ?? 0) + params.increment;
187
192
  },
188
193
  next: [],
189
194
  };
@@ -304,12 +309,12 @@ describe("GraphFlow", function () {
304
309
  it("should throw error when node input validation fails", async () => {
305
310
  const node: Node<TestSchema> = {
306
311
  name: "test",
307
- inputs: z.object({
312
+ params: z.object({
308
313
  value: z.number().min(0),
309
314
  }),
310
- execute: async (context, inputs) => {
311
- if (!inputs) throw new Error("Inputs required");
312
- context.value = inputs.value;
315
+ execute: async (context, params) => {
316
+ if (!params) throw new Error("params required");
317
+ context.value = params.value;
313
318
  },
314
319
  };
315
320
 
@@ -327,98 +332,68 @@ describe("GraphFlow", function () {
327
332
  expect(error.message).to.include("Number must be greater than or equal");
328
333
  }
329
334
  });
330
-
331
- /**
332
- * Tests output validation error handling
333
- */
334
- it("should throw error when node output validation fails", async function () {
335
- const nodeWithOutput: Node<TestSchema> = {
336
- name: "outputNode",
337
- outputs: z.object({
338
- value: z.number().max(10),
339
- }),
340
- execute: async (context) => {
341
- context.value = 20; // This will fail output validation
342
- },
343
- next: [],
344
- };
345
-
346
- graph.addNode(nodeWithOutput);
347
-
348
- try {
349
- await graph.execute("outputNode");
350
- expect.fail("Should have thrown an error");
351
- } catch (error) {
352
- expect((error as Error).message).to.include(
353
- "Number must be less than or equal to 10"
354
- );
355
- }
356
- });
357
-
358
335
  /**
359
336
  * Tests successful input/output validation flow
360
337
  */
361
- it("should successfully validate both inputs and outputs", async function () {
338
+ it("should successfully validate both params and outputs", async function () {
362
339
  const graph = new GraphFlow("test", {
363
340
  name: "test",
341
+ nodes: [
342
+ {
343
+ name: "validatedNode",
344
+ params: z.object({
345
+ increment: z.number().min(0).max(5),
346
+ }),
347
+ execute: async (
348
+ context: GraphContext<TestSchema>,
349
+ params?: NodeParams
350
+ ) => {
351
+ if (!params) throw new Error("params required");
352
+ context.value = (context.value ?? 0) + params.increment;
353
+ },
354
+ },
355
+ ],
364
356
  schema: TestSchema,
365
- context: { value: 0 },
366
- nodes: [],
357
+ context: { value: 0, counter: 0, message: "" },
367
358
  });
368
359
 
369
- const validatedNode: Node<TestSchema, { increment: number }> = {
370
- name: "validatedNode",
371
- inputs: z.object({
372
- increment: z.number().min(0).max(5),
373
- }),
374
- outputs: z.object({
375
- value: z.number().min(0).max(10),
376
- }),
377
- execute: async (context, inputs?: { increment: number }) => {
378
- if (!inputs) throw new Error("Inputs required");
379
- context.value = (context.value ?? 0) + inputs.increment;
380
- },
381
- next: [],
382
- };
383
-
384
- graph.addNode(validatedNode);
385
-
386
- // Test with valid input that produces valid output
360
+ // Test avec valeur valide
387
361
  await graph.execute("validatedNode", { increment: 3 });
388
362
  expect(graph.getContext().value).to.equal(3);
389
363
 
390
- // Test with valid input that would produce invalid output
391
- try {
392
- await graph.execute("validatedNode", { increment: 5 }, { value: 7 });
393
- expect.fail("Should have thrown an error");
394
- } catch (error) {
395
- expect((error as Error).message).to.include(
396
- "Number must be less than or equal to 10"
397
- );
398
- }
364
+ // Test avec valeur invalide
365
+ await expect(
366
+ graph.execute("validatedNode", { increment: 10 })
367
+ ).to.be.rejectedWith("Number must be less than or equal to 5");
399
368
  });
400
369
 
401
370
  /**
402
- * Tests handling of missing required inputs
371
+ * Tests handling of missing required params
403
372
  */
404
- it("should throw error when required inputs are missing", async function () {
405
- const nodeWithRequiredInput: Node<TestSchema, { required: string }> = {
406
- name: "requiredInputNode",
407
- inputs: z.object({
408
- required: z.string(),
409
- }),
410
- execute: async () => {},
411
- next: [],
412
- };
413
-
414
- graph.addNode(nodeWithRequiredInput);
373
+ it("should throw error when required params are missing", async function () {
374
+ const graph = new GraphFlow("test", {
375
+ name: "test",
376
+ nodes: [
377
+ {
378
+ name: "requiredInputNode",
379
+ params: z.object({
380
+ value: z.number(),
381
+ }),
382
+ execute: async (
383
+ context: GraphContext<TestSchema>,
384
+ params?: NodeParams
385
+ ) => {
386
+ context.counter = params?.value || 0;
387
+ },
388
+ },
389
+ ],
390
+ schema: TestSchema,
391
+ context: { value: 0, counter: 0, message: "" },
392
+ });
415
393
 
416
- try {
417
- await graph.execute("requiredInputNode");
418
- expect.fail("Should have thrown an error");
419
- } catch (error) {
420
- expect((error as Error).message).to.include("Inputs required for node");
421
- }
394
+ await expect(graph.execute("requiredInputNode")).to.be.rejectedWith(
395
+ "Params required for node"
396
+ );
422
397
  });
423
398
 
424
399
  /**
@@ -735,4 +710,59 @@ describe("GraphFlow", function () {
735
710
  const result = await resultPromise;
736
711
  expect(result.value).to.equal(6); // 1 (waitingNode) + 5 (finalNode)
737
712
  });
713
+
714
+ // Test de validation des paramètres
715
+ it("should successfully validate params", async () => {
716
+ const graph = new GraphFlow("test", {
717
+ name: "test",
718
+ nodes: [
719
+ {
720
+ name: "validationNode",
721
+ params: z.object({
722
+ value: z.number().max(10),
723
+ }),
724
+ execute: async (
725
+ context: GraphContext<TestSchema>,
726
+ params?: NodeParams
727
+ ) => {
728
+ context.counter = params?.value || 0;
729
+ },
730
+ },
731
+ ],
732
+ schema: TestSchema,
733
+ context: { value: 0, counter: 0, message: "" },
734
+ });
735
+
736
+ // Test avec valeur invalide
737
+ await expect(
738
+ graph.execute("validationNode", { value: 20 })
739
+ ).to.be.rejectedWith("Number must be less than or equal to 10");
740
+ });
741
+
742
+ // Test des paramètres requis
743
+ it("should throw error when required params are missing", async () => {
744
+ const graph = new GraphFlow("test", {
745
+ name: "test",
746
+ nodes: [
747
+ {
748
+ name: "requiredInputNode",
749
+ params: z.object({
750
+ value: z.number(),
751
+ }),
752
+ execute: async (
753
+ context: GraphContext<TestSchema>,
754
+ params?: NodeParams
755
+ ) => {
756
+ context.counter = params?.value || 0;
757
+ },
758
+ },
759
+ ],
760
+ schema: TestSchema,
761
+ context: { value: 0, counter: 0, message: "" },
762
+ });
763
+
764
+ await expect(graph.execute("requiredInputNode")).to.be.rejectedWith(
765
+ "Params required for node"
766
+ );
767
+ });
738
768
  });
@@ -329,4 +329,182 @@ describe("GraphNode", () => {
329
329
  expect(stateChanges.length).to.equal(uniqueChanges.size);
330
330
  expect(stateChanges).to.have.lengthOf(2); // Un pour counter, un pour message
331
331
  });
332
+
333
+ it("should validate node parameters with Zod schema", async () => {
334
+ const paramSchema = z.object({
335
+ increment: z.number().min(1),
336
+ message: z.string().min(1),
337
+ });
338
+
339
+ const nodes = new Map();
340
+ nodes.set("test", {
341
+ name: "test",
342
+ params: paramSchema,
343
+ execute: async (context: TestContext, params?: NodeParams) => {
344
+ context.counter += params?.increment || 0;
345
+ context.message = params?.message || "";
346
+ },
347
+ });
348
+
349
+ node = new GraphNode(
350
+ nodes,
351
+ logger,
352
+ eventManager,
353
+ eventSubject,
354
+ stateSubject
355
+ );
356
+
357
+ // Test avec des paramètres valides
358
+ await node.executeNode(
359
+ "test",
360
+ { counter: 0, message: "Hello" },
361
+ { increment: 5, message: "Valid" }
362
+ );
363
+
364
+ // Test avec des paramètres invalides
365
+ await expect(
366
+ node.executeNode(
367
+ "test",
368
+ { counter: 0, message: "Hello" },
369
+ { increment: 0, message: "" }
370
+ )
371
+ ).to.be.rejected; // Enlever le .with() car le message d'erreur vient directement de Zod
372
+ });
373
+
374
+ it("should work without params schema", async () => {
375
+ const nodes = new Map();
376
+ nodes.set("test", {
377
+ name: "test",
378
+ execute: async (context: TestContext) => {
379
+ context.counter++;
380
+ },
381
+ });
382
+
383
+ node = new GraphNode(
384
+ nodes,
385
+ logger,
386
+ eventManager,
387
+ eventSubject,
388
+ stateSubject
389
+ );
390
+
391
+ // Devrait fonctionner sans erreur même sans schema de params
392
+ await node.executeNode("test", { counter: 0, message: "Hello" }, null);
393
+ });
394
+
395
+ it("should not require params when node has no params schema", async () => {
396
+ const nodes = new Map();
397
+ nodes.set("test", {
398
+ name: "test",
399
+ // Pas de schéma de params défini
400
+ execute: async (context: TestContext) => {
401
+ context.counter++;
402
+ },
403
+ });
404
+
405
+ node = new GraphNode(
406
+ nodes,
407
+ logger,
408
+ eventManager,
409
+ eventSubject,
410
+ stateSubject
411
+ );
412
+
413
+ await node.executeNode("test", { counter: 0, message: "Hello" }, null);
414
+
415
+ const stateChanges = events.filter((e) => e.type === "nodeStateChanged");
416
+ expect(stateChanges).to.have.lengthOf(1);
417
+ expect(stateChanges[0].payload.newValue).to.equal(1);
418
+ });
419
+
420
+ it("should require params only when node has params schema", async () => {
421
+ const nodes = new Map();
422
+ nodes.set("test", {
423
+ name: "test",
424
+ params: z.object({
425
+ // Avec un schéma de params
426
+ value: z.number(),
427
+ }),
428
+ execute: async (context: TestContext, params?: NodeParams) => {
429
+ context.counter = params?.value || 0;
430
+ },
431
+ });
432
+
433
+ node = new GraphNode(
434
+ nodes,
435
+ logger,
436
+ eventManager,
437
+ eventSubject,
438
+ stateSubject
439
+ );
440
+
441
+ // Devrait échouer sans params
442
+ await expect(
443
+ node.executeNode("test", { counter: 0, message: "Hello" }, null)
444
+ ).to.be.rejectedWith("Params required for node");
445
+ });
446
+
447
+ it("should execute node without params when no schema is defined (real world scenario)", async () => {
448
+ const nodes = new Map();
449
+ nodes.set("incrementCounter", {
450
+ name: "incrementCounter",
451
+ execute: async (context: TestContext) => {
452
+ context.counter++;
453
+ },
454
+ });
455
+
456
+ node = new GraphNode(
457
+ nodes,
458
+ logger,
459
+ eventManager,
460
+ eventSubject,
461
+ stateSubject
462
+ );
463
+
464
+ // Simuler l'appel comme dans examples/t2.ts
465
+ await node.executeNode(
466
+ "incrementCounter",
467
+ { message: "Hello", counter: 0 },
468
+ { test: "test" } // Passer des params même si non requis
469
+ );
470
+
471
+ const stateChanges = events.filter((e) => e.type === "nodeStateChanged");
472
+ expect(stateChanges).to.have.lengthOf(1);
473
+ expect(stateChanges[0].payload.newValue).to.equal(1);
474
+ });
475
+
476
+ it("should handle optional params schema", async () => {
477
+ const nodes = new Map();
478
+ nodes.set("test", {
479
+ name: "test",
480
+ params: z
481
+ .object({
482
+ test: z.string(),
483
+ })
484
+ .optional(),
485
+ execute: async (context: TestContext, params?: NodeParams) => {
486
+ context.counter++;
487
+ },
488
+ });
489
+
490
+ node = new GraphNode(
491
+ nodes,
492
+ logger,
493
+ eventManager,
494
+ eventSubject,
495
+ stateSubject
496
+ );
497
+
498
+ // Devrait fonctionner avec ou sans params
499
+ await node.executeNode(
500
+ "test",
501
+ { counter: 0, message: "Hello" },
502
+ { test: "test" }
503
+ );
504
+ await node.executeNode("test", { counter: 1, message: "Hello" }, null);
505
+
506
+ const stateChanges = events.filter((e) => e.type === "nodeStateChanged");
507
+ expect(stateChanges).to.have.lengthOf(2);
508
+ expect(stateChanges[1].payload.newValue).to.equal(2);
509
+ });
332
510
  });
package/types/index.ts CHANGED
@@ -81,10 +81,10 @@ export type GraphContext<T> = SchemaType<T>;
81
81
  export interface Node<T extends ZodSchema, I = any> {
82
82
  /** Name of the node */
83
83
  name: string;
84
+ /** Description of the node */
85
+ description?: string;
84
86
  /** Schema for node inputs */
85
- inputs?: I extends void ? never : ZodSchema<I>;
86
- /** Schema for node outputs */
87
- outputs?: ZodSchema;
87
+ params?: I extends void ? never : ZodSchema<I>;
88
88
  /** Execute function for the node */
89
89
  execute: (context: GraphContext<T>, params?: I) => Promise<void>;
90
90
  /** Optional condition for node execution */
@@ -5,8 +5,8 @@ export const generateActionSchema = (graphs: GraphFlow<any>[]) => {
5
5
  return graphs
6
6
  .map((graph) => {
7
7
  const rootNode = Array.from(graph.nodes.values())[0];
8
- const schemaStr = rootNode.inputs
9
- ? getSchemaString(rootNode.inputs)
8
+ const schemaStr = rootNode.params
9
+ ? getSchemaString(rootNode.params)
10
10
  : "No parameters";
11
11
  return `Workflow: ${graph.name}\nParameters: ${schemaStr}`;
12
12
  })