rivetkit 2.0.2 → 2.0.4-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 (403) hide show
  1. package/README.md +3 -5
  2. package/dist/browser/client.d.ts +2485 -0
  3. package/dist/browser/client.js +5182 -0
  4. package/dist/browser/client.js.map +1 -0
  5. package/dist/browser/inspector/client.d.ts +130 -0
  6. package/dist/browser/inspector/client.js +2854 -0
  7. package/dist/browser/inspector/client.js.map +1 -0
  8. package/dist/browser/v3-DnYObHH3.d.ts +279 -0
  9. package/dist/inspector.tar.gz +0 -0
  10. package/dist/schemas/actor-inspector/v1.ts +784 -0
  11. package/dist/schemas/actor-inspector/v2.ts +796 -0
  12. package/dist/schemas/actor-inspector/v3.ts +899 -0
  13. package/dist/schemas/actor-persist/v1.ts +225 -0
  14. package/dist/schemas/actor-persist/v2.ts +268 -0
  15. package/dist/schemas/actor-persist/v3.ts +280 -0
  16. package/dist/schemas/actor-persist/v4.ts +406 -0
  17. package/dist/schemas/client-protocol/v1.ts +441 -0
  18. package/dist/schemas/client-protocol/v2.ts +438 -0
  19. package/dist/schemas/client-protocol/v3.ts +554 -0
  20. package/dist/schemas/file-system-driver/v1.ts +108 -0
  21. package/dist/schemas/file-system-driver/v2.ts +142 -0
  22. package/dist/schemas/file-system-driver/v3.ts +167 -0
  23. package/dist/schemas/persist/v1.ts +781 -0
  24. package/dist/schemas/transport/v1.ts +697 -0
  25. package/dist/tsup/actor/errors.cjs +106 -0
  26. package/dist/tsup/actor/errors.cjs.map +1 -0
  27. package/dist/tsup/actor/errors.d.cts +188 -0
  28. package/dist/tsup/actor/errors.d.ts +188 -0
  29. package/dist/tsup/actor/errors.js +106 -0
  30. package/dist/tsup/actor/errors.js.map +1 -0
  31. package/dist/tsup/actor-router-consts-D29T1Z-K.d.cts +24 -0
  32. package/dist/tsup/actor-router-consts-D29T1Z-K.d.ts +24 -0
  33. package/dist/tsup/chunk-325TLXJT.js +1060 -0
  34. package/dist/tsup/chunk-325TLXJT.js.map +1 -0
  35. package/dist/tsup/chunk-424PT5DM.js +23 -0
  36. package/dist/tsup/chunk-424PT5DM.js.map +1 -0
  37. package/dist/tsup/chunk-4JVIG3SS.cjs +6289 -0
  38. package/dist/tsup/chunk-4JVIG3SS.cjs.map +1 -0
  39. package/dist/tsup/chunk-6LJAZ5R4.cjs +96 -0
  40. package/dist/tsup/chunk-6LJAZ5R4.cjs.map +1 -0
  41. package/dist/tsup/chunk-6XU3FMCB.cjs +534 -0
  42. package/dist/tsup/chunk-6XU3FMCB.cjs.map +1 -0
  43. package/dist/tsup/chunk-7HTNH26M.js +509 -0
  44. package/dist/tsup/chunk-7HTNH26M.js.map +1 -0
  45. package/dist/tsup/chunk-AUVH72RE.cjs +5977 -0
  46. package/dist/tsup/chunk-AUVH72RE.cjs.map +1 -0
  47. package/dist/tsup/chunk-D4BYUPNQ.js +645 -0
  48. package/dist/tsup/chunk-D4BYUPNQ.js.map +1 -0
  49. package/dist/tsup/chunk-HDQ2JUQT.cjs +23 -0
  50. package/dist/tsup/chunk-HDQ2JUQT.cjs.map +1 -0
  51. package/dist/tsup/chunk-HHXX2VRM.js +6289 -0
  52. package/dist/tsup/chunk-HHXX2VRM.js.map +1 -0
  53. package/dist/tsup/chunk-JEAEA2PB.js +49 -0
  54. package/dist/tsup/chunk-JEAEA2PB.js.map +1 -0
  55. package/dist/tsup/chunk-JYSEG3VF.cjs +642 -0
  56. package/dist/tsup/chunk-JYSEG3VF.cjs.map +1 -0
  57. package/dist/tsup/chunk-K6DGYILQ.js +2657 -0
  58. package/dist/tsup/chunk-K6DGYILQ.js.map +1 -0
  59. package/dist/tsup/chunk-KJSYAUOM.js +96 -0
  60. package/dist/tsup/chunk-KJSYAUOM.js.map +1 -0
  61. package/dist/tsup/chunk-L47L3ZWJ.cjs +509 -0
  62. package/dist/tsup/chunk-L47L3ZWJ.cjs.map +1 -0
  63. package/dist/tsup/chunk-LXUQ667X.js +2006 -0
  64. package/dist/tsup/chunk-LXUQ667X.js.map +1 -0
  65. package/dist/tsup/chunk-MXNPAB5W.js +5977 -0
  66. package/dist/tsup/chunk-MXNPAB5W.js.map +1 -0
  67. package/dist/tsup/chunk-N4KRDJ56.js +72 -0
  68. package/dist/tsup/chunk-N4KRDJ56.js.map +1 -0
  69. package/dist/tsup/chunk-NIYZDWMW.cjs +2006 -0
  70. package/dist/tsup/chunk-NIYZDWMW.cjs.map +1 -0
  71. package/dist/tsup/chunk-PQZHDKRW.cjs +1060 -0
  72. package/dist/tsup/chunk-PQZHDKRW.cjs.map +1 -0
  73. package/dist/tsup/chunk-PVOE6BU7.cjs +1050 -0
  74. package/dist/tsup/chunk-PVOE6BU7.cjs.map +1 -0
  75. package/dist/tsup/chunk-Q4UD2GA4.cjs +1810 -0
  76. package/dist/tsup/chunk-Q4UD2GA4.cjs.map +1 -0
  77. package/dist/tsup/chunk-QUD664YZ.js +1810 -0
  78. package/dist/tsup/chunk-QUD664YZ.js.map +1 -0
  79. package/dist/tsup/chunk-RTOCTWME.js +1050 -0
  80. package/dist/tsup/chunk-RTOCTWME.js.map +1 -0
  81. package/dist/tsup/chunk-SAZZ4SB2.cjs +2657 -0
  82. package/dist/tsup/chunk-SAZZ4SB2.cjs.map +1 -0
  83. package/dist/tsup/chunk-SR3KQE7Q.cjs +72 -0
  84. package/dist/tsup/chunk-SR3KQE7Q.cjs.map +1 -0
  85. package/dist/tsup/chunk-V2GHLYC6.cjs +49 -0
  86. package/dist/tsup/chunk-V2GHLYC6.cjs.map +1 -0
  87. package/dist/tsup/chunk-V3WG7XTW.cjs +645 -0
  88. package/dist/tsup/chunk-V3WG7XTW.cjs.map +1 -0
  89. package/dist/tsup/chunk-VKVNIQRQ.js +257 -0
  90. package/dist/tsup/chunk-VKVNIQRQ.js.map +1 -0
  91. package/dist/tsup/chunk-WMPW7JYC.js +642 -0
  92. package/dist/tsup/chunk-WMPW7JYC.js.map +1 -0
  93. package/dist/tsup/chunk-Z7HNQ2WF.js +534 -0
  94. package/dist/tsup/chunk-Z7HNQ2WF.js.map +1 -0
  95. package/dist/tsup/chunk-ZFY5J2EP.cjs +257 -0
  96. package/dist/tsup/chunk-ZFY5J2EP.cjs.map +1 -0
  97. package/dist/tsup/client/mod.cjs +33 -0
  98. package/dist/tsup/client/mod.cjs.map +1 -0
  99. package/dist/tsup/client/mod.d.cts +64 -0
  100. package/dist/tsup/client/mod.d.ts +64 -0
  101. package/dist/tsup/client/mod.js +33 -0
  102. package/dist/tsup/client/mod.js.map +1 -0
  103. package/dist/tsup/common/log.cjs +21 -0
  104. package/dist/tsup/common/log.cjs.map +1 -0
  105. package/dist/tsup/common/log.d.cts +34 -0
  106. package/dist/tsup/common/log.d.ts +34 -0
  107. package/dist/tsup/common/log.js +21 -0
  108. package/dist/tsup/common/log.js.map +1 -0
  109. package/dist/tsup/common/websocket.cjs +10 -0
  110. package/dist/tsup/common/websocket.cjs.map +1 -0
  111. package/dist/tsup/common/websocket.d.cts +3 -0
  112. package/dist/tsup/common/websocket.d.ts +3 -0
  113. package/dist/tsup/common/websocket.js +10 -0
  114. package/dist/tsup/common/websocket.js.map +1 -0
  115. package/dist/tsup/config-BiNoIHRs.d.cts +80 -0
  116. package/dist/tsup/config-BiNoIHRs.d.ts +80 -0
  117. package/dist/tsup/config-P3XujgRr.d.ts +2594 -0
  118. package/dist/tsup/config-_gfywqqI.d.cts +2594 -0
  119. package/dist/tsup/context-Bxd8Cx4H.d.cts +75 -0
  120. package/dist/tsup/context-uNA4TRn3.d.ts +75 -0
  121. package/dist/tsup/db/drizzle/mod.cjs +49 -0
  122. package/dist/tsup/db/drizzle/mod.cjs.map +1 -0
  123. package/dist/tsup/db/drizzle/mod.d.cts +17 -0
  124. package/dist/tsup/db/drizzle/mod.d.ts +17 -0
  125. package/dist/tsup/db/drizzle/mod.js +49 -0
  126. package/dist/tsup/db/drizzle/mod.js.map +1 -0
  127. package/dist/tsup/db/mod.cjs +9 -0
  128. package/dist/tsup/db/mod.cjs.map +1 -0
  129. package/dist/tsup/db/mod.d.cts +9 -0
  130. package/dist/tsup/db/mod.d.ts +9 -0
  131. package/dist/tsup/db/mod.js +9 -0
  132. package/dist/tsup/db/mod.js.map +1 -0
  133. package/dist/tsup/driver-BcLvZcKl.d.cts +13 -0
  134. package/dist/tsup/driver-CPGHKXyh.d.ts +13 -0
  135. package/dist/tsup/driver-helpers/mod.cjs +53 -0
  136. package/dist/tsup/driver-helpers/mod.cjs.map +1 -0
  137. package/dist/tsup/driver-helpers/mod.d.cts +47 -0
  138. package/dist/tsup/driver-helpers/mod.d.ts +47 -0
  139. package/dist/tsup/driver-helpers/mod.js +53 -0
  140. package/dist/tsup/driver-helpers/mod.js.map +1 -0
  141. package/dist/tsup/driver-test-suite/mod.cjs +4974 -0
  142. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -0
  143. package/dist/tsup/driver-test-suite/mod.d.cts +73 -0
  144. package/dist/tsup/driver-test-suite/mod.d.ts +73 -0
  145. package/dist/tsup/driver-test-suite/mod.js +4974 -0
  146. package/dist/tsup/driver-test-suite/mod.js.map +1 -0
  147. package/dist/tsup/inspector/mod.cjs +164 -0
  148. package/dist/tsup/inspector/mod.cjs.map +1 -0
  149. package/dist/tsup/inspector/mod.d.cts +130 -0
  150. package/dist/tsup/inspector/mod.d.ts +130 -0
  151. package/dist/tsup/inspector/mod.js +164 -0
  152. package/dist/tsup/inspector/mod.js.map +1 -0
  153. package/dist/tsup/keys-CydblqMh.d.cts +13 -0
  154. package/dist/tsup/keys-CydblqMh.d.ts +13 -0
  155. package/dist/tsup/mod.cjs +82 -0
  156. package/dist/tsup/mod.cjs.map +1 -0
  157. package/dist/tsup/mod.d.cts +126 -0
  158. package/dist/tsup/mod.d.ts +126 -0
  159. package/dist/tsup/mod.js +82 -0
  160. package/dist/tsup/mod.js.map +1 -0
  161. package/dist/tsup/serve-test-suite/mod.cjs +2601 -0
  162. package/dist/tsup/serve-test-suite/mod.cjs.map +1 -0
  163. package/dist/tsup/serve-test-suite/mod.d.cts +9 -0
  164. package/dist/tsup/serve-test-suite/mod.d.ts +9 -0
  165. package/dist/tsup/serve-test-suite/mod.js +2601 -0
  166. package/dist/tsup/serve-test-suite/mod.js.map +1 -0
  167. package/dist/tsup/test/mod.cjs +90 -0
  168. package/dist/tsup/test/mod.cjs.map +1 -0
  169. package/dist/tsup/test/mod.d.cts +26 -0
  170. package/dist/tsup/test/mod.d.ts +26 -0
  171. package/dist/tsup/test/mod.js +90 -0
  172. package/dist/tsup/test/mod.js.map +1 -0
  173. package/dist/tsup/utils-fwx3o3K9.d.cts +18 -0
  174. package/dist/tsup/utils-fwx3o3K9.d.ts +18 -0
  175. package/dist/tsup/utils.cjs +43 -0
  176. package/dist/tsup/utils.cjs.map +1 -0
  177. package/dist/tsup/utils.d.cts +148 -0
  178. package/dist/tsup/utils.d.ts +148 -0
  179. package/dist/tsup/utils.js +43 -0
  180. package/dist/tsup/utils.js.map +1 -0
  181. package/dist/tsup/v3-DnYObHH3.d.cts +279 -0
  182. package/dist/tsup/v3-DnYObHH3.d.ts +279 -0
  183. package/dist/tsup/workflow/mod.cjs +16 -0
  184. package/dist/tsup/workflow/mod.cjs.map +1 -0
  185. package/dist/tsup/workflow/mod.d.cts +25 -0
  186. package/dist/tsup/workflow/mod.d.ts +25 -0
  187. package/dist/tsup/workflow/mod.js +16 -0
  188. package/dist/tsup/workflow/mod.js.map +1 -0
  189. package/package.json +293 -5
  190. package/src/actor/config.ts +1221 -0
  191. package/src/actor/conn/driver.ts +61 -0
  192. package/src/actor/conn/drivers/http.ts +17 -0
  193. package/src/actor/conn/drivers/raw-request.ts +24 -0
  194. package/src/actor/conn/drivers/raw-websocket.ts +65 -0
  195. package/src/actor/conn/drivers/websocket.ts +144 -0
  196. package/src/actor/conn/mod.ts +288 -0
  197. package/src/actor/conn/persisted.ts +81 -0
  198. package/src/actor/conn/state-manager.ts +196 -0
  199. package/src/actor/contexts/action.ts +47 -0
  200. package/src/actor/contexts/base/actor.ts +347 -0
  201. package/src/actor/contexts/base/conn-init.ts +68 -0
  202. package/src/actor/contexts/base/conn.ts +73 -0
  203. package/src/actor/contexts/before-action-response.ts +42 -0
  204. package/src/actor/contexts/before-connect.ts +31 -0
  205. package/src/actor/contexts/connect.ts +42 -0
  206. package/src/actor/contexts/create-conn-state.ts +32 -0
  207. package/src/actor/contexts/create-vars.ts +39 -0
  208. package/src/actor/contexts/create.ts +39 -0
  209. package/src/actor/contexts/destroy.ts +42 -0
  210. package/src/actor/contexts/disconnect.ts +43 -0
  211. package/src/actor/contexts/index.ts +33 -0
  212. package/src/actor/contexts/request.ts +80 -0
  213. package/src/actor/contexts/run.ts +47 -0
  214. package/src/actor/contexts/sleep.ts +42 -0
  215. package/src/actor/contexts/state-change.ts +42 -0
  216. package/src/actor/contexts/wake.ts +42 -0
  217. package/src/actor/contexts/websocket.ts +80 -0
  218. package/src/actor/database.ts +13 -0
  219. package/src/actor/definition.ts +64 -0
  220. package/src/actor/driver.ts +114 -0
  221. package/src/actor/errors.ts +556 -0
  222. package/src/actor/instance/connection-manager.ts +574 -0
  223. package/src/actor/instance/event-manager.ts +314 -0
  224. package/src/actor/instance/keys.ts +146 -0
  225. package/src/actor/instance/kv.ts +241 -0
  226. package/src/actor/instance/mod.ts +1658 -0
  227. package/src/actor/instance/persisted.ts +67 -0
  228. package/src/actor/instance/queue-manager.ts +603 -0
  229. package/src/actor/instance/queue.ts +345 -0
  230. package/src/actor/instance/schedule-manager.ts +392 -0
  231. package/src/actor/instance/state-manager.ts +542 -0
  232. package/src/actor/instance/traces-driver.ts +128 -0
  233. package/src/actor/keys.test.ts +275 -0
  234. package/src/actor/keys.ts +89 -0
  235. package/src/actor/log.ts +6 -0
  236. package/src/actor/mod.ts +110 -0
  237. package/src/actor/protocol/old.ts +416 -0
  238. package/src/actor/protocol/serde.ts +222 -0
  239. package/src/actor/router-endpoints.ts +400 -0
  240. package/src/actor/router-websocket-endpoints.test.ts +54 -0
  241. package/src/actor/router-websocket-endpoints.ts +405 -0
  242. package/src/actor/router.ts +380 -0
  243. package/src/actor/schedule.ts +17 -0
  244. package/src/actor/schema.ts +291 -0
  245. package/src/actor/utils.test.ts +48 -0
  246. package/src/actor/utils.ts +158 -0
  247. package/src/client/actor-common.ts +32 -0
  248. package/src/client/actor-conn.ts +1262 -0
  249. package/src/client/actor-handle.ts +344 -0
  250. package/src/client/actor-query.ts +112 -0
  251. package/src/client/client.ts +558 -0
  252. package/src/client/config.ts +151 -0
  253. package/src/client/errors.ts +76 -0
  254. package/src/client/log.ts +5 -0
  255. package/src/client/mod.browser.ts +2 -0
  256. package/src/client/mod.ts +70 -0
  257. package/src/client/queue.ts +146 -0
  258. package/src/client/raw-utils.ts +149 -0
  259. package/src/client/test.ts +44 -0
  260. package/src/client/utils.ts +252 -0
  261. package/src/common/actor-router-consts.ts +59 -0
  262. package/src/common/cors.ts +57 -0
  263. package/src/common/eventsource-interface.ts +47 -0
  264. package/src/common/eventsource.ts +44 -0
  265. package/src/common/inline-websocket-adapter.ts +154 -0
  266. package/src/common/log-levels.ts +27 -0
  267. package/src/common/log.ts +229 -0
  268. package/src/common/logfmt.ts +221 -0
  269. package/src/common/network.ts +2 -0
  270. package/src/common/router.ts +174 -0
  271. package/src/common/utils.ts +339 -0
  272. package/src/common/websocket-interface.ts +7 -0
  273. package/src/common/websocket.ts +43 -0
  274. package/src/db/config.ts +100 -0
  275. package/src/db/drizzle/mod.ts +226 -0
  276. package/src/db/drizzle/sqlite-core.ts +22 -0
  277. package/src/db/mod.ts +125 -0
  278. package/src/db/shared.ts +92 -0
  279. package/src/db/sqlite-vfs.ts +12 -0
  280. package/src/devtools-loader/index.ts +33 -0
  281. package/src/devtools-loader/log.ts +5 -0
  282. package/src/driver-helpers/mod.ts +33 -0
  283. package/src/driver-helpers/utils.ts +54 -0
  284. package/src/driver-test-suite/log.ts +5 -0
  285. package/src/driver-test-suite/mod.ts +293 -0
  286. package/src/driver-test-suite/test-inline-client-driver.ts +307 -0
  287. package/src/driver-test-suite/tests/access-control.ts +218 -0
  288. package/src/driver-test-suite/tests/action-features.ts +203 -0
  289. package/src/driver-test-suite/tests/actor-conn-hibernation.ts +152 -0
  290. package/src/driver-test-suite/tests/actor-conn-state.ts +300 -0
  291. package/src/driver-test-suite/tests/actor-conn.ts +596 -0
  292. package/src/driver-test-suite/tests/actor-db-raw.ts +73 -0
  293. package/src/driver-test-suite/tests/actor-db.ts +477 -0
  294. package/src/driver-test-suite/tests/actor-destroy.ts +294 -0
  295. package/src/driver-test-suite/tests/actor-driver.ts +18 -0
  296. package/src/driver-test-suite/tests/actor-error-handling.ts +150 -0
  297. package/src/driver-test-suite/tests/actor-handle.ts +312 -0
  298. package/src/driver-test-suite/tests/actor-inline-client.ts +163 -0
  299. package/src/driver-test-suite/tests/actor-inspector.ts +264 -0
  300. package/src/driver-test-suite/tests/actor-kv.ts +65 -0
  301. package/src/driver-test-suite/tests/actor-metadata.ts +116 -0
  302. package/src/driver-test-suite/tests/actor-onstatechange.ts +95 -0
  303. package/src/driver-test-suite/tests/actor-queue.ts +325 -0
  304. package/src/driver-test-suite/tests/actor-run.ts +181 -0
  305. package/src/driver-test-suite/tests/actor-schedule.ts +97 -0
  306. package/src/driver-test-suite/tests/actor-sleep.ts +415 -0
  307. package/src/driver-test-suite/tests/actor-state.ts +54 -0
  308. package/src/driver-test-suite/tests/actor-stateless.ts +70 -0
  309. package/src/driver-test-suite/tests/actor-vars.ts +97 -0
  310. package/src/driver-test-suite/tests/actor-workflow.ts +118 -0
  311. package/src/driver-test-suite/tests/manager-driver.ts +388 -0
  312. package/src/driver-test-suite/tests/raw-http-direct-registry.ts +227 -0
  313. package/src/driver-test-suite/tests/raw-http-request-properties.ts +454 -0
  314. package/src/driver-test-suite/tests/raw-http.ts +359 -0
  315. package/src/driver-test-suite/tests/raw-websocket-direct-registry.ts +393 -0
  316. package/src/driver-test-suite/tests/raw-websocket.ts +513 -0
  317. package/src/driver-test-suite/tests/request-access.ts +240 -0
  318. package/src/driver-test-suite/utils.ts +80 -0
  319. package/src/drivers/default.ts +38 -0
  320. package/src/drivers/engine/actor-driver.ts +1027 -0
  321. package/src/drivers/engine/config.ts +43 -0
  322. package/src/drivers/engine/log.ts +5 -0
  323. package/src/drivers/engine/mod.ts +36 -0
  324. package/src/drivers/file-system/actor.ts +102 -0
  325. package/src/drivers/file-system/global-state.ts +1445 -0
  326. package/src/drivers/file-system/kv-limits.ts +70 -0
  327. package/src/drivers/file-system/log.ts +5 -0
  328. package/src/drivers/file-system/manager.ts +300 -0
  329. package/src/drivers/file-system/mod.ts +78 -0
  330. package/src/drivers/file-system/sqlite-runtime.ts +210 -0
  331. package/src/drivers/file-system/utils.ts +125 -0
  332. package/src/engine-process/constants.ts +2 -0
  333. package/src/engine-process/log.ts +5 -0
  334. package/src/engine-process/mod.ts +464 -0
  335. package/src/globals.d.ts +35 -0
  336. package/src/inspector/actor-inspector.ts +352 -0
  337. package/src/inspector/config.ts +49 -0
  338. package/src/inspector/handler.ts +273 -0
  339. package/src/inspector/log.ts +5 -0
  340. package/src/inspector/mod.browser.ts +8 -0
  341. package/src/inspector/mod.ts +4 -0
  342. package/src/inspector/serve-ui.ts +40 -0
  343. package/src/inspector/transport.ts +18 -0
  344. package/src/inspector/utils.ts +32 -0
  345. package/src/manager/driver.ts +106 -0
  346. package/src/manager/gateway.ts +668 -0
  347. package/src/manager/log.ts +5 -0
  348. package/src/manager/mod.ts +2 -0
  349. package/src/manager/protocol/mod.ts +22 -0
  350. package/src/manager/protocol/query.ts +85 -0
  351. package/src/manager/router-schema.ts +22 -0
  352. package/src/manager/router.ts +660 -0
  353. package/src/manager-api/actors.ts +83 -0
  354. package/src/manager-api/common.ts +4 -0
  355. package/src/mod.ts +24 -0
  356. package/src/registry/config/driver.ts +21 -0
  357. package/src/registry/config/index.ts +510 -0
  358. package/src/registry/config/legacy-runner.ts +157 -0
  359. package/src/registry/config/runner.ts +21 -0
  360. package/src/registry/config/serverless.ts +94 -0
  361. package/src/registry/index.ts +194 -0
  362. package/src/registry/log.ts +5 -0
  363. package/src/remote-manager-driver/actor-http-client.ts +84 -0
  364. package/src/remote-manager-driver/actor-websocket-client.ts +81 -0
  365. package/src/remote-manager-driver/api-endpoints.ts +159 -0
  366. package/src/remote-manager-driver/api-utils.ts +69 -0
  367. package/src/remote-manager-driver/log.ts +5 -0
  368. package/src/remote-manager-driver/metadata.ts +64 -0
  369. package/src/remote-manager-driver/mod.ts +414 -0
  370. package/src/remote-manager-driver/ws-proxy.ts +189 -0
  371. package/src/schemas/actor-inspector/mod.ts +1 -0
  372. package/src/schemas/actor-inspector/versioned.ts +233 -0
  373. package/src/schemas/actor-persist/mod.ts +1 -0
  374. package/src/schemas/actor-persist/versioned.ts +217 -0
  375. package/src/schemas/client-protocol/mod.ts +1 -0
  376. package/src/schemas/client-protocol/versioned.ts +330 -0
  377. package/src/schemas/client-protocol-zod/mod.ts +118 -0
  378. package/src/schemas/file-system-driver/mod.ts +1 -0
  379. package/src/schemas/file-system-driver/versioned.ts +135 -0
  380. package/src/schemas/persist/mod.ts +1 -0
  381. package/src/schemas/transport/mod.ts +1 -0
  382. package/src/serde.ts +138 -0
  383. package/src/serve-test-suite/mod.ts +148 -0
  384. package/src/serverless/configure.ts +82 -0
  385. package/src/serverless/log.ts +5 -0
  386. package/src/serverless/router.test.ts +299 -0
  387. package/src/serverless/router.ts +215 -0
  388. package/src/test/log.ts +5 -0
  389. package/src/test/mod.ts +99 -0
  390. package/src/utils/crypto.ts +24 -0
  391. package/src/utils/endpoint-parser.test.ts +202 -0
  392. package/src/utils/endpoint-parser.ts +124 -0
  393. package/src/utils/env-vars.ts +78 -0
  394. package/src/utils/node.ts +178 -0
  395. package/src/utils/router.ts +83 -0
  396. package/src/utils/serve.ts +212 -0
  397. package/src/utils.test.ts +34 -0
  398. package/src/utils.ts +437 -0
  399. package/src/workflow/constants.ts +2 -0
  400. package/src/workflow/context.ts +597 -0
  401. package/src/workflow/driver.ts +194 -0
  402. package/src/workflow/inspector.ts +268 -0
  403. package/src/workflow/mod.ts +128 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-V3WG7XTW.cjs","../../src/driver-test-suite/log.ts","../../fixtures/driver-test-suite/hibernation.ts","../../fixtures/driver-test-suite/sleep.ts","../../fixtures/driver-test-suite/run.ts","../../fixtures/driver-test-suite/workflow.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-V3WG7XTW.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test-suite\");\n}\n","import { actor } from \"rivetkit\";\n\nexport const HIBERNATION_SLEEP_TIMEOUT = 500;\n\nexport type HibernationConnState = {\n\tcount: number;\n\tconnectCount: number;\n\tdisconnectCount: number;\n};\n\nexport const hibernationActor = actor({\n\tstate: {\n\t\tsleepCount: 0,\n\t\twakeCount: 0,\n\t},\n\tcreateConnState: (c): HibernationConnState => {\n\t\treturn {\n\t\t\tcount: 0,\n\t\t\tconnectCount: 0,\n\t\t\tdisconnectCount: 0,\n\t\t};\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonConnect: (c, conn) => {\n\t\tconn.state.connectCount += 1;\n\t},\n\tonDisconnect: (c, conn) => {\n\t\tconn.state.disconnectCount += 1;\n\t},\n\tactions: {\n\t\t// Basic RPC that returns a simple value\n\t\tping: (c) => {\n\t\t\treturn \"pong\";\n\t\t},\n\t\t// Increment the connection's count\n\t\tconnIncrement: (c) => {\n\t\t\tc.conn.state.count += 1;\n\t\t\treturn c.conn.state.count;\n\t\t},\n\t\t// Get the connection's count\n\t\tgetConnCount: (c) => {\n\t\t\treturn c.conn.state.count;\n\t\t},\n\t\t// Get the connection's lifecycle counts\n\t\tgetConnLifecycleCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tconnectCount: c.conn.state.connectCount,\n\t\t\t\tdisconnectCount: c.conn.state.disconnectCount,\n\t\t\t};\n\t\t},\n\t\t// Get all connection IDs\n\t\tgetConnectionIds: (c) => {\n\t\t\treturn c.conns\n\t\t\t\t.entries()\n\t\t\t\t.map((x) => x[0])\n\t\t\t\t.toArray();\n\t\t},\n\t\t// Get actor sleep/wake counts\n\t\tgetActorCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\twakeCount: c.state.wakeCount,\n\t\t\t};\n\t\t},\n\t\t// Trigger sleep\n\t\ttriggerSleep: (c) => {\n\t\t\tc.sleep();\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: HIBERNATION_SLEEP_TIMEOUT,\n\t},\n});\n","import { actor, type UniversalWebSocket } from \"rivetkit\";\nimport { promiseWithResolvers } from \"rivetkit/utils\";\n\nexport const SLEEP_TIMEOUT = 1000;\n\nexport const sleep = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\ttriggerSleep: (c) => {\n\t\t\tc.sleep();\n\t\t},\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t\tsetAlarm: async (c, duration: number) => {\n\t\t\tawait c.schedule.after(duration, \"onAlarm\");\n\t\t},\n\t\tonAlarm: (c) => {\n\t\t\tc.log.info(\"alarm called\");\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithLongRpc = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tcreateVars: () =>\n\t\t({}) as { longRunningResolve: PromiseWithResolvers<void> },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t\tlongRunningRpc: async (c) => {\n\t\t\tc.log.info(\"starting long running rpc\");\n\t\t\tc.vars.longRunningResolve = promiseWithResolvers((reason) => c.log.warn({ msg: \"unhandled long running rpc rejection\", reason }));\n\t\t\tc.broadcast(\"waiting\");\n\t\t\tawait c.vars.longRunningResolve.promise;\n\t\t\tc.log.info(\"finished long running rpc\");\n\t\t},\n\t\tfinishLongRunningRpc: (c) => c.vars.longRunningResolve?.resolve(),\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithRawHttp = actor({\n\tstate: { startCount: 0, sleepCount: 0, requestCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonRequest: async (c, request) => {\n\t\tc.state.requestCount += 1;\n\t\tconst url = new URL(request.url);\n\n\t\tif (url.pathname === \"/long-request\") {\n\t\t\tconst duration = parseInt(\n\t\t\t\turl.searchParams.get(\"duration\") || \"1000\",\n\t\t\t);\n\t\t\tc.log.info({ msg: \"starting long fetch request\", duration });\n\t\t\tawait new Promise((resolve) => setTimeout(resolve, duration));\n\t\t\tc.log.info(\"finished long fetch request\");\n\t\t\treturn new Response(JSON.stringify({ completed: true }), {\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t});\n\t\t}\n\n\t\treturn new Response(\"Not Found\", { status: 404 });\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\trequestCount: c.state.requestCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithRawWebSocket = actor({\n\tstate: { startCount: 0, sleepCount: 0, connectionCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonWebSocket: (c, websocket: UniversalWebSocket) => {\n\t\tc.state.connectionCount += 1;\n\t\tc.log.info({\n\t\t\tmsg: \"websocket connected\",\n\t\t\tconnectionCount: c.state.connectionCount,\n\t\t});\n\n\t\twebsocket.send(\n\t\t\tJSON.stringify({\n\t\t\t\ttype: \"connected\",\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t}),\n\t\t);\n\n\t\twebsocket.addEventListener(\"message\", (event: any) => {\n\t\t\tconst data = event.data;\n\t\t\tif (typeof data === \"string\") {\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = JSON.parse(data);\n\t\t\t\t\tif (parsed.type === \"getCounts\") {\n\t\t\t\t\t\twebsocket.send(\n\t\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\t\ttype: \"counts\",\n\t\t\t\t\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\t\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\t\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (parsed.type === \"keepAlive\") {\n\t\t\t\t\t\t// Just acknowledge to keep connection alive\n\t\t\t\t\t\twebsocket.send(JSON.stringify({ type: \"ack\" }));\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Echo non-JSON messages\n\t\t\t\t\twebsocket.send(data);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\twebsocket.addEventListener(\"close\", () => {\n\t\t\tc.state.connectionCount -= 1;\n\t\t\tc.log.info({\n\t\t\t\tmsg: \"websocket disconnected\",\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t});\n\t\t});\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithNoSleepOption = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t\tnoSleep: true,\n\t},\n});\n","import { actor } from \"rivetkit\";\nimport type { registry } from \"./registry\";\n\nexport const RUN_SLEEP_TIMEOUT = 1000;\n\n// Actor that tracks tick counts and respects abort signal\nexport const runWithTicks = actor({\n\tstate: {\n\t\ttickCount: 0,\n\t\tlastTickAt: 0,\n\t\trunStarted: false,\n\t\trunExited: false,\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started\");\n\n\t\twhile (!c.aborted) {\n\t\t\tc.state.tickCount += 1;\n\t\t\tc.state.lastTickAt = Date.now();\n\t\t\tc.log.info({ msg: \"tick\", tickCount: c.state.tickCount });\n\n\t\t\t// Wait 50ms between ticks, or exit early if aborted\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tconst timeout = setTimeout(resolve, 50);\n\t\t\t\tc.abortSignal.addEventListener(\n\t\t\t\t\t\"abort\",\n\t\t\t\t\t() => {\n\t\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t},\n\t\t\t\t\t{ once: true },\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tc.state.runExited = true;\n\t\tc.log.info(\"run handler exiting gracefully\");\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\ttickCount: c.state.tickCount,\n\t\t\tlastTickAt: c.state.lastTickAt,\n\t\t\trunStarted: c.state.runStarted,\n\t\t\trunExited: c.state.runExited,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t\trunStopTimeout: 1000,\n\t},\n});\n\n// Actor that consumes from a queue in the run handler\nexport const runWithQueueConsumer = actor({\n\tstate: {\n\t\tmessagesReceived: [] as Array<{ name: string; body: unknown }>,\n\t\trunStarted: false,\n\t\twakeCount: 0,\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started, waiting for messages\");\n\n\t\twhile (!c.aborted) {\n\t\t\tconst message = await c.queue.next({ names: [\"messages\"] });\n\t\t\tif (message) {\n\t\t\t\tc.log.info({ msg: \"received message\", body: message.body });\n\t\t\t\tc.state.messagesReceived.push({\n\t\t\t\t\tname: message.name,\n\t\t\t\t\tbody: message.body,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tc.log.info(\"run handler exiting gracefully\");\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\tmessagesReceived: c.state.messagesReceived,\n\t\t\trunStarted: c.state.runStarted,\n\t\t\twakeCount: c.state.wakeCount,\n\t\t}),\n\t\tsendMessage: async (c, body: unknown) => {\n\t\t\tconst client = c.client<typeof registry>();\n\t\t\tconst handle = client.runWithQueueConsumer.getForId(c.actorId);\n\t\t\tawait handle.send(\"messages\", body);\n\t\t\treturn true;\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t\trunStopTimeout: 1000,\n\t},\n});\n\n// Actor that exits the run handler after a short delay to test crash behavior\nexport const runWithEarlyExit = actor({\n\tstate: {\n\t\trunStarted: false,\n\t\tdestroyCalled: false,\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started, will exit after delay\");\n\t\t// Wait a bit so we can observe the runStarted state before exit\n\t\tawait new Promise((resolve) => setTimeout(resolve, 200));\n\t\tc.log.info(\"run handler exiting early\");\n\t\t// Exit without respecting abort signal\n\t},\n\tonDestroy: (c) => {\n\t\tc.state.destroyCalled = true;\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\trunStarted: c.state.runStarted,\n\t\t\tdestroyCalled: c.state.destroyCalled,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t},\n});\n\n// Actor that throws an error in the run handler to test crash behavior\nexport const runWithError = actor({\n\tstate: {\n\t\trunStarted: false,\n\t\tdestroyCalled: false,\n\t},\n\trun: async (c) => {\n\t\tc.state.runStarted = true;\n\t\tc.log.info(\"run handler started, will throw error\");\n\t\tawait new Promise((resolve) => setTimeout(resolve, 200));\n\t\tthrow new Error(\"intentional error in run handler\");\n\t},\n\tonDestroy: (c) => {\n\t\tc.state.destroyCalled = true;\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\trunStarted: c.state.runStarted,\n\t\t\tdestroyCalled: c.state.destroyCalled,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t},\n});\n\n// Actor without a run handler for comparison\nexport const runWithoutHandler = actor({\n\tstate: {\n\t\twakeCount: 0,\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\tactions: {\n\t\tgetState: (c) => ({\n\t\t\twakeCount: c.state.wakeCount,\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: RUN_SLEEP_TIMEOUT,\n\t},\n});\n","import { Loop } from \"@rivetkit/workflow-engine\";\nimport { actor, queue } from \"@/actor/mod\";\nimport { db } from \"@/db/mod\";\nimport { WORKFLOW_GUARD_KV_KEY } from \"@/workflow/constants\";\nimport { type WorkflowLoopContextOf, workflow } from \"@/workflow/mod\";\nimport type { registry } from \"./registry\";\n\nconst WORKFLOW_QUEUE_NAME = \"workflow-default\";\n\nexport const workflowCounterActor = actor({\n\tstate: {\n\t\trunCount: 0,\n\t\tguardTriggered: false,\n\t\thistory: [] as number[],\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"counter\", async (loopCtx) => {\n\t\t\t\ttry {\n\t\t\t\t\t// Accessing state outside a step should throw.\n\t\t\t\t\t// biome-ignore lint/style/noUnusedExpressions: intentionally checking accessor.\n\t\t\t\t\tloopCtx.state;\n\t\t\t\t} catch {}\n\n\t\t\t\tawait loopCtx.step(\"increment\", async () => {\n\t\t\t\t\tincrementWorkflowCounter(loopCtx);\n\t\t\t\t});\n\n\t\t\t\tawait loopCtx.sleep(\"idle\", 25);\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetState: async (c) => {\n\t\t\tconst guardFlag = await c.kv.get(WORKFLOW_GUARD_KV_KEY);\n\t\t\tif (guardFlag === \"true\") {\n\t\t\t\tc.state.guardTriggered = true;\n\t\t\t}\n\t\t\treturn c.state;\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: 50,\n\t},\n});\n\nexport const workflowQueueActor = actor({\n\tstate: {\n\t\treceived: [] as unknown[],\n\t},\n\tqueues: {\n\t\t[WORKFLOW_QUEUE_NAME]: queue<unknown, { echo: unknown }>(),\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"queue\", async (loopCtx) => {\n\t\t\t\tconst message = await loopCtx.queue.next(\"queue-wait\", {\n\t\t\t\t\tnames: [WORKFLOW_QUEUE_NAME],\n\t\t\t\t\tcompletable: true,\n\t\t\t\t});\n\t\t\t\tif (!message.complete) {\n\t\t\t\t\treturn Loop.continue(undefined);\n\t\t\t\t}\n\t\t\t\tconst complete = message.complete;\n\t\t\t\tawait loopCtx.step(\"store-message\", async () => {\n\t\t\t\t\tawait storeWorkflowQueueMessage(loopCtx, message.body, complete);\n\t\t\t\t});\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetMessages: (c) => c.state.received,\n\t\tsendAndWait: async (c, payload: unknown) => {\n\t\t\tconst client = c.client<typeof registry>();\n\t\t\tconst handle = client.workflowQueueActor.getForId(c.actorId);\n\t\t\treturn await handle.send(\n\t\t\t\tWORKFLOW_QUEUE_NAME,\n\t\t\t\tpayload,\n\t\t\t\t{ wait: true, timeout: 1_000 },\n\t\t\t);\n\t\t},\n\t},\n});\n\nexport const workflowAccessActor = actor({\n\tdb: db({\n\t\tonMigrate: async (rawDb) => {\n\t\t\tawait rawDb.execute(`\n\t\t\t\tCREATE TABLE IF NOT EXISTS workflow_access_log (\n\t\t\t\t\tid INTEGER PRIMARY KEY AUTOINCREMENT,\n\t\t\t\t\tcreated_at INTEGER NOT NULL\n\t\t\t\t)\n\t\t\t`);\n\t\t},\n\t}),\n\tstate: {\n\t\toutsideDbError: null as string | null,\n\t\toutsideClientError: null as string | null,\n\t\tinsideDbCount: 0,\n\t\tinsideClientAvailable: false,\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"access\", async (loopCtx) => {\n\t\t\t\tlet outsideDbError: string | null = null;\n\t\t\t\tlet outsideClientError: string | null = null;\n\n\t\t\t\ttry {\n\t\t\t\t\t// Accessing db outside a step should throw.\n\t\t\t\t\t// biome-ignore lint/style/noUnusedExpressions: intentionally checking accessor.\n\t\t\t\t\tloopCtx.db;\n\t\t\t\t} catch (error) {\n\t\t\t\t\toutsideDbError =\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tloopCtx.client<typeof registry>();\n\t\t\t\t} catch (error) {\n\t\t\t\t\toutsideClientError =\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\t}\n\n\t\t\t\tawait loopCtx.step(\"access-step\", async () => {\n\t\t\t\t\tawait updateWorkflowAccessState(\n\t\t\t\t\t\tloopCtx,\n\t\t\t\t\t\toutsideDbError,\n\t\t\t\t\t\toutsideClientError,\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t\tawait loopCtx.sleep(\"idle\", 25);\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetState: (c) => c.state,\n\t},\n});\n\nexport const workflowSleepActor = actor({\n\tstate: {\n\t\tticks: 0,\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"sleep\", async (loopCtx) => {\n\t\t\t\tawait loopCtx.step(\"tick\", async () => {\n\t\t\t\t\tincrementWorkflowSleepTick(loopCtx);\n\t\t\t\t});\n\t\t\t\tawait loopCtx.sleep(\"delay\", 40);\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetState: (c) => c.state,\n\t},\n\toptions: {\n\t\tsleepTimeout: 50,\n\t},\n});\n\nexport const workflowStopTeardownActor = actor({\n\tstate: {\n\t\twakeAts: [] as number[],\n\t\tsleepAts: [] as number[],\n\t},\n\tqueues: {\n\t\tnever: queue<unknown>(),\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeAts.push(Date.now());\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepAts.push(Date.now());\n\t},\n\trun: workflow(async (ctx) => {\n\t\tawait ctx.loop(\"wait-forever\", async (loopCtx) => {\n\t\t\t\tawait loopCtx.queue.next(\"wait-for-never\", {\n\t\t\t\t\tnames: [\"never\"],\n\t\t\t\t});\n\t\t\t\treturn Loop.continue(undefined);\n\t\t\t});\n\t}),\n\tactions: {\n\t\tgetTimeline: (c) => ({\n\t\t\twakeAts: [...c.state.wakeAts],\n\t\t\tsleepAts: [...c.state.sleepAts],\n\t\t}),\n\t},\n\toptions: {\n\t\tsleepTimeout: 75,\n\t\trunStopTimeout: 2_000,\n\t},\n});\n\nfunction incrementWorkflowCounter(\n\tctx: WorkflowLoopContextOf<typeof workflowCounterActor>,\n): void {\n\tctx.state.runCount += 1;\n\tctx.state.history.push(ctx.state.runCount);\n}\n\nasync function storeWorkflowQueueMessage(\n\tctx: WorkflowLoopContextOf<typeof workflowQueueActor>,\n\tbody: unknown,\n\tcomplete: (response: { echo: unknown }) => Promise<void>,\n): Promise<void> {\n\tctx.state.received.push(body);\n\tawait complete({ echo: body });\n}\n\nasync function updateWorkflowAccessState(\n\tctx: WorkflowLoopContextOf<typeof workflowAccessActor>,\n\toutsideDbError: string | null,\n\toutsideClientError: string | null,\n): Promise<void> {\n\tawait ctx.db.execute(\n\t\t`INSERT INTO workflow_access_log (created_at) VALUES (${Date.now()})`,\n\t);\n\tconst counts = await ctx.db.execute<{ count: number }>(\n\t\t`SELECT COUNT(*) as count FROM workflow_access_log`,\n\t);\n\tconst client = ctx.client<typeof registry>();\n\n\tctx.state.outsideDbError = outsideDbError;\n\tctx.state.outsideClientError = outsideClientError;\n\tctx.state.insideDbCount = counts[0]?.count ?? 0;\n\tctx.state.insideClientAvailable =\n\t\ttypeof client.workflowQueueActor.getForId === \"function\";\n}\n\nfunction incrementWorkflowSleepTick(\n\tctx: WorkflowLoopContextOf<typeof workflowSleepActor>,\n): void {\n\tctx.state.ticks += 1;\n}\n\nexport { WORKFLOW_QUEUE_NAME };\n"]}
@@ -0,0 +1,257 @@
1
+ import {
2
+ AsyncMutex,
3
+ createActorKvStore,
4
+ toSqliteBindings
5
+ } from "./chunk-N4KRDJ56.js";
6
+ import {
7
+ __export,
8
+ __reExport
9
+ } from "./chunk-424PT5DM.js";
10
+
11
+ // src/db/drizzle/mod.ts
12
+ var mod_exports = {};
13
+ __export(mod_exports, {
14
+ blob: () => blob,
15
+ check: () => check,
16
+ db: () => db,
17
+ defineConfig: () => defineConfig,
18
+ extractUsedTable: () => extractUsedTable,
19
+ foreignKey: () => foreignKey,
20
+ getTableConfig: () => getTableConfig,
21
+ getViewConfig: () => getViewConfig,
22
+ index: () => index,
23
+ integer: () => integer,
24
+ numeric: () => numeric,
25
+ primaryKey: () => primaryKey,
26
+ real: () => real,
27
+ sqliteTable: () => sqliteTable,
28
+ sqliteTableCreator: () => sqliteTableCreator,
29
+ sqliteView: () => sqliteView,
30
+ text: () => text,
31
+ unique: () => unique,
32
+ uniqueIndex: () => uniqueIndex,
33
+ uniqueKeyName: () => uniqueKeyName,
34
+ view: () => view
35
+ });
36
+ import {
37
+ drizzle as proxyDrizzle
38
+ } from "drizzle-orm/sqlite-proxy";
39
+
40
+ // src/db/drizzle/sqlite-core.ts
41
+ var sqlite_core_exports = {};
42
+ __export(sqlite_core_exports, {
43
+ blob: () => blob,
44
+ check: () => check,
45
+ extractUsedTable: () => extractUsedTable,
46
+ foreignKey: () => foreignKey,
47
+ getTableConfig: () => getTableConfig,
48
+ getViewConfig: () => getViewConfig,
49
+ index: () => index,
50
+ integer: () => integer,
51
+ numeric: () => numeric,
52
+ primaryKey: () => primaryKey,
53
+ real: () => real,
54
+ sqliteTable: () => sqliteTable,
55
+ sqliteTableCreator: () => sqliteTableCreator,
56
+ sqliteView: () => sqliteView,
57
+ text: () => text,
58
+ unique: () => unique,
59
+ uniqueIndex: () => uniqueIndex,
60
+ uniqueKeyName: () => uniqueKeyName,
61
+ view: () => view
62
+ });
63
+ __reExport(sqlite_core_exports, sqlite_core_star);
64
+ import * as sqlite_core_star from "drizzle-orm/sqlite-core";
65
+ import {
66
+ blob,
67
+ check,
68
+ extractUsedTable,
69
+ foreignKey,
70
+ getTableConfig,
71
+ getViewConfig,
72
+ index,
73
+ integer,
74
+ numeric,
75
+ primaryKey,
76
+ real,
77
+ sqliteTable,
78
+ sqliteTableCreator,
79
+ sqliteView,
80
+ text,
81
+ unique,
82
+ uniqueIndex,
83
+ uniqueKeyName,
84
+ view
85
+ } from "drizzle-orm/sqlite-core";
86
+
87
+ // src/db/drizzle/mod.ts
88
+ __reExport(mod_exports, sqlite_core_exports);
89
+ import { defineConfig as originalDefineConfig } from "drizzle-kit";
90
+ function defineConfig(config) {
91
+ return originalDefineConfig({
92
+ dialect: "sqlite",
93
+ driver: "durable-sqlite",
94
+ ...config
95
+ });
96
+ }
97
+ function createProxyCallback(waDb, mutex, isClosed) {
98
+ return async (sql, params, method) => {
99
+ return mutex.run(async () => {
100
+ if (isClosed()) {
101
+ throw new Error("database is closed");
102
+ }
103
+ if (method === "run") {
104
+ await waDb.run(sql, toSqliteBindings(params));
105
+ return { rows: [] };
106
+ }
107
+ const result = await waDb.query(sql, toSqliteBindings(params));
108
+ if (method === "get") {
109
+ return { rows: result.rows[0] };
110
+ }
111
+ return { rows: result.rows };
112
+ });
113
+ };
114
+ }
115
+ async function runInlineMigrations(waDb, mutex, migrations) {
116
+ await mutex.run(
117
+ () => waDb.exec(`
118
+ CREATE TABLE IF NOT EXISTS __drizzle_migrations (
119
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
120
+ hash TEXT NOT NULL,
121
+ created_at INTEGER
122
+ )
123
+ `)
124
+ );
125
+ let lastCreatedAt = 0;
126
+ await mutex.run(
127
+ () => waDb.exec(
128
+ "SELECT id, hash, created_at FROM __drizzle_migrations ORDER BY created_at DESC LIMIT 1",
129
+ (row) => {
130
+ lastCreatedAt = Number(row[2]) || 0;
131
+ }
132
+ )
133
+ );
134
+ const journal = migrations.journal;
135
+ if (!(journal == null ? void 0 : journal.entries)) return;
136
+ for (const entry of journal.entries) {
137
+ if (entry.when <= lastCreatedAt) continue;
138
+ const migrationKey = `m${String(entry.idx).padStart(4, "0")}`;
139
+ const sql = migrations.migrations[migrationKey];
140
+ if (!sql) continue;
141
+ await mutex.run(() => waDb.exec(sql));
142
+ await mutex.run(
143
+ () => waDb.run(
144
+ "INSERT INTO __drizzle_migrations (hash, created_at) VALUES (?, ?)",
145
+ [entry.tag, entry.when]
146
+ )
147
+ );
148
+ }
149
+ }
150
+ function db(config) {
151
+ let waDbInstance = null;
152
+ const mutex = new AsyncMutex();
153
+ return {
154
+ createClient: async (ctx) => {
155
+ if (!ctx.sqliteVfs) {
156
+ throw new Error(
157
+ "SqliteVfs instance not provided in context. The driver must provide a sqliteVfs instance."
158
+ );
159
+ }
160
+ const kvStore = createActorKvStore(ctx.kv);
161
+ const waDb = await ctx.sqliteVfs.open(ctx.actorId, kvStore);
162
+ waDbInstance = waDb;
163
+ let closed = false;
164
+ const ensureOpen = () => {
165
+ if (closed) {
166
+ throw new Error("database is closed");
167
+ }
168
+ };
169
+ const callback = createProxyCallback(waDb, mutex, () => closed);
170
+ const client = proxyDrizzle(callback, config);
171
+ return Object.assign(client, {
172
+ execute: async (query, ...args) => {
173
+ return mutex.run(async () => {
174
+ ensureOpen();
175
+ if (args.length > 0) {
176
+ const result = await waDb.query(
177
+ query,
178
+ toSqliteBindings(args)
179
+ );
180
+ return result.rows.map((row) => {
181
+ const obj = {};
182
+ for (let i = 0; i < result.columns.length; i++) {
183
+ obj[result.columns[i]] = row[i];
184
+ }
185
+ return obj;
186
+ });
187
+ }
188
+ const results = [];
189
+ let columnNames = null;
190
+ await waDb.exec(
191
+ query,
192
+ (row, columns) => {
193
+ if (!columnNames) {
194
+ columnNames = columns;
195
+ }
196
+ const obj = {};
197
+ for (let i = 0; i < row.length; i++) {
198
+ obj[columnNames[i]] = row[i];
199
+ }
200
+ results.push(obj);
201
+ }
202
+ );
203
+ return results;
204
+ });
205
+ },
206
+ close: async () => {
207
+ await mutex.run(async () => {
208
+ if (closed) {
209
+ return;
210
+ }
211
+ closed = true;
212
+ await waDb.close();
213
+ waDbInstance = null;
214
+ });
215
+ }
216
+ });
217
+ },
218
+ onMigrate: async (_client) => {
219
+ if ((config == null ? void 0 : config.migrations) && waDbInstance) {
220
+ await runInlineMigrations(
221
+ waDbInstance,
222
+ mutex,
223
+ config.migrations
224
+ );
225
+ }
226
+ },
227
+ onDestroy: async (client) => {
228
+ await client.close();
229
+ }
230
+ };
231
+ }
232
+
233
+ export {
234
+ blob,
235
+ check,
236
+ extractUsedTable,
237
+ foreignKey,
238
+ getTableConfig,
239
+ getViewConfig,
240
+ index,
241
+ integer,
242
+ numeric,
243
+ primaryKey,
244
+ real,
245
+ sqliteTable,
246
+ sqliteTableCreator,
247
+ sqliteView,
248
+ text,
249
+ unique,
250
+ uniqueIndex,
251
+ uniqueKeyName,
252
+ view,
253
+ defineConfig,
254
+ db,
255
+ mod_exports
256
+ };
257
+ //# sourceMappingURL=chunk-VKVNIQRQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/db/drizzle/mod.ts","../../src/db/drizzle/sqlite-core.ts"],"sourcesContent":["import type { Database } from \"@rivetkit/sqlite-vfs\";\nimport {\n\tdrizzle as proxyDrizzle,\n\ttype SqliteRemoteDatabase,\n} from \"drizzle-orm/sqlite-proxy\";\nimport type { DatabaseProvider, RawAccess } from \"../config\";\nimport { AsyncMutex, createActorKvStore, toSqliteBindings } from \"../shared\";\n\nexport * from \"./sqlite-core\";\n\nimport { type Config, defineConfig as originalDefineConfig } from \"drizzle-kit\";\n\nexport function defineConfig(\n\tconfig: Partial<Config & { driver: \"durable-sqlite\" }>,\n): Config {\n\treturn originalDefineConfig({\n\t\tdialect: \"sqlite\",\n\t\tdriver: \"durable-sqlite\",\n\t\t...config,\n\t});\n}\n\ninterface DatabaseFactoryConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> {\n\tschema?: TSchema;\n\tmigrations?: any;\n}\n\n/**\n * Create a sqlite-proxy async callback from a @rivetkit/sqlite Database\n */\nfunction createProxyCallback(\n\twaDb: Database,\n\tmutex: AsyncMutex,\n\tisClosed: () => boolean,\n) {\n\treturn async (\n\t\tsql: string,\n\t\tparams: any[],\n\t\tmethod: \"run\" | \"all\" | \"values\" | \"get\",\n\t): Promise<{ rows: any }> => {\n\t\treturn mutex.run(async () => {\n\t\t\tif (isClosed()) {\n\t\t\t\tthrow new Error(\"database is closed\");\n\t\t\t}\n\n\t\t\tif (method === \"run\") {\n\t\t\t\tawait waDb.run(sql, toSqliteBindings(params));\n\t\t\t\treturn { rows: [] };\n\t\t\t}\n\n\t\t\t// For all/get/values, use parameterized query\n\t\t\tconst result = await waDb.query(sql, toSqliteBindings(params));\n\n\t\t\t// drizzle's mapResultRow accesses rows by column index (positional arrays)\n\t\t\t// so we return raw arrays for all methods\n\t\t\tif (method === \"get\") {\n\t\t\t\treturn { rows: result.rows[0] };\n\t\t\t}\n\n\t\t\treturn { rows: result.rows };\n\t\t});\n\t};\n}\n\n/**\n * Run inline migrations via the @rivetkit/sqlite Database.\n * Migrations use the same embedded format as drizzle-orm's durable-sqlite.\n */\nasync function runInlineMigrations(\n\twaDb: Database,\n\tmutex: AsyncMutex,\n\tmigrations: any,\n): Promise<void> {\n\t// Create migrations table\n\tawait mutex.run(() =>\n\t\twaDb.exec(`\n\t\tCREATE TABLE IF NOT EXISTS __drizzle_migrations (\n\t\t\tid INTEGER PRIMARY KEY AUTOINCREMENT,\n\t\t\thash TEXT NOT NULL,\n\t\t\tcreated_at INTEGER\n\t\t)\n\t`),\n\t);\n\n\t// Get the last applied migration\n\tlet lastCreatedAt = 0;\n\tawait mutex.run(() =>\n\t\twaDb.exec(\n\t\t\t\"SELECT id, hash, created_at FROM __drizzle_migrations ORDER BY created_at DESC LIMIT 1\",\n\t\t\t(row) => {\n\t\t\t\tlastCreatedAt = Number(row[2]) || 0;\n\t\t\t},\n\t\t),\n\t);\n\n\t// Apply pending migrations from journal entries\n\tconst journal = migrations.journal;\n\tif (!journal?.entries) return;\n\n\tfor (const entry of journal.entries) {\n\t\tif (entry.when <= lastCreatedAt) continue;\n\n\t\t// Find the migration SQL from the migrations map\n\t\t// The key format is \"m\" + zero-padded index (e.g. \"m0000\")\n\t\tconst migrationKey = `m${String(entry.idx).padStart(4, \"0\")}`;\n\t\tconst sql = migrations.migrations[migrationKey];\n\t\tif (!sql) continue;\n\n\t\t// Execute migration SQL\n\t\tawait mutex.run(() => waDb.exec(sql));\n\n\t\t// Record migration\n\t\tawait mutex.run(() =>\n\t\t\twaDb.run(\n\t\t\t\t\"INSERT INTO __drizzle_migrations (hash, created_at) VALUES (?, ?)\",\n\t\t\t\t[entry.tag, entry.when],\n\t\t\t),\n\t\t);\n\t}\n}\n\nexport function db<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\tconfig?: DatabaseFactoryConfig<TSchema>,\n): DatabaseProvider<SqliteRemoteDatabase<TSchema> & RawAccess> {\n\t// Store the @rivetkit/sqlite Database instance alongside the drizzle client\n\tlet waDbInstance: Database | null = null;\n\tconst mutex = new AsyncMutex();\n\n\treturn {\n\t\tcreateClient: async (ctx) => {\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);\n\t\t\tconst waDb = await ctx.sqliteVfs.open(ctx.actorId, kvStore);\n\t\t\twaDbInstance = waDb;\n\t\t\tlet closed = false;\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\t// Create the async proxy callback\n\t\t\tconst callback = createProxyCallback(waDb, mutex, () => closed);\n\n\t\t\t// Create the drizzle instance using sqlite-proxy\n\t\t\tconst client = proxyDrizzle<TSchema>(callback, config);\n\n\t\t\treturn Object.assign(client, {\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 mutex.run(async () => {\n\t\t\t\t\t\tensureOpen();\n\n\t\t\t\t\t\tif (args.length > 0) {\n\t\t\t\t\t\t\tconst result = await waDb.query(\n\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\ttoSqliteBindings(args),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn result.rows.map((row: unknown[]) => {\n\t\t\t\t\t\t\t\tconst obj: Record<string, unknown> = {};\n\t\t\t\t\t\t\t\tfor (let i = 0; i < result.columns.length; i++) {\n\t\t\t\t\t\t\t\t\tobj[result.columns[i]] = row[i];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn obj;\n\t\t\t\t\t\t\t}) as TRow[];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Use exec for non-parameterized queries since\n\t\t\t\t\t\t// @rivetkit/sqlite's query() can crash on some statements.\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 waDb.exec(\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t(row: unknown[], columns: string[]) => {\n\t\t\t\t\t\t\t\tif (!columnNames) {\n\t\t\t\t\t\t\t\t\tcolumnNames = columns;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst obj: Record<string, unknown> = {};\n\t\t\t\t\t\t\t\tfor (let i = 0; i < row.length; i++) {\n\t\t\t\t\t\t\t\t\tobj[columnNames[i]] = row[i];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tresults.push(obj);\n\t\t\t\t\t\t\t},\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 waDb.close();\n\t\t\t\t\t\twaDbInstance = null;\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 (config?.migrations && waDbInstance) {\n\t\t\t\tawait runInlineMigrations(\n\t\t\t\t\twaDbInstance,\n\t\t\t\t\tmutex,\n\t\t\t\t\tconfig.migrations,\n\t\t\t\t);\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","export * from \"drizzle-orm/sqlite-core\";\nexport {\n\tblob,\n\tcheck,\n\textractUsedTable,\n\tforeignKey,\n\tgetTableConfig,\n\tgetViewConfig,\n\tindex,\n\tinteger,\n\tnumeric,\n\tprimaryKey,\n\treal,\n\tsqliteTable,\n\tsqliteTableCreator,\n\tsqliteView,\n\ttext,\n\tunique,\n\tuniqueIndex,\n\tuniqueKeyName,\n\tview,\n} from \"drizzle-orm/sqlite-core\";\n"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA,EACC,WAAW;AAAA,OAEL;;;ACJP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAAc;AACd;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;;;ADbP,wBAAc;AAEd,SAAsB,gBAAgB,4BAA4B;AAE3D,SAAS,aACf,QACS;AACT,SAAO,qBAAqB;AAAA,IAC3B,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,GAAG;AAAA,EACJ,CAAC;AACF;AAYA,SAAS,oBACR,MACA,OACA,UACC;AACD,SAAO,OACN,KACA,QACA,WAC4B;AAC5B,WAAO,MAAM,IAAI,YAAY;AAC5B,UAAI,SAAS,GAAG;AACf,cAAM,IAAI,MAAM,oBAAoB;AAAA,MACrC;AAEA,UAAI,WAAW,OAAO;AACrB,cAAM,KAAK,IAAI,KAAK,iBAAiB,MAAM,CAAC;AAC5C,eAAO,EAAE,MAAM,CAAC,EAAE;AAAA,MACnB;AAGA,YAAM,SAAS,MAAM,KAAK,MAAM,KAAK,iBAAiB,MAAM,CAAC;AAI7D,UAAI,WAAW,OAAO;AACrB,eAAO,EAAE,MAAM,OAAO,KAAK,CAAC,EAAE;AAAA,MAC/B;AAEA,aAAO,EAAE,MAAM,OAAO,KAAK;AAAA,IAC5B,CAAC;AAAA,EACF;AACD;AAMA,eAAe,oBACd,MACA,OACA,YACgB;AAEhB,QAAM,MAAM;AAAA,IAAI,MACf,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV;AAAA,EACD;AAGA,MAAI,gBAAgB;AACpB,QAAM,MAAM;AAAA,IAAI,MACf,KAAK;AAAA,MACJ;AAAA,MACA,CAAC,QAAQ;AACR,wBAAgB,OAAO,IAAI,CAAC,CAAC,KAAK;AAAA,MACnC;AAAA,IACD;AAAA,EACD;AAGA,QAAM,UAAU,WAAW;AAC3B,MAAI,EAAC,mCAAS,SAAS;AAEvB,aAAW,SAAS,QAAQ,SAAS;AACpC,QAAI,MAAM,QAAQ,cAAe;AAIjC,UAAM,eAAe,IAAI,OAAO,MAAM,GAAG,EAAE,SAAS,GAAG,GAAG,CAAC;AAC3D,UAAM,MAAM,WAAW,WAAW,YAAY;AAC9C,QAAI,CAAC,IAAK;AAGV,UAAM,MAAM,IAAI,MAAM,KAAK,KAAK,GAAG,CAAC;AAGpC,UAAM,MAAM;AAAA,MAAI,MACf,KAAK;AAAA,QACJ;AAAA,QACA,CAAC,MAAM,KAAK,MAAM,IAAI;AAAA,MACvB;AAAA,IACD;AAAA,EACD;AACD;AAEO,SAAS,GAGf,QAC8D;AAE9D,MAAI,eAAgC;AACpC,QAAM,QAAQ,IAAI,WAAW;AAE7B,SAAO;AAAA,IACN,cAAc,OAAO,QAAQ;AAE5B,UAAI,CAAC,IAAI,WAAW;AACnB,cAAM,IAAI;AAAA,UACT;AAAA,QACD;AAAA,MACD;AAEA,YAAM,UAAU,mBAAmB,IAAI,EAAE;AACzC,YAAM,OAAO,MAAM,IAAI,UAAU,KAAK,IAAI,SAAS,OAAO;AAC1D,qBAAe;AACf,UAAI,SAAS;AACb,YAAM,aAAa,MAAM;AACxB,YAAI,QAAQ;AACX,gBAAM,IAAI,MAAM,oBAAoB;AAAA,QACrC;AAAA,MACD;AAGA,YAAM,WAAW,oBAAoB,MAAM,OAAO,MAAM,MAAM;AAG9D,YAAM,SAAS,aAAsB,UAAU,MAAM;AAErD,aAAO,OAAO,OAAO,QAAQ;AAAA,QAC5B,SAAS,OAGR,UACG,SACkB;AACrB,iBAAO,MAAM,IAAI,YAAY;AAC5B,uBAAW;AAEX,gBAAI,KAAK,SAAS,GAAG;AACpB,oBAAM,SAAS,MAAM,KAAK;AAAA,gBACzB;AAAA,gBACA,iBAAiB,IAAI;AAAA,cACtB;AACA,qBAAO,OAAO,KAAK,IAAI,CAAC,QAAmB;AAC1C,sBAAM,MAA+B,CAAC;AACtC,yBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,QAAQ,KAAK;AAC/C,sBAAI,OAAO,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,gBAC/B;AACA,uBAAO;AAAA,cACR,CAAC;AAAA,YACF;AAGA,kBAAM,UAAqC,CAAC;AAC5C,gBAAI,cAA+B;AACnC,kBAAM,KAAK;AAAA,cACV;AAAA,cACA,CAAC,KAAgB,YAAsB;AACtC,oBAAI,CAAC,aAAa;AACjB,gCAAc;AAAA,gBACf;AACA,sBAAM,MAA+B,CAAC;AACtC,yBAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACpC,sBAAI,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,gBAC5B;AACA,wBAAQ,KAAK,GAAG;AAAA,cACjB;AAAA,YACD;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QACF;AAAA,QACA,OAAO,YAAY;AAClB,gBAAM,MAAM,IAAI,YAAY;AAC3B,gBAAI,QAAQ;AACX;AAAA,YACD;AACA,qBAAS;AACT,kBAAM,KAAK,MAAM;AACjB,2BAAe;AAAA,UAChB,CAAC;AAAA,QACF;AAAA,MACD,CAAqB;AAAA,IACtB;AAAA,IACA,WAAW,OAAO,YAAY;AAC7B,WAAI,iCAAQ,eAAc,cAAc;AACvC,cAAM;AAAA,UACL;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA,WAAW,OAAO,WAAW;AAC5B,YAAM,OAAO,MAAM;AAAA,IACpB;AAAA,EACD;AACD;","names":[]}