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,554 @@
1
+ // @generated - post-processed by compile-bare.ts
2
+ import * as bare from "@rivetkit/bare-ts"
3
+
4
+ const config = /* @__PURE__ */ bare.Config({})
5
+
6
+ export type u64 = bigint
7
+ export type uint = bigint
8
+
9
+ export type Init = {
10
+ readonly actorId: string,
11
+ readonly connectionId: string,
12
+ }
13
+
14
+ export function readInit(bc: bare.ByteCursor): Init {
15
+ return {
16
+ actorId: bare.readString(bc),
17
+ connectionId: bare.readString(bc),
18
+ }
19
+ }
20
+
21
+ export function writeInit(bc: bare.ByteCursor, x: Init): void {
22
+ bare.writeString(bc, x.actorId)
23
+ bare.writeString(bc, x.connectionId)
24
+ }
25
+
26
+ function read0(bc: bare.ByteCursor): ArrayBuffer | null {
27
+ return bare.readBool(bc)
28
+ ? bare.readData(bc)
29
+ : null
30
+ }
31
+
32
+ function write0(bc: bare.ByteCursor, x: ArrayBuffer | null): void {
33
+ bare.writeBool(bc, x !== null)
34
+ if (x !== null) {
35
+ bare.writeData(bc, x)
36
+ }
37
+ }
38
+
39
+ function read1(bc: bare.ByteCursor): uint | null {
40
+ return bare.readBool(bc)
41
+ ? bare.readUint(bc)
42
+ : null
43
+ }
44
+
45
+ function write1(bc: bare.ByteCursor, x: uint | null): void {
46
+ bare.writeBool(bc, x !== null)
47
+ if (x !== null) {
48
+ bare.writeUint(bc, x)
49
+ }
50
+ }
51
+
52
+ export type Error = {
53
+ readonly group: string,
54
+ readonly code: string,
55
+ readonly message: string,
56
+ readonly metadata: ArrayBuffer | null,
57
+ readonly actionId: uint | null,
58
+ }
59
+
60
+ export function readError(bc: bare.ByteCursor): Error {
61
+ return {
62
+ group: bare.readString(bc),
63
+ code: bare.readString(bc),
64
+ message: bare.readString(bc),
65
+ metadata: read0(bc),
66
+ actionId: read1(bc),
67
+ }
68
+ }
69
+
70
+ export function writeError(bc: bare.ByteCursor, x: Error): void {
71
+ bare.writeString(bc, x.group)
72
+ bare.writeString(bc, x.code)
73
+ bare.writeString(bc, x.message)
74
+ write0(bc, x.metadata)
75
+ write1(bc, x.actionId)
76
+ }
77
+
78
+ export type ActionResponse = {
79
+ readonly id: uint,
80
+ readonly output: ArrayBuffer,
81
+ }
82
+
83
+ export function readActionResponse(bc: bare.ByteCursor): ActionResponse {
84
+ return {
85
+ id: bare.readUint(bc),
86
+ output: bare.readData(bc),
87
+ }
88
+ }
89
+
90
+ export function writeActionResponse(bc: bare.ByteCursor, x: ActionResponse): void {
91
+ bare.writeUint(bc, x.id)
92
+ bare.writeData(bc, x.output)
93
+ }
94
+
95
+ export type Event = {
96
+ readonly name: string,
97
+ readonly args: ArrayBuffer,
98
+ }
99
+
100
+ export function readEvent(bc: bare.ByteCursor): Event {
101
+ return {
102
+ name: bare.readString(bc),
103
+ args: bare.readData(bc),
104
+ }
105
+ }
106
+
107
+ export function writeEvent(bc: bare.ByteCursor, x: Event): void {
108
+ bare.writeString(bc, x.name)
109
+ bare.writeData(bc, x.args)
110
+ }
111
+
112
+ export type ToClientBody =
113
+ | { readonly tag: "Init", readonly val: Init }
114
+ | { readonly tag: "Error", readonly val: Error }
115
+ | { readonly tag: "ActionResponse", readonly val: ActionResponse }
116
+ | { readonly tag: "Event", readonly val: Event }
117
+
118
+ export function readToClientBody(bc: bare.ByteCursor): ToClientBody {
119
+ const offset = bc.offset
120
+ const tag = bare.readU8(bc)
121
+ switch (tag) {
122
+ case 0:
123
+ return { tag: "Init", val: readInit(bc) }
124
+ case 1:
125
+ return { tag: "Error", val: readError(bc) }
126
+ case 2:
127
+ return { tag: "ActionResponse", val: readActionResponse(bc) }
128
+ case 3:
129
+ return { tag: "Event", val: readEvent(bc) }
130
+ default: {
131
+ bc.offset = offset
132
+ throw new bare.BareError(offset, "invalid tag")
133
+ }
134
+ }
135
+ }
136
+
137
+ export function writeToClientBody(bc: bare.ByteCursor, x: ToClientBody): void {
138
+ switch (x.tag) {
139
+ case "Init": {
140
+ bare.writeU8(bc, 0)
141
+ writeInit(bc, x.val)
142
+ break
143
+ }
144
+ case "Error": {
145
+ bare.writeU8(bc, 1)
146
+ writeError(bc, x.val)
147
+ break
148
+ }
149
+ case "ActionResponse": {
150
+ bare.writeU8(bc, 2)
151
+ writeActionResponse(bc, x.val)
152
+ break
153
+ }
154
+ case "Event": {
155
+ bare.writeU8(bc, 3)
156
+ writeEvent(bc, x.val)
157
+ break
158
+ }
159
+ }
160
+ }
161
+
162
+ export type ToClient = {
163
+ readonly body: ToClientBody,
164
+ }
165
+
166
+ export function readToClient(bc: bare.ByteCursor): ToClient {
167
+ return {
168
+ body: readToClientBody(bc),
169
+ }
170
+ }
171
+
172
+ export function writeToClient(bc: bare.ByteCursor, x: ToClient): void {
173
+ writeToClientBody(bc, x.body)
174
+ }
175
+
176
+ export function encodeToClient(x: ToClient): Uint8Array {
177
+ const bc = new bare.ByteCursor(
178
+ new Uint8Array(config.initialBufferLength),
179
+ config
180
+ )
181
+ writeToClient(bc, x)
182
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
183
+ }
184
+
185
+ export function decodeToClient(bytes: Uint8Array): ToClient {
186
+ const bc = new bare.ByteCursor(bytes, config)
187
+ const result = readToClient(bc)
188
+ if (bc.offset < bc.view.byteLength) {
189
+ throw new bare.BareError(bc.offset, "remaining bytes")
190
+ }
191
+ return result
192
+ }
193
+
194
+ export type ActionRequest = {
195
+ readonly id: uint,
196
+ readonly name: string,
197
+ readonly args: ArrayBuffer,
198
+ }
199
+
200
+ export function readActionRequest(bc: bare.ByteCursor): ActionRequest {
201
+ return {
202
+ id: bare.readUint(bc),
203
+ name: bare.readString(bc),
204
+ args: bare.readData(bc),
205
+ }
206
+ }
207
+
208
+ export function writeActionRequest(bc: bare.ByteCursor, x: ActionRequest): void {
209
+ bare.writeUint(bc, x.id)
210
+ bare.writeString(bc, x.name)
211
+ bare.writeData(bc, x.args)
212
+ }
213
+
214
+ export type SubscriptionRequest = {
215
+ readonly eventName: string,
216
+ readonly subscribe: boolean,
217
+ }
218
+
219
+ export function readSubscriptionRequest(bc: bare.ByteCursor): SubscriptionRequest {
220
+ return {
221
+ eventName: bare.readString(bc),
222
+ subscribe: bare.readBool(bc),
223
+ }
224
+ }
225
+
226
+ export function writeSubscriptionRequest(bc: bare.ByteCursor, x: SubscriptionRequest): void {
227
+ bare.writeString(bc, x.eventName)
228
+ bare.writeBool(bc, x.subscribe)
229
+ }
230
+
231
+ export type ToServerBody =
232
+ | { readonly tag: "ActionRequest", readonly val: ActionRequest }
233
+ | { readonly tag: "SubscriptionRequest", readonly val: SubscriptionRequest }
234
+
235
+ export function readToServerBody(bc: bare.ByteCursor): ToServerBody {
236
+ const offset = bc.offset
237
+ const tag = bare.readU8(bc)
238
+ switch (tag) {
239
+ case 0:
240
+ return { tag: "ActionRequest", val: readActionRequest(bc) }
241
+ case 1:
242
+ return { tag: "SubscriptionRequest", val: readSubscriptionRequest(bc) }
243
+ default: {
244
+ bc.offset = offset
245
+ throw new bare.BareError(offset, "invalid tag")
246
+ }
247
+ }
248
+ }
249
+
250
+ export function writeToServerBody(bc: bare.ByteCursor, x: ToServerBody): void {
251
+ switch (x.tag) {
252
+ case "ActionRequest": {
253
+ bare.writeU8(bc, 0)
254
+ writeActionRequest(bc, x.val)
255
+ break
256
+ }
257
+ case "SubscriptionRequest": {
258
+ bare.writeU8(bc, 1)
259
+ writeSubscriptionRequest(bc, x.val)
260
+ break
261
+ }
262
+ }
263
+ }
264
+
265
+ export type ToServer = {
266
+ readonly body: ToServerBody,
267
+ }
268
+
269
+ export function readToServer(bc: bare.ByteCursor): ToServer {
270
+ return {
271
+ body: readToServerBody(bc),
272
+ }
273
+ }
274
+
275
+ export function writeToServer(bc: bare.ByteCursor, x: ToServer): void {
276
+ writeToServerBody(bc, x.body)
277
+ }
278
+
279
+ export function encodeToServer(x: ToServer): Uint8Array {
280
+ const bc = new bare.ByteCursor(
281
+ new Uint8Array(config.initialBufferLength),
282
+ config
283
+ )
284
+ writeToServer(bc, x)
285
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
286
+ }
287
+
288
+ export function decodeToServer(bytes: Uint8Array): ToServer {
289
+ const bc = new bare.ByteCursor(bytes, config)
290
+ const result = readToServer(bc)
291
+ if (bc.offset < bc.view.byteLength) {
292
+ throw new bare.BareError(bc.offset, "remaining bytes")
293
+ }
294
+ return result
295
+ }
296
+
297
+ export type HttpActionRequest = {
298
+ readonly args: ArrayBuffer,
299
+ }
300
+
301
+ export function readHttpActionRequest(bc: bare.ByteCursor): HttpActionRequest {
302
+ return {
303
+ args: bare.readData(bc),
304
+ }
305
+ }
306
+
307
+ export function writeHttpActionRequest(bc: bare.ByteCursor, x: HttpActionRequest): void {
308
+ bare.writeData(bc, x.args)
309
+ }
310
+
311
+ export function encodeHttpActionRequest(x: HttpActionRequest): Uint8Array {
312
+ const bc = new bare.ByteCursor(
313
+ new Uint8Array(config.initialBufferLength),
314
+ config
315
+ )
316
+ writeHttpActionRequest(bc, x)
317
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
318
+ }
319
+
320
+ export function decodeHttpActionRequest(bytes: Uint8Array): HttpActionRequest {
321
+ const bc = new bare.ByteCursor(bytes, config)
322
+ const result = readHttpActionRequest(bc)
323
+ if (bc.offset < bc.view.byteLength) {
324
+ throw new bare.BareError(bc.offset, "remaining bytes")
325
+ }
326
+ return result
327
+ }
328
+
329
+ export type HttpActionResponse = {
330
+ readonly output: ArrayBuffer,
331
+ }
332
+
333
+ export function readHttpActionResponse(bc: bare.ByteCursor): HttpActionResponse {
334
+ return {
335
+ output: bare.readData(bc),
336
+ }
337
+ }
338
+
339
+ export function writeHttpActionResponse(bc: bare.ByteCursor, x: HttpActionResponse): void {
340
+ bare.writeData(bc, x.output)
341
+ }
342
+
343
+ export function encodeHttpActionResponse(x: HttpActionResponse): Uint8Array {
344
+ const bc = new bare.ByteCursor(
345
+ new Uint8Array(config.initialBufferLength),
346
+ config
347
+ )
348
+ writeHttpActionResponse(bc, x)
349
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
350
+ }
351
+
352
+ export function decodeHttpActionResponse(bytes: Uint8Array): HttpActionResponse {
353
+ const bc = new bare.ByteCursor(bytes, config)
354
+ const result = readHttpActionResponse(bc)
355
+ if (bc.offset < bc.view.byteLength) {
356
+ throw new bare.BareError(bc.offset, "remaining bytes")
357
+ }
358
+ return result
359
+ }
360
+
361
+ function read2(bc: bare.ByteCursor): string | null {
362
+ return bare.readBool(bc)
363
+ ? bare.readString(bc)
364
+ : null
365
+ }
366
+
367
+ function write2(bc: bare.ByteCursor, x: string | null): void {
368
+ bare.writeBool(bc, x !== null)
369
+ if (x !== null) {
370
+ bare.writeString(bc, x)
371
+ }
372
+ }
373
+
374
+ function read3(bc: bare.ByteCursor): boolean | null {
375
+ return bare.readBool(bc)
376
+ ? bare.readBool(bc)
377
+ : null
378
+ }
379
+
380
+ function write3(bc: bare.ByteCursor, x: boolean | null): void {
381
+ bare.writeBool(bc, x !== null)
382
+ if (x !== null) {
383
+ bare.writeBool(bc, x)
384
+ }
385
+ }
386
+
387
+ function read4(bc: bare.ByteCursor): u64 | null {
388
+ return bare.readBool(bc)
389
+ ? bare.readU64(bc)
390
+ : null
391
+ }
392
+
393
+ function write4(bc: bare.ByteCursor, x: u64 | null): void {
394
+ bare.writeBool(bc, x !== null)
395
+ if (x !== null) {
396
+ bare.writeU64(bc, x)
397
+ }
398
+ }
399
+
400
+ export type HttpQueueSendRequest = {
401
+ readonly body: ArrayBuffer,
402
+ readonly name: string | null,
403
+ readonly wait: boolean | null,
404
+ readonly timeout: u64 | null,
405
+ }
406
+
407
+ export function readHttpQueueSendRequest(bc: bare.ByteCursor): HttpQueueSendRequest {
408
+ return {
409
+ body: bare.readData(bc),
410
+ name: read2(bc),
411
+ wait: read3(bc),
412
+ timeout: read4(bc),
413
+ }
414
+ }
415
+
416
+ export function writeHttpQueueSendRequest(bc: bare.ByteCursor, x: HttpQueueSendRequest): void {
417
+ bare.writeData(bc, x.body)
418
+ write2(bc, x.name)
419
+ write3(bc, x.wait)
420
+ write4(bc, x.timeout)
421
+ }
422
+
423
+ export function encodeHttpQueueSendRequest(x: HttpQueueSendRequest): Uint8Array {
424
+ const bc = new bare.ByteCursor(
425
+ new Uint8Array(config.initialBufferLength),
426
+ config
427
+ )
428
+ writeHttpQueueSendRequest(bc, x)
429
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
430
+ }
431
+
432
+ export function decodeHttpQueueSendRequest(bytes: Uint8Array): HttpQueueSendRequest {
433
+ const bc = new bare.ByteCursor(bytes, config)
434
+ const result = readHttpQueueSendRequest(bc)
435
+ if (bc.offset < bc.view.byteLength) {
436
+ throw new bare.BareError(bc.offset, "remaining bytes")
437
+ }
438
+ return result
439
+ }
440
+
441
+ export type HttpQueueSendResponse = {
442
+ readonly status: string,
443
+ readonly response: ArrayBuffer | null,
444
+ }
445
+
446
+ export function readHttpQueueSendResponse(bc: bare.ByteCursor): HttpQueueSendResponse {
447
+ return {
448
+ status: bare.readString(bc),
449
+ response: read0(bc),
450
+ }
451
+ }
452
+
453
+ export function writeHttpQueueSendResponse(bc: bare.ByteCursor, x: HttpQueueSendResponse): void {
454
+ bare.writeString(bc, x.status)
455
+ write0(bc, x.response)
456
+ }
457
+
458
+ export function encodeHttpQueueSendResponse(x: HttpQueueSendResponse): Uint8Array {
459
+ const bc = new bare.ByteCursor(
460
+ new Uint8Array(config.initialBufferLength),
461
+ config
462
+ )
463
+ writeHttpQueueSendResponse(bc, x)
464
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
465
+ }
466
+
467
+ export function decodeHttpQueueSendResponse(bytes: Uint8Array): HttpQueueSendResponse {
468
+ const bc = new bare.ByteCursor(bytes, config)
469
+ const result = readHttpQueueSendResponse(bc)
470
+ if (bc.offset < bc.view.byteLength) {
471
+ throw new bare.BareError(bc.offset, "remaining bytes")
472
+ }
473
+ return result
474
+ }
475
+
476
+ export type HttpResponseError = {
477
+ readonly group: string,
478
+ readonly code: string,
479
+ readonly message: string,
480
+ readonly metadata: ArrayBuffer | null,
481
+ }
482
+
483
+ export function readHttpResponseError(bc: bare.ByteCursor): HttpResponseError {
484
+ return {
485
+ group: bare.readString(bc),
486
+ code: bare.readString(bc),
487
+ message: bare.readString(bc),
488
+ metadata: read0(bc),
489
+ }
490
+ }
491
+
492
+ export function writeHttpResponseError(bc: bare.ByteCursor, x: HttpResponseError): void {
493
+ bare.writeString(bc, x.group)
494
+ bare.writeString(bc, x.code)
495
+ bare.writeString(bc, x.message)
496
+ write0(bc, x.metadata)
497
+ }
498
+
499
+ export function encodeHttpResponseError(x: HttpResponseError): Uint8Array {
500
+ const bc = new bare.ByteCursor(
501
+ new Uint8Array(config.initialBufferLength),
502
+ config
503
+ )
504
+ writeHttpResponseError(bc, x)
505
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
506
+ }
507
+
508
+ export function decodeHttpResponseError(bytes: Uint8Array): HttpResponseError {
509
+ const bc = new bare.ByteCursor(bytes, config)
510
+ const result = readHttpResponseError(bc)
511
+ if (bc.offset < bc.view.byteLength) {
512
+ throw new bare.BareError(bc.offset, "remaining bytes")
513
+ }
514
+ return result
515
+ }
516
+
517
+ export type HttpResolveRequest = null
518
+
519
+ export type HttpResolveResponse = {
520
+ readonly actorId: string,
521
+ }
522
+
523
+ export function readHttpResolveResponse(bc: bare.ByteCursor): HttpResolveResponse {
524
+ return {
525
+ actorId: bare.readString(bc),
526
+ }
527
+ }
528
+
529
+ export function writeHttpResolveResponse(bc: bare.ByteCursor, x: HttpResolveResponse): void {
530
+ bare.writeString(bc, x.actorId)
531
+ }
532
+
533
+ export function encodeHttpResolveResponse(x: HttpResolveResponse): Uint8Array {
534
+ const bc = new bare.ByteCursor(
535
+ new Uint8Array(config.initialBufferLength),
536
+ config
537
+ )
538
+ writeHttpResolveResponse(bc, x)
539
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
540
+ }
541
+
542
+ export function decodeHttpResolveResponse(bytes: Uint8Array): HttpResolveResponse {
543
+ const bc = new bare.ByteCursor(bytes, config)
544
+ const result = readHttpResolveResponse(bc)
545
+ if (bc.offset < bc.view.byteLength) {
546
+ throw new bare.BareError(bc.offset, "remaining bytes")
547
+ }
548
+ return result
549
+ }
550
+
551
+
552
+ function assert(condition: boolean, message?: string): asserts condition {
553
+ if (!condition) throw new Error(message ?? "Assertion failed")
554
+ }
@@ -0,0 +1,108 @@
1
+ // @generated - post-processed by compile-bare.ts
2
+ import * as bare from "@rivetkit/bare-ts"
3
+
4
+ const config = /* @__PURE__ */ bare.Config({})
5
+
6
+ export type u64 = bigint
7
+ export type uint = bigint
8
+
9
+ function read0(bc: bare.ByteCursor): readonly string[] {
10
+ const len = bare.readUintSafe(bc)
11
+ if (len === 0) { return [] }
12
+ const result = [bare.readString(bc)]
13
+ for (let i = 1; i < len; i++) {
14
+ result[i] = bare.readString(bc)
15
+ }
16
+ return result
17
+ }
18
+
19
+ function write0(bc: bare.ByteCursor, x: readonly string[]): void {
20
+ bare.writeUintSafe(bc, x.length)
21
+ for (let i = 0; i < x.length; i++) {
22
+ bare.writeString(bc, x[i])
23
+ }
24
+ }
25
+
26
+ export type ActorState = {
27
+ readonly actorId: string,
28
+ readonly name: string,
29
+ readonly key: readonly string[],
30
+ readonly persistedData: ArrayBuffer,
31
+ readonly createdAt: u64,
32
+ }
33
+
34
+ export function readActorState(bc: bare.ByteCursor): ActorState {
35
+ return {
36
+ actorId: bare.readString(bc),
37
+ name: bare.readString(bc),
38
+ key: read0(bc),
39
+ persistedData: bare.readData(bc),
40
+ createdAt: bare.readU64(bc),
41
+ }
42
+ }
43
+
44
+ export function writeActorState(bc: bare.ByteCursor, x: ActorState): void {
45
+ bare.writeString(bc, x.actorId)
46
+ bare.writeString(bc, x.name)
47
+ write0(bc, x.key)
48
+ bare.writeData(bc, x.persistedData)
49
+ bare.writeU64(bc, x.createdAt)
50
+ }
51
+
52
+ export function encodeActorState(x: ActorState): Uint8Array {
53
+ const bc = new bare.ByteCursor(
54
+ new Uint8Array(config.initialBufferLength),
55
+ config
56
+ )
57
+ writeActorState(bc, x)
58
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
59
+ }
60
+
61
+ export function decodeActorState(bytes: Uint8Array): ActorState {
62
+ const bc = new bare.ByteCursor(bytes, config)
63
+ const result = readActorState(bc)
64
+ if (bc.offset < bc.view.byteLength) {
65
+ throw new bare.BareError(bc.offset, "remaining bytes")
66
+ }
67
+ return result
68
+ }
69
+
70
+ export type ActorAlarm = {
71
+ readonly actorId: string,
72
+ readonly timestamp: uint,
73
+ }
74
+
75
+ export function readActorAlarm(bc: bare.ByteCursor): ActorAlarm {
76
+ return {
77
+ actorId: bare.readString(bc),
78
+ timestamp: bare.readUint(bc),
79
+ }
80
+ }
81
+
82
+ export function writeActorAlarm(bc: bare.ByteCursor, x: ActorAlarm): void {
83
+ bare.writeString(bc, x.actorId)
84
+ bare.writeUint(bc, x.timestamp)
85
+ }
86
+
87
+ export function encodeActorAlarm(x: ActorAlarm): Uint8Array {
88
+ const bc = new bare.ByteCursor(
89
+ new Uint8Array(config.initialBufferLength),
90
+ config
91
+ )
92
+ writeActorAlarm(bc, x)
93
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
94
+ }
95
+
96
+ export function decodeActorAlarm(bytes: Uint8Array): ActorAlarm {
97
+ const bc = new bare.ByteCursor(bytes, config)
98
+ const result = readActorAlarm(bc)
99
+ if (bc.offset < bc.view.byteLength) {
100
+ throw new bare.BareError(bc.offset, "remaining bytes")
101
+ }
102
+ return result
103
+ }
104
+
105
+
106
+ function assert(condition: boolean, message?: string): asserts condition {
107
+ if (!condition) throw new Error(message ?? "Assertion failed")
108
+ }