@typeonce/ritmo-devtools 0.6.0 → 0.8.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 (72) hide show
  1. package/README.md +105 -21
  2. package/dist/Determinism.d.ts +70 -0
  3. package/dist/Determinism.d.ts.map +1 -0
  4. package/dist/Determinism.js +137 -0
  5. package/dist/Determinism.js.map +1 -0
  6. package/dist/Format.d.ts +8 -1
  7. package/dist/Format.d.ts.map +1 -1
  8. package/dist/Format.js +47 -5
  9. package/dist/Format.js.map +1 -1
  10. package/dist/Invariant.d.ts +34 -12
  11. package/dist/Invariant.d.ts.map +1 -1
  12. package/dist/Invariant.js +6 -19
  13. package/dist/Invariant.js.map +1 -1
  14. package/dist/Lint.d.ts +60 -0
  15. package/dist/Lint.d.ts.map +1 -0
  16. package/dist/Lint.js +15 -0
  17. package/dist/Lint.js.map +1 -0
  18. package/dist/Monitor.d.ts +18 -4
  19. package/dist/Monitor.d.ts.map +1 -1
  20. package/dist/Monitor.js +32 -21
  21. package/dist/Monitor.js.map +1 -1
  22. package/dist/Replay.d.ts +271 -0
  23. package/dist/Replay.d.ts.map +1 -0
  24. package/dist/Replay.js +335 -0
  25. package/dist/Replay.js.map +1 -0
  26. package/dist/ReplayNodeSink.d.ts +11 -0
  27. package/dist/ReplayNodeSink.d.ts.map +1 -0
  28. package/dist/ReplayNodeSink.js +29 -0
  29. package/dist/ReplayNodeSink.js.map +1 -0
  30. package/dist/ReplayVitePlugin.d.ts +41 -0
  31. package/dist/ReplayVitePlugin.d.ts.map +1 -0
  32. package/dist/ReplayVitePlugin.js +41 -0
  33. package/dist/ReplayVitePlugin.js.map +1 -0
  34. package/dist/ReplayViteSink.d.ts +30 -0
  35. package/dist/ReplayViteSink.d.ts.map +1 -0
  36. package/dist/ReplayViteSink.js +9 -0
  37. package/dist/ReplayViteSink.js.map +1 -0
  38. package/dist/Session.d.ts +66 -14
  39. package/dist/Session.d.ts.map +1 -1
  40. package/dist/Session.js +93 -7
  41. package/dist/Session.js.map +1 -1
  42. package/dist/cli.d.ts +3 -0
  43. package/dist/cli.d.ts.map +1 -0
  44. package/dist/cli.js +57 -0
  45. package/dist/cli.js.map +1 -0
  46. package/dist/index.d.ts +3 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +3 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/internal/monitor.d.ts +4 -2
  51. package/dist/internal/monitor.d.ts.map +1 -1
  52. package/dist/internal/monitor.js +9 -3
  53. package/dist/internal/monitor.js.map +1 -1
  54. package/dist/internal/version.d.ts +7 -0
  55. package/dist/internal/version.d.ts.map +1 -0
  56. package/dist/internal/version.js +7 -0
  57. package/dist/internal/version.js.map +1 -0
  58. package/package.json +5 -2
  59. package/src/Determinism.ts +190 -0
  60. package/src/Format.ts +50 -4
  61. package/src/Invariant.ts +38 -12
  62. package/src/Lint.ts +72 -0
  63. package/src/Monitor.ts +49 -26
  64. package/src/Replay.ts +583 -0
  65. package/src/ReplayNodeSink.ts +38 -0
  66. package/src/ReplayVitePlugin.ts +74 -0
  67. package/src/ReplayViteSink.ts +33 -0
  68. package/src/Session.ts +154 -24
  69. package/src/cli.ts +55 -0
  70. package/src/index.ts +3 -0
  71. package/src/internal/monitor.ts +12 -5
  72. package/src/internal/version.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../src/Monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../src/Monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Replays: the last seconds of a play session, saved as a file an agent can
3
+ * open headless, explain with a session, and turn into an ordinary test.
4
+ *
5
+ * A replay is a debug artifact, not a long-term test: open it, find the bug
6
+ * with `why` / `journal`, `extract` the few ticks that show it into a test,
7
+ * then delete the replay.
8
+ *
9
+ * - `recorder(runtime, options)` keeps a rolling window of one schedule's
10
+ * ticks: periodic world snapshots (so the window has a start), what each
11
+ * of the schedule's input services returned from `snapshot()` each tick
12
+ * (stored as changes from the previous tick), and every `runtime.send`.
13
+ * Time and randomness live in the world, so that is everything the
14
+ * simulation reads. `save(reason)` hands the file to a `Sink`.
15
+ * - `session(make, file)` restores the start and replays the ticks in a
16
+ * normal devtools `Session`; `verify` replays twice and compares the
17
+ * checkpoint hashes to find nondeterminism; `extract` cuts a range of
18
+ * ticks into a small replay with its own start, for a test.
19
+ *
20
+ * Every service the recorded schedule needs must be a `snapshot()` source of
21
+ * plain data (input) or plain data itself (rules, config); anything else is
22
+ * a compile error naming the service, because it could not be replayed.
23
+ * Effects the simulation has on the host go out through the world (events,
24
+ * resources) instead.
25
+ *
26
+ * This module calls no platform API: sinks deliver files (`memorySink`
27
+ * here; `ReplayNodeSink` writes files in Node; `ReplayViteSink` and
28
+ * `ReplayVitePlugin` deliver to a Vite dev server), and wall time comes
29
+ * from the injected `hostClock`.
30
+ *
31
+ * @module Replay
32
+ * @docGroup devtools
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const recorder = Replay.recorder(runtime, {
37
+ * schedule: simulate, name: "simulate", keep: 30, step: Clock.hz(30),
38
+ * sink: ReplayViteSink.make({ fetch }), hostClock: HostClock.standard,
39
+ * saveOn: { failure: true, invariants: [DeadAreGone] }
40
+ * })
41
+ *
42
+ * // later, in Node:
43
+ * const replay = Replay.session(makeReplaySimulation, Replay.parse(JSON.parse(text)))
44
+ * if (replay.ok) console.log(replay.value.play().text)
45
+ * ```
46
+ */
47
+ import type { Clock, HostClock } from "@typeonce/ritmo";
48
+ import type * as Debug from "@typeonce/ritmo/Debug";
49
+ import type { Descriptor } from "@typeonce/ritmo/Descriptor";
50
+ import type * as Requirement from "@typeonce/ritmo/Requirement";
51
+ import * as Result from "@typeonce/ritmo/Result";
52
+ import type { AnyScheduleOrder, ExecutableScheduleDefinition } from "@typeonce/ritmo/Schedule";
53
+ import type { Schema } from "@typeonce/ritmo/Schema";
54
+ import type * as Snapshot from "@typeonce/ritmo/Snapshot";
55
+ import type { Invariant } from "./Invariant.ts";
56
+ import * as Rendered from "./Rendered.ts";
57
+ import * as Session from "./Session.ts";
58
+ type AnySchedule<S extends Schema.Any, Root> = ExecutableScheduleDefinition<S, any, Root, any, any, AnyScheduleOrder>;
59
+ /** The `@typeonce/ritmo-devtools` version written into replay files. */
60
+ export declare const version = "0.8.0";
61
+ /** An input service: one value per call, such as a keyboard's actions this step. */
62
+ export interface Source<Data> {
63
+ readonly snapshot: () => Data;
64
+ }
65
+ /**
66
+ * Whether a type is plain data (what JSON keeps): no functions, maps, sets,
67
+ * or class instances with methods. Recursive types are checked once.
68
+ */
69
+ export type IsPlain<T> = false extends PlainMember<T, never> ? false : true;
70
+ type PlainMember<T, Seen> = T extends string | number | boolean | null | undefined ? true : [T] extends [Seen] ? true : T extends (...args: ReadonlyArray<never>) => unknown ? false : T extends ReadonlyArray<infer Element> ? PlainMember<Element, Seen | T> : T extends object ? PlainField<T, keyof T, Seen | T> : false;
71
+ type PlainField<T, K extends keyof T, Seen> = K extends keyof T ? PlainMember<T[K], Seen> : never;
72
+ type ServiceNeeds<Schedule> = Extract<Requirement.Of<Schedule>, Descriptor<"service", string, any>>;
73
+ type UnrecordableService<Need> = Need extends Descriptor<"service", infer Name, infer Value> ? Value extends Source<infer Data> ? IsPlain<Data> extends true ? never : `${Name}: its snapshot() returns data that is not plain (no functions, maps, or class instances), so it cannot be saved` : IsPlain<Value> extends true ? never : `${Name} is neither a snapshot() source of plain data nor plain data: give the simulation its input through a source, and its effects on the host through events or resources` : never;
74
+ /**
75
+ * Rejects a schedule whose services could not be replayed, naming each one.
76
+ * Resolves to `unknown` when every service is a plain-data source or plain data.
77
+ */
78
+ export type ValidateRecordable<Schedule> = [
79
+ UnrecordableService<ServiceNeeds<Schedule>>
80
+ ] extends [never] ? unknown : {
81
+ readonly __fixReplayServices__: UnrecordableService<ServiceNeeds<Schedule>>;
82
+ };
83
+ /** What happened in one recorded tick, beyond what the world already holds. */
84
+ export interface TickRecord {
85
+ /** The recorder's tick number, counting the recorded schedule's ticks from 1. */
86
+ readonly tick: number;
87
+ /** Per source service: what `snapshot()` returned this tick, in call order. Absent when it repeats the previous tick. */
88
+ readonly services?: Readonly<Record<string, ReadonlyArray<unknown>>>;
89
+ /** Events the host sent since the previous recorded tick, in order. */
90
+ readonly sent?: ReadonlyArray<{
91
+ readonly event: string;
92
+ readonly value: unknown;
93
+ }>;
94
+ }
95
+ /** A replay file (JSON). */
96
+ export interface ReplayFile {
97
+ readonly format: "ritmo-replay";
98
+ readonly version: 1;
99
+ /** The `@typeonce/ritmo-devtools` version that recorded it. */
100
+ readonly library: string;
101
+ /** Hash of the schema (components, resources, events, relations, machines) from `describe()`. */
102
+ readonly schema: string;
103
+ /** The recorded schedule's name. */
104
+ readonly schedule: string;
105
+ /** Why it was saved, e.g. "invariant DeadAreGone broke at tick 1412". */
106
+ readonly reason: string;
107
+ /** `hostClock.now()` when it was saved. */
108
+ readonly savedAt: number;
109
+ /** Services that are plain data, as they were (rules, config). */
110
+ readonly constants: Readonly<Record<string, unknown>>;
111
+ /** The world at the end of tick `start.tick`; replay starts with the tick after it. */
112
+ readonly start: {
113
+ readonly tick: number;
114
+ readonly snapshot: Snapshot.WorldSnapshot;
115
+ /** Commands queued and not yet applied at that point: a snapshot does not hold them, so a replay may diverge. */
116
+ readonly pendingCommands: number;
117
+ };
118
+ readonly ticks: ReadonlyArray<TickRecord>;
119
+ /** Hashes of the world at the end of some ticks, to compare a replay against. */
120
+ readonly checkpoints: ReadonlyArray<{
121
+ readonly tick: number;
122
+ readonly hash: string;
123
+ }>;
124
+ }
125
+ /** Where `save` hands a replay. */
126
+ export interface Sink {
127
+ readonly save: (file: ReplayFile) => void;
128
+ }
129
+ /** A sink that keeps replays in memory (for tests, or for a host that delivers them itself). */
130
+ export declare const memorySink: () => Sink & {
131
+ readonly files: ReadonlyArray<ReplayFile>;
132
+ };
133
+ /** What a recorder needs from a runtime: made with `debug: { hostClock }`, with snapshots available. */
134
+ export interface Recordable<S extends Schema.Any, Root> {
135
+ readonly debug: Debug.Handle<S, Root>;
136
+ readonly snapshot: () => Snapshot.WorldSnapshot;
137
+ readonly services: Readonly<Record<string, unknown>>;
138
+ readonly inspect: (inspector: never) => unknown;
139
+ }
140
+ export interface RecorderOptions<S extends Schema.Any, Root, Recorded extends AnySchedule<S, Root>> {
141
+ /** The schedule to record: the one ticked once per simulation step. */
142
+ readonly schedule: Recorded;
143
+ /** Its name in the file and in the replay's session. */
144
+ readonly name: string;
145
+ /** Seconds of play to keep. */
146
+ readonly keep: number;
147
+ /** The schedule's fixed step (`Clock.hz(...)`), the same the game's clock runs at. */
148
+ readonly step: Clock.Step;
149
+ /** Seconds between world snapshots. Defaults to 5. */
150
+ readonly every?: number;
151
+ readonly sink: Sink;
152
+ /**
153
+ * Wall time, for `savedAt` (milliseconds since the epoch): sinks name
154
+ * files from it, so use `HostClock.standard`, not a page-relative clock
155
+ * like `BrowserHostClock` (`HostClock.test()` in tests).
156
+ */
157
+ readonly hostClock: HostClock.HostClock;
158
+ /** Saves by itself: when a tick fails or throws, and when an invariant breaks (once until it holds again). */
159
+ readonly saveOn?: {
160
+ readonly failure?: boolean;
161
+ readonly invariants?: ReadonlyArray<Invariant<Invariant.CheckInspector>>;
162
+ };
163
+ }
164
+ export interface Recorder {
165
+ /** Hands the current window to the sink, with `reason`, and returns it. */
166
+ readonly save: (reason: string) => ReplayFile;
167
+ /** Ticks of the recorded schedule so far. */
168
+ readonly ticks: () => number;
169
+ /** Stops recording and restores the services' own `snapshot`. */
170
+ readonly stop: () => void;
171
+ }
172
+ /** The schema's fingerprint: what must match for a replay to load. */
173
+ export declare const schemaHash: <S extends Schema.Any, Root>(debug: Debug.Handle<S, Root>) => string;
174
+ /**
175
+ * Starts recording a runtime made with `debug: { hostClock }`. The schedule's source
176
+ * services have their `snapshot` wrapped to record what the systems got; the
177
+ * services must not be frozen.
178
+ */
179
+ export declare const recorder: <S extends Schema.Any, Root, const Recorded extends AnySchedule<S, Root>>(runtime: Recordable<S, Root>, options: RecorderOptions<S, Root, Recorded> & ValidateRecordable<Recorded>) => Recorder;
180
+ /** Why a replay could not be opened. */
181
+ export type ReplayError = {
182
+ readonly _tag: "InvalidReplay";
183
+ readonly message: string;
184
+ } | {
185
+ readonly _tag: "SchemaMismatch";
186
+ readonly message: "replay recorded with an older schema";
187
+ readonly recorded: string;
188
+ readonly current: string;
189
+ } | {
190
+ readonly _tag: "MissingSchedule";
191
+ readonly schedule: string;
192
+ } | {
193
+ readonly _tag: "RestoreFailed";
194
+ readonly error: Snapshot.RestoreError;
195
+ };
196
+ /** Checks the shape of untrusted replay data (`JSON.parse` output). */
197
+ export declare const parse: (data: unknown) => Result.Result<ReplayFile, ReplayError>;
198
+ /**
199
+ * What a replay hands the game's `make` function: the recorded input, as
200
+ * sources to provide in place of the live ones, and the recorded constants.
201
+ */
202
+ export interface Playback {
203
+ /** A source returning, call by call, what the recorded one returned at the current tick. */
204
+ readonly source: <const Name extends string, Data>(descriptor: Descriptor<"service", Name, Source<Data>>) => Source<Data>;
205
+ /** A constant service's recorded value (`undefined` if it was not recorded). */
206
+ readonly constant: <const Name extends string, Value>(descriptor: Descriptor<"service", Name, Value>) => unknown;
207
+ }
208
+ /**
209
+ * What the game's `make` function returns: a fresh runtime
210
+ * (`debug: { hostClock }`) built on the playback, the recorded schedule by
211
+ * name, and the clock the replay session times runs with
212
+ * (`HostClock.test()` for identical text output).
213
+ */
214
+ export interface Target<S extends Schema.Any, Root> {
215
+ readonly hostClock: HostClock.HostClock;
216
+ readonly runtime: Session.Target<S, Root> & {
217
+ readonly snapshot: () => Snapshot.WorldSnapshot;
218
+ readonly restore: (data: unknown) => Result.Result<void, Snapshot.RestoreError>;
219
+ readonly send: (descriptor: never, value: never) => void;
220
+ };
221
+ readonly schedules: Readonly<Record<string, AnySchedule<S, Root>>>;
222
+ }
223
+ export interface PlayResult {
224
+ /** The session's run of the replayed ticks. */
225
+ readonly run: Session.RunResult;
226
+ /** Recorded checkpoints whose hash differs in this replay: the simulation is not deterministic, or the code changed. */
227
+ readonly diverged: ReadonlyArray<{
228
+ readonly tick: number;
229
+ readonly recorded: string;
230
+ readonly replayed: string;
231
+ }>;
232
+ }
233
+ export interface ReplaySession<S extends Schema.Any, Names extends string> {
234
+ /** The devtools session the ticks run in: `why`, `journal`, `report` work as in any run. */
235
+ readonly session: Session.Session<S, Names>;
236
+ readonly file: ReplayFile;
237
+ /** Replays the recorded ticks (up to `to`, the recorder's tick number) and compares checkpoints. */
238
+ readonly play: (options?: {
239
+ readonly to?: number;
240
+ }) => Rendered.Rendered<PlayResult>;
241
+ /** Hashes of the world at the end of each replayed tick so far. */
242
+ readonly hashes: () => ReadonlyMap<number, string>;
243
+ /** The world as plain data now. */
244
+ readonly snapshot: () => Snapshot.WorldSnapshot;
245
+ }
246
+ /**
247
+ * Opens a replay: builds the game with `make(playback)`, checks the schema,
248
+ * restores the start, and returns a session ready to `play`.
249
+ */
250
+ export declare const session: <S extends Schema.Any, Root>(make: (playback: Playback) => Target<S, Root>, file: ReplayFile) => Result.Result<ReplaySession<S, string>, ReplayError>;
251
+ /**
252
+ * Replays twice and compares the world after every tick: different hashes
253
+ * mean the simulation reads something the replay does not hold (wall time,
254
+ * `Math.random`, host state).
255
+ */
256
+ export declare const verify: <S extends Schema.Any, Root>(make: (playback: Playback) => Target<S, Root>, file: ReplayFile) => Result.Result<Rendered.Rendered<{
257
+ readonly deterministic: boolean;
258
+ readonly firstDifference: number | undefined;
259
+ readonly diverged: PlayResult["diverged"];
260
+ }>, ReplayError>;
261
+ /**
262
+ * Cuts ticks `from`..`to` (recorder tick numbers) into a smaller replay that
263
+ * starts at the end of tick `from - 1`: few enough ticks to keep next to a
264
+ * test and play with `session`.
265
+ */
266
+ export declare const extract: <S extends Schema.Any, Root>(make: (playback: Playback) => Target<S, Root>, file: ReplayFile, range: {
267
+ readonly from: number;
268
+ readonly to: number;
269
+ }) => Result.Result<ReplayFile, ReplayError>;
270
+ export {};
271
+ //# sourceMappingURL=Replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replay.d.ts","sourceRoot":"","sources":["../src/Replay.ts"],"names":[],"mappings":"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"}