@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.
@@ -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 target = transitionResult.state === undefined
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: getExitPaths(machine, state, boundary),
321
- entryPaths: getEntryPaths(machine, stateAfterTransition, boundary)
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
- const error = Cause.findErrorOption(cause);
329
- return Option.isSome(error) && error.value instanceof MachineSchemaDecodeError
330
- ? Effect.fail(error.value)
331
- : Effect.fail(new StartupError({ cause }));
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.map((completed) => {
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
- return isActiveFinalConfiguration(machine, completed.configuration)
337
- ? completed.configuration.outputs.get(root)
338
- : undefined;
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
- const deferredActions = yield* makeDeferredActions;
343
- const deferredRaisedEvents = yield* makeDeferredRaisedEvents;
344
- const inputArgs = machine.input === undefined
345
- ? args
346
- : args.length === 0
347
- ? (yield* decodeInput(machine, machine.input, undefined), args)
348
- : [yield* decodeInput(machine, machine.input, args[0])];
349
- const result = machine.initial(...inputArgs);
350
- const state = Effect.isEffect(result)
351
- ? yield* provideDeferredServices(result, machine, deferredActions, deferredRaisedEvents)
352
- : result;
353
- const configuration = yield* normalizeConfigurationEffect(machine, state);
354
- validateInitialConfiguration(machine, configuration);
355
- const actions = yield* deferredActions.read;
356
- const raisedEvents = yield* deferredRaisedEvents.read;
357
- const emittedEvents = yield* deferredRaisedEvents.readEmitted;
358
- const settled = yield* catchStartup(Effect.gen(function* () {
359
- const entry = yield* collectStateActions(machine, configuration, getInitialEntryPaths(machine, configuration), InitialEvent, "entry");
360
- return yield* settle(machine, configuration, InitialEvent, [...entry.actions], [...raisedEvents, ...entry.raisedEvents], [...emittedEvents, ...entry.emittedEvents], []);
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
- const raisedEvent = yield* decodeEvent(machine, raisedEventValue);
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
- return {
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: snapshot,
734
+ next: snapshotFromConfiguration(machine, completed.configuration),
535
735
  actions: [],
536
736
  emittedEvents: [],
537
737
  microsteps: [],
538
- output: undefined
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
- return {
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":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACpG,OAAO,EAEL,oBAAoB,EACpB,2BAA2B,EAC3B,UAAU,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,cAAc,EACd,UAAU,EACV,QAAQ,EACR,sBAAsB,EACtB,4BAA4B,EAC5B,kCAAkC,EAClC,SAAS,EACT,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAoB1B,MAAM,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGzC,CAAC,gCAAgC,CAAC;CAAG;AAEzC,MAAM,oBAAqB,SAAQ,OAAO,CAAC,OAAO,EAK9C,CAAC,qCAAqC,CAAC;CAAG;AAE9C,MAAM,cAAe,SAAQ,OAAO,CAAC,OAAO,EAAqC,CAC/E,wBAAwB,CACzB;CAAG;AAEJ,MAAM,iBAAiB,GAAG,GAAuC,EAAE,CACjE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;QAC/B,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC,CAAC;KACL,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CACpC,iBAAiB,EAAkB,EACnC,CAAC,KAAK,EAAE,EAAE,CACR,eAAe,CAAC,EAAE,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;CACnC,CAAC,CACL,CAAA;AAED,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,iBAAiB,EAAO,CAAA;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,iBAAiB,EAAO,CAAA;IAC/C,OAAO,CACL,oBAAoB,CAAC,EAAE,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACjC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;KAC1C,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAC9B,MAA8B,EAC9B,OAAoB,EACpB,eAA2C,EAC3C,oBAAqD,EACF,EAAE,CACrD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,EACvD,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EACjE,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAC1F,CAAA;AAEH,MAAM,qBAAqB,GAAG,CAC5B,MAA8B,EAC9B,OAA+B,EACkC,EAAE,CACnE,MAAM,CAAC,cAAc,CACnB,MAAiD,EACjD,cAAc,EACd,OAA4B,CACsC,CAAA;AAEtE,MAAM,mBAAmB,GAAG,CAC1B,OAAoB,EACpB,oBAAqD,EAC7B,EAAE,CAC1B,cAAc,CAAC,EAAE,CAAC;IAChB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC3D;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAClE;CACJ,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAoB,EACpB,KAA2B,EACH,EAAE,CAC1B,cAAc,CAAC,EAAE,CAAC;IAChB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,CAC5D;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CACnD;CACJ,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAA4C,EAC5C,OAA+B,EACqC,EAAE,CACtE,MAAM,CAAC,GAAG,CACR,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvE,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAuB,EACvB,OAA+B,EAC/B,EAAE,CACF,MAAM,CAAC,GAAG,CACR,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACxD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,GAIxB,EAAE,CAAC,OAAO,EAAsD,CAAA;AAqClE,MAAM,wBAAwB,GAAG,CAC/B,UAA8D,EACN,EAAE;IAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,OAAO,UAAU,KAAK,UAAU;QACrC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;QAChC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAA;AACjF,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EACpD,OAAoB,EACpB,OAA4E,EAC5E,OAAgB;IAEhB,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAA;IAClD,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,wBAAwB,CAAA;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAA;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA;IACrD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAA;IAC7D,OAAO;QACL,OAAO,EAAE,OAA8C;QACvD,YAAY,EAAE,YAAoC;QAClD,aAAa;KACd,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAOnD,OAAoB,EACpB,UAAoD,EACpD,OAAgB;IAEhB,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAA;IAClD,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,wBAAwB,CAAA;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,CAAC;QACxF,CAAC,CAAC,MAAM,CAAA;IACV,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAA;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA;IACrD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAA;IAC7D,OAAO;QACL,KAAK;QACL,OAAO,EAAE,OAA8C;QACvD,YAAY,EAAE,YAAoC;QAClD,aAAa;KACd,CAAA;AACH,CAAC,CAAC,CAAA;AAuBF,MAAM,iBAAiB,GAAG,CAAC,OAAoB,EAAE,aAAkC,EAAyB,EAAE,CAC5G,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;KAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IACpB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAClE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACzE,CAAC,CAAC,CAAA;AAEN,MAAM,qBAAqB,GAAG,CAAC,OAAoB,EAAE,IAAY,EAAyB,EAAE,CAC1F,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;AAE7C,MAAM,sBAAsB,GAAG,CAC7B,OAAoB,EACpB,IAAY,EACZ,KAAa,EACO,EAAE;IACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAI,QAAQ,GAAuB,SAAS,CAAA;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAK;QACP,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACnB,OAAoB,EACpB,aAAkC,EAClC,QAA4B,EACL,EAAE,CACzB,aAAa,CACX,OAAO,EACP,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;KAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC9E,CAAA;AAEH,MAAM,aAAa,GAAG,CACpB,OAAoB,EACpB,aAAkC,EAClC,QAA4B,EACL,EAAE,CACzB,cAAc,CACZ,OAAO,EACP,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC5G,CAAA;AAEH,MAAM,kBAAkB,GAAG,CAAC,IAAyB,EAAE,KAA0B,EAAW,EAAE,CAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAE3G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAoB,EAAE,KAAuB,EAAyB,EAAE,CACpG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KACvB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IACpB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAA;IACxF,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAC3F,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAE,KAAuB,EAAyB,EAAE,CACrG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KACvB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IACpB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAA;IACxF,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACzE,CAAC,CAAC,CAAA;AAEN,MAAM,wBAAwB,GAAG,GAE/B,EAAE;IACF,MAAM,aAAa,GAAG,UAAU,EAAiB,CAAA;IACjD,OAAO;QACL,MAAM;QACN,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAM7B,OAAoB,EACpB,aAAkC,EAClC,IAAY,EACZ,KAAqC,EACuB,EAAE,CAAC,CAAC;IAChE,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,CAA+C;IACxF,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAA+C;IACpG,KAAK;IACL,GAAG,wBAAwB,EAAkD;CAC9E,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAO5B,OAA+E,EAC/E,aAAkC,EAClC,IAAY,EACZ,KAA2C,EACiC,EAAE,CAAC,CAAC;IAChF,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,CAA+C;IACxF,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAA+C;IACpG,KAAK;IACL,GAAG,wBAAwB,EAAkD;IAC7E,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAe,CAAC;CACnD,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CAMtB,OAAoB,EACpB,aAAkC,EAClC,IAAY,EACZ,KAAqC,EACrC,MAAe,EACsC,EAAE,CAAC,CAAC;IACzD,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,CAA+C;IACxF,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAA+C;IACpG,KAAK;IACL,MAAM,EAAE,MAA+D;IACvE,GAAG,wBAAwB,EAAkD;IAC7E,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAe,CAAC;CACnD,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAOrD,OAAoB,EACpB,aAAkC,EAClC,KAA4B,EAC5B,KAAqC,EACrC,GAAqB;IAErB,MAAM,OAAO,GAAgC,EAAE,CAAA;IAC/C,MAAM,YAAY,GAAmC,EAAE,CAAA;IACvD,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAMzC,OAAO,EACP,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAC7B,sBAAsB,CACpB,OAAO,EACP,aAAa,EACb,IAAI,EACJ,KAAK,CACN,CACF,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAClC,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;QAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,aAAqD,CAAC,CAAA;IACxF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA;AACjD,CAAC,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAO9B,OAAoB,EACpB,aAAkC,EAClC,KAAqC,EAQrC,EAAE;IACF,MAAM,QAAQ,GAOV,EAAE,CAAA;IACN,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;YAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACzB,QAAQ,CAAC,IAAI,CAAC;wBACZ,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAK/C;wBACD,OAAO,EAAE;4BACP,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,CAGxC;4BACD,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAGpD;4BACD,KAAK;4BACL,GAAG,wBAAwB,EAAkD;4BAC7E,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAuC,CAAC;yBAC3E;qBACF,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAO5B,OAAoB,EACpB,aAAkC,EAClC,KAAqC,EACrC,WAA+E,EAQ/E,EAAE;IACF,MAAM,QAAQ,GAOV,EAAE,CAAA;IACN,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACxD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,UAAU,EAAE,UAAU,CAAC,IAAI;gBAC3B,QAAQ,EAAE,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC;gBACxE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAK/C;gBACD,OAAO,EAAE,eAAe,CACtB,OAAO,EACP,aAAa,EACb,UAAU,CAAC,IAAI,EACf,KAAK,EACL,UAAU,CAAC,MAAM,CAClB;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAO7B,OAAoB,EACpB,aAAkC,EAClC,KAAgE,EAQhE,EAAE;IACF,MAAM,QAAQ,GAeV,EAAE,CAAA;IACN,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACrF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACzB,QAAQ,CAAC,IAAI,CAAC;wBACZ,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,UAaX;wBACD,OAAO,EAAE,qBAAqB,CAM5B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC;qBACvC,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CACxB,MAA0F,EAClF,EAAE;IACV,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;AACjG,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,IAA2B,EAAE,KAA4B,EAAW,EAAE;IACjG,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAO/B,OAAoB,EACpB,WAAwE,EACN,EAAE,CACpE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;KACpB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;AAEhH,MAAM,iCAAiC,GAAG,CAMxC,UAAoE,EACV,EAAE,CAC5D,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,IAAI,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CACpG,CACF,CAAA;AAEH,MAAM,4BAA4B,GAAG,CAOnC,OAAoB,EACpB,WAA6E,EACX,EAAE;IACpE,MAAM,QAAQ,GAA6D,EAAE,CAAA;IAC7E,KAAK,MAAM,UAAU,IAAI,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACxE,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAqD,CAAA;QACxF,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClE,IAAI,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACvC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC3B,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAO5D,OAAoB,EACpB,KAA0B,EAC1B,SAAoD;IAEpD,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAC/C,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,UAAU,EAC/B,SAAS,CAAC,OAAO,CAClB,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,KAAK,SAAS;QACjD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,gBAAgB,CAAC,KAEwC,CAAA;IAC7D,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC/E,MAAM,oBAAoB,GAAG,MAAM,KAAK,SAAS;QAC/C,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,CAAC,CAAC,kCAAkC,CAAS,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7E,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;IAEhG,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,SAAS;YACT,MAAM;YACN,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,YAAY,EAAE,gBAAgB,CAAC,YAAY;YAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;YAC7C,OAAO;YACP,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;SACsC,CAAA;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO;QAC3C,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM;QAC/C,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,UAAW,CAAC,CAAA;IAEjE,OAAO;QACL,SAAS;QACT,MAAM;QACN,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,YAAY,EAAE,gBAAgB,CAAC,YAAY;QAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;QAC7C,OAAO;QACP,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;QACjD,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,CAAC;KACd,CAAA;AACxD,CAAC,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,6BAA6B,CAAC,CAAA;AACtF,MAAM,CAAC,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAA;AAE7E,MAAM,YAAY,GAAG,CACnB,MAA8B,EACgC,EAAE,CAChE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,EAAiE,EAAE;IACjG,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,YAAY,wBAAwB;QAC5E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAiC,CAAC;QACtD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAoB,EACpB,KAA4B,EACnB,EAAE,CAAC,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAKlC,OAAoB,EACpB,KAA+B,EAC/B,KAAqC,EACwB,EAAE,CAC/D,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,EAC7F,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAsB,EAAE;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IAC1D,OAAO,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC;QACjE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAuB;QACjE,CAAC,CAAC,SAAS,CAAA;AACf,CAAC,CAAC,CACH,CAAA;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,CAcrB,OAaC,EACD,KAA+B,EACgC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,WAAW,GA0BpB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAa7B,OAA8G,EAC9G,GAAG,IAAmC;IAEtC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAA;IAClD,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,wBAAwB,CAAA;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACnB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC;YAC/D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAkC,CAAA;IAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC,CAAE,uBAAuB,CAC/B,MAAqE,EACrE,OAAO,EACP,eAAe,EACf,oBAAoB,CAKpB;QACF,CAAC,CAAC,MAAM,CAAA;IACV,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,4BAA4B,CAAS,OAAO,EAAE,KAAK,CAAC,CAAA;IACjF,4BAA4B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAA;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA;IACrD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAA;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,mBAAmB,CACtC,OAAO,EACP,aAAa,EACb,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,EAC5C,YAAY,EACZ,OAAO,CACR,CAAA;QACD,OAAO,KAAK,CAAC,CAAE,MAAM,CACnB,OAAO,EACP,aAAa,EACb,YAAY,EACZ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAqC,EACtD,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,CAAmC,EAC1E,CAAC,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAC1C,EAAE,CAC0F,CAAA;IAChG,CAAC,CAAC,CAIA,CAAA;IAEF,OAAO;QACL,KAAK,EAAE,yBAAyB,CAAS,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QAC/D,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAG,OAAO,CAAC,OAAO;SACqF;QACzG,aAAa,EAAE,OAAO,CAAC,aAAqD;QAC5E,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAcrB,OAaC,EACD,KAA+B,EACe,EAAE;IAChD,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5D,MAAM,IAAI,GAAyC,EAAE,CAAA;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,IAAI,CAAC,IAAI,CAAC,GAAoC,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,SAAS,GAsBX,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAc7B,OAA8G,EAC9G,KAA0B,EAC1B,KAAqC,EACrC,UAAoE;IAEpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,KAAK;YACX,KAAK;YACL,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAA;IACtE,MAAM,oBAAoB,GAA+E,EAAE,CAAA;IAC3G,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,oBAAoB,CAAC,IAAI,CACvB,KAAK,CAAC,CAAC,0BAA0B,CAC/B,OAAO,EACP,KAAK,EACL,SAAS,CACV,CACF,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IAC/E,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACxE,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,oBAAoB,GAAG,KAAK,CAAC,CAAC,kCAAkC,CAC9D,OAAO,EACP,oBAAoB,EACpB,UAAU,CAAC,MAAM,CAClB,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACpE,MAAM,iBAAiB,GAAG,iBAAiB;SACxC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,sBAAsB,GAAG,iBAAiB;SAC7C,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,uBAAuB,GAAG,iBAAiB;SAC9C,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,KAAK;YACL,OAAO,EAAE,iBAAiB;YAC1B,YAAY,EAAE,sBAAsB;YACpC,aAAa,EAAE,uBAAuB;YACtC,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IACzG,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5G,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,mBAAmB,CACrC,OAAO,EACP,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,CACP,CAAA;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,mBAAmB,CACtC,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,KAAK,EACL,OAAO,CACR,CAAA;IAED,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,KAAK;QACL,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,EAAE,GAAG,KAAK,CAAC,OAAO,CAEhE;QACD,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,sBAAsB,EAAE,GAAG,KAAK,CAAC,YAAY,CAEpF;QACD,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,uBAAuB,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1F,SAAS;QACT,UAAU;QACV,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAwBR,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAa7B,OAA8G,EAC9G,KAA0B,EAC1B,KAAqC,EACrC,OAAyC,EACzC,YAA4C,EAC5C,aAA6B,EAC7B,UAAoF;IAEpF,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,eAAe,GAAG,IAAI,CAAA;IAC1B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,IAAI,WAAW,GAAuB,SAAS,CAAA;IAC/C,MAAM,kBAAkB,GAA+D,EAAE,CAAA;IAEzF,OAAO,IAAI,EAAE,CAAC;QACZ,UAAU,IAAI,CAAC,CAAA;QACf,IAAI,UAAU,GAAG,sBAAsB,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,IAAI,uBAAuB,CAAC;gBACxC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACjD,aAAa,EAAE,sBAAsB;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QACzF,YAAY,GAAG,SAAS,CAAC,aAAa,CAAA;QACtC,kBAAkB,CAAC,IAAI,CACrB,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CACzG,CAAA;QACD,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7F,kBAAkB,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QACD,MAAM,IAAI,GAAG,qBAAqB,CAChC,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAG,CAAC,CACrE,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAsE,KAAK,CAAC,CAAC,SAAS,CAClG,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,IAAI,CACL,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YACjC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;YAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC7C,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACzB,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;YAC5B,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAA;YAClC,SAAQ;QACV,CAAC;QACD,IAAI,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YAC/C,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAuB,CAAA;YAClE,MAAK;QACP,CAAC;QAED,MAAM,MAAM,GAAG,eAAe;YAC5B,CAAC,CAAC,uBAAuB,CAA8B,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC;YAC3F,CAAC,CAAC,EAAE,CAAA;QACN,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,UAAU,GAAsE,KAAK,CAAC,CAAC,SAAS,CACpG,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,CACP,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YACnC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;YAC7C,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;YAC/C,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC3B,YAAY,GAAG,UAAU,CAAC,IAAI,CAAA;YAC9B,eAAe,GAAG,UAAU,CAAC,OAAO,CAAA;YACpC,SAAQ;QACV,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAA;QACvD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAK;QACP,CAAC;QACD,gBAAgB,IAAI,CAAC,CAAA;QAErB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAS,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACzE,YAAY,GAAG,WAAW,CAAA;QAC1B,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,OAAO,EACP,YAAY,EACZ,WAAwE,CACzE,CAAA;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,eAAe,GAAG,IAAI,CAAA;YACtB,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,SAAS,CACjC,OAAO,EACP,YAAY,EACZ,WAAW,EACX,gBAAgB,CACjB,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACnC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;QAC7C,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;QAC/C,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3B,YAAY,GAAG,UAAU,CAAC,IAAI,CAAA;QAC9B,eAAe,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO;QACP,aAAa;QACb,UAAU;QACV,MAAM,EAAE,WAAW;KACpB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,SAAS,GAoBX,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAa7B,OAA8G,EAC9G,KAA+B,EAC/B,KAA8B;IAE9B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,4BAA4B,CAAS,OAAO,EAAE,KAAK,CAAC,CAAA;IACjF,MAAM,QAAQ,GAAG,yBAAyB,CAAS,OAAO,EAAE,aAAa,CAAC,CAAA;IAC1E,IAAI,0BAA0B,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QACvD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,SAAS;SAClB,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,WAAW,CAAS,OAAO,EAAE,KAAK,CAAC,CAAA;IAC/D,MAAM,UAAU,GAAG,sBAAsB,CACvC,OAAO,EACP,aAAa,EACb,YAAyE,CAC1E,CAAA;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,SAAS;SAClB,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,SAAS,CAC3B,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,CACX,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;IACjH,OAAO;QACL,IAAI,EAAE,yBAAyB,CAAS,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QAC9D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,yBAAyB,CAAS,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;YAC3D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAA;AAE7B,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC9C,MAAiC;IAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACtC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAAiC,EACoB,EAAE,CACvD,YAAY,CAAC,MAAM,CAAmE,CAAA;AAExF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAIrB,EAAE,CACF,cAIC,CAAA"}
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 | undefined, InitialE | ActionError<InitialR | R> | 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 | InitialE | ActionError<R | InitialR> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError, Output | undefined>, InitialE | ActionError<InitialR | R> | MachineSchemaDecodeError | StartupError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>;
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