@ai.ntellect/core 0.7.12 → 0.7.14

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,5 +1,5 @@
1
1
  import { ZodSchema } from "zod";
2
- import { GraphContext } from "../types";
2
+ import { GraphExecutionResult } from "../types";
3
3
  import { GraphFlow } from "./index";
4
4
  import { NodeParams } from "./node";
5
5
  /**
@@ -15,7 +15,7 @@ export declare class GraphController {
15
15
  * @returns Map containing results of each graph execution, keyed by graph name and index
16
16
  * @template T - Zod schema type for graph context validation
17
17
  */
18
- static executeSequential<T extends ZodSchema>(graphs: GraphFlow<T>[], startNodes: string[], params?: NodeParams[]): Promise<any[]>;
18
+ static executeSequential<T extends ZodSchema>(graphs: GraphFlow<T>[], startNodes: string[], params?: NodeParams[]): Promise<GraphExecutionResult<T>[]>;
19
19
  private static executeGraph;
20
20
  /**
21
21
  * Executes multiple graphs in parallel with optional concurrency control
@@ -26,6 +26,6 @@ export declare class GraphController {
26
26
  * @returns Map containing results of each graph execution, keyed by graph name
27
27
  * @template T - Zod schema type for graph context validation
28
28
  */
29
- static executeParallel<T extends ZodSchema>(graphs: GraphFlow<T>[], startNodes: string[], concurrency: number, params?: NodeParams[]): Promise<GraphContext<T>[]>;
29
+ static executeParallel<T extends ZodSchema>(graphs: GraphFlow<T>[], startNodes: string[], concurrency: number, params?: NodeParams[]): Promise<GraphExecutionResult<T>[]>;
30
30
  }
31
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;;;;;;;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"}
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,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,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,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;mBAehB,YAAY;IAiBjC;;;;;;;;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,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;CAgBtC"}
@@ -25,18 +25,27 @@ class GraphController {
25
25
  */
26
26
  static executeSequential(graphs, startNodes, params) {
27
27
  return __awaiter(this, void 0, void 0, function* () {
28
- const results = new Map();
28
+ const results = [];
29
29
  for (let i = 0; i < graphs.length; i++) {
30
- const result = yield graphs[i].execute(startNodes[i], params === null || params === void 0 ? void 0 : params[i]);
31
- results.set(`${graphs[i].name}-${i}`, result);
30
+ const context = yield graphs[i].execute(startNodes[i], params === null || params === void 0 ? void 0 : params[i]);
31
+ results.push({
32
+ graphName: graphs[i].name,
33
+ nodeName: startNodes[i],
34
+ context,
35
+ });
32
36
  }
33
- return Array.from(results.values());
37
+ return results;
34
38
  });
35
39
  }
36
40
  static executeGraph(graph, startNode, params) {
37
41
  return __awaiter(this, void 0, void 0, function* () {
38
42
  try {
39
- return yield graph.execute(startNode, params);
43
+ const context = yield graph.execute(startNode, params);
44
+ return {
45
+ graphName: graph.name,
46
+ nodeName: startNode,
47
+ context,
48
+ };
40
49
  }
41
50
  catch (error) {
42
51
  throw error;
@@ -1 +1 @@
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"}
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,GAA8B,EAAE,CAAC;YAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;oBACzB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;oBACvB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEO,MAAM,CAAO,YAAY,CAC/B,KAAmB,EACnB,SAAiB,EACjB,MAAmB;;YAEnB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvD,OAAO;oBACL,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,QAAQ,EAAE,SAAS;oBACnB,OAAO;iBACR,CAAC;YACJ,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,GAA8B,EAAE,CAAC;YAE9C,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;AA3ED,0CA2EC"}
@@ -6,7 +6,7 @@ import { GraphObserver } from "./observer";
6
6
  import { GraphVisualizer } from "./visualizer";
7
7
  /**
8
8
  * @module GraphFlow
9
- * @description A flexible workflow engine that manages the execution of nodes in a graph-like structure.
9
+ * @description A workflow engine that manages the execution of nodes in a graph-like structure.
10
10
  *
11
11
  * Key features:
12
12
  * - Multiple branches support
@@ -19,7 +19,7 @@ const observer_1 = require("./observer");
19
19
  const visualizer_1 = require("./visualizer");
20
20
  /**
21
21
  * @module GraphFlow
22
- * @description A flexible workflow engine that manages the execution of nodes in a graph-like structure.
22
+ * @description A workflow engine that manages the execution of nodes in a graph-like structure.
23
23
  *
24
24
  * Key features:
25
25
  * - Multiple branches support
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACrE,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;IAatC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IAhBtB,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;;;;;OAOG;gBAEO,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAC3C,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;IAKxD;;;;;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;IAwEhB;;;;;;;OAOG;YACW,cAAc;IAoB5B;;;;;;OAMG;YACW,YAAY;IAc1B;;;;;;;;;OASG;YACW,gBAAgB;IAyC9B;;;;;;OAMG;YACW,sBAAsB;IAuCpC;;;;;;OAMG;YACW,mBAAmB;CAalC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACrE,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;IAatC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IAhBtB,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;;;;;OAOG;gBAEO,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAC3C,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;IAKxD;;;;;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;IA0FhB;;;;;;;OAOG;YACW,cAAc;IAoB5B;;;;;;OAMG;YACW,YAAY;IAc1B;;;;;;;;;OASG;YACW,gBAAgB;IAyC9B;;;;;;OAMG;YACW,sBAAsB;IAuCpC;;;;;;OAMG;YACW,mBAAmB;CAalC"}
@@ -106,9 +106,24 @@ class GraphNode {
106
106
  this.emitEvent("nodeCompleted", { name: nodeName, context: nodeContext });
107
107
  if (!triggeredByEvent && node.next) {
108
108
  const nextNodes = typeof node.next === "function" ? node.next(contextProxy) : node.next;
109
- for (const nextNode of nextNodes) {
109
+ // Vérifier d'abord les conditions de tous les nœuds suivants
110
+ const nextNodeConfigs = Array.isArray(nextNodes)
111
+ ? nextNodes
112
+ : [nextNodes];
113
+ const validNextNodes = nextNodeConfigs
114
+ .map((nextNode) => {
110
115
  const nextNodeName = typeof nextNode === "string" ? nextNode : nextNode.node;
111
- yield this.executeNode(nextNodeName, context, undefined, false);
116
+ const condition = typeof nextNode === "string" ? undefined : nextNode.condition;
117
+ return {
118
+ name: nextNodeName,
119
+ condition,
120
+ isValid: !condition || condition(contextProxy),
121
+ };
122
+ })
123
+ .filter((n) => n.isValid);
124
+ // Sinon, exécuter les autres nœuds valides
125
+ for (const nextNode of validNextNodes) {
126
+ yield this.executeNode(nextNode.name, context, undefined, false);
112
127
  }
113
128
  }
114
129
  }
@@ -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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"}
@@ -17,6 +17,7 @@ export declare class GraphVisualizer<T extends ZodSchema> {
17
17
  private nodes;
18
18
  private edges;
19
19
  constructor(graphNodes: Map<string, GraphNodeConfig<T, any>>);
20
+ private humanizeCondition;
20
21
  private processNodes;
21
22
  /**
22
23
  * Generates a Mermaid flowchart representation of the graph
@@ -1 +1 @@
1
- {"version":3,"file":"visualizer.d.ts","sourceRoot":"","sources":["../../graph/visualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,qBAAa,eAAe,CAAC,CAAC,SAAS,SAAS;IAIlC,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,KAAK,CAAwB;gBAEjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAIpE,OAAO,CAAC,YAAY;IAkDpB;;OAEG;IACI,SAAS,IAAI,MAAM;IA6B1B;;OAEG;IACI,oBAAoB;;;;CAM5B"}
1
+ {"version":3,"file":"visualizer.d.ts","sourceRoot":"","sources":["../../graph/visualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,qBAAa,eAAe,CAAC,CAAC,SAAS,SAAS;IAIlC,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,KAAK,CAAwB;gBAEjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAIpE,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,YAAY;IAwDpB;;OAEG;IACI,SAAS,IAAI,MAAM;IAoC1B;;OAEG;IACI,oBAAoB;;;;CAM5B"}
@@ -1,17 +1,6 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.GraphVisualizer = void 0;
13
- const zod_1 = require("zod");
14
- const index_1 = require("./index");
15
4
  class GraphVisualizer {
16
5
  constructor(graphNodes) {
17
6
  this.graphNodes = graphNodes;
@@ -19,6 +8,26 @@ class GraphVisualizer {
19
8
  this.edges = [];
20
9
  this.processNodes();
21
10
  }
11
+ humanizeCondition(condition) {
12
+ return (condition
13
+ // Remplacer les opérateurs logiques
14
+ .replace(/\|\|/g, "or")
15
+ .replace(/&&/g, "and")
16
+ .replace(/!/g, "not")
17
+ // Remplacer les opérateurs de comparaison
18
+ .replace(/>=/g, "is greater or equal to")
19
+ .replace(/<=/g, "is less or equal to ")
20
+ .replace(/>/g, "is greater than")
21
+ .replace(/</g, "is less than")
22
+ .replace(/===/g, "equals")
23
+ .replace(/==/g, "equals")
24
+ .replace(/!==?/g, "is not")
25
+ // Nettoyer la syntaxe
26
+ .replace(/ctx\./g, "")
27
+ .replace(/context\./g, "")
28
+ .replace(/[{}]/g, "")
29
+ .trim());
30
+ }
22
31
  processNodes() {
23
32
  this.graphNodes.forEach((node, nodeName) => {
24
33
  // Extraire les modifications de contexte depuis la fonction execute
@@ -47,16 +56,11 @@ class GraphVisualizer {
47
56
  else {
48
57
  const conditionStr = nextNode.condition
49
58
  .toString()
50
- .replace(/.*=> /, "")
51
- .replace(/ctx\./g, "")
52
- .replace(/[{}]/g, "")
53
- .replace(/\|\|/g, " or ")
54
- .replace(/&&/g, " and ")
55
- .replace(/!/g, "not ");
59
+ .replace(/.*=> /, "");
56
60
  this.edges.push({
57
61
  from: nodeName,
58
62
  to: nextNode.node,
59
- condition: conditionStr,
63
+ condition: this.humanizeCondition(conditionStr),
60
64
  });
61
65
  }
62
66
  });
@@ -64,6 +68,18 @@ class GraphVisualizer {
64
68
  else if (typeof node.next === "string") {
65
69
  this.edges.push({ from: nodeName, to: node.next });
66
70
  }
71
+ else if (typeof node.next === "function") {
72
+ // Gérer le cas où next est une fonction
73
+ const nextStr = node.next.toString();
74
+ if (nextStr.includes("=>")) {
75
+ const conditionPart = nextStr.split("=>")[1].trim();
76
+ this.edges.push({
77
+ from: nodeName,
78
+ to: "nextNode", // Il faudrait extraire le vrai nom du nœud suivant
79
+ condition: this.humanizeCondition(conditionPart),
80
+ });
81
+ }
82
+ }
67
83
  }
68
84
  });
69
85
  }
@@ -72,23 +88,27 @@ class GraphVisualizer {
72
88
  */
73
89
  toMermaid() {
74
90
  let mmd = "flowchart TD\n";
75
- // Add nodes with context changes
91
+ // Ajouter les nœuds avec leurs modifications de contexte
76
92
  this.nodes.forEach((node) => {
77
93
  var _a, _b;
78
94
  let nodeLabel = node.label;
95
+ // Améliorer l'affichage des modifications de contexte
79
96
  if ((_a = node.contextChanges) === null || _a === void 0 ? void 0 : _a.length) {
80
- nodeLabel += `\nSet: ${node.contextChanges.join(", ")}`;
97
+ nodeLabel += `\nUpdates:`;
98
+ node.contextChanges.forEach((change) => {
99
+ nodeLabel += `\n• ${change}`;
100
+ });
81
101
  }
102
+ // Améliorer l'affichage des événements
82
103
  if ((_b = node.events) === null || _b === void 0 ? void 0 : _b.length) {
83
- // Créer des nœuds d'événements externes
84
104
  node.events.forEach((event) => {
85
105
  mmd += ` ${event}((${event}))\n`;
86
- mmd += ` ${event} -.->|event| ${node.id}\n`;
106
+ mmd += ` ${node.id} -.->|listens to| ${event}\n`;
87
107
  });
88
108
  }
89
109
  mmd += ` ${node.id}["${nodeLabel}"]\n`;
90
110
  });
91
- // Add edges with escaped conditions
111
+ // Ajouter les connexions avec les conditions humanisées
92
112
  this.edges.forEach((edge) => {
93
113
  var _a;
94
114
  const escapedCondition = (_a = edge.condition) === null || _a === void 0 ? void 0 : _a.replace(/[|]/g, "\\|");
@@ -108,120 +128,4 @@ class GraphVisualizer {
108
128
  }
109
129
  }
110
130
  exports.GraphVisualizer = GraphVisualizer;
111
- // Example usage
112
- const graph = new index_1.GraphFlow("CryptoTradeAssistant", {
113
- name: "CryptoTradeAssistant",
114
- entryNode: "Initialize",
115
- nodes: [
116
- {
117
- name: "Initialize",
118
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
119
- context.walletBalance = 1000;
120
- context.targetPrice = 2000;
121
- context.gasFees = 50;
122
- context.isWalletConnected = false;
123
- console.log("Initializing crypto assistant");
124
- }),
125
- next: ["ConnectWallet"],
126
- },
127
- {
128
- name: "ConnectWallet",
129
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
130
- context.isWalletConnected = true;
131
- console.log("Connecting wallet");
132
- }),
133
- next: ["CheckMarketConditions"],
134
- events: ["walletConnected"],
135
- },
136
- {
137
- name: "CheckMarketConditions",
138
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
139
- context.currentPrice = 1950;
140
- context.marketVolatility = "low";
141
- context.hasLiquidity = true;
142
- console.log("Checking market conditions");
143
- }),
144
- next: [
145
- {
146
- node: "PrepareTransaction",
147
- condition: (ctx) => ctx.isWalletConnected &&
148
- ctx.currentPrice < ctx.targetPrice &&
149
- ctx.hasLiquidity,
150
- },
151
- {
152
- node: "WaitForBetterConditions",
153
- condition: (ctx) => !ctx.hasLiquidity || ctx.currentPrice >= ctx.targetPrice,
154
- },
155
- ],
156
- events: ["priceUpdate", "liquidityUpdate"],
157
- },
158
- {
159
- name: "WaitForBetterConditions",
160
- execute: () => __awaiter(void 0, void 0, void 0, function* () { return console.log("Waiting for better conditions"); }),
161
- next: ["CheckMarketConditions"],
162
- events: ["marketUpdate"],
163
- },
164
- {
165
- name: "PrepareTransaction",
166
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
167
- context.txHash = "0x123...";
168
- context.estimatedGas = 45;
169
- console.log("Preparing transaction");
170
- }),
171
- next: [
172
- {
173
- node: "ExecuteTransaction",
174
- condition: (ctx) => ctx.estimatedGas < ctx.gasFees,
175
- },
176
- {
177
- node: "WaitForBetterConditions",
178
- condition: (ctx) => ctx.estimatedGas >= ctx.gasFees,
179
- },
180
- ],
181
- },
182
- {
183
- name: "ExecuteTransaction",
184
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
185
- context.txStatus = "pending";
186
- console.log("Executing transaction");
187
- }),
188
- next: ["MonitorTransaction"],
189
- events: ["txSubmitted"],
190
- },
191
- {
192
- name: "MonitorTransaction",
193
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
194
- context.txStatus = "confirmed";
195
- context.walletBalance = context.walletBalance - context.currentPrice;
196
- console.log("Monitoring transaction");
197
- }),
198
- next: ["NotifyUser"],
199
- events: ["txConfirmed", "txFailed"],
200
- },
201
- {
202
- name: "NotifyUser",
203
- execute: (context) => __awaiter(void 0, void 0, void 0, function* () {
204
- context.notificationSent = true;
205
- console.log("Notifying user");
206
- }),
207
- next: ["CheckMarketConditions"],
208
- },
209
- ],
210
- context: {},
211
- schema: zod_1.z.object({
212
- walletBalance: zod_1.z.number().optional(),
213
- targetPrice: zod_1.z.number().optional(),
214
- currentPrice: zod_1.z.number().optional(),
215
- gasFees: zod_1.z.number().optional(),
216
- estimatedGas: zod_1.z.number().optional(),
217
- isWalletConnected: zod_1.z.boolean().optional(),
218
- marketVolatility: zod_1.z.string().optional(),
219
- hasLiquidity: zod_1.z.boolean().optional(),
220
- txHash: zod_1.z.string().optional(),
221
- txStatus: zod_1.z.string().optional(),
222
- notificationSent: zod_1.z.boolean().optional(),
223
- }),
224
- });
225
- const visualizer = graph.createVisualizer();
226
- console.log(visualizer.toMermaid());
227
131
  //# sourceMappingURL=visualizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualizer.js","sourceRoot":"","sources":["../../graph/visualizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visualizer.js","sourceRoot":"","sources":["../../graph/visualizer.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,15 @@ export type GraphConfig<T extends ZodSchema> = {
135
135
  /** Array of events */
136
136
  events?: string[];
137
137
  };
138
+ /**
139
+ * Type for graph execution result
140
+ * @template T - Schema type
141
+ */
142
+ export type GraphExecutionResult<T extends ZodSchema> = {
143
+ graphName: string;
144
+ nodeName: string;
145
+ context: GraphContext<T>;
146
+ };
138
147
  /**
139
148
  * Configuration type for Meilisearch
140
149
  * @typedef {Object} MeilisearchConfig
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { ZodSchema } from "zod";
2
- import { GraphContext } from "../types";
2
+ import { GraphExecutionResult } from "../types";
3
3
  import { GraphFlow } from "./index";
4
4
  import { NodeParams } from "./node";
5
5
 
@@ -20,22 +20,33 @@ export class GraphController {
20
20
  graphs: GraphFlow<T>[],
21
21
  startNodes: string[],
22
22
  params?: NodeParams[]
23
- ): Promise<any[]> {
24
- const results = new Map<string, GraphContext<T>>();
23
+ ): Promise<GraphExecutionResult<T>[]> {
24
+ const results: GraphExecutionResult<T>[] = [];
25
+
25
26
  for (let i = 0; i < graphs.length; i++) {
26
- const result = await graphs[i].execute(startNodes[i], params?.[i]);
27
- results.set(`${graphs[i].name}-${i}`, result);
27
+ const context = await graphs[i].execute(startNodes[i], params?.[i]);
28
+ results.push({
29
+ graphName: graphs[i].name,
30
+ nodeName: startNodes[i],
31
+ context,
32
+ });
28
33
  }
29
- return Array.from(results.values());
34
+
35
+ return results;
30
36
  }
31
37
 
32
38
  private static async executeGraph<T extends ZodSchema>(
33
39
  graph: GraphFlow<T>,
34
40
  startNode: string,
35
41
  params?: NodeParams
36
- ): Promise<GraphContext<T>> {
42
+ ): Promise<GraphExecutionResult<T>> {
37
43
  try {
38
- return await graph.execute(startNode, params);
44
+ const context = await graph.execute(startNode, params);
45
+ return {
46
+ graphName: graph.name,
47
+ nodeName: startNode,
48
+ context,
49
+ };
39
50
  } catch (error) {
40
51
  throw error;
41
52
  }
@@ -55,8 +66,8 @@ export class GraphController {
55
66
  startNodes: string[],
56
67
  concurrency: number,
57
68
  params?: NodeParams[]
58
- ): Promise<GraphContext<T>[]> {
59
- const results: GraphContext<T>[] = [];
69
+ ): Promise<GraphExecutionResult<T>[]> {
70
+ const results: GraphExecutionResult<T>[] = [];
60
71
 
61
72
  for (let i = 0; i < graphs.length; i += concurrency) {
62
73
  const batch = graphs.slice(i, i + concurrency);
package/graph/index.ts CHANGED
@@ -16,7 +16,7 @@ import { GraphVisualizer } from "./visualizer";
16
16
 
17
17
  /**
18
18
  * @module GraphFlow
19
- * @description A flexible workflow engine that manages the execution of nodes in a graph-like structure.
19
+ * @description A workflow engine that manages the execution of nodes in a graph-like structure.
20
20
  *
21
21
  * Key features:
22
22
  * - Multiple branches support
package/graph/node.ts CHANGED
@@ -144,10 +144,28 @@ export class GraphNode<T extends ZodSchema> {
144
144
  if (!triggeredByEvent && node.next) {
145
145
  const nextNodes =
146
146
  typeof node.next === "function" ? node.next(contextProxy) : node.next;
147
- for (const nextNode of nextNodes) {
148
- const nextNodeName =
149
- typeof nextNode === "string" ? nextNode : nextNode.node;
150
- await this.executeNode(nextNodeName, context, undefined, false);
147
+
148
+ // Vérifier d'abord les conditions de tous les nœuds suivants
149
+ const nextNodeConfigs = Array.isArray(nextNodes)
150
+ ? nextNodes
151
+ : [nextNodes];
152
+ const validNextNodes = nextNodeConfigs
153
+ .map((nextNode) => {
154
+ const nextNodeName =
155
+ typeof nextNode === "string" ? nextNode : nextNode.node;
156
+ const condition =
157
+ typeof nextNode === "string" ? undefined : nextNode.condition;
158
+ return {
159
+ name: nextNodeName,
160
+ condition,
161
+ isValid: !condition || condition(contextProxy),
162
+ };
163
+ })
164
+ .filter((n) => n.isValid);
165
+
166
+ // Sinon, exécuter les autres nœuds valides
167
+ for (const nextNode of validNextNodes) {
168
+ await this.executeNode(nextNode.name, context, undefined, false);
151
169
  }
152
170
  }
153
171
  } catch (error) {
@@ -1,6 +1,5 @@
1
- import { z, ZodSchema } from "zod";
1
+ import { ZodSchema } from "zod";
2
2
  import { GraphNodeConfig } from "../types";
3
- import { GraphFlow } from "./index";
4
3
 
5
4
  interface NodeVisualData {
6
5
  id: string;
@@ -29,6 +28,29 @@ export class GraphVisualizer<T extends ZodSchema> {
29
28
  this.processNodes();
30
29
  }
31
30
 
31
+ private humanizeCondition(condition: string): string {
32
+ return (
33
+ condition
34
+ // Remplacer les opérateurs logiques
35
+ .replace(/\|\|/g, "or")
36
+ .replace(/&&/g, "and")
37
+ .replace(/!/g, "not")
38
+ // Remplacer les opérateurs de comparaison
39
+ .replace(/>=/g, "is greater or equal to")
40
+ .replace(/<=/g, "is less or equal to ")
41
+ .replace(/>/g, "is greater than")
42
+ .replace(/</g, "is less than")
43
+ .replace(/===/g, "equals")
44
+ .replace(/==/g, "equals")
45
+ .replace(/!==?/g, "is not")
46
+ // Nettoyer la syntaxe
47
+ .replace(/ctx\./g, "")
48
+ .replace(/context\./g, "")
49
+ .replace(/[{}]/g, "")
50
+ .trim()
51
+ );
52
+ }
53
+
32
54
  private processNodes(): void {
33
55
  this.graphNodes.forEach((node, nodeName) => {
34
56
  // Extraire les modifications de contexte depuis la fonction execute
@@ -58,22 +80,28 @@ export class GraphVisualizer<T extends ZodSchema> {
58
80
  } else {
59
81
  const conditionStr = nextNode.condition
60
82
  .toString()
61
- .replace(/.*=> /, "")
62
- .replace(/ctx\./g, "")
63
- .replace(/[{}]/g, "")
64
- .replace(/\|\|/g, " or ")
65
- .replace(/&&/g, " and ")
66
- .replace(/!/g, "not ");
83
+ .replace(/.*=> /, "");
67
84
 
68
85
  this.edges.push({
69
86
  from: nodeName,
70
87
  to: nextNode.node,
71
- condition: conditionStr,
88
+ condition: this.humanizeCondition(conditionStr),
72
89
  });
73
90
  }
74
91
  });
75
92
  } else if (typeof node.next === "string") {
76
93
  this.edges.push({ from: nodeName, to: node.next });
94
+ } else if (typeof node.next === "function") {
95
+ // Gérer le cas où next est une fonction
96
+ const nextStr = node.next.toString();
97
+ if (nextStr.includes("=>")) {
98
+ const conditionPart = nextStr.split("=>")[1].trim();
99
+ this.edges.push({
100
+ from: nodeName,
101
+ to: "nextNode", // Il faudrait extraire le vrai nom du nœud suivant
102
+ condition: this.humanizeCondition(conditionPart),
103
+ });
104
+ }
77
105
  }
78
106
  }
79
107
  });
@@ -85,23 +113,30 @@ export class GraphVisualizer<T extends ZodSchema> {
85
113
  public toMermaid(): string {
86
114
  let mmd = "flowchart TD\n";
87
115
 
88
- // Add nodes with context changes
116
+ // Ajouter les nœuds avec leurs modifications de contexte
89
117
  this.nodes.forEach((node) => {
90
118
  let nodeLabel = node.label;
119
+
120
+ // Améliorer l'affichage des modifications de contexte
91
121
  if (node.contextChanges?.length) {
92
- nodeLabel += `\nSet: ${node.contextChanges.join(", ")}`;
122
+ nodeLabel += `\nUpdates:`;
123
+ node.contextChanges.forEach((change) => {
124
+ nodeLabel += `\n• ${change}`;
125
+ });
93
126
  }
127
+
128
+ // Améliorer l'affichage des événements
94
129
  if (node.events?.length) {
95
- // Créer des nœuds d'événements externes
96
130
  node.events.forEach((event) => {
97
131
  mmd += ` ${event}((${event}))\n`;
98
- mmd += ` ${event} -.->|event| ${node.id}\n`;
132
+ mmd += ` ${node.id} -.->|listens to| ${event}\n`;
99
133
  });
100
134
  }
135
+
101
136
  mmd += ` ${node.id}["${nodeLabel}"]\n`;
102
137
  });
103
138
 
104
- // Add edges with escaped conditions
139
+ // Ajouter les connexions avec les conditions humanisées
105
140
  this.edges.forEach((edge) => {
106
141
  const escapedCondition = edge.condition?.replace(/[|]/g, "\\|");
107
142
  const arrow = escapedCondition ? `-->|${escapedCondition}|` : "-->";
@@ -121,123 +156,3 @@ export class GraphVisualizer<T extends ZodSchema> {
121
156
  };
122
157
  }
123
158
  }
124
-
125
- // Example usage
126
- const graph = new GraphFlow("CryptoTradeAssistant", {
127
- name: "CryptoTradeAssistant",
128
- entryNode: "Initialize",
129
- nodes: [
130
- {
131
- name: "Initialize",
132
- execute: async (context) => {
133
- context.walletBalance = 1000;
134
- context.targetPrice = 2000;
135
- context.gasFees = 50;
136
- context.isWalletConnected = false;
137
- console.log("Initializing crypto assistant");
138
- },
139
- next: ["ConnectWallet"],
140
- },
141
- {
142
- name: "ConnectWallet",
143
- execute: async (context) => {
144
- context.isWalletConnected = true;
145
- console.log("Connecting wallet");
146
- },
147
- next: ["CheckMarketConditions"],
148
- events: ["walletConnected"],
149
- },
150
- {
151
- name: "CheckMarketConditions",
152
- execute: async (context) => {
153
- context.currentPrice = 1950;
154
- context.marketVolatility = "low";
155
- context.hasLiquidity = true;
156
- console.log("Checking market conditions");
157
- },
158
- next: [
159
- {
160
- node: "PrepareTransaction",
161
- condition: (ctx) =>
162
- ctx.isWalletConnected &&
163
- ctx.currentPrice < ctx.targetPrice &&
164
- ctx.hasLiquidity,
165
- },
166
- {
167
- node: "WaitForBetterConditions",
168
- condition: (ctx) =>
169
- !ctx.hasLiquidity || ctx.currentPrice >= ctx.targetPrice,
170
- },
171
- ],
172
- events: ["priceUpdate", "liquidityUpdate"],
173
- },
174
- {
175
- name: "WaitForBetterConditions",
176
- execute: async () => console.log("Waiting for better conditions"),
177
- next: ["CheckMarketConditions"],
178
- events: ["marketUpdate"],
179
- },
180
- {
181
- name: "PrepareTransaction",
182
- execute: async (context) => {
183
- context.txHash = "0x123...";
184
- context.estimatedGas = 45;
185
- console.log("Preparing transaction");
186
- },
187
- next: [
188
- {
189
- node: "ExecuteTransaction",
190
- condition: (ctx) => ctx.estimatedGas < ctx.gasFees,
191
- },
192
- {
193
- node: "WaitForBetterConditions",
194
- condition: (ctx) => ctx.estimatedGas >= ctx.gasFees,
195
- },
196
- ],
197
- },
198
- {
199
- name: "ExecuteTransaction",
200
- execute: async (context) => {
201
- context.txStatus = "pending";
202
- console.log("Executing transaction");
203
- },
204
- next: ["MonitorTransaction"],
205
- events: ["txSubmitted"],
206
- },
207
- {
208
- name: "MonitorTransaction",
209
- execute: async (context) => {
210
- context.txStatus = "confirmed";
211
- context.walletBalance = context.walletBalance - context.currentPrice;
212
- console.log("Monitoring transaction");
213
- },
214
- next: ["NotifyUser"],
215
- events: ["txConfirmed", "txFailed"],
216
- },
217
- {
218
- name: "NotifyUser",
219
- execute: async (context) => {
220
- context.notificationSent = true;
221
- console.log("Notifying user");
222
- },
223
- next: ["CheckMarketConditions"],
224
- },
225
- ],
226
- context: {},
227
- schema: z.object({
228
- walletBalance: z.number().optional(),
229
- targetPrice: z.number().optional(),
230
- currentPrice: z.number().optional(),
231
- gasFees: z.number().optional(),
232
- estimatedGas: z.number().optional(),
233
- isWalletConnected: z.boolean().optional(),
234
- marketVolatility: z.string().optional(),
235
- hasLiquidity: z.boolean().optional(),
236
- txHash: z.string().optional(),
237
- txStatus: z.string().optional(),
238
- notificationSent: z.boolean().optional(),
239
- }),
240
- });
241
-
242
- const visualizer = graph.createVisualizer();
243
- console.log(visualizer.toMermaid());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai.ntellect/core",
3
- "version": "0.7.12",
3
+ "version": "0.7.14",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -56,12 +56,14 @@ describe("GraphController", () => {
56
56
  );
57
57
 
58
58
  expect(results).to.have.length(3);
59
- expect(results[0].counter).to.equal(10);
60
- expect(results[1].counter).to.equal(20);
61
- expect(results[2].counter).to.equal(30);
62
- expect(results[0].message).to.equal("test1-graph1");
63
- expect(results[1].message).to.equal("test2-graph2");
64
- expect(results[2].message).to.equal("test3-graph3");
59
+ expect(results[0].context.counter).to.equal(10);
60
+ expect(results[1].context.counter).to.equal(20);
61
+ expect(results[2].context.counter).to.equal(30);
62
+ expect(results[0].context.message).to.equal("test1-graph1");
63
+ expect(results[1].context.message).to.equal("test2-graph2");
64
+ expect(results[2].context.message).to.equal("test3-graph3");
65
+ expect(results[0].graphName).to.equal("graph1");
66
+ expect(results[0].nodeName).to.equal("start");
65
67
  });
66
68
 
67
69
  it("should handle missing params and params gracefully", async () => {
@@ -74,10 +76,10 @@ describe("GraphController", () => {
74
76
  );
75
77
 
76
78
  expect(results).to.have.length(2);
77
- expect(results[0].counter).to.equal(0);
78
- expect(results[1].counter).to.equal(0);
79
- expect(results[0].message).to.equal("graph1");
80
- expect(results[1].message).to.equal("graph2");
79
+ expect(results[0].context.counter).to.equal(0);
80
+ expect(results[1].context.counter).to.equal(0);
81
+ expect(results[0].context.message).to.equal("graph1");
82
+ expect(results[1].context.message).to.equal("graph2");
81
83
  });
82
84
  });
83
85
 
@@ -111,8 +113,8 @@ describe("GraphController", () => {
111
113
  expect(executionTime).to.be.greaterThan(0);
112
114
  expect(results).to.have.length(5);
113
115
  results.forEach((result, i) => {
114
- expect(result.counter).to.equal((i + 1) * 10);
115
- expect(result.message).to.equal(`test${i + 1}-graph${i + 1}`);
116
+ expect(result.context.counter).to.equal((i + 1) * 10);
117
+ expect(result.context.message).to.equal(`test${i + 1}-graph${i + 1}`);
116
118
  });
117
119
  });
118
120
 
@@ -175,8 +177,10 @@ describe("GraphController", () => {
175
177
 
176
178
  const allResults = [...parallelResults, ...sequentialResults];
177
179
  expect(allResults).to.have.length(4);
178
- expect(allResults.map((r) => r.counter)).to.deep.equal([10, 20, 30, 40]);
179
- expect(allResults.map((r) => r.message)).to.deep.equal([
180
+ expect(allResults.map((r) => r.context.counter)).to.deep.equal([
181
+ 10, 20, 30, 40,
182
+ ]);
183
+ expect(allResults.map((r) => r.context.message)).to.deep.equal([
180
184
  "parallel1-graph1",
181
185
  "parallel2-graph2",
182
186
  "seq1-graph3",
@@ -540,8 +540,8 @@ describe("GraphFlow", function () {
540
540
  [{}, {}]
541
541
  );
542
542
 
543
- expect(results[0].value).to.equal(2); // Graph1: 1 * 2
544
- expect(results[1].value).to.equal(5); // Graph2: 2 + 3
543
+ expect(results[0].context.value).to.equal(2); // Graph1: 1 * 2
544
+ expect(results[1].context.value).to.equal(5); // Graph2: 2 + 3
545
545
  });
546
546
 
547
547
  /**
@@ -587,8 +587,8 @@ describe("GraphFlow", function () {
587
587
  [{}, {}]
588
588
  );
589
589
 
590
- expect(results[0].value).to.equal(2); // Graph1: 1 * 2
591
- expect(results[1].value).to.equal(5); // Graph2: 3 + 2
590
+ expect(results[0].context.value).to.equal(2); // Graph1: 1 * 2
591
+ expect(results[1].context.value).to.equal(5); // Graph2: 3 + 2
592
592
  });
593
593
 
594
594
  /**
package/tsconfig.json CHANGED
@@ -12,7 +12,12 @@
12
12
  "baseUrl": ".",
13
13
  "outDir": "./dist",
14
14
  "types": ["node", "mocha"],
15
- "resolveJsonModule": true
15
+ "resolveJsonModule": true,
16
+ "paths": {
17
+ "@/*": ["./*"]
18
+ },
19
+ "jsx": "preserve",
20
+ "lib": ["dom", "dom.iterable", "esnext"]
16
21
  },
17
22
  "include": [
18
23
  "index.ts",
package/types/index.ts CHANGED
@@ -155,6 +155,16 @@ export type GraphConfig<T extends ZodSchema> = {
155
155
  events?: string[];
156
156
  };
157
157
 
158
+ /**
159
+ * Type for graph execution result
160
+ * @template T - Schema type
161
+ */
162
+ export type GraphExecutionResult<T extends ZodSchema> = {
163
+ graphName: string;
164
+ nodeName: string;
165
+ context: GraphContext<T>;
166
+ };
167
+
158
168
  /* ======================== MEILISEARCH ======================== */
159
169
 
160
170
  /**