@typeonce/effect-machine 0.3.0 → 0.5.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 (170) hide show
  1. package/README.md +410 -17
  2. package/dist/Machine.d.ts +1191 -510
  3. package/dist/Machine.d.ts.map +1 -1
  4. package/dist/Machine.js +371 -565
  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} +20 -95
  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} +12 -61
  27. package/dist/internal/machine/configuration.d.ts.map +1 -0
  28. package/dist/internal/{machineModel.js → machine/configuration.js} +250 -545
  29. package/dist/internal/machine/configuration.js.map +1 -0
  30. package/dist/internal/{machineErrors.d.ts → machine/errors.d.ts} +8 -8
  31. package/dist/internal/machine/errors.d.ts.map +1 -0
  32. package/dist/internal/{machineErrors.js → machine/errors.js} +8 -8
  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 +676 -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} +11 -5
  51. package/dist/internal/machine/process.d.ts.map +1 -0
  52. package/dist/internal/machine/process.js +498 -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/machine/runtime.d.ts +255 -0
  63. package/dist/internal/machine/runtime.d.ts.map +1 -0
  64. package/dist/internal/machine/runtime.js +1489 -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/exploration.d.ts +30 -0
  87. package/dist/internal/testing/machine/exploration.d.ts.map +1 -0
  88. package/dist/internal/testing/machine/exploration.js +237 -0
  89. package/dist/internal/testing/machine/exploration.js.map +1 -0
  90. package/dist/internal/testing/machine/finiteModel.d.ts +322 -0
  91. package/dist/internal/testing/machine/finiteModel.d.ts.map +1 -0
  92. package/dist/internal/testing/machine/finiteModel.js +976 -0
  93. package/dist/internal/testing/machine/finiteModel.js.map +1 -0
  94. package/dist/internal/testing/machine/invariant.d.ts +31 -0
  95. package/dist/internal/testing/machine/invariant.d.ts.map +1 -0
  96. package/dist/internal/testing/machine/invariant.js +214 -0
  97. package/dist/internal/testing/machine/invariant.js.map +1 -0
  98. package/dist/internal/testing/machine/probe.d.ts +26 -0
  99. package/dist/internal/testing/machine/probe.d.ts.map +1 -0
  100. package/dist/internal/testing/machine/probe.js +45 -0
  101. package/dist/internal/testing/machine/probe.js.map +1 -0
  102. package/dist/internal/testing/machine/referenceModel.d.ts +203 -0
  103. package/dist/internal/testing/machine/referenceModel.d.ts.map +1 -0
  104. package/dist/internal/testing/machine/referenceModel.js +1012 -0
  105. package/dist/internal/testing/machine/referenceModel.js.map +1 -0
  106. package/dist/internal/testing/machine/runtime.d.ts +631 -0
  107. package/dist/internal/testing/machine/runtime.d.ts.map +1 -0
  108. package/dist/internal/testing/machine/runtime.js +726 -0
  109. package/dist/internal/testing/machine/runtime.js.map +1 -0
  110. package/dist/internal/testing/machine/runtimeInvariant.d.ts +32 -0
  111. package/dist/internal/testing/machine/runtimeInvariant.d.ts.map +1 -0
  112. package/dist/internal/testing/machine/runtimeInvariant.js +334 -0
  113. package/dist/internal/testing/machine/runtimeInvariant.js.map +1 -0
  114. package/dist/internal/testing/machine/trace.d.ts +17 -0
  115. package/dist/internal/testing/machine/trace.d.ts.map +1 -0
  116. package/dist/internal/testing/machine/trace.js +94 -0
  117. package/dist/internal/testing/machine/trace.js.map +1 -0
  118. package/dist/internal/testing/machine/verification.d.ts +36 -0
  119. package/dist/internal/testing/machine/verification.d.ts.map +1 -0
  120. package/dist/internal/testing/machine/verification.js +1375 -0
  121. package/dist/internal/testing/machine/verification.js.map +1 -0
  122. package/dist/testing/MachineTest.d.ts +1588 -0
  123. package/dist/testing/MachineTest.d.ts.map +1 -0
  124. package/dist/testing/MachineTest.js +406 -0
  125. package/dist/testing/MachineTest.js.map +1 -0
  126. package/dist/testing/index.d.ts +7 -0
  127. package/dist/testing/index.d.ts.map +1 -0
  128. package/dist/testing/index.js +7 -0
  129. package/dist/testing/index.js.map +1 -0
  130. package/dist/{ClusterMachine.d.ts → unstable/cluster/ClusterMachine.d.ts} +56 -45
  131. package/dist/unstable/cluster/ClusterMachine.d.ts.map +1 -0
  132. package/dist/unstable/cluster/ClusterMachine.js +144 -0
  133. package/dist/unstable/cluster/ClusterMachine.js.map +1 -0
  134. package/dist/{cluster.js → unstable/cluster/index.d.ts} +1 -1
  135. package/dist/unstable/cluster/index.d.ts.map +1 -0
  136. package/dist/{cluster.d.ts → unstable/cluster/index.js} +1 -1
  137. package/dist/unstable/cluster/index.js.map +1 -0
  138. package/dist/{AtomMachine.d.ts → unstable/reactivity/AtomMachine.d.ts} +116 -50
  139. package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -0
  140. package/dist/unstable/reactivity/AtomMachine.js +164 -0
  141. package/dist/unstable/reactivity/AtomMachine.js.map +1 -0
  142. package/dist/{reactivity.js → unstable/reactivity/index.d.ts} +1 -1
  143. package/dist/unstable/reactivity/index.d.ts.map +1 -0
  144. package/dist/{reactivity.d.ts → unstable/reactivity/index.js} +1 -1
  145. package/dist/unstable/reactivity/index.js.map +1 -0
  146. package/docs/agent-guide.md +316 -31
  147. package/package.json +28 -10
  148. package/dist/AtomMachine.d.ts.map +0 -1
  149. package/dist/AtomMachine.js.map +0 -1
  150. package/dist/ClusterMachine.d.ts.map +0 -1
  151. package/dist/ClusterMachine.js.map +0 -1
  152. package/dist/cluster.d.ts.map +0 -1
  153. package/dist/cluster.js.map +0 -1
  154. package/dist/internal/machineErrors.d.ts.map +0 -1
  155. package/dist/internal/machineErrors.js.map +0 -1
  156. package/dist/internal/machineModel.d.ts.map +0 -1
  157. package/dist/internal/machineModel.js.map +0 -1
  158. package/dist/internal/machinePlanner.d.ts +0 -74
  159. package/dist/internal/machinePlanner.d.ts.map +0 -1
  160. package/dist/internal/machinePlanner.js +0 -797
  161. package/dist/internal/machinePlanner.js.map +0 -1
  162. package/dist/internal/machineProcess.d.ts.map +0 -1
  163. package/dist/internal/machineProcess.js +0 -181
  164. package/dist/internal/machineProcess.js.map +0 -1
  165. package/dist/internal/machineRuntime.d.ts +0 -125
  166. package/dist/internal/machineRuntime.d.ts.map +0 -1
  167. package/dist/internal/machineRuntime.js +0 -365
  168. package/dist/internal/machineRuntime.js.map +0 -1
  169. package/dist/reactivity.d.ts.map +0 -1
  170. package/dist/reactivity.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/internal/testing/machine/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * User-defined semantic invariants over retained causal runtime evidence.
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as Machine from "../../../Machine.js";
8
+ import type { CausalRuntimeEvidence, PlannerRuntimeAgreementViolation, RuntimeInvariant, RuntimeInvariantBuilder, RuntimeInvariantReport, RuntimeInvariantTranscript, RuntimeInvariantViolation } from "../../../testing/MachineTest.js";
9
+ type AnyMachine = Machine.Machine.Any;
10
+ export declare const runtimeInvariants: <M extends AnyMachine>(_machine: M) => RuntimeInvariantBuilder<M>;
11
+ declare const RuntimeInvariantError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
12
+ readonly _tag: "MachineTestRuntimeInvariantError";
13
+ } & Readonly<A>;
14
+ export declare class RuntimeInvariantError<M extends AnyMachine = AnyMachine> extends RuntimeInvariantError_base<{
15
+ readonly transcript: RuntimeInvariantTranscript<M>;
16
+ readonly violations: ReadonlyArray<RuntimeInvariantViolation<M>>;
17
+ readonly report: RuntimeInvariantReport;
18
+ }> {
19
+ }
20
+ export declare const checkRuntimeInvariants: <M extends AnyMachine, Error, Output>(machine: M, evidence: CausalRuntimeEvidence<M, Error, Output>, invariants: ReadonlyArray<RuntimeInvariant<M>>) => Effect.Effect<RuntimeInvariantReport, RuntimeInvariantError<M>>;
21
+ export declare const assertRuntimeInvariants: <M extends AnyMachine, Error, Output>(machine: M, transcript: CausalRuntimeEvidence<M, Error, Output>, invariants: ReadonlyArray<RuntimeInvariant<M>>) => Effect.Effect<void, RuntimeInvariantError<M>>;
22
+ declare const PlannerRuntimeAgreementError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
23
+ readonly _tag: "MachineTestPlannerRuntimeAgreementError";
24
+ } & Readonly<A>;
25
+ export declare class PlannerRuntimeAgreementError<M extends AnyMachine = AnyMachine> extends PlannerRuntimeAgreementError_base<{
26
+ readonly evidence: CausalRuntimeEvidence<M, unknown, unknown>;
27
+ readonly violations: ReadonlyArray<PlannerRuntimeAgreementViolation<M>>;
28
+ }> {
29
+ }
30
+ export declare const assertPlannerRuntimeAgreement: <M extends AnyMachine, Error, Output>(machine: M, evidence: CausalRuntimeEvidence<M, Error, Output>) => Effect.Effect<void, PlannerRuntimeAgreementError<M>>;
31
+ export {};
32
+ //# sourceMappingURL=runtimeInvariant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeInvariant.d.ts","sourceRoot":"","sources":["../../../../src/internal/testing/machine/runtimeInvariant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,EACV,qBAAqB,EAGrB,gCAAgC,EAGhC,gBAAgB,EAChB,uBAAuB,EAGvB,sBAAsB,EAEtB,0BAA0B,EAC1B,yBAAyB,EAO1B,MAAM,iCAAiC,CAAA;AAExC,KAAK,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;AAgErC,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,UAAU,EAAE,UAAU,CAAC,KAAG,uBAAuB,CAAC,CAAC,CAK3F,CAAA;;;;AAEJ,qBAAa,qBAAqB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,2BAE5E;IACA,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CACxC,CAAC;CAAG;AAsLL,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EACxE,SAAS,CAAC,EACV,UAAU,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EACjD,YAAY,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAqB7D,CAAA;AAEJ,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EACzE,SAAS,CAAC,EACV,YAAY,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EACnD,YAAY,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAC8B,CAAA;;;;AAE7E,qBAAa,4BAA4B,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,kCAEnF;IACA,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAA;CACxE,CAAC;CAAG;AAqFL,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAC/E,SAAS,CAAC,EACV,UAAU,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAkElD,CAAA"}
@@ -0,0 +1,334 @@
1
+ /**
2
+ * User-defined semantic invariants over retained causal runtime evidence.
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ import * as Data from "effect/Data";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Result from "effect/Result";
9
+ import * as Machine from "../../../Machine.js";
10
+ const validateName = (name) => {
11
+ if (name.trim().length === 0) {
12
+ throw new Error("MachineTest.runtimeInvariants expected name to be a non-empty string");
13
+ }
14
+ };
15
+ const validateRequirement = (options) => {
16
+ const minimum = options.require?.minObservations;
17
+ if (minimum !== undefined && (!Number.isSafeInteger(minimum) || minimum < 0)) {
18
+ throw new Error("MachineTest.runtimeInvariants expected minObservations to be a non-negative safe integer");
19
+ }
20
+ };
21
+ const snapshotInvariant = (name, check, options = {}) => {
22
+ validateName(name);
23
+ validateRequirement(options);
24
+ return Object.freeze({
25
+ _tag: "RuntimeSnapshotInvariant",
26
+ name,
27
+ observe: options.observe ?? "settled",
28
+ check,
29
+ ...(options.when === undefined ? {} : { when: options.when }),
30
+ ...(options.require === undefined ? {} : { require: Object.freeze({ ...options.require }) })
31
+ });
32
+ };
33
+ const commandInvariant = (name, check, options = {}) => {
34
+ validateName(name);
35
+ validateRequirement(options);
36
+ return Object.freeze({
37
+ _tag: "RuntimeCommandInvariant",
38
+ name,
39
+ check,
40
+ ...(options.when === undefined ? {} : { when: options.when }),
41
+ ...(options.require === undefined ? {} : { require: Object.freeze({ ...options.require }) })
42
+ });
43
+ };
44
+ const transcriptInvariant = (name, check, options = {}) => {
45
+ validateName(name);
46
+ validateRequirement(options);
47
+ return Object.freeze({
48
+ _tag: "RuntimeTranscriptInvariant",
49
+ name,
50
+ check,
51
+ ...(options.when === undefined ? {} : { when: options.when }),
52
+ ...(options.require === undefined ? {} : { require: Object.freeze({ ...options.require }) })
53
+ });
54
+ };
55
+ export const runtimeInvariants = (_machine) => Object.freeze({
56
+ snapshot: snapshotInvariant,
57
+ command: commandInvariant,
58
+ transcript: transcriptInvariant
59
+ });
60
+ export class RuntimeInvariantError extends Data.TaggedError("MachineTestRuntimeInvariantError") {
61
+ }
62
+ const normalizeTranscript = (transcript) => ({
63
+ commands: transcript.commands,
64
+ initial: transcript.initial,
65
+ records: transcript.records.map(({ actual, command, index }) => ({
66
+ index,
67
+ command,
68
+ result: actual.result,
69
+ snapshot: actual.snapshot,
70
+ awaited: actual.awaited
71
+ })),
72
+ final: transcript.final
73
+ });
74
+ const snapshotObservations = (machine, transcript, invariant) => {
75
+ const observations = [];
76
+ let observationIndex = 0;
77
+ const add = (snapshot, phase, record, awaitedIndex) => {
78
+ const context = {
79
+ machine,
80
+ transcript,
81
+ snapshot,
82
+ observationIndex,
83
+ phase,
84
+ commandIndex: record?.index,
85
+ awaitedIndex,
86
+ command: record?.command,
87
+ result: record?.result
88
+ };
89
+ observations.push({
90
+ context,
91
+ observationIndex,
92
+ commandIndex: record?.index,
93
+ ...(awaitedIndex === undefined ? {} : { awaitedIndex }),
94
+ phase,
95
+ ...(record === undefined ? {} : { command: record.command })
96
+ });
97
+ observationIndex += 1;
98
+ };
99
+ if (invariant.observe === "final") {
100
+ add(transcript.final, "final");
101
+ return observations;
102
+ }
103
+ if (invariant.observe === "settled" || invariant.observe === "all") {
104
+ add(transcript.initial, "initial");
105
+ for (const record of transcript.records)
106
+ add(record.snapshot, "command", record);
107
+ }
108
+ if (invariant.observe === "awaited" || invariant.observe === "all") {
109
+ for (const record of transcript.records) {
110
+ record.awaited.forEach((snapshot, awaitedIndex) => add(snapshot, "awaited", record, awaitedIndex));
111
+ }
112
+ }
113
+ return observations;
114
+ };
115
+ const commandObservations = (machine, transcript) => transcript.records.map((record, index) => ({
116
+ context: {
117
+ machine,
118
+ transcript,
119
+ record,
120
+ previous: transcript.records[index - 1],
121
+ index: record.index,
122
+ command: record.command,
123
+ result: record.result,
124
+ snapshot: record.snapshot,
125
+ awaited: record.awaited
126
+ },
127
+ commandIndex: record.index,
128
+ command: record.command
129
+ }));
130
+ const transcriptObservations = (machine, transcript) => [{
131
+ context: { machine, transcript },
132
+ commandIndex: undefined
133
+ }];
134
+ const scopeOf = (invariant) => {
135
+ switch (invariant._tag) {
136
+ case "RuntimeSnapshotInvariant":
137
+ return "snapshot";
138
+ case "RuntimeCommandInvariant":
139
+ return "command";
140
+ case "RuntimeTranscriptInvariant":
141
+ return "transcript";
142
+ }
143
+ };
144
+ const messageOf = (outcome) => outcome === true ? undefined : typeof outcome === "string" ? outcome : "Invariant predicate returned false";
145
+ const evaluateInvariant = (invariant, scope, observations) => {
146
+ let observed = 0;
147
+ let failures = 0;
148
+ const violations = [];
149
+ for (const observation of observations) {
150
+ if (invariant.when !== undefined && !invariant.when(observation.context))
151
+ continue;
152
+ observed += 1;
153
+ const message = messageOf(invariant.check(observation.context));
154
+ if (message === undefined)
155
+ continue;
156
+ failures += 1;
157
+ violations.push({
158
+ invariant: invariant.name,
159
+ scope,
160
+ kind: "predicate",
161
+ ...(observation.observationIndex === undefined ? {} : { observationIndex: observation.observationIndex }),
162
+ commandIndex: observation.commandIndex,
163
+ ...(observation.awaitedIndex === undefined ? {} : { awaitedIndex: observation.awaitedIndex }),
164
+ ...(observation.phase === undefined ? {} : { phase: observation.phase }),
165
+ ...(observation.command === undefined ? {} : { command: observation.command }),
166
+ message
167
+ });
168
+ }
169
+ const minimum = invariant.require?.minObservations ?? 0;
170
+ const insufficient = observed < minimum;
171
+ if (insufficient) {
172
+ violations.push({
173
+ invariant: invariant.name,
174
+ scope,
175
+ kind: "observations",
176
+ commandIndex: undefined,
177
+ message: `Invariant required at least ${minimum} observation${minimum === 1 ? "" : "s"} but observed ${observed}`
178
+ });
179
+ }
180
+ return {
181
+ check: {
182
+ invariant: invariant.name,
183
+ scope,
184
+ status: failures > 0 ? "failed" : insufficient ? "insufficient" : observed === 0 ? "untested" : "passed",
185
+ observations: observed,
186
+ failures
187
+ },
188
+ violations
189
+ };
190
+ };
191
+ export const checkRuntimeInvariants = (machine, evidence, invariants) => Effect.suspend(() => {
192
+ const transcript = normalizeTranscript(evidence);
193
+ const checks = [];
194
+ const violations = [];
195
+ for (const invariant of invariants) {
196
+ const scope = scopeOf(invariant);
197
+ const result = invariant._tag === "RuntimeSnapshotInvariant"
198
+ ? evaluateInvariant(invariant, scope, snapshotObservations(machine, transcript, invariant))
199
+ : invariant._tag === "RuntimeCommandInvariant"
200
+ ? evaluateInvariant(invariant, scope, commandObservations(machine, transcript))
201
+ : evaluateInvariant(invariant, scope, transcriptObservations(machine, transcript));
202
+ checks.push(result.check);
203
+ violations.push(...result.violations);
204
+ }
205
+ const report = { checks };
206
+ return violations.length === 0
207
+ ? Effect.succeed(report)
208
+ : Effect.fail(new RuntimeInvariantError({ transcript, violations, report }));
209
+ });
210
+ export const assertRuntimeInvariants = (machine, transcript, invariants) => checkRuntimeInvariants(machine, transcript, invariants).pipe(Effect.asVoid);
211
+ export class PlannerRuntimeAgreementError extends Data.TaggedError("MachineTestPlannerRuntimeAgreementError") {
212
+ }
213
+ const fingerprint = (value) => {
214
+ const active = new WeakSet();
215
+ const visit = (current) => {
216
+ if (current === undefined)
217
+ return ["undefined"];
218
+ if (current === null || typeof current === "boolean" || typeof current === "string")
219
+ return current;
220
+ if (typeof current === "number") {
221
+ if (Number.isNaN(current))
222
+ return ["number", "NaN"];
223
+ if (Object.is(current, -0))
224
+ return ["number", "-0"];
225
+ return current;
226
+ }
227
+ if (typeof current === "bigint")
228
+ return ["bigint", String(current)];
229
+ if (typeof current === "symbol")
230
+ return ["symbol", Symbol.keyFor(current) ?? String(current)];
231
+ if (typeof current === "function")
232
+ return ["function", current.name];
233
+ if (active.has(current))
234
+ return ["circular"];
235
+ active.add(current);
236
+ let result;
237
+ if (current instanceof Date) {
238
+ result = ["date", Number.isNaN(current.getTime()) ? "Invalid Date" : current.toISOString()];
239
+ }
240
+ else if (current instanceof Error) {
241
+ result = [
242
+ "error",
243
+ current.name,
244
+ current.message,
245
+ Object.keys(current).sort().map((key) => [key, visit(current[key])])
246
+ ];
247
+ }
248
+ else if (ArrayBuffer.isView(current)) {
249
+ result = [current.constructor.name, Array.from(current)];
250
+ }
251
+ else if (Array.isArray(current)) {
252
+ result = current.map(visit);
253
+ }
254
+ else if (current instanceof Map) {
255
+ result = [
256
+ "map",
257
+ Array.from(current, ([key, item]) => [visit(key), visit(item)]).sort((left, right) => JSON.stringify(left).localeCompare(JSON.stringify(right)))
258
+ ];
259
+ }
260
+ else if (current instanceof Set) {
261
+ result = [
262
+ "set",
263
+ Array.from(current, visit).sort((left, right) => JSON.stringify(left).localeCompare(JSON.stringify(right)))
264
+ ];
265
+ }
266
+ else {
267
+ result = Object.keys(current).sort().map((key) => [key, visit(current[key])]);
268
+ }
269
+ active.delete(current);
270
+ return result;
271
+ };
272
+ return JSON.stringify(visit(value));
273
+ };
274
+ const projection = (plan) => ({
275
+ after: plan.next,
276
+ completion: { done: plan.done, output: plan.output },
277
+ commands: plan.commands.length,
278
+ emittedEvents: plan.emittedEvents,
279
+ microsteps: plan.microsteps.map((microstep) => ({
280
+ next: microstep.next,
281
+ event: microstep.event,
282
+ commands: microstep.commands.length,
283
+ raisedEvents: microstep.raisedEvents,
284
+ emittedEvents: microstep.emittedEvents,
285
+ exitPaths: microstep.exitPaths,
286
+ entryPaths: microstep.entryPaths,
287
+ changed: microstep.changed
288
+ }))
289
+ });
290
+ export const assertPlannerRuntimeAgreement = (machine, evidence) => Effect.gen(function* () {
291
+ const violations = [];
292
+ const add = (record, field, message) => {
293
+ violations.push({ commandIndex: record.index, command: record.command, field, message });
294
+ };
295
+ for (const record of evidence.records) {
296
+ if (record.command._tag !== "Send" || record.actual.result._tag !== "SendProcessed")
297
+ continue;
298
+ const step = record.actual.result.step;
299
+ const planned = yield* Effect.result(Machine.plan(machine, step.before, record.command.event));
300
+ if (Result.isFailure(planned)) {
301
+ add(record, "planning", `Fresh planning failed: ${String(planned.failure)}`);
302
+ continue;
303
+ }
304
+ const expected = projection(planned.success);
305
+ const actual = projection(step.plan);
306
+ const compare = (field, left, right) => {
307
+ const actualFingerprint = fingerprint(left);
308
+ const expectedFingerprint = fingerprint(right);
309
+ if (actualFingerprint !== expectedFingerprint) {
310
+ add(record, field, `Runtime ${field} disagreed with fresh planning: expected ${expectedFingerprint}, actual ${actualFingerprint}`);
311
+ }
312
+ };
313
+ compare("planNext", actual.after, expected.after);
314
+ compare("after", step.after, expected.after);
315
+ compare("completion", actual.completion, expected.completion);
316
+ compare("commands", actual.commands, expected.commands);
317
+ compare("emittedEvents", actual.emittedEvents, expected.emittedEvents);
318
+ compare("microsteps", actual.microsteps, expected.microsteps);
319
+ const handled = planned.success.microsteps.length > 0;
320
+ if (step.handled !== handled)
321
+ add(record, "handled", `Expected handled=${handled} but observed ${step.handled}`);
322
+ const configurationChanged = planned.success.microsteps.some(({ changed }) => changed);
323
+ if (step.configurationChanged !== configurationChanged) {
324
+ add(record, "configurationChanged", `Expected configurationChanged=${configurationChanged} but observed ${step.configurationChanged}`);
325
+ }
326
+ }
327
+ if (violations.length > 0) {
328
+ return yield* new PlannerRuntimeAgreementError({
329
+ evidence: evidence,
330
+ violations
331
+ });
332
+ }
333
+ });
334
+ //# sourceMappingURL=runtimeInvariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeInvariant.js","sourceRoot":"","sources":["../../../../src/internal/testing/machine/runtimeInvariant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Planner trace construction shared by scenario runs and graph exploration.
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as Machine from "../../../Machine.js";
8
+ import type { RunError, RunFailure, RunServices, Scenario, Trace } from "../../../testing/MachineTest.js";
9
+ import type { EnsureExecutable } from "../../machine/readiness.js";
10
+ type AnyMachine = Machine.Machine.Any;
11
+ type StatePath<M extends AnyMachine> = Machine.Machine.StateIdentifier<Machine.Machine.States<M>>;
12
+ type ReadyMachine<M extends AnyMachine> = M & EnsureExecutable<Machine.Machine.States<M>, Machine.Machine.UnhandledStates<M>, Machine.Machine.OutputStates<M>>;
13
+ export declare const rawConfigurationPaths: <M extends AnyMachine>(machine: M, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>) => ReadonlyArray<StatePath<M>>;
14
+ export declare const appendTrace: <M extends AnyMachine>(machine: ReadyMachine<M>, trace: Trace<M>, event: Machine.Machine.InputEvent<M>, scenario: Scenario<M>) => Effect.Effect<Trace<M>, RunFailure<RunError<M>, M>, RunServices<M>>;
15
+ export declare const run: <M extends AnyMachine>(machine: ReadyMachine<M>, scenario: Scenario<M>) => Effect.Effect<Trace<M>, RunFailure<RunError<M>, M>, RunServices<M>>;
16
+ export {};
17
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../../src/internal/testing/machine/trace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,EAIV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,KAAK,EAEN,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,KAAK,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;AAIrC,KAAK,SAAS,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjG,KAAK,YAAY,CAAC,CAAC,SAAS,UAAU,IAClC,CAAC,GACD,gBAAgB,CAChB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAClC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAChC,CAAA;AAEH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,UAAU,EACxD,SAAS,CAAC,EACV,UAAU,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC5D,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAe5B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,UAAU,EAC9C,SAAS,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EACpC,UAAU,QAAQ,CAAC,CAAC,CAAC,KACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAsCpE,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,SAAS,UAAU,EACrC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAClB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CA6CrE,CAAA"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Planner trace construction shared by scenario runs and graph exploration.
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as Schema from "effect/Schema";
8
+ import * as Machine from "../../../Machine.js";
9
+ export const rawConfigurationPaths = (machine, snapshot) => {
10
+ const active = new Set();
11
+ const visit = (current) => {
12
+ if (typeof current !== "object" || current === null)
13
+ return;
14
+ const value = current;
15
+ if (typeof value.path === "string")
16
+ active.add(value.path);
17
+ if (value.state !== undefined)
18
+ visit(value.state);
19
+ if (typeof value.states === "object" && value.states !== null) {
20
+ for (const child of Object.values(value.states))
21
+ visit(child);
22
+ }
23
+ };
24
+ visit(snapshot);
25
+ return Machine.stateNodes(machine)
26
+ .filter((node) => node.type !== "history" && node.type !== "choice" && active.has(node.path))
27
+ .map((node) => node.path);
28
+ };
29
+ export const appendTrace = (machine, trace, event, scenario) => {
30
+ const index = trace.steps.length;
31
+ const before = trace.final;
32
+ const beforeConfiguration = rawConfigurationPaths(machine, before);
33
+ return Machine.plan(machine, before, event).pipe(Effect.mapError((cause) => ({
34
+ _tag: "MachineTestRunFailure",
35
+ scenario,
36
+ phase: "event",
37
+ eventIndex: index,
38
+ event,
39
+ initial: trace.initial,
40
+ steps: trace.steps.slice(),
41
+ cause
42
+ })), Effect.map((plan) => {
43
+ const step = {
44
+ index,
45
+ before,
46
+ beforeConfiguration,
47
+ event,
48
+ plan,
49
+ after: plan.next,
50
+ afterConfiguration: rawConfigurationPaths(machine, plan.next)
51
+ };
52
+ return {
53
+ scenario,
54
+ initial: trace.initial,
55
+ steps: [...trace.steps, step],
56
+ final: plan.next,
57
+ finalConfiguration: step.afterConfiguration
58
+ };
59
+ }));
60
+ };
61
+ export const run = Effect.fnUntraced(function* (machine, scenario) {
62
+ const initialEffect = (machine.input === undefined || machine.input === Schema.Void
63
+ ? Machine.planInitial(machine)
64
+ : Machine.planInitial(machine, scenario.input));
65
+ const initial = yield* initialEffect.pipe(Effect.mapError((cause) => ({
66
+ _tag: "MachineTestRunFailure",
67
+ scenario,
68
+ phase: "initial",
69
+ eventIndex: undefined,
70
+ event: undefined,
71
+ initial: undefined,
72
+ steps: [],
73
+ cause
74
+ })));
75
+ const initialTrace = {
76
+ plan: initial,
77
+ startingState: initial.startingState,
78
+ startingConfiguration: rawConfigurationPaths(machine, initial.startingState),
79
+ initialEntryPaths: initial.initialEntryPaths,
80
+ configuration: rawConfigurationPaths(machine, initial.state)
81
+ };
82
+ let trace = {
83
+ scenario,
84
+ initial: initialTrace,
85
+ steps: [],
86
+ final: initial.state,
87
+ finalConfiguration: initialTrace.configuration
88
+ };
89
+ for (const event of scenario.events) {
90
+ trace = yield* appendTrace(machine, trace, event, scenario);
91
+ }
92
+ return trace;
93
+ });
94
+ //# sourceMappingURL=trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../../src/internal/testing/machine/trace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Property-based scenario generation and planner trace utilities.
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as Machine from "../../../Machine.js";
8
+ import type { Coverage, ObservedGraph, RunFailure, ScenarioOptions, Scenarios, Trace, VerificationViolation, VerifyOptions } from "../../../testing/MachineTest.js";
9
+ import type { FiniteModel } from "./finiteModel.js";
10
+ import * as ReferenceModel from "./referenceModel.js";
11
+ import { run } from "./trace.js";
12
+ export { advanceCommand, type CausalRuntimeAssertionContext, type CausalRuntimeCommandActual, CausalRuntimeCommandFailure, type CausalRuntimeCommandRecord, type CausalRuntimeCommandResult, type CausalRuntimeInspectionContext, type CausalRuntimeModelOptions, type CausalRuntimeModelStep, type CausalRuntimeTranscript, type CausalVerificationAwaitContext, type CausalVerificationOptions, type CausalVerificationTranscript, checkpointCommand, type EnqueuedRuntimeAssertionContext, type EnqueuedRuntimeCommandActual, type EnqueuedRuntimeCommandRecord, type EnqueuedRuntimeInspectionContext, type EnqueuedRuntimeModelOptions, type EnqueuedRuntimeModelStep, type EnqueuedRuntimeTranscript, formatCausalTranscript, formatEnqueuedTranscript, formatRuntimeTranscript, runCausalCommands, runEnqueuedCommands, runRuntimeCommands, type RuntimeAssertionContext, type RuntimeAwait, type RuntimeCommand, type RuntimeCommandActual, RuntimeCommandFailure, type RuntimeCommandRecord, type RuntimeCommandResult, type RuntimeCommands, runtimeCommands, type RuntimeCommandsDiagnostics, type RuntimeCommandsOptions, type RuntimeInspectionContext, type RuntimeModelOptions, type RuntimeModelStep, RuntimeObservationError, RuntimeSynchronization, type RuntimeTranscript, sendCommand, stopCommand, verifyCausalCommands } from "./runtime.js";
13
+ export type { SchemaArbitraryOpaqueFilterWarning, SchemaArbitraryReport, SchemaArbitraryWarning } from "./arbitrary.js";
14
+ export { compileModel, type FiniteAtomicState, type FiniteAutomaticTransition, type FiniteCompoundState, type FiniteEventTransition, type FiniteFinalState, type FiniteHistoryMutation, type FiniteHistoryScenario, type FiniteHistoryState, type FiniteHistoryTransfer, type FiniteModel, type FiniteModelDiagnostics, type FiniteModelOptions, type FiniteModels, finiteModels, type FiniteParallelState, type FiniteState, type FiniteTransition, type FiniteTransitionTrigger } from "./finiteModel.js";
15
+ export { ModelVerificationError, type ModelVerificationField, type ModelVerificationLocation, type ModelVerificationMismatch, type ReferenceCompletion, type ReferenceHistoryRecord, type ReferenceInitialStep, type ReferenceMicrostep, type ReferenceState, type ReferenceStateValue, type ReferenceStep, type ReferenceTrace, type ReferenceTransition } from "./referenceModel.js";
16
+ export { assertInvariants, checkInvariants, Invariant, InvariantError, invariants } from "./invariant.js";
17
+ export { assertPlannerRuntimeAgreement, assertRuntimeInvariants, checkRuntimeInvariants, PlannerRuntimeAgreementError, RuntimeInvariantError, runtimeInvariants } from "./runtimeInvariant.js";
18
+ export { assertReachable, assertUnreachable, explore, findShortest, ReachabilityError } from "./exploration.js";
19
+ export { probe, ProbeUnavailableError } from "./probe.js";
20
+ export { run };
21
+ export declare const interpretModel: (model: FiniteModel, events: ReadonlyArray<string>) => ReferenceModel.ReferenceTrace;
22
+ type AnyMachine = Machine.Machine.Any;
23
+ export declare const scenarios: <M extends AnyMachine>(machine: M, options?: ScenarioOptions<M>) => Scenarios<M>;
24
+ export declare const verifyModel: <M extends AnyMachine>(model: FiniteModel, actualTrace: Trace<M>) => Effect.Effect<void, ReferenceModel.ModelVerificationError>;
25
+ export declare const coverage: <M extends AnyMachine>(machine: M, traceOrTraces: Trace<M> | ReadonlyArray<Trace<M>>) => Coverage<M>;
26
+ export declare const observedGraph: <M extends AnyMachine>(machine: M, traceOrTraces: Trace<M> | ReadonlyArray<Trace<M>>) => Effect.Effect<ObservedGraph<M>, Machine.MachineSchemaEncodeError, Machine.Machine.SnapshotEncodingServices<Machine.Machine.States<M>>>;
27
+ declare const VerificationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
28
+ readonly _tag: "MachineTestVerificationError";
29
+ } & Readonly<A>;
30
+ export declare class VerificationError extends VerificationError_base<{
31
+ readonly violations: ReadonlyArray<VerificationViolation>;
32
+ }> {
33
+ }
34
+ export declare const verify: <M extends AnyMachine>(machine: M, trace: Trace<M>, options?: VerifyOptions) => Effect.Effect<void, VerificationError>;
35
+ export declare const formatTrace: <M extends AnyMachine, Cause>(trace: Trace<M> | RunFailure<Cause, M>) => string;
36
+ //# sourceMappingURL=verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../src/internal/testing/machine/verification.ts"],"names":[],"mappings":"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"}