rivetkit 2.1.0-rc.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-SSEP6DHP.cjs → chunk-5CI72Y5G.cjs} +152 -152
- package/dist/tsup/{chunk-SSEP6DHP.cjs.map → chunk-5CI72Y5G.cjs.map} +1 -1
- package/dist/tsup/{chunk-7K4CYDGD.js → chunk-7T4AIAQV.js} +10 -5
- package/dist/tsup/chunk-7T4AIAQV.js.map +1 -0
- package/dist/tsup/{chunk-T5YCUGVS.js → chunk-CIXKJYPF.js} +2 -2
- package/dist/tsup/{chunk-TPGXWFQT.cjs → chunk-DQFZ5S3X.cjs} +3 -3
- package/dist/tsup/{chunk-TPGXWFQT.cjs.map → chunk-DQFZ5S3X.cjs.map} +1 -1
- package/dist/tsup/{chunk-6LIBPELE.js → chunk-E2WWZFTQ.js} +2 -2
- package/dist/tsup/chunk-E2WWZFTQ.js.map +1 -0
- package/dist/tsup/{chunk-OMEPCQK2.js → chunk-KGR7K72J.js} +81 -84
- package/dist/tsup/chunk-KGR7K72J.js.map +1 -0
- package/dist/tsup/{chunk-F6JYU5IK.cjs → chunk-LBUMYRTK.cjs} +74 -74
- package/dist/tsup/{chunk-F6JYU5IK.cjs.map → chunk-LBUMYRTK.cjs.map} +1 -1
- package/dist/tsup/{chunk-TYLXNCA5.cjs → chunk-LICW4TVI.cjs} +97 -97
- package/dist/tsup/{chunk-TYLXNCA5.cjs.map → chunk-LICW4TVI.cjs.map} +1 -1
- package/dist/tsup/{chunk-AIYEYMX5.cjs → chunk-OV6UBV6G.cjs} +26 -21
- package/dist/tsup/chunk-OV6UBV6G.cjs.map +1 -0
- package/dist/tsup/{chunk-HIDX4C5Y.cjs → chunk-RYSCONN4.cjs} +3 -3
- package/dist/tsup/{chunk-HIDX4C5Y.cjs.map → chunk-RYSCONN4.cjs.map} +1 -1
- package/dist/tsup/{chunk-5ESWDTHJ.js → chunk-SHX2N2B4.js} +6 -6
- package/dist/tsup/{chunk-YQ4LDVD6.cjs → chunk-TO4U43RL.cjs} +234 -234
- package/dist/tsup/{chunk-YQ4LDVD6.cjs.map → chunk-TO4U43RL.cjs.map} +1 -1
- package/dist/tsup/{chunk-HAZL2EPK.cjs → chunk-UHDLODMO.cjs} +4 -4
- package/dist/tsup/{chunk-HAZL2EPK.cjs.map → chunk-UHDLODMO.cjs.map} +1 -1
- package/dist/tsup/{chunk-LW6KLR7A.cjs → chunk-UN5D22OI.cjs} +2 -2
- package/dist/tsup/chunk-UN5D22OI.cjs.map +1 -0
- package/dist/tsup/{chunk-MZ37VV3P.js → chunk-VSFWZWCC.js} +5 -5
- package/dist/tsup/{chunk-XWBAQO5H.cjs → chunk-WLLTFDMH.cjs} +108 -111
- package/dist/tsup/chunk-WLLTFDMH.cjs.map +1 -0
- package/dist/tsup/{chunk-M2T62AZQ.js → chunk-WUXPLV6G.js} +3 -3
- package/dist/tsup/{chunk-IVG73YCW.js → chunk-XYUY6WQB.js} +2 -2
- package/dist/tsup/{chunk-DIGBC2VI.js → chunk-YLYT7WSZ.js} +5 -5
- package/dist/tsup/{chunk-A6YIZWTK.js → chunk-ZMZNIOTG.js} +2 -2
- 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 +6 -6
- package/src/mod.ts +6 -0
- package/src/workflow/context.ts +75 -15
- package/src/workflow/mod.ts +7 -1
- package/dist/tsup/chunk-6LIBPELE.js.map +0 -1
- package/dist/tsup/chunk-7K4CYDGD.js.map +0 -1
- package/dist/tsup/chunk-AIYEYMX5.cjs.map +0 -1
- package/dist/tsup/chunk-LW6KLR7A.cjs.map +0 -1
- package/dist/tsup/chunk-OMEPCQK2.js.map +0 -1
- package/dist/tsup/chunk-XWBAQO5H.cjs.map +0 -1
- /package/dist/tsup/{chunk-T5YCUGVS.js.map → chunk-CIXKJYPF.js.map} +0 -0
- /package/dist/tsup/{chunk-5ESWDTHJ.js.map → chunk-SHX2N2B4.js.map} +0 -0
- /package/dist/tsup/{chunk-MZ37VV3P.js.map → chunk-VSFWZWCC.js.map} +0 -0
- /package/dist/tsup/{chunk-M2T62AZQ.js.map → chunk-WUXPLV6G.js.map} +0 -0
- /package/dist/tsup/{chunk-IVG73YCW.js.map → chunk-XYUY6WQB.js.map} +0 -0
- /package/dist/tsup/{chunk-DIGBC2VI.js.map → chunk-YLYT7WSZ.js.map} +0 -0
- /package/dist/tsup/{chunk-A6YIZWTK.js.map → chunk-ZMZNIOTG.js.map} +0 -0
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkOV6UBV6Gcjs = require('./chunk-OV6UBV6G.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkLICW4TVIcjs = require('./chunk-LICW4TVI.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
var _chunk6LJAZ5R4cjs = require('./chunk-6LJAZ5R4.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkUN5D22OIcjs = require('./chunk-UN5D22OI.cjs');
|
|
16
16
|
|
|
17
17
|
// src/driver-test-suite/log.ts
|
|
18
18
|
function logger() {
|
|
19
|
-
return
|
|
19
|
+
return _chunkUN5D22OIcjs.getLogger.call(void 0, "test-suite");
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// fixtures/driver-test-suite/hibernation.ts
|
|
23
23
|
var HIBERNATION_SLEEP_TIMEOUT = 500;
|
|
24
|
-
var hibernationActor =
|
|
24
|
+
var hibernationActor = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
25
25
|
state: {
|
|
26
26
|
sleepCount: 0,
|
|
27
27
|
wakeCount: 0
|
|
@@ -89,7 +89,7 @@ var hibernationActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
89
89
|
|
|
90
90
|
// fixtures/driver-test-suite/sleep.ts
|
|
91
91
|
var SLEEP_TIMEOUT = 1e3;
|
|
92
|
-
var sleep =
|
|
92
|
+
var sleep = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
93
93
|
state: { startCount: 0, sleepCount: 0 },
|
|
94
94
|
onWake: (c) => {
|
|
95
95
|
c.state.startCount += 1;
|
|
@@ -118,7 +118,7 @@ var sleep = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
118
118
|
sleepTimeout: SLEEP_TIMEOUT
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
|
-
var sleepWithLongRpc =
|
|
121
|
+
var sleepWithLongRpc = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
122
122
|
state: { startCount: 0, sleepCount: 0 },
|
|
123
123
|
createVars: () => ({}),
|
|
124
124
|
onWake: (c) => {
|
|
@@ -136,7 +136,7 @@ var sleepWithLongRpc = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
136
136
|
},
|
|
137
137
|
longRunningRpc: async (c) => {
|
|
138
138
|
c.log.info("starting long running rpc");
|
|
139
|
-
c.vars.longRunningResolve =
|
|
139
|
+
c.vars.longRunningResolve = _chunkUN5D22OIcjs.promiseWithResolvers.call(void 0, (reason) => c.log.warn({ msg: "unhandled long running rpc rejection", reason }));
|
|
140
140
|
c.broadcast("waiting");
|
|
141
141
|
await c.vars.longRunningResolve.promise;
|
|
142
142
|
c.log.info("finished long running rpc");
|
|
@@ -150,7 +150,7 @@ var sleepWithLongRpc = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
150
150
|
sleepTimeout: SLEEP_TIMEOUT
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
-
var sleepWithRawHttp =
|
|
153
|
+
var sleepWithRawHttp = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
154
154
|
state: { startCount: 0, sleepCount: 0, requestCount: 0 },
|
|
155
155
|
onWake: (c) => {
|
|
156
156
|
c.state.startCount += 1;
|
|
@@ -187,7 +187,7 @@ var sleepWithRawHttp = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
187
187
|
sleepTimeout: SLEEP_TIMEOUT
|
|
188
188
|
}
|
|
189
189
|
});
|
|
190
|
-
var sleepWithRawWebSocket =
|
|
190
|
+
var sleepWithRawWebSocket = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
191
191
|
state: { startCount: 0, sleepCount: 0, connectionCount: 0 },
|
|
192
192
|
onWake: (c) => {
|
|
193
193
|
c.state.startCount += 1;
|
|
@@ -250,7 +250,7 @@ var sleepWithRawWebSocket = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
250
250
|
sleepTimeout: SLEEP_TIMEOUT
|
|
251
251
|
}
|
|
252
252
|
});
|
|
253
|
-
var sleepWithNoSleepOption =
|
|
253
|
+
var sleepWithNoSleepOption = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
254
254
|
state: { startCount: 0, sleepCount: 0 },
|
|
255
255
|
onWake: (c) => {
|
|
256
256
|
c.state.startCount += 1;
|
|
@@ -274,7 +274,7 @@ var sleepWithNoSleepOption = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
274
274
|
|
|
275
275
|
// fixtures/driver-test-suite/run.ts
|
|
276
276
|
var RUN_SLEEP_TIMEOUT = 1e3;
|
|
277
|
-
var runWithTicks =
|
|
277
|
+
var runWithTicks = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
278
278
|
state: {
|
|
279
279
|
tickCount: 0,
|
|
280
280
|
lastTickAt: 0,
|
|
@@ -316,7 +316,7 @@ var runWithTicks = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
316
316
|
runStopTimeout: 1e3
|
|
317
317
|
}
|
|
318
318
|
});
|
|
319
|
-
var runWithQueueConsumer =
|
|
319
|
+
var runWithQueueConsumer = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
320
320
|
state: {
|
|
321
321
|
messagesReceived: [],
|
|
322
322
|
runStarted: false,
|
|
@@ -359,7 +359,7 @@ var runWithQueueConsumer = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
359
359
|
runStopTimeout: 1e3
|
|
360
360
|
}
|
|
361
361
|
});
|
|
362
|
-
var runWithEarlyExit =
|
|
362
|
+
var runWithEarlyExit = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
363
363
|
state: {
|
|
364
364
|
runStarted: false,
|
|
365
365
|
destroyCalled: false
|
|
@@ -383,7 +383,7 @@ var runWithEarlyExit = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
383
383
|
sleepTimeout: RUN_SLEEP_TIMEOUT
|
|
384
384
|
}
|
|
385
385
|
});
|
|
386
|
-
var runWithError =
|
|
386
|
+
var runWithError = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
387
387
|
state: {
|
|
388
388
|
runStarted: false,
|
|
389
389
|
destroyCalled: false
|
|
@@ -407,7 +407,7 @@ var runWithError = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
407
407
|
sleepTimeout: RUN_SLEEP_TIMEOUT
|
|
408
408
|
}
|
|
409
409
|
});
|
|
410
|
-
var runWithoutHandler =
|
|
410
|
+
var runWithoutHandler = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
411
411
|
state: {
|
|
412
412
|
wakeCount: 0
|
|
413
413
|
},
|
|
@@ -427,33 +427,28 @@ var runWithoutHandler = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
427
427
|
// fixtures/driver-test-suite/workflow.ts
|
|
428
428
|
var _workflowengine = require('@rivetkit/workflow-engine');
|
|
429
429
|
var WORKFLOW_QUEUE_NAME = "workflow-default";
|
|
430
|
-
var workflowCounterActor =
|
|
430
|
+
var workflowCounterActor = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
431
431
|
state: {
|
|
432
432
|
runCount: 0,
|
|
433
433
|
guardTriggered: false,
|
|
434
434
|
history: []
|
|
435
435
|
},
|
|
436
|
-
run:
|
|
437
|
-
await ctx.loop({
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
try {
|
|
442
|
-
actorLoopCtx.state;
|
|
443
|
-
} catch (e2) {
|
|
444
|
-
}
|
|
445
|
-
await loopCtx.step("increment", async () => {
|
|
446
|
-
actorLoopCtx.state.runCount += 1;
|
|
447
|
-
actorLoopCtx.state.history.push(actorLoopCtx.state.runCount);
|
|
448
|
-
});
|
|
449
|
-
await loopCtx.sleep("idle", 25);
|
|
450
|
-
return _workflowengine.Loop.continue(void 0);
|
|
436
|
+
run: _chunkOV6UBV6Gcjs.workflow.call(void 0, async (ctx) => {
|
|
437
|
+
await ctx.loop("counter", async (loopCtx) => {
|
|
438
|
+
try {
|
|
439
|
+
loopCtx.state;
|
|
440
|
+
} catch (e2) {
|
|
451
441
|
}
|
|
442
|
+
await loopCtx.step("increment", async () => {
|
|
443
|
+
incrementWorkflowCounter(loopCtx);
|
|
444
|
+
});
|
|
445
|
+
await loopCtx.sleep("idle", 25);
|
|
446
|
+
return _workflowengine.Loop.continue(void 0);
|
|
452
447
|
});
|
|
453
448
|
}),
|
|
454
449
|
actions: {
|
|
455
450
|
getState: async (c) => {
|
|
456
|
-
const guardFlag = await c.kv.get(
|
|
451
|
+
const guardFlag = await c.kv.get(_chunkOV6UBV6Gcjs.WORKFLOW_GUARD_KV_KEY);
|
|
457
452
|
if (guardFlag === "true") {
|
|
458
453
|
c.state.guardTriggered = true;
|
|
459
454
|
}
|
|
@@ -464,32 +459,27 @@ var workflowCounterActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
464
459
|
sleepTimeout: 50
|
|
465
460
|
}
|
|
466
461
|
});
|
|
467
|
-
var workflowQueueActor =
|
|
462
|
+
var workflowQueueActor = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
468
463
|
state: {
|
|
469
464
|
received: []
|
|
470
465
|
},
|
|
471
466
|
queues: {
|
|
472
|
-
[WORKFLOW_QUEUE_NAME]:
|
|
473
|
-
},
|
|
474
|
-
run:
|
|
475
|
-
await ctx.loop({
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
completable: true
|
|
482
|
-
});
|
|
483
|
-
if (!message || !message.complete) {
|
|
484
|
-
return _workflowengine.Loop.continue(void 0);
|
|
485
|
-
}
|
|
486
|
-
const complete = message.complete;
|
|
487
|
-
await loopCtx.step("store-message", async () => {
|
|
488
|
-
actorLoopCtx.state.received.push(message.body);
|
|
489
|
-
await complete({ echo: message.body });
|
|
490
|
-
});
|
|
467
|
+
[WORKFLOW_QUEUE_NAME]: _chunkLICW4TVIcjs.queue.call(void 0, )
|
|
468
|
+
},
|
|
469
|
+
run: _chunkOV6UBV6Gcjs.workflow.call(void 0, async (ctx) => {
|
|
470
|
+
await ctx.loop("queue", async (loopCtx) => {
|
|
471
|
+
const message = await loopCtx.queue.next("queue-wait", {
|
|
472
|
+
names: [WORKFLOW_QUEUE_NAME],
|
|
473
|
+
completable: true
|
|
474
|
+
});
|
|
475
|
+
if (!message.complete) {
|
|
491
476
|
return _workflowengine.Loop.continue(void 0);
|
|
492
477
|
}
|
|
478
|
+
const complete = message.complete;
|
|
479
|
+
await loopCtx.step("store-message", async () => {
|
|
480
|
+
await storeWorkflowQueueMessage(loopCtx, message.body, complete);
|
|
481
|
+
});
|
|
482
|
+
return _workflowengine.Loop.continue(void 0);
|
|
493
483
|
});
|
|
494
484
|
}),
|
|
495
485
|
actions: {
|
|
@@ -505,7 +495,7 @@ var workflowQueueActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
505
495
|
}
|
|
506
496
|
}
|
|
507
497
|
});
|
|
508
|
-
var workflowAccessActor =
|
|
498
|
+
var workflowAccessActor = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
509
499
|
db: _chunk6LJAZ5R4cjs.db.call(void 0, {
|
|
510
500
|
onMigrate: async (rawDb) => {
|
|
511
501
|
await rawDb.execute(`
|
|
@@ -522,61 +512,46 @@ var workflowAccessActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
522
512
|
insideDbCount: 0,
|
|
523
513
|
insideClientAvailable: false
|
|
524
514
|
},
|
|
525
|
-
run:
|
|
526
|
-
await ctx.loop({
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
actorLoopCtx.client();
|
|
539
|
-
} catch (error) {
|
|
540
|
-
outsideClientError = error instanceof Error ? error.message : String(error);
|
|
541
|
-
}
|
|
542
|
-
await loopCtx.step("access-step", async () => {
|
|
543
|
-
var _a;
|
|
544
|
-
await loopCtx.db.execute(
|
|
545
|
-
`INSERT INTO workflow_access_log (created_at) VALUES (${Date.now()})`
|
|
546
|
-
);
|
|
547
|
-
const counts = await loopCtx.db.execute(
|
|
548
|
-
`SELECT COUNT(*) as count FROM workflow_access_log`
|
|
549
|
-
);
|
|
550
|
-
const client = loopCtx.client();
|
|
551
|
-
loopCtx.state.outsideDbError = outsideDbError;
|
|
552
|
-
loopCtx.state.outsideClientError = outsideClientError;
|
|
553
|
-
loopCtx.state.insideDbCount = _nullishCoalesce(((_a = counts[0]) == null ? void 0 : _a.count), () => ( 0));
|
|
554
|
-
loopCtx.state.insideClientAvailable = typeof client.workflowQueueActor.getForId === "function";
|
|
555
|
-
});
|
|
556
|
-
await loopCtx.sleep("idle", 25);
|
|
557
|
-
return _workflowengine.Loop.continue(void 0);
|
|
515
|
+
run: _chunkOV6UBV6Gcjs.workflow.call(void 0, async (ctx) => {
|
|
516
|
+
await ctx.loop("access", async (loopCtx) => {
|
|
517
|
+
let outsideDbError = null;
|
|
518
|
+
let outsideClientError = null;
|
|
519
|
+
try {
|
|
520
|
+
loopCtx.db;
|
|
521
|
+
} catch (error) {
|
|
522
|
+
outsideDbError = error instanceof Error ? error.message : String(error);
|
|
523
|
+
}
|
|
524
|
+
try {
|
|
525
|
+
loopCtx.client();
|
|
526
|
+
} catch (error) {
|
|
527
|
+
outsideClientError = error instanceof Error ? error.message : String(error);
|
|
558
528
|
}
|
|
529
|
+
await loopCtx.step("access-step", async () => {
|
|
530
|
+
await updateWorkflowAccessState(
|
|
531
|
+
loopCtx,
|
|
532
|
+
outsideDbError,
|
|
533
|
+
outsideClientError
|
|
534
|
+
);
|
|
535
|
+
});
|
|
536
|
+
await loopCtx.sleep("idle", 25);
|
|
537
|
+
return _workflowengine.Loop.continue(void 0);
|
|
559
538
|
});
|
|
560
539
|
}),
|
|
561
540
|
actions: {
|
|
562
541
|
getState: (c) => c.state
|
|
563
542
|
}
|
|
564
543
|
});
|
|
565
|
-
var workflowSleepActor =
|
|
544
|
+
var workflowSleepActor = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
566
545
|
state: {
|
|
567
546
|
ticks: 0
|
|
568
547
|
},
|
|
569
|
-
run:
|
|
570
|
-
await ctx.loop({
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
});
|
|
577
|
-
await loopCtx.sleep("delay", 40);
|
|
578
|
-
return _workflowengine.Loop.continue(void 0);
|
|
579
|
-
}
|
|
548
|
+
run: _chunkOV6UBV6Gcjs.workflow.call(void 0, async (ctx) => {
|
|
549
|
+
await ctx.loop("sleep", async (loopCtx) => {
|
|
550
|
+
await loopCtx.step("tick", async () => {
|
|
551
|
+
incrementWorkflowSleepTick(loopCtx);
|
|
552
|
+
});
|
|
553
|
+
await loopCtx.sleep("delay", 40);
|
|
554
|
+
return _workflowengine.Loop.continue(void 0);
|
|
580
555
|
});
|
|
581
556
|
}),
|
|
582
557
|
actions: {
|
|
@@ -586,13 +561,13 @@ var workflowSleepActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
586
561
|
sleepTimeout: 50
|
|
587
562
|
}
|
|
588
563
|
});
|
|
589
|
-
var workflowStopTeardownActor =
|
|
564
|
+
var workflowStopTeardownActor = _chunkLICW4TVIcjs.actor.call(void 0, {
|
|
590
565
|
state: {
|
|
591
566
|
wakeAts: [],
|
|
592
567
|
sleepAts: []
|
|
593
568
|
},
|
|
594
569
|
queues: {
|
|
595
|
-
never:
|
|
570
|
+
never: _chunkLICW4TVIcjs.queue.call(void 0, )
|
|
596
571
|
},
|
|
597
572
|
onWake: (c) => {
|
|
598
573
|
c.state.wakeAts.push(Date.now());
|
|
@@ -600,15 +575,12 @@ var workflowStopTeardownActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
600
575
|
onSleep: (c) => {
|
|
601
576
|
c.state.sleepAts.push(Date.now());
|
|
602
577
|
},
|
|
603
|
-
run:
|
|
604
|
-
await ctx.loop({
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
});
|
|
610
|
-
return _workflowengine.Loop.continue(void 0);
|
|
611
|
-
}
|
|
578
|
+
run: _chunkOV6UBV6Gcjs.workflow.call(void 0, async (ctx) => {
|
|
579
|
+
await ctx.loop("wait-forever", async (loopCtx) => {
|
|
580
|
+
await loopCtx.queue.next("wait-for-never", {
|
|
581
|
+
names: ["never"]
|
|
582
|
+
});
|
|
583
|
+
return _workflowengine.Loop.continue(void 0);
|
|
612
584
|
});
|
|
613
585
|
}),
|
|
614
586
|
actions: {
|
|
@@ -622,6 +594,31 @@ var workflowStopTeardownActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
622
594
|
runStopTimeout: 2e3
|
|
623
595
|
}
|
|
624
596
|
});
|
|
597
|
+
function incrementWorkflowCounter(ctx) {
|
|
598
|
+
ctx.state.runCount += 1;
|
|
599
|
+
ctx.state.history.push(ctx.state.runCount);
|
|
600
|
+
}
|
|
601
|
+
async function storeWorkflowQueueMessage(ctx, body, complete) {
|
|
602
|
+
ctx.state.received.push(body);
|
|
603
|
+
await complete({ echo: body });
|
|
604
|
+
}
|
|
605
|
+
async function updateWorkflowAccessState(ctx, outsideDbError, outsideClientError) {
|
|
606
|
+
var _a;
|
|
607
|
+
await ctx.db.execute(
|
|
608
|
+
`INSERT INTO workflow_access_log (created_at) VALUES (${Date.now()})`
|
|
609
|
+
);
|
|
610
|
+
const counts = await ctx.db.execute(
|
|
611
|
+
`SELECT COUNT(*) as count FROM workflow_access_log`
|
|
612
|
+
);
|
|
613
|
+
const client = ctx.client();
|
|
614
|
+
ctx.state.outsideDbError = outsideDbError;
|
|
615
|
+
ctx.state.outsideClientError = outsideClientError;
|
|
616
|
+
ctx.state.insideDbCount = _nullishCoalesce(((_a = counts[0]) == null ? void 0 : _a.count), () => ( 0));
|
|
617
|
+
ctx.state.insideClientAvailable = typeof client.workflowQueueActor.getForId === "function";
|
|
618
|
+
}
|
|
619
|
+
function incrementWorkflowSleepTick(ctx) {
|
|
620
|
+
ctx.state.ticks += 1;
|
|
621
|
+
}
|
|
625
622
|
|
|
626
623
|
|
|
627
624
|
|
|
@@ -646,4 +643,4 @@ var workflowStopTeardownActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
|
646
643
|
|
|
647
644
|
|
|
648
645
|
exports.logger = logger; exports.HIBERNATION_SLEEP_TIMEOUT = HIBERNATION_SLEEP_TIMEOUT; exports.hibernationActor = hibernationActor; exports.SLEEP_TIMEOUT = SLEEP_TIMEOUT; exports.sleep = sleep; exports.sleepWithLongRpc = sleepWithLongRpc; exports.sleepWithRawHttp = sleepWithRawHttp; exports.sleepWithRawWebSocket = sleepWithRawWebSocket; exports.sleepWithNoSleepOption = sleepWithNoSleepOption; exports.RUN_SLEEP_TIMEOUT = RUN_SLEEP_TIMEOUT; exports.runWithTicks = runWithTicks; exports.runWithQueueConsumer = runWithQueueConsumer; exports.runWithEarlyExit = runWithEarlyExit; exports.runWithError = runWithError; exports.runWithoutHandler = runWithoutHandler; exports.WORKFLOW_QUEUE_NAME = WORKFLOW_QUEUE_NAME; exports.workflowCounterActor = workflowCounterActor; exports.workflowQueueActor = workflowQueueActor; exports.workflowAccessActor = workflowAccessActor; exports.workflowSleepActor = workflowSleepActor; exports.workflowStopTeardownActor = workflowStopTeardownActor;
|
|
649
|
-
//# sourceMappingURL=chunk-
|
|
646
|
+
//# sourceMappingURL=chunk-WLLTFDMH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-WLLTFDMH.cjs","../../src/driver-test-suite/log.ts","../../fixtures/driver-test-suite/hibernation.ts","../../fixtures/driver-test-suite/sleep.ts","../../fixtures/driver-test-suite/run.ts","../../fixtures/driver-test-suite/workflow.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-WLLTFDMH.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test-suite\");\n}\n","import { actor } from \"rivetkit\";\n\nexport const HIBERNATION_SLEEP_TIMEOUT = 500;\n\nexport type HibernationConnState = {\n\tcount: number;\n\tconnectCount: number;\n\tdisconnectCount: number;\n};\n\nexport const hibernationActor = actor({\n\tstate: {\n\t\tsleepCount: 0,\n\t\twakeCount: 0,\n\t},\n\tcreateConnState: (c): HibernationConnState => {\n\t\treturn {\n\t\t\tcount: 0,\n\t\t\tconnectCount: 0,\n\t\t\tdisconnectCount: 0,\n\t\t};\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonConnect: (c, conn) => {\n\t\tconn.state.connectCount += 1;\n\t},\n\tonDisconnect: (c, conn) => {\n\t\tconn.state.disconnectCount += 1;\n\t},\n\tactions: {\n\t\t// Basic RPC that returns a simple value\n\t\tping: (c) => {\n\t\t\treturn \"pong\";\n\t\t},\n\t\t// Increment the connection's count\n\t\tconnIncrement: (c) => {\n\t\t\tc.conn.state.count += 1;\n\t\t\treturn c.conn.state.count;\n\t\t},\n\t\t// Get the connection's count\n\t\tgetConnCount: (c) => {\n\t\t\treturn c.conn.state.count;\n\t\t},\n\t\t// Get the connection's lifecycle counts\n\t\tgetConnLifecycleCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tconnectCount: c.conn.state.connectCount,\n\t\t\t\tdisconnectCount: c.conn.state.disconnectCount,\n\t\t\t};\n\t\t},\n\t\t// Get all connection IDs\n\t\tgetConnectionIds: (c) => {\n\t\t\treturn c.conns\n\t\t\t\t.entries()\n\t\t\t\t.map((x) => x[0])\n\t\t\t\t.toArray();\n\t\t},\n\t\t// Get actor sleep/wake counts\n\t\tgetActorCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\twakeCount: c.state.wakeCount,\n\t\t\t};\n\t\t},\n\t\t// Trigger sleep\n\t\ttriggerSleep: (c) => {\n\t\t\tc.sleep();\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: HIBERNATION_SLEEP_TIMEOUT,\n\t},\n});\n","import { actor, type UniversalWebSocket } from \"rivetkit\";\nimport { promiseWithResolvers } from \"rivetkit/utils\";\n\nexport const SLEEP_TIMEOUT = 1000;\n\nexport const sleep = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\ttriggerSleep: (c) => {\n\t\t\tc.sleep();\n\t\t},\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t\tsetAlarm: async (c, duration: number) => {\n\t\t\tawait c.schedule.after(duration, \"onAlarm\");\n\t\t},\n\t\tonAlarm: (c) => {\n\t\t\tc.log.info(\"alarm called\");\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithLongRpc = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tcreateVars: () =>\n\t\t({}) as { longRunningResolve: PromiseWithResolvers<void> },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t\tlongRunningRpc: async (c) => {\n\t\t\tc.log.info(\"starting long running rpc\");\n\t\t\tc.vars.longRunningResolve = promiseWithResolvers((reason) => c.log.warn({ msg: \"unhandled long running rpc rejection\", reason }));\n\t\t\tc.broadcast(\"waiting\");\n\t\t\tawait c.vars.longRunningResolve.promise;\n\t\t\tc.log.info(\"finished long running rpc\");\n\t\t},\n\t\tfinishLongRunningRpc: (c) => c.vars.longRunningResolve?.resolve(),\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithRawHttp = actor({\n\tstate: { startCount: 0, sleepCount: 0, requestCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonRequest: async (c, request) => {\n\t\tc.state.requestCount += 1;\n\t\tconst url = new URL(request.url);\n\n\t\tif (url.pathname === \"/long-request\") {\n\t\t\tconst duration = parseInt(\n\t\t\t\turl.searchParams.get(\"duration\") || \"1000\",\n\t\t\t);\n\t\t\tc.log.info({ msg: \"starting long fetch request\", duration });\n\t\t\tawait new Promise((resolve) => setTimeout(resolve, duration));\n\t\t\tc.log.info(\"finished long fetch request\");\n\t\t\treturn new Response(JSON.stringify({ completed: true }), {\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t});\n\t\t}\n\n\t\treturn new Response(\"Not Found\", { status: 404 });\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\trequestCount: c.state.requestCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithRawWebSocket = actor({\n\tstate: { startCount: 0, sleepCount: 0, connectionCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonWebSocket: (c, websocket: UniversalWebSocket) => {\n\t\tc.state.connectionCount += 1;\n\t\tc.log.info({\n\t\t\tmsg: \"websocket connected\",\n\t\t\tconnectionCount: c.state.connectionCount,\n\t\t});\n\n\t\twebsocket.send(\n\t\t\tJSON.stringify({\n\t\t\t\ttype: \"connected\",\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t}),\n\t\t);\n\n\t\twebsocket.addEventListener(\"message\", (event: any) => {\n\t\t\tconst data = event.data;\n\t\t\tif (typeof data === \"string\") {\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = JSON.parse(data);\n\t\t\t\t\tif (parsed.type === \"getCounts\") {\n\t\t\t\t\t\twebsocket.send(\n\t\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\t\ttype: \"counts\",\n\t\t\t\t\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\t\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\t\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (parsed.type === \"keepAlive\") {\n\t\t\t\t\t\t// Just acknowledge to keep connection alive\n\t\t\t\t\t\twebsocket.send(JSON.stringify({ type: \"ack\" }));\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Echo non-JSON messages\n\t\t\t\t\twebsocket.send(data);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\twebsocket.addEventListener(\"close\", () => {\n\t\t\tc.state.connectionCount -= 1;\n\t\t\tc.log.info({\n\t\t\t\tmsg: \"websocket disconnected\",\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t});\n\t\t});\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithNoSleepOption = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t\tnoSleep: true,\n\t},\n});\n","import { actor } from \"rivetkit\";\nimport type { registry } from \"./registry\";\n\nexport const RUN_SLEEP_TIMEOUT = 1000;\n\n// Actor that tracks tick counts and respects abort signal\nexport const runWithTicks = actor({\n\tstate: {\n\t\ttickCount: 0,\n\t\tlastTickAt: 0,\n\t\trunStarted: false,\n\t\trunExited: false,\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started\");\n\n\t\twhile (!c.aborted) {\n\t\t\tc.state.tickCount += 1;\n\t\t\tc.state.lastTickAt = Date.now();\n\t\t\tc.log.info({ msg: \"tick\", tickCount: c.state.tickCount });\n\n\t\t\t// Wait 50ms between ticks, or exit early if aborted\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tconst timeout = setTimeout(resolve, 50);\n\t\t\t\tc.abortSignal.addEventListener(\n\t\t\t\t\t\"abort\",\n\t\t\t\t\t() => {\n\t\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t},\n\t\t\t\t\t{ once: true },\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tc.state.runExited = true;\n\t\tc.log.info(\"run handler exiting gracefully\");\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\ttickCount: c.state.tickCount,\n\t\t\tlastTickAt: c.state.lastTickAt,\n\t\t\trunStarted: c.state.runStarted,\n\t\t\trunExited: c.state.runExited,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t\trunStopTimeout: 1000,\n\t},\n});\n\n// Actor that consumes from a queue in the run handler\nexport const runWithQueueConsumer = actor({\n\tstate: {\n\t\tmessagesReceived: [] as Array<{ name: string; body: unknown }>,\n\t\trunStarted: false,\n\t\twakeCount: 0,\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started, waiting for messages\");\n\n\t\twhile (!c.aborted) {\n\t\t\tconst messages = await c.queue.next({ names: [\"messages\"] });\n\t\t\tconst message = messages[0];\n\t\t\tif (message) {\n\t\t\t\tc.log.info({ msg: \"received message\", body: message.body });\n\t\t\t\tc.state.messagesReceived.push({\n\t\t\t\t\tname: message.name,\n\t\t\t\t\tbody: message.body,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tc.log.info(\"run handler exiting gracefully\");\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\tmessagesReceived: c.state.messagesReceived,\n\t\t\trunStarted: c.state.runStarted,\n\t\t\twakeCount: c.state.wakeCount,\n\t\t}),\n\t\tsendMessage: async (c, body: unknown) => {\n\t\t\tconst client = c.client<typeof registry>();\n\t\t\tconst handle = client.runWithQueueConsumer.getForId(c.actorId);\n\t\t\tawait handle.send(\"messages\", body);\n\t\t\treturn true;\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t\trunStopTimeout: 1000,\n\t},\n});\n\n// Actor that exits the run handler after a short delay to test crash behavior\nexport const runWithEarlyExit = actor({\n\tstate: {\n\t\trunStarted: false,\n\t\tdestroyCalled: false,\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started, will exit after delay\");\n\t\t// Wait a bit so we can observe the runStarted state before exit\n\t\tawait new Promise((resolve) => setTimeout(resolve, 200));\n\t\tc.log.info(\"run handler exiting early\");\n\t\t// Exit without respecting abort signal\n\t},\n\tonDestroy: (c) => {\n\t\tc.state.destroyCalled = true;\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\trunStarted: c.state.runStarted,\n\t\t\tdestroyCalled: c.state.destroyCalled,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t},\n});\n\n// Actor that throws an error in the run handler to test crash behavior\nexport const runWithError = actor({\n\tstate: {\n\t\trunStarted: false,\n\t\tdestroyCalled: false,\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started, will throw error\");\n\t\tawait new Promise((resolve) => setTimeout(resolve, 200));\n\t\tthrow new Error(\"intentional error in run handler\");\n\t},\n\tonDestroy: (c) => {\n\t\tc.state.destroyCalled = true;\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\trunStarted: c.state.runStarted,\n\t\t\tdestroyCalled: c.state.destroyCalled,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t},\n});\n\n// Actor without a run handler for comparison\nexport const runWithoutHandler = actor({\n\tstate: {\n\t\twakeCount: 0,\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\twakeCount: c.state.wakeCount,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t},\n});\n","import { Loop } from \"@rivetkit/workflow-engine\";\nimport { actor, queue } from \"@/actor/mod\";\nimport { db } from \"@/db/mod\";\nimport { WORKFLOW_GUARD_KV_KEY } from \"@/workflow/constants\";\nimport { type WorkflowLoopContextOf, workflow } from \"@/workflow/mod\";\nimport type { registry } from \"./registry\";\n\nconst WORKFLOW_QUEUE_NAME = \"workflow-default\";\n\nexport const workflowCounterActor = actor({\n\tstate: {\n\t\trunCount: 0,\n\t\tguardTriggered: false,\n\t\thistory: [] as number[],\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"counter\", async (loopCtx) => {\n\t\t\t\ttry {\n\t\t\t\t\t// Accessing state outside a step should throw.\n\t\t\t\t\t// biome-ignore lint/style/noUnusedExpressions: intentionally checking accessor.\n\t\t\t\t\tloopCtx.state;\n\t\t\t\t} catch {}\n\n\t\t\t\tawait loopCtx.step(\"increment\", async () => {\n\t\t\t\t\tincrementWorkflowCounter(loopCtx);\n\t\t\t\t});\n\n\t\t\t\tawait loopCtx.sleep(\"idle\", 25);\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetState: async (c) => {\n\t\t\tconst guardFlag = await c.kv.get(WORKFLOW_GUARD_KV_KEY);\n\t\t\tif (guardFlag === \"true\") {\n\t\t\t\tc.state.guardTriggered = true;\n\t\t\t}\n\t\t\treturn c.state;\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: 50,\n\t},\n});\n\nexport const workflowQueueActor = actor({\n\tstate: {\n\t\treceived: [] as unknown[],\n\t},\n\tqueues: {\n\t\t[WORKFLOW_QUEUE_NAME]: queue<unknown, { echo: unknown }>(),\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"queue\", async (loopCtx) => {\n\t\t\t\tconst message = await loopCtx.queue.next(\"queue-wait\", {\n\t\t\t\t\tnames: [WORKFLOW_QUEUE_NAME],\n\t\t\t\t\tcompletable: true,\n\t\t\t\t});\n\t\t\t\tif (!message.complete) {\n\t\t\t\t\treturn Loop.continue(undefined);\n\t\t\t\t}\n\t\t\t\tconst complete = message.complete;\n\t\t\t\tawait loopCtx.step(\"store-message\", async () => {\n\t\t\t\t\tawait storeWorkflowQueueMessage(loopCtx, message.body, complete);\n\t\t\t\t});\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetMessages: (c) => c.state.received,\n\t\tsendAndWait: async (c, payload: unknown) => {\n\t\t\tconst client = c.client<typeof registry>();\n\t\t\tconst handle = client.workflowQueueActor.getForId(c.actorId);\n\t\t\treturn await handle.send(\n\t\t\t\tWORKFLOW_QUEUE_NAME,\n\t\t\t\tpayload,\n\t\t\t\t{ wait: true, timeout: 1_000 },\n\t\t\t);\n\t\t},\n\t},\n});\n\nexport const workflowAccessActor = actor({\n\tdb: db({\n\t\tonMigrate: async (rawDb) => {\n\t\t\tawait rawDb.execute(`\n\t\t\t\tCREATE TABLE IF NOT EXISTS workflow_access_log (\n\t\t\t\t\tid INTEGER PRIMARY KEY AUTOINCREMENT,\n\t\t\t\t\tcreated_at INTEGER NOT NULL\n\t\t\t\t)\n\t\t\t`);\n\t\t},\n\t}),\n\tstate: {\n\t\toutsideDbError: null as string | null,\n\t\toutsideClientError: null as string | null,\n\t\tinsideDbCount: 0,\n\t\tinsideClientAvailable: false,\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"access\", async (loopCtx) => {\n\t\t\t\tlet outsideDbError: string | null = null;\n\t\t\t\tlet outsideClientError: string | null = null;\n\n\t\t\t\ttry {\n\t\t\t\t\t// Accessing db outside a step should throw.\n\t\t\t\t\t// biome-ignore lint/style/noUnusedExpressions: intentionally checking accessor.\n\t\t\t\t\tloopCtx.db;\n\t\t\t\t} catch (error) {\n\t\t\t\t\toutsideDbError =\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tloopCtx.client<typeof registry>();\n\t\t\t\t} catch (error) {\n\t\t\t\t\toutsideClientError =\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\t}\n\n\t\t\t\tawait loopCtx.step(\"access-step\", async () => {\n\t\t\t\t\tawait updateWorkflowAccessState(\n\t\t\t\t\t\tloopCtx,\n\t\t\t\t\t\toutsideDbError,\n\t\t\t\t\t\toutsideClientError,\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t\tawait loopCtx.sleep(\"idle\", 25);\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetState: (c) => c.state,\n\t},\n});\n\nexport const workflowSleepActor = actor({\n\tstate: {\n\t\tticks: 0,\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"sleep\", async (loopCtx) => {\n\t\t\t\tawait loopCtx.step(\"tick\", async () => {\n\t\t\t\t\tincrementWorkflowSleepTick(loopCtx);\n\t\t\t\t});\n\t\t\t\tawait loopCtx.sleep(\"delay\", 40);\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetState: (c) => c.state,\n\t},\n\toptions: {\n\t\tsleepTimeout: 50,\n\t},\n});\n\nexport const workflowStopTeardownActor = actor({\n\tstate: {\n\t\twakeAts: [] as number[],\n\t\tsleepAts: [] as number[],\n\t},\n\tqueues: {\n\t\tnever: queue<unknown>(),\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeAts.push(Date.now());\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepAts.push(Date.now());\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"wait-forever\", async (loopCtx) => {\n\t\t\t\tawait loopCtx.queue.next(\"wait-for-never\", {\n\t\t\t\t\tnames: [\"never\"],\n\t\t\t\t});\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetTimeline: (c) => ({\n\t\t\twakeAts: [...c.state.wakeAts],\n\t\t\tsleepAts: [...c.state.sleepAts],\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: 75,\n\t\trunStopTimeout: 2_000,\n\t},\n});\n\nfunction incrementWorkflowCounter(\n\tctx: WorkflowLoopContextOf<typeof workflowCounterActor>,\n): void {\n\tctx.state.runCount += 1;\n\tctx.state.history.push(ctx.state.runCount);\n}\n\nasync function storeWorkflowQueueMessage(\n\tctx: WorkflowLoopContextOf<typeof workflowQueueActor>,\n\tbody: unknown,\n\tcomplete: (response: { echo: unknown }) => Promise<void>,\n): Promise<void> {\n\tctx.state.received.push(body);\n\tawait complete({ echo: body });\n}\n\nasync function updateWorkflowAccessState(\n\tctx: WorkflowLoopContextOf<typeof workflowAccessActor>,\n\toutsideDbError: string | null,\n\toutsideClientError: string | null,\n): Promise<void> {\n\tawait ctx.db.execute(\n\t\t`INSERT INTO workflow_access_log (created_at) VALUES (${Date.now()})`,\n\t);\n\tconst counts = await ctx.db.execute<{ count: number }>(\n\t\t`SELECT COUNT(*) as count FROM workflow_access_log`,\n\t);\n\tconst client = ctx.client<typeof registry>();\n\n\tctx.state.outsideDbError = outsideDbError;\n\tctx.state.outsideClientError = outsideClientError;\n\tctx.state.insideDbCount = counts[0]?.count ?? 0;\n\tctx.state.insideClientAvailable =\n\t\ttypeof client.workflowQueueActor.getForId === \"function\";\n}\n\nfunction incrementWorkflowSleepTick(\n\tctx: WorkflowLoopContextOf<typeof workflowSleepActor>,\n): void {\n\tctx.state.ticks += 1;\n}\n\nexport { WORKFLOW_QUEUE_NAME };\n"]}
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
hasSchemaConfigKey,
|
|
12
12
|
loggerWithoutContext,
|
|
13
13
|
validateSchemaSync
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CIXKJYPF.js";
|
|
15
15
|
import {
|
|
16
16
|
LogLevelSchema,
|
|
17
17
|
VERSION,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
noopNext,
|
|
43
43
|
promiseWithResolvers,
|
|
44
44
|
stringifyError
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-E2WWZFTQ.js";
|
|
46
46
|
import {
|
|
47
47
|
ConnStateNotEnabled,
|
|
48
48
|
EventPayloadInvalid,
|
|
@@ -6115,4 +6115,4 @@ export {
|
|
|
6115
6115
|
buildManagerRouter,
|
|
6116
6116
|
getInitialActorKvState
|
|
6117
6117
|
};
|
|
6118
|
-
//# sourceMappingURL=chunk-
|
|
6118
|
+
//# sourceMappingURL=chunk-WUXPLV6G.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
bufferToArrayBuffer,
|
|
3
3
|
toUint8Array
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-E2WWZFTQ.js";
|
|
5
5
|
|
|
6
6
|
// dist/schemas/transport/v1.ts
|
|
7
7
|
import * as bare from "@rivetkit/bare-ts";
|
|
@@ -531,4 +531,4 @@ export {
|
|
|
531
531
|
encodeWorkflowHistoryTransport,
|
|
532
532
|
decodeWorkflowHistoryTransport
|
|
533
533
|
};
|
|
534
|
-
//# sourceMappingURL=chunk-
|
|
534
|
+
//# sourceMappingURL=chunk-XYUY6WQB.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
importWebSocket,
|
|
3
3
|
logger
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZMZNIOTG.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-
|
|
39
|
+
} from "./chunk-WUXPLV6G.js";
|
|
40
40
|
import {
|
|
41
41
|
assertUnreachable as assertUnreachable2
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-CIXKJYPF.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-
|
|
61
|
+
} from "./chunk-E2WWZFTQ.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-
|
|
2657
|
+
//# sourceMappingURL=chunk-YLYT7WSZ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getLogger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-E2WWZFTQ.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-
|
|
49
|
+
//# sourceMappingURL=chunk-ZMZNIOTG.js.map
|
package/dist/tsup/client/mod.cjs
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
11
|
+
var _chunk5CI72Y5Gcjs = require('../chunk-5CI72Y5G.cjs');
|
|
12
|
+
require('../chunk-DQFZ5S3X.cjs');
|
|
13
|
+
require('../chunk-LBUMYRTK.cjs');
|
|
14
14
|
require('../chunk-NIYZDWMW.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
18
|
-
require('../chunk-
|
|
17
|
+
var _chunkRYSCONN4cjs = require('../chunk-RYSCONN4.cjs');
|
|
18
|
+
require('../chunk-UN5D22OI.cjs');
|
|
19
19
|
require('../chunk-L47L3ZWJ.cjs');
|
|
20
20
|
require('../chunk-HDQ2JUQT.cjs');
|
|
21
21
|
|
|
@@ -29,5 +29,5 @@ require('../chunk-HDQ2JUQT.cjs');
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
exports.ActorClientError =
|
|
32
|
+
exports.ActorClientError = _chunk5CI72Y5Gcjs.ActorClientError; exports.ActorConnDisposed = _chunk5CI72Y5Gcjs.ActorConnDisposed; exports.ActorConnRaw = _chunk5CI72Y5Gcjs.ActorConnRaw; exports.ActorError = _chunk5CI72Y5Gcjs.ActorError; exports.ActorHandleRaw = _chunk5CI72Y5Gcjs.ActorHandleRaw; exports.InternalError = _chunk5CI72Y5Gcjs.InternalError; exports.KV_KEYS = _chunkRYSCONN4cjs.KEYS; exports.MalformedResponseMessage = _chunk5CI72Y5Gcjs.MalformedResponseMessage; exports.ManagerError = _chunk5CI72Y5Gcjs.ManagerError; exports.createClient = _chunk5CI72Y5Gcjs.createClient;
|
|
33
33
|
//# sourceMappingURL=mod.cjs.map
|
package/dist/tsup/client/mod.js
CHANGED
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
MalformedResponseMessage,
|
|
9
9
|
ManagerError,
|
|
10
10
|
createClient
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-YLYT7WSZ.js";
|
|
12
|
+
import "../chunk-ZMZNIOTG.js";
|
|
13
|
+
import "../chunk-WUXPLV6G.js";
|
|
14
14
|
import "../chunk-LXUQ667X.js";
|
|
15
15
|
import {
|
|
16
16
|
KEYS
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
17
|
+
} from "../chunk-CIXKJYPF.js";
|
|
18
|
+
import "../chunk-E2WWZFTQ.js";
|
|
19
19
|
import "../chunk-7HTNH26M.js";
|
|
20
20
|
import "../chunk-424PT5DM.js";
|
|
21
21
|
export {
|
package/dist/tsup/common/log.cjs
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkUN5D22OIcjs = require('../chunk-UN5D22OI.cjs');
|
|
10
10
|
require('../chunk-L47L3ZWJ.cjs');
|
|
11
11
|
require('../chunk-HDQ2JUQT.cjs');
|
|
12
12
|
|
|
@@ -17,5 +17,5 @@ require('../chunk-HDQ2JUQT.cjs');
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
exports.LogLevelSchema =
|
|
20
|
+
exports.LogLevelSchema = _chunkUN5D22OIcjs.LogLevelSchema; exports.configureBaseLogger = _chunkUN5D22OIcjs.configureBaseLogger; exports.configureDefaultLogger = _chunkUN5D22OIcjs.configureDefaultLogger; exports.getBaseLogger = _chunkUN5D22OIcjs.getBaseLogger; exports.getIncludeTarget = _chunkUN5D22OIcjs.getIncludeTarget; exports.getLogger = _chunkUN5D22OIcjs.getLogger; exports.getPinoLevel = _chunkUN5D22OIcjs.getPinoLevel;
|
|
21
21
|
//# sourceMappingURL=log.cjs.map
|