@typeonce/effect-machine 0.8.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 +64 -24
- package/dist/Machine.d.ts +386 -304
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +66 -171
- 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 +2 -2
- package/dist/internal/machine/atom.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.js +25 -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 +8 -65
- package/dist/internal/machine/machine.js.map +1 -1
- package/dist/internal/machine/planner.d.ts +2 -1
- package/dist/internal/machine/planner.d.ts.map +1 -1
- package/dist/internal/machine/planner.js +45 -2
- 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/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.map +1 -1
- package/dist/internal/machine/topology.js +23 -0
- package/dist/internal/machine/topology.js.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.d.ts +3 -3
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
- package/docs/agent-guide.md +118 -93
- package/package.json +2 -2
- package/src/Machine.ts +1040 -651
- package/src/internal/machine/activities.ts +48 -33
- package/src/internal/machine/atom.ts +3 -3
- package/src/internal/machine/executionPlan.ts +29 -0
- package/src/internal/machine/invocation.ts +179 -48
- package/src/internal/machine/invocationEvent.ts +72 -0
- package/src/internal/machine/machine.ts +20 -346
- package/src/internal/machine/planner.ts +61 -10
- package/src/internal/machine/protocol.ts +149 -0
- package/src/internal/machine/symbols.ts +3 -0
- package/src/internal/machine/topology.ts +23 -0
- package/src/unstable/reactivity/AtomMachine.ts +3 -3
package/dist/Machine.js
CHANGED
|
@@ -13,6 +13,7 @@ import { InitialEventTypeId } from "./internal/machine/machine.js";
|
|
|
13
13
|
* @since 0.4.0
|
|
14
14
|
*/
|
|
15
15
|
export const TypeId = "~effect/Machine";
|
|
16
|
+
const ChildMachineLogicTypeId = internal.ChildMachineLogicTypeId;
|
|
16
17
|
/**
|
|
17
18
|
* Type identifier used for the synthetic event passed to startup lifecycle
|
|
18
19
|
* actions.
|
|
@@ -163,8 +164,8 @@ export const defineStates = internal.defineStates;
|
|
|
163
164
|
* to implement state behavior with ordinary TypeScript control flow.
|
|
164
165
|
*
|
|
165
166
|
* Schemas in `events` define the public input protocol. Schemas in
|
|
166
|
-
* `internalEvents` are added to the complete handler protocol for
|
|
167
|
-
*
|
|
167
|
+
* `internalEvents` are added to the complete handler protocol for raised
|
|
168
|
+
* events, child emissions, and other machine-local deliveries. Their tags
|
|
168
169
|
* must be disjoint.
|
|
169
170
|
*
|
|
170
171
|
* **Example** (Typed counter machine)
|
|
@@ -213,6 +214,9 @@ export const make = internal.make;
|
|
|
213
214
|
* Events supplied through ordinary `send` and `plan` calls remain untrusted
|
|
214
215
|
* and continue through full runtime schema validation.
|
|
215
216
|
* Treat the returned event as immutable after construction.
|
|
217
|
+
* This eager low-level constructor throws `MachineSchemaDecodeError` when
|
|
218
|
+
* construction fails. Prefer {@link events} and {@link internalEvents} for
|
|
219
|
+
* ordinary delivery so construction remains inside the machine error channel.
|
|
216
220
|
*
|
|
217
221
|
* The schema must be one of the machine's configured public or internal event
|
|
218
222
|
* schemas, or a case schema belonging to a configured `Schema.TaggedUnion`.
|
|
@@ -242,6 +246,37 @@ export const make = internal.make;
|
|
|
242
246
|
* @since 0.4.0
|
|
243
247
|
*/
|
|
244
248
|
export const event = internal.event;
|
|
249
|
+
/**
|
|
250
|
+
* Returns deferred constructors for every public event in a machine protocol.
|
|
251
|
+
*
|
|
252
|
+
* Constructor inputs retain their schema-derived required fields, defaults,
|
|
253
|
+
* and transformations. Construction is deferred until delivery so failures
|
|
254
|
+
* enter the machine's `MachineSchemaDecodeError` channel rather than throwing
|
|
255
|
+
* at the call site.
|
|
256
|
+
*
|
|
257
|
+
* **Example**
|
|
258
|
+
*
|
|
259
|
+
* ```ts
|
|
260
|
+
* const Event = Machine.events(counter)
|
|
261
|
+
* yield* ref.send(Event.Increment({ by: 1 }))
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
264
|
+
* @category constructors
|
|
265
|
+
* @since 0.9.0
|
|
266
|
+
*/
|
|
267
|
+
export const events = internal.events;
|
|
268
|
+
/**
|
|
269
|
+
* Returns deferred constructors for every internal event in a machine
|
|
270
|
+
* protocol.
|
|
271
|
+
*
|
|
272
|
+
* Use these constructors for raised events and other machine-local deliveries.
|
|
273
|
+
* Construction failures are reported through the
|
|
274
|
+
* owning machine's `MachineSchemaDecodeError` channel.
|
|
275
|
+
*
|
|
276
|
+
* @category constructors
|
|
277
|
+
* @since 0.9.0
|
|
278
|
+
*/
|
|
279
|
+
export const internalEvents = internal.internalEvents;
|
|
245
280
|
/**
|
|
246
281
|
* Encodes a decoded machine snapshot into a normalized data representation.
|
|
247
282
|
*
|
|
@@ -336,107 +371,37 @@ export const encodeSnapshot = internal.encodeSnapshot;
|
|
|
336
371
|
*/
|
|
337
372
|
export const decodeSnapshot = internal.decodeSnapshot;
|
|
338
373
|
/**
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
* **When to use**
|
|
342
|
-
*
|
|
343
|
-
* Use to run a child process while a machine remains in a state. Successful
|
|
344
|
-
* outputs are sent directly to the parent machine as events; `void` sends
|
|
345
|
-
* nothing. Unrecovered child failures fail the owning machine. Active
|
|
346
|
-
* snapshots can optionally be mapped to progress events.
|
|
347
|
-
*
|
|
348
|
-
* **Gotchas**
|
|
374
|
+
* Preserves inference for a state-owned invocation configuration.
|
|
349
375
|
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* send events to the invocation, pass a typed `childAddress` as `address`.
|
|
355
|
-
* The `src` callback is intentionally independent from its parent state. When
|
|
356
|
-
* construction depends on the typed state, lifecycle event, or runtime, use
|
|
357
|
-
* the state config factory form `invoke: (context) => Machine.invoke(...)` and
|
|
358
|
-
* close over that context from `src`.
|
|
376
|
+
* Use `effect` for one-shot work, `after` for a cancellable timer, `logic` for
|
|
377
|
+
* reusable process logic, or `child` for a complete child machine. `onDone` is
|
|
378
|
+
* required whenever the source can complete with an output, while `onFailure`
|
|
379
|
+
* is required only when the source has a typed failure channel.
|
|
359
380
|
*
|
|
360
|
-
*
|
|
381
|
+
* This constructor is an identity at runtime, but preserves lifecycle callback
|
|
382
|
+
* inference through published declarations. Effects and durations may be
|
|
383
|
+
* supplied directly or derived from the owning state's entry context. Dynamic
|
|
384
|
+
* Effect sources infer the owner context, output, error, and service channels
|
|
385
|
+
* together without a return annotation. Logic invocations require both a
|
|
386
|
+
* lifecycle `id` and a typed communication `address`. Child descriptors already
|
|
387
|
+
* own their identity, so `id` and `address` must not be repeated.
|
|
361
388
|
*
|
|
362
389
|
* ```ts
|
|
363
|
-
*
|
|
364
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
365
|
-
*
|
|
366
|
-
* class Loaded extends Schema.TaggedClass<Loaded>("Loaded")("Loaded", {
|
|
367
|
-
* value: Schema.String
|
|
368
|
-
* }) {}
|
|
369
|
-
*
|
|
370
|
-
* const load = Machine.invoke({
|
|
390
|
+
* invoke: Machine.invoke({
|
|
371
391
|
* id: "load",
|
|
372
|
-
*
|
|
392
|
+
* effect: Effect.tryPromise({
|
|
393
|
+
* try: () => fetch("/api/data").then((response) => response.json()),
|
|
394
|
+
* catch: (cause) => new LoadError({ cause })
|
|
395
|
+
* }),
|
|
396
|
+
* onDone: ({ output, target }) => target.full.Ready({ data: output }),
|
|
397
|
+
* onFailure: ({ error, target }) => target.full.Failed({ error })
|
|
373
398
|
* })
|
|
374
399
|
* ```
|
|
375
400
|
*
|
|
376
|
-
* @see {@link effect} for one-shot child effects.
|
|
377
|
-
* @see {@link spawn} for children whose lifetime is controlled by actions.
|
|
378
401
|
* @category constructors
|
|
379
|
-
* @since 0.
|
|
402
|
+
* @since 0.9.0
|
|
380
403
|
*/
|
|
381
|
-
export const invoke =
|
|
382
|
-
/**
|
|
383
|
-
* Invokes one Effect and maps its typed outcome into machine-local events.
|
|
384
|
-
*
|
|
385
|
-
* **Details**
|
|
386
|
-
*
|
|
387
|
-
* This is the high-level one-shot counterpart to `invoke`. Success and typed
|
|
388
|
-
* failure values are mapped independently, so callers do not need to recover
|
|
389
|
-
* an Effect into a common event union by hand. Defects and interruption remain
|
|
390
|
-
* failures of the owning machine.
|
|
391
|
-
*
|
|
392
|
-
* Declare mapped outcomes in `internalEvents` unless they are also legitimate
|
|
393
|
-
* public commands.
|
|
394
|
-
*
|
|
395
|
-
* **Example**
|
|
396
|
-
*
|
|
397
|
-
* ```ts
|
|
398
|
-
* import { Effect, Schema } from "effect"
|
|
399
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
400
|
-
*
|
|
401
|
-
* class Loaded extends Schema.TaggedClass<Loaded>("Loaded")("Loaded", {
|
|
402
|
-
* value: Schema.String
|
|
403
|
-
* }) {}
|
|
404
|
-
*
|
|
405
|
-
* const load = Machine.invokeEffect({
|
|
406
|
-
* id: "load",
|
|
407
|
-
* effect: Effect.succeed("ready"),
|
|
408
|
-
* onSuccess: (value) => new Loaded({ value })
|
|
409
|
-
* })
|
|
410
|
-
* ```
|
|
411
|
-
*
|
|
412
|
-
* @see {@link invoke} for arbitrary child process logic.
|
|
413
|
-
* @see {@link after} for a state-scoped delayed event.
|
|
414
|
-
* @category constructors
|
|
415
|
-
* @since 0.4.0
|
|
416
|
-
*/
|
|
417
|
-
export const invokeEffect = internal.invokeEffect;
|
|
418
|
-
/**
|
|
419
|
-
* Creates a cancellable state-scoped delayed event.
|
|
420
|
-
*
|
|
421
|
-
* The timer starts when its owning state is entered and is interrupted when
|
|
422
|
-
* that state exits. The delayed value should normally be declared in
|
|
423
|
-
* `internalEvents`.
|
|
424
|
-
*
|
|
425
|
-
* **Example**
|
|
426
|
-
*
|
|
427
|
-
* ```ts
|
|
428
|
-
* import { Schema } from "effect"
|
|
429
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
430
|
-
*
|
|
431
|
-
* class TimedOut extends Schema.TaggedClass<TimedOut>("TimedOut")("TimedOut", {}) {}
|
|
432
|
-
*
|
|
433
|
-
* const timeout = Machine.after("5 seconds", new TimedOut({}))
|
|
434
|
-
* ```
|
|
435
|
-
*
|
|
436
|
-
* @category constructors
|
|
437
|
-
* @since 0.4.0
|
|
438
|
-
*/
|
|
439
|
-
export const after = internal.after;
|
|
404
|
+
export const invoke = ((config) => config);
|
|
440
405
|
/**
|
|
441
406
|
* Constructs another tagged case from compatible source fields.
|
|
442
407
|
*
|
|
@@ -451,32 +416,6 @@ export const after = internal.after;
|
|
|
451
416
|
* @since 0.4.0
|
|
452
417
|
*/
|
|
453
418
|
export const retag = internal.retag;
|
|
454
|
-
/**
|
|
455
|
-
* Creates an invoked child process from a complete statechart machine.
|
|
456
|
-
*
|
|
457
|
-
* **When to use**
|
|
458
|
-
*
|
|
459
|
-
* Use when a state should own another statechart machine and communicate with
|
|
460
|
-
* it through typed child events, emissions, snapshots, or terminal output.
|
|
461
|
-
*
|
|
462
|
-
* **Details**
|
|
463
|
-
*
|
|
464
|
-
* Child emissions are delivered directly to the parent as events. Active
|
|
465
|
-
* snapshots and terminal output can be mapped to parent events. The owning
|
|
466
|
-
* state controls the child lifetime.
|
|
467
|
-
*
|
|
468
|
-
* **Gotchas**
|
|
469
|
-
*
|
|
470
|
-
* Active invoked machines must have unique child addresses. A machine starts
|
|
471
|
-
* after its owning state's entry actions, so those actions cannot send events
|
|
472
|
-
* to a newly entered child. Unrecovered child failures fail the parent.
|
|
473
|
-
*
|
|
474
|
-
* @see {@link invoke} for invoking lower-level process logic.
|
|
475
|
-
* @see {@link sendTo} for sending events to the invoked machine.
|
|
476
|
-
* @category constructors
|
|
477
|
-
* @since 0.4.0
|
|
478
|
-
*/
|
|
479
|
-
export const invokeMachine = internal.invokeMachine;
|
|
480
419
|
/**
|
|
481
420
|
* Plans the initial state for a machine without executing actor commands.
|
|
482
421
|
*
|
|
@@ -553,10 +492,9 @@ export const transitionDefinitions = internal.transitionDefinitions;
|
|
|
553
492
|
*
|
|
554
493
|
* **Details**
|
|
555
494
|
*
|
|
556
|
-
* Static
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
* never evaluated during inspection.
|
|
495
|
+
* Static inline invocation definitions expose stable ownership and lifecycle
|
|
496
|
+
* metadata without serializing runtime values. Function-valued sources are
|
|
497
|
+
* represented as dynamic and are never evaluated during inspection.
|
|
560
498
|
*
|
|
561
499
|
* @category getters
|
|
562
500
|
* @since 0.4.0
|
|
@@ -627,49 +565,6 @@ export const enabled = internal.enabled;
|
|
|
627
565
|
* @since 0.4.0
|
|
628
566
|
*/
|
|
629
567
|
export const plan = internal.plan;
|
|
630
|
-
/**
|
|
631
|
-
* Creates a one-shot child process from an Effect.
|
|
632
|
-
*
|
|
633
|
-
* **When to use**
|
|
634
|
-
*
|
|
635
|
-
* Use when you need side effects that produce one typed output or error.
|
|
636
|
-
*
|
|
637
|
-
* **Details**
|
|
638
|
-
*
|
|
639
|
-
* The Effect may run arbitrary side effects. Its success value is the process
|
|
640
|
-
* output, its typed error is preserved, and its services are inferred. When
|
|
641
|
-
* invoked, the output is sent to the owning machine as an event unless it is
|
|
642
|
-
* `void`.
|
|
643
|
-
*
|
|
644
|
-
* **Gotchas**
|
|
645
|
-
*
|
|
646
|
-
* This process has no incoming event protocol. Its Effect runs once. Use
|
|
647
|
-
* `transition` for a process that receives events over time and `logic` for
|
|
648
|
-
* direct machine-local communication or intermediate snapshots.
|
|
649
|
-
*
|
|
650
|
-
* **Example** (Recover a child failure as output)
|
|
651
|
-
*
|
|
652
|
-
* ```ts
|
|
653
|
-
* import { Effect, Schema } from "effect"
|
|
654
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
655
|
-
*
|
|
656
|
-
* class LoadFailed extends Schema.TaggedClass<LoadFailed>("LoadFailed")("LoadFailed", {
|
|
657
|
-
* reason: Schema.String
|
|
658
|
-
* }) {}
|
|
659
|
-
*
|
|
660
|
-
* const load = Machine.effect(
|
|
661
|
-
* Effect.fail("unavailable").pipe(
|
|
662
|
-
* Effect.catch((reason) => Effect.succeed(new LoadFailed({ reason })))
|
|
663
|
-
* )
|
|
664
|
-
* )
|
|
665
|
-
* ```
|
|
666
|
-
*
|
|
667
|
-
* @see {@link transition} for event-driven state.
|
|
668
|
-
* @see {@link logic} for direct control over intermediate snapshots.
|
|
669
|
-
* @category constructors
|
|
670
|
-
* @since 0.4.0
|
|
671
|
-
*/
|
|
672
|
-
export const effect = internal.effect;
|
|
673
568
|
/**
|
|
674
569
|
* Creates advanced stateful process logic from explicit initialization and
|
|
675
570
|
* execution methods.
|
|
@@ -691,9 +586,9 @@ export const effect = internal.effect;
|
|
|
691
586
|
* This is the low-level process constructor. Parent messages sent directly
|
|
692
587
|
* through its scope are intentionally `unknown` because the logic does not know
|
|
693
588
|
* which machine will eventually own it. Prefer typed output, typed child
|
|
694
|
-
* addresses, or
|
|
589
|
+
* addresses, or invocation lifecycle transitions when possible.
|
|
695
590
|
*
|
|
696
|
-
*
|
|
591
|
+
* Use an inline `invoke` with an `effect` source for one-shot work.
|
|
697
592
|
* @see {@link transition} for event-driven state.
|
|
698
593
|
* @category constructors
|
|
699
594
|
* @since 0.4.0
|
|
@@ -724,7 +619,7 @@ export const logic = internal.logic;
|
|
|
724
619
|
* )
|
|
725
620
|
* ```
|
|
726
621
|
*
|
|
727
|
-
*
|
|
622
|
+
* Use an inline `invoke` with an `effect` source for one-shot work.
|
|
728
623
|
* @see {@link logic} for direct process lifecycle control.
|
|
729
624
|
* @category constructors
|
|
730
625
|
* @since 0.4.0
|
|
@@ -849,8 +744,8 @@ export const start = internal.start;
|
|
|
849
744
|
* entry or transition actions, re-deliver raised or emitted events, or
|
|
850
745
|
* re-evaluate historical completion and eventless transitions. Active-state
|
|
851
746
|
* invokes start once in ancestor and document order with {@link InitialEvent};
|
|
852
|
-
*
|
|
853
|
-
* from their own initial state.
|
|
747
|
+
* timer invocations restart their complete duration and child-machine
|
|
748
|
+
* invocations start from their own initial state.
|
|
854
749
|
*
|
|
855
750
|
* Only logical state, completion, and history metadata are resumed. Queues,
|
|
856
751
|
* scopes, subscriptions, fibers, spawned children, invoke progress, and prior
|
package/dist/Machine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAelE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAW,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* @since 0.4.0
|
|
5
5
|
*/
|
|
6
6
|
/** @internal */
|
|
7
|
-
export declare const ActivityMetadataTypeId: unique symbol;
|
|
8
|
-
/** @internal */
|
|
9
7
|
export type StaticActivityMetadata = {
|
|
10
8
|
readonly type: "process";
|
|
11
9
|
} | {
|
|
@@ -16,8 +14,7 @@ export type StaticActivityMetadata = {
|
|
|
16
14
|
};
|
|
17
15
|
} | {
|
|
18
16
|
readonly type: "timer";
|
|
19
|
-
readonly duration: string;
|
|
20
|
-
readonly event: string;
|
|
17
|
+
readonly duration: string | "dynamic";
|
|
21
18
|
} | {
|
|
22
19
|
readonly type: "machine";
|
|
23
20
|
readonly child: {
|
|
@@ -26,13 +23,10 @@ export type StaticActivityMetadata = {
|
|
|
26
23
|
};
|
|
27
24
|
};
|
|
28
25
|
/** @internal */
|
|
29
|
-
export type ActivityDefinition<Source extends string = string> =
|
|
26
|
+
export type ActivityDefinition<Source extends string = string> = {
|
|
30
27
|
readonly source: Source;
|
|
31
28
|
readonly id: string;
|
|
32
|
-
} & StaticActivityMetadata
|
|
33
|
-
readonly source: Source;
|
|
34
|
-
readonly type: "dynamic";
|
|
35
|
-
};
|
|
29
|
+
} & StaticActivityMetadata;
|
|
36
30
|
interface InspectableMachine {
|
|
37
31
|
readonly handlers: unknown;
|
|
38
32
|
readonly stateNodes: {
|
|
@@ -46,9 +40,8 @@ interface InspectableMachine {
|
|
|
46
40
|
/**
|
|
47
41
|
* Collects state-owned activity descriptions without executing user code.
|
|
48
42
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* definition order and descriptor array order.
|
|
43
|
+
* Source factories are inspected without execution. Static descriptors are
|
|
44
|
+
* returned in state definition order and descriptor array order.
|
|
52
45
|
*
|
|
53
46
|
* @internal
|
|
54
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,GAC9B;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;QAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAAA;KACrC,CAAA;CACF,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAClC,CAAA;CACF,CAAA;AAEH,gBAAgB;AAChB,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,QAAQ,CAAC;gBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAC9C,CAAA;KACF,CAAA;CACF;AAwDD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,KAAG,aAAa,CAAC,kBAAkB,CAajG,CAAA"}
|
|
@@ -3,28 +3,61 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 0.4.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
export const ActivityMetadataTypeId = Symbol.for("effect/Machine/ActivityMetadata");
|
|
6
|
+
import * as Duration from "effect/Duration";
|
|
8
7
|
const isObject = (value) => (typeof value === "object" && value !== null) || typeof value === "function";
|
|
9
8
|
const getProperty = (value, key) => isObject(value) ? Reflect.get(value, key) : undefined;
|
|
10
|
-
const hasActivityMetadata = (value) => isObject(value) && typeof getProperty(value, "id") === "string" &&
|
|
11
|
-
isObject(getProperty(value, ActivityMetadataTypeId));
|
|
12
9
|
const appendStaticDefinition = (definitions, source, descriptor) => {
|
|
13
|
-
if (!
|
|
10
|
+
if (!isObject(descriptor))
|
|
11
|
+
return;
|
|
12
|
+
const child = getProperty(descriptor, "child");
|
|
13
|
+
if (isObject(child)) {
|
|
14
|
+
const id = getProperty(child, "id");
|
|
15
|
+
if (typeof id !== "string")
|
|
16
|
+
return;
|
|
17
|
+
const machine = getProperty(child, "machine");
|
|
18
|
+
const machineId = getProperty(machine, "id");
|
|
19
|
+
definitions.push({
|
|
20
|
+
source,
|
|
21
|
+
id,
|
|
22
|
+
type: "machine",
|
|
23
|
+
child: { id, machineId: typeof machineId === "string" ? machineId : null }
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const id = getProperty(descriptor, "id");
|
|
28
|
+
if (typeof id !== "string")
|
|
29
|
+
return;
|
|
30
|
+
if (Reflect.has(descriptor, "effect")) {
|
|
31
|
+
definitions.push({
|
|
32
|
+
source,
|
|
33
|
+
id,
|
|
34
|
+
type: "effect",
|
|
35
|
+
outcomes: {
|
|
36
|
+
success: "dynamic",
|
|
37
|
+
failure: Reflect.has(descriptor, "onFailure") ? "dynamic" : "none"
|
|
38
|
+
}
|
|
39
|
+
});
|
|
14
40
|
return;
|
|
15
41
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
42
|
+
if (Reflect.has(descriptor, "after")) {
|
|
43
|
+
const after = getProperty(descriptor, "after");
|
|
44
|
+
definitions.push({
|
|
45
|
+
source,
|
|
46
|
+
id,
|
|
47
|
+
type: "timer",
|
|
48
|
+
duration: typeof after === "function" ? "dynamic" : Duration.format(Duration.fromInputUnsafe(after))
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (Reflect.has(descriptor, "logic")) {
|
|
53
|
+
definitions.push({ source, id, type: "process" });
|
|
54
|
+
}
|
|
21
55
|
};
|
|
22
56
|
/**
|
|
23
57
|
* Collects state-owned activity descriptions without executing user code.
|
|
24
58
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* definition order and descriptor array order.
|
|
59
|
+
* Source factories are inspected without execution. Static descriptors are
|
|
60
|
+
* returned in state definition order and descriptor array order.
|
|
28
61
|
*
|
|
29
62
|
* @internal
|
|
30
63
|
*/
|
|
@@ -32,10 +65,7 @@ export const activityDefinitions = (machine) => {
|
|
|
32
65
|
const definitions = [];
|
|
33
66
|
for (const node of machine.stateNodes.byPath.values()) {
|
|
34
67
|
const invoke = getProperty(getProperty(machine.handlers, node.path), "invoke");
|
|
35
|
-
if (
|
|
36
|
-
definitions.push({ source: node.path, type: "dynamic" });
|
|
37
|
-
}
|
|
38
|
-
else if (Array.isArray(invoke)) {
|
|
68
|
+
if (Array.isArray(invoke)) {
|
|
39
69
|
for (const descriptor of invoke) {
|
|
40
70
|
appendStaticDefinition(definitions, node.path, descriptor);
|
|
41
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,9 +68,9 @@ type MachineResumeRequirementsOf<M extends Machine.Machine.Any> = MachineResumeR
|
|
|
68
68
|
type EnsureMachineExecutable<M extends Machine.Machine.Any> = IsAny<Machine.Machine.States<M>> extends true ? {
|
|
69
69
|
readonly "~effect/reactivity/AtomMachine/ConcreteMachineRequired": M;
|
|
70
70
|
} : EnsureExecutable<Machine.Machine.States<M>, Machine.Machine.UnhandledStates<M>, Machine.Machine.OutputStates<M>>;
|
|
71
|
-
type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M
|
|
71
|
+
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>;
|
|
72
72
|
export declare const make: {
|
|
73
|
-
<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.
|
|
73
|
+
<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>>;
|
|
74
74
|
};
|
|
75
75
|
export declare const resume: {
|
|
76
76
|
<M extends Machine.Machine.Any>(machine: M & EnsureNoExternalRequirements<MachineResumeRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>): ResumedMachineAtomOf<M, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.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":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EACL,KAAK,mBAAmB,EAYzB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"executionPlan.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/executionPlan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EACL,KAAK,mBAAmB,EAYzB,MAAM,oBAAoB,CAAA;AAgW3B,MAAM,WAAW,kBAAkB,CAAC,KAAK,GAAG,OAAO;IACjD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK,GAAG,OAAO;IACjD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAqgBD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,mBAAmB,KAAK,OAAO,CAAA;IAC3E,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,mBAAmB,CAAA;IACjE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC5D,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,gBAAgB,CAAC,EAAE,OAAO,KACvB,kBAAkB,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,KACzB;QACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;QAC/B,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAA;QACjD,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;QACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KACzB,CAAA;CACF;AA0DD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,cAAc,GAAG,sBAAsB,GAAG,MAAM,CAAA;AAEhG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IACzD,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAA;CACrC;AAuBD,uDAAuD;AACvD,eAAO,MAAM,6BAA6B,GACxC,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,qBAAqB,KAC9B,qBAA+D,CAAA;AAElE,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,CAAC,GAAG,KAAG,qBAW3D,CAAA"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { getTargetBuilder } from "./command.js";
|
|
7
7
|
import { compareDocumentOrder, completeConfigurationSync, getInitialEntryPaths, getPathToRoot, getRootPath, isActiveFinalConfiguration, isDescendantOf, normalizeConfigurationSync, normalizeTargetConfigurationSync, snapshotFromConfiguration, validateInitialConfiguration } from "./configuration.js";
|
|
8
8
|
import { InfiniteTransitionError } from "./errors.js";
|
|
9
|
+
import * as InvocationEvent from "./invocationEvent.js";
|
|
9
10
|
import { broadenTransitionBoundary, getEntryPaths, getExitPaths, getLeastCommonAncestor, getTargetNodePath, InitialEvent, MaxMacrostepIterations, normalizeTransition, planConfiguration, removeConflictingTransitions, sortEntryPaths, sortEvaluatedTransitions, sortExitPaths, validateDeclaredTransitionTarget } from "./planner.js";
|
|
10
11
|
import { decodeEmitSync, decodeEventSync, decodeInputSync, decodeStateValueSync } from "./protocol.js";
|
|
11
12
|
import { isSnapshot, isTarget, TargetSnapshotTypeId } from "./topology.js";
|
|
@@ -506,6 +507,30 @@ const planIndexedFlatState = (machine, descriptor, configuration, decoded, retai
|
|
|
506
507
|
}
|
|
507
508
|
};
|
|
508
509
|
const planIndexedState = (machine, descriptor, configuration, input, retainMicrosteps) => {
|
|
510
|
+
if (InvocationEvent.isInvocationEvent(input)) {
|
|
511
|
+
// Invocation lifecycle transitions retain the generic planner as their
|
|
512
|
+
// semantic reference. Ordinary machine events and initialization stay on
|
|
513
|
+
// the indexed representation; only the private lifecycle macrostep crosses
|
|
514
|
+
// the representation boundary.
|
|
515
|
+
const planned = planConfiguration(machine, activeConfigurationFromIndexedState(descriptor, configuration), input);
|
|
516
|
+
return {
|
|
517
|
+
next: ownedIndexedStateFromActive(descriptor, planned.next),
|
|
518
|
+
commands: planned.commands,
|
|
519
|
+
emittedEvents: planned.emittedEvents,
|
|
520
|
+
microsteps: planned.microsteps.map((step) => ({
|
|
521
|
+
next: ownedIndexedStateFromActive(descriptor, step.next),
|
|
522
|
+
event: step.event,
|
|
523
|
+
commands: step.commands,
|
|
524
|
+
raisedEvents: step.raisedEvents,
|
|
525
|
+
emittedEvents: step.emittedEvents,
|
|
526
|
+
exitPaths: step.exitPaths,
|
|
527
|
+
entryPaths: step.entryPaths,
|
|
528
|
+
changed: step.changed
|
|
529
|
+
})),
|
|
530
|
+
done: planned.done,
|
|
531
|
+
output: planned.output
|
|
532
|
+
};
|
|
533
|
+
}
|
|
509
534
|
const decoded = decodeEventSync(machine, input);
|
|
510
535
|
if (descriptor.flat) {
|
|
511
536
|
return planIndexedFlatState(machine, descriptor, configuration, decoded, retainMicrosteps);
|