@blokjs/runner 0.2.1 → 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/Blok.js +11 -11
- package/dist/Blok.js.map +1 -1
- package/dist/Configuration.d.ts +39 -2
- package/dist/Configuration.js +337 -28
- 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/PayloadTooLargeError.d.ts +19 -0
- package/dist/PayloadTooLargeError.js +29 -0
- package/dist/PayloadTooLargeError.js.map +1 -0
- package/dist/RunCancelledError.d.ts +17 -0
- package/dist/RunCancelledError.js +25 -0
- package/dist/RunCancelledError.js.map +1 -0
- package/dist/RunnerSteps.js +363 -23
- 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/SubworkflowNode.d.ts +75 -0
- package/dist/SubworkflowNode.js +221 -0
- package/dist/SubworkflowNode.js.map +1 -0
- package/dist/TriggerBase.d.ts +128 -0
- package/dist/TriggerBase.js +808 -6
- package/dist/TriggerBase.js.map +1 -1
- package/dist/WaitDispatchRequest.d.ts +38 -0
- package/dist/WaitDispatchRequest.js +13 -0
- package/dist/WaitDispatchRequest.js.map +1 -0
- package/dist/WaitNode.d.ts +23 -0
- package/dist/WaitNode.js +26 -0
- package/dist/WaitNode.js.map +1 -0
- 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/concurrency/ConcurrencyBackend.d.ts +61 -0
- package/dist/concurrency/ConcurrencyBackend.js +20 -0
- package/dist/concurrency/ConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/ConcurrencyLimitError.d.ts +37 -0
- package/dist/concurrency/ConcurrencyLimitError.js +16 -0
- package/dist/concurrency/ConcurrencyLimitError.js.map +1 -0
- package/dist/concurrency/NatsKvConcurrencyBackend.d.ts +64 -0
- package/dist/concurrency/NatsKvConcurrencyBackend.js +297 -0
- package/dist/concurrency/NatsKvConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/QueueExpiredError.d.ts +40 -0
- package/dist/concurrency/QueueExpiredError.js +15 -0
- package/dist/concurrency/QueueExpiredError.js.map +1 -0
- package/dist/concurrency/createConcurrencyBackend.d.ts +23 -0
- package/dist/concurrency/createConcurrencyBackend.js +34 -0
- package/dist/concurrency/createConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/readConcurrencyConfig.d.ts +60 -0
- package/dist/concurrency/readConcurrencyConfig.js +60 -0
- package/dist/concurrency/readConcurrencyConfig.js.map +1 -0
- package/dist/idempotency/resolveIdempotencyKey.d.ts +20 -0
- package/dist/idempotency/resolveIdempotencyKey.js +37 -0
- package/dist/idempotency/resolveIdempotencyKey.js.map +1 -0
- package/dist/index.d.ts +35 -3
- package/dist/index.js +61 -2
- package/dist/index.js.map +1 -1
- package/dist/monitoring/ConcurrencyMetrics.d.ts +56 -0
- package/dist/monitoring/ConcurrencyMetrics.js +107 -0
- package/dist/monitoring/ConcurrencyMetrics.js.map +1 -0
- package/dist/monitoring/JanitorMetrics.d.ts +27 -0
- package/dist/monitoring/JanitorMetrics.js +48 -0
- package/dist/monitoring/JanitorMetrics.js.map +1 -0
- package/dist/scheduling/DebounceCoordinator.d.ts +88 -0
- package/dist/scheduling/DebounceCoordinator.js +141 -0
- package/dist/scheduling/DebounceCoordinator.js.map +1 -0
- package/dist/scheduling/DeferredDispatchSignal.d.ts +50 -0
- package/dist/scheduling/DeferredDispatchSignal.js +14 -0
- package/dist/scheduling/DeferredDispatchSignal.js.map +1 -0
- package/dist/scheduling/DeferredRunScheduler.d.ts +68 -0
- package/dist/scheduling/DeferredRunScheduler.js +154 -0
- package/dist/scheduling/DeferredRunScheduler.js.map +1 -0
- package/dist/scheduling/readSchedulingConfig.d.ts +24 -0
- package/dist/scheduling/readSchedulingConfig.js +52 -0
- package/dist/scheduling/readSchedulingConfig.js.map +1 -0
- package/dist/testing/WorkflowTestRunner.js +12 -0
- package/dist/testing/WorkflowTestRunner.js.map +1 -1
- package/dist/timeouts/StepTimeoutError.d.ts +22 -0
- package/dist/timeouts/StepTimeoutError.js +31 -0
- package/dist/timeouts/StepTimeoutError.js.map +1 -0
- package/dist/tracing/InMemoryRunStore.d.ts +28 -1
- package/dist/tracing/InMemoryRunStore.js +150 -0
- package/dist/tracing/InMemoryRunStore.js.map +1 -1
- package/dist/tracing/Janitor.d.ts +70 -0
- package/dist/tracing/Janitor.js +150 -0
- package/dist/tracing/Janitor.js.map +1 -0
- package/dist/tracing/PostgresRunStore.d.ts +30 -0
- package/dist/tracing/PostgresRunStore.js +435 -3
- package/dist/tracing/PostgresRunStore.js.map +1 -1
- package/dist/tracing/RunStore.d.ts +100 -1
- package/dist/tracing/RunTracker.d.ts +261 -11
- package/dist/tracing/RunTracker.js +691 -11
- package/dist/tracing/RunTracker.js.map +1 -1
- package/dist/tracing/SqliteRunStore.d.ts +23 -1
- package/dist/tracing/SqliteRunStore.js +421 -6
- package/dist/tracing/SqliteRunStore.js.map +1 -1
- package/dist/tracing/TraceRouter.d.ts +20 -2
- package/dist/tracing/TraceRouter.js +494 -9
- package/dist/tracing/TraceRouter.js.map +1 -1
- package/dist/tracing/sanitize.d.ts +11 -0
- package/dist/tracing/sanitize.js +29 -0
- package/dist/tracing/sanitize.js.map +1 -1
- package/dist/tracing/types.d.ts +429 -11
- package/dist/types/GlobalOptions.d.ts +9 -2
- package/dist/utils/createChildContext.d.ts +32 -0
- package/dist/utils/createChildContext.js +113 -0
- package/dist/utils/createChildContext.js.map +1 -0
- 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 +79 -0
- package/dist/workflow/WorkflowNormalizer.js +486 -0
- package/dist/workflow/WorkflowNormalizer.js.map +1 -0
- package/dist/workflow/WorkflowRegistry.d.ts +64 -0
- package/dist/workflow/WorkflowRegistry.js +81 -0
- package/dist/workflow/WorkflowRegistry.js.map +1 -0
- 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
|
-
|
|
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,17 +16,54 @@ 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>;
|
|
26
45
|
protected nodeResolver(node: RunnerNode): Promise<RunnerNode>;
|
|
27
46
|
protected nodeTypes(): NodeResolverTypes;
|
|
28
47
|
runtimeResolver(node: RunnerNode): Promise<RunnerNode>;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve a `subworkflow` step into a fully-wired `SubworkflowNode` —
|
|
50
|
+
* the dispatch class that looks up the named child workflow in the
|
|
51
|
+
* `WorkflowRegistry` and runs it inline with isolated state.
|
|
52
|
+
*
|
|
53
|
+
* The returned node carries the parent's `globalOptions` so the
|
|
54
|
+
* child `Configuration.init()` can resolve `module` step references
|
|
55
|
+
* against the same node registry.
|
|
56
|
+
*/
|
|
57
|
+
protected subworkflowResolver(node: RunnerNode): Promise<RunnerNode>;
|
|
29
58
|
protected moduleResolver(node: RunnerNode, opts: GlobalOptions): Promise<RunnerNode>;
|
|
59
|
+
/**
|
|
60
|
+
* PR 4 · resolve a `wait` step to a stub node. The runner's wait
|
|
61
|
+
* primitive (`wait.for`/`wait.until`) is implemented at the
|
|
62
|
+
* RunnerSteps level — this resolver exists only to satisfy
|
|
63
|
+
* getSteps() at workflow load time so `Node type wait not found`
|
|
64
|
+
* doesn't fire on otherwise-valid wait steps.
|
|
65
|
+
*/
|
|
66
|
+
protected waitResolver(node: RunnerNode): Promise<RunnerNode>;
|
|
30
67
|
protected localResolver(node: RunnerNode): Promise<RunnerNode>;
|
|
31
68
|
}
|
|
32
69
|
type NodeResolverTypes = {
|
package/dist/Configuration.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
// import { NodeBase } from "@blokjs/shared";
|
|
2
|
+
// import { z } from "zod";
|
|
3
|
+
import { sep as pathSep, resolve as resolvePath } from "node:path";
|
|
4
|
+
import { tryParseDuration } from "@blokjs/helper";
|
|
1
5
|
import ConfigurationResolver from "./ConfigurationResolver";
|
|
2
6
|
import RunnerNode from "./RunnerNode";
|
|
3
7
|
import { RuntimeAdapterNode } from "./RuntimeAdapterNode";
|
|
4
8
|
import { RuntimeRegistry } from "./RuntimeRegistry";
|
|
5
9
|
import { HttpRuntimeAdapter } from "./adapters/HttpRuntimeAdapter";
|
|
6
10
|
import { NodeJsRuntimeAdapter } from "./adapters/NodeJsRuntimeAdapter";
|
|
11
|
+
import { GrpcRuntimeAdapter } from "./adapters/grpc/GrpcRuntimeAdapter";
|
|
12
|
+
import { DEFAULT_GRPC_PORTS, GRPC_DEFAULTS } from "./adapters/grpc/types";
|
|
13
|
+
import { isLoopbackHost, isStreamLogsEnabled, isStrictTlsEnabled, loadTlsConfigForKind, resolveHealthCheckFailureThreshold, resolveHealthCheckIntervalMs, resolveTransportForKind, } from "./adapters/transport";
|
|
7
14
|
export default class Configuration {
|
|
8
15
|
workflow = {};
|
|
9
16
|
name;
|
|
@@ -22,41 +29,153 @@ export default class Configuration {
|
|
|
22
29
|
this.initializeRuntimeRegistry();
|
|
23
30
|
}
|
|
24
31
|
/**
|
|
25
|
-
* Initialize the RuntimeRegistry with built-in adapters
|
|
32
|
+
* Initialize the RuntimeRegistry with built-in adapters.
|
|
33
|
+
*
|
|
34
|
+
* Registers `NodeJsRuntimeAdapter` for in-process JS nodes, then for each
|
|
35
|
+
* SDK language picks `HttpRuntimeAdapter` or `GrpcRuntimeAdapter` based on
|
|
36
|
+
* {@link resolveTransportForKind} (env-driven). This is the single point
|
|
37
|
+
* of transport selection — no other file branches on transport.
|
|
26
38
|
*/
|
|
27
39
|
initializeRuntimeRegistry() {
|
|
28
40
|
const registry = RuntimeRegistry.getInstance();
|
|
29
|
-
// Register NodeJS runtime adapter if not already registered
|
|
30
41
|
if (!registry.has("nodejs")) {
|
|
31
42
|
registry.register(new NodeJsRuntimeAdapter());
|
|
32
43
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
|
|
44
|
+
const sdkLanguages = [
|
|
45
|
+
{
|
|
46
|
+
kind: "go",
|
|
47
|
+
hostEnv: "RUNTIME_GO_HOST",
|
|
48
|
+
httpPortEnv: "RUNTIME_GO_PORT",
|
|
49
|
+
grpcPortEnv: "RUNTIME_GO_GRPC_PORT",
|
|
50
|
+
defaultHttpPort: 9001,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
kind: "rust",
|
|
54
|
+
hostEnv: "RUNTIME_RUST_HOST",
|
|
55
|
+
httpPortEnv: "RUNTIME_RUST_PORT",
|
|
56
|
+
grpcPortEnv: "RUNTIME_RUST_GRPC_PORT",
|
|
57
|
+
defaultHttpPort: 9002,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
kind: "java",
|
|
61
|
+
hostEnv: "RUNTIME_JAVA_HOST",
|
|
62
|
+
httpPortEnv: "RUNTIME_JAVA_PORT",
|
|
63
|
+
grpcPortEnv: "RUNTIME_JAVA_GRPC_PORT",
|
|
64
|
+
defaultHttpPort: 9003,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
kind: "csharp",
|
|
68
|
+
hostEnv: "RUNTIME_CSHARP_HOST",
|
|
69
|
+
httpPortEnv: "RUNTIME_CSHARP_PORT",
|
|
70
|
+
grpcPortEnv: "RUNTIME_CSHARP_GRPC_PORT",
|
|
71
|
+
defaultHttpPort: 9004,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
kind: "php",
|
|
75
|
+
hostEnv: "RUNTIME_PHP_HOST",
|
|
76
|
+
httpPortEnv: "RUNTIME_PHP_PORT",
|
|
77
|
+
grpcPortEnv: "RUNTIME_PHP_GRPC_PORT",
|
|
78
|
+
defaultHttpPort: 9005,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
kind: "ruby",
|
|
82
|
+
hostEnv: "RUNTIME_RUBY_HOST",
|
|
83
|
+
httpPortEnv: "RUNTIME_RUBY_PORT",
|
|
84
|
+
grpcPortEnv: "RUNTIME_RUBY_GRPC_PORT",
|
|
85
|
+
defaultHttpPort: 9006,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
kind: "python3",
|
|
89
|
+
hostEnv: "RUNTIME_PYTHON3_HOST",
|
|
90
|
+
httpPortEnv: "RUNTIME_PYTHON3_PORT",
|
|
91
|
+
grpcPortEnv: "RUNTIME_PYTHON3_GRPC_PORT",
|
|
92
|
+
defaultHttpPort: 9007,
|
|
93
|
+
},
|
|
43
94
|
];
|
|
44
|
-
for (const
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
95
|
+
for (const lang of sdkLanguages) {
|
|
96
|
+
if (registry.has(lang.kind))
|
|
97
|
+
continue;
|
|
98
|
+
const transport = resolveTransportForKind(lang.kind);
|
|
99
|
+
const host = process.env[lang.hostEnv] || "localhost";
|
|
100
|
+
const adapter = transport === "grpc"
|
|
101
|
+
? this.buildGrpcAdapter(lang.kind, host, lang.grpcPortEnv)
|
|
102
|
+
: this.buildHttpAdapter(lang.kind, host, lang.httpPortEnv, lang.defaultHttpPort);
|
|
103
|
+
registry.register(adapter);
|
|
50
104
|
}
|
|
51
105
|
}
|
|
52
|
-
|
|
106
|
+
buildHttpAdapter(kind, host, portEnv, defaultPort) {
|
|
107
|
+
const port = process.env[portEnv] ? Number.parseInt(process.env[portEnv], 10) : defaultPort;
|
|
108
|
+
return new HttpRuntimeAdapter(kind, host, port);
|
|
109
|
+
}
|
|
110
|
+
buildGrpcAdapter(kind, host, portEnv) {
|
|
111
|
+
const defaultPort = DEFAULT_GRPC_PORTS[kind];
|
|
112
|
+
const port = process.env[portEnv] ? Number.parseInt(process.env[portEnv], 10) : defaultPort;
|
|
113
|
+
const tls = loadTlsConfigForKind(kind);
|
|
114
|
+
// Strict mode rejects insecure channels against non-loopback hosts so
|
|
115
|
+
// production deployments can't accidentally ship plaintext mTLS-bypass.
|
|
116
|
+
if (!tls && isStrictTlsEnabled() && !isLoopbackHost(host)) {
|
|
117
|
+
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.`);
|
|
118
|
+
}
|
|
119
|
+
const config = {
|
|
120
|
+
kind,
|
|
121
|
+
host,
|
|
122
|
+
port,
|
|
123
|
+
defaultDeadlineMs: GRPC_DEFAULTS.DEFAULT_DEADLINE_MS,
|
|
124
|
+
maxMessageBytes: GRPC_DEFAULTS.MAX_MESSAGE_BYTES,
|
|
125
|
+
keepalive: {
|
|
126
|
+
timeMs: GRPC_DEFAULTS.KEEPALIVE_TIME_MS,
|
|
127
|
+
timeoutMs: GRPC_DEFAULTS.KEEPALIVE_TIMEOUT_MS,
|
|
128
|
+
permitWithoutCalls: GRPC_DEFAULTS.KEEPALIVE_PERMIT_WITHOUT_CALLS,
|
|
129
|
+
},
|
|
130
|
+
tls,
|
|
131
|
+
healthCheckIntervalMs: resolveHealthCheckIntervalMs(),
|
|
132
|
+
healthCheckFailureThreshold: resolveHealthCheckFailureThreshold(),
|
|
133
|
+
};
|
|
134
|
+
const adapter = new GrpcRuntimeAdapter(config);
|
|
135
|
+
// Start the background health probe loop now so the circuit breaker
|
|
136
|
+
// is warm before the first workflow run. Adapters created in tests
|
|
137
|
+
// either disable the interval (BLOK_GRPC_HEALTH_INTERVAL_MS=0) or
|
|
138
|
+
// avoid Configuration entirely.
|
|
139
|
+
adapter.startHealthCheck();
|
|
140
|
+
return adapter;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Initialize the configuration for a workflow run.
|
|
144
|
+
*
|
|
145
|
+
* @param workflowNameInPath - workflow identifier; used by the resolver
|
|
146
|
+
* to locate the workflow on disk and as the trace label.
|
|
147
|
+
* @param opts - global options (workflows map, nodes map, etc.).
|
|
148
|
+
* @param preloaded - optional pre-parsed workflow object. When provided,
|
|
149
|
+
* the resolver is skipped and this object is used directly. Used by
|
|
150
|
+
* the file-based router so workflows scanned at boot don't re-load
|
|
151
|
+
* from disk on every request. The object still flows through the
|
|
152
|
+
* normalizer for v1→v2 conversion.
|
|
153
|
+
*/
|
|
154
|
+
async init(workflowNameInPath, opts, preloaded) {
|
|
53
155
|
if (this.globalOptions === undefined && opts !== undefined) {
|
|
54
156
|
this.globalOptions = opts;
|
|
55
157
|
}
|
|
56
158
|
if (workflowNameInPath === undefined)
|
|
57
159
|
throw new Error("Workflow name must be provided");
|
|
58
|
-
|
|
59
|
-
|
|
160
|
+
if (preloaded !== undefined) {
|
|
161
|
+
// Boot-time scan path — workflow object already loaded, just
|
|
162
|
+
// normalize it through the same v1→v2 pipeline as disk-loaded
|
|
163
|
+
// workflows. **Deep-clone first** so per-request mutations
|
|
164
|
+
// (`NodeBase.blueprintMapper` → `mapper.replaceObjectStrings`
|
|
165
|
+
// resolves `js/...` expressions in place) don't bleed across
|
|
166
|
+
// requests by baking the first request's resolved values into
|
|
167
|
+
// the shared route-table workflow object. JSON-clone is safe:
|
|
168
|
+
// workflow definitions are pure data, and helper proxies like
|
|
169
|
+
// `$.req.body` serialize to their `js/...` string form via
|
|
170
|
+
// `Symbol.toPrimitive` / `toJSON`.
|
|
171
|
+
const { normalizeWorkflow } = await import("./workflow/WorkflowNormalizer");
|
|
172
|
+
const fresh = JSON.parse(JSON.stringify(preloaded));
|
|
173
|
+
this.workflow = normalizeWorkflow(fresh, workflowNameInPath);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
const resolver = new ConfigurationResolver(opts);
|
|
177
|
+
this.workflow = await resolver.get("local", workflowNameInPath);
|
|
178
|
+
}
|
|
60
179
|
if (!this.workflow)
|
|
61
180
|
throw new Error(`No workflow found with path '${workflowNameInPath}'`);
|
|
62
181
|
// Instances of the Blok Services
|
|
@@ -84,7 +203,41 @@ export default class Configuration {
|
|
|
84
203
|
node.name = step.name;
|
|
85
204
|
node.active = step.active !== undefined ? step.active : true;
|
|
86
205
|
node.stop = step.stop !== undefined ? step.stop : false;
|
|
87
|
-
|
|
206
|
+
// Pass `set_var` through verbatim — DO NOT default to `false`. The
|
|
207
|
+
// `false` value short-circuits PersistenceHelper.applyStepOutput
|
|
208
|
+
// and silently disables v2's default-store rule. Legacy v1
|
|
209
|
+
// workflows that explicitly set `set_var: false` are normalized
|
|
210
|
+
// to `ephemeral: true` upstream by WorkflowNormalizer.
|
|
211
|
+
if (step.set_var !== undefined)
|
|
212
|
+
node.set_var = step.set_var;
|
|
213
|
+
// V2 persistence knobs — read by PersistenceHelper.applyStepOutput.
|
|
214
|
+
// `as` renames the state key; `spread` flattens result.data into
|
|
215
|
+
// state; `ephemeral: true` skips persistence entirely. Default
|
|
216
|
+
// behaviour (none set) is to store at state[name].
|
|
217
|
+
node.as = step.as;
|
|
218
|
+
node.spread = step.spread === true;
|
|
219
|
+
node.ephemeral = step.ephemeral === true;
|
|
220
|
+
// V2 idempotency cache + retry knobs — read by RunnerSteps before
|
|
221
|
+
// delegating to step.process(). Caching layers ABOVE
|
|
222
|
+
// PersistenceHelper; retry wraps the same call site.
|
|
223
|
+
const v2Idem = step;
|
|
224
|
+
if (v2Idem.idempotencyKey !== undefined)
|
|
225
|
+
node.idempotencyKey = v2Idem.idempotencyKey;
|
|
226
|
+
if (v2Idem.idempotencyKeyTTL !== undefined)
|
|
227
|
+
node.idempotencyKeyTTL = v2Idem.idempotencyKeyTTL;
|
|
228
|
+
if (v2Idem.retry !== undefined)
|
|
229
|
+
node.retry = v2Idem.retry;
|
|
230
|
+
// V2 sub-workflow knobs — read by SubworkflowNode at run time.
|
|
231
|
+
if (v2Idem.subworkflow !== undefined)
|
|
232
|
+
node.subworkflow = v2Idem.subworkflow;
|
|
233
|
+
if (v2Idem.wait !== undefined)
|
|
234
|
+
node.wait = v2Idem.wait;
|
|
235
|
+
// Tier 2 quick-wins — parse maxDuration string/number → ms.
|
|
236
|
+
if (v2Idem.maxDuration !== undefined) {
|
|
237
|
+
const parsed = tryParseDuration(v2Idem.maxDuration);
|
|
238
|
+
if (parsed !== null)
|
|
239
|
+
node.maxDurationMs = parsed;
|
|
240
|
+
}
|
|
88
241
|
nodes.push(node);
|
|
89
242
|
}
|
|
90
243
|
return nodes;
|
|
@@ -156,7 +309,39 @@ export default class Configuration {
|
|
|
156
309
|
node.name = step.name;
|
|
157
310
|
node.active = step.active !== undefined ? step.active : true;
|
|
158
311
|
node.stop = step.stop !== undefined ? step.stop : false;
|
|
159
|
-
|
|
312
|
+
// Pass `set_var` through verbatim — DO NOT default to `false`. The
|
|
313
|
+
// `false` value short-circuits PersistenceHelper.applyStepOutput
|
|
314
|
+
// and silently disables v2's default-store rule. Legacy v1
|
|
315
|
+
// workflows that explicitly set `set_var: false` are normalized
|
|
316
|
+
// to `ephemeral: true` upstream by WorkflowNormalizer.
|
|
317
|
+
if (step.set_var !== undefined)
|
|
318
|
+
node.set_var = step.set_var;
|
|
319
|
+
// V2 persistence + idempotency + retry knobs flow through nested
|
|
320
|
+
// flow steps too. Without this, a `branch.then[0]` step with
|
|
321
|
+
// `idempotencyKey` set would NOT be cached on rerun. Mirrors the
|
|
322
|
+
// same trio Configuration.getSteps copies onto top-level steps.
|
|
323
|
+
const v2Flow = step;
|
|
324
|
+
if (v2Flow.as !== undefined)
|
|
325
|
+
node.as = v2Flow.as;
|
|
326
|
+
node.spread = v2Flow.spread === true;
|
|
327
|
+
node.ephemeral = v2Flow.ephemeral === true;
|
|
328
|
+
if (v2Flow.idempotencyKey !== undefined)
|
|
329
|
+
node.idempotencyKey = v2Flow.idempotencyKey;
|
|
330
|
+
if (v2Flow.idempotencyKeyTTL !== undefined)
|
|
331
|
+
node.idempotencyKeyTTL = v2Flow.idempotencyKeyTTL;
|
|
332
|
+
if (v2Flow.retry !== undefined)
|
|
333
|
+
node.retry = v2Flow.retry;
|
|
334
|
+
// V2 sub-workflow knobs — also flow through nested branches so a
|
|
335
|
+
// `branch.then[0]` step that invokes a sub-workflow works.
|
|
336
|
+
if (v2Flow.subworkflow !== undefined)
|
|
337
|
+
node.subworkflow = v2Flow.subworkflow;
|
|
338
|
+
if (v2Flow.wait !== undefined)
|
|
339
|
+
node.wait = v2Flow.wait;
|
|
340
|
+
if (v2Flow.maxDuration !== undefined) {
|
|
341
|
+
const parsed = tryParseDuration(v2Flow.maxDuration);
|
|
342
|
+
if (parsed !== null)
|
|
343
|
+
node.maxDurationMs = parsed;
|
|
344
|
+
}
|
|
160
345
|
// const validator = z.instanceof(NodeBase);
|
|
161
346
|
// validator.parse(node);
|
|
162
347
|
flows.steps.push(node);
|
|
@@ -199,6 +384,17 @@ export default class Configuration {
|
|
|
199
384
|
"runtime.ruby": {
|
|
200
385
|
resolver: async (node) => await this.runtimeResolver(node),
|
|
201
386
|
},
|
|
387
|
+
subworkflow: {
|
|
388
|
+
resolver: async (node) => await this.subworkflowResolver(node),
|
|
389
|
+
},
|
|
390
|
+
// PR 4 · `wait.for(duration)` / `wait.until(date)` step. Resolves
|
|
391
|
+
// to a stub node — RunnerSteps intercepts before step.process()
|
|
392
|
+
// runs, so the stub's `run()` should never fire in practice.
|
|
393
|
+
// Without this entry, getSteps() throws `Node type wait not found`
|
|
394
|
+
// at workflow load.
|
|
395
|
+
wait: {
|
|
396
|
+
resolver: async (node) => await this.waitResolver(node),
|
|
397
|
+
},
|
|
202
398
|
};
|
|
203
399
|
}
|
|
204
400
|
async runtimeResolver(node) {
|
|
@@ -228,9 +424,78 @@ export default class Configuration {
|
|
|
228
424
|
targetNode.runtime = runtimeKind;
|
|
229
425
|
targetNode.active = node.active !== undefined ? node.active : true;
|
|
230
426
|
targetNode.stop = node.stop !== undefined ? node.stop : false;
|
|
231
|
-
|
|
232
|
-
//
|
|
233
|
-
|
|
427
|
+
// Pass `set_var` through verbatim — DO NOT default to `false`. The v2
|
|
428
|
+
// default-store rule in PersistenceHelper persists `result.data` at
|
|
429
|
+
// `state[name]` unless `set_var === false` is explicit. Defaulting to
|
|
430
|
+
// `false` here silently disabled persistence for every SDK step,
|
|
431
|
+
// breaking `js/ctx.state['<id>']` reads in v2 workflows
|
|
432
|
+
// (cross-runtime-chain regressed: `state['go']` was undefined even
|
|
433
|
+
// though the GO step ran fine).
|
|
434
|
+
if (node.set_var !== undefined)
|
|
435
|
+
targetNode.set_var = node.set_var;
|
|
436
|
+
// V2 persistence knobs — flow through to PersistenceHelper.
|
|
437
|
+
const v2 = node;
|
|
438
|
+
if (v2.as !== undefined)
|
|
439
|
+
targetNode.as = v2.as;
|
|
440
|
+
targetNode.spread = v2.spread === true;
|
|
441
|
+
targetNode.ephemeral = v2.ephemeral === true;
|
|
442
|
+
// V2 idempotency cache + retry knobs — copied here so the targetNode
|
|
443
|
+
// surfaces them for any future code that inspects the inner SDK node
|
|
444
|
+
// directly. The OUTER RuntimeAdapterNode also carries them via
|
|
445
|
+
// getSteps/getFlow so RunnerSteps' cache-check + retry-loop wrapper
|
|
446
|
+
// works regardless of which side it reads.
|
|
447
|
+
if (v2.idempotencyKey !== undefined)
|
|
448
|
+
targetNode.idempotencyKey = v2.idempotencyKey;
|
|
449
|
+
if (v2.idempotencyKeyTTL !== undefined)
|
|
450
|
+
targetNode.idempotencyKeyTTL = v2.idempotencyKeyTTL;
|
|
451
|
+
if (v2.retry !== undefined)
|
|
452
|
+
targetNode.retry = v2.retry;
|
|
453
|
+
if (v2.maxDuration !== undefined) {
|
|
454
|
+
const parsed = tryParseDuration(v2.maxDuration);
|
|
455
|
+
if (parsed !== null)
|
|
456
|
+
targetNode.maxDurationMs = parsed;
|
|
457
|
+
}
|
|
458
|
+
// Wrap in RuntimeAdapterNode to integrate with existing Runner.
|
|
459
|
+
// Per-step `stream_logs: true|false` overrides the global
|
|
460
|
+
// `BLOK_STREAM_LOGS` env flag (master plan §17 Phase 5 follow-up).
|
|
461
|
+
// This lets workflow authors silence one chatty step without
|
|
462
|
+
// disabling streaming workflow-wide, or opt a single step in
|
|
463
|
+
// without flipping the whole runtime.
|
|
464
|
+
const stepStreamLogs = node.stream_logs;
|
|
465
|
+
const streamLogs = stepStreamLogs !== undefined ? stepStreamLogs : isStreamLogsEnabled();
|
|
466
|
+
return new RuntimeAdapterNode(adapter, targetNode, { streamLogs });
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Resolve a `subworkflow` step into a fully-wired `SubworkflowNode` —
|
|
470
|
+
* the dispatch class that looks up the named child workflow in the
|
|
471
|
+
* `WorkflowRegistry` and runs it inline with isolated state.
|
|
472
|
+
*
|
|
473
|
+
* The returned node carries the parent's `globalOptions` so the
|
|
474
|
+
* child `Configuration.init()` can resolve `module` step references
|
|
475
|
+
* against the same node registry.
|
|
476
|
+
*/
|
|
477
|
+
async subworkflowResolver(node) {
|
|
478
|
+
const v2 = node;
|
|
479
|
+
if (typeof v2.subworkflow !== "string" || v2.subworkflow.length === 0) {
|
|
480
|
+
throw new Error(`[blok] subworkflowResolver: step "${node.name}" is missing the \`subworkflow\` field after normalization.`);
|
|
481
|
+
}
|
|
482
|
+
// Lazy import to avoid a circular dep (SubworkflowNode imports
|
|
483
|
+
// Configuration to construct the child).
|
|
484
|
+
const { SubworkflowNode } = await import("./SubworkflowNode");
|
|
485
|
+
const subworkflowNode = new SubworkflowNode();
|
|
486
|
+
subworkflowNode.node = node.node;
|
|
487
|
+
subworkflowNode.name = node.name;
|
|
488
|
+
subworkflowNode.type = node.type;
|
|
489
|
+
subworkflowNode.active = node.active !== undefined ? node.active : true;
|
|
490
|
+
subworkflowNode.stop = node.stop !== undefined ? node.stop : false;
|
|
491
|
+
subworkflowNode.subworkflow = v2.subworkflow;
|
|
492
|
+
// `wait: false` triggers the fire-and-forget branch in SubworkflowNode.run.
|
|
493
|
+
// Default to `true` (synchronous) when unset.
|
|
494
|
+
subworkflowNode.wait = v2.wait !== false;
|
|
495
|
+
// `globalOptions` is the runner's node registry — child Configuration.init
|
|
496
|
+
// needs it for `module:` step resolution.
|
|
497
|
+
subworkflowNode.globalOptions = this.globalOptions;
|
|
498
|
+
return subworkflowNode;
|
|
234
499
|
}
|
|
235
500
|
async moduleResolver(node, opts) {
|
|
236
501
|
const nodeHandler = opts?.nodes?.getNode(node.node);
|
|
@@ -238,11 +503,55 @@ export default class Configuration {
|
|
|
238
503
|
throw new Error(`Node ${node.node} not found`);
|
|
239
504
|
}
|
|
240
505
|
const clone = Object.assign(Object.create(Object.getPrototypeOf(nodeHandler)), nodeHandler);
|
|
506
|
+
// Copy step-level metadata from the workflow JSON onto the clone.
|
|
507
|
+
// Without this, `step.type` is undefined for module nodes and
|
|
508
|
+
// downstream consumers (RunnerSteps step prefix, RunTracker
|
|
509
|
+
// `startNode`'s `nodeType` field) fall back to "unknown" — which
|
|
510
|
+
// surfaces in dev as `[step 1/9] init (unknown) → started`. The
|
|
511
|
+
// runtimeResolver already does this; we mirror it here.
|
|
512
|
+
clone.name = node.name;
|
|
513
|
+
clone.node = node.node;
|
|
514
|
+
clone.type = node.type;
|
|
515
|
+
if (node.active !== undefined)
|
|
516
|
+
clone.active = node.active;
|
|
517
|
+
if (node.stop !== undefined)
|
|
518
|
+
clone.stop = node.stop;
|
|
519
|
+
if (node.set_var !== undefined)
|
|
520
|
+
clone.set_var = node.set_var;
|
|
241
521
|
return clone;
|
|
242
522
|
}
|
|
523
|
+
/**
|
|
524
|
+
* PR 4 · resolve a `wait` step to a stub node. The runner's wait
|
|
525
|
+
* primitive (`wait.for`/`wait.until`) is implemented at the
|
|
526
|
+
* RunnerSteps level — this resolver exists only to satisfy
|
|
527
|
+
* getSteps() at workflow load time so `Node type wait not found`
|
|
528
|
+
* doesn't fire on otherwise-valid wait steps.
|
|
529
|
+
*/
|
|
530
|
+
async waitResolver(node) {
|
|
531
|
+
const { WaitNode } = await import("./WaitNode");
|
|
532
|
+
const stub = new WaitNode();
|
|
533
|
+
stub.node = node.node;
|
|
534
|
+
stub.name = node.name;
|
|
535
|
+
stub.type = node.type;
|
|
536
|
+
stub.active = node.active !== undefined ? node.active : true;
|
|
537
|
+
stub.stop = node.stop !== undefined ? node.stop : false;
|
|
538
|
+
const v2 = node;
|
|
539
|
+
if (v2.waitForMs !== undefined)
|
|
540
|
+
stub.waitForMs = v2.waitForMs;
|
|
541
|
+
if (v2.waitUntil !== undefined)
|
|
542
|
+
stub.waitUntil = v2.waitUntil;
|
|
543
|
+
return stub;
|
|
544
|
+
}
|
|
243
545
|
async localResolver(node) {
|
|
244
|
-
|
|
245
|
-
|
|
546
|
+
// Security review FW-3 — canonicalize the resolved path against
|
|
547
|
+
// NODES_PATH so a node.node value like "../../malicious" can't
|
|
548
|
+
// walk the filesystem outside the configured directory.
|
|
549
|
+
const base = resolvePath(process.env.NODES_PATH || ".");
|
|
550
|
+
const target = resolvePath(base, node.node);
|
|
551
|
+
if (target !== base && !target.startsWith(base + pathSep)) {
|
|
552
|
+
throw new Error(`[blok] local node path escapes NODES_PATH: '${node.node}' resolves outside ${base}`);
|
|
553
|
+
}
|
|
554
|
+
return new (await import(target)).default();
|
|
246
555
|
}
|
|
247
556
|
}
|
|
248
557
|
//# sourceMappingURL=Configuration.js.map
|
|
@@ -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;
|