@typeonce/effect-machine 0.7.0 → 0.9.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.
Files changed (77) hide show
  1. package/README.md +85 -24
  2. package/dist/Machine.d.ts +545 -444
  3. package/dist/Machine.d.ts.map +1 -1
  4. package/dist/Machine.js +69 -172
  5. package/dist/Machine.js.map +1 -1
  6. package/dist/internal/machine/activities.d.ts +5 -12
  7. package/dist/internal/machine/activities.d.ts.map +1 -1
  8. package/dist/internal/machine/activities.js +47 -17
  9. package/dist/internal/machine/activities.js.map +1 -1
  10. package/dist/internal/machine/atom.d.ts +10 -4
  11. package/dist/internal/machine/atom.d.ts.map +1 -1
  12. package/dist/internal/machine/atom.js.map +1 -1
  13. package/dist/internal/machine/configuration.d.ts.map +1 -1
  14. package/dist/internal/machine/configuration.js +103 -20
  15. package/dist/internal/machine/configuration.js.map +1 -1
  16. package/dist/internal/machine/executionPlan.d.ts.map +1 -1
  17. package/dist/internal/machine/executionPlan.js +31 -0
  18. package/dist/internal/machine/executionPlan.js.map +1 -1
  19. package/dist/internal/machine/invocation.d.ts +10 -2
  20. package/dist/internal/machine/invocation.d.ts.map +1 -1
  21. package/dist/internal/machine/invocation.js +93 -34
  22. package/dist/internal/machine/invocation.js.map +1 -1
  23. package/dist/internal/machine/invocationEvent.d.ts +39 -0
  24. package/dist/internal/machine/invocationEvent.d.ts.map +1 -0
  25. package/dist/internal/machine/invocationEvent.js +43 -0
  26. package/dist/internal/machine/invocationEvent.js.map +1 -0
  27. package/dist/internal/machine/machine.d.ts +6 -50
  28. package/dist/internal/machine/machine.d.ts.map +1 -1
  29. package/dist/internal/machine/machine.js +30 -81
  30. package/dist/internal/machine/machine.js.map +1 -1
  31. package/dist/internal/machine/planner.d.ts +12 -1
  32. package/dist/internal/machine/planner.d.ts.map +1 -1
  33. package/dist/internal/machine/planner.js +90 -37
  34. package/dist/internal/machine/planner.js.map +1 -1
  35. package/dist/internal/machine/protocol.d.ts +9 -0
  36. package/dist/internal/machine/protocol.d.ts.map +1 -1
  37. package/dist/internal/machine/protocol.js +114 -0
  38. package/dist/internal/machine/protocol.js.map +1 -1
  39. package/dist/internal/machine/serialization.d.ts.map +1 -1
  40. package/dist/internal/machine/serialization.js +53 -21
  41. package/dist/internal/machine/serialization.js.map +1 -1
  42. package/dist/internal/machine/stateDefinition.d.ts +4 -4
  43. package/dist/internal/machine/stateDefinition.d.ts.map +1 -1
  44. package/dist/internal/machine/stateDefinition.js +18 -11
  45. package/dist/internal/machine/stateDefinition.js.map +1 -1
  46. package/dist/internal/machine/symbols.d.ts +2 -0
  47. package/dist/internal/machine/symbols.d.ts.map +1 -1
  48. package/dist/internal/machine/symbols.js +2 -0
  49. package/dist/internal/machine/symbols.js.map +1 -1
  50. package/dist/internal/machine/topology.d.ts +5 -5
  51. package/dist/internal/machine/topology.d.ts.map +1 -1
  52. package/dist/internal/machine/topology.js +39 -13
  53. package/dist/internal/machine/topology.js.map +1 -1
  54. package/dist/internal/testing/machine/verification.d.ts.map +1 -1
  55. package/dist/internal/testing/machine/verification.js +10 -3
  56. package/dist/internal/testing/machine/verification.js.map +1 -1
  57. package/dist/unstable/reactivity/AtomMachine.d.ts +11 -5
  58. package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
  59. package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
  60. package/docs/agent-guide.md +174 -121
  61. package/package.json +3 -3
  62. package/src/Machine.ts +1336 -872
  63. package/src/internal/machine/activities.ts +48 -33
  64. package/src/internal/machine/atom.ts +13 -6
  65. package/src/internal/machine/configuration.ts +102 -23
  66. package/src/internal/machine/executionPlan.ts +35 -0
  67. package/src/internal/machine/invocation.ts +180 -49
  68. package/src/internal/machine/invocationEvent.ts +72 -0
  69. package/src/internal/machine/machine.ts +105 -403
  70. package/src/internal/machine/planner.ts +110 -48
  71. package/src/internal/machine/protocol.ts +149 -0
  72. package/src/internal/machine/serialization.ts +56 -31
  73. package/src/internal/machine/stateDefinition.ts +22 -11
  74. package/src/internal/machine/symbols.ts +3 -0
  75. package/src/internal/machine/topology.ts +44 -18
  76. package/src/internal/testing/machine/verification.ts +13 -3
  77. package/src/unstable/reactivity/AtomMachine.ts +12 -5
@@ -191,6 +191,12 @@ type SnapshotNode<State> = State extends Machine.Machine.AtomicSnapshot<string,
191
191
  type SnapshotIdentifier<State> = SnapshotNode<State> extends infer Node ? Node extends {
192
192
  readonly path: infer Path extends string;
193
193
  } ? Path : never : never;
194
+ type ValuedSnapshotIdentifier<State> = SnapshotNode<State> extends infer Node ? Node extends {
195
+ readonly path: infer Path extends string;
196
+ readonly value: infer Value;
197
+ } ? [
198
+ Value
199
+ ] extends [undefined] ? never : Path : never : never;
194
200
  type SnapshotValueByIdentifier<State, Path extends SnapshotIdentifier<State>> = SnapshotNode<State> extends infer Node ? Node extends {
195
201
  readonly path: Path;
196
202
  readonly value: infer Value;
@@ -230,7 +236,7 @@ type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.Child
230
236
  * @category combinators
231
237
  * @since 0.4.0
232
238
  */
233
- export declare const select: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
239
+ export declare const select: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends ValuedSnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
234
240
  /**
235
241
  * Selects the typed logical snapshot for an active state path.
236
242
  *
@@ -259,7 +265,7 @@ export declare const selectSnapshot: <State extends Machine.Machine.AtomicSnapsh
259
265
  * @category combinators
260
266
  * @since 0.4.0
261
267
  */
262
- export declare const selectChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
268
+ export declare const selectChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends ValuedSnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
263
269
  /**
264
270
  * Selects the typed logical snapshot for an active state path in an invoked
265
271
  * child.
@@ -334,8 +340,8 @@ type EnsureMachineExecutable<M extends Machine.Machine.Any> = IsAny<Machine.Mach
334
340
  type MachineInputArgsOf<M extends Machine.Machine.Any> = [
335
341
  ...Machine.Machine.InputArgs<Machine.Machine.Input<M>>
336
342
  ];
337
- type MachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, MachineStartError<Machine.Machine.InitialError<M>, Machine.Machine.Error<M>, Machine.Machine.InitialServices<M>, Machine.Machine.Services<M>, RuntimeError>>;
338
- type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, Machine.MachineSchemaDecodeError | RuntimeError>;
343
+ type MachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<Machine.Machine.InputEvent<M>>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, MachineStartError<Machine.Machine.InitialError<M>, Machine.Machine.Error<M>, Machine.Machine.InitialServices<M>, Machine.Machine.Services<M>, RuntimeError>>;
344
+ type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<Machine.Machine.InputEvent<M>>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, Machine.MachineSchemaDecodeError | RuntimeError>;
339
345
  /**
340
346
  * An `AtomMachine` factory with one owned Effect runtime.
341
347
  *
@@ -383,7 +389,7 @@ export interface Bound<Services, RuntimeError = never> {
383
389
  * @since 0.4.0
384
390
  */
385
391
  export declare const make: {
386
- <const States extends Machine.Machine.StateSchemas, const Events extends ReadonlyArray<Machine.Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.Machine.TaggedSchema> = any, const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.Machine.StateIdentifier<States> = Machine.Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.Machine.StateIdentifier<States> = never, Output = never, OutputStates extends Machine.Machine.StateIdentifier<States> = never, InputEvents extends ReadonlyArray<Machine.Machine.TaggedSchema> = Events>(machine: Machine.Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits, OutputStates, InputEvents> & EnsureNoExternalRequirements<MachineRequirements<InitialR, R, Machine.Machine.EventOf<Events>, Machine.Machine.EmitOf<Emits>>> & EnsureExecutable<States, UnhandledStates, OutputStates>, ...args: [...Machine.Machine.InputArgs<Input>]): MachineAtom<Machine.Machine.Snapshot<States>, Machine.Machine.EventOf<InputEvents>, MachineRuntimeError<E, R>, Output, MachineStartError<InitialE, E, InitialR, R>>;
392
+ <const States extends Machine.Machine.StateSchemas, const Events extends ReadonlyArray<Machine.Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.Machine.TaggedSchema> = any, const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.Machine.StateIdentifier<States> = Machine.Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.Machine.StateIdentifier<States> = never, Output = never, OutputStates extends Machine.Machine.StateIdentifier<States> = never, InputEvents extends ReadonlyArray<Machine.Machine.TaggedSchema> = Events>(machine: Machine.Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits, OutputStates, InputEvents> & EnsureNoExternalRequirements<MachineRequirements<InitialR, R, Machine.Machine.EventOf<Events>, Machine.Machine.EmitOf<Emits>>> & EnsureExecutable<States, UnhandledStates, OutputStates>, ...args: [...Machine.Machine.InputArgs<Input>]): MachineAtom<Machine.Machine.Snapshot<States>, Machine.Machine.EventInputOf<InputEvents>, MachineRuntimeError<E, R>, Output, MachineStartError<InitialE, E, InitialR, R>>;
387
393
  };
388
394
  /**
389
395
  * Creates a lazy atom bridge from a decoded logical snapshot.
@@ -1 +1 @@
1
- {"version":3,"file":"AtomMachine.d.ts","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomMachine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AtomMachine.d.ts","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomMachine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AtomMachine.js","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomMachine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAK1D;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAMpE,MAAM,0BAA0B,GAAG,qDAAqD,CAAA;AA4QxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,MAAM,GASf,QAAQ,CAAC,MAAM,CAAA;AAEnB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GASvB,QAAQ,CAAC,cAAc,CAAA;AAE3B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GASpB,QAAQ,CAAC,WAAW,CAAA;AAExB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAS5B,QAAQ,CAAC,mBAAmB,CAAA;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,OAAO,GAUmD,QAAQ,CAAC,OAAO,CAAA;AAEvF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAMrB,QAAQ,CAAC,YAAY,CAAA;AAEzB,MAAM,uBAAuB,GAAG,kDAAkD,CAAA;AA8GlF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,IAAI,GAiDb,QAAQ,CAAC,IAAI,CAAA;AAEjB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAQf,QAAQ,CAAC,MAAM,CAAA;AAEnB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,IAAI,GAEoB,QAAQ,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"AtomMachine.js","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomMachine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAK1D;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAMpE,MAAM,0BAA0B,GAAG,qDAAqD,CAAA;AAmRxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,MAAM,GASf,QAAQ,CAAC,MAAM,CAAA;AAEnB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GASvB,QAAQ,CAAC,cAAc,CAAA;AAE3B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GASpB,QAAQ,CAAC,WAAW,CAAA;AAExB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAS5B,QAAQ,CAAC,mBAAmB,CAAA;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,OAAO,GAUmD,QAAQ,CAAC,OAAO,CAAA;AAEvF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAMrB,QAAQ,CAAC,YAAY,CAAA;AAEzB,MAAM,uBAAuB,GAAG,kDAAkD,CAAA;AA8GlF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,IAAI,GAiDb,QAAQ,CAAC,IAAI,CAAA;AAEjB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAQf,QAAQ,CAAC,MAAM,CAAA;AAEnB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,IAAI,GAEoB,QAAQ,CAAC,IAAI,CAAA"}
@@ -21,7 +21,7 @@ Use this order so inference has all schemas available when handlers are
21
21
  declared:
22
22
 
23
23
  1. Domain schemas used by state and event fields.
24
- 2. Tagged state schemas.
24
+ 2. Tagged schemas for states that own data.
25
25
  3. Tagged public-event, internal-event, and emitted-event schemas.
26
26
  4. `Machine.defineStates`.
27
27
  5. `Machine.make`, including input, events, internal events, emits, and the
@@ -51,11 +51,13 @@ const InternalEvent = Schema.TaggedUnion({
51
51
  const States = Machine.defineStates(State.cases)
52
52
  ```
53
53
 
54
- Construct event values with `Event.cases.Save.make({})`. Construct new state
55
- values through the target or initial builder's `.from(...)` method so schema
56
- construction runs inside planning. Pass a state directly only when it is
57
- already decoded. Use `Schema.TaggedClass` when a case needs class methods or
58
- nominal class identity; `.from(...)` preserves that identity.
54
+ After `Machine.make`, derive public constructors with `Machine.events(machine)`
55
+ and internal constructors with `Machine.internalEvents(machine)`. Construct new
56
+ state values through the target or initial builder's `.from(...)` method. Both
57
+ event constructors and state `.from(...)` defer schema construction until
58
+ planning, so validation failures remain typed machine errors. Use
59
+ `Schema.TaggedClass` when a case needs class methods or nominal class identity;
60
+ the deferred constructors preserve that identity after decoding.
59
61
 
60
62
  ## Hard invariants
61
63
 
@@ -68,7 +70,8 @@ nominal class identity; `.from(...)` preserves that identity.
68
70
  - Return snapshots or typed target-builder results from transitions. Do not
69
71
  return raw decoded state values.
70
72
  - Transition and lifecycle callbacks are synchronous. Put asynchronous work in
71
- an invoked Effect, actor, or child machine and map its result to an event.
73
+ an invoked Effect, logic process, or child machine and handle its lifecycle
74
+ with `onDone`, `onFailure`, and `onSnapshot`.
72
75
  - Put data on the narrowest state where it is valid. Put data shared by sibling
73
76
  phases on their compound parent.
74
77
  - Declare finality only in the state definition. Do not put `type: "final"` in
@@ -78,12 +81,13 @@ nominal class identity; `.from(...)` preserves that identity.
78
81
  - `parents` keys are full dotted paths.
79
82
  - Invoke lifetimes follow state entry and exit, not the spelling of the target
80
83
  builder.
81
- - Recover expected invoked Effect failures into machine events. Unrecovered
82
- child failures terminate the owning machine.
83
- - Reuse the exact child descriptor value for `invokeMachine`, `sendTo`, and
84
- child lookup.
84
+ - Handle every typed invoked Effect failure with `onFailure`. Defects and
85
+ interruption terminate the owning machine.
86
+ - Reuse an exported child descriptor for inline invocation, `sendTo`, and child
87
+ lookup. Independently constructed descriptors are equivalent only when both
88
+ their id and machine identity match.
85
89
  - `events` is the public input protocol. `internalEvents` contains machine-local
86
- deliveries such as invoke results and invoked-child emissions. Handlers see
90
+ deliveries such as raised events and invoked-child emissions. Handlers see
87
91
  both; typed public `send` and `Machine.plan` accept only `events`.
88
92
  - Event tags in `events` and `internalEvents` must be disjoint.
89
93
  - Event tags must also be unique within each protocol list.
@@ -96,36 +100,77 @@ its extra control is required:
96
100
  - Bind a shared Atom runtime once with `AtomMachine.bind(runtime)`, then use the
97
101
  returned `make` or `resume`. Use `AtomMachine.make(machine)` and
98
102
  `AtomMachine.resume(machine, snapshot)` for service-free machines.
99
- - Use `Machine.invokeEffect` for a typed one-shot Effect and `Machine.after` for
100
- a timer. Use `Machine.invoke` with `Machine.effect` only for custom child
101
- process behavior or snapshot mapping.
103
+ - Use one invocation object: `effect` for one-shot work, `after` for a timer,
104
+ `logic` for reusable process logic, and `child` for a complete child
105
+ statechart. `Machine.invoke({...})` preserves owner context and source
106
+ channels across sibling lifecycle handlers. Use a direct object only when its
107
+ lifecycle handlers do not need source-derived context.
102
108
  - Use `Machine.child(id, machine)` for a complete statechart descriptor and
103
- `Machine.childAddress<Event>(id)` for a low-level process address. An
104
- invocation is addressable only when `Machine.invoke` receives that address
105
- explicitly.
109
+ `Machine.childAddress<Event>(id)` for a low-level process address. A logic
110
+ invocation is addressable only when `Machine.invoke` receives that
111
+ address explicitly.
106
112
  - Use the callback's `enqueue` argument for `raise`, `emit`, `sendTo`, and
107
113
  `stop`. These operations record closed actor commands and do not run Effects.
108
114
 
109
115
  ## Atomic, compound, parallel, and history states
110
116
 
117
+ An active state does not need a schema unless it owns data. Omit `schema` for
118
+ control-only atomic, compound, parallel, and final states:
119
+
120
+ ```ts
121
+ const States = Machine.defineStates({
122
+ Idle: {},
123
+ Form: {
124
+ initial: "Editing",
125
+ states: {
126
+ Editing: {},
127
+ Saving: State.cases.Saving
128
+ }
129
+ }
130
+ })
131
+
132
+ States.initial.Idle.from()
133
+ States.initial.Form.from((form) => form.Editing.from())
134
+ ```
135
+
136
+ Schema-less states have the same control semantics as schema-backed states:
137
+ they are active, targetable, matchable, receive lifecycle handlers, and appear
138
+ in snapshots. They do not have a state value:
139
+
140
+ ```ts
141
+ Idle: {
142
+ on: {
143
+ Start: ({ state, target }) => {
144
+ // state: undefined
145
+ return target.full.Form.from((form) => form.Editing.from())
146
+ }
147
+ }
148
+ }
149
+
150
+ States.matches(snapshot, "Form") // allowed
151
+ States.getSnapshot(snapshot, "Form") // allowed
152
+ States.get(snapshot, "Form") // type error: no value schema
153
+ ```
154
+
155
+ For a schema-less path, builders expose only `.from(...)`; the direct callable
156
+ form is reserved for already-decoded schema values. Structural ancestors are
157
+ also omitted from `parents`; an immediate structural parent is typed as
158
+ `undefined`. Add `schema` when a state begins to own data or needs runtime
159
+ validation and persistence for that data.
160
+
111
161
  Use an atomic state when no child phase can be active beneath it.
112
162
 
113
163
  Use a compound state when exactly one child phase is active. It must declare an
114
164
  `initial` child:
115
165
 
116
166
  ```ts
117
- const FormState = Schema.TaggedUnion({
118
- Form: { draft: Schema.String },
119
- Editing: {},
120
- Saving: {}
121
- })
167
+ const FormState = Schema.TaggedUnion({ Saving: { draft: Schema.String } })
122
168
 
123
169
  const FormStates = Machine.defineStates({
124
170
  Form: {
125
- schema: FormState.cases.Form,
126
171
  initial: "Editing",
127
172
  states: {
128
- Editing: FormState.cases.Editing,
173
+ Editing: {},
129
174
  Saving: FormState.cases.Saving
130
175
  }
131
176
  }
@@ -135,35 +180,22 @@ const FormStates = Machine.defineStates({
135
180
  Use a parallel state when every direct region is active:
136
181
 
137
182
  ```ts
138
- const ParallelState = Schema.TaggedUnion({
139
- Screen: {},
140
- Network: {},
141
- Online: {},
142
- Offline: {},
143
- Panel: {},
144
- Closed: {},
145
- Open: {}
146
- })
147
-
148
183
  const ParallelStates = Machine.defineStates({
149
184
  Screen: {
150
- schema: ParallelState.cases.Screen,
151
185
  type: "parallel",
152
186
  states: {
153
187
  network: {
154
- schema: ParallelState.cases.Network,
155
188
  initial: "Online",
156
189
  states: {
157
- Online: ParallelState.cases.Online,
158
- Offline: ParallelState.cases.Offline
190
+ Online: {},
191
+ Offline: {}
159
192
  }
160
193
  },
161
194
  panel: {
162
- schema: ParallelState.cases.Panel,
163
195
  initial: "Closed",
164
196
  states: {
165
- Closed: ParallelState.cases.Closed,
166
- Open: ParallelState.cases.Open
197
+ Closed: {},
198
+ Open: {}
167
199
  }
168
200
  }
169
201
  }
@@ -366,9 +398,11 @@ const ready = Option.getOrThrow(States.getSnapshot(snapshot, "Route.Ready"))
366
398
  States.matches(ready, "Route.Ready.Saving")
367
399
  ```
368
400
 
369
- All paths are checked against the definition. `context.parent` is the immediate
370
- typed parent (`undefined` at a root). Use `parents` when another ancestor is
371
- needed:
401
+ All paths are checked against the definition. `get` and `getWithParents` accept
402
+ only schema-backed paths; use `matches` or `getSnapshot` for any active path.
403
+ `context.parent` is the immediate typed parent value (`undefined` at a root or
404
+ when that parent is schema-less). `parents` contains only valued ancestors. Use
405
+ its full paths when another ancestor value is needed:
372
406
 
373
407
  ```ts
374
408
  parents["Route.Ready"]
@@ -471,86 +505,114 @@ an event for the parent. Both operations validate their schemas.
471
505
  union handled inside the statechart:
472
506
 
473
507
  ```ts
474
- const machine = Machine.make({
508
+ const definition = Machine.make({
475
509
  states: States.states,
476
- events: [Event.cases.Save],
477
- internalEvents: [InternalEvent.cases.Saved, InternalEvent.cases.SaveFailed],
510
+ events: [Event],
511
+ internalEvents: [InternalEvent],
478
512
  initial: () => States.initial.Idle.from()
479
513
  })
514
+
515
+ const Events = Machine.events(definition)
516
+ const InternalEvents = Machine.internalEvents(definition)
480
517
  ```
481
518
 
482
- When the same already-constructed event may be delivered repeatedly, construct
483
- it once through its owning machine protocol:
519
+ Use the protocol-bound constructors at every machine delivery boundary:
484
520
 
485
521
  ```ts
486
- const save = Machine.event(machine, Event.cases.Save)
487
- yield* ref.send(save)
522
+ yield* ref.send(Events.Save())
523
+ enqueue.raise(InternalEvents.Saved({ id: "entry-1" }))
488
524
  ```
489
525
 
490
- `Machine.event` runs the configured schema constructor once. That machine and
491
- definitions derived from it with `handle` then recognize the decoded event as
492
- trusted and do not decode it again. Tagged-union case schemas are recognized
493
- when their union is configured. Treat the returned event as immutable. Raw
494
- objects and values constructed for another machine continue through normal
495
- runtime validation on every delivery.
526
+ `Machine.events` exposes only public constructors;
527
+ `Machine.internalEvents` exposes only machine-local constructors. Both flatten
528
+ configured tagged unions and preserve tagged classes, finite discriminator
529
+ unions, required inputs, and constructor defaults. A constructor returns an
530
+ opaque instruction whose `_tag` is available for activity metadata. Its decoded
531
+ fields are intentionally unavailable until the owning machine processes it.
532
+
533
+ Invalid constructor input fails `Machine.plan` or the running machine with
534
+ `MachineSchemaDecodeError`; creating the instruction itself never performs
535
+ schema validation. `Machine.event(machine, schema, fields?)` remains available
536
+ as an eager low-level constructor for callers that explicitly want an already
537
+ decoded value and accept synchronous failure.
496
538
 
497
539
  Use the exported utility types when another API must preserve the boundary:
498
540
 
499
541
  ```ts
500
- type PublicEvent = Machine.Machine.InputEvent<typeof machine>
501
- type AnyHandledEvent = Machine.Machine.Event<typeof machine>
542
+ type PublicEvent = Machine.Machine.InputEvent<typeof definition>
543
+ type AnyHandledEvent = Machine.Machine.Event<typeof definition>
502
544
  ```
503
545
 
504
- `MachineRef.send`, `machineAtom.send`, and `Machine.plan` use `InputEvent` at
505
- their TypeScript boundary. Transition handlers, raised events, invoke results,
506
- and mapped child events use the complete `Event` union. The local planner and
507
- runtime intentionally share the complete decoder to support those internal
508
- deliveries, so JavaScript or `any` can bypass the local public distinction.
546
+ `MachineRef.send`, `machineAtom.send`, and `Machine.plan` accept decoded public
547
+ events or constructions returned by `Machine.events`. Transition handlers
548
+ receive only decoded events. Raised events and child emissions additionally
549
+ accept constructions from `Machine.internalEvents`. The
550
+ local planner and runtime intentionally share the complete decoder to support
551
+ those internal deliveries, so JavaScript or `any` can bypass the local public
552
+ distinction.
509
553
  Cluster RPC payloads are additionally decoded against the public `events`
510
554
  schemas at the transport boundary. Never repeat an `_tag` within a list or
511
555
  across both configuration lists.
512
556
 
513
557
  ## Recoverable state-scoped work
514
558
 
515
- Use `Machine.invokeEffect` for a one-shot Effect. Its callbacks preserve the
516
- typed success and failure channels while mapping both into machine events:
559
+ Use `Machine.invoke` with an `effect` for one-shot work. Lifecycle callbacks
560
+ receive the typed Effect channels and can transition directly:
517
561
 
518
562
  ```ts
519
- invoke: ({ state }) =>
520
- Machine.invokeEffect({
521
- id: "save",
522
- effect: SaveService.save(state.draft),
523
- onSuccess: (entry) => new Saved({ entry }),
524
- onFailure: (error) => new SaveFailed({ message: error.message })
525
- })
563
+ invoke: Machine.invoke({
564
+ id: "save",
565
+ effect: SaveService.save(draft),
566
+ onDone: ({ output, target }) => target.full.Saved({ entry: output }),
567
+ onFailure: ({ error, target }) =>
568
+ target.full.SaveFailed({ message: error.message })
569
+ })
526
570
  ```
527
571
 
528
572
  The owning state scopes the child. Owner-driven interruption on state exit is
529
- normal cancellation and stale output is ignored. A child Effect that defects
530
- or self-interrupts fails the parent. Omit `onFailure` only when the Effect error
531
- type is `never`; defects and interruption are not mapped.
573
+ normal cancellation and stale output is ignored. An Effect that defects or
574
+ self-interrupts fails the parent. `onDone` is required when the output is not
575
+ `never`; `onFailure` is required when the typed error is not `never`. Handlers
576
+ are forbidden when their channel is `never`.
532
577
 
533
- Successful non-void output is delivered as a parent event. Include every
534
- possible mapped result schema in the parent machine's `internalEvents` array and
535
- add handlers for the relevant tags. Leave defects and interruption fatal;
536
- recover only expected typed failures.
578
+ The source may also be a function of the owning state's entry context when it
579
+ needs `state`, `parent`, `parents`, or the entry `event`. Source construction
580
+ errors, defects, and interruption are machine failures rather than a second
581
+ phase in `onFailure`.
537
582
 
538
- A cancellable timer uses `Machine.after`:
583
+ When a source function reads `state`, `parent`, `parents`, or the entry `event`,
584
+ `Machine.invoke` infers that owner context and the returned Effect's output,
585
+ error, and service channels together. No return annotation is needed:
539
586
 
540
587
  ```ts
541
- invoke: Machine.after("3 seconds", new ClearStatus({}), {
542
- id: "clear-status"
588
+ invoke: Machine.invoke({
589
+ id: "load",
590
+ effect: ({ state }) => LoadService.load(state.userId),
591
+ onDone: ({ output, target }) => target.full.Loaded({ user: output }),
592
+ onFailure: ({ error, target }) => target.full.LoadFailed({ error })
543
593
  })
544
594
  ```
545
595
 
546
- The timer starts on state entry and is interrupted on exit. Supply an explicit
547
- id when more than one active timer could deliver the same event tag. Use
548
- lower-level `Machine.invoke` with `Machine.effect` when custom child logic or
549
- snapshot mapping is required. In that API, `id` is only the invocation's
550
- state-local lifecycle key. To communicate with the invocation, create a
551
- `Machine.childAddress<Event>("worker")` and pass it as `address`; TypeScript
552
- checks the address protocol against the child logic. Lifecycle ids must be
553
- unique among simultaneously active invokes owned by the same state.
596
+ A direct `invoke: { ... }` object remains available when lifecycle handlers do
597
+ not need source-derived context.
598
+
599
+ A cancellable timer uses the same object:
600
+
601
+ ```ts
602
+ invoke: Machine.invoke({
603
+ id: "clear-status",
604
+ after: "3 seconds",
605
+ onDone: ({ target }) => target.full.Clear()
606
+ })
607
+ ```
608
+
609
+ The timer starts on state entry and is interrupted on exit. Its `onDone` is
610
+ always required. `effect: Effect.sleep(...)` has the same scoped cancellation
611
+ behavior, but `after` records timer intent and exposes a static duration through
612
+ `Machine.activityDefinitions`. For reusable process logic, provide `logic`, a
613
+ state-local lifecycle `id`, and a typed `address`. TypeScript checks the address
614
+ protocol against the logic event protocol. Lifecycle ids and addresses serve
615
+ different purposes and must both be explicit.
554
616
 
555
617
  ## Invoked child statecharts
556
618
 
@@ -563,24 +625,24 @@ const Editor = Machine.child("editor", EditorMachine)
563
625
  Invoke it from its owning state:
564
626
 
565
627
  ```ts
566
- invoke: Machine.invokeMachine({
628
+ invoke: Machine.invoke({
567
629
  child: Editor,
568
630
  input: editorInput,
569
- onDone: ({ output }) => new EditorCompleted({ output })
631
+ onDone: ({ output, target }) => target.full.EditorDone({ output })
570
632
  })
571
633
  ```
572
634
 
573
635
  Use `Editor` for:
574
636
 
575
637
  ```ts
576
- Machine.sendTo(Editor, new Reset({}))
638
+ Machine.sendTo(Editor, EditorEvent.Reset())
577
639
  parentRef.child(Editor)
578
640
  parentAtom.child(Editor)
579
641
  ```
580
642
 
581
- Child emissions, mapped snapshots, and mapped completion output are delivered as
582
- parent events and must be accepted by the parent's `internalEvents` list.
583
- Invoked child IDs must be unique while simultaneously active.
643
+ Child emissions are delivered through the parent's internal protocol.
644
+ `onSnapshot`, `onDone`, and `onFailure` are direct parent transitions. Invoked
645
+ child IDs must be unique while simultaneously active.
584
646
 
585
647
  Descriptors with the same id and machine identity address the same child, even
586
648
  when independently constructed. The descriptor objects themselves are not
@@ -592,21 +654,18 @@ logic that does not have a complete machine descriptor.
592
654
  ### Inspecting state-owned activities
593
655
 
594
656
  Use `Machine.activityDefinitions(machine)` to inspect invokes without running
595
- them. Static `Machine.invoke`, `Machine.invokeEffect`, `Machine.after`, and
596
- `Machine.invokeMachine` descriptors expose serializable ownership metadata:
657
+ them. Static inline `Machine.invoke` definitions expose serializable ownership
658
+ metadata:
597
659
 
598
660
  ```ts
599
661
  Machine.activityDefinitions(machine)
600
662
  // [{ source: "Loading", id: "load-timeout", type: "timer",
601
- // duration: "10s", event: "LoadTimedOut" }]
663
+ // duration: "10s" }]
602
664
  ```
603
665
 
604
- Effect success/failure mappers are closures and therefore appear as dynamic
605
- outcomes. Child machines expose descriptor identity, never their runtime or
606
- implementation. A function-valued `invoke` factory is represented as a dynamic
607
- activity because inspection must not evaluate user code. The existing invoke
608
- helpers remain the only execution API; this metadata does not add lifecycle
609
- configuration syntax or affect execution.
666
+ Child machines expose descriptor identity, never their runtime or
667
+ implementation. Function-valued sources and durations are represented as
668
+ dynamic because inspection must not evaluate user code.
610
669
 
611
670
  ## AtomMachine and React
612
671
 
@@ -715,8 +774,8 @@ Encoding does not preserve:
715
774
  - completion and history records survive but do not retrigger `onDone`;
716
775
  - active-state invokes start once in ordinary ancestor/document order with
717
776
  `Machine.InitialEvent`;
718
- - `invokeEffect` restarts, `invokeMachine` creates a fresh child from its normal
719
- initial state, and `Machine.after` restarts its complete duration;
777
+ - inline Effects restart, child machines start fresh from their normal initial
778
+ state, and timers restart their complete duration;
720
779
  - inactive invokes, spawned children, child snapshots, elapsed timer time, and
721
780
  prior `RuntimeSnapshot` status/errors are not restored;
722
781
  - a final logical snapshot creates an immediately completed ref;
@@ -890,11 +949,6 @@ Wrap the initial builder result:
890
949
  initial: () => States.initial.Idle.from()
891
950
  ```
892
951
 
893
- ### Invoked child output must be a machine event
894
-
895
- Add the output's tagged schema to the parent machine's `internalEvents` array,
896
- or map/ignore the output before it reaches the parent.
897
-
898
952
  ### Invoked child emits events not accepted by the parent
899
953
 
900
954
  Add the child's emitted schemas to the parent machine's `internalEvents` array:
@@ -907,9 +961,8 @@ internalEvents: [...ChildMachine.emits]
907
961
  ### An internal event is rejected by `send`
908
962
 
909
963
  This is intentional. Public input boundaries accept only schemas declared in
910
- `events`. Handle the event as an invoke result, child delivery, or raised event;
911
- move it to `events` only if external callers should genuinely be allowed to
912
- send it.
964
+ `events`. Handle the event as a child delivery or raised event; move it to
965
+ `events` only if external callers should genuinely be allowed to send it.
913
966
 
914
967
  ### Public and internal event tags overlap
915
968
 
@@ -945,7 +998,7 @@ parents["Route.Ready"]
945
998
 
946
999
  ### Child descriptor types are unrelated
947
1000
 
948
- Use the descriptor exported by the module that configured `invokeMachine`.
1001
+ Use the descriptor exported by the module that configured the child invocation.
949
1002
  An independently created descriptor with the same id and machine identity also
950
1003
  matches; the same id paired with a different machine remains a distinct child.
951
1004
 
@@ -969,6 +1022,6 @@ The current API does not include:
969
1022
  - declarative first-class guards;
970
1023
  - a complete inspectable graph for arbitrary transition Effects.
971
1024
 
972
- Use ordinary TypeScript conditions for guards and `Machine.after` for
973
- state-scoped timers. Do not invent undocumented state-node properties such as
974
- `guard`.
1025
+ Use ordinary TypeScript conditions for guards and an inline `Machine.invoke`
1026
+ with `after` for state-scoped timers. Do not invent undocumented state-node
1027
+ properties such as `guard`.