mcpgraph 0.1.15 → 0.1.16

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.
Files changed (58) hide show
  1. package/README.md +26 -1
  2. package/dist/api.d.ts +13 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +40 -0
  5. package/dist/api.js.map +1 -1
  6. package/dist/config/expression-validator.d.ts +12 -0
  7. package/dist/config/expression-validator.d.ts.map +1 -0
  8. package/dist/config/expression-validator.js +77 -0
  9. package/dist/config/expression-validator.js.map +1 -0
  10. package/dist/config/parser.d.ts.map +1 -1
  11. package/dist/config/parser.js +9 -0
  12. package/dist/config/parser.js.map +1 -1
  13. package/dist/execution/context.d.ts +27 -3
  14. package/dist/execution/context.d.ts.map +1 -1
  15. package/dist/execution/context.js +52 -9
  16. package/dist/execution/context.js.map +1 -1
  17. package/dist/execution/executor.d.ts.map +1 -1
  18. package/dist/execution/executor.js +11 -12
  19. package/dist/execution/executor.js.map +1 -1
  20. package/dist/execution/nodes/entry-executor.d.ts.map +1 -1
  21. package/dist/execution/nodes/entry-executor.js +1 -2
  22. package/dist/execution/nodes/entry-executor.js.map +1 -1
  23. package/dist/execution/nodes/exit-executor.d.ts +1 -1
  24. package/dist/execution/nodes/exit-executor.d.ts.map +1 -1
  25. package/dist/execution/nodes/exit-executor.js +9 -7
  26. package/dist/execution/nodes/exit-executor.js.map +1 -1
  27. package/dist/execution/nodes/mcp-tool-executor.d.ts +1 -1
  28. package/dist/execution/nodes/mcp-tool-executor.d.ts.map +1 -1
  29. package/dist/execution/nodes/mcp-tool-executor.js +5 -4
  30. package/dist/execution/nodes/mcp-tool-executor.js.map +1 -1
  31. package/dist/execution/nodes/switch-executor.d.ts +1 -1
  32. package/dist/execution/nodes/switch-executor.d.ts.map +1 -1
  33. package/dist/execution/nodes/switch-executor.js +13 -8
  34. package/dist/execution/nodes/switch-executor.js.map +1 -1
  35. package/dist/execution/nodes/transform-executor.d.ts +1 -1
  36. package/dist/execution/nodes/transform-executor.d.ts.map +1 -1
  37. package/dist/execution/nodes/transform-executor.js +5 -4
  38. package/dist/execution/nodes/transform-executor.js.map +1 -1
  39. package/dist/expressions/json-logic.d.ts +11 -2
  40. package/dist/expressions/json-logic.d.ts.map +1 -1
  41. package/dist/expressions/json-logic.js +98 -16
  42. package/dist/expressions/json-logic.js.map +1 -1
  43. package/dist/expressions/jsonata-extensions.d.ts +10 -0
  44. package/dist/expressions/jsonata-extensions.d.ts.map +1 -0
  45. package/dist/expressions/jsonata-extensions.js +69 -0
  46. package/dist/expressions/jsonata-extensions.js.map +1 -0
  47. package/dist/expressions/jsonata.d.ts +8 -1
  48. package/dist/expressions/jsonata.d.ts.map +1 -1
  49. package/dist/expressions/jsonata.js +72 -12
  50. package/dist/expressions/jsonata.js.map +1 -1
  51. package/dist/types/execution.d.ts +1 -1
  52. package/dist/types/execution.d.ts.map +1 -1
  53. package/docs/design.md +5 -0
  54. package/docs/execution-context-redesign.md +284 -0
  55. package/docs/introspection-debugging.md +28 -1
  56. package/examples/api-usage.ts +54 -1
  57. package/examples/loop_example.yaml +84 -0
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -94,14 +94,39 @@ This graph:
94
94
  ## Node Types
95
95
 
96
96
  - **`entry`**: Entry point for a tool's graph execution. Receives tool arguments.
97
+ - **Output**: The tool input arguments (passed through as-is)
97
98
  - **`mcp`**: Calls an MCP tool on an internal or external MCP server.
99
+ - **Output**: The MCP tool's response (parsed from the tool's content)
98
100
  - **`transform`**: Applies [JSONata](https://jsonata.org/) expressions to transform data between nodes.
101
+ - **Output**: The result of evaluating the JSONata expression
99
102
  - **`switch`**: Uses [JSON Logic](https://jsonlogic.com/) to conditionally route to different nodes. Note: `var` operations in JSON Logic rules are evaluated using JSONata, allowing full JSONata expression support.
103
+ - **Output**: The node ID of the target node that was routed to (string)
100
104
  - **`exit`**: Exit point that returns the final result to the MCP tool caller.
105
+ - **Output**: The output from the previous node in the execution history
106
+
107
+ ## Execution History & Debugging
108
+
109
+ mcpGraph maintains a complete execution history for each tool execution, enabling powerful debugging and introspection capabilities:
110
+
111
+ - **Execution History**: Every node execution is recorded with timing, inputs, outputs, and a unique `executionIndex`
112
+ - **Time-Travel Debugging**: Get the context that was available to any specific execution using `getContextForExecution(executionIndex)`
113
+ - **History Functions**: Use JSONata functions to access execution history:
114
+ - `$previousNode()` - Get the previous node's output
115
+ - `$executionCount(nodeName)` - Count how many times a node executed
116
+ - `$nodeExecution(nodeName, index)` - Get a specific execution of a node
117
+ - `$nodeExecutions(nodeName)` - Get all executions of a node as an array
118
+ - **Loop Support**: Nodes can execute multiple times in loops, with each execution tracked separately
119
+
120
+ See [docs/introspection-debugging.md](docs/introspection-debugging.md) for detailed documentation on debugging features.
101
121
 
102
122
  **Context Access:**
103
123
  - All node outputs are accessible by node ID (e.g., `$.entry_count_files.directory`, `$.list_directory_node`)
104
- - The `$previousNode()` function is available in all JSONata expressions to access the output of the node that executed immediately before the current node
124
+ - History functions are available in all JSONata expressions:
125
+ - `$previousNode()` - Get the previous node's output
126
+ - `$previousNode(index)` - Get the node that executed N steps before current
127
+ - `$executionCount(nodeName)` - Count executions of a node
128
+ - `$nodeExecution(nodeName, index)` - Get a specific execution of a node
129
+ - `$nodeExecutions(nodeName)` - Get all executions of a node as an array
105
130
 
106
131
  ## For Developers
107
132
 
package/dist/api.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { McpGraphConfig } from './types/config.js';
10
10
  import { type ValidationError } from './graph/validator.js';
11
- import type { ExecutionOptions, ExecutionResult as CoreExecutionResult, ExecutionController, ExecutionState } from './types/execution.js';
11
+ import type { ExecutionOptions, ExecutionResult as CoreExecutionResult, ExecutionController, ExecutionState, NodeExecutionRecord } from './types/execution.js';
12
12
  export type { NodeDefinition, McpGraphConfig } from './types/config.js';
13
13
  export type { ExecutionOptions, ExecutionHooks, ExecutionController, ExecutionState, ExecutionStatus, NodeExecutionRecord, ExecutionTelemetry, } from './types/execution.js';
14
14
  export interface ToolInfo {
@@ -70,6 +70,18 @@ export declare class McpGraphApi {
70
70
  * Get the current execution state (if execution is in progress)
71
71
  */
72
72
  getExecutionState(): ExecutionState | null;
73
+ /**
74
+ * Get the context that was available to a specific execution (for debugging)
75
+ * @param executionIndex - The execution index to get context for
76
+ * @returns Context object that was available to that execution, or null if execution not found
77
+ */
78
+ getContextForExecution(executionIndex: number): Record<string, unknown> | null;
79
+ /**
80
+ * Get a specific execution record by index
81
+ * @param executionIndex - The execution index
82
+ * @returns Execution record or null if not found
83
+ */
84
+ getExecutionByIndex(executionIndex: number): NodeExecutionRecord | null;
73
85
  /**
74
86
  * Get the full configuration
75
87
  */
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,IAAI,mBAAmB,EACtC,mBAAmB,EACnB,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC9C;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,aAAa,CAAmB;IAExC;;;;OAIG;gBACS,UAAU,EAAE,MAAM;IAmB9B;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;IAQvE;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE;IASvB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAc/C;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAC3C,OAAO,CAAC,EAAE,gBAAgB,GACzB;QAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE;IAmBhF;;;OAGG;IACH,aAAa,IAAI,mBAAmB,GAAG,IAAI;IAI3C;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAY1C;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE;IAK5D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG;QAChD,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,eAAe,EAAE,CAAC;KAC3B;IAMD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,IAAI,mBAAmB,EACtC,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC9C;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,aAAa,CAAmB;IAExC;;;;OAIG;gBACS,UAAU,EAAE,MAAM;IAmB9B;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;IAQvE;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE;IASvB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAc/C;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAC3C,OAAO,CAAC,EAAE,gBAAgB,GACzB;QAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE;IAmBhF;;;OAGG;IACH,aAAa,IAAI,mBAAmB,GAAG,IAAI;IAI3C;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAY1C;;;;OAIG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAe9E;;;;OAIG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAevE;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE;IAK5D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG;QAChD,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,eAAe,EAAE,CAAC;KAC3B;IAMD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
package/dist/api.js CHANGED
@@ -118,6 +118,46 @@ export class McpGraphApi {
118
118
  return null;
119
119
  }
120
120
  }
121
+ /**
122
+ * Get the context that was available to a specific execution (for debugging)
123
+ * @param executionIndex - The execution index to get context for
124
+ * @returns Context object that was available to that execution, or null if execution not found
125
+ */
126
+ getContextForExecution(executionIndex) {
127
+ const controller = this.executor.getController();
128
+ if (!controller) {
129
+ return null;
130
+ }
131
+ try {
132
+ const state = controller.getState();
133
+ const context = state.context;
134
+ return context.getContextForExecution(executionIndex);
135
+ }
136
+ catch (error) {
137
+ logger.error(`Error getting context for execution ${executionIndex}: ${error instanceof Error ? error.message : String(error)}`);
138
+ return null;
139
+ }
140
+ }
141
+ /**
142
+ * Get a specific execution record by index
143
+ * @param executionIndex - The execution index
144
+ * @returns Execution record or null if not found
145
+ */
146
+ getExecutionByIndex(executionIndex) {
147
+ const controller = this.executor.getController();
148
+ if (!controller) {
149
+ return null;
150
+ }
151
+ try {
152
+ const state = controller.getState();
153
+ const context = state.context;
154
+ return context.getExecutionByIndex(executionIndex) || null;
155
+ }
156
+ catch (error) {
157
+ logger.error(`Error getting execution ${executionIndex}: ${error instanceof Error ? error.message : String(error)}`);
158
+ return null;
159
+ }
160
+ }
121
161
  /**
122
162
  * Get the full configuration
123
163
  */
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Expression syntax validation for mcpGraph configuration
3
+ */
4
+ import type { McpGraphConfig } from "../types/config.js";
5
+ import type { ValidationError } from "../graph/validator.js";
6
+ /**
7
+ * Validate all expressions in the configuration (JSONata and JSON Logic)
8
+ * @param config - The configuration to validate
9
+ * @returns Array of validation errors (empty if all valid)
10
+ */
11
+ export declare function validateConfigExpressions(config: McpGraphConfig): ValidationError[];
12
+ //# sourceMappingURL=expression-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-validator.d.ts","sourceRoot":"","sources":["../../src/config/expression-validator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,EAAE,CAgBnF"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Expression syntax validation for mcpGraph configuration
3
+ */
4
+ import { validateJsonataSyntax } from "../expressions/jsonata.js";
5
+ import { validateJsonLogicSyntax } from "../expressions/json-logic.js";
6
+ /**
7
+ * Validate all expressions in the configuration (JSONata and JSON Logic)
8
+ * @param config - The configuration to validate
9
+ * @returns Array of validation errors (empty if all valid)
10
+ */
11
+ export function validateConfigExpressions(config) {
12
+ const errors = [];
13
+ for (const node of config.nodes) {
14
+ try {
15
+ validateNodeExpressions(node, config);
16
+ }
17
+ catch (error) {
18
+ const errorMessage = error instanceof Error ? error.message : String(error);
19
+ errors.push({
20
+ message: errorMessage,
21
+ nodeId: node.id,
22
+ });
23
+ }
24
+ }
25
+ return errors;
26
+ }
27
+ /**
28
+ * Validate expressions in a single node
29
+ */
30
+ function validateNodeExpressions(node, config) {
31
+ switch (node.type) {
32
+ case "transform":
33
+ // Validate transform expression
34
+ try {
35
+ validateJsonataSyntax(node.transform.expr);
36
+ }
37
+ catch (error) {
38
+ const errorMessage = error instanceof Error ? error.message : String(error);
39
+ throw new Error(`Invalid JSONata syntax in transform expression: ${errorMessage}`);
40
+ }
41
+ break;
42
+ case "mcp":
43
+ // Validate any JSONata expressions in args
44
+ for (const [key, value] of Object.entries(node.args)) {
45
+ if (typeof value === "string" && value.startsWith("$")) {
46
+ try {
47
+ validateJsonataSyntax(value);
48
+ }
49
+ catch (error) {
50
+ const errorMessage = error instanceof Error ? error.message : String(error);
51
+ throw new Error(`Invalid JSONata syntax in args.${key}: ${errorMessage}`);
52
+ }
53
+ }
54
+ }
55
+ break;
56
+ case "switch":
57
+ // Validate JSON Logic rules in conditions
58
+ for (let i = 0; i < node.conditions.length; i++) {
59
+ const condition = node.conditions[i];
60
+ if (condition.rule !== undefined && condition.rule !== null) {
61
+ try {
62
+ validateJsonLogicSyntax(condition.rule);
63
+ }
64
+ catch (error) {
65
+ const errorMessage = error instanceof Error ? error.message : String(error);
66
+ throw new Error(`Invalid JSON Logic syntax in condition ${i + 1}: ${errorMessage}`);
67
+ }
68
+ }
69
+ }
70
+ break;
71
+ case "entry":
72
+ case "exit":
73
+ // No expressions to validate
74
+ break;
75
+ }
76
+ }
77
+ //# sourceMappingURL=expression-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../src/config/expression-validator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAgBhE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CA6BhE"}
@@ -5,12 +5,21 @@ import { load } from "js-yaml";
5
5
  import { readFileSync } from "node:fs";
6
6
  import { mcpGraphConfigSchema } from "./schema.js";
7
7
  import { logger } from "../logger.js";
8
+ import { validateConfigExpressions } from "./expression-validator.js";
8
9
  export function parseYamlConfig(filePath) {
9
10
  try {
10
11
  const fileContents = readFileSync(filePath, "utf-8");
11
12
  const parsed = load(fileContents);
12
13
  // Validate against schema
13
14
  const validated = mcpGraphConfigSchema.parse(parsed);
15
+ // Validate expression syntax (JSONata and JSON Logic)
16
+ const expressionErrors = validateConfigExpressions(validated);
17
+ if (expressionErrors.length > 0) {
18
+ const errorMessages = expressionErrors.map((e) => ` - Node "${e.nodeId}": ${e.message}`).join("\n");
19
+ const error = new Error(`Configuration validation failed - expression syntax errors:\n${errorMessages}`);
20
+ logger.error(error.message);
21
+ throw error;
22
+ }
14
23
  return validated;
15
24
  }
16
25
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAY,CAAC;QAE7C,0BAA0B;QAC1B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErD,OAAO,SAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAY,CAAC;QAE7C,0BAA0B;QAC1B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErD,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAA2B,CAAC,CAAC;QAChF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,gEAAgE,aAAa,EAAE,CAChF,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,SAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -4,12 +4,36 @@
4
4
  import type { ExecutionContext as ExprContext } from "../expressions/context.js";
5
5
  import type { NodeExecutionRecord } from "../types/execution.js";
6
6
  export declare class ExecutionContext {
7
- private data;
8
7
  private history;
9
8
  constructor(toolInput: Record<string, unknown>);
9
+ /**
10
+ * Build context from history up to a specific index (for debugging) or entire history (for current execution)
11
+ * @param upToIndex - If provided, build context from history up to this index (exclusive). If not provided, use entire history.
12
+ * @returns Context object with node outputs (latest execution wins for each node)
13
+ */
14
+ private buildContextFromHistory;
15
+ /**
16
+ * Get the current execution context (built from entire history)
17
+ * Called once per node execution when the node starts
18
+ */
10
19
  getData(): ExprContext;
11
- setNodeOutput(nodeId: string, output: unknown): void;
12
- addHistory(nodeId: string, nodeType: string, input: unknown, output: unknown, startTime: number, endTime: number, error?: Error): void;
20
+ /**
21
+ * Get the context that was available to a specific execution (for debugging)
22
+ * @param executionIndex - The execution index to build context for
23
+ * @returns Context object that was available to that execution
24
+ */
25
+ getContextForExecution(executionIndex: number): ExprContext;
26
+ /**
27
+ * Get a specific execution record by index
28
+ */
29
+ getExecutionByIndex(executionIndex: number): NodeExecutionRecord | undefined;
30
+ /**
31
+ * Get the previous node execution record
32
+ * @param currentIndex - Current execution index
33
+ * @returns Previous execution record or null if this is the first execution
34
+ */
35
+ getPreviousNode(currentIndex: number): NodeExecutionRecord | null;
36
+ addHistory(nodeId: string, nodeType: string, output: unknown, startTime: number, endTime: number, error?: Error): void;
13
37
  getHistory(): NodeExecutionRecord[];
14
38
  }
15
39
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/execution/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM9C,OAAO,IAAI,WAAW;IAItB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAKpD,UAAU,CACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI;IAaP,UAAU,IAAI,mBAAmB,EAAE;CAGpC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/execution/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAK9C;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;OAGG;IACH,OAAO,IAAI,WAAW;IAItB;;;;OAIG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAS3D;;OAEG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI5E;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIjE,UAAU,CACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI;IAcP,UAAU,IAAI,mBAAmB,EAAE;CAGpC"}
@@ -2,25 +2,68 @@
2
2
  * Execution context for graph execution
3
3
  */
4
4
  export class ExecutionContext {
5
- data;
6
5
  history;
7
6
  constructor(toolInput) {
8
- // Initialize empty context - tool input will be stored by entry node
9
- this.data = {};
7
+ // Initialize empty history - tool input will be stored by entry node
10
8
  this.history = [];
11
9
  }
10
+ /**
11
+ * Build context from history up to a specific index (for debugging) or entire history (for current execution)
12
+ * @param upToIndex - If provided, build context from history up to this index (exclusive). If not provided, use entire history.
13
+ * @returns Context object with node outputs (latest execution wins for each node)
14
+ */
15
+ buildContextFromHistory(upToIndex) {
16
+ const context = {};
17
+ const endIndex = upToIndex !== undefined ? upToIndex : this.history.length;
18
+ // Walk backwards through history up to endIndex, most recent execution of each node wins
19
+ for (let i = endIndex - 1; i >= 0; i--) {
20
+ const record = this.history[i];
21
+ if (!(record.nodeId in context)) {
22
+ context[record.nodeId] = record.output;
23
+ }
24
+ }
25
+ return context;
26
+ }
27
+ /**
28
+ * Get the current execution context (built from entire history)
29
+ * Called once per node execution when the node starts
30
+ */
12
31
  getData() {
13
- return this.data;
32
+ return this.buildContextFromHistory();
33
+ }
34
+ /**
35
+ * Get the context that was available to a specific execution (for debugging)
36
+ * @param executionIndex - The execution index to build context for
37
+ * @returns Context object that was available to that execution
38
+ */
39
+ getContextForExecution(executionIndex) {
40
+ if (executionIndex < 0 || executionIndex >= this.history.length) {
41
+ throw new Error(`Invalid execution index: ${executionIndex}`);
42
+ }
43
+ // Build context from history up to (but not including) this execution
44
+ // The context for execution N is built from executions 0 to N-1
45
+ return this.buildContextFromHistory(executionIndex);
46
+ }
47
+ /**
48
+ * Get a specific execution record by index
49
+ */
50
+ getExecutionByIndex(executionIndex) {
51
+ return this.history[executionIndex];
14
52
  }
15
- setNodeOutput(nodeId, output) {
16
- // Store output with node ID as key for reference
17
- this.data[nodeId] = output;
53
+ /**
54
+ * Get the previous node execution record
55
+ * @param currentIndex - Current execution index
56
+ * @returns Previous execution record or null if this is the first execution
57
+ */
58
+ getPreviousNode(currentIndex) {
59
+ return currentIndex > 0 ? this.history[currentIndex - 1] : null;
18
60
  }
19
- addHistory(nodeId, nodeType, input, output, startTime, endTime, error) {
61
+ addHistory(nodeId, nodeType, output, startTime, endTime, error) {
62
+ const executionIndex = this.history.length;
20
63
  this.history.push({
64
+ executionIndex,
21
65
  nodeId,
22
66
  nodeType,
23
- input,
24
67
  output,
25
68
  startTime,
26
69
  endTime,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/execution/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,OAAO,gBAAgB;IACnB,IAAI,CAAc;IAClB,OAAO,CAAwB;IAEvC,YAAY,SAAkC;QAC5C,qEAAqE;QACrE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAe;QAC3C,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,UAAU,CACR,MAAc,EACd,QAAgB,EAChB,KAAc,EACd,MAAe,EACf,SAAiB,EACjB,OAAe,EACf,KAAa;QAEb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,MAAM;YACN,QAAQ;YACR,KAAK;YACL,MAAM;YACN,SAAS;YACT,OAAO;YACP,QAAQ,EAAE,OAAO,GAAG,SAAS;YAC7B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/execution/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,OAAO,gBAAgB;IACnB,OAAO,CAAwB;IAEvC,YAAY,SAAkC;QAC5C,qEAAqE;QACrE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,SAAkB;QAChD,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAE3E,yFAAyF;QACzF,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,cAAsB;QAC3C,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,sEAAsE;QACtE,gEAAgE;QAChE,OAAO,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,cAAsB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAoB;QAClC,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,UAAU,CACR,MAAc,EACd,QAAgB,EAChB,MAAe,EACf,SAAiB,EACjB,OAAe,EACf,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,cAAc;YACd,MAAM;YACN,QAAQ;YACR,MAAM;YACN,SAAS;YACT,OAAO;YACP,QAAQ,EAAE,OAAO,GAAG,SAAS;YAC7B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/execution/executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AACvG,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAGf,mBAAmB,IAAI,oBAAoB,EAC5C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQ1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,UAAU,CAAoC;gBAE1C,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB;IAMnE,aAAa,IAAI,oBAAoB,GAAG,IAAI;IAI5C,QAAQ,IAAI,KAAK;IAIjB,SAAS,IAAI,cAAc;IAI3B,OAAO,CAAC,eAAe;IAOjB,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;IAiT3B,OAAO,CAAC,cAAc;CAgCvB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/execution/executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AACvG,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAGf,mBAAmB,IAAI,oBAAoB,EAC5C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQ1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,UAAU,CAAoC;gBAE1C,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB;IAMnE,aAAa,IAAI,oBAAoB,GAAG,IAAI;IAI5C,QAAQ,IAAI,KAAK;IAIjB,SAAS,IAAI,cAAc;IAI3B,OAAO,CAAC,eAAe;IAOjB,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;IA+S3B,OAAO,CAAC,cAAc;CAgCvB"}
@@ -79,7 +79,6 @@ export class GraphExecutor {
79
79
  this.controller.setStatus("running");
80
80
  }
81
81
  // Execute nodes until we reach the exit node
82
- let previousNodeId = null;
83
82
  while (true) {
84
83
  // Check for stop request before processing next node
85
84
  if (this.controller && this.controller.shouldStop()) {
@@ -160,6 +159,8 @@ export class GraphExecutor {
160
159
  }
161
160
  logger.debug(`Executing node: ${currentNodeId} (type: ${node.type})`);
162
161
  const nodeStartTime = Date.now();
162
+ // Capture input context before node executes (only if hooks are provided)
163
+ const inputContext = hooks?.onNodeComplete ? context.getData() : undefined;
163
164
  let result;
164
165
  let nodeError;
165
166
  try {
@@ -168,10 +169,10 @@ export class GraphExecutor {
168
169
  result = executeEntryNode(node, toolInput, context, nodeStartTime);
169
170
  break;
170
171
  case "exit":
171
- result = executeExitNode(node, context, previousNodeId, nodeStartTime);
172
+ result = executeExitNode(node, context, nodeStartTime);
172
173
  // Call onNodeComplete hook for exit node
173
- if (hooks?.onNodeComplete) {
174
- await hooks.onNodeComplete(currentNodeId, node, context.getData(), result.output, Date.now() - nodeStartTime);
174
+ if (hooks?.onNodeComplete && inputContext !== undefined) {
175
+ await hooks.onNodeComplete(currentNodeId, node, inputContext, result.output, Date.now() - nodeStartTime);
175
176
  }
176
177
  if (this.controller) {
177
178
  this.controller.setStatus("finished");
@@ -187,7 +188,7 @@ export class GraphExecutor {
187
188
  telemetry,
188
189
  };
189
190
  case "transform":
190
- result = await executeTransformNode(node, context, previousNodeId, nodeStartTime);
191
+ result = await executeTransformNode(node, context, nodeStartTime);
191
192
  break;
192
193
  case "mcp":
193
194
  // Check for stop before starting MCP call (which may take time)
@@ -199,7 +200,7 @@ export class GraphExecutor {
199
200
  throw new Error("Execution was stopped");
200
201
  }
201
202
  const serverConfig = this.getServerConfig(node.server);
202
- result = await executeMcpToolNode(node, context, this.clientManager, serverConfig, previousNodeId, nodeStartTime);
203
+ result = await executeMcpToolNode(node, context, this.clientManager, serverConfig, nodeStartTime);
203
204
  // Check for stop after MCP call completes
204
205
  if (this.controller && this.controller.shouldStop()) {
205
206
  if (this.controller) {
@@ -210,14 +211,14 @@ export class GraphExecutor {
210
211
  }
211
212
  break;
212
213
  case "switch":
213
- result = await executeSwitchNode(node, context, previousNodeId, nodeStartTime);
214
+ result = await executeSwitchNode(node, context, nodeStartTime);
214
215
  break;
215
216
  default:
216
217
  throw new Error(`Unknown node type: ${node.type}`);
217
218
  }
218
219
  // Call onNodeComplete hook
219
- if (hooks?.onNodeComplete) {
220
- await hooks.onNodeComplete(currentNodeId, node, context.getData(), result.output, Date.now() - nodeStartTime);
220
+ if (hooks?.onNodeComplete && inputContext !== undefined) {
221
+ await hooks.onNodeComplete(currentNodeId, node, inputContext, result.output, Date.now() - nodeStartTime);
221
222
  }
222
223
  // Mark step complete if stepping
223
224
  if (this.controller) {
@@ -231,7 +232,7 @@ export class GraphExecutor {
231
232
  const history = context.getHistory();
232
233
  const lastRecord = history[history.length - 1];
233
234
  if (!lastRecord || lastRecord.nodeId !== currentNodeId) {
234
- context.addHistory(currentNodeId, node.type, context.getData(), null, nodeStartTime, nodeEndTime, nodeError);
235
+ context.addHistory(currentNodeId, node.type, null, nodeStartTime, nodeEndTime, nodeError);
235
236
  }
236
237
  // Call onNodeError hook
237
238
  if (hooks?.onNodeError) {
@@ -244,8 +245,6 @@ export class GraphExecutor {
244
245
  throw nodeError;
245
246
  }
246
247
  if (result.nextNode) {
247
- // Update previous node ID before moving to next node
248
- previousNodeId = currentNodeId;
249
248
  currentNodeId = result.nextNode;
250
249
  // If next node is the exit node, continue to process it in next iteration
251
250
  if (currentNodeId === exitNode.id) {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/execution/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/execution/executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-executor.d.ts","sourceRoot":"","sources":["../../../src/execution/nodes/entry-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAevC"}
1
+ {"version":3,"file":"entry-executor.d.ts","sourceRoot":"","sources":["../../../src/execution/nodes/entry-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAcvC"}
@@ -8,8 +8,7 @@ export function executeEntryNode(node, toolInput, context, startTime) {
8
8
  // The input is already in the context, so we just pass it through
9
9
  const output = toolInput;
10
10
  const endTime = Date.now();
11
- context.setNodeOutput(node.id, output);
12
- context.addHistory(node.id, "entry", toolInput, output, startTime, endTime);
11
+ context.addHistory(node.id, "entry", output, startTime, endTime);
13
12
  return {
14
13
  output,
15
14
  nextNode: node.next,
@@ -1 +1 @@
1
- {"version":3,"file":"entry-executor.js","sourceRoot":"","sources":["../../../src/execution/nodes/entry-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAC9B,IAAe,EACf,SAAkC,EAClC,OAAyB,EACzB,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjD,yDAAyD;IACzD,kEAAkE;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"entry-executor.js","sourceRoot":"","sources":["../../../src/execution/nodes/entry-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAC9B,IAAe,EACf,SAAkC,EAClC,OAAyB,EACzB,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjD,yDAAyD;IACzD,kEAAkE;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAEjE,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { ExitNode } from "../../types/config.js";
5
5
  import type { ExecutionContext } from "../context.js";
6
- export declare function executeExitNode(node: ExitNode, context: ExecutionContext, previousNodeId: string | null, startTime: number): {
6
+ export declare function executeExitNode(node: ExitNode, context: ExecutionContext, startTime: number): {
7
7
  output: unknown;
8
8
  };
9
9
  //# sourceMappingURL=exit-executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit-executor.d.ts","sourceRoot":"","sources":["../../../src/execution/nodes/exit-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAuBrB"}
1
+ {"version":3,"file":"exit-executor.d.ts","sourceRoot":"","sources":["../../../src/execution/nodes/exit-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CA0BrB"}