rivetkit 2.0.42 → 2.1.0-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 (322) hide show
  1. package/dist/{tsup/config-CLnylLYY.d.ts → browser/client.d.ts} +2127 -1910
  2. package/dist/browser/client.js +5182 -0
  3. package/dist/browser/client.js.map +1 -0
  4. package/dist/browser/inspector/client.d.ts +130 -0
  5. package/dist/browser/inspector/client.js +2854 -0
  6. package/dist/browser/inspector/client.js.map +1 -0
  7. package/dist/browser/v3-DnYObHH3.d.ts +279 -0
  8. package/dist/schemas/actor-inspector/v2.ts +796 -0
  9. package/dist/schemas/actor-inspector/v3.ts +899 -0
  10. package/dist/schemas/actor-persist/v4.ts +406 -0
  11. package/dist/schemas/client-protocol/v3.ts +554 -0
  12. package/dist/schemas/persist/v1.ts +781 -0
  13. package/dist/schemas/transport/v1.ts +697 -0
  14. package/dist/tsup/actor/errors.cjs +27 -3
  15. package/dist/tsup/actor/errors.cjs.map +1 -1
  16. package/dist/tsup/actor/errors.d.cts +37 -1
  17. package/dist/tsup/actor/errors.d.ts +37 -1
  18. package/dist/tsup/actor/errors.js +26 -1
  19. package/dist/tsup/{actor-router-consts-DzI2szci.d.cts → actor-router-consts-D29T1Z-K.d.cts} +1 -1
  20. package/dist/tsup/{actor-router-consts-DzI2szci.d.ts → actor-router-consts-D29T1Z-K.d.ts} +1 -1
  21. package/dist/tsup/chunk-424PT5DM.js +23 -0
  22. package/dist/tsup/chunk-424PT5DM.js.map +1 -0
  23. package/dist/tsup/{chunk-JDAD2YFA.js → chunk-5ESWDTHJ.js} +148 -273
  24. package/dist/tsup/chunk-5ESWDTHJ.js.map +1 -0
  25. package/dist/tsup/{chunk-FJ3KTN4V.js → chunk-6LIBPELE.js} +119 -11
  26. package/dist/tsup/chunk-6LIBPELE.js.map +1 -0
  27. package/dist/tsup/chunk-6LJAZ5R4.cjs +96 -0
  28. package/dist/tsup/chunk-6LJAZ5R4.cjs.map +1 -0
  29. package/dist/tsup/{chunk-LFVF5SCU.js → chunk-7HTNH26M.js} +126 -1
  30. package/dist/tsup/chunk-7HTNH26M.js.map +1 -0
  31. package/dist/tsup/chunk-7K4CYDGD.js +630 -0
  32. package/dist/tsup/chunk-7K4CYDGD.js.map +1 -0
  33. package/dist/tsup/{chunk-XXGJCOL6.js → chunk-A6YIZWTK.js} +2 -2
  34. package/dist/tsup/chunk-AIYEYMX5.cjs +630 -0
  35. package/dist/tsup/chunk-AIYEYMX5.cjs.map +1 -0
  36. package/dist/tsup/{chunk-Q6W7RJJP.js → chunk-DIGBC2VI.js} +211 -2316
  37. package/dist/tsup/chunk-DIGBC2VI.js.map +1 -0
  38. package/dist/tsup/{chunk-RZW2DNND.cjs → chunk-F6JYU5IK.cjs} +1957 -1039
  39. package/dist/tsup/chunk-F6JYU5IK.cjs.map +1 -0
  40. package/dist/tsup/chunk-HAZL2EPK.cjs +534 -0
  41. package/dist/tsup/chunk-HAZL2EPK.cjs.map +1 -0
  42. package/dist/tsup/chunk-HDQ2JUQT.cjs +23 -0
  43. package/dist/tsup/chunk-HDQ2JUQT.cjs.map +1 -0
  44. package/dist/tsup/chunk-HIDX4C5Y.cjs +1036 -0
  45. package/dist/tsup/chunk-HIDX4C5Y.cjs.map +1 -0
  46. package/dist/tsup/chunk-IVG73YCW.js +534 -0
  47. package/dist/tsup/chunk-IVG73YCW.js.map +1 -0
  48. package/dist/tsup/chunk-KJSYAUOM.js +96 -0
  49. package/dist/tsup/chunk-KJSYAUOM.js.map +1 -0
  50. package/dist/tsup/{chunk-2XQS746M.cjs → chunk-L47L3ZWJ.cjs} +127 -2
  51. package/dist/tsup/chunk-L47L3ZWJ.cjs.map +1 -0
  52. package/dist/tsup/{chunk-H4TB4X25.cjs → chunk-LW6KLR7A.cjs} +126 -18
  53. package/dist/tsup/chunk-LW6KLR7A.cjs.map +1 -0
  54. package/dist/tsup/chunk-LXUQ667X.js +2006 -0
  55. package/dist/tsup/chunk-LXUQ667X.js.map +1 -0
  56. package/dist/tsup/{chunk-GMAVRZSF.js → chunk-M2T62AZQ.js} +1790 -872
  57. package/dist/tsup/chunk-M2T62AZQ.js.map +1 -0
  58. package/dist/tsup/chunk-MZ37VV3P.js +5974 -0
  59. package/dist/tsup/chunk-MZ37VV3P.js.map +1 -0
  60. package/dist/tsup/chunk-N4KRDJ56.js +72 -0
  61. package/dist/tsup/chunk-N4KRDJ56.js.map +1 -0
  62. package/dist/tsup/chunk-NIYZDWMW.cjs +2006 -0
  63. package/dist/tsup/chunk-NIYZDWMW.cjs.map +1 -0
  64. package/dist/tsup/chunk-OMEPCQK2.js +649 -0
  65. package/dist/tsup/chunk-OMEPCQK2.js.map +1 -0
  66. package/dist/tsup/chunk-SR3KQE7Q.cjs +72 -0
  67. package/dist/tsup/chunk-SR3KQE7Q.cjs.map +1 -0
  68. package/dist/tsup/chunk-SSEP6DHP.cjs +2657 -0
  69. package/dist/tsup/chunk-SSEP6DHP.cjs.map +1 -0
  70. package/dist/tsup/chunk-T5YCUGVS.js +1036 -0
  71. package/dist/tsup/chunk-T5YCUGVS.js.map +1 -0
  72. package/dist/tsup/{chunk-EJVBH5VF.cjs → chunk-TPGXWFQT.cjs} +3 -3
  73. package/dist/tsup/{chunk-EJVBH5VF.cjs.map → chunk-TPGXWFQT.cjs.map} +1 -1
  74. package/dist/tsup/{chunk-X35U3YNX.cjs → chunk-TYLXNCA5.cjs} +214 -339
  75. package/dist/tsup/chunk-TYLXNCA5.cjs.map +1 -0
  76. package/dist/tsup/chunk-VKVNIQRQ.js +257 -0
  77. package/dist/tsup/chunk-VKVNIQRQ.js.map +1 -0
  78. package/dist/tsup/chunk-XWBAQO5H.cjs +649 -0
  79. package/dist/tsup/chunk-XWBAQO5H.cjs.map +1 -0
  80. package/dist/tsup/chunk-YQ4LDVD6.cjs +5974 -0
  81. package/dist/tsup/chunk-YQ4LDVD6.cjs.map +1 -0
  82. package/dist/tsup/chunk-ZFY5J2EP.cjs +257 -0
  83. package/dist/tsup/chunk-ZFY5J2EP.cjs.map +1 -0
  84. package/dist/tsup/client/mod.cjs +9 -10
  85. package/dist/tsup/client/mod.cjs.map +1 -1
  86. package/dist/tsup/client/mod.d.cts +11 -5
  87. package/dist/tsup/client/mod.d.ts +11 -5
  88. package/dist/tsup/client/mod.js +8 -8
  89. package/dist/tsup/common/log.cjs +4 -4
  90. package/dist/tsup/common/log.d.cts +2 -2
  91. package/dist/tsup/common/log.d.ts +2 -2
  92. package/dist/tsup/common/log.js +3 -2
  93. package/dist/tsup/common/websocket.cjs +5 -5
  94. package/dist/tsup/common/websocket.js +4 -3
  95. package/dist/tsup/config-BFqid9Gr.d.ts +2574 -0
  96. package/dist/tsup/config-BiNoIHRs.d.cts +80 -0
  97. package/dist/tsup/config-BiNoIHRs.d.ts +80 -0
  98. package/dist/tsup/{config-CZB2-W8x.d.cts → config-CAZphOS1.d.cts} +681 -355
  99. package/dist/tsup/db/drizzle/mod.cjs +49 -0
  100. package/dist/tsup/db/drizzle/mod.cjs.map +1 -0
  101. package/dist/tsup/db/drizzle/mod.d.cts +17 -0
  102. package/dist/tsup/db/drizzle/mod.d.ts +17 -0
  103. package/dist/tsup/db/drizzle/mod.js +49 -0
  104. package/dist/tsup/db/drizzle/mod.js.map +1 -0
  105. package/dist/tsup/db/mod.cjs +9 -0
  106. package/dist/tsup/db/mod.cjs.map +1 -0
  107. package/dist/tsup/db/mod.d.cts +9 -0
  108. package/dist/tsup/db/mod.d.ts +9 -0
  109. package/dist/tsup/db/mod.js +9 -0
  110. package/dist/tsup/db/mod.js.map +1 -0
  111. package/dist/tsup/{driver-D0QX9M11.d.ts → driver-Bxv62E2p.d.ts} +2 -2
  112. package/dist/tsup/{driver-q-zqG7fc.d.cts → driver-DYXwJR5D.d.cts} +2 -2
  113. package/dist/tsup/driver-helpers/mod.cjs +12 -6
  114. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  115. package/dist/tsup/driver-helpers/mod.d.cts +12 -5
  116. package/dist/tsup/driver-helpers/mod.d.ts +12 -5
  117. package/dist/tsup/driver-helpers/mod.js +12 -5
  118. package/dist/tsup/driver-test-suite/mod.cjs +1370 -116
  119. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  120. package/dist/tsup/driver-test-suite/mod.d.cts +10 -4
  121. package/dist/tsup/driver-test-suite/mod.d.ts +10 -4
  122. package/dist/tsup/driver-test-suite/mod.js +2093 -838
  123. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  124. package/dist/tsup/inspector/mod.cjs +29 -3
  125. package/dist/tsup/inspector/mod.cjs.map +1 -1
  126. package/dist/tsup/inspector/mod.d.cts +124 -3
  127. package/dist/tsup/inspector/mod.d.ts +124 -3
  128. package/dist/tsup/inspector/mod.js +72 -45
  129. package/dist/tsup/keys-CydblqMh.d.cts +13 -0
  130. package/dist/tsup/keys-CydblqMh.d.ts +13 -0
  131. package/dist/tsup/mod.cjs +16 -10
  132. package/dist/tsup/mod.cjs.map +1 -1
  133. package/dist/tsup/mod.d.cts +26 -14
  134. package/dist/tsup/mod.d.ts +26 -14
  135. package/dist/tsup/mod.js +20 -13
  136. package/dist/tsup/serve-test-suite/mod.cjs +1165 -83
  137. package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
  138. package/dist/tsup/serve-test-suite/mod.js +1114 -29
  139. package/dist/tsup/serve-test-suite/mod.js.map +1 -1
  140. package/dist/tsup/test/mod.cjs +84 -11
  141. package/dist/tsup/test/mod.cjs.map +1 -1
  142. package/dist/tsup/test/mod.d.cts +10 -5
  143. package/dist/tsup/test/mod.d.ts +10 -5
  144. package/dist/tsup/test/mod.js +85 -11
  145. package/dist/tsup/test/mod.js.map +1 -1
  146. package/dist/tsup/utils.cjs +10 -4
  147. package/dist/tsup/utils.cjs.map +1 -1
  148. package/dist/tsup/utils.d.cts +72 -2
  149. package/dist/tsup/utils.d.ts +72 -2
  150. package/dist/tsup/utils.js +9 -2
  151. package/dist/tsup/v3-DnYObHH3.d.cts +279 -0
  152. package/dist/tsup/v3-DnYObHH3.d.ts +279 -0
  153. package/dist/tsup/workflow/mod.cjs +16 -0
  154. package/dist/tsup/workflow/mod.cjs.map +1 -0
  155. package/dist/tsup/workflow/mod.d.cts +83 -0
  156. package/dist/tsup/workflow/mod.d.ts +83 -0
  157. package/dist/tsup/workflow/mod.js +16 -0
  158. package/dist/tsup/workflow/mod.js.map +1 -0
  159. package/package.json +62 -5
  160. package/src/actor/config.ts +478 -68
  161. package/src/actor/conn/mod.ts +68 -16
  162. package/src/actor/conn/state-manager.ts +2 -2
  163. package/src/actor/contexts/action.ts +20 -12
  164. package/src/actor/contexts/base/actor.ts +137 -7
  165. package/src/actor/contexts/base/conn-init.ts +27 -7
  166. package/src/actor/contexts/base/conn.ts +27 -18
  167. package/src/actor/contexts/before-action-response.ts +9 -2
  168. package/src/actor/contexts/before-connect.ts +7 -2
  169. package/src/actor/contexts/connect.ts +9 -2
  170. package/src/actor/contexts/create-conn-state.ts +7 -2
  171. package/src/actor/contexts/create-vars.ts +16 -3
  172. package/src/actor/contexts/create.ts +16 -3
  173. package/src/actor/contexts/destroy.ts +9 -3
  174. package/src/actor/contexts/disconnect.ts +10 -4
  175. package/src/actor/contexts/index.ts +4 -3
  176. package/src/actor/contexts/request.ts +23 -6
  177. package/src/actor/contexts/run.ts +47 -0
  178. package/src/actor/contexts/sleep.ts +9 -3
  179. package/src/actor/contexts/state-change.ts +9 -3
  180. package/src/actor/contexts/wake.ts +9 -3
  181. package/src/actor/contexts/websocket.ts +23 -6
  182. package/src/actor/database.ts +8 -18
  183. package/src/actor/definition.ts +20 -6
  184. package/src/actor/driver.ts +32 -3
  185. package/src/actor/errors.ts +127 -0
  186. package/src/actor/instance/connection-manager.ts +183 -80
  187. package/src/actor/instance/event-manager.ts +26 -15
  188. package/src/actor/instance/keys.ts +117 -0
  189. package/src/actor/instance/mod.ts +784 -174
  190. package/src/actor/instance/queue-manager.ts +603 -0
  191. package/src/actor/instance/queue.ts +287 -0
  192. package/src/actor/instance/schedule-manager.ts +49 -7
  193. package/src/actor/instance/state-manager.ts +35 -11
  194. package/src/actor/instance/traces-driver.ts +128 -0
  195. package/src/actor/mod.ts +26 -2
  196. package/src/actor/protocol/old.ts +28 -13
  197. package/src/actor/protocol/serde.ts +1 -1
  198. package/src/actor/router-endpoints.ts +177 -21
  199. package/src/actor/router-websocket-endpoints.ts +18 -29
  200. package/src/actor/router.ts +177 -0
  201. package/src/actor/schema.ts +291 -0
  202. package/src/actor/utils.ts +40 -0
  203. package/src/client/actor-common.ts +1 -1
  204. package/src/client/actor-conn.ts +100 -33
  205. package/src/client/actor-handle.ts +61 -33
  206. package/src/client/client.ts +2 -4
  207. package/src/client/config.ts +1 -1
  208. package/src/client/mod.browser.ts +2 -0
  209. package/src/client/mod.ts +1 -4
  210. package/src/client/queue.ts +146 -0
  211. package/src/client/utils.ts +1 -1
  212. package/src/common/log.ts +1 -1
  213. package/src/common/utils.ts +3 -3
  214. package/src/db/config.ts +100 -0
  215. package/src/db/drizzle/mod.ts +226 -0
  216. package/src/db/drizzle/sqlite-core.ts +22 -0
  217. package/src/db/mod.ts +125 -0
  218. package/src/db/shared.ts +92 -0
  219. package/src/db/sqlite-vfs.ts +12 -0
  220. package/src/driver-helpers/mod.ts +1 -0
  221. package/src/driver-test-suite/mod.ts +69 -43
  222. package/src/driver-test-suite/tests/access-control.ts +218 -0
  223. package/src/driver-test-suite/tests/actor-db-raw.ts +73 -0
  224. package/src/driver-test-suite/tests/actor-db.ts +394 -0
  225. package/src/driver-test-suite/tests/actor-inspector.ts +259 -358
  226. package/src/driver-test-suite/tests/actor-kv.ts +41 -20
  227. package/src/driver-test-suite/tests/actor-queue.ts +324 -0
  228. package/src/driver-test-suite/tests/actor-run.ts +181 -0
  229. package/src/driver-test-suite/tests/actor-schedule.ts +5 -2
  230. package/src/driver-test-suite/tests/actor-sleep.ts +3 -3
  231. package/src/driver-test-suite/tests/actor-stateless.ts +70 -0
  232. package/src/driver-test-suite/tests/actor-workflow.ts +108 -0
  233. package/src/driver-test-suite/tests/manager-driver.ts +11 -0
  234. package/src/driver-test-suite/tests/raw-http-request-properties.ts +1 -1
  235. package/src/driver-test-suite/tests/raw-websocket.ts +12 -12
  236. package/src/drivers/default.ts +7 -2
  237. package/src/drivers/engine/actor-driver.ts +45 -37
  238. package/src/drivers/engine/config.ts +1 -1
  239. package/src/drivers/file-system/actor.ts +20 -2
  240. package/src/drivers/file-system/global-state.ts +569 -258
  241. package/src/drivers/file-system/kv-limits.ts +70 -0
  242. package/src/drivers/file-system/manager.ts +22 -6
  243. package/src/drivers/file-system/mod.ts +39 -16
  244. package/src/drivers/file-system/sqlite-runtime.ts +210 -0
  245. package/src/inspector/actor-inspector.ts +224 -102
  246. package/src/inspector/config.ts +1 -1
  247. package/src/inspector/handler.ts +102 -20
  248. package/src/inspector/mod.browser.ts +8 -0
  249. package/src/inspector/mod.ts +2 -0
  250. package/src/inspector/serve-ui.ts +40 -0
  251. package/src/inspector/transport.ts +18 -0
  252. package/src/inspector/utils.ts +5 -39
  253. package/src/manager/gateway.ts +1 -1
  254. package/src/manager/protocol/mod.ts +1 -1
  255. package/src/manager/protocol/query.ts +1 -1
  256. package/src/manager/router-schema.ts +1 -1
  257. package/src/manager/router.ts +38 -12
  258. package/src/manager-api/actors.ts +1 -1
  259. package/src/manager-api/common.ts +1 -1
  260. package/src/registry/config/driver.ts +1 -1
  261. package/src/registry/config/index.ts +212 -43
  262. package/src/registry/config/legacy-runner.ts +1 -1
  263. package/src/registry/config/runner.ts +1 -1
  264. package/src/registry/config/serverless.ts +1 -1
  265. package/src/registry/index.ts +7 -5
  266. package/src/remote-manager-driver/api-utils.ts +1 -1
  267. package/src/schemas/actor-inspector/mod.ts +1 -1
  268. package/src/schemas/actor-inspector/versioned.ts +195 -8
  269. package/src/schemas/actor-persist/versioned.ts +87 -7
  270. package/src/schemas/client-protocol/mod.ts +1 -1
  271. package/src/schemas/client-protocol/versioned.ts +127 -11
  272. package/src/schemas/client-protocol-zod/mod.ts +16 -1
  273. package/src/schemas/persist/mod.ts +1 -0
  274. package/src/schemas/transport/mod.ts +1 -0
  275. package/src/serde.ts +1 -1
  276. package/src/serve-test-suite/mod.ts +10 -9
  277. package/src/test/mod.ts +15 -56
  278. package/src/utils/endpoint-parser.test.ts +1 -1
  279. package/src/utils/endpoint-parser.ts +1 -1
  280. package/src/utils/env-vars.ts +12 -1
  281. package/src/utils/node.ts +15 -2
  282. package/src/utils.test.ts +34 -0
  283. package/src/utils.ts +140 -6
  284. package/src/workflow/constants.ts +2 -0
  285. package/src/workflow/context.ts +532 -0
  286. package/src/workflow/driver.ts +191 -0
  287. package/src/workflow/inspector.ts +268 -0
  288. package/src/workflow/mod.ts +122 -0
  289. package/dist/tsup/chunk-2IJTYN6K.cjs +0 -278
  290. package/dist/tsup/chunk-2IJTYN6K.cjs.map +0 -1
  291. package/dist/tsup/chunk-2XQS746M.cjs.map +0 -1
  292. package/dist/tsup/chunk-3VP5CSHV.cjs +0 -114
  293. package/dist/tsup/chunk-3VP5CSHV.cjs.map +0 -1
  294. package/dist/tsup/chunk-AQFSQMBG.js +0 -114
  295. package/dist/tsup/chunk-AQFSQMBG.js.map +0 -1
  296. package/dist/tsup/chunk-E6ZE2YEA.js +0 -664
  297. package/dist/tsup/chunk-E6ZE2YEA.js.map +0 -1
  298. package/dist/tsup/chunk-FJ3KTN4V.js.map +0 -1
  299. package/dist/tsup/chunk-GBENOENJ.cjs +0 -8
  300. package/dist/tsup/chunk-GBENOENJ.cjs.map +0 -1
  301. package/dist/tsup/chunk-GD7UXGOE.cjs +0 -4762
  302. package/dist/tsup/chunk-GD7UXGOE.cjs.map +0 -1
  303. package/dist/tsup/chunk-GMAVRZSF.js.map +0 -1
  304. package/dist/tsup/chunk-H4TB4X25.cjs.map +0 -1
  305. package/dist/tsup/chunk-JDAD2YFA.js.map +0 -1
  306. package/dist/tsup/chunk-KCOVZOPS.js +0 -1946
  307. package/dist/tsup/chunk-KCOVZOPS.js.map +0 -1
  308. package/dist/tsup/chunk-KDFWJKMJ.cjs +0 -664
  309. package/dist/tsup/chunk-KDFWJKMJ.cjs.map +0 -1
  310. package/dist/tsup/chunk-LFVF5SCU.js.map +0 -1
  311. package/dist/tsup/chunk-Q6W7RJJP.js.map +0 -1
  312. package/dist/tsup/chunk-RUW5CZ5Z.cjs +0 -1949
  313. package/dist/tsup/chunk-RUW5CZ5Z.cjs.map +0 -1
  314. package/dist/tsup/chunk-RZW2DNND.cjs.map +0 -1
  315. package/dist/tsup/chunk-TCOEBUUE.js +0 -278
  316. package/dist/tsup/chunk-TCOEBUUE.js.map +0 -1
  317. package/dist/tsup/chunk-X35U3YNX.cjs.map +0 -1
  318. package/dist/tsup/keys-Chhy4ylv.d.cts +0 -8
  319. package/dist/tsup/keys-Chhy4ylv.d.ts +0 -8
  320. package/dist/tsup/v1-Gq4avTK3.d.cts +0 -240
  321. package/dist/tsup/v1-Gq4avTK3.d.ts +0 -240
  322. /package/dist/tsup/{chunk-XXGJCOL6.js.map → chunk-A6YIZWTK.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/db/mod.ts"],"sourcesContent":["import type { DatabaseProvider, RawAccess } from \"./config\";\nimport { AsyncMutex, createActorKvStore, toSqliteBindings } from \"./shared\";\n\nexport type { RawAccess } from \"./config\";\n\ninterface DatabaseFactoryConfig {\n\tonMigrate?: (db: RawAccess) => Promise<void> | void;\n}\n\nexport function db({\n\tonMigrate,\n}: DatabaseFactoryConfig = {}): DatabaseProvider<RawAccess> {\n\treturn {\n\t\tcreateClient: async (ctx) => {\n\t\t\t// Check if override is provided\n\t\t\tconst override = ctx.overrideRawDatabaseClient\n\t\t\t\t? await ctx.overrideRawDatabaseClient()\n\t\t\t\t: undefined;\n\n\t\t\tif (override) {\n\t\t\t\t// Use the override\n\t\t\t\treturn {\n\t\t\t\t\texecute: async <\n\t\t\t\t\t\tTRow extends Record<string, unknown> = Record<string, unknown>,\n\t\t\t\t\t>(\n\t\t\t\t\t\tquery: string,\n\t\t\t\t\t\t...args: unknown[]\n\t\t\t\t\t): Promise<TRow[]> => {\n\t\t\t\t\t\treturn await override.exec<TRow>(query, ...args);\n\t\t\t\t\t},\n\t\t\t\t\tclose: async () => {\n\t\t\t\t\t\t// Override clients don't need cleanup\n\t\t\t\t\t},\n\t\t\t\t} satisfies RawAccess;\n\t\t\t}\n\n\t\t\t// Construct KV-backed client using actor driver's KV operations\n\t\t\tif (!ctx.sqliteVfs) {\n\t\t\t\tthrow new Error(\"SqliteVfs instance not provided in context. The driver must provide a sqliteVfs instance.\");\n\t\t\t}\n\n\t\t\tconst kvStore = createActorKvStore(ctx.kv);\n\t\t\tconst db = await ctx.sqliteVfs.open(ctx.actorId, kvStore);\n\t\t\tlet closed = false;\n\t\t\tconst mutex = new AsyncMutex();\n\t\t\tconst ensureOpen = () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error(\"database is closed\");\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\texecute: async <\n\t\t\t\t\tTRow extends Record<string, unknown> = Record<string, unknown>,\n\t\t\t\t>(\n\t\t\t\t\tquery: string,\n\t\t\t\t\t...args: unknown[]\n\t\t\t\t): Promise<TRow[]> => {\n\t\t\t\t\treturn await mutex.run(async () => {\n\t\t\t\t\t\tensureOpen();\n\n\t\t\t\t\t\t// `db.exec` does not support binding `?` placeholders.\n\t\t\t\t\t\t// Use `db.query` for statements that return rows and `db.run` for\n\t\t\t\t\t\t// statements that mutate data when parameters are provided.\n\t\t\t\t\t\t// Keep using `db.exec` for non-parameterized SQL because it\n\t\t\t\t\t\t// supports multi-statement migrations.\n\t\t\t\t\t\tif (args.length > 0) {\n\t\t\t\t\t\t\tconst bindings = toSqliteBindings(args);\n\t\t\t\t\t\t\tconst token = query.trimStart().slice(0, 16).toUpperCase();\n\t\t\t\t\t\t\tconst returnsRows =\n\t\t\t\t\t\t\t\ttoken.startsWith(\"SELECT\") ||\n\t\t\t\t\t\t\t\ttoken.startsWith(\"PRAGMA\") ||\n\t\t\t\t\t\t\t\ttoken.startsWith(\"WITH\");\n\n\t\t\t\t\t\t\tif (returnsRows) {\n\t\t\t\t\t\t\t\tconst { rows, columns } = await db.query(query, bindings);\n\t\t\t\t\t\t\t\treturn rows.map((row: unknown[]) => {\n\t\t\t\t\t\t\t\t\tconst rowObj: Record<string, unknown> = {};\n\t\t\t\t\t\t\t\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\t\t\t\t\t\t\t\trowObj[columns[i]] = row[i];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn rowObj;\n\t\t\t\t\t\t\t\t}) as TRow[];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait db.run(query, bindings);\n\t\t\t\t\t\t\treturn [] as TRow[];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst results: Record<string, unknown>[] = [];\n\t\t\t\t\t\tlet columnNames: string[] | null = null;\n\t\t\t\t\t\tawait db.exec(query, (row: unknown[], columns: string[]) => {\n\t\t\t\t\t\t\tif (!columnNames) {\n\t\t\t\t\t\t\t\tcolumnNames = columns;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst rowObj: Record<string, unknown> = {};\n\t\t\t\t\t\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\t\t\t\t\t\trowObj[columnNames[i]] = row[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresults.push(rowObj);\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn results as TRow[];\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tclose: async () => {\n\t\t\t\t\tawait mutex.run(async () => {\n\t\t\t\t\t\tif (closed) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclosed = true;\n\t\t\t\t\t\tawait db.close();\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t} satisfies RawAccess;\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\tif (onMigrate) {\n\t\t\t\tawait onMigrate(client);\n\t\t\t}\n\t\t},\n\t\tonDestroy: async (client) => {\n\t\t\tawait client.close();\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;AASO,SAAS,GAAG;AAAA,EAClB;AACD,IAA2B,CAAC,GAAgC;AAC3D,SAAO;AAAA,IACN,cAAc,OAAO,QAAQ;AAE5B,YAAM,WAAW,IAAI,4BAClB,MAAM,IAAI,0BAA0B,IACpC;AAEH,UAAI,UAAU;AAEb,eAAO;AAAA,UACN,SAAS,OAGR,UACG,SACkB;AACrB,mBAAO,MAAM,SAAS,KAAW,OAAO,GAAG,IAAI;AAAA,UAChD;AAAA,UACA,OAAO,YAAY;AAAA,UAEnB;AAAA,QACD;AAAA,MACD;AAGA,UAAI,CAAC,IAAI,WAAW;AACnB,cAAM,IAAI,MAAM,2FAA2F;AAAA,MAC5G;AAEA,YAAM,UAAU,mBAAmB,IAAI,EAAE;AACzC,YAAMA,MAAK,MAAM,IAAI,UAAU,KAAK,IAAI,SAAS,OAAO;AACxD,UAAI,SAAS;AACb,YAAM,QAAQ,IAAI,WAAW;AAC7B,YAAM,aAAa,MAAM;AACxB,YAAI,QAAQ;AACX,gBAAM,IAAI,MAAM,oBAAoB;AAAA,QACrC;AAAA,MACD;AAEA,aAAO;AAAA,QACN,SAAS,OAGR,UACG,SACkB;AACrB,iBAAO,MAAM,MAAM,IAAI,YAAY;AAClC,uBAAW;AAOX,gBAAI,KAAK,SAAS,GAAG;AACpB,oBAAM,WAAW,iBAAiB,IAAI;AACtC,oBAAM,QAAQ,MAAM,UAAU,EAAE,MAAM,GAAG,EAAE,EAAE,YAAY;AACzD,oBAAM,cACL,MAAM,WAAW,QAAQ,KACzB,MAAM,WAAW,QAAQ,KACzB,MAAM,WAAW,MAAM;AAExB,kBAAI,aAAa;AAChB,sBAAM,EAAE,MAAM,QAAQ,IAAI,MAAMA,IAAG,MAAM,OAAO,QAAQ;AACxD,uBAAO,KAAK,IAAI,CAAC,QAAmB;AACnC,wBAAM,SAAkC,CAAC;AACzC,2BAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACxC,2BAAO,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,kBAC3B;AACA,yBAAO;AAAA,gBACR,CAAC;AAAA,cACF;AAEA,oBAAMA,IAAG,IAAI,OAAO,QAAQ;AAC5B,qBAAO,CAAC;AAAA,YACT;AAEA,kBAAM,UAAqC,CAAC;AAC5C,gBAAI,cAA+B;AACnC,kBAAMA,IAAG,KAAK,OAAO,CAAC,KAAgB,YAAsB;AAC3D,kBAAI,CAAC,aAAa;AACjB,8BAAc;AAAA,cACf;AACA,oBAAM,SAAkC,CAAC;AACzC,uBAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACpC,uBAAO,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,cAC/B;AACA,sBAAQ,KAAK,MAAM;AAAA,YACpB,CAAC;AACD,mBAAO;AAAA,UACR,CAAC;AAAA,QACF;AAAA,QACA,OAAO,YAAY;AAClB,gBAAM,MAAM,IAAI,YAAY;AAC3B,gBAAI,QAAQ;AACX;AAAA,YACD;AACA,qBAAS;AACT,kBAAMA,IAAG,MAAM;AAAA,UAChB,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AAAA,IACA,WAAW,OAAO,WAAW;AAC5B,UAAI,WAAW;AACd,cAAM,UAAU,MAAM;AAAA,MACvB;AAAA,IACD;AAAA,IACA,WAAW,OAAO,WAAW;AAC5B,YAAM,OAAO,MAAM;AAAA,IACpB;AAAA,EACD;AACD;","names":["db"]}
@@ -140,6 +140,99 @@ var Unsupported = class extends ActorError {
140
140
  super("feature", "unsupported", `Unsupported feature: ${feature}`);
141
141
  }
142
142
  };
143
+ var QueueFull = class extends ActorError {
144
+ constructor(limit) {
145
+ super("queue", "full", `Queue is full. Limit is ${limit} messages.`, {
146
+ public: true,
147
+ metadata: { limit }
148
+ });
149
+ }
150
+ };
151
+ var QueueMessageTooLarge = class extends ActorError {
152
+ constructor(size, limit) {
153
+ super(
154
+ "queue",
155
+ "message_too_large",
156
+ `Queue message too large (${size} bytes). Limit is ${limit} bytes.`,
157
+ { public: true, metadata: { size, limit } }
158
+ );
159
+ }
160
+ };
161
+ var QueueMessageInvalid = class extends ActorError {
162
+ constructor(path) {
163
+ super(
164
+ "queue",
165
+ "message_invalid",
166
+ path ? `Queue message body contains unsupported type at ${path}.` : "Queue message body contains unsupported type.",
167
+ { public: true, metadata: path ? { path } : void 0 }
168
+ );
169
+ }
170
+ };
171
+ var EventPayloadInvalid = class extends ActorError {
172
+ constructor(name, issues) {
173
+ super(
174
+ "event",
175
+ "invalid_payload",
176
+ `Event payload failed validation for '${name}'.`,
177
+ { public: true, metadata: { name, issues } }
178
+ );
179
+ }
180
+ };
181
+ var QueuePayloadInvalid = class extends ActorError {
182
+ constructor(name, issues) {
183
+ super(
184
+ "queue",
185
+ "invalid_payload",
186
+ `Queue payload failed validation for '${name}'.`,
187
+ { public: true, metadata: { name, issues } }
188
+ );
189
+ }
190
+ };
191
+ var QueueCompletionPayloadInvalid = class extends ActorError {
192
+ constructor(name, issues) {
193
+ super(
194
+ "queue",
195
+ "invalid_completion_payload",
196
+ `Queue completion payload failed validation for '${name}'.`,
197
+ { public: true, metadata: { name, issues } }
198
+ );
199
+ }
200
+ };
201
+ var QueueAlreadyCompleted = class extends ActorError {
202
+ constructor() {
203
+ super("queue", "already_completed", "Queue message was already completed.", {
204
+ public: true
205
+ });
206
+ }
207
+ };
208
+ var QueuePreviousMessageNotCompleted = class extends ActorError {
209
+ constructor() {
210
+ super(
211
+ "queue",
212
+ "previous_message_not_completed",
213
+ "Previous completable queue message is not completed. Call `message.complete(...)` before receiving the next message.",
214
+ { public: true }
215
+ );
216
+ }
217
+ };
218
+ var QueueCompleteNotConfigured = class extends ActorError {
219
+ constructor(name) {
220
+ super(
221
+ "queue",
222
+ "complete_not_configured",
223
+ `Queue '${name}' does not support completion responses.`,
224
+ {
225
+ public: true,
226
+ metadata: { name }
227
+ }
228
+ );
229
+ }
230
+ };
231
+ var ActorAborted = class extends ActorError {
232
+ constructor() {
233
+ super("actor", "aborted", "Actor aborted.", { public: true });
234
+ }
235
+ };
143
236
  var UserError = class extends ActorError {
144
237
  /**
145
238
  * Constructs a new UserError instance.
@@ -265,6 +358,26 @@ var InvalidRequestHandlerResponse = class extends ActorError {
265
358
  this.statusCode = 500;
266
359
  }
267
360
  };
361
+ var InvalidCanSubscribeResponse = class extends ActorError {
362
+ constructor() {
363
+ super(
364
+ "handler",
365
+ "invalid_can_subscribe_response",
366
+ "Event canSubscribe hook must return a boolean value."
367
+ );
368
+ this.statusCode = 500;
369
+ }
370
+ };
371
+ var InvalidCanPublishResponse = class extends ActorError {
372
+ constructor() {
373
+ super(
374
+ "handler",
375
+ "invalid_can_publish_response",
376
+ "Queue canPublish hook must return a boolean value."
377
+ );
378
+ this.statusCode = 500;
379
+ }
380
+ };
268
381
  var MissingActorHeader = class extends ActorError {
269
382
  constructor() {
270
383
  super(
@@ -380,5 +493,17 @@ var NamespaceMismatch = class extends ActorError {
380
493
 
381
494
 
382
495
 
383
- exports.INTERNAL_ERROR_CODE = INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = INTERNAL_ERROR_DESCRIPTION; exports.USER_ERROR_CODE = USER_ERROR_CODE; exports.ActorError = ActorError; exports.InternalError = InternalError; exports.Unreachable = Unreachable; exports.StateNotEnabled = StateNotEnabled; exports.ConnStateNotEnabled = ConnStateNotEnabled; exports.VarsNotEnabled = VarsNotEnabled; exports.ActionTimedOut = ActionTimedOut; exports.ActionNotFound = ActionNotFound; exports.InvalidEncoding = InvalidEncoding; exports.IncomingMessageTooLong = IncomingMessageTooLong; exports.OutgoingMessageTooLong = OutgoingMessageTooLong; exports.MalformedMessage = MalformedMessage; exports.InvalidStateType = InvalidStateType; exports.Unsupported = Unsupported; exports.UserError = UserError; exports.InvalidQueryJSON = InvalidQueryJSON; exports.InvalidRequest = InvalidRequest; exports.ActorNotFound = ActorNotFound; exports.ActorDuplicateKey = ActorDuplicateKey; exports.ActorStopping = ActorStopping; exports.ProxyError = ProxyError; exports.InvalidActionRequest = InvalidActionRequest; exports.InvalidParams = InvalidParams; exports.DatabaseNotEnabled = DatabaseNotEnabled; exports.RequestHandlerNotDefined = RequestHandlerNotDefined; exports.WebSocketHandlerNotDefined = WebSocketHandlerNotDefined; exports.InvalidRequestHandlerResponse = InvalidRequestHandlerResponse; exports.MissingActorHeader = MissingActorHeader; exports.WebSocketsNotEnabled = WebSocketsNotEnabled; exports.FeatureNotImplemented = FeatureNotImplemented; exports.RouteNotFound = RouteNotFound; exports.RestrictedFeature = RestrictedFeature; exports.Forbidden = Forbidden; exports.EndpointMismatch = EndpointMismatch; exports.NamespaceMismatch = NamespaceMismatch;
384
- //# sourceMappingURL=chunk-2XQS746M.cjs.map
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+ exports.INTERNAL_ERROR_CODE = INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = INTERNAL_ERROR_DESCRIPTION; exports.USER_ERROR_CODE = USER_ERROR_CODE; exports.ActorError = ActorError; exports.InternalError = InternalError; exports.Unreachable = Unreachable; exports.StateNotEnabled = StateNotEnabled; exports.ConnStateNotEnabled = ConnStateNotEnabled; exports.VarsNotEnabled = VarsNotEnabled; exports.ActionTimedOut = ActionTimedOut; exports.ActionNotFound = ActionNotFound; exports.InvalidEncoding = InvalidEncoding; exports.IncomingMessageTooLong = IncomingMessageTooLong; exports.OutgoingMessageTooLong = OutgoingMessageTooLong; exports.MalformedMessage = MalformedMessage; exports.InvalidStateType = InvalidStateType; exports.Unsupported = Unsupported; exports.QueueFull = QueueFull; exports.QueueMessageTooLarge = QueueMessageTooLarge; exports.QueueMessageInvalid = QueueMessageInvalid; exports.EventPayloadInvalid = EventPayloadInvalid; exports.QueuePayloadInvalid = QueuePayloadInvalid; exports.QueueCompletionPayloadInvalid = QueueCompletionPayloadInvalid; exports.QueueAlreadyCompleted = QueueAlreadyCompleted; exports.QueuePreviousMessageNotCompleted = QueuePreviousMessageNotCompleted; exports.QueueCompleteNotConfigured = QueueCompleteNotConfigured; exports.ActorAborted = ActorAborted; exports.UserError = UserError; exports.InvalidQueryJSON = InvalidQueryJSON; exports.InvalidRequest = InvalidRequest; exports.ActorNotFound = ActorNotFound; exports.ActorDuplicateKey = ActorDuplicateKey; exports.ActorStopping = ActorStopping; exports.ProxyError = ProxyError; exports.InvalidActionRequest = InvalidActionRequest; exports.InvalidParams = InvalidParams; exports.DatabaseNotEnabled = DatabaseNotEnabled; exports.RequestHandlerNotDefined = RequestHandlerNotDefined; exports.WebSocketHandlerNotDefined = WebSocketHandlerNotDefined; exports.InvalidRequestHandlerResponse = InvalidRequestHandlerResponse; exports.InvalidCanSubscribeResponse = InvalidCanSubscribeResponse; exports.InvalidCanPublishResponse = InvalidCanPublishResponse; exports.MissingActorHeader = MissingActorHeader; exports.WebSocketsNotEnabled = WebSocketsNotEnabled; exports.FeatureNotImplemented = FeatureNotImplemented; exports.RouteNotFound = RouteNotFound; exports.RestrictedFeature = RestrictedFeature; exports.Forbidden = Forbidden; exports.EndpointMismatch = EndpointMismatch; exports.NamespaceMismatch = NamespaceMismatch;
509
+ //# sourceMappingURL=chunk-L47L3ZWJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-L47L3ZWJ.cjs","../../src/actor/errors.ts"],"names":[],"mappings":"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C,MAAA;AACA,MAAA;AAC2B,MAAA;AAC3B,MAAA;AACS,QAAA;AACD,QAAA;AACR,MAAA;AACD,IAAA;AACD,EAAA;AACD;AAEO;AACuB,EAAA;AACZ,IAAA;AACjB,EAAA;AACD;AAEO;AACuB,EAAA;AACD,IAAA;AAC5B,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACD,IAAA;AACD,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEa;AACE,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEa;AACE,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACD,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACD,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAGO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACuB,EAAA;AACX,IAAA;AACR,MAAA;AACR,IAAA;AACiB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACe,IAAA;AACV,IAAA;AACnB,EAAA;AACD;AAEO;AACuB,EAAA;AAC5B,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAE+B;AAChB,EAAA;AACc,IAAA;AACT,IAAA;AACnB,EAAA;AACD;AAEO;AACwB,EAAA;AAC7B,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AAC0B,MAAA;AAC3B,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACwB,EAAA;AAC7B,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AAC0B,MAAA;AAC3B,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;ADpGiC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-L47L3ZWJ.cjs","sourcesContent":[null,"import type { DeconstructedError } from \"@/common/utils\";\n\nexport const INTERNAL_ERROR_CODE = \"internal_error\";\nexport const INTERNAL_ERROR_DESCRIPTION =\n\t\"Internal error. Read the server logs for more details.\";\nexport type InternalErrorMetadata = {};\n\nexport const USER_ERROR_CODE = \"user_error\";\n\ninterface ActorErrorOptions extends ErrorOptions {\n\t/** Error data can safely be serialized in a response to the client. */\n\tpublic?: boolean;\n\t/** Metadata associated with this error. This will be sent to clients. */\n\tmetadata?: unknown;\n}\n\nexport class ActorError extends Error {\n\t__type = \"ActorError\";\n\n\tpublic public: boolean;\n\tpublic metadata?: unknown;\n\tpublic statusCode = 500;\n\tpublic readonly group: string;\n\tpublic readonly code: string;\n\n\tpublic static isActorError(\n\t\terror: unknown,\n\t): error is ActorError | DeconstructedError {\n\t\treturn (\n\t\t\ttypeof error === \"object\" &&\n\t\t\t(error as ActorError | DeconstructedError).__type === \"ActorError\"\n\t\t);\n\t}\n\n\tconstructor(\n\t\tgroup: string,\n\t\tcode: string,\n\t\tmessage: string,\n\t\topts?: ActorErrorOptions,\n\t) {\n\t\tsuper(message, { cause: opts?.cause });\n\t\tthis.group = group;\n\t\tthis.code = code;\n\t\tthis.public = opts?.public ?? false;\n\t\tthis.metadata = opts?.metadata;\n\n\t\t// Set status code based on error type\n\t\tif (opts?.public) {\n\t\t\tthis.statusCode = 400; // Bad request for public errors\n\t\t}\n\t}\n\n\ttoString() {\n\t\t// Force stringify to return the message\n\t\treturn this.message;\n\t}\n}\n\nexport class InternalError extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"actor\", INTERNAL_ERROR_CODE, message);\n\t}\n}\n\nexport class Unreachable extends InternalError {\n\tconstructor(x: never) {\n\t\tsuper(`Unreachable case: ${x}`);\n\t}\n}\n\nexport class StateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"state_not_enabled\",\n\t\t\t\"State not enabled. Must implement `createState` or `state` to use state. (https://www.rivet.dev/docs/actors/state/#initializing-state)\",\n\t\t);\n\t}\n}\n\nexport class ConnStateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"conn_state_not_enabled\",\n\t\t\t\"Connection state not enabled. Must implement `createConnectionState` or `connectionState` to use connection state. (https://www.rivet.dev/docs/actors/connections/#connection-state)\",\n\t\t);\n\t}\n}\n\nexport class VarsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"vars_not_enabled\",\n\t\t\t\"Variables not enabled. Must implement `createVars` or `vars` to use state. (https://www.rivet.dev/docs/actors/ephemeral-variables/#initializing-variables)\",\n\t\t);\n\t}\n}\n\nexport class ActionTimedOut extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"action\",\n\t\t\t\"timed_out\",\n\t\t\t\"Action timed out. This can be increased with: `actor({ options: { action: { timeout: ... } } })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActionNotFound extends ActorError {\n\tconstructor(name: string) {\n\t\tsuper(\n\t\t\t\"action\",\n\t\t\t\"not_found\",\n\t\t\t`Action '${name}' not found. Validate the action exists on your actor.`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class InvalidEncoding extends ActorError {\n\tconstructor(format?: string) {\n\t\tsuper(\n\t\t\t\"encoding\",\n\t\t\t\"invalid\",\n\t\t\t`Invalid encoding \\`${format}\\`. (https://www.rivet.dev/docs/clients/javascript)`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class IncomingMessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message\",\n\t\t\t\"incoming_too_long\",\n\t\t\t\"Incoming message too long. This can be configured with: `registry.start({ maxIncomingMessageSize: ... })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class OutgoingMessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message\",\n\t\t\t\"outgoing_too_long\",\n\t\t\t\"Outgoing message too long. This can be configured with: `registry.start({ maxOutgoingMessageSize: ... })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class MalformedMessage extends ActorError {\n\tconstructor(cause?: unknown) {\n\t\tsuper(\"message\", \"malformed\", `Malformed message: ${cause}`, {\n\t\t\tpublic: true,\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport interface InvalidStateTypeOptions {\n\tpath?: unknown;\n}\n\nexport class InvalidStateType extends ActorError {\n\tconstructor(opts?: InvalidStateTypeOptions) {\n\t\tlet msg = \"\";\n\t\tif (opts?.path) {\n\t\t\tmsg += `Attempted to set invalid state at path \\`${opts.path}\\`.`;\n\t\t} else {\n\t\t\tmsg += \"Attempted to set invalid state.\";\n\t\t}\n\t\tmsg +=\n\t\t\t\" Valid types include: null, undefined, boolean, string, number, BigInt, Date, RegExp, Error, typed arrays (Uint8Array, Int8Array, Float32Array, etc.), Map, Set, Array, and plain objects. (https://www.rivet.dev/docs/actors/state/#limitations)\";\n\t\tsuper(\"state\", \"invalid_type\", msg);\n\t}\n}\n\nexport class Unsupported extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"feature\", \"unsupported\", `Unsupported feature: ${feature}`);\n\t}\n}\n\nexport class QueueFull extends ActorError {\n\tconstructor(limit: number) {\n\t\tsuper(\"queue\", \"full\", `Queue is full. Limit is ${limit} messages.`, {\n\t\t\tpublic: true,\n\t\t\tmetadata: { limit },\n\t\t});\n\t}\n}\n\nexport class QueueMessageTooLarge extends ActorError {\n\tconstructor(size: number, limit: number) {\n\t\tsuper(\n\t\t\t\"queue\",\n\t\t\t\"message_too_large\",\n\t\t\t`Queue message too large (${size} bytes). Limit is ${limit} bytes.`,\n\t\t\t{ public: true, metadata: { size, limit } },\n\t\t);\n\t}\n}\n\nexport class QueueMessageInvalid extends ActorError {\n\tconstructor(path?: string) {\n\t\tsuper(\n\t\t\t\"queue\",\n\t\t\t\"message_invalid\",\n\t\t\tpath\n\t\t\t\t? `Queue message body contains unsupported type at ${path}.`\n\t\t\t\t: \"Queue message body contains unsupported type.\",\n\t\t\t{ public: true, metadata: path ? { path } : undefined },\n\t\t);\n\t}\n}\n\nexport class EventPayloadInvalid extends ActorError {\n\tconstructor(name: string, issues?: unknown[]) {\n\t\tsuper(\n\t\t\t\"event\",\n\t\t\t\"invalid_payload\",\n\t\t\t`Event payload failed validation for '${name}'.`,\n\t\t\t{ public: true, metadata: { name, issues } },\n\t\t);\n\t}\n}\n\nexport class QueuePayloadInvalid extends ActorError {\n\tconstructor(name: string, issues?: unknown[]) {\n\t\tsuper(\n\t\t\t\"queue\",\n\t\t\t\"invalid_payload\",\n\t\t\t`Queue payload failed validation for '${name}'.`,\n\t\t\t{ public: true, metadata: { name, issues } },\n\t\t);\n\t}\n}\n\nexport class QueueCompletionPayloadInvalid extends ActorError {\n\tconstructor(name: string, issues?: unknown[]) {\n\t\tsuper(\n\t\t\t\"queue\",\n\t\t\t\"invalid_completion_payload\",\n\t\t\t`Queue completion payload failed validation for '${name}'.`,\n\t\t\t{ public: true, metadata: { name, issues } },\n\t\t);\n\t}\n}\n\nexport class QueueAlreadyCompleted extends ActorError {\n\tconstructor() {\n\t\tsuper(\"queue\", \"already_completed\", \"Queue message was already completed.\", {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class QueuePreviousMessageNotCompleted extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"queue\",\n\t\t\t\"previous_message_not_completed\",\n\t\t\t\"Previous completable queue message is not completed. Call `message.complete(...)` before receiving the next message.\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class QueueCompleteNotConfigured extends ActorError {\n\tconstructor(name: string) {\n\t\tsuper(\n\t\t\t\"queue\",\n\t\t\t\"complete_not_configured\",\n\t\t\t`Queue '${name}' does not support completion responses.`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tmetadata: { name },\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class ActorAborted extends ActorError {\n\tconstructor() {\n\t\tsuper(\"actor\", \"aborted\", \"Actor aborted.\", { public: true });\n\t}\n}\n\n/**\n * Options for the UserError class.\n */\nexport interface UserErrorOptions extends ErrorOptions {\n\t/**\n\t * Machine readable code for this error. Useful for catching different types of errors in try-catch.\n\t */\n\tcode?: string;\n\n\t/**\n\t * Additional metadata related to the error. Useful for understanding context about the error.\n\t */\n\tmetadata?: unknown;\n}\n\n/** Error that can be safely returned to the user. */\nexport class UserError extends ActorError {\n\t/**\n\t * Constructs a new UserError instance.\n\t *\n\t * @param message - The error message to be displayed.\n\t * @param opts - Optional parameters for the error, including a machine-readable code and additional metadata.\n\t */\n\tconstructor(message: string, opts?: UserErrorOptions) {\n\t\tsuper(\"user\", opts?.code ?? USER_ERROR_CODE, message, {\n\t\t\tpublic: true,\n\t\t\tmetadata: opts?.metadata,\n\t\t});\n\t}\n}\n\nexport class InvalidQueryJSON extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"request\", \"invalid_query_json\", `Invalid query JSON: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class InvalidRequest extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"request\", \"invalid\", `Invalid request: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class ActorNotFound extends ActorError {\n\tconstructor(identifier?: string) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"not_found\",\n\t\t\tidentifier\n\t\t\t\t? `Actor not found: ${identifier} (https://www.rivet.dev/docs/clients/javascript)`\n\t\t\t\t: \"Actor not found (https://www.rivet.dev/docs/clients/javascript)\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorDuplicateKey extends ActorError {\n\tconstructor(name: string, key: string[]) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"duplicate_key\",\n\t\t\t`Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.dev/docs/clients/javascript)`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorStopping extends ActorError {\n\tconstructor(identifier?: string) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"stopping\",\n\t\t\tidentifier ? `Actor stopping: ${identifier}` : \"Actor stopping\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ProxyError extends ActorError {\n\tconstructor(operation: string, error?: unknown) {\n\t\tsuper(\n\t\t\t\"proxy\",\n\t\t\t\"error\",\n\t\t\t`Error proxying ${operation}, this is likely an internal error: ${error}`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tcause: error,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class InvalidActionRequest extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"action\", \"invalid_request\", message, { public: true });\n\t}\n}\n\nexport class InvalidParams extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"params\", \"invalid\", message, { public: true });\n\t}\n}\n\nexport class DatabaseNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"database\",\n\t\t\t\"not_enabled\",\n\t\t\t\"Database not enabled. Must implement `database` to use database.\",\n\t\t);\n\t}\n}\n\nexport class RequestHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"request_not_defined\",\n\t\t\t\"Raw request handler not defined. Actor must implement `onRequest` to handle raw HTTP requests. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class WebSocketHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"websocket_not_defined\",\n\t\t\t\"Raw WebSocket handler not defined. Actor must implement `onWebSocket` to handle raw WebSocket connections. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class InvalidRequestHandlerResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"invalid_request_handler_response\",\n\t\t\t\"Actor's onRequest handler must return a Response object. Returning void/undefined is not allowed. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 500;\n\t}\n}\n\nexport class InvalidCanSubscribeResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"invalid_can_subscribe_response\",\n\t\t\t\"Event canSubscribe hook must return a boolean value.\",\n\t\t);\n\t\tthis.statusCode = 500;\n\t}\n}\n\nexport class InvalidCanPublishResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"invalid_can_publish_response\",\n\t\t\t\"Queue canPublish hook must return a boolean value.\",\n\t\t);\n\t\tthis.statusCode = 500;\n\t}\n}\n\n// Manager-specific errors\nexport class MissingActorHeader extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"request\",\n\t\t\t\"missing_actor_header\",\n\t\t\t\"Missing x-rivet-actor header when x-rivet-target=actor\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class WebSocketsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"driver\",\n\t\t\t\"websockets_not_enabled\",\n\t\t\t\"WebSockets are not enabled for this driver\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class FeatureNotImplemented extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"feature\", \"not_implemented\", `${feature} is not implemented`, {\n\t\t\tpublic: true,\n\t\t});\n\t\tthis.statusCode = 501;\n\t}\n}\n\nexport class RouteNotFound extends ActorError {\n\tconstructor() {\n\t\tsuper(\"route\", \"not_found\", \"Route not found\", { public: true });\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class RestrictedFeature extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\n\t\t\t\"feature\",\n\t\t\t\"restricted\",\n\t\t\t`Run this actor locally or set the token in run config to use the ${feature}`,\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class Forbidden extends ActorError {\n\tconstructor() {\n\t\tsuper(\"auth\", \"forbidden\", \"Forbidden\", { public: true });\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class EndpointMismatch extends ActorError {\n\tconstructor(expected: string, received: string) {\n\t\tsuper(\n\t\t\t\"config\",\n\t\t\t\"endpoint_mismatch\",\n\t\t\t`Endpoint mismatch: expected \"${expected}\", received \"${received}\"`,\n\t\t\t{ public: true, metadata: { expected, received } },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class NamespaceMismatch extends ActorError {\n\tconstructor(expected: string, received: string) {\n\t\tsuper(\n\t\t\t\"config\",\n\t\t\t\"namespace_mismatch\",\n\t\t\t`Namespace mismatch: expected \"${expected}\", received \"${received}\"`,\n\t\t\t{ public: true, metadata: { expected, received } },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk2XQS746Mcjs = require('./chunk-2XQS746M.cjs');
5
+ var _chunkL47L3ZWJcjs = require('./chunk-L47L3ZWJ.cjs');
6
6
 
7
7
  // src/utils/env-vars.ts
8
8
  var getRivetEngine = () => getEnvUniversal("RIVET_ENGINE");
@@ -26,6 +26,7 @@ var getRivetPublicEndpoint = () => getEnvUniversal("RIVET_PUBLIC_ENDPOINT");
26
26
  var getRivetPublicToken = () => getEnvUniversal("RIVET_PUBLIC_TOKEN");
27
27
  var getRivetkitInspectorToken = () => getEnvUniversal("RIVET_INSPECTOR_TOKEN");
28
28
  var getRivetkitInspectorDisable = () => getEnvUniversal("RIVET_INSPECTOR_DISABLE") === "1";
29
+ var getRivetkitStoragePath = () => getEnvUniversal("RIVETKIT_STORAGE_PATH");
29
30
  var getLogLevel = () => _nullishCoalesce(getEnvUniversal("RIVET_LOG_LEVEL"), () => ( getEnvUniversal("LOG_LEVEL")));
30
31
  var getLogTarget = () => getEnvUniversal("RIVET_LOG_TARGET") === "1";
31
32
  var getLogTimestamp = () => getEnvUniversal("RIVET_LOG_TIMESTAMP") === "1";
@@ -35,6 +36,7 @@ var getLogHeaders = () => getEnvUniversal("RIVET_LOG_HEADERS") === "1";
35
36
  var getNodeEnv = () => getEnvUniversal("NODE_ENV");
36
37
  var getNextPhase = () => getEnvUniversal("NEXT_PHASE");
37
38
  var isDev = () => getNodeEnv() !== "production";
39
+ var getRivetExperimentalOtel = () => getEnvUniversal("RIVET_EXPERIMENTAL_OTEL") === "1";
38
40
 
39
41
  // src/common/utils.ts
40
42
  function assertUnreachable(x) {
@@ -128,7 +130,7 @@ function deconstructError(error, logger2, extraLog, exposeInternalError = false)
128
130
  let code;
129
131
  let message;
130
132
  let metadata;
131
- if (_chunk2XQS746Mcjs.ActorError.isActorError(error) && error.public) {
133
+ if (_chunkL47L3ZWJcjs.ActorError.isActorError(error) && error.public) {
132
134
  statusCode = "statusCode" in error && error.statusCode ? error.statusCode : 400;
133
135
  public_ = true;
134
136
  group = error.group;
@@ -144,7 +146,7 @@ function deconstructError(error, logger2, extraLog, exposeInternalError = false)
144
146
  ...extraLog
145
147
  });
146
148
  } else if (exposeInternalError) {
147
- if (_chunk2XQS746Mcjs.ActorError.isActorError(error)) {
149
+ if (_chunkL47L3ZWJcjs.ActorError.isActorError(error)) {
148
150
  statusCode = 500;
149
151
  public_ = false;
150
152
  group = error.group;
@@ -163,8 +165,8 @@ function deconstructError(error, logger2, extraLog, exposeInternalError = false)
163
165
  } else {
164
166
  statusCode = 500;
165
167
  public_ = false;
166
- group = "internal";
167
- code = _chunk2XQS746Mcjs.INTERNAL_ERROR_CODE;
168
+ group = "rivetkit";
169
+ code = _chunkL47L3ZWJcjs.INTERNAL_ERROR_CODE;
168
170
  message = getErrorMessage(error);
169
171
  logger2.info({
170
172
  msg: "internal error",
@@ -179,9 +181,9 @@ function deconstructError(error, logger2, extraLog, exposeInternalError = false)
179
181
  } else {
180
182
  statusCode = 500;
181
183
  public_ = false;
182
- group = "internal";
183
- code = _chunk2XQS746Mcjs.INTERNAL_ERROR_CODE;
184
- message = _chunk2XQS746Mcjs.INTERNAL_ERROR_DESCRIPTION;
184
+ group = "rivetkit";
185
+ code = _chunkL47L3ZWJcjs.INTERNAL_ERROR_CODE;
186
+ message = _chunkL47L3ZWJcjs.INTERNAL_ERROR_DESCRIPTION;
185
187
  metadata = {
186
188
  //url: `https://hub.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,
187
189
  };
@@ -238,7 +240,7 @@ function noopNext() {
238
240
  // package.json
239
241
  var package_default = {
240
242
  name: "rivetkit",
241
- version: "2.0.42",
243
+ version: "2.1.0-rc.1",
242
244
  description: "Lightweight libraries for building stateful actors on edge platforms",
243
245
  license: "Apache-2.0",
244
246
  keywords: [
@@ -271,8 +273,22 @@ var package_default = {
271
273
  default: "./dist/tsup/mod.cjs"
272
274
  }
273
275
  },
276
+ "./workflow": {
277
+ import: {
278
+ types: "./dist/tsup/workflow/mod.d.ts",
279
+ default: "./dist/tsup/workflow/mod.js"
280
+ },
281
+ require: {
282
+ types: "./dist/tsup/workflow/mod.d.cts",
283
+ default: "./dist/tsup/workflow/mod.cjs"
284
+ }
285
+ },
274
286
  "./client": {
275
287
  import: {
288
+ browser: {
289
+ types: "./dist/browser/client.d.ts",
290
+ default: "./dist/browser/client.js"
291
+ },
276
292
  types: "./dist/tsup/client/mod.d.ts",
277
293
  default: "./dist/tsup/client/mod.js"
278
294
  },
@@ -390,6 +406,32 @@ var package_default = {
390
406
  types: "./dist/tsup/inspector/mod.d.cts",
391
407
  default: "./dist/tsup/inspector/mod.cjs"
392
408
  }
409
+ },
410
+ "./inspector/client": {
411
+ import: {
412
+ types: "./dist/browser/inspector/client.d.ts",
413
+ default: "./dist/browser/inspector/client.js"
414
+ }
415
+ },
416
+ "./db": {
417
+ import: {
418
+ types: "./dist/tsup/db/mod.d.ts",
419
+ default: "./dist/tsup/db/mod.js"
420
+ },
421
+ require: {
422
+ types: "./dist/tsup/db/mod.d.cts",
423
+ default: "./dist/tsup/db/mod.cjs"
424
+ }
425
+ },
426
+ "./db/drizzle": {
427
+ import: {
428
+ types: "./dist/tsup/db/drizzle/mod.d.ts",
429
+ default: "./dist/tsup/db/drizzle/mod.js"
430
+ },
431
+ require: {
432
+ types: "./dist/tsup/db/drizzle/mod.d.cts",
433
+ default: "./dist/tsup/db/drizzle/mod.cjs"
434
+ }
393
435
  }
394
436
  },
395
437
  engines: {
@@ -400,8 +442,9 @@ var package_default = {
400
442
  "./dist/tsup/chunk-*.cjs"
401
443
  ],
402
444
  scripts: {
403
- build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/topologies/coordinate/mod.ts src/topologies/partition/mod.ts src/utils.ts src/driver-helpers/mod.ts src/driver-test-suite/mod.ts src/serve-test-suite/mod.ts src/test/mod.ts src/inspector/mod.ts",
404
- "build:schema": "./scripts/compile-bare.ts compile schemas/client-protocol/v1.bare -o dist/schemas/client-protocol/v1.ts && ./scripts/compile-bare.ts compile schemas/client-protocol/v2.bare -o dist/schemas/client-protocol/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v1.bare -o dist/schemas/file-system-driver/v1.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v2.bare -o dist/schemas/file-system-driver/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v3.bare -o dist/schemas/file-system-driver/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v1.bare -o dist/schemas/actor-persist/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v2.bare -o dist/schemas/actor-persist/v2.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v3.bare -o dist/schemas/actor-persist/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v1.bare -o dist/schemas/actor-inspector/v1.ts",
445
+ build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/topologies/coordinate/mod.ts src/topologies/partition/mod.ts src/utils.ts src/driver-helpers/mod.ts src/driver-test-suite/mod.ts src/serve-test-suite/mod.ts src/test/mod.ts src/inspector/mod.ts src/workflow/mod.ts src/db/mod.ts src/db/drizzle/mod.ts",
446
+ "build:browser": "tsup --config tsup.browser.config.ts",
447
+ "build:schema": "./scripts/compile-bare.ts compile schemas/client-protocol/v1.bare -o dist/schemas/client-protocol/v1.ts && ./scripts/compile-bare.ts compile schemas/client-protocol/v2.bare -o dist/schemas/client-protocol/v2.ts && ./scripts/compile-bare.ts compile schemas/client-protocol/v3.bare -o dist/schemas/client-protocol/v3.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v1.bare -o dist/schemas/file-system-driver/v1.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v2.bare -o dist/schemas/file-system-driver/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v3.bare -o dist/schemas/file-system-driver/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v1.bare -o dist/schemas/actor-persist/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v2.bare -o dist/schemas/actor-persist/v2.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v3.bare -o dist/schemas/actor-persist/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v4.bare -o dist/schemas/actor-persist/v4.ts && ./scripts/compile-bare.ts compile schemas/persist/v1.bare -o dist/schemas/persist/v1.ts && ./scripts/compile-bare.ts compile schemas/transport/v1.bare -o dist/schemas/transport/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v1.bare -o dist/schemas/actor-inspector/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v2.bare -o dist/schemas/actor-inspector/v2.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v3.bare -o dist/schemas/actor-inspector/v3.ts",
405
448
  "check-types": "tsc --noEmit",
406
449
  lint: "biome check .",
407
450
  "lint:fix": "biome check --write .",
@@ -412,7 +455,8 @@ var package_default = {
412
455
  "manager-openapi-gen": "tsx scripts/manager-openapi-gen.ts",
413
456
  "dump-asyncapi": "tsx scripts/dump-asyncapi.ts",
414
457
  "registry-config-schema-gen": "tsx scripts/registry-config-schema-gen.ts",
415
- "actor-config-schema-gen": "tsx scripts/actor-config-schema-gen.ts"
458
+ "actor-config-schema-gen": "tsx scripts/actor-config-schema-gen.ts",
459
+ "build:pack-inspector": "tsx scripts/pack-inspector.ts"
416
460
  },
417
461
  dependencies: {
418
462
  "@hono/standard-validator": "^0.1.3",
@@ -421,7 +465,10 @@ var package_default = {
421
465
  "@rivetkit/engine-runner": "workspace:*",
422
466
  "@rivetkit/fast-json-patch": "^3.1.2",
423
467
  "@rivetkit/on-change": "^6.0.2-rc.1",
468
+ "@rivetkit/sqlite-vfs": "workspace:*",
469
+ "@rivetkit/traces": "workspace:*",
424
470
  "@rivetkit/virtual-websocket": "workspace:*",
471
+ "@rivetkit/workflow-engine": "workspace:*",
425
472
  "cbor-x": "^1.6.0",
426
473
  "get-port": "^7.1.0",
427
474
  hono: "^4.7.0",
@@ -429,8 +476,10 @@ var package_default = {
429
476
  nanoevents: "^9.1.0",
430
477
  "p-retry": "^6.2.1",
431
478
  pino: "^9.5.0",
479
+ tar: "^7.5.0",
432
480
  uuid: "^12.0.0",
433
481
  vbare: "^0.0.4",
482
+ "@rivetkit/sqlite": "^0.1.1",
434
483
  zod: "^4.1.0"
435
484
  },
436
485
  devDependencies: {
@@ -438,10 +487,12 @@ var package_default = {
438
487
  "@biomejs/biome": "^2.3",
439
488
  "@hono/node-server": "^1.18.2",
440
489
  "@hono/node-ws": "^1.1.1",
490
+ "@standard-schema/spec": "^1.0.0",
441
491
  "@types/invariant": "^2",
442
492
  "@types/node": "^22.13.1",
443
493
  "@types/ws": "^8",
444
494
  "@vitest/ui": "3.1.1",
495
+ "cli-table3": "^0.6.5",
445
496
  commander: "^12.1.0",
446
497
  eventsource: "^4.0.0",
447
498
  "local-pkg": "^0.5.1",
@@ -456,6 +507,8 @@ var package_default = {
456
507
  peerDependencies: {
457
508
  "@hono/node-server": "^1.14.0",
458
509
  "@hono/node-ws": "^1.1.1",
510
+ "drizzle-kit": "^0.31.2",
511
+ "drizzle-orm": "^0.44.2",
459
512
  eventsource: "^4.0.0",
460
513
  ws: "^8.0.0"
461
514
  },
@@ -466,6 +519,12 @@ var package_default = {
466
519
  "@hono/node-ws": {
467
520
  optional: true
468
521
  },
522
+ "drizzle-kit": {
523
+ optional: true
524
+ },
525
+ "drizzle-orm": {
526
+ optional: true
527
+ },
469
528
  eventsource: {
470
529
  optional: true
471
530
  },
@@ -481,7 +540,7 @@ var package_default = {
481
540
 
482
541
 
483
542
  var _pino = require('pino');
484
- var _zod = require('zod');
543
+ var _v4 = require('zod/v4');
485
544
 
486
545
  // src/common/log-levels.ts
487
546
  var LogLevels = {
@@ -586,7 +645,7 @@ var LOGGER_CONFIG = {
586
645
  var baseLogger;
587
646
  var configuredLogLevel;
588
647
  var loggerCache = /* @__PURE__ */ new Map();
589
- var LogLevelSchema = _zod.z.enum([
648
+ var LogLevelSchema = _v4.z.enum([
590
649
  "trace",
591
650
  "debug",
592
651
  "info",
@@ -732,6 +791,49 @@ function getLogger(name = "default") {
732
791
  }
733
792
 
734
793
  // src/utils.ts
794
+ function joinSignals(...signals) {
795
+ const validSignals = signals.filter(
796
+ (signal) => signal != null
797
+ );
798
+ if (validSignals.length === 0) {
799
+ return new AbortController().signal;
800
+ }
801
+ if (validSignals.length === 1) {
802
+ return validSignals[0];
803
+ }
804
+ const signalAny = AbortSignal.any;
805
+ if (typeof signalAny === "function") {
806
+ return signalAny(validSignals);
807
+ }
808
+ const controller = new AbortController();
809
+ const cleanups = [];
810
+ const abortWithSignal = (signal) => {
811
+ if (controller.signal.aborted) {
812
+ return;
813
+ }
814
+ for (const cleanup of cleanups) {
815
+ cleanup();
816
+ }
817
+ const reason = signal.reason;
818
+ controller.abort(reason);
819
+ };
820
+ for (const signal of validSignals) {
821
+ if (signal.aborted) {
822
+ abortWithSignal(signal);
823
+ break;
824
+ }
825
+ const onAbort = () => abortWithSignal(signal);
826
+ signal.addEventListener("abort", onAbort, { once: true });
827
+ cleanups.push(() => signal.removeEventListener("abort", onAbort));
828
+ }
829
+ return controller.signal;
830
+ }
831
+ function sleep(ms) {
832
+ return new Promise((resolve) => setTimeout(resolve, ms));
833
+ }
834
+ function interval(ms) {
835
+ return () => sleep(ms);
836
+ }
735
837
  var VERSION2 = package_default.version;
736
838
  var _userAgent;
737
839
  function logger() {
@@ -776,13 +878,14 @@ function toUint8Array(data) {
776
878
  }
777
879
  }
778
880
  var TIMEOUT_MAX = 2147483647;
779
- function promiseWithResolvers() {
881
+ function promiseWithResolvers(onReject) {
780
882
  let resolve;
781
883
  let reject;
782
884
  const promise = new Promise((res, rej) => {
783
885
  resolve = res;
784
886
  reject = rej;
785
887
  });
888
+ promise.catch(onReject);
786
889
  return { promise, resolve, reject };
787
890
  }
788
891
  function setLongTimeout(listener, after) {
@@ -814,7 +917,7 @@ var SinglePromiseQueue = class {
814
917
  enqueue(op) {
815
918
  this.#queuedOp = op;
816
919
  if (!this.#pending) {
817
- this.#pending = promiseWithResolvers();
920
+ this.#pending = promiseWithResolvers((reason) => logger().warn({ msg: "unhandled single promise queue rejection", reason }));
818
921
  }
819
922
  const waitForThisCycle = this.#pending.promise;
820
923
  if (!this.runningDrainLoop) {
@@ -948,5 +1051,10 @@ function detectRuntime() {
948
1051
 
949
1052
 
950
1053
 
951
- exports.assertUnreachable = assertUnreachable; exports.isCborSerializable = isCborSerializable; exports.deconstructError = deconstructError; exports.stringifyError = stringifyError; exports.noopNext = noopNext; exports.package_default = package_default; exports.VERSION = VERSION2; exports.httpUserAgent = httpUserAgent; exports.getEnvUniversal = getEnvUniversal; exports.dbg = dbg; exports.toUint8Array = toUint8Array; exports.promiseWithResolvers = promiseWithResolvers; exports.setLongTimeout = setLongTimeout; exports.SinglePromiseQueue = SinglePromiseQueue; exports.bufferToArrayBuffer = bufferToArrayBuffer; exports.combineUrlPath = combineUrlPath; exports.arrayBuffersEqual = arrayBuffersEqual; exports.EXTRA_ERROR_LOG = EXTRA_ERROR_LOG; exports.detectRuntime = detectRuntime; exports.getRivetEngine = getRivetEngine; exports.getRivetEndpoint = getRivetEndpoint; exports.getRivetToken = getRivetToken; exports.getRivetNamespace = getRivetNamespace; exports.getRivetRunner = getRivetRunner; exports.getRivetTotalSlots = getRivetTotalSlots; exports.getRivetRunnerKey = getRivetRunnerKey; exports.getRivetRunEngine = getRivetRunEngine; exports.getRivetRunEngineVersion = getRivetRunEngineVersion; exports.getRivetRunnerKind = getRivetRunnerKind; exports.getRivetRunnerVersion = getRivetRunnerVersion; exports.getRivetPublicEndpoint = getRivetPublicEndpoint; exports.getRivetPublicToken = getRivetPublicToken; exports.getRivetkitInspectorToken = getRivetkitInspectorToken; exports.getRivetkitInspectorDisable = getRivetkitInspectorDisable; exports.getLogMessage = getLogMessage; exports.getLogHeaders = getLogHeaders; exports.getNodeEnv = getNodeEnv; exports.getNextPhase = getNextPhase; exports.isDev = isDev; exports.LogLevelSchema = LogLevelSchema; exports.getPinoLevel = getPinoLevel; exports.getIncludeTarget = getIncludeTarget; exports.configureBaseLogger = configureBaseLogger; exports.configureDefaultLogger = configureDefaultLogger; exports.getBaseLogger = getBaseLogger; exports.getLogger = getLogger;
952
- //# sourceMappingURL=chunk-H4TB4X25.cjs.map
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+ exports.assertUnreachable = assertUnreachable; exports.isCborSerializable = isCborSerializable; exports.deconstructError = deconstructError; exports.stringifyError = stringifyError; exports.noopNext = noopNext; exports.package_default = package_default; exports.joinSignals = joinSignals; exports.sleep = sleep; exports.interval = interval; exports.VERSION = VERSION2; exports.httpUserAgent = httpUserAgent; exports.getEnvUniversal = getEnvUniversal; exports.dbg = dbg; exports.toUint8Array = toUint8Array; exports.promiseWithResolvers = promiseWithResolvers; exports.setLongTimeout = setLongTimeout; exports.SinglePromiseQueue = SinglePromiseQueue; exports.bufferToArrayBuffer = bufferToArrayBuffer; exports.combineUrlPath = combineUrlPath; exports.arrayBuffersEqual = arrayBuffersEqual; exports.EXTRA_ERROR_LOG = EXTRA_ERROR_LOG; exports.detectRuntime = detectRuntime; exports.getRivetEngine = getRivetEngine; exports.getRivetEndpoint = getRivetEndpoint; exports.getRivetToken = getRivetToken; exports.getRivetNamespace = getRivetNamespace; exports.getRivetRunner = getRivetRunner; exports.getRivetTotalSlots = getRivetTotalSlots; exports.getRivetRunnerKey = getRivetRunnerKey; exports.getRivetRunEngine = getRivetRunEngine; exports.getRivetRunEngineVersion = getRivetRunEngineVersion; exports.getRivetRunnerKind = getRivetRunnerKind; exports.getRivetRunnerVersion = getRivetRunnerVersion; exports.getRivetPublicEndpoint = getRivetPublicEndpoint; exports.getRivetPublicToken = getRivetPublicToken; exports.getRivetkitInspectorToken = getRivetkitInspectorToken; exports.getRivetkitInspectorDisable = getRivetkitInspectorDisable; exports.getRivetkitStoragePath = getRivetkitStoragePath; exports.getLogMessage = getLogMessage; exports.getLogHeaders = getLogHeaders; exports.getNodeEnv = getNodeEnv; exports.getNextPhase = getNextPhase; exports.isDev = isDev; exports.getRivetExperimentalOtel = getRivetExperimentalOtel; exports.LogLevelSchema = LogLevelSchema; exports.getPinoLevel = getPinoLevel; exports.getIncludeTarget = getIncludeTarget; exports.configureBaseLogger = configureBaseLogger; exports.configureDefaultLogger = configureDefaultLogger; exports.getBaseLogger = getBaseLogger; exports.getLogger = getLogger;
1060
+ //# sourceMappingURL=chunk-LW6KLR7A.cjs.map