@typeonce/effect-machine 0.2.0 → 0.4.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 (150) hide show
  1. package/README.md +345 -42
  2. package/dist/Machine.d.ts +1273 -347
  3. package/dist/Machine.d.ts.map +1 -1
  4. package/dist/Machine.js +161 -426
  5. package/dist/Machine.js.map +1 -1
  6. package/dist/internal/machine/activities.d.ts +57 -0
  7. package/dist/internal/machine/activities.d.ts.map +1 -0
  8. package/dist/internal/machine/activities.js +49 -0
  9. package/dist/internal/machine/activities.js.map +1 -0
  10. package/dist/internal/machine/atom.d.ts +69 -0
  11. package/dist/internal/machine/atom.d.ts.map +1 -0
  12. package/dist/{AtomMachine.js → internal/machine/atom.js} +19 -94
  13. package/dist/internal/machine/atom.js.map +1 -0
  14. package/dist/internal/machine/cluster.d.ts +63 -0
  15. package/dist/internal/machine/cluster.d.ts.map +1 -0
  16. package/dist/{ClusterMachine.js → internal/machine/cluster.js} +15 -119
  17. package/dist/internal/machine/cluster.js.map +1 -0
  18. package/dist/internal/machine/command.d.ts +16 -0
  19. package/dist/internal/machine/command.d.ts.map +1 -0
  20. package/dist/internal/machine/command.js +45 -0
  21. package/dist/internal/machine/command.js.map +1 -0
  22. package/dist/internal/machine/commandRuntime.d.ts +13 -0
  23. package/dist/internal/machine/commandRuntime.d.ts.map +1 -0
  24. package/dist/internal/machine/commandRuntime.js +16 -0
  25. package/dist/internal/machine/commandRuntime.js.map +1 -0
  26. package/dist/internal/{machineModel.d.ts → machine/configuration.d.ts} +32 -38
  27. package/dist/internal/machine/configuration.d.ts.map +1 -0
  28. package/dist/internal/machine/configuration.js +965 -0
  29. package/dist/internal/machine/configuration.js.map +1 -0
  30. package/dist/internal/{machineErrors.d.ts → machine/errors.d.ts} +3 -3
  31. package/dist/internal/machine/errors.d.ts.map +1 -0
  32. package/dist/internal/{machineErrors.js → machine/errors.js} +1 -1
  33. package/dist/internal/machine/errors.js.map +1 -0
  34. package/dist/internal/machine/executionPlan.d.ts +49 -0
  35. package/dist/internal/machine/executionPlan.d.ts.map +1 -0
  36. package/dist/internal/machine/executionPlan.js +667 -0
  37. package/dist/internal/machine/executionPlan.js.map +1 -0
  38. package/dist/internal/machine/invocation.d.ts +23 -0
  39. package/dist/internal/machine/invocation.d.ts.map +1 -0
  40. package/dist/internal/machine/invocation.js +77 -0
  41. package/dist/internal/machine/invocation.js.map +1 -0
  42. package/dist/internal/machine/machine.d.ts +183 -0
  43. package/dist/internal/machine/machine.d.ts.map +1 -0
  44. package/dist/internal/machine/machine.js +552 -0
  45. package/dist/internal/machine/machine.js.map +1 -0
  46. package/dist/internal/machine/planner.d.ts +182 -0
  47. package/dist/internal/machine/planner.d.ts.map +1 -0
  48. package/dist/internal/machine/planner.js +1082 -0
  49. package/dist/internal/machine/planner.js.map +1 -0
  50. package/dist/internal/{machineProcess.d.ts → machine/process.d.ts} +10 -4
  51. package/dist/internal/machine/process.d.ts.map +1 -0
  52. package/dist/internal/machine/process.js +446 -0
  53. package/dist/internal/machine/process.js.map +1 -0
  54. package/dist/internal/machine/protocol.d.ts +34 -0
  55. package/dist/internal/machine/protocol.d.ts.map +1 -0
  56. package/dist/internal/machine/protocol.js +182 -0
  57. package/dist/internal/machine/protocol.js.map +1 -0
  58. package/dist/internal/machine/readiness.d.ts +4 -0
  59. package/dist/internal/machine/readiness.d.ts.map +1 -0
  60. package/dist/internal/machine/readiness.js +2 -0
  61. package/dist/internal/machine/readiness.js.map +1 -0
  62. package/dist/internal/{machineRuntime.d.ts → machine/runtime.d.ts} +104 -2
  63. package/dist/internal/machine/runtime.d.ts.map +1 -0
  64. package/dist/internal/machine/runtime.js +1381 -0
  65. package/dist/internal/machine/runtime.js.map +1 -0
  66. package/dist/internal/machine/serialization.d.ts +14 -0
  67. package/dist/internal/machine/serialization.d.ts.map +1 -0
  68. package/dist/internal/machine/serialization.js +338 -0
  69. package/dist/internal/machine/serialization.js.map +1 -0
  70. package/dist/internal/machine/stateDefinition.d.ts +15 -0
  71. package/dist/internal/machine/stateDefinition.d.ts.map +1 -0
  72. package/dist/internal/machine/stateDefinition.js +210 -0
  73. package/dist/internal/machine/stateDefinition.js.map +1 -0
  74. package/dist/internal/machine/symbols.d.ts +3 -0
  75. package/dist/internal/machine/symbols.d.ts.map +1 -0
  76. package/dist/internal/machine/symbols.js +3 -0
  77. package/dist/internal/machine/symbols.js.map +1 -0
  78. package/dist/internal/machine/topology.d.ts +98 -0
  79. package/dist/internal/machine/topology.d.ts.map +1 -0
  80. package/dist/internal/machine/topology.js +347 -0
  81. package/dist/internal/machine/topology.js.map +1 -0
  82. package/dist/internal/testing/machine/arbitrary.d.ts +36 -0
  83. package/dist/internal/testing/machine/arbitrary.d.ts.map +1 -0
  84. package/dist/internal/testing/machine/arbitrary.js +68 -0
  85. package/dist/internal/testing/machine/arbitrary.js.map +1 -0
  86. package/dist/internal/testing/machine/finiteModel.d.ts +322 -0
  87. package/dist/internal/testing/machine/finiteModel.d.ts.map +1 -0
  88. package/dist/internal/testing/machine/finiteModel.js +976 -0
  89. package/dist/internal/testing/machine/finiteModel.js.map +1 -0
  90. package/dist/internal/testing/machine/referenceModel.d.ts +203 -0
  91. package/dist/internal/testing/machine/referenceModel.d.ts.map +1 -0
  92. package/dist/internal/testing/machine/referenceModel.js +1012 -0
  93. package/dist/internal/testing/machine/referenceModel.js.map +1 -0
  94. package/dist/internal/testing/machine/runtime.d.ts +328 -0
  95. package/dist/internal/testing/machine/runtime.d.ts.map +1 -0
  96. package/dist/internal/testing/machine/runtime.js +437 -0
  97. package/dist/internal/testing/machine/runtime.js.map +1 -0
  98. package/dist/internal/testing/machine/verification.d.ts +33 -0
  99. package/dist/internal/testing/machine/verification.d.ts.map +1 -0
  100. package/dist/internal/testing/machine/verification.js +1446 -0
  101. package/dist/internal/testing/machine/verification.js.map +1 -0
  102. package/dist/testing/MachineTest.d.ts +606 -0
  103. package/dist/testing/MachineTest.d.ts.map +1 -0
  104. package/dist/testing/MachineTest.js +102 -0
  105. package/dist/testing/MachineTest.js.map +1 -0
  106. package/dist/testing/index.d.ts +7 -0
  107. package/dist/testing/index.d.ts.map +1 -0
  108. package/dist/testing/index.js +7 -0
  109. package/dist/testing/index.js.map +1 -0
  110. package/dist/{ClusterMachine.d.ts → unstable/cluster/ClusterMachine.d.ts} +22 -30
  111. package/dist/unstable/cluster/ClusterMachine.d.ts.map +1 -0
  112. package/dist/unstable/cluster/ClusterMachine.js +126 -0
  113. package/dist/unstable/cluster/ClusterMachine.js.map +1 -0
  114. package/dist/{cluster.js → unstable/cluster/index.d.ts} +1 -1
  115. package/dist/unstable/cluster/index.d.ts.map +1 -0
  116. package/dist/{cluster.d.ts → unstable/cluster/index.js} +1 -1
  117. package/dist/unstable/cluster/index.js.map +1 -0
  118. package/dist/{AtomMachine.d.ts → unstable/reactivity/AtomMachine.d.ts} +40 -23
  119. package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -0
  120. package/dist/unstable/reactivity/AtomMachine.js +113 -0
  121. package/dist/unstable/reactivity/AtomMachine.js.map +1 -0
  122. package/dist/{reactivity.js → unstable/reactivity/index.d.ts} +1 -1
  123. package/dist/unstable/reactivity/index.d.ts.map +1 -0
  124. package/dist/{reactivity.d.ts → unstable/reactivity/index.js} +1 -1
  125. package/dist/unstable/reactivity/index.js.map +1 -0
  126. package/docs/agent-guide.md +271 -38
  127. package/package.json +23 -13
  128. package/dist/AtomMachine.d.ts.map +0 -1
  129. package/dist/AtomMachine.js.map +0 -1
  130. package/dist/ClusterMachine.d.ts.map +0 -1
  131. package/dist/ClusterMachine.js.map +0 -1
  132. package/dist/cluster.d.ts.map +0 -1
  133. package/dist/cluster.js.map +0 -1
  134. package/dist/internal/machineErrors.d.ts.map +0 -1
  135. package/dist/internal/machineErrors.js.map +0 -1
  136. package/dist/internal/machineModel.d.ts.map +0 -1
  137. package/dist/internal/machineModel.js +0 -766
  138. package/dist/internal/machineModel.js.map +0 -1
  139. package/dist/internal/machinePlanner.d.ts +0 -74
  140. package/dist/internal/machinePlanner.d.ts.map +0 -1
  141. package/dist/internal/machinePlanner.js +0 -621
  142. package/dist/internal/machinePlanner.js.map +0 -1
  143. package/dist/internal/machineProcess.d.ts.map +0 -1
  144. package/dist/internal/machineProcess.js +0 -181
  145. package/dist/internal/machineProcess.js.map +0 -1
  146. package/dist/internal/machineRuntime.d.ts.map +0 -1
  147. package/dist/internal/machineRuntime.js +0 -365
  148. package/dist/internal/machineRuntime.js.map +0 -1
  149. package/dist/reactivity.d.ts.map +0 -1
  150. package/dist/reactivity.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/internal/machine/planner.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,18 @@
5
5
  */
6
6
  import * as Effect from "effect/Effect";
7
7
  import type * as Schema from "effect/Schema";
8
- import type { ActionError, ExecutionServices, Machine, Runtime } from "../Machine.js";
9
- import type { InfiniteTransitionError, MachineSchemaDecodeError, StartupError, StoppedError } from "./machineErrors.js";
10
- import * as internalRuntime from "./machineRuntime.js";
8
+ import type { ActionError, ExecutionServices, Machine, Runtime } from "../../Machine.js";
9
+ import { InfiniteTransitionError, MachineSchemaDecodeError, StartupError } from "./errors.js";
10
+ import type { StoppedError } from "./errors.js";
11
+ import * as internalRuntime from "./runtime.js";
11
12
  type IsAny<A> = 0 extends (1 & A) ? true : false;
12
13
  type ExcludeCompatibleRuntime<Requirements, Events, Emits> = Requirements extends Runtime.Requirement<infer RequiredEvents, infer RequiredEmits> ? IsAny<Requirements> extends true ? Requirements : [RequiredEvents] extends [Events] ? [RequiredEmits] extends [Emits] ? never : Requirements : Requirements : Requirements;
13
14
  export declare const toProcessLogic: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => internalRuntime.ProcessLogic<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>, Output, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError>;
15
+ /** @internal Test-only runtime strategy selection for a fresh machine. */
16
+ export declare const startWithRuntimeStrategyForTesting: (machine: Machine.Any, strategy: internalRuntime.ProcessRuntimeStrategy, ...args: ReadonlyArray<unknown>) => Effect.Effect<internalRuntime.MachineRef<any, any, any, any>, any, any>;
17
+ /** @internal Test-only runtime strategy selection for a resumed machine. */
18
+ export declare const resumeWithRuntimeStrategyForTesting: (machine: Machine.Any, snapshot: Machine.Snapshot<any>, strategy: internalRuntime.ProcessRuntimeStrategy) => Effect.Effect<internalRuntime.MachineRef<any, any, any, any>, any, any>;
14
19
  export declare const start: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => Effect.Effect<internalRuntime.MachineRef<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, Output>, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>;
20
+ export declare const resume: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, snapshot: Machine.Snapshot<States>) => Effect.Effect<internalRuntime.MachineRef<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, Output>, MachineSchemaDecodeError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>;
15
21
  export {};
16
- //# sourceMappingURL=machineProcess.d.ts.map
22
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,446 @@
1
+ /**
2
+ * Internal machine process integration.
3
+ *
4
+ * @since 4.0.0
5
+ */
6
+ import * as Cause from "effect/Cause";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Option from "effect/Option";
9
+ import * as Queue from "effect/Queue";
10
+ import * as CommandRuntime from "./commandRuntime.js";
11
+ import * as Configuration from "./configuration.js";
12
+ import { InfiniteTransitionError, MachineSchemaDecodeError, StartupError } from "./errors.js";
13
+ import * as ExecutionPlan from "./executionPlan.js";
14
+ import * as Invocation from "./invocation.js";
15
+ import * as internalPlanner from "./planner.js";
16
+ import * as internalRuntime from "./runtime.js";
17
+ import * as Serialization from "./serialization.js";
18
+ const runSequentialDiscard = (effects) => effects.length === 0
19
+ ? Effect.void
20
+ : effects.length === 1
21
+ ? effects[0]
22
+ : Effect.all(effects, { discard: true });
23
+ const invokeCapabilityCache = new WeakMap();
24
+ const hasInvokeCapability = (machine) => {
25
+ const cached = invokeCapabilityCache.get(machine);
26
+ if (cached !== undefined) {
27
+ return cached;
28
+ }
29
+ const hasInvokes = Object.values(machine.handlers).some((config) => config.invoke !== undefined);
30
+ invokeCapabilityCache.set(machine, hasInvokes);
31
+ return hasInvokes;
32
+ };
33
+ const makeChildlessCompiledDrain = (machine, checkInitialFinal) => {
34
+ const executionPlan = ExecutionPlan.compileExecutionPlan(machine);
35
+ return (context) => {
36
+ let current = context.state();
37
+ if (checkInitialFinal && internalPlanner.isFinalState(machine, current)) {
38
+ return internalPlanner.getFinalOutputEffect(machine, current, internalPlanner.InitialEvent).pipe(Effect.map(Option.some));
39
+ }
40
+ let configuration = context.executionState;
41
+ let liveRuntime;
42
+ let loop;
43
+ loop = Effect.suspend(() => {
44
+ const pending = context.poll();
45
+ if (Option.isNone(pending)) {
46
+ context.executionState = undefined;
47
+ return Effect.succeed(Option.none());
48
+ }
49
+ let planned;
50
+ try {
51
+ planned = executionPlan.plan(configuration ?? executionPlan.fromConfiguration(Configuration.normalizeConfigurationSync(machine, current)), pending.value);
52
+ }
53
+ catch (error) {
54
+ return error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError
55
+ ? Effect.fail(error)
56
+ : Effect.die(error);
57
+ }
58
+ configuration = planned.next;
59
+ context.executionState = configuration;
60
+ if (planned.microsteps.length === 0) {
61
+ return loop;
62
+ }
63
+ const next = executionPlan.snapshot(planned.next);
64
+ const beforeCommit = planned.commands.length === 0
65
+ ? undefined
66
+ : CommandRuntime.runCommands(planned.commands, context.scope);
67
+ const afterCommit = planned.emittedEvents.length === 0
68
+ ? undefined
69
+ : CommandRuntime.runEmittedEvents(planned.emittedEvents, liveRuntime ??= CommandRuntime.makeLiveRuntime(machine, context.scope));
70
+ const commit = () => {
71
+ const notification = context.commit(next);
72
+ current = next;
73
+ return notification;
74
+ };
75
+ const continueAfterCommit = () => {
76
+ const continued = planned.done ? Effect.succeed(Option.some(planned.output)) : loop;
77
+ return afterCommit === undefined ? continued : afterCommit.pipe(Effect.andThen(continued));
78
+ };
79
+ const commitAndContinue = () => {
80
+ const notification = commit();
81
+ const continued = continueAfterCommit();
82
+ const effect = notification === undefined ? continued : notification.pipe(Effect.andThen(continued));
83
+ return notification === undefined && afterCommit === undefined
84
+ ? effect
85
+ : context.runAfterChanges(effect);
86
+ };
87
+ if (beforeCommit === undefined) {
88
+ return commitAndContinue();
89
+ }
90
+ return context.runAfterChanges(beforeCommit.pipe(Effect.andThen(Effect.suspend(commitAndContinue))));
91
+ });
92
+ return internalRuntime.provideMachineRuntime(loop, context.scope);
93
+ };
94
+ };
95
+ class InvokeExecutionState {
96
+ initialized = false;
97
+ initial;
98
+ constructor(initial) {
99
+ this.initial = initial;
100
+ }
101
+ }
102
+ const makeInvokingCompiledDrain = (machine, checkInitialFinal) => {
103
+ const executionPlan = ExecutionPlan.compileExecutionPlan(machine);
104
+ return (context) => {
105
+ let current = context.state();
106
+ if (checkInitialFinal && internalPlanner.isFinalState(machine, current)) {
107
+ return internalPlanner.getFinalOutputEffect(machine, current, internalPlanner.InitialEvent).pipe(Effect.map(Option.some));
108
+ }
109
+ const scope = context.scope;
110
+ const stored = context.executionState;
111
+ const execution = stored instanceof InvokeExecutionState
112
+ ? stored
113
+ : new InvokeExecutionState();
114
+ context.executionState = execution;
115
+ let liveRuntime;
116
+ let configuration;
117
+ let loop;
118
+ loop = Effect.suspend(() => {
119
+ const pending = context.poll();
120
+ if (Option.isNone(pending)) {
121
+ configuration = undefined;
122
+ return Effect.succeed(Option.none());
123
+ }
124
+ let planned;
125
+ try {
126
+ planned = executionPlan.plan(configuration ??
127
+ executionPlan.fromConfiguration(Configuration.normalizeConfigurationSync(machine, current)), pending.value);
128
+ }
129
+ catch (error) {
130
+ return error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError
131
+ ? Effect.fail(error)
132
+ : Effect.die(error);
133
+ }
134
+ configuration = planned.next;
135
+ if (planned.microsteps.length === 0) {
136
+ return loop;
137
+ }
138
+ const changed = planned.microsteps.some((step) => step.changed);
139
+ const exitPaths = changed ? planned.microsteps.flatMap((step) => step.exitPaths) : [];
140
+ const entryEvents = new Map();
141
+ if (changed) {
142
+ for (const step of planned.microsteps) {
143
+ if (step.changed) {
144
+ for (const path of step.entryPaths) {
145
+ entryEvents.set(path, step.event);
146
+ }
147
+ }
148
+ }
149
+ }
150
+ const activeConfiguration = executionPlan.toConfiguration(planned.next);
151
+ const next = executionPlan.snapshot(planned.next);
152
+ const beforeCommit = [];
153
+ if (planned.commands.length > 0) {
154
+ beforeCommit.push(CommandRuntime.runCommands(planned.commands, scope));
155
+ }
156
+ if (changed) {
157
+ const stopping = context.ownedChildren.stopPaths(exitPaths);
158
+ if (stopping !== undefined)
159
+ beforeCommit.push(stopping);
160
+ }
161
+ const afterCommit = [];
162
+ if (planned.emittedEvents.length > 0) {
163
+ afterCommit.push(CommandRuntime.runEmittedEvents(planned.emittedEvents, liveRuntime ??= CommandRuntime.makeLiveRuntime(machine, scope)));
164
+ }
165
+ if (planned.done) {
166
+ afterCommit.push(context.ownedChildren.stopAll());
167
+ }
168
+ else if (changed) {
169
+ for (const [path, entryEvent] of entryEvents) {
170
+ const starting = Invocation.startAll(machine, scope, context.ownedChildren, activeConfiguration, [path], entryEvent);
171
+ if (starting !== undefined)
172
+ afterCommit.push(starting);
173
+ }
174
+ }
175
+ const commit = () => {
176
+ const notification = context.commit(next);
177
+ current = next;
178
+ return notification;
179
+ };
180
+ const continueAfterCommit = () => {
181
+ const continued = planned.done ? Effect.succeed(Option.some(planned.output)) : loop;
182
+ return afterCommit.length === 0
183
+ ? continued
184
+ : runSequentialDiscard(afterCommit).pipe(Effect.andThen(continued));
185
+ };
186
+ const commitAndContinue = () => {
187
+ const notification = commit();
188
+ const continued = continueAfterCommit();
189
+ const effect = notification === undefined ? continued : notification.pipe(Effect.andThen(continued));
190
+ return notification === undefined && afterCommit.length === 0
191
+ ? effect
192
+ : context.runAfterChanges(effect);
193
+ };
194
+ if (beforeCommit.length === 0) {
195
+ return commitAndContinue();
196
+ }
197
+ return context.runAfterChanges(runSequentialDiscard(beforeCommit).pipe(Effect.andThen(Effect.suspend(commitAndContinue))));
198
+ });
199
+ const initialize = () => {
200
+ if (execution.initialized) {
201
+ return loop;
202
+ }
203
+ const seeded = execution.initial;
204
+ const initialConfiguration = seeded?.activeConfiguration ??
205
+ Configuration.normalizeConfigurationSync(machine, current);
206
+ configuration = seeded?.configuration ?? executionPlan.fromConfiguration(initialConfiguration);
207
+ const starting = Invocation.startAll(machine, scope, context.ownedChildren, initialConfiguration, seeded?.entryPaths ?? Configuration.getInitialEntryPaths(machine, initialConfiguration), internalPlanner.InitialEvent);
208
+ execution.initial = undefined;
209
+ execution.initialized = true;
210
+ return starting === undefined ? loop : starting.pipe(Effect.andThen(loop));
211
+ };
212
+ return internalRuntime.provideMachineRuntime(Effect.suspend(initialize), scope);
213
+ };
214
+ };
215
+ const makeProcessLogic = (machine, entry) => {
216
+ const hasInvokes = hasInvokeCapability(machine);
217
+ const executionPlan = ExecutionPlan.compileExecutionPlan(machine);
218
+ const initialArgs = entry._tag === "Initial" ? entry.args : [];
219
+ const compiledInitial = entry._tag === "Initial" ? executionPlan.initial : undefined;
220
+ const makeCompiledInitial = compiledInitial === undefined ? undefined : () => {
221
+ try {
222
+ const planned = compiledInitial(initialArgs);
223
+ const result = {
224
+ state: planned.state,
225
+ done: planned.done,
226
+ output: planned.output
227
+ };
228
+ return hasInvokes
229
+ ? {
230
+ ...result,
231
+ executionState: new InvokeExecutionState({
232
+ configuration: planned.configuration,
233
+ activeConfiguration: planned.activeConfiguration,
234
+ entryPaths: planned.initialEntryPaths
235
+ })
236
+ }
237
+ : result;
238
+ }
239
+ catch (error) {
240
+ throw error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError
241
+ ? error
242
+ : new StartupError({ cause: Cause.die(error) });
243
+ }
244
+ };
245
+ const makeInitial = (scope) => compiledInitial === undefined
246
+ ? internalRuntime.provideMachineRuntime(internalPlanner.planInitial(machine, ...initialArgs).pipe(Effect.flatMap((planned) => {
247
+ const commands = planned.commands.length === 0
248
+ ? undefined
249
+ : CommandRuntime.runCommands(planned.commands, scope);
250
+ const emitted = planned.emittedEvents.length === 0
251
+ ? undefined
252
+ : CommandRuntime.runEmittedEvents(planned.emittedEvents, CommandRuntime.makeLiveRuntime(machine, scope));
253
+ const result = Effect.succeed({
254
+ state: planned.state,
255
+ done: planned.done,
256
+ output: planned.output
257
+ });
258
+ return commands === undefined
259
+ ? emitted === undefined ? result : emitted.pipe(Effect.andThen(result))
260
+ : emitted === undefined
261
+ ? commands.pipe(Effect.andThen(result))
262
+ : commands.pipe(Effect.andThen(emitted), Effect.andThen(result));
263
+ })), scope)
264
+ : Effect.try({ try: makeCompiledInitial, catch: (error) => error });
265
+ return ({
266
+ execution: {
267
+ _tag: "Compiled",
268
+ childless: !hasInvokes,
269
+ initial: entry._tag === "Initial" ? makeInitial : undefined,
270
+ initialSync: makeCompiledInitial,
271
+ drain: {
272
+ _tag: "Owned",
273
+ run: hasInvokes
274
+ ? makeInvokingCompiledDrain(machine, entry._tag === "Resume")
275
+ : makeChildlessCompiledDrain(machine, entry._tag === "Resume")
276
+ }
277
+ },
278
+ initial: (scope) => entry._tag === "Resume"
279
+ ? internalRuntime.provideMachineRuntime(Serialization.normalizeSnapshotEffect(machine, entry.snapshot), scope)
280
+ : makeInitial(scope).pipe(Effect.map((initialized) => initialized.state)),
281
+ run: (context) => internalRuntime.provideMachineRuntime(Effect.gen(function* () {
282
+ const poll = context.poll ?? Queue.poll(context.mailbox);
283
+ const { receive, state, setState } = context;
284
+ let terminal;
285
+ let current = yield* state;
286
+ if (internalPlanner.isFinalState(machine, current)) {
287
+ return yield* internalPlanner.getFinalOutputEffect(machine, current, internalPlanner.InitialEvent);
288
+ }
289
+ if (!hasInvokes) {
290
+ // A queued batch is produced entirely by this worker, so its
291
+ // configuration is already validated. Drop both caches before
292
+ // blocking again so idle machines retain only the public snapshot.
293
+ // Keeping the loop in this generator avoids a suspended generator
294
+ // per iteration; every iteration still crosses Effect boundaries,
295
+ // so the Effect scheduler remains responsible for cooperative yield.
296
+ let configuration;
297
+ let pendingEvent = Option.none();
298
+ let pollEvent;
299
+ let liveRuntime;
300
+ while (terminal === undefined) {
301
+ const event = Option.isSome(pendingEvent) ? pendingEvent.value : yield* receive;
302
+ pendingEvent = Option.none();
303
+ let planned;
304
+ try {
305
+ planned = internalPlanner.planConfiguration(machine, configuration ?? Configuration.normalizeConfigurationSync(machine, current), event);
306
+ }
307
+ catch (error) {
308
+ if (error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError) {
309
+ return yield* error;
310
+ }
311
+ throw error;
312
+ }
313
+ configuration = planned.next;
314
+ if (planned.microsteps.length > 0) {
315
+ const next = Configuration.snapshotFromConfiguration(machine, planned.next);
316
+ yield* CommandRuntime.runCommands(planned.commands, context);
317
+ yield* setState(next);
318
+ current = next;
319
+ if (planned.emittedEvents.length > 0) {
320
+ yield* CommandRuntime.runEmittedEvents(planned.emittedEvents, liveRuntime ??= CommandRuntime.makeLiveRuntime(machine, context));
321
+ }
322
+ if (planned.done) {
323
+ terminal = { output: planned.output };
324
+ }
325
+ }
326
+ if (terminal === undefined) {
327
+ pendingEvent = yield* (pollEvent ??= poll);
328
+ if (Option.isNone(pendingEvent)) {
329
+ configuration = undefined;
330
+ pollEvent = undefined;
331
+ }
332
+ }
333
+ }
334
+ if (terminal === undefined) {
335
+ return yield* Effect.die(new Error("Machine process stopped receiving events before reaching a terminal configuration"));
336
+ }
337
+ return terminal.output;
338
+ }
339
+ // The execution descriptor requests this owner-local capability only
340
+ // when an invoking statechart is deliberately run by the generic
341
+ // reference strategy.
342
+ const ownedChildren = context.ownedChildren;
343
+ if (ownedChildren === undefined) {
344
+ return yield* Effect.die(new Error("Invoking statechart started without an owned child runtime"));
345
+ }
346
+ const startInvokes = (configuration, paths, event) => (Invocation.startAll(machine, context, ownedChildren, configuration, paths, event) ?? Effect.void);
347
+ const stopInvokes = (paths) => ownedChildren.stopPaths(paths) ?? Effect.void;
348
+ return yield* Effect.gen(function* () {
349
+ let configuration = yield* Configuration
350
+ .normalizeConfigurationEffect(machine, current);
351
+ yield* startInvokes(configuration, Configuration.getInitialEntryPaths(machine, configuration), internalPlanner.InitialEvent);
352
+ // As above, keep the normalized configuration only while this
353
+ // worker can continue draining an already queued batch.
354
+ configuration = undefined;
355
+ let pendingEvent = Option.none();
356
+ let pollEvent;
357
+ let liveRuntime;
358
+ // Match the compact non-invoke loop while retaining state-scoped
359
+ // child lifecycle work at the same ordered Effect boundaries.
360
+ while (terminal === undefined) {
361
+ const event = Option.isSome(pendingEvent) ? pendingEvent.value : yield* receive;
362
+ pendingEvent = Option.none();
363
+ let planned;
364
+ try {
365
+ planned = internalPlanner.planConfiguration(machine, configuration ?? Configuration.normalizeConfigurationSync(machine, current), event);
366
+ }
367
+ catch (error) {
368
+ if (error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError) {
369
+ return yield* error;
370
+ }
371
+ throw error;
372
+ }
373
+ configuration = planned.next;
374
+ if (planned.microsteps.length > 0) {
375
+ const changed = planned.microsteps.some((step) => step.changed);
376
+ const exitPaths = planned.microsteps.flatMap((step) => step.exitPaths);
377
+ const entryEvents = new Map();
378
+ for (const step of planned.microsteps) {
379
+ if (step.changed) {
380
+ for (const path of step.entryPaths) {
381
+ entryEvents.set(path, step.event);
382
+ }
383
+ }
384
+ }
385
+ const next = Configuration.snapshotFromConfiguration(machine, planned.next);
386
+ yield* CommandRuntime.runCommands(planned.commands, context);
387
+ if (changed) {
388
+ yield* stopInvokes(exitPaths);
389
+ }
390
+ yield* setState(next);
391
+ current = next;
392
+ if (planned.emittedEvents.length > 0) {
393
+ yield* CommandRuntime.runEmittedEvents(planned.emittedEvents, liveRuntime ??= CommandRuntime.makeLiveRuntime(machine, context));
394
+ }
395
+ if (planned.done) {
396
+ terminal = { output: planned.output };
397
+ yield* ownedChildren.stopAll();
398
+ }
399
+ else if (changed) {
400
+ for (const [path, entryEvent] of entryEvents) {
401
+ yield* startInvokes(planned.next, [path], entryEvent);
402
+ }
403
+ }
404
+ }
405
+ if (terminal === undefined) {
406
+ pendingEvent = yield* (pollEvent ??= poll);
407
+ if (Option.isNone(pendingEvent)) {
408
+ configuration = undefined;
409
+ pollEvent = undefined;
410
+ }
411
+ }
412
+ }
413
+ if (terminal === undefined) {
414
+ return yield* Effect.die(new Error("Machine process stopped receiving events before reaching a terminal configuration"));
415
+ }
416
+ return terminal.output;
417
+ }).pipe(Effect.onExit(() => ownedChildren.stopAll()));
418
+ }), context)
419
+ });
420
+ };
421
+ const initialProcessLogicCache = new WeakMap();
422
+ export const toProcessLogic = (machine, ...args) => {
423
+ if (args.length > 0) {
424
+ return makeProcessLogic(machine, { _tag: "Initial", args });
425
+ }
426
+ // The execution descriptor stores process-local invoke sessions by each
427
+ // runtime address and evaluates initialization/services on every start. A
428
+ // zero-argument descriptor is therefore safe to share for the lifetime of
429
+ // its immutable machine definition. Input-bearing and resumed starts retain
430
+ // their instance-specific entry values below.
431
+ const cached = initialProcessLogicCache.get(machine);
432
+ if (cached !== undefined) {
433
+ return cached;
434
+ }
435
+ const logic = makeProcessLogic(machine, { _tag: "Initial", args });
436
+ initialProcessLogicCache.set(machine, logic);
437
+ return logic;
438
+ };
439
+ const toResumedProcessLogic = (machine, snapshot) => makeProcessLogic(machine, { _tag: "Resume", snapshot });
440
+ /** @internal Test-only runtime strategy selection for a fresh machine. */
441
+ export const startWithRuntimeStrategyForTesting = (machine, strategy, ...args) => internalRuntime.startProcessWithStrategyForTesting(toProcessLogic(machine, ...args), strategy, machine.id === undefined ? undefined : { id: machine.id });
442
+ /** @internal Test-only runtime strategy selection for a resumed machine. */
443
+ export const resumeWithRuntimeStrategyForTesting = (machine, snapshot, strategy) => internalRuntime.startProcessWithStrategyForTesting(toResumedProcessLogic(machine, snapshot), strategy, machine.id === undefined ? undefined : { id: machine.id });
444
+ export const start = (machine, ...args) => internalRuntime.startProcess(toProcessLogic(machine, ...args), machine.id === undefined ? undefined : { id: machine.id });
445
+ export const resume = (machine, snapshot) => internalRuntime.startProcess(toResumedProcessLogic(machine, snapshot), machine.id === undefined ? undefined : { id: machine.id });
446
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/internal/machine/process.ts"],"names":[],"mappings":"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"}