@kindgi/runtime 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/derivation.d.ts +10 -0
- package/dist/derivation.d.ts.map +1 -1
- package/dist/derivation.js +16 -0
- package/dist/derivation.js.map +1 -1
- package/dist/types.d.ts +15 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +8 -7
- package/src/derivation.ts +26 -1
- package/src/types.ts +15 -0
package/dist/derivation.d.ts
CHANGED
|
@@ -66,6 +66,13 @@ export interface DerivedRunState {
|
|
|
66
66
|
* own completed steps.
|
|
67
67
|
*/
|
|
68
68
|
readonly completedBodySteps: Map<string, CompletedBodyStep>;
|
|
69
|
+
/**
|
|
70
|
+
* Steps' recorded decisions (`NodeContext.record`, `clockNow`), keyed
|
|
71
|
+
* by `recordedValueKey(scope, key)`. Populated from `value.recorded`
|
|
72
|
+
* entries; a step that runs again reads its own back instead of
|
|
73
|
+
* deciding again. The last entry for a key wins.
|
|
74
|
+
*/
|
|
75
|
+
readonly recordedValues: Map<string, unknown>;
|
|
69
76
|
}
|
|
70
77
|
/** What a loop-body step journaled when it completed. */
|
|
71
78
|
export interface CompletedBodyStep {
|
|
@@ -74,6 +81,8 @@ export interface CompletedBodyStep {
|
|
|
74
81
|
}
|
|
75
82
|
/** Composite key for `waitResolutions` lookups. */
|
|
76
83
|
export declare function waitResolutionKey(nodeId: NodeId, tokenId: string): string;
|
|
84
|
+
/** Composite key for `recordedValues` lookups: the step's scope, and the decision's key. */
|
|
85
|
+
export declare function recordedValueKey(scope: string, key: string): string;
|
|
77
86
|
/** A loop-body step's key in `completedBodySteps`: the node, at its iteration of every enclosing loop. */
|
|
78
87
|
export declare function bodyStepKey(nodeId: NodeId, loopContext: LoopContext): string;
|
|
79
88
|
/**
|
|
@@ -96,6 +105,7 @@ export declare function bodyStepKey(nodeId: NodeId, loopContext: LoopContext): s
|
|
|
96
105
|
* - `step.concurrency-deferred` adds the node to `deferredNodes`.
|
|
97
106
|
* - a `step.completed` with a `loopContext` (a loop-body step) is also
|
|
98
107
|
* recorded in `completedBodySteps`.
|
|
108
|
+
* - `value.recorded` records the value by `recordedValueKey(scope, key)`.
|
|
99
109
|
* - Every other kind is informational (run.started, run.completed, etc.).
|
|
100
110
|
*/
|
|
101
111
|
export declare function deriveRunState(journal: readonly JournalEntry[]): DerivedRunState;
|
package/dist/derivation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../src/derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../src/derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,YAAY,CAAC;AAErE;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5D;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,0GAA0G;AAC1G,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,eAAe,CAIhF;AAED,yEAAyE;AACzE,wBAAgB,cAAc,IAAI,eAAe,CAiBhD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAiBrE;AAmLD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CASlE"}
|
package/dist/derivation.js
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
export function waitResolutionKey(nodeId, tokenId) {
|
|
5
5
|
return `${nodeId}::${tokenId}`;
|
|
6
6
|
}
|
|
7
|
+
/** Composite key for `recordedValues` lookups: the step's scope, and the decision's key. */
|
|
8
|
+
export function recordedValueKey(scope, key) {
|
|
9
|
+
return `${scope}::${key}`;
|
|
10
|
+
}
|
|
7
11
|
/** A loop-body step's key in `completedBodySteps`: the node, at its iteration of every enclosing loop. */
|
|
8
12
|
export function bodyStepKey(nodeId, loopContext) {
|
|
9
13
|
return `${nodeId}@${loopContext.path.map((p) => `${p.loopNodeId}#${p.iteration}`).join('/')}`;
|
|
@@ -28,6 +32,7 @@ export function bodyStepKey(nodeId, loopContext) {
|
|
|
28
32
|
* - `step.concurrency-deferred` adds the node to `deferredNodes`.
|
|
29
33
|
* - a `step.completed` with a `loopContext` (a loop-body step) is also
|
|
30
34
|
* recorded in `completedBodySteps`.
|
|
35
|
+
* - `value.recorded` records the value by `recordedValueKey(scope, key)`.
|
|
31
36
|
* - Every other kind is informational (run.started, run.completed, etc.).
|
|
32
37
|
*/
|
|
33
38
|
export function deriveRunState(journal) {
|
|
@@ -52,6 +57,7 @@ export function createRunState() {
|
|
|
52
57
|
waitCancellations: new Map(),
|
|
53
58
|
nodeAttempts: new Map(),
|
|
54
59
|
completedBodySteps: new Map(),
|
|
60
|
+
recordedValues: new Map(),
|
|
55
61
|
};
|
|
56
62
|
}
|
|
57
63
|
/**
|
|
@@ -84,6 +90,7 @@ export function cloneRunState(state) {
|
|
|
84
90
|
waitCancellations: new Map(state.waitCancellations),
|
|
85
91
|
nodeAttempts: new Map(state.nodeAttempts),
|
|
86
92
|
completedBodySteps: new Map(state.completedBodySteps),
|
|
93
|
+
recordedValues: new Map(state.recordedValues),
|
|
87
94
|
};
|
|
88
95
|
}
|
|
89
96
|
function applyEntry(acc, entry) {
|
|
@@ -115,6 +122,9 @@ function applyEntry(acc, entry) {
|
|
|
115
122
|
case 'step.concurrency-deferred':
|
|
116
123
|
applyStepConcurrencyDeferred(acc, entry);
|
|
117
124
|
return;
|
|
125
|
+
case 'value.recorded':
|
|
126
|
+
applyValueRecorded(acc, entry);
|
|
127
|
+
return;
|
|
118
128
|
default:
|
|
119
129
|
// iteration.*, fanout.*, subgraph.*, run.*, clock.read: informational.
|
|
120
130
|
// Derivation observes them via their paired step.* entries.
|
|
@@ -232,6 +242,12 @@ function applyWaitCancelled(acc, entry) {
|
|
|
232
242
|
acc.waitCancellations.set(waitResolutionKey(entry.nodeId, p.tokenId), reason);
|
|
233
243
|
}
|
|
234
244
|
}
|
|
245
|
+
function applyValueRecorded(acc, entry) {
|
|
246
|
+
const p = entry.payload;
|
|
247
|
+
if (p === undefined || typeof p.scope !== 'string' || typeof p.key !== 'string')
|
|
248
|
+
return;
|
|
249
|
+
acc.recordedValues.set(recordedValueKey(p.scope, p.key), p.value);
|
|
250
|
+
}
|
|
235
251
|
/**
|
|
236
252
|
* Normalize a raw handler return into a HandlerResult shape. Bare values
|
|
237
253
|
* become `{ output: value }`; already-structured values pass through.
|
package/dist/derivation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivation.js","sourceRoot":"","sources":["../src/derivation.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"derivation.js","sourceRoot":"","sources":["../src/derivation.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -18,7 +18,21 @@ export interface RunResult<TOutput = unknown> {
|
|
|
18
18
|
readonly tenantId: TenantId;
|
|
19
19
|
}
|
|
20
20
|
/** Kernel journal entry kinds. */
|
|
21
|
-
export type JournalKind = 'run.started' | 'step.started' | 'step.completed' | 'step.failed' | 'step.retry-scheduled' | 'step.concurrency-deferred' | 'edge.evaluated' | 'iteration.started' | 'iteration.completed' | 'fanout.dispatched' | 'fanout.branch-completed' | 'fanout.branch-failed' | 'fanout.converged' | 'fanout.cancelled-siblings' | 'subgraph.dispatched' | 'subgraph.completed' | 'subgraph.failed' | 'subgraph.cancelled' | 'run.completed' | 'run.failed' | 'run.cancelled' | 'wait.suspended' | 'wait.resumed' | 'wait.cancelled' | '
|
|
21
|
+
export type JournalKind = 'run.started' | 'step.started' | 'step.completed' | 'step.failed' | 'step.retry-scheduled' | 'step.concurrency-deferred' | 'edge.evaluated' | 'iteration.started' | 'iteration.completed' | 'fanout.dispatched' | 'fanout.branch-completed' | 'fanout.branch-failed' | 'fanout.converged' | 'fanout.cancelled-siblings' | 'subgraph.dispatched' | 'subgraph.completed' | 'subgraph.failed' | 'subgraph.cancelled' | 'run.completed' | 'run.failed' | 'run.cancelled' | 'wait.suspended' | 'wait.resumed' | 'wait.cancelled' | 'value.recorded'
|
|
22
|
+
/** A clock read, as runtimes before `NodeContext.record` journaled it: informational. */
|
|
23
|
+
| 'clock.read';
|
|
24
|
+
/**
|
|
25
|
+
* Journal payload for `value.recorded`: a step's decision
|
|
26
|
+
* (`NodeContext.record`, and `clockNow` through it), read back when the
|
|
27
|
+
* step runs again. `scope` is the step: its node id; a loop-body step's
|
|
28
|
+
* `bodyStepKey`; a fanout branch's `<fanoutNodeId>/<branchId>`.
|
|
29
|
+
* Derivation keys it by `recordedValueKey(scope, key)`.
|
|
30
|
+
*/
|
|
31
|
+
export interface ValueRecordedPayload {
|
|
32
|
+
readonly scope: string;
|
|
33
|
+
readonly key: string;
|
|
34
|
+
readonly value: unknown;
|
|
35
|
+
}
|
|
22
36
|
/**
|
|
23
37
|
* Journal payload for `step.retry-scheduled`. Emitted when a node handler
|
|
24
38
|
* fails but the destination's sole incoming edge carries a `retry` policy
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAoYjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kindgi/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Kindgi™ runtime wire-vocabulary + binding interfaces. Public shape covering: RunStatus / RunResult / RunOptions / JournalEntry / JournalKind and all fanout/subgraph/iteration/step payload types; all kernel error shapes (KernelError, RunNotFoundError, HandlerMissingError, WaitpointError, etc.); run inputs and records (RunFlowInput / ResumeRunInput / StartRunParams, FlowResolver, HandlerResolver, ParentRunRef, KernelRunRecord, ListRunsInput); trigger schemas (Cron/Event/Webhook records + inputs + errors, plus TriggerRegistryBinding + RunFlowBinding + TRIGGER_KINDS); versioning envelope + wrap/unwrap; event-bus channel + KernelEventBusBinding; and the binding interfaces (RunBinding, SchedulerBinding, WaitpointBinding, RunRetentionBinding, umbrella KernelBinding) that deployments plug into `createApp`. Types + pure derivation functions — no runtime state, no dependency on a runtime implementation. The Kindgi runtime implements the bindings.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./dist/index.d.ts",
|
|
21
|
-
"import": "./dist/index.js"
|
|
21
|
+
"import": "./dist/index.js",
|
|
22
|
+
"default": "./dist/index.js"
|
|
22
23
|
}
|
|
23
24
|
},
|
|
24
25
|
"files": [
|
|
@@ -27,13 +28,13 @@
|
|
|
27
28
|
"README.md"
|
|
28
29
|
],
|
|
29
30
|
"dependencies": {
|
|
30
|
-
"@kindgi/authz": "0.1.
|
|
31
|
-
"@kindgi/flow": "0.1.
|
|
32
|
-
"@kindgi/handler": "0.1.
|
|
33
|
-
"@kindgi/types": "0.1.
|
|
31
|
+
"@kindgi/authz": "0.1.2",
|
|
32
|
+
"@kindgi/flow": "0.1.2",
|
|
33
|
+
"@kindgi/handler": "0.1.2",
|
|
34
|
+
"@kindgi/types": "0.1.2"
|
|
34
35
|
},
|
|
35
36
|
"engines": {
|
|
36
|
-
"node": ">=22.
|
|
37
|
+
"node": ">=22.12.0"
|
|
37
38
|
},
|
|
38
39
|
"publishConfig": {
|
|
39
40
|
"access": "public",
|
package/src/derivation.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { HandlerResult, LoopContext } from '@kindgi/handler';
|
|
5
5
|
import type { EdgeId, NodeId } from '@kindgi/types';
|
|
6
6
|
|
|
7
|
-
import type { JournalEntry } from './types.js';
|
|
7
|
+
import type { JournalEntry, ValueRecordedPayload } from './types.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Pure functions that project journal entries into the state shapes the
|
|
@@ -72,6 +72,13 @@ export interface DerivedRunState {
|
|
|
72
72
|
* own completed steps.
|
|
73
73
|
*/
|
|
74
74
|
readonly completedBodySteps: Map<string, CompletedBodyStep>;
|
|
75
|
+
/**
|
|
76
|
+
* Steps' recorded decisions (`NodeContext.record`, `clockNow`), keyed
|
|
77
|
+
* by `recordedValueKey(scope, key)`. Populated from `value.recorded`
|
|
78
|
+
* entries; a step that runs again reads its own back instead of
|
|
79
|
+
* deciding again. The last entry for a key wins.
|
|
80
|
+
*/
|
|
81
|
+
readonly recordedValues: Map<string, unknown>;
|
|
75
82
|
}
|
|
76
83
|
|
|
77
84
|
/** What a loop-body step journaled when it completed. */
|
|
@@ -85,6 +92,11 @@ export function waitResolutionKey(nodeId: NodeId, tokenId: string): string {
|
|
|
85
92
|
return `${nodeId}::${tokenId}`;
|
|
86
93
|
}
|
|
87
94
|
|
|
95
|
+
/** Composite key for `recordedValues` lookups: the step's scope, and the decision's key. */
|
|
96
|
+
export function recordedValueKey(scope: string, key: string): string {
|
|
97
|
+
return `${scope}::${key}`;
|
|
98
|
+
}
|
|
99
|
+
|
|
88
100
|
/** A loop-body step's key in `completedBodySteps`: the node, at its iteration of every enclosing loop. */
|
|
89
101
|
export function bodyStepKey(nodeId: NodeId, loopContext: LoopContext): string {
|
|
90
102
|
return `${nodeId}@${loopContext.path.map((p) => `${p.loopNodeId}#${p.iteration}`).join('/')}`;
|
|
@@ -110,6 +122,7 @@ export function bodyStepKey(nodeId: NodeId, loopContext: LoopContext): string {
|
|
|
110
122
|
* - `step.concurrency-deferred` adds the node to `deferredNodes`.
|
|
111
123
|
* - a `step.completed` with a `loopContext` (a loop-body step) is also
|
|
112
124
|
* recorded in `completedBodySteps`.
|
|
125
|
+
* - `value.recorded` records the value by `recordedValueKey(scope, key)`.
|
|
113
126
|
* - Every other kind is informational (run.started, run.completed, etc.).
|
|
114
127
|
*/
|
|
115
128
|
export function deriveRunState(journal: readonly JournalEntry[]): DerivedRunState {
|
|
@@ -134,6 +147,7 @@ export function createRunState(): DerivedRunState {
|
|
|
134
147
|
waitCancellations: new Map<string, string>(),
|
|
135
148
|
nodeAttempts: new Map<NodeId, number>(),
|
|
136
149
|
completedBodySteps: new Map<string, CompletedBodyStep>(),
|
|
150
|
+
recordedValues: new Map<string, unknown>(),
|
|
137
151
|
};
|
|
138
152
|
}
|
|
139
153
|
|
|
@@ -168,6 +182,7 @@ export function cloneRunState(state: DerivedRunState): DerivedRunState {
|
|
|
168
182
|
waitCancellations: new Map(state.waitCancellations),
|
|
169
183
|
nodeAttempts: new Map(state.nodeAttempts),
|
|
170
184
|
completedBodySteps: new Map(state.completedBodySteps),
|
|
185
|
+
recordedValues: new Map(state.recordedValues),
|
|
171
186
|
};
|
|
172
187
|
}
|
|
173
188
|
|
|
@@ -185,6 +200,7 @@ interface MutableDerivedState {
|
|
|
185
200
|
waitCancellations: Map<string, string>;
|
|
186
201
|
nodeAttempts: Map<NodeId, number>;
|
|
187
202
|
completedBodySteps: Map<string, CompletedBodyStep>;
|
|
203
|
+
recordedValues: Map<string, unknown>;
|
|
188
204
|
}
|
|
189
205
|
|
|
190
206
|
function applyEntry(acc: MutableDerivedState, entry: JournalEntry): void {
|
|
@@ -216,6 +232,9 @@ function applyEntry(acc: MutableDerivedState, entry: JournalEntry): void {
|
|
|
216
232
|
case 'step.concurrency-deferred':
|
|
217
233
|
applyStepConcurrencyDeferred(acc, entry);
|
|
218
234
|
return;
|
|
235
|
+
case 'value.recorded':
|
|
236
|
+
applyValueRecorded(acc, entry);
|
|
237
|
+
return;
|
|
219
238
|
default:
|
|
220
239
|
// iteration.*, fanout.*, subgraph.*, run.*, clock.read: informational.
|
|
221
240
|
// Derivation observes them via their paired step.* entries.
|
|
@@ -338,6 +357,12 @@ function applyWaitCancelled(acc: MutableDerivedState, entry: JournalEntry): void
|
|
|
338
357
|
}
|
|
339
358
|
}
|
|
340
359
|
|
|
360
|
+
function applyValueRecorded(acc: MutableDerivedState, entry: JournalEntry): void {
|
|
361
|
+
const p = entry.payload as Partial<ValueRecordedPayload> | undefined;
|
|
362
|
+
if (p === undefined || typeof p.scope !== 'string' || typeof p.key !== 'string') return;
|
|
363
|
+
acc.recordedValues.set(recordedValueKey(p.scope, p.key), p.value);
|
|
364
|
+
}
|
|
365
|
+
|
|
341
366
|
/**
|
|
342
367
|
* Normalize a raw handler return into a HandlerResult shape. Bare values
|
|
343
368
|
* become `{ output: value }`; already-structured values pass through.
|
package/src/types.ts
CHANGED
|
@@ -49,8 +49,23 @@ export type JournalKind =
|
|
|
49
49
|
| 'wait.suspended'
|
|
50
50
|
| 'wait.resumed'
|
|
51
51
|
| 'wait.cancelled'
|
|
52
|
+
| 'value.recorded'
|
|
53
|
+
/** A clock read, as runtimes before `NodeContext.record` journaled it: informational. */
|
|
52
54
|
| 'clock.read';
|
|
53
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Journal payload for `value.recorded`: a step's decision
|
|
58
|
+
* (`NodeContext.record`, and `clockNow` through it), read back when the
|
|
59
|
+
* step runs again. `scope` is the step: its node id; a loop-body step's
|
|
60
|
+
* `bodyStepKey`; a fanout branch's `<fanoutNodeId>/<branchId>`.
|
|
61
|
+
* Derivation keys it by `recordedValueKey(scope, key)`.
|
|
62
|
+
*/
|
|
63
|
+
export interface ValueRecordedPayload {
|
|
64
|
+
readonly scope: string;
|
|
65
|
+
readonly key: string;
|
|
66
|
+
readonly value: unknown;
|
|
67
|
+
}
|
|
68
|
+
|
|
54
69
|
/**
|
|
55
70
|
* Journal payload for `step.retry-scheduled`. Emitted when a node handler
|
|
56
71
|
* fails but the destination's sole incoming edge carries a `retry` policy
|