@decaf-ts/integrations 0.3.11 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integrations.cjs +1 -1
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +26 -29
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +20 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +126 -0
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +19 -0
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +21 -4
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/index.cjs +1 -0
- package/lib/cjs/graph/engine/execution/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/index.cjs +1 -0
- package/lib/cjs/graph/engine/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +1 -0
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +91 -9
- package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +1 -1
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +39 -50
- package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +45 -40
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +0 -18
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +11 -46
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphResultService.cjs +54 -0
- package/lib/cjs/nest/graph/GraphResultService.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +44 -0
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs +62 -0
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -0
- package/lib/cjs/nest/graph/index.cjs +3 -6
- package/lib/cjs/nest/graph/index.cjs.map +1 -1
- package/lib/cjs/nest/graph/main.cjs +1 -1
- package/lib/cjs/nest/graph/main.cjs.map +1 -1
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +26 -29
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +20 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -1
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +126 -0
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +1 -1
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +14 -0
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +21 -4
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/execution/index.js +1 -0
- package/lib/esm/graph/engine/execution/index.js.map +1 -1
- package/lib/esm/graph/engine/index.js +1 -0
- package/lib/esm/graph/engine/index.js.map +1 -1
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +1 -0
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/shared/nodes/flow-control.js +91 -9
- package/lib/esm/graph/shared/nodes/flow-control.js.map +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/nest/graph/GraphExecutionController.js +39 -50
- package/lib/esm/nest/graph/GraphExecutionController.js.map +1 -1
- package/lib/esm/nest/graph/GraphExecutionModule.js +11 -39
- package/lib/esm/nest/graph/GraphExecutionModule.js.map +1 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +0 -18
- package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +1 -1
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +12 -47
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -1
- package/lib/esm/nest/graph/GraphResultService.js +45 -0
- package/lib/esm/nest/graph/GraphResultService.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowModel.js +35 -0
- package/lib/esm/nest/graph/GraphWorkflowModel.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowService.js +53 -0
- package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -0
- package/lib/esm/nest/graph/index.js +3 -6
- package/lib/esm/nest/graph/index.js.map +1 -1
- package/lib/esm/nest/graph/main.js +1 -1
- package/lib/esm/nest/graph/main.js.map +1 -1
- package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.cts +17 -17
- package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +17 -17
- package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.cts +23 -0
- package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.mts +23 -0
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +6 -0
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +6 -0
- package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.cts +18 -0
- package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.mts +18 -0
- package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.cts +19 -0
- package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.mts +19 -0
- package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.cts +3 -2
- package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.mts +3 -2
- package/lib/types/graph/engine/execution/index.d.cts +1 -0
- package/lib/types/graph/engine/execution/index.d.mts +1 -0
- package/lib/types/graph/engine/index.d.cts +1 -0
- package/lib/types/graph/engine/index.d.mts +1 -0
- package/lib/types/graph/shared/nodes/flow-control.d.cts +29 -3
- package/lib/types/graph/shared/nodes/flow-control.d.mts +29 -3
- package/lib/types/graph/shared/types.d.cts +6 -0
- package/lib/types/graph/shared/types.d.mts +6 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/nest/graph/GraphExecutionController.d.cts +11 -42
- package/lib/types/nest/graph/GraphExecutionController.d.mts +11 -42
- package/lib/types/nest/graph/GraphExecutionModule.d.cts +9 -29
- package/lib/types/nest/graph/GraphExecutionModule.d.mts +9 -29
- package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +0 -34
- package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +0 -34
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +9 -9
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +9 -9
- package/lib/types/nest/graph/GraphResultService.d.cts +8 -0
- package/lib/types/nest/graph/GraphResultService.d.mts +8 -0
- package/lib/types/nest/graph/GraphWorkflowModel.d.cts +7 -0
- package/lib/types/nest/graph/GraphWorkflowModel.d.mts +7 -0
- package/lib/types/nest/graph/GraphWorkflowService.d.cts +7 -0
- package/lib/types/nest/graph/GraphWorkflowService.d.mts +7 -0
- package/lib/types/nest/graph/index.d.cts +3 -6
- package/lib/types/nest/graph/index.d.mts +3 -6
- package/package.json +3 -3
- package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +0 -66
- package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionResultRepository.js +0 -60
- package/lib/esm/nest/graph/GraphExecutionResultRepository.js.map +0 -1
- package/lib/types/nest/graph/GraphExecutionResultRepository.d.cts +0 -38
- package/lib/types/nest/graph/GraphExecutionResultRepository.d.mts +0 -38
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphWorkflowService = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
const core_1 = require("@decaf-ts/core");
|
|
19
|
+
const GraphWorkflowModel_js_1 = require("./GraphWorkflowModel.cjs");
|
|
20
|
+
let GraphWorkflowService = class GraphWorkflowService extends core_1.ModelService {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(GraphWorkflowModel_js_1.GraphWorkflowModel);
|
|
23
|
+
}
|
|
24
|
+
async saveSnapshot(workflowId, snapshot, ...args) {
|
|
25
|
+
const { ctxArgs } = (await this.logCtx(args, "saveSnapshot", true)).for(this.saveSnapshot);
|
|
26
|
+
const now = new Date();
|
|
27
|
+
let existing;
|
|
28
|
+
try {
|
|
29
|
+
existing = (await this.read(workflowId, ...ctxArgs));
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
existing = null;
|
|
33
|
+
}
|
|
34
|
+
if (existing) {
|
|
35
|
+
existing.snapshot = snapshot;
|
|
36
|
+
existing.updatedAt = now;
|
|
37
|
+
return this.update(existing, ...ctxArgs);
|
|
38
|
+
}
|
|
39
|
+
const model = new GraphWorkflowModel_js_1.GraphWorkflowModel({
|
|
40
|
+
workflowId,
|
|
41
|
+
snapshot,
|
|
42
|
+
updatedAt: now,
|
|
43
|
+
});
|
|
44
|
+
return this.create(model, ...ctxArgs);
|
|
45
|
+
}
|
|
46
|
+
async loadSnapshot(workflowId, ...args) {
|
|
47
|
+
const { ctxArgs } = (await this.logCtx(args, "loadSnapshot", true)).for(this.loadSnapshot);
|
|
48
|
+
try {
|
|
49
|
+
return (await this.read(workflowId, ...ctxArgs));
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.GraphWorkflowService = GraphWorkflowService;
|
|
57
|
+
exports.GraphWorkflowService = GraphWorkflowService = __decorate([
|
|
58
|
+
(0, core_1.service)(GraphWorkflowModel_js_1.GraphWorkflowModel),
|
|
59
|
+
__metadata("design:paramtypes", [])
|
|
60
|
+
], GraphWorkflowService);
|
|
61
|
+
//# sourceMappingURL=GraphWorkflowService.js.map
|
|
62
|
+
//# sourceMappingURL=GraphWorkflowService.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest/graph/GraphWorkflowService.cjs","sourceRoot":"","sources":["nest/graph/GraphWorkflowService.js"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
/**
|
|
18
|
-
* @module integrations/nest/graph
|
|
19
|
-
* @summary NestJS graph execution backend module.
|
|
20
|
-
* @description Server-side hosting for the Decaf graph execution engine. Exposes REST endpoints for triggering execution and retrieving persisted results, plus an SSE endpoint for streaming execution events. Designed to be consumed by for-angular via for-http's `ServerEventConnector`.
|
|
21
|
-
*/
|
|
22
17
|
__exportStar(require("./GraphExecutionResultModel.cjs"), exports);
|
|
23
|
-
__exportStar(require("./
|
|
18
|
+
__exportStar(require("./GraphResultService.cjs"), exports);
|
|
19
|
+
__exportStar(require("./GraphWorkflowModel.cjs"), exports);
|
|
20
|
+
__exportStar(require("./GraphWorkflowService.cjs"), exports);
|
|
24
21
|
__exportStar(require("./GraphExecutorRegistryFactory.cjs"), exports);
|
|
25
22
|
__exportStar(require("./GraphExecutionController.cjs"), exports);
|
|
26
23
|
__exportStar(require("./GraphExecutionModule.cjs"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest/graph/index.cjs","sourceRoot":"","sources":["nest/graph/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"nest/graph/index.cjs","sourceRoot":"","sources":["nest/graph/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,4DAA0C;AAC1C,iCAAiC"}
|
|
@@ -15,7 +15,7 @@ const GraphExecutionModule_js_1 = require("./GraphExecutionModule.cjs");
|
|
|
15
15
|
async function bootstrap() {
|
|
16
16
|
const port = Number(process.env["GRAPH_BACKEND_PORT"] ?? process.argv[2] ?? 3000);
|
|
17
17
|
const app = await core_1.NestFactory.create(GraphExecutionModule_js_1.GraphExecutionModule.forRoot());
|
|
18
|
-
app.enableCors();
|
|
18
|
+
app.enableCors({ origin: true, credentials: true });
|
|
19
19
|
await app.listen(port);
|
|
20
20
|
console.log(`[graph-backend] NestJS graph execution server listening on http://localhost:${port}`);
|
|
21
21
|
console.log(`[graph-backend] POST /graph/execute`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest/graph/main.cjs","sourceRoot":"","sources":["nest/graph/main.js"],"names":[],"mappings":";;AAAA;;;;;;;;;GASG;AACH,uCAA2C;AAC3C,uEAAiE;AACjE,KAAK,UAAU,SAAS;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,8CAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"nest/graph/main.cjs","sourceRoot":"","sources":["nest/graph/main.js"],"names":[],"mappings":";;AAAA;;;;;;;;;GASG;AACH,uCAA2C;AAC3C,uEAAiE;AACjE,KAAK,UAAU,SAAS;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,8CAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,+EAA+E,IAAI,EAAE,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAClE,CAAC;AACD,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AACH,gCAAgC"}
|
|
@@ -7,10 +7,7 @@ function readCodeMetadata(context) {
|
|
|
7
7
|
const meta = context.node.graph?.metadata;
|
|
8
8
|
if (!meta)
|
|
9
9
|
return {};
|
|
10
|
-
|
|
11
|
-
if (!codeMeta)
|
|
12
|
-
return {};
|
|
13
|
-
return codeMeta;
|
|
10
|
+
return meta;
|
|
14
11
|
}
|
|
15
12
|
/**
|
|
16
13
|
* Executor for `core.flow.code` nodes.
|
|
@@ -21,17 +18,17 @@ function readCodeMetadata(context) {
|
|
|
21
18
|
* no evaluator is registered, the executor throws
|
|
22
19
|
* `GRAPH_CODE_SANDBOX_NOT_CONFIGURED`.
|
|
23
20
|
*
|
|
21
|
+
* The code is read from the `code` input port (spliced from
|
|
22
|
+
* {@link CodeInputSchema}). The language is hardcoded to `"javascript"` for
|
|
23
|
+
* now (the `language` field on `CodeInputSchema` has no `@input` so it is not
|
|
24
|
+
* a port and not wired). The timeout is read from `graph.metadata.timeoutMs`.
|
|
25
|
+
*
|
|
24
26
|
* The sandbox context exposes:
|
|
25
|
-
* - `$input` — the
|
|
26
|
-
*
|
|
27
|
-
* - `$
|
|
28
|
-
*
|
|
29
|
-
* - `$
|
|
30
|
-
* `context.metadata` when the node executes inside a foreach body).
|
|
31
|
-
* - `$node` — outputs of upstream nodes (sourced from
|
|
32
|
-
* `context.metadata.nodes` when available).
|
|
33
|
-
* - `$output` — the current draft output (sourced from
|
|
34
|
-
* `context.metadata.output`).
|
|
27
|
+
* - `$input` — the full input values object (all resolved port values).
|
|
28
|
+
* - `$vars` — workflow variables (sourced from `context.metadata.vars`).
|
|
29
|
+
* - `$item` / `$index` — current loop item and index.
|
|
30
|
+
* - `$node` — outputs of upstream nodes.
|
|
31
|
+
* - `$output` — the current draft output.
|
|
35
32
|
*
|
|
36
33
|
* The evaluator's return value is forwarded verbatim on the `result` output
|
|
37
34
|
* port.
|
|
@@ -40,25 +37,26 @@ export class CodeGraphNodeExecutor {
|
|
|
40
37
|
/**
|
|
41
38
|
* @param engine - The graph execution engine (or any object exposing the
|
|
42
39
|
* optional `codeSandboxEvaluator`). This mirrors the pattern used by
|
|
43
|
-
*
|
|
40
|
+
* {@link SwitchGraphNodeExecutor} for code conditions.
|
|
44
41
|
*/
|
|
45
42
|
constructor(engine) {
|
|
46
43
|
this.engine = engine;
|
|
47
44
|
}
|
|
48
45
|
async execute(input, context) {
|
|
49
46
|
const meta = readCodeMetadata(context);
|
|
50
|
-
const code = meta.
|
|
47
|
+
const code = input["code"] ?? meta.defaultCode;
|
|
51
48
|
if (!code || typeof code !== "string" || code.trim().length === 0) {
|
|
52
|
-
throw new GraphInputError("Code node has no code to execute (
|
|
49
|
+
throw new GraphInputError("Code node has no code to execute (input.code is empty)", { input });
|
|
53
50
|
}
|
|
54
51
|
const evaluator = this.engine?.codeSandboxEvaluator;
|
|
55
52
|
if (!evaluator) {
|
|
56
53
|
throw new GraphExecutionError("Code node execution requires a CodeSandboxEvaluator to be registered in GraphExecutionEngineConfig.codeSandboxEvaluator", "GRAPH_CODE_SANDBOX_NOT_CONFIGURED", { code });
|
|
57
54
|
}
|
|
58
|
-
const sandboxContext = this.buildSandboxContext(input, context
|
|
55
|
+
const sandboxContext = this.buildSandboxContext(input, context);
|
|
59
56
|
await context.log("Executing code node", {
|
|
60
|
-
language:
|
|
57
|
+
language: "javascript",
|
|
61
58
|
length: code.length,
|
|
59
|
+
timeoutMs: meta.timeoutMs,
|
|
62
60
|
});
|
|
63
61
|
const result = await evaluator.evaluate(sandboxContext);
|
|
64
62
|
await context.log("Code node executed", { hasResult: result !== undefined });
|
|
@@ -68,29 +66,28 @@ export class CodeGraphNodeExecutor {
|
|
|
68
66
|
* Builds the {@link CodeSandboxContext} from the executor input and the
|
|
69
67
|
* graph execution context.
|
|
70
68
|
*
|
|
71
|
-
* The `$input` value is
|
|
72
|
-
*
|
|
73
|
-
* `$input` so the code can still access every resolved port value.
|
|
69
|
+
* The `$input` value is the full input values object so the code can access
|
|
70
|
+
* every resolved port value (including `code` itself via `$input.code`).
|
|
74
71
|
*
|
|
75
72
|
* The `$vars`, `$item`, `$index`, `$node`, and `$output` values are sourced
|
|
76
73
|
* from `context.metadata` — the engine (or a wrapping loop executor) may
|
|
77
74
|
* populate these when the Code node runs inside a loop body or a workflow
|
|
78
75
|
* with variables.
|
|
79
76
|
*/
|
|
80
|
-
buildSandboxContext(input, context
|
|
81
|
-
const inputPortValue = "input" in input ? input["input"] : input;
|
|
77
|
+
buildSandboxContext(input, context) {
|
|
82
78
|
const md = context.metadata;
|
|
79
|
+
const meta = readCodeMetadata(context);
|
|
80
|
+
const code = input["code"] ?? meta.defaultCode ?? "";
|
|
83
81
|
return {
|
|
84
|
-
code
|
|
85
|
-
language:
|
|
86
|
-
input:
|
|
87
|
-
? inputPortValue
|
|
88
|
-
: { value: inputPortValue },
|
|
82
|
+
code,
|
|
83
|
+
language: "javascript",
|
|
84
|
+
input: input,
|
|
89
85
|
vars: md?.vars ?? undefined,
|
|
90
86
|
item: md?.item,
|
|
91
87
|
index: md?.index,
|
|
92
88
|
nodes: md?.nodes ??
|
|
93
89
|
undefined,
|
|
90
|
+
logger: context.logger,
|
|
94
91
|
};
|
|
95
92
|
}
|
|
96
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/CodeGraphNodeExecutor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CodeGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/CodeGraphNodeExecutor.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,mBAAmB,EAAE,2CAAsC;AACpE,OAAO,EAAE,eAAe,EAAE,uCAAkC;AAW5D;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAA8B;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,QAEpB,CAAC;IACd,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,qBAAqB;IAChC;;;;OAIG;IACH,YACmB,MAAwD;QAAxD,WAAM,GAAN,MAAM,CAAkD;IACxE,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,KAA2B,EAC3B,OAA8B;QAE9B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAI,KAAK,CAAC,MAAM,CAAwB,IAAI,IAAI,CAAC,WAAW,CAAC;QAEvE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,eAAe,CACvB,wDAAwD,EACxD,EAAE,KAAK,EAAE,CACV,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAC3B,yHAAyH,EACzH,mCAAmC,EACnC,EAAE,IAAI,EAAE,CACT,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;YACvC,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QAE7E,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,mBAAmB,CACzB,KAA2B,EAC3B,OAA8B;QAE9B,MAAM,EAAE,GAAG,OAAO,CAAC,QAA+C,CAAC;QACnE,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAI,KAAK,CAAC,MAAM,CAAwB,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAE7E,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,KAAgC;YACvC,IAAI,EAAG,EAAE,EAAE,IAA4C,IAAI,SAAS;YACpE,IAAI,EAAE,EAAE,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,EAAE,KAA2B;YACtC,KAAK,EACF,EAAE,EAAE,KAA6D;gBAClE,SAAS;YACX,MAAM,EAAE,OAAO,CAAC,MAA8C;SAC/D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -285,12 +285,31 @@ export class GraphExecutionEngine {
|
|
|
285
285
|
}
|
|
286
286
|
/**
|
|
287
287
|
* Resolves a node's input values from incoming edges.
|
|
288
|
+
*
|
|
289
|
+
* When multiple edges target the same port, their values are spread into the
|
|
290
|
+
* top-level inputs keyed by each edge's `sourcePort`. This allows multiple
|
|
291
|
+
* workflow input badges to connect to a single port (e.g. the Code node's
|
|
292
|
+
* `data` port) and have all values accessible directly as
|
|
293
|
+
* `$input.{sourcePort}` (e.g. `$input.count`, `$input.text`).
|
|
288
294
|
*/
|
|
289
295
|
resolveNodeInputs(frame, plan, planNode) {
|
|
290
296
|
const inputs = {};
|
|
291
297
|
const incoming = plan.incomingByNode.get(planNode.id) ?? [];
|
|
298
|
+
const edgesByTarget = new Map();
|
|
292
299
|
for (const edge of incoming) {
|
|
293
|
-
|
|
300
|
+
const list = edgesByTarget.get(edge.targetPort) ?? [];
|
|
301
|
+
list.push(edge);
|
|
302
|
+
edgesByTarget.set(edge.targetPort, list);
|
|
303
|
+
}
|
|
304
|
+
for (const [targetPort, edges] of edgesByTarget) {
|
|
305
|
+
if (edges.length === 1) {
|
|
306
|
+
inputs[targetPort] = frame.valueStore.getPort(edges[0].sourceNodeId, edges[0].sourcePort);
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
for (const edge of edges) {
|
|
310
|
+
inputs[edge.sourcePort] = frame.valueStore.getPort(edge.sourceNodeId, edge.sourcePort);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
294
313
|
}
|
|
295
314
|
return inputs;
|
|
296
315
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphExecutionEngine.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/GraphExecutionEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphExecutionEngine.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/GraphExecutionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,7 @@ const BLOCKED_IDENTIFIERS = new Set([
|
|
|
74
74
|
"Worker",
|
|
75
75
|
"Deno",
|
|
76
76
|
"Bun",
|
|
77
|
+
"__dispatch",
|
|
77
78
|
]);
|
|
78
79
|
/**
|
|
79
80
|
* Transpiles TypeScript code to JavaScript (ALFRED-5 §7.4).
|
|
@@ -256,6 +257,13 @@ export class IsolatedVmCodeSandboxEvaluator {
|
|
|
256
257
|
const context = await isolate.createContext();
|
|
257
258
|
try {
|
|
258
259
|
const jail = context.global;
|
|
260
|
+
// Inject a `console` object into the isolate whose methods forward to
|
|
261
|
+
// the Context logger (bound to runId). The logger is called via
|
|
262
|
+
// `ivm.Reference` so the isolate can invoke host functions without
|
|
263
|
+
// leaking the host heap.
|
|
264
|
+
if (ctx.logger) {
|
|
265
|
+
await this.injectConsole(jail, ctx.logger, context);
|
|
266
|
+
}
|
|
259
267
|
for (const [name, value] of Object.entries(sandboxVars)) {
|
|
260
268
|
await jail.set(name, new ivm.ExternalCopy(value === undefined ? null : value).copyInto());
|
|
261
269
|
}
|
|
@@ -310,5 +318,123 @@ export class IsolatedVmCodeSandboxEvaluator {
|
|
|
310
318
|
isolate.dispose();
|
|
311
319
|
}
|
|
312
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Injects a `console` object into the isolate whose methods forward to the
|
|
323
|
+
* Context logger (bound to `runId`).
|
|
324
|
+
*
|
|
325
|
+
* Every standard `console.*` method is supported:
|
|
326
|
+
* `log`, `info`, `warn`, `error`, `debug`, `trace`, `dir`, `dirxml`,
|
|
327
|
+
* `table`, `group`, `groupCollapsed`, `groupEnd`, `time`, `timeEnd`,
|
|
328
|
+
* `timeLog`, `assert`, `count`, `countReset`, `clear`.
|
|
329
|
+
*
|
|
330
|
+
* Arguments are serialised inside the isolate (via `JSON.stringify` with a
|
|
331
|
+
* safe fallback) before being passed across the isolate boundary, because
|
|
332
|
+
* `isolated-vm` cannot copy arbitrary host objects.
|
|
333
|
+
*
|
|
334
|
+
* @param jail - The isolate's global object.
|
|
335
|
+
* @param logger - The Context logger that receives the forwarded calls.
|
|
336
|
+
* @param context - The isolate context (for running the init script).
|
|
337
|
+
*/
|
|
338
|
+
async injectConsole(jail, logger, context) {
|
|
339
|
+
const dispatch = new ivm.Reference(function (level, argsJson) {
|
|
340
|
+
let parsed;
|
|
341
|
+
try {
|
|
342
|
+
parsed = JSON.parse(argsJson);
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
parsed = [argsJson];
|
|
346
|
+
}
|
|
347
|
+
const msg = parsed
|
|
348
|
+
.map((a) => (typeof a === "string" ? a : JSON.stringify(a)))
|
|
349
|
+
.join(" ");
|
|
350
|
+
const meta = parsed.length === 1 ? parsed[0] : parsed;
|
|
351
|
+
switch (level) {
|
|
352
|
+
case "log":
|
|
353
|
+
case "info":
|
|
354
|
+
logger.info(msg, meta);
|
|
355
|
+
break;
|
|
356
|
+
case "warn":
|
|
357
|
+
logger.warn(msg, meta);
|
|
358
|
+
break;
|
|
359
|
+
case "error":
|
|
360
|
+
logger.error(msg, meta);
|
|
361
|
+
break;
|
|
362
|
+
case "debug":
|
|
363
|
+
logger.debug(msg, meta);
|
|
364
|
+
break;
|
|
365
|
+
case "trace":
|
|
366
|
+
logger.trace(msg, meta);
|
|
367
|
+
break;
|
|
368
|
+
case "dir":
|
|
369
|
+
case "dirxml":
|
|
370
|
+
case "table":
|
|
371
|
+
logger.debug(msg, meta);
|
|
372
|
+
break;
|
|
373
|
+
case "group":
|
|
374
|
+
case "groupCollapsed":
|
|
375
|
+
logger.debug(`[group] ${msg}`, meta);
|
|
376
|
+
break;
|
|
377
|
+
case "groupEnd":
|
|
378
|
+
logger.debug("[groupEnd]", undefined);
|
|
379
|
+
break;
|
|
380
|
+
case "time":
|
|
381
|
+
case "timeEnd":
|
|
382
|
+
case "timeLog":
|
|
383
|
+
logger.debug(`[${level}] ${msg}`, meta);
|
|
384
|
+
break;
|
|
385
|
+
case "assert":
|
|
386
|
+
if (!parsed[0])
|
|
387
|
+
logger.error(`Assertion failed: ${msg}`, meta);
|
|
388
|
+
break;
|
|
389
|
+
case "count":
|
|
390
|
+
case "countReset":
|
|
391
|
+
logger.debug(`[${level}] ${msg}`, meta);
|
|
392
|
+
break;
|
|
393
|
+
case "clear":
|
|
394
|
+
break;
|
|
395
|
+
default:
|
|
396
|
+
logger.info(msg, meta);
|
|
397
|
+
}
|
|
398
|
+
});
|
|
399
|
+
await jail.set("__dispatch", dispatch);
|
|
400
|
+
context.evalSync(`
|
|
401
|
+
function __ser() {
|
|
402
|
+
var out = [];
|
|
403
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
404
|
+
var a = arguments[i];
|
|
405
|
+
try { out.push(typeof a === 'object' ? JSON.parse(JSON.stringify(a)) : a); }
|
|
406
|
+
catch (e) { out.push(String(a)); }
|
|
407
|
+
}
|
|
408
|
+
return JSON.stringify(out);
|
|
409
|
+
}
|
|
410
|
+
function __call(level) {
|
|
411
|
+
return function() {
|
|
412
|
+
__dispatch.applySync(undefined, [level, __ser.apply(null, arguments)]);
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
globalThis.console = {
|
|
416
|
+
log: __call('log'),
|
|
417
|
+
info: __call('info'),
|
|
418
|
+
warn: __call('warn'),
|
|
419
|
+
error: __call('error'),
|
|
420
|
+
debug: __call('debug'),
|
|
421
|
+
trace: __call('trace'),
|
|
422
|
+
dir: __call('dir'),
|
|
423
|
+
dirxml: __call('dirxml'),
|
|
424
|
+
table: __call('table'),
|
|
425
|
+
group: __call('group'),
|
|
426
|
+
groupCollapsed: __call('groupCollapsed'),
|
|
427
|
+
groupEnd: __call('groupEnd'),
|
|
428
|
+
time: __call('time'),
|
|
429
|
+
timeEnd: __call('timeEnd'),
|
|
430
|
+
timeLog: __call('timeLog'),
|
|
431
|
+
assert: __call('assert'),
|
|
432
|
+
count: __call('count'),
|
|
433
|
+
countReset: __call('countReset'),
|
|
434
|
+
clear: __call('clear')
|
|
435
|
+
};
|
|
436
|
+
`);
|
|
437
|
+
dispatch.release();
|
|
438
|
+
}
|
|
313
439
|
}
|
|
314
440
|
//# sourceMappingURL=IsolatedVmCodeSandboxEvaluator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsolatedVmCodeSandboxEvaluator.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"IsolatedVmCodeSandboxEvaluator.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,OAAO,EAAE,mBAAmB,EAAE,2CAAsC;AAEpE;;GAEG;AACH,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;GAEG;AACH,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,WAAW;IACX,QAAQ;IACR,MAAM;IACN,KAAK;IACL,YAAY;CACb,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAC1B,IAAY,EACZ,QAAqC;IAErC,IAAI,QAAQ,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,MAAM,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;QACtC,eAAe,EAAE;YACf,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;YAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI;YAC1B,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,uEAAuE;IACvE,yEAAyE;IACzE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,IAAI,mBAAmB,CAC3B,sCAAsC,eAAe,aAAa,EAClE,kCAAkC,EAClC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,IAAI,GAAkB,CAAC;IACvB,IAAI,CAAC;QACH,oEAAoE;QACpE,uEAAuE;QACvE,gEAAgE;QAChE,mCAAmC;QACnC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,kCAAkC,IAAI,KAAK,EAAE;YAC7D,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,QAAQ;SACrB,CAAkB,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;QACjE,uEAAuE;QACvE,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,CAAC;YACH,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;gBACtB,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE,QAAQ;aACrB,CAAkB,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAC3B,yBAA0B,GAAa,CAAC,OAAO,EAAE,EACjD,gCAAgC,EAChC,EAAE,IAAI,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,GAAY,EAAE,CAAC,IAAmB,EAAE,EAAE;QAC9C,MAAM,CAAC,GAAG,IAA0C,CAAC;QAErD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;YACtC,MAAM,IAAI,mBAAmB,CAC3B,wCAAwC,EACxC,oCAAoC,EACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;QACJ,CAAC;QAED,IACE,CAAC,CAAC,MAAM,CAAC,KAAK,wBAAwB;YACtC,CAAC,CAAC,MAAM,CAAC,KAAK,0BAA0B,EACxC,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,wCAAwC,EACxC,oCAAoC,EACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;QACJ,CAAC;QAED,IACE,CAAC,CAAC,MAAM,CAAC,KAAK,YAAY;YAC1B,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ;YAC7B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAClC,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,eAAe,CAAC,CAAC,MAAM,CAAC,iCAAiC,EACzD,oCAAoC,EACpC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CACrB,CAAC;QACJ,CAAC;QAED,IACE,CAAC,CAAC,MAAM,CAAC,KAAK,eAAe;YAC5B,CAAC,CAAC,QAAQ,CAA6B,EAAE,CAAC,MAAM,CAAC,KAAK,UAAU,EACjE,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,8CAA8C,EAC9C,oCAAoC,EACpC,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,IACE,CAAC,CAAC,MAAM,CAAC,KAAK,gBAAgB;YAC7B,CAAC,CAAC,QAAQ,CAA6B,EAAE,CAAC,MAAM,CAAC,KAAK,MAAM,EAC7D,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,sCAAsC,EACtC,oCAAoC,EACpC,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,8BAA8B;IAIzC;;;OAGG;IACH,YACE,mBAA2B,kBAAkB,EAC7C,kBAA0B,iBAAiB;QAE3C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAuB;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,mBAAmB,CAC3B,kCAAkC,EAClC,+BAA+B,CAChC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;QAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEnD,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,MAAM,cAAc,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,cAAc;YAChC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC/B,CAAC,CAAC,MAAM,CAAC;QAEX,MAAM,WAAW,GAA4B;YAC3C,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;YACrB,KAAK,EAAE,GAAG,CAAC,IAAI;YACf,MAAM,EAAE,GAAG,CAAC,KAAK;YACjB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,OAAO,EAAE,SAAS;SACnB,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,kDAAkD;QAElD,wEAAwE;QACxE,2EAA2E;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,WAAW,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3E,MAAM,OAAO,GAAG,gDAAgD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,QAAQ,uBAAuB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,+DAA+D,CAAC;QAEjN,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;YAE5B,sEAAsE;YACtE,gEAAgE;YAChE,mEAAmE;YACnE,yBAAyB;YACzB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,CAAC,GAAG,CACZ,IAAI,EACJ,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CACpE,CAAC;YACJ,CAAC;YAED,IAAI,MAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC5C,QAAQ,EAAE,oBAAoB;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,YAAY,GAAG,WAAW,CAAC;oBACjC,MAAM,eAAe,GAAG,gDAAgD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,YAAY,uBAAuB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,+DAA+D,CAAC;oBAC7N,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE;4BACpD,QAAQ,EAAE,oBAAoB;yBAC/B,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,MAAM,IAAI,mBAAmB,CAC3B,2BAA4B,WAAqB,CAAC,OAAO,EAAE,EAC3D,kCAAkC,EAClC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAG,WAAqB,CAAC,OAAO,EAAE,CACxD,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,mBAAmB,CAC3B,2BAA4B,GAAa,CAAC,OAAO,EAAE,EACnD,kCAAkC,EAClC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAChD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,SAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;oBACpC,OAAO,EAAE,IAAI,CAAC,gBAAgB;oBAC9B,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;gBACnC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,mBAAmB,CAC3B,kCAAkC,IAAI,CAAC,gBAAgB,KAAK,EAC5D,4BAA4B,EAC5B,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,CACrC,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,mBAAmB,CAC3B,qCAAqC,IAAI,CAAC,eAAe,KAAK,EAC9D,iCAAiC,EACjC,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,CACnC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,GAAG,EAAE,EAC/B,kCAAkC,EAClC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAC7B,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,IAAI,mBAAmB,CAC3B,uDAAuD,EACvD,sCAAsC,EACtC,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,KAAK,CAAC,aAAa,CACzB,IAA2B,EAC3B,MAAqB,EACrB,OAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,KAAa,EAAE,QAAgB;YAC1E,IAAI,MAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAc,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;YACD,MAAM,GAAG,GAAG,MAAM;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACtD,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACvB,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACvB,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,KAAK,CAAC;gBACX,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO;oBACV,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb,KAAK,gBAAgB;oBACnB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;oBACrC,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ,KAAK,SAAS,CAAC;gBACf,KAAK,SAAS;oBACZ,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb,KAAK,YAAY;oBACf,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM;gBACR;oBACE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEvC,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoChB,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Executor for `core.flow.log` nodes.
|
|
3
|
+
*
|
|
4
|
+
* Reads the `value` input port, logs it through `context.log()`, and returns
|
|
5
|
+
* it unchanged on the `logged` output port.
|
|
6
|
+
*/
|
|
7
|
+
export class LogGraphNodeExecutor {
|
|
8
|
+
async execute(input, context) {
|
|
9
|
+
const value = input["value"];
|
|
10
|
+
await context.log("Log node", { value });
|
|
11
|
+
return { logged: value };
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=LogGraphNodeExecutor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/LogGraphNodeExecutor.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAC/B,KAAK,CAAC,OAAO,CACX,KAA2B,EAC3B,OAA8B;QAE9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -2,18 +2,23 @@ import { GraphExecutionError } from "./../errors/GraphExecutionError.js";
|
|
|
2
2
|
import { ConditionExpressionEvaluator } from "./../loops/ConditionExpressionEvaluator.js";
|
|
3
3
|
/**
|
|
4
4
|
* Reads the Switch metadata from the node definition's graph metadata.
|
|
5
|
+
*
|
|
6
|
+
* The metadata is stored under `graph.metadata.switch` (the location used by
|
|
7
|
+
* statically-declared `@node` workflows). When absent, falls back to an empty
|
|
8
|
+
* default with the `default` port enabled.
|
|
5
9
|
*/
|
|
6
10
|
function readSwitchMetadata(context) {
|
|
7
11
|
const meta = context.node.graph?.metadata;
|
|
8
12
|
if (!meta)
|
|
9
|
-
return { cases: [], defaultPort: "default" };
|
|
13
|
+
return { cases: [], defaultPort: "default", hasDefault: false };
|
|
10
14
|
const switchMeta = meta["switch"];
|
|
11
15
|
if (!switchMeta || !Array.isArray(switchMeta.cases)) {
|
|
12
|
-
return { cases: [], defaultPort: "default" };
|
|
16
|
+
return { cases: [], defaultPort: "default", hasDefault: false };
|
|
13
17
|
}
|
|
14
18
|
return {
|
|
15
19
|
cases: switchMeta.cases,
|
|
16
20
|
defaultPort: switchMeta.defaultPort ?? "default",
|
|
21
|
+
hasDefault: switchMeta.hasDefault === true,
|
|
17
22
|
};
|
|
18
23
|
}
|
|
19
24
|
/**
|
|
@@ -38,8 +43,9 @@ function isConditionExpression(cond) {
|
|
|
38
43
|
* Executor for `core.flow.switch` nodes.
|
|
39
44
|
*
|
|
40
45
|
* Evaluates each case's condition in order and routes the input to the
|
|
41
|
-
* first matching case's output port. When no case matches
|
|
42
|
-
* `default` output port.
|
|
46
|
+
* first matching case's output port. When no case matches:
|
|
47
|
+
* - If `hasDefault` is `true`, routes to the `default` output port.
|
|
48
|
+
* - If `hasDefault` is `false` (the default), throws `GRAPH_SWITCH_NO_MATCH`.
|
|
43
49
|
*
|
|
44
50
|
* Condition evaluation:
|
|
45
51
|
* - `ConditionExpression` — evaluated via {@link ConditionExpressionEvaluator}.
|
|
@@ -61,6 +67,10 @@ export class SwitchGraphNodeExecutor {
|
|
|
61
67
|
return { [switchCase.outputPort]: inputValue };
|
|
62
68
|
}
|
|
63
69
|
}
|
|
70
|
+
// No case matched — route to the default port when it is enabled.
|
|
71
|
+
if (meta.hasDefault !== true) {
|
|
72
|
+
throw new GraphExecutionError("No switch case matched and default port is not enabled", "GRAPH_SWITCH_NO_MATCH", { cases: meta.cases.map((c) => c.id) });
|
|
73
|
+
}
|
|
64
74
|
const defaultPort = meta.defaultPort ?? "default";
|
|
65
75
|
return { [defaultPort]: inputValue };
|
|
66
76
|
}
|
|
@@ -87,10 +97,17 @@ export class SwitchGraphNodeExecutor {
|
|
|
87
97
|
await context.log(`Evaluating code condition`, {
|
|
88
98
|
language: condition.language ?? "javascript",
|
|
89
99
|
});
|
|
100
|
+
const md = context.metadata;
|
|
90
101
|
const result = await evaluator.evaluate({
|
|
91
102
|
code: condition.code,
|
|
92
103
|
language: condition.language,
|
|
93
104
|
input,
|
|
105
|
+
vars: md?.vars ?? undefined,
|
|
106
|
+
item: md?.item,
|
|
107
|
+
index: md?.index,
|
|
108
|
+
nodes: md?.nodes ??
|
|
109
|
+
undefined,
|
|
110
|
+
logger: context.logger,
|
|
94
111
|
});
|
|
95
112
|
return !!result;
|
|
96
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/SwitchGraphNodeExecutor.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,2CAAsC;AACpE,OAAO,EAAE,4BAA4B,EAAE,mDAA8C;AAGrF
|
|
1
|
+
{"version":3,"file":"SwitchGraphNodeExecutor.js","sourceRoot":"","sources":["../../../../../src/graph/engine/execution/SwitchGraphNodeExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,6 @@ export * from "./GraphExecutionEngine.js";
|
|
|
11
11
|
export * from "./CodeSandboxEvaluator.js";
|
|
12
12
|
export * from "./SwitchGraphNodeExecutor.js";
|
|
13
13
|
export * from "./CodeGraphNodeExecutor.js";
|
|
14
|
+
export * from "./LogGraphNodeExecutor.js";
|
|
14
15
|
export * from "./IsolatedVmCodeSandboxEvaluator.js";
|
|
15
16
|
//# sourceMappingURL=index.js.map
|