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,642 @@
1
+ import {
2
+ encodeWorkflowHistoryTransport
3
+ } from "./chunk-Z7HNQ2WF.js";
4
+ import {
5
+ ACTOR_CONTEXT_INTERNAL_SYMBOL,
6
+ RUN_FUNCTION_CONFIG_SYMBOL,
7
+ makeWorkflowKey,
8
+ workflowStoragePrefix
9
+ } from "./chunk-RTOCTWME.js";
10
+ import {
11
+ assertUnreachable,
12
+ bufferToArrayBuffer,
13
+ stringifyError
14
+ } from "./chunk-325TLXJT.js";
15
+
16
+ // src/workflow/mod.ts
17
+ import { runWorkflow } from "@rivetkit/workflow-engine";
18
+ import invariant from "invariant";
19
+
20
+ // src/workflow/constants.ts
21
+ var WORKFLOW_GUARD_KV_KEY = "__rivet_actor_workflow_guard_triggered";
22
+
23
+ // src/workflow/context.ts
24
+ var ActorWorkflowContext = class _ActorWorkflowContext {
25
+ #inner;
26
+ #runCtx;
27
+ #actorAccessDepth = 0;
28
+ #allowActorAccess = false;
29
+ #guardViolation = false;
30
+ constructor(inner, runCtx) {
31
+ this.#inner = inner;
32
+ this.#runCtx = runCtx;
33
+ }
34
+ get workflowId() {
35
+ return this.#inner.workflowId;
36
+ }
37
+ get abortSignal() {
38
+ return this.#inner.abortSignal;
39
+ }
40
+ get queue() {
41
+ const self = this;
42
+ async function next(name, opts) {
43
+ const message = await self.#inner.queue.next(name, opts);
44
+ return self.#toActorQueueMessage(message);
45
+ }
46
+ async function nextBatch(name, opts) {
47
+ const messages = await self.#inner.queue.nextBatch(name, opts);
48
+ return messages.map((message) => self.#toActorQueueMessage(message));
49
+ }
50
+ async function send(name, body) {
51
+ self.#ensureActorAccess("queue.send");
52
+ await self.#runCtx.queue.send(name, body);
53
+ }
54
+ return {
55
+ next,
56
+ nextBatch,
57
+ send
58
+ };
59
+ }
60
+ async step(nameOrConfig, run) {
61
+ if (typeof nameOrConfig === "string") {
62
+ if (!run) {
63
+ throw new Error("Step run function missing");
64
+ }
65
+ return await this.#wrapActive(
66
+ () => this.#inner.step(nameOrConfig, () => this.#withActorAccess(run))
67
+ );
68
+ }
69
+ const stepConfig = nameOrConfig;
70
+ const config = {
71
+ ...stepConfig,
72
+ run: () => this.#withActorAccess(stepConfig.run)
73
+ };
74
+ return await this.#wrapActive(() => this.#inner.step(config));
75
+ }
76
+ async loop(nameOrConfig, run) {
77
+ if (typeof nameOrConfig === "string") {
78
+ if (!run) {
79
+ throw new Error("Loop run function missing");
80
+ }
81
+ return await this.#wrapActive(
82
+ () => this.#inner.loop(
83
+ nameOrConfig,
84
+ async (ctx) => run(this.#createChildContext(ctx))
85
+ )
86
+ );
87
+ }
88
+ const wrapped = {
89
+ ...nameOrConfig,
90
+ run: async (ctx, state) => nameOrConfig.run(this.#createChildContext(ctx), state)
91
+ };
92
+ return await this.#wrapActive(() => this.#inner.loop(wrapped));
93
+ }
94
+ sleep(name, durationMs) {
95
+ return this.#inner.sleep(name, durationMs);
96
+ }
97
+ sleepUntil(name, timestampMs) {
98
+ return this.#inner.sleepUntil(name, timestampMs);
99
+ }
100
+ async rollbackCheckpoint(name) {
101
+ await this.#wrapActive(() => this.#inner.rollbackCheckpoint(name));
102
+ }
103
+ async join(name, branches) {
104
+ const wrappedBranches = Object.fromEntries(
105
+ Object.entries(branches).map(([key, branch]) => [
106
+ key,
107
+ {
108
+ run: async (ctx) => branch.run(this.#createChildContext(ctx))
109
+ }
110
+ ])
111
+ );
112
+ return await this.#wrapActive(
113
+ () => this.#inner.join(name, wrappedBranches)
114
+ );
115
+ }
116
+ async race(name, branches) {
117
+ const wrappedBranches = branches.map((branch) => ({
118
+ name: branch.name,
119
+ run: (ctx) => branch.run(this.#createChildContext(ctx))
120
+ }));
121
+ return await this.#wrapActive(
122
+ () => this.#inner.race(name, wrappedBranches)
123
+ );
124
+ }
125
+ async removed(name, originalType) {
126
+ await this.#wrapActive(() => this.#inner.removed(name, originalType));
127
+ }
128
+ isEvicted() {
129
+ return this.#inner.isEvicted();
130
+ }
131
+ get state() {
132
+ this.#ensureActorAccess("state");
133
+ return this.#runCtx.state;
134
+ }
135
+ get vars() {
136
+ this.#ensureActorAccess("vars");
137
+ return this.#runCtx.vars;
138
+ }
139
+ client() {
140
+ this.#ensureActorAccess("client");
141
+ return this.#runCtx.client();
142
+ }
143
+ get db() {
144
+ this.#ensureActorAccess("db");
145
+ return this.#runCtx.db;
146
+ }
147
+ get log() {
148
+ return this.#runCtx.log;
149
+ }
150
+ keepAwake(promise) {
151
+ this.#ensureActorAccess("keepAwake");
152
+ return this.#runCtx.keepAwake(promise);
153
+ }
154
+ waitUntil(promise) {
155
+ this.#ensureActorAccess("waitUntil");
156
+ this.#runCtx.waitUntil(promise);
157
+ }
158
+ get actorId() {
159
+ return this.#runCtx.actorId;
160
+ }
161
+ broadcast(name, ...args) {
162
+ this.#ensureActorAccess("broadcast");
163
+ this.#runCtx.broadcast(
164
+ name,
165
+ ...args
166
+ );
167
+ }
168
+ #toActorQueueMessage(message) {
169
+ let id;
170
+ try {
171
+ id = BigInt(message.id);
172
+ } catch {
173
+ throw new Error(`Invalid queue message id "${message.id}"`);
174
+ }
175
+ return {
176
+ id,
177
+ name: message.name,
178
+ body: message.body,
179
+ createdAt: message.createdAt,
180
+ ...message.complete ? { complete: message.complete } : {}
181
+ };
182
+ }
183
+ async #wrapActive(run) {
184
+ return await this.#runCtx.keepAwake(run());
185
+ }
186
+ async #withActorAccess(run) {
187
+ this.#actorAccessDepth++;
188
+ if (this.#actorAccessDepth === 1) {
189
+ this.#allowActorAccess = true;
190
+ }
191
+ try {
192
+ return await run();
193
+ } finally {
194
+ this.#actorAccessDepth--;
195
+ if (this.#actorAccessDepth === 0) {
196
+ this.#allowActorAccess = false;
197
+ }
198
+ }
199
+ }
200
+ #ensureActorAccess(feature) {
201
+ if (!this.#allowActorAccess) {
202
+ this.#guardViolation = true;
203
+ this.#markGuardTriggered();
204
+ throw new Error(
205
+ `${feature} is only available inside workflow steps`
206
+ );
207
+ }
208
+ }
209
+ consumeGuardViolation() {
210
+ const violated = this.#guardViolation;
211
+ this.#guardViolation = false;
212
+ return violated;
213
+ }
214
+ #markGuardTriggered() {
215
+ try {
216
+ const state = this.#runCtx.state;
217
+ if (state && typeof state === "object" && "guardTriggered" in state) {
218
+ state.guardTriggered = true;
219
+ }
220
+ } catch {
221
+ }
222
+ this.#runCtx.waitUntil(
223
+ (async () => {
224
+ try {
225
+ await this.#runCtx.kv.put(WORKFLOW_GUARD_KV_KEY, "true");
226
+ } catch (error) {
227
+ this.#runCtx.log.error({
228
+ msg: "failed to persist workflow guard flag",
229
+ error
230
+ });
231
+ }
232
+ })()
233
+ );
234
+ }
235
+ #createChildContext(ctx) {
236
+ return new _ActorWorkflowContext(ctx, this.#runCtx);
237
+ }
238
+ };
239
+
240
+ // src/workflow/driver.ts
241
+ var WORKFLOW_STORAGE_PREFIX = workflowStoragePrefix();
242
+ function stripWorkflowKey(prefixed) {
243
+ return prefixed.slice(WORKFLOW_STORAGE_PREFIX.length);
244
+ }
245
+ var ActorWorkflowMessageDriver = class {
246
+ #actor;
247
+ #runCtx;
248
+ constructor(actor, runCtx) {
249
+ this.#actor = actor;
250
+ this.#runCtx = runCtx;
251
+ }
252
+ async addMessage(message) {
253
+ await this.#runCtx.keepAwake(
254
+ this.#actor.queueManager.enqueue(message.name, message.data)
255
+ );
256
+ }
257
+ async receiveMessages(opts) {
258
+ const messages = await this.#runCtx.keepAwake(
259
+ this.#actor.queueManager.receive(
260
+ opts.names && opts.names.length > 0 ? [...opts.names] : void 0,
261
+ opts.count,
262
+ 0,
263
+ void 0,
264
+ opts.completable
265
+ )
266
+ );
267
+ return messages.map((message) => ({
268
+ id: message.id.toString(),
269
+ name: message.name,
270
+ data: message.body,
271
+ sentAt: message.createdAt,
272
+ ...opts.completable ? {
273
+ complete: async (response) => {
274
+ await this.#runCtx.keepAwake(
275
+ this.#actor.queueManager.completeMessage(
276
+ message,
277
+ response
278
+ )
279
+ );
280
+ }
281
+ } : {}
282
+ }));
283
+ }
284
+ async completeMessage(messageId, response) {
285
+ let parsedId;
286
+ try {
287
+ parsedId = BigInt(messageId);
288
+ } catch {
289
+ return;
290
+ }
291
+ await this.#runCtx.keepAwake(
292
+ this.#actor.queueManager.completeMessageById(parsedId, response)
293
+ );
294
+ }
295
+ };
296
+ var ActorWorkflowDriver = class {
297
+ workerPollInterval = 100;
298
+ messageDriver;
299
+ #actor;
300
+ #runCtx;
301
+ constructor(actor, runCtx) {
302
+ this.#actor = actor;
303
+ this.#runCtx = runCtx;
304
+ this.messageDriver = new ActorWorkflowMessageDriver(actor, runCtx);
305
+ }
306
+ async get(key) {
307
+ const [value] = await this.#runCtx.keepAwake(
308
+ this.#actor.driver.kvBatchGet(this.#actor.id, [
309
+ makeWorkflowKey(key)
310
+ ])
311
+ );
312
+ return value ?? null;
313
+ }
314
+ async set(key, value) {
315
+ await this.#runCtx.keepAwake(
316
+ this.#actor.driver.kvBatchPut(this.#actor.id, [
317
+ [makeWorkflowKey(key), value]
318
+ ])
319
+ );
320
+ }
321
+ async delete(key) {
322
+ await this.#runCtx.keepAwake(
323
+ this.#actor.driver.kvBatchDelete(this.#actor.id, [
324
+ makeWorkflowKey(key)
325
+ ])
326
+ );
327
+ }
328
+ async deletePrefix(prefix) {
329
+ const entries = await this.#runCtx.keepAwake(
330
+ this.#actor.driver.kvListPrefix(
331
+ this.#actor.id,
332
+ makeWorkflowKey(prefix)
333
+ )
334
+ );
335
+ if (entries.length === 0) {
336
+ return;
337
+ }
338
+ await this.#runCtx.keepAwake(
339
+ this.#actor.driver.kvBatchDelete(
340
+ this.#actor.id,
341
+ entries.map(([key]) => key)
342
+ )
343
+ );
344
+ }
345
+ async list(prefix) {
346
+ const entries = await this.#runCtx.keepAwake(
347
+ this.#actor.driver.kvListPrefix(
348
+ this.#actor.id,
349
+ makeWorkflowKey(prefix)
350
+ )
351
+ );
352
+ return entries.map(([key, value]) => ({
353
+ key: stripWorkflowKey(key),
354
+ value
355
+ }));
356
+ }
357
+ async batch(writes) {
358
+ if (writes.length === 0) return;
359
+ await this.#runCtx.keepAwake(
360
+ Promise.all([
361
+ this.#actor.driver.kvBatchPut(
362
+ this.#actor.id,
363
+ writes.map(({ key, value }) => [makeWorkflowKey(key), value])
364
+ ),
365
+ this.#actor.stateManager.saveState({
366
+ immediate: true,
367
+ allowStoppingState: true
368
+ })
369
+ ])
370
+ );
371
+ }
372
+ async setAlarm(_workflowId, wakeAt) {
373
+ await this.#runCtx.keepAwake(
374
+ this.#actor.driver.setAlarm(this.#actor, wakeAt)
375
+ );
376
+ }
377
+ async clearAlarm(_workflowId) {
378
+ return;
379
+ }
380
+ waitForMessages(messageNames, abortSignal) {
381
+ return this.#actor.queueManager.waitForNames(
382
+ messageNames.length > 0 ? messageNames : void 0,
383
+ abortSignal
384
+ );
385
+ }
386
+ };
387
+
388
+ // src/workflow/inspector.ts
389
+ import * as cbor from "cbor-x";
390
+ import { createNanoEvents } from "nanoevents";
391
+ function createWorkflowInspectorAdapter() {
392
+ const emitter = createNanoEvents();
393
+ let history = null;
394
+ const adapter = {
395
+ getHistory: () => history,
396
+ onHistoryUpdated: (listener) => emitter.on("updated", listener)
397
+ };
398
+ const update = (snapshot) => {
399
+ const transportHistory = toWorkflowHistory(snapshot);
400
+ const next = encodeWorkflowHistoryTransport(transportHistory);
401
+ history = next;
402
+ emitter.emit("updated", next);
403
+ };
404
+ return { adapter, update };
405
+ }
406
+ function encodeCbor(value) {
407
+ return bufferToArrayBuffer(cbor.encode(value));
408
+ }
409
+ function encodeOptionalCbor(value) {
410
+ if (value === void 0) {
411
+ return null;
412
+ }
413
+ return encodeCbor(value);
414
+ }
415
+ function toU64(value) {
416
+ return BigInt(Math.max(0, Math.floor(value)));
417
+ }
418
+ function toWorkflowLocation(location) {
419
+ return location.map((segment) => {
420
+ if (typeof segment === "number") {
421
+ return { tag: "WorkflowNameIndex", val: segment };
422
+ }
423
+ return {
424
+ tag: "WorkflowLoopIterationMarker",
425
+ val: {
426
+ loop: segment.loop,
427
+ iteration: segment.iteration
428
+ }
429
+ };
430
+ });
431
+ }
432
+ function toWorkflowEntryKind(kind) {
433
+ switch (kind.type) {
434
+ case "step":
435
+ return {
436
+ tag: "WorkflowStepEntry",
437
+ val: {
438
+ output: encodeOptionalCbor(kind.data.output),
439
+ error: kind.data.error ?? null
440
+ }
441
+ };
442
+ case "loop":
443
+ return {
444
+ tag: "WorkflowLoopEntry",
445
+ val: {
446
+ state: encodeCbor(kind.data.state),
447
+ iteration: kind.data.iteration,
448
+ output: encodeOptionalCbor(kind.data.output)
449
+ }
450
+ };
451
+ case "sleep":
452
+ return {
453
+ tag: "WorkflowSleepEntry",
454
+ val: {
455
+ deadline: toU64(kind.data.deadline),
456
+ state: toWorkflowSleepState(kind.data.state)
457
+ }
458
+ };
459
+ case "message":
460
+ return {
461
+ tag: "WorkflowMessageEntry",
462
+ val: {
463
+ name: kind.data.name,
464
+ messageData: encodeCbor(kind.data.data)
465
+ }
466
+ };
467
+ case "rollback_checkpoint":
468
+ return {
469
+ tag: "WorkflowRollbackCheckpointEntry",
470
+ val: { name: kind.data.name }
471
+ };
472
+ case "join":
473
+ return {
474
+ tag: "WorkflowJoinEntry",
475
+ val: { branches: toWorkflowBranchStatusMap(kind.data.branches) }
476
+ };
477
+ case "race":
478
+ return {
479
+ tag: "WorkflowRaceEntry",
480
+ val: {
481
+ winner: kind.data.winner ?? null,
482
+ branches: toWorkflowBranchStatusMap(kind.data.branches)
483
+ }
484
+ };
485
+ case "removed":
486
+ return {
487
+ tag: "WorkflowRemovedEntry",
488
+ val: {
489
+ originalType: kind.data.originalType,
490
+ originalName: kind.data.originalName ?? null
491
+ }
492
+ };
493
+ default:
494
+ assertUnreachable(kind);
495
+ }
496
+ }
497
+ function toWorkflowEntry(entry) {
498
+ return {
499
+ id: entry.id,
500
+ location: toWorkflowLocation(entry.location),
501
+ kind: toWorkflowEntryKind(entry.kind)
502
+ };
503
+ }
504
+ function toWorkflowEntryStatus(status) {
505
+ switch (status) {
506
+ case "pending":
507
+ return "PENDING" /* PENDING */;
508
+ case "running":
509
+ return "RUNNING" /* RUNNING */;
510
+ case "completed":
511
+ return "COMPLETED" /* COMPLETED */;
512
+ case "failed":
513
+ return "FAILED" /* FAILED */;
514
+ case "exhausted":
515
+ return "EXHAUSTED" /* EXHAUSTED */;
516
+ default:
517
+ assertUnreachable(status);
518
+ }
519
+ }
520
+ function toWorkflowSleepState(state) {
521
+ switch (state) {
522
+ case "pending":
523
+ return "PENDING" /* PENDING */;
524
+ case "completed":
525
+ return "COMPLETED" /* COMPLETED */;
526
+ case "interrupted":
527
+ return "INTERRUPTED" /* INTERRUPTED */;
528
+ default:
529
+ assertUnreachable(state);
530
+ }
531
+ }
532
+ function toWorkflowBranchStatusType(status) {
533
+ switch (status) {
534
+ case "pending":
535
+ return "PENDING" /* PENDING */;
536
+ case "running":
537
+ return "RUNNING" /* RUNNING */;
538
+ case "completed":
539
+ return "COMPLETED" /* COMPLETED */;
540
+ case "failed":
541
+ return "FAILED" /* FAILED */;
542
+ case "cancelled":
543
+ return "CANCELLED" /* CANCELLED */;
544
+ default:
545
+ assertUnreachable(status);
546
+ }
547
+ }
548
+ function toWorkflowBranchStatus(status) {
549
+ return {
550
+ status: toWorkflowBranchStatusType(status.status),
551
+ output: encodeOptionalCbor(status.output),
552
+ error: status.error ?? null
553
+ };
554
+ }
555
+ function toWorkflowBranchStatusMap(branches) {
556
+ return new Map(
557
+ Object.entries(branches).map(([name, status]) => [
558
+ name,
559
+ toWorkflowBranchStatus(status)
560
+ ])
561
+ );
562
+ }
563
+ function toWorkflowEntryMetadata(metadata) {
564
+ return {
565
+ status: toWorkflowEntryStatus(metadata.status),
566
+ error: metadata.error ?? null,
567
+ attempts: metadata.attempts,
568
+ lastAttemptAt: toU64(metadata.lastAttemptAt),
569
+ createdAt: toU64(metadata.createdAt),
570
+ completedAt: metadata.completedAt === void 0 ? null : toU64(metadata.completedAt),
571
+ rollbackCompletedAt: metadata.rollbackCompletedAt === void 0 ? null : toU64(metadata.rollbackCompletedAt),
572
+ rollbackError: metadata.rollbackError ?? null
573
+ };
574
+ }
575
+ function toWorkflowHistory(snapshot) {
576
+ const entryMetadata = /* @__PURE__ */ new Map();
577
+ for (const [id, metadata] of snapshot.entryMetadata) {
578
+ entryMetadata.set(id, toWorkflowEntryMetadata(metadata));
579
+ }
580
+ return {
581
+ nameRegistry: snapshot.nameRegistry,
582
+ entries: snapshot.entries.map((entry) => toWorkflowEntry(entry)),
583
+ entryMetadata
584
+ };
585
+ }
586
+
587
+ // src/workflow/mod.ts
588
+ import { Loop } from "@rivetkit/workflow-engine";
589
+ function workflow(fn) {
590
+ const workflowInspector = createWorkflowInspectorAdapter();
591
+ async function run(runCtx) {
592
+ const actor = runCtx[ACTOR_CONTEXT_INTERNAL_SYMBOL];
593
+ invariant(actor, "workflow() requires an actor instance");
594
+ const driver = new ActorWorkflowDriver(actor, runCtx);
595
+ const handle = runWorkflow(
596
+ actor.id,
597
+ async (ctx) => await fn(new ActorWorkflowContext(ctx, runCtx)),
598
+ void 0,
599
+ driver,
600
+ {
601
+ mode: "live",
602
+ logger: runCtx.log,
603
+ onHistoryUpdated: workflowInspector.update
604
+ }
605
+ );
606
+ const onAbort = () => {
607
+ handle.evict();
608
+ };
609
+ if (runCtx.abortSignal.aborted) {
610
+ onAbort();
611
+ } else {
612
+ runCtx.abortSignal.addEventListener("abort", onAbort, {
613
+ once: true
614
+ });
615
+ }
616
+ try {
617
+ await handle.result;
618
+ } catch (error) {
619
+ runCtx.log.error({
620
+ msg: "workflow run failed",
621
+ error: stringifyError(error)
622
+ });
623
+ throw error;
624
+ } finally {
625
+ runCtx.abortSignal.removeEventListener("abort", onAbort);
626
+ }
627
+ }
628
+ const runWithConfig = run;
629
+ runWithConfig[RUN_FUNCTION_CONFIG_SYMBOL] = {
630
+ icon: "diagram-project",
631
+ inspector: { workflow: workflowInspector.adapter }
632
+ };
633
+ return runWithConfig;
634
+ }
635
+
636
+ export {
637
+ WORKFLOW_GUARD_KV_KEY,
638
+ ActorWorkflowContext,
639
+ workflow,
640
+ Loop
641
+ };
642
+ //# sourceMappingURL=chunk-WMPW7JYC.js.map