rivetkit 2.1.0-rc.2 → 2.1.1

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 (83) 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-GTRFI52I.cjs → chunk-65RINRXE.cjs} +97 -97
  7. package/dist/tsup/{chunk-GTRFI52I.cjs.map → chunk-65RINRXE.cjs.map} +1 -1
  8. package/dist/tsup/{chunk-QT5ERRYT.js → chunk-74ER4FEE.js} +10 -5
  9. package/dist/tsup/chunk-74ER4FEE.js.map +1 -0
  10. package/dist/tsup/{chunk-IJFB2TQW.cjs → chunk-AGERRJ32.cjs} +152 -152
  11. package/dist/tsup/{chunk-IJFB2TQW.cjs.map → chunk-AGERRJ32.cjs.map} +1 -1
  12. package/dist/tsup/{chunk-EW3FYVI2.js → chunk-AWJU3AZB.js} +5 -5
  13. package/dist/tsup/{chunk-EONRNGIC.cjs → chunk-F5B36GL7.cjs} +108 -111
  14. package/dist/tsup/chunk-F5B36GL7.cjs.map +1 -0
  15. package/dist/tsup/{chunk-2NO5SHUF.cjs → chunk-FUBHHHK5.cjs} +3 -3
  16. package/dist/tsup/{chunk-2NO5SHUF.cjs.map → chunk-FUBHHHK5.cjs.map} +1 -1
  17. package/dist/tsup/{chunk-ZM2VLOBC.js → chunk-IZ4M5TJU.js} +2 -2
  18. package/dist/tsup/chunk-IZ4M5TJU.js.map +1 -0
  19. package/dist/tsup/{chunk-MOFY4NC2.cjs → chunk-LNDVGTPQ.cjs} +3 -3
  20. package/dist/tsup/{chunk-MOFY4NC2.cjs.map → chunk-LNDVGTPQ.cjs.map} +1 -1
  21. package/dist/tsup/{chunk-RIAVCHBW.cjs → chunk-LPXB254R.cjs} +234 -234
  22. package/dist/tsup/{chunk-RIAVCHBW.cjs.map → chunk-LPXB254R.cjs.map} +1 -1
  23. package/dist/tsup/{chunk-DVE2W5T7.js → chunk-MICYEINX.js} +3 -3
  24. package/dist/tsup/{chunk-6YBHLX3D.cjs → chunk-MMUXNMJF.cjs} +2 -2
  25. package/dist/tsup/chunk-MMUXNMJF.cjs.map +1 -0
  26. package/dist/tsup/{chunk-373WW2VF.js → chunk-NAM3D5W5.js} +81 -84
  27. package/dist/tsup/chunk-NAM3D5W5.js.map +1 -0
  28. package/dist/tsup/{chunk-LX443DPV.js → chunk-OONQLPOH.js} +6 -6
  29. package/dist/tsup/{chunk-KZLQXXHL.cjs → chunk-Q5CW77IT.cjs} +74 -74
  30. package/dist/tsup/{chunk-KZLQXXHL.cjs.map → chunk-Q5CW77IT.cjs.map} +1 -1
  31. package/dist/tsup/{chunk-V4B4XYFC.js → chunk-T4PQK4WA.js} +5 -5
  32. package/dist/tsup/{chunk-IQ4ICNLA.js → chunk-VBU4P2IX.js} +2 -2
  33. package/dist/tsup/{chunk-X3TPWS5J.cjs → chunk-WPDQXB7R.cjs} +4 -4
  34. package/dist/tsup/{chunk-X3TPWS5J.cjs.map → chunk-WPDQXB7R.cjs.map} +1 -1
  35. package/dist/tsup/{chunk-BOGEGTFB.js → chunk-WTRB56DR.js} +2 -2
  36. package/dist/tsup/{chunk-P56VSQ4X.js → chunk-XQWBEBLD.js} +2 -2
  37. package/dist/tsup/{chunk-4H3KSRC2.cjs → chunk-ZR76ZGYS.cjs} +26 -21
  38. package/dist/tsup/chunk-ZR76ZGYS.cjs.map +1 -0
  39. package/dist/tsup/client/mod.cjs +6 -6
  40. package/dist/tsup/client/mod.js +5 -5
  41. package/dist/tsup/common/log.cjs +2 -2
  42. package/dist/tsup/common/log.js +1 -1
  43. package/dist/tsup/common/websocket.cjs +3 -3
  44. package/dist/tsup/common/websocket.js +2 -2
  45. package/dist/tsup/context-7X-Dm6_f.d.cts +75 -0
  46. package/dist/tsup/context-x9zKhx5T.d.ts +75 -0
  47. package/dist/tsup/driver-helpers/mod.cjs +4 -4
  48. package/dist/tsup/driver-helpers/mod.js +3 -3
  49. package/dist/tsup/driver-test-suite/mod.cjs +60 -60
  50. package/dist/tsup/driver-test-suite/mod.js +10 -10
  51. package/dist/tsup/inspector/mod.cjs +3 -3
  52. package/dist/tsup/inspector/mod.js +2 -2
  53. package/dist/tsup/mod.cjs +8 -8
  54. package/dist/tsup/mod.d.cts +2 -0
  55. package/dist/tsup/mod.d.ts +2 -0
  56. package/dist/tsup/mod.js +7 -7
  57. package/dist/tsup/serve-test-suite/mod.cjs +99 -99
  58. package/dist/tsup/serve-test-suite/mod.js +10 -10
  59. package/dist/tsup/test/mod.cjs +10 -10
  60. package/dist/tsup/test/mod.js +6 -6
  61. package/dist/tsup/utils.cjs +2 -2
  62. package/dist/tsup/utils.js +1 -1
  63. package/dist/tsup/workflow/mod.cjs +5 -5
  64. package/dist/tsup/workflow/mod.d.cts +4 -62
  65. package/dist/tsup/workflow/mod.d.ts +4 -62
  66. package/dist/tsup/workflow/mod.js +4 -4
  67. package/package.json +5 -5
  68. package/src/mod.ts +6 -0
  69. package/src/workflow/context.ts +75 -15
  70. package/src/workflow/mod.ts +7 -1
  71. package/dist/tsup/chunk-373WW2VF.js.map +0 -1
  72. package/dist/tsup/chunk-4H3KSRC2.cjs.map +0 -1
  73. package/dist/tsup/chunk-6YBHLX3D.cjs.map +0 -1
  74. package/dist/tsup/chunk-EONRNGIC.cjs.map +0 -1
  75. package/dist/tsup/chunk-QT5ERRYT.js.map +0 -1
  76. package/dist/tsup/chunk-ZM2VLOBC.js.map +0 -1
  77. /package/dist/tsup/{chunk-EW3FYVI2.js.map → chunk-AWJU3AZB.js.map} +0 -0
  78. /package/dist/tsup/{chunk-DVE2W5T7.js.map → chunk-MICYEINX.js.map} +0 -0
  79. /package/dist/tsup/{chunk-LX443DPV.js.map → chunk-OONQLPOH.js.map} +0 -0
  80. /package/dist/tsup/{chunk-V4B4XYFC.js.map → chunk-T4PQK4WA.js.map} +0 -0
  81. /package/dist/tsup/{chunk-IQ4ICNLA.js.map → chunk-VBU4P2IX.js.map} +0 -0
  82. /package/dist/tsup/{chunk-BOGEGTFB.js.map → chunk-WTRB56DR.js.map} +0 -0
  83. /package/dist/tsup/{chunk-P56VSQ4X.js.map → chunk-XQWBEBLD.js.map} +0 -0
@@ -16,9 +16,9 @@ import {
16
16
  workflowQueueActor,
17
17
  workflowSleepActor,
18
18
  workflowStopTeardownActor
19
- } from "../chunk-373WW2VF.js";
20
- import "../chunk-QT5ERRYT.js";
21
- import "../chunk-BOGEGTFB.js";
19
+ } from "../chunk-NAM3D5W5.js";
20
+ import "../chunk-74ER4FEE.js";
21
+ import "../chunk-WTRB56DR.js";
22
22
  import {
23
23
  db as db2,
24
24
  integer,
@@ -31,22 +31,22 @@ import {
31
31
  event,
32
32
  queue,
33
33
  setup
34
- } from "../chunk-LX443DPV.js";
34
+ } from "../chunk-OONQLPOH.js";
35
35
  import {
36
36
  createFileSystemOrMemoryDriver
37
- } from "../chunk-V4B4XYFC.js";
38
- import "../chunk-EW3FYVI2.js";
39
- import "../chunk-IQ4ICNLA.js";
37
+ } from "../chunk-T4PQK4WA.js";
38
+ import "../chunk-AWJU3AZB.js";
39
+ import "../chunk-VBU4P2IX.js";
40
40
  import {
41
41
  db
42
42
  } from "../chunk-KJSYAUOM.js";
43
43
  import "../chunk-N4KRDJ56.js";
44
44
  import {
45
45
  buildManagerRouter
46
- } from "../chunk-DVE2W5T7.js";
46
+ } from "../chunk-MICYEINX.js";
47
47
  import "../chunk-LXUQ667X.js";
48
- import "../chunk-P56VSQ4X.js";
49
- import "../chunk-ZM2VLOBC.js";
48
+ import "../chunk-XQWBEBLD.js";
49
+ import "../chunk-IZ4M5TJU.js";
50
50
  import {
51
51
  UserError
52
52
  } from "../chunk-7HTNH26M.js";
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkRIAVCHBWcjs = require('../chunk-RIAVCHBW.cjs');
3
+ var _chunkLPXB254Rcjs = require('../chunk-LPXB254R.cjs');
4
4
 
5
5
 
6
- var _chunkIJFB2TQWcjs = require('../chunk-IJFB2TQW.cjs');
7
- require('../chunk-2NO5SHUF.cjs');
6
+ var _chunkAGERRJ32cjs = require('../chunk-AGERRJ32.cjs');
7
+ require('../chunk-FUBHHHK5.cjs');
8
8
 
9
9
 
10
- var _chunkKZLQXXHLcjs = require('../chunk-KZLQXXHL.cjs');
10
+ var _chunkQ5CW77ITcjs = require('../chunk-Q5CW77IT.cjs');
11
11
  require('../chunk-NIYZDWMW.cjs');
12
- require('../chunk-MOFY4NC2.cjs');
12
+ require('../chunk-LNDVGTPQ.cjs');
13
13
 
14
14
 
15
- var _chunk6YBHLX3Dcjs = require('../chunk-6YBHLX3D.cjs');
15
+ var _chunkMMUXNMJFcjs = require('../chunk-MMUXNMJF.cjs');
16
16
  require('../chunk-L47L3ZWJ.cjs');
17
17
  require('../chunk-HDQ2JUQT.cjs');
18
18
 
@@ -23,14 +23,14 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
23
23
 
24
24
  // src/test/log.ts
25
25
  function logger() {
26
- return _chunk6YBHLX3Dcjs.getLogger.call(void 0, "test");
26
+ return _chunkMMUXNMJFcjs.getLogger.call(void 0, "test");
27
27
  }
28
28
 
29
29
  // src/test/mod.ts
30
30
  async function setupTest(c, registry) {
31
31
  var _a;
32
32
  registry.config.test = { ...registry.config.test, enabled: true };
33
- const driver = _chunkRIAVCHBWcjs.createFileSystemOrMemoryDriver.call(void 0,
33
+ const driver = _chunkLPXB254Rcjs.createFileSystemOrMemoryDriver.call(void 0,
34
34
  true,
35
35
  { path: `/tmp/rivetkit-test-${crypto.randomUUID()}` }
36
36
  );
@@ -45,7 +45,7 @@ async function setupTest(c, registry) {
45
45
  _invariant2.default.call(void 0, managerDriver, "missing manager driver");
46
46
  const getUpgradeWebSocket = () => upgradeWebSocket;
47
47
  managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
48
- const { router } = _chunkKZLQXXHLcjs.buildManagerRouter.call(void 0,
48
+ const { router } = _chunkQ5CW77ITcjs.buildManagerRouter.call(void 0,
49
49
  parsedConfig,
50
50
  managerDriver,
51
51
  getUpgradeWebSocket
@@ -75,7 +75,7 @@ async function setupTest(c, registry) {
75
75
  c.onTestFinished(async () => {
76
76
  await new Promise((resolve) => server.close(() => resolve(void 0)));
77
77
  });
78
- const client = _chunkIJFB2TQWcjs.createClient.call(void 0, {
78
+ const client = _chunkAGERRJ32cjs.createClient.call(void 0, {
79
79
  endpoint,
80
80
  namespace: "default",
81
81
  runnerName: "default",
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  createFileSystemOrMemoryDriver
3
- } from "../chunk-V4B4XYFC.js";
3
+ } from "../chunk-T4PQK4WA.js";
4
4
  import {
5
5
  createClient
6
- } from "../chunk-EW3FYVI2.js";
7
- import "../chunk-IQ4ICNLA.js";
6
+ } from "../chunk-AWJU3AZB.js";
7
+ import "../chunk-VBU4P2IX.js";
8
8
  import {
9
9
  buildManagerRouter
10
- } from "../chunk-DVE2W5T7.js";
10
+ } from "../chunk-MICYEINX.js";
11
11
  import "../chunk-LXUQ667X.js";
12
- import "../chunk-P56VSQ4X.js";
12
+ import "../chunk-XQWBEBLD.js";
13
13
  import {
14
14
  getLogger
15
- } from "../chunk-ZM2VLOBC.js";
15
+ } from "../chunk-IZ4M5TJU.js";
16
16
  import "../chunk-7HTNH26M.js";
17
17
  import "../chunk-424PT5DM.js";
18
18
 
@@ -17,7 +17,7 @@
17
17
 
18
18
 
19
19
 
20
- var _chunk6YBHLX3Dcjs = require('./chunk-6YBHLX3D.cjs');
20
+ var _chunkMMUXNMJFcjs = require('./chunk-MMUXNMJF.cjs');
21
21
  require('./chunk-L47L3ZWJ.cjs');
22
22
  require('./chunk-HDQ2JUQT.cjs');
23
23
 
@@ -39,5 +39,5 @@ require('./chunk-HDQ2JUQT.cjs');
39
39
 
40
40
 
41
41
 
42
- exports.EXTRA_ERROR_LOG = _chunk6YBHLX3Dcjs.EXTRA_ERROR_LOG; exports.SinglePromiseQueue = _chunk6YBHLX3Dcjs.SinglePromiseQueue; exports.VERSION = _chunk6YBHLX3Dcjs.VERSION; exports.arrayBuffersEqual = _chunk6YBHLX3Dcjs.arrayBuffersEqual; exports.assertUnreachable = _chunk6YBHLX3Dcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunk6YBHLX3Dcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunk6YBHLX3Dcjs.combineUrlPath; exports.dbg = _chunk6YBHLX3Dcjs.dbg; exports.detectRuntime = _chunk6YBHLX3Dcjs.detectRuntime; exports.getEnvUniversal = _chunk6YBHLX3Dcjs.getEnvUniversal; exports.httpUserAgent = _chunk6YBHLX3Dcjs.httpUserAgent; exports.interval = _chunk6YBHLX3Dcjs.interval; exports.joinSignals = _chunk6YBHLX3Dcjs.joinSignals; exports.promiseWithResolvers = _chunk6YBHLX3Dcjs.promiseWithResolvers; exports.setLongTimeout = _chunk6YBHLX3Dcjs.setLongTimeout; exports.sleep = _chunk6YBHLX3Dcjs.sleep; exports.stringifyError = _chunk6YBHLX3Dcjs.stringifyError; exports.toUint8Array = _chunk6YBHLX3Dcjs.toUint8Array;
42
+ exports.EXTRA_ERROR_LOG = _chunkMMUXNMJFcjs.EXTRA_ERROR_LOG; exports.SinglePromiseQueue = _chunkMMUXNMJFcjs.SinglePromiseQueue; exports.VERSION = _chunkMMUXNMJFcjs.VERSION; exports.arrayBuffersEqual = _chunkMMUXNMJFcjs.arrayBuffersEqual; exports.assertUnreachable = _chunkMMUXNMJFcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkMMUXNMJFcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkMMUXNMJFcjs.combineUrlPath; exports.dbg = _chunkMMUXNMJFcjs.dbg; exports.detectRuntime = _chunkMMUXNMJFcjs.detectRuntime; exports.getEnvUniversal = _chunkMMUXNMJFcjs.getEnvUniversal; exports.httpUserAgent = _chunkMMUXNMJFcjs.httpUserAgent; exports.interval = _chunkMMUXNMJFcjs.interval; exports.joinSignals = _chunkMMUXNMJFcjs.joinSignals; exports.promiseWithResolvers = _chunkMMUXNMJFcjs.promiseWithResolvers; exports.setLongTimeout = _chunkMMUXNMJFcjs.setLongTimeout; exports.sleep = _chunkMMUXNMJFcjs.sleep; exports.stringifyError = _chunkMMUXNMJFcjs.stringifyError; exports.toUint8Array = _chunkMMUXNMJFcjs.toUint8Array;
43
43
  //# sourceMappingURL=utils.cjs.map
@@ -17,7 +17,7 @@ import {
17
17
  sleep,
18
18
  stringifyError,
19
19
  toUint8Array
20
- } from "./chunk-ZM2VLOBC.js";
20
+ } from "./chunk-IZ4M5TJU.js";
21
21
  import "./chunk-7HTNH26M.js";
22
22
  import "./chunk-424PT5DM.js";
23
23
  export {
@@ -2,15 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk4H3KSRC2cjs = require('../chunk-4H3KSRC2.cjs');
6
- require('../chunk-X3TPWS5J.cjs');
7
- require('../chunk-MOFY4NC2.cjs');
8
- require('../chunk-6YBHLX3D.cjs');
5
+ var _chunkZR76ZGYScjs = require('../chunk-ZR76ZGYS.cjs');
6
+ require('../chunk-WPDQXB7R.cjs');
7
+ require('../chunk-LNDVGTPQ.cjs');
8
+ require('../chunk-MMUXNMJF.cjs');
9
9
  require('../chunk-L47L3ZWJ.cjs');
10
10
  require('../chunk-HDQ2JUQT.cjs');
11
11
 
12
12
 
13
13
 
14
14
 
15
- exports.ActorWorkflowContext = _chunk4H3KSRC2cjs.ActorWorkflowContext; exports.Loop = _chunk4H3KSRC2cjs.Loop; exports.workflow = _chunk4H3KSRC2cjs.workflow;
15
+ exports.ActorWorkflowContext = _chunkZR76ZGYScjs.ActorWorkflowContext; exports.Loop = _chunkZR76ZGYScjs.Loop; exports.workflow = _chunkZR76ZGYScjs.workflow;
16
16
  //# sourceMappingURL=mod.cjs.map
@@ -1,13 +1,14 @@
1
- import { c as EventSchemaConfig, Q as QueueSchemaConfig, ad as RunContext, b9 as QueueFilterName, ba as QueueNextOptions, bb as QueueResultMessageForName, bc as InferSchemaMap, a5 as Registry, C as Client, bd as InferDatabaseClient, be as InferEventArgs } from '../config-CAZphOS1.cjs';
1
+ import { c as EventSchemaConfig, Q as QueueSchemaConfig, ad as RunContext } from '../config-CAZphOS1.cjs';
2
2
  import { A as AnyDatabaseProvider } from '../config-BiNoIHRs.cjs';
3
- import * as pino from 'pino';
4
- import { WorkflowContextInterface, LoopResult, LoopConfig, BranchConfig, BranchOutput, EntryKindType } from '@rivetkit/workflow-engine';
3
+ import { A as ActorWorkflowContext } from '../context-7X-Dm6_f.cjs';
4
+ export { W as WorkflowBranchContextOf, a as WorkflowContextOf, b as WorkflowLoopContextOf, c as WorkflowStepContextOf } from '../context-7X-Dm6_f.cjs';
5
5
  export { Loop } from '@rivetkit/workflow-engine';
6
6
  import 'zod/v4';
7
7
  import '@rivetkit/virtual-websocket';
8
8
  import '@rivetkit/traces';
9
9
  import 'hono';
10
10
  import 'vbare';
11
+ import 'pino';
11
12
  import '../utils.cjs';
12
13
  import '../utils-fwx3o3K9.cjs';
13
14
  import 'hono/utils/http-status';
@@ -19,65 +20,6 @@ import 'nanoevents';
19
20
  import '../v3-DnYObHH3.cjs';
20
21
  import '@rivetkit/bare-ts';
21
22
 
22
- type WorkflowActorQueueNextOptions<TName extends string, TCompletable extends boolean> = Omit<QueueNextOptions<TName, TCompletable>, "signal">;
23
- type WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<QueueNextOptions<string, TCompletable>, "signal">;
24
- type ActorWorkflowLoopConfig<S, T, TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = Omit<LoopConfig<S, T>, "run"> & {
25
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>, state: S) => Promise<LoopResult<S, T>>;
26
- };
27
- type ActorWorkflowBranchConfig<TOutput, TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = {
28
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<TOutput>;
29
- };
30
- declare class ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> implements WorkflowContextInterface {
31
- #private;
32
- constructor(inner: WorkflowContextInterface, runCtx: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>);
33
- get workflowId(): string;
34
- get abortSignal(): AbortSignal;
35
- get queue(): {
36
- next: {
37
- <const TName extends QueueFilterName<TQueues>, const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextOptions<TName, TCompletable>): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;
38
- <const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextOptionsFallback<TCompletable>): Promise<Array<QueueResultMessageForName<TQueues, QueueFilterName<TQueues>, TCompletable>>>;
39
- };
40
- send: {
41
- <K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K]): Promise<void>;
42
- (name: keyof TQueues extends never ? string : never, body: unknown): Promise<void>;
43
- };
44
- };
45
- step<T>(nameOrConfig: string | Parameters<WorkflowContextInterface["step"]>[0], run?: () => Promise<T>): Promise<T>;
46
- loop<T>(name: string, run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<LoopResult<undefined, T>>): Promise<T>;
47
- loop<T>(name: string, run: (ctx: WorkflowContextInterface) => Promise<LoopResult<undefined, T>>): Promise<T>;
48
- loop<S, T>(config: ActorWorkflowLoopConfig<S, T, TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>): Promise<T>;
49
- loop<S, T>(config: LoopConfig<S, T>): Promise<T>;
50
- sleep(name: string, durationMs: number): Promise<void>;
51
- sleepUntil(name: string, timestampMs: number): Promise<void>;
52
- rollbackCheckpoint(name: string): Promise<void>;
53
- join<T extends Record<string, ActorWorkflowBranchConfig<unknown, TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>>>(name: string, branches: T): Promise<{
54
- [K in keyof T]: Awaited<ReturnType<T[K]["run"]>>;
55
- }>;
56
- join<T extends Record<string, BranchConfig<unknown>>>(name: string, branches: T): Promise<{
57
- [K in keyof T]: BranchOutput<T[K]>;
58
- }>;
59
- race<T>(name: string, branches: Array<{
60
- name: string;
61
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<T>;
62
- }>): Promise<{
63
- winner: string;
64
- value: T;
65
- }>;
66
- removed(name: string, originalType: EntryKindType): Promise<void>;
67
- isEvicted(): boolean;
68
- get state(): TState extends never ? never : TState;
69
- get vars(): TVars extends never ? never : TVars;
70
- client<R extends Registry<any>>(): Client<R>;
71
- get db(): TDatabase extends never ? never : InferDatabaseClient<TDatabase>;
72
- get log(): pino.Logger;
73
- keepAwake<T>(promise: Promise<T>): Promise<T>;
74
- waitUntil(promise: Promise<void>): void;
75
- get actorId(): string;
76
- broadcast<K extends keyof TEvents & string>(name: K, ...args: InferEventArgs<InferSchemaMap<TEvents>[K]>): void;
77
- broadcast(name: keyof TEvents extends never ? string : never, ...args: Array<unknown>): void;
78
- consumeGuardViolation(): boolean;
79
- }
80
-
81
23
  declare function workflow<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>>(fn: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<unknown>): (c: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<void>;
82
24
 
83
25
  export { ActorWorkflowContext, workflow };
@@ -1,13 +1,14 @@
1
- import { c as EventSchemaConfig, Q as QueueSchemaConfig, ad as RunContext, b9 as QueueFilterName, ba as QueueNextOptions, bb as QueueResultMessageForName, bc as InferSchemaMap, a5 as Registry, C as Client, bd as InferDatabaseClient, be as InferEventArgs } from '../config-BFqid9Gr.js';
1
+ import { c as EventSchemaConfig, Q as QueueSchemaConfig, ad as RunContext } from '../config-BFqid9Gr.js';
2
2
  import { A as AnyDatabaseProvider } from '../config-BiNoIHRs.js';
3
- import * as pino from 'pino';
4
- import { WorkflowContextInterface, LoopResult, LoopConfig, BranchConfig, BranchOutput, EntryKindType } from '@rivetkit/workflow-engine';
3
+ import { A as ActorWorkflowContext } from '../context-x9zKhx5T.js';
4
+ export { W as WorkflowBranchContextOf, a as WorkflowContextOf, b as WorkflowLoopContextOf, c as WorkflowStepContextOf } from '../context-x9zKhx5T.js';
5
5
  export { Loop } from '@rivetkit/workflow-engine';
6
6
  import 'zod/v4';
7
7
  import '@rivetkit/virtual-websocket';
8
8
  import '@rivetkit/traces';
9
9
  import 'hono';
10
10
  import 'vbare';
11
+ import 'pino';
11
12
  import '../utils.js';
12
13
  import '../utils-fwx3o3K9.js';
13
14
  import 'hono/utils/http-status';
@@ -19,65 +20,6 @@ import 'nanoevents';
19
20
  import '../v3-DnYObHH3.js';
20
21
  import '@rivetkit/bare-ts';
21
22
 
22
- type WorkflowActorQueueNextOptions<TName extends string, TCompletable extends boolean> = Omit<QueueNextOptions<TName, TCompletable>, "signal">;
23
- type WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<QueueNextOptions<string, TCompletable>, "signal">;
24
- type ActorWorkflowLoopConfig<S, T, TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = Omit<LoopConfig<S, T>, "run"> & {
25
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>, state: S) => Promise<LoopResult<S, T>>;
26
- };
27
- type ActorWorkflowBranchConfig<TOutput, TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = {
28
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<TOutput>;
29
- };
30
- declare class ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> implements WorkflowContextInterface {
31
- #private;
32
- constructor(inner: WorkflowContextInterface, runCtx: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>);
33
- get workflowId(): string;
34
- get abortSignal(): AbortSignal;
35
- get queue(): {
36
- next: {
37
- <const TName extends QueueFilterName<TQueues>, const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextOptions<TName, TCompletable>): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;
38
- <const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextOptionsFallback<TCompletable>): Promise<Array<QueueResultMessageForName<TQueues, QueueFilterName<TQueues>, TCompletable>>>;
39
- };
40
- send: {
41
- <K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K]): Promise<void>;
42
- (name: keyof TQueues extends never ? string : never, body: unknown): Promise<void>;
43
- };
44
- };
45
- step<T>(nameOrConfig: string | Parameters<WorkflowContextInterface["step"]>[0], run?: () => Promise<T>): Promise<T>;
46
- loop<T>(name: string, run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<LoopResult<undefined, T>>): Promise<T>;
47
- loop<T>(name: string, run: (ctx: WorkflowContextInterface) => Promise<LoopResult<undefined, T>>): Promise<T>;
48
- loop<S, T>(config: ActorWorkflowLoopConfig<S, T, TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>): Promise<T>;
49
- loop<S, T>(config: LoopConfig<S, T>): Promise<T>;
50
- sleep(name: string, durationMs: number): Promise<void>;
51
- sleepUntil(name: string, timestampMs: number): Promise<void>;
52
- rollbackCheckpoint(name: string): Promise<void>;
53
- join<T extends Record<string, ActorWorkflowBranchConfig<unknown, TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>>>(name: string, branches: T): Promise<{
54
- [K in keyof T]: Awaited<ReturnType<T[K]["run"]>>;
55
- }>;
56
- join<T extends Record<string, BranchConfig<unknown>>>(name: string, branches: T): Promise<{
57
- [K in keyof T]: BranchOutput<T[K]>;
58
- }>;
59
- race<T>(name: string, branches: Array<{
60
- name: string;
61
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<T>;
62
- }>): Promise<{
63
- winner: string;
64
- value: T;
65
- }>;
66
- removed(name: string, originalType: EntryKindType): Promise<void>;
67
- isEvicted(): boolean;
68
- get state(): TState extends never ? never : TState;
69
- get vars(): TVars extends never ? never : TVars;
70
- client<R extends Registry<any>>(): Client<R>;
71
- get db(): TDatabase extends never ? never : InferDatabaseClient<TDatabase>;
72
- get log(): pino.Logger;
73
- keepAwake<T>(promise: Promise<T>): Promise<T>;
74
- waitUntil(promise: Promise<void>): void;
75
- get actorId(): string;
76
- broadcast<K extends keyof TEvents & string>(name: K, ...args: InferEventArgs<InferSchemaMap<TEvents>[K]>): void;
77
- broadcast(name: keyof TEvents extends never ? string : never, ...args: Array<unknown>): void;
78
- consumeGuardViolation(): boolean;
79
- }
80
-
81
23
  declare function workflow<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>>(fn: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<unknown>): (c: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<void>;
82
24
 
83
25
  export { ActorWorkflowContext, workflow };
@@ -2,10 +2,10 @@ import {
2
2
  ActorWorkflowContext,
3
3
  Loop,
4
4
  workflow
5
- } from "../chunk-QT5ERRYT.js";
6
- import "../chunk-BOGEGTFB.js";
7
- import "../chunk-P56VSQ4X.js";
8
- import "../chunk-ZM2VLOBC.js";
5
+ } from "../chunk-74ER4FEE.js";
6
+ import "../chunk-WTRB56DR.js";
7
+ import "../chunk-XQWBEBLD.js";
8
+ import "../chunk-IZ4M5TJU.js";
9
9
  import "../chunk-7HTNH26M.js";
10
10
  import "../chunk-424PT5DM.js";
11
11
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rivetkit",
3
- "version": "2.1.0-rc.2",
3
+ "version": "2.1.1",
4
4
  "description": "Lightweight libraries for building stateful actors on edge platforms",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -219,11 +219,11 @@
219
219
  "vbare": "^0.0.4",
220
220
  "@rivetkit/sqlite": "^0.1.1",
221
221
  "zod": "^4.1.0",
222
- "@rivetkit/engine-runner": "2.1.0-rc.2",
223
- "@rivetkit/traces": "2.1.0-rc.2",
222
+ "@rivetkit/engine-runner": "2.1.1",
223
+ "@rivetkit/traces": "2.1.1",
224
+ "@rivetkit/sqlite-vfs": "2.1.1",
224
225
  "@rivetkit/virtual-websocket": "2.0.33",
225
- "@rivetkit/workflow-engine": "2.1.0-rc.2",
226
- "@rivetkit/sqlite-vfs": "2.1.0-rc.2"
226
+ "@rivetkit/workflow-engine": "2.1.1"
227
227
  },
228
228
  "devDependencies": {
229
229
  "@bare-ts/tools": "^0.13.0",
package/src/mod.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  export * from "@/actor/mod";
2
2
  export type * from "@/actor/contexts";
3
+ export type {
4
+ WorkflowBranchContextOf,
5
+ WorkflowContextOf,
6
+ WorkflowLoopContextOf,
7
+ WorkflowStepContextOf,
8
+ } from "@/workflow/context";
3
9
  export {
4
10
  type AnyClient,
5
11
  type Client,
@@ -1,6 +1,7 @@
1
1
  import type { RunContext } from "@/actor/contexts/run";
2
2
  import type { Client } from "@/client/client";
3
3
  import type { Registry } from "@/registry";
4
+ import type { ActorDefinition, AnyActorDefinition } from "@/actor/definition";
4
5
  import type { AnyDatabaseProvider, InferDatabaseClient } from "@/actor/database";
5
6
  import type {
6
7
  QueueFilterName,
@@ -28,13 +29,22 @@ import { WORKFLOW_GUARD_KV_KEY } from "./constants";
28
29
  type WorkflowActorQueueNextOptions<
29
30
  TName extends string,
30
31
  TCompletable extends boolean,
31
- > = Omit<QueueNextOptions<TName, TCompletable>, "signal">;
32
+ > = Omit<QueueNextOptions<TName, TCompletable>, "signal" | "count">;
32
33
 
33
34
  type WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<
34
35
  QueueNextOptions<string, TCompletable>,
35
- "signal"
36
+ "signal" | "count"
36
37
  >;
37
38
 
39
+ type WorkflowActorQueueNextBatchOptions<
40
+ TName extends string,
41
+ TCompletable extends boolean,
42
+ > = Omit<QueueNextOptions<TName, TCompletable>, "signal">;
43
+
44
+ type WorkflowActorQueueNextBatchOptionsFallback<
45
+ TCompletable extends boolean,
46
+ > = Omit<QueueNextOptions<string, TCompletable>, "signal">;
47
+
38
48
  type ActorWorkflowLoopConfig<
39
49
  S,
40
50
  T,
@@ -59,7 +69,7 @@ type ActorWorkflowLoopConfig<
59
69
  TQueues
60
70
  >,
61
71
  state: S,
62
- ) => Promise<LoopResult<S, T>>;
72
+ ) => Promise<LoopResult<S, T> | (S extends undefined ? void : never)>;
63
73
  };
64
74
 
65
75
  type ActorWorkflowBranchConfig<
@@ -146,10 +156,35 @@ export class ActorWorkflowContext<
146
156
  >(
147
157
  name: string,
148
158
  opts?: WorkflowActorQueueNextOptions<TName, TCompletable>,
149
- ): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;
159
+ ): Promise<QueueResultMessageForName<TQueues, TName, TCompletable>>;
150
160
  function next<const TCompletable extends boolean = false>(
151
161
  name: string,
152
162
  opts?: WorkflowActorQueueNextOptionsFallback<TCompletable>,
163
+ ): Promise<
164
+ QueueResultMessageForName<
165
+ TQueues,
166
+ QueueFilterName<TQueues>,
167
+ TCompletable
168
+ >
169
+ >;
170
+ async function next(
171
+ name: string,
172
+ opts?: WorkflowActorQueueNextOptions<string, boolean>,
173
+ ): Promise<WorkflowQueueMessage<unknown>> {
174
+ const message = await self.#inner.queue.next(name, opts);
175
+ return self.#toActorQueueMessage(message);
176
+ }
177
+
178
+ function nextBatch<
179
+ const TName extends QueueFilterName<TQueues>,
180
+ const TCompletable extends boolean = false,
181
+ >(
182
+ name: string,
183
+ opts?: WorkflowActorQueueNextBatchOptions<TName, TCompletable>,
184
+ ): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;
185
+ function nextBatch<const TCompletable extends boolean = false>(
186
+ name: string,
187
+ opts?: WorkflowActorQueueNextBatchOptionsFallback<TCompletable>,
153
188
  ): Promise<
154
189
  Array<
155
190
  QueueResultMessageForName<
@@ -159,11 +194,11 @@ export class ActorWorkflowContext<
159
194
  >
160
195
  >
161
196
  >;
162
- async function next(
197
+ async function nextBatch(
163
198
  name: string,
164
- opts?: WorkflowActorQueueNextOptions<string, boolean>,
199
+ opts?: WorkflowActorQueueNextBatchOptions<string, boolean>,
165
200
  ): Promise<Array<WorkflowQueueMessage<unknown>>> {
166
- const messages = await self.#inner.queue.next(name, opts);
201
+ const messages = await self.#inner.queue.nextBatch(name, opts);
167
202
  return messages.map((message) => self.#toActorQueueMessage(message));
168
203
  }
169
204
 
@@ -181,6 +216,7 @@ export class ActorWorkflowContext<
181
216
 
182
217
  return {
183
218
  next,
219
+ nextBatch,
184
220
  send,
185
221
  };
186
222
  }
@@ -218,13 +254,13 @@ export class ActorWorkflowContext<
218
254
  TEvents,
219
255
  TQueues
220
256
  >,
221
- ) => Promise<LoopResult<undefined, T>>,
257
+ ) => Promise<LoopResult<undefined, T> | void>,
222
258
  ): Promise<T>;
223
259
  async loop<T>(
224
260
  name: string,
225
261
  run: (
226
262
  ctx: WorkflowContextInterface,
227
- ) => Promise<LoopResult<undefined, T>>,
263
+ ) => Promise<LoopResult<undefined, T> | void>,
228
264
  ): Promise<T>;
229
265
  async loop<S, T>(
230
266
  config: ActorWorkflowLoopConfig<
@@ -244,10 +280,10 @@ export class ActorWorkflowContext<
244
280
  async loop(
245
281
  nameOrConfig:
246
282
  | string
247
- | LoopConfig<unknown, unknown>
283
+ | LoopConfig<any, any>
248
284
  | ActorWorkflowLoopConfig<
249
- unknown,
250
- unknown,
285
+ any,
286
+ any,
251
287
  TState,
252
288
  TConnParams,
253
289
  TConnState,
@@ -268,8 +304,8 @@ export class ActorWorkflowContext<
268
304
  TEvents,
269
305
  TQueues
270
306
  >,
271
- ) => Promise<LoopResult<undefined, unknown>>,
272
- ): Promise<unknown> {
307
+ ) => Promise<LoopResult<undefined, any> | void>,
308
+ ): Promise<any> {
273
309
  if (typeof nameOrConfig === "string") {
274
310
  if (!run) {
275
311
  throw new Error("Loop run function missing");
@@ -280,7 +316,7 @@ export class ActorWorkflowContext<
280
316
  ),
281
317
  );
282
318
  }
283
- const wrapped: LoopConfig<unknown, unknown> = {
319
+ const wrapped: LoopConfig<any, any> = {
284
320
  ...nameOrConfig,
285
321
  run: async (ctx, state) =>
286
322
  nameOrConfig.run(this.#createChildContext(ctx), state),
@@ -530,3 +566,27 @@ export class ActorWorkflowContext<
530
566
  return new ActorWorkflowContext(ctx, this.#runCtx);
531
567
  }
532
568
  }
569
+
570
+ export type WorkflowContextOf<AD extends AnyActorDefinition> =
571
+ AD extends ActorDefinition<
572
+ infer S,
573
+ infer CP,
574
+ infer CS,
575
+ infer V,
576
+ infer I,
577
+ infer DB extends AnyDatabaseProvider,
578
+ infer E extends EventSchemaConfig,
579
+ infer Q extends QueueSchemaConfig,
580
+ any
581
+ >
582
+ ? ActorWorkflowContext<S, CP, CS, V, I, DB, E, Q>
583
+ : never;
584
+
585
+ export type WorkflowLoopContextOf<AD extends AnyActorDefinition> =
586
+ WorkflowContextOf<AD>;
587
+
588
+ export type WorkflowBranchContextOf<AD extends AnyActorDefinition> =
589
+ WorkflowContextOf<AD>;
590
+
591
+ export type WorkflowStepContextOf<AD extends AnyActorDefinition> =
592
+ WorkflowContextOf<AD>;
@@ -12,7 +12,13 @@ import { ActorWorkflowDriver } from "./driver";
12
12
  import { createWorkflowInspectorAdapter } from "./inspector";
13
13
 
14
14
  export { Loop } from "@rivetkit/workflow-engine";
15
- export { ActorWorkflowContext } from "./context";
15
+ export {
16
+ ActorWorkflowContext,
17
+ type WorkflowBranchContextOf,
18
+ type WorkflowContextOf,
19
+ type WorkflowLoopContextOf,
20
+ type WorkflowStepContextOf,
21
+ } from "./context";
16
22
 
17
23
  export function workflow<
18
24
  TState,