rivetkit 2.1.5 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/browser/client.js +1 -1
  2. package/dist/browser/client.js.map +1 -1
  3. package/dist/browser/inspector/client.js +1 -1
  4. package/dist/browser/inspector/client.js.map +1 -1
  5. package/dist/inspector.tar.gz +0 -0
  6. package/dist/tsup/{chunk-HYPIHCDT.cjs → chunk-2Q5WS6QH.cjs} +3 -4
  7. package/dist/tsup/chunk-2Q5WS6QH.cjs.map +1 -0
  8. package/dist/tsup/{chunk-D2SPAJVT.cjs → chunk-4YFX2SP2.cjs} +30 -30
  9. package/dist/tsup/{chunk-D2SPAJVT.cjs.map → chunk-4YFX2SP2.cjs.map} +1 -1
  10. package/dist/tsup/{chunk-7WF2QSIC.cjs → chunk-7ANRFQJK.cjs} +20 -20
  11. package/dist/tsup/{chunk-7WF2QSIC.cjs.map → chunk-7ANRFQJK.cjs.map} +1 -1
  12. package/dist/tsup/{chunk-JPXO2H55.js → chunk-DOEWKM5V.js} +5 -5
  13. package/dist/tsup/{chunk-JC6BEPE7.cjs → chunk-DSXC3S7Q.cjs} +3 -3
  14. package/dist/tsup/{chunk-JC6BEPE7.cjs.map → chunk-DSXC3S7Q.cjs.map} +1 -1
  15. package/dist/tsup/{chunk-2OK7S6QF.js → chunk-ELCI2QTU.js} +2 -2
  16. package/dist/tsup/{chunk-IIJNPVPQ.cjs → chunk-GRHLSP4A.cjs} +152 -152
  17. package/dist/tsup/{chunk-IIJNPVPQ.cjs.map → chunk-GRHLSP4A.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-PB5AEMKQ.cjs → chunk-GVBTEL2D.cjs} +3 -3
  19. package/dist/tsup/{chunk-PB5AEMKQ.cjs.map → chunk-GVBTEL2D.cjs.map} +1 -1
  20. package/dist/tsup/{chunk-EIATSBYZ.js → chunk-ITLKCAXM.js} +2 -3
  21. package/dist/tsup/{chunk-EIATSBYZ.js.map → chunk-ITLKCAXM.js.map} +1 -1
  22. package/dist/tsup/{chunk-GQGRQDRL.cjs → chunk-J45S63Q5.cjs} +4 -4
  23. package/dist/tsup/{chunk-GQGRQDRL.cjs.map → chunk-J45S63Q5.cjs.map} +1 -1
  24. package/dist/tsup/{chunk-R5OQUSLN.js → chunk-K7JTZNLG.js} +4 -4
  25. package/dist/tsup/{chunk-WY2SHWXQ.js → chunk-KARQFHQH.js} +4 -4
  26. package/dist/tsup/{chunk-SRIM3GHD.js → chunk-KJXZTBFN.js} +5 -5
  27. package/dist/tsup/{chunk-ZPWOYQHN.js → chunk-KTQKZOGC.js} +110 -110
  28. package/dist/tsup/chunk-KTQKZOGC.js.map +1 -0
  29. package/dist/tsup/{chunk-S662Y6ZU.js → chunk-PB5QRAQX.js} +2 -2
  30. package/dist/tsup/{chunk-TADUYCHF.js → chunk-SFC4YXTL.js} +2 -2
  31. package/dist/tsup/{chunk-TI5PXQGG.cjs → chunk-TTVNEKBE.cjs} +81 -81
  32. package/dist/tsup/{chunk-TI5PXQGG.cjs.map → chunk-TTVNEKBE.cjs.map} +1 -1
  33. package/dist/tsup/{chunk-OAXJWGMU.cjs → chunk-VQHUWB37.cjs} +192 -192
  34. package/dist/tsup/chunk-VQHUWB37.cjs.map +1 -0
  35. package/dist/tsup/{chunk-MIX2KB6U.js → chunk-W735O34B.js} +3 -3
  36. package/dist/tsup/{chunk-U5SMSA27.cjs → chunk-Z2X3VVCS.cjs} +235 -235
  37. package/dist/tsup/{chunk-U5SMSA27.cjs.map → chunk-Z2X3VVCS.cjs.map} +1 -1
  38. package/dist/tsup/client/mod.cjs +6 -6
  39. package/dist/tsup/client/mod.js +5 -5
  40. package/dist/tsup/common/log.cjs +2 -2
  41. package/dist/tsup/common/log.js +1 -1
  42. package/dist/tsup/common/websocket.cjs +3 -3
  43. package/dist/tsup/common/websocket.js +2 -2
  44. package/dist/tsup/driver-helpers/mod.cjs +4 -4
  45. package/dist/tsup/driver-helpers/mod.js +3 -3
  46. package/dist/tsup/driver-test-suite/mod.cjs +60 -60
  47. package/dist/tsup/driver-test-suite/mod.js +10 -10
  48. package/dist/tsup/inspector/mod.cjs +3 -3
  49. package/dist/tsup/inspector/mod.js +2 -2
  50. package/dist/tsup/mod.cjs +8 -8
  51. package/dist/tsup/mod.js +7 -7
  52. package/dist/tsup/serve-test-suite/mod.cjs +102 -102
  53. package/dist/tsup/serve-test-suite/mod.js +10 -10
  54. package/dist/tsup/test/mod.cjs +10 -10
  55. package/dist/tsup/test/mod.js +6 -6
  56. package/dist/tsup/utils.cjs +2 -2
  57. package/dist/tsup/utils.js +1 -1
  58. package/dist/tsup/workflow/mod.cjs +5 -5
  59. package/dist/tsup/workflow/mod.js +4 -4
  60. package/package.json +6 -6
  61. package/src/registry/index.ts +4 -4
  62. package/dist/tsup/chunk-HYPIHCDT.cjs.map +0 -1
  63. package/dist/tsup/chunk-OAXJWGMU.cjs.map +0 -1
  64. package/dist/tsup/chunk-ZPWOYQHN.js.map +0 -1
  65. /package/dist/tsup/{chunk-JPXO2H55.js.map → chunk-DOEWKM5V.js.map} +0 -0
  66. /package/dist/tsup/{chunk-2OK7S6QF.js.map → chunk-ELCI2QTU.js.map} +0 -0
  67. /package/dist/tsup/{chunk-R5OQUSLN.js.map → chunk-K7JTZNLG.js.map} +0 -0
  68. /package/dist/tsup/{chunk-WY2SHWXQ.js.map → chunk-KARQFHQH.js.map} +0 -0
  69. /package/dist/tsup/{chunk-SRIM3GHD.js.map → chunk-KJXZTBFN.js.map} +0 -0
  70. /package/dist/tsup/{chunk-S662Y6ZU.js.map → chunk-PB5QRAQX.js.map} +0 -0
  71. /package/dist/tsup/{chunk-TADUYCHF.js.map → chunk-SFC4YXTL.js.map} +0 -0
  72. /package/dist/tsup/{chunk-MIX2KB6U.js.map → chunk-W735O34B.js.map} +0 -0
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } var _class;
2
2
 
3
- var _chunkGQGRQDRLcjs = require('./chunk-GQGRQDRL.cjs');
3
+ var _chunkJ45S63Q5cjs = require('./chunk-J45S63Q5.cjs');
4
4
 
5
5
 
6
6
 
7
7
 
8
8
 
9
- var _chunkPB5AEMKQcjs = require('./chunk-PB5AEMKQ.cjs');
9
+ var _chunkGVBTEL2Dcjs = require('./chunk-GVBTEL2D.cjs');
10
10
 
11
11
 
12
12
 
13
13
 
14
- var _chunkHYPIHCDTcjs = require('./chunk-HYPIHCDT.cjs');
14
+ var _chunk2Q5WS6QHcjs = require('./chunk-2Q5WS6QH.cjs');
15
15
 
16
16
  // src/workflow/mod.ts
17
17
  var _workflowengine = require('@rivetkit/workflow-engine');
@@ -238,7 +238,7 @@ var ActorWorkflowContext = class _ActorWorkflowContext {
238
238
  };
239
239
 
240
240
  // src/workflow/driver.ts
241
- var WORKFLOW_STORAGE_PREFIX = _chunkPB5AEMKQcjs.workflowStoragePrefix.call(void 0, );
241
+ var WORKFLOW_STORAGE_PREFIX = _chunkGVBTEL2Dcjs.workflowStoragePrefix.call(void 0, );
242
242
  function stripWorkflowKey(prefixed) {
243
243
  return prefixed.slice(WORKFLOW_STORAGE_PREFIX.length);
244
244
  }
@@ -306,7 +306,7 @@ var ActorWorkflowDriver = (_class = class {
306
306
  async get(key) {
307
307
  const [value] = await this.#runCtx.keepAwake(
308
308
  this.#actor.driver.kvBatchGet(this.#actor.id, [
309
- _chunkPB5AEMKQcjs.makeWorkflowKey.call(void 0, key)
309
+ _chunkGVBTEL2Dcjs.makeWorkflowKey.call(void 0, key)
310
310
  ])
311
311
  );
312
312
  return _nullishCoalesce(value, () => ( null));
@@ -314,14 +314,14 @@ var ActorWorkflowDriver = (_class = class {
314
314
  async set(key, value) {
315
315
  await this.#runCtx.keepAwake(
316
316
  this.#actor.driver.kvBatchPut(this.#actor.id, [
317
- [_chunkPB5AEMKQcjs.makeWorkflowKey.call(void 0, key), value]
317
+ [_chunkGVBTEL2Dcjs.makeWorkflowKey.call(void 0, key), value]
318
318
  ])
319
319
  );
320
320
  }
321
321
  async delete(key) {
322
322
  await this.#runCtx.keepAwake(
323
323
  this.#actor.driver.kvBatchDelete(this.#actor.id, [
324
- _chunkPB5AEMKQcjs.makeWorkflowKey.call(void 0, key)
324
+ _chunkGVBTEL2Dcjs.makeWorkflowKey.call(void 0, key)
325
325
  ])
326
326
  );
327
327
  }
@@ -329,7 +329,7 @@ var ActorWorkflowDriver = (_class = class {
329
329
  const entries = await this.#runCtx.keepAwake(
330
330
  this.#actor.driver.kvListPrefix(
331
331
  this.#actor.id,
332
- _chunkPB5AEMKQcjs.makeWorkflowKey.call(void 0, prefix)
332
+ _chunkGVBTEL2Dcjs.makeWorkflowKey.call(void 0, prefix)
333
333
  )
334
334
  );
335
335
  if (entries.length === 0) {
@@ -346,7 +346,7 @@ var ActorWorkflowDriver = (_class = class {
346
346
  const entries = await this.#runCtx.keepAwake(
347
347
  this.#actor.driver.kvListPrefix(
348
348
  this.#actor.id,
349
- _chunkPB5AEMKQcjs.makeWorkflowKey.call(void 0, prefix)
349
+ _chunkGVBTEL2Dcjs.makeWorkflowKey.call(void 0, prefix)
350
350
  )
351
351
  );
352
352
  return entries.map(([key, value]) => ({
@@ -360,7 +360,7 @@ var ActorWorkflowDriver = (_class = class {
360
360
  Promise.all([
361
361
  this.#actor.driver.kvBatchPut(
362
362
  this.#actor.id,
363
- writes.map(({ key, value }) => [_chunkPB5AEMKQcjs.makeWorkflowKey.call(void 0, key), value])
363
+ writes.map(({ key, value }) => [_chunkGVBTEL2Dcjs.makeWorkflowKey.call(void 0, key), value])
364
364
  ),
365
365
  this.#actor.stateManager.saveState({
366
366
  immediate: true,
@@ -397,14 +397,14 @@ function createWorkflowInspectorAdapter() {
397
397
  };
398
398
  const update = (snapshot) => {
399
399
  const transportHistory = toWorkflowHistory(snapshot);
400
- const next = _chunkGQGRQDRLcjs.encodeWorkflowHistoryTransport.call(void 0, transportHistory);
400
+ const next = _chunkJ45S63Q5cjs.encodeWorkflowHistoryTransport.call(void 0, transportHistory);
401
401
  history = next;
402
402
  emitter.emit("updated", next);
403
403
  };
404
404
  return { adapter, update };
405
405
  }
406
406
  function encodeCbor(value) {
407
- return _chunkHYPIHCDTcjs.bufferToArrayBuffer.call(void 0, cbor.encode(value));
407
+ return _chunk2Q5WS6QHcjs.bufferToArrayBuffer.call(void 0, cbor.encode(value));
408
408
  }
409
409
  function encodeOptionalCbor(value) {
410
410
  if (value === void 0) {
@@ -491,7 +491,7 @@ function toWorkflowEntryKind(kind) {
491
491
  }
492
492
  };
493
493
  default:
494
- _chunkHYPIHCDTcjs.assertUnreachable.call(void 0, kind);
494
+ _chunk2Q5WS6QHcjs.assertUnreachable.call(void 0, kind);
495
495
  }
496
496
  }
497
497
  function toWorkflowEntry(entry) {
@@ -514,7 +514,7 @@ function toWorkflowEntryStatus(status) {
514
514
  case "exhausted":
515
515
  return "EXHAUSTED" /* EXHAUSTED */;
516
516
  default:
517
- _chunkHYPIHCDTcjs.assertUnreachable.call(void 0, status);
517
+ _chunk2Q5WS6QHcjs.assertUnreachable.call(void 0, status);
518
518
  }
519
519
  }
520
520
  function toWorkflowSleepState(state) {
@@ -526,7 +526,7 @@ function toWorkflowSleepState(state) {
526
526
  case "interrupted":
527
527
  return "INTERRUPTED" /* INTERRUPTED */;
528
528
  default:
529
- _chunkHYPIHCDTcjs.assertUnreachable.call(void 0, state);
529
+ _chunk2Q5WS6QHcjs.assertUnreachable.call(void 0, state);
530
530
  }
531
531
  }
532
532
  function toWorkflowBranchStatusType(status) {
@@ -542,7 +542,7 @@ function toWorkflowBranchStatusType(status) {
542
542
  case "cancelled":
543
543
  return "CANCELLED" /* CANCELLED */;
544
544
  default:
545
- _chunkHYPIHCDTcjs.assertUnreachable.call(void 0, status);
545
+ _chunk2Q5WS6QHcjs.assertUnreachable.call(void 0, status);
546
546
  }
547
547
  }
548
548
  function toWorkflowBranchStatus(status) {
@@ -589,7 +589,7 @@ function toWorkflowHistory(snapshot) {
589
589
  function workflow(fn) {
590
590
  const workflowInspector = createWorkflowInspectorAdapter();
591
591
  async function run(runCtx) {
592
- const actor = runCtx[_chunkPB5AEMKQcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL];
592
+ const actor = runCtx[_chunkGVBTEL2Dcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL];
593
593
  _invariant2.default.call(void 0, actor, "workflow() requires an actor instance");
594
594
  const driver = new ActorWorkflowDriver(actor, runCtx);
595
595
  const handle = _workflowengine.runWorkflow.call(void 0,
@@ -618,7 +618,7 @@ function workflow(fn) {
618
618
  } catch (error) {
619
619
  runCtx.log.error({
620
620
  msg: "workflow run failed",
621
- error: _chunkHYPIHCDTcjs.stringifyError.call(void 0, error)
621
+ error: _chunk2Q5WS6QHcjs.stringifyError.call(void 0, error)
622
622
  });
623
623
  throw error;
624
624
  } finally {
@@ -626,7 +626,7 @@ function workflow(fn) {
626
626
  }
627
627
  }
628
628
  const runWithConfig = run;
629
- runWithConfig[_chunkPB5AEMKQcjs.RUN_FUNCTION_CONFIG_SYMBOL] = {
629
+ runWithConfig[_chunkGVBTEL2Dcjs.RUN_FUNCTION_CONFIG_SYMBOL] = {
630
630
  icon: "diagram-project",
631
631
  inspector: { workflow: workflowInspector.adapter }
632
632
  };
@@ -639,4 +639,4 @@ function workflow(fn) {
639
639
 
640
640
 
641
641
  exports.WORKFLOW_GUARD_KV_KEY = WORKFLOW_GUARD_KV_KEY; exports.ActorWorkflowContext = ActorWorkflowContext; exports.workflow = workflow; exports.Loop = _workflowengine.Loop;
642
- //# sourceMappingURL=chunk-7WF2QSIC.cjs.map
642
+ //# sourceMappingURL=chunk-7ANRFQJK.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-7WF2QSIC.cjs","../../src/workflow/mod.ts","../../src/workflow/constants.ts","../../src/workflow/context.ts","../../src/workflow/driver.ts","../../src/workflow/inspector.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-7WF2QSIC.cjs","sourcesContent":[null,"import { ACTOR_CONTEXT_INTERNAL_SYMBOL } from \"@/actor/contexts/base/actor\";\nimport type { RunContext } from \"@/actor/contexts/run\";\nimport type { AnyDatabaseProvider } from \"@/actor/database\";\nimport type { AnyActorInstance } from \"@/actor/instance/mod\";\nimport type { EventSchemaConfig, QueueSchemaConfig } from \"@/actor/schema\";\nimport { RUN_FUNCTION_CONFIG_SYMBOL } from \"@/actor/config\";\nimport { stringifyError } from \"@/utils\";\nimport { runWorkflow } from \"@rivetkit/workflow-engine\";\nimport invariant from \"invariant\";\nimport { ActorWorkflowContext } from \"./context\";\nimport { ActorWorkflowDriver } from \"./driver\";\nimport { createWorkflowInspectorAdapter } from \"./inspector\";\n\nexport { Loop } from \"@rivetkit/workflow-engine\";\nexport {\n\tActorWorkflowContext,\n\ttype WorkflowBranchContextOf,\n\ttype WorkflowContextOf,\n\ttype WorkflowLoopContextOf,\n\ttype WorkflowStepContextOf,\n} from \"./context\";\n\nexport function workflow<\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig = Record<never, never>,\n\tTQueues extends QueueSchemaConfig = Record<never, never>,\n>(\n\tfn: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) => Promise<unknown>,\n): (\n\tc: RunContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t>,\n) => Promise<void> {\n\tconst workflowInspector = createWorkflowInspectorAdapter();\n\n\tasync function run(\n\t\trunCtx: RunContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t): Promise<void> {\n\t\tconst actor = (\n\t\t\trunCtx as unknown as {\n\t\t\t\t[ACTOR_CONTEXT_INTERNAL_SYMBOL]?: AnyActorInstance;\n\t\t\t}\n\t\t)[ACTOR_CONTEXT_INTERNAL_SYMBOL];\n\t\tinvariant(actor, \"workflow() requires an actor instance\");\n\n\t\tconst driver = new ActorWorkflowDriver(actor, runCtx);\n\n\t\tconst handle = runWorkflow(\n\t\t\tactor.id,\n\t\t\tasync (ctx) => await fn(new ActorWorkflowContext(ctx, runCtx)),\n\t\t\tundefined,\n\t\t\tdriver,\n\t\t\t{\n\t\t\t\tmode: \"live\",\n\t\t\t\tlogger: runCtx.log,\n\t\t\t\tonHistoryUpdated: workflowInspector.update,\n\t\t\t},\n\t\t);\n\n\t\tconst onAbort = () => {\n\t\t\thandle.evict();\n\t\t};\n\t\tif (runCtx.abortSignal.aborted) {\n\t\t\tonAbort();\n\t\t} else {\n\t\t\trunCtx.abortSignal.addEventListener(\"abort\", onAbort, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\tawait handle.result;\n\t\t} catch (error) {\n\t\t\trunCtx.log.error({\n\t\t\t\tmsg: \"workflow run failed\",\n\t\t\t\terror: stringifyError(error),\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\trunCtx.abortSignal.removeEventListener(\"abort\", onAbort);\n\t\t}\n\t}\n\n\tconst runWithConfig = run as typeof run & {\n\t\t[RUN_FUNCTION_CONFIG_SYMBOL]?: {\n\t\t\ticon?: string;\n\t\t\tinspector?: { workflow: typeof workflowInspector.adapter };\n\t\t};\n\t};\n\trunWithConfig[RUN_FUNCTION_CONFIG_SYMBOL] = {\n\t\ticon: \"diagram-project\",\n\t\tinspector: { workflow: workflowInspector.adapter },\n\t};\n\n\treturn runWithConfig;\n}\n","export const WORKFLOW_GUARD_KV_KEY =\n\t\"__rivet_actor_workflow_guard_triggered\";\n","import type { RunContext } from \"@/actor/contexts/run\";\nimport type { Client } from \"@/client/client\";\nimport type { Registry } from \"@/registry\";\nimport type { ActorDefinition, AnyActorDefinition } from \"@/actor/definition\";\nimport type { AnyDatabaseProvider, InferDatabaseClient } from \"@/actor/database\";\nimport type {\n\tQueueFilterName,\n\tQueueNextBatchOptions,\n\tQueueNextOptions,\n\tQueueResultMessageForName,\n} from \"@/actor/instance/queue\";\nimport type {\n\tEventSchemaConfig,\n\tInferEventArgs,\n\tInferSchemaMap,\n\tQueueSchemaConfig,\n} from \"@/actor/schema\";\nimport type { WorkflowContextInterface } from \"@rivetkit/workflow-engine\";\nimport type {\n\tBranchConfig,\n\tBranchOutput,\n\tEntryKindType,\n\tLoopConfig,\n\tLoopResult,\n\tStepConfig,\n\tWorkflowQueueMessage,\n} from \"@rivetkit/workflow-engine\";\nimport { WORKFLOW_GUARD_KV_KEY } from \"./constants\";\n\ntype WorkflowActorQueueNextOptions<\n\tTName extends string,\n\tTCompletable extends boolean,\n> = Omit<QueueNextOptions<TName, TCompletable>, \"signal\">;\n\ntype WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<\n\tQueueNextOptions<string, TCompletable>,\n\t\"signal\"\n>;\n\ntype WorkflowActorQueueNextBatchOptions<\n\tTName extends string,\n\tTCompletable extends boolean,\n> = Omit<QueueNextBatchOptions<TName, TCompletable>, \"signal\">;\n\ntype WorkflowActorQueueNextBatchOptionsFallback<\n\tTCompletable extends boolean,\n> = Omit<QueueNextBatchOptions<string, TCompletable>, \"signal\">;\n\ntype ActorWorkflowLoopConfig<\n\tS,\n\tT,\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig,\n\tTQueues extends QueueSchemaConfig,\n> = Omit<LoopConfig<S, T>, \"run\"> & {\n\trun: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t\tstate: S,\n\t) => Promise<LoopResult<S, T> | (S extends undefined ? void : never)>;\n};\n\ntype ActorWorkflowBranchConfig<\n\tTOutput,\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig,\n\tTQueues extends QueueSchemaConfig,\n> = {\n\trun: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) => Promise<TOutput>;\n};\n\nexport class ActorWorkflowContext<\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig = Record<never, never>,\n\tTQueues extends QueueSchemaConfig = Record<never, never>,\n> implements WorkflowContextInterface\n{\n\t#inner: WorkflowContextInterface;\n\t#runCtx: RunContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t>;\n\t#actorAccessDepth = 0;\n\t#allowActorAccess = false;\n\t#guardViolation = false;\n\n\tconstructor(\n\t\tinner: WorkflowContextInterface,\n\t\trunCtx: RunContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) {\n\t\tthis.#inner = inner;\n\t\tthis.#runCtx = runCtx;\n\t}\n\n\tget workflowId(): string {\n\t\treturn this.#inner.workflowId;\n\t}\n\n\tget abortSignal(): AbortSignal {\n\t\treturn this.#inner.abortSignal;\n\t}\n\n\tget queue() {\n\t\tconst self = this;\n\t\tfunction next<\n\t\t\tconst TName extends QueueFilterName<TQueues>,\n\t\t\tconst TCompletable extends boolean = false,\n\t\t>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptions<TName, TCompletable>,\n\t\t): Promise<QueueResultMessageForName<TQueues, TName, TCompletable>>;\n\t\tfunction next<const TCompletable extends boolean = false>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptionsFallback<TCompletable>,\n\t\t): Promise<\n\t\t\tQueueResultMessageForName<\n\t\t\t\tTQueues,\n\t\t\t\tQueueFilterName<TQueues>,\n\t\t\t\tTCompletable\n\t\t\t>\n\t\t>;\n\t\tasync function next(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptions<string, boolean>,\n\t\t): Promise<WorkflowQueueMessage<unknown>> {\n\t\t\tconst message = await self.#inner.queue.next(name, opts);\n\t\t\treturn self.#toActorQueueMessage(message);\n\t\t}\n\n\t\tfunction nextBatch<\n\t\t\tconst TName extends QueueFilterName<TQueues>,\n\t\t\tconst TCompletable extends boolean = false,\n\t\t>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptions<TName, TCompletable>,\n\t\t): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;\n\t\tfunction nextBatch<const TCompletable extends boolean = false>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptionsFallback<TCompletable>,\n\t\t): Promise<\n\t\t\tArray<\n\t\t\t\tQueueResultMessageForName<\n\t\t\t\t\tTQueues,\n\t\t\t\t\tQueueFilterName<TQueues>,\n\t\t\t\t\tTCompletable\n\t\t\t\t>\n\t\t\t>\n\t\t>;\n\t\tasync function nextBatch(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptions<string, boolean>,\n\t\t): Promise<Array<WorkflowQueueMessage<unknown>>> {\n\t\t\tconst messages = await self.#inner.queue.nextBatch(name, opts);\n\t\t\treturn messages.map((message) => self.#toActorQueueMessage(message));\n\t\t}\n\n\t\tfunction send<K extends keyof TQueues & string>(\n\t\t\tname: K,\n\t\t\tbody: InferSchemaMap<TQueues>[K],\n\t\t): Promise<void>;\n\t\tfunction send(\n\t\t\tname: keyof TQueues extends never ? string : never,\n\t\t\tbody: unknown,\n\t\t): Promise<void>;\n\t\tasync function send(name: string, body: unknown): Promise<void> {\n\t\t\tself.#ensureActorAccess(\"queue.send\");\n\t\t\tawait self.#runCtx.queue.send(name as never, body as never);\n\t\t}\n\n\t\treturn {\n\t\t\tnext,\n\t\t\tnextBatch,\n\t\t\tsend,\n\t\t};\n\t}\n\n\tasync step<T>(\n\t\tnameOrConfig: string | Parameters<WorkflowContextInterface[\"step\"]>[0],\n\t\trun?: () => Promise<T>,\n\t): Promise<T> {\n\t\tif (typeof nameOrConfig === \"string\") {\n\t\t\tif (!run) {\n\t\t\t\tthrow new Error(\"Step run function missing\");\n\t\t\t}\n\t\t\treturn await this.#wrapActive(() =>\n\t\t\t\tthis.#inner.step(nameOrConfig, () => this.#withActorAccess(run)),\n\t\t\t);\n\t\t}\n\t\tconst stepConfig = nameOrConfig as StepConfig<T>;\n\t\tconst config: StepConfig<T> = {\n\t\t\t...stepConfig,\n\t\t\trun: () => this.#withActorAccess(stepConfig.run),\n\t\t};\n\t\treturn await this.#wrapActive(() => this.#inner.step(config));\n\t}\n\n\tasync loop<T>(\n\t\tname: string,\n\t\trun: (\n\t\t\tctx: ActorWorkflowContext<\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>,\n\t\t) => Promise<LoopResult<undefined, T> | void>,\n\t): Promise<T>;\n\tasync loop<T>(\n\t\tname: string,\n\t\trun: (\n\t\t\tctx: WorkflowContextInterface,\n\t\t) => Promise<LoopResult<undefined, T> | void>,\n\t): Promise<T>;\n\tasync loop<S, T>(\n\t\tconfig: ActorWorkflowLoopConfig<\n\t\t\tS,\n\t\t\tT,\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t): Promise<T>;\n\tasync loop<S, T>(config: LoopConfig<S, T>): Promise<T>;\n\tasync loop(\n\t\tnameOrConfig:\n\t\t\t| string\n\t\t\t| LoopConfig<any, any>\n\t\t\t| ActorWorkflowLoopConfig<\n\t\t\t\t\tany,\n\t\t\t\t\tany,\n\t\t\t\t\tTState,\n\t\t\t\t\tTConnParams,\n\t\t\t\t\tTConnState,\n\t\t\t\t\tTVars,\n\t\t\t\t\tTInput,\n\t\t\t\t\tTDatabase,\n\t\t\t\t\tTEvents,\n\t\t\t\t\tTQueues\n\t\t\t >,\n\t\trun?: (\n\t\t\tctx: ActorWorkflowContext<\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>,\n\t\t) => Promise<LoopResult<undefined, any> | void>,\n\t): Promise<any> {\n\t\tif (typeof nameOrConfig === \"string\") {\n\t\t\tif (!run) {\n\t\t\t\tthrow new Error(\"Loop run function missing\");\n\t\t\t}\n\t\t\treturn await this.#wrapActive(() =>\n\t\t\t\tthis.#inner.loop(nameOrConfig, async (ctx) =>\n\t\t\t\t\trun(this.#createChildContext(ctx)),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst wrapped: LoopConfig<any, any> = {\n\t\t\t...nameOrConfig,\n\t\t\trun: async (ctx, state) =>\n\t\t\t\tnameOrConfig.run(this.#createChildContext(ctx), state),\n\t\t};\n\t\treturn await this.#wrapActive(() => this.#inner.loop(wrapped));\n\t}\n\n\tsleep(name: string, durationMs: number): Promise<void> {\n\t\treturn this.#inner.sleep(name, durationMs);\n\t}\n\n\tsleepUntil(name: string, timestampMs: number): Promise<void> {\n\t\treturn this.#inner.sleepUntil(name, timestampMs);\n\t}\n\n\tasync rollbackCheckpoint(name: string): Promise<void> {\n\t\tawait this.#wrapActive(() => this.#inner.rollbackCheckpoint(name));\n\t}\n\n\tasync join<\n\t\tT extends Record<\n\t\t\tstring,\n\t\t\tActorWorkflowBranchConfig<\n\t\t\t\tunknown,\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>\n\t\t>,\n\t>(\n\t\tname: string,\n\t\tbranches: T,\n\t): Promise<{ [K in keyof T]: Awaited<ReturnType<T[K][\"run\"]>> }>;\n\tasync join<T extends Record<string, BranchConfig<unknown>>>(\n\t\tname: string,\n\t\tbranches: T,\n\t): Promise<{ [K in keyof T]: BranchOutput<T[K]> }>;\n\tasync join(name: string, branches: Record<string, BranchConfig<unknown>>) {\n\t\tconst wrappedBranches = Object.fromEntries(\n\t\t\tObject.entries(branches).map(([key, branch]) => [\n\t\t\t\tkey,\n\t\t\t\t{\n\t\t\t\t\trun: async (ctx: WorkflowContextInterface) =>\n\t\t\t\t\t\tbranch.run(this.#createChildContext(ctx)),\n\t\t\t\t},\n\t\t\t]),\n\t\t) as Record<string, BranchConfig<unknown>>;\n\t\treturn await this.#wrapActive(() =>\n\t\t\tthis.#inner.join(name, wrappedBranches),\n\t\t);\n\t}\n\n\tasync race<T>(\n\t\tname: string,\n\t\tbranches: Array<{\n\t\t\tname: string;\n\t\t\trun: (\n\t\t\t\tctx: ActorWorkflowContext<\n\t\t\t\t\tTState,\n\t\t\t\t\tTConnParams,\n\t\t\t\t\tTConnState,\n\t\t\t\t\tTVars,\n\t\t\t\t\tTInput,\n\t\t\t\t\tTDatabase,\n\t\t\t\t\tTEvents,\n\t\t\t\t\tTQueues\n\t\t\t\t>,\n\t\t\t) => Promise<T>;\n\t\t}>,\n\t): Promise<{ winner: string; value: T }>;\n\tasync race<T>(\n\t\tname: string,\n\t\tbranches: Array<{\n\t\t\tname: string;\n\t\t\trun: (ctx: WorkflowContextInterface) => Promise<T>;\n\t\t}>,\n\t): Promise<{ winner: string; value: T }> {\n\t\tconst wrappedBranches = branches.map((branch) => ({\n\t\t\tname: branch.name,\n\t\t\trun: (ctx: WorkflowContextInterface) =>\n\t\t\t\tbranch.run(this.#createChildContext(ctx)),\n\t\t}));\n\t\treturn (await this.#wrapActive(() =>\n\t\t\tthis.#inner.race(name, wrappedBranches),\n\t\t)) as { winner: string; value: T };\n\t}\n\n\tasync removed(name: string, originalType: EntryKindType): Promise<void> {\n\t\tawait this.#wrapActive(() => this.#inner.removed(name, originalType));\n\t}\n\n\tisEvicted(): boolean {\n\t\treturn this.#inner.isEvicted();\n\t}\n\n\tget state(): TState extends never ? never : TState {\n\t\tthis.#ensureActorAccess(\"state\");\n\t\treturn this.#runCtx.state as TState extends never ? never : TState;\n\t}\n\n\tget vars(): TVars extends never ? never : TVars {\n\t\tthis.#ensureActorAccess(\"vars\");\n\t\treturn this.#runCtx.vars as TVars extends never ? never : TVars;\n\t}\n\n\tclient<R extends Registry<any>>(): Client<R> {\n\t\tthis.#ensureActorAccess(\"client\");\n\t\treturn this.#runCtx.client<R>();\n\t}\n\n\tget db(): TDatabase extends never ? never : InferDatabaseClient<TDatabase> {\n\t\tthis.#ensureActorAccess(\"db\");\n\t\treturn this.#runCtx.db as TDatabase extends never\n\t\t\t? never\n\t\t\t: InferDatabaseClient<TDatabase>;\n\t}\n\n\tget log() {\n\t\treturn this.#runCtx.log;\n\t}\n\n\tkeepAwake<T>(promise: Promise<T>): Promise<T> {\n\t\tthis.#ensureActorAccess(\"keepAwake\");\n\t\treturn this.#runCtx.keepAwake(promise);\n\t}\n\n\twaitUntil(promise: Promise<void>): void {\n\t\tthis.#ensureActorAccess(\"waitUntil\");\n\t\tthis.#runCtx.waitUntil(promise);\n\t}\n\n\tget actorId(): string {\n\t\treturn this.#runCtx.actorId;\n\t}\n\n\tbroadcast<K extends keyof TEvents & string>(\n\t\tname: K,\n\t\t...args: InferEventArgs<InferSchemaMap<TEvents>[K]>\n\t): void;\n\tbroadcast(\n\t\tname: keyof TEvents extends never ? string : never,\n\t\t...args: Array<unknown>\n\t): void;\n\tbroadcast(name: string, ...args: Array<unknown>): void {\n\t\tthis.#ensureActorAccess(\"broadcast\");\n\t\tthis.#runCtx.broadcast(\n\t\t\tname as never,\n\t\t\t...((args as unknown[]) as never[]),\n\t\t);\n\t}\n\n\t#toActorQueueMessage<T>(\n\t\tmessage: WorkflowQueueMessage<T>,\n\t): WorkflowQueueMessage<T> & { id: bigint } {\n\t\tlet id: bigint;\n\t\ttry {\n\t\t\tid = BigInt(message.id);\n\t\t} catch {\n\t\t\tthrow new Error(`Invalid queue message id \"${message.id}\"`);\n\t\t}\n\t\treturn {\n\t\t\tid,\n\t\t\tname: message.name,\n\t\t\tbody: message.body,\n\t\t\tcreatedAt: message.createdAt,\n\t\t\t...(message.complete ? { complete: message.complete } : {}),\n\t\t};\n\t}\n\n\tasync #wrapActive<T>(run: () => Promise<T>): Promise<T> {\n\t\treturn await this.#runCtx.keepAwake(run());\n\t}\n\n\tasync #withActorAccess<T>(run: () => Promise<T>): Promise<T> {\n\t\tthis.#actorAccessDepth++;\n\t\tif (this.#actorAccessDepth === 1) {\n\t\t\tthis.#allowActorAccess = true;\n\t\t}\n\t\ttry {\n\t\t\treturn await run();\n\t\t} finally {\n\t\t\tthis.#actorAccessDepth--;\n\t\t\tif (this.#actorAccessDepth === 0) {\n\t\t\t\tthis.#allowActorAccess = false;\n\t\t\t}\n\t\t}\n\t}\n\n\t#ensureActorAccess(feature: string): void {\n\t\tif (!this.#allowActorAccess) {\n\t\t\tthis.#guardViolation = true;\n\t\t\tthis.#markGuardTriggered();\n\t\t\tthrow new Error(\n\t\t\t\t`${feature} is only available inside workflow steps`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconsumeGuardViolation(): boolean {\n\t\tconst violated = this.#guardViolation;\n\t\tthis.#guardViolation = false;\n\t\treturn violated;\n\t}\n\n\t#markGuardTriggered(): void {\n\t\ttry {\n\t\t\tconst state = this.#runCtx.state as Record<string, unknown>;\n\t\t\tif (\n\t\t\t\tstate &&\n\t\t\t\ttypeof state === \"object\" &&\n\t\t\t\t\"guardTriggered\" in state\n\t\t\t) {\n\t\t\t\t(state as Record<string, unknown>).guardTriggered = true;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore if state is unavailable\n\t\t}\n\n\t\tthis.#runCtx.waitUntil(\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.#runCtx.kv.put(WORKFLOW_GUARD_KV_KEY, \"true\");\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.#runCtx.log.error({\n\t\t\t\t\t\tmsg: \"failed to persist workflow guard flag\",\n\t\t\t\t\t\terror,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})(),\n\t\t);\n\t}\n\n\t#createChildContext(\n\t\tctx: WorkflowContextInterface,\n\t): ActorWorkflowContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t> {\n\t\treturn new ActorWorkflowContext(ctx, this.#runCtx);\n\t}\n}\n\nexport type WorkflowContextOf<AD extends AnyActorDefinition> =\n\tAD extends ActorDefinition<\n\t\tinfer S,\n\t\tinfer CP,\n\t\tinfer CS,\n\t\tinfer V,\n\t\tinfer I,\n\t\tinfer DB extends AnyDatabaseProvider,\n\t\tinfer E extends EventSchemaConfig,\n\t\tinfer Q extends QueueSchemaConfig,\n\t\tany\n\t>\n\t\t? ActorWorkflowContext<S, CP, CS, V, I, DB, E, Q>\n\t\t: never;\n\nexport type WorkflowLoopContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n\nexport type WorkflowBranchContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n\nexport type WorkflowStepContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n","import type { RunContext } from \"@/actor/contexts/run\";\nimport type { AnyActorInstance } from \"@/actor/instance/mod\";\nimport { makeWorkflowKey, workflowStoragePrefix } from \"@/actor/instance/keys\";\nimport type {\n\tEngineDriver,\n\tKVEntry,\n\tKVWrite,\n\tMessage,\n\tWorkflowMessageDriver,\n} from \"@rivetkit/workflow-engine\";\n\nconst WORKFLOW_STORAGE_PREFIX = workflowStoragePrefix();\n\nfunction stripWorkflowKey(prefixed: Uint8Array): Uint8Array {\n\treturn prefixed.slice(WORKFLOW_STORAGE_PREFIX.length);\n}\n\nclass ActorWorkflowMessageDriver implements WorkflowMessageDriver {\n\t#actor: AnyActorInstance;\n\t#runCtx: RunContext<any, any, any, any, any, any, any, any>;\n\n\tconstructor(\n\t\tactor: AnyActorInstance,\n\t\trunCtx: RunContext<any, any, any, any, any, any, any, any>,\n\t) {\n\t\tthis.#actor = actor;\n\t\tthis.#runCtx = runCtx;\n\t}\n\n\tasync addMessage(message: Message): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.enqueue(message.name, message.data),\n\t\t);\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 messages = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.receive(\n\t\t\t\topts.names && opts.names.length > 0 ? [...opts.names] : undefined,\n\t\t\t\topts.count,\n\t\t\t\t0,\n\t\t\t\tundefined,\n\t\t\t\topts.completable,\n\t\t\t),\n\t\t);\n\t\treturn messages.map((message) => ({\n\t\t\tid: message.id.toString(),\n\t\t\tname: message.name,\n\t\t\tdata: message.body,\n\t\t\tsentAt: message.createdAt,\n\t\t\t...(opts.completable\n\t\t\t\t? {\n\t\t\t\t\t\tcomplete: async (response?: unknown) => {\n\t\t\t\t\t\t\tawait this.#runCtx.keepAwake(\n\t\t\t\t\t\t\t\tthis.#actor.queueManager.completeMessage(\n\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\tresponse,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}));\n\t}\n\n\tasync completeMessage(messageId: string, response?: unknown): Promise<void> {\n\t\tlet parsedId: bigint;\n\t\ttry {\n\t\t\tparsedId = BigInt(messageId);\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.completeMessageById(parsedId, response),\n\t\t);\n\t}\n}\n\nexport class ActorWorkflowDriver implements EngineDriver {\n\treadonly workerPollInterval = 100;\n\treadonly messageDriver: WorkflowMessageDriver;\n\t#actor: AnyActorInstance;\n\t#runCtx: RunContext<any, any, any, any, any, any, any, any>;\n\n\tconstructor(\n\t\tactor: AnyActorInstance,\n\t\trunCtx: RunContext<any, any, any, any, any, any, any, any>,\n\t) {\n\t\tthis.#actor = actor;\n\t\tthis.#runCtx = runCtx;\n\t\tthis.messageDriver = new ActorWorkflowMessageDriver(actor, runCtx);\n\t}\n\n\tasync get(key: Uint8Array): Promise<Uint8Array | null> {\n\t\tconst [value] = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchGet(this.#actor.id, [\n\t\t\t\tmakeWorkflowKey(key),\n\t\t\t]),\n\t\t);\n\t\treturn value ?? null;\n\t}\n\n\tasync set(key: Uint8Array, value: Uint8Array): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchPut(this.#actor.id, [\n\t\t\t\t[makeWorkflowKey(key), value],\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync delete(key: Uint8Array): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchDelete(this.#actor.id, [\n\t\t\t\tmakeWorkflowKey(key),\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync deletePrefix(prefix: Uint8Array): Promise<void> {\n\t\tconst entries = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvListPrefix(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tmakeWorkflowKey(prefix),\n\t\t\t),\n\t\t);\n\t\tif (entries.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchDelete(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tentries.map(([key]) => key),\n\t\t\t),\n\t\t);\n\t}\n\n\tasync list(prefix: Uint8Array): Promise<KVEntry[]> {\n\t\tconst entries = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvListPrefix(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tmakeWorkflowKey(prefix),\n\t\t\t),\n\t\t);\n\t\treturn entries.map(([key, value]) => ({\n\t\t\tkey: stripWorkflowKey(key),\n\t\t\tvalue,\n\t\t}));\n\t}\n\n\tasync batch(writes: KVWrite[]): Promise<void> {\n\t\tif (writes.length === 0) return;\n\n\t\t// Flush actor state together with workflow state to ensure atomicity.\n\t\t// If the server crashes after workflow flush, actor state must also be persisted.\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tPromise.all([\n\t\t\t\tthis.#actor.driver.kvBatchPut(\n\t\t\t\t\tthis.#actor.id,\n\t\t\t\t\twrites.map(({ key, value }) => [makeWorkflowKey(key), value]),\n\t\t\t\t),\n\t\t\t\tthis.#actor.stateManager.saveState({\n\t\t\t\t\timmediate: true,\n\t\t\t\t\tallowStoppingState: true,\n\t\t\t\t}),\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync setAlarm(_workflowId: string, wakeAt: number): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.setAlarm(this.#actor, wakeAt),\n\t\t);\n\t}\n\n\tasync clearAlarm(_workflowId: string): Promise<void> {\n\t\t// No dedicated clear alarm support in actor drivers.\n\t\treturn;\n\t}\n\n\twaitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\treturn this.#actor.queueManager.waitForNames(\n\t\t\tmessageNames.length > 0 ? messageNames : undefined,\n\t\t\tabortSignal,\n\t\t);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { createNanoEvents } from \"nanoevents\";\nimport type {\n\tBranchStatus,\n\tBranchStatusType,\n\tEntryKind,\n\tEntryStatus,\n\tLocation,\n\tSleepState,\n\tWorkflowHistoryEntry,\n\tWorkflowHistorySnapshot,\n\tWorkflowEntryMetadataSnapshot,\n} from \"@rivetkit/workflow-engine\";\nimport { encodeWorkflowHistoryTransport } from \"@/inspector/transport\";\nimport type * as inspectorSchema from \"@/schemas/actor-inspector/mod\";\nimport * as transport from \"@/schemas/transport/mod\";\nimport { assertUnreachable, bufferToArrayBuffer } from \"@/utils\";\n\nexport interface WorkflowInspectorAdapter {\n\tgetHistory: () => inspectorSchema.WorkflowHistory | null;\n\tonHistoryUpdated: (\n\t\tlistener: (history: inspectorSchema.WorkflowHistory) => void,\n\t) => () => void;\n}\n\nexport function createWorkflowInspectorAdapter(): {\n\tadapter: WorkflowInspectorAdapter;\n\tupdate: (snapshot: WorkflowHistorySnapshot) => void;\n} {\n\tconst emitter = createNanoEvents<{\n\t\tupdated: (history: inspectorSchema.WorkflowHistory) => void;\n\t}>();\n\tlet history: inspectorSchema.WorkflowHistory | null = null;\n\n\tconst adapter: WorkflowInspectorAdapter = {\n\t\tgetHistory: () => history,\n\t\tonHistoryUpdated: (listener) => emitter.on(\"updated\", listener),\n\t};\n\n\tconst update = (snapshot: WorkflowHistorySnapshot) => {\n\t\tconst transportHistory = toWorkflowHistory(snapshot);\n\t\tconst next = encodeWorkflowHistoryTransport(transportHistory);\n\t\thistory = next;\n\t\temitter.emit(\"updated\", next);\n\t};\n\n\treturn { adapter, update };\n}\n\nfunction encodeCbor(value: unknown): ArrayBuffer {\n\treturn bufferToArrayBuffer(cbor.encode(value));\n}\n\nfunction encodeOptionalCbor(value: unknown): ArrayBuffer | null {\n\tif (value === undefined) {\n\t\treturn null;\n\t}\n\treturn encodeCbor(value);\n}\n\nfunction toU64(value: number): bigint {\n\treturn BigInt(Math.max(0, Math.floor(value)));\n}\n\nfunction toWorkflowLocation(\n\tlocation: Location,\n): transport.WorkflowLocation {\n\treturn location.map((segment) => {\n\t\tif (typeof segment === \"number\") {\n\t\t\treturn { tag: \"WorkflowNameIndex\", val: segment };\n\t\t}\n\t\treturn {\n\t\t\ttag: \"WorkflowLoopIterationMarker\",\n\t\t\tval: {\n\t\t\t\tloop: segment.loop,\n\t\t\t\titeration: segment.iteration,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction toWorkflowEntryKind(\n\tkind: EntryKind,\n): transport.WorkflowEntryKind {\n\tswitch (kind.type) {\n\t\tcase \"step\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowStepEntry\",\n\t\t\t\tval: {\n\t\t\t\t\toutput: encodeOptionalCbor(kind.data.output),\n\t\t\t\t\terror: kind.data.error ?? null,\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"loop\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowLoopEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tstate: encodeCbor(kind.data.state),\n\t\t\t\t\titeration: kind.data.iteration,\n\t\t\t\t\toutput: encodeOptionalCbor(kind.data.output),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"sleep\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowSleepEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tdeadline: toU64(kind.data.deadline),\n\t\t\t\t\tstate: toWorkflowSleepState(kind.data.state),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"message\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowMessageEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tname: kind.data.name,\n\t\t\t\t\tmessageData: encodeCbor(kind.data.data),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"rollback_checkpoint\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRollbackCheckpointEntry\",\n\t\t\t\tval: { name: kind.data.name },\n\t\t\t};\n\t\tcase \"join\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowJoinEntry\",\n\t\t\t\tval: { branches: toWorkflowBranchStatusMap(kind.data.branches) },\n\t\t\t};\n\t\tcase \"race\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRaceEntry\",\n\t\t\t\tval: {\n\t\t\t\t\twinner: kind.data.winner ?? null,\n\t\t\t\t\tbranches: toWorkflowBranchStatusMap(kind.data.branches),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"removed\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRemovedEntry\",\n\t\t\t\tval: {\n\t\t\t\t\toriginalType: kind.data.originalType,\n\t\t\t\t\toriginalName: kind.data.originalName ?? null,\n\t\t\t\t},\n\t\t\t};\n\t\tdefault:\n\t\t\tassertUnreachable(kind as never);\n\t}\n}\n\nfunction toWorkflowEntry(\n\tentry: WorkflowHistoryEntry,\n): transport.WorkflowEntry {\n\treturn {\n\t\tid: entry.id,\n\t\tlocation: toWorkflowLocation(entry.location),\n\t\tkind: toWorkflowEntryKind(entry.kind),\n\t};\n}\n\nfunction toWorkflowEntryStatus(\n\tstatus: EntryStatus,\n): transport.WorkflowEntryStatus {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowEntryStatus.PENDING;\n\t\tcase \"running\":\n\t\t\treturn transport.WorkflowEntryStatus.RUNNING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowEntryStatus.COMPLETED;\n\t\tcase \"failed\":\n\t\t\treturn transport.WorkflowEntryStatus.FAILED;\n\t\tcase \"exhausted\":\n\t\t\treturn transport.WorkflowEntryStatus.EXHAUSTED;\n\t\tdefault:\n\t\t\tassertUnreachable(status as never);\n\t}\n}\n\nfunction toWorkflowSleepState(\n\tstate: SleepState,\n): transport.WorkflowSleepState {\n\tswitch (state) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowSleepState.PENDING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowSleepState.COMPLETED;\n\t\tcase \"interrupted\":\n\t\t\treturn transport.WorkflowSleepState.INTERRUPTED;\n\t\tdefault:\n\t\t\tassertUnreachable(state as never);\n\t}\n}\n\nfunction toWorkflowBranchStatusType(\n\tstatus: BranchStatusType,\n): transport.WorkflowBranchStatusType {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowBranchStatusType.PENDING;\n\t\tcase \"running\":\n\t\t\treturn transport.WorkflowBranchStatusType.RUNNING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowBranchStatusType.COMPLETED;\n\t\tcase \"failed\":\n\t\t\treturn transport.WorkflowBranchStatusType.FAILED;\n\t\tcase \"cancelled\":\n\t\t\treturn transport.WorkflowBranchStatusType.CANCELLED;\n\t\tdefault:\n\t\t\tassertUnreachable(status as never);\n\t}\n}\n\nfunction toWorkflowBranchStatus(\n\tstatus: BranchStatus,\n): transport.WorkflowBranchStatus {\n\treturn {\n\t\tstatus: toWorkflowBranchStatusType(status.status),\n\t\toutput: encodeOptionalCbor(status.output),\n\t\terror: status.error ?? null,\n\t};\n}\n\nfunction toWorkflowBranchStatusMap(\n\tbranches: Record<string, BranchStatus>,\n): ReadonlyMap<string, transport.WorkflowBranchStatus> {\n\treturn new Map(\n\t\tObject.entries(branches).map(([name, status]) => [\n\t\t\tname,\n\t\t\ttoWorkflowBranchStatus(status),\n\t\t]),\n\t);\n}\n\nfunction toWorkflowEntryMetadata(\n\tmetadata: WorkflowEntryMetadataSnapshot,\n): transport.WorkflowEntryMetadata {\n\treturn {\n\t\tstatus: toWorkflowEntryStatus(metadata.status),\n\t\terror: metadata.error ?? null,\n\t\tattempts: metadata.attempts,\n\t\tlastAttemptAt: toU64(metadata.lastAttemptAt),\n\t\tcreatedAt: toU64(metadata.createdAt),\n\t\tcompletedAt:\n\t\t\tmetadata.completedAt === undefined\n\t\t\t\t? null\n\t\t\t\t: toU64(metadata.completedAt),\n\t\trollbackCompletedAt:\n\t\t\tmetadata.rollbackCompletedAt === undefined\n\t\t\t\t? null\n\t\t\t\t: toU64(metadata.rollbackCompletedAt),\n\t\trollbackError: metadata.rollbackError ?? null,\n\t};\n}\n\nfunction toWorkflowHistory(\n\tsnapshot: WorkflowHistorySnapshot,\n): transport.WorkflowHistory {\n\tconst entryMetadata = new Map<string, transport.WorkflowEntryMetadata>();\n\tfor (const [id, metadata] of snapshot.entryMetadata) {\n\t\tentryMetadata.set(id, toWorkflowEntryMetadata(metadata));\n\t}\n\n\treturn {\n\t\tnameRegistry: snapshot.nameRegistry,\n\t\tentries: snapshot.entries.map((entry) => toWorkflowEntry(entry)),\n\t\tentryMetadata,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-7ANRFQJK.cjs","../../src/workflow/mod.ts","../../src/workflow/constants.ts","../../src/workflow/context.ts","../../src/workflow/driver.ts","../../src/workflow/inspector.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-7ANRFQJK.cjs","sourcesContent":[null,"import { ACTOR_CONTEXT_INTERNAL_SYMBOL } from \"@/actor/contexts/base/actor\";\nimport type { RunContext } from \"@/actor/contexts/run\";\nimport type { AnyDatabaseProvider } from \"@/actor/database\";\nimport type { AnyActorInstance } from \"@/actor/instance/mod\";\nimport type { EventSchemaConfig, QueueSchemaConfig } from \"@/actor/schema\";\nimport { RUN_FUNCTION_CONFIG_SYMBOL } from \"@/actor/config\";\nimport { stringifyError } from \"@/utils\";\nimport { runWorkflow } from \"@rivetkit/workflow-engine\";\nimport invariant from \"invariant\";\nimport { ActorWorkflowContext } from \"./context\";\nimport { ActorWorkflowDriver } from \"./driver\";\nimport { createWorkflowInspectorAdapter } from \"./inspector\";\n\nexport { Loop } from \"@rivetkit/workflow-engine\";\nexport {\n\tActorWorkflowContext,\n\ttype WorkflowBranchContextOf,\n\ttype WorkflowContextOf,\n\ttype WorkflowLoopContextOf,\n\ttype WorkflowStepContextOf,\n} from \"./context\";\n\nexport function workflow<\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig = Record<never, never>,\n\tTQueues extends QueueSchemaConfig = Record<never, never>,\n>(\n\tfn: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) => Promise<unknown>,\n): (\n\tc: RunContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t>,\n) => Promise<void> {\n\tconst workflowInspector = createWorkflowInspectorAdapter();\n\n\tasync function run(\n\t\trunCtx: RunContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t): Promise<void> {\n\t\tconst actor = (\n\t\t\trunCtx as unknown as {\n\t\t\t\t[ACTOR_CONTEXT_INTERNAL_SYMBOL]?: AnyActorInstance;\n\t\t\t}\n\t\t)[ACTOR_CONTEXT_INTERNAL_SYMBOL];\n\t\tinvariant(actor, \"workflow() requires an actor instance\");\n\n\t\tconst driver = new ActorWorkflowDriver(actor, runCtx);\n\n\t\tconst handle = runWorkflow(\n\t\t\tactor.id,\n\t\t\tasync (ctx) => await fn(new ActorWorkflowContext(ctx, runCtx)),\n\t\t\tundefined,\n\t\t\tdriver,\n\t\t\t{\n\t\t\t\tmode: \"live\",\n\t\t\t\tlogger: runCtx.log,\n\t\t\t\tonHistoryUpdated: workflowInspector.update,\n\t\t\t},\n\t\t);\n\n\t\tconst onAbort = () => {\n\t\t\thandle.evict();\n\t\t};\n\t\tif (runCtx.abortSignal.aborted) {\n\t\t\tonAbort();\n\t\t} else {\n\t\t\trunCtx.abortSignal.addEventListener(\"abort\", onAbort, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\tawait handle.result;\n\t\t} catch (error) {\n\t\t\trunCtx.log.error({\n\t\t\t\tmsg: \"workflow run failed\",\n\t\t\t\terror: stringifyError(error),\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\trunCtx.abortSignal.removeEventListener(\"abort\", onAbort);\n\t\t}\n\t}\n\n\tconst runWithConfig = run as typeof run & {\n\t\t[RUN_FUNCTION_CONFIG_SYMBOL]?: {\n\t\t\ticon?: string;\n\t\t\tinspector?: { workflow: typeof workflowInspector.adapter };\n\t\t};\n\t};\n\trunWithConfig[RUN_FUNCTION_CONFIG_SYMBOL] = {\n\t\ticon: \"diagram-project\",\n\t\tinspector: { workflow: workflowInspector.adapter },\n\t};\n\n\treturn runWithConfig;\n}\n","export const WORKFLOW_GUARD_KV_KEY =\n\t\"__rivet_actor_workflow_guard_triggered\";\n","import type { RunContext } from \"@/actor/contexts/run\";\nimport type { Client } from \"@/client/client\";\nimport type { Registry } from \"@/registry\";\nimport type { ActorDefinition, AnyActorDefinition } from \"@/actor/definition\";\nimport type { AnyDatabaseProvider, InferDatabaseClient } from \"@/actor/database\";\nimport type {\n\tQueueFilterName,\n\tQueueNextBatchOptions,\n\tQueueNextOptions,\n\tQueueResultMessageForName,\n} from \"@/actor/instance/queue\";\nimport type {\n\tEventSchemaConfig,\n\tInferEventArgs,\n\tInferSchemaMap,\n\tQueueSchemaConfig,\n} from \"@/actor/schema\";\nimport type { WorkflowContextInterface } from \"@rivetkit/workflow-engine\";\nimport type {\n\tBranchConfig,\n\tBranchOutput,\n\tEntryKindType,\n\tLoopConfig,\n\tLoopResult,\n\tStepConfig,\n\tWorkflowQueueMessage,\n} from \"@rivetkit/workflow-engine\";\nimport { WORKFLOW_GUARD_KV_KEY } from \"./constants\";\n\ntype WorkflowActorQueueNextOptions<\n\tTName extends string,\n\tTCompletable extends boolean,\n> = Omit<QueueNextOptions<TName, TCompletable>, \"signal\">;\n\ntype WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<\n\tQueueNextOptions<string, TCompletable>,\n\t\"signal\"\n>;\n\ntype WorkflowActorQueueNextBatchOptions<\n\tTName extends string,\n\tTCompletable extends boolean,\n> = Omit<QueueNextBatchOptions<TName, TCompletable>, \"signal\">;\n\ntype WorkflowActorQueueNextBatchOptionsFallback<\n\tTCompletable extends boolean,\n> = Omit<QueueNextBatchOptions<string, TCompletable>, \"signal\">;\n\ntype ActorWorkflowLoopConfig<\n\tS,\n\tT,\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig,\n\tTQueues extends QueueSchemaConfig,\n> = Omit<LoopConfig<S, T>, \"run\"> & {\n\trun: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t\tstate: S,\n\t) => Promise<LoopResult<S, T> | (S extends undefined ? void : never)>;\n};\n\ntype ActorWorkflowBranchConfig<\n\tTOutput,\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig,\n\tTQueues extends QueueSchemaConfig,\n> = {\n\trun: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) => Promise<TOutput>;\n};\n\nexport class ActorWorkflowContext<\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig = Record<never, never>,\n\tTQueues extends QueueSchemaConfig = Record<never, never>,\n> implements WorkflowContextInterface\n{\n\t#inner: WorkflowContextInterface;\n\t#runCtx: RunContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t>;\n\t#actorAccessDepth = 0;\n\t#allowActorAccess = false;\n\t#guardViolation = false;\n\n\tconstructor(\n\t\tinner: WorkflowContextInterface,\n\t\trunCtx: RunContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) {\n\t\tthis.#inner = inner;\n\t\tthis.#runCtx = runCtx;\n\t}\n\n\tget workflowId(): string {\n\t\treturn this.#inner.workflowId;\n\t}\n\n\tget abortSignal(): AbortSignal {\n\t\treturn this.#inner.abortSignal;\n\t}\n\n\tget queue() {\n\t\tconst self = this;\n\t\tfunction next<\n\t\t\tconst TName extends QueueFilterName<TQueues>,\n\t\t\tconst TCompletable extends boolean = false,\n\t\t>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptions<TName, TCompletable>,\n\t\t): Promise<QueueResultMessageForName<TQueues, TName, TCompletable>>;\n\t\tfunction next<const TCompletable extends boolean = false>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptionsFallback<TCompletable>,\n\t\t): Promise<\n\t\t\tQueueResultMessageForName<\n\t\t\t\tTQueues,\n\t\t\t\tQueueFilterName<TQueues>,\n\t\t\t\tTCompletable\n\t\t\t>\n\t\t>;\n\t\tasync function next(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptions<string, boolean>,\n\t\t): Promise<WorkflowQueueMessage<unknown>> {\n\t\t\tconst message = await self.#inner.queue.next(name, opts);\n\t\t\treturn self.#toActorQueueMessage(message);\n\t\t}\n\n\t\tfunction nextBatch<\n\t\t\tconst TName extends QueueFilterName<TQueues>,\n\t\t\tconst TCompletable extends boolean = false,\n\t\t>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptions<TName, TCompletable>,\n\t\t): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;\n\t\tfunction nextBatch<const TCompletable extends boolean = false>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptionsFallback<TCompletable>,\n\t\t): Promise<\n\t\t\tArray<\n\t\t\t\tQueueResultMessageForName<\n\t\t\t\t\tTQueues,\n\t\t\t\t\tQueueFilterName<TQueues>,\n\t\t\t\t\tTCompletable\n\t\t\t\t>\n\t\t\t>\n\t\t>;\n\t\tasync function nextBatch(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptions<string, boolean>,\n\t\t): Promise<Array<WorkflowQueueMessage<unknown>>> {\n\t\t\tconst messages = await self.#inner.queue.nextBatch(name, opts);\n\t\t\treturn messages.map((message) => self.#toActorQueueMessage(message));\n\t\t}\n\n\t\tfunction send<K extends keyof TQueues & string>(\n\t\t\tname: K,\n\t\t\tbody: InferSchemaMap<TQueues>[K],\n\t\t): Promise<void>;\n\t\tfunction send(\n\t\t\tname: keyof TQueues extends never ? string : never,\n\t\t\tbody: unknown,\n\t\t): Promise<void>;\n\t\tasync function send(name: string, body: unknown): Promise<void> {\n\t\t\tself.#ensureActorAccess(\"queue.send\");\n\t\t\tawait self.#runCtx.queue.send(name as never, body as never);\n\t\t}\n\n\t\treturn {\n\t\t\tnext,\n\t\t\tnextBatch,\n\t\t\tsend,\n\t\t};\n\t}\n\n\tasync step<T>(\n\t\tnameOrConfig: string | Parameters<WorkflowContextInterface[\"step\"]>[0],\n\t\trun?: () => Promise<T>,\n\t): Promise<T> {\n\t\tif (typeof nameOrConfig === \"string\") {\n\t\t\tif (!run) {\n\t\t\t\tthrow new Error(\"Step run function missing\");\n\t\t\t}\n\t\t\treturn await this.#wrapActive(() =>\n\t\t\t\tthis.#inner.step(nameOrConfig, () => this.#withActorAccess(run)),\n\t\t\t);\n\t\t}\n\t\tconst stepConfig = nameOrConfig as StepConfig<T>;\n\t\tconst config: StepConfig<T> = {\n\t\t\t...stepConfig,\n\t\t\trun: () => this.#withActorAccess(stepConfig.run),\n\t\t};\n\t\treturn await this.#wrapActive(() => this.#inner.step(config));\n\t}\n\n\tasync loop<T>(\n\t\tname: string,\n\t\trun: (\n\t\t\tctx: ActorWorkflowContext<\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>,\n\t\t) => Promise<LoopResult<undefined, T> | void>,\n\t): Promise<T>;\n\tasync loop<T>(\n\t\tname: string,\n\t\trun: (\n\t\t\tctx: WorkflowContextInterface,\n\t\t) => Promise<LoopResult<undefined, T> | void>,\n\t): Promise<T>;\n\tasync loop<S, T>(\n\t\tconfig: ActorWorkflowLoopConfig<\n\t\t\tS,\n\t\t\tT,\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t): Promise<T>;\n\tasync loop<S, T>(config: LoopConfig<S, T>): Promise<T>;\n\tasync loop(\n\t\tnameOrConfig:\n\t\t\t| string\n\t\t\t| LoopConfig<any, any>\n\t\t\t| ActorWorkflowLoopConfig<\n\t\t\t\t\tany,\n\t\t\t\t\tany,\n\t\t\t\t\tTState,\n\t\t\t\t\tTConnParams,\n\t\t\t\t\tTConnState,\n\t\t\t\t\tTVars,\n\t\t\t\t\tTInput,\n\t\t\t\t\tTDatabase,\n\t\t\t\t\tTEvents,\n\t\t\t\t\tTQueues\n\t\t\t >,\n\t\trun?: (\n\t\t\tctx: ActorWorkflowContext<\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>,\n\t\t) => Promise<LoopResult<undefined, any> | void>,\n\t): Promise<any> {\n\t\tif (typeof nameOrConfig === \"string\") {\n\t\t\tif (!run) {\n\t\t\t\tthrow new Error(\"Loop run function missing\");\n\t\t\t}\n\t\t\treturn await this.#wrapActive(() =>\n\t\t\t\tthis.#inner.loop(nameOrConfig, async (ctx) =>\n\t\t\t\t\trun(this.#createChildContext(ctx)),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst wrapped: LoopConfig<any, any> = {\n\t\t\t...nameOrConfig,\n\t\t\trun: async (ctx, state) =>\n\t\t\t\tnameOrConfig.run(this.#createChildContext(ctx), state),\n\t\t};\n\t\treturn await this.#wrapActive(() => this.#inner.loop(wrapped));\n\t}\n\n\tsleep(name: string, durationMs: number): Promise<void> {\n\t\treturn this.#inner.sleep(name, durationMs);\n\t}\n\n\tsleepUntil(name: string, timestampMs: number): Promise<void> {\n\t\treturn this.#inner.sleepUntil(name, timestampMs);\n\t}\n\n\tasync rollbackCheckpoint(name: string): Promise<void> {\n\t\tawait this.#wrapActive(() => this.#inner.rollbackCheckpoint(name));\n\t}\n\n\tasync join<\n\t\tT extends Record<\n\t\t\tstring,\n\t\t\tActorWorkflowBranchConfig<\n\t\t\t\tunknown,\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>\n\t\t>,\n\t>(\n\t\tname: string,\n\t\tbranches: T,\n\t): Promise<{ [K in keyof T]: Awaited<ReturnType<T[K][\"run\"]>> }>;\n\tasync join<T extends Record<string, BranchConfig<unknown>>>(\n\t\tname: string,\n\t\tbranches: T,\n\t): Promise<{ [K in keyof T]: BranchOutput<T[K]> }>;\n\tasync join(name: string, branches: Record<string, BranchConfig<unknown>>) {\n\t\tconst wrappedBranches = Object.fromEntries(\n\t\t\tObject.entries(branches).map(([key, branch]) => [\n\t\t\t\tkey,\n\t\t\t\t{\n\t\t\t\t\trun: async (ctx: WorkflowContextInterface) =>\n\t\t\t\t\t\tbranch.run(this.#createChildContext(ctx)),\n\t\t\t\t},\n\t\t\t]),\n\t\t) as Record<string, BranchConfig<unknown>>;\n\t\treturn await this.#wrapActive(() =>\n\t\t\tthis.#inner.join(name, wrappedBranches),\n\t\t);\n\t}\n\n\tasync race<T>(\n\t\tname: string,\n\t\tbranches: Array<{\n\t\t\tname: string;\n\t\t\trun: (\n\t\t\t\tctx: ActorWorkflowContext<\n\t\t\t\t\tTState,\n\t\t\t\t\tTConnParams,\n\t\t\t\t\tTConnState,\n\t\t\t\t\tTVars,\n\t\t\t\t\tTInput,\n\t\t\t\t\tTDatabase,\n\t\t\t\t\tTEvents,\n\t\t\t\t\tTQueues\n\t\t\t\t>,\n\t\t\t) => Promise<T>;\n\t\t}>,\n\t): Promise<{ winner: string; value: T }>;\n\tasync race<T>(\n\t\tname: string,\n\t\tbranches: Array<{\n\t\t\tname: string;\n\t\t\trun: (ctx: WorkflowContextInterface) => Promise<T>;\n\t\t}>,\n\t): Promise<{ winner: string; value: T }> {\n\t\tconst wrappedBranches = branches.map((branch) => ({\n\t\t\tname: branch.name,\n\t\t\trun: (ctx: WorkflowContextInterface) =>\n\t\t\t\tbranch.run(this.#createChildContext(ctx)),\n\t\t}));\n\t\treturn (await this.#wrapActive(() =>\n\t\t\tthis.#inner.race(name, wrappedBranches),\n\t\t)) as { winner: string; value: T };\n\t}\n\n\tasync removed(name: string, originalType: EntryKindType): Promise<void> {\n\t\tawait this.#wrapActive(() => this.#inner.removed(name, originalType));\n\t}\n\n\tisEvicted(): boolean {\n\t\treturn this.#inner.isEvicted();\n\t}\n\n\tget state(): TState extends never ? never : TState {\n\t\tthis.#ensureActorAccess(\"state\");\n\t\treturn this.#runCtx.state as TState extends never ? never : TState;\n\t}\n\n\tget vars(): TVars extends never ? never : TVars {\n\t\tthis.#ensureActorAccess(\"vars\");\n\t\treturn this.#runCtx.vars as TVars extends never ? never : TVars;\n\t}\n\n\tclient<R extends Registry<any>>(): Client<R> {\n\t\tthis.#ensureActorAccess(\"client\");\n\t\treturn this.#runCtx.client<R>();\n\t}\n\n\tget db(): TDatabase extends never ? never : InferDatabaseClient<TDatabase> {\n\t\tthis.#ensureActorAccess(\"db\");\n\t\treturn this.#runCtx.db as TDatabase extends never\n\t\t\t? never\n\t\t\t: InferDatabaseClient<TDatabase>;\n\t}\n\n\tget log() {\n\t\treturn this.#runCtx.log;\n\t}\n\n\tkeepAwake<T>(promise: Promise<T>): Promise<T> {\n\t\tthis.#ensureActorAccess(\"keepAwake\");\n\t\treturn this.#runCtx.keepAwake(promise);\n\t}\n\n\twaitUntil(promise: Promise<void>): void {\n\t\tthis.#ensureActorAccess(\"waitUntil\");\n\t\tthis.#runCtx.waitUntil(promise);\n\t}\n\n\tget actorId(): string {\n\t\treturn this.#runCtx.actorId;\n\t}\n\n\tbroadcast<K extends keyof TEvents & string>(\n\t\tname: K,\n\t\t...args: InferEventArgs<InferSchemaMap<TEvents>[K]>\n\t): void;\n\tbroadcast(\n\t\tname: keyof TEvents extends never ? string : never,\n\t\t...args: Array<unknown>\n\t): void;\n\tbroadcast(name: string, ...args: Array<unknown>): void {\n\t\tthis.#ensureActorAccess(\"broadcast\");\n\t\tthis.#runCtx.broadcast(\n\t\t\tname as never,\n\t\t\t...((args as unknown[]) as never[]),\n\t\t);\n\t}\n\n\t#toActorQueueMessage<T>(\n\t\tmessage: WorkflowQueueMessage<T>,\n\t): WorkflowQueueMessage<T> & { id: bigint } {\n\t\tlet id: bigint;\n\t\ttry {\n\t\t\tid = BigInt(message.id);\n\t\t} catch {\n\t\t\tthrow new Error(`Invalid queue message id \"${message.id}\"`);\n\t\t}\n\t\treturn {\n\t\t\tid,\n\t\t\tname: message.name,\n\t\t\tbody: message.body,\n\t\t\tcreatedAt: message.createdAt,\n\t\t\t...(message.complete ? { complete: message.complete } : {}),\n\t\t};\n\t}\n\n\tasync #wrapActive<T>(run: () => Promise<T>): Promise<T> {\n\t\treturn await this.#runCtx.keepAwake(run());\n\t}\n\n\tasync #withActorAccess<T>(run: () => Promise<T>): Promise<T> {\n\t\tthis.#actorAccessDepth++;\n\t\tif (this.#actorAccessDepth === 1) {\n\t\t\tthis.#allowActorAccess = true;\n\t\t}\n\t\ttry {\n\t\t\treturn await run();\n\t\t} finally {\n\t\t\tthis.#actorAccessDepth--;\n\t\t\tif (this.#actorAccessDepth === 0) {\n\t\t\t\tthis.#allowActorAccess = false;\n\t\t\t}\n\t\t}\n\t}\n\n\t#ensureActorAccess(feature: string): void {\n\t\tif (!this.#allowActorAccess) {\n\t\t\tthis.#guardViolation = true;\n\t\t\tthis.#markGuardTriggered();\n\t\t\tthrow new Error(\n\t\t\t\t`${feature} is only available inside workflow steps`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconsumeGuardViolation(): boolean {\n\t\tconst violated = this.#guardViolation;\n\t\tthis.#guardViolation = false;\n\t\treturn violated;\n\t}\n\n\t#markGuardTriggered(): void {\n\t\ttry {\n\t\t\tconst state = this.#runCtx.state as Record<string, unknown>;\n\t\t\tif (\n\t\t\t\tstate &&\n\t\t\t\ttypeof state === \"object\" &&\n\t\t\t\t\"guardTriggered\" in state\n\t\t\t) {\n\t\t\t\t(state as Record<string, unknown>).guardTriggered = true;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore if state is unavailable\n\t\t}\n\n\t\tthis.#runCtx.waitUntil(\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.#runCtx.kv.put(WORKFLOW_GUARD_KV_KEY, \"true\");\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.#runCtx.log.error({\n\t\t\t\t\t\tmsg: \"failed to persist workflow guard flag\",\n\t\t\t\t\t\terror,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})(),\n\t\t);\n\t}\n\n\t#createChildContext(\n\t\tctx: WorkflowContextInterface,\n\t): ActorWorkflowContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t> {\n\t\treturn new ActorWorkflowContext(ctx, this.#runCtx);\n\t}\n}\n\nexport type WorkflowContextOf<AD extends AnyActorDefinition> =\n\tAD extends ActorDefinition<\n\t\tinfer S,\n\t\tinfer CP,\n\t\tinfer CS,\n\t\tinfer V,\n\t\tinfer I,\n\t\tinfer DB extends AnyDatabaseProvider,\n\t\tinfer E extends EventSchemaConfig,\n\t\tinfer Q extends QueueSchemaConfig,\n\t\tany\n\t>\n\t\t? ActorWorkflowContext<S, CP, CS, V, I, DB, E, Q>\n\t\t: never;\n\nexport type WorkflowLoopContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n\nexport type WorkflowBranchContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n\nexport type WorkflowStepContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n","import type { RunContext } from \"@/actor/contexts/run\";\nimport type { AnyActorInstance } from \"@/actor/instance/mod\";\nimport { makeWorkflowKey, workflowStoragePrefix } from \"@/actor/instance/keys\";\nimport type {\n\tEngineDriver,\n\tKVEntry,\n\tKVWrite,\n\tMessage,\n\tWorkflowMessageDriver,\n} from \"@rivetkit/workflow-engine\";\n\nconst WORKFLOW_STORAGE_PREFIX = workflowStoragePrefix();\n\nfunction stripWorkflowKey(prefixed: Uint8Array): Uint8Array {\n\treturn prefixed.slice(WORKFLOW_STORAGE_PREFIX.length);\n}\n\nclass ActorWorkflowMessageDriver implements WorkflowMessageDriver {\n\t#actor: AnyActorInstance;\n\t#runCtx: RunContext<any, any, any, any, any, any, any, any>;\n\n\tconstructor(\n\t\tactor: AnyActorInstance,\n\t\trunCtx: RunContext<any, any, any, any, any, any, any, any>,\n\t) {\n\t\tthis.#actor = actor;\n\t\tthis.#runCtx = runCtx;\n\t}\n\n\tasync addMessage(message: Message): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.enqueue(message.name, message.data),\n\t\t);\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 messages = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.receive(\n\t\t\t\topts.names && opts.names.length > 0 ? [...opts.names] : undefined,\n\t\t\t\topts.count,\n\t\t\t\t0,\n\t\t\t\tundefined,\n\t\t\t\topts.completable,\n\t\t\t),\n\t\t);\n\t\treturn messages.map((message) => ({\n\t\t\tid: message.id.toString(),\n\t\t\tname: message.name,\n\t\t\tdata: message.body,\n\t\t\tsentAt: message.createdAt,\n\t\t\t...(opts.completable\n\t\t\t\t? {\n\t\t\t\t\t\tcomplete: async (response?: unknown) => {\n\t\t\t\t\t\t\tawait this.#runCtx.keepAwake(\n\t\t\t\t\t\t\t\tthis.#actor.queueManager.completeMessage(\n\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\tresponse,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}));\n\t}\n\n\tasync completeMessage(messageId: string, response?: unknown): Promise<void> {\n\t\tlet parsedId: bigint;\n\t\ttry {\n\t\t\tparsedId = BigInt(messageId);\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.completeMessageById(parsedId, response),\n\t\t);\n\t}\n}\n\nexport class ActorWorkflowDriver implements EngineDriver {\n\treadonly workerPollInterval = 100;\n\treadonly messageDriver: WorkflowMessageDriver;\n\t#actor: AnyActorInstance;\n\t#runCtx: RunContext<any, any, any, any, any, any, any, any>;\n\n\tconstructor(\n\t\tactor: AnyActorInstance,\n\t\trunCtx: RunContext<any, any, any, any, any, any, any, any>,\n\t) {\n\t\tthis.#actor = actor;\n\t\tthis.#runCtx = runCtx;\n\t\tthis.messageDriver = new ActorWorkflowMessageDriver(actor, runCtx);\n\t}\n\n\tasync get(key: Uint8Array): Promise<Uint8Array | null> {\n\t\tconst [value] = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchGet(this.#actor.id, [\n\t\t\t\tmakeWorkflowKey(key),\n\t\t\t]),\n\t\t);\n\t\treturn value ?? null;\n\t}\n\n\tasync set(key: Uint8Array, value: Uint8Array): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchPut(this.#actor.id, [\n\t\t\t\t[makeWorkflowKey(key), value],\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync delete(key: Uint8Array): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchDelete(this.#actor.id, [\n\t\t\t\tmakeWorkflowKey(key),\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync deletePrefix(prefix: Uint8Array): Promise<void> {\n\t\tconst entries = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvListPrefix(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tmakeWorkflowKey(prefix),\n\t\t\t),\n\t\t);\n\t\tif (entries.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchDelete(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tentries.map(([key]) => key),\n\t\t\t),\n\t\t);\n\t}\n\n\tasync list(prefix: Uint8Array): Promise<KVEntry[]> {\n\t\tconst entries = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvListPrefix(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tmakeWorkflowKey(prefix),\n\t\t\t),\n\t\t);\n\t\treturn entries.map(([key, value]) => ({\n\t\t\tkey: stripWorkflowKey(key),\n\t\t\tvalue,\n\t\t}));\n\t}\n\n\tasync batch(writes: KVWrite[]): Promise<void> {\n\t\tif (writes.length === 0) return;\n\n\t\t// Flush actor state together with workflow state to ensure atomicity.\n\t\t// If the server crashes after workflow flush, actor state must also be persisted.\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tPromise.all([\n\t\t\t\tthis.#actor.driver.kvBatchPut(\n\t\t\t\t\tthis.#actor.id,\n\t\t\t\t\twrites.map(({ key, value }) => [makeWorkflowKey(key), value]),\n\t\t\t\t),\n\t\t\t\tthis.#actor.stateManager.saveState({\n\t\t\t\t\timmediate: true,\n\t\t\t\t\tallowStoppingState: true,\n\t\t\t\t}),\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync setAlarm(_workflowId: string, wakeAt: number): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.setAlarm(this.#actor, wakeAt),\n\t\t);\n\t}\n\n\tasync clearAlarm(_workflowId: string): Promise<void> {\n\t\t// No dedicated clear alarm support in actor drivers.\n\t\treturn;\n\t}\n\n\twaitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\treturn this.#actor.queueManager.waitForNames(\n\t\t\tmessageNames.length > 0 ? messageNames : undefined,\n\t\t\tabortSignal,\n\t\t);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { createNanoEvents } from \"nanoevents\";\nimport type {\n\tBranchStatus,\n\tBranchStatusType,\n\tEntryKind,\n\tEntryStatus,\n\tLocation,\n\tSleepState,\n\tWorkflowHistoryEntry,\n\tWorkflowHistorySnapshot,\n\tWorkflowEntryMetadataSnapshot,\n} from \"@rivetkit/workflow-engine\";\nimport { encodeWorkflowHistoryTransport } from \"@/inspector/transport\";\nimport type * as inspectorSchema from \"@/schemas/actor-inspector/mod\";\nimport * as transport from \"@/schemas/transport/mod\";\nimport { assertUnreachable, bufferToArrayBuffer } from \"@/utils\";\n\nexport interface WorkflowInspectorAdapter {\n\tgetHistory: () => inspectorSchema.WorkflowHistory | null;\n\tonHistoryUpdated: (\n\t\tlistener: (history: inspectorSchema.WorkflowHistory) => void,\n\t) => () => void;\n}\n\nexport function createWorkflowInspectorAdapter(): {\n\tadapter: WorkflowInspectorAdapter;\n\tupdate: (snapshot: WorkflowHistorySnapshot) => void;\n} {\n\tconst emitter = createNanoEvents<{\n\t\tupdated: (history: inspectorSchema.WorkflowHistory) => void;\n\t}>();\n\tlet history: inspectorSchema.WorkflowHistory | null = null;\n\n\tconst adapter: WorkflowInspectorAdapter = {\n\t\tgetHistory: () => history,\n\t\tonHistoryUpdated: (listener) => emitter.on(\"updated\", listener),\n\t};\n\n\tconst update = (snapshot: WorkflowHistorySnapshot) => {\n\t\tconst transportHistory = toWorkflowHistory(snapshot);\n\t\tconst next = encodeWorkflowHistoryTransport(transportHistory);\n\t\thistory = next;\n\t\temitter.emit(\"updated\", next);\n\t};\n\n\treturn { adapter, update };\n}\n\nfunction encodeCbor(value: unknown): ArrayBuffer {\n\treturn bufferToArrayBuffer(cbor.encode(value));\n}\n\nfunction encodeOptionalCbor(value: unknown): ArrayBuffer | null {\n\tif (value === undefined) {\n\t\treturn null;\n\t}\n\treturn encodeCbor(value);\n}\n\nfunction toU64(value: number): bigint {\n\treturn BigInt(Math.max(0, Math.floor(value)));\n}\n\nfunction toWorkflowLocation(\n\tlocation: Location,\n): transport.WorkflowLocation {\n\treturn location.map((segment) => {\n\t\tif (typeof segment === \"number\") {\n\t\t\treturn { tag: \"WorkflowNameIndex\", val: segment };\n\t\t}\n\t\treturn {\n\t\t\ttag: \"WorkflowLoopIterationMarker\",\n\t\t\tval: {\n\t\t\t\tloop: segment.loop,\n\t\t\t\titeration: segment.iteration,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction toWorkflowEntryKind(\n\tkind: EntryKind,\n): transport.WorkflowEntryKind {\n\tswitch (kind.type) {\n\t\tcase \"step\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowStepEntry\",\n\t\t\t\tval: {\n\t\t\t\t\toutput: encodeOptionalCbor(kind.data.output),\n\t\t\t\t\terror: kind.data.error ?? null,\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"loop\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowLoopEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tstate: encodeCbor(kind.data.state),\n\t\t\t\t\titeration: kind.data.iteration,\n\t\t\t\t\toutput: encodeOptionalCbor(kind.data.output),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"sleep\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowSleepEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tdeadline: toU64(kind.data.deadline),\n\t\t\t\t\tstate: toWorkflowSleepState(kind.data.state),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"message\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowMessageEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tname: kind.data.name,\n\t\t\t\t\tmessageData: encodeCbor(kind.data.data),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"rollback_checkpoint\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRollbackCheckpointEntry\",\n\t\t\t\tval: { name: kind.data.name },\n\t\t\t};\n\t\tcase \"join\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowJoinEntry\",\n\t\t\t\tval: { branches: toWorkflowBranchStatusMap(kind.data.branches) },\n\t\t\t};\n\t\tcase \"race\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRaceEntry\",\n\t\t\t\tval: {\n\t\t\t\t\twinner: kind.data.winner ?? null,\n\t\t\t\t\tbranches: toWorkflowBranchStatusMap(kind.data.branches),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"removed\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRemovedEntry\",\n\t\t\t\tval: {\n\t\t\t\t\toriginalType: kind.data.originalType,\n\t\t\t\t\toriginalName: kind.data.originalName ?? null,\n\t\t\t\t},\n\t\t\t};\n\t\tdefault:\n\t\t\tassertUnreachable(kind as never);\n\t}\n}\n\nfunction toWorkflowEntry(\n\tentry: WorkflowHistoryEntry,\n): transport.WorkflowEntry {\n\treturn {\n\t\tid: entry.id,\n\t\tlocation: toWorkflowLocation(entry.location),\n\t\tkind: toWorkflowEntryKind(entry.kind),\n\t};\n}\n\nfunction toWorkflowEntryStatus(\n\tstatus: EntryStatus,\n): transport.WorkflowEntryStatus {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowEntryStatus.PENDING;\n\t\tcase \"running\":\n\t\t\treturn transport.WorkflowEntryStatus.RUNNING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowEntryStatus.COMPLETED;\n\t\tcase \"failed\":\n\t\t\treturn transport.WorkflowEntryStatus.FAILED;\n\t\tcase \"exhausted\":\n\t\t\treturn transport.WorkflowEntryStatus.EXHAUSTED;\n\t\tdefault:\n\t\t\tassertUnreachable(status as never);\n\t}\n}\n\nfunction toWorkflowSleepState(\n\tstate: SleepState,\n): transport.WorkflowSleepState {\n\tswitch (state) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowSleepState.PENDING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowSleepState.COMPLETED;\n\t\tcase \"interrupted\":\n\t\t\treturn transport.WorkflowSleepState.INTERRUPTED;\n\t\tdefault:\n\t\t\tassertUnreachable(state as never);\n\t}\n}\n\nfunction toWorkflowBranchStatusType(\n\tstatus: BranchStatusType,\n): transport.WorkflowBranchStatusType {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowBranchStatusType.PENDING;\n\t\tcase \"running\":\n\t\t\treturn transport.WorkflowBranchStatusType.RUNNING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowBranchStatusType.COMPLETED;\n\t\tcase \"failed\":\n\t\t\treturn transport.WorkflowBranchStatusType.FAILED;\n\t\tcase \"cancelled\":\n\t\t\treturn transport.WorkflowBranchStatusType.CANCELLED;\n\t\tdefault:\n\t\t\tassertUnreachable(status as never);\n\t}\n}\n\nfunction toWorkflowBranchStatus(\n\tstatus: BranchStatus,\n): transport.WorkflowBranchStatus {\n\treturn {\n\t\tstatus: toWorkflowBranchStatusType(status.status),\n\t\toutput: encodeOptionalCbor(status.output),\n\t\terror: status.error ?? null,\n\t};\n}\n\nfunction toWorkflowBranchStatusMap(\n\tbranches: Record<string, BranchStatus>,\n): ReadonlyMap<string, transport.WorkflowBranchStatus> {\n\treturn new Map(\n\t\tObject.entries(branches).map(([name, status]) => [\n\t\t\tname,\n\t\t\ttoWorkflowBranchStatus(status),\n\t\t]),\n\t);\n}\n\nfunction toWorkflowEntryMetadata(\n\tmetadata: WorkflowEntryMetadataSnapshot,\n): transport.WorkflowEntryMetadata {\n\treturn {\n\t\tstatus: toWorkflowEntryStatus(metadata.status),\n\t\terror: metadata.error ?? null,\n\t\tattempts: metadata.attempts,\n\t\tlastAttemptAt: toU64(metadata.lastAttemptAt),\n\t\tcreatedAt: toU64(metadata.createdAt),\n\t\tcompletedAt:\n\t\t\tmetadata.completedAt === undefined\n\t\t\t\t? null\n\t\t\t\t: toU64(metadata.completedAt),\n\t\trollbackCompletedAt:\n\t\t\tmetadata.rollbackCompletedAt === undefined\n\t\t\t\t? null\n\t\t\t\t: toU64(metadata.rollbackCompletedAt),\n\t\trollbackError: metadata.rollbackError ?? null,\n\t};\n}\n\nfunction toWorkflowHistory(\n\tsnapshot: WorkflowHistorySnapshot,\n): transport.WorkflowHistory {\n\tconst entryMetadata = new Map<string, transport.WorkflowEntryMetadata>();\n\tfor (const [id, metadata] of snapshot.entryMetadata) {\n\t\tentryMetadata.set(id, toWorkflowEntryMetadata(metadata));\n\t}\n\n\treturn {\n\t\tnameRegistry: snapshot.nameRegistry,\n\t\tentries: snapshot.entries.map((entry) => toWorkflowEntry(entry)),\n\t\tentryMetadata,\n\t};\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  importWebSocket,
3
3
  logger
4
- } from "./chunk-2OK7S6QF.js";
4
+ } from "./chunk-ELCI2QTU.js";
5
5
  import {
6
6
  CURRENT_VERSION,
7
7
  EncodingSchema,
@@ -36,10 +36,10 @@ import {
36
36
  serializeWithEncoding,
37
37
  tryParseEndpoint,
38
38
  uint8ArrayToBase64
39
- } from "./chunk-MIX2KB6U.js";
39
+ } from "./chunk-W735O34B.js";
40
40
  import {
41
41
  assertUnreachable as assertUnreachable2
42
- } from "./chunk-TADUYCHF.js";
42
+ } from "./chunk-SFC4YXTL.js";
43
43
  import {
44
44
  VERSION,
45
45
  assertUnreachable,
@@ -58,7 +58,7 @@ import {
58
58
  noopNext,
59
59
  promiseWithResolvers,
60
60
  stringifyError
61
- } from "./chunk-EIATSBYZ.js";
61
+ } from "./chunk-ITLKCAXM.js";
62
62
  import {
63
63
  ActorNotFound,
64
64
  InvalidRequest
@@ -2654,4 +2654,4 @@ export {
2654
2654
  RemoteManagerDriver,
2655
2655
  createClient
2656
2656
  };
2657
- //# sourceMappingURL=chunk-JPXO2H55.js.map
2657
+ //# sourceMappingURL=chunk-DOEWKM5V.js.map
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
2
 
3
- var _chunkHYPIHCDTcjs = require('./chunk-HYPIHCDT.cjs');
3
+ var _chunk2Q5WS6QHcjs = require('./chunk-2Q5WS6QH.cjs');
4
4
 
5
5
  // src/client/log.ts
6
6
  function logger() {
7
- return _chunkHYPIHCDTcjs.getLogger.call(void 0, "actor-client");
7
+ return _chunk2Q5WS6QHcjs.getLogger.call(void 0, "actor-client");
8
8
  }
9
9
 
10
10
  // src/common/websocket.ts
@@ -46,4 +46,4 @@ async function importWebSocket() {
46
46
 
47
47
 
48
48
  exports.logger = logger; exports.importWebSocket = importWebSocket;
49
- //# sourceMappingURL=chunk-JC6BEPE7.cjs.map
49
+ //# sourceMappingURL=chunk-DSXC3S7Q.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-JC6BEPE7.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-JC6BEPE7.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-DSXC3S7Q.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-DSXC3S7Q.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getLogger
3
- } from "./chunk-EIATSBYZ.js";
3
+ } from "./chunk-ITLKCAXM.js";
4
4
 
5
5
  // src/client/log.ts
6
6
  function logger() {
@@ -46,4 +46,4 @@ export {
46
46
  logger,
47
47
  importWebSocket
48
48
  };
49
- //# sourceMappingURL=chunk-2OK7S6QF.js.map
49
+ //# sourceMappingURL=chunk-ELCI2QTU.js.map