rivetkit 2.3.3 → 2.3.5-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/browser/client.d.ts +157 -9
  2. package/dist/browser/client.js +518 -542
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.d.ts +101 -2
  5. package/dist/browser/inspector/client.js +1245 -227
  6. package/dist/browser/inspector/client.js.map +1 -1
  7. package/dist/tsup/agent-os/index.cjs +103 -36
  8. package/dist/tsup/agent-os/index.cjs.map +1 -1
  9. package/dist/tsup/agent-os/index.d.cts +159 -11
  10. package/dist/tsup/agent-os/index.d.ts +159 -11
  11. package/dist/tsup/agent-os/index.js +103 -36
  12. package/dist/tsup/agent-os/index.js.map +1 -1
  13. package/dist/tsup/{chunk-34P567PO.cjs → chunk-4XKED5P5.cjs} +145 -176
  14. package/dist/tsup/chunk-4XKED5P5.cjs.map +1 -0
  15. package/dist/tsup/{chunk-PYO2U53V.cjs → chunk-6HQCLWAW.cjs} +384 -4
  16. package/dist/tsup/chunk-6HQCLWAW.cjs.map +1 -0
  17. package/dist/tsup/{chunk-JZ7TWV65.js → chunk-7AFZMFPQ.js} +15 -1
  18. package/dist/tsup/chunk-7AFZMFPQ.js.map +1 -0
  19. package/dist/tsup/{chunk-BLDO2FKO.js → chunk-B4IZU537.js} +382 -2
  20. package/dist/tsup/chunk-B4IZU537.js.map +1 -0
  21. package/dist/tsup/{chunk-3MHDOUD7.cjs → chunk-G3CCRCTK.cjs} +14 -9
  22. package/dist/tsup/chunk-G3CCRCTK.cjs.map +1 -0
  23. package/dist/tsup/{chunk-CXRPENO3.js → chunk-GAV4PKFT.js} +15 -46
  24. package/dist/tsup/{chunk-CXRPENO3.js.map → chunk-GAV4PKFT.js.map} +1 -1
  25. package/dist/tsup/{chunk-HXUEHHJF.js → chunk-JI6GZ2C2.js} +2 -11
  26. package/dist/tsup/{chunk-HXUEHHJF.js.map → chunk-JI6GZ2C2.js.map} +1 -1
  27. package/dist/tsup/{chunk-YUEC5SEY.cjs → chunk-M3FCXL3Q.cjs} +3 -3
  28. package/dist/tsup/{chunk-YUEC5SEY.cjs.map → chunk-M3FCXL3Q.cjs.map} +1 -1
  29. package/dist/tsup/{chunk-KEKWJECX.js → chunk-MGTSVSUC.js} +2 -2
  30. package/dist/tsup/{chunk-VE2X4KMG.cjs → chunk-MYWZCDML.cjs} +2 -11
  31. package/dist/tsup/chunk-MYWZCDML.cjs.map +1 -0
  32. package/dist/tsup/{chunk-DFA7SYSW.js → chunk-NIC3QLKL.js} +3 -3
  33. package/dist/tsup/{chunk-BZM4PMFS.js → chunk-P4OGQ4JL.js} +5 -7
  34. package/dist/tsup/{chunk-BZM4PMFS.js.map → chunk-P4OGQ4JL.js.map} +1 -1
  35. package/dist/tsup/{chunk-NT2NK3VT.js → chunk-PAG6G46L.js} +2 -2
  36. package/dist/tsup/{chunk-XIX5DOZN.js → chunk-SHBE77IT.js} +14 -9
  37. package/dist/tsup/chunk-SHBE77IT.js.map +1 -0
  38. package/dist/tsup/{chunk-TYLP3U4Y.cjs → chunk-TNIWIUNV.cjs} +9 -11
  39. package/dist/tsup/chunk-TNIWIUNV.cjs.map +1 -0
  40. package/dist/tsup/{chunk-S644FL73.cjs → chunk-TR5NLR5V.cjs} +4 -4
  41. package/dist/tsup/{chunk-S644FL73.cjs.map → chunk-TR5NLR5V.cjs.map} +1 -1
  42. package/dist/tsup/{chunk-ZA7FLHKH.cjs → chunk-UEULFXUI.cjs} +16 -2
  43. package/dist/tsup/chunk-UEULFXUI.cjs.map +1 -0
  44. package/dist/tsup/{chunk-X63ROSOG.cjs → chunk-UJ2FQY63.cjs} +7 -7
  45. package/dist/tsup/{chunk-X63ROSOG.cjs.map → chunk-UJ2FQY63.cjs.map} +1 -1
  46. package/dist/tsup/client/mod.cjs +7 -8
  47. package/dist/tsup/client/mod.cjs.map +1 -1
  48. package/dist/tsup/client/mod.d.cts +5 -4
  49. package/dist/tsup/client/mod.d.ts +5 -4
  50. package/dist/tsup/client/mod.js +6 -7
  51. package/dist/tsup/common/log.cjs +2 -2
  52. package/dist/tsup/common/log.js +1 -1
  53. package/dist/tsup/common/websocket.cjs +3 -3
  54. package/dist/tsup/common/websocket.js +2 -2
  55. package/dist/tsup/{config-D49x8NpL.d.cts → config-BxOimoGX.d.cts} +16 -0
  56. package/dist/tsup/{config-D49x8NpL.d.ts → config-BxOimoGX.d.ts} +16 -0
  57. package/dist/tsup/{config-ZkIsRFsN.d.ts → config-BzdqbLAP.d.ts} +164 -27
  58. package/dist/tsup/{config-BfBhjEbk.d.cts → config-CPPEwn_e.d.cts} +164 -27
  59. package/dist/tsup/{context-sZ9GlaBK.d.cts → context-DSA9gFXB.d.cts} +2 -2
  60. package/dist/tsup/{context-B7-84u9K.d.ts → context-wWv-K2K_.d.ts} +2 -2
  61. package/dist/tsup/db/drizzle.cjs +120 -68
  62. package/dist/tsup/db/drizzle.cjs.map +1 -1
  63. package/dist/tsup/db/drizzle.d.cts +8 -3
  64. package/dist/tsup/db/drizzle.d.ts +8 -3
  65. package/dist/tsup/db/drizzle.js +120 -68
  66. package/dist/tsup/db/drizzle.js.map +1 -1
  67. package/dist/tsup/db/mod.cjs +74 -22
  68. package/dist/tsup/db/mod.cjs.map +1 -1
  69. package/dist/tsup/db/mod.d.cts +4 -3
  70. package/dist/tsup/db/mod.d.ts +4 -3
  71. package/dist/tsup/db/mod.js +74 -22
  72. package/dist/tsup/db/mod.js.map +1 -1
  73. package/dist/tsup/dynamic/mod.cjs +2 -2
  74. package/dist/tsup/dynamic/mod.d.cts +3 -3
  75. package/dist/tsup/dynamic/mod.d.ts +3 -3
  76. package/dist/tsup/dynamic/mod.js +1 -1
  77. package/dist/tsup/inspector/mod.cjs +4 -5
  78. package/dist/tsup/inspector/mod.cjs.map +1 -1
  79. package/dist/tsup/inspector/mod.js +3 -4
  80. package/dist/tsup/inspector/mod.js.map +1 -1
  81. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  82. package/dist/tsup/inspector-tab/mod.cjs.map +1 -1
  83. package/dist/tsup/inspector-tab/mod.d.cts +5 -5
  84. package/dist/tsup/inspector-tab/mod.d.ts +5 -5
  85. package/dist/tsup/inspector-tab/mod.js +1 -1
  86. package/dist/tsup/inspector-tab/mod.js.map +1 -1
  87. package/dist/tsup/mod.cjs +605 -158
  88. package/dist/tsup/mod.cjs.map +1 -1
  89. package/dist/tsup/mod.d.cts +5 -5
  90. package/dist/tsup/mod.d.ts +5 -5
  91. package/dist/tsup/mod.js +528 -81
  92. package/dist/tsup/mod.js.map +1 -1
  93. package/dist/tsup/test/mod.cjs +10 -11
  94. package/dist/tsup/test/mod.cjs.map +1 -1
  95. package/dist/tsup/test/mod.d.cts +3 -3
  96. package/dist/tsup/test/mod.d.ts +3 -3
  97. package/dist/tsup/test/mod.js +6 -7
  98. package/dist/tsup/test/mod.js.map +1 -1
  99. package/dist/tsup/utils-CV0akuDD.d.ts +162 -0
  100. package/dist/tsup/utils-DQDCphrl.d.cts +162 -0
  101. package/dist/tsup/utils.cjs +6 -2
  102. package/dist/tsup/utils.cjs.map +1 -1
  103. package/dist/tsup/utils.d.cts +3 -146
  104. package/dist/tsup/utils.d.ts +3 -146
  105. package/dist/tsup/utils.js +5 -1
  106. package/dist/tsup/workflow/mod.cjs +198 -151
  107. package/dist/tsup/workflow/mod.cjs.map +1 -1
  108. package/dist/tsup/workflow/mod.d.cts +5 -5
  109. package/dist/tsup/workflow/mod.d.ts +5 -5
  110. package/dist/tsup/workflow/mod.js +187 -140
  111. package/dist/tsup/workflow/mod.js.map +1 -1
  112. package/package.json +8 -8
  113. package/src/actor/config.test.ts +14 -0
  114. package/src/actor/config.ts +104 -16
  115. package/src/actor/definition.ts +18 -7
  116. package/src/agent-os/actor/index.ts +2 -2
  117. package/src/common/bare/generated/actor-runtime-socket-protocol/v1.ts +848 -0
  118. package/src/common/bare/generated/inspector/v6.ts +1367 -0
  119. package/src/common/database/config.ts +24 -0
  120. package/src/common/database/mod.test.ts +148 -59
  121. package/src/common/database/mod.ts +93 -23
  122. package/src/common/database/native-database.test.ts +9 -0
  123. package/src/common/database/native-database.ts +151 -0
  124. package/src/common/database/shared.ts +15 -0
  125. package/src/common/encoding.ts +28 -21
  126. package/src/db/drizzle.test.ts +157 -0
  127. package/src/db/drizzle.ts +170 -79
  128. package/src/dynamic/isolate-runtime.ts +0 -2
  129. package/src/engine-client/driver.ts +0 -15
  130. package/src/engine-client/mod.ts +0 -41
  131. package/src/inspector/client.browser.ts +69 -8
  132. package/src/inspector-tab/mod.ts +1 -0
  133. package/src/registry/config/index.ts +1 -35
  134. package/src/registry/napi-runtime.ts +204 -16
  135. package/src/registry/native.ts +200 -30
  136. package/src/registry/runtime.ts +146 -3
  137. package/src/registry/wasm-runtime.ts +217 -6
  138. package/src/utils.ts +3 -0
  139. package/src/workflow/context.ts +5 -27
  140. package/src/workflow/driver.test.ts +62 -0
  141. package/src/workflow/driver.ts +231 -113
  142. package/src/workflow/mod.ts +3 -3
  143. package/dist/tsup/chunk-34P567PO.cjs.map +0 -1
  144. package/dist/tsup/chunk-3MHDOUD7.cjs.map +0 -1
  145. package/dist/tsup/chunk-APW73HCH.cjs +0 -382
  146. package/dist/tsup/chunk-APW73HCH.cjs.map +0 -1
  147. package/dist/tsup/chunk-BLDO2FKO.js.map +0 -1
  148. package/dist/tsup/chunk-DHXWD4DF.js +0 -382
  149. package/dist/tsup/chunk-DHXWD4DF.js.map +0 -1
  150. package/dist/tsup/chunk-JZ7TWV65.js.map +0 -1
  151. package/dist/tsup/chunk-PYO2U53V.cjs.map +0 -1
  152. package/dist/tsup/chunk-TYLP3U4Y.cjs.map +0 -1
  153. package/dist/tsup/chunk-VE2X4KMG.cjs.map +0 -1
  154. package/dist/tsup/chunk-XIX5DOZN.js.map +0 -1
  155. package/dist/tsup/chunk-ZA7FLHKH.cjs.map +0 -1
  156. package/src/actor/driver.ts +0 -141
  157. package/src/actor/instance/mod.ts +0 -2484
  158. package/src/drivers/engine/actor-driver.ts +0 -2473
  159. /package/dist/tsup/{chunk-KEKWJECX.js.map → chunk-MGTSVSUC.js.map} +0 -0
  160. /package/dist/tsup/{chunk-DFA7SYSW.js.map → chunk-NIC3QLKL.js.map} +0 -0
  161. /package/dist/tsup/{chunk-NT2NK3VT.js.map → chunk-PAG6G46L.js.map} +0 -0
package/dist/tsup/mod.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } var _class; var _class2; var _class3;
2
2
 
3
- var _chunkS644FL73cjs = require('./chunk-S644FL73.cjs');
3
+ var _chunkTR5NLR5Vcjs = require('./chunk-TR5NLR5V.cjs');
4
4
 
5
5
 
6
6
 
@@ -10,7 +10,7 @@ var _chunkS644FL73cjs = require('./chunk-S644FL73.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunk3MHDOUD7cjs = require('./chunk-3MHDOUD7.cjs');
13
+ var _chunkG3CCRCTKcjs = require('./chunk-G3CCRCTK.cjs');
14
14
 
15
15
 
16
16
 
@@ -20,22 +20,21 @@ var _chunk3MHDOUD7cjs = require('./chunk-3MHDOUD7.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunk34P567POcjs = require('./chunk-34P567PO.cjs');
23
+ var _chunk4XKED5P5cjs = require('./chunk-4XKED5P5.cjs');
24
24
 
25
25
 
26
26
 
27
+ var _chunkMYWZCDMLcjs = require('./chunk-MYWZCDML.cjs');
28
+ require('./chunk-UEULFXUI.cjs');
29
+ require('./chunk-M3FCXL3Q.cjs');
27
30
 
28
31
 
29
32
 
30
33
 
31
- var _chunkVE2X4KMGcjs = require('./chunk-VE2X4KMG.cjs');
32
34
 
33
35
 
34
36
 
35
37
 
36
- var _chunkAPW73HCHcjs = require('./chunk-APW73HCH.cjs');
37
- require('./chunk-ZA7FLHKH.cjs');
38
- require('./chunk-YUEC5SEY.cjs');
39
38
 
40
39
 
41
40
 
@@ -60,12 +59,7 @@ require('./chunk-YUEC5SEY.cjs');
60
59
 
61
60
 
62
61
 
63
-
64
-
65
-
66
-
67
-
68
- var _chunkPYO2U53Vcjs = require('./chunk-PYO2U53V.cjs');
62
+ var _chunk6HQCLWAWcjs = require('./chunk-6HQCLWAW.cjs');
69
63
 
70
64
 
71
65
 
@@ -81,19 +75,25 @@ var _chunk4FC7TVS6cjs = require('./chunk-4FC7TVS6.cjs');
81
75
 
82
76
  // src/actor/log.ts
83
77
  function loggerWithoutContext() {
84
- return _chunkPYO2U53Vcjs.getLogger.call(void 0, "actor-runtime");
78
+ return _chunk6HQCLWAWcjs.getLogger.call(void 0, "actor-runtime");
85
79
  }
86
80
 
87
81
  // src/actor/definition.ts
88
- var warnedDeprecatedTimeoutKeys = /* @__PURE__ */ new Set();
89
- function warnDeprecatedShutdownTimeoutKeys(options) {
82
+ var warnedDeprecatedOptionKeys = /* @__PURE__ */ new Set();
83
+ var DEPRECATED_OPTION_MESSAGES = {
84
+ onDestroyTimeout: "Configure `sleepGracePeriod` instead, which bounds the entire graceful shutdown window for both sleep and destroy.",
85
+ waitUntilTimeout: "Configure `sleepGracePeriod` instead, which bounds the entire graceful shutdown window for both sleep and destroy.",
86
+ preloadMaxWorkflowBytes: "Internal storage moved to SQLite and no longer uses KV preloading.",
87
+ preloadMaxConnectionsBytes: "Internal storage moved to SQLite and no longer uses KV preloading."
88
+ };
89
+ function warnDeprecatedOptionKeys(options) {
90
90
  if (!options || typeof options !== "object") return;
91
91
  const opts = options;
92
- for (const key of ["onDestroyTimeout", "waitUntilTimeout"]) {
93
- if (opts[key] !== void 0 && !warnedDeprecatedTimeoutKeys.has(key)) {
94
- warnedDeprecatedTimeoutKeys.add(key);
92
+ for (const [key, detail] of Object.entries(DEPRECATED_OPTION_MESSAGES)) {
93
+ if (opts[key] !== void 0 && !warnedDeprecatedOptionKeys.has(key)) {
94
+ warnedDeprecatedOptionKeys.add(key);
95
95
  loggerWithoutContext().warn({
96
- msg: `actor option \`${key}\` is deprecated and is now ignored. Configure \`sleepGracePeriod\` instead, which bounds the entire graceful shutdown window for both sleep and destroy. Will be removed in 2.2.0.`
96
+ msg: `actor option \`${key}\` is deprecated and is now ignored. ${detail} Will be removed in 2.2.0.`
97
97
  });
98
98
  }
99
99
  }
@@ -111,10 +111,10 @@ function isStaticActorInstance(_actor) {
111
111
  return true;
112
112
  }
113
113
  function actor(input) {
114
- warnDeprecatedShutdownTimeoutKeys(
114
+ warnDeprecatedOptionKeys(
115
115
  input == null ? void 0 : input.options
116
116
  );
117
- const config = _chunk3MHDOUD7cjs.ActorConfigSchema.parse(input);
117
+ const config = _chunkG3CCRCTKcjs.ActorConfigSchema.parse(input);
118
118
  return new ActorDefinition(config);
119
119
  }
120
120
  function isStaticActorDefinition(definition) {
@@ -213,7 +213,7 @@ function validateSchemaSync(schemas, key, data) {
213
213
  var _virtualwebsocket = require('@rivetkit/virtual-websocket');
214
214
  var _ws = require('hono/ws');
215
215
  function logger() {
216
- return _chunkPYO2U53Vcjs.getLogger.call(void 0, "inline-websocket-adapter");
216
+ return _chunk6HQCLWAWcjs.getLogger.call(void 0, "inline-websocket-adapter");
217
217
  }
218
218
  var InlineWebSocketAdapter = class {
219
219
  #handler;
@@ -384,7 +384,7 @@ function isLocalEngineEndpoint(endpoint) {
384
384
 
385
385
  // src/registry/log.ts
386
386
  function logger2() {
387
- return _chunkPYO2U53Vcjs.getLogger.call(void 0, "registry");
387
+ return _chunk6HQCLWAWcjs.getLogger.call(void 0, "registry");
388
388
  }
389
389
 
390
390
  // src/serverless/configure.ts
@@ -430,8 +430,8 @@ async function configureServerlessPool(config) {
430
430
  );
431
431
  }
432
432
  const customConfig = config.configurePool;
433
- const clientConfig = _chunk34P567POcjs.convertRegistryConfigToClientConfig.call(void 0, config);
434
- const dcsRes = await _chunk34P567POcjs.getDatacenters.call(void 0, clientConfig);
433
+ const clientConfig = _chunk4XKED5P5cjs.convertRegistryConfigToClientConfig.call(void 0, config);
434
+ const dcsRes = await _chunk4XKED5P5cjs.getDatacenters.call(void 0, clientConfig);
435
435
  const poolName = _nullishCoalesce(customConfig.name, () => ( "default"));
436
436
  const serverlessToken = _nullishCoalesce(config.token, () => ( config.publicToken));
437
437
  const headers = {
@@ -453,7 +453,7 @@ async function configureServerlessPool(config) {
453
453
  metadata: _nullishCoalesce(customConfig.metadata, () => ( {})),
454
454
  drain_on_version_upgrade: _nullishCoalesce(customConfig.drainOnVersionUpgrade, () => ( true))
455
455
  };
456
- await _chunk34P567POcjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
456
+ await _chunk4XKED5P5cjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
457
457
  datacenters: Object.fromEntries(
458
458
  dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
459
459
  )
@@ -470,7 +470,7 @@ async function configureServerlessPool(config) {
470
470
  logger2().warn({
471
471
  msg: "serverless pool configuration attempt failed",
472
472
  attempts,
473
- error: _chunkPYO2U53Vcjs.stringifyError.call(void 0, error)
473
+ error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
474
474
  });
475
475
  await sleep(CONFIGURE_RETRY_DELAY_MS);
476
476
  }
@@ -478,7 +478,7 @@ async function configureServerlessPool(config) {
478
478
  logger2().error({
479
479
  msg: "failed to configure serverless pool, validate endpoint is configured correctly then restart this process",
480
480
  attempts,
481
- error: _chunkPYO2U53Vcjs.stringifyError.call(void 0, lastError)
481
+ error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, lastError)
482
482
  });
483
483
  throw lastError;
484
484
  }
@@ -490,20 +490,20 @@ var _zod = require('zod');
490
490
  var _v4 = require('zod/v4');
491
491
  var warnedMissingVersion = false;
492
492
  var EnvoyConfigSchema = _v4.z.object({
493
- poolName: _v4.z.string().default(() => _nullishCoalesce(_chunkPYO2U53Vcjs.getRivetPool.call(void 0, ), () => ( "default"))),
493
+ poolName: _v4.z.string().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetPool.call(void 0, ), () => ( "default"))),
494
494
  version: _v4.z.number().default(() => {
495
- const version = _chunkPYO2U53Vcjs.getRivetEnvoyVersion.call(void 0, );
495
+ const version = _chunk6HQCLWAWcjs.getRivetEnvoyVersion.call(void 0, );
496
496
  if (version !== void 0) return version;
497
- if (_chunkPYO2U53Vcjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
497
+ if (_chunk6HQCLWAWcjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
498
498
  warnedMissingVersion = true;
499
- _chunkPYO2U53Vcjs.getLogger.call(void 0, "rivetkit").error(
499
+ _chunk6HQCLWAWcjs.getLogger.call(void 0, "rivetkit").error(
500
500
  "RIVET_ENVOY_VERSION is not set. Actors will not be versioned, which means they won't be drained on deploy. This is only needed when self-hosting or using a custom envoy (not needed for Rivet Compute). Set this as a build arg in your Dockerfile. See https://rivet.dev/docs/actors/versions"
501
501
  );
502
502
  }
503
503
  return 1;
504
504
  }),
505
505
  // Deprecated.
506
- totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunkPYO2U53Vcjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
506
+ totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
507
507
  envoyKey: _v4.z.string().optional()
508
508
  });
509
509
 
@@ -541,7 +541,7 @@ var ServerlessConfigSchema = _v4.z.object({
541
541
  *
542
542
  * Can also be set via RIVET_PUBLIC_ENDPOINT environment variable.
543
543
  */
544
- publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkPYO2U53Vcjs.getRivetPublicEndpoint.call(void 0, )))),
544
+ publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetPublicEndpoint.call(void 0, )))),
545
545
  /**
546
546
  * Token that clients should use when connecting via the public endpoint.
547
547
  *
@@ -549,7 +549,7 @@ var ServerlessConfigSchema = _v4.z.object({
549
549
  *
550
550
  * Can also be specified in the publicEndpoint URL as `https://namespace:token@host`.
551
551
  */
552
- publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkPYO2U53Vcjs.getRivetPublicToken.call(void 0, ))))
552
+ publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetPublicToken.call(void 0, ))))
553
553
  // There is no publicNamespace config option because the frontend and backend
554
554
  // cannot use different namespaces. The namespace is extracted from the
555
555
  // publicEndpoint URL auth syntax if provided.
@@ -603,7 +603,7 @@ var RegistryConfigSchema = _zod.z.object({
603
603
  * Runtime binding to use for RivetKit core.
604
604
  * */
605
605
  runtime: RuntimeKindSchema.optional().transform((val, ctx) => {
606
- const rawRuntime = _nullishCoalesce(val, () => ( _chunkPYO2U53Vcjs.getRivetkitRuntime.call(void 0, )));
606
+ const rawRuntime = _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetkitRuntime.call(void 0, )));
607
607
  if (rawRuntime === void 0) {
608
608
  return "auto";
609
609
  }
@@ -640,7 +640,7 @@ var RegistryConfigSchema = _zod.z.object({
640
640
  * */
641
641
  logging: _zod.z.object({
642
642
  baseLogger: _zod.z.custom().optional(),
643
- level: _chunkPYO2U53Vcjs.LogLevelSchema.optional()
643
+ level: _chunk6HQCLWAWcjs.LogLevelSchema.optional()
644
644
  }).optional().default(() => ({})),
645
645
  // MARK: Routing
646
646
  // // This is a function to allow for lazy configuration of upgradeWebSocket on the
@@ -658,9 +658,9 @@ var RegistryConfigSchema = _zod.z.object({
658
658
  *
659
659
  * Can also be set via RIVET_ENDPOINT environment variables.
660
660
  */
661
- endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkPYO2U53Vcjs.getRivetEngine.call(void 0, ))), () => ( _chunkPYO2U53Vcjs.getRivetEndpoint.call(void 0, )))),
662
- token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkPYO2U53Vcjs.getRivetToken.call(void 0, )))),
663
- namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkPYO2U53Vcjs.getRivetNamespace.call(void 0, )))),
661
+ endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetEngine.call(void 0, ))), () => ( _chunk6HQCLWAWcjs.getRivetEndpoint.call(void 0, )))),
662
+ token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetToken.call(void 0, )))),
663
+ namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetNamespace.call(void 0, )))),
664
664
  headers: _zod.z.record(_zod.z.string(), _zod.z.string()).optional().default({}),
665
665
  // MARK: Client
666
666
  // TODO:
@@ -700,21 +700,21 @@ var RegistryConfigSchema = _zod.z.object({
700
700
  *
701
701
  * Starts the full Rust engine process locally.
702
702
  */
703
- startEngine: _zod.z.boolean().default(() => _chunkPYO2U53Vcjs.getRivetRunEngine.call(void 0, )),
703
+ startEngine: _zod.z.boolean().default(() => _chunk6HQCLWAWcjs.getRivetRunEngine.call(void 0, )),
704
704
  /**
705
705
  * @experimental
706
706
  *
707
707
  * Host to bind the spawned local engine process to.
708
708
  */
709
- engineHost: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkPYO2U53Vcjs.getRivetRunEngineHost.call(void 0, ), () => ( ENGINE_HOST))),
709
+ engineHost: _zod.z.string().optional().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetRunEngineHost.call(void 0, ), () => ( ENGINE_HOST))),
710
710
  /**
711
711
  * @experimental
712
712
  *
713
713
  * Port to bind the spawned local engine process to.
714
714
  */
715
- enginePort: _zod.z.number().int().min(1).max(65535).optional().default(() => _nullishCoalesce(_chunkPYO2U53Vcjs.getRivetRunEnginePort.call(void 0, ), () => ( ENGINE_PORT))),
715
+ enginePort: _zod.z.number().int().min(1).max(65535).optional().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetRunEnginePort.call(void 0, ), () => ( ENGINE_PORT))),
716
716
  /** @experimental */
717
- engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkPYO2U53Vcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkPYO2U53Vcjs.VERSION))),
717
+ engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunk6HQCLWAWcjs.VERSION))),
718
718
  /**
719
719
  * @experimental
720
720
  *
@@ -762,7 +762,7 @@ var RegistryConfigSchema = _zod.z.object({
762
762
  }))
763
763
  }).transform((config, ctx) => {
764
764
  var _a, _b, _c;
765
- const isDevEnv = _chunkPYO2U53Vcjs.isDev.call(void 0, );
765
+ const isDevEnv = _chunk6HQCLWAWcjs.isDev.call(void 0, );
766
766
  const sqliteBackend = _nullishCoalesce(((_a = config.sqlite) == null ? void 0 : _a.backend), () => ( ((_b = config.test) == null ? void 0 : _b.sqliteBackend)));
767
767
  if (config.runtime === "wasm" && sqliteBackend === "local") {
768
768
  ctx.addIssue({
@@ -772,7 +772,7 @@ var RegistryConfigSchema = _zod.z.object({
772
772
  });
773
773
  }
774
774
  const sqlite = config.runtime === "wasm" && config.sqlite === void 0 ? { backend: "remote" } : config.sqlite;
775
- const parsedEndpoint = config.endpoint ? _chunk34P567POcjs.tryParseEndpoint.call(void 0, ctx, {
775
+ const parsedEndpoint = config.endpoint ? _chunk4XKED5P5cjs.tryParseEndpoint.call(void 0, ctx, {
776
776
  endpoint: config.endpoint,
777
777
  path: ["endpoint"],
778
778
  namespace: config.namespace,
@@ -800,7 +800,7 @@ var RegistryConfigSchema = _zod.z.object({
800
800
  );
801
801
  const namespace = _nullishCoalesce(_nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.namespace), () => ( config.namespace)), () => ( "default"));
802
802
  const token = _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.token), () => ( config.token));
803
- const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunk34P567POcjs.tryParseEndpoint.call(void 0, ctx, {
803
+ const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunk4XKED5P5cjs.tryParseEndpoint.call(void 0, ctx, {
804
804
  endpoint: config.serverless.publicEndpoint,
805
805
  path: ["serverless", "publicEndpoint"]
806
806
  }) : void 0;
@@ -835,35 +835,10 @@ function buildActorNames(config) {
835
835
  Object.keys(config.use).map((actorName) => {
836
836
  const definition = config.use[actorName];
837
837
  const options = _nullishCoalesce(definition.config.options, () => ( {}));
838
- const runMeta = _chunk3MHDOUD7cjs.getRunMetadata.call(void 0, definition.config.run);
838
+ const runMeta = _chunkG3CCRCTKcjs.getRunMetadata.call(void 0, definition.config.run);
839
839
  const metadata = {};
840
840
  metadata.icon = _nullishCoalesce(options.icon, () => ( runMeta.icon));
841
841
  metadata.name = _nullishCoalesce(options.name, () => ( runMeta.name));
842
- metadata.preload = {
843
- keys: [
844
- Array.from(_chunkVE2X4KMGcjs.KEYS.PERSIST_DATA),
845
- Array.from(_chunkVE2X4KMGcjs.KEYS.INSPECTOR_TOKEN),
846
- Array.from(_chunkVE2X4KMGcjs.queueMetadataKey.call(void 0, )),
847
- Array.from(_chunkVE2X4KMGcjs.KEYS.LAST_PUSHED_ALARM)
848
- ],
849
- prefixes: [
850
- {
851
- prefix: Array.from(_chunkVE2X4KMGcjs.workflowStoragePrefix.call(void 0, )),
852
- maxBytes: _nullishCoalesce(options.preloadMaxWorkflowBytes, () => ( 131072)),
853
- partial: false
854
- },
855
- {
856
- prefix: Array.from(_chunkVE2X4KMGcjs.KEYS.CONN_PREFIX),
857
- maxBytes: _nullishCoalesce(options.preloadMaxConnectionsBytes, () => ( 65536)),
858
- partial: false
859
- },
860
- {
861
- prefix: Array.from(_chunkVE2X4KMGcjs.queueMessagesPrefix.call(void 0, )),
862
- maxBytes: 65536,
863
- partial: false
864
- }
865
- ]
866
- };
867
842
  if (!metadata.icon) delete metadata.icon;
868
843
  if (!metadata.name) delete metadata.name;
869
844
  return [actorName, { metadata }];
@@ -928,7 +903,7 @@ var DocRegistryConfigSchema = _zod.z.object({
928
903
  noWelcome: _zod.z.boolean().optional().describe("Disable the welcome message on startup. Default: false"),
929
904
  sqlite: DocSqliteConfigSchema,
930
905
  logging: _zod.z.object({
931
- level: _chunkPYO2U53Vcjs.LogLevelSchema.optional().describe(
906
+ level: _chunk6HQCLWAWcjs.LogLevelSchema.optional().describe(
932
907
  "Log level for RivetKit. Default: 'warn'"
933
908
  )
934
909
  }).optional().describe("Logging configuration."),
@@ -1056,6 +1031,12 @@ function toNativeBindings(sql, params) {
1056
1031
  return toNativeBinding(value);
1057
1032
  });
1058
1033
  }
1034
+ function toNativeBatchStatement(statement) {
1035
+ return {
1036
+ sql: statement.sql,
1037
+ params: toNativeBindings(statement.sql, statement.params)
1038
+ };
1039
+ }
1059
1040
  function normalizeNativeMetrics(metrics) {
1060
1041
  if (!metrics) return null;
1061
1042
  const raw = metrics;
@@ -1169,6 +1150,60 @@ function wrapJsNativeDatabase(database) {
1169
1150
  async execute(sql, params) {
1170
1151
  return await executeNative(sql, params);
1171
1152
  },
1153
+ async executeBatch(statements) {
1154
+ const nativeStatements = statements.map(toNativeBatchStatement);
1155
+ const release = gate.enter();
1156
+ let transaction;
1157
+ try {
1158
+ const results = database.executeBatch ? await database.executeBatch(nativeStatements) : await (async () => {
1159
+ transaction = await database.beginTransaction();
1160
+ const transactionResults = [];
1161
+ for (const statement of nativeStatements) {
1162
+ transactionResults.push(
1163
+ await transaction.execute(
1164
+ statement.sql,
1165
+ statement.params
1166
+ )
1167
+ );
1168
+ }
1169
+ await transaction.commit();
1170
+ transaction = void 0;
1171
+ return transactionResults;
1172
+ })();
1173
+ for (const result of results) {
1174
+ if (result.lastInsertRowId !== void 0) {
1175
+ lastInsertRowId = result.lastInsertRowId;
1176
+ }
1177
+ }
1178
+ return results;
1179
+ } catch (error) {
1180
+ if (transaction) {
1181
+ try {
1182
+ await transaction.rollback();
1183
+ } catch (e2) {
1184
+ }
1185
+ }
1186
+ enrichNativeDatabaseError(database, error);
1187
+ } finally {
1188
+ release();
1189
+ }
1190
+ },
1191
+ async beginTransaction(timeoutMs) {
1192
+ const release = gate.enter();
1193
+ let transaction;
1194
+ try {
1195
+ transaction = await database.beginTransaction(timeoutMs);
1196
+ } catch (error) {
1197
+ enrichNativeDatabaseError(database, error);
1198
+ } finally {
1199
+ release();
1200
+ }
1201
+ return wrapTransaction(database, transaction, gate, (result) => {
1202
+ if (result.lastInsertRowId !== void 0) {
1203
+ lastInsertRowId = result.lastInsertRowId;
1204
+ }
1205
+ });
1206
+ },
1172
1207
  async run(sql, params) {
1173
1208
  await executeNative(sql, params);
1174
1209
  },
@@ -1186,6 +1221,59 @@ function wrapJsNativeDatabase(database) {
1186
1221
  }
1187
1222
  };
1188
1223
  }
1224
+ function wrapTransaction(database, transaction, gate, onExecute) {
1225
+ return {
1226
+ async exec(sql, callback) {
1227
+ const release = gate.enter();
1228
+ let result;
1229
+ try {
1230
+ result = await transaction.exec(sql);
1231
+ } catch (error) {
1232
+ enrichNativeDatabaseError(database, error);
1233
+ } finally {
1234
+ release();
1235
+ }
1236
+ if (callback) {
1237
+ for (const row of result.rows) callback(row, result.columns);
1238
+ }
1239
+ },
1240
+ async execute(sql, params) {
1241
+ const release = gate.enter();
1242
+ try {
1243
+ const result = await transaction.execute(
1244
+ sql,
1245
+ toNativeBindings(sql, params)
1246
+ );
1247
+ onExecute(result);
1248
+ return result;
1249
+ } catch (error) {
1250
+ enrichNativeDatabaseError(database, error);
1251
+ } finally {
1252
+ release();
1253
+ }
1254
+ },
1255
+ async commit() {
1256
+ const release = gate.enter();
1257
+ try {
1258
+ await transaction.commit();
1259
+ } catch (error) {
1260
+ enrichNativeDatabaseError(database, error);
1261
+ } finally {
1262
+ release();
1263
+ }
1264
+ },
1265
+ async rollback() {
1266
+ const release = gate.enter();
1267
+ try {
1268
+ await transaction.rollback();
1269
+ } catch (error) {
1270
+ enrichNativeDatabaseError(database, error);
1271
+ } finally {
1272
+ release();
1273
+ }
1274
+ }
1275
+ };
1276
+ }
1189
1277
  function lastInsertRowIdColumnName(sql) {
1190
1278
  const match = sql.match(
1191
1279
  /^\s*SELECT\s+last_insert_rowid\s*\(\s*\)\s*(?:AS\s+("[^"]+"|`[^`]+`|\[[^\]]+\]|\w+))?\s*;?\s*$/i
@@ -1300,6 +1388,9 @@ function asNativeConn(handle) {
1300
1388
  function asNativeWebSocket(handle) {
1301
1389
  return handle;
1302
1390
  }
1391
+ function asNativeSqlTransaction(handle) {
1392
+ return handle;
1393
+ }
1303
1394
  function asNativeCancellationToken(handle) {
1304
1395
  return handle;
1305
1396
  }
@@ -1329,6 +1420,12 @@ function toNapiSqlBindParams(params) {
1329
1420
  }
1330
1421
  return params.map((param) => toNapiSqlBindParam(param));
1331
1422
  }
1423
+ function toNapiSqlBatchStatement(statement) {
1424
+ return {
1425
+ sql: statement.sql,
1426
+ params: _nullishCoalesce(toNapiSqlBindParams(statement.params), () => ( void 0))
1427
+ };
1428
+ }
1332
1429
  function toNapiBuffer(value) {
1333
1430
  return Buffer.from(value);
1334
1431
  }
@@ -1452,11 +1549,16 @@ var NapiCoreRuntime = (_class = class {
1452
1549
  createCancellationToken() {
1453
1550
  return new this.#bindings.CancellationToken();
1454
1551
  }
1455
- createTestActorContext(actorId, name, region) {
1456
- return new this.#bindings.ActorContext(
1457
- actorId,
1458
- name,
1459
- region
1552
+ decodeInspectorRequest(bytes, advertisedVersion) {
1553
+ return this.#bindings.decodeInspectorRequest(
1554
+ toNapiBuffer(bytes),
1555
+ advertisedVersion
1556
+ );
1557
+ }
1558
+ encodeInspectorResponse(bytes, targetVersion) {
1559
+ return this.#bindings.encodeInspectorResponse(
1560
+ toNapiBuffer(bytes),
1561
+ targetVersion
1460
1562
  );
1461
1563
  }
1462
1564
  cancellationTokenAborted(token) {
@@ -1520,6 +1622,14 @@ var NapiCoreRuntime = (_class = class {
1520
1622
  toNapiStateDeltaPayload(payload)
1521
1623
  );
1522
1624
  }
1625
+ async actorSaveStateAndWorkflowBatch(ctx, writes) {
1626
+ await asNativeActorContext(ctx).saveStateAndWorkflowBatch(
1627
+ writes.map((write) => ({
1628
+ key: toNapiBuffer(write.key),
1629
+ value: toNapiBuffer(write.value)
1630
+ }))
1631
+ );
1632
+ }
1523
1633
  actorId(ctx) {
1524
1634
  return asNativeActorContext(ctx).actorId();
1525
1635
  }
@@ -1626,6 +1736,33 @@ var NapiCoreRuntime = (_class = class {
1626
1736
  );
1627
1737
  return normalizeRuntimeSqlExecuteResult(result);
1628
1738
  }
1739
+ async actorSqlExecuteBatch(ctx, statements) {
1740
+ const results = await this.#actorSql(ctx).executeBatch(
1741
+ statements.map(toNapiSqlBatchStatement)
1742
+ );
1743
+ return results.map(normalizeRuntimeSqlExecuteResult);
1744
+ }
1745
+ async actorSqlBeginTransaction(ctx, timeoutMs) {
1746
+ return await this.#actorSql(ctx).beginTransaction(
1747
+ timeoutMs
1748
+ );
1749
+ }
1750
+ async actorSqlTransactionExec(transaction, sql) {
1751
+ return await asNativeSqlTransaction(transaction).exec(sql);
1752
+ }
1753
+ async actorSqlTransactionExecute(transaction, sql, params) {
1754
+ const result = await asNativeSqlTransaction(transaction).execute(
1755
+ sql,
1756
+ toNapiSqlBindParams(params)
1757
+ );
1758
+ return normalizeRuntimeSqlExecuteResult(result);
1759
+ }
1760
+ async actorSqlTransactionCommit(transaction) {
1761
+ await asNativeSqlTransaction(transaction).commit();
1762
+ }
1763
+ async actorSqlTransactionRollback(transaction) {
1764
+ await asNativeSqlTransaction(transaction).rollback();
1765
+ }
1629
1766
  async actorSqlQuery(ctx, sql, params) {
1630
1767
  return await this.#actorSql(ctx).query(
1631
1768
  sql,
@@ -1652,6 +1789,9 @@ var NapiCoreRuntime = (_class = class {
1652
1789
  this.#sql.delete(nativeCtx);
1653
1790
  await database.close();
1654
1791
  }
1792
+ async actorRuntimeSocketProvision(ctx) {
1793
+ return await asNativeActorContext(ctx).provisionActorRuntimeSocket();
1794
+ }
1655
1795
  async actorQueueSend(ctx, name, body) {
1656
1796
  return toNapiQueueMessage(
1657
1797
  await asNativeActorContext(ctx).queue().send(name, toNapiBuffer(body))
@@ -1700,11 +1840,51 @@ var NapiCoreRuntime = (_class = class {
1700
1840
  async actorQueueReset(ctx) {
1701
1841
  await asNativeActorContext(ctx).queue().reset();
1702
1842
  }
1703
- actorScheduleAfter(ctx, durationMs, actionName, args) {
1704
- asNativeActorContext(ctx).schedule().after(durationMs, actionName, toNapiBuffer(args));
1843
+ async actorScheduleAfter(ctx, durationMs, actionName, args) {
1844
+ return await asNativeActorContext(ctx).schedule().after(durationMs, actionName, toNapiBuffer(args));
1705
1845
  }
1706
- actorScheduleAt(ctx, timestampMs, actionName, args) {
1707
- asNativeActorContext(ctx).schedule().at(timestampMs, actionName, toNapiBuffer(args));
1846
+ async actorScheduleAt(ctx, timestampMs, actionName, args) {
1847
+ return await asNativeActorContext(ctx).schedule().at(timestampMs, actionName, toNapiBuffer(args));
1848
+ }
1849
+ async actorScheduleCancel(ctx, id) {
1850
+ return await asNativeActorContext(ctx).schedule().cancel(id);
1851
+ }
1852
+ async actorScheduleGet(ctx, id) {
1853
+ return await _asyncNullishCoalesce(await asNativeActorContext(ctx).schedule().get(id), async () => ( void 0));
1854
+ }
1855
+ async actorScheduleList(ctx) {
1856
+ return await asNativeActorContext(ctx).schedule().list();
1857
+ }
1858
+ async actorCronSet(ctx, name, expression, timezone, actionName, args, maxHistory) {
1859
+ await asNativeActorContext(ctx).schedule().cronSet(
1860
+ name,
1861
+ expression,
1862
+ timezone,
1863
+ actionName,
1864
+ toNapiBuffer(args),
1865
+ maxHistory
1866
+ );
1867
+ }
1868
+ async actorCronEvery(ctx, name, intervalMs, actionName, args, maxHistory) {
1869
+ await asNativeActorContext(ctx).schedule().cronEvery(
1870
+ name,
1871
+ intervalMs,
1872
+ actionName,
1873
+ toNapiBuffer(args),
1874
+ maxHistory
1875
+ );
1876
+ }
1877
+ async actorCronGet(ctx, name) {
1878
+ return await _asyncNullishCoalesce(await asNativeActorContext(ctx).schedule().cronGet(name), async () => ( void 0));
1879
+ }
1880
+ async actorCronList(ctx) {
1881
+ return await asNativeActorContext(ctx).schedule().cronList();
1882
+ }
1883
+ async actorCronDelete(ctx, name) {
1884
+ return await asNativeActorContext(ctx).schedule().cronDelete(name);
1885
+ }
1886
+ async actorCronHistory(ctx, name, limit) {
1887
+ return await asNativeActorContext(ctx).schedule().cronHistory(name, limit);
1708
1888
  }
1709
1889
  connId(conn) {
1710
1890
  return asNativeConn(conn).id();
@@ -2111,6 +2291,13 @@ var WasmCoreRuntime = (_class2 = class {
2111
2291
  async actorSaveState(ctx, payload) {
2112
2292
  await callHandleAsync(asWasmActorContext(ctx), "saveState", payload);
2113
2293
  }
2294
+ async actorSaveStateAndWorkflowBatch(ctx, writes) {
2295
+ await callHandleAsync(
2296
+ asWasmActorContext(ctx),
2297
+ "saveStateAndWorkflowBatch",
2298
+ writes
2299
+ );
2300
+ }
2114
2301
  actorId(ctx) {
2115
2302
  return callHandle(asWasmActorContext(ctx), "actorId");
2116
2303
  }
@@ -2257,6 +2444,38 @@ var WasmCoreRuntime = (_class2 = class {
2257
2444
  );
2258
2445
  return normalizeRuntimeSqlExecuteResult(result);
2259
2446
  }
2447
+ async actorSqlExecuteBatch(ctx, statements) {
2448
+ const results = await callWasm(
2449
+ () => this.#actorSql(ctx).executeBatch(statements)
2450
+ );
2451
+ return results.map(normalizeRuntimeSqlExecuteResult);
2452
+ }
2453
+ async actorSqlBeginTransaction(ctx, timeoutMs) {
2454
+ return await callWasm(
2455
+ () => this.#actorSql(ctx).beginTransaction(timeoutMs)
2456
+ );
2457
+ }
2458
+ async actorSqlTransactionExec(transaction, sql) {
2459
+ return await callWasm(
2460
+ () => transaction.exec(sql)
2461
+ );
2462
+ }
2463
+ async actorSqlTransactionExecute(transaction, sql, params) {
2464
+ const result = await callWasm(
2465
+ () => transaction.execute(sql, params)
2466
+ );
2467
+ return normalizeRuntimeSqlExecuteResult(result);
2468
+ }
2469
+ async actorSqlTransactionCommit(transaction) {
2470
+ await callWasm(
2471
+ () => transaction.commit()
2472
+ );
2473
+ }
2474
+ async actorSqlTransactionRollback(transaction) {
2475
+ await callWasm(
2476
+ () => transaction.rollback()
2477
+ );
2478
+ }
2260
2479
  async actorSqlQuery(ctx, sql, params) {
2261
2480
  return await callWasm(() => this.#actorSql(ctx).query(sql, params));
2262
2481
  }
@@ -2280,6 +2499,17 @@ var WasmCoreRuntime = (_class2 = class {
2280
2499
  this.#sql.delete(wasmCtx);
2281
2500
  await callWasm(() => database.close());
2282
2501
  }
2502
+ async actorRuntimeSocketProvision(_ctx) {
2503
+ throw new (0, _chunk4FC7TVS6cjs.RivetError)(
2504
+ "actor_runtime_socket",
2505
+ "unsupported",
2506
+ "Actor Runtime Socket is only available on Unix native runtimes.",
2507
+ {
2508
+ public: true,
2509
+ metadata: { runtime: "wasm" }
2510
+ }
2511
+ );
2512
+ }
2283
2513
  async actorQueueSend(ctx, name, body) {
2284
2514
  const queue2 = childHandle(asWasmActorContext(ctx), "queue");
2285
2515
  return normalizeQueueMessage(
@@ -2351,13 +2581,97 @@ var WasmCoreRuntime = (_class2 = class {
2351
2581
  const queue2 = childHandle(asWasmActorContext(ctx), "queue");
2352
2582
  await callHandleAsync(queue2, "reset");
2353
2583
  }
2354
- actorScheduleAfter(ctx, durationMs, actionName, args) {
2584
+ async actorScheduleAfter(ctx, durationMs, actionName, args) {
2585
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2586
+ return await callHandleAsync(
2587
+ schedule,
2588
+ "after",
2589
+ wasmNumber(durationMs),
2590
+ actionName,
2591
+ args
2592
+ );
2593
+ }
2594
+ async actorScheduleAt(ctx, timestampMs, actionName, args) {
2595
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2596
+ return await callHandleAsync(
2597
+ schedule,
2598
+ "at",
2599
+ wasmNumber(timestampMs),
2600
+ actionName,
2601
+ args
2602
+ );
2603
+ }
2604
+ async actorScheduleCancel(ctx, id) {
2355
2605
  const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2356
- callHandle(schedule, "after", wasmNumber(durationMs), actionName, args);
2606
+ return await callHandleAsync(schedule, "cancel", id);
2357
2607
  }
2358
- actorScheduleAt(ctx, timestampMs, actionName, args) {
2608
+ async actorScheduleGet(ctx, id) {
2359
2609
  const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2360
- callHandle(schedule, "at", wasmNumber(timestampMs), actionName, args);
2610
+ return await callHandleAsync(
2611
+ schedule,
2612
+ "get",
2613
+ id
2614
+ );
2615
+ }
2616
+ async actorScheduleList(ctx) {
2617
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2618
+ return await callHandleAsync(
2619
+ schedule,
2620
+ "list"
2621
+ );
2622
+ }
2623
+ async actorCronSet(ctx, name, expression, timezone, actionName, args, maxHistory) {
2624
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2625
+ await callHandleAsync(
2626
+ schedule,
2627
+ "cronSet",
2628
+ name,
2629
+ expression,
2630
+ timezone,
2631
+ actionName,
2632
+ args,
2633
+ maxHistory
2634
+ );
2635
+ }
2636
+ async actorCronEvery(ctx, name, intervalMs, actionName, args, maxHistory) {
2637
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2638
+ await callHandleAsync(
2639
+ schedule,
2640
+ "cronEvery",
2641
+ name,
2642
+ intervalMs,
2643
+ actionName,
2644
+ args,
2645
+ maxHistory
2646
+ );
2647
+ }
2648
+ async actorCronGet(ctx, name) {
2649
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2650
+ return await callHandleAsync(
2651
+ schedule,
2652
+ "cronGet",
2653
+ name
2654
+ );
2655
+ }
2656
+ async actorCronList(ctx) {
2657
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2658
+ return await callHandleAsync(
2659
+ schedule,
2660
+ "cronList"
2661
+ );
2662
+ }
2663
+ async actorCronDelete(ctx, name) {
2664
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2665
+ return await callHandleAsync(schedule, "cronDelete", name);
2666
+ }
2667
+ async actorCronHistory(ctx, name, limit) {
2668
+ const schedule = childHandle(asWasmActorContext(ctx), "schedule");
2669
+ return await callHandleAsync(
2670
+ schedule,
2671
+ "cronHistory",
2672
+ name,
2673
+ limit
2674
+ );
2361
2675
  }
2362
2676
  connId(conn) {
2363
2677
  return callHandle(asWasmConn(conn), "id");
@@ -2447,7 +2761,7 @@ function trySetProcessEnv(key, value) {
2447
2761
  if (typeof process === "undefined") return;
2448
2762
  try {
2449
2763
  process.env[key] = value;
2450
- } catch (e2) {
2764
+ } catch (e3) {
2451
2765
  }
2452
2766
  }
2453
2767
  function detectRuntimeHost() {
@@ -2484,7 +2798,7 @@ async function loadAutoRuntime(config, loaders = defaultRuntimeLoaders) {
2484
2798
  }
2485
2799
  try {
2486
2800
  return (await loaders.loadNative()).runtime;
2487
- } catch (e3) {
2801
+ } catch (e4) {
2488
2802
  return (await loaders.loadWasm(config.wasm)).runtime;
2489
2803
  }
2490
2804
  }
@@ -2658,7 +2972,7 @@ async function cleanupNativeSleepRuntimeState(runtime, ctx, afterTrackedWorkDrai
2658
2972
  }).catch((error) => {
2659
2973
  logger2().warn({
2660
2974
  msg: "deferred native sleep cleanup failed",
2661
- error: _chunkPYO2U53Vcjs.stringifyError.call(void 0, error)
2975
+ error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
2662
2976
  });
2663
2977
  });
2664
2978
  return;
@@ -2697,6 +3011,23 @@ function getOrCreateNativeSqlDatabase(runtime, ctx) {
2697
3011
  const database = wrapJsNativeDatabase({
2698
3012
  exec: (sql) => runtime.actorSqlExec(ctx, sql),
2699
3013
  execute: (sql, params) => runtime.actorSqlExecute(ctx, sql, params),
3014
+ executeBatch: (statements) => runtime.actorSqlExecuteBatch(ctx, statements),
3015
+ beginTransaction: async (timeoutMs) => {
3016
+ const transaction = await runtime.actorSqlBeginTransaction(
3017
+ ctx,
3018
+ timeoutMs
3019
+ );
3020
+ return {
3021
+ exec: (sql) => runtime.actorSqlTransactionExec(transaction, sql),
3022
+ execute: (sql, params) => runtime.actorSqlTransactionExecute(
3023
+ transaction,
3024
+ sql,
3025
+ params
3026
+ ),
3027
+ commit: () => runtime.actorSqlTransactionCommit(transaction),
3028
+ rollback: () => runtime.actorSqlTransactionRollback(transaction)
3029
+ };
3030
+ },
2700
3031
  query: (sql, params) => runtime.actorSqlQuery(ctx, sql, params),
2701
3032
  run: (sql, params) => runtime.actorSqlRun(ctx, sql, params),
2702
3033
  metrics: () => runtime.actorSqlMetrics(ctx),
@@ -2768,10 +3099,10 @@ function decodeValue(value) {
2768
3099
  if (!value || value.length === 0) {
2769
3100
  return void 0;
2770
3101
  }
2771
- return _chunkAPW73HCHcjs.decodeCborCompat.call(void 0, value);
3102
+ return _chunk6HQCLWAWcjs.decodeCborCompat.call(void 0, value);
2772
3103
  }
2773
3104
  function encodeValue(value) {
2774
- return _chunkAPW73HCHcjs.encodeCborCompat.call(void 0, value);
3105
+ return _chunk6HQCLWAWcjs.encodeCborCompat.call(void 0, value);
2775
3106
  }
2776
3107
  function normalizeArgs(value) {
2777
3108
  return Array.isArray(value) ? value : value === void 0 || value === null ? [] : [value];
@@ -2807,7 +3138,7 @@ function isStructuredBridgeError(error) {
2807
3138
  return _chunk4FC7TVS6cjs.isRivetErrorLike.call(void 0, error) && "__type" in error && (error.__type === "RivetError" || error.__type === "ActorError");
2808
3139
  }
2809
3140
  function encodeNativeCallbackError(error) {
2810
- const structuredError = isStructuredBridgeError(error) ? error : _chunkPYO2U53Vcjs.deconstructError.call(void 0, error, true);
3141
+ const structuredError = isStructuredBridgeError(error) ? error : _chunk6HQCLWAWcjs.deconstructError.call(void 0, error, true);
2811
3142
  const bridgeError = new Error(_chunk4FC7TVS6cjs.encodeBridgeRivetError.call(void 0, structuredError), {
2812
3143
  cause: error instanceof Error ? error : void 0
2813
3144
  });
@@ -2857,8 +3188,8 @@ function decodeWorkflowCbor(data) {
2857
3188
  return null;
2858
3189
  }
2859
3190
  try {
2860
- return _chunkAPW73HCHcjs.decodeCborCompat.call(void 0, new Uint8Array(data));
2861
- } catch (e4) {
3191
+ return _chunk6HQCLWAWcjs.decodeCborCompat.call(void 0, new Uint8Array(data));
3192
+ } catch (e5) {
2862
3193
  return null;
2863
3194
  }
2864
3195
  }
@@ -2970,7 +3301,7 @@ function serializeWorkflowHistoryForJson(data) {
2970
3301
  if (data === null) {
2971
3302
  return null;
2972
3303
  }
2973
- const history = _chunkS644FL73cjs.decodeWorkflowHistoryTransport.call(void 0, data);
3304
+ const history = _chunkTR5NLR5Vcjs.decodeWorkflowHistoryTransport.call(void 0, data);
2974
3305
  return jsonSafe({
2975
3306
  nameRegistry: [...history.nameRegistry],
2976
3307
  entries: history.entries.map((entry) => ({
@@ -3083,7 +3414,7 @@ var NativeConnAdapter = class {
3083
3414
  this.#schemas = schemas;
3084
3415
  this.#ctx = ctx;
3085
3416
  this.#queueHibernationRemoval = queueHibernationRemoval;
3086
- this[_chunk3MHDOUD7cjs.CONN_STATE_MANAGER_SYMBOL] = {
3417
+ this[_chunkG3CCRCTKcjs.CONN_STATE_MANAGER_SYMBOL] = {
3087
3418
  stateEnabled: true,
3088
3419
  get state() {
3089
3420
  return thisConn.state;
@@ -3100,7 +3431,7 @@ var NativeConnAdapter = class {
3100
3431
  decodeValue(this.#runtime.connParams(this.#conn))
3101
3432
  );
3102
3433
  }
3103
- [_chunk3MHDOUD7cjs.RAW_STATE_SYMBOL]() {
3434
+ [_chunkG3CCRCTKcjs.RAW_STATE_SYMBOL]() {
3104
3435
  return this.#readState();
3105
3436
  }
3106
3437
  get state() {
@@ -3111,12 +3442,12 @@ var NativeConnAdapter = class {
3111
3442
  this.#writeState(nextValue, { writeNative: true });
3112
3443
  },
3113
3444
  (newValue) => {
3114
- _chunkAPW73HCHcjs.assertJsonCompatValue.call(void 0, newValue);
3445
+ _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, newValue);
3115
3446
  }
3116
3447
  );
3117
3448
  }
3118
3449
  set state(value) {
3119
- _chunkAPW73HCHcjs.assertJsonCompatValue.call(void 0, value);
3450
+ _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, value);
3120
3451
  this.#writeState(value, { writeNative: true });
3121
3452
  }
3122
3453
  initializeState(value) {
@@ -3190,26 +3521,116 @@ var NativeScheduleAdapter = class {
3190
3521
  this.#ctx = ctx;
3191
3522
  }
3192
3523
  async after(duration, action, ...args) {
3193
- callNativeSync(
3194
- () => this.#runtime.actorScheduleAfter(
3195
- this.#ctx,
3196
- duration,
3197
- action,
3198
- encodeValue(args)
3199
- )
3524
+ return await this.#runtime.actorScheduleAfter(
3525
+ this.#ctx,
3526
+ duration,
3527
+ action,
3528
+ encodeValue(args)
3200
3529
  );
3201
3530
  }
3202
3531
  async at(timestamp, action, ...args) {
3203
- callNativeSync(
3204
- () => this.#runtime.actorScheduleAt(
3205
- this.#ctx,
3206
- timestamp,
3207
- action,
3208
- encodeValue(args)
3209
- )
3532
+ return await this.#runtime.actorScheduleAt(
3533
+ this.#ctx,
3534
+ timestamp,
3535
+ action,
3536
+ encodeValue(args)
3537
+ );
3538
+ }
3539
+ async cancel(id) {
3540
+ return await this.#runtime.actorScheduleCancel(this.#ctx, id);
3541
+ }
3542
+ async get(id) {
3543
+ const event2 = await this.#runtime.actorScheduleGet(this.#ctx, id);
3544
+ return event2 ? decodeScheduledEventInfo(event2) : void 0;
3545
+ }
3546
+ async list() {
3547
+ return (await this.#runtime.actorScheduleList(this.#ctx)).map(
3548
+ decodeScheduledEventInfo
3210
3549
  );
3211
3550
  }
3212
3551
  };
3552
+ var NativeCronAdapter = class {
3553
+ #runtime;
3554
+ #ctx;
3555
+ constructor(runtime, ctx) {
3556
+ this.#runtime = runtime;
3557
+ this.#ctx = ctx;
3558
+ }
3559
+ async set(options) {
3560
+ await this.#runtime.actorCronSet(
3561
+ this.#ctx,
3562
+ options.name,
3563
+ options.expression,
3564
+ options.timezone,
3565
+ options.action,
3566
+ encodeValue(_nullishCoalesce(options.args, () => ( []))),
3567
+ options.maxHistory
3568
+ );
3569
+ }
3570
+ async every(options) {
3571
+ await this.#runtime.actorCronEvery(
3572
+ this.#ctx,
3573
+ options.name,
3574
+ options.interval,
3575
+ options.action,
3576
+ encodeValue(_nullishCoalesce(options.args, () => ( []))),
3577
+ options.maxHistory
3578
+ );
3579
+ }
3580
+ async get(name) {
3581
+ const job = await this.#runtime.actorCronGet(this.#ctx, name);
3582
+ return job ? decodeCronJobInfo(job) : void 0;
3583
+ }
3584
+ async list() {
3585
+ return (await this.#runtime.actorCronList(this.#ctx)).map(
3586
+ decodeCronJobInfo
3587
+ );
3588
+ }
3589
+ async delete(name) {
3590
+ return await this.#runtime.actorCronDelete(this.#ctx, name);
3591
+ }
3592
+ async history(name, options) {
3593
+ return (await this.#runtime.actorCronHistory(
3594
+ this.#ctx,
3595
+ name,
3596
+ options == null ? void 0 : options.limit
3597
+ )).map(decodeCronFire);
3598
+ }
3599
+ };
3600
+ function decodeScheduledEventInfo(event2) {
3601
+ return {
3602
+ id: event2.id,
3603
+ action: event2.action,
3604
+ args: decodeArgs(event2.args),
3605
+ runAt: event2.runAt
3606
+ };
3607
+ }
3608
+ function decodeCronJobInfo(job) {
3609
+ const base = {
3610
+ name: job.name,
3611
+ action: job.action,
3612
+ args: decodeArgs(job.args),
3613
+ nextRunAt: job.nextRunAt,
3614
+ lastRunAt: job.lastRunAt,
3615
+ maxHistory: job.maxHistory
3616
+ };
3617
+ if (job.kind === "cron") {
3618
+ return {
3619
+ ...base,
3620
+ kind: "cron",
3621
+ expression: job.expression,
3622
+ timezone: job.timezone
3623
+ };
3624
+ }
3625
+ return {
3626
+ ...base,
3627
+ kind: "every",
3628
+ interval: job.intervalMs
3629
+ };
3630
+ }
3631
+ function decodeCronFire(fire) {
3632
+ return { ...fire };
3633
+ }
3213
3634
  var NativeKvAdapter = class {
3214
3635
  #runtime;
3215
3636
  #ctx;
@@ -3221,7 +3642,7 @@ var NativeKvAdapter = class {
3221
3642
  const value = await callNative(
3222
3643
  () => this.#runtime.actorKvGet(
3223
3644
  this.#ctx,
3224
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(key))
3645
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(key))
3225
3646
  )
3226
3647
  );
3227
3648
  return value ? decodeNativeKvValue(new Uint8Array(value), options) : null;
@@ -3230,7 +3651,7 @@ var NativeKvAdapter = class {
3230
3651
  await callNative(
3231
3652
  () => this.#runtime.actorKvPut(
3232
3653
  this.#ctx,
3233
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(key)),
3654
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(key)),
3234
3655
  toRuntimeBytes(value)
3235
3656
  )
3236
3657
  );
@@ -3239,7 +3660,7 @@ var NativeKvAdapter = class {
3239
3660
  await callNative(
3240
3661
  () => this.#runtime.actorKvDelete(
3241
3662
  this.#ctx,
3242
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(key))
3663
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(key))
3243
3664
  )
3244
3665
  );
3245
3666
  }
@@ -3247,8 +3668,8 @@ var NativeKvAdapter = class {
3247
3668
  await callNative(
3248
3669
  () => this.#runtime.actorKvDeleteRange(
3249
3670
  this.#ctx,
3250
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(start)),
3251
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(end))
3671
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(start)),
3672
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0, encodeNativeKvUserKey(end))
3252
3673
  )
3253
3674
  );
3254
3675
  }
@@ -3261,7 +3682,7 @@ var NativeKvAdapter = class {
3261
3682
  const entries = await callNative(
3262
3683
  () => this.#runtime.actorKvListPrefix(
3263
3684
  this.#ctx,
3264
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0,
3685
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0,
3265
3686
  encodeNativeKvUserKey(
3266
3687
  prefix,
3267
3688
  options == null ? void 0 : options.keyType
@@ -3275,7 +3696,7 @@ var NativeKvAdapter = class {
3275
3696
  );
3276
3697
  return entries.map((entry) => [
3277
3698
  decodeNativeKvKey(
3278
- _chunkVE2X4KMGcjs.removePrefixFromKey.call(void 0, new Uint8Array(entry.key)),
3699
+ _chunkMYWZCDMLcjs.removePrefixFromKey.call(void 0, new Uint8Array(entry.key)),
3279
3700
  options == null ? void 0 : options.keyType
3280
3701
  ),
3281
3702
  decodeNativeKvValue(new Uint8Array(entry.value), options)
@@ -3294,13 +3715,13 @@ var NativeKvAdapter = class {
3294
3715
  const entries = await callNative(
3295
3716
  () => this.#runtime.actorKvListRange(
3296
3717
  this.#ctx,
3297
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0,
3718
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0,
3298
3719
  encodeNativeKvUserKey(
3299
3720
  start,
3300
3721
  options == null ? void 0 : options.keyType
3301
3722
  )
3302
3723
  ),
3303
- _chunkVE2X4KMGcjs.makePrefixedKey.call(void 0,
3724
+ _chunkMYWZCDMLcjs.makePrefixedKey.call(void 0,
3304
3725
  encodeNativeKvUserKey(
3305
3726
  end,
3306
3727
  options == null ? void 0 : options.keyType
@@ -3314,7 +3735,7 @@ var NativeKvAdapter = class {
3314
3735
  );
3315
3736
  return entries.map((entry) => [
3316
3737
  decodeNativeKvKey(
3317
- _chunkVE2X4KMGcjs.removePrefixFromKey.call(void 0, new Uint8Array(entry.key)),
3738
+ _chunkMYWZCDMLcjs.removePrefixFromKey.call(void 0, new Uint8Array(entry.key)),
3318
3739
  options == null ? void 0 : options.keyType
3319
3740
  ),
3320
3741
  decodeNativeKvValue(new Uint8Array(entry.value), options)
@@ -3990,6 +4411,7 @@ var ActorContextHandleAdapter = class {
3990
4411
  #client;
3991
4412
  #clientFactory;
3992
4413
  #connMap;
4414
+ #cron;
3993
4415
  #databaseProvider;
3994
4416
  #db;
3995
4417
  #dispatchCancelToken;
@@ -4014,7 +4436,7 @@ var ActorContextHandleAdapter = class {
4014
4436
  this.#databaseProvider = databaseProvider;
4015
4437
  }
4016
4438
  this.#request = request;
4017
- this[_chunk3MHDOUD7cjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
4439
+ this[_chunkG3CCRCTKcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
4018
4440
  this
4019
4441
  );
4020
4442
  }
@@ -4030,6 +4452,11 @@ var ActorContextHandleAdapter = class {
4030
4452
  }
4031
4453
  return this.#sql;
4032
4454
  }
4455
+ async actorRuntimeSocket() {
4456
+ return await callNative(
4457
+ () => this.#runtime.actorRuntimeSocketProvision(this.#ctx)
4458
+ );
4459
+ }
4033
4460
  get db() {
4034
4461
  if (!this.#databaseProvider) {
4035
4462
  throw databaseNotConfiguredError();
@@ -4045,7 +4472,7 @@ var ActorContextHandleAdapter = class {
4045
4472
  }
4046
4473
  throw databaseClientNotReadyError();
4047
4474
  }
4048
- [_chunk3MHDOUD7cjs.RAW_STATE_SYMBOL]() {
4475
+ [_chunkG3CCRCTKcjs.RAW_STATE_SYMBOL]() {
4049
4476
  if (!this.#stateEnabled) {
4050
4477
  throw stateNotEnabledError();
4051
4478
  }
@@ -4066,7 +4493,7 @@ var ActorContextHandleAdapter = class {
4066
4493
  },
4067
4494
  (newValue) => {
4068
4495
  this.#assertCanMutateState();
4069
- _chunkAPW73HCHcjs.assertJsonCompatValue.call(void 0, newValue);
4496
+ _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, newValue);
4070
4497
  }
4071
4498
  );
4072
4499
  }
@@ -4077,7 +4504,7 @@ var ActorContextHandleAdapter = class {
4077
4504
  throw stateNotEnabledError();
4078
4505
  }
4079
4506
  this.#assertCanMutateState();
4080
- _chunkAPW73HCHcjs.assertJsonCompatValue.call(void 0, value);
4507
+ _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, value);
4081
4508
  this.#writeState(value, { scheduleSave: true });
4082
4509
  }
4083
4510
  initializeState(value) {
@@ -4119,6 +4546,12 @@ var ActorContextHandleAdapter = class {
4119
4546
  }
4120
4547
  return this.#schedule;
4121
4548
  }
4549
+ get cron() {
4550
+ if (!this.#cron) {
4551
+ this.#cron = new NativeCronAdapter(this.#runtime, this.#ctx);
4552
+ }
4553
+ return this.#cron;
4554
+ }
4122
4555
  get actorId() {
4123
4556
  return callNativeSync(() => this.#runtime.actorId(this.#ctx));
4124
4557
  }
@@ -4303,6 +4736,11 @@ var ActorContextHandleAdapter = class {
4303
4736
  () => this.#runtime.actorRequestSave(this.#ctx, { immediate: false })
4304
4737
  );
4305
4738
  }
4739
+ async saveStateAndWorkflowBatch(writes) {
4740
+ await callNative(
4741
+ () => this.#runtime.actorSaveStateAndWorkflowBatch(this.#ctx, writes)
4742
+ );
4743
+ }
4306
4744
  serializeForTick(reason) {
4307
4745
  void reason;
4308
4746
  const actorState = getNativePersistState(this.#runtime, this.#ctx);
@@ -4342,7 +4780,7 @@ var ActorContextHandleAdapter = class {
4342
4780
  const trackedPromise = Promise.resolve(promise).catch((error) => {
4343
4781
  logger2().warn({
4344
4782
  msg: "keepAwake promise rejected",
4345
- error: _chunkPYO2U53Vcjs.stringifyError.call(void 0, error)
4783
+ error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
4346
4784
  });
4347
4785
  }).then(() => null);
4348
4786
  try {
@@ -4617,6 +5055,9 @@ var NativeWorkflowRuntimeAdapter = class {
4617
5055
  this.stateManager = {
4618
5056
  saveState: async (opts) => {
4619
5057
  await this.#ctx.saveState(opts);
5058
+ },
5059
+ saveStateAndWorkflowBatch: async (writes) => {
5060
+ await this.#ctx.saveStateAndWorkflowBatch(writes);
4620
5061
  }
4621
5062
  };
4622
5063
  }
@@ -4686,11 +5127,13 @@ function buildActorConfig(definition, registryConfig, runtimeKind) {
4686
5127
  const config = definition.config;
4687
5128
  const options = _nullishCoalesce(config.options, () => ( {}));
4688
5129
  const canHibernate = options.canHibernateWebSocket;
5130
+ const usesRemoteSqlite = sqliteBackendForConfig(registryConfig) === "remote";
4689
5131
  return {
4690
5132
  name: options.name,
4691
5133
  icon: options.icon,
4692
- hasDatabase: config.db !== void 0,
4693
- remoteSqlite: config.db !== void 0 && sqliteBackendForConfig(registryConfig) === "remote",
5134
+ hasDatabase: config.db !== void 0 || usesRemoteSqlite,
5135
+ remoteSqlite: usesRemoteSqlite,
5136
+ enableActorRuntimeSocket: options.enableActorRuntimeSocket === true,
4694
5137
  hasState: config.state !== void 0 || typeof config.createState === "function",
4695
5138
  canHibernateWebsocket: typeof canHibernate === "boolean" ? canHibernate : void 0,
4696
5139
  stateSaveIntervalMs: options.stateSaveInterval,
@@ -4706,6 +5149,7 @@ function buildActorConfig(definition, registryConfig, runtimeKind) {
4706
5149
  connectionLivenessTimeoutMs: options.connectionLivenessTimeout,
4707
5150
  connectionLivenessIntervalMs: options.connectionLivenessInterval,
4708
5151
  maxQueueSize: options.maxQueueSize,
5152
+ maxSchedules: options.maxSchedules,
4709
5153
  maxQueueMessageSize: options.maxQueueMessageSize,
4710
5154
  maxIncomingMessageSize: registryConfig.maxIncomingMessageSize,
4711
5155
  maxOutgoingMessageSize: registryConfig.maxOutgoingMessageSize,
@@ -4797,9 +5241,9 @@ function buildNativeFactory(runtime, registryConfig, definition) {
4797
5241
  const actionHandlers = Object.fromEntries(
4798
5242
  Object.entries(_nullishCoalesce(config.actions, () => ( {}))).map(([name, handler]) => [name, handler])
4799
5243
  );
4800
- const createClient = () => _chunk34P567POcjs.createClientWithDriver.call(void 0,
4801
- new (0, _chunk34P567POcjs.RemoteEngineControlClient)(
4802
- _chunk34P567POcjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
5244
+ const createClient = () => _chunk4XKED5P5cjs.createClientWithDriver.call(void 0,
5245
+ new (0, _chunk4XKED5P5cjs.RemoteEngineControlClient)(
5246
+ _chunk4XKED5P5cjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
4803
5247
  ),
4804
5248
  { encoding: "bare" }
4805
5249
  );
@@ -4809,7 +5253,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
4809
5253
  ), () => ( false));
4810
5254
  const getNativeWorkflowInspector = (ctx) => {
4811
5255
  var _a2;
4812
- return (_a2 = _chunk3MHDOUD7cjs.getRunInspectorConfig.call(void 0,
5256
+ return (_a2 = _chunkG3CCRCTKcjs.getRunInspectorConfig.call(void 0,
4813
5257
  config.run,
4814
5258
  callNativeSync(() => runtime.actorId(ctx))
4815
5259
  )) == null ? void 0 : _a2.workflow;
@@ -4959,7 +5403,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
4959
5403
  let body;
4960
5404
  try {
4961
5405
  body = await jsRequest.json();
4962
- } catch (e5) {
5406
+ } catch (e6) {
4963
5407
  return errorResponse(
4964
5408
  new (0, _chunk4FC7TVS6cjs.RivetError)(
4965
5409
  "actor",
@@ -4982,7 +5426,9 @@ function buildNativeFactory(runtime, registryConfig, definition) {
4982
5426
  400
4983
5427
  );
4984
5428
  }
4985
- const cbor = _chunkAPW73HCHcjs.encodeCborCompat.call(void 0, _nullishCoalesce(body.body, () => ( null)));
5429
+ const cbor = _chunk6HQCLWAWcjs.encodeCborCompat.call(void 0,
5430
+ _nullishCoalesce(body.body, () => ( null))
5431
+ );
4986
5432
  const message = await runtime.actorQueueSend(ctx, name, cbor);
4987
5433
  return jsonResponse({
4988
5434
  id: message.id().toString(),
@@ -5366,7 +5812,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5366
5812
  } finally {
5367
5813
  const actorId = callNativeSync(() => runtime.actorId(ctx));
5368
5814
  nativeRunHandlerActiveByActorId.delete(actorId);
5369
- _chunk3MHDOUD7cjs.disposeRunInspector.call(void 0, config.run, actorId);
5815
+ _chunkG3CCRCTKcjs.disposeRunInspector.call(void 0, config.run, actorId);
5370
5816
  resolveNativeDestroy(runtime, ctx);
5371
5817
  await actorCtx.closeDatabase();
5372
5818
  clearNativeRuntimeState(runtime, ctx);
@@ -5562,7 +6008,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5562
6008
  new Response(null, { status: 404 })
5563
6009
  );
5564
6010
  }
5565
- const rawConnParams = jsRequest.headers.get(_chunk34P567POcjs.HEADER_CONN_PARAMS);
6011
+ const rawConnParams = jsRequest.headers.get(_chunk4XKED5P5cjs.HEADER_CONN_PARAMS);
5566
6012
  let requestCtx;
5567
6013
  let conn;
5568
6014
  try {
@@ -5627,7 +6073,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5627
6073
  }
5628
6074
  ) : void 0,
5629
6075
  run: (() => {
5630
- const run = _chunk3MHDOUD7cjs.getRunFunction.call(void 0, config.run);
6076
+ const run = _chunkG3CCRCTKcjs.getRunFunction.call(void 0, config.run);
5631
6077
  if (!run) {
5632
6078
  return void 0;
5633
6079
  }
@@ -5646,7 +6092,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5646
6092
  }
5647
6093
  );
5648
6094
  })(),
5649
- getWorkflowHistory: _chunk3MHDOUD7cjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
6095
+ getWorkflowHistory: _chunkG3CCRCTKcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
5650
6096
  async (error, payload) => {
5651
6097
  var _a2;
5652
6098
  const { ctx } = unwrapTsfnPayload(error, payload);
@@ -5654,7 +6100,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5654
6100
  return history == null ? void 0 : encodeValue(history);
5655
6101
  }
5656
6102
  ) : void 0,
5657
- replayWorkflow: _chunk3MHDOUD7cjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
6103
+ replayWorkflow: _chunkG3CCRCTKcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
5658
6104
  async (error, payload) => {
5659
6105
  const { ctx, entryId } = unwrapTsfnPayload(
5660
6106
  error,
@@ -5675,7 +6121,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5675
6121
  name,
5676
6122
  wrapNativeCallback(
5677
6123
  async (error, payload) => {
5678
- const { ctx, conn, args, cancelToken } = unwrapTsfnPayload(error, payload);
6124
+ const { ctx, conn, args, scheduledFire, cancelToken } = unwrapTsfnPayload(error, payload);
5679
6125
  const actorCtx = conn != null ? makeConnCtx(ctx, conn, void 0, cancelToken) : makeActorCtx(ctx, void 0, cancelToken);
5680
6126
  try {
5681
6127
  return encodeValue(
@@ -5685,7 +6131,8 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5685
6131
  schemaConfig.actionInputSchemas,
5686
6132
  name,
5687
6133
  decodeArgs(args)
5688
- )
6134
+ ),
6135
+ ...scheduledFire ? [scheduledFire] : []
5689
6136
  )
5690
6137
  );
5691
6138
  } finally {
@@ -5789,7 +6236,7 @@ async function buildServeConfig(config) {
5789
6236
  poolName: config.envoy.poolName,
5790
6237
  handleInspectorHttpInRuntime: true,
5791
6238
  serverlessBasePath: config.serverless.basePath,
5792
- serverlessPackageVersion: _chunkPYO2U53Vcjs.VERSION,
6239
+ serverlessPackageVersion: _chunk6HQCLWAWcjs.VERSION,
5793
6240
  serverlessClientEndpoint: config.publicEndpoint,
5794
6241
  serverlessClientNamespace: config.publicNamespace,
5795
6242
  serverlessClientToken: config.publicToken,
@@ -5802,19 +6249,19 @@ async function buildServeConfig(config) {
5802
6249
  } catch (error) {
5803
6250
  logger2().warn({
5804
6251
  msg: "could not resolve a local engine binary; if a local engine must be spawned it will fail with engine.binary_unavailable \u2014 set RIVET_ENGINE_BINARY_PATH or install the @rivetkit/engine-cli platform package",
5805
- error: _chunkPYO2U53Vcjs.stringifyError.call(void 0, error)
6252
+ error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
5806
6253
  });
5807
6254
  }
5808
6255
  serveConfig.engineHost = config.engineHost;
5809
6256
  serveConfig.enginePort = config.enginePort;
5810
6257
  if ((_a = config.test) == null ? void 0 : _a.enabled) {
5811
- serveConfig.inspectorTestToken = _nullishCoalesce(_chunkPYO2U53Vcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
6258
+ serveConfig.inspectorTestToken = _nullishCoalesce(_chunk6HQCLWAWcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
5812
6259
  }
5813
6260
  return serveConfig;
5814
6261
  }
5815
6262
  async function buildRegistryWithRuntime(config, runtime) {
5816
6263
  var _a;
5817
- if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunkPYO2U53Vcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
6264
+ if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunk6HQCLWAWcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
5818
6265
  trySetProcessEnv("_RIVET_TEST_INSPECTOR_TOKEN", "token");
5819
6266
  }
5820
6267
  if (runtime.kind === "napi") {
@@ -5879,7 +6326,7 @@ var Registry = class {
5879
6326
  var _a;
5880
6327
  this.#config = config;
5881
6328
  if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
5882
- _chunkPYO2U53Vcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
6329
+ _chunk6HQCLWAWcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
5883
6330
  }
5884
6331
  this.#buildConfiguredRegistry = _nullishCoalesce((deps == null ? void 0 : deps.buildConfiguredRegistry), () => ( buildConfiguredRegistry));
5885
6332
  this.routes = {
@@ -6103,8 +6550,8 @@ var Registry = class {
6103
6550
  * ```
6104
6551
  */
6105
6552
  async listen(opts = {}) {
6106
- const port = _nullishCoalesce(_nullishCoalesce(opts.port, () => ( _chunkPYO2U53Vcjs.parsePortEnv.call(void 0, process.env.RIVET_PORT))), () => ( 3e3));
6107
- const publicDir = _nullishCoalesce(opts.publicDir, () => ( _chunkPYO2U53Vcjs.getRivetkitPublicDir.call(void 0, )));
6553
+ const port = _nullishCoalesce(_nullishCoalesce(opts.port, () => ( _chunk6HQCLWAWcjs.parsePortEnv.call(void 0, process.env.RIVET_PORT))), () => ( 3e3));
6554
+ const publicDir = _nullishCoalesce(opts.publicDir, () => ( _chunk6HQCLWAWcjs.getRivetkitPublicDir.call(void 0, )));
6108
6555
  const config = this.parseConfig();
6109
6556
  const configuredRegistryPromise = buildConfiguredRegistry(config);
6110
6557
  this.#runtimeServeConfiguredPromise = configuredRegistryPromise;
@@ -6132,7 +6579,7 @@ var Registry = class {
6132
6579
  return jsonRouteResponse(503, {
6133
6580
  status: "not_started",
6134
6581
  runtime: "rivetkit",
6135
- version: _chunkPYO2U53Vcjs.VERSION
6582
+ version: _chunk6HQCLWAWcjs.VERSION
6136
6583
  });
6137
6584
  }
6138
6585
  const { runtime, registry } = configured;
@@ -6140,7 +6587,7 @@ var Registry = class {
6140
6587
  return jsonRouteResponse(501, {
6141
6588
  status: "unsupported",
6142
6589
  runtime: "rivetkit",
6143
- version: _chunkPYO2U53Vcjs.VERSION
6590
+ version: _chunk6HQCLWAWcjs.VERSION
6144
6591
  });
6145
6592
  }
6146
6593
  const response = await runtime.registryHealth(registry);
@@ -6378,8 +6825,8 @@ var Registry = class {
6378
6825
  * ```
6379
6826
  */
6380
6827
  start() {
6381
- if (_chunkPYO2U53Vcjs.getRivetkitRuntimeMode.call(void 0, ) === "serverless") {
6382
- const publicDir = _nullishCoalesce(_chunkPYO2U53Vcjs.getRivetkitPublicDir.call(void 0, ), () => ( "/public"));
6828
+ if (_chunk6HQCLWAWcjs.getRivetkitRuntimeMode.call(void 0, ) === "serverless") {
6829
+ const publicDir = _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetkitPublicDir.call(void 0, ), () => ( "/public"));
6383
6830
  this.listen({ publicDir }).catch((error) => {
6384
6831
  logger2().error({ error }, "auto-listen failed; exiting");
6385
6832
  if (typeof process !== "undefined" && typeof process.exit === "function") {
@@ -6400,7 +6847,7 @@ var Registry = class {
6400
6847
  };
6401
6848
  console.log();
6402
6849
  console.log(
6403
- ` RivetKit ${_chunkPYO2U53Vcjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
6850
+ ` RivetKit ${_chunk6HQCLWAWcjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
6404
6851
  );
6405
6852
  if (config.namespace !== "default") {
6406
6853
  logLine("Namespace", config.namespace);
@@ -6475,5 +6922,5 @@ function setup(input) {
6475
6922
 
6476
6923
 
6477
6924
 
6478
- exports.ALLOWED_PUBLIC_HEADERS = _chunk34P567POcjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunk4FC7TVS6cjs.RivetError; exports.ActorsSchema = ActorsSchema; exports.DocConfigurePoolSchema = DocConfigurePoolSchema; exports.DocEnvoyConfigSchema = DocEnvoyConfigSchema; exports.DocRegistryConfigSchema = DocRegistryConfigSchema; exports.DocServerlessConfigSchema = DocServerlessConfigSchema; exports.DocSqliteConfigSchema = DocSqliteConfigSchema; exports.InlineWebSocketAdapter = InlineWebSocketAdapter; exports.Registry = Registry; exports.RegistryConfigSchema = RegistryConfigSchema; exports.RivetError = _chunk4FC7TVS6cjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunk4FC7TVS6cjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunk34P567POcjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunkPYO2U53Vcjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunkPYO2U53Vcjs.toUint8Array;
6925
+ exports.ALLOWED_PUBLIC_HEADERS = _chunk4XKED5P5cjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunk4FC7TVS6cjs.RivetError; exports.ActorsSchema = ActorsSchema; exports.DocConfigurePoolSchema = DocConfigurePoolSchema; exports.DocEnvoyConfigSchema = DocEnvoyConfigSchema; exports.DocRegistryConfigSchema = DocRegistryConfigSchema; exports.DocServerlessConfigSchema = DocServerlessConfigSchema; exports.DocSqliteConfigSchema = DocSqliteConfigSchema; exports.InlineWebSocketAdapter = InlineWebSocketAdapter; exports.Registry = Registry; exports.RegistryConfigSchema = RegistryConfigSchema; exports.RivetError = _chunk4FC7TVS6cjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunk4FC7TVS6cjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunk4XKED5P5cjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunk6HQCLWAWcjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunk6HQCLWAWcjs.toUint8Array;
6479
6926
  //# sourceMappingURL=mod.cjs.map