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,73 @@
1
+ import type { Conn } from "../../conn/mod";
2
+ import type { AnyDatabaseProvider } from "../../database";
3
+ import type { ActorDefinition, AnyActorDefinition } from "../../definition";
4
+ import type { ActorInstance } from "../../instance/mod";
5
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../../schema";
6
+ import { ActorContext } from "./actor";
7
+
8
+ /**
9
+ * Base context for connection-based handlers.
10
+ * Extends ActorContext with connection-specific functionality.
11
+ */
12
+ export abstract class ConnContext<
13
+ TState,
14
+ TConnParams,
15
+ TConnState,
16
+ TVars,
17
+ TInput,
18
+ TDatabase extends AnyDatabaseProvider,
19
+ TEvents extends EventSchemaConfig = Record<never, never>,
20
+ TQueues extends QueueSchemaConfig = Record<never, never>,
21
+ > extends ActorContext<
22
+ TState,
23
+ TConnParams,
24
+ TConnState,
25
+ TVars,
26
+ TInput,
27
+ TDatabase,
28
+ TEvents,
29
+ TQueues
30
+ > {
31
+ /**
32
+ * @internal
33
+ */
34
+ constructor(
35
+ actor: ActorInstance<
36
+ TState,
37
+ TConnParams,
38
+ TConnState,
39
+ TVars,
40
+ TInput,
41
+ TDatabase,
42
+ TEvents,
43
+ TQueues
44
+ >,
45
+ public readonly conn: Conn<
46
+ TState,
47
+ TConnParams,
48
+ TConnState,
49
+ TVars,
50
+ TInput,
51
+ TDatabase,
52
+ TEvents,
53
+ TQueues
54
+ >,
55
+ ) {
56
+ super(actor);
57
+ }
58
+ }
59
+
60
+ export type ConnContextOf<AD extends AnyActorDefinition> =
61
+ AD extends ActorDefinition<
62
+ infer S,
63
+ infer CP,
64
+ infer CS,
65
+ infer V,
66
+ infer I,
67
+ infer DB extends AnyDatabaseProvider,
68
+ infer E extends EventSchemaConfig,
69
+ infer Q extends QueueSchemaConfig,
70
+ any
71
+ >
72
+ ? ConnContext<S, CP, CS, V, I, DB, E, Q>
73
+ : never;
@@ -0,0 +1,42 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the onBeforeActionResponse lifecycle hook.
8
+ */
9
+ export class BeforeActionResponseContext<
10
+ TState,
11
+ TConnParams,
12
+ TConnState,
13
+ TVars,
14
+ TInput,
15
+ TDatabase extends AnyDatabaseProvider,
16
+ TEvents extends EventSchemaConfig = Record<never, never>,
17
+ TQueues extends QueueSchemaConfig = Record<never, never>,
18
+ > extends ActorContext<
19
+ TState,
20
+ TConnParams,
21
+ TConnState,
22
+ TVars,
23
+ TInput,
24
+ TDatabase,
25
+ TEvents,
26
+ TQueues
27
+ > {}
28
+
29
+ export type BeforeActionResponseContextOf<AD extends AnyActorDefinition> =
30
+ AD extends ActorDefinition<
31
+ infer S,
32
+ infer CP,
33
+ infer CS,
34
+ infer V,
35
+ infer I,
36
+ infer DB extends AnyDatabaseProvider,
37
+ infer E extends EventSchemaConfig,
38
+ infer Q extends QueueSchemaConfig,
39
+ any
40
+ >
41
+ ? BeforeActionResponseContext<S, CP, CS, V, I, DB, E, Q>
42
+ : never;
@@ -0,0 +1,31 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ConnInitContext } from "./base/conn-init";
5
+
6
+ /**
7
+ * Context for the onBeforeConnect lifecycle hook.
8
+ */
9
+ export class BeforeConnectContext<
10
+ TState,
11
+ TVars,
12
+ TInput,
13
+ TDatabase extends AnyDatabaseProvider,
14
+ TEvents extends EventSchemaConfig = Record<never, never>,
15
+ TQueues extends QueueSchemaConfig = Record<never, never>,
16
+ > extends ConnInitContext<TState, TVars, TInput, TDatabase, TEvents, TQueues> {}
17
+
18
+ export type BeforeConnectContextOf<AD extends AnyActorDefinition> =
19
+ AD extends ActorDefinition<
20
+ infer S,
21
+ any,
22
+ any,
23
+ infer V,
24
+ infer I,
25
+ infer DB extends AnyDatabaseProvider,
26
+ infer E extends EventSchemaConfig,
27
+ infer Q extends QueueSchemaConfig,
28
+ any
29
+ >
30
+ ? BeforeConnectContext<S, V, I, DB, E, Q>
31
+ : never;
@@ -0,0 +1,42 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ConnContext } from "./base/conn";
5
+
6
+ /**
7
+ * Context for the onConnect lifecycle hook.
8
+ */
9
+ export class ConnectContext<
10
+ TState,
11
+ TConnParams,
12
+ TConnState,
13
+ TVars,
14
+ TInput,
15
+ TDatabase extends AnyDatabaseProvider,
16
+ TEvents extends EventSchemaConfig = Record<never, never>,
17
+ TQueues extends QueueSchemaConfig = Record<never, never>,
18
+ > extends ConnContext<
19
+ TState,
20
+ TConnParams,
21
+ TConnState,
22
+ TVars,
23
+ TInput,
24
+ TDatabase,
25
+ TEvents,
26
+ TQueues
27
+ > {}
28
+
29
+ export type ConnectContextOf<AD extends AnyActorDefinition> =
30
+ AD extends ActorDefinition<
31
+ infer S,
32
+ infer CP,
33
+ infer CS,
34
+ infer V,
35
+ infer I,
36
+ infer DB extends AnyDatabaseProvider,
37
+ infer E extends EventSchemaConfig,
38
+ infer Q extends QueueSchemaConfig,
39
+ any
40
+ >
41
+ ? ConnectContext<S, CP, CS, V, I, DB, E, Q>
42
+ : never;
@@ -0,0 +1,32 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ConnInitContext } from "./base/conn-init";
5
+
6
+ /**
7
+ * Context for the createConnState lifecycle hook.
8
+ * Called to initialize connection-specific state when a connection is created.
9
+ */
10
+ export class CreateConnStateContext<
11
+ TState,
12
+ TVars,
13
+ TInput,
14
+ TDatabase extends AnyDatabaseProvider,
15
+ TEvents extends EventSchemaConfig = Record<never, never>,
16
+ TQueues extends QueueSchemaConfig = Record<never, never>,
17
+ > extends ConnInitContext<TState, TVars, TInput, TDatabase, TEvents, TQueues> {}
18
+
19
+ export type CreateConnStateContextOf<AD extends AnyActorDefinition> =
20
+ AD extends ActorDefinition<
21
+ infer S,
22
+ any,
23
+ any,
24
+ infer V,
25
+ infer I,
26
+ infer DB extends AnyDatabaseProvider,
27
+ infer E extends EventSchemaConfig,
28
+ infer Q extends QueueSchemaConfig,
29
+ any
30
+ >
31
+ ? CreateConnStateContext<S, V, I, DB, E, Q>
32
+ : never;
@@ -0,0 +1,39 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the createVars lifecycle hook.
8
+ */
9
+ export class CreateVarsContext<
10
+ TState,
11
+ TInput,
12
+ TDatabase extends AnyDatabaseProvider,
13
+ TEvents extends EventSchemaConfig = Record<never, never>,
14
+ TQueues extends QueueSchemaConfig = Record<never, never>,
15
+ > extends ActorContext<
16
+ TState,
17
+ never,
18
+ never,
19
+ never,
20
+ TInput,
21
+ TDatabase,
22
+ TEvents,
23
+ TQueues
24
+ > {}
25
+
26
+ export type CreateVarsContextOf<AD extends AnyActorDefinition> =
27
+ AD extends ActorDefinition<
28
+ infer S,
29
+ any,
30
+ any,
31
+ any,
32
+ infer I,
33
+ infer DB extends AnyDatabaseProvider,
34
+ infer E extends EventSchemaConfig,
35
+ infer Q extends QueueSchemaConfig,
36
+ any
37
+ >
38
+ ? CreateVarsContext<S, I, DB, E, Q>
39
+ : never;
@@ -0,0 +1,39 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the onCreate lifecycle hook.
8
+ */
9
+ export class CreateContext<
10
+ TState,
11
+ TInput,
12
+ TDatabase extends AnyDatabaseProvider,
13
+ TEvents extends EventSchemaConfig = Record<never, never>,
14
+ TQueues extends QueueSchemaConfig = Record<never, never>,
15
+ > extends ActorContext<
16
+ TState,
17
+ never,
18
+ never,
19
+ never,
20
+ TInput,
21
+ TDatabase,
22
+ TEvents,
23
+ TQueues
24
+ > {}
25
+
26
+ export type CreateContextOf<AD extends AnyActorDefinition> =
27
+ AD extends ActorDefinition<
28
+ infer S,
29
+ any,
30
+ any,
31
+ any,
32
+ infer I,
33
+ infer DB extends AnyDatabaseProvider,
34
+ infer E extends EventSchemaConfig,
35
+ infer Q extends QueueSchemaConfig,
36
+ any
37
+ >
38
+ ? CreateContext<S, I, DB, E, Q>
39
+ : never;
@@ -0,0 +1,42 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the onDestroy lifecycle hook.
8
+ */
9
+ export class DestroyContext<
10
+ TState,
11
+ TConnParams,
12
+ TConnState,
13
+ TVars,
14
+ TInput,
15
+ TDatabase extends AnyDatabaseProvider,
16
+ TEvents extends EventSchemaConfig = Record<never, never>,
17
+ TQueues extends QueueSchemaConfig = Record<never, never>,
18
+ > extends ActorContext<
19
+ TState,
20
+ TConnParams,
21
+ TConnState,
22
+ TVars,
23
+ TInput,
24
+ TDatabase,
25
+ TEvents,
26
+ TQueues
27
+ > {}
28
+
29
+ export type DestroyContextOf<AD extends AnyActorDefinition> =
30
+ AD extends ActorDefinition<
31
+ infer S,
32
+ infer CP,
33
+ infer CS,
34
+ infer V,
35
+ infer I,
36
+ infer DB extends AnyDatabaseProvider,
37
+ infer E extends EventSchemaConfig,
38
+ infer Q extends QueueSchemaConfig,
39
+ any
40
+ >
41
+ ? DestroyContext<S, CP, CS, V, I, DB, E, Q>
42
+ : never;
@@ -0,0 +1,43 @@
1
+ import type { Conn } from "../conn/mod";
2
+ import type { AnyDatabaseProvider } from "../database";
3
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
4
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
5
+ import { ActorContext } from "./base/actor";
6
+
7
+ /**
8
+ * Context for the onDisconnect lifecycle hook.
9
+ */
10
+ export class DisconnectContext<
11
+ TState,
12
+ TConnParams,
13
+ TConnState,
14
+ TVars,
15
+ TInput,
16
+ TDatabase extends AnyDatabaseProvider,
17
+ TEvents extends EventSchemaConfig = Record<never, never>,
18
+ TQueues extends QueueSchemaConfig = Record<never, never>,
19
+ > extends ActorContext<
20
+ TState,
21
+ TConnParams,
22
+ TConnState,
23
+ TVars,
24
+ TInput,
25
+ TDatabase,
26
+ TEvents,
27
+ TQueues
28
+ > {}
29
+
30
+ export type DisconnectContextOf<AD extends AnyActorDefinition> =
31
+ AD extends ActorDefinition<
32
+ infer S,
33
+ infer CP,
34
+ infer CS,
35
+ infer V,
36
+ infer I,
37
+ infer DB extends AnyDatabaseProvider,
38
+ infer E extends EventSchemaConfig,
39
+ infer Q extends QueueSchemaConfig,
40
+ any
41
+ >
42
+ ? DisconnectContext<S, CP, CS, V, I, DB, E, Q>
43
+ : never;
@@ -0,0 +1,33 @@
1
+ // Base contexts
2
+
3
+ // Lifecycle contexts
4
+ export { ActionContext, type ActionContextOf } from "./action";
5
+ export { ActorContext, type ActorContextOf } from "./base/actor";
6
+ export { ConnContext, type ConnContextOf } from "./base/conn";
7
+ export { ConnInitContext, type ConnInitContextOf } from "./base/conn-init";
8
+ export {
9
+ BeforeActionResponseContext,
10
+ type BeforeActionResponseContextOf,
11
+ } from "./before-action-response";
12
+ export {
13
+ BeforeConnectContext,
14
+ type BeforeConnectContextOf,
15
+ } from "./before-connect";
16
+ export { ConnectContext, type ConnectContextOf } from "./connect";
17
+ export { CreateContext, type CreateContextOf } from "./create";
18
+ export {
19
+ CreateConnStateContext,
20
+ type CreateConnStateContextOf,
21
+ } from "./create-conn-state";
22
+ export { CreateVarsContext, type CreateVarsContextOf } from "./create-vars";
23
+ export { DestroyContext, type DestroyContextOf } from "./destroy";
24
+ export { DisconnectContext, type DisconnectContextOf } from "./disconnect";
25
+ export { RequestContext, type RequestContextOf } from "./request";
26
+ export { RunContext, type RunContextOf } from "./run";
27
+ export { SleepContext, type SleepContextOf } from "./sleep";
28
+ export {
29
+ StateChangeContext,
30
+ type StateChangeContextOf,
31
+ } from "./state-change";
32
+ export { WakeContext, type WakeContextOf } from "./wake";
33
+ export { WebSocketContext, type WebSocketContextOf } from "./websocket";
@@ -0,0 +1,80 @@
1
+ import type { Conn } from "../conn/mod";
2
+ import type { AnyDatabaseProvider } from "../database";
3
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
4
+ import type { ActorInstance } from "../instance/mod";
5
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
6
+ import { ConnContext } from "./base/conn";
7
+
8
+ /**
9
+ * Context for raw HTTP request handlers (onRequest).
10
+ */
11
+ export class RequestContext<
12
+ TState,
13
+ TConnParams,
14
+ TConnState,
15
+ TVars,
16
+ TInput,
17
+ TDatabase extends AnyDatabaseProvider,
18
+ TEvents extends EventSchemaConfig = Record<never, never>,
19
+ TQueues extends QueueSchemaConfig = Record<never, never>,
20
+ > extends ConnContext<
21
+ TState,
22
+ TConnParams,
23
+ TConnState,
24
+ TVars,
25
+ TInput,
26
+ TDatabase,
27
+ TEvents,
28
+ TQueues
29
+ > {
30
+ /**
31
+ * The incoming HTTP request.
32
+ * May be undefined for request contexts initiated without a direct HTTP request.
33
+ */
34
+ public readonly request: Request | undefined;
35
+
36
+ /**
37
+ * @internal
38
+ */
39
+ constructor(
40
+ actor: ActorInstance<
41
+ TState,
42
+ TConnParams,
43
+ TConnState,
44
+ TVars,
45
+ TInput,
46
+ TDatabase,
47
+ TEvents,
48
+ TQueues
49
+ >,
50
+ conn: Conn<
51
+ TState,
52
+ TConnParams,
53
+ TConnState,
54
+ TVars,
55
+ TInput,
56
+ TDatabase,
57
+ TEvents,
58
+ TQueues
59
+ >,
60
+ request?: Request,
61
+ ) {
62
+ super(actor, conn);
63
+ this.request = request;
64
+ }
65
+ }
66
+
67
+ export type RequestContextOf<AD extends AnyActorDefinition> =
68
+ AD extends ActorDefinition<
69
+ infer S,
70
+ infer CP,
71
+ infer CS,
72
+ infer V,
73
+ infer I,
74
+ infer DB extends AnyDatabaseProvider,
75
+ infer E extends EventSchemaConfig,
76
+ infer Q extends QueueSchemaConfig,
77
+ any
78
+ >
79
+ ? RequestContext<S, CP, CS, V, I, DB, E, Q>
80
+ : never;
@@ -0,0 +1,47 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the run lifecycle hook.
8
+ *
9
+ * This context is passed to the `run` handler which executes after the actor
10
+ * starts. It does not block actor startup and is intended for background tasks.
11
+ *
12
+ * Use `c.aborted` to detect when the actor is stopping and gracefully exit.
13
+ */
14
+ export class RunContext<
15
+ TState,
16
+ TConnParams,
17
+ TConnState,
18
+ TVars,
19
+ TInput,
20
+ TDatabase extends AnyDatabaseProvider,
21
+ TEvents extends EventSchemaConfig = Record<never, never>,
22
+ TQueues extends QueueSchemaConfig = Record<never, never>,
23
+ > extends ActorContext<
24
+ TState,
25
+ TConnParams,
26
+ TConnState,
27
+ TVars,
28
+ TInput,
29
+ TDatabase,
30
+ TEvents,
31
+ TQueues
32
+ > {}
33
+
34
+ export type RunContextOf<AD extends AnyActorDefinition> =
35
+ AD extends ActorDefinition<
36
+ infer S,
37
+ infer CP,
38
+ infer CS,
39
+ infer V,
40
+ infer I,
41
+ infer DB extends AnyDatabaseProvider,
42
+ infer E extends EventSchemaConfig,
43
+ infer Q extends QueueSchemaConfig,
44
+ any
45
+ >
46
+ ? RunContext<S, CP, CS, V, I, DB, E, Q>
47
+ : never;
@@ -0,0 +1,42 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the onSleep lifecycle hook.
8
+ */
9
+ export class SleepContext<
10
+ TState,
11
+ TConnParams,
12
+ TConnState,
13
+ TVars,
14
+ TInput,
15
+ TDatabase extends AnyDatabaseProvider,
16
+ TEvents extends EventSchemaConfig = Record<never, never>,
17
+ TQueues extends QueueSchemaConfig = Record<never, never>,
18
+ > extends ActorContext<
19
+ TState,
20
+ TConnParams,
21
+ TConnState,
22
+ TVars,
23
+ TInput,
24
+ TDatabase,
25
+ TEvents,
26
+ TQueues
27
+ > {}
28
+
29
+ export type SleepContextOf<AD extends AnyActorDefinition> =
30
+ AD extends ActorDefinition<
31
+ infer S,
32
+ infer CP,
33
+ infer CS,
34
+ infer V,
35
+ infer I,
36
+ infer DB extends AnyDatabaseProvider,
37
+ infer E extends EventSchemaConfig,
38
+ infer Q extends QueueSchemaConfig,
39
+ any
40
+ >
41
+ ? SleepContext<S, CP, CS, V, I, DB, E, Q>
42
+ : never;
@@ -0,0 +1,42 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the onStateChange lifecycle hook.
8
+ */
9
+ export class StateChangeContext<
10
+ TState,
11
+ TConnParams,
12
+ TConnState,
13
+ TVars,
14
+ TInput,
15
+ TDatabase extends AnyDatabaseProvider,
16
+ TEvents extends EventSchemaConfig = Record<never, never>,
17
+ TQueues extends QueueSchemaConfig = Record<never, never>,
18
+ > extends ActorContext<
19
+ TState,
20
+ TConnParams,
21
+ TConnState,
22
+ TVars,
23
+ TInput,
24
+ TDatabase,
25
+ TEvents,
26
+ TQueues
27
+ > {}
28
+
29
+ export type StateChangeContextOf<AD extends AnyActorDefinition> =
30
+ AD extends ActorDefinition<
31
+ infer S,
32
+ infer CP,
33
+ infer CS,
34
+ infer V,
35
+ infer I,
36
+ infer DB extends AnyDatabaseProvider,
37
+ infer E extends EventSchemaConfig,
38
+ infer Q extends QueueSchemaConfig,
39
+ any
40
+ >
41
+ ? StateChangeContext<S, CP, CS, V, I, DB, E, Q>
42
+ : never;
@@ -0,0 +1,42 @@
1
+ import type { AnyDatabaseProvider } from "../database";
2
+ import type { ActorDefinition, AnyActorDefinition } from "../definition";
3
+ import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
4
+ import { ActorContext } from "./base/actor";
5
+
6
+ /**
7
+ * Context for the onWake lifecycle hook.
8
+ */
9
+ export class WakeContext<
10
+ TState,
11
+ TConnParams,
12
+ TConnState,
13
+ TVars,
14
+ TInput,
15
+ TDatabase extends AnyDatabaseProvider,
16
+ TEvents extends EventSchemaConfig = Record<never, never>,
17
+ TQueues extends QueueSchemaConfig = Record<never, never>,
18
+ > extends ActorContext<
19
+ TState,
20
+ TConnParams,
21
+ TConnState,
22
+ TVars,
23
+ TInput,
24
+ TDatabase,
25
+ TEvents,
26
+ TQueues
27
+ > {}
28
+
29
+ export type WakeContextOf<AD extends AnyActorDefinition> =
30
+ AD extends ActorDefinition<
31
+ infer S,
32
+ infer CP,
33
+ infer CS,
34
+ infer V,
35
+ infer I,
36
+ infer DB extends AnyDatabaseProvider,
37
+ infer E extends EventSchemaConfig,
38
+ infer Q extends QueueSchemaConfig,
39
+ any
40
+ >
41
+ ? WakeContext<S, CP, CS, V, I, DB, E, Q>
42
+ : never;