rivetkit 2.3.11-rc.9 → 2.3.11

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 (152) hide show
  1. package/dist/browser/client.d.ts +96 -14
  2. package/dist/browser/client.js +12 -2
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.d.ts +139 -139
  5. package/dist/browser/inspector/client.js +12 -2
  6. package/dist/browser/inspector/client.js.map +1 -1
  7. package/dist/tsup/agent-os/index.cjs +146 -76
  8. package/dist/tsup/agent-os/index.cjs.map +1 -1
  9. package/dist/tsup/agent-os/index.d.cts +83 -9
  10. package/dist/tsup/agent-os/index.d.ts +83 -9
  11. package/dist/tsup/agent-os/index.js +146 -76
  12. package/dist/tsup/agent-os/index.js.map +1 -1
  13. package/dist/tsup/{chunk-HOZ3ZLZ2.js → chunk-3ZR542SK.js} +6 -6
  14. package/dist/tsup/chunk-3ZR542SK.js.map +1 -0
  15. package/dist/tsup/{chunk-HNHLBM3Y.cjs → chunk-4KGXFC6M.cjs} +42 -5
  16. package/dist/tsup/chunk-4KGXFC6M.cjs.map +1 -0
  17. package/dist/tsup/chunk-5UYWLCRO.js +14 -0
  18. package/dist/tsup/chunk-5UYWLCRO.js.map +1 -0
  19. package/dist/tsup/{chunk-QWLJCP3X.js → chunk-6W5VGLFT.js} +42 -5
  20. package/dist/tsup/chunk-6W5VGLFT.js.map +1 -0
  21. package/dist/tsup/chunk-6WYATRS4.js +243 -0
  22. package/dist/tsup/chunk-6WYATRS4.js.map +1 -0
  23. package/dist/tsup/chunk-B3W74FBB.cjs +14 -0
  24. package/dist/tsup/chunk-B3W74FBB.cjs.map +1 -0
  25. package/dist/tsup/{chunk-XOOESJY7.js → chunk-FWROC5LA.js} +2 -2
  26. package/dist/tsup/{chunk-V5CVATRU.cjs → chunk-GLIPKKEC.cjs} +7 -7
  27. package/dist/tsup/{chunk-V5CVATRU.cjs.map → chunk-GLIPKKEC.cjs.map} +1 -1
  28. package/dist/tsup/{chunk-T5XVTVQY.cjs → chunk-GN2EUMEW.cjs} +3 -3
  29. package/dist/tsup/{chunk-T5XVTVQY.cjs.map → chunk-GN2EUMEW.cjs.map} +1 -1
  30. package/dist/tsup/{chunk-T56IZ42M.cjs → chunk-GU7ML3KE.cjs} +13 -3
  31. package/dist/tsup/chunk-GU7ML3KE.cjs.map +1 -0
  32. package/dist/tsup/{chunk-IOLZ3ONU.js → chunk-JQ2AZ5FN.js} +3 -3
  33. package/dist/tsup/{chunk-7AFZMFPQ.js → chunk-JTHHCZCZ.js} +10 -1
  34. package/dist/tsup/chunk-JTHHCZCZ.js.map +1 -0
  35. package/dist/tsup/{chunk-UEULFXUI.cjs → chunk-KVFIONKQ.cjs} +11 -2
  36. package/dist/tsup/chunk-KVFIONKQ.cjs.map +1 -0
  37. package/dist/tsup/chunk-LWQFXGKS.cjs +243 -0
  38. package/dist/tsup/chunk-LWQFXGKS.cjs.map +1 -0
  39. package/dist/tsup/{chunk-QVCO6DTZ.js → chunk-MO2SSUOR.js} +8 -7
  40. package/dist/tsup/chunk-MO2SSUOR.js.map +1 -0
  41. package/dist/tsup/{chunk-LZ4TSBIP.js → chunk-OUENKQHB.js} +13 -3
  42. package/dist/tsup/chunk-OUENKQHB.js.map +1 -0
  43. package/dist/tsup/{chunk-6SBPWTXJ.cjs → chunk-PUZY2XCD.cjs} +10 -9
  44. package/dist/tsup/chunk-PUZY2XCD.cjs.map +1 -0
  45. package/dist/tsup/{chunk-C5TORAVP.js → chunk-QFJ24MBU.js} +27 -2
  46. package/dist/tsup/{chunk-C5TORAVP.js.map → chunk-QFJ24MBU.js.map} +1 -1
  47. package/dist/tsup/{chunk-BZWKY6WO.cjs → chunk-RXXDNJXB.cjs} +140 -140
  48. package/dist/tsup/{chunk-BZWKY6WO.cjs.map → chunk-RXXDNJXB.cjs.map} +1 -1
  49. package/dist/tsup/{chunk-IMRDHZM2.cjs → chunk-VBJQIBXI.cjs} +30 -5
  50. package/dist/tsup/chunk-VBJQIBXI.cjs.map +1 -0
  51. package/dist/tsup/client/mod.cjs +6 -6
  52. package/dist/tsup/client/mod.d.cts +4 -3
  53. package/dist/tsup/client/mod.d.ts +4 -3
  54. package/dist/tsup/client/mod.js +5 -5
  55. package/dist/tsup/common/log.cjs +2 -2
  56. package/dist/tsup/common/log.js +1 -1
  57. package/dist/tsup/common/websocket.cjs +3 -3
  58. package/dist/tsup/common/websocket.js +2 -2
  59. package/dist/tsup/{config-CZcjyT5B.d.ts → config-C4OSv0QP.d.ts} +92 -7
  60. package/dist/tsup/{config-rGWrumlO.d.cts → config-DTGoWdkG.d.cts} +92 -7
  61. package/dist/tsup/{config-BxOimoGX.d.cts → config-ey2I2zz5.d.cts} +46 -6
  62. package/dist/tsup/{config-BxOimoGX.d.ts → config-ey2I2zz5.d.ts} +46 -6
  63. package/dist/tsup/{context-B8W8E8nW.d.cts → context-C6cvDNyk.d.cts} +2 -2
  64. package/dist/tsup/{context-_UrDZhEh.d.ts → context-CMygeBxS.d.ts} +2 -2
  65. package/dist/tsup/db/drizzle.cjs +18 -10
  66. package/dist/tsup/db/drizzle.cjs.map +1 -1
  67. package/dist/tsup/db/drizzle.d.cts +5 -6
  68. package/dist/tsup/db/drizzle.d.ts +5 -6
  69. package/dist/tsup/db/drizzle.js +13 -5
  70. package/dist/tsup/db/drizzle.js.map +1 -1
  71. package/dist/tsup/db/mod.cjs +5 -175
  72. package/dist/tsup/db/mod.cjs.map +1 -1
  73. package/dist/tsup/db/mod.d.cts +11 -4
  74. package/dist/tsup/db/mod.d.ts +11 -4
  75. package/dist/tsup/db/mod.js +4 -174
  76. package/dist/tsup/db/mod.js.map +1 -1
  77. package/dist/tsup/dynamic/mod.cjs +2 -2
  78. package/dist/tsup/dynamic/mod.d.cts +3 -2
  79. package/dist/tsup/dynamic/mod.d.ts +3 -2
  80. package/dist/tsup/dynamic/mod.js +1 -1
  81. package/dist/tsup/inspector/mod.cjs +5 -4
  82. package/dist/tsup/inspector/mod.cjs.map +1 -1
  83. package/dist/tsup/inspector/mod.d.cts +12 -146
  84. package/dist/tsup/inspector/mod.d.ts +12 -146
  85. package/dist/tsup/inspector/mod.js +4 -3
  86. package/dist/tsup/inspector/mod.js.map +1 -1
  87. package/dist/tsup/inspector/workflow.cjs +21 -0
  88. package/dist/tsup/inspector/workflow.cjs.map +1 -0
  89. package/dist/tsup/inspector/workflow.d.cts +144 -0
  90. package/dist/tsup/inspector/workflow.d.ts +144 -0
  91. package/dist/tsup/inspector/workflow.js +21 -0
  92. package/dist/tsup/inspector/workflow.js.map +1 -0
  93. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  94. package/dist/tsup/inspector-tab/mod.d.cts +4 -3
  95. package/dist/tsup/inspector-tab/mod.d.ts +4 -3
  96. package/dist/tsup/inspector-tab/mod.js +1 -1
  97. package/dist/tsup/mod.cjs +743 -247
  98. package/dist/tsup/mod.cjs.map +1 -1
  99. package/dist/tsup/mod.d.cts +6 -5
  100. package/dist/tsup/mod.d.ts +6 -5
  101. package/dist/tsup/mod.js +670 -174
  102. package/dist/tsup/mod.js.map +1 -1
  103. package/dist/tsup/test/mod.cjs +7 -7
  104. package/dist/tsup/test/mod.d.cts +3 -2
  105. package/dist/tsup/test/mod.d.ts +3 -2
  106. package/dist/tsup/test/mod.js +5 -5
  107. package/dist/tsup/unstable/migrations.d.cts +1 -1
  108. package/dist/tsup/unstable/migrations.d.ts +1 -1
  109. package/dist/tsup/utils.cjs +2 -2
  110. package/dist/tsup/utils.js +1 -1
  111. package/dist/tsup/workflow/mod.cjs +89 -95
  112. package/dist/tsup/workflow/mod.cjs.map +1 -1
  113. package/dist/tsup/workflow/mod.d.cts +5 -4
  114. package/dist/tsup/workflow/mod.d.ts +5 -4
  115. package/dist/tsup/workflow/mod.js +86 -92
  116. package/dist/tsup/workflow/mod.js.map +1 -1
  117. package/package.json +19 -9
  118. package/src/actor/config.test.ts +65 -1
  119. package/src/actor/config.ts +169 -5
  120. package/src/actor/mod.ts +10 -1
  121. package/src/client/actor-common.ts +5 -14
  122. package/src/common/database/config.ts +50 -3
  123. package/src/common/database/mod.test.ts +142 -4
  124. package/src/common/database/mod.ts +210 -98
  125. package/src/common/database/native-database.ts +42 -3
  126. package/src/common/database/shared.ts +9 -0
  127. package/src/db/drizzle.test.ts +8 -1
  128. package/src/db/drizzle.ts +15 -4
  129. package/src/db/mod.ts +3 -0
  130. package/src/inspector/workflow.ts +61 -0
  131. package/src/registry/napi-runtime.ts +69 -1
  132. package/src/registry/native.ts +474 -161
  133. package/src/registry/run-handler-coordinator.test.ts +252 -0
  134. package/src/registry/run-handler-coordinator.ts +219 -0
  135. package/src/registry/runtime.ts +34 -1
  136. package/src/registry/wasm-runtime.ts +122 -17
  137. package/src/utils/node.ts +44 -28
  138. package/src/workflow/driver.ts +56 -58
  139. package/src/workflow/inspector.ts +10 -15
  140. package/src/workflow/mod.ts +48 -70
  141. package/dist/tsup/chunk-6SBPWTXJ.cjs.map +0 -1
  142. package/dist/tsup/chunk-7AFZMFPQ.js.map +0 -1
  143. package/dist/tsup/chunk-HNHLBM3Y.cjs.map +0 -1
  144. package/dist/tsup/chunk-HOZ3ZLZ2.js.map +0 -1
  145. package/dist/tsup/chunk-IMRDHZM2.cjs.map +0 -1
  146. package/dist/tsup/chunk-LZ4TSBIP.js.map +0 -1
  147. package/dist/tsup/chunk-QVCO6DTZ.js.map +0 -1
  148. package/dist/tsup/chunk-QWLJCP3X.js.map +0 -1
  149. package/dist/tsup/chunk-T56IZ42M.cjs.map +0 -1
  150. package/dist/tsup/chunk-UEULFXUI.cjs.map +0 -1
  151. /package/dist/tsup/{chunk-XOOESJY7.js.map → chunk-FWROC5LA.js.map} +0 -0
  152. /package/dist/tsup/{chunk-IOLZ3ONU.js.map → chunk-JQ2AZ5FN.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkV5CVATRUcjs = require('../chunk-V5CVATRU.cjs');
3
+ var _chunkGLIPKKECcjs = require('../chunk-GLIPKKEC.cjs');
4
4
 
5
5
 
6
- var _chunkBZWKY6WOcjs = require('../chunk-BZWKY6WO.cjs');
6
+ var _chunkRXXDNJXBcjs = require('../chunk-RXXDNJXB.cjs');
7
7
  require('../chunk-MYWZCDML.cjs');
8
- require('../chunk-T5XVTVQY.cjs');
9
- require('../chunk-UEULFXUI.cjs');
10
- require('../chunk-T56IZ42M.cjs');
8
+ require('../chunk-KVFIONKQ.cjs');
9
+ require('../chunk-GN2EUMEW.cjs');
10
+ require('../chunk-GU7ML3KE.cjs');
11
11
  require('../chunk-4FC7TVS6.cjs');
12
12
 
13
13
  // src/test/ready.ts
@@ -36,8 +36,8 @@ async function setupTest(c, registry) {
36
36
  registry.config.noWelcome = true;
37
37
  registry.start();
38
38
  await waitForRegistryReady(registry);
39
- const client = _chunkV5CVATRUcjs.createClient.call(void 0, {
40
- ..._chunkBZWKY6WOcjs.convertRegistryConfigToClientConfig.call(void 0, registry.parseConfig()),
39
+ const client = _chunkGLIPKKECcjs.createClient.call(void 0, {
40
+ ..._chunkRXXDNJXBcjs.convertRegistryConfigToClientConfig.call(void 0, registry.parseConfig()),
41
41
  disableMetadataLookup: false
42
42
  });
43
43
  c.onTestFinished(async () => {
@@ -1,11 +1,12 @@
1
1
  import { TestContext } from 'vitest';
2
- import { aC as Registry, a2 as Client } from '../config-rGWrumlO.cjs';
2
+ import { aF as Registry, a3 as Client } from '../config-DTGoWdkG.cjs';
3
3
  import 'zod/v4';
4
- import '../config-BxOimoGX.cjs';
4
+ import '../config-ey2I2zz5.cjs';
5
5
  import '@rivetkit/rivetkit-wasm';
6
6
  import 'zod';
7
7
  import 'pino';
8
8
  import '@rivetkit/virtual-websocket';
9
+ import '../inspector/workflow.cjs';
9
10
  import '@standard-schema/spec';
10
11
  import '../utils-DQDCphrl.cjs';
11
12
  import 'hono';
@@ -1,11 +1,12 @@
1
1
  import { TestContext } from 'vitest';
2
- import { aC as Registry, a2 as Client } from '../config-CZcjyT5B.js';
2
+ import { aF as Registry, a3 as Client } from '../config-C4OSv0QP.js';
3
3
  import 'zod/v4';
4
- import '../config-BxOimoGX.js';
4
+ import '../config-ey2I2zz5.js';
5
5
  import '@rivetkit/rivetkit-wasm';
6
6
  import 'zod';
7
7
  import 'pino';
8
8
  import '@rivetkit/virtual-websocket';
9
+ import '../inspector/workflow.js';
9
10
  import '@standard-schema/spec';
10
11
  import '../utils-CV0akuDD.js';
11
12
  import 'hono';
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createClient
3
- } from "../chunk-IOLZ3ONU.js";
3
+ } from "../chunk-JQ2AZ5FN.js";
4
4
  import {
5
5
  convertRegistryConfigToClientConfig
6
- } from "../chunk-HOZ3ZLZ2.js";
6
+ } from "../chunk-3ZR542SK.js";
7
7
  import "../chunk-JI6GZ2C2.js";
8
- import "../chunk-XOOESJY7.js";
9
- import "../chunk-7AFZMFPQ.js";
10
- import "../chunk-LZ4TSBIP.js";
8
+ import "../chunk-JTHHCZCZ.js";
9
+ import "../chunk-FWROC5LA.js";
10
+ import "../chunk-OUENKQHB.js";
11
11
  import "../chunk-ZZ3WBRPD.js";
12
12
 
13
13
  // src/test/ready.ts
@@ -1,4 +1,4 @@
1
- import { R as RawAccess } from '../config-BxOimoGX.cjs';
1
+ import { R as RawAccess } from '../config-ey2I2zz5.cjs';
2
2
 
3
3
  declare const DEFAULT_MIGRATION_TABLE_NAME = "rivetkit_schema_version";
4
4
  type MigrationDatabase = Pick<RawAccess, "execute">;
@@ -1,4 +1,4 @@
1
- import { R as RawAccess } from '../config-BxOimoGX.js';
1
+ import { R as RawAccess } from '../config-ey2I2zz5.js';
2
2
 
3
3
  declare const DEFAULT_MIGRATION_TABLE_NAME = "rivetkit_schema_version";
4
4
  type MigrationDatabase = Pick<RawAccess, "execute">;
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
 
22
- var _chunkT56IZ42Mcjs = require('./chunk-T56IZ42M.cjs');
22
+ var _chunkGU7ML3KEcjs = require('./chunk-GU7ML3KE.cjs');
23
23
  require('./chunk-4FC7TVS6.cjs');
24
24
 
25
25
 
@@ -42,5 +42,5 @@ require('./chunk-4FC7TVS6.cjs');
42
42
 
43
43
 
44
44
 
45
- exports.EXTRA_ERROR_LOG = _chunkT56IZ42Mcjs.EXTRA_ERROR_LOG; exports.SinglePromiseQueue = _chunkT56IZ42Mcjs.SinglePromiseQueue; exports.VERSION = _chunkT56IZ42Mcjs.VERSION; exports.arrayBuffersEqual = _chunkT56IZ42Mcjs.arrayBuffersEqual; exports.assertUnreachable = _chunkT56IZ42Mcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkT56IZ42Mcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkT56IZ42Mcjs.combineUrlPath; exports.dbg = _chunkT56IZ42Mcjs.dbg; exports.detectRuntime = _chunkT56IZ42Mcjs.detectRuntime; exports.getEnvUniversal = _chunkT56IZ42Mcjs.getEnvUniversal; exports.httpUserAgent = _chunkT56IZ42Mcjs.httpUserAgent; exports.interval = _chunkT56IZ42Mcjs.interval; exports.joinSignals = _chunkT56IZ42Mcjs.joinSignals; exports.jsonParseCompat = _chunkT56IZ42Mcjs.jsonParseCompat; exports.jsonStringifyCompat = _chunkT56IZ42Mcjs.jsonStringifyCompat; exports.promiseWithResolvers = _chunkT56IZ42Mcjs.promiseWithResolvers; exports.setLongTimeout = _chunkT56IZ42Mcjs.setLongTimeout; exports.sleep = _chunkT56IZ42Mcjs.sleep; exports.stringifyError = _chunkT56IZ42Mcjs.stringifyError; exports.toUint8Array = _chunkT56IZ42Mcjs.toUint8Array;
45
+ exports.EXTRA_ERROR_LOG = _chunkGU7ML3KEcjs.EXTRA_ERROR_LOG; exports.SinglePromiseQueue = _chunkGU7ML3KEcjs.SinglePromiseQueue; exports.VERSION = _chunkGU7ML3KEcjs.VERSION; exports.arrayBuffersEqual = _chunkGU7ML3KEcjs.arrayBuffersEqual; exports.assertUnreachable = _chunkGU7ML3KEcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkGU7ML3KEcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkGU7ML3KEcjs.combineUrlPath; exports.dbg = _chunkGU7ML3KEcjs.dbg; exports.detectRuntime = _chunkGU7ML3KEcjs.detectRuntime; exports.getEnvUniversal = _chunkGU7ML3KEcjs.getEnvUniversal; exports.httpUserAgent = _chunkGU7ML3KEcjs.httpUserAgent; exports.interval = _chunkGU7ML3KEcjs.interval; exports.joinSignals = _chunkGU7ML3KEcjs.joinSignals; exports.jsonParseCompat = _chunkGU7ML3KEcjs.jsonParseCompat; exports.jsonStringifyCompat = _chunkGU7ML3KEcjs.jsonStringifyCompat; exports.promiseWithResolvers = _chunkGU7ML3KEcjs.promiseWithResolvers; exports.setLongTimeout = _chunkGU7ML3KEcjs.setLongTimeout; exports.sleep = _chunkGU7ML3KEcjs.sleep; exports.stringifyError = _chunkGU7ML3KEcjs.stringifyError; exports.toUint8Array = _chunkGU7ML3KEcjs.toUint8Array;
46
46
  //# sourceMappingURL=utils.cjs.map
@@ -19,7 +19,7 @@ import {
19
19
  sleep,
20
20
  stringifyError,
21
21
  toUint8Array
22
- } from "./chunk-LZ4TSBIP.js";
22
+ } from "./chunk-OUENKQHB.js";
23
23
  import "./chunk-ZZ3WBRPD.js";
24
24
  export {
25
25
  EXTRA_ERROR_LOG,
@@ -1,18 +1,19 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } var _class; var _class2;
2
2
 
3
- var _chunk6SBPWTXJcjs = require('../chunk-6SBPWTXJ.cjs');
4
- require('../chunk-IMRDHZM2.cjs');
3
+ var _chunkPUZY2XCDcjs = require('../chunk-PUZY2XCD.cjs');
4
+ require('../chunk-B3W74FBB.cjs');
5
+ require('../chunk-VBJQIBXI.cjs');
5
6
 
6
7
 
7
8
 
8
- var _chunkHNHLBM3Ycjs = require('../chunk-HNHLBM3Y.cjs');
9
+ var _chunk4KGXFC6Mcjs = require('../chunk-4KGXFC6M.cjs');
9
10
 
10
11
 
11
12
 
12
13
  var _chunkMYWZCDMLcjs = require('../chunk-MYWZCDML.cjs');
13
14
 
14
15
 
15
- var _chunkT56IZ42Mcjs = require('../chunk-T56IZ42M.cjs');
16
+ var _chunkGU7ML3KEcjs = require('../chunk-GU7ML3KE.cjs');
16
17
 
17
18
 
18
19
 
@@ -392,53 +393,50 @@ function normalizeSqlBlob(value) {
392
393
  }
393
394
  throw new Error("workflow sqlite value was not a blob");
394
395
  }
395
- function runtimeSqlFromContext(runCtx) {
396
- const sql = runCtx == null ? void 0 : runCtx.sql;
397
- if (sql && typeof sql === "object" && "query" in sql && "execute" in sql && "executeBatch" in sql && "run" in sql) {
398
- return sql;
396
+ function runtimeDbFromContext(runCtx) {
397
+ const db = runCtx == null ? void 0 : runCtx.db;
398
+ if (db && typeof db === "object" && "execute" in db && "transaction" in db) {
399
+ return db;
399
400
  }
400
401
  return void 0;
401
402
  }
402
403
  var WorkflowStorage = class {
403
- #sql;
404
- constructor(sql) {
405
- if (!sql) {
404
+ #db;
405
+ constructor(db) {
406
+ if (!db) {
406
407
  throw new Error(
407
408
  "workflow storage requires embedded SQLite; actor KV workflow storage is no longer supported"
408
409
  );
409
410
  }
410
- if (!sql.executeBatch) {
411
- throw new Error(
412
- "workflow storage requires a SQLite database with executeBatch support"
413
- );
414
- }
415
- this.#sql = sql;
411
+ this.#db = db;
416
412
  }
417
413
  async get(key) {
418
414
  var _a;
419
415
  const prefixed = _chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, key);
420
- const result = await this.#sql.query(
416
+ const rows = await this.#db.execute(
421
417
  "SELECT value FROM _rivet_wf_kv WHERE key = ?",
422
- [prefixed]
418
+ prefixed
423
419
  );
424
- return ((_a = result.rows[0]) == null ? void 0 : _a[0]) == null ? null : normalizeSqlBlob(result.rows[0][0]);
420
+ return ((_a = rows[0]) == null ? void 0 : _a.value) == null ? null : normalizeSqlBlob(rows[0].value);
425
421
  }
426
422
  async set(key, value) {
427
423
  await this.batch([{ key, value }]);
428
424
  }
429
425
  async delete(key) {
430
426
  const prefixed = _chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, key);
431
- await this.#sql.run("DELETE FROM _rivet_wf_kv WHERE key = ?", [
427
+ await this.#db.execute(
428
+ "DELETE FROM _rivet_wf_kv WHERE key = ?",
432
429
  prefixed
433
- ]);
430
+ );
434
431
  }
435
432
  async deletePrefix(prefix) {
436
433
  const start = _chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, prefix);
437
434
  const end = computeUpperBound(start);
438
435
  if (end) {
439
- await this.#sql.run(
436
+ await this.#db.execute(
440
437
  "DELETE FROM _rivet_wf_kv WHERE key >= ? AND key < ?",
441
- [start, end]
438
+ start,
439
+ end
442
440
  );
443
441
  return;
444
442
  }
@@ -450,9 +448,10 @@ var WorkflowStorage = class {
450
448
  async deleteRange(start, end) {
451
449
  const prefixedStart = _chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, start);
452
450
  const prefixedEnd = _chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, end);
453
- await this.#sql.run(
451
+ await this.#db.execute(
454
452
  "DELETE FROM _rivet_wf_kv WHERE key >= ? AND key < ?",
455
- [prefixedStart, prefixedEnd]
453
+ prefixedStart,
454
+ prefixedEnd
456
455
  );
457
456
  }
458
457
  async list(prefix) {
@@ -466,36 +465,45 @@ var WorkflowStorage = class {
466
465
  async batch(writes) {
467
466
  if (writes.length === 0) return;
468
467
  for (const chunk of chunkWorkflowWrites(writes)) {
469
- await this.#sql.executeBatch(
470
- chunk.map(({ key, value }) => ({
471
- sql: "INSERT INTO _rivet_wf_kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",
472
- params: [_chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, key), value]
473
- }))
474
- );
468
+ await this.#db.transaction(async (tx) => {
469
+ for (const { key, value } of chunk) {
470
+ await tx.execute(
471
+ "INSERT INTO _rivet_wf_kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",
472
+ _chunkMYWZCDMLcjs.makeWorkflowKey.call(void 0, key),
473
+ value
474
+ );
475
+ }
476
+ });
475
477
  }
476
478
  }
477
479
  async listRaw(prefix) {
478
480
  const end = computeUpperBound(prefix);
479
- const result = end ? await this.#sql.query(
481
+ const rows = end ? await this.#db.execute(
480
482
  "SELECT key, value FROM _rivet_wf_kv WHERE key >= ? AND key < ? ORDER BY key ASC",
481
- [prefix, end]
482
- ) : await this.#sql.query(
483
+ prefix,
484
+ end
485
+ ) : await this.#db.execute(
483
486
  "SELECT key, value FROM _rivet_wf_kv WHERE key >= ? ORDER BY key ASC",
484
- [prefix]
487
+ prefix
485
488
  );
486
- return result.rows.map((row) => [
487
- normalizeSqlBlob(row[0]),
488
- normalizeSqlBlob(row[1])
489
+ return rows.map((row) => [
490
+ normalizeSqlBlob(row.key),
491
+ normalizeSqlBlob(row.value)
489
492
  ]);
490
493
  }
491
494
  async deleteRawKeys(keys) {
492
495
  for (let start = 0; start < keys.length; start += WORKFLOW_SQLITE_MAX_BATCH_ROWS) {
493
- await this.#sql.executeBatch(
494
- keys.slice(start, start + WORKFLOW_SQLITE_MAX_BATCH_ROWS).map((key) => ({
495
- sql: "DELETE FROM _rivet_wf_kv WHERE key = ?",
496
- params: [key]
497
- }))
498
- );
496
+ await this.#db.transaction(async (tx) => {
497
+ for (const key of keys.slice(
498
+ start,
499
+ start + WORKFLOW_SQLITE_MAX_BATCH_ROWS
500
+ )) {
501
+ await tx.execute(
502
+ "DELETE FROM _rivet_wf_kv WHERE key = ?",
503
+ key
504
+ );
505
+ }
506
+ });
499
507
  }
500
508
  }
501
509
  };
@@ -585,7 +593,7 @@ var ActorWorkflowDriver = (_class = class {
585
593
  this.#actor = actor;
586
594
  this.#runCtx = runCtx;
587
595
  this.messageDriver = new ActorWorkflowMessageDriver(actor, runCtx);
588
- this.#storage = new WorkflowStorage(runtimeSqlFromContext(runCtx));
596
+ this.#storage = new WorkflowStorage(runtimeDbFromContext(runCtx));
589
597
  }
590
598
  async get(key) {
591
599
  return await this.#runCtx.internalKeepAwake(this.#storage.get(key));
@@ -648,7 +656,7 @@ var ActorWorkflowControlDriver = (_class2 = class {
648
656
  #storage;
649
657
  constructor(actor, runCtx) {;_class2.prototype.__init3.call(this);_class2.prototype.__init4.call(this);
650
658
  this.#actor = actor;
651
- this.#storage = new WorkflowStorage(runtimeSqlFromContext(runCtx));
659
+ this.#storage = new WorkflowStorage(runtimeDbFromContext(runCtx));
652
660
  }
653
661
  async get(key) {
654
662
  return await this.#storage.get(key);
@@ -710,45 +718,53 @@ function workflowReplayInFlightError() {
710
718
  function isWorkflowReplayBlockedByRunningEntry(error) {
711
719
  return error instanceof Error && error.message === "Cannot replay a workflow while a step is currently running";
712
720
  }
721
+ function isRunHandlerUnavailable(error) {
722
+ return error instanceof _chunk4FC7TVS6cjs.RivetError && error.group === "actor" && error.code === "run_handler_unavailable";
723
+ }
713
724
  function workflow(fn, options = {}) {
714
725
  const onError = options.onError;
715
726
  const workflowInspectors = /* @__PURE__ */ new Map();
716
727
  function getWorkflowInspector(actorId) {
717
728
  let workflowInspector = workflowInspectors.get(actorId);
718
729
  if (!workflowInspector) {
719
- workflowInspector = _chunk6SBPWTXJcjs.createWorkflowInspectorAdapter.call(void 0, );
730
+ workflowInspector = _chunkPUZY2XCDcjs.createWorkflowInspectorAdapter.call(void 0, );
720
731
  workflowInspectors.set(actorId, workflowInspector);
721
732
  }
722
733
  return workflowInspector;
723
734
  }
724
735
  async function run(runCtx) {
725
- const actor = runCtx[_chunkHNHLBM3Ycjs.ACTOR_CONTEXT_INTERNAL_SYMBOL];
736
+ const actor = runCtx[_chunk4KGXFC6Mcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL];
726
737
  _invariant2.default.call(void 0, actor, "workflow() requires an actor instance");
727
738
  const workflowInspector = getWorkflowInspector(actor.id);
728
739
  const driver = new ActorWorkflowDriver(actor, runCtx);
729
740
  const controlDriver = new ActorWorkflowControlDriver(actor, runCtx);
730
741
  workflowInspector.setReplayFromStep(async (entryId) => {
731
742
  const workflowState = await workflowInspector.adapter.getState();
732
- if (actor.isRunHandlerActive() || workflowState === "pending" || workflowState === "running") {
743
+ if (workflowState === "pending" || workflowState === "running") {
733
744
  throw workflowReplayInFlightError();
734
745
  }
735
- let snapshot;
746
+ const control = workflowInspector.control;
747
+ _invariant2.default.call(void 0, control, "workflow Inspector control is not initialized");
736
748
  try {
737
- snapshot = await _workflowengine.replayWorkflowFromStep.call(void 0,
738
- actor.id,
739
- controlDriver,
740
- entryId,
741
- { scheduleAlarm: false }
749
+ return await control.run.withInactive(
750
+ { restartOnSuccess: true },
751
+ async () => {
752
+ const snapshot = await _workflowengine.replayWorkflowFromStep.call(void 0,
753
+ actor.id,
754
+ controlDriver,
755
+ entryId,
756
+ { scheduleAlarm: false }
757
+ );
758
+ workflowInspector.update(snapshot);
759
+ return workflowInspector.adapter.getHistory();
760
+ }
742
761
  );
743
762
  } catch (error) {
744
- if (isWorkflowReplayBlockedByRunningEntry(error)) {
763
+ if (isWorkflowReplayBlockedByRunningEntry(error) || isRunHandlerUnavailable(error)) {
745
764
  throw workflowReplayInFlightError();
746
765
  }
747
766
  throw error;
748
767
  }
749
- workflowInspector.update(snapshot);
750
- await actor.restartRunHandler();
751
- return workflowInspector.adapter.getHistory();
752
768
  });
753
769
  const handle = _workflowengine.runWorkflow.call(void 0,
754
770
  actor.id,
@@ -784,56 +800,34 @@ function workflow(fn, options = {}) {
784
800
  if (shouldRethrowWorkflowError(error)) {
785
801
  runCtx.log.error({
786
802
  msg: "workflow run failed",
787
- error: _chunkT56IZ42Mcjs.stringifyError.call(void 0, error)
803
+ error: _chunkGU7ML3KEcjs.stringifyError.call(void 0, error)
788
804
  });
789
805
  throw error;
790
806
  }
791
807
  runCtx.log.warn({
792
808
  msg: "workflow failed and will sleep until woken",
793
- error: _chunkT56IZ42Mcjs.stringifyError.call(void 0, error)
809
+ error: _chunkGU7ML3KEcjs.stringifyError.call(void 0, error)
794
810
  });
795
811
  } finally {
796
812
  runCtx.abortSignal.removeEventListener("abort", onAbort);
797
813
  }
798
814
  }
799
- const runWithConfig = run;
800
- runWithConfig[_chunkHNHLBM3Ycjs.RUN_FUNCTION_CONFIG_SYMBOL] = {
815
+ return _chunk4KGXFC6Mcjs.defineRunHandler.call(void 0, run, {
801
816
  icon: "diagram-project",
802
- // Drop the per-actor inspector when the actor is destroyed so this map
803
- // does not retain one inspector (and its encoded history) per actor id
804
- // for the process lifetime.
805
- disposeInspector: (actorId) => {
806
- workflowInspectors.delete(actorId);
807
- },
808
- inspectorFactory: (actor) => {
809
- const actorId = resolveWorkflowInspectorActorId(actor);
817
+ inspectorKind: "workflow",
818
+ createInspector: ({ actorId, control }) => {
819
+ const workflowInspector = getWorkflowInspector(actorId);
820
+ workflowInspector.control = control;
810
821
  return {
811
- workflow: actorId ? getWorkflowInspector(actorId).adapter : {
812
- getHistory: () => null,
813
- onHistoryUpdated: () => () => {
814
- },
815
- replayFromStep: async () => null
822
+ inspector: { workflow: workflowInspector.adapter },
823
+ dispose: () => {
824
+ if (workflowInspectors.get(actorId) === workflowInspector) {
825
+ workflowInspectors.delete(actorId);
826
+ }
816
827
  }
817
828
  };
818
829
  }
819
- };
820
- return runWithConfig;
821
- }
822
- function resolveWorkflowInspectorActorId(actor) {
823
- if (typeof actor === "string" && actor.length > 0) {
824
- return actor;
825
- }
826
- if (!actor || typeof actor !== "object") {
827
- return void 0;
828
- }
829
- const candidate = actor;
830
- if (typeof candidate.id === "string" && candidate.id.length > 0) {
831
- return candidate.id;
832
- }
833
- if (typeof candidate.actorId === "string" && candidate.actorId.length > 0) {
834
- return candidate.actorId;
835
- }
836
- return void 0;
830
+ });
837
831
  }
838
832
 
839
833