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.
- package/dist/browser/client.js +1 -1
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/inspector.tar.gz +0 -0
- package/dist/tsup/{chunk-GTRFI52I.cjs → chunk-65RINRXE.cjs} +97 -97
- package/dist/tsup/{chunk-GTRFI52I.cjs.map → chunk-65RINRXE.cjs.map} +1 -1
- package/dist/tsup/{chunk-QT5ERRYT.js → chunk-74ER4FEE.js} +10 -5
- package/dist/tsup/chunk-74ER4FEE.js.map +1 -0
- package/dist/tsup/{chunk-IJFB2TQW.cjs → chunk-AGERRJ32.cjs} +152 -152
- package/dist/tsup/{chunk-IJFB2TQW.cjs.map → chunk-AGERRJ32.cjs.map} +1 -1
- package/dist/tsup/{chunk-EW3FYVI2.js → chunk-AWJU3AZB.js} +5 -5
- package/dist/tsup/{chunk-EONRNGIC.cjs → chunk-F5B36GL7.cjs} +108 -111
- package/dist/tsup/chunk-F5B36GL7.cjs.map +1 -0
- package/dist/tsup/{chunk-2NO5SHUF.cjs → chunk-FUBHHHK5.cjs} +3 -3
- package/dist/tsup/{chunk-2NO5SHUF.cjs.map → chunk-FUBHHHK5.cjs.map} +1 -1
- package/dist/tsup/{chunk-ZM2VLOBC.js → chunk-IZ4M5TJU.js} +2 -2
- package/dist/tsup/chunk-IZ4M5TJU.js.map +1 -0
- package/dist/tsup/{chunk-MOFY4NC2.cjs → chunk-LNDVGTPQ.cjs} +3 -3
- package/dist/tsup/{chunk-MOFY4NC2.cjs.map → chunk-LNDVGTPQ.cjs.map} +1 -1
- package/dist/tsup/{chunk-RIAVCHBW.cjs → chunk-LPXB254R.cjs} +234 -234
- package/dist/tsup/{chunk-RIAVCHBW.cjs.map → chunk-LPXB254R.cjs.map} +1 -1
- package/dist/tsup/{chunk-DVE2W5T7.js → chunk-MICYEINX.js} +3 -3
- package/dist/tsup/{chunk-6YBHLX3D.cjs → chunk-MMUXNMJF.cjs} +2 -2
- package/dist/tsup/chunk-MMUXNMJF.cjs.map +1 -0
- package/dist/tsup/{chunk-373WW2VF.js → chunk-NAM3D5W5.js} +81 -84
- package/dist/tsup/chunk-NAM3D5W5.js.map +1 -0
- package/dist/tsup/{chunk-LX443DPV.js → chunk-OONQLPOH.js} +6 -6
- package/dist/tsup/{chunk-KZLQXXHL.cjs → chunk-Q5CW77IT.cjs} +74 -74
- package/dist/tsup/{chunk-KZLQXXHL.cjs.map → chunk-Q5CW77IT.cjs.map} +1 -1
- package/dist/tsup/{chunk-V4B4XYFC.js → chunk-T4PQK4WA.js} +5 -5
- package/dist/tsup/{chunk-IQ4ICNLA.js → chunk-VBU4P2IX.js} +2 -2
- package/dist/tsup/{chunk-X3TPWS5J.cjs → chunk-WPDQXB7R.cjs} +4 -4
- package/dist/tsup/{chunk-X3TPWS5J.cjs.map → chunk-WPDQXB7R.cjs.map} +1 -1
- package/dist/tsup/{chunk-BOGEGTFB.js → chunk-WTRB56DR.js} +2 -2
- package/dist/tsup/{chunk-P56VSQ4X.js → chunk-XQWBEBLD.js} +2 -2
- package/dist/tsup/{chunk-4H3KSRC2.cjs → chunk-ZR76ZGYS.cjs} +26 -21
- package/dist/tsup/chunk-ZR76ZGYS.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/context-7X-Dm6_f.d.cts +75 -0
- package/dist/tsup/context-x9zKhx5T.d.ts +75 -0
- package/dist/tsup/driver-helpers/mod.cjs +4 -4
- package/dist/tsup/driver-helpers/mod.js +3 -3
- package/dist/tsup/driver-test-suite/mod.cjs +60 -60
- package/dist/tsup/driver-test-suite/mod.js +10 -10
- package/dist/tsup/inspector/mod.cjs +3 -3
- package/dist/tsup/inspector/mod.js +2 -2
- package/dist/tsup/mod.cjs +8 -8
- package/dist/tsup/mod.d.cts +2 -0
- package/dist/tsup/mod.d.ts +2 -0
- package/dist/tsup/mod.js +7 -7
- package/dist/tsup/serve-test-suite/mod.cjs +99 -99
- package/dist/tsup/serve-test-suite/mod.js +10 -10
- package/dist/tsup/test/mod.cjs +10 -10
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +5 -5
- package/dist/tsup/workflow/mod.d.cts +4 -62
- package/dist/tsup/workflow/mod.d.ts +4 -62
- package/dist/tsup/workflow/mod.js +4 -4
- package/package.json +5 -5
- package/src/mod.ts +6 -0
- package/src/workflow/context.ts +75 -15
- package/src/workflow/mod.ts +7 -1
- package/dist/tsup/chunk-373WW2VF.js.map +0 -1
- package/dist/tsup/chunk-4H3KSRC2.cjs.map +0 -1
- package/dist/tsup/chunk-6YBHLX3D.cjs.map +0 -1
- package/dist/tsup/chunk-EONRNGIC.cjs.map +0 -1
- package/dist/tsup/chunk-QT5ERRYT.js.map +0 -1
- package/dist/tsup/chunk-ZM2VLOBC.js.map +0 -1
- /package/dist/tsup/{chunk-EW3FYVI2.js.map → chunk-AWJU3AZB.js.map} +0 -0
- /package/dist/tsup/{chunk-DVE2W5T7.js.map → chunk-MICYEINX.js.map} +0 -0
- /package/dist/tsup/{chunk-LX443DPV.js.map → chunk-OONQLPOH.js.map} +0 -0
- /package/dist/tsup/{chunk-V4B4XYFC.js.map → chunk-T4PQK4WA.js.map} +0 -0
- /package/dist/tsup/{chunk-IQ4ICNLA.js.map → chunk-VBU4P2IX.js.map} +0 -0
- /package/dist/tsup/{chunk-BOGEGTFB.js.map → chunk-WTRB56DR.js.map} +0 -0
- /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-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
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-
|
|
34
|
+
} from "../chunk-OONQLPOH.js";
|
|
35
35
|
import {
|
|
36
36
|
createFileSystemOrMemoryDriver
|
|
37
|
-
} from "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
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-
|
|
46
|
+
} from "../chunk-MICYEINX.js";
|
|
47
47
|
import "../chunk-LXUQ667X.js";
|
|
48
|
-
import "../chunk-
|
|
49
|
-
import "../chunk-
|
|
48
|
+
import "../chunk-XQWBEBLD.js";
|
|
49
|
+
import "../chunk-IZ4M5TJU.js";
|
|
50
50
|
import {
|
|
51
51
|
UserError
|
|
52
52
|
} from "../chunk-7HTNH26M.js";
|
package/dist/tsup/test/mod.cjs
CHANGED
|
@@ -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
|
|
3
|
+
var _chunkLPXB254Rcjs = require('../chunk-LPXB254R.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
7
|
-
require('../chunk-
|
|
6
|
+
var _chunkAGERRJ32cjs = require('../chunk-AGERRJ32.cjs');
|
|
7
|
+
require('../chunk-FUBHHHK5.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkQ5CW77ITcjs = require('../chunk-Q5CW77IT.cjs');
|
|
11
11
|
require('../chunk-NIYZDWMW.cjs');
|
|
12
|
-
require('../chunk-
|
|
12
|
+
require('../chunk-LNDVGTPQ.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
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
|
|
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 =
|
|
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 } =
|
|
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 =
|
|
78
|
+
const client = _chunkAGERRJ32cjs.createClient.call(void 0, {
|
|
79
79
|
endpoint,
|
|
80
80
|
namespace: "default",
|
|
81
81
|
runnerName: "default",
|
package/dist/tsup/test/mod.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createFileSystemOrMemoryDriver
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-T4PQK4WA.js";
|
|
4
4
|
import {
|
|
5
5
|
createClient
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-AWJU3AZB.js";
|
|
7
|
+
import "../chunk-VBU4P2IX.js";
|
|
8
8
|
import {
|
|
9
9
|
buildManagerRouter
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-MICYEINX.js";
|
|
11
11
|
import "../chunk-LXUQ667X.js";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-XQWBEBLD.js";
|
|
13
13
|
import {
|
|
14
14
|
getLogger
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-IZ4M5TJU.js";
|
|
16
16
|
import "../chunk-7HTNH26M.js";
|
|
17
17
|
import "../chunk-424PT5DM.js";
|
|
18
18
|
|
package/dist/tsup/utils.cjs
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
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 =
|
|
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
|
package/dist/tsup/utils.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
8
|
-
require('../chunk-
|
|
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 =
|
|
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
|
|
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
|
|
4
|
-
|
|
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
|
|
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
|
|
4
|
-
|
|
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-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
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.
|
|
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.
|
|
223
|
-
"@rivetkit/traces": "2.1.
|
|
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.
|
|
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,
|
package/src/workflow/context.ts
CHANGED
|
@@ -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<
|
|
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
|
|
197
|
+
async function nextBatch(
|
|
163
198
|
name: string,
|
|
164
|
-
opts?:
|
|
199
|
+
opts?: WorkflowActorQueueNextBatchOptions<string, boolean>,
|
|
165
200
|
): Promise<Array<WorkflowQueueMessage<unknown>>> {
|
|
166
|
-
const messages = await self.#inner.queue.
|
|
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<
|
|
283
|
+
| LoopConfig<any, any>
|
|
248
284
|
| ActorWorkflowLoopConfig<
|
|
249
|
-
|
|
250
|
-
|
|
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,
|
|
272
|
-
): Promise<
|
|
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<
|
|
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>;
|
package/src/workflow/mod.ts
CHANGED
|
@@ -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 {
|
|
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,
|