@bimetal/devtools 0.15.10 → 0.16.7

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 (40) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/causation-forest.d.ts +60 -0
  3. package/dist/causation-forest.d.ts.map +1 -0
  4. package/dist/causation-forest.js +191 -0
  5. package/dist/causation-forest.js.map +1 -0
  6. package/dist/index.d.ts +50 -8
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +36 -7
  9. package/dist/index.js.map +1 -1
  10. package/dist/inspectable-json.d.ts +71 -0
  11. package/dist/inspectable-json.d.ts.map +1 -0
  12. package/dist/inspectable-json.js +225 -0
  13. package/dist/inspectable-json.js.map +1 -0
  14. package/dist/observed-bridge.d.ts +71 -0
  15. package/dist/observed-bridge.d.ts.map +1 -0
  16. package/dist/observed-bridge.js +165 -0
  17. package/dist/observed-bridge.js.map +1 -0
  18. package/dist/observed-helpers.d.ts +88 -0
  19. package/dist/observed-helpers.d.ts.map +1 -0
  20. package/dist/observed-helpers.js +76 -0
  21. package/dist/observed-helpers.js.map +1 -0
  22. package/dist/registry.d.ts +42 -1
  23. package/dist/registry.d.ts.map +1 -1
  24. package/dist/registry.js +84 -0
  25. package/dist/registry.js.map +1 -1
  26. package/dist/replay-engine.d.ts +128 -0
  27. package/dist/replay-engine.d.ts.map +1 -0
  28. package/dist/replay-engine.js +199 -0
  29. package/dist/replay-engine.js.map +1 -0
  30. package/dist/snapshot-export.d.ts +73 -0
  31. package/dist/snapshot-export.d.ts.map +1 -0
  32. package/dist/snapshot-export.js +119 -0
  33. package/dist/snapshot-export.js.map +1 -0
  34. package/dist/time-travel.d.ts +62 -0
  35. package/dist/time-travel.d.ts.map +1 -0
  36. package/dist/time-travel.js +140 -0
  37. package/dist/time-travel.js.map +1 -0
  38. package/dist/types.d.ts +121 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/package.json +2 -2
@@ -0,0 +1,140 @@
1
+ /**
2
+ * `createTimeTravelController` — ephemerer Controller, baut View-State zu
3
+ * einer beliebigen Stream-Version (v0.16.2 Sub 3).
4
+ *
5
+ * Architektur-Verträge aus `design/calendar/16-replay-target-architecture.md`:
6
+ * - **Eigene Subscribe-Seite**, NICHT im `DevtoolsState`-Snapshot — Slider-
7
+ * Bewegungen churchen nicht die Always-On-Listener im Inspector.
8
+ * - **Pure Fold-Kern wiederverwendet**: nutzt `foldEvents` aus
9
+ * `replay-engine.ts`, KEINE eigene Engine. Live-Engine + Controller
10
+ * produzieren bit-identische Snapshots (Sub 1 verriegelt).
11
+ * - **Stale-Cancel via running-counter**: schnelle Slider-Drags droppen
12
+ * ältere `goTo`-Resolves silently.
13
+ * - **Kein Range-Read**: `eventStore.read(streamId)` komplett, filter
14
+ * via `event.envelope.version <= targetVersion`. Optimierung erst mit
15
+ * Snapshot-Reuse-Slice.
16
+ * - **dispose-safe**: alle Methoden silent no-op nach dispose.
17
+ * - **`view.status` ist eigenständig** ('idle' | 'loading' | 'ready' | 'error')
18
+ * — getrennt von `view.snapshot.status` (das ist der Fold-Status:
19
+ * 'replaying' / 'live' / 'error'). UI nimmt `view.status` für den
20
+ * Controller-Zustand, nicht den geschachtelten Snapshot-Status.
21
+ */
22
+ import { createInitialSnapshot, foldEvents, } from './replay-engine.js';
23
+ import { jsonDiff } from './inspectable-json.js';
24
+ export function createTimeTravelController(handle) {
25
+ let runningCounter = 0;
26
+ let disposed = false;
27
+ let view = {
28
+ status: 'idle',
29
+ cursor: 0,
30
+ snapshot: createInitialSnapshot(handle.aggregate, handle.projection),
31
+ maxVersion: 0,
32
+ };
33
+ const listeners = new Set();
34
+ function invalidate() {
35
+ for (const l of listeners) {
36
+ try {
37
+ l();
38
+ }
39
+ catch (err) {
40
+ // eslint-disable-next-line no-console
41
+ console.error('[@bimetal/devtools] TimeTravelController listener threw:', err);
42
+ }
43
+ }
44
+ }
45
+ function setView(next) {
46
+ view = next;
47
+ invalidate();
48
+ }
49
+ async function readAll() {
50
+ // Pilot-Verriegelung: kein `fromVersion`-Argument, kein Range-Read.
51
+ // Stream komplett lesen, danach filtern.
52
+ return handle.eventStore.read(handle.streamId);
53
+ }
54
+ function foldUpTo(events, targetVersion) {
55
+ const filtered = events.filter(e => e.envelope.version <= targetVersion);
56
+ return foldEvents(filtered, handle.aggregate, handle.projection, createInitialSnapshot(handle.aggregate, handle.projection));
57
+ }
58
+ async function goTo(version) {
59
+ if (disposed)
60
+ return;
61
+ const myCounter = ++runningCounter;
62
+ setView({ ...view, status: 'loading', lastError: undefined });
63
+ let events;
64
+ try {
65
+ events = await readAll();
66
+ }
67
+ catch (error) {
68
+ if (myCounter !== runningCounter || disposed)
69
+ return;
70
+ setView({
71
+ ...view,
72
+ status: 'error',
73
+ lastError: error instanceof Error ? error : new Error(String(error)),
74
+ });
75
+ return;
76
+ }
77
+ if (myCounter !== runningCounter || disposed)
78
+ return;
79
+ const folded = foldUpTo(events, version);
80
+ if (myCounter !== runningCounter || disposed)
81
+ return;
82
+ const maxVersion = events.length > 0 ? events[events.length - 1].envelope.version : 0;
83
+ setView({
84
+ status: 'ready',
85
+ cursor: version,
86
+ snapshot: folded,
87
+ maxVersion,
88
+ lastError: undefined,
89
+ });
90
+ }
91
+ async function diff(compareToVersion) {
92
+ if (disposed)
93
+ return [];
94
+ let events;
95
+ try {
96
+ events = await readAll();
97
+ }
98
+ catch {
99
+ // Read-Failure beim Diff: leer zurück. UI kann das nicht
100
+ // unterscheiden von „kein Diff", aber das ist OK — wenn Storage
101
+ // weg ist, ist Time-Travel ohnehin nicht sinnvoll, und der
102
+ // `goTo`-Pfad propagiert den Fehler in `view.status='error'`.
103
+ return [];
104
+ }
105
+ if (disposed)
106
+ return [];
107
+ const currentSnap = view.snapshot;
108
+ if (compareToVersion === undefined) {
109
+ // Default: gegen Live — Frage „was kommt seit Cursor noch dazu":
110
+ // current → live.
111
+ const liveSnap = foldEvents(events, handle.aggregate, handle.projection, createInitialSnapshot(handle.aggregate, handle.projection));
112
+ return jsonDiff(currentSnap.state, liveSnap.state);
113
+ }
114
+ // compareToVersion (typisch cursor-1 für Previous-Toggle) — Frage
115
+ // „was hat Event v_k bewirkt": previous → current. Sonst wären
116
+ // added/removed im Previous-Modus invertiert.
117
+ const compareSnap = foldUpTo(events, compareToVersion);
118
+ return jsonDiff(compareSnap.state, currentSnap.state);
119
+ }
120
+ return {
121
+ get view() {
122
+ return view;
123
+ },
124
+ subscribe(listener) {
125
+ listeners.add(listener);
126
+ return () => {
127
+ listeners.delete(listener);
128
+ };
129
+ },
130
+ goTo,
131
+ diff,
132
+ dispose() {
133
+ if (disposed)
134
+ return;
135
+ disposed = true;
136
+ listeners.clear();
137
+ },
138
+ };
139
+ }
140
+ //# sourceMappingURL=time-travel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-travel.js","sourceRoot":"","sources":["../src/time-travel.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -93,6 +93,121 @@ export interface CapturedSyncRecord {
93
93
  kind: `sync-${string}`;
94
94
  };
95
95
  }
96
+ /**
97
+ * Strukturelles Interface für ein Publish-Target (Broker-API-Slice).
98
+ * Analog zu `PublishTarget` aus `@bimetal/event-sourcing/broker-bridge`,
99
+ * aber lokal in devtools deklariert — keine zirkulare Import-Beziehung.
100
+ */
101
+ export interface PublishTargetLike<TMessage = DomainEvent> {
102
+ publish(topic: string, message: TMessage): Promise<void>;
103
+ }
104
+ /**
105
+ * v0.16.4 produziert nur 'event-store-to-broker'. Spätere Slices
106
+ * erweitern die Union explizit per eigener Slice.
107
+ * Pilot-Schärfung 2026-06-09: kein freies `string` als Public-Type.
108
+ */
109
+ export type BridgeKind = 'event-store-to-broker';
110
+ export interface BridgeEndpoint {
111
+ readonly label: string;
112
+ /** Optional: wenn der Endpoint ein registrierter EventStore ist, dessen id. */
113
+ readonly storeId?: string;
114
+ }
115
+ export type BridgeRecord = BridgeEventForwardedRecord | BridgePublishErrorRecord;
116
+ export interface BridgeEventForwardedRecord {
117
+ readonly kind: 'bridge-event-forwarded';
118
+ readonly topic: string;
119
+ readonly event: DomainEvent;
120
+ }
121
+ export interface BridgePublishErrorRecord {
122
+ readonly kind: 'bridge-publish-error';
123
+ readonly topic: string;
124
+ readonly event: DomainEvent;
125
+ readonly error: {
126
+ readonly message: string;
127
+ readonly stack?: string;
128
+ };
129
+ }
130
+ /**
131
+ * Bridge-spezifische Diagnostics-Source in devtools — NICHT der
132
+ * generische `DiagnosticsSource` aus `@bimetal/event-sourcing`.
133
+ * Begründung: `DiagnosticsRecord` ist dort eine geschlossene Union,
134
+ * `bridge-*`-Kinds dort einzufügen würde event-sourcing mit Bridge-
135
+ * Konzepten verschmutzen (Boundary-Verletzung).
136
+ */
137
+ export interface BridgeDiagnosticsSource {
138
+ subscribe(listener: (record: BridgeRecord) => void): Unsubscribe;
139
+ }
140
+ export interface BridgeDiagnosticsSink {
141
+ emit(record: BridgeRecord): void;
142
+ }
143
+ /**
144
+ * Handle für `registerBridge`. `diagnostics` ist Pflicht — die Bridge
145
+ * muss observable sein, sonst ist die Registrierung sinnlos.
146
+ */
147
+ export interface BridgeHandle {
148
+ readonly id: string;
149
+ readonly name: string;
150
+ readonly kind: BridgeKind;
151
+ readonly source: BridgeEndpoint;
152
+ readonly target: BridgeEndpoint;
153
+ readonly diagnostics: BridgeDiagnosticsSource;
154
+ }
155
+ export interface RegisteredBridge {
156
+ readonly id: string;
157
+ readonly name: string;
158
+ readonly kind: BridgeKind;
159
+ readonly source: BridgeEndpoint;
160
+ readonly target: BridgeEndpoint;
161
+ }
162
+ export interface CapturedBridgeRecord {
163
+ /** Monotonic capture sequence — global across all bridges + record kinds. */
164
+ readonly seq: number;
165
+ readonly bridgeId: string;
166
+ readonly bridgeName: string;
167
+ /** Wall-clock timestamp at capture time (ms epoch). */
168
+ readonly capturedAt: number;
169
+ readonly record: BridgeRecord;
170
+ }
171
+ /**
172
+ * RegisteredReplayTarget — public Sicht eines registrierten Targets im
173
+ * `DevtoolsState`. Trägt den aktuellen `ReplayEngineSnapshot` mit, damit
174
+ * UI-Konsumenten ohne separate Engine-Subscription rendern können.
175
+ *
176
+ * `snapshot` ist `unknown` typisiert, weil der Registry-Vertrag
177
+ * heterogene Targets verwaltet (verschiedene Aggregate-State-Formen).
178
+ * Konkrete Konsumenten castten auf ihren bekannten Typ.
179
+ */
180
+ export interface RegisteredReplayTarget {
181
+ readonly id: string;
182
+ readonly name: string;
183
+ readonly streamId: string;
184
+ /**
185
+ * `projection.version` aus dem Handle (v0.16.1). UI vergleicht das mit
186
+ * `snapshot.lastAppliedSchemaVersion` — Drift macht der Inspector
187
+ * sichtbar. Im Architektur-Doc §v0.16-Leitplanke 6 verriegelt.
188
+ */
189
+ readonly projectionVersion: number;
190
+ readonly snapshot: ReplayEngineSnapshotErased;
191
+ }
192
+ /**
193
+ * Type-erased Snapshot für die Registry-Sicht. Identisch zur generischen
194
+ * `ReplayEngineSnapshot<unknown, unknown>` aus `replay-engine.ts`, hier
195
+ * separat deklariert um zirkulare Type-Importe zu vermeiden (types.ts
196
+ * darf nicht von replay-engine.ts abhängen).
197
+ */
198
+ export interface ReplayEngineSnapshotErased {
199
+ readonly state: unknown;
200
+ readonly readModel: unknown;
201
+ readonly lastAppliedVersion: number;
202
+ readonly status: 'replaying' | 'live' | 'error';
203
+ readonly lastError?: {
204
+ readonly event: DomainEvent | null;
205
+ readonly error: Error;
206
+ };
207
+ readonly lastAppliedEventId?: string;
208
+ readonly lastAppliedSchemaVersion?: number;
209
+ readonly blockedEventCount: number;
210
+ }
96
211
  /**
97
212
  * Live, read-only snapshot of what the devtools sees right now.
98
213
  * Lists registered stores + transports, plus die rolling buffers für
@@ -108,5 +223,11 @@ export interface DevtoolsState {
108
223
  readonly events: readonly CapturedEvent[];
109
224
  readonly syncTransports: readonly RegisteredSyncTransport[];
110
225
  readonly syncRecords: readonly CapturedSyncRecord[];
226
+ /** Registered ReplayTargets mit aktuellem Engine-Snapshot (v0.16.0). */
227
+ readonly replayTargets: readonly RegisteredReplayTarget[];
228
+ /** Registered Bridges (v0.16.4). */
229
+ readonly bridges: readonly RegisteredBridge[];
230
+ /** Rolling-window an Bridge-Records (v0.16.4). */
231
+ readonly bridgeRecords: readonly CapturedBridgeRecord[];
111
232
  }
112
233
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,0CAA0C;AAC1C,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CAClF;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW,CAAC;CACvE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAID;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG;QAAE,IAAI,EAAE,QAAQ,MAAM,EAAE,CAAA;KAAE,CAAC;CACjE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACrD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bimetal/devtools",
3
- "version": "0.15.10",
3
+ "version": "0.16.7",
4
4
  "description": "Event-Debugger primitives (v0.14). Framework-agnostic registry + diagnostics-source for auditing event-sourced systems. Zero hard dependencies on @bimetal/broker or any domain package — structural interfaces only.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "dependencies": {
28
- "@bimetal/event-sourcing": "^0.15.10"
28
+ "@bimetal/event-sourcing": "^0.16.7"
29
29
  },
30
30
  "devDependencies": {
31
31
  "vitest": "^3.2.1"