@rivetkit/engine 1.0.0

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 (1392) hide show
  1. package/LICENSE +203 -0
  2. package/artifacts/errors/actor.destroyed_during_creation.json +5 -0
  3. package/artifacts/errors/actor.destroyed_while_waiting_for_ready.json +5 -0
  4. package/artifacts/errors/actor.duplicate_key.json +5 -0
  5. package/artifacts/errors/actor.empty_key.json +5 -0
  6. package/artifacts/errors/actor.input_too_large.json +5 -0
  7. package/artifacts/errors/actor.key_reserved_in_different_datacenter.json +5 -0
  8. package/artifacts/errors/actor.key_too_large.json +5 -0
  9. package/artifacts/errors/actor.kv_key_not_found.json +5 -0
  10. package/artifacts/errors/actor.namespace_not_found.json +5 -0
  11. package/artifacts/errors/actor.no_runners_available.json +5 -0
  12. package/artifacts/errors/actor.not_found.json +5 -0
  13. package/artifacts/errors/api.bad_request.json +5 -0
  14. package/artifacts/errors/api.forbidden.json +5 -0
  15. package/artifacts/errors/api.internal_error.json +5 -0
  16. package/artifacts/errors/api.not_found.json +5 -0
  17. package/artifacts/errors/api.rate_limited.json +5 -0
  18. package/artifacts/errors/api.unauthorized.json +5 -0
  19. package/artifacts/errors/datacenter.not_found.json +5 -0
  20. package/artifacts/errors/guard.actor_destroyed.json +5 -0
  21. package/artifacts/errors/guard.actor_not_found.json +5 -0
  22. package/artifacts/errors/guard.actor_ready_timeout.json +5 -0
  23. package/artifacts/errors/guard.connection_error.json +5 -0
  24. package/artifacts/errors/guard.http_request_build_failed.json +5 -0
  25. package/artifacts/errors/guard.missing_header.json +5 -0
  26. package/artifacts/errors/guard.must_use_regional_host.json +5 -0
  27. package/artifacts/errors/guard.no_route.json +5 -0
  28. package/artifacts/errors/guard.no_route_targets.json +5 -0
  29. package/artifacts/errors/guard.rate_limit.json +5 -0
  30. package/artifacts/errors/guard.request_build_error.json +5 -0
  31. package/artifacts/errors/guard.request_timeout.json +5 -0
  32. package/artifacts/errors/guard.retry_attempts_exceeded.json +5 -0
  33. package/artifacts/errors/guard.service_unavailable.json +5 -0
  34. package/artifacts/errors/guard.target_changed.json +5 -0
  35. package/artifacts/errors/guard.upstream_error.json +5 -0
  36. package/artifacts/errors/guard.uri_parse_error.json +5 -0
  37. package/artifacts/errors/guard.websocket_pending_limit_reached.json +5 -0
  38. package/artifacts/errors/guard.websocket_service_hibernate.json +5 -0
  39. package/artifacts/errors/guard.websocket_service_timeout.json +5 -0
  40. package/artifacts/errors/guard.websocket_service_unavailable.json +5 -0
  41. package/artifacts/errors/guard.wrong_addr_protocol.json +5 -0
  42. package/artifacts/errors/kv.leader_forwarding_failed.json +5 -0
  43. package/artifacts/errors/kv.no_leader_elected.json +5 -0
  44. package/artifacts/errors/kv.not_leader.json +5 -0
  45. package/artifacts/errors/kv.response_channel_closed.json +5 -0
  46. package/artifacts/errors/namespace.failed_to_create.json +5 -0
  47. package/artifacts/errors/namespace.invalid_name.json +5 -0
  48. package/artifacts/errors/namespace.invalid_update.json +5 -0
  49. package/artifacts/errors/namespace.name_not_unique.json +5 -0
  50. package/artifacts/errors/namespace.not_found.json +5 -0
  51. package/artifacts/errors/namespace.not_leader.json +5 -0
  52. package/artifacts/errors/runner.not_found.json +5 -0
  53. package/artifacts/errors/runner_config.invalid.json +5 -0
  54. package/artifacts/errors/runner_config.not_found.json +5 -0
  55. package/artifacts/errors/test.input_too_large.json +5 -0
  56. package/artifacts/errors/test.key_too_large.json +5 -0
  57. package/artifacts/errors/test.meta_error.json +5 -0
  58. package/artifacts/errors/test.not_found.json +5 -0
  59. package/artifacts/errors/test.simple_error.json +5 -0
  60. package/artifacts/errors/test.test_error.json +5 -0
  61. package/artifacts/errors/ups.publish_failed.json +5 -0
  62. package/artifacts/errors/ups.request_timeout.json +5 -0
  63. package/artifacts/errors/validation.invalid_input.json +5 -0
  64. package/artifacts/errors/validation.no_keys.json +5 -0
  65. package/artifacts/errors/validation.race_condition.json +5 -0
  66. package/artifacts/errors/validation.too_many_actor_ids.json +5 -0
  67. package/artifacts/errors/ws.connection_closed.json +5 -0
  68. package/artifacts/errors/ws.eviction.json +5 -0
  69. package/artifacts/errors/ws.invalid_initial_packet.json +5 -0
  70. package/artifacts/errors/ws.invalid_packet.json +5 -0
  71. package/artifacts/errors/ws.invalid_url.json +5 -0
  72. package/artifacts/errors/ws.timed_out_waiting_for_init.json +5 -0
  73. package/artifacts/openapi.json +1833 -0
  74. package/contrib-docs/ACTOR_KEY_RESERVATION.md +101 -0
  75. package/contrib-docs/API.md +11 -0
  76. package/contrib-docs/DOCKER.md +5 -0
  77. package/contrib-docs/ERRORS.md +13 -0
  78. package/contrib-docs/GUARD.md +76 -0
  79. package/contrib-docs/PEGBOARD_TUNNEL_RETRIES.md +83 -0
  80. package/contrib-docs/RUNNER_LIFECYCLE.md +172 -0
  81. package/contrib-docs/SDKS.md +9 -0
  82. package/contrib-docs/TEST_DEPENDENCIES.md +43 -0
  83. package/contrib-docs/design-choicse/EMBEDDED_KV.md +80 -0
  84. package/contrib-docs/operate/TRACING_RECONFIGURE.md +78 -0
  85. package/docker/dev/.gitattributes +1 -0
  86. package/docker/dev/README.md +74 -0
  87. package/docker/dev/clickhouse/client-config.xml +5 -0
  88. package/docker/dev/clickhouse/config.xml +52 -0
  89. package/docker/dev/clickhouse/init/01-create-otel-table.sql +107 -0
  90. package/docker/dev/clickhouse/users.xml +35 -0
  91. package/docker/dev/docker-compose.yml +217 -0
  92. package/docker/dev/grafana/dashboards/api.json +1240 -0
  93. package/docker/dev/grafana/dashboards/cache.json +1075 -0
  94. package/docker/dev/grafana/dashboards/futures.json +230 -0
  95. package/docker/dev/grafana/dashboards/gasoline.json +2477 -0
  96. package/docker/dev/grafana/dashboards/guard.json +1274 -0
  97. package/docker/dev/grafana/dashboards/tokio.json +1005 -0
  98. package/docker/dev/grafana/dashboards/traces.json +957 -0
  99. package/docker/dev/grafana/grafana.ini +14 -0
  100. package/docker/dev/grafana/provisioning/dashboards/dashboards.yaml +10 -0
  101. package/docker/dev/grafana/provisioning/datasources/datasources.yaml +30 -0
  102. package/docker/dev/otel-collector-client/config.yaml +39 -0
  103. package/docker/dev/otel-collector-server/config.yaml +72 -0
  104. package/docker/dev/postgres/init-db.sh +6 -0
  105. package/docker/dev/rivet-engine/config.jsonc +48 -0
  106. package/docker/dev/vector-client/vector.yaml +31 -0
  107. package/docker/dev/vector-server/vector.yaml +61 -0
  108. package/docker/dev-host/.gitattributes +1 -0
  109. package/docker/dev-host/README.md +74 -0
  110. package/docker/dev-host/clickhouse/client-config.xml +5 -0
  111. package/docker/dev-host/clickhouse/config.xml +52 -0
  112. package/docker/dev-host/clickhouse/init/01-create-otel-table.sql +107 -0
  113. package/docker/dev-host/clickhouse/users.xml +35 -0
  114. package/docker/dev-host/docker-compose.yml +190 -0
  115. package/docker/dev-host/grafana/dashboards/api.json +1240 -0
  116. package/docker/dev-host/grafana/dashboards/cache.json +1075 -0
  117. package/docker/dev-host/grafana/dashboards/futures.json +230 -0
  118. package/docker/dev-host/grafana/dashboards/gasoline.json +2477 -0
  119. package/docker/dev-host/grafana/dashboards/guard.json +1274 -0
  120. package/docker/dev-host/grafana/dashboards/tokio.json +1005 -0
  121. package/docker/dev-host/grafana/dashboards/traces.json +957 -0
  122. package/docker/dev-host/grafana/grafana.ini +14 -0
  123. package/docker/dev-host/grafana/provisioning/dashboards/dashboards.yaml +10 -0
  124. package/docker/dev-host/grafana/provisioning/datasources/datasources.yaml +30 -0
  125. package/docker/dev-host/otel-collector-client/config.yaml +39 -0
  126. package/docker/dev-host/otel-collector-server/config.yaml +72 -0
  127. package/docker/dev-host/postgres/init-db.sh +6 -0
  128. package/docker/dev-host/rivet-engine/config.jsonc +48 -0
  129. package/docker/dev-host/vector-client/vector.yaml +31 -0
  130. package/docker/dev-host/vector-server/vector.yaml +61 -0
  131. package/docker/dev-multidc/.gitattributes +1 -0
  132. package/docker/dev-multidc/README.md +86 -0
  133. package/docker/dev-multidc/core/clickhouse/client-config.xml +5 -0
  134. package/docker/dev-multidc/core/clickhouse/config.xml +52 -0
  135. package/docker/dev-multidc/core/clickhouse/init/01-create-otel-table.sql +107 -0
  136. package/docker/dev-multidc/core/clickhouse/users.xml +35 -0
  137. package/docker/dev-multidc/core/grafana/dashboards/api.json +1240 -0
  138. package/docker/dev-multidc/core/grafana/dashboards/cache.json +1075 -0
  139. package/docker/dev-multidc/core/grafana/dashboards/futures.json +230 -0
  140. package/docker/dev-multidc/core/grafana/dashboards/gasoline.json +2477 -0
  141. package/docker/dev-multidc/core/grafana/dashboards/guard.json +1274 -0
  142. package/docker/dev-multidc/core/grafana/dashboards/tokio.json +1005 -0
  143. package/docker/dev-multidc/core/grafana/dashboards/traces.json +957 -0
  144. package/docker/dev-multidc/core/grafana/grafana.ini +14 -0
  145. package/docker/dev-multidc/core/grafana/provisioning/dashboards/dashboards.yaml +10 -0
  146. package/docker/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml +30 -0
  147. package/docker/dev-multidc/datacenters/dc-a/otel-collector-client/config.yaml +39 -0
  148. package/docker/dev-multidc/datacenters/dc-a/otel-collector-server/config.yaml +72 -0
  149. package/docker/dev-multidc/datacenters/dc-a/postgres/init-db.sh +6 -0
  150. package/docker/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc +62 -0
  151. package/docker/dev-multidc/datacenters/dc-a/vector-client/vector.yaml +31 -0
  152. package/docker/dev-multidc/datacenters/dc-a/vector-server/vector.yaml +61 -0
  153. package/docker/dev-multidc/datacenters/dc-b/otel-collector-client/config.yaml +39 -0
  154. package/docker/dev-multidc/datacenters/dc-b/otel-collector-server/config.yaml +72 -0
  155. package/docker/dev-multidc/datacenters/dc-b/postgres/init-db.sh +6 -0
  156. package/docker/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc +62 -0
  157. package/docker/dev-multidc/datacenters/dc-b/vector-client/vector.yaml +31 -0
  158. package/docker/dev-multidc/datacenters/dc-b/vector-server/vector.yaml +61 -0
  159. package/docker/dev-multidc/datacenters/dc-c/otel-collector-client/config.yaml +39 -0
  160. package/docker/dev-multidc/datacenters/dc-c/otel-collector-server/config.yaml +72 -0
  161. package/docker/dev-multidc/datacenters/dc-c/postgres/init-db.sh +6 -0
  162. package/docker/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc +62 -0
  163. package/docker/dev-multidc/datacenters/dc-c/vector-client/vector.yaml +31 -0
  164. package/docker/dev-multidc/datacenters/dc-c/vector-server/vector.yaml +61 -0
  165. package/docker/dev-multidc/docker-compose.yml +546 -0
  166. package/docker/dev-multidc-multinode/.gitattributes +1 -0
  167. package/docker/dev-multidc-multinode/README.md +86 -0
  168. package/docker/dev-multidc-multinode/core/clickhouse/client-config.xml +5 -0
  169. package/docker/dev-multidc-multinode/core/clickhouse/config.xml +52 -0
  170. package/docker/dev-multidc-multinode/core/clickhouse/init/01-create-otel-table.sql +107 -0
  171. package/docker/dev-multidc-multinode/core/clickhouse/users.xml +35 -0
  172. package/docker/dev-multidc-multinode/core/grafana/dashboards/api.json +1240 -0
  173. package/docker/dev-multidc-multinode/core/grafana/dashboards/cache.json +1075 -0
  174. package/docker/dev-multidc-multinode/core/grafana/dashboards/futures.json +230 -0
  175. package/docker/dev-multidc-multinode/core/grafana/dashboards/gasoline.json +2477 -0
  176. package/docker/dev-multidc-multinode/core/grafana/dashboards/guard.json +1274 -0
  177. package/docker/dev-multidc-multinode/core/grafana/dashboards/tokio.json +1005 -0
  178. package/docker/dev-multidc-multinode/core/grafana/dashboards/traces.json +957 -0
  179. package/docker/dev-multidc-multinode/core/grafana/grafana.ini +14 -0
  180. package/docker/dev-multidc-multinode/core/grafana/provisioning/dashboards/dashboards.yaml +10 -0
  181. package/docker/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml +30 -0
  182. package/docker/dev-multidc-multinode/datacenters/dc-a/otel-collector-client/config.yaml +39 -0
  183. package/docker/dev-multidc-multinode/datacenters/dc-a/otel-collector-server/config.yaml +72 -0
  184. package/docker/dev-multidc-multinode/datacenters/dc-a/postgres/init-db.sh +6 -0
  185. package/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc +62 -0
  186. package/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc +62 -0
  187. package/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc +62 -0
  188. package/docker/dev-multidc-multinode/datacenters/dc-a/vector-client/vector.yaml +31 -0
  189. package/docker/dev-multidc-multinode/datacenters/dc-a/vector-server/vector.yaml +61 -0
  190. package/docker/dev-multidc-multinode/datacenters/dc-b/otel-collector-client/config.yaml +39 -0
  191. package/docker/dev-multidc-multinode/datacenters/dc-b/otel-collector-server/config.yaml +72 -0
  192. package/docker/dev-multidc-multinode/datacenters/dc-b/postgres/init-db.sh +6 -0
  193. package/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc +62 -0
  194. package/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc +62 -0
  195. package/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc +62 -0
  196. package/docker/dev-multidc-multinode/datacenters/dc-b/vector-client/vector.yaml +31 -0
  197. package/docker/dev-multidc-multinode/datacenters/dc-b/vector-server/vector.yaml +61 -0
  198. package/docker/dev-multidc-multinode/datacenters/dc-c/otel-collector-client/config.yaml +39 -0
  199. package/docker/dev-multidc-multinode/datacenters/dc-c/otel-collector-server/config.yaml +72 -0
  200. package/docker/dev-multidc-multinode/datacenters/dc-c/postgres/init-db.sh +6 -0
  201. package/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc +62 -0
  202. package/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc +62 -0
  203. package/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc +62 -0
  204. package/docker/dev-multidc-multinode/datacenters/dc-c/vector-client/vector.yaml +31 -0
  205. package/docker/dev-multidc-multinode/datacenters/dc-c/vector-server/vector.yaml +61 -0
  206. package/docker/dev-multidc-multinode/docker-compose.yml +888 -0
  207. package/docker/dev-multinode/.gitattributes +1 -0
  208. package/docker/dev-multinode/README.md +74 -0
  209. package/docker/dev-multinode/clickhouse/client-config.xml +5 -0
  210. package/docker/dev-multinode/clickhouse/config.xml +52 -0
  211. package/docker/dev-multinode/clickhouse/init/01-create-otel-table.sql +107 -0
  212. package/docker/dev-multinode/clickhouse/users.xml +35 -0
  213. package/docker/dev-multinode/docker-compose.yml +323 -0
  214. package/docker/dev-multinode/grafana/dashboards/api.json +1240 -0
  215. package/docker/dev-multinode/grafana/dashboards/cache.json +1075 -0
  216. package/docker/dev-multinode/grafana/dashboards/futures.json +230 -0
  217. package/docker/dev-multinode/grafana/dashboards/gasoline.json +2477 -0
  218. package/docker/dev-multinode/grafana/dashboards/guard.json +1274 -0
  219. package/docker/dev-multinode/grafana/dashboards/tokio.json +1005 -0
  220. package/docker/dev-multinode/grafana/dashboards/traces.json +957 -0
  221. package/docker/dev-multinode/grafana/grafana.ini +14 -0
  222. package/docker/dev-multinode/grafana/provisioning/dashboards/dashboards.yaml +10 -0
  223. package/docker/dev-multinode/grafana/provisioning/datasources/datasources.yaml +30 -0
  224. package/docker/dev-multinode/otel-collector-client/config.yaml +39 -0
  225. package/docker/dev-multinode/otel-collector-server/config.yaml +72 -0
  226. package/docker/dev-multinode/postgres/init-db.sh +6 -0
  227. package/docker/dev-multinode/rivet-engine/0/config.jsonc +48 -0
  228. package/docker/dev-multinode/rivet-engine/1/config.jsonc +48 -0
  229. package/docker/dev-multinode/rivet-engine/2/config.jsonc +48 -0
  230. package/docker/dev-multinode/vector-client/vector.yaml +31 -0
  231. package/docker/dev-multinode/vector-server/vector.yaml +61 -0
  232. package/docker/engine/build.sh +67 -0
  233. package/docker/engine/linux-aarch64.Dockerfile +97 -0
  234. package/docker/engine/linux-x86_64.Dockerfile +93 -0
  235. package/docker/engine/macos-aarch64.Dockerfile +92 -0
  236. package/docker/engine/macos-x86_64.Dockerfile +92 -0
  237. package/docker/engine/windows.Dockerfile +80 -0
  238. package/docker/prod-file-system/.gitattributes +1 -0
  239. package/docker/prod-file-system/README.md +76 -0
  240. package/docker/prod-file-system/docker-compose.yml +41 -0
  241. package/docker/prod-file-system/rivet-engine/config.jsonc +2 -0
  242. package/docker/template/README.md +20 -0
  243. package/docker/template/grafana-dashboards/api.json +1240 -0
  244. package/docker/template/grafana-dashboards/cache.json +1075 -0
  245. package/docker/template/grafana-dashboards/futures.json +230 -0
  246. package/docker/template/grafana-dashboards/gasoline.json +2477 -0
  247. package/docker/template/grafana-dashboards/guard.json +1274 -0
  248. package/docker/template/grafana-dashboards/tokio.json +1005 -0
  249. package/docker/template/grafana-dashboards/traces.json +957 -0
  250. package/docker/template/node_modules/.bin/js-yaml +21 -0
  251. package/docker/template/node_modules/.bin/tsc +21 -0
  252. package/docker/template/node_modules/.bin/tsserver +21 -0
  253. package/docker/template/node_modules/.bin/tsx +21 -0
  254. package/docker/template/package.json +23 -0
  255. package/docker/template/src/config.ts +104 -0
  256. package/docker/template/src/context.ts +216 -0
  257. package/docker/template/src/docker-compose.ts +368 -0
  258. package/docker/template/src/git.ts +8 -0
  259. package/docker/template/src/main.ts +65 -0
  260. package/docker/template/src/readme.ts +98 -0
  261. package/docker/template/src/services/core/clickhouse.ts +223 -0
  262. package/docker/template/src/services/core/grafana.ts +115 -0
  263. package/docker/template/src/services/edge/otel-collector-client.ts +64 -0
  264. package/docker/template/src/services/edge/otel-collector-server.ts +107 -0
  265. package/docker/template/src/services/edge/postgres.ts +23 -0
  266. package/docker/template/src/services/edge/rivet-engine.ts +87 -0
  267. package/docker/template/src/services/edge/runner.ts +7 -0
  268. package/docker/template/src/services/edge/vector-client.ts +55 -0
  269. package/docker/template/src/services/edge/vector-server.ts +111 -0
  270. package/docker/template/src/utils.ts +19 -0
  271. package/docker/template/tsconfig.json +18 -0
  272. package/docker/universal/Dockerfile +133 -0
  273. package/package.json +10 -0
  274. package/packages/actor-kv/Cargo.toml +31 -0
  275. package/packages/actor-kv/src/entry.rs +147 -0
  276. package/packages/actor-kv/src/key.rs +81 -0
  277. package/packages/actor-kv/src/lib.rs +357 -0
  278. package/packages/actor-kv/src/utils.rs +101 -0
  279. package/packages/actor-kv/tests/kv_operations.rs +294 -0
  280. package/packages/actor-kv/tests/list_edge_cases.rs +370 -0
  281. package/packages/api-builder/Cargo.toml +36 -0
  282. package/packages/api-builder/src/context.rs +98 -0
  283. package/packages/api-builder/src/error_response.rs +116 -0
  284. package/packages/api-builder/src/errors.rs +29 -0
  285. package/packages/api-builder/src/extract.rs +137 -0
  286. package/packages/api-builder/src/global_context.rs +31 -0
  287. package/packages/api-builder/src/lib.rs +19 -0
  288. package/packages/api-builder/src/metrics.rs +29 -0
  289. package/packages/api-builder/src/middleware.rs +232 -0
  290. package/packages/api-builder/src/prelude.rs +18 -0
  291. package/packages/api-builder/src/request_ids.rs +17 -0
  292. package/packages/api-builder/src/router.rs +89 -0
  293. package/packages/api-builder/src/wrappers.rs +138 -0
  294. package/packages/api-builder/tests/basic.rs +215 -0
  295. package/packages/api-builder/tests/errors.rs +104 -0
  296. package/packages/api-peer/Cargo.toml +34 -0
  297. package/packages/api-peer/src/actors/create.rs +40 -0
  298. package/packages/api-peer/src/actors/delete.rs +87 -0
  299. package/packages/api-peer/src/actors/kv_get.rs +67 -0
  300. package/packages/api-peer/src/actors/list.rs +98 -0
  301. package/packages/api-peer/src/actors/list_names.rs +56 -0
  302. package/packages/api-peer/src/actors/mod.rs +5 -0
  303. package/packages/api-peer/src/internal.rs +186 -0
  304. package/packages/api-peer/src/lib.rs +28 -0
  305. package/packages/api-peer/src/namespaces.rs +122 -0
  306. package/packages/api-peer/src/router.rs +51 -0
  307. package/packages/api-peer/src/runner_configs.rs +160 -0
  308. package/packages/api-peer/src/runners.rs +109 -0
  309. package/packages/api-public/Cargo.toml +38 -0
  310. package/packages/api-public/build.rs +45 -0
  311. package/packages/api-public/src/actors/create.rs +99 -0
  312. package/packages/api-public/src/actors/delete.rs +86 -0
  313. package/packages/api-public/src/actors/get_or_create.rs +170 -0
  314. package/packages/api-public/src/actors/kv_get.rs +79 -0
  315. package/packages/api-public/src/actors/list.rs +241 -0
  316. package/packages/api-public/src/actors/list_names.rs +76 -0
  317. package/packages/api-public/src/actors/mod.rs +7 -0
  318. package/packages/api-public/src/actors/utils.rs +216 -0
  319. package/packages/api-public/src/ctx.rs +70 -0
  320. package/packages/api-public/src/datacenters.rs +43 -0
  321. package/packages/api-public/src/errors.rs +30 -0
  322. package/packages/api-public/src/health.rs +166 -0
  323. package/packages/api-public/src/lib.rs +13 -0
  324. package/packages/api-public/src/metadata.rs +24 -0
  325. package/packages/api-public/src/namespaces.rs +89 -0
  326. package/packages/api-public/src/router.rs +182 -0
  327. package/packages/api-public/src/runner_configs/delete.rs +99 -0
  328. package/packages/api-public/src/runner_configs/list.rs +98 -0
  329. package/packages/api-public/src/runner_configs/mod.rs +12 -0
  330. package/packages/api-public/src/runner_configs/refresh_metadata.rs +116 -0
  331. package/packages/api-public/src/runner_configs/serverless_health_check.rs +81 -0
  332. package/packages/api-public/src/runner_configs/upsert.rs +194 -0
  333. package/packages/api-public/src/runner_configs/utils.rs +217 -0
  334. package/packages/api-public/src/runners.rs +144 -0
  335. package/packages/api-public/src/ui.rs +44 -0
  336. package/packages/api-types/Cargo.toml +17 -0
  337. package/packages/api-types/src/actors/create.rs +29 -0
  338. package/packages/api-types/src/actors/list.rs +23 -0
  339. package/packages/api-types/src/actors/list_names.rs +24 -0
  340. package/packages/api-types/src/actors/mod.rs +3 -0
  341. package/packages/api-types/src/datacenters/list.rs +12 -0
  342. package/packages/api-types/src/datacenters/mod.rs +1 -0
  343. package/packages/api-types/src/lib.rs +6 -0
  344. package/packages/api-types/src/namespaces/list.rs +21 -0
  345. package/packages/api-types/src/namespaces/mod.rs +2 -0
  346. package/packages/api-types/src/namespaces/runner_configs.rs +55 -0
  347. package/packages/api-types/src/pagination.rs +8 -0
  348. package/packages/api-types/src/runner_configs/list.rs +29 -0
  349. package/packages/api-types/src/runner_configs/mod.rs +1 -0
  350. package/packages/api-types/src/runners/list.rs +25 -0
  351. package/packages/api-types/src/runners/mod.rs +1 -0
  352. package/packages/api-util/Cargo.toml +22 -0
  353. package/packages/api-util/src/errors.rs +9 -0
  354. package/packages/api-util/src/lib.rs +209 -0
  355. package/packages/bootstrap/Cargo.toml +19 -0
  356. package/packages/bootstrap/src/lib.rs +102 -0
  357. package/packages/cache/Cargo.toml +28 -0
  358. package/packages/cache/src/driver.rs +346 -0
  359. package/packages/cache/src/errors.rs +23 -0
  360. package/packages/cache/src/getter_ctx.rs +138 -0
  361. package/packages/cache/src/inner.rs +60 -0
  362. package/packages/cache/src/key.rs +101 -0
  363. package/packages/cache/src/lib.rs +19 -0
  364. package/packages/cache/src/metrics.rs +34 -0
  365. package/packages/cache/src/purge.rs +13 -0
  366. package/packages/cache/src/rate_limit.rs +109 -0
  367. package/packages/cache/src/req_config.rs +443 -0
  368. package/packages/cache/tests/integration.rs +582 -0
  369. package/packages/cache-purge/Cargo.toml +17 -0
  370. package/packages/cache-purge/src/lib.rs +44 -0
  371. package/packages/cache-result/Cargo.toml +9 -0
  372. package/packages/cache-result/src/lib.rs +61 -0
  373. package/packages/clickhouse-inserter/Cargo.toml +17 -0
  374. package/packages/clickhouse-inserter/src/error.rs +16 -0
  375. package/packages/clickhouse-inserter/src/lib.rs +179 -0
  376. package/packages/clickhouse-user-query/Cargo.toml +16 -0
  377. package/packages/clickhouse-user-query/examples/case_sensitivity_demo.rs +100 -0
  378. package/packages/clickhouse-user-query/examples/group_by_example.rs +53 -0
  379. package/packages/clickhouse-user-query/examples/string_contains_demo.rs +96 -0
  380. package/packages/clickhouse-user-query/src/builder.rs +445 -0
  381. package/packages/clickhouse-user-query/src/error.rs +37 -0
  382. package/packages/clickhouse-user-query/src/lib.rs +61 -0
  383. package/packages/clickhouse-user-query/src/query.rs +143 -0
  384. package/packages/clickhouse-user-query/src/schema.rs +78 -0
  385. package/packages/clickhouse-user-query/tests/builder_tests.rs +619 -0
  386. package/packages/clickhouse-user-query/tests/case_sensitivity_tests.rs +307 -0
  387. package/packages/clickhouse-user-query/tests/integration_tests.rs +540 -0
  388. package/packages/clickhouse-user-query/tests/query_tests.rs +263 -0
  389. package/packages/clickhouse-user-query/tests/schema_tests.rs +44 -0
  390. package/packages/config/Cargo.toml +20 -0
  391. package/packages/config/src/config/api_peer.rs +21 -0
  392. package/packages/config/src/config/api_public.rs +25 -0
  393. package/packages/config/src/config/auth.rs +10 -0
  394. package/packages/config/src/config/cache.rs +24 -0
  395. package/packages/config/src/config/clickhouse.rs +49 -0
  396. package/packages/config/src/config/db.rs +52 -0
  397. package/packages/config/src/config/guard.rs +42 -0
  398. package/packages/config/src/config/logs.rs +10 -0
  399. package/packages/config/src/config/mod.rs +240 -0
  400. package/packages/config/src/config/pegboard.rs +94 -0
  401. package/packages/config/src/config/pubsub.rs +90 -0
  402. package/packages/config/src/config/runtime.rs +31 -0
  403. package/packages/config/src/config/telemetry.rs +14 -0
  404. package/packages/config/src/config/topology.rs +123 -0
  405. package/packages/config/src/config/vector.rs +18 -0
  406. package/packages/config/src/defaults.rs +11 -0
  407. package/packages/config/src/lib.rs +135 -0
  408. package/packages/config/src/paths.rs +25 -0
  409. package/packages/config/src/secret.rs +72 -0
  410. package/packages/dump-openapi/Cargo.toml +11 -0
  411. package/packages/dump-openapi/build.rs +26 -0
  412. package/packages/dump-openapi/src/lib.rs +1 -0
  413. package/packages/engine/Cargo.toml +74 -0
  414. package/packages/engine/src/commands/config.rs +18 -0
  415. package/packages/engine/src/commands/db/mod.rs +80 -0
  416. package/packages/engine/src/commands/mod.rs +7 -0
  417. package/packages/engine/src/commands/start.rs +143 -0
  418. package/packages/engine/src/commands/tracing.rs +86 -0
  419. package/packages/engine/src/commands/udb/cli.rs +562 -0
  420. package/packages/engine/src/commands/udb/mod.rs +132 -0
  421. package/packages/engine/src/commands/udb_keys.rs +200 -0
  422. package/packages/engine/src/commands/wf/mod.rs +125 -0
  423. package/packages/engine/src/commands/wf/signal.rs +80 -0
  424. package/packages/engine/src/keys.rs +47 -0
  425. package/packages/engine/src/lib.rs +55 -0
  426. package/packages/engine/src/main.rs +60 -0
  427. package/packages/engine/src/run_config.rs +53 -0
  428. package/packages/engine/src/util/db.rs +99 -0
  429. package/packages/engine/src/util/format.rs +69 -0
  430. package/packages/engine/src/util/mod.rs +13 -0
  431. package/packages/engine/src/util/udb.rs +687 -0
  432. package/packages/engine/src/util/wf/mod.rs +649 -0
  433. package/packages/engine/src/util/wf/signal.rs +126 -0
  434. package/packages/engine/tests/actors_create.rs +524 -0
  435. package/packages/engine/tests/actors_delete.rs +243 -0
  436. package/packages/engine/tests/actors_general.rs +191 -0
  437. package/packages/engine/tests/actors_get.rs +230 -0
  438. package/packages/engine/tests/actors_get_by_id.rs +170 -0
  439. package/packages/engine/tests/actors_get_or_create.rs +294 -0
  440. package/packages/engine/tests/actors_get_or_create_by_id.rs +147 -0
  441. package/packages/engine/tests/actors_lifecycle.rs +165 -0
  442. package/packages/engine/tests/actors_list.rs +798 -0
  443. package/packages/engine/tests/actors_list_names.rs +353 -0
  444. package/packages/engine/tests/common/actors.rs +554 -0
  445. package/packages/engine/tests/common/ctx.rs +201 -0
  446. package/packages/engine/tests/common/mod.rs +30 -0
  447. package/packages/engine/tests/common/ns.rs +36 -0
  448. package/packages/engine/tests/common/runner.rs +134 -0
  449. package/packages/engine/tests/common/test_helpers.rs +226 -0
  450. package/packages/engine/tests/runners_dupe_key.rs +27 -0
  451. package/packages/engine/tests/runners_version.rs +50 -0
  452. package/packages/env/Cargo.toml +14 -0
  453. package/packages/env/build.rs +8 -0
  454. package/packages/env/src/lib.rs +30 -0
  455. package/packages/epoxy/Cargo.toml +45 -0
  456. package/packages/epoxy/README.md +158 -0
  457. package/packages/epoxy/spec/KEYS.md +33 -0
  458. package/packages/epoxy/spec/PROPOSAL.md +125 -0
  459. package/packages/epoxy/spec/RECONFIGURE.md +40 -0
  460. package/packages/epoxy/src/consts.rs +42 -0
  461. package/packages/epoxy/src/errors.rs +21 -0
  462. package/packages/epoxy/src/http_client.rs +192 -0
  463. package/packages/epoxy/src/http_routes.rs +34 -0
  464. package/packages/epoxy/src/keys/keys.rs +99 -0
  465. package/packages/epoxy/src/keys/mod.rs +9 -0
  466. package/packages/epoxy/src/keys/replica.rs +283 -0
  467. package/packages/epoxy/src/lib.rs +25 -0
  468. package/packages/epoxy/src/ops/explicit_prepare.rs +342 -0
  469. package/packages/epoxy/src/ops/kv/get_local.rs +44 -0
  470. package/packages/epoxy/src/ops/kv/get_optimistic.rs +150 -0
  471. package/packages/epoxy/src/ops/kv/mod.rs +3 -0
  472. package/packages/epoxy/src/ops/kv/purge_local.rs +28 -0
  473. package/packages/epoxy/src/ops/mod.rs +4 -0
  474. package/packages/epoxy/src/ops/propose.rs +352 -0
  475. package/packages/epoxy/src/ops/read_cluster_config.rs +24 -0
  476. package/packages/epoxy/src/replica/ballot.rs +130 -0
  477. package/packages/epoxy/src/replica/commit_kv.rs +80 -0
  478. package/packages/epoxy/src/replica/decide_path.rs +51 -0
  479. package/packages/epoxy/src/replica/lead_consensus.rs +65 -0
  480. package/packages/epoxy/src/replica/log.rs +84 -0
  481. package/packages/epoxy/src/replica/message_request.rs +166 -0
  482. package/packages/epoxy/src/replica/messages/accept.rs +50 -0
  483. package/packages/epoxy/src/replica/messages/accepted.rs +35 -0
  484. package/packages/epoxy/src/replica/messages/commit.rs +46 -0
  485. package/packages/epoxy/src/replica/messages/committed.rs +41 -0
  486. package/packages/epoxy/src/replica/messages/download_instances.rs +69 -0
  487. package/packages/epoxy/src/replica/messages/mod.rs +15 -0
  488. package/packages/epoxy/src/replica/messages/pre_accept.rs +69 -0
  489. package/packages/epoxy/src/replica/messages/prepare.rs +89 -0
  490. package/packages/epoxy/src/replica/mod.rs +11 -0
  491. package/packages/epoxy/src/replica/update_config.rs +24 -0
  492. package/packages/epoxy/src/replica/utils.rs +111 -0
  493. package/packages/epoxy/src/types.rs +117 -0
  494. package/packages/epoxy/src/utils.rs +65 -0
  495. package/packages/epoxy/src/workflows/coordinator/mod.rs +121 -0
  496. package/packages/epoxy/src/workflows/coordinator/reconfigure.rs +291 -0
  497. package/packages/epoxy/src/workflows/coordinator/replica_status_change.rs +193 -0
  498. package/packages/epoxy/src/workflows/mod.rs +3 -0
  499. package/packages/epoxy/src/workflows/purger.rs +81 -0
  500. package/packages/epoxy/src/workflows/replica/mod.rs +39 -0
  501. package/packages/epoxy/src/workflows/replica/setup.rs +823 -0
  502. package/packages/epoxy/tests/common/api.rs +25 -0
  503. package/packages/epoxy/tests/common/mod.rs +301 -0
  504. package/packages/epoxy/tests/common/utils.rs +23 -0
  505. package/packages/epoxy/tests/kv.rs +187 -0
  506. package/packages/epoxy/tests/kv_get_optimistic.rs +179 -0
  507. package/packages/epoxy/tests/proposal.rs +38 -0
  508. package/packages/epoxy/tests/reconfigure.rs +618 -0
  509. package/packages/error/Cargo.toml +16 -0
  510. package/packages/error/src/error.rs +90 -0
  511. package/packages/error/src/lib.rs +13 -0
  512. package/packages/error/src/schema.rs +86 -0
  513. package/packages/error/tests/basic.rs +338 -0
  514. package/packages/error-macros/Cargo.toml +19 -0
  515. package/packages/error-macros/src/lib.rs +632 -0
  516. package/packages/gasoline/Cargo.toml +55 -0
  517. package/packages/gasoline/src/activity.rs +24 -0
  518. package/packages/gasoline/src/builder/common/message.rs +104 -0
  519. package/packages/gasoline/src/builder/common/mod.rs +5 -0
  520. package/packages/gasoline/src/builder/common/signal.rs +193 -0
  521. package/packages/gasoline/src/builder/common/workflow.rs +196 -0
  522. package/packages/gasoline/src/builder/mod.rs +60 -0
  523. package/packages/gasoline/src/builder/workflow/message.rs +147 -0
  524. package/packages/gasoline/src/builder/workflow/mod.rs +5 -0
  525. package/packages/gasoline/src/builder/workflow/signal.rs +227 -0
  526. package/packages/gasoline/src/builder/workflow/sub_workflow.rs +318 -0
  527. package/packages/gasoline/src/ctx/activity.rs +192 -0
  528. package/packages/gasoline/src/ctx/common.rs +153 -0
  529. package/packages/gasoline/src/ctx/listen.rs +121 -0
  530. package/packages/gasoline/src/ctx/message.rs +346 -0
  531. package/packages/gasoline/src/ctx/mod.rs +18 -0
  532. package/packages/gasoline/src/ctx/operation.rs +191 -0
  533. package/packages/gasoline/src/ctx/standalone.rs +228 -0
  534. package/packages/gasoline/src/ctx/test.rs +251 -0
  535. package/packages/gasoline/src/ctx/versioned_workflow.rs +198 -0
  536. package/packages/gasoline/src/ctx/workflow.rs +1459 -0
  537. package/packages/gasoline/src/db/debug.rs +199 -0
  538. package/packages/gasoline/src/db/kv/debug.rs +1493 -0
  539. package/packages/gasoline/src/db/kv/keys/history.rs +1780 -0
  540. package/packages/gasoline/src/db/kv/keys/metric.rs +170 -0
  541. package/packages/gasoline/src/db/kv/keys/mod.rs +6 -0
  542. package/packages/gasoline/src/db/kv/keys/signal.rs +401 -0
  543. package/packages/gasoline/src/db/kv/keys/wake.rs +310 -0
  544. package/packages/gasoline/src/db/kv/keys/worker.rs +185 -0
  545. package/packages/gasoline/src/db/kv/keys/workflow.rs +1175 -0
  546. package/packages/gasoline/src/db/kv/mod.rs +3044 -0
  547. package/packages/gasoline/src/db/kv/subjects.rs +13 -0
  548. package/packages/gasoline/src/db/kv/system.rs +33 -0
  549. package/packages/gasoline/src/db/mod.rs +344 -0
  550. package/packages/gasoline/src/error.rs +258 -0
  551. package/packages/gasoline/src/executable.rs +186 -0
  552. package/packages/gasoline/src/history/cursor.rs +779 -0
  553. package/packages/gasoline/src/history/event.rs +210 -0
  554. package/packages/gasoline/src/history/location.rs +185 -0
  555. package/packages/gasoline/src/history/mod.rs +8 -0
  556. package/packages/gasoline/src/history/removed.rs +94 -0
  557. package/packages/gasoline/src/lib.rs +18 -0
  558. package/packages/gasoline/src/listen.rs +24 -0
  559. package/packages/gasoline/src/message.rs +103 -0
  560. package/packages/gasoline/src/metrics.rs +156 -0
  561. package/packages/gasoline/src/operation.rs +21 -0
  562. package/packages/gasoline/src/prelude.rs +53 -0
  563. package/packages/gasoline/src/registry.rs +111 -0
  564. package/packages/gasoline/src/signal.rs +117 -0
  565. package/packages/gasoline/src/stub.rs +118 -0
  566. package/packages/gasoline/src/utils/mod.rs +20 -0
  567. package/packages/gasoline/src/utils/tags.rs +82 -0
  568. package/packages/gasoline/src/utils/time.rs +85 -0
  569. package/packages/gasoline/src/worker.rs +336 -0
  570. package/packages/gasoline/src/workflow.rs +64 -0
  571. package/packages/gasoline/tests/activity_ctx.rs +83 -0
  572. package/packages/gasoline/tests/workflow_ctx.rs +288 -0
  573. package/packages/gasoline/tests/workflows/activity_test.rs +33 -0
  574. package/packages/gasoline/tests/workflows/basic.rs +13 -0
  575. package/packages/gasoline/tests/workflows/eviction_test.rs +45 -0
  576. package/packages/gasoline/tests/workflows/listen_timeout.rs +27 -0
  577. package/packages/gasoline/tests/workflows/loop_test.rs +30 -0
  578. package/packages/gasoline/tests/workflows/mod.rs +11 -0
  579. package/packages/gasoline/tests/workflows/properties_test.rs +56 -0
  580. package/packages/gasoline/tests/workflows/signal_test.rs +24 -0
  581. package/packages/gasoline/tests/workflows/sleep_test.rs +15 -0
  582. package/packages/gasoline/tests/workflows/state_test.rs +69 -0
  583. package/packages/gasoline/tests/workflows/sub_test.rs +21 -0
  584. package/packages/gasoline/tests/workflows/tags_test.rs +40 -0
  585. package/packages/gasoline-macros/Cargo.toml +14 -0
  586. package/packages/gasoline-macros/src/lib.rs +527 -0
  587. package/packages/guard/Cargo.toml +56 -0
  588. package/packages/guard/src/cache/actor.rs +43 -0
  589. package/packages/guard/src/cache/mod.rs +69 -0
  590. package/packages/guard/src/errors.rs +62 -0
  591. package/packages/guard/src/lib.rs +58 -0
  592. package/packages/guard/src/middleware.rs +42 -0
  593. package/packages/guard/src/routing/api_public.rs +70 -0
  594. package/packages/guard/src/routing/mod.rs +245 -0
  595. package/packages/guard/src/routing/pegboard_gateway.rs +260 -0
  596. package/packages/guard/src/routing/runner.rs +129 -0
  597. package/packages/guard/src/shared_state.rs +31 -0
  598. package/packages/guard/src/tls.rs +224 -0
  599. package/packages/guard/tests/parse_actor_path.rs +240 -0
  600. package/packages/guard-core/Cargo.toml +58 -0
  601. package/packages/guard-core/src/analytics.rs +46 -0
  602. package/packages/guard-core/src/cert_resolver.rs +61 -0
  603. package/packages/guard-core/src/custom_serve.rs +52 -0
  604. package/packages/guard-core/src/errors.rs +113 -0
  605. package/packages/guard-core/src/lib.rs +25 -0
  606. package/packages/guard-core/src/metrics.rs +64 -0
  607. package/packages/guard-core/src/proxy_service.rs +2699 -0
  608. package/packages/guard-core/src/request_context.rs +184 -0
  609. package/packages/guard-core/src/server.rs +289 -0
  610. package/packages/guard-core/src/task_group.rs +57 -0
  611. package/packages/guard-core/src/types.rs +19 -0
  612. package/packages/guard-core/src/websocket_handle.rs +47 -0
  613. package/packages/guard-core/tests/common/mod.rs +678 -0
  614. package/packages/guard-core/tests/custom_serve.rs +392 -0
  615. package/packages/guard-core/tests/fixtures/tls/README.md +6 -0
  616. package/packages/guard-core/tests/fixtures/tls/api_cert.pem +51 -0
  617. package/packages/guard-core/tests/fixtures/tls/api_key.pem +7 -0
  618. package/packages/guard-core/tests/fixtures/tls/job_cert.pem +55 -0
  619. package/packages/guard-core/tests/fixtures/tls/job_key.pem +7 -0
  620. package/packages/guard-core/tests/https.rs +400 -0
  621. package/packages/guard-core/tests/metrics.rs +247 -0
  622. package/packages/guard-core/tests/proxy.rs +842 -0
  623. package/packages/guard-core/tests/simple_websocket.rs +258 -0
  624. package/packages/guard-core/tests/simple_websocket_echo.rs +318 -0
  625. package/packages/guard-core/tests/simple_websocket_test2.rs +120 -0
  626. package/packages/guard-core/tests/streaming_response.rs +265 -0
  627. package/packages/guard-core/tests/websocket.rs +1113 -0
  628. package/packages/internal/Cargo.toml +13 -0
  629. package/packages/internal/README.md +1 -0
  630. package/packages/internal/src/lib.rs +1 -0
  631. package/packages/internal/src/ops/bump_serverless_autoscaler_global.rs +64 -0
  632. package/packages/internal/src/ops/cache/mod.rs +1 -0
  633. package/packages/internal/src/ops/cache/purge_global.rs +81 -0
  634. package/packages/internal/src/ops/mod.rs +2 -0
  635. package/packages/logs/Cargo.toml +20 -0
  636. package/packages/logs/src/lib.rs +9 -0
  637. package/packages/logs/src/unix.rs +201 -0
  638. package/packages/logs/src/windows.rs +240 -0
  639. package/packages/metrics/Cargo.toml +20 -0
  640. package/packages/metrics/src/buckets.rs +32 -0
  641. package/packages/metrics/src/lib.rs +8 -0
  642. package/packages/metrics/src/providers.rs +183 -0
  643. package/packages/namespace/Cargo.toml +28 -0
  644. package/packages/namespace/src/errors.rs +39 -0
  645. package/packages/namespace/src/keys/mod.rs +190 -0
  646. package/packages/namespace/src/keys/runner_config.rs +211 -0
  647. package/packages/namespace/src/lib.rs +16 -0
  648. package/packages/namespace/src/ops/get_global.rs +58 -0
  649. package/packages/namespace/src/ops/get_local.rs +69 -0
  650. package/packages/namespace/src/ops/list.rs +69 -0
  651. package/packages/namespace/src/ops/mod.rs +6 -0
  652. package/packages/namespace/src/ops/resolve_for_name_global.rs +57 -0
  653. package/packages/namespace/src/ops/resolve_for_name_local.rs +41 -0
  654. package/packages/namespace/src/ops/runner_config/delete.rs +53 -0
  655. package/packages/namespace/src/ops/runner_config/get.rs +94 -0
  656. package/packages/namespace/src/ops/runner_config/list.rs +94 -0
  657. package/packages/namespace/src/ops/runner_config/mod.rs +4 -0
  658. package/packages/namespace/src/ops/runner_config/upsert.rs +148 -0
  659. package/packages/namespace/src/utils.rs +11 -0
  660. package/packages/namespace/src/workflows/mod.rs +1 -0
  661. package/packages/namespace/src/workflows/namespace.rs +178 -0
  662. package/packages/pegboard/Cargo.toml +34 -0
  663. package/packages/pegboard/src/errors.rs +76 -0
  664. package/packages/pegboard/src/keys/actor.rs +443 -0
  665. package/packages/pegboard/src/keys/epoxy/mod.rs +1 -0
  666. package/packages/pegboard/src/keys/epoxy/ns.rs +68 -0
  667. package/packages/pegboard/src/keys/hibernating_request.rs +72 -0
  668. package/packages/pegboard/src/keys/mod.rs +15 -0
  669. package/packages/pegboard/src/keys/ns.rs +1367 -0
  670. package/packages/pegboard/src/keys/runner.rs +818 -0
  671. package/packages/pegboard/src/lib.rs +19 -0
  672. package/packages/pegboard/src/metrics.rs +19 -0
  673. package/packages/pegboard/src/ops/actor/create.rs +159 -0
  674. package/packages/pegboard/src/ops/actor/get.rs +100 -0
  675. package/packages/pegboard/src/ops/actor/get_for_gateway.rs +70 -0
  676. package/packages/pegboard/src/ops/actor/get_for_key.rs +93 -0
  677. package/packages/pegboard/src/ops/actor/get_reservation_for_key.rs +46 -0
  678. package/packages/pegboard/src/ops/actor/get_runner.rs +64 -0
  679. package/packages/pegboard/src/ops/actor/hibernating_request/delete.rs +41 -0
  680. package/packages/pegboard/src/ops/actor/hibernating_request/list.rs +65 -0
  681. package/packages/pegboard/src/ops/actor/hibernating_request/mod.rs +3 -0
  682. package/packages/pegboard/src/ops/actor/hibernating_request/upsert.rs +51 -0
  683. package/packages/pegboard/src/ops/actor/list_for_ns.rs +207 -0
  684. package/packages/pegboard/src/ops/actor/list_names.rs +62 -0
  685. package/packages/pegboard/src/ops/actor/mod.rs +9 -0
  686. package/packages/pegboard/src/ops/mod.rs +2 -0
  687. package/packages/pegboard/src/ops/runner/find_dc_with_runner.rs +222 -0
  688. package/packages/pegboard/src/ops/runner/get.rs +143 -0
  689. package/packages/pegboard/src/ops/runner/get_by_key.rs +51 -0
  690. package/packages/pegboard/src/ops/runner/list_for_ns.rs +209 -0
  691. package/packages/pegboard/src/ops/runner/list_names.rs +60 -0
  692. package/packages/pegboard/src/ops/runner/mod.rs +6 -0
  693. package/packages/pegboard/src/ops/runner/update_alloc_idx.rs +208 -0
  694. package/packages/pegboard/src/pubsub_subjects.rs +80 -0
  695. package/packages/pegboard/src/utils.rs +29 -0
  696. package/packages/pegboard/src/workflows/actor/destroy.rs +264 -0
  697. package/packages/pegboard/src/workflows/actor/keys.rs +283 -0
  698. package/packages/pegboard/src/workflows/actor/mod.rs +804 -0
  699. package/packages/pegboard/src/workflows/actor/runtime.rs +909 -0
  700. package/packages/pegboard/src/workflows/actor/setup.rs +175 -0
  701. package/packages/pegboard/src/workflows/mod.rs +2 -0
  702. package/packages/pegboard/src/workflows/runner.rs +1182 -0
  703. package/packages/pegboard-gateway/Cargo.toml +35 -0
  704. package/packages/pegboard-gateway/src/keepalive_task.rs +61 -0
  705. package/packages/pegboard-gateway/src/lib.rs +698 -0
  706. package/packages/pegboard-gateway/src/metrics.rs +14 -0
  707. package/packages/pegboard-gateway/src/ping_task.rs +23 -0
  708. package/packages/pegboard-gateway/src/shared_state.rs +588 -0
  709. package/packages/pegboard-gateway/src/tunnel_to_ws_task.rs +85 -0
  710. package/packages/pegboard-gateway/src/ws_to_tunnel_task.rs +65 -0
  711. package/packages/pegboard-runner/Cargo.toml +38 -0
  712. package/packages/pegboard-runner/src/conn.rs +183 -0
  713. package/packages/pegboard-runner/src/errors.rs +33 -0
  714. package/packages/pegboard-runner/src/lib.rs +249 -0
  715. package/packages/pegboard-runner/src/ping_task.rs +66 -0
  716. package/packages/pegboard-runner/src/tunnel_to_ws_task.rs +137 -0
  717. package/packages/pegboard-runner/src/utils.rs +40 -0
  718. package/packages/pegboard-runner/src/ws_to_tunnel_task.rs +443 -0
  719. package/packages/pegboard-serverless/Cargo.toml +25 -0
  720. package/packages/pegboard-serverless/src/lib.rs +523 -0
  721. package/packages/pools/Cargo.toml +38 -0
  722. package/packages/pools/src/db/clickhouse.rs +37 -0
  723. package/packages/pools/src/db/mod.rs +3 -0
  724. package/packages/pools/src/db/udb.rs +37 -0
  725. package/packages/pools/src/db/ups.rs +91 -0
  726. package/packages/pools/src/error.rs +41 -0
  727. package/packages/pools/src/lib.rs +16 -0
  728. package/packages/pools/src/metrics.rs +32 -0
  729. package/packages/pools/src/pools.rs +114 -0
  730. package/packages/pools/src/prelude.rs +3 -0
  731. package/packages/pools/src/reqwest.rs +25 -0
  732. package/packages/runtime/Cargo.lock +1394 -0
  733. package/packages/runtime/Cargo.toml +29 -0
  734. package/packages/runtime/src/lib.rs +154 -0
  735. package/packages/runtime/src/metrics.rs +34 -0
  736. package/packages/runtime/src/term_signal.rs +113 -0
  737. package/packages/runtime/src/traces.rs +158 -0
  738. package/packages/service-manager/Cargo.toml +19 -0
  739. package/packages/service-manager/src/lib.rs +359 -0
  740. package/packages/telemetry/Cargo.toml +13 -0
  741. package/packages/telemetry/README.md +12 -0
  742. package/packages/telemetry/src/lib.rs +39 -0
  743. package/packages/test-deps/Cargo.toml +19 -0
  744. package/packages/test-deps/src/datacenter.rs +109 -0
  745. package/packages/test-deps/src/lib.rs +131 -0
  746. package/packages/test-deps-docker/Cargo.toml +14 -0
  747. package/packages/test-deps-docker/src/database.rs +135 -0
  748. package/packages/test-deps-docker/src/lib.rs +280 -0
  749. package/packages/test-deps-docker/src/pubsub.rs +76 -0
  750. package/packages/tracing-reconfigure/Cargo.toml +18 -0
  751. package/packages/tracing-reconfigure/src/lib.rs +78 -0
  752. package/packages/tracing-utils/Cargo.toml +12 -0
  753. package/packages/tracing-utils/src/lib.rs +91 -0
  754. package/packages/types/Cargo.toml +19 -0
  755. package/packages/types/README.md +3 -0
  756. package/packages/types/src/actors.rs +79 -0
  757. package/packages/types/src/datacenters.rs +10 -0
  758. package/packages/types/src/keys/mod.rs +2 -0
  759. package/packages/types/src/keys/namespace/mod.rs +1 -0
  760. package/packages/types/src/keys/namespace/runner_config.rs +28 -0
  761. package/packages/types/src/keys/pegboard/mod.rs +7 -0
  762. package/packages/types/src/keys/pegboard/ns.rs +109 -0
  763. package/packages/types/src/lib.rs +7 -0
  764. package/packages/types/src/msgs/mod.rs +1 -0
  765. package/packages/types/src/msgs/pegboard.rs +5 -0
  766. package/packages/types/src/namespaces.rs +10 -0
  767. package/packages/types/src/runner_configs.rs +96 -0
  768. package/packages/types/src/runners.rs +24 -0
  769. package/packages/universaldb/Cargo.toml +32 -0
  770. package/packages/universaldb/src/atomic.rs +190 -0
  771. package/packages/universaldb/src/database.rs +56 -0
  772. package/packages/universaldb/src/driver/mod.rs +87 -0
  773. package/packages/universaldb/src/driver/postgres/database.rs +244 -0
  774. package/packages/universaldb/src/driver/postgres/mod.rs +5 -0
  775. package/packages/universaldb/src/driver/postgres/transaction.rs +337 -0
  776. package/packages/universaldb/src/driver/postgres/transaction_task.rs +538 -0
  777. package/packages/universaldb/src/driver/rocksdb/database.rs +129 -0
  778. package/packages/universaldb/src/driver/rocksdb/mod.rs +6 -0
  779. package/packages/universaldb/src/driver/rocksdb/transaction.rs +354 -0
  780. package/packages/universaldb/src/driver/rocksdb/transaction_conflict_tracker.rs +109 -0
  781. package/packages/universaldb/src/driver/rocksdb/transaction_task.rs +526 -0
  782. package/packages/universaldb/src/error.rs +30 -0
  783. package/packages/universaldb/src/key_selector.rs +97 -0
  784. package/packages/universaldb/src/lib.rs +24 -0
  785. package/packages/universaldb/src/metrics.rs +27 -0
  786. package/packages/universaldb/src/options.rs +284 -0
  787. package/packages/universaldb/src/prelude.rs +8 -0
  788. package/packages/universaldb/src/range_option.rs +159 -0
  789. package/packages/universaldb/src/transaction.rs +378 -0
  790. package/packages/universaldb/src/tx_ops.rs +425 -0
  791. package/packages/universaldb/src/utils/cherry_pick.rs +88 -0
  792. package/packages/universaldb/src/utils/codes.rs +9 -0
  793. package/packages/universaldb/src/utils/ext.rs +58 -0
  794. package/packages/universaldb/src/utils/formal_key.rs +23 -0
  795. package/packages/universaldb/src/utils/keys.rs +134 -0
  796. package/packages/universaldb/src/utils/mod.rs +92 -0
  797. package/packages/universaldb/src/utils/subspace.rs +95 -0
  798. package/packages/universaldb/src/value.rs +159 -0
  799. package/packages/universaldb/src/versionstamp.rs +173 -0
  800. package/packages/universaldb/tests/integration.rs +2733 -0
  801. package/packages/universaldb/tests/integration_gas.rs +264 -0
  802. package/packages/universaldb/tests/rocksdb.rs +141 -0
  803. package/packages/universaldb/tests/versionstamp.rs +184 -0
  804. package/packages/universalpubsub/Cargo.toml +38 -0
  805. package/packages/universalpubsub/benches/simple.rs +932 -0
  806. package/packages/universalpubsub/src/chunking.rs +226 -0
  807. package/packages/universalpubsub/src/driver/memory/mod.rs +91 -0
  808. package/packages/universalpubsub/src/driver/mod.rs +58 -0
  809. package/packages/universalpubsub/src/driver/nats/mod.rs +79 -0
  810. package/packages/universalpubsub/src/driver/postgres/mod.rs +443 -0
  811. package/packages/universalpubsub/src/errors.rs +11 -0
  812. package/packages/universalpubsub/src/lib.rs +7 -0
  813. package/packages/universalpubsub/src/pubsub.rs +415 -0
  814. package/packages/universalpubsub/tests/integration.rs +441 -0
  815. package/packages/universalpubsub/tests/reconnect.rs +359 -0
  816. package/packages/util/Cargo.toml +41 -0
  817. package/packages/util/build.rs +13 -0
  818. package/packages/util/src/backoff.rs +109 -0
  819. package/packages/util/src/billing.rs +3 -0
  820. package/packages/util/src/build_meta.rs +33 -0
  821. package/packages/util/src/check.rs +222 -0
  822. package/packages/util/src/duration.rs +77 -0
  823. package/packages/util/src/faker.rs +81 -0
  824. package/packages/util/src/format.rs +185 -0
  825. package/packages/util/src/future.rs +1 -0
  826. package/packages/util/src/geo.rs +5 -0
  827. package/packages/util/src/lib.rs +40 -0
  828. package/packages/util/src/math.rs +35 -0
  829. package/packages/util/src/req.rs +41 -0
  830. package/packages/util/src/serde.rs +516 -0
  831. package/packages/util/src/size.rs +27 -0
  832. package/packages/util/src/sort.rs +13 -0
  833. package/packages/util/src/timestamp.rs +58 -0
  834. package/packages/util/src/url.rs +3 -0
  835. package/packages/util-id/Cargo.toml +13 -0
  836. package/packages/util-id/src/lib.rs +329 -0
  837. package/packages/workflow-worker/Cargo.toml +16 -0
  838. package/packages/workflow-worker/src/lib.rs +15 -0
  839. package/sdks/api/fern/fern.config.json +4 -0
  840. package/sdks/api/fern/generators.yml +25 -0
  841. package/sdks/go/api-full/client/client.go +459 -0
  842. package/sdks/go/api-full/client/client_test.go +43 -0
  843. package/sdks/go/api-full/client/options.go +39 -0
  844. package/sdks/go/api-full/core/client_option.go +44 -0
  845. package/sdks/go/api-full/core/core.go +220 -0
  846. package/sdks/go/api-full/core/core_test.go +219 -0
  847. package/sdks/go/api-full/core/stringer.go +13 -0
  848. package/sdks/go/api-full/datacenters/client.go +50 -0
  849. package/sdks/go/api-full/go.mod +8 -0
  850. package/sdks/go/api-full/go.sum +12 -0
  851. package/sdks/go/api-full/health/client.go +50 -0
  852. package/sdks/go/api-full/namespaces/client.go +92 -0
  853. package/sdks/go/api-full/namespaces.go +15 -0
  854. package/sdks/go/api-full/pointer.go +103 -0
  855. package/sdks/go/api-full/runners/client.go +111 -0
  856. package/sdks/go/api-full/runners.go +18 -0
  857. package/sdks/go/api-full/types.go +1638 -0
  858. package/sdks/rust/api-full/.openapi-generator/FILES +28 -0
  859. package/sdks/rust/api-full/.openapi-generator/VERSION +1 -0
  860. package/sdks/rust/api-full/.openapi-generator-ignore +23 -0
  861. package/sdks/rust/api-full/.travis.yml +1 -0
  862. package/sdks/rust/api-full/Cargo.toml +15 -0
  863. package/sdks/rust/api-full/README.md +53 -0
  864. package/sdks/rust/api-full/docs/Actor.md +19 -0
  865. package/sdks/rust/api-full/docs/ActorLifecycle.md +12 -0
  866. package/sdks/rust/api-full/docs/ActorsApi.md +37 -0
  867. package/sdks/rust/api-full/docs/ActorsCreateRequest.md +13 -0
  868. package/sdks/rust/api-full/docs/ActorsCreateResponse.md +11 -0
  869. package/sdks/rust/api-full/docs/Namespace.md +14 -0
  870. package/sdks/rust/api-full/docs/NamespacesCreateRequest.md +12 -0
  871. package/sdks/rust/api-full/docs/NamespacesCreateResponse.md +11 -0
  872. package/sdks/rust/api-full/docs/NsApi.md +37 -0
  873. package/sdks/rust/api-full/git_push.sh +57 -0
  874. package/sdks/rust/api-full/rust/.openapi-generator/FILES +140 -0
  875. package/sdks/rust/api-full/rust/.openapi-generator/VERSION +1 -0
  876. package/sdks/rust/api-full/rust/.openapi-generator-ignore +23 -0
  877. package/sdks/rust/api-full/rust/.travis.yml +1 -0
  878. package/sdks/rust/api-full/rust/Cargo.toml +15 -0
  879. package/sdks/rust/api-full/rust/README.md +111 -0
  880. package/sdks/rust/api-full/rust/docs/Actor.md +24 -0
  881. package/sdks/rust/api-full/rust/docs/ActorName.md +11 -0
  882. package/sdks/rust/api-full/rust/docs/ActorsCreateApi.md +40 -0
  883. package/sdks/rust/api-full/rust/docs/ActorsCreateRequest.md +16 -0
  884. package/sdks/rust/api-full/rust/docs/ActorsCreateResponse.md +11 -0
  885. package/sdks/rust/api-full/rust/docs/ActorsDeleteApi.md +40 -0
  886. package/sdks/rust/api-full/rust/docs/ActorsGetOrCreateApi.md +40 -0
  887. package/sdks/rust/api-full/rust/docs/ActorsGetOrCreateRequest.md +16 -0
  888. package/sdks/rust/api-full/rust/docs/ActorsGetOrCreateResponse.md +12 -0
  889. package/sdks/rust/api-full/rust/docs/ActorsKvGetApi.md +38 -0
  890. package/sdks/rust/api-full/rust/docs/ActorsKvGetResponse.md +12 -0
  891. package/sdks/rust/api-full/rust/docs/ActorsListApi.md +45 -0
  892. package/sdks/rust/api-full/rust/docs/ActorsListNamesApi.md +41 -0
  893. package/sdks/rust/api-full/rust/docs/ActorsListNamesResponse.md +12 -0
  894. package/sdks/rust/api-full/rust/docs/ActorsListResponse.md +12 -0
  895. package/sdks/rust/api-full/rust/docs/CrashPolicy.md +14 -0
  896. package/sdks/rust/api-full/rust/docs/Datacenter.md +13 -0
  897. package/sdks/rust/api-full/rust/docs/DatacenterHealth.md +16 -0
  898. package/sdks/rust/api-full/rust/docs/DatacentersApi.md +34 -0
  899. package/sdks/rust/api-full/rust/docs/DatacentersListResponse.md +12 -0
  900. package/sdks/rust/api-full/rust/docs/HealthApi.md +34 -0
  901. package/sdks/rust/api-full/rust/docs/HealthFanoutResponse.md +11 -0
  902. package/sdks/rust/api-full/rust/docs/HealthResponse.md +13 -0
  903. package/sdks/rust/api-full/rust/docs/HealthStatus.md +13 -0
  904. package/sdks/rust/api-full/rust/docs/Namespace.md +14 -0
  905. package/sdks/rust/api-full/rust/docs/NamespaceListResponse.md +12 -0
  906. package/sdks/rust/api-full/rust/docs/NamespacesApi.md +69 -0
  907. package/sdks/rust/api-full/rust/docs/NamespacesCreateRequest.md +12 -0
  908. package/sdks/rust/api-full/rust/docs/NamespacesCreateResponse.md +11 -0
  909. package/sdks/rust/api-full/rust/docs/Pagination.md +11 -0
  910. package/sdks/rust/api-full/rust/docs/Runner.md +25 -0
  911. package/sdks/rust/api-full/rust/docs/RunnerConfig.md +13 -0
  912. package/sdks/rust/api-full/rust/docs/RunnerConfigKind.md +12 -0
  913. package/sdks/rust/api-full/rust/docs/RunnerConfigKindOneOf.md +11 -0
  914. package/sdks/rust/api-full/rust/docs/RunnerConfigKindOneOf1.md +11 -0
  915. package/sdks/rust/api-full/rust/docs/RunnerConfigKindOneOf1Serverless.md +17 -0
  916. package/sdks/rust/api-full/rust/docs/RunnerConfigVariant.md +13 -0
  917. package/sdks/rust/api-full/rust/docs/RunnerConfigsDeleteApi.md +38 -0
  918. package/sdks/rust/api-full/rust/docs/RunnerConfigsListApi.md +41 -0
  919. package/sdks/rust/api-full/rust/docs/RunnerConfigsListResponse.md +12 -0
  920. package/sdks/rust/api-full/rust/docs/RunnerConfigsListResponseRunnerConfigsValue.md +11 -0
  921. package/sdks/rust/api-full/rust/docs/RunnerConfigsRefreshMetadataApi.md +39 -0
  922. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckApi.md +38 -0
  923. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckRequest.md +12 -0
  924. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckResponse.md +12 -0
  925. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckResponseOneOf.md +11 -0
  926. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckResponseOneOf1.md +11 -0
  927. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckResponseOneOf1Failure.md +11 -0
  928. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessHealthCheckResponseOneOfSuccess.md +11 -0
  929. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataError.md +16 -0
  930. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf.md +11 -0
  931. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf1.md +11 -0
  932. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf2.md +11 -0
  933. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf3.md +11 -0
  934. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf3NonSuccessStatus.md +12 -0
  935. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf4.md +11 -0
  936. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf4InvalidResponseJson.md +11 -0
  937. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf5.md +11 -0
  938. package/sdks/rust/api-full/rust/docs/RunnerConfigsServerlessMetadataErrorOneOf5InvalidResponseSchema.md +12 -0
  939. package/sdks/rust/api-full/rust/docs/RunnerConfigsUpsertApi.md +39 -0
  940. package/sdks/rust/api-full/rust/docs/RunnerConfigsUpsertRequestBody.md +11 -0
  941. package/sdks/rust/api-full/rust/docs/RunnerConfigsUpsertResponse.md +11 -0
  942. package/sdks/rust/api-full/rust/docs/RunnersApi.md +75 -0
  943. package/sdks/rust/api-full/rust/docs/RunnersListNamesResponse.md +12 -0
  944. package/sdks/rust/api-full/rust/docs/RunnersListResponse.md +12 -0
  945. package/sdks/rust/api-full/rust/git_push.sh +57 -0
  946. package/sdks/rust/api-full/rust/src/apis/actors_create_api.rs +68 -0
  947. package/sdks/rust/api-full/rust/src/apis/actors_delete_api.rs +69 -0
  948. package/sdks/rust/api-full/rust/src/apis/actors_get_or_create_api.rs +68 -0
  949. package/sdks/rust/api-full/rust/src/apis/actors_kv_get_api.rs +65 -0
  950. package/sdks/rust/api-full/rust/src/apis/actors_list_api.rs +90 -0
  951. package/sdks/rust/api-full/rust/src/apis/actors_list_names_api.rs +74 -0
  952. package/sdks/rust/api-full/rust/src/apis/configuration.rs +51 -0
  953. package/sdks/rust/api-full/rust/src/apis/datacenters_api.rs +62 -0
  954. package/sdks/rust/api-full/rust/src/apis/health_api.rs +62 -0
  955. package/sdks/rust/api-full/rust/src/apis/mod.rs +130 -0
  956. package/sdks/rust/api-full/rust/src/apis/namespaces_api.rs +126 -0
  957. package/sdks/rust/api-full/rust/src/apis/runner_configs_delete_api.rs +66 -0
  958. package/sdks/rust/api-full/rust/src/apis/runner_configs_list_api.rs +81 -0
  959. package/sdks/rust/api-full/rust/src/apis/runner_configs_refresh_metadata_api.rs +68 -0
  960. package/sdks/rust/api-full/rust/src/apis/runner_configs_serverless_health_check_api.rs +67 -0
  961. package/sdks/rust/api-full/rust/src/apis/runner_configs_upsert_api.rs +68 -0
  962. package/sdks/rust/api-full/rust/src/apis/runners_api.rs +141 -0
  963. package/sdks/rust/api-full/rust/src/lib.rs +11 -0
  964. package/sdks/rust/api-full/rust/src/models/actor.rs +73 -0
  965. package/sdks/rust/api-full/rust/src/models/actor_name.rs +27 -0
  966. package/sdks/rust/api-full/rust/src/models/actors_create_request.rs +42 -0
  967. package/sdks/rust/api-full/rust/src/models/actors_create_response.rs +27 -0
  968. package/sdks/rust/api-full/rust/src/models/actors_get_or_create_request.rs +42 -0
  969. package/sdks/rust/api-full/rust/src/models/actors_get_or_create_response.rs +30 -0
  970. package/sdks/rust/api-full/rust/src/models/actors_kv_get_response.rs +30 -0
  971. package/sdks/rust/api-full/rust/src/models/actors_list_names_response.rs +30 -0
  972. package/sdks/rust/api-full/rust/src/models/actors_list_response.rs +30 -0
  973. package/sdks/rust/api-full/rust/src/models/crash_policy.rs +41 -0
  974. package/sdks/rust/api-full/rust/src/models/datacenter.rs +33 -0
  975. package/sdks/rust/api-full/rust/src/models/datacenter_health.rs +42 -0
  976. package/sdks/rust/api-full/rust/src/models/datacenters_list_response.rs +30 -0
  977. package/sdks/rust/api-full/rust/src/models/health_fanout_response.rs +27 -0
  978. package/sdks/rust/api-full/rust/src/models/health_response.rs +33 -0
  979. package/sdks/rust/api-full/rust/src/models/health_status.rs +38 -0
  980. package/sdks/rust/api-full/rust/src/models/mod.rs +100 -0
  981. package/sdks/rust/api-full/rust/src/models/namespace.rs +36 -0
  982. package/sdks/rust/api-full/rust/src/models/namespace_list_response.rs +30 -0
  983. package/sdks/rust/api-full/rust/src/models/namespaces_create_request.rs +30 -0
  984. package/sdks/rust/api-full/rust/src/models/namespaces_create_response.rs +27 -0
  985. package/sdks/rust/api-full/rust/src/models/pagination.rs +27 -0
  986. package/sdks/rust/api-full/rust/src/models/runner.rs +69 -0
  987. package/sdks/rust/api-full/rust/src/models/runner_config.rs +33 -0
  988. package/sdks/rust/api-full/rust/src/models/runner_config_kind.rs +26 -0
  989. package/sdks/rust/api-full/rust/src/models/runner_config_kind_one_of.rs +27 -0
  990. package/sdks/rust/api-full/rust/src/models/runner_config_kind_one_of_1.rs +27 -0
  991. package/sdks/rust/api-full/rust/src/models/runner_config_kind_one_of_1_serverless.rs +46 -0
  992. package/sdks/rust/api-full/rust/src/models/runner_config_variant.rs +38 -0
  993. package/sdks/rust/api-full/rust/src/models/runner_configs_list_response.rs +30 -0
  994. package/sdks/rust/api-full/rust/src/models/runner_configs_list_response_runner_configs_value.rs +27 -0
  995. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_request.rs +30 -0
  996. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response.rs +26 -0
  997. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of.rs +27 -0
  998. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of_1.rs +27 -0
  999. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of_1_failure.rs +27 -0
  1000. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of_success.rs +27 -0
  1001. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error.rs +30 -0
  1002. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of.rs +27 -0
  1003. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_1.rs +27 -0
  1004. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_2.rs +27 -0
  1005. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_3.rs +27 -0
  1006. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_3_non_success_status.rs +30 -0
  1007. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_4.rs +27 -0
  1008. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_4_invalid_response_json.rs +27 -0
  1009. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_5.rs +27 -0
  1010. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_5_invalid_response_schema.rs +30 -0
  1011. package/sdks/rust/api-full/rust/src/models/runner_configs_upsert_request_body.rs +27 -0
  1012. package/sdks/rust/api-full/rust/src/models/runner_configs_upsert_response.rs +27 -0
  1013. package/sdks/rust/api-full/rust/src/models/runners_list_names_response.rs +30 -0
  1014. package/sdks/rust/api-full/rust/src/models/runners_list_response.rs +30 -0
  1015. package/sdks/rust/api-full/src/apis/actors_api.rs +67 -0
  1016. package/sdks/rust/api-full/src/apis/configuration.rs +48 -0
  1017. package/sdks/rust/api-full/src/apis/mod.rs +119 -0
  1018. package/sdks/rust/api-full/src/apis/ns_api.rs +67 -0
  1019. package/sdks/rust/api-full/src/lib.rs +11 -0
  1020. package/sdks/rust/api-full/src/models/actor.rs +72 -0
  1021. package/sdks/rust/api-full/src/models/actor_lifecycle.rs +29 -0
  1022. package/sdks/rust/api-full/src/models/actors_create_request.rs +36 -0
  1023. package/sdks/rust/api-full/src/models/actors_create_response.rs +26 -0
  1024. package/sdks/rust/api-full/src/models/mod.rs +14 -0
  1025. package/sdks/rust/api-full/src/models/namespace.rs +40 -0
  1026. package/sdks/rust/api-full/src/models/namespaces_create_request.rs +26 -0
  1027. package/sdks/rust/api-full/src/models/namespaces_create_response.rs +26 -0
  1028. package/sdks/rust/data/Cargo.toml +18 -0
  1029. package/sdks/rust/data/build.rs +15 -0
  1030. package/sdks/rust/data/src/converted.rs +137 -0
  1031. package/sdks/rust/data/src/generated.rs +1 -0
  1032. package/sdks/rust/data/src/lib.rs +11 -0
  1033. package/sdks/rust/data/src/versioned/mod.rs +178 -0
  1034. package/sdks/rust/data/src/versioned/namespace_runner_config.rs +125 -0
  1035. package/sdks/rust/epoxy-protocol/Cargo.toml +17 -0
  1036. package/sdks/rust/epoxy-protocol/build.rs +18 -0
  1037. package/sdks/rust/epoxy-protocol/src/generated.rs +1 -0
  1038. package/sdks/rust/epoxy-protocol/src/lib.rs +7 -0
  1039. package/sdks/rust/epoxy-protocol/src/versioned.rs +206 -0
  1040. package/sdks/rust/runner-protocol/Cargo.toml +23 -0
  1041. package/sdks/rust/runner-protocol/build.rs +115 -0
  1042. package/sdks/rust/runner-protocol/src/compat.rs +7 -0
  1043. package/sdks/rust/runner-protocol/src/generated.rs +1 -0
  1044. package/sdks/rust/runner-protocol/src/lib.rs +10 -0
  1045. package/sdks/rust/runner-protocol/src/util.rs +14 -0
  1046. package/sdks/rust/runner-protocol/src/uuid_compat.rs +209 -0
  1047. package/sdks/rust/runner-protocol/src/versioned.rs +1734 -0
  1048. package/sdks/rust/ups-protocol/Cargo.toml +17 -0
  1049. package/sdks/rust/ups-protocol/build.rs +18 -0
  1050. package/sdks/rust/ups-protocol/src/generated.rs +1 -0
  1051. package/sdks/rust/ups-protocol/src/lib.rs +7 -0
  1052. package/sdks/rust/ups-protocol/src/versioned.rs +48 -0
  1053. package/sdks/schemas/README.md +6 -0
  1054. package/sdks/schemas/data/namespace.runner_config.v1.bare +13 -0
  1055. package/sdks/schemas/data/namespace.runner_config.v2.bare +23 -0
  1056. package/sdks/schemas/data/pegboard.namespace.actor_by_key.v1.bare +6 -0
  1057. package/sdks/schemas/data/pegboard.namespace.actor_name.v1.bare +5 -0
  1058. package/sdks/schemas/data/pegboard.namespace.runner_alloc_idx.v1.bare +7 -0
  1059. package/sdks/schemas/data/pegboard.namespace.runner_by_key.v1.bare +6 -0
  1060. package/sdks/schemas/data/pegboard.runner.metadata.v1.bare +5 -0
  1061. package/sdks/schemas/epoxy-protocol/v1.bare +260 -0
  1062. package/sdks/schemas/runner-protocol/v1.bare +393 -0
  1063. package/sdks/schemas/runner-protocol/v2.bare +403 -0
  1064. package/sdks/schemas/runner-protocol/v3.bare +436 -0
  1065. package/sdks/schemas/ups-protocol/v1.bare +23 -0
  1066. package/sdks/typescript/api-full/.turbo/turbo-build.log +42 -0
  1067. package/sdks/typescript/api-full/build.js +69 -0
  1068. package/sdks/typescript/api-full/package.json +59 -0
  1069. package/sdks/typescript/api-full/rivetkit-engine-api-full-25.5.3.tgz +0 -0
  1070. package/sdks/typescript/api-full/src/Client.ts +984 -0
  1071. package/sdks/typescript/api-full/src/api/client/index.ts +1 -0
  1072. package/sdks/typescript/api-full/src/api/client/requests/ActorsCreateRequest.ts +24 -0
  1073. package/sdks/typescript/api-full/src/api/client/requests/ActorsDeleteRequest.ts +11 -0
  1074. package/sdks/typescript/api-full/src/api/client/requests/ActorsGetOrCreateRequest.ts +25 -0
  1075. package/sdks/typescript/api-full/src/api/client/requests/ActorsListNamesRequest.ts +15 -0
  1076. package/sdks/typescript/api-full/src/api/client/requests/ActorsListRequest.ts +19 -0
  1077. package/sdks/typescript/api-full/src/api/client/requests/RunnerConfigsDeleteRequest.ts +13 -0
  1078. package/sdks/typescript/api-full/src/api/client/requests/RunnerConfigsListRequest.ts +19 -0
  1079. package/sdks/typescript/api-full/src/api/client/requests/RunnerConfigsRefreshMetadataRequest.ts +19 -0
  1080. package/sdks/typescript/api-full/src/api/client/requests/RunnerConfigsServerlessHealthCheckRequest.ts +16 -0
  1081. package/sdks/typescript/api-full/src/api/client/requests/RunnerConfigsUpsertRequestBody.ts +19 -0
  1082. package/sdks/typescript/api-full/src/api/client/requests/index.ts +10 -0
  1083. package/sdks/typescript/api-full/src/api/index.ts +3 -0
  1084. package/sdks/typescript/api-full/src/api/resources/datacenters/client/Client.ts +97 -0
  1085. package/sdks/typescript/api-full/src/api/resources/datacenters/client/index.ts +1 -0
  1086. package/sdks/typescript/api-full/src/api/resources/datacenters/index.ts +1 -0
  1087. package/sdks/typescript/api-full/src/api/resources/health/client/Client.ts +97 -0
  1088. package/sdks/typescript/api-full/src/api/resources/health/client/index.ts +1 -0
  1089. package/sdks/typescript/api-full/src/api/resources/health/index.ts +1 -0
  1090. package/sdks/typescript/api-full/src/api/resources/index.ts +6 -0
  1091. package/sdks/typescript/api-full/src/api/resources/namespaces/client/Client.ts +187 -0
  1092. package/sdks/typescript/api-full/src/api/resources/namespaces/client/index.ts +1 -0
  1093. package/sdks/typescript/api-full/src/api/resources/namespaces/client/requests/NamespacesCreateRequest.ts +15 -0
  1094. package/sdks/typescript/api-full/src/api/resources/namespaces/client/requests/NamespacesListRequest.ts +14 -0
  1095. package/sdks/typescript/api-full/src/api/resources/namespaces/client/requests/index.ts +2 -0
  1096. package/sdks/typescript/api-full/src/api/resources/namespaces/index.ts +1 -0
  1097. package/sdks/typescript/api-full/src/api/resources/runners/client/Client.ts +209 -0
  1098. package/sdks/typescript/api-full/src/api/resources/runners/client/index.ts +1 -0
  1099. package/sdks/typescript/api-full/src/api/resources/runners/client/requests/RunnersListNamesRequest.ts +15 -0
  1100. package/sdks/typescript/api-full/src/api/resources/runners/client/requests/RunnersListRequest.ts +18 -0
  1101. package/sdks/typescript/api-full/src/api/resources/runners/client/requests/index.ts +2 -0
  1102. package/sdks/typescript/api-full/src/api/resources/runners/index.ts +1 -0
  1103. package/sdks/typescript/api-full/src/api/types/Actor.ts +32 -0
  1104. package/sdks/typescript/api-full/src/api/types/ActorName.ts +7 -0
  1105. package/sdks/typescript/api-full/src/api/types/ActorsCreateResponse.ts +9 -0
  1106. package/sdks/typescript/api-full/src/api/types/ActorsDeleteResponse.ts +5 -0
  1107. package/sdks/typescript/api-full/src/api/types/ActorsGetOrCreateResponse.ts +10 -0
  1108. package/sdks/typescript/api-full/src/api/types/ActorsKvGetResponse.ts +8 -0
  1109. package/sdks/typescript/api-full/src/api/types/ActorsListNamesResponse.ts +10 -0
  1110. package/sdks/typescript/api-full/src/api/types/ActorsListResponse.ts +10 -0
  1111. package/sdks/typescript/api-full/src/api/types/CrashPolicy.ts +10 -0
  1112. package/sdks/typescript/api-full/src/api/types/Datacenter.ts +9 -0
  1113. package/sdks/typescript/api-full/src/api/types/DatacenterHealth.ts +14 -0
  1114. package/sdks/typescript/api-full/src/api/types/DatacentersListResponse.ts +10 -0
  1115. package/sdks/typescript/api-full/src/api/types/HealthFanoutResponse.ts +9 -0
  1116. package/sdks/typescript/api-full/src/api/types/HealthResponse.ts +9 -0
  1117. package/sdks/typescript/api-full/src/api/types/HealthStatus.ts +9 -0
  1118. package/sdks/typescript/api-full/src/api/types/Namespace.ts +12 -0
  1119. package/sdks/typescript/api-full/src/api/types/NamespaceListResponse.ts +10 -0
  1120. package/sdks/typescript/api-full/src/api/types/NamespacesCreateResponse.ts +9 -0
  1121. package/sdks/typescript/api-full/src/api/types/Pagination.ts +7 -0
  1122. package/sdks/typescript/api-full/src/api/types/RivetId.ts +5 -0
  1123. package/sdks/typescript/api-full/src/api/types/Runner.ts +23 -0
  1124. package/sdks/typescript/api-full/src/api/types/RunnerConfig.ts +11 -0
  1125. package/sdks/typescript/api-full/src/api/types/RunnerConfigKind.ts +7 -0
  1126. package/sdks/typescript/api-full/src/api/types/RunnerConfigKindNormal.ts +7 -0
  1127. package/sdks/typescript/api-full/src/api/types/RunnerConfigKindServerless.ts +9 -0
  1128. package/sdks/typescript/api-full/src/api/types/RunnerConfigKindServerlessServerless.ts +14 -0
  1129. package/sdks/typescript/api-full/src/api/types/RunnerConfigServerless.ts +14 -0
  1130. package/sdks/typescript/api-full/src/api/types/RunnerConfigVariant.ts +9 -0
  1131. package/sdks/typescript/api-full/src/api/types/RunnerConfigsDeleteResponse.ts +5 -0
  1132. package/sdks/typescript/api-full/src/api/types/RunnerConfigsListResponse.ts +10 -0
  1133. package/sdks/typescript/api-full/src/api/types/RunnerConfigsListResponseRunnerConfigsValue.ts +9 -0
  1134. package/sdks/typescript/api-full/src/api/types/RunnerConfigsRefreshMetadataRequestBody.ts +5 -0
  1135. package/sdks/typescript/api-full/src/api/types/RunnerConfigsRefreshMetadataResponse.ts +5 -0
  1136. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessHealthCheckResponse.ts +9 -0
  1137. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessHealthCheckResponseFailure.ts +9 -0
  1138. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessHealthCheckResponseFailureFailure.ts +9 -0
  1139. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessHealthCheckResponseSuccess.ts +9 -0
  1140. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessHealthCheckResponseSuccessSuccess.ts +7 -0
  1141. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataError.ts +13 -0
  1142. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorInvalidRequest.ts +7 -0
  1143. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJson.ts +9 -0
  1144. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson.ts +7 -0
  1145. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchema.ts +9 -0
  1146. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema.ts +8 -0
  1147. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatus.ts +9 -0
  1148. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus.ts +8 -0
  1149. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorRequestFailed.ts +7 -0
  1150. package/sdks/typescript/api-full/src/api/types/RunnerConfigsServerlessMetadataErrorRequestTimedOut.ts +7 -0
  1151. package/sdks/typescript/api-full/src/api/types/RunnerConfigsUpsertResponse.ts +7 -0
  1152. package/sdks/typescript/api-full/src/api/types/RunnersListNamesResponse.ts +10 -0
  1153. package/sdks/typescript/api-full/src/api/types/RunnersListResponse.ts +10 -0
  1154. package/sdks/typescript/api-full/src/api/types/index.ts +51 -0
  1155. package/sdks/typescript/api-full/src/core/auth/BasicAuth.ts +31 -0
  1156. package/sdks/typescript/api-full/src/core/auth/BearerToken.ts +15 -0
  1157. package/sdks/typescript/api-full/src/core/auth/index.ts +2 -0
  1158. package/sdks/typescript/api-full/src/core/fetcher/APIResponse.ts +12 -0
  1159. package/sdks/typescript/api-full/src/core/fetcher/Fetcher.ts +144 -0
  1160. package/sdks/typescript/api-full/src/core/fetcher/Supplier.ts +11 -0
  1161. package/sdks/typescript/api-full/src/core/fetcher/createRequestUrl.ts +10 -0
  1162. package/sdks/typescript/api-full/src/core/fetcher/getFetchFn.ts +25 -0
  1163. package/sdks/typescript/api-full/src/core/fetcher/getHeader.ts +8 -0
  1164. package/sdks/typescript/api-full/src/core/fetcher/getRequestBody.ts +16 -0
  1165. package/sdks/typescript/api-full/src/core/fetcher/getResponseBody.ts +34 -0
  1166. package/sdks/typescript/api-full/src/core/fetcher/index.ts +5 -0
  1167. package/sdks/typescript/api-full/src/core/fetcher/makeRequest.ts +44 -0
  1168. package/sdks/typescript/api-full/src/core/fetcher/requestWithRetries.ts +33 -0
  1169. package/sdks/typescript/api-full/src/core/fetcher/signals.ts +38 -0
  1170. package/sdks/typescript/api-full/src/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.ts +257 -0
  1171. package/sdks/typescript/api-full/src/core/fetcher/stream-wrappers/NodePre18StreamWrapper.ts +107 -0
  1172. package/sdks/typescript/api-full/src/core/fetcher/stream-wrappers/UndiciStreamWrapper.ts +243 -0
  1173. package/sdks/typescript/api-full/src/core/fetcher/stream-wrappers/chooseStreamWrapper.ts +34 -0
  1174. package/sdks/typescript/api-full/src/core/index.ts +4 -0
  1175. package/sdks/typescript/api-full/src/core/json.ts +27 -0
  1176. package/sdks/typescript/api-full/src/core/runtime/index.ts +1 -0
  1177. package/sdks/typescript/api-full/src/core/runtime/runtime.ts +131 -0
  1178. package/sdks/typescript/api-full/src/core/schemas/Schema.ts +101 -0
  1179. package/sdks/typescript/api-full/src/core/schemas/builders/bigint/bigint.ts +55 -0
  1180. package/sdks/typescript/api-full/src/core/schemas/builders/bigint/index.ts +1 -0
  1181. package/sdks/typescript/api-full/src/core/schemas/builders/date/date.ts +65 -0
  1182. package/sdks/typescript/api-full/src/core/schemas/builders/date/index.ts +1 -0
  1183. package/sdks/typescript/api-full/src/core/schemas/builders/enum/enum.ts +43 -0
  1184. package/sdks/typescript/api-full/src/core/schemas/builders/enum/index.ts +1 -0
  1185. package/sdks/typescript/api-full/src/core/schemas/builders/index.ts +14 -0
  1186. package/sdks/typescript/api-full/src/core/schemas/builders/lazy/index.ts +3 -0
  1187. package/sdks/typescript/api-full/src/core/schemas/builders/lazy/lazy.ts +32 -0
  1188. package/sdks/typescript/api-full/src/core/schemas/builders/lazy/lazyObject.ts +20 -0
  1189. package/sdks/typescript/api-full/src/core/schemas/builders/list/index.ts +1 -0
  1190. package/sdks/typescript/api-full/src/core/schemas/builders/list/list.ts +73 -0
  1191. package/sdks/typescript/api-full/src/core/schemas/builders/literals/booleanLiteral.ts +29 -0
  1192. package/sdks/typescript/api-full/src/core/schemas/builders/literals/index.ts +2 -0
  1193. package/sdks/typescript/api-full/src/core/schemas/builders/literals/stringLiteral.ts +29 -0
  1194. package/sdks/typescript/api-full/src/core/schemas/builders/object/index.ts +22 -0
  1195. package/sdks/typescript/api-full/src/core/schemas/builders/object/object.ts +366 -0
  1196. package/sdks/typescript/api-full/src/core/schemas/builders/object/objectWithoutOptionalProperties.ts +18 -0
  1197. package/sdks/typescript/api-full/src/core/schemas/builders/object/property.ts +23 -0
  1198. package/sdks/typescript/api-full/src/core/schemas/builders/object/types.ts +58 -0
  1199. package/sdks/typescript/api-full/src/core/schemas/builders/object-like/getObjectLikeUtils.ts +79 -0
  1200. package/sdks/typescript/api-full/src/core/schemas/builders/object-like/index.ts +2 -0
  1201. package/sdks/typescript/api-full/src/core/schemas/builders/object-like/types.ts +11 -0
  1202. package/sdks/typescript/api-full/src/core/schemas/builders/primitives/any.ts +4 -0
  1203. package/sdks/typescript/api-full/src/core/schemas/builders/primitives/boolean.ts +25 -0
  1204. package/sdks/typescript/api-full/src/core/schemas/builders/primitives/index.ts +5 -0
  1205. package/sdks/typescript/api-full/src/core/schemas/builders/primitives/number.ts +25 -0
  1206. package/sdks/typescript/api-full/src/core/schemas/builders/primitives/string.ts +25 -0
  1207. package/sdks/typescript/api-full/src/core/schemas/builders/primitives/unknown.ts +4 -0
  1208. package/sdks/typescript/api-full/src/core/schemas/builders/record/index.ts +2 -0
  1209. package/sdks/typescript/api-full/src/core/schemas/builders/record/record.ts +129 -0
  1210. package/sdks/typescript/api-full/src/core/schemas/builders/record/types.ts +17 -0
  1211. package/sdks/typescript/api-full/src/core/schemas/builders/schema-utils/JsonError.ts +9 -0
  1212. package/sdks/typescript/api-full/src/core/schemas/builders/schema-utils/ParseError.ts +9 -0
  1213. package/sdks/typescript/api-full/src/core/schemas/builders/schema-utils/getSchemaUtils.ts +181 -0
  1214. package/sdks/typescript/api-full/src/core/schemas/builders/schema-utils/index.ts +4 -0
  1215. package/sdks/typescript/api-full/src/core/schemas/builders/schema-utils/stringifyValidationErrors.ts +8 -0
  1216. package/sdks/typescript/api-full/src/core/schemas/builders/set/index.ts +1 -0
  1217. package/sdks/typescript/api-full/src/core/schemas/builders/set/set.ts +43 -0
  1218. package/sdks/typescript/api-full/src/core/schemas/builders/undiscriminated-union/index.ts +6 -0
  1219. package/sdks/typescript/api-full/src/core/schemas/builders/undiscriminated-union/types.ts +10 -0
  1220. package/sdks/typescript/api-full/src/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.ts +60 -0
  1221. package/sdks/typescript/api-full/src/core/schemas/builders/union/discriminant.ts +14 -0
  1222. package/sdks/typescript/api-full/src/core/schemas/builders/union/index.ts +10 -0
  1223. package/sdks/typescript/api-full/src/core/schemas/builders/union/types.ts +26 -0
  1224. package/sdks/typescript/api-full/src/core/schemas/builders/union/union.ts +170 -0
  1225. package/sdks/typescript/api-full/src/core/schemas/index.ts +2 -0
  1226. package/sdks/typescript/api-full/src/core/schemas/utils/MaybePromise.ts +1 -0
  1227. package/sdks/typescript/api-full/src/core/schemas/utils/addQuestionMarksToNullableProperties.ts +9 -0
  1228. package/sdks/typescript/api-full/src/core/schemas/utils/createIdentitySchemaCreator.ts +21 -0
  1229. package/sdks/typescript/api-full/src/core/schemas/utils/entries.ts +3 -0
  1230. package/sdks/typescript/api-full/src/core/schemas/utils/filterObject.ts +13 -0
  1231. package/sdks/typescript/api-full/src/core/schemas/utils/getErrorMessageForIncorrectType.ts +25 -0
  1232. package/sdks/typescript/api-full/src/core/schemas/utils/isPlainObject.ts +17 -0
  1233. package/sdks/typescript/api-full/src/core/schemas/utils/keys.ts +3 -0
  1234. package/sdks/typescript/api-full/src/core/schemas/utils/maybeSkipValidation.ts +38 -0
  1235. package/sdks/typescript/api-full/src/core/schemas/utils/partition.ts +12 -0
  1236. package/sdks/typescript/api-full/src/errors/RivetError.ts +47 -0
  1237. package/sdks/typescript/api-full/src/errors/RivetTimeoutError.ts +10 -0
  1238. package/sdks/typescript/api-full/src/errors/index.ts +2 -0
  1239. package/sdks/typescript/api-full/src/index.ts +4 -0
  1240. package/sdks/typescript/api-full/src/serialization/client/index.ts +1 -0
  1241. package/sdks/typescript/api-full/src/serialization/client/requests/ActorsCreateRequest.ts +31 -0
  1242. package/sdks/typescript/api-full/src/serialization/client/requests/ActorsGetOrCreateRequest.ts +31 -0
  1243. package/sdks/typescript/api-full/src/serialization/client/requests/RunnerConfigsServerlessHealthCheckRequest.ts +22 -0
  1244. package/sdks/typescript/api-full/src/serialization/client/requests/RunnerConfigsUpsertRequestBody.ts +21 -0
  1245. package/sdks/typescript/api-full/src/serialization/client/requests/index.ts +4 -0
  1246. package/sdks/typescript/api-full/src/serialization/index.ts +3 -0
  1247. package/sdks/typescript/api-full/src/serialization/resources/index.ts +2 -0
  1248. package/sdks/typescript/api-full/src/serialization/resources/namespaces/client/index.ts +1 -0
  1249. package/sdks/typescript/api-full/src/serialization/resources/namespaces/client/requests/NamespacesCreateRequest.ts +22 -0
  1250. package/sdks/typescript/api-full/src/serialization/resources/namespaces/client/requests/index.ts +1 -0
  1251. package/sdks/typescript/api-full/src/serialization/resources/namespaces/index.ts +1 -0
  1252. package/sdks/typescript/api-full/src/serialization/types/Actor.ts +45 -0
  1253. package/sdks/typescript/api-full/src/serialization/types/ActorName.ts +18 -0
  1254. package/sdks/typescript/api-full/src/serialization/types/ActorsCreateResponse.ts +21 -0
  1255. package/sdks/typescript/api-full/src/serialization/types/ActorsDeleteResponse.ts +16 -0
  1256. package/sdks/typescript/api-full/src/serialization/types/ActorsGetOrCreateResponse.ts +23 -0
  1257. package/sdks/typescript/api-full/src/serialization/types/ActorsKvGetResponse.ts +22 -0
  1258. package/sdks/typescript/api-full/src/serialization/types/ActorsListNamesResponse.ts +24 -0
  1259. package/sdks/typescript/api-full/src/serialization/types/ActorsListResponse.ts +24 -0
  1260. package/sdks/typescript/api-full/src/serialization/types/CrashPolicy.ts +14 -0
  1261. package/sdks/typescript/api-full/src/serialization/types/Datacenter.ts +22 -0
  1262. package/sdks/typescript/api-full/src/serialization/types/DatacenterHealth.ts +32 -0
  1263. package/sdks/typescript/api-full/src/serialization/types/DatacentersListResponse.ts +24 -0
  1264. package/sdks/typescript/api-full/src/serialization/types/HealthFanoutResponse.ts +21 -0
  1265. package/sdks/typescript/api-full/src/serialization/types/HealthResponse.ts +22 -0
  1266. package/sdks/typescript/api-full/src/serialization/types/HealthStatus.ts +14 -0
  1267. package/sdks/typescript/api-full/src/serialization/types/Namespace.ts +25 -0
  1268. package/sdks/typescript/api-full/src/serialization/types/NamespaceListResponse.ts +24 -0
  1269. package/sdks/typescript/api-full/src/serialization/types/NamespacesCreateResponse.ts +21 -0
  1270. package/sdks/typescript/api-full/src/serialization/types/Pagination.ts +18 -0
  1271. package/sdks/typescript/api-full/src/serialization/types/RivetId.ts +13 -0
  1272. package/sdks/typescript/api-full/src/serialization/types/Runner.ts +46 -0
  1273. package/sdks/typescript/api-full/src/serialization/types/RunnerConfig.ts +23 -0
  1274. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigKind.ts +16 -0
  1275. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigKindNormal.ts +20 -0
  1276. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigKindServerless.ts +21 -0
  1277. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigKindServerlessServerless.ts +32 -0
  1278. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigServerless.ts +32 -0
  1279. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigVariant.ts +16 -0
  1280. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsDeleteResponse.ts +16 -0
  1281. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsListResponse.ts +27 -0
  1282. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsListResponseRunnerConfigsValue.ts +21 -0
  1283. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsRefreshMetadataRequestBody.ts +16 -0
  1284. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsRefreshMetadataResponse.ts +16 -0
  1285. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessHealthCheckResponse.ts +23 -0
  1286. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessHealthCheckResponseFailure.ts +21 -0
  1287. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessHealthCheckResponseFailureFailure.ts +21 -0
  1288. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessHealthCheckResponseSuccess.ts +21 -0
  1289. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessHealthCheckResponseSuccessSuccess.ts +20 -0
  1290. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataError.ts +35 -0
  1291. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidRequest.ts +23 -0
  1292. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJson.ts +24 -0
  1293. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson.ts +20 -0
  1294. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchema.ts +24 -0
  1295. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema.ts +22 -0
  1296. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatus.ts +24 -0
  1297. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus.ts +22 -0
  1298. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorRequestFailed.ts +23 -0
  1299. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsServerlessMetadataErrorRequestTimedOut.ts +23 -0
  1300. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsUpsertResponse.ts +20 -0
  1301. package/sdks/typescript/api-full/src/serialization/types/RunnersListNamesResponse.ts +23 -0
  1302. package/sdks/typescript/api-full/src/serialization/types/RunnersListResponse.ts +24 -0
  1303. package/sdks/typescript/api-full/src/serialization/types/index.ts +51 -0
  1304. package/sdks/typescript/api-full/tsconfig.json +24 -0
  1305. package/sdks/typescript/runner/.turbo/turbo-build.log +22 -0
  1306. package/sdks/typescript/runner/benches/actor-lifecycle.bench.ts +190 -0
  1307. package/sdks/typescript/runner/benches/utils.ts +143 -0
  1308. package/sdks/typescript/runner/dist/mod.cjs +2951 -0
  1309. package/sdks/typescript/runner/dist/mod.cjs.map +1 -0
  1310. package/sdks/typescript/runner/dist/mod.d.cts +326 -0
  1311. package/sdks/typescript/runner/dist/mod.d.ts +326 -0
  1312. package/sdks/typescript/runner/dist/mod.js +2951 -0
  1313. package/sdks/typescript/runner/dist/mod.js.map +1 -0
  1314. package/sdks/typescript/runner/node_modules/.bin/pino +21 -0
  1315. package/sdks/typescript/runner/node_modules/.bin/tsc +21 -0
  1316. package/sdks/typescript/runner/node_modules/.bin/tsserver +21 -0
  1317. package/sdks/typescript/runner/node_modules/.bin/tsup +21 -0
  1318. package/sdks/typescript/runner/node_modules/.bin/tsup-node +21 -0
  1319. package/sdks/typescript/runner/node_modules/.bin/tsx +21 -0
  1320. package/sdks/typescript/runner/node_modules/.bin/uuid +21 -0
  1321. package/sdks/typescript/runner/node_modules/.bin/vitest +21 -0
  1322. package/sdks/typescript/runner/package.json +37 -0
  1323. package/sdks/typescript/runner/src/actor.ts +196 -0
  1324. package/sdks/typescript/runner/src/log.ts +11 -0
  1325. package/sdks/typescript/runner/src/mod.ts +1755 -0
  1326. package/sdks/typescript/runner/src/stringify.ts +354 -0
  1327. package/sdks/typescript/runner/src/tunnel.ts +1178 -0
  1328. package/sdks/typescript/runner/src/utils.ts +159 -0
  1329. package/sdks/typescript/runner/src/websocket-tunnel-adapter.ts +567 -0
  1330. package/sdks/typescript/runner/src/websocket.ts +43 -0
  1331. package/sdks/typescript/runner/tests/lifecycle.test.ts +596 -0
  1332. package/sdks/typescript/runner/tests/utils.test.ts +194 -0
  1333. package/sdks/typescript/runner/tsconfig.json +11 -0
  1334. package/sdks/typescript/runner/tsup.config.ts +4 -0
  1335. package/sdks/typescript/runner/turbo.json +4 -0
  1336. package/sdks/typescript/runner/vitest.config.ts +16 -0
  1337. package/sdks/typescript/runner-protocol/.turbo/turbo-build.log +22 -0
  1338. package/sdks/typescript/runner-protocol/dist/index.cjs +1632 -0
  1339. package/sdks/typescript/runner-protocol/dist/index.cjs.map +1 -0
  1340. package/sdks/typescript/runner-protocol/dist/index.d.cts +666 -0
  1341. package/sdks/typescript/runner-protocol/dist/index.d.ts +666 -0
  1342. package/sdks/typescript/runner-protocol/dist/index.js +1632 -0
  1343. package/sdks/typescript/runner-protocol/dist/index.js.map +1 -0
  1344. package/sdks/typescript/runner-protocol/node_modules/.bin/tsc +21 -0
  1345. package/sdks/typescript/runner-protocol/node_modules/.bin/tsserver +21 -0
  1346. package/sdks/typescript/runner-protocol/node_modules/.bin/tsup +21 -0
  1347. package/sdks/typescript/runner-protocol/node_modules/.bin/tsup-node +21 -0
  1348. package/sdks/typescript/runner-protocol/package.json +34 -0
  1349. package/sdks/typescript/runner-protocol/src/index.ts +2121 -0
  1350. package/sdks/typescript/runner-protocol/tsconfig.json +17 -0
  1351. package/sdks/typescript/runner-protocol/tsup.config.ts +4 -0
  1352. package/sdks/typescript/runner-protocol/turbo.json +4 -0
  1353. package/sdks/typescript/test-runner/.turbo/turbo-build.log +17 -0
  1354. package/sdks/typescript/test-runner/Dockerfile +26 -0
  1355. package/sdks/typescript/test-runner/dist/index.d.ts +6 -0
  1356. package/sdks/typescript/test-runner/dist/index.js +345 -0
  1357. package/sdks/typescript/test-runner/dist/index.js.map +1 -0
  1358. package/sdks/typescript/test-runner/node_modules/.bin/pino +21 -0
  1359. package/sdks/typescript/test-runner/node_modules/.bin/tsc +21 -0
  1360. package/sdks/typescript/test-runner/node_modules/.bin/tsserver +21 -0
  1361. package/sdks/typescript/test-runner/node_modules/.bin/tsup +21 -0
  1362. package/sdks/typescript/test-runner/node_modules/.bin/tsup-node +21 -0
  1363. package/sdks/typescript/test-runner/node_modules/.bin/tsx +21 -0
  1364. package/sdks/typescript/test-runner/node_modules/.bin/vitest +21 -0
  1365. package/sdks/typescript/test-runner/package.json +27 -0
  1366. package/sdks/typescript/test-runner/src/index.ts +287 -0
  1367. package/sdks/typescript/test-runner/src/log.ts +194 -0
  1368. package/sdks/typescript/test-runner/tsconfig.json +11 -0
  1369. package/sdks/typescript/test-runner/tsup.config.ts +7 -0
  1370. package/sdks/typescript/test-runner/turbo.json +4 -0
  1371. package/sdks/typescript/test-runner/vitest.config.ts +16 -0
  1372. package/tests/load/README.md +28 -0
  1373. package/tests/load/actor-lifecycle/README.md +26 -0
  1374. package/tests/load/actor-lifecycle/actor.ts +41 -0
  1375. package/tests/load/actor-lifecycle/config.ts +14 -0
  1376. package/tests/load/actor-lifecycle/index.ts +62 -0
  1377. package/tests/load/actor-lifecycle/rivet_api.ts +140 -0
  1378. package/tests/load/actor-lifecycle/types.ts +17 -0
  1379. package/tests/load/node_modules/.bin/biome +21 -0
  1380. package/tests/load/node_modules/.bin/tsc +21 -0
  1381. package/tests/load/node_modules/.bin/tsserver +21 -0
  1382. package/tests/load/package.json +15 -0
  1383. package/tests/load/tsconfig.json +20 -0
  1384. package/tests/smoke/README.md +32 -0
  1385. package/tests/smoke/package.json +19 -0
  1386. package/tests/smoke/scripts/connect.ts +41 -0
  1387. package/tests/smoke/src/server/registry.ts +32 -0
  1388. package/tests/smoke/src/server/server.ts +7 -0
  1389. package/tests/smoke/src/smoke-test/index.ts +161 -0
  1390. package/tests/smoke/src/smoke-test/spawn-actor.ts +109 -0
  1391. package/tests/smoke/tsconfig.json +43 -0
  1392. package/tests/smoke/turbo.json +4 -0
@@ -0,0 +1,2121 @@
1
+ import assert from "node:assert"
2
+ import * as bare from "@bare-ts/lib"
3
+
4
+ const DEFAULT_CONFIG = /* @__PURE__ */ bare.Config({})
5
+
6
+ export type i64 = bigint
7
+ export type u16 = number
8
+ export type u32 = number
9
+ export type u64 = bigint
10
+
11
+ export type Id = string
12
+
13
+ export function readId(bc: bare.ByteCursor): Id {
14
+ return bare.readString(bc)
15
+ }
16
+
17
+ export function writeId(bc: bare.ByteCursor, x: Id): void {
18
+ bare.writeString(bc, x)
19
+ }
20
+
21
+ export type Json = string
22
+
23
+ export function readJson(bc: bare.ByteCursor): Json {
24
+ return bare.readString(bc)
25
+ }
26
+
27
+ export function writeJson(bc: bare.ByteCursor, x: Json): void {
28
+ bare.writeString(bc, x)
29
+ }
30
+
31
+ export type GatewayId = ArrayBuffer
32
+
33
+ export function readGatewayId(bc: bare.ByteCursor): GatewayId {
34
+ return bare.readFixedData(bc, 4)
35
+ }
36
+
37
+ export function writeGatewayId(bc: bare.ByteCursor, x: GatewayId): void {
38
+ assert(x.byteLength === 4)
39
+ bare.writeFixedData(bc, x)
40
+ }
41
+
42
+ export type RequestId = ArrayBuffer
43
+
44
+ export function readRequestId(bc: bare.ByteCursor): RequestId {
45
+ return bare.readFixedData(bc, 4)
46
+ }
47
+
48
+ export function writeRequestId(bc: bare.ByteCursor, x: RequestId): void {
49
+ assert(x.byteLength === 4)
50
+ bare.writeFixedData(bc, x)
51
+ }
52
+
53
+ export type MessageIndex = u16
54
+
55
+ export function readMessageIndex(bc: bare.ByteCursor): MessageIndex {
56
+ return bare.readU16(bc)
57
+ }
58
+
59
+ export function writeMessageIndex(bc: bare.ByteCursor, x: MessageIndex): void {
60
+ bare.writeU16(bc, x)
61
+ }
62
+
63
+ /**
64
+ * Basic types
65
+ */
66
+ export type KvKey = ArrayBuffer
67
+
68
+ export function readKvKey(bc: bare.ByteCursor): KvKey {
69
+ return bare.readData(bc)
70
+ }
71
+
72
+ export function writeKvKey(bc: bare.ByteCursor, x: KvKey): void {
73
+ bare.writeData(bc, x)
74
+ }
75
+
76
+ export type KvValue = ArrayBuffer
77
+
78
+ export function readKvValue(bc: bare.ByteCursor): KvValue {
79
+ return bare.readData(bc)
80
+ }
81
+
82
+ export function writeKvValue(bc: bare.ByteCursor, x: KvValue): void {
83
+ bare.writeData(bc, x)
84
+ }
85
+
86
+ export type KvMetadata = {
87
+ readonly version: ArrayBuffer
88
+ /**
89
+ * TODO: Rename to update_ts
90
+ */
91
+ readonly createTs: i64
92
+ }
93
+
94
+ export function readKvMetadata(bc: bare.ByteCursor): KvMetadata {
95
+ return {
96
+ version: bare.readData(bc),
97
+ createTs: bare.readI64(bc),
98
+ }
99
+ }
100
+
101
+ export function writeKvMetadata(bc: bare.ByteCursor, x: KvMetadata): void {
102
+ bare.writeData(bc, x.version)
103
+ bare.writeI64(bc, x.createTs)
104
+ }
105
+
106
+ /**
107
+ * Query types
108
+ */
109
+ export type KvListAllQuery = null
110
+
111
+ export type KvListRangeQuery = {
112
+ readonly start: KvKey
113
+ readonly end: KvKey
114
+ readonly exclusive: boolean
115
+ }
116
+
117
+ export function readKvListRangeQuery(bc: bare.ByteCursor): KvListRangeQuery {
118
+ return {
119
+ start: readKvKey(bc),
120
+ end: readKvKey(bc),
121
+ exclusive: bare.readBool(bc),
122
+ }
123
+ }
124
+
125
+ export function writeKvListRangeQuery(bc: bare.ByteCursor, x: KvListRangeQuery): void {
126
+ writeKvKey(bc, x.start)
127
+ writeKvKey(bc, x.end)
128
+ bare.writeBool(bc, x.exclusive)
129
+ }
130
+
131
+ export type KvListPrefixQuery = {
132
+ readonly key: KvKey
133
+ }
134
+
135
+ export function readKvListPrefixQuery(bc: bare.ByteCursor): KvListPrefixQuery {
136
+ return {
137
+ key: readKvKey(bc),
138
+ }
139
+ }
140
+
141
+ export function writeKvListPrefixQuery(bc: bare.ByteCursor, x: KvListPrefixQuery): void {
142
+ writeKvKey(bc, x.key)
143
+ }
144
+
145
+ export type KvListQuery =
146
+ | { readonly tag: "KvListAllQuery"; readonly val: KvListAllQuery }
147
+ | { readonly tag: "KvListRangeQuery"; readonly val: KvListRangeQuery }
148
+ | { readonly tag: "KvListPrefixQuery"; readonly val: KvListPrefixQuery }
149
+
150
+ export function readKvListQuery(bc: bare.ByteCursor): KvListQuery {
151
+ const offset = bc.offset
152
+ const tag = bare.readU8(bc)
153
+ switch (tag) {
154
+ case 0:
155
+ return { tag: "KvListAllQuery", val: null }
156
+ case 1:
157
+ return { tag: "KvListRangeQuery", val: readKvListRangeQuery(bc) }
158
+ case 2:
159
+ return { tag: "KvListPrefixQuery", val: readKvListPrefixQuery(bc) }
160
+ default: {
161
+ bc.offset = offset
162
+ throw new bare.BareError(offset, "invalid tag")
163
+ }
164
+ }
165
+ }
166
+
167
+ export function writeKvListQuery(bc: bare.ByteCursor, x: KvListQuery): void {
168
+ switch (x.tag) {
169
+ case "KvListAllQuery": {
170
+ bare.writeU8(bc, 0)
171
+ break
172
+ }
173
+ case "KvListRangeQuery": {
174
+ bare.writeU8(bc, 1)
175
+ writeKvListRangeQuery(bc, x.val)
176
+ break
177
+ }
178
+ case "KvListPrefixQuery": {
179
+ bare.writeU8(bc, 2)
180
+ writeKvListPrefixQuery(bc, x.val)
181
+ break
182
+ }
183
+ }
184
+ }
185
+
186
+ function read0(bc: bare.ByteCursor): readonly KvKey[] {
187
+ const len = bare.readUintSafe(bc)
188
+ if (len === 0) {
189
+ return []
190
+ }
191
+ const result = [readKvKey(bc)]
192
+ for (let i = 1; i < len; i++) {
193
+ result[i] = readKvKey(bc)
194
+ }
195
+ return result
196
+ }
197
+
198
+ function write0(bc: bare.ByteCursor, x: readonly KvKey[]): void {
199
+ bare.writeUintSafe(bc, x.length)
200
+ for (let i = 0; i < x.length; i++) {
201
+ writeKvKey(bc, x[i])
202
+ }
203
+ }
204
+
205
+ /**
206
+ * Request types
207
+ */
208
+ export type KvGetRequest = {
209
+ readonly keys: readonly KvKey[]
210
+ }
211
+
212
+ export function readKvGetRequest(bc: bare.ByteCursor): KvGetRequest {
213
+ return {
214
+ keys: read0(bc),
215
+ }
216
+ }
217
+
218
+ export function writeKvGetRequest(bc: bare.ByteCursor, x: KvGetRequest): void {
219
+ write0(bc, x.keys)
220
+ }
221
+
222
+ function read1(bc: bare.ByteCursor): boolean | null {
223
+ return bare.readBool(bc) ? bare.readBool(bc) : null
224
+ }
225
+
226
+ function write1(bc: bare.ByteCursor, x: boolean | null): void {
227
+ bare.writeBool(bc, x != null)
228
+ if (x != null) {
229
+ bare.writeBool(bc, x)
230
+ }
231
+ }
232
+
233
+ function read2(bc: bare.ByteCursor): u64 | null {
234
+ return bare.readBool(bc) ? bare.readU64(bc) : null
235
+ }
236
+
237
+ function write2(bc: bare.ByteCursor, x: u64 | null): void {
238
+ bare.writeBool(bc, x != null)
239
+ if (x != null) {
240
+ bare.writeU64(bc, x)
241
+ }
242
+ }
243
+
244
+ export type KvListRequest = {
245
+ readonly query: KvListQuery
246
+ readonly reverse: boolean | null
247
+ readonly limit: u64 | null
248
+ }
249
+
250
+ export function readKvListRequest(bc: bare.ByteCursor): KvListRequest {
251
+ return {
252
+ query: readKvListQuery(bc),
253
+ reverse: read1(bc),
254
+ limit: read2(bc),
255
+ }
256
+ }
257
+
258
+ export function writeKvListRequest(bc: bare.ByteCursor, x: KvListRequest): void {
259
+ writeKvListQuery(bc, x.query)
260
+ write1(bc, x.reverse)
261
+ write2(bc, x.limit)
262
+ }
263
+
264
+ function read3(bc: bare.ByteCursor): readonly KvValue[] {
265
+ const len = bare.readUintSafe(bc)
266
+ if (len === 0) {
267
+ return []
268
+ }
269
+ const result = [readKvValue(bc)]
270
+ for (let i = 1; i < len; i++) {
271
+ result[i] = readKvValue(bc)
272
+ }
273
+ return result
274
+ }
275
+
276
+ function write3(bc: bare.ByteCursor, x: readonly KvValue[]): void {
277
+ bare.writeUintSafe(bc, x.length)
278
+ for (let i = 0; i < x.length; i++) {
279
+ writeKvValue(bc, x[i])
280
+ }
281
+ }
282
+
283
+ export type KvPutRequest = {
284
+ readonly keys: readonly KvKey[]
285
+ readonly values: readonly KvValue[]
286
+ }
287
+
288
+ export function readKvPutRequest(bc: bare.ByteCursor): KvPutRequest {
289
+ return {
290
+ keys: read0(bc),
291
+ values: read3(bc),
292
+ }
293
+ }
294
+
295
+ export function writeKvPutRequest(bc: bare.ByteCursor, x: KvPutRequest): void {
296
+ write0(bc, x.keys)
297
+ write3(bc, x.values)
298
+ }
299
+
300
+ export type KvDeleteRequest = {
301
+ readonly keys: readonly KvKey[]
302
+ }
303
+
304
+ export function readKvDeleteRequest(bc: bare.ByteCursor): KvDeleteRequest {
305
+ return {
306
+ keys: read0(bc),
307
+ }
308
+ }
309
+
310
+ export function writeKvDeleteRequest(bc: bare.ByteCursor, x: KvDeleteRequest): void {
311
+ write0(bc, x.keys)
312
+ }
313
+
314
+ export type KvDropRequest = null
315
+
316
+ /**
317
+ * Response types
318
+ */
319
+ export type KvErrorResponse = {
320
+ readonly message: string
321
+ }
322
+
323
+ export function readKvErrorResponse(bc: bare.ByteCursor): KvErrorResponse {
324
+ return {
325
+ message: bare.readString(bc),
326
+ }
327
+ }
328
+
329
+ export function writeKvErrorResponse(bc: bare.ByteCursor, x: KvErrorResponse): void {
330
+ bare.writeString(bc, x.message)
331
+ }
332
+
333
+ function read4(bc: bare.ByteCursor): readonly KvMetadata[] {
334
+ const len = bare.readUintSafe(bc)
335
+ if (len === 0) {
336
+ return []
337
+ }
338
+ const result = [readKvMetadata(bc)]
339
+ for (let i = 1; i < len; i++) {
340
+ result[i] = readKvMetadata(bc)
341
+ }
342
+ return result
343
+ }
344
+
345
+ function write4(bc: bare.ByteCursor, x: readonly KvMetadata[]): void {
346
+ bare.writeUintSafe(bc, x.length)
347
+ for (let i = 0; i < x.length; i++) {
348
+ writeKvMetadata(bc, x[i])
349
+ }
350
+ }
351
+
352
+ export type KvGetResponse = {
353
+ readonly keys: readonly KvKey[]
354
+ readonly values: readonly KvValue[]
355
+ readonly metadata: readonly KvMetadata[]
356
+ }
357
+
358
+ export function readKvGetResponse(bc: bare.ByteCursor): KvGetResponse {
359
+ return {
360
+ keys: read0(bc),
361
+ values: read3(bc),
362
+ metadata: read4(bc),
363
+ }
364
+ }
365
+
366
+ export function writeKvGetResponse(bc: bare.ByteCursor, x: KvGetResponse): void {
367
+ write0(bc, x.keys)
368
+ write3(bc, x.values)
369
+ write4(bc, x.metadata)
370
+ }
371
+
372
+ export type KvListResponse = {
373
+ readonly keys: readonly KvKey[]
374
+ readonly values: readonly KvValue[]
375
+ readonly metadata: readonly KvMetadata[]
376
+ }
377
+
378
+ export function readKvListResponse(bc: bare.ByteCursor): KvListResponse {
379
+ return {
380
+ keys: read0(bc),
381
+ values: read3(bc),
382
+ metadata: read4(bc),
383
+ }
384
+ }
385
+
386
+ export function writeKvListResponse(bc: bare.ByteCursor, x: KvListResponse): void {
387
+ write0(bc, x.keys)
388
+ write3(bc, x.values)
389
+ write4(bc, x.metadata)
390
+ }
391
+
392
+ export type KvPutResponse = null
393
+
394
+ export type KvDeleteResponse = null
395
+
396
+ export type KvDropResponse = null
397
+
398
+ /**
399
+ * Request/Response unions
400
+ */
401
+ export type KvRequestData =
402
+ | { readonly tag: "KvGetRequest"; readonly val: KvGetRequest }
403
+ | { readonly tag: "KvListRequest"; readonly val: KvListRequest }
404
+ | { readonly tag: "KvPutRequest"; readonly val: KvPutRequest }
405
+ | { readonly tag: "KvDeleteRequest"; readonly val: KvDeleteRequest }
406
+ | { readonly tag: "KvDropRequest"; readonly val: KvDropRequest }
407
+
408
+ export function readKvRequestData(bc: bare.ByteCursor): KvRequestData {
409
+ const offset = bc.offset
410
+ const tag = bare.readU8(bc)
411
+ switch (tag) {
412
+ case 0:
413
+ return { tag: "KvGetRequest", val: readKvGetRequest(bc) }
414
+ case 1:
415
+ return { tag: "KvListRequest", val: readKvListRequest(bc) }
416
+ case 2:
417
+ return { tag: "KvPutRequest", val: readKvPutRequest(bc) }
418
+ case 3:
419
+ return { tag: "KvDeleteRequest", val: readKvDeleteRequest(bc) }
420
+ case 4:
421
+ return { tag: "KvDropRequest", val: null }
422
+ default: {
423
+ bc.offset = offset
424
+ throw new bare.BareError(offset, "invalid tag")
425
+ }
426
+ }
427
+ }
428
+
429
+ export function writeKvRequestData(bc: bare.ByteCursor, x: KvRequestData): void {
430
+ switch (x.tag) {
431
+ case "KvGetRequest": {
432
+ bare.writeU8(bc, 0)
433
+ writeKvGetRequest(bc, x.val)
434
+ break
435
+ }
436
+ case "KvListRequest": {
437
+ bare.writeU8(bc, 1)
438
+ writeKvListRequest(bc, x.val)
439
+ break
440
+ }
441
+ case "KvPutRequest": {
442
+ bare.writeU8(bc, 2)
443
+ writeKvPutRequest(bc, x.val)
444
+ break
445
+ }
446
+ case "KvDeleteRequest": {
447
+ bare.writeU8(bc, 3)
448
+ writeKvDeleteRequest(bc, x.val)
449
+ break
450
+ }
451
+ case "KvDropRequest": {
452
+ bare.writeU8(bc, 4)
453
+ break
454
+ }
455
+ }
456
+ }
457
+
458
+ export type KvResponseData =
459
+ | { readonly tag: "KvErrorResponse"; readonly val: KvErrorResponse }
460
+ | { readonly tag: "KvGetResponse"; readonly val: KvGetResponse }
461
+ | { readonly tag: "KvListResponse"; readonly val: KvListResponse }
462
+ | { readonly tag: "KvPutResponse"; readonly val: KvPutResponse }
463
+ | { readonly tag: "KvDeleteResponse"; readonly val: KvDeleteResponse }
464
+ | { readonly tag: "KvDropResponse"; readonly val: KvDropResponse }
465
+
466
+ export function readKvResponseData(bc: bare.ByteCursor): KvResponseData {
467
+ const offset = bc.offset
468
+ const tag = bare.readU8(bc)
469
+ switch (tag) {
470
+ case 0:
471
+ return { tag: "KvErrorResponse", val: readKvErrorResponse(bc) }
472
+ case 1:
473
+ return { tag: "KvGetResponse", val: readKvGetResponse(bc) }
474
+ case 2:
475
+ return { tag: "KvListResponse", val: readKvListResponse(bc) }
476
+ case 3:
477
+ return { tag: "KvPutResponse", val: null }
478
+ case 4:
479
+ return { tag: "KvDeleteResponse", val: null }
480
+ case 5:
481
+ return { tag: "KvDropResponse", val: null }
482
+ default: {
483
+ bc.offset = offset
484
+ throw new bare.BareError(offset, "invalid tag")
485
+ }
486
+ }
487
+ }
488
+
489
+ export function writeKvResponseData(bc: bare.ByteCursor, x: KvResponseData): void {
490
+ switch (x.tag) {
491
+ case "KvErrorResponse": {
492
+ bare.writeU8(bc, 0)
493
+ writeKvErrorResponse(bc, x.val)
494
+ break
495
+ }
496
+ case "KvGetResponse": {
497
+ bare.writeU8(bc, 1)
498
+ writeKvGetResponse(bc, x.val)
499
+ break
500
+ }
501
+ case "KvListResponse": {
502
+ bare.writeU8(bc, 2)
503
+ writeKvListResponse(bc, x.val)
504
+ break
505
+ }
506
+ case "KvPutResponse": {
507
+ bare.writeU8(bc, 3)
508
+ break
509
+ }
510
+ case "KvDeleteResponse": {
511
+ bare.writeU8(bc, 4)
512
+ break
513
+ }
514
+ case "KvDropResponse": {
515
+ bare.writeU8(bc, 5)
516
+ break
517
+ }
518
+ }
519
+ }
520
+
521
+ /**
522
+ * Core
523
+ */
524
+ export enum StopCode {
525
+ Ok = "Ok",
526
+ Error = "Error",
527
+ }
528
+
529
+ export function readStopCode(bc: bare.ByteCursor): StopCode {
530
+ const offset = bc.offset
531
+ const tag = bare.readU8(bc)
532
+ switch (tag) {
533
+ case 0:
534
+ return StopCode.Ok
535
+ case 1:
536
+ return StopCode.Error
537
+ default: {
538
+ bc.offset = offset
539
+ throw new bare.BareError(offset, "invalid tag")
540
+ }
541
+ }
542
+ }
543
+
544
+ export function writeStopCode(bc: bare.ByteCursor, x: StopCode): void {
545
+ switch (x) {
546
+ case StopCode.Ok: {
547
+ bare.writeU8(bc, 0)
548
+ break
549
+ }
550
+ case StopCode.Error: {
551
+ bare.writeU8(bc, 1)
552
+ break
553
+ }
554
+ }
555
+ }
556
+
557
+ export type ActorName = {
558
+ readonly metadata: Json
559
+ }
560
+
561
+ export function readActorName(bc: bare.ByteCursor): ActorName {
562
+ return {
563
+ metadata: readJson(bc),
564
+ }
565
+ }
566
+
567
+ export function writeActorName(bc: bare.ByteCursor, x: ActorName): void {
568
+ writeJson(bc, x.metadata)
569
+ }
570
+
571
+ function read5(bc: bare.ByteCursor): string | null {
572
+ return bare.readBool(bc) ? bare.readString(bc) : null
573
+ }
574
+
575
+ function write5(bc: bare.ByteCursor, x: string | null): void {
576
+ bare.writeBool(bc, x != null)
577
+ if (x != null) {
578
+ bare.writeString(bc, x)
579
+ }
580
+ }
581
+
582
+ function read6(bc: bare.ByteCursor): ArrayBuffer | null {
583
+ return bare.readBool(bc) ? bare.readData(bc) : null
584
+ }
585
+
586
+ function write6(bc: bare.ByteCursor, x: ArrayBuffer | null): void {
587
+ bare.writeBool(bc, x != null)
588
+ if (x != null) {
589
+ bare.writeData(bc, x)
590
+ }
591
+ }
592
+
593
+ export type ActorConfig = {
594
+ readonly name: string
595
+ readonly key: string | null
596
+ readonly createTs: i64
597
+ readonly input: ArrayBuffer | null
598
+ }
599
+
600
+ export function readActorConfig(bc: bare.ByteCursor): ActorConfig {
601
+ return {
602
+ name: bare.readString(bc),
603
+ key: read5(bc),
604
+ createTs: bare.readI64(bc),
605
+ input: read6(bc),
606
+ }
607
+ }
608
+
609
+ export function writeActorConfig(bc: bare.ByteCursor, x: ActorConfig): void {
610
+ bare.writeString(bc, x.name)
611
+ write5(bc, x.key)
612
+ bare.writeI64(bc, x.createTs)
613
+ write6(bc, x.input)
614
+ }
615
+
616
+ /**
617
+ * Intent
618
+ */
619
+ export type ActorIntentSleep = null
620
+
621
+ export type ActorIntentStop = null
622
+
623
+ export type ActorIntent =
624
+ | { readonly tag: "ActorIntentSleep"; readonly val: ActorIntentSleep }
625
+ | { readonly tag: "ActorIntentStop"; readonly val: ActorIntentStop }
626
+
627
+ export function readActorIntent(bc: bare.ByteCursor): ActorIntent {
628
+ const offset = bc.offset
629
+ const tag = bare.readU8(bc)
630
+ switch (tag) {
631
+ case 0:
632
+ return { tag: "ActorIntentSleep", val: null }
633
+ case 1:
634
+ return { tag: "ActorIntentStop", val: null }
635
+ default: {
636
+ bc.offset = offset
637
+ throw new bare.BareError(offset, "invalid tag")
638
+ }
639
+ }
640
+ }
641
+
642
+ export function writeActorIntent(bc: bare.ByteCursor, x: ActorIntent): void {
643
+ switch (x.tag) {
644
+ case "ActorIntentSleep": {
645
+ bare.writeU8(bc, 0)
646
+ break
647
+ }
648
+ case "ActorIntentStop": {
649
+ bare.writeU8(bc, 1)
650
+ break
651
+ }
652
+ }
653
+ }
654
+
655
+ /**
656
+ * State
657
+ */
658
+ export type ActorStateRunning = null
659
+
660
+ export type ActorStateStopped = {
661
+ readonly code: StopCode
662
+ readonly message: string | null
663
+ }
664
+
665
+ export function readActorStateStopped(bc: bare.ByteCursor): ActorStateStopped {
666
+ return {
667
+ code: readStopCode(bc),
668
+ message: read5(bc),
669
+ }
670
+ }
671
+
672
+ export function writeActorStateStopped(bc: bare.ByteCursor, x: ActorStateStopped): void {
673
+ writeStopCode(bc, x.code)
674
+ write5(bc, x.message)
675
+ }
676
+
677
+ export type ActorState =
678
+ | { readonly tag: "ActorStateRunning"; readonly val: ActorStateRunning }
679
+ | { readonly tag: "ActorStateStopped"; readonly val: ActorStateStopped }
680
+
681
+ export function readActorState(bc: bare.ByteCursor): ActorState {
682
+ const offset = bc.offset
683
+ const tag = bare.readU8(bc)
684
+ switch (tag) {
685
+ case 0:
686
+ return { tag: "ActorStateRunning", val: null }
687
+ case 1:
688
+ return { tag: "ActorStateStopped", val: readActorStateStopped(bc) }
689
+ default: {
690
+ bc.offset = offset
691
+ throw new bare.BareError(offset, "invalid tag")
692
+ }
693
+ }
694
+ }
695
+
696
+ export function writeActorState(bc: bare.ByteCursor, x: ActorState): void {
697
+ switch (x.tag) {
698
+ case "ActorStateRunning": {
699
+ bare.writeU8(bc, 0)
700
+ break
701
+ }
702
+ case "ActorStateStopped": {
703
+ bare.writeU8(bc, 1)
704
+ writeActorStateStopped(bc, x.val)
705
+ break
706
+ }
707
+ }
708
+ }
709
+
710
+ /**
711
+ * MARK: Events
712
+ */
713
+ export type EventActorIntent = {
714
+ readonly actorId: Id
715
+ readonly generation: u32
716
+ readonly intent: ActorIntent
717
+ }
718
+
719
+ export function readEventActorIntent(bc: bare.ByteCursor): EventActorIntent {
720
+ return {
721
+ actorId: readId(bc),
722
+ generation: bare.readU32(bc),
723
+ intent: readActorIntent(bc),
724
+ }
725
+ }
726
+
727
+ export function writeEventActorIntent(bc: bare.ByteCursor, x: EventActorIntent): void {
728
+ writeId(bc, x.actorId)
729
+ bare.writeU32(bc, x.generation)
730
+ writeActorIntent(bc, x.intent)
731
+ }
732
+
733
+ export type EventActorStateUpdate = {
734
+ readonly actorId: Id
735
+ readonly generation: u32
736
+ readonly state: ActorState
737
+ }
738
+
739
+ export function readEventActorStateUpdate(bc: bare.ByteCursor): EventActorStateUpdate {
740
+ return {
741
+ actorId: readId(bc),
742
+ generation: bare.readU32(bc),
743
+ state: readActorState(bc),
744
+ }
745
+ }
746
+
747
+ export function writeEventActorStateUpdate(bc: bare.ByteCursor, x: EventActorStateUpdate): void {
748
+ writeId(bc, x.actorId)
749
+ bare.writeU32(bc, x.generation)
750
+ writeActorState(bc, x.state)
751
+ }
752
+
753
+ function read7(bc: bare.ByteCursor): i64 | null {
754
+ return bare.readBool(bc) ? bare.readI64(bc) : null
755
+ }
756
+
757
+ function write7(bc: bare.ByteCursor, x: i64 | null): void {
758
+ bare.writeBool(bc, x != null)
759
+ if (x != null) {
760
+ bare.writeI64(bc, x)
761
+ }
762
+ }
763
+
764
+ export type EventActorSetAlarm = {
765
+ readonly actorId: Id
766
+ readonly generation: u32
767
+ readonly alarmTs: i64 | null
768
+ }
769
+
770
+ export function readEventActorSetAlarm(bc: bare.ByteCursor): EventActorSetAlarm {
771
+ return {
772
+ actorId: readId(bc),
773
+ generation: bare.readU32(bc),
774
+ alarmTs: read7(bc),
775
+ }
776
+ }
777
+
778
+ export function writeEventActorSetAlarm(bc: bare.ByteCursor, x: EventActorSetAlarm): void {
779
+ writeId(bc, x.actorId)
780
+ bare.writeU32(bc, x.generation)
781
+ write7(bc, x.alarmTs)
782
+ }
783
+
784
+ export type Event =
785
+ | { readonly tag: "EventActorIntent"; readonly val: EventActorIntent }
786
+ | { readonly tag: "EventActorStateUpdate"; readonly val: EventActorStateUpdate }
787
+ | { readonly tag: "EventActorSetAlarm"; readonly val: EventActorSetAlarm }
788
+
789
+ export function readEvent(bc: bare.ByteCursor): Event {
790
+ const offset = bc.offset
791
+ const tag = bare.readU8(bc)
792
+ switch (tag) {
793
+ case 0:
794
+ return { tag: "EventActorIntent", val: readEventActorIntent(bc) }
795
+ case 1:
796
+ return { tag: "EventActorStateUpdate", val: readEventActorStateUpdate(bc) }
797
+ case 2:
798
+ return { tag: "EventActorSetAlarm", val: readEventActorSetAlarm(bc) }
799
+ default: {
800
+ bc.offset = offset
801
+ throw new bare.BareError(offset, "invalid tag")
802
+ }
803
+ }
804
+ }
805
+
806
+ export function writeEvent(bc: bare.ByteCursor, x: Event): void {
807
+ switch (x.tag) {
808
+ case "EventActorIntent": {
809
+ bare.writeU8(bc, 0)
810
+ writeEventActorIntent(bc, x.val)
811
+ break
812
+ }
813
+ case "EventActorStateUpdate": {
814
+ bare.writeU8(bc, 1)
815
+ writeEventActorStateUpdate(bc, x.val)
816
+ break
817
+ }
818
+ case "EventActorSetAlarm": {
819
+ bare.writeU8(bc, 2)
820
+ writeEventActorSetAlarm(bc, x.val)
821
+ break
822
+ }
823
+ }
824
+ }
825
+
826
+ export type EventWrapper = {
827
+ readonly index: i64
828
+ readonly inner: Event
829
+ }
830
+
831
+ export function readEventWrapper(bc: bare.ByteCursor): EventWrapper {
832
+ return {
833
+ index: bare.readI64(bc),
834
+ inner: readEvent(bc),
835
+ }
836
+ }
837
+
838
+ export function writeEventWrapper(bc: bare.ByteCursor, x: EventWrapper): void {
839
+ bare.writeI64(bc, x.index)
840
+ writeEvent(bc, x.inner)
841
+ }
842
+
843
+ export type HibernatingRequest = {
844
+ readonly gatewayId: GatewayId
845
+ readonly requestId: RequestId
846
+ }
847
+
848
+ export function readHibernatingRequest(bc: bare.ByteCursor): HibernatingRequest {
849
+ return {
850
+ gatewayId: readGatewayId(bc),
851
+ requestId: readRequestId(bc),
852
+ }
853
+ }
854
+
855
+ export function writeHibernatingRequest(bc: bare.ByteCursor, x: HibernatingRequest): void {
856
+ writeGatewayId(bc, x.gatewayId)
857
+ writeRequestId(bc, x.requestId)
858
+ }
859
+
860
+ function read8(bc: bare.ByteCursor): readonly HibernatingRequest[] {
861
+ const len = bare.readUintSafe(bc)
862
+ if (len === 0) {
863
+ return []
864
+ }
865
+ const result = [readHibernatingRequest(bc)]
866
+ for (let i = 1; i < len; i++) {
867
+ result[i] = readHibernatingRequest(bc)
868
+ }
869
+ return result
870
+ }
871
+
872
+ function write8(bc: bare.ByteCursor, x: readonly HibernatingRequest[]): void {
873
+ bare.writeUintSafe(bc, x.length)
874
+ for (let i = 0; i < x.length; i++) {
875
+ writeHibernatingRequest(bc, x[i])
876
+ }
877
+ }
878
+
879
+ export type CommandStartActor = {
880
+ readonly actorId: Id
881
+ readonly generation: u32
882
+ readonly config: ActorConfig
883
+ readonly hibernatingRequests: readonly HibernatingRequest[]
884
+ }
885
+
886
+ export function readCommandStartActor(bc: bare.ByteCursor): CommandStartActor {
887
+ return {
888
+ actorId: readId(bc),
889
+ generation: bare.readU32(bc),
890
+ config: readActorConfig(bc),
891
+ hibernatingRequests: read8(bc),
892
+ }
893
+ }
894
+
895
+ export function writeCommandStartActor(bc: bare.ByteCursor, x: CommandStartActor): void {
896
+ writeId(bc, x.actorId)
897
+ bare.writeU32(bc, x.generation)
898
+ writeActorConfig(bc, x.config)
899
+ write8(bc, x.hibernatingRequests)
900
+ }
901
+
902
+ export type CommandStopActor = {
903
+ readonly actorId: Id
904
+ readonly generation: u32
905
+ }
906
+
907
+ export function readCommandStopActor(bc: bare.ByteCursor): CommandStopActor {
908
+ return {
909
+ actorId: readId(bc),
910
+ generation: bare.readU32(bc),
911
+ }
912
+ }
913
+
914
+ export function writeCommandStopActor(bc: bare.ByteCursor, x: CommandStopActor): void {
915
+ writeId(bc, x.actorId)
916
+ bare.writeU32(bc, x.generation)
917
+ }
918
+
919
+ export type Command =
920
+ | { readonly tag: "CommandStartActor"; readonly val: CommandStartActor }
921
+ | { readonly tag: "CommandStopActor"; readonly val: CommandStopActor }
922
+
923
+ export function readCommand(bc: bare.ByteCursor): Command {
924
+ const offset = bc.offset
925
+ const tag = bare.readU8(bc)
926
+ switch (tag) {
927
+ case 0:
928
+ return { tag: "CommandStartActor", val: readCommandStartActor(bc) }
929
+ case 1:
930
+ return { tag: "CommandStopActor", val: readCommandStopActor(bc) }
931
+ default: {
932
+ bc.offset = offset
933
+ throw new bare.BareError(offset, "invalid tag")
934
+ }
935
+ }
936
+ }
937
+
938
+ export function writeCommand(bc: bare.ByteCursor, x: Command): void {
939
+ switch (x.tag) {
940
+ case "CommandStartActor": {
941
+ bare.writeU8(bc, 0)
942
+ writeCommandStartActor(bc, x.val)
943
+ break
944
+ }
945
+ case "CommandStopActor": {
946
+ bare.writeU8(bc, 1)
947
+ writeCommandStopActor(bc, x.val)
948
+ break
949
+ }
950
+ }
951
+ }
952
+
953
+ export type CommandWrapper = {
954
+ readonly index: i64
955
+ readonly inner: Command
956
+ }
957
+
958
+ export function readCommandWrapper(bc: bare.ByteCursor): CommandWrapper {
959
+ return {
960
+ index: bare.readI64(bc),
961
+ inner: readCommand(bc),
962
+ }
963
+ }
964
+
965
+ export function writeCommandWrapper(bc: bare.ByteCursor, x: CommandWrapper): void {
966
+ bare.writeI64(bc, x.index)
967
+ writeCommand(bc, x.inner)
968
+ }
969
+
970
+ export type MessageId = {
971
+ /**
972
+ * Globally unique ID
973
+ */
974
+ readonly gatewayId: GatewayId
975
+ /**
976
+ * Unique ID to the gateway
977
+ */
978
+ readonly requestId: RequestId
979
+ /**
980
+ * Unique ID to the request
981
+ */
982
+ readonly messageIndex: MessageIndex
983
+ }
984
+
985
+ export function readMessageId(bc: bare.ByteCursor): MessageId {
986
+ return {
987
+ gatewayId: readGatewayId(bc),
988
+ requestId: readRequestId(bc),
989
+ messageIndex: readMessageIndex(bc),
990
+ }
991
+ }
992
+
993
+ export function writeMessageId(bc: bare.ByteCursor, x: MessageId): void {
994
+ writeGatewayId(bc, x.gatewayId)
995
+ writeRequestId(bc, x.requestId)
996
+ writeMessageIndex(bc, x.messageIndex)
997
+ }
998
+
999
+ export type DeprecatedTunnelAck = null
1000
+
1001
+ function read9(bc: bare.ByteCursor): ReadonlyMap<string, string> {
1002
+ const len = bare.readUintSafe(bc)
1003
+ const result = new Map<string, string>()
1004
+ for (let i = 0; i < len; i++) {
1005
+ const offset = bc.offset
1006
+ const key = bare.readString(bc)
1007
+ if (result.has(key)) {
1008
+ bc.offset = offset
1009
+ throw new bare.BareError(offset, "duplicated key")
1010
+ }
1011
+ result.set(key, bare.readString(bc))
1012
+ }
1013
+ return result
1014
+ }
1015
+
1016
+ function write9(bc: bare.ByteCursor, x: ReadonlyMap<string, string>): void {
1017
+ bare.writeUintSafe(bc, x.size)
1018
+ for (const kv of x) {
1019
+ bare.writeString(bc, kv[0])
1020
+ bare.writeString(bc, kv[1])
1021
+ }
1022
+ }
1023
+
1024
+ /**
1025
+ * HTTP
1026
+ */
1027
+ export type ToClientRequestStart = {
1028
+ readonly actorId: Id
1029
+ readonly method: string
1030
+ readonly path: string
1031
+ readonly headers: ReadonlyMap<string, string>
1032
+ readonly body: ArrayBuffer | null
1033
+ readonly stream: boolean
1034
+ }
1035
+
1036
+ export function readToClientRequestStart(bc: bare.ByteCursor): ToClientRequestStart {
1037
+ return {
1038
+ actorId: readId(bc),
1039
+ method: bare.readString(bc),
1040
+ path: bare.readString(bc),
1041
+ headers: read9(bc),
1042
+ body: read6(bc),
1043
+ stream: bare.readBool(bc),
1044
+ }
1045
+ }
1046
+
1047
+ export function writeToClientRequestStart(bc: bare.ByteCursor, x: ToClientRequestStart): void {
1048
+ writeId(bc, x.actorId)
1049
+ bare.writeString(bc, x.method)
1050
+ bare.writeString(bc, x.path)
1051
+ write9(bc, x.headers)
1052
+ write6(bc, x.body)
1053
+ bare.writeBool(bc, x.stream)
1054
+ }
1055
+
1056
+ export type ToClientRequestChunk = {
1057
+ readonly body: ArrayBuffer
1058
+ readonly finish: boolean
1059
+ }
1060
+
1061
+ export function readToClientRequestChunk(bc: bare.ByteCursor): ToClientRequestChunk {
1062
+ return {
1063
+ body: bare.readData(bc),
1064
+ finish: bare.readBool(bc),
1065
+ }
1066
+ }
1067
+
1068
+ export function writeToClientRequestChunk(bc: bare.ByteCursor, x: ToClientRequestChunk): void {
1069
+ bare.writeData(bc, x.body)
1070
+ bare.writeBool(bc, x.finish)
1071
+ }
1072
+
1073
+ export type ToClientRequestAbort = null
1074
+
1075
+ export type ToServerResponseStart = {
1076
+ readonly status: u16
1077
+ readonly headers: ReadonlyMap<string, string>
1078
+ readonly body: ArrayBuffer | null
1079
+ readonly stream: boolean
1080
+ }
1081
+
1082
+ export function readToServerResponseStart(bc: bare.ByteCursor): ToServerResponseStart {
1083
+ return {
1084
+ status: bare.readU16(bc),
1085
+ headers: read9(bc),
1086
+ body: read6(bc),
1087
+ stream: bare.readBool(bc),
1088
+ }
1089
+ }
1090
+
1091
+ export function writeToServerResponseStart(bc: bare.ByteCursor, x: ToServerResponseStart): void {
1092
+ bare.writeU16(bc, x.status)
1093
+ write9(bc, x.headers)
1094
+ write6(bc, x.body)
1095
+ bare.writeBool(bc, x.stream)
1096
+ }
1097
+
1098
+ export type ToServerResponseChunk = {
1099
+ readonly body: ArrayBuffer
1100
+ readonly finish: boolean
1101
+ }
1102
+
1103
+ export function readToServerResponseChunk(bc: bare.ByteCursor): ToServerResponseChunk {
1104
+ return {
1105
+ body: bare.readData(bc),
1106
+ finish: bare.readBool(bc),
1107
+ }
1108
+ }
1109
+
1110
+ export function writeToServerResponseChunk(bc: bare.ByteCursor, x: ToServerResponseChunk): void {
1111
+ bare.writeData(bc, x.body)
1112
+ bare.writeBool(bc, x.finish)
1113
+ }
1114
+
1115
+ export type ToServerResponseAbort = null
1116
+
1117
+ /**
1118
+ * WebSocket
1119
+ */
1120
+ export type ToClientWebSocketOpen = {
1121
+ readonly actorId: Id
1122
+ readonly path: string
1123
+ readonly headers: ReadonlyMap<string, string>
1124
+ }
1125
+
1126
+ export function readToClientWebSocketOpen(bc: bare.ByteCursor): ToClientWebSocketOpen {
1127
+ return {
1128
+ actorId: readId(bc),
1129
+ path: bare.readString(bc),
1130
+ headers: read9(bc),
1131
+ }
1132
+ }
1133
+
1134
+ export function writeToClientWebSocketOpen(bc: bare.ByteCursor, x: ToClientWebSocketOpen): void {
1135
+ writeId(bc, x.actorId)
1136
+ bare.writeString(bc, x.path)
1137
+ write9(bc, x.headers)
1138
+ }
1139
+
1140
+ export type ToClientWebSocketMessage = {
1141
+ readonly data: ArrayBuffer
1142
+ readonly binary: boolean
1143
+ }
1144
+
1145
+ export function readToClientWebSocketMessage(bc: bare.ByteCursor): ToClientWebSocketMessage {
1146
+ return {
1147
+ data: bare.readData(bc),
1148
+ binary: bare.readBool(bc),
1149
+ }
1150
+ }
1151
+
1152
+ export function writeToClientWebSocketMessage(bc: bare.ByteCursor, x: ToClientWebSocketMessage): void {
1153
+ bare.writeData(bc, x.data)
1154
+ bare.writeBool(bc, x.binary)
1155
+ }
1156
+
1157
+ function read10(bc: bare.ByteCursor): u16 | null {
1158
+ return bare.readBool(bc) ? bare.readU16(bc) : null
1159
+ }
1160
+
1161
+ function write10(bc: bare.ByteCursor, x: u16 | null): void {
1162
+ bare.writeBool(bc, x != null)
1163
+ if (x != null) {
1164
+ bare.writeU16(bc, x)
1165
+ }
1166
+ }
1167
+
1168
+ export type ToClientWebSocketClose = {
1169
+ readonly code: u16 | null
1170
+ readonly reason: string | null
1171
+ }
1172
+
1173
+ export function readToClientWebSocketClose(bc: bare.ByteCursor): ToClientWebSocketClose {
1174
+ return {
1175
+ code: read10(bc),
1176
+ reason: read5(bc),
1177
+ }
1178
+ }
1179
+
1180
+ export function writeToClientWebSocketClose(bc: bare.ByteCursor, x: ToClientWebSocketClose): void {
1181
+ write10(bc, x.code)
1182
+ write5(bc, x.reason)
1183
+ }
1184
+
1185
+ export type ToServerWebSocketOpen = {
1186
+ readonly canHibernate: boolean
1187
+ }
1188
+
1189
+ export function readToServerWebSocketOpen(bc: bare.ByteCursor): ToServerWebSocketOpen {
1190
+ return {
1191
+ canHibernate: bare.readBool(bc),
1192
+ }
1193
+ }
1194
+
1195
+ export function writeToServerWebSocketOpen(bc: bare.ByteCursor, x: ToServerWebSocketOpen): void {
1196
+ bare.writeBool(bc, x.canHibernate)
1197
+ }
1198
+
1199
+ export type ToServerWebSocketMessage = {
1200
+ readonly data: ArrayBuffer
1201
+ readonly binary: boolean
1202
+ }
1203
+
1204
+ export function readToServerWebSocketMessage(bc: bare.ByteCursor): ToServerWebSocketMessage {
1205
+ return {
1206
+ data: bare.readData(bc),
1207
+ binary: bare.readBool(bc),
1208
+ }
1209
+ }
1210
+
1211
+ export function writeToServerWebSocketMessage(bc: bare.ByteCursor, x: ToServerWebSocketMessage): void {
1212
+ bare.writeData(bc, x.data)
1213
+ bare.writeBool(bc, x.binary)
1214
+ }
1215
+
1216
+ export type ToServerWebSocketMessageAck = {
1217
+ readonly index: MessageIndex
1218
+ }
1219
+
1220
+ export function readToServerWebSocketMessageAck(bc: bare.ByteCursor): ToServerWebSocketMessageAck {
1221
+ return {
1222
+ index: readMessageIndex(bc),
1223
+ }
1224
+ }
1225
+
1226
+ export function writeToServerWebSocketMessageAck(bc: bare.ByteCursor, x: ToServerWebSocketMessageAck): void {
1227
+ writeMessageIndex(bc, x.index)
1228
+ }
1229
+
1230
+ export type ToServerWebSocketClose = {
1231
+ readonly code: u16 | null
1232
+ readonly reason: string | null
1233
+ readonly hibernate: boolean
1234
+ }
1235
+
1236
+ export function readToServerWebSocketClose(bc: bare.ByteCursor): ToServerWebSocketClose {
1237
+ return {
1238
+ code: read10(bc),
1239
+ reason: read5(bc),
1240
+ hibernate: bare.readBool(bc),
1241
+ }
1242
+ }
1243
+
1244
+ export function writeToServerWebSocketClose(bc: bare.ByteCursor, x: ToServerWebSocketClose): void {
1245
+ write10(bc, x.code)
1246
+ write5(bc, x.reason)
1247
+ bare.writeBool(bc, x.hibernate)
1248
+ }
1249
+
1250
+ /**
1251
+ * To Server
1252
+ */
1253
+ export type ToServerTunnelMessageKind =
1254
+ | { readonly tag: "DeprecatedTunnelAck"; readonly val: DeprecatedTunnelAck }
1255
+ /**
1256
+ * HTTP
1257
+ */
1258
+ | { readonly tag: "ToServerResponseStart"; readonly val: ToServerResponseStart }
1259
+ | { readonly tag: "ToServerResponseChunk"; readonly val: ToServerResponseChunk }
1260
+ | { readonly tag: "ToServerResponseAbort"; readonly val: ToServerResponseAbort }
1261
+ /**
1262
+ * WebSocket
1263
+ */
1264
+ | { readonly tag: "ToServerWebSocketOpen"; readonly val: ToServerWebSocketOpen }
1265
+ | { readonly tag: "ToServerWebSocketMessage"; readonly val: ToServerWebSocketMessage }
1266
+ | { readonly tag: "ToServerWebSocketMessageAck"; readonly val: ToServerWebSocketMessageAck }
1267
+ | { readonly tag: "ToServerWebSocketClose"; readonly val: ToServerWebSocketClose }
1268
+
1269
+ export function readToServerTunnelMessageKind(bc: bare.ByteCursor): ToServerTunnelMessageKind {
1270
+ const offset = bc.offset
1271
+ const tag = bare.readU8(bc)
1272
+ switch (tag) {
1273
+ case 0:
1274
+ return { tag: "DeprecatedTunnelAck", val: null }
1275
+ case 1:
1276
+ return { tag: "ToServerResponseStart", val: readToServerResponseStart(bc) }
1277
+ case 2:
1278
+ return { tag: "ToServerResponseChunk", val: readToServerResponseChunk(bc) }
1279
+ case 3:
1280
+ return { tag: "ToServerResponseAbort", val: null }
1281
+ case 4:
1282
+ return { tag: "ToServerWebSocketOpen", val: readToServerWebSocketOpen(bc) }
1283
+ case 5:
1284
+ return { tag: "ToServerWebSocketMessage", val: readToServerWebSocketMessage(bc) }
1285
+ case 6:
1286
+ return { tag: "ToServerWebSocketMessageAck", val: readToServerWebSocketMessageAck(bc) }
1287
+ case 7:
1288
+ return { tag: "ToServerWebSocketClose", val: readToServerWebSocketClose(bc) }
1289
+ default: {
1290
+ bc.offset = offset
1291
+ throw new bare.BareError(offset, "invalid tag")
1292
+ }
1293
+ }
1294
+ }
1295
+
1296
+ export function writeToServerTunnelMessageKind(bc: bare.ByteCursor, x: ToServerTunnelMessageKind): void {
1297
+ switch (x.tag) {
1298
+ case "DeprecatedTunnelAck": {
1299
+ bare.writeU8(bc, 0)
1300
+ break
1301
+ }
1302
+ case "ToServerResponseStart": {
1303
+ bare.writeU8(bc, 1)
1304
+ writeToServerResponseStart(bc, x.val)
1305
+ break
1306
+ }
1307
+ case "ToServerResponseChunk": {
1308
+ bare.writeU8(bc, 2)
1309
+ writeToServerResponseChunk(bc, x.val)
1310
+ break
1311
+ }
1312
+ case "ToServerResponseAbort": {
1313
+ bare.writeU8(bc, 3)
1314
+ break
1315
+ }
1316
+ case "ToServerWebSocketOpen": {
1317
+ bare.writeU8(bc, 4)
1318
+ writeToServerWebSocketOpen(bc, x.val)
1319
+ break
1320
+ }
1321
+ case "ToServerWebSocketMessage": {
1322
+ bare.writeU8(bc, 5)
1323
+ writeToServerWebSocketMessage(bc, x.val)
1324
+ break
1325
+ }
1326
+ case "ToServerWebSocketMessageAck": {
1327
+ bare.writeU8(bc, 6)
1328
+ writeToServerWebSocketMessageAck(bc, x.val)
1329
+ break
1330
+ }
1331
+ case "ToServerWebSocketClose": {
1332
+ bare.writeU8(bc, 7)
1333
+ writeToServerWebSocketClose(bc, x.val)
1334
+ break
1335
+ }
1336
+ }
1337
+ }
1338
+
1339
+ export type ToServerTunnelMessage = {
1340
+ readonly messageId: MessageId
1341
+ readonly messageKind: ToServerTunnelMessageKind
1342
+ }
1343
+
1344
+ export function readToServerTunnelMessage(bc: bare.ByteCursor): ToServerTunnelMessage {
1345
+ return {
1346
+ messageId: readMessageId(bc),
1347
+ messageKind: readToServerTunnelMessageKind(bc),
1348
+ }
1349
+ }
1350
+
1351
+ export function writeToServerTunnelMessage(bc: bare.ByteCursor, x: ToServerTunnelMessage): void {
1352
+ writeMessageId(bc, x.messageId)
1353
+ writeToServerTunnelMessageKind(bc, x.messageKind)
1354
+ }
1355
+
1356
+ /**
1357
+ * To Client
1358
+ */
1359
+ export type ToClientTunnelMessageKind =
1360
+ | { readonly tag: "DeprecatedTunnelAck"; readonly val: DeprecatedTunnelAck }
1361
+ /**
1362
+ * HTTP
1363
+ */
1364
+ | { readonly tag: "ToClientRequestStart"; readonly val: ToClientRequestStart }
1365
+ | { readonly tag: "ToClientRequestChunk"; readonly val: ToClientRequestChunk }
1366
+ | { readonly tag: "ToClientRequestAbort"; readonly val: ToClientRequestAbort }
1367
+ /**
1368
+ * WebSocket
1369
+ */
1370
+ | { readonly tag: "ToClientWebSocketOpen"; readonly val: ToClientWebSocketOpen }
1371
+ | { readonly tag: "ToClientWebSocketMessage"; readonly val: ToClientWebSocketMessage }
1372
+ | { readonly tag: "ToClientWebSocketClose"; readonly val: ToClientWebSocketClose }
1373
+
1374
+ export function readToClientTunnelMessageKind(bc: bare.ByteCursor): ToClientTunnelMessageKind {
1375
+ const offset = bc.offset
1376
+ const tag = bare.readU8(bc)
1377
+ switch (tag) {
1378
+ case 0:
1379
+ return { tag: "DeprecatedTunnelAck", val: null }
1380
+ case 1:
1381
+ return { tag: "ToClientRequestStart", val: readToClientRequestStart(bc) }
1382
+ case 2:
1383
+ return { tag: "ToClientRequestChunk", val: readToClientRequestChunk(bc) }
1384
+ case 3:
1385
+ return { tag: "ToClientRequestAbort", val: null }
1386
+ case 4:
1387
+ return { tag: "ToClientWebSocketOpen", val: readToClientWebSocketOpen(bc) }
1388
+ case 5:
1389
+ return { tag: "ToClientWebSocketMessage", val: readToClientWebSocketMessage(bc) }
1390
+ case 6:
1391
+ return { tag: "ToClientWebSocketClose", val: readToClientWebSocketClose(bc) }
1392
+ default: {
1393
+ bc.offset = offset
1394
+ throw new bare.BareError(offset, "invalid tag")
1395
+ }
1396
+ }
1397
+ }
1398
+
1399
+ export function writeToClientTunnelMessageKind(bc: bare.ByteCursor, x: ToClientTunnelMessageKind): void {
1400
+ switch (x.tag) {
1401
+ case "DeprecatedTunnelAck": {
1402
+ bare.writeU8(bc, 0)
1403
+ break
1404
+ }
1405
+ case "ToClientRequestStart": {
1406
+ bare.writeU8(bc, 1)
1407
+ writeToClientRequestStart(bc, x.val)
1408
+ break
1409
+ }
1410
+ case "ToClientRequestChunk": {
1411
+ bare.writeU8(bc, 2)
1412
+ writeToClientRequestChunk(bc, x.val)
1413
+ break
1414
+ }
1415
+ case "ToClientRequestAbort": {
1416
+ bare.writeU8(bc, 3)
1417
+ break
1418
+ }
1419
+ case "ToClientWebSocketOpen": {
1420
+ bare.writeU8(bc, 4)
1421
+ writeToClientWebSocketOpen(bc, x.val)
1422
+ break
1423
+ }
1424
+ case "ToClientWebSocketMessage": {
1425
+ bare.writeU8(bc, 5)
1426
+ writeToClientWebSocketMessage(bc, x.val)
1427
+ break
1428
+ }
1429
+ case "ToClientWebSocketClose": {
1430
+ bare.writeU8(bc, 6)
1431
+ writeToClientWebSocketClose(bc, x.val)
1432
+ break
1433
+ }
1434
+ }
1435
+ }
1436
+
1437
+ export type ToClientTunnelMessage = {
1438
+ readonly messageId: MessageId
1439
+ readonly messageKind: ToClientTunnelMessageKind
1440
+ }
1441
+
1442
+ export function readToClientTunnelMessage(bc: bare.ByteCursor): ToClientTunnelMessage {
1443
+ return {
1444
+ messageId: readMessageId(bc),
1445
+ messageKind: readToClientTunnelMessageKind(bc),
1446
+ }
1447
+ }
1448
+
1449
+ export function writeToClientTunnelMessage(bc: bare.ByteCursor, x: ToClientTunnelMessage): void {
1450
+ writeMessageId(bc, x.messageId)
1451
+ writeToClientTunnelMessageKind(bc, x.messageKind)
1452
+ }
1453
+
1454
+ function read11(bc: bare.ByteCursor): ReadonlyMap<string, ActorName> {
1455
+ const len = bare.readUintSafe(bc)
1456
+ const result = new Map<string, ActorName>()
1457
+ for (let i = 0; i < len; i++) {
1458
+ const offset = bc.offset
1459
+ const key = bare.readString(bc)
1460
+ if (result.has(key)) {
1461
+ bc.offset = offset
1462
+ throw new bare.BareError(offset, "duplicated key")
1463
+ }
1464
+ result.set(key, readActorName(bc))
1465
+ }
1466
+ return result
1467
+ }
1468
+
1469
+ function write11(bc: bare.ByteCursor, x: ReadonlyMap<string, ActorName>): void {
1470
+ bare.writeUintSafe(bc, x.size)
1471
+ for (const kv of x) {
1472
+ bare.writeString(bc, kv[0])
1473
+ writeActorName(bc, kv[1])
1474
+ }
1475
+ }
1476
+
1477
+ function read12(bc: bare.ByteCursor): ReadonlyMap<string, ActorName> | null {
1478
+ return bare.readBool(bc) ? read11(bc) : null
1479
+ }
1480
+
1481
+ function write12(bc: bare.ByteCursor, x: ReadonlyMap<string, ActorName> | null): void {
1482
+ bare.writeBool(bc, x != null)
1483
+ if (x != null) {
1484
+ write11(bc, x)
1485
+ }
1486
+ }
1487
+
1488
+ function read13(bc: bare.ByteCursor): Json | null {
1489
+ return bare.readBool(bc) ? readJson(bc) : null
1490
+ }
1491
+
1492
+ function write13(bc: bare.ByteCursor, x: Json | null): void {
1493
+ bare.writeBool(bc, x != null)
1494
+ if (x != null) {
1495
+ writeJson(bc, x)
1496
+ }
1497
+ }
1498
+
1499
+ /**
1500
+ * MARK: To Server
1501
+ */
1502
+ export type ToServerInit = {
1503
+ readonly name: string
1504
+ readonly version: u32
1505
+ readonly totalSlots: u32
1506
+ readonly lastCommandIdx: i64 | null
1507
+ readonly prepopulateActorNames: ReadonlyMap<string, ActorName> | null
1508
+ readonly metadata: Json | null
1509
+ }
1510
+
1511
+ export function readToServerInit(bc: bare.ByteCursor): ToServerInit {
1512
+ return {
1513
+ name: bare.readString(bc),
1514
+ version: bare.readU32(bc),
1515
+ totalSlots: bare.readU32(bc),
1516
+ lastCommandIdx: read7(bc),
1517
+ prepopulateActorNames: read12(bc),
1518
+ metadata: read13(bc),
1519
+ }
1520
+ }
1521
+
1522
+ export function writeToServerInit(bc: bare.ByteCursor, x: ToServerInit): void {
1523
+ bare.writeString(bc, x.name)
1524
+ bare.writeU32(bc, x.version)
1525
+ bare.writeU32(bc, x.totalSlots)
1526
+ write7(bc, x.lastCommandIdx)
1527
+ write12(bc, x.prepopulateActorNames)
1528
+ write13(bc, x.metadata)
1529
+ }
1530
+
1531
+ export type ToServerEvents = readonly EventWrapper[]
1532
+
1533
+ export function readToServerEvents(bc: bare.ByteCursor): ToServerEvents {
1534
+ const len = bare.readUintSafe(bc)
1535
+ if (len === 0) {
1536
+ return []
1537
+ }
1538
+ const result = [readEventWrapper(bc)]
1539
+ for (let i = 1; i < len; i++) {
1540
+ result[i] = readEventWrapper(bc)
1541
+ }
1542
+ return result
1543
+ }
1544
+
1545
+ export function writeToServerEvents(bc: bare.ByteCursor, x: ToServerEvents): void {
1546
+ bare.writeUintSafe(bc, x.length)
1547
+ for (let i = 0; i < x.length; i++) {
1548
+ writeEventWrapper(bc, x[i])
1549
+ }
1550
+ }
1551
+
1552
+ export type ToServerAckCommands = {
1553
+ readonly lastCommandIdx: i64
1554
+ }
1555
+
1556
+ export function readToServerAckCommands(bc: bare.ByteCursor): ToServerAckCommands {
1557
+ return {
1558
+ lastCommandIdx: bare.readI64(bc),
1559
+ }
1560
+ }
1561
+
1562
+ export function writeToServerAckCommands(bc: bare.ByteCursor, x: ToServerAckCommands): void {
1563
+ bare.writeI64(bc, x.lastCommandIdx)
1564
+ }
1565
+
1566
+ export type ToServerStopping = null
1567
+
1568
+ export type ToServerPing = {
1569
+ readonly ts: i64
1570
+ }
1571
+
1572
+ export function readToServerPing(bc: bare.ByteCursor): ToServerPing {
1573
+ return {
1574
+ ts: bare.readI64(bc),
1575
+ }
1576
+ }
1577
+
1578
+ export function writeToServerPing(bc: bare.ByteCursor, x: ToServerPing): void {
1579
+ bare.writeI64(bc, x.ts)
1580
+ }
1581
+
1582
+ export type ToServerKvRequest = {
1583
+ readonly actorId: Id
1584
+ readonly requestId: u32
1585
+ readonly data: KvRequestData
1586
+ }
1587
+
1588
+ export function readToServerKvRequest(bc: bare.ByteCursor): ToServerKvRequest {
1589
+ return {
1590
+ actorId: readId(bc),
1591
+ requestId: bare.readU32(bc),
1592
+ data: readKvRequestData(bc),
1593
+ }
1594
+ }
1595
+
1596
+ export function writeToServerKvRequest(bc: bare.ByteCursor, x: ToServerKvRequest): void {
1597
+ writeId(bc, x.actorId)
1598
+ bare.writeU32(bc, x.requestId)
1599
+ writeKvRequestData(bc, x.data)
1600
+ }
1601
+
1602
+ export type ToServer =
1603
+ | { readonly tag: "ToServerInit"; readonly val: ToServerInit }
1604
+ | { readonly tag: "ToServerEvents"; readonly val: ToServerEvents }
1605
+ | { readonly tag: "ToServerAckCommands"; readonly val: ToServerAckCommands }
1606
+ | { readonly tag: "ToServerStopping"; readonly val: ToServerStopping }
1607
+ | { readonly tag: "ToServerPing"; readonly val: ToServerPing }
1608
+ | { readonly tag: "ToServerKvRequest"; readonly val: ToServerKvRequest }
1609
+ | { readonly tag: "ToServerTunnelMessage"; readonly val: ToServerTunnelMessage }
1610
+
1611
+ export function readToServer(bc: bare.ByteCursor): ToServer {
1612
+ const offset = bc.offset
1613
+ const tag = bare.readU8(bc)
1614
+ switch (tag) {
1615
+ case 0:
1616
+ return { tag: "ToServerInit", val: readToServerInit(bc) }
1617
+ case 1:
1618
+ return { tag: "ToServerEvents", val: readToServerEvents(bc) }
1619
+ case 2:
1620
+ return { tag: "ToServerAckCommands", val: readToServerAckCommands(bc) }
1621
+ case 3:
1622
+ return { tag: "ToServerStopping", val: null }
1623
+ case 4:
1624
+ return { tag: "ToServerPing", val: readToServerPing(bc) }
1625
+ case 5:
1626
+ return { tag: "ToServerKvRequest", val: readToServerKvRequest(bc) }
1627
+ case 6:
1628
+ return { tag: "ToServerTunnelMessage", val: readToServerTunnelMessage(bc) }
1629
+ default: {
1630
+ bc.offset = offset
1631
+ throw new bare.BareError(offset, "invalid tag")
1632
+ }
1633
+ }
1634
+ }
1635
+
1636
+ export function writeToServer(bc: bare.ByteCursor, x: ToServer): void {
1637
+ switch (x.tag) {
1638
+ case "ToServerInit": {
1639
+ bare.writeU8(bc, 0)
1640
+ writeToServerInit(bc, x.val)
1641
+ break
1642
+ }
1643
+ case "ToServerEvents": {
1644
+ bare.writeU8(bc, 1)
1645
+ writeToServerEvents(bc, x.val)
1646
+ break
1647
+ }
1648
+ case "ToServerAckCommands": {
1649
+ bare.writeU8(bc, 2)
1650
+ writeToServerAckCommands(bc, x.val)
1651
+ break
1652
+ }
1653
+ case "ToServerStopping": {
1654
+ bare.writeU8(bc, 3)
1655
+ break
1656
+ }
1657
+ case "ToServerPing": {
1658
+ bare.writeU8(bc, 4)
1659
+ writeToServerPing(bc, x.val)
1660
+ break
1661
+ }
1662
+ case "ToServerKvRequest": {
1663
+ bare.writeU8(bc, 5)
1664
+ writeToServerKvRequest(bc, x.val)
1665
+ break
1666
+ }
1667
+ case "ToServerTunnelMessage": {
1668
+ bare.writeU8(bc, 6)
1669
+ writeToServerTunnelMessage(bc, x.val)
1670
+ break
1671
+ }
1672
+ }
1673
+ }
1674
+
1675
+ export function encodeToServer(x: ToServer, config?: Partial<bare.Config>): Uint8Array {
1676
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG
1677
+ const bc = new bare.ByteCursor(
1678
+ new Uint8Array(fullConfig.initialBufferLength),
1679
+ fullConfig,
1680
+ )
1681
+ writeToServer(bc, x)
1682
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
1683
+ }
1684
+
1685
+ export function decodeToServer(bytes: Uint8Array): ToServer {
1686
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)
1687
+ const result = readToServer(bc)
1688
+ if (bc.offset < bc.view.byteLength) {
1689
+ throw new bare.BareError(bc.offset, "remaining bytes")
1690
+ }
1691
+ return result
1692
+ }
1693
+
1694
+ /**
1695
+ * MARK: To Client
1696
+ */
1697
+ export type ProtocolMetadata = {
1698
+ readonly runnerLostThreshold: i64
1699
+ }
1700
+
1701
+ export function readProtocolMetadata(bc: bare.ByteCursor): ProtocolMetadata {
1702
+ return {
1703
+ runnerLostThreshold: bare.readI64(bc),
1704
+ }
1705
+ }
1706
+
1707
+ export function writeProtocolMetadata(bc: bare.ByteCursor, x: ProtocolMetadata): void {
1708
+ bare.writeI64(bc, x.runnerLostThreshold)
1709
+ }
1710
+
1711
+ export type ToClientInit = {
1712
+ readonly runnerId: Id
1713
+ readonly lastEventIdx: i64
1714
+ readonly metadata: ProtocolMetadata
1715
+ }
1716
+
1717
+ export function readToClientInit(bc: bare.ByteCursor): ToClientInit {
1718
+ return {
1719
+ runnerId: readId(bc),
1720
+ lastEventIdx: bare.readI64(bc),
1721
+ metadata: readProtocolMetadata(bc),
1722
+ }
1723
+ }
1724
+
1725
+ export function writeToClientInit(bc: bare.ByteCursor, x: ToClientInit): void {
1726
+ writeId(bc, x.runnerId)
1727
+ bare.writeI64(bc, x.lastEventIdx)
1728
+ writeProtocolMetadata(bc, x.metadata)
1729
+ }
1730
+
1731
+ export type ToClientCommands = readonly CommandWrapper[]
1732
+
1733
+ export function readToClientCommands(bc: bare.ByteCursor): ToClientCommands {
1734
+ const len = bare.readUintSafe(bc)
1735
+ if (len === 0) {
1736
+ return []
1737
+ }
1738
+ const result = [readCommandWrapper(bc)]
1739
+ for (let i = 1; i < len; i++) {
1740
+ result[i] = readCommandWrapper(bc)
1741
+ }
1742
+ return result
1743
+ }
1744
+
1745
+ export function writeToClientCommands(bc: bare.ByteCursor, x: ToClientCommands): void {
1746
+ bare.writeUintSafe(bc, x.length)
1747
+ for (let i = 0; i < x.length; i++) {
1748
+ writeCommandWrapper(bc, x[i])
1749
+ }
1750
+ }
1751
+
1752
+ export type ToClientAckEvents = {
1753
+ readonly lastEventIdx: i64
1754
+ }
1755
+
1756
+ export function readToClientAckEvents(bc: bare.ByteCursor): ToClientAckEvents {
1757
+ return {
1758
+ lastEventIdx: bare.readI64(bc),
1759
+ }
1760
+ }
1761
+
1762
+ export function writeToClientAckEvents(bc: bare.ByteCursor, x: ToClientAckEvents): void {
1763
+ bare.writeI64(bc, x.lastEventIdx)
1764
+ }
1765
+
1766
+ export type ToClientKvResponse = {
1767
+ readonly requestId: u32
1768
+ readonly data: KvResponseData
1769
+ }
1770
+
1771
+ export function readToClientKvResponse(bc: bare.ByteCursor): ToClientKvResponse {
1772
+ return {
1773
+ requestId: bare.readU32(bc),
1774
+ data: readKvResponseData(bc),
1775
+ }
1776
+ }
1777
+
1778
+ export function writeToClientKvResponse(bc: bare.ByteCursor, x: ToClientKvResponse): void {
1779
+ bare.writeU32(bc, x.requestId)
1780
+ writeKvResponseData(bc, x.data)
1781
+ }
1782
+
1783
+ export type ToClientClose = null
1784
+
1785
+ export type ToClient =
1786
+ | { readonly tag: "ToClientInit"; readonly val: ToClientInit }
1787
+ | { readonly tag: "ToClientClose"; readonly val: ToClientClose }
1788
+ | { readonly tag: "ToClientCommands"; readonly val: ToClientCommands }
1789
+ | { readonly tag: "ToClientAckEvents"; readonly val: ToClientAckEvents }
1790
+ | { readonly tag: "ToClientKvResponse"; readonly val: ToClientKvResponse }
1791
+ | { readonly tag: "ToClientTunnelMessage"; readonly val: ToClientTunnelMessage }
1792
+
1793
+ export function readToClient(bc: bare.ByteCursor): ToClient {
1794
+ const offset = bc.offset
1795
+ const tag = bare.readU8(bc)
1796
+ switch (tag) {
1797
+ case 0:
1798
+ return { tag: "ToClientInit", val: readToClientInit(bc) }
1799
+ case 1:
1800
+ return { tag: "ToClientClose", val: null }
1801
+ case 2:
1802
+ return { tag: "ToClientCommands", val: readToClientCommands(bc) }
1803
+ case 3:
1804
+ return { tag: "ToClientAckEvents", val: readToClientAckEvents(bc) }
1805
+ case 4:
1806
+ return { tag: "ToClientKvResponse", val: readToClientKvResponse(bc) }
1807
+ case 5:
1808
+ return { tag: "ToClientTunnelMessage", val: readToClientTunnelMessage(bc) }
1809
+ default: {
1810
+ bc.offset = offset
1811
+ throw new bare.BareError(offset, "invalid tag")
1812
+ }
1813
+ }
1814
+ }
1815
+
1816
+ export function writeToClient(bc: bare.ByteCursor, x: ToClient): void {
1817
+ switch (x.tag) {
1818
+ case "ToClientInit": {
1819
+ bare.writeU8(bc, 0)
1820
+ writeToClientInit(bc, x.val)
1821
+ break
1822
+ }
1823
+ case "ToClientClose": {
1824
+ bare.writeU8(bc, 1)
1825
+ break
1826
+ }
1827
+ case "ToClientCommands": {
1828
+ bare.writeU8(bc, 2)
1829
+ writeToClientCommands(bc, x.val)
1830
+ break
1831
+ }
1832
+ case "ToClientAckEvents": {
1833
+ bare.writeU8(bc, 3)
1834
+ writeToClientAckEvents(bc, x.val)
1835
+ break
1836
+ }
1837
+ case "ToClientKvResponse": {
1838
+ bare.writeU8(bc, 4)
1839
+ writeToClientKvResponse(bc, x.val)
1840
+ break
1841
+ }
1842
+ case "ToClientTunnelMessage": {
1843
+ bare.writeU8(bc, 5)
1844
+ writeToClientTunnelMessage(bc, x.val)
1845
+ break
1846
+ }
1847
+ }
1848
+ }
1849
+
1850
+ export function encodeToClient(x: ToClient, config?: Partial<bare.Config>): Uint8Array {
1851
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG
1852
+ const bc = new bare.ByteCursor(
1853
+ new Uint8Array(fullConfig.initialBufferLength),
1854
+ fullConfig,
1855
+ )
1856
+ writeToClient(bc, x)
1857
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
1858
+ }
1859
+
1860
+ export function decodeToClient(bytes: Uint8Array): ToClient {
1861
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)
1862
+ const result = readToClient(bc)
1863
+ if (bc.offset < bc.view.byteLength) {
1864
+ throw new bare.BareError(bc.offset, "remaining bytes")
1865
+ }
1866
+ return result
1867
+ }
1868
+
1869
+ /**
1870
+ * MARK: To Runner
1871
+ */
1872
+ export type ToRunnerPing = {
1873
+ readonly gatewayId: GatewayId
1874
+ readonly requestId: RequestId
1875
+ readonly ts: i64
1876
+ }
1877
+
1878
+ export function readToRunnerPing(bc: bare.ByteCursor): ToRunnerPing {
1879
+ return {
1880
+ gatewayId: readGatewayId(bc),
1881
+ requestId: readRequestId(bc),
1882
+ ts: bare.readI64(bc),
1883
+ }
1884
+ }
1885
+
1886
+ export function writeToRunnerPing(bc: bare.ByteCursor, x: ToRunnerPing): void {
1887
+ writeGatewayId(bc, x.gatewayId)
1888
+ writeRequestId(bc, x.requestId)
1889
+ bare.writeI64(bc, x.ts)
1890
+ }
1891
+
1892
+ /**
1893
+ * We have to re-declare the entire union since BARE will not generate the
1894
+ * ser/de for ToClient if it's not a top-level type
1895
+ */
1896
+ export type ToRunner =
1897
+ | { readonly tag: "ToRunnerPing"; readonly val: ToRunnerPing }
1898
+ | { readonly tag: "ToClientInit"; readonly val: ToClientInit }
1899
+ | { readonly tag: "ToClientClose"; readonly val: ToClientClose }
1900
+ | { readonly tag: "ToClientCommands"; readonly val: ToClientCommands }
1901
+ | { readonly tag: "ToClientAckEvents"; readonly val: ToClientAckEvents }
1902
+ | { readonly tag: "ToClientKvResponse"; readonly val: ToClientKvResponse }
1903
+ | { readonly tag: "ToClientTunnelMessage"; readonly val: ToClientTunnelMessage }
1904
+
1905
+ export function readToRunner(bc: bare.ByteCursor): ToRunner {
1906
+ const offset = bc.offset
1907
+ const tag = bare.readU8(bc)
1908
+ switch (tag) {
1909
+ case 0:
1910
+ return { tag: "ToRunnerPing", val: readToRunnerPing(bc) }
1911
+ case 1:
1912
+ return { tag: "ToClientInit", val: readToClientInit(bc) }
1913
+ case 2:
1914
+ return { tag: "ToClientClose", val: null }
1915
+ case 3:
1916
+ return { tag: "ToClientCommands", val: readToClientCommands(bc) }
1917
+ case 4:
1918
+ return { tag: "ToClientAckEvents", val: readToClientAckEvents(bc) }
1919
+ case 5:
1920
+ return { tag: "ToClientKvResponse", val: readToClientKvResponse(bc) }
1921
+ case 6:
1922
+ return { tag: "ToClientTunnelMessage", val: readToClientTunnelMessage(bc) }
1923
+ default: {
1924
+ bc.offset = offset
1925
+ throw new bare.BareError(offset, "invalid tag")
1926
+ }
1927
+ }
1928
+ }
1929
+
1930
+ export function writeToRunner(bc: bare.ByteCursor, x: ToRunner): void {
1931
+ switch (x.tag) {
1932
+ case "ToRunnerPing": {
1933
+ bare.writeU8(bc, 0)
1934
+ writeToRunnerPing(bc, x.val)
1935
+ break
1936
+ }
1937
+ case "ToClientInit": {
1938
+ bare.writeU8(bc, 1)
1939
+ writeToClientInit(bc, x.val)
1940
+ break
1941
+ }
1942
+ case "ToClientClose": {
1943
+ bare.writeU8(bc, 2)
1944
+ break
1945
+ }
1946
+ case "ToClientCommands": {
1947
+ bare.writeU8(bc, 3)
1948
+ writeToClientCommands(bc, x.val)
1949
+ break
1950
+ }
1951
+ case "ToClientAckEvents": {
1952
+ bare.writeU8(bc, 4)
1953
+ writeToClientAckEvents(bc, x.val)
1954
+ break
1955
+ }
1956
+ case "ToClientKvResponse": {
1957
+ bare.writeU8(bc, 5)
1958
+ writeToClientKvResponse(bc, x.val)
1959
+ break
1960
+ }
1961
+ case "ToClientTunnelMessage": {
1962
+ bare.writeU8(bc, 6)
1963
+ writeToClientTunnelMessage(bc, x.val)
1964
+ break
1965
+ }
1966
+ }
1967
+ }
1968
+
1969
+ export function encodeToRunner(x: ToRunner, config?: Partial<bare.Config>): Uint8Array {
1970
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG
1971
+ const bc = new bare.ByteCursor(
1972
+ new Uint8Array(fullConfig.initialBufferLength),
1973
+ fullConfig,
1974
+ )
1975
+ writeToRunner(bc, x)
1976
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
1977
+ }
1978
+
1979
+ export function decodeToRunner(bytes: Uint8Array): ToRunner {
1980
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)
1981
+ const result = readToRunner(bc)
1982
+ if (bc.offset < bc.view.byteLength) {
1983
+ throw new bare.BareError(bc.offset, "remaining bytes")
1984
+ }
1985
+ return result
1986
+ }
1987
+
1988
+ /**
1989
+ * MARK: To Gateway
1990
+ */
1991
+ export type ToGatewayPong = {
1992
+ readonly requestId: RequestId
1993
+ readonly ts: i64
1994
+ }
1995
+
1996
+ export function readToGatewayPong(bc: bare.ByteCursor): ToGatewayPong {
1997
+ return {
1998
+ requestId: readRequestId(bc),
1999
+ ts: bare.readI64(bc),
2000
+ }
2001
+ }
2002
+
2003
+ export function writeToGatewayPong(bc: bare.ByteCursor, x: ToGatewayPong): void {
2004
+ writeRequestId(bc, x.requestId)
2005
+ bare.writeI64(bc, x.ts)
2006
+ }
2007
+
2008
+ export type ToGateway =
2009
+ | { readonly tag: "ToGatewayPong"; readonly val: ToGatewayPong }
2010
+ | { readonly tag: "ToServerTunnelMessage"; readonly val: ToServerTunnelMessage }
2011
+
2012
+ export function readToGateway(bc: bare.ByteCursor): ToGateway {
2013
+ const offset = bc.offset
2014
+ const tag = bare.readU8(bc)
2015
+ switch (tag) {
2016
+ case 0:
2017
+ return { tag: "ToGatewayPong", val: readToGatewayPong(bc) }
2018
+ case 1:
2019
+ return { tag: "ToServerTunnelMessage", val: readToServerTunnelMessage(bc) }
2020
+ default: {
2021
+ bc.offset = offset
2022
+ throw new bare.BareError(offset, "invalid tag")
2023
+ }
2024
+ }
2025
+ }
2026
+
2027
+ export function writeToGateway(bc: bare.ByteCursor, x: ToGateway): void {
2028
+ switch (x.tag) {
2029
+ case "ToGatewayPong": {
2030
+ bare.writeU8(bc, 0)
2031
+ writeToGatewayPong(bc, x.val)
2032
+ break
2033
+ }
2034
+ case "ToServerTunnelMessage": {
2035
+ bare.writeU8(bc, 1)
2036
+ writeToServerTunnelMessage(bc, x.val)
2037
+ break
2038
+ }
2039
+ }
2040
+ }
2041
+
2042
+ export function encodeToGateway(x: ToGateway, config?: Partial<bare.Config>): Uint8Array {
2043
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG
2044
+ const bc = new bare.ByteCursor(
2045
+ new Uint8Array(fullConfig.initialBufferLength),
2046
+ fullConfig,
2047
+ )
2048
+ writeToGateway(bc, x)
2049
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
2050
+ }
2051
+
2052
+ export function decodeToGateway(bytes: Uint8Array): ToGateway {
2053
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)
2054
+ const result = readToGateway(bc)
2055
+ if (bc.offset < bc.view.byteLength) {
2056
+ throw new bare.BareError(bc.offset, "remaining bytes")
2057
+ }
2058
+ return result
2059
+ }
2060
+
2061
+ /**
2062
+ * MARK: Serverless
2063
+ */
2064
+ export type ToServerlessServerInit = {
2065
+ readonly runnerId: Id
2066
+ }
2067
+
2068
+ export function readToServerlessServerInit(bc: bare.ByteCursor): ToServerlessServerInit {
2069
+ return {
2070
+ runnerId: readId(bc),
2071
+ }
2072
+ }
2073
+
2074
+ export function writeToServerlessServerInit(bc: bare.ByteCursor, x: ToServerlessServerInit): void {
2075
+ writeId(bc, x.runnerId)
2076
+ }
2077
+
2078
+ export type ToServerlessServer =
2079
+ | { readonly tag: "ToServerlessServerInit"; readonly val: ToServerlessServerInit }
2080
+
2081
+ export function readToServerlessServer(bc: bare.ByteCursor): ToServerlessServer {
2082
+ const offset = bc.offset
2083
+ const tag = bare.readU8(bc)
2084
+ switch (tag) {
2085
+ case 0:
2086
+ return { tag: "ToServerlessServerInit", val: readToServerlessServerInit(bc) }
2087
+ default: {
2088
+ bc.offset = offset
2089
+ throw new bare.BareError(offset, "invalid tag")
2090
+ }
2091
+ }
2092
+ }
2093
+
2094
+ export function writeToServerlessServer(bc: bare.ByteCursor, x: ToServerlessServer): void {
2095
+ switch (x.tag) {
2096
+ case "ToServerlessServerInit": {
2097
+ bare.writeU8(bc, 0)
2098
+ writeToServerlessServerInit(bc, x.val)
2099
+ break
2100
+ }
2101
+ }
2102
+ }
2103
+
2104
+ export function encodeToServerlessServer(x: ToServerlessServer, config?: Partial<bare.Config>): Uint8Array {
2105
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG
2106
+ const bc = new bare.ByteCursor(
2107
+ new Uint8Array(fullConfig.initialBufferLength),
2108
+ fullConfig,
2109
+ )
2110
+ writeToServerlessServer(bc, x)
2111
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
2112
+ }
2113
+
2114
+ export function decodeToServerlessServer(bytes: Uint8Array): ToServerlessServer {
2115
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)
2116
+ const result = readToServerlessServer(bc)
2117
+ if (bc.offset < bc.view.byteLength) {
2118
+ throw new bare.BareError(bc.offset, "remaining bytes")
2119
+ }
2120
+ return result
2121
+ }