@blokjs/runner 0.4.0 → 0.6.1

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 (163) hide show
  1. package/dist/Blok.js +32 -3
  2. package/dist/Blok.js.map +1 -1
  3. package/dist/Configuration.d.ts +41 -5
  4. package/dist/Configuration.js +215 -92
  5. package/dist/Configuration.js.map +1 -1
  6. package/dist/ForEachNode.d.ts +59 -0
  7. package/dist/ForEachNode.js +522 -0
  8. package/dist/ForEachNode.js.map +1 -0
  9. package/dist/LoopMaxIterationsError.d.ts +11 -0
  10. package/dist/LoopMaxIterationsError.js +18 -0
  11. package/dist/LoopMaxIterationsError.js.map +1 -0
  12. package/dist/LoopNode.d.ts +36 -0
  13. package/dist/LoopNode.js +182 -0
  14. package/dist/LoopNode.js.map +1 -0
  15. package/dist/Runner.d.ts +11 -1
  16. package/dist/Runner.js +9 -2
  17. package/dist/Runner.js.map +1 -1
  18. package/dist/RunnerSteps.js +419 -112
  19. package/dist/RunnerSteps.js.map +1 -1
  20. package/dist/RuntimeAdapterNode.d.ts +2 -1
  21. package/dist/RuntimeAdapterNode.js +2 -2
  22. package/dist/RuntimeAdapterNode.js.map +1 -1
  23. package/dist/RuntimeRegistry.d.ts +23 -2
  24. package/dist/RuntimeRegistry.js +31 -2
  25. package/dist/RuntimeRegistry.js.map +1 -1
  26. package/dist/SubworkflowNode.d.ts +106 -0
  27. package/dist/SubworkflowNode.js +261 -3
  28. package/dist/SubworkflowNode.js.map +1 -1
  29. package/dist/SwitchNode.d.ts +37 -0
  30. package/dist/SwitchNode.js +153 -0
  31. package/dist/SwitchNode.js.map +1 -0
  32. package/dist/TriggerBase.d.ts +50 -0
  33. package/dist/TriggerBase.js +262 -4
  34. package/dist/TriggerBase.js.map +1 -1
  35. package/dist/TryCatchNode.d.ts +32 -0
  36. package/dist/TryCatchNode.js +207 -0
  37. package/dist/TryCatchNode.js.map +1 -0
  38. package/dist/adapters/grpc/GrpcCodec.js +2 -2
  39. package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +6 -4
  40. package/dist/adapters/grpc/GrpcRuntimeAdapter.js +6 -4
  41. package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -1
  42. package/dist/adapters/grpc/types.d.ts +7 -5
  43. package/dist/adapters/grpc/types.js.map +1 -1
  44. package/dist/adapters/transport.d.ts +12 -41
  45. package/dist/adapters/transport.js +21 -70
  46. package/dist/adapters/transport.js.map +1 -1
  47. package/dist/cache/NodeResultCache.js +7 -0
  48. package/dist/cache/NodeResultCache.js.map +1 -1
  49. package/dist/concurrency/NatsKvConcurrencyBackend.js +18 -5
  50. package/dist/concurrency/NatsKvConcurrencyBackend.js.map +1 -1
  51. package/dist/concurrency/RedisConcurrencyBackend.d.ts +64 -0
  52. package/dist/concurrency/RedisConcurrencyBackend.js +374 -0
  53. package/dist/concurrency/RedisConcurrencyBackend.js.map +1 -0
  54. package/dist/concurrency/createConcurrencyBackend.d.ts +1 -0
  55. package/dist/concurrency/createConcurrencyBackend.js +5 -1
  56. package/dist/concurrency/createConcurrencyBackend.js.map +1 -1
  57. package/dist/defineNode.d.ts +8 -0
  58. package/dist/defineNode.js +25 -5
  59. package/dist/defineNode.js.map +1 -1
  60. package/dist/graphql/GraphQLSchemaGenerator.js +1 -1
  61. package/dist/graphql/GraphQLSchemaGenerator.js.map +1 -1
  62. package/dist/index.d.ts +10 -6
  63. package/dist/index.js +13 -9
  64. package/dist/index.js.map +1 -1
  65. package/dist/marketplace/RuntimeCatalog.d.ts +6 -0
  66. package/dist/marketplace/RuntimeCatalog.js.map +1 -1
  67. package/dist/marketplace/RuntimeDiscovery.d.ts +2 -2
  68. package/dist/marketplace/RuntimeDiscovery.js +18 -6
  69. package/dist/marketplace/RuntimeDiscovery.js.map +1 -1
  70. package/dist/monitoring/ConcurrencyMetrics.d.ts +26 -0
  71. package/dist/monitoring/ConcurrencyMetrics.js +36 -4
  72. package/dist/monitoring/ConcurrencyMetrics.js.map +1 -1
  73. package/dist/monitoring/ForEachWaitMetrics.d.ts +22 -0
  74. package/dist/monitoring/ForEachWaitMetrics.js +36 -0
  75. package/dist/monitoring/ForEachWaitMetrics.js.map +1 -0
  76. package/dist/openapi/OpenAPIGenerator.js +7 -2
  77. package/dist/openapi/OpenAPIGenerator.js.map +1 -1
  78. package/dist/runtime/PrimitiveStack.d.ts +64 -0
  79. package/dist/runtime/PrimitiveStack.js +92 -0
  80. package/dist/runtime/PrimitiveStack.js.map +1 -0
  81. package/dist/scheduling/DebounceBackend.d.ts +108 -0
  82. package/dist/scheduling/DebounceBackend.js +23 -0
  83. package/dist/scheduling/DebounceBackend.js.map +1 -0
  84. package/dist/scheduling/DebounceCoordinator.d.ts +65 -12
  85. package/dist/scheduling/DebounceCoordinator.js +234 -13
  86. package/dist/scheduling/DebounceCoordinator.js.map +1 -1
  87. package/dist/scheduling/DeferredRunScheduler.d.ts +28 -0
  88. package/dist/scheduling/DeferredRunScheduler.js +105 -3
  89. package/dist/scheduling/DeferredRunScheduler.js.map +1 -1
  90. package/dist/scheduling/NatsKvDebounceBackend.d.ts +53 -0
  91. package/dist/scheduling/NatsKvDebounceBackend.js +334 -0
  92. package/dist/scheduling/NatsKvDebounceBackend.js.map +1 -0
  93. package/dist/scheduling/RedisDebounceBackend.d.ts +49 -0
  94. package/dist/scheduling/RedisDebounceBackend.js +356 -0
  95. package/dist/scheduling/RedisDebounceBackend.js.map +1 -0
  96. package/dist/scheduling/createDebounceBackend.d.ts +25 -0
  97. package/dist/scheduling/createDebounceBackend.js +39 -0
  98. package/dist/scheduling/createDebounceBackend.js.map +1 -0
  99. package/dist/security/AuditLogger.js +1 -1
  100. package/dist/security/AuditLogger.js.map +1 -1
  101. package/dist/security/AuthMiddleware.d.ts +19 -20
  102. package/dist/security/AuthMiddleware.js +35 -20
  103. package/dist/security/AuthMiddleware.js.map +1 -1
  104. package/dist/security/OAuthProvider.js +2 -2
  105. package/dist/security/OAuthProvider.js.map +1 -1
  106. package/dist/security/SecretManager.js +14 -13
  107. package/dist/security/SecretManager.js.map +1 -1
  108. package/dist/security/index.d.ts +3 -1
  109. package/dist/security/index.js +3 -1
  110. package/dist/security/index.js.map +1 -1
  111. package/dist/testing/TestHarness.d.ts +27 -12
  112. package/dist/testing/TestHarness.js +19 -3
  113. package/dist/testing/TestHarness.js.map +1 -1
  114. package/dist/testing/WorkflowTestRunner.js +0 -7
  115. package/dist/testing/WorkflowTestRunner.js.map +1 -1
  116. package/dist/tracing/InMemoryRunStore.d.ts +14 -1
  117. package/dist/tracing/InMemoryRunStore.js +95 -6
  118. package/dist/tracing/InMemoryRunStore.js.map +1 -1
  119. package/dist/tracing/PostgresRunStore.d.ts +28 -2
  120. package/dist/tracing/PostgresRunStore.js +276 -3
  121. package/dist/tracing/PostgresRunStore.js.map +1 -1
  122. package/dist/tracing/RoutingDiagnostics.d.ts +55 -0
  123. package/dist/tracing/RoutingDiagnostics.js +50 -0
  124. package/dist/tracing/RoutingDiagnostics.js.map +1 -0
  125. package/dist/tracing/RunStore.d.ts +82 -1
  126. package/dist/tracing/RunTracker.d.ts +7 -1
  127. package/dist/tracing/RunTracker.js +23 -0
  128. package/dist/tracing/RunTracker.js.map +1 -1
  129. package/dist/tracing/SqliteRunStore.d.ts +57 -2
  130. package/dist/tracing/SqliteRunStore.js +408 -48
  131. package/dist/tracing/SqliteRunStore.js.map +1 -1
  132. package/dist/tracing/TraceRouter.js +380 -18
  133. package/dist/tracing/TraceRouter.js.map +1 -1
  134. package/dist/tracing/createStore.js +14 -3
  135. package/dist/tracing/createStore.js.map +1 -1
  136. package/dist/tracing/metadataFilter.d.ts +63 -0
  137. package/dist/tracing/metadataFilter.js +224 -0
  138. package/dist/tracing/metadataFilter.js.map +1 -0
  139. package/dist/tracing/types.d.ts +331 -7
  140. package/dist/utils/envAllowlist.d.ts +35 -0
  141. package/dist/utils/envAllowlist.js +113 -0
  142. package/dist/utils/envAllowlist.js.map +1 -0
  143. package/dist/version/RuntimeVersionValidator.d.ts +38 -0
  144. package/dist/version/RuntimeVersionValidator.js +121 -0
  145. package/dist/version/RuntimeVersionValidator.js.map +1 -0
  146. package/dist/visualization/WorkflowVisualizer.js +4 -4
  147. package/dist/visualization/WorkflowVisualizer.js.map +1 -1
  148. package/dist/workflow/PersistenceHelper.d.ts +18 -10
  149. package/dist/workflow/PersistenceHelper.js +35 -9
  150. package/dist/workflow/PersistenceHelper.js.map +1 -1
  151. package/dist/workflow/WorkflowNormalizer.d.ts +19 -1
  152. package/dist/workflow/WorkflowNormalizer.js +469 -19
  153. package/dist/workflow/WorkflowNormalizer.js.map +1 -1
  154. package/dist/workflow/WorkflowRegistry.d.ts +122 -0
  155. package/dist/workflow/WorkflowRegistry.js +121 -0
  156. package/dist/workflow/WorkflowRegistry.js.map +1 -1
  157. package/dist/workflow/sampleBody.d.ts +54 -0
  158. package/dist/workflow/sampleBody.js +320 -0
  159. package/dist/workflow/sampleBody.js.map +1 -0
  160. package/package.json +3 -8
  161. package/dist/adapters/HttpRuntimeAdapter.d.ts +0 -79
  162. package/dist/adapters/HttpRuntimeAdapter.js +0 -233
  163. package/dist/adapters/HttpRuntimeAdapter.js.map +0 -1
@@ -0,0 +1,121 @@
1
+ /**
2
+ * RuntimeVersionValidator — Validates node and workflow runtime version requirements.
3
+ *
4
+ * Used by the runner to check that nodes' `runtimeRequirements` are satisfied
5
+ * by the currently running runtime versions before executing workflows.
6
+ */
7
+ function parseSemver(version) {
8
+ const parts = version.trim().split(".").map(Number);
9
+ return {
10
+ major: parts[0] || 0,
11
+ minor: parts[1] || 0,
12
+ patch: parts[2] || 0,
13
+ };
14
+ }
15
+ function semverGte(a, b) {
16
+ if (a.major !== b.major)
17
+ return a.major > b.major;
18
+ if (a.minor !== b.minor)
19
+ return a.minor > b.minor;
20
+ return a.patch >= b.patch;
21
+ }
22
+ function satisfiesConstraint(version, constraint) {
23
+ const actual = parseSemver(version);
24
+ const trimmed = constraint.trim();
25
+ if (trimmed.startsWith(">=")) {
26
+ return semverGte(actual, parseSemver(trimmed.slice(2)));
27
+ }
28
+ if (trimmed.startsWith("^")) {
29
+ const base = parseSemver(trimmed.slice(1));
30
+ if (base.major !== 0) {
31
+ return actual.major === base.major && semverGte(actual, base);
32
+ }
33
+ if (base.minor !== 0) {
34
+ return actual.major === 0 && actual.minor === base.minor && actual.patch >= base.patch;
35
+ }
36
+ return actual.major === 0 && actual.minor === 0 && actual.patch === base.patch;
37
+ }
38
+ if (trimmed.startsWith("~")) {
39
+ const base = parseSemver(trimmed.slice(1));
40
+ return actual.major === base.major && actual.minor === base.minor && actual.patch >= base.patch;
41
+ }
42
+ // Exact match
43
+ const base = parseSemver(trimmed.startsWith("=") ? trimmed.slice(1) : trimmed);
44
+ return actual.major === base.major && actual.minor === base.minor && actual.patch === base.patch;
45
+ }
46
+ export class RuntimeVersionValidator {
47
+ runtimeVersions;
48
+ constructor(runtimeVersions) {
49
+ this.runtimeVersions = new Map(Object.entries(runtimeVersions || {}));
50
+ }
51
+ setRuntimeVersion(kind, version) {
52
+ this.runtimeVersions.set(kind, version);
53
+ }
54
+ getRuntimeVersion(kind) {
55
+ return this.runtimeVersions.get(kind);
56
+ }
57
+ /**
58
+ * Validate a single node's runtime requirements against known runtime versions.
59
+ */
60
+ validateNode(node) {
61
+ if (!node.runtimeRequirements)
62
+ return [];
63
+ const results = [];
64
+ for (const [runtime, constraint] of Object.entries(node.runtimeRequirements)) {
65
+ if (!constraint)
66
+ continue;
67
+ const actual = this.runtimeVersions.get(runtime);
68
+ if (!actual) {
69
+ results.push({
70
+ valid: false,
71
+ node: node.name,
72
+ runtime,
73
+ required: constraint,
74
+ actual: undefined,
75
+ message: `Node "${node.name}" requires ${runtime} ${constraint}, ` + `but no ${runtime} runtime version is known.`,
76
+ });
77
+ continue;
78
+ }
79
+ const valid = satisfiesConstraint(actual, constraint);
80
+ results.push({
81
+ valid,
82
+ node: node.name,
83
+ runtime,
84
+ required: constraint,
85
+ actual,
86
+ message: valid
87
+ ? `Node "${node.name}" ${runtime} ${constraint} satisfied (${actual})`
88
+ : `Node "${node.name}" requires ${runtime} ${constraint}, but found ${actual}.`,
89
+ });
90
+ }
91
+ return results;
92
+ }
93
+ /**
94
+ * Validate all nodes in a workflow against known runtime versions.
95
+ */
96
+ validateWorkflow(nodes) {
97
+ const results = [];
98
+ for (const node of nodes) {
99
+ results.push(...this.validateNode(node));
100
+ }
101
+ return results;
102
+ }
103
+ /**
104
+ * Format validation errors into a user-friendly multi-line string.
105
+ */
106
+ static formatErrors(results) {
107
+ const failures = results.filter((r) => !r.valid);
108
+ if (failures.length === 0)
109
+ return "";
110
+ const lines = ["Runtime version requirements not met:"];
111
+ for (const f of failures) {
112
+ lines.push("");
113
+ lines.push(` Node: ${f.node}`);
114
+ lines.push(` Runtime: ${f.runtime}`);
115
+ lines.push(` Required: ${f.required}`);
116
+ lines.push(` Found: ${f.actual || "not available"}`);
117
+ }
118
+ return lines.join("\n");
119
+ }
120
+ }
121
+ //# sourceMappingURL=RuntimeVersionValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeVersionValidator.js","sourceRoot":"","sources":["../../src/version/RuntimeVersionValidator.ts"],"names":[],"mappings":"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"}
@@ -143,7 +143,7 @@ export class WorkflowVisualizer {
143
143
  if (!adjacency.has(edge.from)) {
144
144
  adjacency.set(edge.from, []);
145
145
  }
146
- adjacency.get(edge.from).push(edge.to);
146
+ adjacency.get(edge.from)?.push(edge.to);
147
147
  }
148
148
  // Walk graph from first node
149
149
  const visited = new Set();
@@ -157,13 +157,13 @@ export class WorkflowVisualizer {
157
157
  if (!node)
158
158
  continue;
159
159
  const icon = this.asciiIcon(node.type);
160
- const label = node.label.length > 44 ? node.label.substring(0, 41) + "..." : node.label;
160
+ const label = node.label.length > 44 ? `${node.label.substring(0, 41)}...` : node.label;
161
161
  result.push(`║ ${icon} ${this.padRight(label, 46)}║`);
162
162
  const targets = adjacency.get(nodeId) || [];
163
163
  if (targets.length > 0) {
164
164
  if (targets.length === 1) {
165
- result.push(`║║`);
166
- result.push(`║║`);
165
+ result.push("║║");
166
+ result.push("║║");
167
167
  }
168
168
  else {
169
169
  result.push(`║ ├──┬──${this.padRight("", 42)}║`);
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowVisualizer.js","sourceRoot":"","sources":["../../src/visualization/WorkflowVisualizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowVisualizer.js","sourceRoot":"","sources":["../../src/visualization/WorkflowVisualizer.ts"],"names":[],"mappings":"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"}
@@ -14,30 +14,38 @@ export interface PersistableStep {
14
14
  readonly spread?: boolean;
15
15
  /** When true, skip persistence entirely. */
16
16
  readonly ephemeral?: boolean;
17
- /**
18
- * Legacy v1 flag. `false` is interpreted as `ephemeral: true`. `true`
19
- * is a no-op (the new default already persists).
20
- */
21
- readonly set_var?: boolean;
22
17
  }
23
18
  /**
24
19
  * The shape of an execution result the helper needs to read. Both
25
- * `ResponseContext` and `ExecutionResult` carry `.data`.
20
+ * `ResponseContext` and `ExecutionResult` carry `.data`. Errors arrive
21
+ * via different field names depending on the source — `error` on
22
+ * `ResponseContext` / `BlokResponse`, `errors` on `ExecutionResult` from
23
+ * the runtime adapters. Both shapes are accepted and trigger the same
24
+ * "skip persistence" guard.
26
25
  */
27
26
  export interface PersistableResult {
28
27
  readonly data?: unknown;
29
28
  readonly success?: boolean;
29
+ readonly error?: unknown;
30
+ readonly errors?: unknown;
30
31
  }
31
32
  /**
32
33
  * Apply a step's output to `ctx.state` according to the step's persistence
33
34
  * knobs.
34
35
  *
35
- * **Rules** (in order):
36
+ * **Rules** (evaluated in order):
37
+ * 0. **Errored result → no-op.** A step that threw, returned `success:
38
+ * false`, or carries a non-null `error` / `errors` field does NOT write
39
+ * state. Authors can rely on `ctx.state[<step-id>] === undefined` as a
40
+ * truthful "did this step actually succeed?" check inside a
41
+ * `tryCatch.catch` arm. Without this guard, the framework's internal
42
+ * `BlokResponse.setError()` writes `data = {}` and the helper would
43
+ * persist that empty object — making the natural existence check
44
+ * meaningless. (See [tryCatch docs](../../../docs/c/devtools/tryCatch.mdx).)
36
45
  * 1. `ephemeral: true` → no-op. Output is only available via `ctx.prev`.
37
- * 2. Legacy `set_var: false` treated as `ephemeral: true` (back-compat).
38
- * 3. `spread: true` AND `data` is a plain object → shallow-merge data's
46
+ * 2. `spread: true` AND `data` is a plain object → shallow-merge data's
39
47
  * top-level keys into `ctx.state`.
40
- * 4. Default → `ctx.state[as ?? name] = data`.
48
+ * 3. Default → `ctx.state[as ?? name] = data`.
41
49
  *
42
50
  * Mutates `ctx.state` in place. Always safe to call (no-op on missing data
43
51
  * unless `spread` is set, which is an authoring-time error to combine with
@@ -2,22 +2,32 @@
2
2
  * Apply a step's output to `ctx.state` according to the step's persistence
3
3
  * knobs.
4
4
  *
5
- * **Rules** (in order):
5
+ * **Rules** (evaluated in order):
6
+ * 0. **Errored result → no-op.** A step that threw, returned `success:
7
+ * false`, or carries a non-null `error` / `errors` field does NOT write
8
+ * state. Authors can rely on `ctx.state[<step-id>] === undefined` as a
9
+ * truthful "did this step actually succeed?" check inside a
10
+ * `tryCatch.catch` arm. Without this guard, the framework's internal
11
+ * `BlokResponse.setError()` writes `data = {}` and the helper would
12
+ * persist that empty object — making the natural existence check
13
+ * meaningless. (See [tryCatch docs](../../../docs/c/devtools/tryCatch.mdx).)
6
14
  * 1. `ephemeral: true` → no-op. Output is only available via `ctx.prev`.
7
- * 2. Legacy `set_var: false` treated as `ephemeral: true` (back-compat).
8
- * 3. `spread: true` AND `data` is a plain object → shallow-merge data's
15
+ * 2. `spread: true` AND `data` is a plain object → shallow-merge data's
9
16
  * top-level keys into `ctx.state`.
10
- * 4. Default → `ctx.state[as ?? name] = data`.
17
+ * 3. Default → `ctx.state[as ?? name] = data`.
11
18
  *
12
19
  * Mutates `ctx.state` in place. Always safe to call (no-op on missing data
13
20
  * unless `spread` is set, which is an authoring-time error to combine with
14
21
  * non-object output and is detected at workflow load time, not here).
15
22
  */
16
23
  export function applyStepOutput(ctx, step, result) {
17
- // Rule 1 & 2 opt-out paths
18
- if (step.ephemeral === true)
24
+ // Rule 0 error guard. Centralized so all callers (Blok.run,
25
+ // RuntimeAdapterNode.run, SubworkflowNode.dispatchSync) inherit the
26
+ // same truthful-state contract without each re-implementing the check.
27
+ if (isErroredResult(result))
19
28
  return;
20
- if (step.set_var === false)
29
+ // Rule 1 — opt-out path
30
+ if (step.ephemeral === true)
21
31
  return;
22
32
  // Defensive: ensure state exists (TriggerBase initializes it, but
23
33
  // some legacy code paths construct ctx by hand).
@@ -26,7 +36,7 @@ export function applyStepOutput(ctx, step, result) {
26
36
  }
27
37
  const state = ctx.state;
28
38
  const data = result?.data;
29
- // Rule 3 — spread
39
+ // Rule 2 — spread
30
40
  if (step.spread === true) {
31
41
  if (isPlainObject(data)) {
32
42
  Object.assign(state, data);
@@ -36,7 +46,7 @@ export function applyStepOutput(ctx, step, result) {
36
46
  // author is aware.
37
47
  return;
38
48
  }
39
- // Rule 4 — default-store
49
+ // Rule 3 — default-store
40
50
  if (data === undefined)
41
51
  return;
42
52
  const key = step.as ?? step.name;
@@ -54,4 +64,20 @@ function isPlainObject(value) {
54
64
  const proto = Object.getPrototypeOf(value);
55
65
  return proto === null || proto === Object.prototype;
56
66
  }
67
+ /**
68
+ * Detect whether a step result represents a failure. Three indicators —
69
+ * `success: false`, a non-null `error` (ResponseContext / BlokResponse
70
+ * shape), or a non-null `errors` (ExecutionResult shape from the runtime
71
+ * adapters) — are all treated equivalently. Any one is enough to skip
72
+ * persistence so the next step's `ctx.state[<id>]` check tells the truth.
73
+ */
74
+ function isErroredResult(result) {
75
+ if (result.success === false)
76
+ return true;
77
+ if (result.error !== undefined && result.error !== null)
78
+ return true;
79
+ if (result.errors !== undefined && result.errors !== null)
80
+ return true;
81
+ return false;
82
+ }
57
83
  //# sourceMappingURL=PersistenceHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PersistenceHelper.js","sourceRoot":"","sources":["../../src/workflow/PersistenceHelper.ts"],"names":[],"mappings":"AAiCA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY,EAAE,IAAqB,EAAE,MAAyB;IAC7F,6BAA6B;IAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO;IACpC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO;IAEnC,kEAAkE;IAClE,iDAAiD;IACjD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,GAA0C,CAAC,KAAK,GAAG,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAgC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IAE1B,kBAAkB;IAClB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,6DAA6D;QAC7D,6DAA6D;QAC7D,mBAAmB;QACnB,OAAO;IACR,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,+DAA+D;IACjF,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"PersistenceHelper.js","sourceRoot":"","sources":["../../src/workflow/PersistenceHelper.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY,EAAE,IAAqB,EAAE,MAAyB;IAC7F,8DAA8D;IAC9D,oEAAoE;IACpE,uEAAuE;IACvE,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO;IAEpC,wBAAwB;IACxB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO;IAEpC,kEAAkE;IAClE,iDAAiD;IACjD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,GAA0C,CAAC,KAAK,GAAG,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAgC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IAE1B,kBAAkB;IAClB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,6DAA6D;QAC7D,6DAA6D;QAC7D,mBAAmB;QACnB,OAAO;IACR,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,+DAA+D;IACjF,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,MAAyB;IACjD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -10,7 +10,6 @@ interface InternalStep {
10
10
  type: string;
11
11
  active?: boolean;
12
12
  stop?: boolean;
13
- set_var?: boolean;
14
13
  as?: string;
15
14
  spread?: boolean;
16
15
  ephemeral?: boolean;
@@ -59,6 +58,25 @@ export interface InternalWorkflow {
59
58
  trigger: Record<string, unknown>;
60
59
  steps: InternalStep[];
61
60
  nodes: Record<string, InternalNodeConfig>;
61
+ /**
62
+ * v0.5 — when `true`, this workflow is registered as middleware and is
63
+ * NOT exposed as a public HTTP route. Invoked from another workflow's
64
+ * `trigger.http.middleware: [...]` array (or `appliedMiddleware` below).
65
+ */
66
+ middleware?: true;
67
+ /**
68
+ * v0.5.2 — workflow-level middleware chain. Authors write `middleware:
69
+ * [...]` at the top level of the workflow definition; the normalizer
70
+ * routes the array form here while keeping `middleware: true` as the
71
+ * marker bit. Applies to ALL triggers of this workflow, runs BEFORE
72
+ * any trigger-level middleware. Use this when a chain (auth, rate-limit)
73
+ * applies uniformly across every trigger of a workflow — saves
74
+ * repeating the same list on every trigger config.
75
+ *
76
+ * Mutually exclusive with `middleware: true` — a workflow cannot
77
+ * simultaneously be a middleware AND apply other middleware to itself.
78
+ */
79
+ appliedMiddleware?: readonly string[];
62
80
  }
63
81
  /**
64
82
  * Convert any accepted workflow shape into the canonical internal shape.