@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,203 @@
1
+ /**
2
+ * Independent hierarchical, parallel, history, choice, and automatic-
3
+ * transition statechart semantics for finite test models.
4
+ *
5
+ * This module deliberately knows nothing about `Machine`, its snapshots, the
6
+ * finite-model compiler, target builders, or planner internals. The actual
7
+ * planner trace is treated as opaque data and projected structurally only at
8
+ * the comparison boundary.
9
+ *
10
+ * @internal
11
+ */
12
+ import * as Effect from "effect/Effect";
13
+ import type { FiniteModel } from "./finiteModel.js";
14
+ /**
15
+ * The deterministic value assigned to one active finite-model state.
16
+ *
17
+ * @category models
18
+ * @since 0.4.0
19
+ */
20
+ export interface ReferenceStateValue {
21
+ readonly _tag: string;
22
+ readonly value: number;
23
+ }
24
+ /**
25
+ * One output retained for an actively completed state.
26
+ *
27
+ * @category models
28
+ * @since 0.4.0
29
+ */
30
+ export interface ReferenceCompletion {
31
+ readonly path: string;
32
+ readonly output: string;
33
+ }
34
+ /**
35
+ * One independently captured shallow or deep history register.
36
+ *
37
+ * @category models
38
+ * @since 0.4.0
39
+ */
40
+ export interface ReferenceHistoryRecord {
41
+ readonly mode: "shallow" | "deep";
42
+ readonly active: ReadonlyArray<string>;
43
+ readonly values: Readonly<Record<string, ReferenceStateValue>>;
44
+ }
45
+ /**
46
+ * An independently interpreted finite-model configuration.
47
+ *
48
+ * @category models
49
+ * @since 0.4.0
50
+ */
51
+ export interface ReferenceState {
52
+ /** Active ancestors and leaf in state-definition order. */
53
+ readonly activePaths: ReadonlyArray<string>;
54
+ /** Deterministic state values keyed by active state path. */
55
+ readonly values: Readonly<Record<string, ReferenceStateValue>>;
56
+ /** Completed final and compound paths in completion order. */
57
+ readonly completions: ReadonlyArray<ReferenceCompletion>;
58
+ /** Logical history registers keyed by history pseudo-state path. */
59
+ readonly history: Readonly<Record<string, ReferenceHistoryRecord>>;
60
+ readonly status: "active" | "done";
61
+ readonly output: string | undefined;
62
+ }
63
+ /**
64
+ * One transition retained by the independent reference step.
65
+ *
66
+ * @category models
67
+ * @since 0.4.0
68
+ */
69
+ export interface ReferenceTransition {
70
+ readonly source: string;
71
+ readonly trigger: {
72
+ readonly type: "event";
73
+ readonly event: string;
74
+ } | {
75
+ readonly type: "always";
76
+ } | {
77
+ readonly type: "done";
78
+ } | {
79
+ readonly type: "choice";
80
+ };
81
+ readonly reenter: boolean;
82
+ readonly target: string | undefined;
83
+ readonly resolvedTarget: string | undefined;
84
+ }
85
+ /**
86
+ * The independently calculated planner microstep for one selected event.
87
+ *
88
+ * @category models
89
+ * @since 0.4.0
90
+ */
91
+ export interface ReferenceMicrostep {
92
+ readonly next: ReferenceState;
93
+ readonly event: string;
94
+ readonly transitions: ReadonlyArray<ReferenceTransition>;
95
+ readonly exitPaths: ReadonlyArray<string>;
96
+ readonly entryPaths: ReadonlyArray<string>;
97
+ readonly changed: boolean;
98
+ }
99
+ /**
100
+ * Startup semantics calculated without executing the real machine.
101
+ *
102
+ * @category models
103
+ * @since 0.4.0
104
+ */
105
+ export interface ReferenceInitialStep {
106
+ readonly startingState: ReferenceState;
107
+ readonly initialEntryPaths: ReadonlyArray<string>;
108
+ readonly state: ReferenceState;
109
+ readonly microsteps: ReadonlyArray<ReferenceMicrostep>;
110
+ readonly done: boolean;
111
+ readonly output: string | undefined;
112
+ }
113
+ /**
114
+ * One public event interpreted against a reference configuration.
115
+ *
116
+ * @category models
117
+ * @since 0.4.0
118
+ */
119
+ export interface ReferenceStep {
120
+ readonly index: number;
121
+ readonly event: string;
122
+ readonly before: ReferenceState;
123
+ readonly microsteps: ReadonlyArray<ReferenceMicrostep>;
124
+ readonly after: ReferenceState;
125
+ readonly done: boolean;
126
+ readonly output: string | undefined;
127
+ }
128
+ /**
129
+ * A complete, pure interpretation of a finite model and event sequence.
130
+ *
131
+ * @category models
132
+ * @since 0.4.0
133
+ */
134
+ export interface ReferenceTrace {
135
+ readonly events: ReadonlyArray<string>;
136
+ readonly initial: ReferenceInitialStep;
137
+ readonly steps: ReadonlyArray<ReferenceStep>;
138
+ readonly final: ReferenceState;
139
+ }
140
+ /**
141
+ * Location of one planner/reference disagreement.
142
+ *
143
+ * @category models
144
+ * @since 0.4.0
145
+ */
146
+ export interface ModelVerificationLocation {
147
+ readonly phase: "initial" | "event" | "final";
148
+ readonly eventIndex?: number;
149
+ readonly microstepIndex?: number;
150
+ }
151
+ type ModelStateField = "initial.startingState" | "initial.plan.startingState" | "initial.plan.state" | "step.before" | "microstep.next" | "step.plan.next" | "step.after" | "trace.final";
152
+ /**
153
+ * Stable semantic observation compared by the finite-model oracle.
154
+ *
155
+ * @category models
156
+ * @since 0.4.0
157
+ */
158
+ export type ModelVerificationField = `${ModelStateField}.${"activePaths" | "values" | "completions" | "history"}` | "event.tag" | "initial.startingConfiguration" | "initial.initialEntryPaths" | "initial.plan.initialEntryPaths" | "initial.configuration" | "initial.plan.microsteps" | "initial.plan.done" | "initial.plan.output" | "trace.steps.length" | "step.index" | "step.event" | "step.beforeConfiguration" | "step.plan.microsteps.length" | "microstep.event" | "microstep.transitions" | "microstep.exitPaths" | "microstep.entryPaths" | "microstep.changed" | "step.afterConfiguration" | "step.plan.done" | "step.plan.output" | "trace.finalConfiguration";
159
+ /**
160
+ * One structured semantic disagreement with the independent interpreter.
161
+ *
162
+ * @category models
163
+ * @since 0.4.0
164
+ */
165
+ export interface ModelVerificationMismatch {
166
+ readonly location: ModelVerificationLocation;
167
+ /** Stable dotted field identifying the compared observation. */
168
+ readonly field: ModelVerificationField;
169
+ readonly expected: unknown;
170
+ readonly actual: unknown;
171
+ readonly message: string;
172
+ }
173
+ declare const ModelVerificationError_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 & {
174
+ readonly _tag: "MachineTestModelVerificationError";
175
+ } & Readonly<A>;
176
+ /**
177
+ * All semantic disagreements found for one finite-model trace.
178
+ *
179
+ * @category errors
180
+ * @since 0.4.0
181
+ */
182
+ export declare class ModelVerificationError extends ModelVerificationError_base<{
183
+ readonly mismatches: ReadonlyArray<ModelVerificationMismatch>;
184
+ }> {
185
+ }
186
+ /**
187
+ * Purely interprets a hierarchical finite model without compiling or
188
+ * executing a `Machine`.
189
+ *
190
+ * @category verification
191
+ * @since 0.4.0
192
+ */
193
+ export declare const interpretModel: (model: FiniteModel, events: ReadonlyArray<string>) => ReferenceTrace;
194
+ /**
195
+ * Compares an opaque executable planner trace with the independent finite
196
+ * reference interpreter. The function accumulates every mismatch so shrunk
197
+ * counterexamples preserve the full semantic difference.
198
+ *
199
+ * @internal The public wrapper narrows `actualTrace` to `MachineTest.Trace`.
200
+ */
201
+ export declare const verifyModelTrace: (model: FiniteModel, actualTrace: unknown) => Effect.Effect<void, ModelVerificationError>;
202
+ export {};
203
+ //# sourceMappingURL=referenceModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceModel.d.ts","sourceRoot":"","sources":["../../../../src/internal/testing/machine/referenceModel.ts"],"names":[],"mappings":"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"}