@typeonce/effect-machine 0.13.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +74 -26
  2. package/dist/Machine.d.ts +379 -188
  3. package/dist/Machine.d.ts.map +1 -1
  4. package/dist/Machine.js +119 -53
  5. package/dist/Machine.js.map +1 -1
  6. package/dist/internal/machine/executionPlan.d.ts.map +1 -1
  7. package/dist/internal/machine/executionPlan.js +14 -6
  8. package/dist/internal/machine/executionPlan.js.map +1 -1
  9. package/dist/internal/machine/machine.d.ts +3 -1
  10. package/dist/internal/machine/machine.d.ts.map +1 -1
  11. package/dist/internal/machine/machine.js +318 -26
  12. package/dist/internal/machine/machine.js.map +1 -1
  13. package/dist/internal/machine/planner.d.ts +13 -0
  14. package/dist/internal/machine/planner.d.ts.map +1 -1
  15. package/dist/internal/machine/planner.js +15 -7
  16. package/dist/internal/machine/planner.js.map +1 -1
  17. package/dist/internal/machine/topology.d.ts +12 -0
  18. package/dist/internal/machine/topology.d.ts.map +1 -1
  19. package/dist/internal/machine/topology.js +17 -10
  20. package/dist/internal/machine/topology.js.map +1 -1
  21. package/dist/internal/testing/machine/exploration.d.ts.map +1 -1
  22. package/dist/internal/testing/machine/exploration.js +11 -2
  23. package/dist/internal/testing/machine/exploration.js.map +1 -1
  24. package/dist/internal/testing/machine/finiteModel.d.ts.map +1 -1
  25. package/dist/internal/testing/machine/finiteModel.js +72 -66
  26. package/dist/internal/testing/machine/finiteModel.js.map +1 -1
  27. package/dist/internal/testing/machine/transitionCoverage.d.ts +20 -0
  28. package/dist/internal/testing/machine/transitionCoverage.d.ts.map +1 -0
  29. package/dist/internal/testing/machine/transitionCoverage.js +80 -0
  30. package/dist/internal/testing/machine/transitionCoverage.js.map +1 -0
  31. package/dist/internal/testing/machine/verification.d.ts.map +1 -1
  32. package/dist/internal/testing/machine/verification.js +171 -33
  33. package/dist/internal/testing/machine/verification.js.map +1 -1
  34. package/dist/testing/MachineTest.d.ts +97 -22
  35. package/dist/testing/MachineTest.d.ts.map +1 -1
  36. package/dist/testing/MachineTest.js +58 -16
  37. package/dist/testing/MachineTest.js.map +1 -1
  38. package/dist/unstable/cluster/ClusterMachine.d.ts +4 -1
  39. package/dist/unstable/cluster/ClusterMachine.d.ts.map +1 -1
  40. package/dist/unstable/cluster/ClusterMachine.js +4 -1
  41. package/dist/unstable/cluster/ClusterMachine.js.map +1 -1
  42. package/dist/unstable/reactivity/AtomMachine.d.ts +12 -3
  43. package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
  44. package/dist/unstable/reactivity/AtomMachine.js +12 -3
  45. package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
  46. package/docs/agent-guide.md +139 -57
  47. package/package.json +1 -1
  48. package/src/Machine.ts +750 -336
  49. package/src/internal/machine/executionPlan.ts +22 -7
  50. package/src/internal/machine/machine.ts +420 -33
  51. package/src/internal/machine/planner.ts +44 -13
  52. package/src/internal/machine/topology.ts +38 -12
  53. package/src/internal/testing/machine/exploration.ts +10 -2
  54. package/src/internal/testing/machine/finiteModel.ts +106 -73
  55. package/src/internal/testing/machine/transitionCoverage.ts +116 -0
  56. package/src/internal/testing/machine/verification.ts +216 -58
  57. package/src/testing/MachineTest.ts +118 -28
  58. package/src/unstable/cluster/ClusterMachine.ts +4 -1
  59. package/src/unstable/reactivity/AtomMachine.ts +12 -3
package/dist/Machine.js CHANGED
@@ -96,6 +96,7 @@ StoppedError } from "./internal/machine/machine.js";
96
96
  const RuntimeRequirementTypeId = "~effect/Machine/RuntimeRequirement";
97
97
  const ActionRequirementTypeId = "~effect/Machine/ActionRequirement";
98
98
  const InvokeTypeId = internal.InvokeTypeId;
99
+ const TransitionTypeId = internal.TransitionTypeId;
99
100
  const SnapshotBuilderStateTypeId = internal.SnapshotBuilderStateTypeId;
100
101
  const SnapshotBuilderConstructionTypeId = Symbol("effect/Machine/SnapshotBuilderConstruction");
101
102
  const ChildAddressTypeId = "~effect/Machine/ChildAddress";
@@ -121,15 +122,15 @@ export const isFinal = internal.isFinal;
121
122
  * **When to use**
122
123
  *
123
124
  * Use when you want to pass a state tree to `make` and also get typed
124
- * snapshot builders for initial states and tests.
125
+ * snapshot matching and access helpers.
125
126
  *
126
127
  * **Details**
127
128
  *
128
129
  * The returned `states` property is the same object passed to `defineStates`.
129
- * The returned `initial` builder creates snapshots without user-authored path
130
- * strings and enforces compound and parallel initial-state rules. Active nodes
131
- * may omit `schema` when they own no value; those builders expose `.from(...)`
132
- * and still participate fully in targeting, matching, and snapshots.
130
+ * `Machine.make` derives its initial target selector from that tree and
131
+ * enforces compound and parallel initial-state rules. Active nodes may omit
132
+ * `schema` when they own no value and still participate fully in targeting,
133
+ * matching, and snapshots.
133
134
  *
134
135
  * **Example** (Atomic initial snapshot)
135
136
  *
@@ -144,7 +145,10 @@ export const isFinal = internal.isFinal;
144
145
  * Machine.make({
145
146
  * states: States.states,
146
147
  * events: Machine.events(),
147
- * initial: () => States.initial.idle.from()
148
+ * initial: {
149
+ * target: (to) => to.idle(),
150
+ * resolve: ({ target }) => target.from()
151
+ * }
148
152
  * })
149
153
  * ```
150
154
  *
@@ -191,18 +195,24 @@ export const defineStates = internal.defineStates;
191
195
  * const counter = Machine.make({
192
196
  * states: States.states,
193
197
  * events: Events,
194
- * initial: () => States.initial.Count(new Count({ value: 0 }))
198
+ * initial: {
199
+ * target: (to) => to.Count(),
200
+ * resolve: ({ target }) => target(new Count({ value: 0 }))
201
+ * }
195
202
  * }).handle({
196
203
  * Count: {
197
204
  * on: {
198
- * Increment: ({ event, state }) =>
199
- * States.initial.Count(new Count({ value: state.value + event.by }))
205
+ * Increment: Machine.transition({
206
+ * target: (to) => to.full.Count(),
207
+ * resolve: ({ event, state, target }) =>
208
+ * target(new Count({ value: state.value + event.by }))
209
+ * })
200
210
  * }
201
211
  * }
202
212
  * })
203
213
  * ```
204
214
  *
205
- * @see {@link defineStates} for typed initial snapshot builders.
215
+ * @see {@link defineStates} for typed state-tree helpers.
206
216
  * @category constructors
207
217
  * @since 0.4.0
208
218
  */
@@ -294,7 +304,10 @@ export const emittedEvents = internal.emittedEvents;
294
304
  * const machine = Machine.make({
295
305
  * states: States.states,
296
306
  * events: Machine.events(),
297
- * initial: () => States.initial.Idle.from()
307
+ * initial: {
308
+ * target: (to) => to.Idle(),
309
+ * resolve: ({ target }) => target.from()
310
+ * }
298
311
  * }).handle({ Idle: {} })
299
312
  *
300
313
  * const encoded = Effect.gen(function*() {
@@ -338,7 +351,10 @@ export const encodeSnapshot = internal.encodeSnapshot;
338
351
  * const machine = Machine.make({
339
352
  * states: States.states,
340
353
  * events: Machine.events(),
341
- * initial: () => States.initial.Idle.from()
354
+ * initial: {
355
+ * target: (to) => to.Idle(),
356
+ * resolve: ({ target }) => target.from()
357
+ * }
342
358
  * }).handle({ Idle: {} })
343
359
  *
344
360
  * const roundTrip = Effect.gen(function*() {
@@ -353,6 +369,48 @@ export const encodeSnapshot = internal.encodeSnapshot;
353
369
  * @since 0.4.0
354
370
  */
355
371
  export const decodeSnapshot = internal.decodeSnapshot;
372
+ /**
373
+ * Defines a statically inspectable transition.
374
+ *
375
+ * It is required for every event, lifecycle, choice, and invocation transition
376
+ * so the destination selected by `target` can contextually type the
377
+ * corresponding resolver. Conditional transitions use the locally bound
378
+ * `branch` constructor so every case independently infers its matched value and
379
+ * selected destination, with no limit on the number of cases.
380
+ *
381
+ * ```ts
382
+ * Machine.transition({
383
+ * target: (to) => to.full.Ready(),
384
+ * resolve: ({ target }) => target.from()
385
+ * })
386
+ *
387
+ * Machine.transition({
388
+ * cases: (branch) => [
389
+ * branch({
390
+ * title: "has cached data",
391
+ * when: ({ event }) => event.cached,
392
+ * target: (to) => to.full.Ready(),
393
+ * resolve: ({ match, target }) => target.from({ data: match })
394
+ * })
395
+ * ],
396
+ * otherwise: {
397
+ * target: (to) => to.full.Loading(),
398
+ * resolve: ({ target }) => target.from()
399
+ * }
400
+ * })
401
+ * ```
402
+ *
403
+ * @category constructors
404
+ * @since 0.14.0
405
+ */
406
+ export const transition = ((config) => {
407
+ if (!hasProperty(config, "cases") || typeof config.cases !== "function")
408
+ return config;
409
+ return {
410
+ ...config,
411
+ cases: config.cases((branch) => branch)
412
+ };
413
+ });
356
414
  /**
357
415
  * Preserves inference for a state-owned invocation configuration.
358
416
  *
@@ -384,8 +442,14 @@ export const decodeSnapshot = internal.decodeSnapshot;
384
442
  * try: () => fetch("/api/data").then((response) => response.json()),
385
443
  * catch: (cause) => new LoadError({ cause })
386
444
  * }),
387
- * onDone: ({ output, target }) => target.full.Ready({ data: output }),
388
- * onFailure: ({ error, target }) => target.full.Failed({ error })
445
+ * onDone: Machine.transition({
446
+ * target: (to) => to.full.Ready(),
447
+ * resolve: ({ output, target }) => target.from({ data: output })
448
+ * }),
449
+ * onFailure: Machine.transition({
450
+ * target: (to) => to.full.Failed(),
451
+ * resolve: ({ error, target }) => target.from({ error })
452
+ * })
389
453
  * })
390
454
  * ```
391
455
  *
@@ -422,7 +486,10 @@ export const invoke = ((config) => config);
422
486
  * const machine = Machine.make({
423
487
  * states: States.states,
424
488
  * events: Machine.events(),
425
- * initial: () => States.initial.Idle.from()
489
+ * initial: {
490
+ * target: (to) => to.Idle(),
491
+ * resolve: ({ target }) => target.from()
492
+ * }
426
493
  * }).handle({ Idle: {} })
427
494
  *
428
495
  * const initialState = Effect.map(Machine.planInitial(machine), (plan) => plan.state)
@@ -449,6 +516,17 @@ export const planInitial = internal.planInitial;
449
516
  * @since 0.4.0
450
517
  */
451
518
  export const stateNodes = internal.stateNodes;
519
+ /**
520
+ * Returns the statically selected root entry used during machine startup.
521
+ *
522
+ * This function does not execute the initial resolver or require machine
523
+ * input. `kind: "initial"` means that the selected root enters its declared
524
+ * initial configuration.
525
+ *
526
+ * @category getters
527
+ * @since 0.14.0
528
+ */
529
+ export const initialDefinition = internal.initialDefinition;
452
530
  /**
453
531
  * Returns every registered transition handler in state definition order.
454
532
  *
@@ -456,9 +534,9 @@ export const stateNodes = internal.stateNodes;
456
534
  *
457
535
  * Event handlers retain their handler-key order within each source state and
458
536
  * are followed by eventless and completion handlers. This function does not
459
- * execute handlers. Object-form event, eventless, and completion handlers with
460
- * a `targets` declaration expose those possible paths; handlers without one
461
- * remain dynamic.
537
+ * execute predicates or resolvers. Every direct, conditional, fallback, and
538
+ * targetless branch exposes the destination selected by its required static
539
+ * `target` declaration.
462
540
  *
463
541
  * @category getters
464
542
  * @since 0.4.0
@@ -527,8 +605,21 @@ export const enabled = internal.enabled;
527
605
  * const machine = Machine.make({
528
606
  * states: States.states,
529
607
  * events: Machine.events(Toggle),
530
- * initial: () => States.initial.Off.from()
531
- * }).handle({ Off: { on: { Toggle: () => States.initial.On.from() } }, On: {} })
608
+ * initial: {
609
+ * target: (to) => to.Off(),
610
+ * resolve: ({ target }) => target.from()
611
+ * }
612
+ * }).handle({
613
+ * Off: {
614
+ * on: {
615
+ * Toggle: Machine.transition({
616
+ * target: (to) => to.full.On(),
617
+ * resolve: ({ target }) => target.from()
618
+ * })
619
+ * }
620
+ * },
621
+ * On: {}
622
+ * })
532
623
  *
533
624
  * const nextState = Effect.gen(function*() {
534
625
  * const initial = yield* Machine.planInitial(machine)
@@ -571,37 +662,6 @@ export const plan = internal.plan;
571
662
  * @since 0.4.0
572
663
  */
573
664
  export const logic = internal.logic;
574
- /**
575
- * Creates child process logic from an initial state and a transition function.
576
- *
577
- * **When to use**
578
- *
579
- * Use when a child process only needs sequential event-driven state updates and
580
- * does not need direct control over intermediate snapshots or child ownership.
581
- *
582
- * **Details**
583
- *
584
- * Each received event runs the transition Effect against the latest state. The
585
- * resulting state is published before the next queued event is processed.
586
- *
587
- * **Example**
588
- *
589
- * ```ts
590
- * import { Effect } from "effect"
591
- * import { Machine } from "@typeonce/effect-machine"
592
- *
593
- * const counter = Machine.transition(
594
- * 0,
595
- * (count, event: { readonly by: number }) => Effect.succeed(count + event.by)
596
- * )
597
- * ```
598
- *
599
- * Use an inline `invoke` with an `effect` source for one-shot work.
600
- * @see {@link logic} for direct process lifecycle control.
601
- * @category constructors
602
- * @since 0.4.0
603
- */
604
- export const transition = internal.transition;
605
665
  /**
606
666
  * Creates a typed descriptor for a complete child machine.
607
667
  *
@@ -719,7 +779,10 @@ export const prepare = internal.prepare;
719
779
  * const machine = Machine.make({
720
780
  * states: States.states,
721
781
  * events: Machine.events(),
722
- * initial: () => States.initial.Idle.from()
782
+ * initial: {
783
+ * target: (to) => to.Idle(),
784
+ * resolve: ({ target }) => target.from()
785
+ * }
723
786
  * }).handle({ Idle: {} })
724
787
  *
725
788
  * const state = Effect.gen(function*() {
@@ -769,7 +832,10 @@ export const start = internal.start;
769
832
  * const machine = Machine.make({
770
833
  * states: States.states,
771
834
  * events: Machine.events(),
772
- * initial: () => States.initial.Idle.from()
835
+ * initial: {
836
+ * target: (to) => to.Idle(),
837
+ * resolve: ({ target }) => target.from()
838
+ * }
773
839
  * }).handle({ Idle: {} })
774
840
  *
775
841
  * const resumed = Effect.gen(function*() {
@@ -1 +1 @@
1
- {"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPlan.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/executionPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPlan.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/executionPlan.ts"],"names":[],"mappings":"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"}
@@ -245,11 +245,11 @@ const makeIndexedTransitionContext = (machine, descriptor, configuration, source
245
245
  };
246
246
  };
247
247
  const emptyExecutionValues = Object.freeze([]);
248
- const collectIndexedTransition = (machine, transition, context) => {
248
+ const collectIndexedTransition = (machine, transition, context, evaluate) => {
249
249
  let commands;
250
250
  let raisedEvents;
251
251
  let emittedEvents;
252
- const result = transition(context, {
252
+ const enqueue = {
253
253
  raise: (event) => {
254
254
  ;
255
255
  (raisedEvents ??= []).push(decodeEventSync(machine, event));
@@ -266,9 +266,13 @@ const collectIndexedTransition = (machine, transition, context) => {
266
266
  ;
267
267
  (commands ??= []).push({ _tag: "Stop", child: child });
268
268
  }
269
- });
269
+ };
270
+ const evaluated = evaluate === undefined
271
+ ? { result: transition(context, enqueue), branchIndex: 0 }
272
+ : evaluate(context, enqueue);
270
273
  return {
271
- state: isNoTarget(result) ? undefined : result,
274
+ state: isNoTarget(evaluated.result) ? undefined : evaluated.result,
275
+ branchIndex: evaluated.branchIndex,
272
276
  commands: commands ?? emptyExecutionValues,
273
277
  raisedEvents: raisedEvents ?? emptyExecutionValues,
274
278
  emittedEvents: emittedEvents ?? emptyExecutionValues
@@ -316,7 +320,7 @@ const normalizeIndexedTargetStateSync = (machine, descriptor, current, target, a
316
320
  return ownedIndexedStateFromActive(descriptor, normalizeTargetConfigurationSync(machine, activeConfigurationFromIndexedState(descriptor, current), target));
317
321
  };
318
322
  const collectIndexedEvaluatedTransition = (machine, descriptor, state, selection) => {
319
- const transitionResult = collectIndexedTransition(machine, selection.transition.transition, selection.context);
323
+ const transitionResult = collectIndexedTransition(machine, selection.transition.transition, selection.context, selection.transition.evaluate);
320
324
  const unresolvedTarget = transitionResult.state;
321
325
  validateDeclaredTransitionTarget(selection.sourcePath, selection.trigger, selection.transition.targets, unresolvedTarget);
322
326
  const initialResolution = unresolvedTarget !== undefined && isInitialTarget(unresolvedTarget)
@@ -333,6 +337,7 @@ const collectIndexedEvaluatedTransition = (machine, descriptor, state, selection
333
337
  if (!changed) {
334
338
  return {
335
339
  selection,
340
+ branchIndex: transitionResult.branchIndex,
336
341
  unresolvedTarget: unresolvedTarget,
337
342
  target: target,
338
343
  next,
@@ -355,6 +360,7 @@ const collectIndexedEvaluatedTransition = (machine, descriptor, state, selection
355
360
  : naturalBoundary;
356
361
  return {
357
362
  selection,
363
+ branchIndex: transitionResult.branchIndex,
358
364
  unresolvedTarget: unresolvedTarget,
359
365
  target: target,
360
366
  next,
@@ -372,6 +378,7 @@ const indexedMicrostep = (machine, descriptor, state, event, selections, retainT
372
378
  source: transition.selection.sourcePath,
373
379
  trigger: transition.selection.trigger,
374
380
  reenter: transition.selection.transition.reenter,
381
+ branchIndex: transition.branchIndex,
375
382
  target: transition.unresolvedTarget === undefined ? undefined : getTargetNodePath(transition.unresolvedTarget),
376
383
  resolvedTarget: transition.target === undefined ? undefined : getTargetNodePath(transition.target)
377
384
  });
@@ -472,7 +479,7 @@ const planIndexedFlatState = (machine, descriptor, configuration, decoded, retai
472
479
  event,
473
480
  snapshot: snapshotFromIndexedState(descriptor, current),
474
481
  target: getTargetBuilder(machine, sourcePath)
475
- });
482
+ }, transition.evaluate);
476
483
  const target = transitionResult.state;
477
484
  validateDeclaredTransitionTarget(sourcePath, { type: "event", event: event._tag }, transition.targets, target);
478
485
  if (target !== undefined && !isTarget(target) && !isSnapshot(target)) {
@@ -505,6 +512,7 @@ const planIndexedFlatState = (machine, descriptor, configuration, decoded, retai
505
512
  source: sourcePath,
506
513
  trigger: { type: "event", event: event._tag },
507
514
  reenter: transition.reenter,
515
+ branchIndex: transitionResult.branchIndex,
508
516
  target: target === undefined ? undefined : getTargetNodePath(target),
509
517
  resolvedTarget: target === undefined ? undefined : getTargetNodePath(target)
510
518
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"executionPlan.js","sourceRoot":"","sources":["../../../src/internal/machine/executionPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPlan.js","sourceRoot":"","sources":["../../../src/internal/machine/executionPlan.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import * as internalRuntime from "./runtime.js";
9
9
  export { ChildAlreadyExistsError, InfiniteTransitionError, MachineSchemaDecodeError, MachineSchemaEncodeError, ProcessLocalError, StartupError, StoppedError } from "./errors.js";
10
10
  export { ChildMachineLogicTypeId, InitialEventTypeId, SnapshotBuilderStateTypeId } from "./symbols.js";
11
11
  export declare const InvokeTypeId: unique symbol;
12
+ export declare const TransitionTypeId: unique symbol;
12
13
  type IsAny<A> = 0 extends 1 & A ? true : false;
13
14
  type MachineRuntimeRequirement = internalRuntime.MachineRuntime;
14
15
  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;
@@ -42,7 +43,7 @@ type MakeConfig<States extends Machine.StateSchemas, InputEvents extends Readonl
42
43
  readonly emittedEvents?: Machine.EventProtocol<"emitted", Emits>;
43
44
  readonly parentEvents?: Machine.EventProtocol<"public", ParentEvents>;
44
45
  readonly input?: Input;
45
- readonly initial: (...args: [...Machine.InputArgs<Input>]) => Machine.InitialResult<States, InitialE, InitialR>;
46
+ readonly initial: unknown;
46
47
  };
47
48
  type MakeResult<States extends Machine.StateSchemas, InputEvents extends ReadonlyArray<Machine.TaggedSchema>, Emits extends ReadonlyArray<Machine.TaggedSchema>, Input extends Schema.Top, InitialE, InitialR, InternalEvents extends ReadonlyArray<Machine.TaggedSchema>, ParentEvents extends ReadonlyArray<Machine.TaggedSchema>> = Machine<States, readonly [...InputEvents, ...InternalEvents], Input, Machine.StateIdentifier<States>, never, never, InitialE, InitialR, Machine.FinalStateFromDefinition<States>, Machine.TerminalOutput<States>, Emits, never, InputEvents, ParentEvents>;
48
49
  interface Make {
@@ -82,6 +83,7 @@ export declare const planInitial: <const States extends Machine.StateSchemas, co
82
83
  readonly output: undefined;
83
84
  }), InitialE | E | InfiniteTransitionError | MachineSchemaDecodeError | StartupError, never>;
84
85
  export declare const stateNodes: <M extends Machine.Any>(machine: M) => ReadonlyArray<Machine.StateNode<Machine.StateIdentifier<Machine.States<M>>, Machine.HistoryIdentifier<Machine.States<M>>, Machine.ChoiceIdentifier<Machine.States<M>>>>;
86
+ export declare const initialDefinition: <M extends Machine.Any>(machine: M) => Machine.InitialDefinition<Machine.RootStateIdentifier<Machine.StateIdentifier<Machine.States<M>>>>;
85
87
  export declare const transitionDefinitions: <M extends Machine.Any>(machine: M) => ReadonlyArray<Machine.TransitionDefinition<Machine.StateNodeIdentifier<Machine.States<M>>, Machine.TagOf<Machine.Events<M>[number]>, Machine.StateNodeIdentifier<Machine.States<M>>>>;
86
88
  export declare const activityDefinitions: <M extends Machine.Any>(machine: M) => ReadonlyArray<Machine.ActivityDefinition<Machine.StateIdentifier<Machine.States<M>>>>;
87
89
  export declare const configuration: <M extends Machine.Any>(machine: M, state: Machine.Snapshot<Machine.States<M>>) => ReadonlyArray<Machine.ActiveStateNode<Machine.StateIdentifier<Machine.States<M>>, Machine.ChoiceIdentifier<Machine.States<M>>>>;