@blokjs/runner 0.2.0 → 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.
Files changed (80) hide show
  1. package/dist/Blok.js +11 -11
  2. package/dist/Blok.js.map +1 -1
  3. package/dist/Configuration.d.ts +21 -2
  4. package/dist/Configuration.js +188 -26
  5. package/dist/Configuration.js.map +1 -1
  6. package/dist/ConfigurationResolver.d.ts +9 -0
  7. package/dist/ConfigurationResolver.js +17 -1
  8. package/dist/ConfigurationResolver.js.map +1 -1
  9. package/dist/RunnerSteps.js +52 -9
  10. package/dist/RunnerSteps.js.map +1 -1
  11. package/dist/RuntimeAdapterNode.d.ts +32 -2
  12. package/dist/RuntimeAdapterNode.js +122 -27
  13. package/dist/RuntimeAdapterNode.js.map +1 -1
  14. package/dist/TriggerBase.js +35 -2
  15. package/dist/TriggerBase.js.map +1 -1
  16. package/dist/adapters/BunRuntimeAdapter.d.ts +1 -0
  17. package/dist/adapters/BunRuntimeAdapter.js +1 -0
  18. package/dist/adapters/BunRuntimeAdapter.js.map +1 -1
  19. package/dist/adapters/DockerRuntimeAdapter.d.ts +2 -1
  20. package/dist/adapters/DockerRuntimeAdapter.js +10 -1
  21. package/dist/adapters/DockerRuntimeAdapter.js.map +1 -1
  22. package/dist/adapters/HttpRuntimeAdapter.d.ts +26 -5
  23. package/dist/adapters/HttpRuntimeAdapter.js +97 -16
  24. package/dist/adapters/HttpRuntimeAdapter.js.map +1 -1
  25. package/dist/adapters/NodeJsRuntimeAdapter.d.ts +1 -0
  26. package/dist/adapters/NodeJsRuntimeAdapter.js +1 -0
  27. package/dist/adapters/NodeJsRuntimeAdapter.js.map +1 -1
  28. package/dist/adapters/RuntimeAdapter.d.ts +17 -0
  29. package/dist/adapters/WasmRuntimeAdapter.d.ts +1 -0
  30. package/dist/adapters/WasmRuntimeAdapter.js +1 -0
  31. package/dist/adapters/WasmRuntimeAdapter.js.map +1 -1
  32. package/dist/adapters/grpc/GrpcChannelOptions.d.ts +31 -0
  33. package/dist/adapters/grpc/GrpcChannelOptions.js +68 -0
  34. package/dist/adapters/grpc/GrpcChannelOptions.js.map +1 -0
  35. package/dist/adapters/grpc/GrpcClientPool.d.ts +43 -0
  36. package/dist/adapters/grpc/GrpcClientPool.js +89 -0
  37. package/dist/adapters/grpc/GrpcClientPool.js.map +1 -0
  38. package/dist/adapters/grpc/GrpcCodec.d.ts +226 -0
  39. package/dist/adapters/grpc/GrpcCodec.js +275 -0
  40. package/dist/adapters/grpc/GrpcCodec.js.map +1 -0
  41. package/dist/adapters/grpc/GrpcErrors.d.ts +59 -0
  42. package/dist/adapters/grpc/GrpcErrors.js +190 -0
  43. package/dist/adapters/grpc/GrpcErrors.js.map +1 -0
  44. package/dist/adapters/grpc/GrpcHealthChecker.d.ts +69 -0
  45. package/dist/adapters/grpc/GrpcHealthChecker.js +96 -0
  46. package/dist/adapters/grpc/GrpcHealthChecker.js.map +1 -0
  47. package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +98 -0
  48. package/dist/adapters/grpc/GrpcRuntimeAdapter.js +478 -0
  49. package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -0
  50. package/dist/adapters/grpc/index.d.ts +13 -0
  51. package/dist/adapters/grpc/index.js +14 -0
  52. package/dist/adapters/grpc/index.js.map +1 -0
  53. package/dist/adapters/grpc/proto/blok/runtime/v1/runtime.proto +302 -0
  54. package/dist/adapters/grpc/types.d.ts +97 -0
  55. package/dist/adapters/grpc/types.js +41 -0
  56. package/dist/adapters/grpc/types.js.map +1 -0
  57. package/dist/adapters/transport.d.ts +108 -0
  58. package/dist/adapters/transport.js +196 -0
  59. package/dist/adapters/transport.js.map +1 -0
  60. package/dist/index.d.ts +13 -1
  61. package/dist/index.js +14 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/testing/WorkflowTestRunner.js +12 -0
  64. package/dist/testing/WorkflowTestRunner.js.map +1 -1
  65. package/dist/tracing/RunTracker.d.ts +23 -2
  66. package/dist/tracing/RunTracker.js +120 -10
  67. package/dist/tracing/RunTracker.js.map +1 -1
  68. package/dist/tracing/SqliteRunStore.js +19 -3
  69. package/dist/tracing/SqliteRunStore.js.map +1 -1
  70. package/dist/tracing/TraceRouter.js +245 -4
  71. package/dist/tracing/TraceRouter.js.map +1 -1
  72. package/dist/tracing/types.d.ts +82 -10
  73. package/dist/types/GlobalOptions.d.ts +9 -2
  74. package/dist/workflow/PersistenceHelper.d.ts +46 -0
  75. package/dist/workflow/PersistenceHelper.js +57 -0
  76. package/dist/workflow/PersistenceHelper.js.map +1 -0
  77. package/dist/workflow/WorkflowNormalizer.d.ts +91 -0
  78. package/dist/workflow/WorkflowNormalizer.js +304 -0
  79. package/dist/workflow/WorkflowNormalizer.js.map +1 -0
  80. package/package.json +10 -7
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
- if (this.set_var) {
88
- const vars = {
89
- [this.name]: result.data,
90
- };
91
- this.setVar(ctx, vars);
92
- response.data = ctx.response || {};
93
- }
94
- else {
95
- response.data = result;
96
- response.data.contentType = this.contentType;
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":"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"}
1
+ {"version":3,"file":"Blok.js","sourceRoot":"","sources":["../src/Blok.ts"],"names":[],"mappings":"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"}
@@ -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
- init(workflowNameInPath: string, opts?: GlobalOptions): Promise<void>;
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>;
@@ -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
- // Register HTTP-based runtime adapters for all SDK languages
34
- // Python3 now uses HttpRuntimeAdapter (same as Go/Rust/Java/C#/PHP/Ruby)
35
- const httpRuntimes = [
36
- { kind: "go", hostEnv: "RUNTIME_GO_HOST", portEnv: "RUNTIME_GO_PORT", defaultPort: 9001 },
37
- { kind: "rust", hostEnv: "RUNTIME_RUST_HOST", portEnv: "RUNTIME_RUST_PORT", defaultPort: 9002 },
38
- { kind: "java", hostEnv: "RUNTIME_JAVA_HOST", portEnv: "RUNTIME_JAVA_PORT", defaultPort: 9003 },
39
- { kind: "csharp", hostEnv: "RUNTIME_CSHARP_HOST", portEnv: "RUNTIME_CSHARP_PORT", defaultPort: 9004 },
40
- { kind: "php", hostEnv: "RUNTIME_PHP_HOST", portEnv: "RUNTIME_PHP_PORT", defaultPort: 9005 },
41
- { kind: "ruby", hostEnv: "RUNTIME_RUBY_HOST", portEnv: "RUNTIME_RUBY_PORT", defaultPort: 9006 },
42
- { kind: "python3", hostEnv: "RUNTIME_PYTHON3_HOST", portEnv: "RUNTIME_PYTHON3_PORT", defaultPort: 9007 },
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 rt of httpRuntimes) {
45
- if (!registry.has(rt.kind)) {
46
- const host = process.env[rt.hostEnv] || "localhost";
47
- const port = process.env[rt.portEnv] ? Number.parseInt(process.env[rt.portEnv]) : rt.defaultPort;
48
- registry.register(new HttpRuntimeAdapter(rt.kind, host, port));
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
- async init(workflowNameInPath, opts) {
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
- const resolver = new ConfigurationResolver(opts);
59
- this.workflow = await resolver.get("local", workflowNameInPath);
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
- node.set_var = step.set_var !== undefined ? step.set_var : false;
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
- node.set_var = step.set_var !== undefined ? step.set_var : false;
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
- targetNode.set_var = node.set_var !== undefined ? node.set_var : false;
232
- // Wrap in RuntimeAdapterNode to integrate with existing Runner
233
- return new RuntimeAdapterNode(adapter, targetNode);
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":"AAGA,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAA0C,MAAM,uBAAuB,CAAC;AAClH,OAAO,EACN,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kCAAkC,EAClC,4BAA4B,EAC5B,uBAAuB,GACvB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,CAAC,OAAO,OAAO,aAAa;IAC1B,QAAQ,GAAmB,EAAE,CAAC;IAC9B,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,KAAK,CAAa;IAClB,KAAK,CAAO;IACZ,OAAO,CAAU;IACjB,MAAM,CAAC,YAAY,GAAe,EAAE,CAAC;IACrC,aAAa,CAA4B;IAEhD;QACC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAS,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACK,yBAAyB;QAChC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,QAAQ,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,YAAY,GAMb;YACJ;gBACC,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,sBAAsB;gBACnC,eAAe,EAAE,IAAI;aACrB;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EAAE,wBAAwB;gBACrC,eAAe,EAAE,IAAI;aACrB;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EAAE,wBAAwB;gBACrC,eAAe,EAAE,IAAI;aACrB;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,0BAA0B;gBACvC,eAAe,EAAE,IAAI;aACrB;YACD;gBACC,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,uBAAuB;gBACpC,eAAe,EAAE,IAAI;aACrB;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EAAE,wBAAwB;gBACrC,eAAe,EAAE,IAAI;aACrB;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,sBAAsB;gBAC/B,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,2BAA2B;gBACxC,eAAe,EAAE,IAAI;aACrB;SACD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YACtC,MAAM,SAAS,GAAc,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;YACtD,MAAM,OAAO,GACZ,SAAS,KAAK,MAAM;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACnF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAEO,gBAAgB,CAAC,IAAiB,EAAE,IAAY,EAAE,OAAe,EAAE,WAAmB;QAC7F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACtG,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,gBAAgB,CAAC,IAAiB,EAAE,IAAY,EAAE,OAAe;QACxE,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACtG,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEvC,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACd,sFAAsF,IAAI,cAAc,IAAI,IAAI,IAAI,iBAAiB,IAAI,CAAC,WAAW,EAAE,gFAAgF,CACvO,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAsB;YACjC,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,iBAAiB,EAAE,aAAa,CAAC,mBAAmB;YACpD,eAAe,EAAE,aAAa,CAAC,iBAAiB;YAChD,SAAS,EAAE;gBACV,MAAM,EAAE,aAAa,CAAC,iBAAiB;gBACvC,SAAS,EAAE,aAAa,CAAC,oBAAoB;gBAC7C,kBAAkB,EAAE,aAAa,CAAC,8BAA8B;aAChE;YACD,GAAG;YACH,qBAAqB,EAAE,4BAA4B,EAAE;YACrD,2BAA2B,EAAE,kCAAkC,EAAE;SACjE,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,gCAAgC;QAChC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,IAAI,CAAC,kBAA0B,EAAE,IAAoB,EAAE,SAAmB;QACtF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,kBAAkB,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAExF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,6DAA6D;YAC7D,8DAA8D;YAC9D,aAAa;YACb,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,CAAoC,CAAC;QACrG,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAqB,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,kBAA4B,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,kBAAkB,GAAG,CAAC,CAAC;QAE3F,iCAAiC;QACjC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAC;QAEtE,qCAAqC;QACrC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,eAA6B;QACrD,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAe,eAAe,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAe,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEvD,4CAA4C;YAC5C,yBAAyB;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,mEAAmE;YACnE,iEAAiE;YACjE,2DAA2D;YAC3D,gEAAgE;YAChE,uDAAuD;YACvD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5D,oEAAoE;YACpE,iEAAiE;YACjE,+DAA+D;YAC/D,mDAAmD;YACnD,IAAI,CAAC,EAAE,GAAI,IAAqC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,GAAI,IAA0C,CAAC,MAAM,KAAK,IAAI,CAAC;YAC1E,IAAI,CAAC,SAAS,GAAI,IAA6C,CAAC,SAAS,KAAK,IAAI,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,cAAoB;QAC5C,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAmB,CAAC;gBAE1D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnF,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACnG,MAAM,oBAAoB,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC;gBAEpD,IAAI,oBAAoB,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAgC,CAAC;oBAC3D,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,iBAAiB,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,EAAoB,CAAC;oBACtE,iBAAqC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAElD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC;gBACtD,CAAC;qBAAM,IAAI,MAAM,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAgC,CAAC;oBAC3D,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,WAAW,CAAC,UAAoC,CAAC;oBACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAgC,CAAC;wBACzD,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;wBACpD,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;oBACtC,CAAC;oBAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;gBAC7B,CAAC;qBAAM,IACN,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,QAAQ;oBACvC,WAAW,CAAC,GAAG;oBACd,WAAW,CAAC,GAAuB,CAAC,KAAK;oBAC1C,WAAW,CAAC,KAAK;oBAChB,WAAW,CAAC,KAAyB,CAAC,KAAK,EAC3C,CAAC;oBACD,KAAK,CAAC,GAAG,CAAc,GAAG;wBAC1B,GAAG,EAAE,MAAM,IAAI,CAAC,OAAO,CAAE,WAAW,CAAC,GAAuB,CAAC,KAAK,CAAC;wBACnE,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAE,WAAW,CAAC,KAAyB,CAAC,KAAK,CAAC;qBACvE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAe,WAAW,CAAC,MAA+B,CAAC;oBACrE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvG,KAAK,CAAC,GAAG,CAAY,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvE,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,KAAmB;QAC1C,MAAM,KAAK,GAAS;YACnB,KAAK,EAAE,EAAE;SACT,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAe,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,GAAe,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,mEAAmE;YACnE,iEAAiE;YACjE,2DAA2D;YAC3D,gEAAgE;YAChE,uDAAuD;YACvD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE5D,4CAA4C;YAC5C,yBAAyB;YACzB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAgB;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAA8B,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;IACrD,CAAC;IAES,SAAS;QAClB,OAAO;YACN,MAAM,EAAE;gBACP,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,IAAmB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;aAChG;YACD,KAAK,EAAE;gBACN,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,IAAmB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;aACzF;YACD,iBAAiB,EAAE;gBAClB,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;YACD,YAAY,EAAE;gBACb,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;YACD,cAAc,EAAE;gBACf,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;YACD,cAAc,EAAE;gBACf,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;YACD,gBAAgB,EAAE;gBACjB,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;YACD,aAAa,EAAE;gBACd,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;YACD,cAAc,EAAE;gBACf,QAAQ,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aACtE;SACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAgB;QACrC,gEAAgE;QAChE,2DAA2D;QAC3D,IAAI,WAAW,GAAuB,IAAI,CAAC,OAAO,CAAC;QACnD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,oEAAoE;QACpE,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,WAAW,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAA0B,CAAC,CAAC;QAEzD,wDAAwD;QACxD,qCAAqC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAM,SAAQ,UAAU;YAC/C,KAAK,CAAC,GAAG;gBACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC;SACD,CAAC,EAAE,CAAC;QACL,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,UAAU,CAAC,OAAO,GAAG,WAA0B,CAAC;QAChD,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9D,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,iEAAiE;QACjE,wDAAwD;QACxD,mEAAmE;QACnE,gCAAgC;QAChC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAClE,4DAA4D;QAC5D,MAAM,EAAE,GAAG,IAA2E,CAAC;QACvF,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS;YAAE,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC;QACvC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;QAE7C,gEAAgE;QAChE,0DAA0D;QAC1D,mEAAmE;QACnE,6DAA6D;QAC7D,6DAA6D;QAC7D,sCAAsC;QACtC,MAAM,cAAc,GAAI,IAAkC,CAAC,WAAW,CAAC;QACvE,MAAM,UAAU,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACzF,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,CAAe,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,IAAgB,EAAE,IAAmB;QACnE,MAAM,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC5F,kEAAkE;QAClE,8DAA8D;QAC9D,4DAA4D;QAC5D,iEAAiE;QACjE,gEAAgE;QAChE,wDAAwD;QACvD,KAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtC,KAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtC,KAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAG,KAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAG,KAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACpE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAG,KAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7E,OAAO,KAAmB,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,IAAgB;QAC7C,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAyB,CAAC;IAClE,CAAC"}
@@ -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
- return await this.targets[target].get(name, this.globalOptions.workflows);
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;AAI1C,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,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACD"}
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"}
@@ -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: stepAny.type || "unknown",
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
- const errMsg = typeof ctx.response.error === "string"
62
- ? ctx.response.error
63
- : ctx.response.error.message || "Node error";
64
- tracker.failNode(nodeRunId, new Error(errMsg));
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
- tracker.completeNode(nodeRunId, sanitize(ctx.response.data));
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
- throw nodeErr;
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 {
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerSteps.js","sourceRoot":"","sources":["../src/RunnerSteps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunnerSteps.js","sourceRoot":"","sources":["../src/RunnerSteps.ts"],"names":[],"mappings":"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"}