@adonis-agora/durable 0.35.1 → 0.36.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 (139) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/assets/spa/assets/index-DU6cGcJz.css +1 -0
  3. package/dist/assets/spa/assets/index-Dx5lG7Vu.js +16 -0
  4. package/dist/assets/spa/assets/index-Dx5lG7Vu.js.map +1 -0
  5. package/dist/assets/spa/index.html +2 -2
  6. package/dist/commands/export_run.d.ts +18 -0
  7. package/dist/commands/export_run.d.ts.map +1 -0
  8. package/dist/commands/export_run.js +45 -0
  9. package/dist/commands/export_run.js.map +1 -0
  10. package/dist/commands/main.d.ts +1 -1
  11. package/dist/commands/main.d.ts.map +1 -1
  12. package/dist/commands/main.js +3 -1
  13. package/dist/commands/main.js.map +1 -1
  14. package/dist/providers/dashboard_provider.d.ts +7 -0
  15. package/dist/providers/dashboard_provider.d.ts.map +1 -1
  16. package/dist/providers/dashboard_provider.js +36 -1
  17. package/dist/providers/dashboard_provider.js.map +1 -1
  18. package/dist/providers/durable_provider.d.ts.map +1 -1
  19. package/dist/providers/durable_provider.js +18 -0
  20. package/dist/providers/durable_provider.js.map +1 -1
  21. package/dist/src/admission-redis/redis-admission-backend.d.ts +2 -1
  22. package/dist/src/admission-redis/redis-admission-backend.d.ts.map +1 -1
  23. package/dist/src/admission-redis/redis-admission-backend.js +35 -8
  24. package/dist/src/admission-redis/redis-admission-backend.js.map +1 -1
  25. package/dist/src/backoff.d.ts +7 -0
  26. package/dist/src/backoff.d.ts.map +1 -1
  27. package/dist/src/backoff.js +12 -2
  28. package/dist/src/backoff.js.map +1 -1
  29. package/dist/src/codec-state-store.d.ts +4 -2
  30. package/dist/src/codec-state-store.d.ts.map +1 -1
  31. package/dist/src/codec-state-store.js +23 -4
  32. package/dist/src/codec-state-store.js.map +1 -1
  33. package/dist/src/commands/worker.d.ts +2 -0
  34. package/dist/src/commands/worker.d.ts.map +1 -1
  35. package/dist/src/commands/worker.js +18 -1
  36. package/dist/src/commands/worker.js.map +1 -1
  37. package/dist/src/dashboard/gateway-adapter.d.ts +13 -1
  38. package/dist/src/dashboard/gateway-adapter.d.ts.map +1 -1
  39. package/dist/src/dashboard/gateway-adapter.js +12 -0
  40. package/dist/src/dashboard/gateway-adapter.js.map +1 -1
  41. package/dist/src/dashboard/handlers.d.ts +47 -1
  42. package/dist/src/dashboard/handlers.d.ts.map +1 -1
  43. package/dist/src/dashboard/handlers.js +141 -8
  44. package/dist/src/dashboard/handlers.js.map +1 -1
  45. package/dist/src/dashboard/index.d.ts +1 -1
  46. package/dist/src/dashboard/index.js +1 -1
  47. package/dist/src/dashboard/openapi.d.ts +13 -0
  48. package/dist/src/dashboard/openapi.d.ts.map +1 -0
  49. package/dist/src/dashboard/openapi.js +395 -0
  50. package/dist/src/dashboard/openapi.js.map +1 -0
  51. package/dist/src/dashboard/run-filter.d.ts +8 -3
  52. package/dist/src/dashboard/run-filter.d.ts.map +1 -1
  53. package/dist/src/dashboard/run-filter.js +35 -4
  54. package/dist/src/dashboard/run-filter.js.map +1 -1
  55. package/dist/src/define_config.d.ts +24 -0
  56. package/dist/src/define_config.d.ts.map +1 -1
  57. package/dist/src/define_config.js.map +1 -1
  58. package/dist/src/engine.d.ts +204 -7
  59. package/dist/src/engine.d.ts.map +1 -1
  60. package/dist/src/engine.js +820 -115
  61. package/dist/src/engine.js.map +1 -1
  62. package/dist/src/errors.d.ts +9 -1
  63. package/dist/src/errors.d.ts.map +1 -1
  64. package/dist/src/errors.js +10 -1
  65. package/dist/src/errors.js.map +1 -1
  66. package/dist/src/index.d.ts +1 -1
  67. package/dist/src/index.js +1 -1
  68. package/dist/src/interfaces.d.ts +116 -7
  69. package/dist/src/interfaces.d.ts.map +1 -1
  70. package/dist/src/pollers.d.ts +26 -2
  71. package/dist/src/pollers.d.ts.map +1 -1
  72. package/dist/src/pollers.js +47 -4
  73. package/dist/src/pollers.js.map +1 -1
  74. package/dist/src/queue.d.ts +9 -1
  75. package/dist/src/queue.d.ts.map +1 -1
  76. package/dist/src/queue.js +26 -7
  77. package/dist/src/queue.js.map +1 -1
  78. package/dist/src/run-value-facets.d.ts +1 -1
  79. package/dist/src/run-value-facets.d.ts.map +1 -1
  80. package/dist/src/run-value-facets.js +7 -1
  81. package/dist/src/run-value-facets.js.map +1 -1
  82. package/dist/src/scheduler.d.ts +15 -1
  83. package/dist/src/scheduler.d.ts.map +1 -1
  84. package/dist/src/scheduler.js +36 -1
  85. package/dist/src/scheduler.js.map +1 -1
  86. package/dist/src/stores/lucid-mappers.d.ts +5 -0
  87. package/dist/src/stores/lucid-mappers.d.ts.map +1 -1
  88. package/dist/src/stores/lucid-mappers.js +8 -0
  89. package/dist/src/stores/lucid-mappers.js.map +1 -1
  90. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  91. package/dist/src/stores/lucid-schema.js +53 -7
  92. package/dist/src/stores/lucid-schema.js.map +1 -1
  93. package/dist/src/stores/lucid.d.ts +10 -3
  94. package/dist/src/stores/lucid.d.ts.map +1 -1
  95. package/dist/src/stores/lucid.js +74 -67
  96. package/dist/src/stores/lucid.js.map +1 -1
  97. package/dist/src/testing/in-memory-state-store.d.ts +4 -2
  98. package/dist/src/testing/in-memory-state-store.d.ts.map +1 -1
  99. package/dist/src/testing/in-memory-state-store.js +54 -8
  100. package/dist/src/testing/in-memory-state-store.js.map +1 -1
  101. package/dist/src/testing-kit/replay.d.ts +12 -0
  102. package/dist/src/testing-kit/replay.d.ts.map +1 -1
  103. package/dist/src/testing-kit/replay.js +33 -0
  104. package/dist/src/testing-kit/replay.js.map +1 -1
  105. package/dist/src/testing-kit/state-store-conformance.d.ts.map +1 -1
  106. package/dist/src/testing-kit/state-store-conformance.js +68 -0
  107. package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
  108. package/dist/src/transports/bullmq/bullmq-transport.d.ts +0 -5
  109. package/dist/src/transports/bullmq/bullmq-transport.d.ts.map +1 -1
  110. package/dist/src/transports/bullmq/bullmq-transport.js +92 -10
  111. package/dist/src/transports/bullmq/bullmq-transport.js.map +1 -1
  112. package/dist/src/transports/bullmq/deps.d.ts +2 -0
  113. package/dist/src/transports/bullmq/deps.d.ts.map +1 -1
  114. package/dist/src/transports/bullmq/deps.js.map +1 -1
  115. package/dist/src/transports/bullmq/serialization.d.ts +2 -1
  116. package/dist/src/transports/bullmq/serialization.d.ts.map +1 -1
  117. package/dist/src/transports/bullmq/serialization.js +9 -3
  118. package/dist/src/transports/bullmq/serialization.js.map +1 -1
  119. package/dist/src/transports/db.d.ts +3 -1
  120. package/dist/src/transports/db.d.ts.map +1 -1
  121. package/dist/src/transports/db.js +89 -35
  122. package/dist/src/transports/db.js.map +1 -1
  123. package/dist/src/transports/queue.d.ts +7 -1
  124. package/dist/src/transports/queue.d.ts.map +1 -1
  125. package/dist/src/transports/queue.js +23 -1
  126. package/dist/src/transports/queue.js.map +1 -1
  127. package/dist/src/workflow-ctx.d.ts.map +1 -1
  128. package/dist/src/workflow-ctx.js +77 -14
  129. package/dist/src/workflow-ctx.js.map +1 -1
  130. package/dist/src/workflow-discovery.d.ts.map +1 -1
  131. package/dist/src/workflow-discovery.js +1 -0
  132. package/dist/src/workflow-discovery.js.map +1 -1
  133. package/dist/src/workflow-ref.d.ts +6 -0
  134. package/dist/src/workflow-ref.d.ts.map +1 -1
  135. package/dist/src/workflow-ref.js.map +1 -1
  136. package/package.json +2 -2
  137. package/dist/assets/spa/assets/index-CNnTzTNK.css +0 -1
  138. package/dist/assets/spa/assets/index-DxLx4LRM.js +0 -16
  139. package/dist/assets/spa/assets/index-DxLx4LRM.js.map +0 -1
@@ -118,29 +118,20 @@ export class LucidStateStore {
118
118
  heartbeat_progress: progress === undefined ? null : JSON.stringify(progress),
119
119
  });
120
120
  }
121
- /** Upsert a checkpoint keyed by `(run_id, seq)`, portable across dialects (read-then-write in a tx). */
121
+ /**
122
+ * Upsert a checkpoint keyed by `(run_id, seq)` — one native `INSERT … ON CONFLICT … DO UPDATE`
123
+ * statement (portable: SQLite/Postgres upsert, MySQL `ON DUPLICATE KEY`). This is the hottest
124
+ * write path in the system (2–3 checkpoint writes per step); the previous read-then-write
125
+ * transaction cost `BEGIN + SELECT + write + COMMIT` — four round trips — per save.
126
+ */
122
127
  async upsertCheckpoint(client, checkpoint) {
123
128
  const row = checkpointToRow(checkpoint);
124
- const run = () => client.transaction(async (trx) => {
125
- const existing = await trx
126
- .from(DURABLE_TABLES.checkpoints)
127
- .where('run_id', row.run_id)
128
- .andWhere('seq', row.seq)
129
- .first();
130
- if (existing) {
131
- await trx
132
- .from(DURABLE_TABLES.checkpoints)
133
- .where('run_id', row.run_id)
134
- .andWhere('seq', row.seq)
135
- .update(row);
136
- }
137
- else {
138
- await trx.table(DURABLE_TABLES.checkpoints).insert(row);
139
- }
140
- });
141
- // If we're already inside a transaction client, reuse it (Lucid nests via savepoints); otherwise
142
- // open one on the base client.
143
- await run();
129
+ await client
130
+ .insertQuery()
131
+ .table(DURABLE_TABLES.checkpoints)
132
+ .knexQuery.insert(row)
133
+ .onConflict(['run_id', 'seq'])
134
+ .merge();
144
135
  }
145
136
  // --- recovery / dispatch queries ----------------------------------------
146
137
  async listIncompleteRuns(namespace) {
@@ -150,6 +141,21 @@ export class LucidStateStore {
150
141
  const rows = await q;
151
142
  return rows.map(rowToRun);
152
143
  }
144
+ async listOrphanedRuns(nowMs, limit, namespace) {
145
+ // The lease predicate lives IN the query: only genuinely orphaned runs (no lease, or an expired
146
+ // one) come back, so a healthy fleet's recovery tick fetches ~zero rows instead of every
147
+ // running run — and issues ~zero lock-probe UPDATEs.
148
+ const q = this.client()
149
+ .from(DURABLE_TABLES.runs)
150
+ .where('status', 'running')
151
+ .andWhere((sub) => {
152
+ sub.whereNull('locked_until').orWhere('locked_until', '<=', nowMs);
153
+ });
154
+ if (namespace !== undefined)
155
+ q.andWhere('namespace', namespace);
156
+ const rows = await q.orderBy('created_at', 'asc').limit(limit);
157
+ return rows.map(rowToRun);
158
+ }
153
159
  async listPendingRuns(limit, namespace) {
154
160
  const q = this.client().from(DURABLE_TABLES.runs).where('status', 'pending');
155
161
  if (namespace !== undefined)
@@ -160,7 +166,7 @@ export class LucidStateStore {
160
166
  .limit(limit);
161
167
  return rows.map(rowToRun);
162
168
  }
163
- async listDueTimers(nowMs, namespace) {
169
+ async listDueTimers(nowMs, namespace, limit) {
164
170
  const q = this.client()
165
171
  .from(DURABLE_TABLES.runs)
166
172
  .where('status', 'suspended')
@@ -168,6 +174,10 @@ export class LucidStateStore {
168
174
  .andWhere('wake_at', '<=', nowMs);
169
175
  if (namespace !== undefined)
170
176
  q.andWhere('namespace', namespace);
177
+ // Oldest deadline first, bounded: a backlog drains over several polls instead of one
178
+ // unbounded fetch (served by the existing (status, wake_at) index).
179
+ if (limit !== undefined)
180
+ q.orderBy('wake_at', 'asc').limit(limit);
171
181
  const rows = await q;
172
182
  return rows.map(rowToRun);
173
183
  }
@@ -184,11 +194,14 @@ export class LucidStateStore {
184
194
  .update({ locked_by: owner, locked_until: leaseUntilMs });
185
195
  return rowsAffected(affected) === 1;
186
196
  }
187
- async releaseRunLock(runId) {
188
- await this.client()
189
- .from(DURABLE_TABLES.runs)
190
- .where('id', runId)
191
- .update({ locked_by: null, locked_until: null });
197
+ async releaseRunLock(runId, owner) {
198
+ // Owner-scoped release (when `owner` is given): the `locked_by` predicate lives in the UPDATE's
199
+ // WHERE clause, so a stale executor whose lease was taken over matches zero rows and cannot
200
+ // wipe the new owner's lease — same conditional-write shape as renewRunLock.
201
+ const q = this.client().from(DURABLE_TABLES.runs).where('id', runId);
202
+ if (owner !== undefined)
203
+ q.andWhere('locked_by', owner);
204
+ await q.update({ locked_by: null, locked_until: null });
192
205
  }
193
206
  async renewRunLock(runId, owner, leaseUntilMs) {
194
207
  // Extend ONLY if `owner` still holds the lease — a dead worker's lease still expires & is reclaimed.
@@ -201,30 +214,19 @@ export class LucidStateStore {
201
214
  }
202
215
  // --- signal waiters -----------------------------------------------------
203
216
  async putSignalWaiter(waiter) {
204
- await this.client().transaction(async (trx) => {
205
- const existing = await trx
206
- .from(DURABLE_TABLES.signalWaiters)
207
- .where('token', waiter.token)
208
- .first();
209
- if (existing) {
210
- await trx
211
- .from(DURABLE_TABLES.signalWaiters)
212
- .where('token', waiter.token)
213
- .update({
214
- run_id: waiter.runId,
215
- seq: waiter.seq,
216
- parallel_group: waiter.parallelGroup ?? null,
217
- });
218
- }
219
- else {
220
- await trx.table(DURABLE_TABLES.signalWaiters).insert({
221
- token: waiter.token,
222
- run_id: waiter.runId,
223
- seq: waiter.seq,
224
- parallel_group: waiter.parallelGroup ?? null,
225
- });
226
- }
227
- });
217
+ // Native upsert keyed by the `token` PK — one statement instead of a read-then-write tx (this
218
+ // runs once per wait registration, i.e. on every signal/child/event suspension).
219
+ await this.client()
220
+ .insertQuery()
221
+ .table(DURABLE_TABLES.signalWaiters)
222
+ .knexQuery.insert({
223
+ token: waiter.token,
224
+ run_id: waiter.runId,
225
+ seq: waiter.seq,
226
+ parallel_group: waiter.parallelGroup ?? null,
227
+ })
228
+ .onConflict('token')
229
+ .merge();
228
230
  }
229
231
  async takeSignalWaiter(token) {
230
232
  // Atomically take-and-remove: delete by token, returning the row only if WE deleted it. Done in a
@@ -245,6 +247,12 @@ export class LucidStateStore {
245
247
  .where('token', 'like', `${prefix}%`);
246
248
  return rows.map(rowToSignalWaiter);
247
249
  }
250
+ async listSignalWaitersByRunIds(runIds) {
251
+ if (runIds.length === 0)
252
+ return [];
253
+ const rows = await this.client().from(DURABLE_TABLES.signalWaiters).whereIn('run_id', runIds);
254
+ return rows.map(rowToSignalWaiter);
255
+ }
248
256
  async removeSignalWaiter(waiter) {
249
257
  // Exact match on (token, run_id, seq): only delete the row THIS caller registered. `token` is the
250
258
  // primary key, so a later putSignalWaiter for the same token may have replaced the row with a
@@ -314,23 +322,9 @@ export class LucidStateStore {
314
322
  async transaction(work) {
315
323
  return this.client().transaction(async (trx) => work({
316
324
  raw: trx,
325
+ // Same native upsert as the standalone path, committed inside THIS transaction.
317
326
  saveCheckpoint: async (cp) => {
318
- const row = checkpointToRow(cp);
319
- const existing = await trx
320
- .from(DURABLE_TABLES.checkpoints)
321
- .where('run_id', row.run_id)
322
- .andWhere('seq', row.seq)
323
- .first();
324
- if (existing) {
325
- await trx
326
- .from(DURABLE_TABLES.checkpoints)
327
- .where('run_id', row.run_id)
328
- .andWhere('seq', row.seq)
329
- .update(row);
330
- }
331
- else {
332
- await trx.table(DURABLE_TABLES.checkpoints).insert(row);
333
- }
327
+ await this.upsertCheckpoint(trx, cp);
334
328
  },
335
329
  }));
336
330
  }
@@ -399,6 +393,8 @@ export class LucidStateStore {
399
393
  else
400
394
  q.whereRaw('1 = 0');
401
395
  }
396
+ if (query.origin)
397
+ q.where('origin', query.origin);
402
398
  if (query.status)
403
399
  q.where('status', query.status);
404
400
  if (query.statuses) {
@@ -421,6 +417,17 @@ export class LucidStateStore {
421
417
  else
422
418
  q.whereRaw('1 = 0');
423
419
  }
420
+ // Time-range and due-timer predicates push down too (the sweep/recovery poll paths lean on
421
+ // these instead of fetching every in-flight run and comparing in process).
422
+ if (query.createdBefore !== undefined)
423
+ q.where('created_at', '<=', query.createdBefore);
424
+ if (query.createdAfter !== undefined)
425
+ q.where('created_at', '>=', query.createdAfter);
426
+ if (query.updatedBefore !== undefined)
427
+ q.where('updated_at', '<=', query.updatedBefore);
428
+ if (query.wakeBefore !== undefined) {
429
+ q.whereNotNull('wake_at').where('wake_at', '<=', query.wakeBefore);
430
+ }
424
431
  // Typed/range attribute predicates push DOWN into SQL via one EXISTS per filter against the
425
432
  // normalized side-table — so the DB filters AND paginates, no full scan + in-process filter.
426
433
  if (query.attributes?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
@@ -37,13 +37,15 @@ export declare class InMemoryStateStore implements StateStore {
37
37
  recordStepHeartbeat(runId: string, seq: number, at: Date, progress?: unknown): Promise<void>;
38
38
  listIncompleteRuns(namespace?: string): Promise<WorkflowRun[]>;
39
39
  listPendingRuns(limit: number, namespace?: string): Promise<WorkflowRun[]>;
40
- listDueTimers(nowMs: number, namespace?: string): Promise<WorkflowRun[]>;
40
+ listDueTimers(nowMs: number, namespace?: string, limit?: number): Promise<WorkflowRun[]>;
41
+ listOrphanedRuns(nowMs: number, limit: number, namespace?: string): Promise<WorkflowRun[]>;
41
42
  tryLockRun(runId: string, owner: string, leaseUntilMs: number, nowMs: number): Promise<boolean>;
42
- releaseRunLock(runId: string): Promise<void>;
43
+ releaseRunLock(runId: string, owner?: string): Promise<void>;
43
44
  renewRunLock(runId: string, owner: string, leaseUntilMs: number): Promise<boolean>;
44
45
  putSignalWaiter(waiter: SignalWaiter): Promise<void>;
45
46
  takeSignalWaiter(token: string): Promise<SignalWaiter | null>;
46
47
  listSignalWaiters(prefix: string): Promise<SignalWaiter[]>;
48
+ listSignalWaitersByRunIds(runIds: string[]): Promise<SignalWaiter[]>;
47
49
  removeSignalWaiter(waiter: SignalWaiter): Promise<void>;
48
50
  transaction<T>(work: (tx: {
49
51
  raw: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-state-store.d.ts","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-state-store.d.ts","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,11 @@ export class InMemoryStateStore {
41
41
  }
42
42
  }
43
43
  async createRun(run) {
44
+ // Duplicate ids throw, mirroring the SQL stores' primary-key violation — the engine relies on
45
+ // that to make racing `start`s converge on one run instead of silently overwriting the winner.
46
+ if (this.runs.has(run.id)) {
47
+ throw new Error(`run ${run.id} already exists`);
48
+ }
44
49
  // Normalize an undefined namespace to 'default', matching the SQL stores' column DEFAULT 'default'
45
50
  // — so a run created directly against this store (bypassing the engine, e.g. in tests) is still
46
51
  // reachable via a namespace='default' filter and partitions consistently.
@@ -112,12 +117,25 @@ export class InMemoryStateStore {
112
117
  .slice(0, limit)
113
118
  .map((r) => ({ ...r }));
114
119
  }
115
- async listDueTimers(nowMs, namespace) {
116
- return [...this.runs.values()]
117
- .filter((r) => r.status === 'suspended' &&
120
+ async listDueTimers(nowMs, namespace, limit) {
121
+ const due = [...this.runs.values()].filter((r) => r.status === 'suspended' &&
118
122
  r.wakeAt !== undefined &&
119
123
  r.wakeAt <= nowMs &&
124
+ (namespace === undefined || r.namespace === namespace));
125
+ // Oldest deadline first when capped (mirrors the SQL stores' ORDER BY wake_at LIMIT).
126
+ if (limit !== undefined) {
127
+ due.sort((a, b) => (a.wakeAt ?? 0) - (b.wakeAt ?? 0));
128
+ return due.slice(0, limit).map((r) => ({ ...r }));
129
+ }
130
+ return due.map((r) => ({ ...r }));
131
+ }
132
+ async listOrphanedRuns(nowMs, limit, namespace) {
133
+ return [...this.runs.values()]
134
+ .filter((r) => r.status === 'running' &&
135
+ (r.lockedUntil === undefined || r.lockedUntil <= nowMs) &&
120
136
  (namespace === undefined || r.namespace === namespace))
137
+ .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime())
138
+ .slice(0, limit)
121
139
  .map((r) => ({ ...r }));
122
140
  }
123
141
  async tryLockRun(runId, owner, leaseUntilMs, nowMs) {
@@ -130,12 +148,16 @@ export class InMemoryStateStore {
130
148
  run.lockedUntil = leaseUntilMs;
131
149
  return true;
132
150
  }
133
- async releaseRunLock(runId) {
151
+ async releaseRunLock(runId, owner) {
134
152
  const run = this.runs.get(runId);
135
- if (run) {
136
- run.lockedBy = undefined;
137
- run.lockedUntil = undefined;
138
- }
153
+ if (!run)
154
+ return;
155
+ // Owner-scoped release: a stale executor whose lease was taken over must not wipe the new
156
+ // owner's lease (same single-threaded atomicity reasoning as renewRunLock).
157
+ if (owner !== undefined && run.lockedBy !== owner)
158
+ return;
159
+ run.lockedBy = undefined;
160
+ run.lockedUntil = undefined;
139
161
  }
140
162
  async renewRunLock(runId, owner, leaseUntilMs) {
141
163
  const run = this.runs.get(runId);
@@ -159,6 +181,12 @@ export class InMemoryStateStore {
159
181
  .filter((w) => w.token.startsWith(prefix))
160
182
  .map((w) => ({ ...w }));
161
183
  }
184
+ async listSignalWaitersByRunIds(runIds) {
185
+ if (runIds.length === 0)
186
+ return [];
187
+ const ids = new Set(runIds);
188
+ return [...this.signalWaiters.values()].filter((w) => ids.has(w.runId)).map((w) => ({ ...w }));
189
+ }
162
190
  async removeSignalWaiter(waiter) {
163
191
  // Keyed by token only (one row per token) — only delete if the CURRENT row still matches this
164
192
  // exact (runId, seq); a later putSignalWaiter for the same token may have already replaced it
@@ -282,6 +310,8 @@ export class InMemoryStateStore {
282
310
  ? []
283
311
  : runs.filter((r) => r.namespace !== undefined && query.namespaces?.includes(r.namespace));
284
312
  }
313
+ if (query.origin)
314
+ runs = runs.filter((r) => r.origin === query.origin);
285
315
  if (query.status)
286
316
  runs = runs.filter((r) => r.status === query.status);
287
317
  if (query.statuses)
@@ -294,6 +324,22 @@ export class InMemoryStateStore {
294
324
  ? []
295
325
  : runs.filter((r) => r.tags?.some((t) => query.tags?.includes(t)));
296
326
  }
327
+ if (query.createdBefore !== undefined) {
328
+ const before = query.createdBefore;
329
+ runs = runs.filter((r) => r.createdAt.getTime() <= before);
330
+ }
331
+ if (query.createdAfter !== undefined) {
332
+ const after = query.createdAfter;
333
+ runs = runs.filter((r) => r.createdAt.getTime() >= after);
334
+ }
335
+ if (query.updatedBefore !== undefined) {
336
+ const before = query.updatedBefore;
337
+ runs = runs.filter((r) => r.updatedAt.getTime() <= before);
338
+ }
339
+ if (query.wakeBefore !== undefined) {
340
+ const wake = query.wakeBefore;
341
+ runs = runs.filter((r) => r.wakeAt !== undefined && r.wakeAt <= wake);
342
+ }
297
343
  if (query.attributes?.length) {
298
344
  // Pushdown: intersect per-predicate candidate sets from the key-indexed side-table, so we only
299
345
  // ever materialize the runs that already satisfy EVERY attribute filter (no full per-run scan).
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-state-store.js","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAEvF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACZ,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtC,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEjE;;;;;OAKG;IACc,cAAc,GAAG,IAAI,GAAG,EAAwC,CAAC;IAClF,kGAAkG;IAClG,uBAAuB,GAAG,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,sBAAsB,GAAG,CAAC,CAAC;IAEnB,GAAG,CAAC,KAAa,EAAE,GAAW;QACpC,OAAO,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,qGAAqG;IAC7F,iBAAiB,CAAC,KAAa,EAAE,UAA2C;QAClF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK,MAAM,GAAG,IAAI,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAgB;QAC9B,mGAAmG;QACnG,gGAAgG;QAChG,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,KAA2B;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,kBAAkB,IAAI,KAAK;YAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAa,EACb,gBAA6B,EAC7B,KAA2B;QAE3B,gGAAgG;QAChG,oFAAoF;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3E,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,kBAAkB,IAAI,KAAK;YAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,qFAAqF;QACrF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,GAAW;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAA0B;QAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,GAAW,EACX,EAAQ,EACR,QAAkB;QAElB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC;QACxB,EAAE,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAkB;QACzC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAC3B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CACxF;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,SAAkB;QACrD,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAC3B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CACxF;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACzF,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,SAAkB;QACnD,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAC3B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,WAAW;YACxB,CAAC,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,MAAM,IAAI,KAAK;YACjB,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CACzD;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAa,EACb,KAAa,EACb,YAAoB,EACpB,KAAa;QAEb,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,GAAG,KAAK;YAAE,OAAO,KAAK,CAAC;QAC3E,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,YAAoB;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACjD,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAoB;QACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAoB;QAC3C,8FAA8F;QAC9F,8FAA8F;QAC9F,wDAAwD;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YAC5E,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,8FAA8F;IAC9F,KAAK,CAAC,WAAW,CACf,IAGgB;QAEhB,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEgB,eAAe,GAAG,IAAI,GAAG,EAAqB,CAAC;IAChE,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAAgB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;2DACuD;IACtC,cAAc,GAAG,IAAI,GAAG,EAGtC,CAAC;IACJ,KAAK,CAAC,WAAW,CAAC,KAKjB;QACC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,kBAAkB,CACtB,IAAY,EACZ,KAAa;QAEb,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,eAAe;aACnE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,CAAkB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC;QACvB,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAClB,8FAA8F;YAC9F,yEAAyE;YACzE,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrD,IAAI,MAAM,IAAI,IAAI;oBAAE,SAAS;gBAC7B,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrD,IAAI,MAAM,IAAI,IAAI;gBAAE,SAAS;YAC7B,IAAI,EAAE,GAAG,KAAK,CAAC;YACf,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;gBACb,KAAK,IAAI;oBACP,EAAE,GAAG,MAAM,KAAK,OAAO,CAAC;oBACxB,MAAM;gBACR,KAAK,IAAI;oBACP,EAAE,GAAG,MAAM,KAAK,OAAO,CAAC;oBACxB,MAAM;gBACR,KAAK,IAAI;oBACP,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACR,KAAK,KAAK;oBACR,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC;oBACvB,MAAM;gBACR,KAAK,IAAI;oBACP,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACR,KAAK,KAAK;oBACR,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC;oBACvB,MAAM;YACV,CAAC;YACD,IAAI,EAAE;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAe;QAC5B,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI;gBACF,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBAC1B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9F,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI;gBACF,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;oBAC3B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,MAAM,CACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAC5E,CAAC;QACV,CAAC;QACD,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,GAAG;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAa,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI;gBACF,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;oBACrB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC7B,+FAA+F;YAC/F,gGAAgG;YAChG,IAAI,UAAU,GAAuB,IAAI,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,GAAgB,UAAU,CAAC;oBACrC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;oBAAE,MAAM;YACnC,CAAC;YACD,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,GAAG,EAAU,CAAC;YAC5C,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,IAAI,CAAC;YACxC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,qGAAqG;QACrG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,IAAkB,EAClB,KAAoB,EACpB,IAA2B;QAE3B,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;aAC7B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,KAAa,EACb,IAAY;QAEZ,IAAI,MAAkC,CAAC;QACvC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAS;YACrD,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG;gBAAE,MAAM,GAAG,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAAa,EAAE,QAAkB;QACjE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aACjF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;aAC7B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"in-memory-state-store.js","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,18 @@ export interface RunHistory {
3
3
  run: WorkflowRun;
4
4
  checkpoints: StepCheckpoint[];
5
5
  }
6
+ /**
7
+ * Capture a run's replayable history from a live engine (or anything with its read API) — the
8
+ * fixture half of the {@link assertReplayable} loop. Pair with `node ace durable:export <runId>`
9
+ * to pull one from a running app, commit the JSON, and assert it in CI via {@link parseRunHistory}.
10
+ */
11
+ export declare function captureHistory(source: Pick<WorkflowEngine, 'getRun' | 'listCheckpoints'>, runId: string): Promise<RunHistory | null>;
12
+ /**
13
+ * Parse a committed history fixture (the JSON `durable:export` writes) back into a {@link
14
+ * RunHistory}, reviving the Date fields JSON flattened to ISO strings — so
15
+ * `assertReplayable(register, parseRunHistory(readFileSync('fixture.json', 'utf8')))` just works.
16
+ */
17
+ export declare function parseRunHistory(json: string): RunHistory;
6
18
  /**
7
19
  * Replay a recorded run's history against the CURRENT workflow code and throw if they diverged.
8
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAC1C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,iBAAiB,CAAC,EAC1D,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAI5B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAgBxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAC1C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -1,4 +1,37 @@
1
1
  import { InMemoryStateStore, WorkflowEngine, } from '../index.js';
2
+ /**
3
+ * Capture a run's replayable history from a live engine (or anything with its read API) — the
4
+ * fixture half of the {@link assertReplayable} loop. Pair with `node ace durable:export <runId>`
5
+ * to pull one from a running app, commit the JSON, and assert it in CI via {@link parseRunHistory}.
6
+ */
7
+ export async function captureHistory(source, runId) {
8
+ const run = await source.getRun(runId);
9
+ if (!run)
10
+ return null;
11
+ return { run, checkpoints: await source.listCheckpoints(runId) };
12
+ }
13
+ /**
14
+ * Parse a committed history fixture (the JSON `durable:export` writes) back into a {@link
15
+ * RunHistory}, reviving the Date fields JSON flattened to ISO strings — so
16
+ * `assertReplayable(register, parseRunHistory(readFileSync('fixture.json', 'utf8')))` just works.
17
+ */
18
+ export function parseRunHistory(json) {
19
+ const raw = JSON.parse(json);
20
+ const date = (v) => new Date(v);
21
+ const run = {
22
+ ...raw.run,
23
+ createdAt: date(raw.run.createdAt),
24
+ updatedAt: date(raw.run.updatedAt),
25
+ };
26
+ const checkpoints = raw.checkpoints.map((cp) => ({
27
+ ...cp,
28
+ enqueuedAt: date(cp.enqueuedAt),
29
+ startedAt: date(cp.startedAt),
30
+ finishedAt: date(cp.finishedAt),
31
+ ...(cp.lastHeartbeatAt != null ? { lastHeartbeatAt: date(cp.lastHeartbeatAt) } : {}),
32
+ }));
33
+ return { run, checkpoints };
34
+ }
2
35
  /**
3
36
  * Replay a recorded run's history against the CURRENT workflow code and throw if they diverged.
4
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/testing-kit/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,cAAc,GAEf,MAAM,aAAa,CAAC;AAOrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA0C,EAC1C,OAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACvC,yFAAyF;IACzF,qEAAqE;IACrE,MAAM,KAAK,CAAC,SAAS,CAAC;QACpB,GAAG,OAAO,CAAC,GAAG;QACd,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IACH,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvF,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACjC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/testing-kit/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,cAAc,GAEf,MAAM,aAAa,CAAC;AAOrB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA0D,EAC1D,KAAa;IAEb,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwD,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,CAA2B,CAAC,CAAC;IACzE,MAAM,GAAG,GAAgB;QACvB,GAAG,GAAG,CAAC,GAAG;QACV,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;KACnC,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG,EAAE;QACL,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;QAC7B,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAC/B,GAAG,CAAC,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA0C,EAC1C,OAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACvC,yFAAyF;IACzF,qEAAqE;IACrE,MAAM,KAAK,CAAC,SAAS,CAAC;QACpB,GAAG,OAAO,CAAC,GAAG;QACd,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IACH,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvF,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACjC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-store-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/state-store-conformance.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,EAIhB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,uBAAuB,QAAQ;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAszBtF"}
1
+ {"version":3,"file":"state-store-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/state-store-conformance.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,EAIhB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,uBAAuB,QAAQ;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CA+4BtF"}