rivetkit 2.1.5 → 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-PB5AEMKQ.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-TADUYCHF.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-GQGRQDRL.cjs → chunk-DH6UINWA.cjs} +4 -4
  30. package/dist/tsup/{chunk-GQGRQDRL.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-S662Y6ZU.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-IIJNPVPQ.cjs → chunk-GUHXWPGB.cjs} +1515 -1479
  39. package/dist/tsup/chunk-GUHXWPGB.cjs.map +1 -0
  40. package/dist/tsup/{chunk-TI5PXQGG.cjs → chunk-HNE2AK6C.cjs} +2375 -3713
  41. package/dist/tsup/chunk-HNE2AK6C.cjs.map +1 -0
  42. package/dist/tsup/{chunk-2OK7S6QF.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-U5SMSA27.cjs → chunk-JJNZQDUN.cjs} +667 -2517
  46. package/dist/tsup/chunk-JJNZQDUN.cjs.map +1 -0
  47. package/dist/tsup/{chunk-ZPWOYQHN.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-HYPIHCDT.cjs → chunk-MPLMTJY5.cjs} +123 -23
  56. package/dist/tsup/chunk-MPLMTJY5.cjs.map +1 -0
  57. package/dist/tsup/{chunk-MIX2KB6U.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-WY2SHWXQ.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-7WF2QSIC.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-JC6BEPE7.cjs → chunk-V3JSZR5P.cjs} +3 -3
  70. package/dist/tsup/{chunk-JC6BEPE7.cjs.map → chunk-V3JSZR5P.cjs.map} +1 -1
  71. package/dist/tsup/{chunk-OAXJWGMU.cjs → chunk-VBR35EQF.cjs} +271 -339
  72. package/dist/tsup/chunk-VBR35EQF.cjs.map +1 -0
  73. package/dist/tsup/{chunk-EIATSBYZ.js → chunk-VWYO36X4.js} +117 -17
  74. package/dist/tsup/chunk-VWYO36X4.js.map +1 -0
  75. package/dist/tsup/{chunk-JPXO2H55.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-SRIM3GHD.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 +114 -15
  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-6LJAZ5R4.cjs +0 -96
  305. package/dist/tsup/chunk-6LJAZ5R4.cjs.map +0 -1
  306. package/dist/tsup/chunk-7HTNH26M.js.map +0 -1
  307. package/dist/tsup/chunk-7WF2QSIC.cjs.map +0 -1
  308. package/dist/tsup/chunk-D2SPAJVT.cjs +0 -645
  309. package/dist/tsup/chunk-D2SPAJVT.cjs.map +0 -1
  310. package/dist/tsup/chunk-EIATSBYZ.js.map +0 -1
  311. package/dist/tsup/chunk-HYPIHCDT.cjs.map +0 -1
  312. package/dist/tsup/chunk-IIJNPVPQ.cjs.map +0 -1
  313. package/dist/tsup/chunk-JPXO2H55.js.map +0 -1
  314. package/dist/tsup/chunk-KJSYAUOM.js.map +0 -1
  315. package/dist/tsup/chunk-L47L3ZWJ.cjs.map +0 -1
  316. package/dist/tsup/chunk-MIX2KB6U.js.map +0 -1
  317. package/dist/tsup/chunk-N4KRDJ56.js.map +0 -1
  318. package/dist/tsup/chunk-OAXJWGMU.cjs.map +0 -1
  319. package/dist/tsup/chunk-PB5AEMKQ.cjs.map +0 -1
  320. package/dist/tsup/chunk-R5OQUSLN.js +0 -645
  321. package/dist/tsup/chunk-R5OQUSLN.js.map +0 -1
  322. package/dist/tsup/chunk-SR3KQE7Q.cjs.map +0 -1
  323. package/dist/tsup/chunk-SRIM3GHD.js.map +0 -1
  324. package/dist/tsup/chunk-TADUYCHF.js.map +0 -1
  325. package/dist/tsup/chunk-TI5PXQGG.cjs.map +0 -1
  326. package/dist/tsup/chunk-U5SMSA27.cjs.map +0 -1
  327. package/dist/tsup/chunk-VKVNIQRQ.js.map +0 -1
  328. package/dist/tsup/chunk-WY2SHWXQ.js.map +0 -1
  329. package/dist/tsup/chunk-ZFY5J2EP.cjs.map +0 -1
  330. package/dist/tsup/chunk-ZPWOYQHN.js.map +0 -1
  331. package/src/db/sqlite-vfs.ts +0 -12
  332. /package/dist/tsup/{chunk-S662Y6ZU.js.map → chunk-EONWXYMN.js.map} +0 -0
  333. /package/dist/tsup/{chunk-2OK7S6QF.js.map → chunk-I5I6OALK.js.map} +0 -0
Binary file
@@ -49,7 +49,7 @@
49
49
 
50
50
 
51
51
 
52
- var _chunkL47L3ZWJcjs = require('../chunk-L47L3ZWJ.cjs');
52
+ var _chunk6G7ZNM27cjs = require('../chunk-6G7ZNM27.cjs');
53
53
  require('../chunk-HDQ2JUQT.cjs');
54
54
 
55
55
 
@@ -102,5 +102,5 @@ require('../chunk-HDQ2JUQT.cjs');
102
102
 
103
103
 
104
104
 
105
- exports.ActionNotFound = _chunkL47L3ZWJcjs.ActionNotFound; exports.ActionTimedOut = _chunkL47L3ZWJcjs.ActionTimedOut; exports.ActorAborted = _chunkL47L3ZWJcjs.ActorAborted; exports.ActorDuplicateKey = _chunkL47L3ZWJcjs.ActorDuplicateKey; exports.ActorError = _chunkL47L3ZWJcjs.ActorError; exports.ActorNotFound = _chunkL47L3ZWJcjs.ActorNotFound; exports.ActorStopping = _chunkL47L3ZWJcjs.ActorStopping; exports.ConnStateNotEnabled = _chunkL47L3ZWJcjs.ConnStateNotEnabled; exports.DatabaseNotEnabled = _chunkL47L3ZWJcjs.DatabaseNotEnabled; exports.EndpointMismatch = _chunkL47L3ZWJcjs.EndpointMismatch; exports.EventPayloadInvalid = _chunkL47L3ZWJcjs.EventPayloadInvalid; exports.FeatureNotImplemented = _chunkL47L3ZWJcjs.FeatureNotImplemented; exports.Forbidden = _chunkL47L3ZWJcjs.Forbidden; exports.INTERNAL_ERROR_CODE = _chunkL47L3ZWJcjs.INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = _chunkL47L3ZWJcjs.INTERNAL_ERROR_DESCRIPTION; exports.IncomingMessageTooLong = _chunkL47L3ZWJcjs.IncomingMessageTooLong; exports.InternalError = _chunkL47L3ZWJcjs.InternalError; exports.InvalidActionRequest = _chunkL47L3ZWJcjs.InvalidActionRequest; exports.InvalidCanPublishResponse = _chunkL47L3ZWJcjs.InvalidCanPublishResponse; exports.InvalidCanSubscribeResponse = _chunkL47L3ZWJcjs.InvalidCanSubscribeResponse; exports.InvalidEncoding = _chunkL47L3ZWJcjs.InvalidEncoding; exports.InvalidParams = _chunkL47L3ZWJcjs.InvalidParams; exports.InvalidQueryJSON = _chunkL47L3ZWJcjs.InvalidQueryJSON; exports.InvalidRequest = _chunkL47L3ZWJcjs.InvalidRequest; exports.InvalidRequestHandlerResponse = _chunkL47L3ZWJcjs.InvalidRequestHandlerResponse; exports.InvalidStateType = _chunkL47L3ZWJcjs.InvalidStateType; exports.MalformedMessage = _chunkL47L3ZWJcjs.MalformedMessage; exports.MissingActorHeader = _chunkL47L3ZWJcjs.MissingActorHeader; exports.NamespaceMismatch = _chunkL47L3ZWJcjs.NamespaceMismatch; exports.OutgoingMessageTooLong = _chunkL47L3ZWJcjs.OutgoingMessageTooLong; exports.ProxyError = _chunkL47L3ZWJcjs.ProxyError; exports.QueueAlreadyCompleted = _chunkL47L3ZWJcjs.QueueAlreadyCompleted; exports.QueueCompleteNotConfigured = _chunkL47L3ZWJcjs.QueueCompleteNotConfigured; exports.QueueCompletionPayloadInvalid = _chunkL47L3ZWJcjs.QueueCompletionPayloadInvalid; exports.QueueFull = _chunkL47L3ZWJcjs.QueueFull; exports.QueueMessageInvalid = _chunkL47L3ZWJcjs.QueueMessageInvalid; exports.QueueMessageTooLarge = _chunkL47L3ZWJcjs.QueueMessageTooLarge; exports.QueuePayloadInvalid = _chunkL47L3ZWJcjs.QueuePayloadInvalid; exports.QueuePreviousMessageNotCompleted = _chunkL47L3ZWJcjs.QueuePreviousMessageNotCompleted; exports.RequestHandlerNotDefined = _chunkL47L3ZWJcjs.RequestHandlerNotDefined; exports.RestrictedFeature = _chunkL47L3ZWJcjs.RestrictedFeature; exports.RouteNotFound = _chunkL47L3ZWJcjs.RouteNotFound; exports.StateNotEnabled = _chunkL47L3ZWJcjs.StateNotEnabled; exports.USER_ERROR_CODE = _chunkL47L3ZWJcjs.USER_ERROR_CODE; exports.Unreachable = _chunkL47L3ZWJcjs.Unreachable; exports.Unsupported = _chunkL47L3ZWJcjs.Unsupported; exports.UserError = _chunkL47L3ZWJcjs.UserError; exports.VarsNotEnabled = _chunkL47L3ZWJcjs.VarsNotEnabled; exports.WebSocketHandlerNotDefined = _chunkL47L3ZWJcjs.WebSocketHandlerNotDefined; exports.WebSocketsNotEnabled = _chunkL47L3ZWJcjs.WebSocketsNotEnabled;
105
+ exports.ActionNotFound = _chunk6G7ZNM27cjs.ActionNotFound; exports.ActionTimedOut = _chunk6G7ZNM27cjs.ActionTimedOut; exports.ActorAborted = _chunk6G7ZNM27cjs.ActorAborted; exports.ActorDuplicateKey = _chunk6G7ZNM27cjs.ActorDuplicateKey; exports.ActorError = _chunk6G7ZNM27cjs.ActorError; exports.ActorNotFound = _chunk6G7ZNM27cjs.ActorNotFound; exports.ActorStopping = _chunk6G7ZNM27cjs.ActorStopping; exports.ConnStateNotEnabled = _chunk6G7ZNM27cjs.ConnStateNotEnabled; exports.DatabaseNotEnabled = _chunk6G7ZNM27cjs.DatabaseNotEnabled; exports.EndpointMismatch = _chunk6G7ZNM27cjs.EndpointMismatch; exports.EventPayloadInvalid = _chunk6G7ZNM27cjs.EventPayloadInvalid; exports.FeatureNotImplemented = _chunk6G7ZNM27cjs.FeatureNotImplemented; exports.Forbidden = _chunk6G7ZNM27cjs.Forbidden; exports.INTERNAL_ERROR_CODE = _chunk6G7ZNM27cjs.INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = _chunk6G7ZNM27cjs.INTERNAL_ERROR_DESCRIPTION; exports.IncomingMessageTooLong = _chunk6G7ZNM27cjs.IncomingMessageTooLong; exports.InternalError = _chunk6G7ZNM27cjs.InternalError; exports.InvalidActionRequest = _chunk6G7ZNM27cjs.InvalidActionRequest; exports.InvalidCanPublishResponse = _chunk6G7ZNM27cjs.InvalidCanPublishResponse; exports.InvalidCanSubscribeResponse = _chunk6G7ZNM27cjs.InvalidCanSubscribeResponse; exports.InvalidEncoding = _chunk6G7ZNM27cjs.InvalidEncoding; exports.InvalidParams = _chunk6G7ZNM27cjs.InvalidParams; exports.InvalidQueryJSON = _chunk6G7ZNM27cjs.InvalidQueryJSON; exports.InvalidRequest = _chunk6G7ZNM27cjs.InvalidRequest; exports.InvalidRequestHandlerResponse = _chunk6G7ZNM27cjs.InvalidRequestHandlerResponse; exports.InvalidStateType = _chunk6G7ZNM27cjs.InvalidStateType; exports.MalformedMessage = _chunk6G7ZNM27cjs.MalformedMessage; exports.MissingActorHeader = _chunk6G7ZNM27cjs.MissingActorHeader; exports.NamespaceMismatch = _chunk6G7ZNM27cjs.NamespaceMismatch; exports.OutgoingMessageTooLong = _chunk6G7ZNM27cjs.OutgoingMessageTooLong; exports.ProxyError = _chunk6G7ZNM27cjs.ProxyError; exports.QueueAlreadyCompleted = _chunk6G7ZNM27cjs.QueueAlreadyCompleted; exports.QueueCompleteNotConfigured = _chunk6G7ZNM27cjs.QueueCompleteNotConfigured; exports.QueueCompletionPayloadInvalid = _chunk6G7ZNM27cjs.QueueCompletionPayloadInvalid; exports.QueueFull = _chunk6G7ZNM27cjs.QueueFull; exports.QueueMessageInvalid = _chunk6G7ZNM27cjs.QueueMessageInvalid; exports.QueueMessageTooLarge = _chunk6G7ZNM27cjs.QueueMessageTooLarge; exports.QueuePayloadInvalid = _chunk6G7ZNM27cjs.QueuePayloadInvalid; exports.QueuePreviousMessageNotCompleted = _chunk6G7ZNM27cjs.QueuePreviousMessageNotCompleted; exports.RequestHandlerNotDefined = _chunk6G7ZNM27cjs.RequestHandlerNotDefined; exports.RestrictedFeature = _chunk6G7ZNM27cjs.RestrictedFeature; exports.RouteNotFound = _chunk6G7ZNM27cjs.RouteNotFound; exports.StateNotEnabled = _chunk6G7ZNM27cjs.StateNotEnabled; exports.USER_ERROR_CODE = _chunk6G7ZNM27cjs.USER_ERROR_CODE; exports.Unreachable = _chunk6G7ZNM27cjs.Unreachable; exports.Unsupported = _chunk6G7ZNM27cjs.Unsupported; exports.UserError = _chunk6G7ZNM27cjs.UserError; exports.VarsNotEnabled = _chunk6G7ZNM27cjs.VarsNotEnabled; exports.WebSocketHandlerNotDefined = _chunk6G7ZNM27cjs.WebSocketHandlerNotDefined; exports.WebSocketsNotEnabled = _chunk6G7ZNM27cjs.WebSocketsNotEnabled;
106
106
  //# sourceMappingURL=errors.cjs.map
@@ -49,7 +49,7 @@ import {
49
49
  VarsNotEnabled,
50
50
  WebSocketHandlerNotDefined,
51
51
  WebSocketsNotEnabled
52
- } from "../chunk-7HTNH26M.js";
52
+ } from "../chunk-AKUJ5OTO.js";
53
53
  import "../chunk-424PT5DM.js";
54
54
  export {
55
55
  ActionNotFound,
@@ -21,4 +21,4 @@ declare const WS_TEST_PROTOCOL_PATH = "test_path.";
21
21
  **/
22
22
  declare const ALLOWED_PUBLIC_HEADERS: string[];
23
23
 
24
- export { ALLOWED_PUBLIC_HEADERS as A, HEADER_ACTOR_ID as H, PATH_CONNECT as P, WS_PROTOCOL_ACTOR as W, PATH_WEBSOCKET_PREFIX as a, HEADER_ACTOR_QUERY as b, HEADER_CONN_PARAMS as c, HEADER_ENCODING as d, HEADER_RIVET_ACTOR as e, HEADER_RIVET_TARGET as f, PATH_WEBSOCKET_BASE as g, WS_PROTOCOL_CONN_PARAMS as h, WS_PROTOCOL_ENCODING as i, WS_TEST_PROTOCOL_PATH as j, WS_PROTOCOL_STANDARD as k, WS_PROTOCOL_TARGET as l };
24
+ export { ALLOWED_PUBLIC_HEADERS as A, HEADER_ACTOR_ID as H, PATH_CONNECT as P, WS_PROTOCOL_ACTOR as W, HEADER_ACTOR_QUERY as a, HEADER_CONN_PARAMS as b, HEADER_ENCODING as c, HEADER_RIVET_ACTOR as d, HEADER_RIVET_TARGET as e, PATH_WEBSOCKET_BASE as f, PATH_WEBSOCKET_PREFIX as g, WS_PROTOCOL_CONN_PARAMS as h, WS_PROTOCOL_ENCODING as i, WS_TEST_PROTOCOL_PATH as j, WS_PROTOCOL_STANDARD as k, WS_PROTOCOL_TARGET as l };
@@ -21,4 +21,4 @@ declare const WS_TEST_PROTOCOL_PATH = "test_path.";
21
21
  **/
22
22
  declare const ALLOWED_PUBLIC_HEADERS: string[];
23
23
 
24
- export { ALLOWED_PUBLIC_HEADERS as A, HEADER_ACTOR_ID as H, PATH_CONNECT as P, WS_PROTOCOL_ACTOR as W, PATH_WEBSOCKET_PREFIX as a, HEADER_ACTOR_QUERY as b, HEADER_CONN_PARAMS as c, HEADER_ENCODING as d, HEADER_RIVET_ACTOR as e, HEADER_RIVET_TARGET as f, PATH_WEBSOCKET_BASE as g, WS_PROTOCOL_CONN_PARAMS as h, WS_PROTOCOL_ENCODING as i, WS_TEST_PROTOCOL_PATH as j, WS_PROTOCOL_STANDARD as k, WS_PROTOCOL_TARGET as l };
24
+ export { ALLOWED_PUBLIC_HEADERS as A, HEADER_ACTOR_ID as H, PATH_CONNECT as P, WS_PROTOCOL_ACTOR as W, HEADER_ACTOR_QUERY as a, HEADER_CONN_PARAMS as b, HEADER_ENCODING as c, HEADER_RIVET_ACTOR as d, HEADER_RIVET_TARGET as e, PATH_WEBSOCKET_BASE as f, PATH_WEBSOCKET_PREFIX as g, WS_PROTOCOL_CONN_PARAMS as h, WS_PROTOCOL_ENCODING as i, WS_TEST_PROTOCOL_PATH as j, WS_PROTOCOL_STANDARD as k, WS_PROTOCOL_TARGET as l };
@@ -0,0 +1,112 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkSQFCIDCGcjs = require('./chunk-SQFCIDCG.cjs');
6
+
7
+ // src/db/mod.ts
8
+ function db({
9
+ onMigrate
10
+ } = {}) {
11
+ return {
12
+ createClient: async (ctx) => {
13
+ const override = ctx.overrideRawDatabaseClient ? await ctx.overrideRawDatabaseClient() : void 0;
14
+ if (override) {
15
+ return {
16
+ execute: async (query, ...args) => {
17
+ return await override.exec(query, ...args);
18
+ },
19
+ close: async () => {
20
+ }
21
+ };
22
+ }
23
+ if (!ctx.sqliteVfs) {
24
+ throw new Error(
25
+ "SqliteVfs instance not provided in context. The driver must provide a sqliteVfs instance."
26
+ );
27
+ }
28
+ const kvStore = _chunkSQFCIDCGcjs.createActorKvStore.call(void 0, ctx.kv, ctx.metrics);
29
+ const db2 = await ctx.sqliteVfs.open(ctx.actorId, kvStore);
30
+ let closed = false;
31
+ const mutex = new (0, _chunkSQFCIDCGcjs.AsyncMutex)();
32
+ const ensureOpen = () => {
33
+ if (closed) {
34
+ throw new Error("database is closed");
35
+ }
36
+ };
37
+ return {
38
+ execute: async (query, ...args) => {
39
+ return await mutex.run(async () => {
40
+ var _a;
41
+ ensureOpen();
42
+ const start = performance.now();
43
+ let result;
44
+ if (args.length > 0) {
45
+ const bindings = _chunkSQFCIDCGcjs.toSqliteBindings.call(void 0, args);
46
+ const token = query.trimStart().slice(0, 16).toUpperCase();
47
+ const returnsRows = token.startsWith("SELECT") || token.startsWith("PRAGMA") || token.startsWith("WITH") || /\bRETURNING\b/i.test(query);
48
+ if (returnsRows) {
49
+ const { rows, columns } = await db2.query(
50
+ query,
51
+ bindings
52
+ );
53
+ result = rows.map((row) => {
54
+ const rowObj = {};
55
+ for (let i = 0; i < columns.length; i++) {
56
+ rowObj[columns[i]] = row[i];
57
+ }
58
+ return rowObj;
59
+ });
60
+ } else {
61
+ await db2.run(query, bindings);
62
+ result = [];
63
+ }
64
+ } else {
65
+ const results = [];
66
+ let columnNames = null;
67
+ await db2.exec(
68
+ query,
69
+ (row, columns) => {
70
+ if (!columnNames) {
71
+ columnNames = columns;
72
+ }
73
+ const rowObj = {};
74
+ for (let i = 0; i < row.length; i++) {
75
+ rowObj[columnNames[i]] = row[i];
76
+ }
77
+ results.push(rowObj);
78
+ }
79
+ );
80
+ result = results;
81
+ }
82
+ (_a = ctx.metrics) == null ? void 0 : _a.trackSql(query, performance.now() - start);
83
+ return result;
84
+ });
85
+ },
86
+ close: async () => {
87
+ const shouldClose = await mutex.run(async () => {
88
+ if (closed) return false;
89
+ closed = true;
90
+ return true;
91
+ });
92
+ if (shouldClose) {
93
+ await db2.close();
94
+ }
95
+ }
96
+ };
97
+ },
98
+ onMigrate: async (client) => {
99
+ if (onMigrate) {
100
+ await onMigrate(client);
101
+ }
102
+ },
103
+ onDestroy: async (client) => {
104
+ await client.close();
105
+ }
106
+ };
107
+ }
108
+
109
+
110
+
111
+ exports.db = db;
112
+ //# sourceMappingURL=chunk-2ELYUO6C.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-2ELYUO6C.cjs","../../src/db/mod.ts"],"names":["db"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-2ELYUO6C.cjs","sourcesContent":[null,"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<\n\t\t\t\t\t\t\tstring,\n\t\t\t\t\t\t\tunknown\n\t\t\t\t\t\t>,\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(\n\t\t\t\t\t\"SqliteVfs instance not provided in context. The driver must provide a sqliteVfs instance.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst kvStore = createActorKvStore(ctx.kv, ctx.metrics);\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<\n\t\t\t\t\t\tstring,\n\t\t\t\t\t\tunknown\n\t\t\t\t\t>,\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\tconst start = performance.now();\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\tlet result: TRow[];\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\n\t\t\t\t\t\t\t\t.trimStart()\n\t\t\t\t\t\t\t\t.slice(0, 16)\n\t\t\t\t\t\t\t\t.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\t\t\t\t\t\t\t\t/\\bRETURNING\\b/i.test(query);\n\n\t\t\t\t\t\t\tif (returnsRows) {\n\t\t\t\t\t\t\t\tconst { rows, columns } = await db.query(\n\t\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t\tbindings,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tresult = 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} else {\n\t\t\t\t\t\t\t\tawait db.run(query, bindings);\n\t\t\t\t\t\t\t\tresult = [] as TRow[];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst results: Record<string, unknown>[] = [];\n\t\t\t\t\t\t\tlet columnNames: string[] | null = null;\n\t\t\t\t\t\t\tawait db.exec(\n\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t(row: unknown[], columns: string[]) => {\n\t\t\t\t\t\t\t\t\tif (!columnNames) {\n\t\t\t\t\t\t\t\t\t\tcolumnNames = columns;\n\t\t\t\t\t\t\t\t\t}\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 < row.length; i++) {\n\t\t\t\t\t\t\t\t\t\trowObj[columnNames[i]] = row[i];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tresults.push(rowObj);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresult = results as TRow[];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tctx.metrics?.trackSql(query, performance.now() - start);\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tclose: async () => {\n\t\t\t\t\tconst shouldClose = await mutex.run(async () => {\n\t\t\t\t\t\tif (closed) return false;\n\t\t\t\t\t\tclosed = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t});\n\t\t\t\t\tif (shouldClose) {\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"]}