@blokjs/runner 0.2.1 → 0.2.2
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/Blok.js +11 -11
- package/dist/Blok.js.map +1 -1
- package/dist/Configuration.d.ts +21 -2
- package/dist/Configuration.js +188 -26
- package/dist/Configuration.js.map +1 -1
- package/dist/ConfigurationResolver.d.ts +9 -0
- package/dist/ConfigurationResolver.js +17 -1
- package/dist/ConfigurationResolver.js.map +1 -1
- package/dist/RunnerSteps.js +52 -9
- package/dist/RunnerSteps.js.map +1 -1
- package/dist/RuntimeAdapterNode.d.ts +32 -2
- package/dist/RuntimeAdapterNode.js +122 -27
- package/dist/RuntimeAdapterNode.js.map +1 -1
- package/dist/TriggerBase.js +35 -2
- package/dist/TriggerBase.js.map +1 -1
- package/dist/adapters/BunRuntimeAdapter.d.ts +1 -0
- package/dist/adapters/BunRuntimeAdapter.js +1 -0
- package/dist/adapters/BunRuntimeAdapter.js.map +1 -1
- package/dist/adapters/DockerRuntimeAdapter.d.ts +2 -1
- package/dist/adapters/DockerRuntimeAdapter.js +10 -1
- package/dist/adapters/DockerRuntimeAdapter.js.map +1 -1
- package/dist/adapters/HttpRuntimeAdapter.d.ts +26 -5
- package/dist/adapters/HttpRuntimeAdapter.js +97 -16
- package/dist/adapters/HttpRuntimeAdapter.js.map +1 -1
- package/dist/adapters/NodeJsRuntimeAdapter.d.ts +1 -0
- package/dist/adapters/NodeJsRuntimeAdapter.js +1 -0
- package/dist/adapters/NodeJsRuntimeAdapter.js.map +1 -1
- package/dist/adapters/RuntimeAdapter.d.ts +17 -0
- package/dist/adapters/WasmRuntimeAdapter.d.ts +1 -0
- package/dist/adapters/WasmRuntimeAdapter.js +1 -0
- package/dist/adapters/WasmRuntimeAdapter.js.map +1 -1
- package/dist/adapters/grpc/GrpcChannelOptions.d.ts +31 -0
- package/dist/adapters/grpc/GrpcChannelOptions.js +68 -0
- package/dist/adapters/grpc/GrpcChannelOptions.js.map +1 -0
- package/dist/adapters/grpc/GrpcClientPool.d.ts +43 -0
- package/dist/adapters/grpc/GrpcClientPool.js +89 -0
- package/dist/adapters/grpc/GrpcClientPool.js.map +1 -0
- package/dist/adapters/grpc/GrpcCodec.d.ts +226 -0
- package/dist/adapters/grpc/GrpcCodec.js +275 -0
- package/dist/adapters/grpc/GrpcCodec.js.map +1 -0
- package/dist/adapters/grpc/GrpcErrors.d.ts +59 -0
- package/dist/adapters/grpc/GrpcErrors.js +190 -0
- package/dist/adapters/grpc/GrpcErrors.js.map +1 -0
- package/dist/adapters/grpc/GrpcHealthChecker.d.ts +69 -0
- package/dist/adapters/grpc/GrpcHealthChecker.js +96 -0
- package/dist/adapters/grpc/GrpcHealthChecker.js.map +1 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +98 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js +478 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -0
- package/dist/adapters/grpc/index.d.ts +13 -0
- package/dist/adapters/grpc/index.js +14 -0
- package/dist/adapters/grpc/index.js.map +1 -0
- package/dist/adapters/grpc/proto/blok/runtime/v1/runtime.proto +302 -0
- package/dist/adapters/grpc/types.d.ts +97 -0
- package/dist/adapters/grpc/types.js +41 -0
- package/dist/adapters/grpc/types.js.map +1 -0
- package/dist/adapters/transport.d.ts +108 -0
- package/dist/adapters/transport.js +196 -0
- package/dist/adapters/transport.js.map +1 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/testing/WorkflowTestRunner.js +12 -0
- package/dist/testing/WorkflowTestRunner.js.map +1 -1
- package/dist/tracing/RunTracker.d.ts +23 -2
- package/dist/tracing/RunTracker.js +120 -10
- package/dist/tracing/RunTracker.js.map +1 -1
- package/dist/tracing/SqliteRunStore.js +19 -3
- package/dist/tracing/SqliteRunStore.js.map +1 -1
- package/dist/tracing/TraceRouter.js +245 -4
- package/dist/tracing/TraceRouter.js.map +1 -1
- package/dist/tracing/types.d.ts +82 -10
- package/dist/types/GlobalOptions.d.ts +9 -2
- package/dist/workflow/PersistenceHelper.d.ts +46 -0
- package/dist/workflow/PersistenceHelper.js +57 -0
- package/dist/workflow/PersistenceHelper.js.map +1 -0
- package/dist/workflow/WorkflowNormalizer.d.ts +91 -0
- package/dist/workflow/WorkflowNormalizer.js +304 -0
- package/dist/workflow/WorkflowNormalizer.js.map +1 -0
- package/package.json +8 -5
package/dist/Blok.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Metrics, NodeBase } from "@blokjs/shared";
|
|
|
2
2
|
import { metrics } from "@opentelemetry/api";
|
|
3
3
|
import { Validator } from "jsonschema";
|
|
4
4
|
import _ from "lodash";
|
|
5
|
+
import { applyStepOutput } from "./workflow/PersistenceHelper";
|
|
5
6
|
export default class BlokService extends NodeBase {
|
|
6
7
|
inputSchema;
|
|
7
8
|
outputSchema;
|
|
@@ -84,17 +85,16 @@ export default class BlokService extends NodeBase {
|
|
|
84
85
|
node: this.node,
|
|
85
86
|
});
|
|
86
87
|
ctx.logger.log(`Executed node: ${this.name} in ${(end - start).toFixed(2)}ms`);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
88
|
+
// V2 persistence — runner-owned, declarative.
|
|
89
|
+
// `ephemeral` skips, `spread` merges, `as` renames, default stores
|
|
90
|
+
// at state[name]. Legacy `set_var: false` maps to ephemeral; legacy
|
|
91
|
+
// `set_var: true` is a no-op (default already persists).
|
|
92
|
+
applyStepOutput(ctx, this, result);
|
|
93
|
+
// Hand the raw result back to the runner. RunnerSteps mirrors
|
|
94
|
+
// response.data into ctx.response so adjacent-step access via
|
|
95
|
+
// `ctx.prev` / `$.prev` keeps working.
|
|
96
|
+
response.data = result;
|
|
97
|
+
response.data.contentType = this.contentType;
|
|
98
98
|
globalMetrics.retry();
|
|
99
99
|
globalMetrics.stop();
|
|
100
100
|
const average = await globalMetrics.getMetrics();
|
package/dist/Blok.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blok.js","sourceRoot":"","sources":["../src/Blok.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,OAAO,EAAE,QAAQ,EAAwB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Blok.js","sourceRoot":"","sources":["../src/Blok.ts"],"names":[],"mappings":"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"}
|
package/dist/Configuration.d.ts
CHANGED
|
@@ -16,10 +16,29 @@ export default class Configuration implements Config {
|
|
|
16
16
|
globalOptions: GlobalOptions | undefined;
|
|
17
17
|
constructor();
|
|
18
18
|
/**
|
|
19
|
-
* Initialize the RuntimeRegistry with built-in adapters
|
|
19
|
+
* Initialize the RuntimeRegistry with built-in adapters.
|
|
20
|
+
*
|
|
21
|
+
* Registers `NodeJsRuntimeAdapter` for in-process JS nodes, then for each
|
|
22
|
+
* SDK language picks `HttpRuntimeAdapter` or `GrpcRuntimeAdapter` based on
|
|
23
|
+
* {@link resolveTransportForKind} (env-driven). This is the single point
|
|
24
|
+
* of transport selection — no other file branches on transport.
|
|
20
25
|
*/
|
|
21
26
|
private initializeRuntimeRegistry;
|
|
22
|
-
|
|
27
|
+
private buildHttpAdapter;
|
|
28
|
+
private buildGrpcAdapter;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize the configuration for a workflow run.
|
|
31
|
+
*
|
|
32
|
+
* @param workflowNameInPath - workflow identifier; used by the resolver
|
|
33
|
+
* to locate the workflow on disk and as the trace label.
|
|
34
|
+
* @param opts - global options (workflows map, nodes map, etc.).
|
|
35
|
+
* @param preloaded - optional pre-parsed workflow object. When provided,
|
|
36
|
+
* the resolver is skipped and this object is used directly. Used by
|
|
37
|
+
* the file-based router so workflows scanned at boot don't re-load
|
|
38
|
+
* from disk on every request. The object still flows through the
|
|
39
|
+
* normalizer for v1→v2 conversion.
|
|
40
|
+
*/
|
|
41
|
+
init(workflowNameInPath: string, opts?: GlobalOptions, preloaded?: unknown): Promise<void>;
|
|
23
42
|
protected getSteps(blueprint_steps: RunnerNode[]): Promise<NodeBase[]>;
|
|
24
43
|
protected getNodes(workflow_nodes: Node): Promise<Node>;
|
|
25
44
|
protected getFlow(steps: RunnerNode[]): Promise<Flow>;
|
package/dist/Configuration.js
CHANGED
|
@@ -4,6 +4,9 @@ import { RuntimeAdapterNode } from "./RuntimeAdapterNode";
|
|
|
4
4
|
import { RuntimeRegistry } from "./RuntimeRegistry";
|
|
5
5
|
import { HttpRuntimeAdapter } from "./adapters/HttpRuntimeAdapter";
|
|
6
6
|
import { NodeJsRuntimeAdapter } from "./adapters/NodeJsRuntimeAdapter";
|
|
7
|
+
import { GrpcRuntimeAdapter } from "./adapters/grpc/GrpcRuntimeAdapter";
|
|
8
|
+
import { DEFAULT_GRPC_PORTS, GRPC_DEFAULTS } from "./adapters/grpc/types";
|
|
9
|
+
import { isLoopbackHost, isStreamLogsEnabled, isStrictTlsEnabled, loadTlsConfigForKind, resolveHealthCheckFailureThreshold, resolveHealthCheckIntervalMs, resolveTransportForKind, } from "./adapters/transport";
|
|
7
10
|
export default class Configuration {
|
|
8
11
|
workflow = {};
|
|
9
12
|
name;
|
|
@@ -22,41 +25,145 @@ export default class Configuration {
|
|
|
22
25
|
this.initializeRuntimeRegistry();
|
|
23
26
|
}
|
|
24
27
|
/**
|
|
25
|
-
* Initialize the RuntimeRegistry with built-in adapters
|
|
28
|
+
* Initialize the RuntimeRegistry with built-in adapters.
|
|
29
|
+
*
|
|
30
|
+
* Registers `NodeJsRuntimeAdapter` for in-process JS nodes, then for each
|
|
31
|
+
* SDK language picks `HttpRuntimeAdapter` or `GrpcRuntimeAdapter` based on
|
|
32
|
+
* {@link resolveTransportForKind} (env-driven). This is the single point
|
|
33
|
+
* of transport selection — no other file branches on transport.
|
|
26
34
|
*/
|
|
27
35
|
initializeRuntimeRegistry() {
|
|
28
36
|
const registry = RuntimeRegistry.getInstance();
|
|
29
|
-
// Register NodeJS runtime adapter if not already registered
|
|
30
37
|
if (!registry.has("nodejs")) {
|
|
31
38
|
registry.register(new NodeJsRuntimeAdapter());
|
|
32
39
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
|
|
40
|
+
const sdkLanguages = [
|
|
41
|
+
{
|
|
42
|
+
kind: "go",
|
|
43
|
+
hostEnv: "RUNTIME_GO_HOST",
|
|
44
|
+
httpPortEnv: "RUNTIME_GO_PORT",
|
|
45
|
+
grpcPortEnv: "RUNTIME_GO_GRPC_PORT",
|
|
46
|
+
defaultHttpPort: 9001,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
kind: "rust",
|
|
50
|
+
hostEnv: "RUNTIME_RUST_HOST",
|
|
51
|
+
httpPortEnv: "RUNTIME_RUST_PORT",
|
|
52
|
+
grpcPortEnv: "RUNTIME_RUST_GRPC_PORT",
|
|
53
|
+
defaultHttpPort: 9002,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
kind: "java",
|
|
57
|
+
hostEnv: "RUNTIME_JAVA_HOST",
|
|
58
|
+
httpPortEnv: "RUNTIME_JAVA_PORT",
|
|
59
|
+
grpcPortEnv: "RUNTIME_JAVA_GRPC_PORT",
|
|
60
|
+
defaultHttpPort: 9003,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
kind: "csharp",
|
|
64
|
+
hostEnv: "RUNTIME_CSHARP_HOST",
|
|
65
|
+
httpPortEnv: "RUNTIME_CSHARP_PORT",
|
|
66
|
+
grpcPortEnv: "RUNTIME_CSHARP_GRPC_PORT",
|
|
67
|
+
defaultHttpPort: 9004,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
kind: "php",
|
|
71
|
+
hostEnv: "RUNTIME_PHP_HOST",
|
|
72
|
+
httpPortEnv: "RUNTIME_PHP_PORT",
|
|
73
|
+
grpcPortEnv: "RUNTIME_PHP_GRPC_PORT",
|
|
74
|
+
defaultHttpPort: 9005,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
kind: "ruby",
|
|
78
|
+
hostEnv: "RUNTIME_RUBY_HOST",
|
|
79
|
+
httpPortEnv: "RUNTIME_RUBY_PORT",
|
|
80
|
+
grpcPortEnv: "RUNTIME_RUBY_GRPC_PORT",
|
|
81
|
+
defaultHttpPort: 9006,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
kind: "python3",
|
|
85
|
+
hostEnv: "RUNTIME_PYTHON3_HOST",
|
|
86
|
+
httpPortEnv: "RUNTIME_PYTHON3_PORT",
|
|
87
|
+
grpcPortEnv: "RUNTIME_PYTHON3_GRPC_PORT",
|
|
88
|
+
defaultHttpPort: 9007,
|
|
89
|
+
},
|
|
43
90
|
];
|
|
44
|
-
for (const
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
91
|
+
for (const lang of sdkLanguages) {
|
|
92
|
+
if (registry.has(lang.kind))
|
|
93
|
+
continue;
|
|
94
|
+
const transport = resolveTransportForKind(lang.kind);
|
|
95
|
+
const host = process.env[lang.hostEnv] || "localhost";
|
|
96
|
+
const adapter = transport === "grpc"
|
|
97
|
+
? this.buildGrpcAdapter(lang.kind, host, lang.grpcPortEnv)
|
|
98
|
+
: this.buildHttpAdapter(lang.kind, host, lang.httpPortEnv, lang.defaultHttpPort);
|
|
99
|
+
registry.register(adapter);
|
|
50
100
|
}
|
|
51
101
|
}
|
|
52
|
-
|
|
102
|
+
buildHttpAdapter(kind, host, portEnv, defaultPort) {
|
|
103
|
+
const port = process.env[portEnv] ? Number.parseInt(process.env[portEnv], 10) : defaultPort;
|
|
104
|
+
return new HttpRuntimeAdapter(kind, host, port);
|
|
105
|
+
}
|
|
106
|
+
buildGrpcAdapter(kind, host, portEnv) {
|
|
107
|
+
const defaultPort = DEFAULT_GRPC_PORTS[kind];
|
|
108
|
+
const port = process.env[portEnv] ? Number.parseInt(process.env[portEnv], 10) : defaultPort;
|
|
109
|
+
const tls = loadTlsConfigForKind(kind);
|
|
110
|
+
// Strict mode rejects insecure channels against non-loopback hosts so
|
|
111
|
+
// production deployments can't accidentally ship plaintext mTLS-bypass.
|
|
112
|
+
if (!tls && isStrictTlsEnabled() && !isLoopbackHost(host)) {
|
|
113
|
+
throw new Error(`BLOK_GRPC_REQUIRE_TLS=true: refusing to build a plaintext gRPC adapter for runtime.${kind} targeting ${host}:${port}. Set RUNTIME_${kind.toUpperCase()}_TLS_CA (and CLIENT_CERT/CLIENT_KEY for mTLS) or fall back to a loopback host.`);
|
|
114
|
+
}
|
|
115
|
+
const config = {
|
|
116
|
+
kind,
|
|
117
|
+
host,
|
|
118
|
+
port,
|
|
119
|
+
defaultDeadlineMs: GRPC_DEFAULTS.DEFAULT_DEADLINE_MS,
|
|
120
|
+
maxMessageBytes: GRPC_DEFAULTS.MAX_MESSAGE_BYTES,
|
|
121
|
+
keepalive: {
|
|
122
|
+
timeMs: GRPC_DEFAULTS.KEEPALIVE_TIME_MS,
|
|
123
|
+
timeoutMs: GRPC_DEFAULTS.KEEPALIVE_TIMEOUT_MS,
|
|
124
|
+
permitWithoutCalls: GRPC_DEFAULTS.KEEPALIVE_PERMIT_WITHOUT_CALLS,
|
|
125
|
+
},
|
|
126
|
+
tls,
|
|
127
|
+
healthCheckIntervalMs: resolveHealthCheckIntervalMs(),
|
|
128
|
+
healthCheckFailureThreshold: resolveHealthCheckFailureThreshold(),
|
|
129
|
+
};
|
|
130
|
+
const adapter = new GrpcRuntimeAdapter(config);
|
|
131
|
+
// Start the background health probe loop now so the circuit breaker
|
|
132
|
+
// is warm before the first workflow run. Adapters created in tests
|
|
133
|
+
// either disable the interval (BLOK_GRPC_HEALTH_INTERVAL_MS=0) or
|
|
134
|
+
// avoid Configuration entirely.
|
|
135
|
+
adapter.startHealthCheck();
|
|
136
|
+
return adapter;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Initialize the configuration for a workflow run.
|
|
140
|
+
*
|
|
141
|
+
* @param workflowNameInPath - workflow identifier; used by the resolver
|
|
142
|
+
* to locate the workflow on disk and as the trace label.
|
|
143
|
+
* @param opts - global options (workflows map, nodes map, etc.).
|
|
144
|
+
* @param preloaded - optional pre-parsed workflow object. When provided,
|
|
145
|
+
* the resolver is skipped and this object is used directly. Used by
|
|
146
|
+
* the file-based router so workflows scanned at boot don't re-load
|
|
147
|
+
* from disk on every request. The object still flows through the
|
|
148
|
+
* normalizer for v1→v2 conversion.
|
|
149
|
+
*/
|
|
150
|
+
async init(workflowNameInPath, opts, preloaded) {
|
|
53
151
|
if (this.globalOptions === undefined && opts !== undefined) {
|
|
54
152
|
this.globalOptions = opts;
|
|
55
153
|
}
|
|
56
154
|
if (workflowNameInPath === undefined)
|
|
57
155
|
throw new Error("Workflow name must be provided");
|
|
58
|
-
|
|
59
|
-
|
|
156
|
+
if (preloaded !== undefined) {
|
|
157
|
+
// Boot-time scan path — workflow object already loaded, just
|
|
158
|
+
// normalize it through the same v1→v2 pipeline as disk-loaded
|
|
159
|
+
// workflows.
|
|
160
|
+
const { normalizeWorkflow } = await import("./workflow/WorkflowNormalizer");
|
|
161
|
+
this.workflow = normalizeWorkflow(preloaded, workflowNameInPath);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const resolver = new ConfigurationResolver(opts);
|
|
165
|
+
this.workflow = await resolver.get("local", workflowNameInPath);
|
|
166
|
+
}
|
|
60
167
|
if (!this.workflow)
|
|
61
168
|
throw new Error(`No workflow found with path '${workflowNameInPath}'`);
|
|
62
169
|
// Instances of the Blok Services
|
|
@@ -84,7 +191,20 @@ export default class Configuration {
|
|
|
84
191
|
node.name = step.name;
|
|
85
192
|
node.active = step.active !== undefined ? step.active : true;
|
|
86
193
|
node.stop = step.stop !== undefined ? step.stop : false;
|
|
87
|
-
|
|
194
|
+
// Pass `set_var` through verbatim — DO NOT default to `false`. The
|
|
195
|
+
// `false` value short-circuits PersistenceHelper.applyStepOutput
|
|
196
|
+
// and silently disables v2's default-store rule. Legacy v1
|
|
197
|
+
// workflows that explicitly set `set_var: false` are normalized
|
|
198
|
+
// to `ephemeral: true` upstream by WorkflowNormalizer.
|
|
199
|
+
if (step.set_var !== undefined)
|
|
200
|
+
node.set_var = step.set_var;
|
|
201
|
+
// V2 persistence knobs — read by PersistenceHelper.applyStepOutput.
|
|
202
|
+
// `as` renames the state key; `spread` flattens result.data into
|
|
203
|
+
// state; `ephemeral: true` skips persistence entirely. Default
|
|
204
|
+
// behaviour (none set) is to store at state[name].
|
|
205
|
+
node.as = step.as;
|
|
206
|
+
node.spread = step.spread === true;
|
|
207
|
+
node.ephemeral = step.ephemeral === true;
|
|
88
208
|
nodes.push(node);
|
|
89
209
|
}
|
|
90
210
|
return nodes;
|
|
@@ -156,7 +276,13 @@ export default class Configuration {
|
|
|
156
276
|
node.name = step.name;
|
|
157
277
|
node.active = step.active !== undefined ? step.active : true;
|
|
158
278
|
node.stop = step.stop !== undefined ? step.stop : false;
|
|
159
|
-
|
|
279
|
+
// Pass `set_var` through verbatim — DO NOT default to `false`. The
|
|
280
|
+
// `false` value short-circuits PersistenceHelper.applyStepOutput
|
|
281
|
+
// and silently disables v2's default-store rule. Legacy v1
|
|
282
|
+
// workflows that explicitly set `set_var: false` are normalized
|
|
283
|
+
// to `ephemeral: true` upstream by WorkflowNormalizer.
|
|
284
|
+
if (step.set_var !== undefined)
|
|
285
|
+
node.set_var = step.set_var;
|
|
160
286
|
// const validator = z.instanceof(NodeBase);
|
|
161
287
|
// validator.parse(node);
|
|
162
288
|
flows.steps.push(node);
|
|
@@ -228,9 +354,30 @@ export default class Configuration {
|
|
|
228
354
|
targetNode.runtime = runtimeKind;
|
|
229
355
|
targetNode.active = node.active !== undefined ? node.active : true;
|
|
230
356
|
targetNode.stop = node.stop !== undefined ? node.stop : false;
|
|
231
|
-
|
|
232
|
-
//
|
|
233
|
-
|
|
357
|
+
// Pass `set_var` through verbatim — DO NOT default to `false`. The v2
|
|
358
|
+
// default-store rule in PersistenceHelper persists `result.data` at
|
|
359
|
+
// `state[name]` unless `set_var === false` is explicit. Defaulting to
|
|
360
|
+
// `false` here silently disabled persistence for every SDK step,
|
|
361
|
+
// breaking `js/ctx.state['<id>']` reads in v2 workflows
|
|
362
|
+
// (cross-runtime-chain regressed: `state['go']` was undefined even
|
|
363
|
+
// though the GO step ran fine).
|
|
364
|
+
if (node.set_var !== undefined)
|
|
365
|
+
targetNode.set_var = node.set_var;
|
|
366
|
+
// V2 persistence knobs — flow through to PersistenceHelper.
|
|
367
|
+
const v2 = node;
|
|
368
|
+
if (v2.as !== undefined)
|
|
369
|
+
targetNode.as = v2.as;
|
|
370
|
+
targetNode.spread = v2.spread === true;
|
|
371
|
+
targetNode.ephemeral = v2.ephemeral === true;
|
|
372
|
+
// Wrap in RuntimeAdapterNode to integrate with existing Runner.
|
|
373
|
+
// Per-step `stream_logs: true|false` overrides the global
|
|
374
|
+
// `BLOK_STREAM_LOGS` env flag (master plan §17 Phase 5 follow-up).
|
|
375
|
+
// This lets workflow authors silence one chatty step without
|
|
376
|
+
// disabling streaming workflow-wide, or opt a single step in
|
|
377
|
+
// without flipping the whole runtime.
|
|
378
|
+
const stepStreamLogs = node.stream_logs;
|
|
379
|
+
const streamLogs = stepStreamLogs !== undefined ? stepStreamLogs : isStreamLogsEnabled();
|
|
380
|
+
return new RuntimeAdapterNode(adapter, targetNode, { streamLogs });
|
|
234
381
|
}
|
|
235
382
|
async moduleResolver(node, opts) {
|
|
236
383
|
const nodeHandler = opts?.nodes?.getNode(node.node);
|
|
@@ -238,6 +385,21 @@ export default class Configuration {
|
|
|
238
385
|
throw new Error(`Node ${node.node} not found`);
|
|
239
386
|
}
|
|
240
387
|
const clone = Object.assign(Object.create(Object.getPrototypeOf(nodeHandler)), nodeHandler);
|
|
388
|
+
// Copy step-level metadata from the workflow JSON onto the clone.
|
|
389
|
+
// Without this, `step.type` is undefined for module nodes and
|
|
390
|
+
// downstream consumers (RunnerSteps step prefix, RunTracker
|
|
391
|
+
// `startNode`'s `nodeType` field) fall back to "unknown" — which
|
|
392
|
+
// surfaces in dev as `[step 1/9] init (unknown) → started`. The
|
|
393
|
+
// runtimeResolver already does this; we mirror it here.
|
|
394
|
+
clone.name = node.name;
|
|
395
|
+
clone.node = node.node;
|
|
396
|
+
clone.type = node.type;
|
|
397
|
+
if (node.active !== undefined)
|
|
398
|
+
clone.active = node.active;
|
|
399
|
+
if (node.stop !== undefined)
|
|
400
|
+
clone.stop = node.stop;
|
|
401
|
+
if (node.set_var !== undefined)
|
|
402
|
+
clone.set_var = node.set_var;
|
|
241
403
|
return clone;
|
|
242
404
|
}
|
|
243
405
|
async localResolver(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../src/Configuration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../src/Configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type GlobalOptions from "./types/GlobalOptions";
|
|
2
|
+
/**
|
|
3
|
+
* ConfigurationResolver loads a workflow from any registered storage target
|
|
4
|
+
* (filesystem, in-memory, etc.) and runs it through the v1→v2 normalizer
|
|
5
|
+
* before returning it to the caller.
|
|
6
|
+
*
|
|
7
|
+
* This is the single pinch point for workflow loading — every trigger
|
|
8
|
+
* (HTTP, Cron, future) goes through here, so the normalizer applies once
|
|
9
|
+
* regardless of how the workflow is fetched.
|
|
10
|
+
*/
|
|
2
11
|
export default class ConfigurationResolver {
|
|
3
12
|
private targets;
|
|
4
13
|
private globalOptions;
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import LocalStorage from "./LocalStorage";
|
|
2
|
+
import { normalizeWorkflow } from "./workflow/WorkflowNormalizer";
|
|
3
|
+
/**
|
|
4
|
+
* ConfigurationResolver loads a workflow from any registered storage target
|
|
5
|
+
* (filesystem, in-memory, etc.) and runs it through the v1→v2 normalizer
|
|
6
|
+
* before returning it to the caller.
|
|
7
|
+
*
|
|
8
|
+
* This is the single pinch point for workflow loading — every trigger
|
|
9
|
+
* (HTTP, Cron, future) goes through here, so the normalizer applies once
|
|
10
|
+
* regardless of how the workflow is fetched.
|
|
11
|
+
*/
|
|
2
12
|
export default class ConfigurationResolver {
|
|
3
13
|
targets = {};
|
|
4
14
|
globalOptions = {};
|
|
@@ -9,7 +19,13 @@ export default class ConfigurationResolver {
|
|
|
9
19
|
this.globalOptions = opts;
|
|
10
20
|
}
|
|
11
21
|
async get(target, name) {
|
|
12
|
-
|
|
22
|
+
const raw = await this.targets[target].get(name, this.globalOptions.workflows);
|
|
23
|
+
// Normalize v1 → v2 (or pass v2 through). Always returns the
|
|
24
|
+
// canonical internal shape that Configuration.getSteps consumes.
|
|
25
|
+
// Cast back to `unknown` so the existing call-site (`Configuration.init`)
|
|
26
|
+
// continues to use its own untyped projections — no type churn beyond
|
|
27
|
+
// this one point.
|
|
28
|
+
return normalizeWorkflow(raw, name);
|
|
13
29
|
}
|
|
14
30
|
}
|
|
15
31
|
//# sourceMappingURL=ConfigurationResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationResolver.js","sourceRoot":"","sources":["../src/ConfigurationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigurationResolver.js","sourceRoot":"","sources":["../src/ConfigurationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACjC,OAAO,GAAY,EAAE,CAAC;IACtB,aAAa,GAAiC,EAAE,CAAC;IAEzD,YAAY,IAAmB;QAC9B,IAAI,CAAC,OAAO,GAAG;YACd,KAAK,EAAE,IAAI,YAAY,EAAE;SACzB,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,IAAY;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/E,6DAA6D;QAC7D,iEAAiE;QACjE,0EAA0E;QAC1E,sEAAsE;QACtE,kBAAkB;QAClB,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAA0E,CAAC;IAC9G,CAAC;CACD"}
|
package/dist/RunnerSteps.js
CHANGED
|
@@ -38,12 +38,32 @@ export default class RunnerSteps {
|
|
|
38
38
|
if (!step.flow) {
|
|
39
39
|
// --- Trace: start node ---
|
|
40
40
|
let nodeRunId;
|
|
41
|
+
const stepAny = step;
|
|
42
|
+
const stepType = stepAny.type || "unknown";
|
|
43
|
+
// Runtime nodes (RuntimeAdapterNode) expose `transport` so
|
|
44
|
+
// operators can tell at a glance whether the step ran via
|
|
45
|
+
// HTTP, gRPC, or in-process module nodes. Module/local
|
|
46
|
+
// nodes don't carry the field — prefix stays one-tag.
|
|
47
|
+
const transport = stepAny.transport;
|
|
48
|
+
const stepPrefix = transport
|
|
49
|
+
? `[step ${i + 1}/${steps.length}] ${step.name} (${stepType}, ${transport})`
|
|
50
|
+
: `[step ${i + 1}/${steps.length}] ${step.name} (${stepType})`;
|
|
51
|
+
// --- Step metadata for runtime adapters ---
|
|
52
|
+
// Populate `ctx._stepInfo` so adapters (e.g. GrpcRuntimeAdapter)
|
|
53
|
+
// can report the step's position in the workflow without each
|
|
54
|
+
// adapter having to plumb its own counter. Set unconditionally —
|
|
55
|
+
// independent of whether tracing is enabled.
|
|
56
|
+
ctx._stepInfo = {
|
|
57
|
+
name: step.name,
|
|
58
|
+
index: i,
|
|
59
|
+
total: steps.length,
|
|
60
|
+
depth: depthLevel,
|
|
61
|
+
};
|
|
41
62
|
if (tracker && traceRunId) {
|
|
42
|
-
const stepAny = step;
|
|
43
63
|
const configAny = ctx.config;
|
|
44
64
|
const nodeRun = tracker.startNode(traceRunId, {
|
|
45
65
|
nodeName: step.name,
|
|
46
|
-
nodeType:
|
|
66
|
+
nodeType: stepType,
|
|
47
67
|
runtimeKind: stepAny.runtime,
|
|
48
68
|
inputs: sanitize(configAny?.[step.name]?.inputs ?? stepAny.config),
|
|
49
69
|
depth: depthLevel,
|
|
@@ -52,23 +72,42 @@ export default class RunnerSteps {
|
|
|
52
72
|
nodeRunId = nodeRun.id;
|
|
53
73
|
ctx._traceNodeId = nodeRunId;
|
|
54
74
|
}
|
|
75
|
+
ctx.logger.log(`${stepPrefix} → started`);
|
|
76
|
+
const stepStart = performance.now();
|
|
55
77
|
try {
|
|
56
78
|
const model = await step.process(ctx, step);
|
|
57
79
|
ctx.response = model.data;
|
|
80
|
+
const stepDuration = (performance.now() - stepStart).toFixed(1);
|
|
58
81
|
// --- Trace: complete or fail node ---
|
|
59
82
|
if (tracker && nodeRunId) {
|
|
60
83
|
if (ctx.response.error) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
84
|
+
// Pass the error VERBATIM so RunTracker's
|
|
85
|
+
// `toRunErrorDetail` can preserve BlokError
|
|
86
|
+
// fields (category, retryable, remediation,
|
|
87
|
+
// causes, …) when the SDK supplied a typed
|
|
88
|
+
// failure. Strings and bare Errors fall
|
|
89
|
+
// through to the legacy `{message, stack}`
|
|
90
|
+
// shape.
|
|
91
|
+
tracker.failNode(nodeRunId, ctx.response.error);
|
|
65
92
|
}
|
|
66
93
|
else {
|
|
67
|
-
|
|
94
|
+
// `_stepMetrics` is stashed on ctx by RuntimeAdapterNode
|
|
95
|
+
// when an adapter returns metrics (gRPC wire bytes,
|
|
96
|
+
// duration, cpu, memory). Threading it through
|
|
97
|
+
// `completeNode` is what gets the metrics into the
|
|
98
|
+
// run store + NODE_COMPLETED event payload — Studio's
|
|
99
|
+
// inspector reads them from there.
|
|
100
|
+
const ctxAny = ctx;
|
|
101
|
+
const stepMetrics = ctxAny._stepMetrics;
|
|
102
|
+
ctxAny._stepMetrics = undefined;
|
|
103
|
+
tracker.completeNode(nodeRunId, sanitize(ctx.response.data), stepMetrics);
|
|
68
104
|
}
|
|
69
105
|
}
|
|
70
|
-
if (ctx.response.error)
|
|
106
|
+
if (ctx.response.error) {
|
|
107
|
+
ctx.logger.log(`${stepPrefix} → FAILED (${stepDuration}ms)`);
|
|
71
108
|
throw ctx.response.error;
|
|
109
|
+
}
|
|
110
|
+
ctx.logger.log(`${stepPrefix} → completed (${stepDuration}ms)`);
|
|
72
111
|
}
|
|
73
112
|
catch (nodeErr) {
|
|
74
113
|
// --- Trace: fail node on exception ---
|
|
@@ -78,7 +117,11 @@ export default class RunnerSteps {
|
|
|
78
117
|
tracker.failNode(nodeRunId, nodeErr instanceof Error ? nodeErr : new Error(String(nodeErr)));
|
|
79
118
|
}
|
|
80
119
|
}
|
|
81
|
-
|
|
120
|
+
// Enrich error with step context so developers know which step failed
|
|
121
|
+
const originalMsg = nodeErr instanceof Error ? nodeErr.message : String(nodeErr);
|
|
122
|
+
const enrichedError = new Error(`${stepPrefix} failed: ${originalMsg}`);
|
|
123
|
+
enrichedError.cause = nodeErr;
|
|
124
|
+
throw enrichedError;
|
|
82
125
|
}
|
|
83
126
|
}
|
|
84
127
|
else {
|
package/dist/RunnerSteps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnerSteps.js","sourceRoot":"","sources":["../src/RunnerSteps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAgB,WAAW;IACxC;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,KAAiB,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE;QAC3E,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAE/B,MAAM,UAAU,GAAI,GAA+B,CAAC,WAAiC,CAAC;QACtF,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,CAAC;YACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;YACrG,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,UAAU,GAAe,EAAE,CAAC;YAChC,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAa,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEhC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClB,sBAAsB;oBACtB,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;wBAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;oBACxD,CAAC;oBACD,SAAS;gBACV,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACrB,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBAE5C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChB,4BAA4B;oBAC5B,IAAI,SAA6B,CAAC;oBAClC,
|
|
1
|
+
{"version":3,"file":"RunnerSteps.js","sourceRoot":"","sources":["../src/RunnerSteps.ts"],"names":[],"mappings":"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"}
|