@blokjs/runner 0.4.0 → 0.6.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 +32 -3
- package/dist/Blok.js.map +1 -1
- package/dist/Configuration.d.ts +41 -5
- package/dist/Configuration.js +215 -92
- package/dist/Configuration.js.map +1 -1
- package/dist/ForEachNode.d.ts +59 -0
- package/dist/ForEachNode.js +522 -0
- package/dist/ForEachNode.js.map +1 -0
- package/dist/LoopMaxIterationsError.d.ts +11 -0
- package/dist/LoopMaxIterationsError.js +18 -0
- package/dist/LoopMaxIterationsError.js.map +1 -0
- package/dist/LoopNode.d.ts +36 -0
- package/dist/LoopNode.js +182 -0
- package/dist/LoopNode.js.map +1 -0
- package/dist/Runner.d.ts +11 -1
- package/dist/Runner.js +9 -2
- package/dist/Runner.js.map +1 -1
- package/dist/RunnerSteps.js +419 -112
- package/dist/RunnerSteps.js.map +1 -1
- package/dist/RuntimeAdapterNode.d.ts +2 -1
- package/dist/RuntimeAdapterNode.js +2 -2
- package/dist/RuntimeAdapterNode.js.map +1 -1
- package/dist/RuntimeRegistry.d.ts +23 -2
- package/dist/RuntimeRegistry.js +31 -2
- package/dist/RuntimeRegistry.js.map +1 -1
- package/dist/SubworkflowNode.d.ts +106 -0
- package/dist/SubworkflowNode.js +261 -3
- package/dist/SubworkflowNode.js.map +1 -1
- package/dist/SwitchNode.d.ts +37 -0
- package/dist/SwitchNode.js +153 -0
- package/dist/SwitchNode.js.map +1 -0
- package/dist/TriggerBase.d.ts +50 -0
- package/dist/TriggerBase.js +262 -4
- package/dist/TriggerBase.js.map +1 -1
- package/dist/TryCatchNode.d.ts +32 -0
- package/dist/TryCatchNode.js +207 -0
- package/dist/TryCatchNode.js.map +1 -0
- package/dist/adapters/grpc/GrpcCodec.js +2 -2
- package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +6 -4
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js +6 -4
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -1
- package/dist/adapters/grpc/types.d.ts +7 -5
- package/dist/adapters/grpc/types.js.map +1 -1
- package/dist/adapters/transport.d.ts +12 -41
- package/dist/adapters/transport.js +21 -70
- package/dist/adapters/transport.js.map +1 -1
- package/dist/cache/NodeResultCache.js +7 -0
- package/dist/cache/NodeResultCache.js.map +1 -1
- package/dist/concurrency/NatsKvConcurrencyBackend.js +18 -5
- package/dist/concurrency/NatsKvConcurrencyBackend.js.map +1 -1
- package/dist/concurrency/RedisConcurrencyBackend.d.ts +64 -0
- package/dist/concurrency/RedisConcurrencyBackend.js +374 -0
- package/dist/concurrency/RedisConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/createConcurrencyBackend.d.ts +1 -0
- package/dist/concurrency/createConcurrencyBackend.js +5 -1
- package/dist/concurrency/createConcurrencyBackend.js.map +1 -1
- package/dist/defineNode.d.ts +8 -0
- package/dist/defineNode.js +25 -5
- package/dist/defineNode.js.map +1 -1
- package/dist/graphql/GraphQLSchemaGenerator.js +1 -1
- package/dist/graphql/GraphQLSchemaGenerator.js.map +1 -1
- package/dist/index.d.ts +10 -6
- package/dist/index.js +13 -9
- package/dist/index.js.map +1 -1
- package/dist/marketplace/RuntimeCatalog.d.ts +6 -0
- package/dist/marketplace/RuntimeCatalog.js.map +1 -1
- package/dist/marketplace/RuntimeDiscovery.d.ts +2 -2
- package/dist/marketplace/RuntimeDiscovery.js +18 -6
- package/dist/marketplace/RuntimeDiscovery.js.map +1 -1
- package/dist/monitoring/ConcurrencyMetrics.d.ts +26 -0
- package/dist/monitoring/ConcurrencyMetrics.js +36 -4
- package/dist/monitoring/ConcurrencyMetrics.js.map +1 -1
- package/dist/monitoring/ForEachWaitMetrics.d.ts +22 -0
- package/dist/monitoring/ForEachWaitMetrics.js +36 -0
- package/dist/monitoring/ForEachWaitMetrics.js.map +1 -0
- package/dist/openapi/OpenAPIGenerator.js +7 -2
- package/dist/openapi/OpenAPIGenerator.js.map +1 -1
- package/dist/runtime/PrimitiveStack.d.ts +64 -0
- package/dist/runtime/PrimitiveStack.js +92 -0
- package/dist/runtime/PrimitiveStack.js.map +1 -0
- package/dist/scheduling/DebounceBackend.d.ts +108 -0
- package/dist/scheduling/DebounceBackend.js +23 -0
- package/dist/scheduling/DebounceBackend.js.map +1 -0
- package/dist/scheduling/DebounceCoordinator.d.ts +65 -12
- package/dist/scheduling/DebounceCoordinator.js +234 -13
- package/dist/scheduling/DebounceCoordinator.js.map +1 -1
- package/dist/scheduling/DeferredRunScheduler.d.ts +28 -0
- package/dist/scheduling/DeferredRunScheduler.js +105 -3
- package/dist/scheduling/DeferredRunScheduler.js.map +1 -1
- package/dist/scheduling/NatsKvDebounceBackend.d.ts +53 -0
- package/dist/scheduling/NatsKvDebounceBackend.js +334 -0
- package/dist/scheduling/NatsKvDebounceBackend.js.map +1 -0
- package/dist/scheduling/RedisDebounceBackend.d.ts +49 -0
- package/dist/scheduling/RedisDebounceBackend.js +356 -0
- package/dist/scheduling/RedisDebounceBackend.js.map +1 -0
- package/dist/scheduling/createDebounceBackend.d.ts +25 -0
- package/dist/scheduling/createDebounceBackend.js +39 -0
- package/dist/scheduling/createDebounceBackend.js.map +1 -0
- package/dist/security/AuditLogger.js +1 -1
- package/dist/security/AuditLogger.js.map +1 -1
- package/dist/security/AuthMiddleware.d.ts +19 -20
- package/dist/security/AuthMiddleware.js +35 -20
- package/dist/security/AuthMiddleware.js.map +1 -1
- package/dist/security/OAuthProvider.js +2 -2
- package/dist/security/OAuthProvider.js.map +1 -1
- package/dist/security/SecretManager.js +14 -13
- package/dist/security/SecretManager.js.map +1 -1
- package/dist/security/index.d.ts +3 -1
- package/dist/security/index.js +3 -1
- package/dist/security/index.js.map +1 -1
- package/dist/testing/TestHarness.d.ts +27 -12
- package/dist/testing/TestHarness.js +19 -3
- package/dist/testing/TestHarness.js.map +1 -1
- package/dist/testing/WorkflowTestRunner.js +0 -7
- package/dist/testing/WorkflowTestRunner.js.map +1 -1
- package/dist/tracing/InMemoryRunStore.d.ts +14 -1
- package/dist/tracing/InMemoryRunStore.js +95 -6
- package/dist/tracing/InMemoryRunStore.js.map +1 -1
- package/dist/tracing/PostgresRunStore.d.ts +28 -2
- package/dist/tracing/PostgresRunStore.js +276 -3
- package/dist/tracing/PostgresRunStore.js.map +1 -1
- package/dist/tracing/RoutingDiagnostics.d.ts +55 -0
- package/dist/tracing/RoutingDiagnostics.js +50 -0
- package/dist/tracing/RoutingDiagnostics.js.map +1 -0
- package/dist/tracing/RunStore.d.ts +82 -1
- package/dist/tracing/RunTracker.d.ts +7 -1
- package/dist/tracing/RunTracker.js +23 -0
- package/dist/tracing/RunTracker.js.map +1 -1
- package/dist/tracing/SqliteRunStore.d.ts +57 -2
- package/dist/tracing/SqliteRunStore.js +408 -48
- package/dist/tracing/SqliteRunStore.js.map +1 -1
- package/dist/tracing/TraceRouter.js +380 -18
- package/dist/tracing/TraceRouter.js.map +1 -1
- package/dist/tracing/createStore.js +14 -3
- package/dist/tracing/createStore.js.map +1 -1
- package/dist/tracing/metadataFilter.d.ts +63 -0
- package/dist/tracing/metadataFilter.js +224 -0
- package/dist/tracing/metadataFilter.js.map +1 -0
- package/dist/tracing/types.d.ts +331 -7
- package/dist/utils/envAllowlist.d.ts +35 -0
- package/dist/utils/envAllowlist.js +113 -0
- package/dist/utils/envAllowlist.js.map +1 -0
- package/dist/version/RuntimeVersionValidator.d.ts +38 -0
- package/dist/version/RuntimeVersionValidator.js +121 -0
- package/dist/version/RuntimeVersionValidator.js.map +1 -0
- package/dist/visualization/WorkflowVisualizer.js +4 -4
- package/dist/visualization/WorkflowVisualizer.js.map +1 -1
- package/dist/workflow/PersistenceHelper.d.ts +18 -10
- package/dist/workflow/PersistenceHelper.js +35 -9
- package/dist/workflow/PersistenceHelper.js.map +1 -1
- package/dist/workflow/WorkflowNormalizer.d.ts +19 -1
- package/dist/workflow/WorkflowNormalizer.js +469 -19
- package/dist/workflow/WorkflowNormalizer.js.map +1 -1
- package/dist/workflow/WorkflowRegistry.d.ts +122 -0
- package/dist/workflow/WorkflowRegistry.js +121 -0
- package/dist/workflow/WorkflowRegistry.js.map +1 -1
- package/dist/workflow/sampleBody.d.ts +54 -0
- package/dist/workflow/sampleBody.js +320 -0
- package/dist/workflow/sampleBody.js.map +1 -0
- package/package.json +3 -8
- package/dist/adapters/HttpRuntimeAdapter.d.ts +0 -79
- package/dist/adapters/HttpRuntimeAdapter.js +0 -233
- package/dist/adapters/HttpRuntimeAdapter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowNormalizer.js","sourceRoot":"","sources":["../../src/workflow/WorkflowNormalizer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkflowNormalizer.js","sourceRoot":"","sources":["../../src/workflow/WorkflowNormalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,28 @@
|
|
|
17
17
|
* `clear()` before re-registering when workflow files change (HMR);
|
|
18
18
|
* the in-repo HTTP trigger does this on every scan.
|
|
19
19
|
*
|
|
20
|
+
* **Authorization** (optional): operators can install a process-wide
|
|
21
|
+
* `(parentName, childName, ctx) => boolean | Promise<boolean>` hook via
|
|
22
|
+
* `setAuthorizeFn()` to gate which parent workflows may invoke which
|
|
23
|
+
* children. Default behavior (no fn set) is allow-all — preserves
|
|
24
|
+
* backwards compatibility. See `docs/d/security/cookbook.mdx` for the
|
|
25
|
+
* multi-tenant patterns.
|
|
26
|
+
*
|
|
20
27
|
* **Why a separate class** (vs reusing the HTTP trigger's RouteEntry[]):
|
|
21
28
|
* - Decoupled from HTTP — worker/cron triggers feed the same registry.
|
|
22
29
|
* - Lookup by `name:` is what authors write; route table is keyed on
|
|
23
30
|
* `(method, path)` which sub-workflow callers don't know.
|
|
24
31
|
* - Test isolation — `resetInstance()` is cheap.
|
|
25
32
|
*/
|
|
33
|
+
import type { Context } from "@blokjs/shared";
|
|
34
|
+
/**
|
|
35
|
+
* Hook that decides whether a parent workflow may invoke a child via a
|
|
36
|
+
* sub-workflow step. Return `true` (or a promise resolving to `true`) to
|
|
37
|
+
* allow; `false` to deny. The `ctx` is the parent's running context, so
|
|
38
|
+
* the hook can do per-request decisions (e.g. read tenant id from
|
|
39
|
+
* `ctx.req.headers`).
|
|
40
|
+
*/
|
|
41
|
+
export type WorkflowAuthorizeFn = (parentName: string, childName: string, ctx: Context) => boolean | Promise<boolean>;
|
|
26
42
|
export interface RegisteredWorkflow {
|
|
27
43
|
/** The workflow's `name:` field. Sub-workflow steps reference this. */
|
|
28
44
|
readonly name: string;
|
|
@@ -34,13 +50,108 @@ export interface RegisteredWorkflow {
|
|
|
34
50
|
* runs it through `normalizeWorkflow` → resolved nodes.
|
|
35
51
|
*/
|
|
36
52
|
readonly workflow: unknown;
|
|
53
|
+
/**
|
|
54
|
+
* v0.5 — true when the workflow is registered as middleware (has
|
|
55
|
+
* `middleware: true` set at the workflow root). Middleware workflows
|
|
56
|
+
* are not exposed as public routes; they're invoked from another
|
|
57
|
+
* workflow's `trigger.http.middleware: [...]` array. Looked up via
|
|
58
|
+
* `getMiddleware(name)`.
|
|
59
|
+
*/
|
|
60
|
+
readonly isMiddleware?: boolean;
|
|
37
61
|
}
|
|
38
62
|
export declare class WorkflowRegistry {
|
|
39
63
|
private static instance;
|
|
40
64
|
private workflows;
|
|
65
|
+
private authorizeFn;
|
|
66
|
+
/**
|
|
67
|
+
* v0.5.4 — process-global middleware chain. When set, EVERY workflow
|
|
68
|
+
* run in this process prepends these middleware to its own chain
|
|
69
|
+
* (workflow-level `middleware: [...]` and trigger-level
|
|
70
|
+
* `trigger.http.middleware: [...]` if present). Use this for ops
|
|
71
|
+
* concerns that must apply uniformly: request-id correlation, audit
|
|
72
|
+
* logging, OpenTelemetry spans. Unlike workflow- or trigger-level
|
|
73
|
+
* middleware, global middleware doesn't require touching individual
|
|
74
|
+
* workflow files.
|
|
75
|
+
*
|
|
76
|
+
* **Resolution order** at request time, outer to inner:
|
|
77
|
+
* 1. Process-global (this list)
|
|
78
|
+
* 2. Workflow-level (`workflow.middleware: [...]`, v0.5.2)
|
|
79
|
+
* 3. Trigger-level (`trigger.<kind>.middleware: [...]`, v0.5)
|
|
80
|
+
* 4. Workflow body (regular steps)
|
|
81
|
+
*
|
|
82
|
+
* **Lifecycle**: write-once-per-process is the typical pattern, but
|
|
83
|
+
* the setter accepts repeated calls and the LAST call wins. Empty
|
|
84
|
+
* array clears the global chain. The list itself is stored as a
|
|
85
|
+
* frozen snapshot so callers reading via `getGlobalMiddleware()`
|
|
86
|
+
* can't mutate it accidentally.
|
|
87
|
+
*/
|
|
88
|
+
private globalMiddleware;
|
|
41
89
|
static getInstance(): WorkflowRegistry;
|
|
42
90
|
/** Test-only — drop the singleton so suites start fresh. */
|
|
43
91
|
static resetInstance(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Install a process-wide authorize hook for sub-workflow composition.
|
|
94
|
+
* Pass `null` to clear (default behavior is allow-all). The hook fires
|
|
95
|
+
* on every sub-workflow invocation, before the child is materialized.
|
|
96
|
+
*
|
|
97
|
+
* Multi-tenant operators typically read a tenant id off `ctx` and
|
|
98
|
+
* consult an allow-list. The synchronous variant is fine for
|
|
99
|
+
* in-memory lookups; return a promise if the decision needs an
|
|
100
|
+
* external store.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* WorkflowRegistry.getInstance().setAuthorizeFn((parent, child, ctx) => {
|
|
105
|
+
* const tenant = ctx.req.headers["x-tenant"];
|
|
106
|
+
* return tenantAllowList[tenant]?.includes(child) ?? false;
|
|
107
|
+
* });
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
setAuthorizeFn(fn: WorkflowAuthorizeFn | null): void;
|
|
111
|
+
/**
|
|
112
|
+
* Returns `true` when no authorize hook is installed (default-allow),
|
|
113
|
+
* otherwise delegates to the hook. Called by `SubworkflowNode` before
|
|
114
|
+
* materializing the child workflow.
|
|
115
|
+
*/
|
|
116
|
+
authorize(parentName: string, childName: string, ctx: Context): Promise<boolean>;
|
|
117
|
+
/**
|
|
118
|
+
* Register a process-global middleware chain. Every workflow run in
|
|
119
|
+
* this process will prepend these middleware to its own chain BEFORE
|
|
120
|
+
* any workflow- or trigger-level middleware execute. Use for ops
|
|
121
|
+
* concerns that should apply uniformly across the fleet: request-id
|
|
122
|
+
* correlation, audit logging, OpenTelemetry spans, etc.
|
|
123
|
+
*
|
|
124
|
+
* **Lifecycle**: write-once-per-process is the typical pattern (call
|
|
125
|
+
* once at boot, before `trigger.listen()`), but repeated calls are
|
|
126
|
+
* allowed and the last call wins. Pass `[]` to clear the global
|
|
127
|
+
* chain. The list is frozen on store so the snapshot returned by
|
|
128
|
+
* `getGlobalMiddleware()` is safe to expose without copying.
|
|
129
|
+
*
|
|
130
|
+
* Names that don't resolve to a registered middleware workflow are
|
|
131
|
+
* accepted at registration time but will throw at request time when
|
|
132
|
+
* `runMiddlewareChain` tries to look them up — mirrors trigger- and
|
|
133
|
+
* workflow-level middleware semantics. The trigger logs the
|
|
134
|
+
* resolved global chain at boot so operators can verify the names
|
|
135
|
+
* were spelled correctly without a request.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* // Boot-time setup before trigger.listen()
|
|
140
|
+
* WorkflowRegistry.getInstance().setGlobalMiddleware([
|
|
141
|
+
* "request-id",
|
|
142
|
+
* "audit-log",
|
|
143
|
+
* ]);
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
setGlobalMiddleware(names: readonly string[]): void;
|
|
147
|
+
/**
|
|
148
|
+
* Snapshot of the process-global middleware chain. Returns the
|
|
149
|
+
* frozen list set by `setGlobalMiddleware`, or an empty list when
|
|
150
|
+
* unset. Triggers consume this in `runMiddlewareChain` to prepend
|
|
151
|
+
* to the per-request chain. Always returns the same reference until
|
|
152
|
+
* the next setter call.
|
|
153
|
+
*/
|
|
154
|
+
getGlobalMiddleware(): readonly string[];
|
|
44
155
|
/**
|
|
45
156
|
* Register a single workflow. Throws on collision when a workflow
|
|
46
157
|
* with the same `name` is already registered from a different
|
|
@@ -52,6 +163,13 @@ export declare class WorkflowRegistry {
|
|
|
52
163
|
registerAll(entries: readonly RegisteredWorkflow[]): void;
|
|
53
164
|
/** Fetch the registered workflow by name, or undefined on miss. */
|
|
54
165
|
get(name: string): RegisteredWorkflow | undefined;
|
|
166
|
+
/**
|
|
167
|
+
* v0.5 — fetch a registered MIDDLEWARE workflow by name (must have
|
|
168
|
+
* been registered with `isMiddleware: true`). Returns undefined when
|
|
169
|
+
* the name is unknown OR the entry isn't a middleware. Used by
|
|
170
|
+
* `HttpTrigger` to dispatch the trigger-level `middleware: [...]` chain.
|
|
171
|
+
*/
|
|
172
|
+
getMiddleware(name: string): RegisteredWorkflow | undefined;
|
|
55
173
|
/** Cheap existence check (avoids the `?: undefined` dance). */
|
|
56
174
|
has(name: string): boolean;
|
|
57
175
|
/** Snapshot of all registered workflows — used for error messages. */
|
|
@@ -59,6 +177,10 @@ export declare class WorkflowRegistry {
|
|
|
59
177
|
/**
|
|
60
178
|
* Drop every registered workflow. Triggers call this before
|
|
61
179
|
* re-scanning on HMR so stale entries don't survive a file rename.
|
|
180
|
+
* Does NOT reset the authorize hook OR the global middleware chain
|
|
181
|
+
* — both are operator-installed and should persist across HMR.
|
|
182
|
+
* Use `setAuthorizeFn(null)` / `setGlobalMiddleware([])` explicitly
|
|
183
|
+
* to clear.
|
|
62
184
|
*/
|
|
63
185
|
clear(): void;
|
|
64
186
|
}
|
|
@@ -17,6 +17,13 @@
|
|
|
17
17
|
* `clear()` before re-registering when workflow files change (HMR);
|
|
18
18
|
* the in-repo HTTP trigger does this on every scan.
|
|
19
19
|
*
|
|
20
|
+
* **Authorization** (optional): operators can install a process-wide
|
|
21
|
+
* `(parentName, childName, ctx) => boolean | Promise<boolean>` hook via
|
|
22
|
+
* `setAuthorizeFn()` to gate which parent workflows may invoke which
|
|
23
|
+
* children. Default behavior (no fn set) is allow-all — preserves
|
|
24
|
+
* backwards compatibility. See `docs/d/security/cookbook.mdx` for the
|
|
25
|
+
* multi-tenant patterns.
|
|
26
|
+
*
|
|
20
27
|
* **Why a separate class** (vs reusing the HTTP trigger's RouteEntry[]):
|
|
21
28
|
* - Decoupled from HTTP — worker/cron triggers feed the same registry.
|
|
22
29
|
* - Lookup by `name:` is what authors write; route table is keyed on
|
|
@@ -26,6 +33,30 @@
|
|
|
26
33
|
export class WorkflowRegistry {
|
|
27
34
|
static instance = null;
|
|
28
35
|
workflows = new Map();
|
|
36
|
+
authorizeFn = null;
|
|
37
|
+
/**
|
|
38
|
+
* v0.5.4 — process-global middleware chain. When set, EVERY workflow
|
|
39
|
+
* run in this process prepends these middleware to its own chain
|
|
40
|
+
* (workflow-level `middleware: [...]` and trigger-level
|
|
41
|
+
* `trigger.http.middleware: [...]` if present). Use this for ops
|
|
42
|
+
* concerns that must apply uniformly: request-id correlation, audit
|
|
43
|
+
* logging, OpenTelemetry spans. Unlike workflow- or trigger-level
|
|
44
|
+
* middleware, global middleware doesn't require touching individual
|
|
45
|
+
* workflow files.
|
|
46
|
+
*
|
|
47
|
+
* **Resolution order** at request time, outer to inner:
|
|
48
|
+
* 1. Process-global (this list)
|
|
49
|
+
* 2. Workflow-level (`workflow.middleware: [...]`, v0.5.2)
|
|
50
|
+
* 3. Trigger-level (`trigger.<kind>.middleware: [...]`, v0.5)
|
|
51
|
+
* 4. Workflow body (regular steps)
|
|
52
|
+
*
|
|
53
|
+
* **Lifecycle**: write-once-per-process is the typical pattern, but
|
|
54
|
+
* the setter accepts repeated calls and the LAST call wins. Empty
|
|
55
|
+
* array clears the global chain. The list itself is stored as a
|
|
56
|
+
* frozen snapshot so callers reading via `getGlobalMiddleware()`
|
|
57
|
+
* can't mutate it accidentally.
|
|
58
|
+
*/
|
|
59
|
+
globalMiddleware = [];
|
|
29
60
|
static getInstance() {
|
|
30
61
|
if (!WorkflowRegistry.instance) {
|
|
31
62
|
WorkflowRegistry.instance = new WorkflowRegistry();
|
|
@@ -36,6 +67,80 @@ export class WorkflowRegistry {
|
|
|
36
67
|
static resetInstance() {
|
|
37
68
|
WorkflowRegistry.instance = null;
|
|
38
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Install a process-wide authorize hook for sub-workflow composition.
|
|
72
|
+
* Pass `null` to clear (default behavior is allow-all). The hook fires
|
|
73
|
+
* on every sub-workflow invocation, before the child is materialized.
|
|
74
|
+
*
|
|
75
|
+
* Multi-tenant operators typically read a tenant id off `ctx` and
|
|
76
|
+
* consult an allow-list. The synchronous variant is fine for
|
|
77
|
+
* in-memory lookups; return a promise if the decision needs an
|
|
78
|
+
* external store.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* WorkflowRegistry.getInstance().setAuthorizeFn((parent, child, ctx) => {
|
|
83
|
+
* const tenant = ctx.req.headers["x-tenant"];
|
|
84
|
+
* return tenantAllowList[tenant]?.includes(child) ?? false;
|
|
85
|
+
* });
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
setAuthorizeFn(fn) {
|
|
89
|
+
this.authorizeFn = fn;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns `true` when no authorize hook is installed (default-allow),
|
|
93
|
+
* otherwise delegates to the hook. Called by `SubworkflowNode` before
|
|
94
|
+
* materializing the child workflow.
|
|
95
|
+
*/
|
|
96
|
+
async authorize(parentName, childName, ctx) {
|
|
97
|
+
if (!this.authorizeFn)
|
|
98
|
+
return true;
|
|
99
|
+
return await this.authorizeFn(parentName, childName, ctx);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Register a process-global middleware chain. Every workflow run in
|
|
103
|
+
* this process will prepend these middleware to its own chain BEFORE
|
|
104
|
+
* any workflow- or trigger-level middleware execute. Use for ops
|
|
105
|
+
* concerns that should apply uniformly across the fleet: request-id
|
|
106
|
+
* correlation, audit logging, OpenTelemetry spans, etc.
|
|
107
|
+
*
|
|
108
|
+
* **Lifecycle**: write-once-per-process is the typical pattern (call
|
|
109
|
+
* once at boot, before `trigger.listen()`), but repeated calls are
|
|
110
|
+
* allowed and the last call wins. Pass `[]` to clear the global
|
|
111
|
+
* chain. The list is frozen on store so the snapshot returned by
|
|
112
|
+
* `getGlobalMiddleware()` is safe to expose without copying.
|
|
113
|
+
*
|
|
114
|
+
* Names that don't resolve to a registered middleware workflow are
|
|
115
|
+
* accepted at registration time but will throw at request time when
|
|
116
|
+
* `runMiddlewareChain` tries to look them up — mirrors trigger- and
|
|
117
|
+
* workflow-level middleware semantics. The trigger logs the
|
|
118
|
+
* resolved global chain at boot so operators can verify the names
|
|
119
|
+
* were spelled correctly without a request.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* // Boot-time setup before trigger.listen()
|
|
124
|
+
* WorkflowRegistry.getInstance().setGlobalMiddleware([
|
|
125
|
+
* "request-id",
|
|
126
|
+
* "audit-log",
|
|
127
|
+
* ]);
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
setGlobalMiddleware(names) {
|
|
131
|
+
const filtered = names.filter((n) => typeof n === "string" && n.length > 0).slice();
|
|
132
|
+
this.globalMiddleware = Object.freeze(filtered);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Snapshot of the process-global middleware chain. Returns the
|
|
136
|
+
* frozen list set by `setGlobalMiddleware`, or an empty list when
|
|
137
|
+
* unset. Triggers consume this in `runMiddlewareChain` to prepend
|
|
138
|
+
* to the per-request chain. Always returns the same reference until
|
|
139
|
+
* the next setter call.
|
|
140
|
+
*/
|
|
141
|
+
getGlobalMiddleware() {
|
|
142
|
+
return this.globalMiddleware;
|
|
143
|
+
}
|
|
39
144
|
/**
|
|
40
145
|
* Register a single workflow. Throws on collision when a workflow
|
|
41
146
|
* with the same `name` is already registered from a different
|
|
@@ -62,6 +167,18 @@ export class WorkflowRegistry {
|
|
|
62
167
|
get(name) {
|
|
63
168
|
return this.workflows.get(name);
|
|
64
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* v0.5 — fetch a registered MIDDLEWARE workflow by name (must have
|
|
172
|
+
* been registered with `isMiddleware: true`). Returns undefined when
|
|
173
|
+
* the name is unknown OR the entry isn't a middleware. Used by
|
|
174
|
+
* `HttpTrigger` to dispatch the trigger-level `middleware: [...]` chain.
|
|
175
|
+
*/
|
|
176
|
+
getMiddleware(name) {
|
|
177
|
+
const entry = this.workflows.get(name);
|
|
178
|
+
if (!entry || !entry.isMiddleware)
|
|
179
|
+
return undefined;
|
|
180
|
+
return entry;
|
|
181
|
+
}
|
|
65
182
|
/** Cheap existence check (avoids the `?: undefined` dance). */
|
|
66
183
|
has(name) {
|
|
67
184
|
return this.workflows.has(name);
|
|
@@ -73,6 +190,10 @@ export class WorkflowRegistry {
|
|
|
73
190
|
/**
|
|
74
191
|
* Drop every registered workflow. Triggers call this before
|
|
75
192
|
* re-scanning on HMR so stale entries don't survive a file rename.
|
|
193
|
+
* Does NOT reset the authorize hook OR the global middleware chain
|
|
194
|
+
* — both are operator-installed and should persist across HMR.
|
|
195
|
+
* Use `setAuthorizeFn(null)` / `setGlobalMiddleware([])` explicitly
|
|
196
|
+
* to clear.
|
|
76
197
|
*/
|
|
77
198
|
clear() {
|
|
78
199
|
this.workflows.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRegistry.js","sourceRoot":"","sources":["../../src/workflow/WorkflowRegistry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"WorkflowRegistry.js","sourceRoot":"","sources":["../../src/workflow/WorkflowRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sample-body inference for the Studio empty-state curl snippet.
|
|
3
|
+
*
|
|
4
|
+
* Generates a JSON payload shape that a workflow's HTTP trigger
|
|
5
|
+
* would accept, so the "no runs yet" curl example on the workflow
|
|
6
|
+
* detail page can show an example body that actually exercises the
|
|
7
|
+
* workflow — instead of the previous `-d '{}'` which immediately
|
|
8
|
+
* crashed every workflow that read from `ctx.request.body`.
|
|
9
|
+
*
|
|
10
|
+
* Two layers (B + A in the design discussion):
|
|
11
|
+
*
|
|
12
|
+
* B. Static analysis. Walk every step's inputs + control-flow
|
|
13
|
+
* expressions, collect every `ctx.request.body.<path>` and
|
|
14
|
+
* `$.req.body.<path>` reference, and build a nested object
|
|
15
|
+
* mirroring those paths. Array shapes are inferred from
|
|
16
|
+
* `forEach.in` references — if a path feeds a forEach, it's
|
|
17
|
+
* an array, and references to `ctx.state.<asVar>.<sub>` inside
|
|
18
|
+
* the body translate back into element-shape fields.
|
|
19
|
+
*
|
|
20
|
+
* A. Author override. If the workflow declares
|
|
21
|
+
* `trigger.http.examples.body: {...}`, that value wins
|
|
22
|
+
* verbatim and the static inference is skipped.
|
|
23
|
+
*
|
|
24
|
+
* Inference is best-effort and intentionally permissive — the
|
|
25
|
+
* placeholder values are "string" everywhere, since the goal is to
|
|
26
|
+
* produce a payload that satisfies the workflow's *shape*, not its
|
|
27
|
+
* semantics. A workflow author who cares about value semantics
|
|
28
|
+
* declares an explicit example.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Result of running inference + override resolution.
|
|
32
|
+
*
|
|
33
|
+
* - `body`: the inferred or author-supplied payload object.
|
|
34
|
+
* - `source`: `"author"` if the workflow declared an explicit
|
|
35
|
+
* `trigger.http.examples.body`, `"inferred"` if we synthesized it
|
|
36
|
+
* from step references, `"empty"` if there were no references and
|
|
37
|
+
* no override (fallback to `{}`).
|
|
38
|
+
*/
|
|
39
|
+
export interface InferredSample {
|
|
40
|
+
body: unknown;
|
|
41
|
+
source: "author" | "inferred" | "empty";
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Infer a sample HTTP body for a workflow, or return the author's
|
|
45
|
+
* declared example. Returns `null` only when the workflow value is
|
|
46
|
+
* not a recognisable object — every other shape gets at least an
|
|
47
|
+
* `empty` result with `body: {}`.
|
|
48
|
+
*
|
|
49
|
+
* @param workflow The raw workflow JSON (the same value the
|
|
50
|
+
* `WorkflowRegistry` stores). Accepts `unknown` because the API
|
|
51
|
+
* surface that calls this — `TraceRouter` — keeps `definition`
|
|
52
|
+
* typed loosely.
|
|
53
|
+
*/
|
|
54
|
+
export declare function inferSampleBody(workflow: unknown): InferredSample | null;
|