@rivetkit/workflow-engine 2.3.20 → 2.3.21

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.
@@ -43,7 +43,7 @@
43
43
 
44
44
 
45
45
 
46
- var _chunkAKCJVGJ7cjs = require('./chunk-AKCJVGJ7.cjs');
46
+ var _chunkXRITRTKTcjs = require('./chunk-XRITRTKT.cjs');
47
47
 
48
48
 
49
49
 
@@ -89,5 +89,5 @@ var _chunkAKCJVGJ7cjs = require('./chunk-AKCJVGJ7.cjs');
89
89
 
90
90
 
91
91
 
92
- exports.CancelledError = _chunkAKCJVGJ7cjs.CancelledError; exports.CriticalError = _chunkAKCJVGJ7cjs.CriticalError; exports.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL = _chunkAKCJVGJ7cjs.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL; exports.DEFAULT_MAX_RETRIES = _chunkAKCJVGJ7cjs.DEFAULT_MAX_RETRIES; exports.DEFAULT_RETRY_BACKOFF_BASE = _chunkAKCJVGJ7cjs.DEFAULT_RETRY_BACKOFF_BASE; exports.DEFAULT_RETRY_BACKOFF_MAX = _chunkAKCJVGJ7cjs.DEFAULT_RETRY_BACKOFF_MAX; exports.DEFAULT_STEP_TIMEOUT = _chunkAKCJVGJ7cjs.DEFAULT_STEP_TIMEOUT; exports.EntryInProgressError = _chunkAKCJVGJ7cjs.EntryInProgressError; exports.EvictedError = _chunkAKCJVGJ7cjs.EvictedError; exports.HistoryDivergedError = _chunkAKCJVGJ7cjs.HistoryDivergedError; exports.JoinError = _chunkAKCJVGJ7cjs.JoinError; exports.Loop = _chunkAKCJVGJ7cjs.Loop; exports.MessageWaitError = _chunkAKCJVGJ7cjs.MessageWaitError; exports.RaceError = _chunkAKCJVGJ7cjs.RaceError; exports.RollbackCheckpointError = _chunkAKCJVGJ7cjs.RollbackCheckpointError; exports.RollbackError = _chunkAKCJVGJ7cjs.RollbackError; exports.SleepError = _chunkAKCJVGJ7cjs.SleepError; exports.StepExhaustedError = _chunkAKCJVGJ7cjs.StepExhaustedError; exports.StepFailedError = _chunkAKCJVGJ7cjs.StepFailedError; exports.WorkflowContextImpl = _chunkAKCJVGJ7cjs.WorkflowContextImpl; exports.appendLoopIteration = _chunkAKCJVGJ7cjs.appendLoopIteration; exports.appendName = _chunkAKCJVGJ7cjs.appendName; exports.createEntry = _chunkAKCJVGJ7cjs.createEntry; exports.createHistorySnapshot = _chunkAKCJVGJ7cjs.createHistorySnapshot; exports.createStorage = _chunkAKCJVGJ7cjs.createStorage; exports.deleteEntriesWithPrefix = _chunkAKCJVGJ7cjs.deleteEntriesWithPrefix; exports.emptyLocation = _chunkAKCJVGJ7cjs.emptyLocation; exports.extractErrorInfo = _chunkAKCJVGJ7cjs.extractErrorInfo; exports.flush = _chunkAKCJVGJ7cjs.flush; exports.generateId = _chunkAKCJVGJ7cjs.generateId; exports.getEntry = _chunkAKCJVGJ7cjs.getEntry; exports.getOrCreateMetadata = _chunkAKCJVGJ7cjs.getOrCreateMetadata; exports.isLocationPrefix = _chunkAKCJVGJ7cjs.isLocationPrefix; exports.isLoopIterationMarker = _chunkAKCJVGJ7cjs.isLoopIterationMarker; exports.loadMetadata = _chunkAKCJVGJ7cjs.loadMetadata; exports.loadStorage = _chunkAKCJVGJ7cjs.loadStorage; exports.locationToKey = _chunkAKCJVGJ7cjs.locationToKey; exports.locationsEqual = _chunkAKCJVGJ7cjs.locationsEqual; exports.parentLocation = _chunkAKCJVGJ7cjs.parentLocation; exports.registerName = _chunkAKCJVGJ7cjs.registerName; exports.replayWorkflowFromStep = _chunkAKCJVGJ7cjs.replayWorkflowFromStep; exports.resolveName = _chunkAKCJVGJ7cjs.resolveName; exports.runWorkflow = _chunkAKCJVGJ7cjs.runWorkflow; exports.setEntry = _chunkAKCJVGJ7cjs.setEntry;
92
+ exports.CancelledError = _chunkXRITRTKTcjs.CancelledError; exports.CriticalError = _chunkXRITRTKTcjs.CriticalError; exports.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL = _chunkXRITRTKTcjs.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL; exports.DEFAULT_MAX_RETRIES = _chunkXRITRTKTcjs.DEFAULT_MAX_RETRIES; exports.DEFAULT_RETRY_BACKOFF_BASE = _chunkXRITRTKTcjs.DEFAULT_RETRY_BACKOFF_BASE; exports.DEFAULT_RETRY_BACKOFF_MAX = _chunkXRITRTKTcjs.DEFAULT_RETRY_BACKOFF_MAX; exports.DEFAULT_STEP_TIMEOUT = _chunkXRITRTKTcjs.DEFAULT_STEP_TIMEOUT; exports.EntryInProgressError = _chunkXRITRTKTcjs.EntryInProgressError; exports.EvictedError = _chunkXRITRTKTcjs.EvictedError; exports.HistoryDivergedError = _chunkXRITRTKTcjs.HistoryDivergedError; exports.JoinError = _chunkXRITRTKTcjs.JoinError; exports.Loop = _chunkXRITRTKTcjs.Loop; exports.MessageWaitError = _chunkXRITRTKTcjs.MessageWaitError; exports.RaceError = _chunkXRITRTKTcjs.RaceError; exports.RollbackCheckpointError = _chunkXRITRTKTcjs.RollbackCheckpointError; exports.RollbackError = _chunkXRITRTKTcjs.RollbackError; exports.SleepError = _chunkXRITRTKTcjs.SleepError; exports.StepExhaustedError = _chunkXRITRTKTcjs.StepExhaustedError; exports.StepFailedError = _chunkXRITRTKTcjs.StepFailedError; exports.WorkflowContextImpl = _chunkXRITRTKTcjs.WorkflowContextImpl; exports.appendLoopIteration = _chunkXRITRTKTcjs.appendLoopIteration; exports.appendName = _chunkXRITRTKTcjs.appendName; exports.createEntry = _chunkXRITRTKTcjs.createEntry; exports.createHistorySnapshot = _chunkXRITRTKTcjs.createHistorySnapshot; exports.createStorage = _chunkXRITRTKTcjs.createStorage; exports.deleteEntriesWithPrefix = _chunkXRITRTKTcjs.deleteEntriesWithPrefix; exports.emptyLocation = _chunkXRITRTKTcjs.emptyLocation; exports.extractErrorInfo = _chunkXRITRTKTcjs.extractErrorInfo; exports.flush = _chunkXRITRTKTcjs.flush; exports.generateId = _chunkXRITRTKTcjs.generateId; exports.getEntry = _chunkXRITRTKTcjs.getEntry; exports.getOrCreateMetadata = _chunkXRITRTKTcjs.getOrCreateMetadata; exports.isLocationPrefix = _chunkXRITRTKTcjs.isLocationPrefix; exports.isLoopIterationMarker = _chunkXRITRTKTcjs.isLoopIterationMarker; exports.loadMetadata = _chunkXRITRTKTcjs.loadMetadata; exports.loadStorage = _chunkXRITRTKTcjs.loadStorage; exports.locationToKey = _chunkXRITRTKTcjs.locationToKey; exports.locationsEqual = _chunkXRITRTKTcjs.locationsEqual; exports.parentLocation = _chunkXRITRTKTcjs.parentLocation; exports.registerName = _chunkXRITRTKTcjs.registerName; exports.replayWorkflowFromStep = _chunkXRITRTKTcjs.replayWorkflowFromStep; exports.resolveName = _chunkXRITRTKTcjs.resolveName; exports.runWorkflow = _chunkXRITRTKTcjs.runWorkflow; exports.setEntry = _chunkXRITRTKTcjs.setEntry;
93
93
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/workflow-engine/dist/tsup/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,qpFAAC","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/workflow-engine/dist/tsup/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/workflow-engine/dist/tsup/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,qpFAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/workflow-engine/dist/tsup/index.cjs"}
@@ -43,7 +43,7 @@ import {
43
43
  resolveName,
44
44
  runWorkflow,
45
45
  setEntry
46
- } from "./chunk-EGOPMLG2.js";
46
+ } from "./chunk-AAAPEYGX.js";
47
47
  export {
48
48
  CancelledError,
49
49
  CriticalError,
@@ -47,7 +47,7 @@
47
47
 
48
48
 
49
49
 
50
- var _chunkAKCJVGJ7cjs = require('./chunk-AKCJVGJ7.cjs');
50
+ var _chunkXRITRTKTcjs = require('./chunk-XRITRTKT.cjs');
51
51
 
52
52
  // src/testing.ts
53
53
  var InMemoryWorkflowMessageDriver = class {
@@ -97,7 +97,7 @@ var InMemoryWorkflowMessageDriver = class {
97
97
  }
98
98
  async waitForMessages(messageNames, abortSignal) {
99
99
  if (abortSignal.aborted) {
100
- throw new (0, _chunkAKCJVGJ7cjs.EvictedError)();
100
+ throw new (0, _chunkXRITRTKTcjs.EvictedError)();
101
101
  }
102
102
  const nameSet = messageNames.length > 0 ? new Set(messageNames) : void 0;
103
103
  if (this.#messages.some(
@@ -118,7 +118,7 @@ var InMemoryWorkflowMessageDriver = class {
118
118
  },
119
119
  abortSignal,
120
120
  onAbort: () => {
121
- waiter.reject(new (0, _chunkAKCJVGJ7cjs.EvictedError)());
121
+ waiter.reject(new (0, _chunkXRITRTKTcjs.EvictedError)());
122
122
  }
123
123
  };
124
124
  abortSignal.addEventListener("abort", waiter.onAbort, {
@@ -158,62 +158,62 @@ var InMemoryDriver = (_class = class {constructor() { _class.prototype.__init.ca
158
158
  __init4() {this.workerPollInterval = 100}
159
159
  __init5() {this.messageDriver = this.#inMemoryMessageDriver}
160
160
  async get(key) {
161
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
162
- const entry = this.kv.get(_chunkAKCJVGJ7cjs.keyToHex.call(void 0, key));
161
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
162
+ const entry = this.kv.get(_chunkXRITRTKTcjs.keyToHex.call(void 0, key));
163
163
  return _nullishCoalesce((entry == null ? void 0 : entry.value), () => ( null));
164
164
  }
165
165
  async set(key, value) {
166
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
167
- this.kv.set(_chunkAKCJVGJ7cjs.keyToHex.call(void 0, key), { key, value });
166
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
167
+ this.kv.set(_chunkXRITRTKTcjs.keyToHex.call(void 0, key), { key, value });
168
168
  }
169
169
  async delete(key) {
170
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
171
- this.kv.delete(_chunkAKCJVGJ7cjs.keyToHex.call(void 0, key));
170
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
171
+ this.kv.delete(_chunkXRITRTKTcjs.keyToHex.call(void 0, key));
172
172
  }
173
173
  async batchDelete(keys) {
174
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
174
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
175
175
  for (const key of keys) {
176
- this.kv.delete(_chunkAKCJVGJ7cjs.keyToHex.call(void 0, key));
176
+ this.kv.delete(_chunkXRITRTKTcjs.keyToHex.call(void 0, key));
177
177
  }
178
178
  }
179
179
  async deletePrefix(prefix) {
180
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
180
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
181
181
  for (const [hexKey, entry] of this.kv) {
182
- if (_chunkAKCJVGJ7cjs.keyStartsWith.call(void 0, entry.key, prefix)) {
182
+ if (_chunkXRITRTKTcjs.keyStartsWith.call(void 0, entry.key, prefix)) {
183
183
  this.kv.delete(hexKey);
184
184
  }
185
185
  }
186
186
  }
187
187
  async deleteRange(start, end) {
188
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
188
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
189
189
  for (const [hexKey, entry] of this.kv) {
190
- if (_chunkAKCJVGJ7cjs.compareKeys.call(void 0, entry.key, start) >= 0 && _chunkAKCJVGJ7cjs.compareKeys.call(void 0, entry.key, end) < 0) {
190
+ if (_chunkXRITRTKTcjs.compareKeys.call(void 0, entry.key, start) >= 0 && _chunkXRITRTKTcjs.compareKeys.call(void 0, entry.key, end) < 0) {
191
191
  this.kv.delete(hexKey);
192
192
  }
193
193
  }
194
194
  }
195
195
  async list(prefix) {
196
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
196
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
197
197
  const results = [];
198
198
  for (const entry of this.kv.values()) {
199
- if (_chunkAKCJVGJ7cjs.keyStartsWith.call(void 0, entry.key, prefix)) {
199
+ if (_chunkXRITRTKTcjs.keyStartsWith.call(void 0, entry.key, prefix)) {
200
200
  results.push({ key: entry.key, value: entry.value });
201
201
  }
202
202
  }
203
- return results.sort((a, b) => _chunkAKCJVGJ7cjs.compareKeys.call(void 0, a.key, b.key));
203
+ return results.sort((a, b) => _chunkXRITRTKTcjs.compareKeys.call(void 0, a.key, b.key));
204
204
  }
205
205
  async batch(writes) {
206
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
206
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
207
207
  for (const { key, value } of writes) {
208
- this.kv.set(_chunkAKCJVGJ7cjs.keyToHex.call(void 0, key), { key, value });
208
+ this.kv.set(_chunkXRITRTKTcjs.keyToHex.call(void 0, key), { key, value });
209
209
  }
210
210
  }
211
211
  async setAlarm(workflowId, wakeAt) {
212
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
212
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
213
213
  this.alarms.set(workflowId, wakeAt);
214
214
  }
215
215
  async clearAlarm(workflowId) {
216
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, this.latency);
216
+ await _chunkXRITRTKTcjs.sleep.call(void 0, this.latency);
217
217
  this.alarms.delete(workflowId);
218
218
  }
219
219
  async waitForMessages(messageNames, abortSignal) {
@@ -224,7 +224,7 @@ var InMemoryDriver = (_class = class {constructor() { _class.prototype.__init.ca
224
224
  }
225
225
  while (true) {
226
226
  if (abortSignal.aborted) {
227
- throw new (0, _chunkAKCJVGJ7cjs.EvictedError)();
227
+ throw new (0, _chunkXRITRTKTcjs.EvictedError)();
228
228
  }
229
229
  const messages = await this.messageDriver.receiveMessages({
230
230
  names: messageNames.length > 0 ? messageNames : void 0,
@@ -234,7 +234,7 @@ var InMemoryDriver = (_class = class {constructor() { _class.prototype.__init.ca
234
234
  if (messages.length > 0) {
235
235
  return;
236
236
  }
237
- await _chunkAKCJVGJ7cjs.sleep.call(void 0, Math.max(1, this.latency));
237
+ await _chunkXRITRTKTcjs.sleep.call(void 0, Math.max(1, this.latency));
238
238
  }
239
239
  }
240
240
  /**
@@ -330,5 +330,5 @@ var InMemoryDriver = (_class = class {constructor() { _class.prototype.__init.ca
330
330
 
331
331
 
332
332
 
333
- exports.CancelledError = _chunkAKCJVGJ7cjs.CancelledError; exports.CriticalError = _chunkAKCJVGJ7cjs.CriticalError; exports.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL = _chunkAKCJVGJ7cjs.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL; exports.DEFAULT_MAX_RETRIES = _chunkAKCJVGJ7cjs.DEFAULT_MAX_RETRIES; exports.DEFAULT_RETRY_BACKOFF_BASE = _chunkAKCJVGJ7cjs.DEFAULT_RETRY_BACKOFF_BASE; exports.DEFAULT_RETRY_BACKOFF_MAX = _chunkAKCJVGJ7cjs.DEFAULT_RETRY_BACKOFF_MAX; exports.DEFAULT_STEP_TIMEOUT = _chunkAKCJVGJ7cjs.DEFAULT_STEP_TIMEOUT; exports.EntryInProgressError = _chunkAKCJVGJ7cjs.EntryInProgressError; exports.EvictedError = _chunkAKCJVGJ7cjs.EvictedError; exports.HistoryDivergedError = _chunkAKCJVGJ7cjs.HistoryDivergedError; exports.InMemoryDriver = InMemoryDriver; exports.JoinError = _chunkAKCJVGJ7cjs.JoinError; exports.Loop = _chunkAKCJVGJ7cjs.Loop; exports.MessageWaitError = _chunkAKCJVGJ7cjs.MessageWaitError; exports.RaceError = _chunkAKCJVGJ7cjs.RaceError; exports.RollbackCheckpointError = _chunkAKCJVGJ7cjs.RollbackCheckpointError; exports.RollbackError = _chunkAKCJVGJ7cjs.RollbackError; exports.SleepError = _chunkAKCJVGJ7cjs.SleepError; exports.StepExhaustedError = _chunkAKCJVGJ7cjs.StepExhaustedError; exports.StepFailedError = _chunkAKCJVGJ7cjs.StepFailedError; exports.WorkflowContextImpl = _chunkAKCJVGJ7cjs.WorkflowContextImpl; exports.appendLoopIteration = _chunkAKCJVGJ7cjs.appendLoopIteration; exports.appendName = _chunkAKCJVGJ7cjs.appendName; exports.createEntry = _chunkAKCJVGJ7cjs.createEntry; exports.createHistorySnapshot = _chunkAKCJVGJ7cjs.createHistorySnapshot; exports.createStorage = _chunkAKCJVGJ7cjs.createStorage; exports.deleteEntriesWithPrefix = _chunkAKCJVGJ7cjs.deleteEntriesWithPrefix; exports.emptyLocation = _chunkAKCJVGJ7cjs.emptyLocation; exports.extractErrorInfo = _chunkAKCJVGJ7cjs.extractErrorInfo; exports.flush = _chunkAKCJVGJ7cjs.flush; exports.generateId = _chunkAKCJVGJ7cjs.generateId; exports.getEntry = _chunkAKCJVGJ7cjs.getEntry; exports.getOrCreateMetadata = _chunkAKCJVGJ7cjs.getOrCreateMetadata; exports.isLocationPrefix = _chunkAKCJVGJ7cjs.isLocationPrefix; exports.isLoopIterationMarker = _chunkAKCJVGJ7cjs.isLoopIterationMarker; exports.loadMetadata = _chunkAKCJVGJ7cjs.loadMetadata; exports.loadStorage = _chunkAKCJVGJ7cjs.loadStorage; exports.locationToKey = _chunkAKCJVGJ7cjs.locationToKey; exports.locationsEqual = _chunkAKCJVGJ7cjs.locationsEqual; exports.parentLocation = _chunkAKCJVGJ7cjs.parentLocation; exports.registerName = _chunkAKCJVGJ7cjs.registerName; exports.replayWorkflowFromStep = _chunkAKCJVGJ7cjs.replayWorkflowFromStep; exports.resolveName = _chunkAKCJVGJ7cjs.resolveName; exports.runWorkflow = _chunkAKCJVGJ7cjs.runWorkflow; exports.setEntry = _chunkAKCJVGJ7cjs.setEntry;
333
+ exports.CancelledError = _chunkXRITRTKTcjs.CancelledError; exports.CriticalError = _chunkXRITRTKTcjs.CriticalError; exports.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL = _chunkXRITRTKTcjs.DEFAULT_LOOP_HISTORY_PRUNE_INTERVAL; exports.DEFAULT_MAX_RETRIES = _chunkXRITRTKTcjs.DEFAULT_MAX_RETRIES; exports.DEFAULT_RETRY_BACKOFF_BASE = _chunkXRITRTKTcjs.DEFAULT_RETRY_BACKOFF_BASE; exports.DEFAULT_RETRY_BACKOFF_MAX = _chunkXRITRTKTcjs.DEFAULT_RETRY_BACKOFF_MAX; exports.DEFAULT_STEP_TIMEOUT = _chunkXRITRTKTcjs.DEFAULT_STEP_TIMEOUT; exports.EntryInProgressError = _chunkXRITRTKTcjs.EntryInProgressError; exports.EvictedError = _chunkXRITRTKTcjs.EvictedError; exports.HistoryDivergedError = _chunkXRITRTKTcjs.HistoryDivergedError; exports.InMemoryDriver = InMemoryDriver; exports.JoinError = _chunkXRITRTKTcjs.JoinError; exports.Loop = _chunkXRITRTKTcjs.Loop; exports.MessageWaitError = _chunkXRITRTKTcjs.MessageWaitError; exports.RaceError = _chunkXRITRTKTcjs.RaceError; exports.RollbackCheckpointError = _chunkXRITRTKTcjs.RollbackCheckpointError; exports.RollbackError = _chunkXRITRTKTcjs.RollbackError; exports.SleepError = _chunkXRITRTKTcjs.SleepError; exports.StepExhaustedError = _chunkXRITRTKTcjs.StepExhaustedError; exports.StepFailedError = _chunkXRITRTKTcjs.StepFailedError; exports.WorkflowContextImpl = _chunkXRITRTKTcjs.WorkflowContextImpl; exports.appendLoopIteration = _chunkXRITRTKTcjs.appendLoopIteration; exports.appendName = _chunkXRITRTKTcjs.appendName; exports.createEntry = _chunkXRITRTKTcjs.createEntry; exports.createHistorySnapshot = _chunkXRITRTKTcjs.createHistorySnapshot; exports.createStorage = _chunkXRITRTKTcjs.createStorage; exports.deleteEntriesWithPrefix = _chunkXRITRTKTcjs.deleteEntriesWithPrefix; exports.emptyLocation = _chunkXRITRTKTcjs.emptyLocation; exports.extractErrorInfo = _chunkXRITRTKTcjs.extractErrorInfo; exports.flush = _chunkXRITRTKTcjs.flush; exports.generateId = _chunkXRITRTKTcjs.generateId; exports.getEntry = _chunkXRITRTKTcjs.getEntry; exports.getOrCreateMetadata = _chunkXRITRTKTcjs.getOrCreateMetadata; exports.isLocationPrefix = _chunkXRITRTKTcjs.isLocationPrefix; exports.isLoopIterationMarker = _chunkXRITRTKTcjs.isLoopIterationMarker; exports.loadMetadata = _chunkXRITRTKTcjs.loadMetadata; exports.loadStorage = _chunkXRITRTKTcjs.loadStorage; exports.locationToKey = _chunkXRITRTKTcjs.locationToKey; exports.locationsEqual = _chunkXRITRTKTcjs.locationsEqual; exports.parentLocation = _chunkXRITRTKTcjs.parentLocation; exports.registerName = _chunkXRITRTKTcjs.registerName; exports.replayWorkflowFromStep = _chunkXRITRTKTcjs.replayWorkflowFromStep; exports.resolveName = _chunkXRITRTKTcjs.resolveName; exports.runWorkflow = _chunkXRITRTKTcjs.runWorkflow; exports.setEntry = _chunkXRITRTKTcjs.setEntry;
334
334
  //# sourceMappingURL=testing.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/workflow-engine/dist/tsup/testing.cjs","../../src/testing.ts"],"names":[],"mappings":"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","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/workflow-engine/dist/tsup/testing.cjs","sourcesContent":[null,"import type { EngineDriver, KVEntry, KVWrite } from \"./driver.js\";\nimport { EvictedError } from \"./errors.js\";\nimport { compareKeys, keyStartsWith, keyToHex } from \"./keys.js\";\nimport type { Message, WorkflowMessageDriver } from \"./types.js\";\nimport { sleep } from \"./utils.js\";\n\ninterface Waiter {\n\tnameSet?: Set<string>;\n\tresolve: () => void;\n\treject: (error: Error) => void;\n\tabortSignal: AbortSignal;\n\tonAbort: () => void;\n}\n\nclass InMemoryWorkflowMessageDriver implements WorkflowMessageDriver {\n\t#messages: Message[] = [];\n\t#waiters = new Set<Waiter>();\n\n\tasync addMessage(message: Message): Promise<void> {\n\t\tthis.#messages.push(message);\n\t\tthis.#notifyWaiters(message.name);\n\t}\n\n\tasync receiveMessages(opts: {\n\t\tnames?: readonly string[];\n\t\tcount: number;\n\t\tcompletable: boolean;\n\t}): Promise<Message[]> {\n\t\tconst limitedCount = Math.max(1, opts.count);\n\t\tconst nameSet =\n\t\t\topts.names && opts.names.length > 0\n\t\t\t\t? new Set(opts.names)\n\t\t\t\t: undefined;\n\t\tconst selected: Array<{ message: Message; index: number }> = [];\n\n\t\tfor (\n\t\t\tlet i = 0;\n\t\t\ti < this.#messages.length && selected.length < limitedCount;\n\t\t\ti++\n\t\t) {\n\t\t\tconst message = this.#messages[i];\n\t\t\tif (nameSet && !nameSet.has(message.name)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tselected.push({ message, index: i });\n\t\t}\n\n\t\tif (selected.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (!opts.completable) {\n\t\t\tfor (let i = selected.length - 1; i >= 0; i--) {\n\t\t\t\tthis.#messages.splice(selected[i].index, 1);\n\t\t\t}\n\t\t\treturn selected.map((entry) => entry.message);\n\t\t}\n\n\t\treturn selected.map((entry) => {\n\t\t\tconst { message } = entry;\n\t\t\treturn {\n\t\t\t\t...message,\n\t\t\t\tcomplete: async () => {\n\t\t\t\t\tawait this.completeMessage(message.id);\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tasync completeMessage(messageId: string): Promise<void> {\n\t\tconst index = this.#messages.findIndex(\n\t\t\t(message) => message.id === messageId,\n\t\t);\n\t\tif (index !== -1) {\n\t\t\tthis.#messages.splice(index, 1);\n\t\t}\n\t}\n\n\tasync waitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\tif (abortSignal.aborted) {\n\t\t\tthrow new EvictedError();\n\t\t}\n\n\t\tconst nameSet =\n\t\t\tmessageNames.length > 0 ? new Set(messageNames) : undefined;\n\t\tif (\n\t\t\tthis.#messages.some((message) =>\n\t\t\t\tnameSet ? nameSet.has(message.name) : true,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tconst waiter: Waiter = {\n\t\t\t\tnameSet,\n\t\t\t\tresolve: () => {\n\t\t\t\t\tthis.#removeWaiter(waiter);\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\treject: (error) => {\n\t\t\t\t\tthis.#removeWaiter(waiter);\n\t\t\t\t\treject(error);\n\t\t\t\t},\n\t\t\t\tabortSignal,\n\t\t\t\tonAbort: () => {\n\t\t\t\t\twaiter.reject(new EvictedError());\n\t\t\t\t},\n\t\t\t};\n\t\t\tabortSignal.addEventListener(\"abort\", waiter.onAbort, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t\tthis.#waiters.add(waiter);\n\t\t});\n\t}\n\n\t#removeWaiter(waiter: Waiter): void {\n\t\tif (this.#waiters.delete(waiter)) {\n\t\t\twaiter.abortSignal.removeEventListener(\"abort\", waiter.onAbort);\n\t\t}\n\t}\n\n\t#notifyWaiters(name: string): void {\n\t\tfor (const waiter of [...this.#waiters]) {\n\t\t\tif (waiter.nameSet && !waiter.nameSet.has(name)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\twaiter.resolve();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tthis.#messages = [];\n\t\tfor (const waiter of [...this.#waiters]) {\n\t\t\twaiter.reject(new Error(\"cleared\"));\n\t\t}\n\t}\n}\n\n/**\n * In-memory implementation of EngineDriver for testing.\n * Uses binary keys (Uint8Array) with hex encoding for internal Map storage.\n */\nexport class InMemoryDriver implements EngineDriver {\n\t// Map from hex-encoded key to { originalKey, value }\n\tprivate kv = new Map<string, { key: Uint8Array; value: Uint8Array }>();\n\tprivate alarms = new Map<string, number>();\n\t#inMemoryMessageDriver = new InMemoryWorkflowMessageDriver();\n\n\t/** Simulated latency per operation (ms) */\n\tlatency = 10;\n\n\t/** How often the worker polls for work */\n\tworkerPollInterval = 100;\n\tmessageDriver: WorkflowMessageDriver = this.#inMemoryMessageDriver;\n\n\tasync get(key: Uint8Array): Promise<Uint8Array | null> {\n\t\tawait sleep(this.latency);\n\t\tconst entry = this.kv.get(keyToHex(key));\n\t\treturn entry?.value ?? null;\n\t}\n\n\tasync set(key: Uint8Array, value: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.kv.set(keyToHex(key), { key, value });\n\t}\n\n\tasync delete(key: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.kv.delete(keyToHex(key));\n\t}\n\n\tasync batchDelete(keys: Uint8Array[]): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const key of keys) {\n\t\t\tthis.kv.delete(keyToHex(key));\n\t\t}\n\t}\n\n\tasync deletePrefix(prefix: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const [hexKey, entry] of this.kv) {\n\t\t\tif (keyStartsWith(entry.key, prefix)) {\n\t\t\t\tthis.kv.delete(hexKey);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync deleteRange(start: Uint8Array, end: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const [hexKey, entry] of this.kv) {\n\t\t\tif (\n\t\t\t\tcompareKeys(entry.key, start) >= 0 &&\n\t\t\t\tcompareKeys(entry.key, end) < 0\n\t\t\t) {\n\t\t\t\tthis.kv.delete(hexKey);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync list(prefix: Uint8Array): Promise<KVEntry[]> {\n\t\tawait sleep(this.latency);\n\t\tconst results: KVEntry[] = [];\n\t\tfor (const entry of this.kv.values()) {\n\t\t\tif (keyStartsWith(entry.key, prefix)) {\n\t\t\t\tresults.push({ key: entry.key, value: entry.value });\n\t\t\t}\n\t\t}\n\t\t// Sort by key lexicographically\n\t\treturn results.sort((a, b) => compareKeys(a.key, b.key));\n\t}\n\n\tasync batch(writes: KVWrite[]): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const { key, value } of writes) {\n\t\t\tthis.kv.set(keyToHex(key), { key, value });\n\t\t}\n\t}\n\n\tasync setAlarm(workflowId: string, wakeAt: number): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.alarms.set(workflowId, wakeAt);\n\t}\n\n\tasync clearAlarm(workflowId: string): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.alarms.delete(workflowId);\n\t}\n\n\tasync waitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\tconst driver = this.messageDriver as WorkflowMessageDriver & {\n\t\t\twaitForMessages?: (\n\t\t\t\tmessageNames: string[],\n\t\t\t\tabortSignal: AbortSignal,\n\t\t\t) => Promise<void>;\n\t\t};\n\t\tif (driver.waitForMessages) {\n\t\t\tawait driver.waitForMessages(messageNames, abortSignal);\n\t\t\treturn;\n\t\t}\n\n\t\twhile (true) {\n\t\t\tif (abortSignal.aborted) {\n\t\t\t\tthrow new EvictedError();\n\t\t\t}\n\t\t\tconst messages = await this.messageDriver.receiveMessages({\n\t\t\t\tnames: messageNames.length > 0 ? messageNames : undefined,\n\t\t\t\tcount: 1,\n\t\t\t\tcompletable: true,\n\t\t\t});\n\t\t\tif (messages.length > 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait sleep(Math.max(1, this.latency));\n\t\t}\n\t}\n\n\t/**\n\t * Get the alarm time for a workflow (for testing).\n\t */\n\tgetAlarm(workflowId: string): number | undefined {\n\t\treturn this.alarms.get(workflowId);\n\t}\n\n\t/**\n\t * Check if any alarms are due and return their workflow IDs.\n\t */\n\tgetDueAlarms(): string[] {\n\t\tconst now = Date.now();\n\t\tconst due: string[] = [];\n\t\tfor (const [workflowId, wakeAt] of this.alarms) {\n\t\t\tif (wakeAt <= now) {\n\t\t\t\tdue.push(workflowId);\n\t\t\t}\n\t\t}\n\t\treturn due;\n\t}\n\n\t/**\n\t * Clear all data (for testing).\n\t */\n\tclear(): void {\n\t\tthis.kv.clear();\n\t\tthis.alarms.clear();\n\t\tthis.#inMemoryMessageDriver.clear();\n\t}\n\n\t/**\n\t * Get a snapshot of all data (for testing/debugging).\n\t */\n\tsnapshot(): {\n\t\tkv: Record<string, Uint8Array>;\n\t\talarms: Record<string, number>;\n\t} {\n\t\tconst kvSnapshot: Record<string, Uint8Array> = {};\n\t\tfor (const [hexKey, entry] of this.kv) {\n\t\t\tkvSnapshot[hexKey] = entry.value;\n\t\t}\n\t\treturn {\n\t\t\tkv: kvSnapshot,\n\t\t\talarms: Object.fromEntries(this.alarms),\n\t\t};\n\t}\n\n\t/**\n\t * Get all hex-encoded keys (for testing).\n\t */\n\tkeys(): string[] {\n\t\treturn [...this.kv.keys()];\n\t}\n}\n\n// Re-export main exports for convenience\nexport * from \"./index.js\";\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/workflow-engine/dist/tsup/testing.cjs","../../src/testing.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/workflow-engine/dist/tsup/testing.cjs","sourcesContent":[null,"import type { EngineDriver, KVEntry, KVWrite } from \"./driver.js\";\nimport { EvictedError } from \"./errors.js\";\nimport { compareKeys, keyStartsWith, keyToHex } from \"./keys.js\";\nimport type { Message, WorkflowMessageDriver } from \"./types.js\";\nimport { sleep } from \"./utils.js\";\n\ninterface Waiter {\n\tnameSet?: Set<string>;\n\tresolve: () => void;\n\treject: (error: Error) => void;\n\tabortSignal: AbortSignal;\n\tonAbort: () => void;\n}\n\nclass InMemoryWorkflowMessageDriver implements WorkflowMessageDriver {\n\t#messages: Message[] = [];\n\t#waiters = new Set<Waiter>();\n\n\tasync addMessage(message: Message): Promise<void> {\n\t\tthis.#messages.push(message);\n\t\tthis.#notifyWaiters(message.name);\n\t}\n\n\tasync receiveMessages(opts: {\n\t\tnames?: readonly string[];\n\t\tcount: number;\n\t\tcompletable: boolean;\n\t}): Promise<Message[]> {\n\t\tconst limitedCount = Math.max(1, opts.count);\n\t\tconst nameSet =\n\t\t\topts.names && opts.names.length > 0\n\t\t\t\t? new Set(opts.names)\n\t\t\t\t: undefined;\n\t\tconst selected: Array<{ message: Message; index: number }> = [];\n\n\t\tfor (\n\t\t\tlet i = 0;\n\t\t\ti < this.#messages.length && selected.length < limitedCount;\n\t\t\ti++\n\t\t) {\n\t\t\tconst message = this.#messages[i];\n\t\t\tif (nameSet && !nameSet.has(message.name)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tselected.push({ message, index: i });\n\t\t}\n\n\t\tif (selected.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (!opts.completable) {\n\t\t\tfor (let i = selected.length - 1; i >= 0; i--) {\n\t\t\t\tthis.#messages.splice(selected[i].index, 1);\n\t\t\t}\n\t\t\treturn selected.map((entry) => entry.message);\n\t\t}\n\n\t\treturn selected.map((entry) => {\n\t\t\tconst { message } = entry;\n\t\t\treturn {\n\t\t\t\t...message,\n\t\t\t\tcomplete: async () => {\n\t\t\t\t\tawait this.completeMessage(message.id);\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tasync completeMessage(messageId: string): Promise<void> {\n\t\tconst index = this.#messages.findIndex(\n\t\t\t(message) => message.id === messageId,\n\t\t);\n\t\tif (index !== -1) {\n\t\t\tthis.#messages.splice(index, 1);\n\t\t}\n\t}\n\n\tasync waitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\tif (abortSignal.aborted) {\n\t\t\tthrow new EvictedError();\n\t\t}\n\n\t\tconst nameSet =\n\t\t\tmessageNames.length > 0 ? new Set(messageNames) : undefined;\n\t\tif (\n\t\t\tthis.#messages.some((message) =>\n\t\t\t\tnameSet ? nameSet.has(message.name) : true,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tconst waiter: Waiter = {\n\t\t\t\tnameSet,\n\t\t\t\tresolve: () => {\n\t\t\t\t\tthis.#removeWaiter(waiter);\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\treject: (error) => {\n\t\t\t\t\tthis.#removeWaiter(waiter);\n\t\t\t\t\treject(error);\n\t\t\t\t},\n\t\t\t\tabortSignal,\n\t\t\t\tonAbort: () => {\n\t\t\t\t\twaiter.reject(new EvictedError());\n\t\t\t\t},\n\t\t\t};\n\t\t\tabortSignal.addEventListener(\"abort\", waiter.onAbort, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t\tthis.#waiters.add(waiter);\n\t\t});\n\t}\n\n\t#removeWaiter(waiter: Waiter): void {\n\t\tif (this.#waiters.delete(waiter)) {\n\t\t\twaiter.abortSignal.removeEventListener(\"abort\", waiter.onAbort);\n\t\t}\n\t}\n\n\t#notifyWaiters(name: string): void {\n\t\tfor (const waiter of [...this.#waiters]) {\n\t\t\tif (waiter.nameSet && !waiter.nameSet.has(name)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\twaiter.resolve();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tthis.#messages = [];\n\t\tfor (const waiter of [...this.#waiters]) {\n\t\t\twaiter.reject(new Error(\"cleared\"));\n\t\t}\n\t}\n}\n\n/**\n * In-memory implementation of EngineDriver for testing.\n * Uses binary keys (Uint8Array) with hex encoding for internal Map storage.\n */\nexport class InMemoryDriver implements EngineDriver {\n\t// Map from hex-encoded key to { originalKey, value }\n\tprivate kv = new Map<string, { key: Uint8Array; value: Uint8Array }>();\n\tprivate alarms = new Map<string, number>();\n\t#inMemoryMessageDriver = new InMemoryWorkflowMessageDriver();\n\n\t/** Simulated latency per operation (ms) */\n\tlatency = 10;\n\n\t/** How often the worker polls for work */\n\tworkerPollInterval = 100;\n\tmessageDriver: WorkflowMessageDriver = this.#inMemoryMessageDriver;\n\n\tasync get(key: Uint8Array): Promise<Uint8Array | null> {\n\t\tawait sleep(this.latency);\n\t\tconst entry = this.kv.get(keyToHex(key));\n\t\treturn entry?.value ?? null;\n\t}\n\n\tasync set(key: Uint8Array, value: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.kv.set(keyToHex(key), { key, value });\n\t}\n\n\tasync delete(key: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.kv.delete(keyToHex(key));\n\t}\n\n\tasync batchDelete(keys: Uint8Array[]): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const key of keys) {\n\t\t\tthis.kv.delete(keyToHex(key));\n\t\t}\n\t}\n\n\tasync deletePrefix(prefix: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const [hexKey, entry] of this.kv) {\n\t\t\tif (keyStartsWith(entry.key, prefix)) {\n\t\t\t\tthis.kv.delete(hexKey);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync deleteRange(start: Uint8Array, end: Uint8Array): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const [hexKey, entry] of this.kv) {\n\t\t\tif (\n\t\t\t\tcompareKeys(entry.key, start) >= 0 &&\n\t\t\t\tcompareKeys(entry.key, end) < 0\n\t\t\t) {\n\t\t\t\tthis.kv.delete(hexKey);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync list(prefix: Uint8Array): Promise<KVEntry[]> {\n\t\tawait sleep(this.latency);\n\t\tconst results: KVEntry[] = [];\n\t\tfor (const entry of this.kv.values()) {\n\t\t\tif (keyStartsWith(entry.key, prefix)) {\n\t\t\t\tresults.push({ key: entry.key, value: entry.value });\n\t\t\t}\n\t\t}\n\t\t// Sort by key lexicographically\n\t\treturn results.sort((a, b) => compareKeys(a.key, b.key));\n\t}\n\n\tasync batch(writes: KVWrite[]): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tfor (const { key, value } of writes) {\n\t\t\tthis.kv.set(keyToHex(key), { key, value });\n\t\t}\n\t}\n\n\tasync setAlarm(workflowId: string, wakeAt: number): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.alarms.set(workflowId, wakeAt);\n\t}\n\n\tasync clearAlarm(workflowId: string): Promise<void> {\n\t\tawait sleep(this.latency);\n\t\tthis.alarms.delete(workflowId);\n\t}\n\n\tasync waitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\tconst driver = this.messageDriver as WorkflowMessageDriver & {\n\t\t\twaitForMessages?: (\n\t\t\t\tmessageNames: string[],\n\t\t\t\tabortSignal: AbortSignal,\n\t\t\t) => Promise<void>;\n\t\t};\n\t\tif (driver.waitForMessages) {\n\t\t\tawait driver.waitForMessages(messageNames, abortSignal);\n\t\t\treturn;\n\t\t}\n\n\t\twhile (true) {\n\t\t\tif (abortSignal.aborted) {\n\t\t\t\tthrow new EvictedError();\n\t\t\t}\n\t\t\tconst messages = await this.messageDriver.receiveMessages({\n\t\t\t\tnames: messageNames.length > 0 ? messageNames : undefined,\n\t\t\t\tcount: 1,\n\t\t\t\tcompletable: true,\n\t\t\t});\n\t\t\tif (messages.length > 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait sleep(Math.max(1, this.latency));\n\t\t}\n\t}\n\n\t/**\n\t * Get the alarm time for a workflow (for testing).\n\t */\n\tgetAlarm(workflowId: string): number | undefined {\n\t\treturn this.alarms.get(workflowId);\n\t}\n\n\t/**\n\t * Check if any alarms are due and return their workflow IDs.\n\t */\n\tgetDueAlarms(): string[] {\n\t\tconst now = Date.now();\n\t\tconst due: string[] = [];\n\t\tfor (const [workflowId, wakeAt] of this.alarms) {\n\t\t\tif (wakeAt <= now) {\n\t\t\t\tdue.push(workflowId);\n\t\t\t}\n\t\t}\n\t\treturn due;\n\t}\n\n\t/**\n\t * Clear all data (for testing).\n\t */\n\tclear(): void {\n\t\tthis.kv.clear();\n\t\tthis.alarms.clear();\n\t\tthis.#inMemoryMessageDriver.clear();\n\t}\n\n\t/**\n\t * Get a snapshot of all data (for testing/debugging).\n\t */\n\tsnapshot(): {\n\t\tkv: Record<string, Uint8Array>;\n\t\talarms: Record<string, number>;\n\t} {\n\t\tconst kvSnapshot: Record<string, Uint8Array> = {};\n\t\tfor (const [hexKey, entry] of this.kv) {\n\t\t\tkvSnapshot[hexKey] = entry.value;\n\t\t}\n\t\treturn {\n\t\t\tkv: kvSnapshot,\n\t\t\talarms: Object.fromEntries(this.alarms),\n\t\t};\n\t}\n\n\t/**\n\t * Get all hex-encoded keys (for testing).\n\t */\n\tkeys(): string[] {\n\t\treturn [...this.kv.keys()];\n\t}\n}\n\n// Re-export main exports for convenience\nexport * from \"./index.js\";\n"]}
@@ -47,7 +47,7 @@ import {
47
47
  runWorkflow,
48
48
  setEntry,
49
49
  sleep
50
- } from "./chunk-EGOPMLG2.js";
50
+ } from "./chunk-AAAPEYGX.js";
51
51
 
52
52
  // src/testing.ts
53
53
  var InMemoryWorkflowMessageDriver = class {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivetkit/workflow-engine",
3
- "version": "2.3.20",
3
+ "version": "2.3.21",
4
4
  "description": "Durable workflow engine with reentrant execution",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -69,7 +69,7 @@
69
69
  },
70
70
  "repository": {
71
71
  "type": "git",
72
- "url": "https://github.com/rivet-dev/actors.git",
72
+ "url": "https://github.com/rivet-dev/rivet.git",
73
73
  "directory": "rivetkit-typescript/packages/workflow-engine"
74
74
  }
75
75
  }
package/src/storage.ts CHANGED
@@ -409,7 +409,9 @@ async function runDeletes(
409
409
  deletions: PendingDeletions,
410
410
  ): Promise<boolean> {
411
411
  const ops = [
412
- ...deletions.prefixes.map((prefix) => () => driver.deletePrefix(prefix)),
412
+ ...deletions.prefixes.map(
413
+ (prefix) => () => driver.deletePrefix(prefix),
414
+ ),
413
415
  ...deletions.ranges.map(
414
416
  (range) => () => driver.deleteRange(range.start, range.end),
415
417
  ),