@typeonce/effect-machine 0.3.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 (149) hide show
  1. package/README.md +203 -16
  2. package/dist/Machine.d.ts +784 -289
  3. package/dist/Machine.d.ts.map +1 -1
  4. package/dist/Machine.js +158 -528
  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} +14 -118
  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} +11 -60
  27. package/dist/internal/machine/configuration.d.ts.map +1 -0
  28. package/dist/internal/{machineModel.js → machine/configuration.js} +249 -544
  29. package/dist/internal/machine/configuration.js.map +1 -0
  30. package/dist/internal/{machineErrors.d.ts → machine/errors.d.ts} +1 -1
  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} +19 -27
  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} +35 -20
  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 +169 -31
  127. package/package.json +19 -10
  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.map +0 -1
  138. package/dist/internal/machinePlanner.d.ts +0 -74
  139. package/dist/internal/machinePlanner.d.ts.map +0 -1
  140. package/dist/internal/machinePlanner.js +0 -797
  141. package/dist/internal/machinePlanner.js.map +0 -1
  142. package/dist/internal/machineProcess.d.ts.map +0 -1
  143. package/dist/internal/machineProcess.js +0 -181
  144. package/dist/internal/machineProcess.js.map +0 -1
  145. package/dist/internal/machineRuntime.d.ts.map +0 -1
  146. package/dist/internal/machineRuntime.js +0 -365
  147. package/dist/internal/machineRuntime.js.map +0 -1
  148. package/dist/reactivity.d.ts.map +0 -1
  149. package/dist/reactivity.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/internal/machine/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Internal encoded snapshot serialization.
3
+ *
4
+ * @since 4.0.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import type { Machine } from "../../Machine.js";
8
+ import { MachineSchemaDecodeError, MachineSchemaEncodeError } from "./errors.js";
9
+ /** Defensively validates and normalizes an in-memory logical snapshot. Unlike
10
+ * the transport decoder this consumes decoded schema values. */
11
+ export declare const normalizeSnapshotEffect: <const States extends Machine.StateSchemas>(machine: Machine.Any, snapshot: Machine.Snapshot<States>) => Effect.Effect<Machine.Snapshot<States>, MachineSchemaDecodeError>;
12
+ export declare const encodeSnapshot: (machine: Machine.Any, snapshot: Machine.Snapshot<any>) => Effect.Effect<Machine.EncodedSnapshot, MachineSchemaEncodeError, unknown>;
13
+ export declare const decodeSnapshot: (machine: Machine.Any, encoded: unknown) => Effect.Effect<Machine.Snapshot<any>, MachineSchemaDecodeError, unknown>;
14
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/serialization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAe/C,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAgFhF;gEACgE;AAChE,eAAO,MAAM,uBAAuB,GAAI,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EAC/E,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAiCK,CAAA;AAiDxE,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CA2IH,CAAA;AAExE,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,CAAC,GAAG,EACpB,SAAS,OAAO,KACf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,wBAAwB,EAAE,OAAO,CA8JD,CAAA"}
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Internal encoded snapshot serialization.
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 Schema from "effect/Schema";
10
+ import { compareDocumentOrder, configurationFromSnapshot, getActiveChildPath, getActiveValue, getPathToRoot, isActiveFinalNode, isPathInSubtree, normalizeConfigurationEffect, snapshotFromConfiguration, validateHistoryRecordControl } from "./configuration.js";
11
+ import { MachineSchemaDecodeError, MachineSchemaEncodeError } from "./errors.js";
12
+ import { decodeBoundary } from "./protocol.js";
13
+ import { getNode, getStateNodeSchema } from "./topology.js";
14
+ const EncodedSnapshotSchema = Schema.Struct({
15
+ _tag: Schema.Literal("MachineSnapshot"),
16
+ active: Schema.Array(Schema.Struct({
17
+ path: Schema.String,
18
+ value: Schema.Unknown
19
+ })),
20
+ completed: Schema.optional(Schema.Array(Schema.Struct({
21
+ path: Schema.String,
22
+ output: Schema.optional(Schema.Unknown)
23
+ }))),
24
+ history: Schema.optional(Schema.Record(Schema.String, Schema.Struct({
25
+ mode: Schema.Literals(["shallow", "deep"]),
26
+ active: Schema.Array(Schema.String),
27
+ values: Schema.Record(Schema.String, Schema.Unknown)
28
+ })))
29
+ });
30
+ const encodeBoundary = (machine, schema, value, options) => Schema.encodeUnknownEffect(schema)(value).pipe(Effect.mapError((cause) => new MachineSchemaEncodeError({
31
+ machineId: machine.id,
32
+ boundary: options.boundary,
33
+ state: options.state,
34
+ cause
35
+ })));
36
+ const decodeEncodedBoundary = (machine, schema, value, options) => Schema.decodeUnknownEffect(schema)(value).pipe(Effect.mapError((cause) => new MachineSchemaDecodeError({
37
+ machineId: machine.id,
38
+ boundary: options.boundary,
39
+ state: options.state,
40
+ cause
41
+ })));
42
+ const getCompletionSchema = (machine, configuration, path) => {
43
+ const node = getNode(machine, path);
44
+ if (node.type === "compound") {
45
+ const child = getActiveChildPath(machine, configuration, path);
46
+ if (child === undefined) {
47
+ throw new Error(`Machine expected completed state "${path}" to have an active child`);
48
+ }
49
+ return getCompletionSchema(machine, configuration, child);
50
+ }
51
+ return node.output ?? Schema.Void;
52
+ };
53
+ /** Defensively validates and normalizes an in-memory logical snapshot. Unlike
54
+ * the transport decoder this consumes decoded schema values. */
55
+ export const normalizeSnapshotEffect = (machine, snapshot) => Effect.gen(function* () {
56
+ const configuration = yield* normalizeConfigurationEffect(machine, snapshot);
57
+ const outputs = new Map();
58
+ const completionPaths = new Set();
59
+ const completions = snapshot.completed ?? [];
60
+ if (!Array.isArray(completions)) {
61
+ throw new Error("Machine snapshot completion metadata must be an array");
62
+ }
63
+ for (const completion of completions) {
64
+ if (typeof completion !== "object" || completion === null ||
65
+ typeof completion.path !== "string") {
66
+ throw new Error("Machine snapshot contains malformed completion metadata");
67
+ }
68
+ const path = completion.path;
69
+ if (completionPaths.has(path)) {
70
+ throw new Error(`Machine snapshot contains duplicate completion "${path}"`);
71
+ }
72
+ if (!configuration.active.has(path) || !isActiveFinalNode(machine, configuration, path)) {
73
+ throw new Error(`Machine snapshot contains invalid completion "${path}"`);
74
+ }
75
+ completionPaths.add(path);
76
+ outputs.set(path, yield* decodeBoundary(machine, getCompletionSchema(machine, configuration, path), completion.output, {
77
+ boundary: "output",
78
+ state: path
79
+ }));
80
+ }
81
+ return snapshotFromConfiguration(machine, { ...configuration, outputs });
82
+ }).pipe(Effect.catchCause((cause) => failDecodeCause(machine, cause)));
83
+ const validateEncodedConfiguration = (machine, configuration) => {
84
+ const snapshot = snapshotFromConfiguration(machine, configuration);
85
+ const normalized = configurationFromSnapshot(machine, snapshot);
86
+ if (normalized.active.size !== configuration.active.size ||
87
+ Array.from(configuration.active).some((path) => !normalized.active.has(path))) {
88
+ throw new Error("Machine encoded snapshot contains states outside its active configuration");
89
+ }
90
+ return snapshot;
91
+ };
92
+ const failEncodeCause = (machine, cause) => {
93
+ const error = Cause.findErrorOption(cause);
94
+ return Option.isSome(error) && error.value instanceof MachineSchemaEncodeError
95
+ ? Effect.fail(error.value)
96
+ : Effect.fail(new MachineSchemaEncodeError({
97
+ machineId: machine.id,
98
+ boundary: "configuration",
99
+ cause
100
+ }));
101
+ };
102
+ const failDecodeCause = (machine, cause) => {
103
+ const error = Cause.findErrorOption(cause);
104
+ return Option.isSome(error) && error.value instanceof MachineSchemaDecodeError
105
+ ? Effect.fail(error.value)
106
+ : Effect.fail(new MachineSchemaDecodeError({
107
+ machineId: machine.id,
108
+ boundary: "configuration",
109
+ cause
110
+ }));
111
+ };
112
+ export const encodeSnapshot = (machine, snapshot) => Effect.gen(function* () {
113
+ const configuration = yield* normalizeConfigurationEffect(machine, snapshot).pipe(Effect.mapError((error) => new MachineSchemaEncodeError({
114
+ machineId: machine.id,
115
+ boundary: error.boundary === "state" || error.boundary === "history" ? error.boundary : "configuration",
116
+ ...(error.state === undefined ? {} : { state: error.state }),
117
+ cause: error.cause
118
+ })));
119
+ const completionPaths = new Set();
120
+ for (const completion of snapshot.completed ?? []) {
121
+ if (completionPaths.has(completion.path)) {
122
+ throw new Error(`Machine snapshot contains duplicate completion "${completion.path}"`);
123
+ }
124
+ if (!configuration.active.has(completion.path) || !isActiveFinalNode(machine, configuration, completion.path)) {
125
+ throw new Error(`Machine snapshot contains invalid completion "${completion.path}"`);
126
+ }
127
+ completionPaths.add(completion.path);
128
+ }
129
+ const active = [];
130
+ for (const path of Array.from(configuration.active).sort((left, right) => compareDocumentOrder(machine, left, right))) {
131
+ const node = getNode(machine, path);
132
+ active.push({
133
+ path,
134
+ value: yield* encodeBoundary(machine, getStateNodeSchema(node), getActiveValue(configuration, path), {
135
+ boundary: "state",
136
+ state: path
137
+ })
138
+ });
139
+ }
140
+ const completed = [];
141
+ for (const [path, output] of Array.from(configuration.outputs).sort(([left], [right]) => compareDocumentOrder(machine, left, right))) {
142
+ if (!configuration.active.has(path) || !isActiveFinalNode(machine, configuration, path)) {
143
+ throw new Error(`Machine encoded snapshot contains invalid completion "${path}"`);
144
+ }
145
+ const encodedOutput = yield* encodeBoundary(machine, getCompletionSchema(machine, configuration, path), output, {
146
+ boundary: "output",
147
+ state: path
148
+ });
149
+ completed.push({
150
+ path,
151
+ ...(encodedOutput === undefined ? {} : { output: encodedOutput })
152
+ });
153
+ }
154
+ const history = {};
155
+ for (const [historyPath, record] of Array.from(configuration.history).sort(([left], [right]) => left.localeCompare(right))) {
156
+ const historyNode = machine.stateNodes.byPath.get(historyPath);
157
+ if (historyNode === undefined || historyNode.type !== "history" || historyNode.parent !== record.parent ||
158
+ historyNode.history !== record.mode) {
159
+ return yield* Effect.fail(new MachineSchemaEncodeError({
160
+ machineId: machine.id,
161
+ boundary: "history",
162
+ state: historyPath,
163
+ cause: Cause.die(new Error(`Machine snapshot contains invalid history record "${historyPath}"`))
164
+ }));
165
+ }
166
+ try {
167
+ validateHistoryRecordControl(machine, record);
168
+ }
169
+ catch (cause) {
170
+ return yield* Effect.fail(new MachineSchemaEncodeError({
171
+ machineId: machine.id,
172
+ boundary: "history",
173
+ state: historyPath,
174
+ cause: Cause.die(cause)
175
+ }));
176
+ }
177
+ const encodedValues = {};
178
+ for (const path of record.active) {
179
+ const stateNode = machine.stateNodes.byPath.get(path);
180
+ if (stateNode === undefined || stateNode.type === "history" || stateNode.type === "choice" ||
181
+ !record.values.has(path) ||
182
+ !(isPathInSubtree(path, record.parent) || getPathToRoot(machine, record.parent).includes(path))) {
183
+ return yield* Effect.fail(new MachineSchemaEncodeError({
184
+ machineId: machine.id,
185
+ boundary: "history",
186
+ state: path,
187
+ cause: Cause.die(new Error(`Machine snapshot contains invalid remembered state "${path}"`))
188
+ }));
189
+ }
190
+ encodedValues[path] = yield* encodeBoundary(machine, getStateNodeSchema(stateNode), record.values.get(path), { boundary: "history", state: path });
191
+ }
192
+ if (record.values.size !== record.active.size) {
193
+ return yield* Effect.fail(new MachineSchemaEncodeError({
194
+ machineId: machine.id,
195
+ boundary: "history",
196
+ state: historyPath,
197
+ cause: Cause.die(new Error(`Machine history record "${historyPath}" contains values outside its paths`))
198
+ }));
199
+ }
200
+ history[historyPath] = {
201
+ mode: record.mode,
202
+ active: Array.from(record.active).sort((left, right) => compareDocumentOrder(machine, left, right)),
203
+ values: encodedValues
204
+ };
205
+ }
206
+ return {
207
+ _tag: "MachineSnapshot",
208
+ active,
209
+ ...(completed.length === 0 ? {} : { completed }),
210
+ ...(Object.keys(history).length === 0 ? {} : { history })
211
+ };
212
+ }).pipe(Effect.catchCause((cause) => failEncodeCause(machine, cause)));
213
+ export const decodeSnapshot = (machine, encoded) => Effect.gen(function* () {
214
+ const decoded = yield* Schema.decodeUnknownEffect(EncodedSnapshotSchema)(encoded).pipe(Effect.mapError((cause) => new MachineSchemaDecodeError({
215
+ machineId: machine.id,
216
+ boundary: "configuration",
217
+ cause
218
+ })));
219
+ const active = new Set();
220
+ const values = new Map();
221
+ for (const entry of decoded.active) {
222
+ if (active.has(entry.path)) {
223
+ throw new Error(`Machine encoded snapshot contains duplicate state "${entry.path}"`);
224
+ }
225
+ const node = getNode(machine, entry.path);
226
+ active.add(entry.path);
227
+ values.set(entry.path, yield* decodeEncodedBoundary(machine, getStateNodeSchema(node), entry.value, {
228
+ boundary: "state",
229
+ state: entry.path
230
+ }));
231
+ }
232
+ const history = new Map();
233
+ for (const [historyPath, encodedRecord] of Object.entries(decoded.history ?? {})) {
234
+ const historyNode = machine.stateNodes.byPath.get(historyPath);
235
+ if (historyNode === undefined || historyNode.type !== "history" || historyNode.parent === undefined ||
236
+ historyNode.history !== encodedRecord.mode) {
237
+ return yield* Effect.fail(new MachineSchemaDecodeError({
238
+ machineId: machine.id,
239
+ boundary: "history",
240
+ state: historyPath,
241
+ cause: Cause.die(new Error(`Machine encoded snapshot contains invalid history record "${historyPath}"`))
242
+ }));
243
+ }
244
+ const rememberedActive = new Set();
245
+ const rememberedValues = new Map();
246
+ for (const path of encodedRecord.active) {
247
+ if (rememberedActive.has(path)) {
248
+ return yield* Effect.fail(new MachineSchemaDecodeError({
249
+ machineId: machine.id,
250
+ boundary: "history",
251
+ state: path,
252
+ cause: Cause.die(new Error(`Machine encoded history contains duplicate state "${path}"`))
253
+ }));
254
+ }
255
+ const stateNode = machine.stateNodes.byPath.get(path);
256
+ if (stateNode === undefined || stateNode.type === "history" || stateNode.type === "choice" ||
257
+ !Object.prototype.hasOwnProperty.call(encodedRecord.values, path) ||
258
+ !(isPathInSubtree(path, historyNode.parent) || getPathToRoot(machine, historyNode.parent).includes(path))) {
259
+ return yield* Effect.fail(new MachineSchemaDecodeError({
260
+ machineId: machine.id,
261
+ boundary: "history",
262
+ state: path,
263
+ cause: Cause.die(new Error(`Machine encoded snapshot contains invalid remembered state "${path}"`))
264
+ }));
265
+ }
266
+ rememberedActive.add(path);
267
+ rememberedValues.set(path, yield* decodeEncodedBoundary(machine, getStateNodeSchema(stateNode), encodedRecord.values[path], {
268
+ boundary: "history",
269
+ state: path
270
+ }));
271
+ }
272
+ if (Object.keys(encodedRecord.values).length !== rememberedActive.size) {
273
+ return yield* Effect.fail(new MachineSchemaDecodeError({
274
+ machineId: machine.id,
275
+ boundary: "history",
276
+ state: historyPath,
277
+ cause: Cause.die(new Error(`Machine encoded history "${historyPath}" contains values outside its paths`))
278
+ }));
279
+ }
280
+ if (!rememberedActive.has(historyNode.parent)) {
281
+ return yield* Effect.fail(new MachineSchemaDecodeError({
282
+ machineId: machine.id,
283
+ boundary: "history",
284
+ state: historyPath,
285
+ cause: Cause.die(new Error(`Machine encoded history "${historyPath}" does not contain its parent state`))
286
+ }));
287
+ }
288
+ const record = {
289
+ mode: encodedRecord.mode,
290
+ parent: historyNode.parent,
291
+ active: rememberedActive,
292
+ values: rememberedValues
293
+ };
294
+ try {
295
+ validateHistoryRecordControl(machine, record);
296
+ }
297
+ catch (cause) {
298
+ return yield* Effect.fail(new MachineSchemaDecodeError({
299
+ machineId: machine.id,
300
+ boundary: "history",
301
+ state: historyPath,
302
+ cause: Cause.die(cause)
303
+ }));
304
+ }
305
+ history.set(historyPath, record);
306
+ }
307
+ const configuration = {
308
+ active,
309
+ values,
310
+ outputs: new Map(),
311
+ history
312
+ };
313
+ const snapshot = validateEncodedConfiguration(machine, configuration);
314
+ const completions = [];
315
+ const completionPaths = new Set();
316
+ for (const completion of decoded.completed ?? []) {
317
+ if (completionPaths.has(completion.path)) {
318
+ throw new Error(`Machine encoded snapshot contains duplicate completion "${completion.path}"`);
319
+ }
320
+ if (!active.has(completion.path) || !isActiveFinalNode(machine, configuration, completion.path)) {
321
+ throw new Error(`Machine encoded snapshot contains invalid completion "${completion.path}"`);
322
+ }
323
+ completionPaths.add(completion.path);
324
+ completions.push({
325
+ path: completion.path,
326
+ output: yield* decodeEncodedBoundary(machine, getCompletionSchema(machine, configuration, completion.path), completion.output, {
327
+ boundary: "output",
328
+ state: completion.path
329
+ })
330
+ });
331
+ }
332
+ if (completions.length > 0) {
333
+ ;
334
+ snapshot.completed = completions;
335
+ }
336
+ return snapshot;
337
+ }).pipe(Effect.catchCause((cause) => failDecodeCause(machine, cause)));
338
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/internal/machine/serialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const StateNodePropertyPolicy: {
2
+ readonly atomic: readonly ["schema", "type"];
3
+ readonly final: readonly ["schema", "type", "output"];
4
+ readonly compound: readonly ["schema", "type", "initial", "states"];
5
+ readonly parallel: readonly ["schema", "type", "output", "states"];
6
+ readonly history: readonly ["type", "history", "annotations"];
7
+ readonly choice: readonly ["type", "annotations"];
8
+ };
9
+ export declare const PseudoStateAnnotationProperties: readonly ["title", "description", "documentation"];
10
+ export type StateNodeKind = keyof typeof StateNodePropertyPolicy;
11
+ export type AllowedStateNodeProperty<Kind extends StateNodeKind> = (typeof StateNodePropertyPolicy)[Kind][number];
12
+ export type AllowedPseudoStateAnnotationProperty = (typeof PseudoStateAnnotationProperties)[number];
13
+ export type StateDefinitionBoundary = "Machine.defineStates" | "Machine.make";
14
+ export declare const validateStateDefinitions: (states: unknown, boundary: StateDefinitionBoundary) => void;
15
+ //# sourceMappingURL=stateDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateDefinition.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/stateDefinition.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB;;;;;;;CAO1B,CAAA;AAEV,eAAO,MAAM,+BAA+B,oDAAqD,CAAA;AAEjG,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,uBAAuB,CAAA;AAEhE,MAAM,MAAM,wBAAwB,CAAC,IAAI,SAAS,aAAa,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjH,MAAM,MAAM,oCAAoC,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnG,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG,cAAc,CAAA;AAsP7E,eAAO,MAAM,wBAAwB,GACnC,QAAQ,OAAO,EACf,UAAU,uBAAuB,KAChC,IAAsD,CAAA"}