rivetkit 2.1.4 → 2.1.6-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 (333) hide show
  1. package/dist/browser/client.d.ts +593 -588
  2. package/dist/browser/client.js +215 -35
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +109 -10
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/inspector.tar.gz +0 -0
  7. package/dist/tsup/actor/errors.cjs +2 -2
  8. package/dist/tsup/actor/errors.js +1 -1
  9. package/dist/tsup/{actor-router-consts-D29T1Z-K.d.cts → actor-router-consts-DU-1IdQj.d.cts} +1 -1
  10. package/dist/tsup/{actor-router-consts-D29T1Z-K.d.ts → actor-router-consts-DU-1IdQj.d.ts} +1 -1
  11. package/dist/tsup/chunk-2ELYUO6C.cjs +112 -0
  12. package/dist/tsup/chunk-2ELYUO6C.cjs.map +1 -0
  13. package/dist/tsup/chunk-2LY7RW3Y.cjs +2316 -0
  14. package/dist/tsup/chunk-2LY7RW3Y.cjs.map +1 -0
  15. package/dist/tsup/{chunk-L47L3ZWJ.cjs → chunk-6G7ZNM27.cjs} +11 -6
  16. package/dist/tsup/chunk-6G7ZNM27.cjs.map +1 -0
  17. package/dist/tsup/{chunk-LK36OGGO.cjs → chunk-A4KEUCB6.cjs} +84 -34
  18. package/dist/tsup/chunk-A4KEUCB6.cjs.map +1 -0
  19. package/dist/tsup/{chunk-7HTNH26M.js → chunk-AKUJ5OTO.js} +11 -6
  20. package/dist/tsup/chunk-AKUJ5OTO.js.map +1 -0
  21. package/dist/tsup/{chunk-ANKZ2FS6.js → chunk-C22JYHVT.js} +77 -27
  22. package/dist/tsup/chunk-C22JYHVT.js.map +1 -0
  23. package/dist/tsup/chunk-C4EB42ET.js +1459 -0
  24. package/dist/tsup/chunk-C4EB42ET.js.map +1 -0
  25. package/dist/tsup/chunk-CGGGBIDP.cjs +1459 -0
  26. package/dist/tsup/chunk-CGGGBIDP.cjs.map +1 -0
  27. package/dist/tsup/chunk-CMQPDBBR.cjs +1486 -0
  28. package/dist/tsup/chunk-CMQPDBBR.cjs.map +1 -0
  29. package/dist/tsup/{chunk-AQD4CBZ2.cjs → chunk-DH6UINWA.cjs} +4 -4
  30. package/dist/tsup/{chunk-AQD4CBZ2.cjs.map → chunk-DH6UINWA.cjs.map} +1 -1
  31. package/dist/tsup/chunk-DK46YYCJ.js +1486 -0
  32. package/dist/tsup/chunk-DK46YYCJ.js.map +1 -0
  33. package/dist/tsup/chunk-EGWXXBZV.js +2316 -0
  34. package/dist/tsup/chunk-EGWXXBZV.js.map +1 -0
  35. package/dist/tsup/{chunk-HBYEYBIC.js → chunk-EONWXYMN.js} +2 -2
  36. package/dist/tsup/{chunk-N4KRDJ56.js → chunk-GFGRBYO2.js} +35 -6
  37. package/dist/tsup/chunk-GFGRBYO2.js.map +1 -0
  38. package/dist/tsup/{chunk-TEUL4UYN.cjs → chunk-GUHXWPGB.cjs} +1515 -1479
  39. package/dist/tsup/chunk-GUHXWPGB.cjs.map +1 -0
  40. package/dist/tsup/{chunk-3B6PCYJB.cjs → chunk-HNE2AK6C.cjs} +2375 -3713
  41. package/dist/tsup/chunk-HNE2AK6C.cjs.map +1 -0
  42. package/dist/tsup/{chunk-5UEFNG7P.js → chunk-I5I6OALK.js} +2 -2
  43. package/dist/tsup/chunk-IHQAF2HV.cjs +23 -0
  44. package/dist/tsup/chunk-IHQAF2HV.cjs.map +1 -0
  45. package/dist/tsup/{chunk-UWAGLDT6.cjs → chunk-JJNZQDUN.cjs} +667 -2517
  46. package/dist/tsup/chunk-JJNZQDUN.cjs.map +1 -0
  47. package/dist/tsup/{chunk-M6H4XIF4.js → chunk-JJSPHLJN.js} +219 -287
  48. package/dist/tsup/chunk-JJSPHLJN.js.map +1 -0
  49. package/dist/tsup/chunk-JRKPV5NJ.js +481 -0
  50. package/dist/tsup/chunk-JRKPV5NJ.js.map +1 -0
  51. package/dist/tsup/{chunk-VKVNIQRQ.js → chunk-K7MVU5SI.js} +36 -41
  52. package/dist/tsup/chunk-K7MVU5SI.js.map +1 -0
  53. package/dist/tsup/{chunk-KJSYAUOM.js → chunk-MLK3GY6P.js} +43 -27
  54. package/dist/tsup/chunk-MLK3GY6P.js.map +1 -0
  55. package/dist/tsup/{chunk-4KSHPFXF.cjs → chunk-MPLMTJY5.cjs} +123 -23
  56. package/dist/tsup/chunk-MPLMTJY5.cjs.map +1 -0
  57. package/dist/tsup/{chunk-UDMRZR6A.js → chunk-PQWI44WD.js} +1755 -3093
  58. package/dist/tsup/chunk-PQWI44WD.js.map +1 -0
  59. package/dist/tsup/{chunk-SR3KQE7Q.cjs → chunk-SQFCIDCG.cjs} +35 -6
  60. package/dist/tsup/chunk-SQFCIDCG.cjs.map +1 -0
  61. package/dist/tsup/{chunk-3GTO6H3E.js → chunk-SVHJSM2E.js} +110 -24
  62. package/dist/tsup/chunk-SVHJSM2E.js.map +1 -0
  63. package/dist/tsup/chunk-T5KYKM6R.js +49 -0
  64. package/dist/tsup/chunk-T5KYKM6R.js.map +1 -0
  65. package/dist/tsup/{chunk-GXRVSSVD.cjs → chunk-TJ7DKW6F.cjs} +123 -37
  66. package/dist/tsup/chunk-TJ7DKW6F.cjs.map +1 -0
  67. package/dist/tsup/chunk-UQZRMTM3.js +23 -0
  68. package/dist/tsup/chunk-UQZRMTM3.js.map +1 -0
  69. package/dist/tsup/{chunk-QPADHLDU.cjs → chunk-V3JSZR5P.cjs} +3 -3
  70. package/dist/tsup/{chunk-QPADHLDU.cjs.map → chunk-V3JSZR5P.cjs.map} +1 -1
  71. package/dist/tsup/{chunk-HKOSZKKZ.cjs → chunk-VBR35EQF.cjs} +271 -339
  72. package/dist/tsup/chunk-VBR35EQF.cjs.map +1 -0
  73. package/dist/tsup/{chunk-DZXDUGLL.js → chunk-VWYO36X4.js} +117 -17
  74. package/dist/tsup/chunk-VWYO36X4.js.map +1 -0
  75. package/dist/tsup/{chunk-I6PL6QIY.js → chunk-WW27B6DM.js} +1452 -1416
  76. package/dist/tsup/chunk-WW27B6DM.js.map +1 -0
  77. package/dist/tsup/chunk-YAE3MEJM.cjs +49 -0
  78. package/dist/tsup/chunk-YAE3MEJM.cjs.map +1 -0
  79. package/dist/tsup/{chunk-KTWY3K6Z.js → chunk-YGYGANCA.js} +473 -2323
  80. package/dist/tsup/chunk-YGYGANCA.js.map +1 -0
  81. package/dist/tsup/chunk-YZJWZBY5.cjs +481 -0
  82. package/dist/tsup/chunk-YZJWZBY5.cjs.map +1 -0
  83. package/dist/tsup/{chunk-ZFY5J2EP.cjs → chunk-ZZLJ5TSM.cjs} +39 -44
  84. package/dist/tsup/chunk-ZZLJ5TSM.cjs.map +1 -0
  85. package/dist/tsup/client/mod.cjs +10 -7
  86. package/dist/tsup/client/mod.cjs.map +1 -1
  87. package/dist/tsup/client/mod.d.cts +6 -6
  88. package/dist/tsup/client/mod.d.ts +6 -6
  89. package/dist/tsup/client/mod.js +11 -8
  90. package/dist/tsup/common/log.cjs +3 -3
  91. package/dist/tsup/common/log.js +2 -2
  92. package/dist/tsup/common/websocket.cjs +4 -4
  93. package/dist/tsup/common/websocket.js +3 -3
  94. package/dist/tsup/{config-Qj-zLJPc.d.ts → config-C2Wwnc69.d.ts} +142 -208
  95. package/dist/tsup/{config-BiNoIHRs.d.ts → config-DROwzBLT.d.cts} +82 -6
  96. package/dist/tsup/{config-BiNoIHRs.d.cts → config-DROwzBLT.d.ts} +82 -6
  97. package/dist/tsup/{config-iPj5l1bL.d.cts → config-ehT-_3BB.d.cts} +142 -208
  98. package/dist/tsup/{context-DzvH1PBK.d.cts → context-DGMJuAyc.d.ts} +16 -3
  99. package/dist/tsup/{context-CQCMuHND.d.ts → context-Dpp2RJbW.d.cts} +16 -3
  100. package/dist/tsup/db/drizzle/mod.cjs +3 -3
  101. package/dist/tsup/db/drizzle/mod.d.cts +1 -1
  102. package/dist/tsup/db/drizzle/mod.d.ts +1 -1
  103. package/dist/tsup/db/drizzle/mod.js +2 -2
  104. package/dist/tsup/db/mod.cjs +3 -3
  105. package/dist/tsup/db/mod.d.cts +1 -1
  106. package/dist/tsup/db/mod.d.ts +1 -1
  107. package/dist/tsup/db/mod.js +2 -2
  108. package/dist/tsup/{driver-Jo8v-kbU.d.ts → driver-CYZP9QYo.d.ts} +1 -1
  109. package/dist/tsup/{driver-iV8J-WMv.d.cts → driver-CoTFpipv.d.cts} +1 -1
  110. package/dist/tsup/driver-helpers/mod.cjs +7 -5
  111. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  112. package/dist/tsup/driver-helpers/mod.d.cts +17 -18
  113. package/dist/tsup/driver-helpers/mod.d.ts +17 -18
  114. package/dist/tsup/driver-helpers/mod.js +11 -9
  115. package/dist/tsup/driver-test-suite/mod.cjs +1275 -228
  116. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  117. package/dist/tsup/driver-test-suite/mod.d.cts +6 -5
  118. package/dist/tsup/driver-test-suite/mod.d.ts +6 -5
  119. package/dist/tsup/driver-test-suite/mod.js +1581 -534
  120. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  121. package/dist/tsup/inspector/mod.cjs +4 -4
  122. package/dist/tsup/inspector/mod.js +3 -3
  123. package/dist/tsup/mod.cjs +15 -9
  124. package/dist/tsup/mod.cjs.map +1 -1
  125. package/dist/tsup/mod.d.cts +9 -9
  126. package/dist/tsup/mod.d.ts +9 -9
  127. package/dist/tsup/mod.js +19 -13
  128. package/dist/tsup/sandbox/client.cjs +28 -0
  129. package/dist/tsup/sandbox/client.cjs.map +1 -0
  130. package/dist/tsup/sandbox/client.d.cts +88 -0
  131. package/dist/tsup/sandbox/client.d.ts +88 -0
  132. package/dist/tsup/sandbox/client.js +28 -0
  133. package/dist/tsup/sandbox/client.js.map +1 -0
  134. package/dist/tsup/sandbox/index.cjs +761 -0
  135. package/dist/tsup/sandbox/index.cjs.map +1 -0
  136. package/dist/tsup/sandbox/index.d.cts +120 -0
  137. package/dist/tsup/sandbox/index.d.ts +120 -0
  138. package/dist/tsup/sandbox/index.js +761 -0
  139. package/dist/tsup/sandbox/index.js.map +1 -0
  140. package/dist/tsup/sandbox/providers/computesdk.cjs +3 -0
  141. package/dist/tsup/sandbox/providers/computesdk.cjs.map +1 -0
  142. package/dist/tsup/sandbox/providers/computesdk.d.cts +7 -0
  143. package/dist/tsup/sandbox/providers/computesdk.d.ts +7 -0
  144. package/dist/tsup/sandbox/providers/computesdk.js +3 -0
  145. package/dist/tsup/sandbox/providers/computesdk.js.map +1 -0
  146. package/dist/tsup/sandbox/providers/daytona.cjs +3 -0
  147. package/dist/tsup/sandbox/providers/daytona.cjs.map +1 -0
  148. package/dist/tsup/sandbox/providers/daytona.d.cts +1 -0
  149. package/dist/tsup/sandbox/providers/daytona.d.ts +1 -0
  150. package/dist/tsup/sandbox/providers/daytona.js +3 -0
  151. package/dist/tsup/sandbox/providers/daytona.js.map +1 -0
  152. package/dist/tsup/sandbox/providers/docker.cjs +3 -0
  153. package/dist/tsup/sandbox/providers/docker.cjs.map +1 -0
  154. package/dist/tsup/sandbox/providers/docker.d.cts +1 -0
  155. package/dist/tsup/sandbox/providers/docker.d.ts +1 -0
  156. package/dist/tsup/sandbox/providers/docker.js +3 -0
  157. package/dist/tsup/sandbox/providers/docker.js.map +1 -0
  158. package/dist/tsup/sandbox/providers/e2b.cjs +3 -0
  159. package/dist/tsup/sandbox/providers/e2b.cjs.map +1 -0
  160. package/dist/tsup/sandbox/providers/e2b.d.cts +1 -0
  161. package/dist/tsup/sandbox/providers/e2b.d.ts +1 -0
  162. package/dist/tsup/sandbox/providers/e2b.js +3 -0
  163. package/dist/tsup/sandbox/providers/e2b.js.map +1 -0
  164. package/dist/tsup/sandbox/providers/local.cjs +3 -0
  165. package/dist/tsup/sandbox/providers/local.cjs.map +1 -0
  166. package/dist/tsup/sandbox/providers/local.d.cts +1 -0
  167. package/dist/tsup/sandbox/providers/local.d.ts +1 -0
  168. package/dist/tsup/sandbox/providers/local.js +3 -0
  169. package/dist/tsup/sandbox/providers/local.js.map +1 -0
  170. package/dist/tsup/sandbox/providers/modal.cjs +3 -0
  171. package/dist/tsup/sandbox/providers/modal.cjs.map +1 -0
  172. package/dist/tsup/sandbox/providers/modal.d.cts +1 -0
  173. package/dist/tsup/sandbox/providers/modal.d.ts +1 -0
  174. package/dist/tsup/sandbox/providers/modal.js +3 -0
  175. package/dist/tsup/sandbox/providers/modal.js.map +1 -0
  176. package/dist/tsup/sandbox/providers/vercel.cjs +3 -0
  177. package/dist/tsup/sandbox/providers/vercel.cjs.map +1 -0
  178. package/dist/tsup/sandbox/providers/vercel.d.cts +1 -0
  179. package/dist/tsup/sandbox/providers/vercel.d.ts +1 -0
  180. package/dist/tsup/sandbox/providers/vercel.js +3 -0
  181. package/dist/tsup/sandbox/providers/vercel.js.map +1 -0
  182. package/dist/tsup/serve-test-suite/mod.cjs +451 -327
  183. package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
  184. package/dist/tsup/serve-test-suite/mod.js +362 -238
  185. package/dist/tsup/serve-test-suite/mod.js.map +1 -1
  186. package/dist/tsup/test/mod.cjs +17 -14
  187. package/dist/tsup/test/mod.cjs.map +1 -1
  188. package/dist/tsup/test/mod.d.cts +4 -4
  189. package/dist/tsup/test/mod.d.ts +4 -4
  190. package/dist/tsup/test/mod.js +14 -11
  191. package/dist/tsup/test/mod.js.map +1 -1
  192. package/dist/tsup/utils.cjs +3 -3
  193. package/dist/tsup/utils.js +2 -2
  194. package/dist/tsup/workflow/mod.cjs +6 -6
  195. package/dist/tsup/workflow/mod.d.cts +13 -9
  196. package/dist/tsup/workflow/mod.d.ts +13 -9
  197. package/dist/tsup/workflow/mod.js +5 -5
  198. package/package.json +113 -14
  199. package/src/actor/config.ts +94 -88
  200. package/src/actor/conn/drivers/websocket.ts +2 -1
  201. package/src/actor/contexts/base/actor.ts +27 -4
  202. package/src/actor/database.ts +6 -1
  203. package/src/actor/driver.ts +27 -8
  204. package/src/actor/errors.ts +10 -5
  205. package/src/actor/instance/connection-manager.ts +4 -3
  206. package/src/actor/instance/kv.ts +52 -9
  207. package/src/actor/instance/mod.ts +135 -84
  208. package/src/actor/instance/queue-manager.ts +2 -5
  209. package/src/actor/instance/queue.ts +31 -29
  210. package/src/actor/instance/state-manager.ts +7 -1
  211. package/src/actor/instance/traces-driver.ts +34 -36
  212. package/src/actor/metrics.ts +137 -0
  213. package/src/actor/protocol/old.ts +9 -12
  214. package/src/actor/router-websocket-endpoints.ts +12 -6
  215. package/src/actor/router.ts +46 -9
  216. package/src/actor/schema.ts +14 -22
  217. package/src/client/actor-common.ts +65 -0
  218. package/src/client/actor-conn.ts +71 -9
  219. package/src/client/actor-handle.ts +22 -5
  220. package/src/client/client.ts +32 -6
  221. package/src/client/config.ts +18 -21
  222. package/src/client/mod.ts +1 -0
  223. package/src/client/queue.ts +8 -6
  224. package/src/common/inline-websocket-adapter.ts +8 -2
  225. package/src/common/router.ts +1 -4
  226. package/src/common/utils.ts +2 -5
  227. package/src/db/config.ts +10 -5
  228. package/src/db/drizzle/mod.ts +51 -41
  229. package/src/db/mod.ts +54 -29
  230. package/src/db/shared.ts +42 -8
  231. package/src/driver-helpers/mod.ts +2 -1
  232. package/src/driver-helpers/sqlite-pool.ts +42 -0
  233. package/src/driver-helpers/utils.ts +0 -20
  234. package/src/driver-test-suite/mod.ts +11 -1
  235. package/src/driver-test-suite/tests/access-control.ts +19 -12
  236. package/src/driver-test-suite/tests/action-features.ts +20 -8
  237. package/src/driver-test-suite/tests/actor-conn.ts +94 -8
  238. package/src/driver-test-suite/tests/actor-db-kv-stats.ts +282 -0
  239. package/src/driver-test-suite/tests/actor-db-raw.ts +6 -2
  240. package/src/driver-test-suite/tests/actor-db.ts +101 -31
  241. package/src/driver-test-suite/tests/actor-inspector.ts +174 -32
  242. package/src/driver-test-suite/tests/actor-kv.ts +79 -33
  243. package/src/driver-test-suite/tests/actor-lifecycle.ts +4 -12
  244. package/src/driver-test-suite/tests/actor-queue.ts +125 -17
  245. package/src/driver-test-suite/tests/actor-run.ts +59 -55
  246. package/src/driver-test-suite/tests/actor-sandbox.ts +78 -0
  247. package/src/driver-test-suite/tests/actor-schedule.ts +1 -4
  248. package/src/driver-test-suite/tests/actor-sleep.ts +111 -0
  249. package/src/driver-test-suite/tests/actor-workflow.ts +387 -3
  250. package/src/driver-test-suite/tests/conn-error-serialization.ts +3 -1
  251. package/src/driver-test-suite/tests/raw-websocket.ts +5 -1
  252. package/src/drivers/default.ts +1 -3
  253. package/src/drivers/engine/actor-driver.ts +94 -21
  254. package/src/drivers/engine/config.ts +4 -12
  255. package/src/drivers/engine/mod.ts +1 -5
  256. package/src/drivers/file-system/actor.ts +43 -8
  257. package/src/drivers/file-system/global-state.ts +180 -64
  258. package/src/drivers/file-system/kv-limits.ts +1 -1
  259. package/src/drivers/file-system/sqlite-runtime.ts +13 -4
  260. package/src/engine-process/mod.ts +5 -1
  261. package/src/inspector/actor-inspector.ts +47 -21
  262. package/src/inspector/config.ts +1 -4
  263. package/src/inspector/mod.browser.ts +2 -2
  264. package/src/inspector/mod.ts +4 -1
  265. package/src/inspector/serve-ui.ts +0 -1
  266. package/src/inspector/workflow-history-json.ts +309 -0
  267. package/src/manager/gateway.ts +6 -2
  268. package/src/manager/router.ts +3 -3
  269. package/src/registry/config/index.ts +65 -12
  270. package/src/registry/config/runner.ts +19 -4
  271. package/src/registry/index.ts +42 -89
  272. package/src/sandbox/actor/db.ts +36 -0
  273. package/src/sandbox/actor/index.ts +476 -0
  274. package/src/sandbox/actor/session.ts +350 -0
  275. package/src/sandbox/actor.test.ts +36 -0
  276. package/src/sandbox/client.test.ts +484 -0
  277. package/src/sandbox/client.ts +707 -0
  278. package/src/sandbox/config.ts +151 -0
  279. package/src/sandbox/index.ts +41 -0
  280. package/src/sandbox/providers/computesdk.ts +1 -0
  281. package/src/sandbox/providers/daytona.ts +1 -0
  282. package/src/sandbox/providers/docker.ts +1 -0
  283. package/src/sandbox/providers/e2b.ts +1 -0
  284. package/src/sandbox/providers/local.ts +1 -0
  285. package/src/sandbox/providers/modal.ts +1 -0
  286. package/src/sandbox/providers/vercel.ts +1 -0
  287. package/src/sandbox/session-persist-driver.ts +180 -0
  288. package/src/sandbox/types.ts +138 -0
  289. package/src/serverless/configure.ts +5 -3
  290. package/src/serverless/router.test.ts +17 -9
  291. package/src/serverless/router.ts +20 -13
  292. package/src/test/mod.ts +3 -4
  293. package/src/utils/endpoint-parser.test.ts +6 -2
  294. package/src/utils/endpoint-parser.ts +6 -2
  295. package/src/utils/env-vars.ts +0 -2
  296. package/src/utils/node.ts +1 -1
  297. package/src/utils/serve.ts +10 -5
  298. package/src/utils.ts +6 -1
  299. package/src/workflow/constants.ts +1 -2
  300. package/src/workflow/context.ts +42 -9
  301. package/src/workflow/driver.ts +57 -23
  302. package/src/workflow/inspector.ts +7 -13
  303. package/src/workflow/mod.ts +91 -4
  304. package/dist/tsup/chunk-3B6PCYJB.cjs.map +0 -1
  305. package/dist/tsup/chunk-3GTO6H3E.js.map +0 -1
  306. package/dist/tsup/chunk-4KSHPFXF.cjs.map +0 -1
  307. package/dist/tsup/chunk-6LJAZ5R4.cjs +0 -96
  308. package/dist/tsup/chunk-6LJAZ5R4.cjs.map +0 -1
  309. package/dist/tsup/chunk-7HTNH26M.js.map +0 -1
  310. package/dist/tsup/chunk-ANKZ2FS6.js.map +0 -1
  311. package/dist/tsup/chunk-DZXDUGLL.js.map +0 -1
  312. package/dist/tsup/chunk-GXRVSSVD.cjs.map +0 -1
  313. package/dist/tsup/chunk-H5TSEPN4.cjs +0 -645
  314. package/dist/tsup/chunk-H5TSEPN4.cjs.map +0 -1
  315. package/dist/tsup/chunk-HKOSZKKZ.cjs.map +0 -1
  316. package/dist/tsup/chunk-I6PL6QIY.js.map +0 -1
  317. package/dist/tsup/chunk-KJSYAUOM.js.map +0 -1
  318. package/dist/tsup/chunk-KTWY3K6Z.js.map +0 -1
  319. package/dist/tsup/chunk-L47L3ZWJ.cjs.map +0 -1
  320. package/dist/tsup/chunk-LK36OGGO.cjs.map +0 -1
  321. package/dist/tsup/chunk-M6H4XIF4.js.map +0 -1
  322. package/dist/tsup/chunk-N4KRDJ56.js.map +0 -1
  323. package/dist/tsup/chunk-SR3KQE7Q.cjs.map +0 -1
  324. package/dist/tsup/chunk-TEFYRRAK.js +0 -645
  325. package/dist/tsup/chunk-TEFYRRAK.js.map +0 -1
  326. package/dist/tsup/chunk-TEUL4UYN.cjs.map +0 -1
  327. package/dist/tsup/chunk-UDMRZR6A.js.map +0 -1
  328. package/dist/tsup/chunk-UWAGLDT6.cjs.map +0 -1
  329. package/dist/tsup/chunk-VKVNIQRQ.js.map +0 -1
  330. package/dist/tsup/chunk-ZFY5J2EP.cjs.map +0 -1
  331. package/src/db/sqlite-vfs.ts +0 -12
  332. /package/dist/tsup/{chunk-HBYEYBIC.js.map → chunk-EONWXYMN.js.map} +0 -0
  333. /package/dist/tsup/{chunk-5UEFNG7P.js.map → chunk-I5I6OALK.js.map} +0 -0
@@ -1,17 +1,90 @@
1
- import z$2, { z } from 'zod/v4';
1
+ import { Context, Handler, Env, Hono } from 'hono';
2
+ import z$1, { z } from 'zod/v4';
2
3
  import { UniversalWebSocket } from '@rivetkit/virtual-websocket';
3
- import { SqliteVfs } from '@rivetkit/sqlite-vfs';
4
+ import { ISqliteVfs } from '@rivetkit/sqlite-vfs';
4
5
  import { Traces, OtlpExportTraceServiceRequestJson, SpanHandle, SpanStatusInput } from '@rivetkit/traces';
5
- import { Context, Handler, Env, Hono } from 'hono';
6
- import { z as z$1 } from 'zod';
7
6
  import { Logger } from 'pino';
8
- import { VersionedDataHandler } from 'vbare';
9
- import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
10
7
  import * as nanoevents from 'nanoevents';
11
8
  import { W as WorkflowHistory, k as QueueStatus } from './v3-DnYObHH3.js';
12
9
  import { StandardSchemaV1 } from '@standard-schema/spec';
10
+ import { VersionedDataHandler } from 'vbare';
11
+ import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
12
+ import { z as z$2 } from 'zod';
13
13
  import '@rivetkit/bare-ts';
14
14
 
15
+ /**
16
+ * Lightweight in-memory metrics for actor instances.
17
+ *
18
+ * Metrics are collected per actor wake cycle and are NOT persisted. They reset
19
+ * when the actor sleeps and wakes again.
20
+ */
21
+ interface CounterMetric {
22
+ type: "counter";
23
+ help: string;
24
+ value: number;
25
+ }
26
+ interface GaugeMetric {
27
+ type: "gauge";
28
+ help: string;
29
+ value: number;
30
+ }
31
+ interface LabeledCounterMetric {
32
+ type: "labeled_counter";
33
+ help: string;
34
+ values: Record<string, number>;
35
+ }
36
+ interface LabeledTimingMetric {
37
+ type: "labeled_timing";
38
+ help: string;
39
+ values: Record<string, {
40
+ calls: number;
41
+ totalMs: number;
42
+ keys: number;
43
+ }>;
44
+ }
45
+ type Metric = CounterMetric | GaugeMetric | LabeledCounterMetric | LabeledTimingMetric;
46
+ type MetricsSnapshot = Record<string, Metric>;
47
+ declare class ActorMetrics {
48
+ kvGet: {
49
+ calls: number;
50
+ keys: number;
51
+ totalMs: number;
52
+ };
53
+ kvGetBatch: {
54
+ calls: number;
55
+ keys: number;
56
+ totalMs: number;
57
+ };
58
+ kvPut: {
59
+ calls: number;
60
+ keys: number;
61
+ totalMs: number;
62
+ };
63
+ kvPutBatch: {
64
+ calls: number;
65
+ keys: number;
66
+ totalMs: number;
67
+ };
68
+ kvDeleteBatch: {
69
+ calls: number;
70
+ keys: number;
71
+ totalMs: number;
72
+ };
73
+ sqlSelects: number;
74
+ sqlInserts: number;
75
+ sqlUpdates: number;
76
+ sqlDeletes: number;
77
+ sqlOther: number;
78
+ sqlTotalMs: number;
79
+ actionCalls: number;
80
+ actionErrors: number;
81
+ actionTotalMs: number;
82
+ connectionsOpened: number;
83
+ connectionsClosed: number;
84
+ trackSql(query: string, durationMs: number): void;
85
+ snapshot(): MetricsSnapshot;
86
+ }
87
+
15
88
  type AnyDatabaseProvider = DatabaseProvider<any> | undefined;
16
89
  /**
17
90
  * Context provided to database providers for creating database clients
@@ -40,11 +113,14 @@ interface DatabaseProviderContext {
40
113
  batchDelete: (keys: Uint8Array[]) => Promise<void>;
41
114
  };
42
115
  /**
43
- * SQLite VFS instance for creating KV-backed databases.
44
- * This should be actor-scoped because @rivetkit/sqlite is not re-entrant per
45
- * module instance.
116
+ * SQLite VFS handle for creating KV-backed databases.
117
+ * May be a standalone VFS or a pooled handle from SqliteVfsPool.
118
+ */
119
+ sqliteVfs?: ISqliteVfs;
120
+ /**
121
+ * Actor metrics instance. When provided, KV and SQL operations are tracked.
46
122
  */
47
- sqliteVfs?: SqliteVfs;
123
+ metrics?: ActorMetrics;
48
124
  }
49
125
  type DatabaseProvider<DB extends RawAccess> = {
50
126
  /**
@@ -129,6 +205,77 @@ type InferQueueCompleteMap<T extends QueueSchemaConfig> = {
129
205
  };
130
206
  type InferEventArgs<T> = T extends readonly unknown[] ? number extends T["length"] ? [T] : T : [T];
131
207
 
208
+ /** Data that's been serialized. */
209
+ type OutputData = string | Uint8Array;
210
+ declare const EncodingSchema: z.ZodEnum<{
211
+ json: "json";
212
+ cbor: "cbor";
213
+ bare: "bare";
214
+ }>;
215
+ /**
216
+ * Encoding used to communicate between the client & actor.
217
+ */
218
+ type Encoding = z.infer<typeof EncodingSchema>;
219
+ /**
220
+ * Helper class that helps serialize data without re-serializing for the same encoding.
221
+ */
222
+ declare class CachedSerializer<TBare, TJson, T = TBare> {
223
+ #private;
224
+ constructor(data: T, versionedDataHandler: VersionedDataHandler<TBare>, version: number, zodSchema: z.ZodType<TJson>, toJson: (value: T) => TJson, toBare: (value: T) => TBare);
225
+ get rawData(): T;
226
+ serialize(encoding: Encoding): OutputData;
227
+ }
228
+
229
+ declare const ActorKeySchema: z.ZodArray<z.ZodString>;
230
+ type ActorKey = z.infer<typeof ActorKeySchema>;
231
+ declare const CreateRequestSchema: z.ZodObject<{
232
+ name: z.ZodString;
233
+ key: z.ZodArray<z.ZodString>;
234
+ input: z.ZodOptional<z.ZodUnknown>;
235
+ region: z.ZodOptional<z.ZodString>;
236
+ }, z.core.$strip>;
237
+ declare const ActorQuerySchema: z.ZodUnion<readonly [z.ZodObject<{
238
+ getForId: z.ZodObject<{
239
+ name: z.ZodString;
240
+ actorId: z.ZodString;
241
+ }, z.core.$strip>;
242
+ }, z.core.$strip>, z.ZodObject<{
243
+ getForKey: z.ZodObject<{
244
+ name: z.ZodString;
245
+ key: z.ZodArray<z.ZodString>;
246
+ }, z.core.$strip>;
247
+ }, z.core.$strip>, z.ZodObject<{
248
+ getOrCreateForKey: z.ZodObject<{
249
+ name: z.ZodString;
250
+ key: z.ZodArray<z.ZodString>;
251
+ input: z.ZodOptional<z.ZodUnknown>;
252
+ region: z.ZodOptional<z.ZodString>;
253
+ }, z.core.$strip>;
254
+ }, z.core.$strip>, z.ZodObject<{
255
+ create: z.ZodObject<{
256
+ name: z.ZodString;
257
+ key: z.ZodArray<z.ZodString>;
258
+ input: z.ZodOptional<z.ZodUnknown>;
259
+ region: z.ZodOptional<z.ZodString>;
260
+ }, z.core.$strip>;
261
+ }, z.core.$strip>]>;
262
+ type ActorQuery = z.infer<typeof ActorQuerySchema>;
263
+ /**
264
+ * Interface representing a request to create a actor.
265
+ */
266
+ type CreateRequest = z.infer<typeof CreateRequestSchema>;
267
+
268
+ declare const KEYS: {
269
+ PERSIST_DATA: Uint8Array<ArrayBuffer>;
270
+ CONN_PREFIX: Uint8Array<ArrayBuffer>;
271
+ INSPECTOR_TOKEN: Uint8Array<ArrayBuffer>;
272
+ KV: Uint8Array<ArrayBuffer>;
273
+ QUEUE_PREFIX: Uint8Array<ArrayBuffer>;
274
+ WORKFLOW_PREFIX: Uint8Array<ArrayBuffer>;
275
+ TRACES_PREFIX: Uint8Array<ArrayBuffer>;
276
+ SQLITE_PREFIX: Uint8Array<ArrayBuffer>;
277
+ };
278
+
132
279
  /**
133
280
  * User-facing KV storage interface exposed on ActorContext.
134
281
  */
@@ -149,6 +296,8 @@ type KvValueOptions<T extends KvValueType = "text"> = {
149
296
  };
150
297
  type KvListOptions<T extends KvValueType = "text", K extends KvKeyType = "text"> = KvValueOptions<T> & {
151
298
  keyType?: K;
299
+ reverse?: boolean;
300
+ limit?: number;
152
301
  };
153
302
  declare class ActorKv {
154
303
  #private;
@@ -177,13 +326,24 @@ declare class ActorKv {
177
326
  * Delete multiple keys.
178
327
  */
179
328
  deleteBatch(keys: KvKey[]): Promise<void>;
329
+ /**
330
+ * Delete all keys in the half-open range [start, end).
331
+ */
332
+ deleteRange(start: KvKey, end: KvKey): Promise<void>;
180
333
  /**
181
334
  * List all keys with a given prefix.
182
335
  * Returns key-value pairs where keys have the user prefix removed.
183
336
  */
184
337
  list<T extends KvValueType = "text", K extends KvKeyType = "text">(prefix: KvKeyTypeMap[K], options?: KvListOptions<T, K>): Promise<[KvKeyTypeMap[K], KvValueTypeMap[T]][]>;
338
+ /**
339
+ * List all key-value pairs in the half-open range [start, end).
340
+ */
341
+ listRange<T extends KvValueType = "text", K extends KvKeyType = "text">(start: KvKeyTypeMap[K], end: KvKeyTypeMap[K], options?: KvListOptions<T, K>): Promise<[KvKeyTypeMap[K], KvValueTypeMap[T]][]>;
185
342
  }
186
343
 
344
+ type UpgradeWebSocket = (createEvents: (c: Context) => any) => Handler;
345
+ type GetUpgradeWebSocket = () => UpgradeWebSocket;
346
+
187
347
  interface QueueMessage {
188
348
  id: bigint;
189
349
  name: string;
@@ -369,7 +529,7 @@ declare class ActorContext<TState, TConnParams, TConnState, TVars, TInput, TData
369
529
  /**
370
530
  * Returns the client for the given registry.
371
531
  */
372
- client<R extends Registry<any>>(): Client<R>;
532
+ client<R extends Registry<any> = Registry<any>>(): Client<R>;
373
533
  /**
374
534
  * Gets the database.
375
535
  *
@@ -387,16 +547,33 @@ declare class ActorContext<TState, TConnParams, TConnState, TVars, TInput, TData
387
547
  saveState(opts: SaveStateOptions): Promise<void>;
388
548
  /**
389
549
  * Prevents the actor from sleeping until promise is complete.
550
+ *
551
+ * @deprecated Use `onSleep` for shutdown or flush work, or
552
+ * `c.setPreventSleep(true)` while work is active if the actor must stay
553
+ * awake until it finishes.
390
554
  */
391
555
  waitUntil(promise: Promise<void>): void;
392
556
  /**
393
- * Prevents the actor from sleeping while the given promise is running.
557
+ * Prevents the actor from automatically sleeping until cleared.
394
558
  *
395
- * Use this when performing async operations in the `run` handler or other
396
- * background contexts where you need to ensure the actor stays awake.
559
+ * @experimental
560
+ */
561
+ setPreventSleep(prevent: boolean): void;
562
+ /**
563
+ * True when the actor is explicitly blocking automatic sleep.
564
+ *
565
+ * @experimental
566
+ */
567
+ get preventSleep(): boolean;
568
+ /**
569
+ * Prevents the actor from sleeping while the given promise is running.
397
570
  *
398
571
  * Returns the resolved value and resets the sleep timer on completion.
399
572
  * Errors are propagated to the caller.
573
+ *
574
+ * @deprecated Use `c.setPreventSleep(true)` while work is active, or move
575
+ * shutdown and flush work to `onSleep` if it can wait until the actor is
576
+ * sleeping.
400
577
  */
401
578
  keepAwake<T>(promise: Promise<T>): Promise<T>;
402
579
  /**
@@ -553,79 +730,78 @@ declare class WebSocketContext<TState, TConnParams, TConnState, TVars, TInput, T
553
730
  readonly request: Request | undefined;
554
731
  }
555
732
 
556
- /** Data that's been serialized. */
557
- type OutputData = string | Uint8Array;
558
- declare const EncodingSchema: z.ZodEnum<{
559
- json: "json";
560
- cbor: "cbor";
561
- bare: "bare";
562
- }>;
563
- /**
564
- * Encoding used to communicate between the client & actor.
565
- */
566
- type Encoding = z.infer<typeof EncodingSchema>;
567
- /**
568
- * Helper class that helps serialize data without re-serializing for the same encoding.
569
- */
570
- declare class CachedSerializer<TBare, TJson, T = TBare> {
571
- #private;
572
- constructor(data: T, versionedDataHandler: VersionedDataHandler<TBare>, version: number, zodSchema: z.ZodType<TJson>, toJson: (value: T) => TJson, toBare: (value: T) => TBare);
573
- get rawData(): T;
574
- serialize(encoding: Encoding): OutputData;
733
+ type ManagerDriverBuilder = (config: RegistryConfig) => ManagerDriver;
734
+ interface ManagerDriver {
735
+ getForId(input: GetForIdInput): Promise<ActorOutput | undefined>;
736
+ getWithKey(input: GetWithKeyInput): Promise<ActorOutput | undefined>;
737
+ getOrCreateWithKey(input: GetOrCreateWithKeyInput): Promise<ActorOutput>;
738
+ createActor(input: CreateInput): Promise<ActorOutput>;
739
+ listActors(input: ListActorsInput): Promise<ActorOutput[]>;
740
+ sendRequest(actorId: string, actorRequest: Request): Promise<Response>;
741
+ openWebSocket(path: string, actorId: string, encoding: Encoding, params: unknown): Promise<UniversalWebSocket>;
742
+ proxyRequest(c: Context, actorRequest: Request, actorId: string): Promise<Response>;
743
+ proxyWebSocket(c: Context, path: string, actorId: string, encoding: Encoding, params: unknown): Promise<Response>;
744
+ /**
745
+ * Build a public gateway URL for a specific actor.
746
+ *
747
+ * This lives on the driver because the base endpoint varies by runtime.
748
+ */
749
+ buildGatewayUrl(actorId: string): Promise<string>;
750
+ displayInformation(): ManagerDisplayInformation;
751
+ extraStartupLog?: () => Record<string, unknown>;
752
+ modifyManagerRouter?: (config: RegistryConfig, router: Hono) => void;
753
+ /**
754
+ * Allows lazily setting getUpgradeWebSocket after the manager router has
755
+ * been initialized.
756
+ **/
757
+ setGetUpgradeWebSocket(getUpgradeWebSocket: GetUpgradeWebSocket): void;
758
+ /** Read a key. Returns null if the key doesn't exist. */
759
+ kvGet(actorId: string, key: Uint8Array): Promise<string | null>;
760
+ }
761
+ interface ManagerDisplayInformation {
762
+ properties: Record<string, string>;
763
+ }
764
+ interface GetForIdInput<E extends Env = any> {
765
+ c?: Context | undefined;
766
+ name: string;
767
+ actorId: string;
768
+ }
769
+ interface GetWithKeyInput<E extends Env = any> {
770
+ c?: Context | undefined;
771
+ name: string;
772
+ key: ActorKey;
773
+ }
774
+ interface GetOrCreateWithKeyInput<E extends Env = any> {
775
+ c?: Context | undefined;
776
+ name: string;
777
+ key: ActorKey;
778
+ input?: unknown;
779
+ region?: string;
780
+ }
781
+ interface CreateInput<E extends Env = any> {
782
+ c?: Context | undefined;
783
+ name: string;
784
+ key: ActorKey;
785
+ input?: unknown;
786
+ region?: string;
787
+ }
788
+ interface ListActorsInput<E extends Env = any> {
789
+ c?: Context | undefined;
790
+ name: string;
791
+ key?: string;
792
+ includeDestroyed?: boolean;
793
+ }
794
+ interface ActorOutput {
795
+ actorId: string;
796
+ name: string;
797
+ key: ActorKey;
798
+ createTs?: number;
799
+ startTs?: number | null;
800
+ connectableTs?: number | null;
801
+ sleepTs?: number | null;
802
+ destroyTs?: number | null;
803
+ error?: unknown;
575
804
  }
576
-
577
- type UpgradeWebSocket = (createEvents: (c: Context) => any) => Handler;
578
- type GetUpgradeWebSocket = () => UpgradeWebSocket;
579
-
580
- declare const KEYS: {
581
- PERSIST_DATA: Uint8Array<ArrayBuffer>;
582
- CONN_PREFIX: Uint8Array<ArrayBuffer>;
583
- INSPECTOR_TOKEN: Uint8Array<ArrayBuffer>;
584
- KV: Uint8Array<ArrayBuffer>;
585
- QUEUE_PREFIX: Uint8Array<ArrayBuffer>;
586
- WORKFLOW_PREFIX: Uint8Array<ArrayBuffer>;
587
- TRACES_PREFIX: Uint8Array<ArrayBuffer>;
588
- SQLITE_PREFIX: Uint8Array<ArrayBuffer>;
589
- };
590
-
591
- declare const ActorKeySchema: z.ZodArray<z.ZodString>;
592
- type ActorKey = z.infer<typeof ActorKeySchema>;
593
- declare const CreateRequestSchema: z.ZodObject<{
594
- name: z.ZodString;
595
- key: z.ZodArray<z.ZodString>;
596
- input: z.ZodOptional<z.ZodUnknown>;
597
- region: z.ZodOptional<z.ZodString>;
598
- }, z.core.$strip>;
599
- declare const ActorQuerySchema: z.ZodUnion<readonly [z.ZodObject<{
600
- getForId: z.ZodObject<{
601
- name: z.ZodString;
602
- actorId: z.ZodString;
603
- }, z.core.$strip>;
604
- }, z.core.$strip>, z.ZodObject<{
605
- getForKey: z.ZodObject<{
606
- name: z.ZodString;
607
- key: z.ZodArray<z.ZodString>;
608
- }, z.core.$strip>;
609
- }, z.core.$strip>, z.ZodObject<{
610
- getOrCreateForKey: z.ZodObject<{
611
- name: z.ZodString;
612
- key: z.ZodArray<z.ZodString>;
613
- input: z.ZodOptional<z.ZodUnknown>;
614
- region: z.ZodOptional<z.ZodString>;
615
- }, z.core.$strip>;
616
- }, z.core.$strip>, z.ZodObject<{
617
- create: z.ZodObject<{
618
- name: z.ZodString;
619
- key: z.ZodArray<z.ZodString>;
620
- input: z.ZodOptional<z.ZodUnknown>;
621
- region: z.ZodOptional<z.ZodString>;
622
- }, z.core.$strip>;
623
- }, z.core.$strip>]>;
624
- type ActorQuery = z.infer<typeof ActorQuerySchema>;
625
- /**
626
- * Interface representing a request to create a actor.
627
- */
628
- type CreateRequest = z.infer<typeof CreateRequestSchema>;
629
805
 
630
806
  interface ActorInspectorEmitterEvents {
631
807
  stateUpdated: (state: unknown) => void;
@@ -661,6 +837,8 @@ declare class ActorInspector {
661
837
  executeAction(name: string, params: ArrayBuffer): Promise<ArrayBuffer>;
662
838
  getStateJson(): unknown;
663
839
  setStateJson(state: unknown): Promise<void>;
840
+ getDatabaseSchemaJson(): Promise<unknown>;
841
+ getDatabaseTableRowsJson(table: string, limit: number, offset: number): Promise<unknown[]>;
664
842
  getConnectionsJson(): {
665
843
  id: string;
666
844
  details: unknown;
@@ -981,6 +1159,7 @@ declare class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E e
981
1159
  get inspector(): ActorInspector;
982
1160
  get traces(): Traces<OtlpExportTraceServiceRequestJson>;
983
1161
  get inspectorToken(): string | undefined;
1162
+ get metrics(): ActorMetrics;
984
1163
  getCurrentTraceSpan(): SpanHandle | null;
985
1164
  startTraceSpan(name: string, attributes?: Record<string, unknown>): SpanHandle;
986
1165
  endTraceSpan(handle: SpanHandle, status?: SpanStatusInput): void;
@@ -989,6 +1168,7 @@ declare class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E e
989
1168
  get conns(): Map<ConnId, Conn<S, CP, CS, V, I, DB, E, Q>>;
990
1169
  get schedule(): Schedule;
991
1170
  get abortSignal(): AbortSignal;
1171
+ get preventSleep(): boolean;
992
1172
  get actions(): string[];
993
1173
  get config(): ActorConfig<S, CP, CS, V, I, DB, E, Q>;
994
1174
  get persist(): PersistedActor<S, I>;
@@ -1041,6 +1221,7 @@ declare class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E e
1041
1221
  * Errors are propagated to the caller.
1042
1222
  */
1043
1223
  keepAwake<T>(promise: Promise<T>): Promise<T>;
1224
+ setPreventSleep(prevent: boolean): void;
1044
1225
  beginQueueWait(): void;
1045
1226
  endQueueWait(): void;
1046
1227
  resetSleepTimer(): void;
@@ -1305,19 +1486,24 @@ interface BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatab
1305
1486
  * - Custom workflow logic
1306
1487
  *
1307
1488
  * **Important:** The actor may go to sleep at any time during the `run`
1308
- * handler. Use `c.keepAwake(promise)` to wrap async operations that should
1309
- * not be interrupted by sleep.
1489
+ * handler. Use `c.setPreventSleep(true)` while work is active, then clear
1490
+ * it with `c.setPreventSleep(false)` once the actor can sleep again.
1310
1491
  *
1311
1492
  * The handler receives an abort signal via `c.abortSignal` and a
1312
1493
  * `c.aborted` alias for loop checks. Use these to gracefully exit.
1313
1494
  *
1314
- * If this handler exits or throws, the actor will crash and reschedule.
1495
+ * If this handler exits, the actor will follow the normal idle sleep timeout
1496
+ * once it becomes idle.
1497
+ * If this handler throws, the actor logs the error and then sleeps once it
1498
+ * becomes idle.
1499
+ * Call `c.destroy()` explicitly if a run handler should destroy the actor.
1500
+ *
1315
1501
  * On shutdown, the actor waits for this handler to complete with a
1316
1502
  * configurable timeout (options.runStopTimeout, default 15s).
1317
1503
  *
1318
1504
  * Can be either a function or a RunConfig object with optional name/icon metadata.
1319
1505
  *
1320
- * @returns Void or a Promise. If the promise exits, the actor crashes.
1506
+ * @returns Void or a Promise.
1321
1507
  */
1322
1508
  run?: ((c: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => void | Promise<void>) | RunConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>;
1323
1509
  /**
@@ -1417,346 +1603,6 @@ type ActorDatabaseConfig<TDatabase extends AnyDatabaseProvider> = {
1417
1603
  } | Record<never, never>;
1418
1604
  type ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> = Omit<z.infer<typeof ActorConfigSchema>, "actions" | "events" | "queues" | "onCreate" | "onDestroy" | "onWake" | "onSleep" | "run" | "onStateChange" | "onBeforeConnect" | "onConnect" | "onDisconnect" | "onBeforeActionResponse" | "onRequest" | "onWebSocket" | "state" | "createState" | "connState" | "createConnState" | "vars" | "createVars" | "db"> & BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues, Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>> & CreateState<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & CreateConnState<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & CreateVars<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & ActorDatabaseConfig<TDatabase>;
1419
1605
 
1420
- type ManagerDriverBuilder = (config: RegistryConfig) => ManagerDriver;
1421
- interface ManagerDriver {
1422
- getForId(input: GetForIdInput): Promise<ActorOutput | undefined>;
1423
- getWithKey(input: GetWithKeyInput): Promise<ActorOutput | undefined>;
1424
- getOrCreateWithKey(input: GetOrCreateWithKeyInput): Promise<ActorOutput>;
1425
- createActor(input: CreateInput): Promise<ActorOutput>;
1426
- listActors(input: ListActorsInput): Promise<ActorOutput[]>;
1427
- sendRequest(actorId: string, actorRequest: Request): Promise<Response>;
1428
- openWebSocket(path: string, actorId: string, encoding: Encoding, params: unknown): Promise<UniversalWebSocket>;
1429
- proxyRequest(c: Context, actorRequest: Request, actorId: string): Promise<Response>;
1430
- proxyWebSocket(c: Context, path: string, actorId: string, encoding: Encoding, params: unknown): Promise<Response>;
1431
- /**
1432
- * Build a public gateway URL for a specific actor.
1433
- *
1434
- * This lives on the driver because the base endpoint varies by runtime.
1435
- */
1436
- buildGatewayUrl(actorId: string): Promise<string>;
1437
- displayInformation(): ManagerDisplayInformation;
1438
- extraStartupLog?: () => Record<string, unknown>;
1439
- modifyManagerRouter?: (config: RegistryConfig, router: Hono) => void;
1440
- /**
1441
- * Allows lazily setting getUpgradeWebSocket after the manager router has
1442
- * been initialized.
1443
- **/
1444
- setGetUpgradeWebSocket(getUpgradeWebSocket: GetUpgradeWebSocket): void;
1445
- /** Read a key. Returns null if the key doesn't exist. */
1446
- kvGet(actorId: string, key: Uint8Array): Promise<string | null>;
1447
- }
1448
- interface ManagerDisplayInformation {
1449
- properties: Record<string, string>;
1450
- }
1451
- interface GetForIdInput<E extends Env = any> {
1452
- c?: Context | undefined;
1453
- name: string;
1454
- actorId: string;
1455
- }
1456
- interface GetWithKeyInput<E extends Env = any> {
1457
- c?: Context | undefined;
1458
- name: string;
1459
- key: ActorKey;
1460
- }
1461
- interface GetOrCreateWithKeyInput<E extends Env = any> {
1462
- c?: Context | undefined;
1463
- name: string;
1464
- key: ActorKey;
1465
- input?: unknown;
1466
- region?: string;
1467
- }
1468
- interface CreateInput<E extends Env = any> {
1469
- c?: Context | undefined;
1470
- name: string;
1471
- key: ActorKey;
1472
- input?: unknown;
1473
- region?: string;
1474
- }
1475
- interface ListActorsInput<E extends Env = any> {
1476
- c?: Context | undefined;
1477
- name: string;
1478
- key?: string;
1479
- includeDestroyed?: boolean;
1480
- }
1481
- interface ActorOutput {
1482
- actorId: string;
1483
- name: string;
1484
- key: ActorKey;
1485
- createTs?: number;
1486
- startTs?: number | null;
1487
- connectableTs?: number | null;
1488
- sleepTs?: number | null;
1489
- destroyTs?: number | null;
1490
- error?: unknown;
1491
- }
1492
-
1493
- type ActorDriverBuilder = (config: RegistryConfig, managerDriver: ManagerDriver, inlineClient: AnyClient) => ActorDriver;
1494
- interface ActorDriver {
1495
- loadActor(actorId: string): Promise<AnyActorInstance>;
1496
- getContext(actorId: string): unknown;
1497
- /** Batch write multiple key-value pairs. Keys and values are Uint8Arrays. */
1498
- kvBatchPut(actorId: string, entries: [Uint8Array, Uint8Array][]): Promise<void>;
1499
- /** Batch read multiple keys. Returns null for keys that don't exist. */
1500
- kvBatchGet(actorId: string, keys: Uint8Array[]): Promise<(Uint8Array | null)[]>;
1501
- /** Batch delete multiple keys. */
1502
- kvBatchDelete(actorId: string, keys: Uint8Array[]): Promise<void>;
1503
- /** List all keys with a given prefix. */
1504
- kvListPrefix(actorId: string, prefix: Uint8Array): Promise<[Uint8Array, Uint8Array][]>;
1505
- /** ActorInstance ensure that only one instance of setAlarm is called in parallel at a time. */
1506
- setAlarm(actor: AnyActorInstance, timestamp: number): Promise<void>;
1507
- /**
1508
- * Override the default raw database client for the actor.
1509
- * If not provided, rivetkit will construct a KV-backed SQLite client.
1510
- * @experimental
1511
- */
1512
- overrideRawDatabaseClient?(actorId: string): Promise<RawDatabaseClient | undefined>;
1513
- /**
1514
- * Override the default Drizzle database client for the actor.
1515
- * If not provided, rivetkit will construct a KV-backed Drizzle client.
1516
- * @experimental
1517
- */
1518
- overrideDrizzleDatabaseClient?(actorId: string): Promise<BaseSQLiteDatabase<any, any, any, any> | undefined>;
1519
- /**
1520
- * Creates a SQLite VFS instance for creating KV-backed databases.
1521
- * If not provided, the database provider will need an override.
1522
- *
1523
- * @rivetkit/sqlite's async build is not re-entrant per module instance. Drivers
1524
- * should return a new instance per call for actor-level isolation.
1525
- *
1526
- * This is a method (not a property) so drivers can use dynamic imports,
1527
- * keeping the core driver tree-shakeable from @rivetkit/sqlite.
1528
- */
1529
- createSqliteVfs?(): SqliteVfs | Promise<SqliteVfs>;
1530
- /**
1531
- * Requests the actor to go to sleep.
1532
- *
1533
- * This will call `ActorInstance.onStop` independently.
1534
- */
1535
- startSleep?(actorId: string): void;
1536
- /**
1537
- * Destroys the actor and its associated data.
1538
- *
1539
- * This will call `ActorInstance.onStop` independently.
1540
- */
1541
- startDestroy(actorId: string): void;
1542
- /**
1543
- * Shuts down the actor runner.
1544
- */
1545
- shutdownRunner?(immediate: boolean): Promise<void>;
1546
- /** This handles the serverless start request. This should manage the lifecycle of the runner tied to the request lifecycle. */
1547
- serverlessHandleStart?(c: Context): Promise<Response>;
1548
- /** Extra properties to add to logs for each actor. */
1549
- getExtraActorLogParams?(): Record<string, string>;
1550
- onBeforeActorStart?(actor: AnyActorInstance): Promise<void>;
1551
- onCreateConn?(conn: AnyConn): void;
1552
- onDestroyConn?(conn: AnyConn): void;
1553
- onBeforePersistConn?(conn: AnyConn): void;
1554
- onAfterPersistConn?(conn: AnyConn): void;
1555
- }
1556
-
1557
- declare const ActorsSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodCustom<ActorDefinition<any, any, any, any, any, any, any, any, any>, ActorDefinition<any, any, any, any, any, any, any, any, any>>>;
1558
- type RegistryActors = z$1.infer<typeof ActorsSchema>;
1559
- declare const RegistryConfigSchema: z$1.ZodPipe<z$1.ZodObject<{
1560
- use: z$1.ZodRecord<z$1.ZodString, z$1.ZodCustom<AnyActorDefinition, AnyActorDefinition>>;
1561
- test: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
1562
- enabled: z$1.ZodBoolean;
1563
- }, z$1.core.$strip>>>;
1564
- driver: z$1.ZodOptional<z$1.ZodObject<{
1565
- name: z$1.ZodString;
1566
- displayName: z$1.ZodString;
1567
- manager: z$1.ZodCustom<ManagerDriverBuilder, ManagerDriverBuilder>;
1568
- actor: z$1.ZodCustom<ActorDriverBuilder, ActorDriverBuilder>;
1569
- autoStartActorDriver: z$1.ZodBoolean;
1570
- }, z$1.core.$strip>>;
1571
- storagePath: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1572
- maxIncomingMessageSize: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
1573
- maxOutgoingMessageSize: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
1574
- noWelcome: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBoolean>>;
1575
- logging: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
1576
- baseLogger: z$1.ZodOptional<z$1.ZodCustom<Logger, Logger>>;
1577
- level: z$1.ZodOptional<z$1.ZodEnum<{
1578
- error: "error";
1579
- trace: "trace";
1580
- fatal: "fatal";
1581
- warn: "warn";
1582
- info: "info";
1583
- debug: "debug";
1584
- silent: "silent";
1585
- }>>;
1586
- }, z$1.core.$strip>>>;
1587
- endpoint: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1588
- token: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1589
- namespace: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1590
- headers: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodString>>>;
1591
- serveManager: z$1.ZodOptional<z$1.ZodBoolean>;
1592
- managerBasePath: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodString>>;
1593
- managerPort: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
1594
- managerHost: z$1.ZodOptional<z$1.ZodString>;
1595
- inspector: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
1596
- enabled: z$1.ZodDefault<z$1.ZodBoolean>;
1597
- token: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCustom<() => string, () => string>>>;
1598
- defaultEndpoint: z$1.ZodOptional<z$1.ZodString>;
1599
- }, z$1.core.$strip>>>;
1600
- serverless: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
1601
- spawnEngine: z$1.ZodDefault<z$1.ZodBoolean>;
1602
- engineVersion: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodString>>;
1603
- configureRunnerPool: z$1.ZodOptional<z$1.ZodOptional<z$1.ZodObject<{
1604
- name: z$1.ZodOptional<z$1.ZodString>;
1605
- url: z$1.ZodString;
1606
- headers: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodString>>;
1607
- maxRunners: z$1.ZodOptional<z$1.ZodNumber>;
1608
- minRunners: z$1.ZodOptional<z$1.ZodNumber>;
1609
- requestLifespan: z$1.ZodOptional<z$1.ZodNumber>;
1610
- runnersMargin: z$1.ZodOptional<z$1.ZodNumber>;
1611
- slotsPerRunner: z$1.ZodOptional<z$1.ZodNumber>;
1612
- metadata: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>;
1613
- metadataPollInterval: z$1.ZodOptional<z$1.ZodNumber>;
1614
- drainOnVersionUpgrade: z$1.ZodOptional<z$1.ZodBoolean>;
1615
- }, z$1.core.$strip>>>;
1616
- basePath: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodString>>;
1617
- publicEndpoint: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1618
- publicToken: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1619
- }, z$1.core.$strip>>>;
1620
- runner: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
1621
- totalSlots: z$1.ZodDefault<z$1.ZodNumber>;
1622
- runnerName: z$1.ZodDefault<z$1.ZodString>;
1623
- runnerKey: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1624
- version: z$1.ZodDefault<z$1.ZodNumber>;
1625
- }, z$1.core.$strip>>>;
1626
- }, z$1.core.$strip>, z$1.ZodTransform<{
1627
- endpoint: string | undefined;
1628
- namespace: string;
1629
- token: string | undefined;
1630
- serveManager: boolean;
1631
- publicEndpoint: string | undefined;
1632
- publicNamespace: string | undefined;
1633
- publicToken: string | undefined;
1634
- inspector: {
1635
- enabled: boolean;
1636
- token: () => string;
1637
- defaultEndpoint?: string | undefined;
1638
- } | {
1639
- enabled: {
1640
- manager: boolean;
1641
- actor: boolean;
1642
- };
1643
- token: () => string;
1644
- defaultEndpoint?: string | undefined;
1645
- };
1646
- serverless: {
1647
- publicEndpoint: string | undefined;
1648
- spawnEngine: boolean;
1649
- engineVersion: string;
1650
- basePath: string;
1651
- publicToken: string | undefined;
1652
- configureRunnerPool?: {
1653
- url: string;
1654
- name?: string | undefined;
1655
- headers?: Record<string, string> | undefined;
1656
- maxRunners?: number | undefined;
1657
- minRunners?: number | undefined;
1658
- requestLifespan?: number | undefined;
1659
- runnersMargin?: number | undefined;
1660
- slotsPerRunner?: number | undefined;
1661
- metadata?: Record<string, unknown> | undefined;
1662
- metadataPollInterval?: number | undefined;
1663
- drainOnVersionUpgrade?: boolean | undefined;
1664
- } | undefined;
1665
- };
1666
- use: Record<string, AnyActorDefinition>;
1667
- test: {
1668
- enabled: boolean;
1669
- };
1670
- storagePath: string | undefined;
1671
- maxIncomingMessageSize: number;
1672
- maxOutgoingMessageSize: number;
1673
- noWelcome: boolean;
1674
- logging: {
1675
- baseLogger?: Logger | undefined;
1676
- level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
1677
- };
1678
- headers: Record<string, string>;
1679
- managerBasePath: string;
1680
- managerPort: number;
1681
- runner: {
1682
- totalSlots: number;
1683
- runnerName: string;
1684
- runnerKey: string | undefined;
1685
- version: number;
1686
- };
1687
- driver?: {
1688
- name: string;
1689
- displayName: string;
1690
- manager: ManagerDriverBuilder;
1691
- actor: ActorDriverBuilder;
1692
- autoStartActorDriver: boolean;
1693
- } | undefined;
1694
- managerHost?: string | undefined;
1695
- }, {
1696
- use: Record<string, AnyActorDefinition>;
1697
- test: {
1698
- enabled: boolean;
1699
- };
1700
- storagePath: string | undefined;
1701
- maxIncomingMessageSize: number;
1702
- maxOutgoingMessageSize: number;
1703
- noWelcome: boolean;
1704
- logging: {
1705
- baseLogger?: Logger | undefined;
1706
- level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
1707
- };
1708
- endpoint: string | undefined;
1709
- token: string | undefined;
1710
- namespace: string | undefined;
1711
- headers: Record<string, string>;
1712
- managerBasePath: string;
1713
- managerPort: number;
1714
- inspector: {
1715
- enabled: boolean;
1716
- token: () => string;
1717
- defaultEndpoint?: string | undefined;
1718
- };
1719
- serverless: {
1720
- spawnEngine: boolean;
1721
- engineVersion: string;
1722
- basePath: string;
1723
- publicEndpoint: string | undefined;
1724
- publicToken: string | undefined;
1725
- configureRunnerPool?: {
1726
- url: string;
1727
- name?: string | undefined;
1728
- headers?: Record<string, string> | undefined;
1729
- maxRunners?: number | undefined;
1730
- minRunners?: number | undefined;
1731
- requestLifespan?: number | undefined;
1732
- runnersMargin?: number | undefined;
1733
- slotsPerRunner?: number | undefined;
1734
- metadata?: Record<string, unknown> | undefined;
1735
- metadataPollInterval?: number | undefined;
1736
- drainOnVersionUpgrade?: boolean | undefined;
1737
- } | undefined;
1738
- };
1739
- runner: {
1740
- totalSlots: number;
1741
- runnerName: string;
1742
- runnerKey: string | undefined;
1743
- version: number;
1744
- };
1745
- driver?: {
1746
- name: string;
1747
- displayName: string;
1748
- manager: ManagerDriverBuilder;
1749
- actor: ActorDriverBuilder;
1750
- autoStartActorDriver: boolean;
1751
- } | undefined;
1752
- serveManager?: boolean | undefined;
1753
- managerHost?: string | undefined;
1754
- }>>;
1755
- type RegistryConfig = z$1.infer<typeof RegistryConfigSchema>;
1756
- type RegistryConfigInput<A extends RegistryActors> = Omit<z$1.input<typeof RegistryConfigSchema>, "use"> & {
1757
- use: A;
1758
- };
1759
-
1760
1606
  type AnyActorDefinition = ActorDefinition<any, any, any, any, any, any, any, any, any>;
1761
1607
  declare class ActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E extends EventSchemaConfig = Record<never, never>, Q extends QueueSchemaConfig = Record<never, never>, R extends Actions<S, CP, CS, V, I, DB, E, Q> = Actions<S, CP, CS, V, I, DB, E, Q>> {
1762
1608
  #private;
@@ -1765,6 +1611,21 @@ declare class ActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E
1765
1611
  instantiate(): ActorInstance<S, CP, CS, V, I, DB, E, Q>;
1766
1612
  }
1767
1613
 
1614
+ interface QueueSendWaitOptions {
1615
+ wait: true;
1616
+ timeout?: number;
1617
+ signal?: AbortSignal;
1618
+ }
1619
+ interface QueueSendNoWaitOptions {
1620
+ wait?: false;
1621
+ timeout?: never;
1622
+ signal?: AbortSignal;
1623
+ }
1624
+ interface QueueSendResult<TResponse = unknown> {
1625
+ status: "completed" | "timedOut";
1626
+ response?: TResponse;
1627
+ }
1628
+
1768
1629
  /**
1769
1630
  * Action function returned by Actor connections and handles.
1770
1631
  *
@@ -1781,6 +1642,23 @@ type ActorActionFunction<Args extends Array<unknown> = unknown[], Response = unk
1781
1642
  type ActorDefinitionActions<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, any, any, any, any, infer R> ? {
1782
1643
  [K in keyof R]: R[K] extends (...args: infer Args) => infer Return ? ActorActionFunction<Args, Return> : never;
1783
1644
  } : never;
1645
+ type ActorQueueSend<TQueues extends QueueSchemaConfig> = {
1646
+ <K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K], options: QueueSendWaitOptions): Promise<QueueSendResult<InferQueueCompleteMap<TQueues>[K]>>;
1647
+ <K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K], options?: QueueSendNoWaitOptions): Promise<void>;
1648
+ (name: keyof TQueues extends never ? string : never, body: unknown, options: QueueSendWaitOptions): Promise<QueueSendResult>;
1649
+ (name: keyof TQueues extends never ? string : never, body: unknown, options?: QueueSendNoWaitOptions): Promise<void>;
1650
+ };
1651
+ type ActorEventSubscribe<TEvents extends EventSchemaConfig> = {
1652
+ <K extends keyof TEvents & string>(eventName: K, callback: (...args: InferEventArgs<InferSchemaMap<TEvents>[K]>) => void): () => void;
1653
+ (eventName: keyof TEvents extends never ? string : never, callback: (...args: any[]) => void): () => void;
1654
+ };
1655
+ type ActorDefinitionQueueSend<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, any, any, any, infer Q, any> ? Q extends QueueSchemaConfig ? {
1656
+ send: ActorQueueSend<Q>;
1657
+ } : never : never;
1658
+ type ActorDefinitionEventSubscriptions<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, any, any, infer E, any, any> ? E extends EventSchemaConfig ? {
1659
+ on: ActorEventSubscribe<E>;
1660
+ once: ActorEventSubscribe<E>;
1661
+ } : never : never;
1784
1662
 
1785
1663
  declare class ActorClientError extends Error {
1786
1664
  }
@@ -1803,21 +1681,6 @@ declare class ActorConnDisposed extends ActorClientError {
1803
1681
  constructor();
1804
1682
  }
1805
1683
 
1806
- interface QueueSendWaitOptions {
1807
- wait: true;
1808
- timeout?: number;
1809
- signal?: AbortSignal;
1810
- }
1811
- interface QueueSendNoWaitOptions {
1812
- wait?: false;
1813
- timeout?: never;
1814
- signal?: AbortSignal;
1815
- }
1816
- interface QueueSendResult {
1817
- status: "completed" | "timedOut";
1818
- response?: unknown;
1819
- }
1820
-
1821
1684
  /**
1822
1685
  * Connection status for an actor connection.
1823
1686
  *
@@ -1866,7 +1729,7 @@ declare class ActorConnRaw {
1866
1729
  *
1867
1730
  * @protected
1868
1731
  */
1869
- constructor(client: ClientRaw, driver: ManagerDriver, params: unknown, encoding: Encoding, actorQuery: ActorQuery);
1732
+ constructor(client: ClientRaw, driver: ManagerDriver, params: unknown, getParams: (() => Promise<unknown>) | undefined, encoding: Encoding, actorQuery: ActorQuery);
1870
1733
  send(name: string, body: unknown, options: QueueSendWaitOptions): Promise<QueueSendResult>;
1871
1734
  send(name: string, body: unknown, options?: QueueSendNoWaitOptions): Promise<void>;
1872
1735
  /**
@@ -1981,7 +1844,7 @@ declare class ActorConnRaw {
1981
1844
  * @template AD The actor class that this connection is for.
1982
1845
  * @see {@link ActorConnRaw}
1983
1846
  */
1984
- type ActorConn<AD extends AnyActorDefinition> = ActorConnRaw & ActorDefinitionActions<AD>;
1847
+ type ActorConn<AD extends AnyActorDefinition> = Omit<ActorConnRaw, "send" | "on" | "once"> & ActorDefinitionQueueSend<AD> & ActorDefinitionEventSubscriptions<AD> & ActorDefinitionActions<AD>;
1985
1848
 
1986
1849
  /**
1987
1850
  * Provides underlying functions for stateless {@link ActorHandle} for action calls.
@@ -1998,7 +1861,7 @@ declare class ActorHandleRaw {
1998
1861
  *
1999
1862
  * @protected
2000
1863
  */
2001
- constructor(client: any, driver: ManagerDriver, params: unknown, encoding: Encoding, actorQuery: ActorQuery);
1864
+ constructor(client: any, driver: ManagerDriver, params: unknown, getParams: (() => Promise<unknown>) | undefined, encoding: Encoding, actorQuery: ActorQuery);
2002
1865
  send(name: string, body: unknown, options: QueueSendWaitOptions): Promise<QueueSendResult>;
2003
1866
  send(name: string, body: unknown, options?: QueueSendNoWaitOptions): Promise<void>;
2004
1867
  /**
@@ -2054,26 +1917,26 @@ declare class ActorHandleRaw {
2054
1917
  * @template AD The actor class that this handle is for.
2055
1918
  * @see {@link ActorHandleRaw}
2056
1919
  */
2057
- type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect"> & {
1920
+ type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect" | "send"> & {
2058
1921
  connect(): ActorConn<AD>;
2059
1922
  resolve(): Promise<string>;
2060
- } & ActorDefinitionActions<AD>;
1923
+ } & ActorDefinitionQueueSend<AD> & ActorDefinitionActions<AD>;
2061
1924
 
2062
- declare const ClientConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
2063
- endpoint: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string, string | undefined>>;
2064
- token: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2065
- namespace: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2066
- runnerName: z$2.ZodDefault<z$2.ZodString>;
2067
- encoding: z$2.ZodDefault<z$2.ZodEnum<{
1925
+ declare const ClientConfigSchema: z$1.ZodPipe<z$1.ZodObject<{
1926
+ endpoint: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string, string | undefined>>;
1927
+ token: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1928
+ namespace: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
1929
+ runnerName: z$1.ZodDefault<z$1.ZodString>;
1930
+ encoding: z$1.ZodDefault<z$1.ZodEnum<{
2068
1931
  json: "json";
2069
1932
  cbor: "cbor";
2070
1933
  bare: "bare";
2071
1934
  }>>;
2072
- headers: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodString>>>;
2073
- getUpgradeWebSocket: z$2.ZodOptional<z$2.ZodCustom<GetUpgradeWebSocket, GetUpgradeWebSocket>>;
2074
- disableMetadataLookup: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodBoolean>>;
2075
- devtools: z$2.ZodDefault<z$2.ZodBoolean>;
2076
- }, z$2.core.$strip>, z$2.ZodTransform<{
1935
+ headers: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodString>>>;
1936
+ getUpgradeWebSocket: z$1.ZodOptional<z$1.ZodCustom<GetUpgradeWebSocket, GetUpgradeWebSocket>>;
1937
+ disableMetadataLookup: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBoolean>>;
1938
+ devtools: z$1.ZodDefault<z$1.ZodBoolean>;
1939
+ }, z$1.core.$strip>, z$1.ZodTransform<{
2077
1940
  endpoint: string | undefined;
2078
1941
  namespace: string;
2079
1942
  token: string | undefined;
@@ -2094,7 +1957,7 @@ declare const ClientConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
2094
1957
  devtools: boolean;
2095
1958
  getUpgradeWebSocket?: GetUpgradeWebSocket | undefined;
2096
1959
  }>>;
2097
- type ClientConfigInput = z$2.input<typeof ClientConfigSchema>;
1960
+ type ClientConfigInput = z$1.input<typeof ClientConfigSchema>;
2098
1961
 
2099
1962
  /** Extract the actor registry from the registry definition. */
2100
1963
  type ExtractActorsFromRegistry<A extends Registry<any>> = A extends Registry<infer Actors> ? Actors : never;
@@ -2152,6 +2015,11 @@ interface ActorAccessor<AD extends AnyActorDefinition> {
2152
2015
  interface QueryOptions {
2153
2016
  /** Parameters to pass to the connection. */
2154
2017
  params?: unknown;
2018
+ /**
2019
+ * Lazily resolves connection parameters for `.connect()` and `.webSocket()`.
2020
+ * This is called each time a new connection is opened.
2021
+ */
2022
+ getParams?: () => Promise<unknown>;
2155
2023
  /** Signal to abort the request. */
2156
2024
  signal?: AbortSignal;
2157
2025
  }
@@ -2282,34 +2150,104 @@ type Client<A extends Registry<any>> = ClientRaw & {
2282
2150
  };
2283
2151
  type AnyClient = Client<Registry<any>>;
2284
2152
 
2285
- declare const LegacyRunnerConfigSchema: z.ZodDefault<z.ZodPipe<z.ZodObject<{
2286
- driver: z.ZodOptional<z.ZodObject<{
2287
- name: z.ZodString;
2288
- manager: z.ZodCustom<ManagerDriverBuilder, ManagerDriverBuilder>;
2289
- actor: z.ZodCustom<ActorDriverBuilder, ActorDriverBuilder>;
2290
- }, z.core.$strip>>;
2291
- maxIncomingMessageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2292
- maxOutgoingMessageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2293
- inspector: z.ZodDefault<z.ZodOptional<z.ZodObject<{
2294
- enabled: z.ZodDefault<z.ZodBoolean>;
2295
- token: z.ZodDefault<z.ZodOptional<z.ZodCustom<() => string, () => string>>>;
2296
- defaultEndpoint: z.ZodOptional<z.ZodString>;
2297
- }, z.core.$strip>>>;
2298
- disableDefaultServer: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2299
- defaultServerPort: z.ZodDefault<z.ZodNumber>;
2300
- runEngine: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2301
- runEngineVersion: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2302
- overrideServerAddress: z.ZodOptional<z.ZodString>;
2303
- disableActorDriver: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2304
- runnerKind: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2305
- serverless: "serverless";
2306
- normal: "normal";
2307
- }>>>;
2308
- basePath: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2309
- noWelcome: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2310
- logging: z.ZodDefault<z.ZodOptional<z.ZodObject<{
2311
- baseLogger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
2312
- level: z.ZodOptional<z.ZodEnum<{
2153
+ type ActorDriverBuilder = (config: RegistryConfig, managerDriver: ManagerDriver, inlineClient: AnyClient) => ActorDriver;
2154
+ interface ActorDriver {
2155
+ loadActor(actorId: string): Promise<AnyActorInstance>;
2156
+ getContext(actorId: string): unknown;
2157
+ /** Batch write multiple key-value pairs. Keys and values are Uint8Arrays. */
2158
+ kvBatchPut(actorId: string, entries: [Uint8Array, Uint8Array][]): Promise<void>;
2159
+ /** Batch read multiple keys. Returns null for keys that don't exist. */
2160
+ kvBatchGet(actorId: string, keys: Uint8Array[]): Promise<(Uint8Array | null)[]>;
2161
+ /** Batch delete multiple keys. */
2162
+ kvBatchDelete(actorId: string, keys: Uint8Array[]): Promise<void>;
2163
+ /** Delete all keys in the half-open range [start, end). */
2164
+ kvDeleteRange(actorId: string, start: Uint8Array, end: Uint8Array): Promise<void>;
2165
+ /** List all keys with a given prefix. */
2166
+ kvListPrefix(actorId: string, prefix: Uint8Array, options?: {
2167
+ reverse?: boolean;
2168
+ limit?: number;
2169
+ }): Promise<[Uint8Array, Uint8Array][]>;
2170
+ /** List all keys in the half-open range [start, end). */
2171
+ kvListRange(actorId: string, start: Uint8Array, end: Uint8Array, options?: {
2172
+ reverse?: boolean;
2173
+ limit?: number;
2174
+ }): Promise<[Uint8Array, Uint8Array][]>;
2175
+ /** ActorInstance ensure that only one instance of setAlarm is called in parallel at a time. */
2176
+ setAlarm(actor: AnyActorInstance, timestamp: number): Promise<void>;
2177
+ /**
2178
+ * Override the default raw database client for the actor.
2179
+ * If not provided, rivetkit will construct a KV-backed SQLite client.
2180
+ * @experimental
2181
+ */
2182
+ overrideRawDatabaseClient?(actorId: string): Promise<RawDatabaseClient | undefined>;
2183
+ /**
2184
+ * Override the default Drizzle database client for the actor.
2185
+ * If not provided, rivetkit will construct a KV-backed Drizzle client.
2186
+ * @experimental
2187
+ */
2188
+ overrideDrizzleDatabaseClient?(actorId: string): Promise<BaseSQLiteDatabase<any, any, any, any> | undefined>;
2189
+ /**
2190
+ * Creates a SQLite VFS instance for creating KV-backed databases.
2191
+ * If not provided, the database provider will need an override.
2192
+ *
2193
+ * Drivers may use the actorId for pool-based instance assignment.
2194
+ *
2195
+ * This is a method (not a property) so drivers can use dynamic imports,
2196
+ * keeping the core driver tree-shakeable from @rivetkit/sqlite.
2197
+ */
2198
+ createSqliteVfs?(actorId: string): ISqliteVfs | Promise<ISqliteVfs>;
2199
+ /**
2200
+ * Requests the actor to go to sleep.
2201
+ *
2202
+ * This will call `ActorInstance.onStop` independently.
2203
+ */
2204
+ startSleep?(actorId: string): void;
2205
+ /**
2206
+ * Destroys the actor and its associated data.
2207
+ *
2208
+ * This will call `ActorInstance.onStop` independently.
2209
+ */
2210
+ startDestroy(actorId: string): void;
2211
+ /**
2212
+ * Shuts down the actor runner.
2213
+ */
2214
+ shutdownRunner?(immediate: boolean): Promise<void>;
2215
+ /** This handles the serverless start request. This should manage the lifecycle of the runner tied to the request lifecycle. */
2216
+ serverlessHandleStart?(c: Context): Promise<Response>;
2217
+ /** Extra properties to add to logs for each actor. */
2218
+ getExtraActorLogParams?(): Record<string, string>;
2219
+ onBeforeActorStart?(actor: AnyActorInstance): Promise<void>;
2220
+ onCreateConn?(conn: AnyConn): void;
2221
+ onDestroyConn?(conn: AnyConn): void;
2222
+ onBeforePersistConn?(conn: AnyConn): void;
2223
+ onAfterPersistConn?(conn: AnyConn): void;
2224
+ }
2225
+
2226
+ declare const ActorsSchema: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<ActorDefinition<any, any, any, any, any, any, any, any, any>, ActorDefinition<any, any, any, any, any, any, any, any, any>>>;
2227
+ type RegistryActors = z$2.infer<typeof ActorsSchema>;
2228
+ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
2229
+ use: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<AnyActorDefinition, AnyActorDefinition>>;
2230
+ test: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
2231
+ enabled: z$2.ZodBoolean;
2232
+ }, z$2.core.$strip>>>;
2233
+ driver: z$2.ZodOptional<z$2.ZodObject<{
2234
+ name: z$2.ZodString;
2235
+ displayName: z$2.ZodString;
2236
+ manager: z$2.ZodCustom<ManagerDriverBuilder, ManagerDriverBuilder>;
2237
+ actor: z$2.ZodCustom<ActorDriverBuilder, ActorDriverBuilder>;
2238
+ autoStartActorDriver: z$2.ZodBoolean;
2239
+ }, z$2.core.$strip>>;
2240
+ storagePath: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2241
+ sqlitePool: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
2242
+ actorsPerInstance: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
2243
+ idleDestroyMs: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
2244
+ }, z$2.core.$strip>>>;
2245
+ maxIncomingMessageSize: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
2246
+ maxOutgoingMessageSize: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
2247
+ noWelcome: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodBoolean>>;
2248
+ logging: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
2249
+ baseLogger: z$2.ZodOptional<z$2.ZodCustom<Logger, Logger>>;
2250
+ level: z$2.ZodOptional<z$2.ZodEnum<{
2313
2251
  error: "error";
2314
2252
  trace: "trace";
2315
2253
  fatal: "fatal";
@@ -2318,139 +2256,195 @@ declare const LegacyRunnerConfigSchema: z.ZodDefault<z.ZodPipe<z.ZodObject<{
2318
2256
  debug: "debug";
2319
2257
  silent: "silent";
2320
2258
  }>>;
2321
- }, z.core.$strip>>>;
2322
- autoConfigureServerless: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2323
- url: z.ZodOptional<z.ZodString>;
2324
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2325
- maxRunners: z.ZodOptional<z.ZodNumber>;
2326
- minRunners: z.ZodOptional<z.ZodNumber>;
2327
- requestLifespan: z.ZodOptional<z.ZodNumber>;
2328
- runnersMargin: z.ZodOptional<z.ZodNumber>;
2329
- slotsPerRunner: z.ZodOptional<z.ZodNumber>;
2330
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2331
- }, z.core.$strip>]>>;
2332
- endpoint: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string, string | undefined>>;
2333
- token: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
2334
- namespace: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
2335
- runnerName: z.ZodDefault<z.ZodString>;
2336
- encoding: z.ZodDefault<z.ZodEnum<{
2337
- json: "json";
2338
- cbor: "cbor";
2339
- bare: "bare";
2340
- }>>;
2341
- headers: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
2342
- getUpgradeWebSocket: z.ZodOptional<z.ZodCustom<GetUpgradeWebSocket, GetUpgradeWebSocket>>;
2343
- disableMetadataLookup: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2344
- devtools: z.ZodDefault<z.ZodBoolean>;
2345
- runnerKey: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
2346
- totalSlots: z.ZodDefault<z.ZodNumber>;
2347
- }, z.core.$strip>, z.ZodTransform<{
2348
- runnerKey: string | undefined;
2259
+ }, z$2.core.$strip>>>;
2260
+ endpoint: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2261
+ token: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2262
+ namespace: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2263
+ headers: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodString>>>;
2264
+ serveManager: z$2.ZodOptional<z$2.ZodBoolean>;
2265
+ publicDir: z$2.ZodOptional<z$2.ZodString>;
2266
+ managerBasePath: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
2267
+ managerPort: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
2268
+ managerHost: z$2.ZodOptional<z$2.ZodString>;
2269
+ inspector: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
2270
+ enabled: z$2.ZodDefault<z$2.ZodBoolean>;
2271
+ token: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodCustom<() => string, () => string>>>;
2272
+ defaultEndpoint: z$2.ZodOptional<z$2.ZodString>;
2273
+ }, z$2.core.$strip>>>;
2274
+ serverless: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
2275
+ spawnEngine: z$2.ZodDefault<z$2.ZodBoolean>;
2276
+ engineVersion: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
2277
+ configureRunnerPool: z$2.ZodOptional<z$2.ZodOptional<z$2.ZodObject<{
2278
+ name: z$2.ZodOptional<z$2.ZodString>;
2279
+ url: z$2.ZodString;
2280
+ headers: z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodString>>;
2281
+ maxRunners: z$2.ZodOptional<z$2.ZodNumber>;
2282
+ minRunners: z$2.ZodOptional<z$2.ZodNumber>;
2283
+ requestLifespan: z$2.ZodOptional<z$2.ZodNumber>;
2284
+ runnersMargin: z$2.ZodOptional<z$2.ZodNumber>;
2285
+ slotsPerRunner: z$2.ZodOptional<z$2.ZodNumber>;
2286
+ metadata: z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>>;
2287
+ metadataPollInterval: z$2.ZodOptional<z$2.ZodNumber>;
2288
+ drainOnVersionUpgrade: z$2.ZodOptional<z$2.ZodBoolean>;
2289
+ }, z$2.core.$strip>>>;
2290
+ basePath: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
2291
+ publicEndpoint: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2292
+ publicToken: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
2293
+ }, z$2.core.$strip>>>;
2294
+ runner: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
2295
+ totalSlots: z$2.ZodDefault<z$2.ZodNumber>;
2296
+ runnerName: z$2.ZodDefault<z$2.ZodString>;
2297
+ runnerKey: z$2.ZodOptional<z$2.ZodString>;
2298
+ version: z$2.ZodDefault<z$2.ZodNumber>;
2299
+ }, z$2.core.$strip>>>;
2300
+ }, z$2.core.$strip>, z$2.ZodTransform<{
2349
2301
  endpoint: string | undefined;
2350
2302
  namespace: string;
2351
2303
  token: string | undefined;
2352
- runnerName: string;
2353
- encoding: "json" | "cbor" | "bare";
2354
- headers: Record<string, string>;
2355
- disableMetadataLookup: boolean;
2356
- devtools: boolean;
2357
- getUpgradeWebSocket?: GetUpgradeWebSocket | undefined;
2358
- maxIncomingMessageSize: number;
2359
- maxOutgoingMessageSize: number;
2304
+ serveManager: boolean;
2305
+ publicEndpoint: string | undefined;
2306
+ publicNamespace: string | undefined;
2307
+ publicToken: string | undefined;
2360
2308
  inspector: {
2361
2309
  enabled: boolean;
2362
2310
  token: () => string;
2363
2311
  defaultEndpoint?: string | undefined;
2312
+ } | {
2313
+ enabled: {
2314
+ manager: boolean;
2315
+ actor: boolean;
2316
+ };
2317
+ token: () => string;
2318
+ defaultEndpoint?: string | undefined;
2364
2319
  };
2365
- disableDefaultServer: boolean;
2366
- defaultServerPort: number;
2367
- runEngine: boolean;
2368
- runEngineVersion: string;
2369
- disableActorDriver: boolean;
2370
- runnerKind: "serverless" | "normal";
2371
- basePath: string;
2320
+ serverless: {
2321
+ publicEndpoint: string | undefined;
2322
+ spawnEngine: boolean;
2323
+ engineVersion: string;
2324
+ basePath: string;
2325
+ publicToken: string | undefined;
2326
+ configureRunnerPool?: {
2327
+ url: string;
2328
+ name?: string | undefined;
2329
+ headers?: Record<string, string> | undefined;
2330
+ maxRunners?: number | undefined;
2331
+ minRunners?: number | undefined;
2332
+ requestLifespan?: number | undefined;
2333
+ runnersMargin?: number | undefined;
2334
+ slotsPerRunner?: number | undefined;
2335
+ metadata?: Record<string, unknown> | undefined;
2336
+ metadataPollInterval?: number | undefined;
2337
+ drainOnVersionUpgrade?: boolean | undefined;
2338
+ } | undefined;
2339
+ };
2340
+ use: Record<string, AnyActorDefinition>;
2341
+ test: {
2342
+ enabled: boolean;
2343
+ };
2344
+ storagePath: string | undefined;
2345
+ sqlitePool: {
2346
+ actorsPerInstance: number;
2347
+ idleDestroyMs: number;
2348
+ };
2349
+ maxIncomingMessageSize: number;
2350
+ maxOutgoingMessageSize: number;
2372
2351
  noWelcome: boolean;
2373
2352
  logging: {
2374
2353
  baseLogger?: Logger | undefined;
2375
2354
  level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
2376
2355
  };
2377
- totalSlots: number;
2356
+ headers: Record<string, string>;
2357
+ managerBasePath: string;
2358
+ managerPort: number;
2359
+ runner: {
2360
+ totalSlots: number;
2361
+ runnerName: string;
2362
+ version: number;
2363
+ runnerKey?: string | undefined;
2364
+ };
2378
2365
  driver?: {
2379
2366
  name: string;
2367
+ displayName: string;
2380
2368
  manager: ManagerDriverBuilder;
2381
2369
  actor: ActorDriverBuilder;
2370
+ autoStartActorDriver: boolean;
2382
2371
  } | undefined;
2383
- overrideServerAddress?: string | undefined;
2384
- autoConfigureServerless?: boolean | {
2385
- url?: string | undefined;
2386
- headers?: Record<string, string> | undefined;
2387
- maxRunners?: number | undefined;
2388
- minRunners?: number | undefined;
2389
- requestLifespan?: number | undefined;
2390
- runnersMargin?: number | undefined;
2391
- slotsPerRunner?: number | undefined;
2392
- metadata?: Record<string, unknown> | undefined;
2393
- } | undefined;
2372
+ publicDir?: string | undefined;
2373
+ managerHost?: string | undefined;
2394
2374
  }, {
2395
- maxIncomingMessageSize: number;
2396
- maxOutgoingMessageSize: number;
2397
- inspector: {
2375
+ use: Record<string, AnyActorDefinition>;
2376
+ test: {
2398
2377
  enabled: boolean;
2399
- token: () => string;
2400
- defaultEndpoint?: string | undefined;
2401
2378
  };
2402
- disableDefaultServer: boolean;
2403
- defaultServerPort: number;
2404
- runEngine: boolean;
2405
- runEngineVersion: string;
2406
- disableActorDriver: boolean;
2407
- runnerKind: "serverless" | "normal";
2408
- basePath: string;
2379
+ storagePath: string | undefined;
2380
+ sqlitePool: {
2381
+ actorsPerInstance: number;
2382
+ idleDestroyMs: number;
2383
+ };
2384
+ maxIncomingMessageSize: number;
2385
+ maxOutgoingMessageSize: number;
2409
2386
  noWelcome: boolean;
2410
2387
  logging: {
2411
2388
  baseLogger?: Logger | undefined;
2412
2389
  level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
2413
2390
  };
2414
- endpoint: string;
2391
+ endpoint: string | undefined;
2415
2392
  token: string | undefined;
2416
2393
  namespace: string | undefined;
2417
- runnerName: string;
2418
- encoding: "json" | "cbor" | "bare";
2419
2394
  headers: Record<string, string>;
2420
- disableMetadataLookup: boolean;
2421
- devtools: boolean;
2422
- runnerKey: string | undefined;
2423
- totalSlots: number;
2395
+ managerBasePath: string;
2396
+ managerPort: number;
2397
+ inspector: {
2398
+ enabled: boolean;
2399
+ token: () => string;
2400
+ defaultEndpoint?: string | undefined;
2401
+ };
2402
+ serverless: {
2403
+ spawnEngine: boolean;
2404
+ engineVersion: string;
2405
+ basePath: string;
2406
+ publicEndpoint: string | undefined;
2407
+ publicToken: string | undefined;
2408
+ configureRunnerPool?: {
2409
+ url: string;
2410
+ name?: string | undefined;
2411
+ headers?: Record<string, string> | undefined;
2412
+ maxRunners?: number | undefined;
2413
+ minRunners?: number | undefined;
2414
+ requestLifespan?: number | undefined;
2415
+ runnersMargin?: number | undefined;
2416
+ slotsPerRunner?: number | undefined;
2417
+ metadata?: Record<string, unknown> | undefined;
2418
+ metadataPollInterval?: number | undefined;
2419
+ drainOnVersionUpgrade?: boolean | undefined;
2420
+ } | undefined;
2421
+ };
2422
+ runner: {
2423
+ totalSlots: number;
2424
+ runnerName: string;
2425
+ version: number;
2426
+ runnerKey?: string | undefined;
2427
+ };
2424
2428
  driver?: {
2425
2429
  name: string;
2430
+ displayName: string;
2426
2431
  manager: ManagerDriverBuilder;
2427
2432
  actor: ActorDriverBuilder;
2433
+ autoStartActorDriver: boolean;
2428
2434
  } | undefined;
2429
- overrideServerAddress?: string | undefined;
2430
- autoConfigureServerless?: boolean | {
2431
- url?: string | undefined;
2432
- headers?: Record<string, string> | undefined;
2433
- maxRunners?: number | undefined;
2434
- minRunners?: number | undefined;
2435
- requestLifespan?: number | undefined;
2436
- runnersMargin?: number | undefined;
2437
- slotsPerRunner?: number | undefined;
2438
- metadata?: Record<string, unknown> | undefined;
2439
- } | undefined;
2440
- getUpgradeWebSocket?: GetUpgradeWebSocket | undefined;
2441
- }>>>;
2442
- type LegacyRunnerConfigInput = z.input<typeof LegacyRunnerConfigSchema>;
2435
+ serveManager?: boolean | undefined;
2436
+ publicDir?: string | undefined;
2437
+ managerHost?: string | undefined;
2438
+ }>>;
2439
+ type RegistryConfig = z$2.infer<typeof RegistryConfigSchema>;
2440
+ type RegistryConfigInput<A extends RegistryActors> = Omit<z$2.input<typeof RegistryConfigSchema>, "use"> & {
2441
+ use: A;
2442
+ };
2443
2443
 
2444
2444
  type FetchHandler = (request: Request, ...args: any) => Response | Promise<Response>;
2445
2445
  interface ServerlessHandler {
2446
2446
  fetch: FetchHandler;
2447
2447
  }
2448
- interface LegacyStartServerOutput<A extends Registry<any>> {
2449
- /** Client to communicate with the actors. */
2450
- client: Client<A>;
2451
- /** Fetch handler to manually route requests to the Rivet manager API. */
2452
- fetch: FetchHandler;
2453
- }
2454
2448
  declare class Registry<A extends RegistryActors> {
2455
2449
  #private;
2456
2450
  get config(): RegistryConfigInput<A>;
@@ -2481,11 +2475,22 @@ declare class Registry<A extends RegistryActors> {
2481
2475
  */
2482
2476
  startRunner(): void;
2483
2477
  /**
2484
- * Runs the registry for a server.
2478
+ * Starts the server, serving both the actor API and static files.
2479
+ *
2480
+ * This is the simplest way to run RivetKit. It starts a local manager
2481
+ * server, serves static files from the configured `publicDir` (default
2482
+ * `"public"`), and starts the actor runner.
2483
+ *
2484
+ * When an endpoint is configured (via config or RIVET_ENDPOINT env var),
2485
+ * operates in serverless mode connected to the remote engine instead.
2485
2486
  *
2486
- * @deprecated Use {@link Registry.startRunner} for long-running servers or {@link Registry.handler} for serverless deployments.
2487
+ * @example
2488
+ * ```ts
2489
+ * const registry = setup({ use: { counter } });
2490
+ * registry.start();
2491
+ * ```
2487
2492
  */
2488
- start(inputConfig?: LegacyRunnerConfigInput): LegacyStartServerOutput<this>;
2493
+ start(): void;
2489
2494
  }
2490
2495
 
2491
2496
  /**
@@ -2493,4 +2498,4 @@ declare class Registry<A extends RegistryActors> {
2493
2498
  */
2494
2499
  declare function createClient<A extends Registry<any>>(endpointOrConfig?: string | ClientConfigInput): Client<A>;
2495
2500
 
2496
- export { type ActorAccessor, type ActorActionFunction, ActorClientError, type ActorConn, ActorConnDisposed, ActorConnRaw, type ActorConnStatus, ActorDefinition, ActorError, type ActorHandle, ActorHandleRaw, type AnyActorDefinition, type Client, ClientRaw, type ConnectionStateCallback, type CreateOptions, type CreateRequest, type Encoding, type EventUnsubscribe, type ExtractActorsFromRegistry, type ExtractRegistryFromClient, type GetOptions, type GetWithIdOptions, InternalError, KEYS as KV_KEYS, MalformedResponseMessage, ManagerError, type QueryOptions, type Region, type StatusChangeCallback, createClient };
2501
+ export { type ActorAccessor, type ActorActionFunction, ActorClientError, type ActorConn, ActorConnDisposed, ActorConnRaw, type ActorConnStatus, ActorDefinition, ActorError, type ActorHandle, ActorHandleRaw, type AnyActorDefinition, type Client, type ClientConfigInput, ClientRaw, type ConnectionStateCallback, type CreateOptions, type CreateRequest, type Encoding, type EventUnsubscribe, type ExtractActorsFromRegistry, type ExtractRegistryFromClient, type GetOptions, type GetWithIdOptions, InternalError, KEYS as KV_KEYS, MalformedResponseMessage, ManagerError, type QueryOptions, type Region, type StatusChangeCallback, createClient };