@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.
- package/README.md +85 -24
- package/dist/Machine.d.ts +545 -444
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +69 -172
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machine/activities.d.ts +5 -12
- package/dist/internal/machine/activities.d.ts.map +1 -1
- package/dist/internal/machine/activities.js +47 -17
- package/dist/internal/machine/activities.js.map +1 -1
- package/dist/internal/machine/atom.d.ts +10 -4
- package/dist/internal/machine/atom.d.ts.map +1 -1
- package/dist/internal/machine/atom.js.map +1 -1
- package/dist/internal/machine/configuration.d.ts.map +1 -1
- package/dist/internal/machine/configuration.js +103 -20
- package/dist/internal/machine/configuration.js.map +1 -1
- package/dist/internal/machine/executionPlan.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.js +31 -0
- package/dist/internal/machine/executionPlan.js.map +1 -1
- package/dist/internal/machine/invocation.d.ts +10 -2
- package/dist/internal/machine/invocation.d.ts.map +1 -1
- package/dist/internal/machine/invocation.js +93 -34
- package/dist/internal/machine/invocation.js.map +1 -1
- package/dist/internal/machine/invocationEvent.d.ts +39 -0
- package/dist/internal/machine/invocationEvent.d.ts.map +1 -0
- package/dist/internal/machine/invocationEvent.js +43 -0
- package/dist/internal/machine/invocationEvent.js.map +1 -0
- package/dist/internal/machine/machine.d.ts +6 -50
- package/dist/internal/machine/machine.d.ts.map +1 -1
- package/dist/internal/machine/machine.js +30 -81
- package/dist/internal/machine/machine.js.map +1 -1
- package/dist/internal/machine/planner.d.ts +12 -1
- package/dist/internal/machine/planner.d.ts.map +1 -1
- package/dist/internal/machine/planner.js +90 -37
- package/dist/internal/machine/planner.js.map +1 -1
- package/dist/internal/machine/protocol.d.ts +9 -0
- package/dist/internal/machine/protocol.d.ts.map +1 -1
- package/dist/internal/machine/protocol.js +114 -0
- package/dist/internal/machine/protocol.js.map +1 -1
- package/dist/internal/machine/serialization.d.ts.map +1 -1
- package/dist/internal/machine/serialization.js +53 -21
- package/dist/internal/machine/serialization.js.map +1 -1
- package/dist/internal/machine/stateDefinition.d.ts +4 -4
- package/dist/internal/machine/stateDefinition.d.ts.map +1 -1
- package/dist/internal/machine/stateDefinition.js +18 -11
- package/dist/internal/machine/stateDefinition.js.map +1 -1
- package/dist/internal/machine/symbols.d.ts +2 -0
- package/dist/internal/machine/symbols.d.ts.map +1 -1
- package/dist/internal/machine/symbols.js +2 -0
- package/dist/internal/machine/symbols.js.map +1 -1
- package/dist/internal/machine/topology.d.ts +5 -5
- package/dist/internal/machine/topology.d.ts.map +1 -1
- package/dist/internal/machine/topology.js +39 -13
- package/dist/internal/machine/topology.js.map +1 -1
- package/dist/internal/testing/machine/verification.d.ts.map +1 -1
- package/dist/internal/testing/machine/verification.js +10 -3
- package/dist/internal/testing/machine/verification.js.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.d.ts +11 -5
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
- package/docs/agent-guide.md +174 -121
- package/package.json +3 -3
- package/src/Machine.ts +1336 -872
- package/src/internal/machine/activities.ts +48 -33
- package/src/internal/machine/atom.ts +13 -6
- package/src/internal/machine/configuration.ts +102 -23
- package/src/internal/machine/executionPlan.ts +35 -0
- package/src/internal/machine/invocation.ts +180 -49
- package/src/internal/machine/invocationEvent.ts +72 -0
- package/src/internal/machine/machine.ts +105 -403
- package/src/internal/machine/planner.ts +110 -48
- package/src/internal/machine/protocol.ts +149 -0
- package/src/internal/machine/serialization.ts +56 -31
- package/src/internal/machine/stateDefinition.ts +22 -11
- package/src/internal/machine/symbols.ts +3 -0
- package/src/internal/machine/topology.ts +44 -18
- package/src/internal/testing/machine/verification.ts +13 -3
- 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
|
|
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
|
|
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
|
|
338
|
-
type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M
|
|
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.
|
|
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;
|
|
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"}
|
package/docs/agent-guide.md
CHANGED
|
@@ -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
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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,
|
|
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
|
-
-
|
|
82
|
-
|
|
83
|
-
- Reuse
|
|
84
|
-
|
|
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
|
|
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 `
|
|
100
|
-
|
|
101
|
-
|
|
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.
|
|
104
|
-
invocation is addressable only when `Machine.invoke` receives that
|
|
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:
|
|
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:
|
|
158
|
-
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:
|
|
166
|
-
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. `
|
|
370
|
-
|
|
371
|
-
|
|
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
|
|
508
|
+
const definition = Machine.make({
|
|
475
509
|
states: States.states,
|
|
476
|
-
events: [Event
|
|
477
|
-
internalEvents: [InternalEvent
|
|
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
|
-
|
|
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
|
-
|
|
487
|
-
|
|
522
|
+
yield* ref.send(Events.Save())
|
|
523
|
+
enqueue.raise(InternalEvents.Saved({ id: "entry-1" }))
|
|
488
524
|
```
|
|
489
525
|
|
|
490
|
-
`Machine.
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
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
|
|
501
|
-
type AnyHandledEvent = Machine.Machine.Event<typeof
|
|
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`
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
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.
|
|
516
|
-
|
|
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: ({
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
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.
|
|
530
|
-
|
|
531
|
-
|
|
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
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
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
|
-
|
|
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.
|
|
542
|
-
id: "
|
|
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
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
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.
|
|
628
|
+
invoke: Machine.invoke({
|
|
567
629
|
child: Editor,
|
|
568
630
|
input: editorInput,
|
|
569
|
-
onDone: ({ 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,
|
|
638
|
+
Machine.sendTo(Editor, EditorEvent.Reset())
|
|
577
639
|
parentRef.child(Editor)
|
|
578
640
|
parentAtom.child(Editor)
|
|
579
641
|
```
|
|
580
642
|
|
|
581
|
-
Child emissions
|
|
582
|
-
|
|
583
|
-
|
|
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
|
|
596
|
-
|
|
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"
|
|
663
|
+
// duration: "10s" }]
|
|
602
664
|
```
|
|
603
665
|
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
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
|
-
-
|
|
719
|
-
|
|
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
|
|
911
|
-
|
|
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
|
|
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.
|
|
973
|
-
state-scoped timers. Do not invent undocumented state-node
|
|
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`.
|