@typeonce/effect-machine 0.1.0 → 0.3.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/NOTICE +0 -2
- package/README.md +464 -53
- package/dist/AtomMachine.d.ts +189 -10
- package/dist/AtomMachine.d.ts.map +1 -1
- package/dist/AtomMachine.js +145 -18
- package/dist/AtomMachine.js.map +1 -1
- package/dist/ClusterMachine.d.ts +17 -7
- package/dist/ClusterMachine.d.ts.map +1 -1
- package/dist/ClusterMachine.js +2 -2
- package/dist/ClusterMachine.js.map +1 -1
- package/dist/Machine.d.ts +949 -202
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +245 -82
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machineErrors.d.ts +2 -2
- package/dist/internal/machineErrors.d.ts.map +1 -1
- package/dist/internal/machineModel.d.ts +52 -4
- package/dist/internal/machineModel.d.ts.map +1 -1
- package/dist/internal/machineModel.js +576 -29
- package/dist/internal/machineModel.js.map +1 -1
- package/dist/internal/machinePlanner.d.ts +15 -5
- package/dist/internal/machinePlanner.d.ts.map +1 -1
- package/dist/internal/machinePlanner.js +260 -57
- package/dist/internal/machinePlanner.js.map +1 -1
- package/dist/internal/machineProcess.d.ts +2 -2
- package/dist/internal/machineProcess.d.ts.map +1 -1
- package/dist/internal/machineProcess.js +22 -11
- package/dist/internal/machineProcess.js.map +1 -1
- package/dist/internal/machineRuntime.d.ts +11 -5
- package/dist/internal/machineRuntime.d.ts.map +1 -1
- package/dist/internal/machineRuntime.js +24 -13
- package/dist/internal/machineRuntime.js.map +1 -1
- package/docs/agent-guide.md +680 -0
- package/package.json +20 -22
|
@@ -8,7 +8,7 @@ import * as Context from "effect/Context";
|
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
9
|
import * as Option from "effect/Option";
|
|
10
10
|
import { InfiniteTransitionError, MachineSchemaDecodeError, StartupError } from "./machineErrors.js";
|
|
11
|
-
import { compareDocumentOrder, completeConfigurationEffect, decodeEmit, decodeEvent, decodeInput, getActiveLeafPathFrom, getActiveLeafPaths, getActiveValue, getInitialEntryPaths, getLeafPath, getNode, getParentValues, getPathToRoot, getRootPath, isActiveFinalConfiguration, isDescendantOf, isSnapshot, isTarget, normalizeConfiguration, normalizeConfigurationEffect, normalizeTargetConfigurationEffect, pathDepth, snapshotFromConfiguration, validateInitialConfiguration } from "./machineModel.js";
|
|
11
|
+
import { captureHistory, compareDocumentOrder, completeConfigurationEffect, configurationFromHistoryRecord, decodeEmit, decodeEvent, decodeInput, decodeStateValue, getActiveLeafPathFrom, getActiveLeafPaths, getActiveValue, getHistoryRecord, getInitialEntryPaths, getLeafPath, getNode, getParentValue, getParentValues, getPathToRoot, getRootPath, isActiveFinalConfiguration, isDescendantOf, isHistoryTarget, isPathInSubtree, isSnapshot, isTarget, makeTarget, normalizeConfiguration, normalizeConfigurationEffect, normalizeTargetConfigurationEffect, pathDepth, snapshotFromConfiguration, snapshotFromConfigurationAtPath, validateInitialConfiguration } from "./machineModel.js";
|
|
12
12
|
class DeferredActions extends Context.Service()("effect/Machine/DeferredActions") {
|
|
13
13
|
}
|
|
14
14
|
class DeferredRaisedEvents extends Context.Service()("effect/Machine/DeferredRaisedEvents") {
|
|
@@ -94,6 +94,158 @@ const collectTransition = Effect.fnUntraced(function* (machine, transition, cont
|
|
|
94
94
|
emittedEvents
|
|
95
95
|
};
|
|
96
96
|
});
|
|
97
|
+
const collectStateInitializer = Effect.fnUntraced(function* (machine, handler, context) {
|
|
98
|
+
const deferredActions = yield* makeDeferredActions;
|
|
99
|
+
const deferredRaisedEvents = yield* makeDeferredRaisedEvents;
|
|
100
|
+
const result = handler(context);
|
|
101
|
+
const value = Effect.isEffect(result)
|
|
102
|
+
? yield* provideDeferredServices(result, machine, deferredActions, deferredRaisedEvents)
|
|
103
|
+
: result;
|
|
104
|
+
return {
|
|
105
|
+
value,
|
|
106
|
+
actions: yield* deferredActions.read,
|
|
107
|
+
raisedEvents: yield* deferredRaisedEvents.read,
|
|
108
|
+
emittedEvents: yield* deferredRaisedEvents.readEmitted
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
/** Completes the intentionally partial configuration held by shallow history.
|
|
112
|
+
* Only a compound node with no remembered child invokes an initializer; deep
|
|
113
|
+
* history never reaches this path. */
|
|
114
|
+
const completeHistoryConfiguration = Effect.fnUntraced(function* (machine, configuration, event) {
|
|
115
|
+
const active = new Set(configuration.active);
|
|
116
|
+
const values = new Map(configuration.values);
|
|
117
|
+
const actions = [];
|
|
118
|
+
const raisedEvents = [];
|
|
119
|
+
const emittedEvents = [];
|
|
120
|
+
let changed = true;
|
|
121
|
+
while (changed) {
|
|
122
|
+
changed = false;
|
|
123
|
+
for (const path of Array.from(active).sort((left, right) => compareDocumentOrder(machine, left, right))) {
|
|
124
|
+
const node = getNode(machine, path);
|
|
125
|
+
if (node.type === "compound" && !node.children.some((child) => active.has(child))) {
|
|
126
|
+
if (node.initial === undefined) {
|
|
127
|
+
throw new Error(`Machine shallow history expected compound state "${path}" to have an initial child`);
|
|
128
|
+
}
|
|
129
|
+
const initializer = machine.handlers[path]?.initial;
|
|
130
|
+
if (initializer === undefined) {
|
|
131
|
+
throw new Error(`Machine shallow history requires an initial value implementation for state "${path}"`);
|
|
132
|
+
}
|
|
133
|
+
const current = {
|
|
134
|
+
active,
|
|
135
|
+
values,
|
|
136
|
+
outputs: configuration.outputs,
|
|
137
|
+
history: configuration.history
|
|
138
|
+
};
|
|
139
|
+
const initialized = yield* collectStateInitializer(machine, initializer, {
|
|
140
|
+
state: getActiveValue(current, path),
|
|
141
|
+
parent: getParentValue(machine, current, path),
|
|
142
|
+
parents: getParentValues(machine, current, path),
|
|
143
|
+
event,
|
|
144
|
+
...makePlanningCapabilities()
|
|
145
|
+
});
|
|
146
|
+
const child = getNode(machine, node.initial);
|
|
147
|
+
active.add(child.path);
|
|
148
|
+
values.set(child.path, yield* decodeStateValue(machine, child, initialized.value));
|
|
149
|
+
actions.push(...initialized.actions);
|
|
150
|
+
raisedEvents.push(...initialized.raisedEvents);
|
|
151
|
+
emittedEvents.push(...initialized.emittedEvents);
|
|
152
|
+
changed = true;
|
|
153
|
+
}
|
|
154
|
+
if (node.type === "parallel") {
|
|
155
|
+
const missing = node.children.filter((childPath) => !active.has(childPath));
|
|
156
|
+
if (missing.length > 0) {
|
|
157
|
+
const initializer = machine.handlers[path]?.initial;
|
|
158
|
+
if (initializer === undefined) {
|
|
159
|
+
throw new Error(`Machine shallow history requires an initial value implementation for state "${path}"`);
|
|
160
|
+
}
|
|
161
|
+
const current = {
|
|
162
|
+
active,
|
|
163
|
+
values,
|
|
164
|
+
outputs: configuration.outputs,
|
|
165
|
+
history: configuration.history
|
|
166
|
+
};
|
|
167
|
+
const initialized = yield* collectStateInitializer(machine, initializer, {
|
|
168
|
+
state: getActiveValue(current, path),
|
|
169
|
+
parent: getParentValue(machine, current, path),
|
|
170
|
+
parents: getParentValues(machine, current, path),
|
|
171
|
+
event,
|
|
172
|
+
...makePlanningCapabilities()
|
|
173
|
+
});
|
|
174
|
+
if (typeof initialized.value !== "object" || initialized.value === null) {
|
|
175
|
+
throw new Error(`Machine parallel state initializer for "${path}" must return its region values`);
|
|
176
|
+
}
|
|
177
|
+
for (const childPath of missing) {
|
|
178
|
+
const child = getNode(machine, childPath);
|
|
179
|
+
if (!Object.prototype.hasOwnProperty.call(initialized.value, child.key)) {
|
|
180
|
+
throw new Error(`Machine parallel state initializer for "${path}" must return region "${child.key}"`);
|
|
181
|
+
}
|
|
182
|
+
active.add(child.path);
|
|
183
|
+
values.set(child.path, yield* decodeStateValue(machine, child, initialized.value[child.key]));
|
|
184
|
+
}
|
|
185
|
+
actions.push(...initialized.actions);
|
|
186
|
+
raisedEvents.push(...initialized.raisedEvents);
|
|
187
|
+
emittedEvents.push(...initialized.emittedEvents);
|
|
188
|
+
changed = true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
configuration: {
|
|
195
|
+
active,
|
|
196
|
+
values,
|
|
197
|
+
outputs: new Map(),
|
|
198
|
+
history: configuration.history
|
|
199
|
+
},
|
|
200
|
+
actions,
|
|
201
|
+
raisedEvents,
|
|
202
|
+
emittedEvents
|
|
203
|
+
};
|
|
204
|
+
});
|
|
205
|
+
const resolveHistoryTarget = Effect.fnUntraced(function* (machine, configuration, target, event) {
|
|
206
|
+
const node = getNode(machine, target.path);
|
|
207
|
+
if (node.type !== "history" || node.parent !== target.parent) {
|
|
208
|
+
throw new Error(`Machine expected history target "${target.path}" to resolve to its declared parent`);
|
|
209
|
+
}
|
|
210
|
+
const record = getHistoryRecord(configuration, target.path);
|
|
211
|
+
if (record !== undefined) {
|
|
212
|
+
const restored = configurationFromHistoryRecord(machine, configuration, record);
|
|
213
|
+
// Deep records are already complete below the history parent. This pass is
|
|
214
|
+
// still required for parallel ancestors outside that parent whose other
|
|
215
|
+
// regions must be initialized when the ancestor is re-entered.
|
|
216
|
+
const completed = yield* completeHistoryConfiguration(machine, restored, event);
|
|
217
|
+
const snapshot = snapshotFromConfigurationAtPath(machine, completed.configuration, target.parent);
|
|
218
|
+
return {
|
|
219
|
+
target: makeTarget(target.parent, snapshot.value, { snapshot: snapshot }),
|
|
220
|
+
actions: completed.actions,
|
|
221
|
+
raisedEvents: completed.raisedEvents,
|
|
222
|
+
emittedEvents: completed.emittedEvents
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
const key = node.key;
|
|
226
|
+
const fallback = machine.handlers[target.parent]?.history?.[key]?.default;
|
|
227
|
+
if (fallback === undefined) {
|
|
228
|
+
throw new Error(`Machine history state "${target.path}" requires a default implementation`);
|
|
229
|
+
}
|
|
230
|
+
const collected = yield* collectTransition(machine, fallback, {
|
|
231
|
+
event,
|
|
232
|
+
...makePlanningCapabilities(),
|
|
233
|
+
target: machine.makeTargetBuilder(target.parent).full,
|
|
234
|
+
parent: target.parent
|
|
235
|
+
});
|
|
236
|
+
if (collected.state === undefined || isHistoryTarget(collected.state) || !isSnapshot(collected.state)) {
|
|
237
|
+
throw new Error(`Machine history default for "${target.path}" must return a concrete parent snapshot`);
|
|
238
|
+
}
|
|
239
|
+
if (String(collected.state.path) !== target.parent) {
|
|
240
|
+
throw new Error(`Machine history default for "${target.path}" must return state "${target.parent}"`);
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
target: makeTarget(target.parent, collected.state.value, { snapshot: collected.state }),
|
|
244
|
+
actions: collected.actions,
|
|
245
|
+
raisedEvents: collected.raisedEvents,
|
|
246
|
+
emittedEvents: collected.emittedEvents
|
|
247
|
+
};
|
|
248
|
+
});
|
|
97
249
|
const getCandidatePaths = (machine, configuration) => Array.from(configuration.active)
|
|
98
250
|
.sort((left, right) => {
|
|
99
251
|
const depth = pathDepth(machine, right) - pathDepth(machine, left);
|
|
@@ -130,7 +282,6 @@ export const sortEntryPaths = (machine, paths) => Array.from(new Set(paths))
|
|
|
130
282
|
const makePlanningCapabilities = () => {
|
|
131
283
|
const runtimeEffect = runtimeFor();
|
|
132
284
|
return {
|
|
133
|
-
action,
|
|
134
285
|
runtime: runtimeEffect,
|
|
135
286
|
raise: (event) => Effect.flatMap(runtimeEffect, (runtime) => runtime.raise(event)),
|
|
136
287
|
emit: (event) => Effect.flatMap(runtimeEffect, (runtime) => runtime.sendParent(event))
|
|
@@ -138,12 +289,14 @@ const makePlanningCapabilities = () => {
|
|
|
138
289
|
};
|
|
139
290
|
const makeStateActionContext = (machine, configuration, path, event) => ({
|
|
140
291
|
state: getActiveValue(configuration, path),
|
|
292
|
+
parent: getParentValue(machine, configuration, path),
|
|
141
293
|
parents: getParentValues(machine, configuration, path),
|
|
142
294
|
event,
|
|
143
295
|
...makePlanningCapabilities()
|
|
144
296
|
});
|
|
145
297
|
const makeTransitionContext = (machine, configuration, path, event) => ({
|
|
146
298
|
state: getActiveValue(configuration, path),
|
|
299
|
+
parent: getParentValue(machine, configuration, path),
|
|
147
300
|
parents: getParentValues(machine, configuration, path),
|
|
148
301
|
event,
|
|
149
302
|
...makePlanningCapabilities(),
|
|
@@ -151,6 +304,7 @@ const makeTransitionContext = (machine, configuration, path, event) => ({
|
|
|
151
304
|
});
|
|
152
305
|
const makeDoneContext = (machine, configuration, path, event, output) => ({
|
|
153
306
|
state: getActiveValue(configuration, path),
|
|
307
|
+
parent: getParentValue(machine, configuration, path),
|
|
154
308
|
parents: getParentValues(machine, configuration, path),
|
|
155
309
|
event,
|
|
156
310
|
output: output,
|
|
@@ -184,6 +338,7 @@ const selectAlwaysTransitions = (machine, configuration, event) => {
|
|
|
184
338
|
transition: { reenter: false, transition: always },
|
|
185
339
|
context: {
|
|
186
340
|
state: getActiveValue(configuration, path),
|
|
341
|
+
parent: getParentValue(machine, configuration, path),
|
|
187
342
|
parents: getParentValues(machine, configuration, path),
|
|
188
343
|
event,
|
|
189
344
|
...makePlanningCapabilities(),
|
|
@@ -287,9 +442,28 @@ const removeConflictingTransitions = (machine, transitions) => {
|
|
|
287
442
|
const collectEvaluatedTransition = Effect.fnUntraced(function* (machine, state, selection) {
|
|
288
443
|
const stateIdentifier = selection.leafPath;
|
|
289
444
|
const transitionResult = yield* collectTransition(machine, selection.transition.transition, selection.context);
|
|
290
|
-
const
|
|
445
|
+
const unresolvedTarget = transitionResult.state === undefined
|
|
291
446
|
? undefined
|
|
292
447
|
: transitionResult.state;
|
|
448
|
+
let historyResolution;
|
|
449
|
+
const reenteredHistoryParent = unresolvedTarget !== undefined && isHistoryTarget(unresolvedTarget) &&
|
|
450
|
+
selection.transition.reenter && state.active.has(unresolvedTarget.parent);
|
|
451
|
+
if (unresolvedTarget !== undefined && isHistoryTarget(unresolvedTarget)) {
|
|
452
|
+
// A reentering transition may exit the history node's own parent. SCXML
|
|
453
|
+
// history observes that same exit, so resolve against a provisional
|
|
454
|
+
// capture rather than an older record (or the default).
|
|
455
|
+
const provisionalBoundary = selection.transition.reenter
|
|
456
|
+
? getNode(machine, selection.sourcePath).parent
|
|
457
|
+
: getLeastCommonAncestor(machine, stateIdentifier, unresolvedTarget.parent);
|
|
458
|
+
const provisionalExitPaths = reenteredHistoryParent
|
|
459
|
+
? sortExitPaths(machine, Array.from(state.active).filter((path) => isPathInSubtree(path, unresolvedTarget.parent)))
|
|
460
|
+
: getExitPaths(machine, state, provisionalBoundary);
|
|
461
|
+
const stateAtHistoryResolution = provisionalExitPaths.includes(unresolvedTarget.parent)
|
|
462
|
+
? captureHistory(machine, state, state, provisionalExitPaths)
|
|
463
|
+
: state;
|
|
464
|
+
historyResolution = yield* resolveHistoryTarget(machine, stateAtHistoryResolution, unresolvedTarget, selection.context.event);
|
|
465
|
+
}
|
|
466
|
+
const target = historyResolution === undefined ? unresolvedTarget : historyResolution.target;
|
|
293
467
|
const targetPath = target === undefined ? undefined : getTargetNodePath(target);
|
|
294
468
|
const stateAfterTransition = target === undefined
|
|
295
469
|
? state
|
|
@@ -299,9 +473,9 @@ const collectEvaluatedTransition = Effect.fnUntraced(function* (machine, state,
|
|
|
299
473
|
return {
|
|
300
474
|
selection,
|
|
301
475
|
target,
|
|
302
|
-
actions: transitionResult.actions,
|
|
303
|
-
raisedEvents: transitionResult.raisedEvents,
|
|
304
|
-
emittedEvents: transitionResult.emittedEvents,
|
|
476
|
+
actions: [...transitionResult.actions, ...(historyResolution?.actions ?? [])],
|
|
477
|
+
raisedEvents: [...transitionResult.raisedEvents, ...(historyResolution?.raisedEvents ?? [])],
|
|
478
|
+
emittedEvents: [...transitionResult.emittedEvents, ...(historyResolution?.emittedEvents ?? [])],
|
|
305
479
|
changed,
|
|
306
480
|
exitPaths: [],
|
|
307
481
|
entryPaths: []
|
|
@@ -313,61 +487,71 @@ const collectEvaluatedTransition = Effect.fnUntraced(function* (machine, state,
|
|
|
313
487
|
return {
|
|
314
488
|
selection,
|
|
315
489
|
target,
|
|
316
|
-
actions: transitionResult.actions,
|
|
317
|
-
raisedEvents: transitionResult.raisedEvents,
|
|
318
|
-
emittedEvents: transitionResult.emittedEvents,
|
|
490
|
+
actions: [...transitionResult.actions, ...(historyResolution?.actions ?? [])],
|
|
491
|
+
raisedEvents: [...transitionResult.raisedEvents, ...(historyResolution?.raisedEvents ?? [])],
|
|
492
|
+
emittedEvents: [...transitionResult.emittedEvents, ...(historyResolution?.emittedEvents ?? [])],
|
|
319
493
|
changed,
|
|
320
|
-
exitPaths:
|
|
321
|
-
|
|
494
|
+
exitPaths: reenteredHistoryParent
|
|
495
|
+
? sortExitPaths(machine, Array.from(state.active).filter((path) => isPathInSubtree(path, unresolvedTarget.parent)))
|
|
496
|
+
: getExitPaths(machine, state, boundary),
|
|
497
|
+
entryPaths: reenteredHistoryParent
|
|
498
|
+
? sortEntryPaths(machine, Array.from(stateAfterTransition.active).filter((path) => isPathInSubtree(path, unresolvedTarget.parent)))
|
|
499
|
+
: getEntryPaths(machine, stateAfterTransition, boundary)
|
|
322
500
|
};
|
|
323
501
|
});
|
|
324
502
|
const MaxMacrostepIterations = 1000;
|
|
325
503
|
export const InitialEventTypeId = Symbol("effect/Machine/InitialEvent");
|
|
326
504
|
export const InitialEvent = { _tag: InitialEventTypeId };
|
|
327
505
|
const catchStartup = (effect) => Effect.catchCause(effect, (cause) => {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
506
|
+
if (Cause.hasDies(cause)) {
|
|
507
|
+
return Effect.fail(new StartupError({ cause }));
|
|
508
|
+
}
|
|
509
|
+
return Effect.failCause(cause);
|
|
332
510
|
});
|
|
333
511
|
export const isFinalState = (machine, state) => isActiveFinalConfiguration(machine, normalizeConfiguration(machine, state));
|
|
334
|
-
export const getFinalOutputEffect = (machine, state, event) => normalizeConfigurationEffect(machine, state).pipe(Effect.flatMap((configuration) => completeConfigurationEffect(machine, configuration, event)), Effect.
|
|
512
|
+
export const getFinalOutputEffect = (machine, state, event) => normalizeConfigurationEffect(machine, state).pipe(Effect.flatMap((configuration) => completeConfigurationEffect(machine, configuration, event)), Effect.flatMap((completed) => {
|
|
335
513
|
const root = getRootPath(machine, completed.configuration);
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
514
|
+
if (!isActiveFinalConfiguration(machine, completed.configuration)
|
|
515
|
+
|| !completed.configuration.outputs.has(root)) {
|
|
516
|
+
return Effect.die(new Error("Machine attempted to read terminal output from a non-terminal configuration"));
|
|
517
|
+
}
|
|
518
|
+
return Effect.succeed(completed.configuration.outputs.get(root));
|
|
339
519
|
}));
|
|
340
520
|
export const isFinal = (machine, state) => isFinalState(machine, state);
|
|
341
521
|
export const planInitial = Effect.fnUntraced(function* (machine, ...args) {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
const
|
|
360
|
-
|
|
522
|
+
return yield* catchStartup(Effect.gen(function* () {
|
|
523
|
+
const deferredActions = yield* makeDeferredActions;
|
|
524
|
+
const deferredRaisedEvents = yield* makeDeferredRaisedEvents;
|
|
525
|
+
const inputArgs = machine.input === undefined
|
|
526
|
+
? args
|
|
527
|
+
: args.length === 0
|
|
528
|
+
? (yield* decodeInput(machine, machine.input, undefined), args)
|
|
529
|
+
: [yield* decodeInput(machine, machine.input, args[0])];
|
|
530
|
+
const result = machine.initial(...inputArgs);
|
|
531
|
+
const state = Effect.isEffect(result)
|
|
532
|
+
? yield* provideDeferredServices(result, machine, deferredActions, deferredRaisedEvents)
|
|
533
|
+
: result;
|
|
534
|
+
const configuration = yield* normalizeConfigurationEffect(machine, state);
|
|
535
|
+
validateInitialConfiguration(machine, configuration);
|
|
536
|
+
const actions = yield* deferredActions.read;
|
|
537
|
+
const raisedEvents = yield* deferredRaisedEvents.read;
|
|
538
|
+
const emittedEvents = yield* deferredRaisedEvents.readEmitted;
|
|
539
|
+
const settled = yield* Effect.gen(function* () {
|
|
540
|
+
const entry = yield* collectStateActions(machine, configuration, getInitialEntryPaths(machine, configuration), InitialEvent, "entry");
|
|
541
|
+
return yield* settle(machine, configuration, InitialEvent, [...entry.actions], [...raisedEvents, ...entry.raisedEvents], [...emittedEvents, ...entry.emittedEvents], []);
|
|
542
|
+
});
|
|
543
|
+
const planned = {
|
|
544
|
+
state: snapshotFromConfiguration(machine, settled.next),
|
|
545
|
+
actions: [
|
|
546
|
+
...actions,
|
|
547
|
+
...settled.actions
|
|
548
|
+
],
|
|
549
|
+
emittedEvents: settled.emittedEvents
|
|
550
|
+
};
|
|
551
|
+
return settled.done
|
|
552
|
+
? { ...planned, done: true, output: settled.output }
|
|
553
|
+
: { ...planned, done: false, output: undefined };
|
|
361
554
|
}));
|
|
362
|
-
return {
|
|
363
|
-
state: snapshotFromConfiguration(machine, settled.next),
|
|
364
|
-
actions: [
|
|
365
|
-
...actions,
|
|
366
|
-
...settled.actions
|
|
367
|
-
],
|
|
368
|
-
emittedEvents: settled.emittedEvents,
|
|
369
|
-
output: settled.output
|
|
370
|
-
};
|
|
371
555
|
});
|
|
372
556
|
export const enabled = (machine, state) => {
|
|
373
557
|
if (isFinalState(machine, state)) {
|
|
@@ -433,6 +617,7 @@ const microstep = Effect.fnUntraced(function* (machine, state, event, selections
|
|
|
433
617
|
}
|
|
434
618
|
const exitPaths = sortExitPaths(machine, sortedTransitions.flatMap((transition) => transition.exitPaths));
|
|
435
619
|
const entryPaths = sortEntryPaths(machine, sortedTransitions.flatMap((transition) => transition.entryPaths));
|
|
620
|
+
stateAfterTransition = captureHistory(machine, state, stateAfterTransition, exitPaths);
|
|
436
621
|
const exit = yield* collectStateActions(machine, state, exitPaths, event, "exit");
|
|
437
622
|
const entry = yield* collectStateActions(machine, stateAfterTransition, entryPaths, event, "entry");
|
|
438
623
|
return {
|
|
@@ -452,6 +637,7 @@ const settle = Effect.fnUntraced(function* (machine, state, event, actions, rais
|
|
|
452
637
|
let shouldRunAlways = true;
|
|
453
638
|
let iterations = 0;
|
|
454
639
|
let raisedEventIndex = 0;
|
|
640
|
+
let completedTerminal = false;
|
|
455
641
|
let finalOutput = undefined;
|
|
456
642
|
const pendingCompletions = [];
|
|
457
643
|
while (true) {
|
|
@@ -482,6 +668,10 @@ const settle = Effect.fnUntraced(function* (machine, state, event, actions, rais
|
|
|
482
668
|
}
|
|
483
669
|
if (isActiveFinalConfiguration(machine, currentState)) {
|
|
484
670
|
const root = getRootPath(machine, currentState);
|
|
671
|
+
if (!currentState.outputs.has(root)) {
|
|
672
|
+
return yield* Effect.die(new Error("Machine reached a terminal configuration without a completed root output"));
|
|
673
|
+
}
|
|
674
|
+
completedTerminal = true;
|
|
485
675
|
finalOutput = currentState.outputs.get(root);
|
|
486
676
|
break;
|
|
487
677
|
}
|
|
@@ -503,7 +693,9 @@ const settle = Effect.fnUntraced(function* (machine, state, event, actions, rais
|
|
|
503
693
|
break;
|
|
504
694
|
}
|
|
505
695
|
raisedEventIndex += 1;
|
|
506
|
-
|
|
696
|
+
// Planning runtime validates and normalizes every event before it enters this
|
|
697
|
+
// internal queue, so decoding it again here only repeats schema work.
|
|
698
|
+
const raisedEvent = raisedEventValue;
|
|
507
699
|
currentEvent = raisedEvent;
|
|
508
700
|
const raisedSelections = selectEventTransitions(machine, currentState, raisedEvent);
|
|
509
701
|
if (raisedSelections.length === 0) {
|
|
@@ -518,27 +710,35 @@ const settle = Effect.fnUntraced(function* (machine, state, event, actions, rais
|
|
|
518
710
|
currentState = raisedStep.next;
|
|
519
711
|
shouldRunAlways = true;
|
|
520
712
|
}
|
|
521
|
-
|
|
713
|
+
const result = {
|
|
522
714
|
next: currentState,
|
|
523
715
|
actions,
|
|
524
716
|
emittedEvents,
|
|
525
|
-
microsteps
|
|
526
|
-
output: finalOutput
|
|
717
|
+
microsteps
|
|
527
718
|
};
|
|
719
|
+
return completedTerminal
|
|
720
|
+
? { ...result, done: true, output: finalOutput }
|
|
721
|
+
: { ...result, done: false, output: undefined };
|
|
528
722
|
});
|
|
529
723
|
const macrostep = Effect.fnUntraced(function* (machine, state, event) {
|
|
530
724
|
const configuration = yield* normalizeConfigurationEffect(machine, state);
|
|
531
725
|
const snapshot = snapshotFromConfiguration(machine, configuration);
|
|
726
|
+
const decodedEvent = yield* decodeEvent(machine, event);
|
|
532
727
|
if (isActiveFinalConfiguration(machine, configuration)) {
|
|
728
|
+
const completed = yield* completeConfigurationEffect(machine, configuration, decodedEvent);
|
|
729
|
+
const root = getRootPath(machine, completed.configuration);
|
|
730
|
+
if (!completed.configuration.outputs.has(root)) {
|
|
731
|
+
return yield* Effect.die(new Error("Machine reached a terminal configuration without a completed root output"));
|
|
732
|
+
}
|
|
533
733
|
return {
|
|
534
|
-
next:
|
|
734
|
+
next: snapshotFromConfiguration(machine, completed.configuration),
|
|
535
735
|
actions: [],
|
|
536
736
|
emittedEvents: [],
|
|
537
737
|
microsteps: [],
|
|
538
|
-
|
|
738
|
+
done: true,
|
|
739
|
+
output: completed.configuration.outputs.get(root)
|
|
539
740
|
};
|
|
540
741
|
}
|
|
541
|
-
const decodedEvent = yield* decodeEvent(machine, event);
|
|
542
742
|
const selections = selectEventTransitions(machine, configuration, decodedEvent);
|
|
543
743
|
if (selections.length === 0) {
|
|
544
744
|
return {
|
|
@@ -546,6 +746,7 @@ const macrostep = Effect.fnUntraced(function* (machine, state, event) {
|
|
|
546
746
|
actions: [],
|
|
547
747
|
emittedEvents: [],
|
|
548
748
|
microsteps: [],
|
|
749
|
+
done: false,
|
|
549
750
|
output: undefined
|
|
550
751
|
};
|
|
551
752
|
}
|
|
@@ -555,7 +756,7 @@ const macrostep = Effect.fnUntraced(function* (machine, state, event) {
|
|
|
555
756
|
const emittedEvents = [...step.emittedEvents];
|
|
556
757
|
const microsteps = [step];
|
|
557
758
|
const settled = yield* settle(machine, step.next, decodedEvent, actions, raisedEvents, emittedEvents, microsteps);
|
|
558
|
-
|
|
759
|
+
const planned = {
|
|
559
760
|
next: snapshotFromConfiguration(machine, settled.next),
|
|
560
761
|
actions: settled.actions,
|
|
561
762
|
emittedEvents: settled.emittedEvents,
|
|
@@ -568,9 +769,11 @@ const macrostep = Effect.fnUntraced(function* (machine, state, event) {
|
|
|
568
769
|
exitPaths: step.exitPaths,
|
|
569
770
|
entryPaths: step.entryPaths,
|
|
570
771
|
changed: step.changed
|
|
571
|
-
}))
|
|
572
|
-
output: settled.output
|
|
772
|
+
}))
|
|
573
773
|
};
|
|
774
|
+
return settled.done
|
|
775
|
+
? { ...planned, done: true, output: settled.output }
|
|
776
|
+
: { ...planned, done: false, output: undefined };
|
|
574
777
|
});
|
|
575
778
|
export const plan = macrostep;
|
|
576
779
|
const actionUnsafe = Effect.fnUntraced(function* (effect) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machinePlanner.js","sourceRoot":"","sources":["../../src/internal/machinePlanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"machinePlanner.js","sourceRoot":"","sources":["../../src/internal/machinePlanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import type { InfiniteTransitionError, MachineSchemaDecodeError, StartupError, S
|
|
|
10
10
|
import * as internalRuntime from "./machineRuntime.js";
|
|
11
11
|
type IsAny<A> = 0 extends (1 & A) ? true : false;
|
|
12
12
|
type ExcludeCompatibleRuntime<Requirements, Events, Emits> = Requirements extends Runtime.Requirement<infer RequiredEvents, infer RequiredEmits> ? IsAny<Requirements> extends true ? Requirements : [RequiredEvents] extends [Events] ? [RequiredEmits] extends [Emits] ? never : Requirements : Requirements : Requirements;
|
|
13
|
-
export declare const toProcessLogic: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => internalRuntime.ProcessLogic<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>, Output
|
|
14
|
-
export declare const start: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => Effect.Effect<internalRuntime.MachineRef<Machine.Snapshot<States>, Machine.EventOf<Events>, E |
|
|
13
|
+
export declare const toProcessLogic: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => internalRuntime.ProcessLogic<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>, Output, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError>;
|
|
14
|
+
export declare const start: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => Effect.Effect<internalRuntime.MachineRef<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, Output>, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>;
|
|
15
15
|
export {};
|
|
16
16
|
//# sourceMappingURL=machineProcess.d.ts.map
|