@rivetkit/engine 1.0.0 → 2.2.1-pr.4600.b74ff3b

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 (1038) hide show
  1. package/CLAUDE.md +38 -0
  2. package/artifacts/config-schema.json +1140 -0
  3. package/artifacts/errors/actor.kv_storage_quota_exceeded.json +5 -0
  4. package/artifacts/errors/actor.no_runner_config_configured.json +5 -0
  5. package/artifacts/errors/guard.actor_runner_failed.json +5 -0
  6. package/artifacts/errors/guard.invalid_request.json +5 -0
  7. package/artifacts/errors/guard.invalid_request_body.json +5 -0
  8. package/artifacts/errors/guard.invalid_response_body.json +5 -0
  9. package/artifacts/errors/guard.missing_query_parameter.json +5 -0
  10. package/artifacts/errors/guard.query_ambiguous_runner_configs.json +5 -0
  11. package/artifacts/errors/guard.query_duplicate_param.json +5 -0
  12. package/artifacts/errors/guard.query_empty_actor_name.json +5 -0
  13. package/artifacts/errors/guard.query_get_disallowed_params.json +5 -0
  14. package/artifacts/errors/guard.query_invalid_base64_input.json +5 -0
  15. package/artifacts/errors/guard.query_invalid_cbor_input.json +5 -0
  16. package/artifacts/errors/guard.query_invalid_params.json +5 -0
  17. package/artifacts/errors/guard.query_invalid_percent_encoding.json +5 -0
  18. package/artifacts/errors/guard.query_missing_runner_name.json +5 -0
  19. package/artifacts/errors/guard.query_no_runner_configs.json +5 -0
  20. package/artifacts/errors/guard.query_param_missing_equals.json +5 -0
  21. package/artifacts/errors/guard.query_path_token_syntax.json +5 -0
  22. package/artifacts/errors/guard.query_unknown_param.json +5 -0
  23. package/artifacts/errors/guard.request_body_too_large.json +5 -0
  24. package/artifacts/errors/guard.response_body_too_large.json +5 -0
  25. package/artifacts/errors/serverless_runner_pool.failed_to_fetch_metadata.json +5 -0
  26. package/artifacts/errors/serverless_runner_pool.not_found.json +5 -0
  27. package/artifacts/errors/{api.rate_limited.json → test.api_rate_limited.json} +2 -2
  28. package/artifacts/errors/{namespace.invalid_name.json → test.namespace_invalid_name.json} +2 -2
  29. package/artifacts/errors/ws.going_away.json +5 -0
  30. package/artifacts/openapi.json +458 -6
  31. package/docker/builder-base/linux-gnu.Dockerfile +21 -0
  32. package/docker/builder-base/linux-musl.Dockerfile +53 -0
  33. package/docker/builder-base/osxcross.Dockerfile +42 -0
  34. package/docker/builder-base/windows-mingw.Dockerfile +41 -0
  35. package/docker/builder-base/windows-msvc.Dockerfile +25 -0
  36. package/docker/dev/docker-compose.yml +43 -18
  37. package/docker/dev/grafana/dashboards/api.json +1077 -1239
  38. package/docker/dev/grafana/dashboards/cache.json +911 -1074
  39. package/docker/dev/grafana/dashboards/epoxy.json +1606 -0
  40. package/docker/dev/grafana/dashboards/futures.json +242 -229
  41. package/docker/dev/grafana/dashboards/gasoline.json +2663 -2476
  42. package/docker/dev/grafana/dashboards/guard.json +1433 -1273
  43. package/docker/dev/grafana/dashboards/operation.json +871 -0
  44. package/docker/dev/grafana/dashboards/pegboard.json +1274 -0
  45. package/docker/dev/grafana/dashboards/tokio.json +930 -1004
  46. package/docker/dev/grafana/dashboards/traces.json +35 -13
  47. package/docker/dev/grafana/provisioning/datasources/datasources.yaml +8 -0
  48. package/docker/{dev-multinode/otel-collector-server → dev/otel-collector}/config.yaml +18 -13
  49. package/docker/dev/prometheus/prometheus.yml +4 -0
  50. package/docker/dev/rivet-engine/config.jsonc +9 -16
  51. package/docker/dev-host/docker-compose.yml +38 -16
  52. package/docker/dev-host/grafana/dashboards/api.json +1077 -1239
  53. package/docker/dev-host/grafana/dashboards/cache.json +911 -1074
  54. package/docker/dev-host/grafana/dashboards/epoxy.json +1606 -0
  55. package/docker/dev-host/grafana/dashboards/futures.json +242 -229
  56. package/docker/dev-host/grafana/dashboards/gasoline.json +2663 -2476
  57. package/docker/dev-host/grafana/dashboards/guard.json +1433 -1273
  58. package/docker/dev-host/grafana/dashboards/operation.json +871 -0
  59. package/docker/dev-host/grafana/dashboards/pegboard.json +1274 -0
  60. package/docker/dev-host/grafana/dashboards/tokio.json +930 -1004
  61. package/docker/dev-host/grafana/dashboards/traces.json +35 -13
  62. package/docker/dev-host/grafana/provisioning/datasources/datasources.yaml +8 -0
  63. package/docker/dev-host/{otel-collector-server → otel-collector}/config.yaml +18 -13
  64. package/docker/dev-host/prometheus/prometheus.yml +4 -0
  65. package/docker/dev-host/rivet-engine/config.jsonc +9 -16
  66. package/docker/dev-multidc/core/grafana/dashboards/api.json +1077 -1239
  67. package/docker/dev-multidc/core/grafana/dashboards/cache.json +911 -1074
  68. package/docker/dev-multidc/core/grafana/dashboards/epoxy.json +1606 -0
  69. package/docker/dev-multidc/core/grafana/dashboards/futures.json +242 -229
  70. package/docker/dev-multidc/core/grafana/dashboards/gasoline.json +2663 -2476
  71. package/docker/dev-multidc/core/grafana/dashboards/guard.json +1433 -1273
  72. package/docker/dev-multidc/core/grafana/dashboards/operation.json +871 -0
  73. package/docker/dev-multidc/core/grafana/dashboards/pegboard.json +1274 -0
  74. package/docker/dev-multidc/core/grafana/dashboards/tokio.json +930 -1004
  75. package/docker/dev-multidc/core/grafana/dashboards/traces.json +35 -13
  76. package/docker/dev-multidc/core/grafana/provisioning/datasources/datasources.yaml +8 -0
  77. package/docker/dev-multidc/core/prometheus/prometheus.yml +4 -0
  78. package/docker/dev-multidc/datacenters/dc-a/{otel-collector-server → otel-collector}/config.yaml +18 -13
  79. package/docker/dev-multidc/datacenters/dc-a/rivet-engine/config.jsonc +23 -22
  80. package/docker/{dev-multidc-multinode/datacenters/dc-b/otel-collector-server → dev-multidc/datacenters/dc-b/otel-collector}/config.yaml +18 -13
  81. package/docker/dev-multidc/datacenters/dc-b/rivet-engine/config.jsonc +23 -22
  82. package/docker/dev-multidc/datacenters/dc-c/{otel-collector-server → otel-collector}/config.yaml +18 -13
  83. package/docker/dev-multidc/datacenters/dc-c/rivet-engine/config.jsonc +23 -22
  84. package/docker/dev-multidc/docker-compose.yml +71 -64
  85. package/docker/dev-multidc-multinode/core/grafana/dashboards/api.json +1077 -1239
  86. package/docker/dev-multidc-multinode/core/grafana/dashboards/cache.json +911 -1074
  87. package/docker/dev-multidc-multinode/core/grafana/dashboards/epoxy.json +1606 -0
  88. package/docker/dev-multidc-multinode/core/grafana/dashboards/futures.json +242 -229
  89. package/docker/dev-multidc-multinode/core/grafana/dashboards/gasoline.json +2663 -2476
  90. package/docker/dev-multidc-multinode/core/grafana/dashboards/guard.json +1433 -1273
  91. package/docker/dev-multidc-multinode/core/grafana/dashboards/operation.json +871 -0
  92. package/docker/dev-multidc-multinode/core/grafana/dashboards/pegboard.json +1274 -0
  93. package/docker/dev-multidc-multinode/core/grafana/dashboards/tokio.json +930 -1004
  94. package/docker/dev-multidc-multinode/core/grafana/dashboards/traces.json +35 -13
  95. package/docker/dev-multidc-multinode/core/grafana/provisioning/datasources/datasources.yaml +8 -0
  96. package/docker/dev-multidc-multinode/core/prometheus/prometheus.yml +4 -0
  97. package/docker/dev-multidc-multinode/datacenters/dc-a/{otel-collector-server → otel-collector}/config.yaml +28 -13
  98. package/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/0/config.jsonc +23 -22
  99. package/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/1/config.jsonc +23 -22
  100. package/docker/dev-multidc-multinode/datacenters/dc-a/rivet-engine/2/config.jsonc +23 -22
  101. package/docker/{dev-multidc/datacenters/dc-b/otel-collector-server → dev-multidc-multinode/datacenters/dc-b/otel-collector}/config.yaml +28 -13
  102. package/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/0/config.jsonc +23 -22
  103. package/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/1/config.jsonc +23 -22
  104. package/docker/dev-multidc-multinode/datacenters/dc-b/rivet-engine/2/config.jsonc +23 -22
  105. package/docker/dev-multidc-multinode/datacenters/dc-c/{otel-collector-server → otel-collector}/config.yaml +28 -13
  106. package/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/0/config.jsonc +23 -22
  107. package/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/1/config.jsonc +23 -22
  108. package/docker/dev-multidc-multinode/datacenters/dc-c/rivet-engine/2/config.jsonc +23 -22
  109. package/docker/dev-multidc-multinode/docker-compose.yml +113 -88
  110. package/docker/dev-multinode/docker-compose.yml +57 -26
  111. package/docker/dev-multinode/grafana/dashboards/api.json +1077 -1239
  112. package/docker/dev-multinode/grafana/dashboards/cache.json +911 -1074
  113. package/docker/dev-multinode/grafana/dashboards/epoxy.json +1606 -0
  114. package/docker/dev-multinode/grafana/dashboards/futures.json +242 -229
  115. package/docker/dev-multinode/grafana/dashboards/gasoline.json +2663 -2476
  116. package/docker/dev-multinode/grafana/dashboards/guard.json +1433 -1273
  117. package/docker/dev-multinode/grafana/dashboards/operation.json +871 -0
  118. package/docker/dev-multinode/grafana/dashboards/pegboard.json +1274 -0
  119. package/docker/dev-multinode/grafana/dashboards/tokio.json +930 -1004
  120. package/docker/dev-multinode/grafana/dashboards/traces.json +35 -13
  121. package/docker/dev-multinode/grafana/provisioning/datasources/datasources.yaml +8 -0
  122. package/docker/{dev/otel-collector-server → dev-multinode/otel-collector}/config.yaml +28 -13
  123. package/docker/dev-multinode/prometheus/prometheus.yml +4 -0
  124. package/docker/dev-multinode/rivet-engine/0/config.jsonc +9 -16
  125. package/docker/dev-multinode/rivet-engine/1/config.jsonc +9 -16
  126. package/docker/dev-multinode/rivet-engine/2/config.jsonc +9 -16
  127. package/docker/engine/linux-aarch64.Dockerfile +9 -49
  128. package/docker/engine/linux-x86_64.Dockerfile +7 -57
  129. package/docker/engine/macos-aarch64.Dockerfile +8 -54
  130. package/docker/engine/macos-x86_64.Dockerfile +9 -55
  131. package/docker/engine/windows.Dockerfile +5 -53
  132. package/docker/template/grafana-dashboards/api.json +1077 -1239
  133. package/docker/template/grafana-dashboards/cache.json +911 -1074
  134. package/docker/template/grafana-dashboards/epoxy.json +1606 -0
  135. package/docker/template/grafana-dashboards/futures.json +242 -229
  136. package/docker/template/grafana-dashboards/gasoline.json +2663 -2476
  137. package/docker/template/grafana-dashboards/guard.json +1433 -1273
  138. package/docker/template/grafana-dashboards/operation.json +871 -0
  139. package/docker/template/grafana-dashboards/pegboard.json +1274 -0
  140. package/docker/template/grafana-dashboards/tokio.json +930 -1004
  141. package/docker/template/grafana-dashboards/traces.json +35 -13
  142. package/docker/template/node_modules/.bin/js-yaml +4 -4
  143. package/docker/template/node_modules/.bin/tsc +4 -4
  144. package/docker/template/node_modules/.bin/tsserver +4 -4
  145. package/docker/template/node_modules/.bin/tsx +4 -4
  146. package/docker/template/src/docker-compose.ts +42 -29
  147. package/docker/template/src/main.ts +4 -4
  148. package/docker/template/src/services/core/grafana.ts +14 -1
  149. package/docker/template/src/services/core/prometheus.ts +20 -0
  150. package/docker/template/src/services/edge/{otel-collector-server.ts → otel-collector.ts} +55 -24
  151. package/docker/template/src/services/edge/rivet-engine.ts +4 -16
  152. package/docker/template/src/services/edge/runner.ts +2 -3
  153. package/docker/universal/Dockerfile +5 -3
  154. package/package.json +2 -5
  155. package/packages/api-builder/src/global_context.rs +1 -1
  156. package/packages/api-builder/src/metrics.rs +28 -24
  157. package/packages/api-builder/src/middleware.rs +30 -48
  158. package/packages/api-builder/src/router.rs +13 -1
  159. package/packages/api-peer/Cargo.toml +7 -9
  160. package/packages/api-peer/src/actors/delete.rs +56 -57
  161. package/packages/api-peer/src/actors/get_or_create.rs +139 -0
  162. package/packages/api-peer/src/actors/kv_get.rs +40 -28
  163. package/packages/api-peer/src/actors/list.rs +31 -14
  164. package/packages/api-peer/src/actors/list_names.rs +6 -6
  165. package/packages/api-peer/src/actors/mod.rs +3 -0
  166. package/packages/api-peer/src/actors/reschedule.rs +55 -0
  167. package/packages/api-peer/src/actors/sleep.rs +55 -0
  168. package/packages/api-peer/src/envoys.rs +57 -0
  169. package/packages/api-peer/src/internal.rs +441 -24
  170. package/packages/api-peer/src/lib.rs +2 -1
  171. package/packages/api-peer/src/namespaces.rs +24 -9
  172. package/packages/api-peer/src/router.rs +31 -7
  173. package/packages/api-peer/src/runner_configs.rs +66 -19
  174. package/packages/api-peer/src/runners.rs +30 -32
  175. package/packages/api-public/Cargo.toml +2 -0
  176. package/packages/api-public/src/actors/create.rs +8 -17
  177. package/packages/api-public/src/actors/delete.rs +11 -35
  178. package/packages/api-public/src/actors/get_or_create.rs +23 -95
  179. package/packages/api-public/src/actors/kv_get.rs +12 -29
  180. package/packages/api-public/src/actors/list.rs +56 -78
  181. package/packages/api-public/src/actors/list_names.rs +15 -14
  182. package/packages/api-public/src/actors/mod.rs +2 -0
  183. package/packages/api-public/src/actors/reschedule.rs +65 -0
  184. package/packages/api-public/src/actors/sleep.rs +64 -0
  185. package/packages/api-public/src/actors/utils.rs +12 -60
  186. package/packages/api-public/src/ctx.rs +14 -6
  187. package/packages/api-public/src/datacenters.rs +5 -5
  188. package/packages/api-public/src/envoys.rs +57 -0
  189. package/packages/api-public/src/errors.rs +0 -7
  190. package/packages/api-public/src/health.rs +51 -44
  191. package/packages/api-public/src/lib.rs +2 -1
  192. package/packages/api-public/src/metadata.rs +44 -14
  193. package/packages/api-public/src/namespaces.rs +11 -11
  194. package/packages/api-public/src/router.rs +22 -5
  195. package/packages/api-public/src/runner_configs/delete.rs +13 -10
  196. package/packages/api-public/src/runner_configs/list.rs +5 -2
  197. package/packages/api-public/src/runner_configs/refresh_metadata.rs +1 -1
  198. package/packages/api-public/src/runner_configs/serverless_health_check.rs +2 -2
  199. package/packages/api-public/src/runner_configs/upsert.rs +12 -9
  200. package/packages/api-public/src/runner_configs/utils.rs +35 -175
  201. package/packages/api-public/src/runners.rs +17 -45
  202. package/packages/{dump-openapi → api-public-openapi-gen}/Cargo.toml +1 -1
  203. package/packages/api-types/src/actors/create.rs +1 -0
  204. package/packages/api-types/src/actors/delete.rs +20 -0
  205. package/packages/api-types/src/actors/get_or_create.rs +30 -0
  206. package/packages/api-types/src/actors/kv_get.rs +25 -0
  207. package/packages/api-types/src/actors/list.rs +8 -1
  208. package/packages/api-types/src/actors/mod.rs +5 -0
  209. package/packages/api-types/src/actors/reschedule.rs +26 -0
  210. package/packages/api-types/src/actors/sleep.rs +26 -0
  211. package/packages/api-types/src/datacenters/list.rs +2 -2
  212. package/packages/api-types/src/envoys/list.rs +24 -0
  213. package/packages/api-types/src/envoys/mod.rs +1 -0
  214. package/packages/api-types/src/lib.rs +1 -0
  215. package/packages/api-types/src/namespaces/list.rs +4 -0
  216. package/packages/api-types/src/namespaces/runner_configs.rs +23 -2
  217. package/packages/api-types/src/runner_configs/list.rs +6 -1
  218. package/packages/api-types/src/runner_configs/mod.rs +12 -0
  219. package/packages/api-types/src/runners/list.rs +4 -0
  220. package/packages/api-types/src/runners/list_names.rs +21 -0
  221. package/packages/api-types/src/runners/mod.rs +1 -0
  222. package/packages/api-util/src/lib.rs +44 -21
  223. package/packages/bootstrap/Cargo.toml +7 -4
  224. package/packages/bootstrap/src/backfill.rs +53 -0
  225. package/packages/bootstrap/src/lib.rs +43 -7
  226. package/packages/cache/Cargo.toml +3 -1
  227. package/packages/cache/src/driver.rs +43 -151
  228. package/packages/cache/src/getter_ctx.rs +48 -70
  229. package/packages/cache/src/inner.rs +28 -18
  230. package/packages/cache/src/key.rs +17 -3
  231. package/packages/cache/src/lib.rs +0 -2
  232. package/packages/cache/src/metrics.rs +43 -31
  233. package/packages/cache/src/req_config.rs +219 -156
  234. package/packages/cache/tests/fetch.rs +91 -0
  235. package/packages/cache/tests/in_flight.rs +361 -0
  236. package/packages/cache/tests/ttl.rs +314 -0
  237. package/packages/cache-purge/src/lib.rs +1 -1
  238. package/packages/config/Cargo.toml +1 -0
  239. package/packages/config/src/config/cache.rs +10 -3
  240. package/packages/config/src/config/clickhouse.rs +0 -30
  241. package/packages/config/src/config/{db.rs → db/mod.rs} +3 -18
  242. package/packages/config/src/config/db/postgres.rs +59 -0
  243. package/packages/config/src/config/guard.rs +19 -0
  244. package/packages/config/src/config/metrics.rs +22 -0
  245. package/packages/config/src/config/mod.rs +44 -10
  246. package/packages/config/src/config/pegboard.rs +242 -16
  247. package/packages/config/src/config/pubsub.rs +11 -0
  248. package/packages/config/src/config/runtime.rs +58 -0
  249. package/packages/config/src/config/telemetry.rs +1 -0
  250. package/packages/config/src/config/topology.rs +78 -19
  251. package/packages/config/src/defaults.rs +3 -0
  252. package/packages/config/src/lib.rs +10 -1
  253. package/packages/config-schema-gen/Cargo.toml +11 -0
  254. package/packages/config-schema-gen/build.rs +26 -0
  255. package/packages/config-schema-gen/src/lib.rs +2 -0
  256. package/packages/engine/Cargo.toml +11 -2
  257. package/packages/engine/src/commands/db/mod.rs +0 -10
  258. package/packages/engine/src/commands/epoxy.rs +395 -0
  259. package/packages/engine/src/commands/mod.rs +1 -1
  260. package/packages/engine/src/commands/start.rs +43 -63
  261. package/packages/engine/src/commands/udb/cli.rs +148 -4
  262. package/packages/engine/src/commands/wf/mod.rs +83 -12
  263. package/packages/engine/src/commands/wf/signal.rs +38 -0
  264. package/packages/engine/src/lib.rs +6 -3
  265. package/packages/engine/src/main.rs +1 -1
  266. package/packages/engine/src/run_config.rs +6 -7
  267. package/packages/engine/src/util/db.rs +1 -25
  268. package/packages/engine/src/util/wf/mod.rs +39 -5
  269. package/packages/engine/tests/common/actors.rs +50 -332
  270. package/packages/engine/tests/common/api/mod.rs +7 -0
  271. package/packages/engine/tests/common/api/peer.rs +364 -0
  272. package/packages/engine/tests/common/api/public.rs +473 -0
  273. package/packages/engine/tests/common/ctx.rs +15 -3
  274. package/packages/engine/tests/common/mod.rs +8 -5
  275. package/packages/engine/tests/common/test_envoy.rs +87 -0
  276. package/packages/engine/tests/common/test_helpers.rs +218 -130
  277. package/packages/engine/tests/common/test_runner.rs +273 -0
  278. package/packages/engine/tests/envoy/actors_lifecycle.rs +1277 -0
  279. package/packages/engine/tests/envoy/mod.rs +1 -0
  280. package/packages/engine/tests/mod.rs +3 -0
  281. package/packages/engine/tests/runner/actors_alarm.rs +1453 -0
  282. package/packages/engine/tests/runner/actors_kv_crud.rs +996 -0
  283. package/packages/engine/tests/runner/actors_kv_delete_range.rs +126 -0
  284. package/packages/engine/tests/runner/actors_kv_drop.rs +255 -0
  285. package/packages/engine/tests/runner/actors_kv_list.rs +1061 -0
  286. package/packages/engine/tests/runner/actors_kv_misc.rs +882 -0
  287. package/packages/engine/tests/runner/actors_lifecycle.rs +1284 -0
  288. package/packages/engine/tests/runner/actors_scheduling_errors.rs +1005 -0
  289. package/packages/engine/tests/runner/api_actors_create.rs +422 -0
  290. package/packages/engine/tests/runner/api_actors_delete.rs +487 -0
  291. package/packages/engine/tests/runner/api_actors_get_or_create.rs +634 -0
  292. package/packages/engine/tests/runner/api_actors_list.rs +1771 -0
  293. package/packages/engine/tests/runner/api_actors_list_names.rs +691 -0
  294. package/packages/engine/tests/runner/api_namespaces_create.rs +428 -0
  295. package/packages/engine/tests/runner/api_namespaces_list.rs +760 -0
  296. package/packages/engine/tests/runner/api_runner_configs_list.rs +646 -0
  297. package/packages/engine/tests/runner/api_runner_configs_upsert.rs +651 -0
  298. package/packages/engine/tests/runner/api_runners_list.rs +166 -0
  299. package/packages/engine/tests/runner/api_runners_list_names.rs +386 -0
  300. package/packages/engine/tests/runner/mod.rs +20 -0
  301. package/packages/engine/tests/runner/runner_drain_on_version.rs +620 -0
  302. package/packages/env/Cargo.toml +0 -4
  303. package/packages/env/src/lib.rs +0 -18
  304. package/packages/epoxy/Cargo.toml +3 -2
  305. package/packages/epoxy/README.md +554 -93
  306. package/packages/epoxy/src/consts.rs +4 -36
  307. package/packages/epoxy/src/http_client.rs +59 -26
  308. package/packages/epoxy/src/http_routes.rs +73 -10
  309. package/packages/epoxy/src/keys/keys.rs +260 -11
  310. package/packages/epoxy/src/keys/mod.rs +11 -1
  311. package/packages/epoxy/src/keys/replica.rs +5 -260
  312. package/packages/epoxy/src/lib.rs +2 -1
  313. package/packages/epoxy/src/metrics.rs +118 -0
  314. package/packages/epoxy/src/ops/kv/get_local.rs +15 -24
  315. package/packages/epoxy/src/ops/kv/get_optimistic.rs +102 -64
  316. package/packages/epoxy/src/ops/kv/mod.rs +1 -0
  317. package/packages/epoxy/src/ops/kv/purge_local.rs +18 -9
  318. package/packages/epoxy/src/ops/kv/read_value.rs +92 -0
  319. package/packages/epoxy/src/ops/mod.rs +0 -1
  320. package/packages/epoxy/src/ops/propose.rs +1079 -194
  321. package/packages/epoxy/src/replica/ballot.rs +162 -102
  322. package/packages/epoxy/src/replica/changelog.rs +147 -0
  323. package/packages/epoxy/src/replica/commit_kv.rs +69 -66
  324. package/packages/epoxy/src/replica/message_request.rs +33 -48
  325. package/packages/epoxy/src/replica/messages/accept.rs +82 -41
  326. package/packages/epoxy/src/replica/messages/commit.rs +21 -33
  327. package/packages/epoxy/src/replica/messages/mod.rs +0 -8
  328. package/packages/epoxy/src/replica/messages/prepare.rs +68 -69
  329. package/packages/epoxy/src/replica/mod.rs +1 -6
  330. package/packages/epoxy/src/replica/update_config.rs +3 -1
  331. package/packages/epoxy/src/types.rs +30 -54
  332. package/packages/epoxy/src/utils.rs +149 -16
  333. package/packages/epoxy/src/workflows/backfill.rs +233 -0
  334. package/packages/epoxy/src/workflows/coordinator/mod.rs +33 -7
  335. package/packages/epoxy/src/workflows/coordinator/reconfigure.rs +44 -0
  336. package/packages/epoxy/src/workflows/coordinator/replica_status_change.rs +4 -3
  337. package/packages/epoxy/src/workflows/mod.rs +1 -1
  338. package/packages/epoxy/src/workflows/replica/mod.rs +4 -6
  339. package/packages/epoxy/src/workflows/replica/setup.rs +130 -771
  340. package/packages/epoxy/tests/backfill.rs +65 -0
  341. package/packages/epoxy/tests/backfill_snapshot.rs +233 -0
  342. package/packages/epoxy/tests/common/mod.rs +77 -21
  343. package/packages/epoxy/tests/common/utils.rs +366 -10
  344. package/packages/epoxy/tests/consensus_regressions.rs +285 -0
  345. package/packages/epoxy/tests/kv.rs +128 -167
  346. package/packages/epoxy/tests/kv_get_optimistic.rs +257 -157
  347. package/packages/epoxy/tests/migration.rs +75 -0
  348. package/packages/epoxy/tests/proposal.rs +133 -28
  349. package/packages/epoxy/tests/reconfigure.rs +92 -474
  350. package/packages/error/tests/basic.rs +8 -8
  351. package/packages/gasoline/Cargo.toml +1 -0
  352. package/packages/gasoline/src/builder/common/message.rs +19 -47
  353. package/packages/gasoline/src/builder/common/signal.rs +37 -21
  354. package/packages/gasoline/src/builder/common/workflow.rs +19 -15
  355. package/packages/gasoline/src/builder/workflow/lupe.rs +295 -0
  356. package/packages/gasoline/src/builder/workflow/message.rs +24 -47
  357. package/packages/gasoline/src/builder/workflow/mod.rs +1 -0
  358. package/packages/gasoline/src/builder/workflow/signal.rs +68 -22
  359. package/packages/gasoline/src/builder/workflow/sub_workflow.rs +6 -15
  360. package/packages/gasoline/src/ctx/activity.rs +46 -6
  361. package/packages/gasoline/src/ctx/common.rs +26 -23
  362. package/packages/gasoline/src/ctx/listen.rs +33 -50
  363. package/packages/gasoline/src/ctx/message.rs +76 -64
  364. package/packages/gasoline/src/ctx/operation.rs +15 -5
  365. package/packages/gasoline/src/ctx/standalone.rs +32 -4
  366. package/packages/gasoline/src/ctx/test.rs +31 -6
  367. package/packages/gasoline/src/ctx/versioned_workflow.rs +33 -7
  368. package/packages/gasoline/src/ctx/workflow.rs +194 -384
  369. package/packages/gasoline/src/db/debug.rs +49 -9
  370. package/packages/gasoline/src/db/kv/debug.rs +905 -15
  371. package/packages/gasoline/src/db/kv/keys/history.rs +434 -9
  372. package/packages/gasoline/src/db/kv/keys/metric.rs +70 -47
  373. package/packages/gasoline/src/db/kv/keys/signal.rs +19 -3
  374. package/packages/gasoline/src/db/kv/keys/workflow.rs +349 -3
  375. package/packages/gasoline/src/db/kv/mod.rs +975 -514
  376. package/packages/gasoline/src/db/kv/system.rs +155 -18
  377. package/packages/gasoline/src/db/mod.rs +29 -7
  378. package/packages/gasoline/src/error.rs +26 -21
  379. package/packages/gasoline/src/executable.rs +3 -1
  380. package/packages/gasoline/src/history/cursor.rs +436 -336
  381. package/packages/gasoline/src/history/event.rs +24 -15
  382. package/packages/gasoline/src/listen.rs +2 -14
  383. package/packages/gasoline/src/message.rs +1 -1
  384. package/packages/gasoline/src/metrics.rs +260 -143
  385. package/packages/gasoline/src/prelude.rs +1 -1
  386. package/packages/gasoline/src/registry.rs +6 -2
  387. package/packages/gasoline/src/signal.rs +34 -31
  388. package/packages/gasoline/src/utils/mod.rs +1 -18
  389. package/packages/gasoline/src/utils/topic.rs +35 -0
  390. package/packages/gasoline/src/worker.rs +71 -14
  391. package/packages/gasoline/src/workflow.rs +13 -0
  392. package/packages/gasoline/tests/workflows/eviction_test.rs +2 -2
  393. package/packages/gasoline-macros/src/lib.rs +74 -12
  394. package/packages/gasoline-runtime/Cargo.toml +18 -0
  395. package/packages/gasoline-runtime/src/lib.rs +12 -0
  396. package/packages/gasoline-runtime/src/workflows/mod.rs +1 -0
  397. package/packages/gasoline-runtime/src/workflows/pruner.rs +55 -0
  398. package/packages/guard/Cargo.toml +16 -8
  399. package/packages/guard/src/cache/mod.rs +63 -43
  400. package/packages/guard/src/cache/pegboard_gateway.rs +144 -0
  401. package/packages/guard/src/errors.rs +105 -0
  402. package/packages/guard/src/lib.rs +5 -15
  403. package/packages/guard/src/metrics.rs +12 -0
  404. package/packages/guard/src/routing/actor_path.rs +409 -0
  405. package/packages/guard/src/routing/api_public.rs +6 -14
  406. package/packages/guard/src/routing/envoy.rs +98 -0
  407. package/packages/guard/src/routing/mod.rs +152 -206
  408. package/packages/guard/src/routing/pegboard_gateway/mod.rs +572 -0
  409. package/packages/guard/src/routing/pegboard_gateway/resolve_actor_query.rs +236 -0
  410. package/packages/guard/src/routing/runner.rs +24 -54
  411. package/packages/guard/src/routing/ws_health.rs +61 -0
  412. package/packages/guard/src/shared_state.rs +11 -2
  413. package/packages/guard/tests/parse_actor_path.rs +418 -165
  414. package/packages/guard-core/Cargo.toml +3 -10
  415. package/packages/guard-core/src/custom_serve.rs +4 -10
  416. package/packages/guard-core/src/errors.rs +20 -4
  417. package/packages/guard-core/src/lib.rs +6 -4
  418. package/packages/guard-core/src/metrics.rs +66 -53
  419. package/packages/guard-core/src/proxy_service.rs +618 -1520
  420. package/packages/guard-core/src/request_context.rs +149 -169
  421. package/packages/guard-core/src/response_body.rs +65 -0
  422. package/packages/guard-core/src/route.rs +76 -0
  423. package/packages/guard-core/src/server.rs +60 -26
  424. package/packages/guard-core/src/task_group.rs +4 -0
  425. package/packages/guard-core/src/utils.rs +296 -0
  426. package/packages/guard-core/src/websocket_handle.rs +3 -3
  427. package/packages/guard-core/tests/common/mod.rs +0 -1
  428. package/packages/guard-core/tests/custom_serve.rs +4 -6
  429. package/packages/guard-core/tests/simple_websocket.rs +19 -19
  430. package/packages/guard-core/tests/streaming_response.rs +4 -9
  431. package/packages/metrics/Cargo.toml +3 -2
  432. package/packages/metrics/src/buckets.rs +5 -11
  433. package/packages/metrics/src/lib.rs +6 -3
  434. package/packages/metrics/src/providers.rs +2 -42
  435. package/packages/metrics/src/registry.rs +7 -0
  436. package/packages/metrics/src/server.rs +57 -0
  437. package/packages/namespace/Cargo.toml +0 -3
  438. package/packages/namespace/src/keys/metric.rs +301 -0
  439. package/packages/namespace/src/keys/mod.rs +1 -1
  440. package/packages/namespace/src/ops/get_global.rs +7 -4
  441. package/packages/namespace/src/ops/get_local.rs +32 -16
  442. package/packages/namespace/src/ops/mod.rs +0 -1
  443. package/packages/namespace/src/ops/resolve_for_name_global.rs +7 -4
  444. package/packages/namespace/src/ops/resolve_for_name_local.rs +39 -19
  445. package/packages/namespace/src/workflows/namespace.rs +3 -3
  446. package/packages/pegboard/Cargo.toml +22 -0
  447. package/packages/pegboard/src/actor_kv/entry.rs +47 -0
  448. package/packages/pegboard/src/actor_kv/metrics.rs +19 -0
  449. package/packages/pegboard/src/actor_kv/mod.rs +530 -0
  450. package/packages/pegboard/src/actor_kv/preload.rs +363 -0
  451. package/packages/{actor-kv/src → pegboard/src/actor_kv}/utils.rs +36 -35
  452. package/packages/pegboard/src/errors.rs +39 -5
  453. package/packages/pegboard/src/keys/actor.rs +285 -2
  454. package/packages/{actor-kv/src/entry.rs → pegboard/src/keys/actor_kv.rs} +73 -39
  455. package/packages/pegboard/src/keys/backfill.rs +49 -0
  456. package/packages/pegboard/src/keys/envoy.rs +1070 -0
  457. package/packages/pegboard/src/keys/epoxy/ns.rs +1 -1
  458. package/packages/pegboard/src/keys/mod.rs +4 -6
  459. package/packages/pegboard/src/keys/ns.rs +493 -14
  460. package/packages/pegboard/src/keys/runner.rs +281 -0
  461. package/packages/{namespace → pegboard}/src/keys/runner_config.rs +53 -0
  462. package/packages/pegboard/src/lib.rs +15 -2
  463. package/packages/pegboard/src/metrics.rs +57 -16
  464. package/packages/pegboard/src/ops/actor/create.rs +123 -53
  465. package/packages/pegboard/src/ops/actor/get.rs +14 -45
  466. package/packages/pegboard/src/ops/actor/get_for_gateway.rs +16 -0
  467. package/packages/pegboard/src/ops/actor/get_for_key.rs +3 -0
  468. package/packages/pegboard/src/ops/actor/get_for_kv.rs +43 -0
  469. package/packages/pegboard/src/ops/actor/get_for_runner.rs +99 -0
  470. package/packages/pegboard/src/ops/actor/get_reservation_for_key.rs +1 -0
  471. package/packages/pegboard/src/ops/actor/list_for_ns.rs +10 -38
  472. package/packages/pegboard/src/ops/actor/list_names.rs +3 -3
  473. package/packages/pegboard/src/ops/actor/mod.rs +3 -1
  474. package/packages/pegboard/src/ops/actor/util.rs +263 -0
  475. package/packages/pegboard/src/ops/envoy/drain.rs +101 -0
  476. package/packages/pegboard/src/ops/envoy/evict_actors.rs +54 -0
  477. package/packages/pegboard/src/ops/envoy/expire.rs +92 -0
  478. package/packages/pegboard/src/ops/envoy/get.rs +135 -0
  479. package/packages/pegboard/src/ops/envoy/list.rs +131 -0
  480. package/packages/pegboard/src/ops/envoy/mod.rs +6 -0
  481. package/packages/pegboard/src/ops/envoy/update_ping.rs +92 -0
  482. package/packages/pegboard/src/ops/mod.rs +3 -0
  483. package/packages/pegboard/src/ops/runner/drain.rs +110 -0
  484. package/packages/pegboard/src/ops/runner/list_names.rs +3 -3
  485. package/packages/pegboard/src/ops/runner/list_runner_config_enabled_dcs.rs +199 -0
  486. package/packages/pegboard/src/ops/runner/list_runner_config_epoxy_replica_ids.rs +51 -0
  487. package/packages/pegboard/src/ops/runner/mod.rs +3 -1
  488. package/packages/pegboard/src/ops/runner/update_alloc_idx.rs +17 -5
  489. package/packages/{namespace → pegboard}/src/ops/runner_config/delete.rs +18 -9
  490. package/packages/pegboard/src/ops/runner_config/ensure_normal_if_missing.rs +62 -0
  491. package/packages/{namespace → pegboard}/src/ops/runner_config/get.rs +15 -5
  492. package/packages/pegboard/src/ops/runner_config/get_error.rs +146 -0
  493. package/packages/{namespace → pegboard}/src/ops/runner_config/list.rs +13 -12
  494. package/packages/pegboard/src/ops/runner_config/mod.rs +7 -0
  495. package/packages/pegboard/src/ops/runner_config/refresh_metadata.rs +124 -0
  496. package/packages/pegboard/src/ops/runner_config/upsert.rs +206 -0
  497. package/packages/pegboard/src/ops/serverless_metadata/fetch.rs +223 -0
  498. package/packages/pegboard/src/ops/serverless_metadata/mod.rs +1 -0
  499. package/packages/pegboard/src/pubsub_subjects.rs +52 -0
  500. package/packages/pegboard/src/utils.rs +36 -2
  501. package/packages/pegboard/src/workflows/actor/destroy.rs +135 -99
  502. package/packages/pegboard/src/workflows/actor/keys.rs +59 -5
  503. package/packages/pegboard/src/workflows/actor/metrics.rs +345 -0
  504. package/packages/pegboard/src/workflows/actor/mod.rs +848 -204
  505. package/packages/pegboard/src/workflows/actor/runtime.rs +785 -212
  506. package/packages/pegboard/src/workflows/actor/setup.rs +61 -0
  507. package/packages/pegboard/src/workflows/actor2/keys.rs +337 -0
  508. package/packages/pegboard/src/workflows/actor2/metrics.rs +334 -0
  509. package/packages/pegboard/src/workflows/actor2/mod.rs +1251 -0
  510. package/packages/pegboard/src/workflows/actor2/runtime.rs +1005 -0
  511. package/packages/pegboard/src/workflows/actor_runner_name_selector_backfill.rs +266 -0
  512. package/packages/pegboard/src/workflows/metrics_aggregator.rs +282 -0
  513. package/packages/pegboard/src/workflows/mod.rs +8 -0
  514. package/packages/pegboard/src/workflows/runner.rs +62 -56
  515. package/packages/pegboard/src/workflows/runner2.rs +978 -0
  516. package/packages/pegboard/src/workflows/runner_pool.rs +298 -0
  517. package/packages/pegboard/src/workflows/runner_pool_error_tracker.rs +173 -0
  518. package/packages/pegboard/src/workflows/runner_pool_metadata_poller.rs +237 -0
  519. package/packages/pegboard/src/workflows/serverless/backfill.rs +120 -0
  520. package/packages/pegboard/src/workflows/serverless/conn.rs +702 -0
  521. package/packages/pegboard/src/workflows/serverless/mod.rs +3 -0
  522. package/packages/pegboard/src/workflows/serverless/receiver.rs +87 -0
  523. package/packages/pegboard/tests/actor_v1_pre_migration.rs +77 -0
  524. package/packages/{actor-kv/tests/list_edge_cases.rs → pegboard/tests/kv_list_edge_cases.rs} +74 -59
  525. package/packages/{actor-kv → pegboard}/tests/kv_operations.rs +77 -48
  526. package/packages/pegboard-envoy/Cargo.toml +43 -0
  527. package/packages/pegboard-envoy/src/actor_event_demuxer.rs +165 -0
  528. package/packages/pegboard-envoy/src/conn.rs +417 -0
  529. package/packages/pegboard-envoy/src/errors.rs +38 -0
  530. package/packages/pegboard-envoy/src/lib.rs +250 -0
  531. package/packages/pegboard-envoy/src/metrics.rs +44 -0
  532. package/packages/pegboard-envoy/src/ping_task.rs +61 -0
  533. package/packages/pegboard-envoy/src/tunnel_to_ws_task.rs +183 -0
  534. package/packages/pegboard-envoy/src/utils.rs +68 -0
  535. package/packages/pegboard-envoy/src/ws_to_tunnel_task.rs +536 -0
  536. package/packages/pegboard-envoy/tests/support/ws_to_tunnel_task.rs +82 -0
  537. package/packages/pegboard-gateway/Cargo.toml +2 -0
  538. package/packages/pegboard-gateway/src/keepalive_task.rs +1 -1
  539. package/packages/pegboard-gateway/src/lib.rs +506 -128
  540. package/packages/pegboard-gateway/src/metrics.rs +7 -11
  541. package/packages/pegboard-gateway/src/metrics_task.rs +80 -0
  542. package/packages/pegboard-gateway/src/ping_task.rs +9 -2
  543. package/packages/pegboard-gateway/src/shared_state.rs +110 -74
  544. package/packages/pegboard-gateway/src/tunnel_to_ws_task.rs +21 -7
  545. package/packages/pegboard-gateway/src/ws_to_tunnel_task.rs +12 -6
  546. package/packages/pegboard-gateway2/Cargo.toml +37 -0
  547. package/packages/pegboard-gateway2/src/keepalive_task.rs +61 -0
  548. package/packages/pegboard-gateway2/src/lib.rs +1044 -0
  549. package/packages/pegboard-gateway2/src/metrics.rs +10 -0
  550. package/packages/pegboard-gateway2/src/metrics_task.rs +80 -0
  551. package/packages/pegboard-gateway2/src/ping_task.rs +30 -0
  552. package/packages/pegboard-gateway2/src/shared_state.rs +601 -0
  553. package/packages/pegboard-gateway2/src/tunnel_to_ws_task.rs +99 -0
  554. package/packages/pegboard-gateway2/src/ws_to_tunnel_task.rs +71 -0
  555. package/packages/{pegboard-serverless → pegboard-outbound}/Cargo.toml +9 -9
  556. package/packages/pegboard-outbound/src/lib.rs +487 -0
  557. package/packages/pegboard-outbound/src/metrics.rs +17 -0
  558. package/packages/pegboard-runner/Cargo.toml +11 -5
  559. package/packages/pegboard-runner/src/actor_event_demuxer.rs +163 -0
  560. package/packages/pegboard-runner/src/conn.rs +358 -122
  561. package/packages/pegboard-runner/src/errors.rs +5 -0
  562. package/packages/pegboard-runner/src/lib.rs +62 -36
  563. package/packages/pegboard-runner/src/metrics.rs +44 -0
  564. package/packages/pegboard-runner/src/ping_task.rs +60 -13
  565. package/packages/pegboard-runner/src/tunnel_to_ws_task.rs +249 -110
  566. package/packages/pegboard-runner/src/ws_to_tunnel_task.rs +738 -113
  567. package/packages/pegboard-runner/tests/support/ws_to_tunnel_task.rs +150 -0
  568. package/packages/pools/Cargo.toml +1 -2
  569. package/packages/pools/src/db/clickhouse.rs +7 -6
  570. package/packages/pools/src/db/udb.rs +16 -3
  571. package/packages/pools/src/db/ups.rs +27 -5
  572. package/packages/pools/src/error.rs +0 -3
  573. package/packages/pools/src/lib.rs +0 -2
  574. package/packages/pools/src/metrics.rs +33 -28
  575. package/packages/pools/src/pools.rs +15 -39
  576. package/packages/pools/src/prelude.rs +1 -1
  577. package/packages/postgres-util/Cargo.toml +13 -0
  578. package/packages/postgres-util/src/lib.rs +84 -0
  579. package/packages/runner-protocol/build.rs +157 -0
  580. package/packages/runner-protocol/src/lib.rs +16 -0
  581. package/packages/runner-protocol/src/util.rs +14 -0
  582. package/packages/runner-protocol/src/versioned.rs +4345 -0
  583. package/packages/runtime/src/lib.rs +46 -46
  584. package/packages/runtime/src/metrics.rs +39 -30
  585. package/packages/runtime/src/term_signal.rs +25 -12
  586. package/packages/runtime/src/traces.rs +5 -8
  587. package/packages/service-manager/src/lib.rs +66 -15
  588. package/packages/test-deps/src/datacenter.rs +22 -8
  589. package/packages/test-deps/src/lib.rs +47 -25
  590. package/packages/test-deps-docker/src/database.rs +45 -36
  591. package/packages/test-snapshot-gen/Cargo.toml +39 -0
  592. package/packages/test-snapshot-gen/snapshots/.gitkeep +0 -0
  593. package/packages/test-snapshot-gen/snapshots/epoxy-v1/metadata.json +3 -0
  594. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-1/000008.log +0 -0
  595. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-1/000009.sst +3 -0
  596. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-1/CURRENT +3 -0
  597. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-1/MANIFEST-000005 +3 -0
  598. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-1/OPTIONS-000007 +3 -0
  599. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-2/000008.log +0 -0
  600. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-2/000009.sst +3 -0
  601. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-2/CURRENT +3 -0
  602. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-2/MANIFEST-000005 +3 -0
  603. package/packages/test-snapshot-gen/snapshots/epoxy-v1/replica-2/OPTIONS-000007 +3 -0
  604. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/metadata.json +3 -0
  605. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-1/000008.log +0 -0
  606. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-1/000009.sst +3 -0
  607. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-1/CURRENT +3 -0
  608. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-1/MANIFEST-000005 +3 -0
  609. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-1/OPTIONS-000007 +3 -0
  610. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-2/000008.log +0 -0
  611. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-2/000009.sst +3 -0
  612. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-2/CURRENT +3 -0
  613. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-2/MANIFEST-000005 +3 -0
  614. package/packages/test-snapshot-gen/snapshots/pb-actor-v1-pre-migration/replica-2/OPTIONS-000007 +3 -0
  615. package/packages/test-snapshot-gen/src/lib.rs +328 -0
  616. package/packages/test-snapshot-gen/src/main.rs +145 -0
  617. package/packages/test-snapshot-gen/src/scenarios/epoxy_keys.rs +60 -0
  618. package/packages/test-snapshot-gen/src/scenarios/mod.rs +27 -0
  619. package/packages/test-snapshot-gen/src/scenarios/pb_actor_v1_pre_migration.rs +56 -0
  620. package/packages/test-snapshot-gen/src/test_cluster.rs +234 -0
  621. package/packages/tracing-reconfigure/src/lib.rs +1 -1
  622. package/packages/tracing-utils/src/lib.rs +12 -20
  623. package/packages/types/src/actor/error.rs +59 -0
  624. package/packages/types/src/actor/mod.rs +2 -0
  625. package/packages/types/src/actors.rs +5 -0
  626. package/packages/types/src/envoys.rs +21 -0
  627. package/packages/types/src/keys/backfill.rs +5 -0
  628. package/packages/types/src/keys/mod.rs +1 -0
  629. package/packages/types/src/lib.rs +2 -1
  630. package/packages/types/src/runner_configs.rs +43 -14
  631. package/packages/universaldb/Cargo.toml +4 -0
  632. package/packages/universaldb/src/database.rs +50 -5
  633. package/packages/universaldb/src/driver/mod.rs +12 -2
  634. package/packages/universaldb/src/driver/postgres/database.rs +88 -27
  635. package/packages/universaldb/src/driver/postgres/mod.rs +1 -1
  636. package/packages/universaldb/src/driver/postgres/transaction.rs +4 -7
  637. package/packages/universaldb/src/driver/postgres/transaction_task.rs +30 -52
  638. package/packages/universaldb/src/driver/rocksdb/database.rs +13 -7
  639. package/packages/universaldb/src/driver/rocksdb/transaction_conflict_tracker.rs +5 -5
  640. package/packages/universaldb/src/driver/rocksdb/transaction_task.rs +2 -1
  641. package/packages/universaldb/src/metrics.rs +39 -23
  642. package/packages/universaldb/src/prelude.rs +1 -1
  643. package/packages/universaldb/src/transaction.rs +9 -2
  644. package/packages/universaldb/src/utils/cherry_pick.rs +46 -46
  645. package/packages/universaldb/src/utils/keys.rs +21 -2
  646. package/packages/universaldb/src/utils/mod.rs +8 -0
  647. package/packages/universaldb/src/utils/subspace.rs +9 -4
  648. package/packages/universaldb/tests/integration.rs +5 -3
  649. package/packages/universaldb/tests/integration_gas.rs +5 -3
  650. package/packages/universaldb/tests/rocksdb.rs +152 -19
  651. package/packages/universalpubsub/Cargo.toml +8 -2
  652. package/packages/universalpubsub/benches/simple.rs +28 -8
  653. package/packages/universalpubsub/src/chunking.rs +27 -5
  654. package/packages/universalpubsub/src/driver/memory/mod.rs +131 -20
  655. package/packages/universalpubsub/src/driver/mod.rs +5 -0
  656. package/packages/universalpubsub/src/driver/nats/mod.rs +8 -0
  657. package/packages/universalpubsub/src/driver/postgres/mod.rs +505 -96
  658. package/packages/universalpubsub/src/lib.rs +3 -0
  659. package/packages/universalpubsub/src/metrics.rs +60 -0
  660. package/packages/universalpubsub/src/pubsub.rs +227 -87
  661. package/packages/universalpubsub/src/subject.rs +32 -0
  662. package/packages/universalpubsub/tests/chunking.rs +298 -0
  663. package/packages/universalpubsub/tests/integration.rs +148 -7
  664. package/packages/universalpubsub/tests/reconnect.rs +8 -6
  665. package/packages/util/Cargo.toml +1 -3
  666. package/packages/util/build.rs +6 -0
  667. package/packages/util/src/lib.rs +7 -2
  668. package/packages/util/src/metric.rs +1 -0
  669. package/packages/util/src/serde.rs +1 -516
  670. package/packages/{internal → util-serde}/Cargo.toml +4 -5
  671. package/packages/util-serde/src/lib.rs +517 -0
  672. package/packages/workflow-worker/Cargo.toml +4 -4
  673. package/packages/workflow-worker/src/lib.rs +3 -2
  674. package/sdks/go/api-full/client/client.go +17 -4
  675. package/sdks/go/api-full/metadata/client.go +50 -0
  676. package/sdks/go/api-full/namespaces/client.go +3 -0
  677. package/sdks/go/api-full/namespaces.go +6 -4
  678. package/sdks/go/api-full/runners/client.go +3 -0
  679. package/sdks/go/api-full/runners.go +8 -6
  680. package/sdks/go/api-full/types.go +107 -23
  681. package/sdks/rust/api-full/rust/.openapi-generator/FILES +6 -0
  682. package/sdks/rust/api-full/rust/Cargo.toml +1 -1
  683. package/sdks/rust/api-full/rust/README.md +5 -2
  684. package/sdks/rust/api-full/rust/docs/Actor.md +1 -0
  685. package/sdks/rust/api-full/rust/docs/ActorsDeleteApi.md +1 -1
  686. package/sdks/rust/api-full/rust/docs/ActorsKvGetApi.md +2 -1
  687. package/sdks/rust/api-full/rust/docs/ActorsListApi.md +3 -2
  688. package/sdks/rust/api-full/rust/docs/MetadataApi.md +34 -0
  689. package/sdks/rust/api-full/rust/docs/MetadataGetResponse.md +18 -0
  690. package/sdks/rust/api-full/rust/docs/NamespacesApi.md +3 -2
  691. package/sdks/rust/api-full/rust/docs/RunnerConfig.md +1 -0
  692. package/sdks/rust/api-full/rust/docs/RunnerConfigKindOneOf1Serverless.md +1 -0
  693. package/sdks/rust/api-full/rust/docs/RunnerConfigResponse.md +15 -0
  694. package/sdks/rust/api-full/rust/docs/RunnerConfigsListApi.md +3 -2
  695. package/sdks/rust/api-full/rust/docs/RunnerConfigsListResponseRunnerConfigsValue.md +1 -1
  696. package/sdks/rust/api-full/rust/docs/RunnersApi.md +3 -2
  697. package/sdks/rust/api-full/rust/src/apis/actors_create_api.rs +1 -1
  698. package/sdks/rust/api-full/rust/src/apis/actors_delete_api.rs +3 -5
  699. package/sdks/rust/api-full/rust/src/apis/actors_get_or_create_api.rs +1 -1
  700. package/sdks/rust/api-full/rust/src/apis/actors_kv_get_api.rs +4 -2
  701. package/sdks/rust/api-full/rust/src/apis/actors_list_api.rs +9 -2
  702. package/sdks/rust/api-full/rust/src/apis/actors_list_names_api.rs +1 -1
  703. package/sdks/rust/api-full/rust/src/apis/configuration.rs +2 -2
  704. package/sdks/rust/api-full/rust/src/apis/datacenters_api.rs +1 -1
  705. package/sdks/rust/api-full/rust/src/apis/health_api.rs +1 -1
  706. package/sdks/rust/api-full/rust/src/apis/metadata_api.rs +62 -0
  707. package/sdks/rust/api-full/rust/src/apis/mod.rs +1 -0
  708. package/sdks/rust/api-full/rust/src/apis/namespaces_api.rs +9 -2
  709. package/sdks/rust/api-full/rust/src/apis/runner_configs_delete_api.rs +1 -1
  710. package/sdks/rust/api-full/rust/src/apis/runner_configs_list_api.rs +9 -2
  711. package/sdks/rust/api-full/rust/src/apis/runner_configs_refresh_metadata_api.rs +1 -1
  712. package/sdks/rust/api-full/rust/src/apis/runner_configs_serverless_health_check_api.rs +1 -1
  713. package/sdks/rust/api-full/rust/src/apis/runner_configs_upsert_api.rs +1 -1
  714. package/sdks/rust/api-full/rust/src/apis/runners_api.rs +9 -2
  715. package/sdks/rust/api-full/rust/src/models/actor.rs +5 -1
  716. package/sdks/rust/api-full/rust/src/models/actor_name.rs +1 -1
  717. package/sdks/rust/api-full/rust/src/models/actors_create_request.rs +1 -1
  718. package/sdks/rust/api-full/rust/src/models/actors_create_response.rs +1 -1
  719. package/sdks/rust/api-full/rust/src/models/actors_get_or_create_request.rs +1 -1
  720. package/sdks/rust/api-full/rust/src/models/actors_get_or_create_response.rs +1 -1
  721. package/sdks/rust/api-full/rust/src/models/actors_kv_get_response.rs +1 -1
  722. package/sdks/rust/api-full/rust/src/models/actors_list_names_response.rs +1 -1
  723. package/sdks/rust/api-full/rust/src/models/actors_list_response.rs +1 -1
  724. package/sdks/rust/api-full/rust/src/models/crash_policy.rs +1 -1
  725. package/sdks/rust/api-full/rust/src/models/datacenter.rs +1 -1
  726. package/sdks/rust/api-full/rust/src/models/datacenter_health.rs +1 -1
  727. package/sdks/rust/api-full/rust/src/models/datacenters_list_response.rs +1 -1
  728. package/sdks/rust/api-full/rust/src/models/health_fanout_response.rs +1 -1
  729. package/sdks/rust/api-full/rust/src/models/health_response.rs +1 -1
  730. package/sdks/rust/api-full/rust/src/models/health_status.rs +1 -1
  731. package/sdks/rust/api-full/rust/src/models/metadata_get_response.rs +48 -0
  732. package/sdks/rust/api-full/rust/src/models/mod.rs +4 -0
  733. package/sdks/rust/api-full/rust/src/models/namespace.rs +1 -1
  734. package/sdks/rust/api-full/rust/src/models/namespace_list_response.rs +1 -1
  735. package/sdks/rust/api-full/rust/src/models/namespaces_create_request.rs +1 -1
  736. package/sdks/rust/api-full/rust/src/models/namespaces_create_response.rs +1 -1
  737. package/sdks/rust/api-full/rust/src/models/pagination.rs +1 -1
  738. package/sdks/rust/api-full/rust/src/models/runner.rs +1 -1
  739. package/sdks/rust/api-full/rust/src/models/runner_config.rs +4 -1
  740. package/sdks/rust/api-full/rust/src/models/runner_config_kind.rs +1 -1
  741. package/sdks/rust/api-full/rust/src/models/runner_config_kind_one_of.rs +1 -1
  742. package/sdks/rust/api-full/rust/src/models/runner_config_kind_one_of_1.rs +1 -1
  743. package/sdks/rust/api-full/rust/src/models/runner_config_kind_one_of_1_serverless.rs +5 -1
  744. package/sdks/rust/api-full/rust/src/models/runner_config_response.rs +39 -0
  745. package/sdks/rust/api-full/rust/src/models/runner_config_variant.rs +1 -1
  746. package/sdks/rust/api-full/rust/src/models/runner_configs_list_response.rs +1 -1
  747. package/sdks/rust/api-full/rust/src/models/runner_configs_list_response_runner_configs_value.rs +3 -3
  748. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_request.rs +1 -1
  749. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response.rs +1 -1
  750. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of.rs +1 -1
  751. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of_1.rs +1 -1
  752. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of_1_failure.rs +1 -1
  753. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_health_check_response_one_of_success.rs +1 -1
  754. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error.rs +1 -1
  755. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of.rs +1 -1
  756. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_1.rs +1 -1
  757. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_2.rs +1 -1
  758. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_3.rs +1 -1
  759. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_3_non_success_status.rs +1 -1
  760. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_4.rs +1 -1
  761. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_4_invalid_response_json.rs +1 -1
  762. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_5.rs +1 -1
  763. package/sdks/rust/api-full/rust/src/models/runner_configs_serverless_metadata_error_one_of_5_invalid_response_schema.rs +1 -1
  764. package/sdks/rust/api-full/rust/src/models/runner_configs_upsert_request_body.rs +1 -1
  765. package/sdks/rust/api-full/rust/src/models/runner_configs_upsert_response.rs +1 -1
  766. package/sdks/rust/api-full/rust/src/models/runners_list_names_response.rs +1 -1
  767. package/sdks/rust/api-full/rust/src/models/runners_list_response.rs +1 -1
  768. package/sdks/rust/api-full/src/apis/actors_api.rs +8 -4
  769. package/sdks/rust/api-full/src/apis/ns_api.rs +8 -4
  770. package/sdks/rust/data/src/converted.rs +7 -4
  771. package/sdks/rust/data/src/lib.rs +2 -2
  772. package/sdks/rust/data/src/versioned/mod.rs +47 -4
  773. package/sdks/rust/data/src/versioned/namespace_runner_config.rs +256 -6
  774. package/sdks/rust/envoy-client/Cargo.toml +25 -0
  775. package/sdks/rust/envoy-client/src/actor.rs +992 -0
  776. package/sdks/rust/envoy-client/src/commands.rs +88 -0
  777. package/sdks/rust/envoy-client/src/config.rs +159 -0
  778. package/sdks/rust/envoy-client/src/connection.rs +288 -0
  779. package/sdks/rust/envoy-client/src/context.rs +24 -0
  780. package/sdks/rust/envoy-client/src/envoy.rs +432 -0
  781. package/sdks/rust/envoy-client/src/events.rs +62 -0
  782. package/sdks/rust/envoy-client/src/handle.rs +355 -0
  783. package/sdks/rust/envoy-client/src/kv.rs +132 -0
  784. package/sdks/rust/envoy-client/src/latency_channel.rs +27 -0
  785. package/sdks/rust/envoy-client/src/lib.rs +15 -0
  786. package/sdks/rust/envoy-client/src/stringify.rs +322 -0
  787. package/sdks/rust/envoy-client/src/tunnel.rs +265 -0
  788. package/sdks/rust/envoy-client/src/utils.rs +172 -0
  789. package/sdks/rust/envoy-protocol/Cargo.toml +22 -0
  790. package/sdks/rust/envoy-protocol/build.rs +200 -0
  791. package/sdks/rust/envoy-protocol/src/generated.rs +1 -0
  792. package/sdks/rust/envoy-protocol/src/lib.rs +8 -0
  793. package/sdks/rust/envoy-protocol/src/versioned.rs +208 -0
  794. package/sdks/rust/epoxy-protocol/Cargo.toml +0 -2
  795. package/sdks/rust/epoxy-protocol/build.rs +7 -0
  796. package/sdks/rust/epoxy-protocol/src/lib.rs +2 -5
  797. package/sdks/rust/epoxy-protocol/src/protocol.rs +128 -0
  798. package/sdks/rust/test-envoy/Cargo.toml +23 -0
  799. package/sdks/rust/test-envoy/Dockerfile +22 -0
  800. package/sdks/rust/test-envoy/src/behaviors.rs +141 -0
  801. package/sdks/rust/test-envoy/src/lib.rs +11 -0
  802. package/sdks/rust/test-envoy/src/main.rs +4 -0
  803. package/sdks/rust/test-envoy/src/server.rs +269 -0
  804. package/sdks/schemas/README.md +1 -2
  805. package/sdks/schemas/data/namespace.runner_config.v3.bare +24 -0
  806. package/sdks/schemas/data/namespace.runner_config.v4.bare +25 -0
  807. package/sdks/schemas/data/namespace.runner_config.v5.bare +26 -0
  808. package/sdks/schemas/data/pegboard.namespace.runner_alloc_idx.v2.bare +8 -0
  809. package/sdks/schemas/envoy-protocol/v1.bare +459 -0
  810. package/sdks/schemas/epoxy-protocol/v2.bare +220 -0
  811. package/sdks/schemas/runner-protocol/v4.bare +438 -0
  812. package/sdks/schemas/runner-protocol/v5.bare +430 -0
  813. package/sdks/schemas/runner-protocol/v6.bare +432 -0
  814. package/sdks/schemas/runner-protocol/v7.bare +438 -0
  815. package/sdks/typescript/api-full/.turbo/turbo-build.log +28 -27
  816. package/sdks/typescript/api-full/build.js +7 -1
  817. package/sdks/typescript/api-full/package.json +66 -57
  818. package/sdks/typescript/api-full/rivetkit-engine-api-full-25.5.3.tgz +0 -0
  819. package/sdks/typescript/api-full/src/Client.ts +41 -10
  820. package/sdks/typescript/api-full/src/api/client/requests/ActorsDeleteRequest.ts +4 -2
  821. package/sdks/typescript/api-full/src/api/client/requests/ActorsKvGetRequest.ts +13 -0
  822. package/sdks/typescript/api-full/src/api/client/requests/ActorsListRequest.ts +6 -0
  823. package/sdks/typescript/api-full/src/api/client/requests/RunnerConfigsListRequest.ts +4 -0
  824. package/sdks/typescript/api-full/src/api/client/requests/index.ts +1 -0
  825. package/sdks/typescript/api-full/src/api/resources/index.ts +1 -0
  826. package/sdks/typescript/api-full/src/api/resources/metadata/client/Client.ts +97 -0
  827. package/sdks/typescript/api-full/src/api/resources/metadata/client/index.ts +1 -0
  828. package/sdks/typescript/api-full/src/api/resources/metadata/index.ts +1 -0
  829. package/sdks/typescript/api-full/src/api/resources/namespaces/client/Client.ts +12 -2
  830. package/sdks/typescript/api-full/src/api/resources/namespaces/client/requests/NamespacesListRequest.ts +6 -0
  831. package/sdks/typescript/api-full/src/api/resources/runners/client/Client.ts +12 -2
  832. package/sdks/typescript/api-full/src/api/resources/runners/client/requests/RunnersListRequest.ts +6 -0
  833. package/sdks/typescript/api-full/src/api/types/Actor.ts +2 -0
  834. package/sdks/typescript/api-full/src/api/types/MetadataGetResponse.ts +14 -0
  835. package/sdks/typescript/api-full/src/api/types/RunnerConfig.ts +1 -0
  836. package/sdks/typescript/api-full/src/api/types/RunnerConfigKindServerlessServerless.ts +2 -0
  837. package/sdks/typescript/api-full/src/api/types/RunnerConfigResponse.ts +9 -0
  838. package/sdks/typescript/api-full/src/api/types/RunnerConfigServerless.ts +2 -0
  839. package/sdks/typescript/api-full/src/api/types/RunnerConfigsListResponseRunnerConfigsValue.ts +1 -1
  840. package/sdks/typescript/api-full/src/api/types/index.ts +2 -0
  841. package/sdks/typescript/api-full/src/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.ts +6 -4
  842. package/sdks/typescript/api-full/src/core/fetcher/stream-wrappers/UndiciStreamWrapper.ts +4 -3
  843. package/sdks/typescript/api-full/src/serialization/types/Actor.ts +2 -0
  844. package/sdks/typescript/api-full/src/serialization/types/MetadataGetResponse.ts +34 -0
  845. package/sdks/typescript/api-full/src/serialization/types/RunnerConfig.ts +5 -0
  846. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigKindServerlessServerless.ts +2 -0
  847. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigResponse.ts +26 -0
  848. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigServerless.ts +2 -0
  849. package/sdks/typescript/api-full/src/serialization/types/RunnerConfigsListResponseRunnerConfigsValue.ts +3 -3
  850. package/sdks/typescript/api-full/src/serialization/types/index.ts +2 -0
  851. package/sdks/typescript/api-full/turbo.json +9 -0
  852. package/sdks/typescript/envoy-protocol/.turbo/turbo-build.log +23 -0
  853. package/sdks/typescript/{runner-protocol → envoy-protocol}/dist/index.cjs +466 -281
  854. package/sdks/typescript/envoy-protocol/dist/index.cjs.map +1 -0
  855. package/sdks/typescript/envoy-protocol/dist/index.d.cts +699 -0
  856. package/sdks/typescript/envoy-protocol/dist/index.d.ts +699 -0
  857. package/sdks/typescript/{runner-protocol → envoy-protocol}/dist/index.js +530 -345
  858. package/sdks/typescript/envoy-protocol/dist/index.js.map +1 -0
  859. package/sdks/typescript/{runner-protocol → envoy-protocol}/node_modules/.bin/tsc +4 -4
  860. package/{tests/load → sdks/typescript/envoy-protocol}/node_modules/.bin/tsserver +4 -4
  861. package/sdks/typescript/envoy-protocol/node_modules/.bin/tsup +21 -0
  862. package/sdks/typescript/envoy-protocol/node_modules/.bin/tsup-node +21 -0
  863. package/sdks/typescript/envoy-protocol/package.json +36 -0
  864. package/sdks/typescript/envoy-protocol/src/index.ts +2331 -0
  865. package/sdks/typescript/envoy-protocol/tsconfig.json +9 -0
  866. package/sdks/typescript/envoy-protocol/tsup.config.ts +4 -0
  867. package/sdks/typescript/runner/package.json +8 -2
  868. package/sdks/typescript/runner/src/actor.ts +38 -0
  869. package/sdks/typescript/runner/src/mod.ts +435 -229
  870. package/sdks/typescript/runner/src/stringify.ts +36 -33
  871. package/sdks/typescript/runner/src/tunnel.ts +52 -56
  872. package/sdks/typescript/runner/src/utils.ts +19 -0
  873. package/sdks/typescript/runner/src/websocket-tunnel-adapter.ts +98 -435
  874. package/sdks/typescript/runner-protocol/package.json +11 -9
  875. package/sdks/typescript/runner-protocol/src/index.ts +224 -156
  876. package/sdks/typescript/runner-protocol/tsconfig.json +1 -9
  877. package/sdks/typescript/test-runner/.turbo/turbo-build.log +5 -5
  878. package/sdks/typescript/test-runner/dist/index.js +53 -44
  879. package/sdks/typescript/test-runner/dist/index.js.map +1 -1
  880. package/sdks/typescript/test-runner/node_modules/.bin/pino +2 -2
  881. package/sdks/typescript/test-runner/node_modules/.bin/tsc +4 -4
  882. package/sdks/typescript/test-runner/node_modules/.bin/tsserver +4 -4
  883. package/sdks/typescript/test-runner/node_modules/.bin/tsup +4 -4
  884. package/sdks/typescript/test-runner/node_modules/.bin/tsup-node +4 -4
  885. package/sdks/typescript/test-runner/node_modules/.bin/tsx +4 -4
  886. package/sdks/typescript/test-runner/node_modules/.bin/vitest +4 -4
  887. package/sdks/typescript/test-runner/package.json +3 -3
  888. package/sdks/typescript/test-runner/src/index.ts +65 -42
  889. package/sdks/typescript/test-runner/src/log.ts +4 -18
  890. package/artifacts/errors/actor.no_runners_available.json +0 -5
  891. package/artifacts/errors/guard.actor_destroyed.json +0 -5
  892. package/artifacts/errors/guard.actor_not_found.json +0 -5
  893. package/contrib-docs/ACTOR_KEY_RESERVATION.md +0 -101
  894. package/contrib-docs/API.md +0 -11
  895. package/contrib-docs/DOCKER.md +0 -5
  896. package/contrib-docs/ERRORS.md +0 -13
  897. package/contrib-docs/GUARD.md +0 -76
  898. package/contrib-docs/PEGBOARD_TUNNEL_RETRIES.md +0 -83
  899. package/contrib-docs/RUNNER_LIFECYCLE.md +0 -172
  900. package/contrib-docs/SDKS.md +0 -9
  901. package/contrib-docs/TEST_DEPENDENCIES.md +0 -43
  902. package/contrib-docs/design-choicse/EMBEDDED_KV.md +0 -80
  903. package/contrib-docs/operate/TRACING_RECONFIGURE.md +0 -78
  904. package/docker/dev/otel-collector-client/config.yaml +0 -39
  905. package/docker/dev-host/otel-collector-client/config.yaml +0 -39
  906. package/docker/dev-multidc/datacenters/dc-a/otel-collector-client/config.yaml +0 -39
  907. package/docker/dev-multidc/datacenters/dc-b/otel-collector-client/config.yaml +0 -39
  908. package/docker/dev-multidc/datacenters/dc-c/otel-collector-client/config.yaml +0 -39
  909. package/docker/dev-multidc-multinode/datacenters/dc-a/otel-collector-client/config.yaml +0 -39
  910. package/docker/dev-multidc-multinode/datacenters/dc-b/otel-collector-client/config.yaml +0 -39
  911. package/docker/dev-multidc-multinode/datacenters/dc-c/otel-collector-client/config.yaml +0 -39
  912. package/docker/dev-multinode/otel-collector-client/config.yaml +0 -39
  913. package/docker/template/src/services/edge/otel-collector-client.ts +0 -64
  914. package/packages/actor-kv/Cargo.toml +0 -31
  915. package/packages/actor-kv/src/key.rs +0 -81
  916. package/packages/actor-kv/src/lib.rs +0 -357
  917. package/packages/cache/src/rate_limit.rs +0 -109
  918. package/packages/cache/tests/integration.rs +0 -582
  919. package/packages/clickhouse-inserter/Cargo.toml +0 -17
  920. package/packages/clickhouse-inserter/src/error.rs +0 -16
  921. package/packages/clickhouse-inserter/src/lib.rs +0 -179
  922. package/packages/clickhouse-user-query/Cargo.toml +0 -16
  923. package/packages/clickhouse-user-query/examples/case_sensitivity_demo.rs +0 -100
  924. package/packages/clickhouse-user-query/examples/group_by_example.rs +0 -53
  925. package/packages/clickhouse-user-query/examples/string_contains_demo.rs +0 -96
  926. package/packages/clickhouse-user-query/src/builder.rs +0 -445
  927. package/packages/clickhouse-user-query/src/error.rs +0 -37
  928. package/packages/clickhouse-user-query/src/lib.rs +0 -61
  929. package/packages/clickhouse-user-query/src/query.rs +0 -143
  930. package/packages/clickhouse-user-query/src/schema.rs +0 -78
  931. package/packages/clickhouse-user-query/tests/builder_tests.rs +0 -619
  932. package/packages/clickhouse-user-query/tests/case_sensitivity_tests.rs +0 -307
  933. package/packages/clickhouse-user-query/tests/integration_tests.rs +0 -540
  934. package/packages/clickhouse-user-query/tests/query_tests.rs +0 -263
  935. package/packages/clickhouse-user-query/tests/schema_tests.rs +0 -44
  936. package/packages/config/src/config/vector.rs +0 -18
  937. package/packages/engine/src/commands/udb_keys.rs +0 -200
  938. package/packages/engine/tests/actors_create.rs +0 -524
  939. package/packages/engine/tests/actors_delete.rs +0 -243
  940. package/packages/engine/tests/actors_general.rs +0 -191
  941. package/packages/engine/tests/actors_get.rs +0 -230
  942. package/packages/engine/tests/actors_get_by_id.rs +0 -170
  943. package/packages/engine/tests/actors_get_or_create.rs +0 -294
  944. package/packages/engine/tests/actors_get_or_create_by_id.rs +0 -147
  945. package/packages/engine/tests/actors_lifecycle.rs +0 -165
  946. package/packages/engine/tests/actors_list.rs +0 -798
  947. package/packages/engine/tests/actors_list_names.rs +0 -353
  948. package/packages/engine/tests/common/ns.rs +0 -36
  949. package/packages/engine/tests/common/runner.rs +0 -134
  950. package/packages/engine/tests/runners_dupe_key.rs +0 -27
  951. package/packages/engine/tests/runners_version.rs +0 -50
  952. package/packages/env/build.rs +0 -8
  953. package/packages/epoxy/spec/KEYS.md +0 -33
  954. package/packages/epoxy/spec/PROPOSAL.md +0 -125
  955. package/packages/epoxy/spec/RECONFIGURE.md +0 -40
  956. package/packages/epoxy/src/ops/explicit_prepare.rs +0 -342
  957. package/packages/epoxy/src/replica/decide_path.rs +0 -51
  958. package/packages/epoxy/src/replica/lead_consensus.rs +0 -65
  959. package/packages/epoxy/src/replica/log.rs +0 -84
  960. package/packages/epoxy/src/replica/messages/accepted.rs +0 -35
  961. package/packages/epoxy/src/replica/messages/committed.rs +0 -41
  962. package/packages/epoxy/src/replica/messages/download_instances.rs +0 -69
  963. package/packages/epoxy/src/replica/messages/pre_accept.rs +0 -69
  964. package/packages/epoxy/src/replica/utils.rs +0 -111
  965. package/packages/epoxy/src/workflows/purger.rs +0 -81
  966. package/packages/guard/src/cache/actor.rs +0 -43
  967. package/packages/guard/src/middleware.rs +0 -42
  968. package/packages/guard/src/routing/pegboard_gateway.rs +0 -260
  969. package/packages/guard-core/src/analytics.rs +0 -46
  970. package/packages/internal/README.md +0 -1
  971. package/packages/internal/src/lib.rs +0 -1
  972. package/packages/internal/src/ops/bump_serverless_autoscaler_global.rs +0 -64
  973. package/packages/internal/src/ops/cache/mod.rs +0 -1
  974. package/packages/internal/src/ops/cache/purge_global.rs +0 -81
  975. package/packages/internal/src/ops/mod.rs +0 -2
  976. package/packages/namespace/src/ops/runner_config/mod.rs +0 -4
  977. package/packages/namespace/src/ops/runner_config/upsert.rs +0 -148
  978. package/packages/pegboard/src/ops/actor/get_runner.rs +0 -64
  979. package/packages/pegboard/src/ops/runner/find_dc_with_runner.rs +0 -222
  980. package/packages/pegboard-serverless/src/lib.rs +0 -523
  981. package/packages/types/src/msgs/mod.rs +0 -1
  982. package/packages/types/src/msgs/pegboard.rs +0 -5
  983. package/sdks/rust/epoxy-protocol/src/versioned.rs +0 -206
  984. package/sdks/rust/runner-protocol/build.rs +0 -115
  985. package/sdks/rust/runner-protocol/src/lib.rs +0 -10
  986. package/sdks/rust/runner-protocol/src/versioned.rs +0 -1734
  987. package/sdks/schemas/epoxy-protocol/v1.bare +0 -260
  988. package/sdks/typescript/runner/.turbo/turbo-build.log +0 -22
  989. package/sdks/typescript/runner/dist/mod.cjs +0 -2951
  990. package/sdks/typescript/runner/dist/mod.cjs.map +0 -1
  991. package/sdks/typescript/runner/dist/mod.d.cts +0 -326
  992. package/sdks/typescript/runner/dist/mod.d.ts +0 -326
  993. package/sdks/typescript/runner/dist/mod.js +0 -2951
  994. package/sdks/typescript/runner/dist/mod.js.map +0 -1
  995. package/sdks/typescript/runner/node_modules/.bin/pino +0 -21
  996. package/sdks/typescript/runner/node_modules/.bin/tsc +0 -21
  997. package/sdks/typescript/runner/node_modules/.bin/tsserver +0 -21
  998. package/sdks/typescript/runner/node_modules/.bin/tsup +0 -21
  999. package/sdks/typescript/runner/node_modules/.bin/tsup-node +0 -21
  1000. package/sdks/typescript/runner/node_modules/.bin/tsx +0 -21
  1001. package/sdks/typescript/runner/node_modules/.bin/uuid +0 -21
  1002. package/sdks/typescript/runner/node_modules/.bin/vitest +0 -21
  1003. package/sdks/typescript/runner-protocol/.turbo/turbo-build.log +0 -22
  1004. package/sdks/typescript/runner-protocol/dist/index.cjs.map +0 -1
  1005. package/sdks/typescript/runner-protocol/dist/index.d.cts +0 -666
  1006. package/sdks/typescript/runner-protocol/dist/index.d.ts +0 -666
  1007. package/sdks/typescript/runner-protocol/dist/index.js.map +0 -1
  1008. package/sdks/typescript/runner-protocol/node_modules/.bin/tsserver +0 -21
  1009. package/sdks/typescript/runner-protocol/node_modules/.bin/tsup +0 -21
  1010. package/sdks/typescript/runner-protocol/node_modules/.bin/tsup-node +0 -21
  1011. package/sdks/typescript/test-runner/Dockerfile +0 -26
  1012. package/tests/load/README.md +0 -28
  1013. package/tests/load/actor-lifecycle/README.md +0 -26
  1014. package/tests/load/actor-lifecycle/actor.ts +0 -41
  1015. package/tests/load/actor-lifecycle/config.ts +0 -14
  1016. package/tests/load/actor-lifecycle/index.ts +0 -62
  1017. package/tests/load/actor-lifecycle/rivet_api.ts +0 -140
  1018. package/tests/load/actor-lifecycle/types.ts +0 -17
  1019. package/tests/load/node_modules/.bin/biome +0 -21
  1020. package/tests/load/node_modules/.bin/tsc +0 -21
  1021. package/tests/load/package.json +0 -15
  1022. package/tests/load/tsconfig.json +0 -20
  1023. package/tests/smoke/README.md +0 -32
  1024. package/tests/smoke/package.json +0 -19
  1025. package/tests/smoke/scripts/connect.ts +0 -41
  1026. package/tests/smoke/src/server/registry.ts +0 -32
  1027. package/tests/smoke/src/server/server.ts +0 -7
  1028. package/tests/smoke/src/smoke-test/index.ts +0 -161
  1029. package/tests/smoke/src/smoke-test/spawn-actor.ts +0 -109
  1030. package/tests/smoke/tsconfig.json +0 -43
  1031. /package/packages/{dump-openapi → api-public-openapi-gen}/build.rs +0 -0
  1032. /package/packages/{dump-openapi → api-public-openapi-gen}/src/lib.rs +0 -0
  1033. /package/{sdks/rust → packages}/runner-protocol/Cargo.toml +0 -0
  1034. /package/{sdks/rust → packages}/runner-protocol/src/compat.rs +0 -0
  1035. /package/{sdks/rust → packages}/runner-protocol/src/generated.rs +0 -0
  1036. /package/{sdks/rust → packages}/runner-protocol/src/uuid_compat.rs +0 -0
  1037. /package/sdks/rust/{runner-protocol → envoy-protocol}/src/util.rs +0 -0
  1038. /package/{tests/smoke → sdks/typescript/envoy-protocol}/turbo.json +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import assert from \"node:assert\"\nimport * as bare from \"@bare-ts/lib\"\n\nconst DEFAULT_CONFIG = /* @__PURE__ */ bare.Config({})\n\nexport type i64 = bigint\nexport type u16 = number\nexport type u32 = number\nexport type u64 = bigint\n\nexport type Id = string\n\nexport function readId(bc: bare.ByteCursor): Id {\n return bare.readString(bc)\n}\n\nexport function writeId(bc: bare.ByteCursor, x: Id): void {\n bare.writeString(bc, x)\n}\n\nexport type Json = string\n\nexport function readJson(bc: bare.ByteCursor): Json {\n return bare.readString(bc)\n}\n\nexport function writeJson(bc: bare.ByteCursor, x: Json): void {\n bare.writeString(bc, x)\n}\n\nexport type GatewayId = ArrayBuffer\n\nexport function readGatewayId(bc: bare.ByteCursor): GatewayId {\n return bare.readFixedData(bc, 4)\n}\n\nexport function writeGatewayId(bc: bare.ByteCursor, x: GatewayId): void {\n assert(x.byteLength === 4)\n bare.writeFixedData(bc, x)\n}\n\nexport type RequestId = ArrayBuffer\n\nexport function readRequestId(bc: bare.ByteCursor): RequestId {\n return bare.readFixedData(bc, 4)\n}\n\nexport function writeRequestId(bc: bare.ByteCursor, x: RequestId): void {\n assert(x.byteLength === 4)\n bare.writeFixedData(bc, x)\n}\n\nexport type MessageIndex = u16\n\nexport function readMessageIndex(bc: bare.ByteCursor): MessageIndex {\n return bare.readU16(bc)\n}\n\nexport function writeMessageIndex(bc: bare.ByteCursor, x: MessageIndex): void {\n bare.writeU16(bc, x)\n}\n\n/**\n * Basic types\n */\nexport type KvKey = ArrayBuffer\n\nexport function readKvKey(bc: bare.ByteCursor): KvKey {\n return bare.readData(bc)\n}\n\nexport function writeKvKey(bc: bare.ByteCursor, x: KvKey): void {\n bare.writeData(bc, x)\n}\n\nexport type KvValue = ArrayBuffer\n\nexport function readKvValue(bc: bare.ByteCursor): KvValue {\n return bare.readData(bc)\n}\n\nexport function writeKvValue(bc: bare.ByteCursor, x: KvValue): void {\n bare.writeData(bc, x)\n}\n\nexport type KvMetadata = {\n readonly version: ArrayBuffer\n /**\n * TODO: Rename to update_ts\n */\n readonly createTs: i64\n}\n\nexport function readKvMetadata(bc: bare.ByteCursor): KvMetadata {\n return {\n version: bare.readData(bc),\n createTs: bare.readI64(bc),\n }\n}\n\nexport function writeKvMetadata(bc: bare.ByteCursor, x: KvMetadata): void {\n bare.writeData(bc, x.version)\n bare.writeI64(bc, x.createTs)\n}\n\n/**\n * Query types\n */\nexport type KvListAllQuery = null\n\nexport type KvListRangeQuery = {\n readonly start: KvKey\n readonly end: KvKey\n readonly exclusive: boolean\n}\n\nexport function readKvListRangeQuery(bc: bare.ByteCursor): KvListRangeQuery {\n return {\n start: readKvKey(bc),\n end: readKvKey(bc),\n exclusive: bare.readBool(bc),\n }\n}\n\nexport function writeKvListRangeQuery(bc: bare.ByteCursor, x: KvListRangeQuery): void {\n writeKvKey(bc, x.start)\n writeKvKey(bc, x.end)\n bare.writeBool(bc, x.exclusive)\n}\n\nexport type KvListPrefixQuery = {\n readonly key: KvKey\n}\n\nexport function readKvListPrefixQuery(bc: bare.ByteCursor): KvListPrefixQuery {\n return {\n key: readKvKey(bc),\n }\n}\n\nexport function writeKvListPrefixQuery(bc: bare.ByteCursor, x: KvListPrefixQuery): void {\n writeKvKey(bc, x.key)\n}\n\nexport type KvListQuery =\n | { readonly tag: \"KvListAllQuery\"; readonly val: KvListAllQuery }\n | { readonly tag: \"KvListRangeQuery\"; readonly val: KvListRangeQuery }\n | { readonly tag: \"KvListPrefixQuery\"; readonly val: KvListPrefixQuery }\n\nexport function readKvListQuery(bc: bare.ByteCursor): KvListQuery {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"KvListAllQuery\", val: null }\n case 1:\n return { tag: \"KvListRangeQuery\", val: readKvListRangeQuery(bc) }\n case 2:\n return { tag: \"KvListPrefixQuery\", val: readKvListPrefixQuery(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeKvListQuery(bc: bare.ByteCursor, x: KvListQuery): void {\n switch (x.tag) {\n case \"KvListAllQuery\": {\n bare.writeU8(bc, 0)\n break\n }\n case \"KvListRangeQuery\": {\n bare.writeU8(bc, 1)\n writeKvListRangeQuery(bc, x.val)\n break\n }\n case \"KvListPrefixQuery\": {\n bare.writeU8(bc, 2)\n writeKvListPrefixQuery(bc, x.val)\n break\n }\n }\n}\n\nfunction read0(bc: bare.ByteCursor): readonly KvKey[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) {\n return []\n }\n const result = [readKvKey(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readKvKey(bc)\n }\n return result\n}\n\nfunction write0(bc: bare.ByteCursor, x: readonly KvKey[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeKvKey(bc, x[i])\n }\n}\n\n/**\n * Request types\n */\nexport type KvGetRequest = {\n readonly keys: readonly KvKey[]\n}\n\nexport function readKvGetRequest(bc: bare.ByteCursor): KvGetRequest {\n return {\n keys: read0(bc),\n }\n}\n\nexport function writeKvGetRequest(bc: bare.ByteCursor, x: KvGetRequest): void {\n write0(bc, x.keys)\n}\n\nfunction read1(bc: bare.ByteCursor): boolean | null {\n return bare.readBool(bc) ? bare.readBool(bc) : null\n}\n\nfunction write1(bc: bare.ByteCursor, x: boolean | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n bare.writeBool(bc, x)\n }\n}\n\nfunction read2(bc: bare.ByteCursor): u64 | null {\n return bare.readBool(bc) ? bare.readU64(bc) : null\n}\n\nfunction write2(bc: bare.ByteCursor, x: u64 | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n bare.writeU64(bc, x)\n }\n}\n\nexport type KvListRequest = {\n readonly query: KvListQuery\n readonly reverse: boolean | null\n readonly limit: u64 | null\n}\n\nexport function readKvListRequest(bc: bare.ByteCursor): KvListRequest {\n return {\n query: readKvListQuery(bc),\n reverse: read1(bc),\n limit: read2(bc),\n }\n}\n\nexport function writeKvListRequest(bc: bare.ByteCursor, x: KvListRequest): void {\n writeKvListQuery(bc, x.query)\n write1(bc, x.reverse)\n write2(bc, x.limit)\n}\n\nfunction read3(bc: bare.ByteCursor): readonly KvValue[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) {\n return []\n }\n const result = [readKvValue(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readKvValue(bc)\n }\n return result\n}\n\nfunction write3(bc: bare.ByteCursor, x: readonly KvValue[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeKvValue(bc, x[i])\n }\n}\n\nexport type KvPutRequest = {\n readonly keys: readonly KvKey[]\n readonly values: readonly KvValue[]\n}\n\nexport function readKvPutRequest(bc: bare.ByteCursor): KvPutRequest {\n return {\n keys: read0(bc),\n values: read3(bc),\n }\n}\n\nexport function writeKvPutRequest(bc: bare.ByteCursor, x: KvPutRequest): void {\n write0(bc, x.keys)\n write3(bc, x.values)\n}\n\nexport type KvDeleteRequest = {\n readonly keys: readonly KvKey[]\n}\n\nexport function readKvDeleteRequest(bc: bare.ByteCursor): KvDeleteRequest {\n return {\n keys: read0(bc),\n }\n}\n\nexport function writeKvDeleteRequest(bc: bare.ByteCursor, x: KvDeleteRequest): void {\n write0(bc, x.keys)\n}\n\nexport type KvDropRequest = null\n\n/**\n * Response types\n */\nexport type KvErrorResponse = {\n readonly message: string\n}\n\nexport function readKvErrorResponse(bc: bare.ByteCursor): KvErrorResponse {\n return {\n message: bare.readString(bc),\n }\n}\n\nexport function writeKvErrorResponse(bc: bare.ByteCursor, x: KvErrorResponse): void {\n bare.writeString(bc, x.message)\n}\n\nfunction read4(bc: bare.ByteCursor): readonly KvMetadata[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) {\n return []\n }\n const result = [readKvMetadata(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readKvMetadata(bc)\n }\n return result\n}\n\nfunction write4(bc: bare.ByteCursor, x: readonly KvMetadata[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeKvMetadata(bc, x[i])\n }\n}\n\nexport type KvGetResponse = {\n readonly keys: readonly KvKey[]\n readonly values: readonly KvValue[]\n readonly metadata: readonly KvMetadata[]\n}\n\nexport function readKvGetResponse(bc: bare.ByteCursor): KvGetResponse {\n return {\n keys: read0(bc),\n values: read3(bc),\n metadata: read4(bc),\n }\n}\n\nexport function writeKvGetResponse(bc: bare.ByteCursor, x: KvGetResponse): void {\n write0(bc, x.keys)\n write3(bc, x.values)\n write4(bc, x.metadata)\n}\n\nexport type KvListResponse = {\n readonly keys: readonly KvKey[]\n readonly values: readonly KvValue[]\n readonly metadata: readonly KvMetadata[]\n}\n\nexport function readKvListResponse(bc: bare.ByteCursor): KvListResponse {\n return {\n keys: read0(bc),\n values: read3(bc),\n metadata: read4(bc),\n }\n}\n\nexport function writeKvListResponse(bc: bare.ByteCursor, x: KvListResponse): void {\n write0(bc, x.keys)\n write3(bc, x.values)\n write4(bc, x.metadata)\n}\n\nexport type KvPutResponse = null\n\nexport type KvDeleteResponse = null\n\nexport type KvDropResponse = null\n\n/**\n * Request/Response unions\n */\nexport type KvRequestData =\n | { readonly tag: \"KvGetRequest\"; readonly val: KvGetRequest }\n | { readonly tag: \"KvListRequest\"; readonly val: KvListRequest }\n | { readonly tag: \"KvPutRequest\"; readonly val: KvPutRequest }\n | { readonly tag: \"KvDeleteRequest\"; readonly val: KvDeleteRequest }\n | { readonly tag: \"KvDropRequest\"; readonly val: KvDropRequest }\n\nexport function readKvRequestData(bc: bare.ByteCursor): KvRequestData {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"KvGetRequest\", val: readKvGetRequest(bc) }\n case 1:\n return { tag: \"KvListRequest\", val: readKvListRequest(bc) }\n case 2:\n return { tag: \"KvPutRequest\", val: readKvPutRequest(bc) }\n case 3:\n return { tag: \"KvDeleteRequest\", val: readKvDeleteRequest(bc) }\n case 4:\n return { tag: \"KvDropRequest\", val: null }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeKvRequestData(bc: bare.ByteCursor, x: KvRequestData): void {\n switch (x.tag) {\n case \"KvGetRequest\": {\n bare.writeU8(bc, 0)\n writeKvGetRequest(bc, x.val)\n break\n }\n case \"KvListRequest\": {\n bare.writeU8(bc, 1)\n writeKvListRequest(bc, x.val)\n break\n }\n case \"KvPutRequest\": {\n bare.writeU8(bc, 2)\n writeKvPutRequest(bc, x.val)\n break\n }\n case \"KvDeleteRequest\": {\n bare.writeU8(bc, 3)\n writeKvDeleteRequest(bc, x.val)\n break\n }\n case \"KvDropRequest\": {\n bare.writeU8(bc, 4)\n break\n }\n }\n}\n\nexport type KvResponseData =\n | { readonly tag: \"KvErrorResponse\"; readonly val: KvErrorResponse }\n | { readonly tag: \"KvGetResponse\"; readonly val: KvGetResponse }\n | { readonly tag: \"KvListResponse\"; readonly val: KvListResponse }\n | { readonly tag: \"KvPutResponse\"; readonly val: KvPutResponse }\n | { readonly tag: \"KvDeleteResponse\"; readonly val: KvDeleteResponse }\n | { readonly tag: \"KvDropResponse\"; readonly val: KvDropResponse }\n\nexport function readKvResponseData(bc: bare.ByteCursor): KvResponseData {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"KvErrorResponse\", val: readKvErrorResponse(bc) }\n case 1:\n return { tag: \"KvGetResponse\", val: readKvGetResponse(bc) }\n case 2:\n return { tag: \"KvListResponse\", val: readKvListResponse(bc) }\n case 3:\n return { tag: \"KvPutResponse\", val: null }\n case 4:\n return { tag: \"KvDeleteResponse\", val: null }\n case 5:\n return { tag: \"KvDropResponse\", val: null }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeKvResponseData(bc: bare.ByteCursor, x: KvResponseData): void {\n switch (x.tag) {\n case \"KvErrorResponse\": {\n bare.writeU8(bc, 0)\n writeKvErrorResponse(bc, x.val)\n break\n }\n case \"KvGetResponse\": {\n bare.writeU8(bc, 1)\n writeKvGetResponse(bc, x.val)\n break\n }\n case \"KvListResponse\": {\n bare.writeU8(bc, 2)\n writeKvListResponse(bc, x.val)\n break\n }\n case \"KvPutResponse\": {\n bare.writeU8(bc, 3)\n break\n }\n case \"KvDeleteResponse\": {\n bare.writeU8(bc, 4)\n break\n }\n case \"KvDropResponse\": {\n bare.writeU8(bc, 5)\n break\n }\n }\n}\n\n/**\n * Core\n */\nexport enum StopCode {\n Ok = \"Ok\",\n Error = \"Error\",\n}\n\nexport function readStopCode(bc: bare.ByteCursor): StopCode {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return StopCode.Ok\n case 1:\n return StopCode.Error\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeStopCode(bc: bare.ByteCursor, x: StopCode): void {\n switch (x) {\n case StopCode.Ok: {\n bare.writeU8(bc, 0)\n break\n }\n case StopCode.Error: {\n bare.writeU8(bc, 1)\n break\n }\n }\n}\n\nexport type ActorName = {\n readonly metadata: Json\n}\n\nexport function readActorName(bc: bare.ByteCursor): ActorName {\n return {\n metadata: readJson(bc),\n }\n}\n\nexport function writeActorName(bc: bare.ByteCursor, x: ActorName): void {\n writeJson(bc, x.metadata)\n}\n\nfunction read5(bc: bare.ByteCursor): string | null {\n return bare.readBool(bc) ? bare.readString(bc) : null\n}\n\nfunction write5(bc: bare.ByteCursor, x: string | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n bare.writeString(bc, x)\n }\n}\n\nfunction read6(bc: bare.ByteCursor): ArrayBuffer | null {\n return bare.readBool(bc) ? bare.readData(bc) : null\n}\n\nfunction write6(bc: bare.ByteCursor, x: ArrayBuffer | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n bare.writeData(bc, x)\n }\n}\n\nexport type ActorConfig = {\n readonly name: string\n readonly key: string | null\n readonly createTs: i64\n readonly input: ArrayBuffer | null\n}\n\nexport function readActorConfig(bc: bare.ByteCursor): ActorConfig {\n return {\n name: bare.readString(bc),\n key: read5(bc),\n createTs: bare.readI64(bc),\n input: read6(bc),\n }\n}\n\nexport function writeActorConfig(bc: bare.ByteCursor, x: ActorConfig): void {\n bare.writeString(bc, x.name)\n write5(bc, x.key)\n bare.writeI64(bc, x.createTs)\n write6(bc, x.input)\n}\n\n/**\n * Intent\n */\nexport type ActorIntentSleep = null\n\nexport type ActorIntentStop = null\n\nexport type ActorIntent =\n | { readonly tag: \"ActorIntentSleep\"; readonly val: ActorIntentSleep }\n | { readonly tag: \"ActorIntentStop\"; readonly val: ActorIntentStop }\n\nexport function readActorIntent(bc: bare.ByteCursor): ActorIntent {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ActorIntentSleep\", val: null }\n case 1:\n return { tag: \"ActorIntentStop\", val: null }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeActorIntent(bc: bare.ByteCursor, x: ActorIntent): void {\n switch (x.tag) {\n case \"ActorIntentSleep\": {\n bare.writeU8(bc, 0)\n break\n }\n case \"ActorIntentStop\": {\n bare.writeU8(bc, 1)\n break\n }\n }\n}\n\n/**\n * State\n */\nexport type ActorStateRunning = null\n\nexport type ActorStateStopped = {\n readonly code: StopCode\n readonly message: string | null\n}\n\nexport function readActorStateStopped(bc: bare.ByteCursor): ActorStateStopped {\n return {\n code: readStopCode(bc),\n message: read5(bc),\n }\n}\n\nexport function writeActorStateStopped(bc: bare.ByteCursor, x: ActorStateStopped): void {\n writeStopCode(bc, x.code)\n write5(bc, x.message)\n}\n\nexport type ActorState =\n | { readonly tag: \"ActorStateRunning\"; readonly val: ActorStateRunning }\n | { readonly tag: \"ActorStateStopped\"; readonly val: ActorStateStopped }\n\nexport function readActorState(bc: bare.ByteCursor): ActorState {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ActorStateRunning\", val: null }\n case 1:\n return { tag: \"ActorStateStopped\", val: readActorStateStopped(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeActorState(bc: bare.ByteCursor, x: ActorState): void {\n switch (x.tag) {\n case \"ActorStateRunning\": {\n bare.writeU8(bc, 0)\n break\n }\n case \"ActorStateStopped\": {\n bare.writeU8(bc, 1)\n writeActorStateStopped(bc, x.val)\n break\n }\n }\n}\n\n/**\n * MARK: Events\n */\nexport type EventActorIntent = {\n readonly actorId: Id\n readonly generation: u32\n readonly intent: ActorIntent\n}\n\nexport function readEventActorIntent(bc: bare.ByteCursor): EventActorIntent {\n return {\n actorId: readId(bc),\n generation: bare.readU32(bc),\n intent: readActorIntent(bc),\n }\n}\n\nexport function writeEventActorIntent(bc: bare.ByteCursor, x: EventActorIntent): void {\n writeId(bc, x.actorId)\n bare.writeU32(bc, x.generation)\n writeActorIntent(bc, x.intent)\n}\n\nexport type EventActorStateUpdate = {\n readonly actorId: Id\n readonly generation: u32\n readonly state: ActorState\n}\n\nexport function readEventActorStateUpdate(bc: bare.ByteCursor): EventActorStateUpdate {\n return {\n actorId: readId(bc),\n generation: bare.readU32(bc),\n state: readActorState(bc),\n }\n}\n\nexport function writeEventActorStateUpdate(bc: bare.ByteCursor, x: EventActorStateUpdate): void {\n writeId(bc, x.actorId)\n bare.writeU32(bc, x.generation)\n writeActorState(bc, x.state)\n}\n\nfunction read7(bc: bare.ByteCursor): i64 | null {\n return bare.readBool(bc) ? bare.readI64(bc) : null\n}\n\nfunction write7(bc: bare.ByteCursor, x: i64 | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n bare.writeI64(bc, x)\n }\n}\n\nexport type EventActorSetAlarm = {\n readonly actorId: Id\n readonly generation: u32\n readonly alarmTs: i64 | null\n}\n\nexport function readEventActorSetAlarm(bc: bare.ByteCursor): EventActorSetAlarm {\n return {\n actorId: readId(bc),\n generation: bare.readU32(bc),\n alarmTs: read7(bc),\n }\n}\n\nexport function writeEventActorSetAlarm(bc: bare.ByteCursor, x: EventActorSetAlarm): void {\n writeId(bc, x.actorId)\n bare.writeU32(bc, x.generation)\n write7(bc, x.alarmTs)\n}\n\nexport type Event =\n | { readonly tag: \"EventActorIntent\"; readonly val: EventActorIntent }\n | { readonly tag: \"EventActorStateUpdate\"; readonly val: EventActorStateUpdate }\n | { readonly tag: \"EventActorSetAlarm\"; readonly val: EventActorSetAlarm }\n\nexport function readEvent(bc: bare.ByteCursor): Event {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"EventActorIntent\", val: readEventActorIntent(bc) }\n case 1:\n return { tag: \"EventActorStateUpdate\", val: readEventActorStateUpdate(bc) }\n case 2:\n return { tag: \"EventActorSetAlarm\", val: readEventActorSetAlarm(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeEvent(bc: bare.ByteCursor, x: Event): void {\n switch (x.tag) {\n case \"EventActorIntent\": {\n bare.writeU8(bc, 0)\n writeEventActorIntent(bc, x.val)\n break\n }\n case \"EventActorStateUpdate\": {\n bare.writeU8(bc, 1)\n writeEventActorStateUpdate(bc, x.val)\n break\n }\n case \"EventActorSetAlarm\": {\n bare.writeU8(bc, 2)\n writeEventActorSetAlarm(bc, x.val)\n break\n }\n }\n}\n\nexport type EventWrapper = {\n readonly index: i64\n readonly inner: Event\n}\n\nexport function readEventWrapper(bc: bare.ByteCursor): EventWrapper {\n return {\n index: bare.readI64(bc),\n inner: readEvent(bc),\n }\n}\n\nexport function writeEventWrapper(bc: bare.ByteCursor, x: EventWrapper): void {\n bare.writeI64(bc, x.index)\n writeEvent(bc, x.inner)\n}\n\nexport type HibernatingRequest = {\n readonly gatewayId: GatewayId\n readonly requestId: RequestId\n}\n\nexport function readHibernatingRequest(bc: bare.ByteCursor): HibernatingRequest {\n return {\n gatewayId: readGatewayId(bc),\n requestId: readRequestId(bc),\n }\n}\n\nexport function writeHibernatingRequest(bc: bare.ByteCursor, x: HibernatingRequest): void {\n writeGatewayId(bc, x.gatewayId)\n writeRequestId(bc, x.requestId)\n}\n\nfunction read8(bc: bare.ByteCursor): readonly HibernatingRequest[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) {\n return []\n }\n const result = [readHibernatingRequest(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readHibernatingRequest(bc)\n }\n return result\n}\n\nfunction write8(bc: bare.ByteCursor, x: readonly HibernatingRequest[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeHibernatingRequest(bc, x[i])\n }\n}\n\nexport type CommandStartActor = {\n readonly actorId: Id\n readonly generation: u32\n readonly config: ActorConfig\n readonly hibernatingRequests: readonly HibernatingRequest[]\n}\n\nexport function readCommandStartActor(bc: bare.ByteCursor): CommandStartActor {\n return {\n actorId: readId(bc),\n generation: bare.readU32(bc),\n config: readActorConfig(bc),\n hibernatingRequests: read8(bc),\n }\n}\n\nexport function writeCommandStartActor(bc: bare.ByteCursor, x: CommandStartActor): void {\n writeId(bc, x.actorId)\n bare.writeU32(bc, x.generation)\n writeActorConfig(bc, x.config)\n write8(bc, x.hibernatingRequests)\n}\n\nexport type CommandStopActor = {\n readonly actorId: Id\n readonly generation: u32\n}\n\nexport function readCommandStopActor(bc: bare.ByteCursor): CommandStopActor {\n return {\n actorId: readId(bc),\n generation: bare.readU32(bc),\n }\n}\n\nexport function writeCommandStopActor(bc: bare.ByteCursor, x: CommandStopActor): void {\n writeId(bc, x.actorId)\n bare.writeU32(bc, x.generation)\n}\n\nexport type Command =\n | { readonly tag: \"CommandStartActor\"; readonly val: CommandStartActor }\n | { readonly tag: \"CommandStopActor\"; readonly val: CommandStopActor }\n\nexport function readCommand(bc: bare.ByteCursor): Command {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"CommandStartActor\", val: readCommandStartActor(bc) }\n case 1:\n return { tag: \"CommandStopActor\", val: readCommandStopActor(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeCommand(bc: bare.ByteCursor, x: Command): void {\n switch (x.tag) {\n case \"CommandStartActor\": {\n bare.writeU8(bc, 0)\n writeCommandStartActor(bc, x.val)\n break\n }\n case \"CommandStopActor\": {\n bare.writeU8(bc, 1)\n writeCommandStopActor(bc, x.val)\n break\n }\n }\n}\n\nexport type CommandWrapper = {\n readonly index: i64\n readonly inner: Command\n}\n\nexport function readCommandWrapper(bc: bare.ByteCursor): CommandWrapper {\n return {\n index: bare.readI64(bc),\n inner: readCommand(bc),\n }\n}\n\nexport function writeCommandWrapper(bc: bare.ByteCursor, x: CommandWrapper): void {\n bare.writeI64(bc, x.index)\n writeCommand(bc, x.inner)\n}\n\nexport type MessageId = {\n /**\n * Globally unique ID\n */\n readonly gatewayId: GatewayId\n /**\n * Unique ID to the gateway\n */\n readonly requestId: RequestId\n /**\n * Unique ID to the request\n */\n readonly messageIndex: MessageIndex\n}\n\nexport function readMessageId(bc: bare.ByteCursor): MessageId {\n return {\n gatewayId: readGatewayId(bc),\n requestId: readRequestId(bc),\n messageIndex: readMessageIndex(bc),\n }\n}\n\nexport function writeMessageId(bc: bare.ByteCursor, x: MessageId): void {\n writeGatewayId(bc, x.gatewayId)\n writeRequestId(bc, x.requestId)\n writeMessageIndex(bc, x.messageIndex)\n}\n\nexport type DeprecatedTunnelAck = null\n\nfunction read9(bc: bare.ByteCursor): ReadonlyMap<string, string> {\n const len = bare.readUintSafe(bc)\n const result = new Map<string, string>()\n for (let i = 0; i < len; i++) {\n const offset = bc.offset\n const key = bare.readString(bc)\n if (result.has(key)) {\n bc.offset = offset\n throw new bare.BareError(offset, \"duplicated key\")\n }\n result.set(key, bare.readString(bc))\n }\n return result\n}\n\nfunction write9(bc: bare.ByteCursor, x: ReadonlyMap<string, string>): void {\n bare.writeUintSafe(bc, x.size)\n for (const kv of x) {\n bare.writeString(bc, kv[0])\n bare.writeString(bc, kv[1])\n }\n}\n\n/**\n * HTTP\n */\nexport type ToClientRequestStart = {\n readonly actorId: Id\n readonly method: string\n readonly path: string\n readonly headers: ReadonlyMap<string, string>\n readonly body: ArrayBuffer | null\n readonly stream: boolean\n}\n\nexport function readToClientRequestStart(bc: bare.ByteCursor): ToClientRequestStart {\n return {\n actorId: readId(bc),\n method: bare.readString(bc),\n path: bare.readString(bc),\n headers: read9(bc),\n body: read6(bc),\n stream: bare.readBool(bc),\n }\n}\n\nexport function writeToClientRequestStart(bc: bare.ByteCursor, x: ToClientRequestStart): void {\n writeId(bc, x.actorId)\n bare.writeString(bc, x.method)\n bare.writeString(bc, x.path)\n write9(bc, x.headers)\n write6(bc, x.body)\n bare.writeBool(bc, x.stream)\n}\n\nexport type ToClientRequestChunk = {\n readonly body: ArrayBuffer\n readonly finish: boolean\n}\n\nexport function readToClientRequestChunk(bc: bare.ByteCursor): ToClientRequestChunk {\n return {\n body: bare.readData(bc),\n finish: bare.readBool(bc),\n }\n}\n\nexport function writeToClientRequestChunk(bc: bare.ByteCursor, x: ToClientRequestChunk): void {\n bare.writeData(bc, x.body)\n bare.writeBool(bc, x.finish)\n}\n\nexport type ToClientRequestAbort = null\n\nexport type ToServerResponseStart = {\n readonly status: u16\n readonly headers: ReadonlyMap<string, string>\n readonly body: ArrayBuffer | null\n readonly stream: boolean\n}\n\nexport function readToServerResponseStart(bc: bare.ByteCursor): ToServerResponseStart {\n return {\n status: bare.readU16(bc),\n headers: read9(bc),\n body: read6(bc),\n stream: bare.readBool(bc),\n }\n}\n\nexport function writeToServerResponseStart(bc: bare.ByteCursor, x: ToServerResponseStart): void {\n bare.writeU16(bc, x.status)\n write9(bc, x.headers)\n write6(bc, x.body)\n bare.writeBool(bc, x.stream)\n}\n\nexport type ToServerResponseChunk = {\n readonly body: ArrayBuffer\n readonly finish: boolean\n}\n\nexport function readToServerResponseChunk(bc: bare.ByteCursor): ToServerResponseChunk {\n return {\n body: bare.readData(bc),\n finish: bare.readBool(bc),\n }\n}\n\nexport function writeToServerResponseChunk(bc: bare.ByteCursor, x: ToServerResponseChunk): void {\n bare.writeData(bc, x.body)\n bare.writeBool(bc, x.finish)\n}\n\nexport type ToServerResponseAbort = null\n\n/**\n * WebSocket\n */\nexport type ToClientWebSocketOpen = {\n readonly actorId: Id\n readonly path: string\n readonly headers: ReadonlyMap<string, string>\n}\n\nexport function readToClientWebSocketOpen(bc: bare.ByteCursor): ToClientWebSocketOpen {\n return {\n actorId: readId(bc),\n path: bare.readString(bc),\n headers: read9(bc),\n }\n}\n\nexport function writeToClientWebSocketOpen(bc: bare.ByteCursor, x: ToClientWebSocketOpen): void {\n writeId(bc, x.actorId)\n bare.writeString(bc, x.path)\n write9(bc, x.headers)\n}\n\nexport type ToClientWebSocketMessage = {\n readonly data: ArrayBuffer\n readonly binary: boolean\n}\n\nexport function readToClientWebSocketMessage(bc: bare.ByteCursor): ToClientWebSocketMessage {\n return {\n data: bare.readData(bc),\n binary: bare.readBool(bc),\n }\n}\n\nexport function writeToClientWebSocketMessage(bc: bare.ByteCursor, x: ToClientWebSocketMessage): void {\n bare.writeData(bc, x.data)\n bare.writeBool(bc, x.binary)\n}\n\nfunction read10(bc: bare.ByteCursor): u16 | null {\n return bare.readBool(bc) ? bare.readU16(bc) : null\n}\n\nfunction write10(bc: bare.ByteCursor, x: u16 | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n bare.writeU16(bc, x)\n }\n}\n\nexport type ToClientWebSocketClose = {\n readonly code: u16 | null\n readonly reason: string | null\n}\n\nexport function readToClientWebSocketClose(bc: bare.ByteCursor): ToClientWebSocketClose {\n return {\n code: read10(bc),\n reason: read5(bc),\n }\n}\n\nexport function writeToClientWebSocketClose(bc: bare.ByteCursor, x: ToClientWebSocketClose): void {\n write10(bc, x.code)\n write5(bc, x.reason)\n}\n\nexport type ToServerWebSocketOpen = {\n readonly canHibernate: boolean\n}\n\nexport function readToServerWebSocketOpen(bc: bare.ByteCursor): ToServerWebSocketOpen {\n return {\n canHibernate: bare.readBool(bc),\n }\n}\n\nexport function writeToServerWebSocketOpen(bc: bare.ByteCursor, x: ToServerWebSocketOpen): void {\n bare.writeBool(bc, x.canHibernate)\n}\n\nexport type ToServerWebSocketMessage = {\n readonly data: ArrayBuffer\n readonly binary: boolean\n}\n\nexport function readToServerWebSocketMessage(bc: bare.ByteCursor): ToServerWebSocketMessage {\n return {\n data: bare.readData(bc),\n binary: bare.readBool(bc),\n }\n}\n\nexport function writeToServerWebSocketMessage(bc: bare.ByteCursor, x: ToServerWebSocketMessage): void {\n bare.writeData(bc, x.data)\n bare.writeBool(bc, x.binary)\n}\n\nexport type ToServerWebSocketMessageAck = {\n readonly index: MessageIndex\n}\n\nexport function readToServerWebSocketMessageAck(bc: bare.ByteCursor): ToServerWebSocketMessageAck {\n return {\n index: readMessageIndex(bc),\n }\n}\n\nexport function writeToServerWebSocketMessageAck(bc: bare.ByteCursor, x: ToServerWebSocketMessageAck): void {\n writeMessageIndex(bc, x.index)\n}\n\nexport type ToServerWebSocketClose = {\n readonly code: u16 | null\n readonly reason: string | null\n readonly hibernate: boolean\n}\n\nexport function readToServerWebSocketClose(bc: bare.ByteCursor): ToServerWebSocketClose {\n return {\n code: read10(bc),\n reason: read5(bc),\n hibernate: bare.readBool(bc),\n }\n}\n\nexport function writeToServerWebSocketClose(bc: bare.ByteCursor, x: ToServerWebSocketClose): void {\n write10(bc, x.code)\n write5(bc, x.reason)\n bare.writeBool(bc, x.hibernate)\n}\n\n/**\n * To Server\n */\nexport type ToServerTunnelMessageKind =\n | { readonly tag: \"DeprecatedTunnelAck\"; readonly val: DeprecatedTunnelAck }\n /**\n * HTTP\n */\n | { readonly tag: \"ToServerResponseStart\"; readonly val: ToServerResponseStart }\n | { readonly tag: \"ToServerResponseChunk\"; readonly val: ToServerResponseChunk }\n | { readonly tag: \"ToServerResponseAbort\"; readonly val: ToServerResponseAbort }\n /**\n * WebSocket\n */\n | { readonly tag: \"ToServerWebSocketOpen\"; readonly val: ToServerWebSocketOpen }\n | { readonly tag: \"ToServerWebSocketMessage\"; readonly val: ToServerWebSocketMessage }\n | { readonly tag: \"ToServerWebSocketMessageAck\"; readonly val: ToServerWebSocketMessageAck }\n | { readonly tag: \"ToServerWebSocketClose\"; readonly val: ToServerWebSocketClose }\n\nexport function readToServerTunnelMessageKind(bc: bare.ByteCursor): ToServerTunnelMessageKind {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"DeprecatedTunnelAck\", val: null }\n case 1:\n return { tag: \"ToServerResponseStart\", val: readToServerResponseStart(bc) }\n case 2:\n return { tag: \"ToServerResponseChunk\", val: readToServerResponseChunk(bc) }\n case 3:\n return { tag: \"ToServerResponseAbort\", val: null }\n case 4:\n return { tag: \"ToServerWebSocketOpen\", val: readToServerWebSocketOpen(bc) }\n case 5:\n return { tag: \"ToServerWebSocketMessage\", val: readToServerWebSocketMessage(bc) }\n case 6:\n return { tag: \"ToServerWebSocketMessageAck\", val: readToServerWebSocketMessageAck(bc) }\n case 7:\n return { tag: \"ToServerWebSocketClose\", val: readToServerWebSocketClose(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToServerTunnelMessageKind(bc: bare.ByteCursor, x: ToServerTunnelMessageKind): void {\n switch (x.tag) {\n case \"DeprecatedTunnelAck\": {\n bare.writeU8(bc, 0)\n break\n }\n case \"ToServerResponseStart\": {\n bare.writeU8(bc, 1)\n writeToServerResponseStart(bc, x.val)\n break\n }\n case \"ToServerResponseChunk\": {\n bare.writeU8(bc, 2)\n writeToServerResponseChunk(bc, x.val)\n break\n }\n case \"ToServerResponseAbort\": {\n bare.writeU8(bc, 3)\n break\n }\n case \"ToServerWebSocketOpen\": {\n bare.writeU8(bc, 4)\n writeToServerWebSocketOpen(bc, x.val)\n break\n }\n case \"ToServerWebSocketMessage\": {\n bare.writeU8(bc, 5)\n writeToServerWebSocketMessage(bc, x.val)\n break\n }\n case \"ToServerWebSocketMessageAck\": {\n bare.writeU8(bc, 6)\n writeToServerWebSocketMessageAck(bc, x.val)\n break\n }\n case \"ToServerWebSocketClose\": {\n bare.writeU8(bc, 7)\n writeToServerWebSocketClose(bc, x.val)\n break\n }\n }\n}\n\nexport type ToServerTunnelMessage = {\n readonly messageId: MessageId\n readonly messageKind: ToServerTunnelMessageKind\n}\n\nexport function readToServerTunnelMessage(bc: bare.ByteCursor): ToServerTunnelMessage {\n return {\n messageId: readMessageId(bc),\n messageKind: readToServerTunnelMessageKind(bc),\n }\n}\n\nexport function writeToServerTunnelMessage(bc: bare.ByteCursor, x: ToServerTunnelMessage): void {\n writeMessageId(bc, x.messageId)\n writeToServerTunnelMessageKind(bc, x.messageKind)\n}\n\n/**\n * To Client\n */\nexport type ToClientTunnelMessageKind =\n | { readonly tag: \"DeprecatedTunnelAck\"; readonly val: DeprecatedTunnelAck }\n /**\n * HTTP\n */\n | { readonly tag: \"ToClientRequestStart\"; readonly val: ToClientRequestStart }\n | { readonly tag: \"ToClientRequestChunk\"; readonly val: ToClientRequestChunk }\n | { readonly tag: \"ToClientRequestAbort\"; readonly val: ToClientRequestAbort }\n /**\n * WebSocket\n */\n | { readonly tag: \"ToClientWebSocketOpen\"; readonly val: ToClientWebSocketOpen }\n | { readonly tag: \"ToClientWebSocketMessage\"; readonly val: ToClientWebSocketMessage }\n | { readonly tag: \"ToClientWebSocketClose\"; readonly val: ToClientWebSocketClose }\n\nexport function readToClientTunnelMessageKind(bc: bare.ByteCursor): ToClientTunnelMessageKind {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"DeprecatedTunnelAck\", val: null }\n case 1:\n return { tag: \"ToClientRequestStart\", val: readToClientRequestStart(bc) }\n case 2:\n return { tag: \"ToClientRequestChunk\", val: readToClientRequestChunk(bc) }\n case 3:\n return { tag: \"ToClientRequestAbort\", val: null }\n case 4:\n return { tag: \"ToClientWebSocketOpen\", val: readToClientWebSocketOpen(bc) }\n case 5:\n return { tag: \"ToClientWebSocketMessage\", val: readToClientWebSocketMessage(bc) }\n case 6:\n return { tag: \"ToClientWebSocketClose\", val: readToClientWebSocketClose(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToClientTunnelMessageKind(bc: bare.ByteCursor, x: ToClientTunnelMessageKind): void {\n switch (x.tag) {\n case \"DeprecatedTunnelAck\": {\n bare.writeU8(bc, 0)\n break\n }\n case \"ToClientRequestStart\": {\n bare.writeU8(bc, 1)\n writeToClientRequestStart(bc, x.val)\n break\n }\n case \"ToClientRequestChunk\": {\n bare.writeU8(bc, 2)\n writeToClientRequestChunk(bc, x.val)\n break\n }\n case \"ToClientRequestAbort\": {\n bare.writeU8(bc, 3)\n break\n }\n case \"ToClientWebSocketOpen\": {\n bare.writeU8(bc, 4)\n writeToClientWebSocketOpen(bc, x.val)\n break\n }\n case \"ToClientWebSocketMessage\": {\n bare.writeU8(bc, 5)\n writeToClientWebSocketMessage(bc, x.val)\n break\n }\n case \"ToClientWebSocketClose\": {\n bare.writeU8(bc, 6)\n writeToClientWebSocketClose(bc, x.val)\n break\n }\n }\n}\n\nexport type ToClientTunnelMessage = {\n readonly messageId: MessageId\n readonly messageKind: ToClientTunnelMessageKind\n}\n\nexport function readToClientTunnelMessage(bc: bare.ByteCursor): ToClientTunnelMessage {\n return {\n messageId: readMessageId(bc),\n messageKind: readToClientTunnelMessageKind(bc),\n }\n}\n\nexport function writeToClientTunnelMessage(bc: bare.ByteCursor, x: ToClientTunnelMessage): void {\n writeMessageId(bc, x.messageId)\n writeToClientTunnelMessageKind(bc, x.messageKind)\n}\n\nfunction read11(bc: bare.ByteCursor): ReadonlyMap<string, ActorName> {\n const len = bare.readUintSafe(bc)\n const result = new Map<string, ActorName>()\n for (let i = 0; i < len; i++) {\n const offset = bc.offset\n const key = bare.readString(bc)\n if (result.has(key)) {\n bc.offset = offset\n throw new bare.BareError(offset, \"duplicated key\")\n }\n result.set(key, readActorName(bc))\n }\n return result\n}\n\nfunction write11(bc: bare.ByteCursor, x: ReadonlyMap<string, ActorName>): void {\n bare.writeUintSafe(bc, x.size)\n for (const kv of x) {\n bare.writeString(bc, kv[0])\n writeActorName(bc, kv[1])\n }\n}\n\nfunction read12(bc: bare.ByteCursor): ReadonlyMap<string, ActorName> | null {\n return bare.readBool(bc) ? read11(bc) : null\n}\n\nfunction write12(bc: bare.ByteCursor, x: ReadonlyMap<string, ActorName> | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n write11(bc, x)\n }\n}\n\nfunction read13(bc: bare.ByteCursor): Json | null {\n return bare.readBool(bc) ? readJson(bc) : null\n}\n\nfunction write13(bc: bare.ByteCursor, x: Json | null): void {\n bare.writeBool(bc, x != null)\n if (x != null) {\n writeJson(bc, x)\n }\n}\n\n/**\n * MARK: To Server\n */\nexport type ToServerInit = {\n readonly name: string\n readonly version: u32\n readonly totalSlots: u32\n readonly lastCommandIdx: i64 | null\n readonly prepopulateActorNames: ReadonlyMap<string, ActorName> | null\n readonly metadata: Json | null\n}\n\nexport function readToServerInit(bc: bare.ByteCursor): ToServerInit {\n return {\n name: bare.readString(bc),\n version: bare.readU32(bc),\n totalSlots: bare.readU32(bc),\n lastCommandIdx: read7(bc),\n prepopulateActorNames: read12(bc),\n metadata: read13(bc),\n }\n}\n\nexport function writeToServerInit(bc: bare.ByteCursor, x: ToServerInit): void {\n bare.writeString(bc, x.name)\n bare.writeU32(bc, x.version)\n bare.writeU32(bc, x.totalSlots)\n write7(bc, x.lastCommandIdx)\n write12(bc, x.prepopulateActorNames)\n write13(bc, x.metadata)\n}\n\nexport type ToServerEvents = readonly EventWrapper[]\n\nexport function readToServerEvents(bc: bare.ByteCursor): ToServerEvents {\n const len = bare.readUintSafe(bc)\n if (len === 0) {\n return []\n }\n const result = [readEventWrapper(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readEventWrapper(bc)\n }\n return result\n}\n\nexport function writeToServerEvents(bc: bare.ByteCursor, x: ToServerEvents): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeEventWrapper(bc, x[i])\n }\n}\n\nexport type ToServerAckCommands = {\n readonly lastCommandIdx: i64\n}\n\nexport function readToServerAckCommands(bc: bare.ByteCursor): ToServerAckCommands {\n return {\n lastCommandIdx: bare.readI64(bc),\n }\n}\n\nexport function writeToServerAckCommands(bc: bare.ByteCursor, x: ToServerAckCommands): void {\n bare.writeI64(bc, x.lastCommandIdx)\n}\n\nexport type ToServerStopping = null\n\nexport type ToServerPing = {\n readonly ts: i64\n}\n\nexport function readToServerPing(bc: bare.ByteCursor): ToServerPing {\n return {\n ts: bare.readI64(bc),\n }\n}\n\nexport function writeToServerPing(bc: bare.ByteCursor, x: ToServerPing): void {\n bare.writeI64(bc, x.ts)\n}\n\nexport type ToServerKvRequest = {\n readonly actorId: Id\n readonly requestId: u32\n readonly data: KvRequestData\n}\n\nexport function readToServerKvRequest(bc: bare.ByteCursor): ToServerKvRequest {\n return {\n actorId: readId(bc),\n requestId: bare.readU32(bc),\n data: readKvRequestData(bc),\n }\n}\n\nexport function writeToServerKvRequest(bc: bare.ByteCursor, x: ToServerKvRequest): void {\n writeId(bc, x.actorId)\n bare.writeU32(bc, x.requestId)\n writeKvRequestData(bc, x.data)\n}\n\nexport type ToServer =\n | { readonly tag: \"ToServerInit\"; readonly val: ToServerInit }\n | { readonly tag: \"ToServerEvents\"; readonly val: ToServerEvents }\n | { readonly tag: \"ToServerAckCommands\"; readonly val: ToServerAckCommands }\n | { readonly tag: \"ToServerStopping\"; readonly val: ToServerStopping }\n | { readonly tag: \"ToServerPing\"; readonly val: ToServerPing }\n | { readonly tag: \"ToServerKvRequest\"; readonly val: ToServerKvRequest }\n | { readonly tag: \"ToServerTunnelMessage\"; readonly val: ToServerTunnelMessage }\n\nexport function readToServer(bc: bare.ByteCursor): ToServer {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ToServerInit\", val: readToServerInit(bc) }\n case 1:\n return { tag: \"ToServerEvents\", val: readToServerEvents(bc) }\n case 2:\n return { tag: \"ToServerAckCommands\", val: readToServerAckCommands(bc) }\n case 3:\n return { tag: \"ToServerStopping\", val: null }\n case 4:\n return { tag: \"ToServerPing\", val: readToServerPing(bc) }\n case 5:\n return { tag: \"ToServerKvRequest\", val: readToServerKvRequest(bc) }\n case 6:\n return { tag: \"ToServerTunnelMessage\", val: readToServerTunnelMessage(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToServer(bc: bare.ByteCursor, x: ToServer): void {\n switch (x.tag) {\n case \"ToServerInit\": {\n bare.writeU8(bc, 0)\n writeToServerInit(bc, x.val)\n break\n }\n case \"ToServerEvents\": {\n bare.writeU8(bc, 1)\n writeToServerEvents(bc, x.val)\n break\n }\n case \"ToServerAckCommands\": {\n bare.writeU8(bc, 2)\n writeToServerAckCommands(bc, x.val)\n break\n }\n case \"ToServerStopping\": {\n bare.writeU8(bc, 3)\n break\n }\n case \"ToServerPing\": {\n bare.writeU8(bc, 4)\n writeToServerPing(bc, x.val)\n break\n }\n case \"ToServerKvRequest\": {\n bare.writeU8(bc, 5)\n writeToServerKvRequest(bc, x.val)\n break\n }\n case \"ToServerTunnelMessage\": {\n bare.writeU8(bc, 6)\n writeToServerTunnelMessage(bc, x.val)\n break\n }\n }\n}\n\nexport function encodeToServer(x: ToServer, config?: Partial<bare.Config>): Uint8Array {\n const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG\n const bc = new bare.ByteCursor(\n new Uint8Array(fullConfig.initialBufferLength),\n fullConfig,\n )\n writeToServer(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToServer(bytes: Uint8Array): ToServer {\n const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)\n const result = readToServer(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\n/**\n * MARK: To Client\n */\nexport type ProtocolMetadata = {\n readonly runnerLostThreshold: i64\n}\n\nexport function readProtocolMetadata(bc: bare.ByteCursor): ProtocolMetadata {\n return {\n runnerLostThreshold: bare.readI64(bc),\n }\n}\n\nexport function writeProtocolMetadata(bc: bare.ByteCursor, x: ProtocolMetadata): void {\n bare.writeI64(bc, x.runnerLostThreshold)\n}\n\nexport type ToClientInit = {\n readonly runnerId: Id\n readonly lastEventIdx: i64\n readonly metadata: ProtocolMetadata\n}\n\nexport function readToClientInit(bc: bare.ByteCursor): ToClientInit {\n return {\n runnerId: readId(bc),\n lastEventIdx: bare.readI64(bc),\n metadata: readProtocolMetadata(bc),\n }\n}\n\nexport function writeToClientInit(bc: bare.ByteCursor, x: ToClientInit): void {\n writeId(bc, x.runnerId)\n bare.writeI64(bc, x.lastEventIdx)\n writeProtocolMetadata(bc, x.metadata)\n}\n\nexport type ToClientCommands = readonly CommandWrapper[]\n\nexport function readToClientCommands(bc: bare.ByteCursor): ToClientCommands {\n const len = bare.readUintSafe(bc)\n if (len === 0) {\n return []\n }\n const result = [readCommandWrapper(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readCommandWrapper(bc)\n }\n return result\n}\n\nexport function writeToClientCommands(bc: bare.ByteCursor, x: ToClientCommands): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeCommandWrapper(bc, x[i])\n }\n}\n\nexport type ToClientAckEvents = {\n readonly lastEventIdx: i64\n}\n\nexport function readToClientAckEvents(bc: bare.ByteCursor): ToClientAckEvents {\n return {\n lastEventIdx: bare.readI64(bc),\n }\n}\n\nexport function writeToClientAckEvents(bc: bare.ByteCursor, x: ToClientAckEvents): void {\n bare.writeI64(bc, x.lastEventIdx)\n}\n\nexport type ToClientKvResponse = {\n readonly requestId: u32\n readonly data: KvResponseData\n}\n\nexport function readToClientKvResponse(bc: bare.ByteCursor): ToClientKvResponse {\n return {\n requestId: bare.readU32(bc),\n data: readKvResponseData(bc),\n }\n}\n\nexport function writeToClientKvResponse(bc: bare.ByteCursor, x: ToClientKvResponse): void {\n bare.writeU32(bc, x.requestId)\n writeKvResponseData(bc, x.data)\n}\n\nexport type ToClientClose = null\n\nexport type ToClient =\n | { readonly tag: \"ToClientInit\"; readonly val: ToClientInit }\n | { readonly tag: \"ToClientClose\"; readonly val: ToClientClose }\n | { readonly tag: \"ToClientCommands\"; readonly val: ToClientCommands }\n | { readonly tag: \"ToClientAckEvents\"; readonly val: ToClientAckEvents }\n | { readonly tag: \"ToClientKvResponse\"; readonly val: ToClientKvResponse }\n | { readonly tag: \"ToClientTunnelMessage\"; readonly val: ToClientTunnelMessage }\n\nexport function readToClient(bc: bare.ByteCursor): ToClient {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ToClientInit\", val: readToClientInit(bc) }\n case 1:\n return { tag: \"ToClientClose\", val: null }\n case 2:\n return { tag: \"ToClientCommands\", val: readToClientCommands(bc) }\n case 3:\n return { tag: \"ToClientAckEvents\", val: readToClientAckEvents(bc) }\n case 4:\n return { tag: \"ToClientKvResponse\", val: readToClientKvResponse(bc) }\n case 5:\n return { tag: \"ToClientTunnelMessage\", val: readToClientTunnelMessage(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToClient(bc: bare.ByteCursor, x: ToClient): void {\n switch (x.tag) {\n case \"ToClientInit\": {\n bare.writeU8(bc, 0)\n writeToClientInit(bc, x.val)\n break\n }\n case \"ToClientClose\": {\n bare.writeU8(bc, 1)\n break\n }\n case \"ToClientCommands\": {\n bare.writeU8(bc, 2)\n writeToClientCommands(bc, x.val)\n break\n }\n case \"ToClientAckEvents\": {\n bare.writeU8(bc, 3)\n writeToClientAckEvents(bc, x.val)\n break\n }\n case \"ToClientKvResponse\": {\n bare.writeU8(bc, 4)\n writeToClientKvResponse(bc, x.val)\n break\n }\n case \"ToClientTunnelMessage\": {\n bare.writeU8(bc, 5)\n writeToClientTunnelMessage(bc, x.val)\n break\n }\n }\n}\n\nexport function encodeToClient(x: ToClient, config?: Partial<bare.Config>): Uint8Array {\n const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG\n const bc = new bare.ByteCursor(\n new Uint8Array(fullConfig.initialBufferLength),\n fullConfig,\n )\n writeToClient(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToClient(bytes: Uint8Array): ToClient {\n const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)\n const result = readToClient(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\n/**\n * MARK: To Runner\n */\nexport type ToRunnerPing = {\n readonly gatewayId: GatewayId\n readonly requestId: RequestId\n readonly ts: i64\n}\n\nexport function readToRunnerPing(bc: bare.ByteCursor): ToRunnerPing {\n return {\n gatewayId: readGatewayId(bc),\n requestId: readRequestId(bc),\n ts: bare.readI64(bc),\n }\n}\n\nexport function writeToRunnerPing(bc: bare.ByteCursor, x: ToRunnerPing): void {\n writeGatewayId(bc, x.gatewayId)\n writeRequestId(bc, x.requestId)\n bare.writeI64(bc, x.ts)\n}\n\n/**\n * We have to re-declare the entire union since BARE will not generate the\n * ser/de for ToClient if it's not a top-level type\n */\nexport type ToRunner =\n | { readonly tag: \"ToRunnerPing\"; readonly val: ToRunnerPing }\n | { readonly tag: \"ToClientInit\"; readonly val: ToClientInit }\n | { readonly tag: \"ToClientClose\"; readonly val: ToClientClose }\n | { readonly tag: \"ToClientCommands\"; readonly val: ToClientCommands }\n | { readonly tag: \"ToClientAckEvents\"; readonly val: ToClientAckEvents }\n | { readonly tag: \"ToClientKvResponse\"; readonly val: ToClientKvResponse }\n | { readonly tag: \"ToClientTunnelMessage\"; readonly val: ToClientTunnelMessage }\n\nexport function readToRunner(bc: bare.ByteCursor): ToRunner {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ToRunnerPing\", val: readToRunnerPing(bc) }\n case 1:\n return { tag: \"ToClientInit\", val: readToClientInit(bc) }\n case 2:\n return { tag: \"ToClientClose\", val: null }\n case 3:\n return { tag: \"ToClientCommands\", val: readToClientCommands(bc) }\n case 4:\n return { tag: \"ToClientAckEvents\", val: readToClientAckEvents(bc) }\n case 5:\n return { tag: \"ToClientKvResponse\", val: readToClientKvResponse(bc) }\n case 6:\n return { tag: \"ToClientTunnelMessage\", val: readToClientTunnelMessage(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToRunner(bc: bare.ByteCursor, x: ToRunner): void {\n switch (x.tag) {\n case \"ToRunnerPing\": {\n bare.writeU8(bc, 0)\n writeToRunnerPing(bc, x.val)\n break\n }\n case \"ToClientInit\": {\n bare.writeU8(bc, 1)\n writeToClientInit(bc, x.val)\n break\n }\n case \"ToClientClose\": {\n bare.writeU8(bc, 2)\n break\n }\n case \"ToClientCommands\": {\n bare.writeU8(bc, 3)\n writeToClientCommands(bc, x.val)\n break\n }\n case \"ToClientAckEvents\": {\n bare.writeU8(bc, 4)\n writeToClientAckEvents(bc, x.val)\n break\n }\n case \"ToClientKvResponse\": {\n bare.writeU8(bc, 5)\n writeToClientKvResponse(bc, x.val)\n break\n }\n case \"ToClientTunnelMessage\": {\n bare.writeU8(bc, 6)\n writeToClientTunnelMessage(bc, x.val)\n break\n }\n }\n}\n\nexport function encodeToRunner(x: ToRunner, config?: Partial<bare.Config>): Uint8Array {\n const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG\n const bc = new bare.ByteCursor(\n new Uint8Array(fullConfig.initialBufferLength),\n fullConfig,\n )\n writeToRunner(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToRunner(bytes: Uint8Array): ToRunner {\n const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)\n const result = readToRunner(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\n/**\n * MARK: To Gateway\n */\nexport type ToGatewayPong = {\n readonly requestId: RequestId\n readonly ts: i64\n}\n\nexport function readToGatewayPong(bc: bare.ByteCursor): ToGatewayPong {\n return {\n requestId: readRequestId(bc),\n ts: bare.readI64(bc),\n }\n}\n\nexport function writeToGatewayPong(bc: bare.ByteCursor, x: ToGatewayPong): void {\n writeRequestId(bc, x.requestId)\n bare.writeI64(bc, x.ts)\n}\n\nexport type ToGateway =\n | { readonly tag: \"ToGatewayPong\"; readonly val: ToGatewayPong }\n | { readonly tag: \"ToServerTunnelMessage\"; readonly val: ToServerTunnelMessage }\n\nexport function readToGateway(bc: bare.ByteCursor): ToGateway {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ToGatewayPong\", val: readToGatewayPong(bc) }\n case 1:\n return { tag: \"ToServerTunnelMessage\", val: readToServerTunnelMessage(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToGateway(bc: bare.ByteCursor, x: ToGateway): void {\n switch (x.tag) {\n case \"ToGatewayPong\": {\n bare.writeU8(bc, 0)\n writeToGatewayPong(bc, x.val)\n break\n }\n case \"ToServerTunnelMessage\": {\n bare.writeU8(bc, 1)\n writeToServerTunnelMessage(bc, x.val)\n break\n }\n }\n}\n\nexport function encodeToGateway(x: ToGateway, config?: Partial<bare.Config>): Uint8Array {\n const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG\n const bc = new bare.ByteCursor(\n new Uint8Array(fullConfig.initialBufferLength),\n fullConfig,\n )\n writeToGateway(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToGateway(bytes: Uint8Array): ToGateway {\n const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)\n const result = readToGateway(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\n/**\n * MARK: Serverless\n */\nexport type ToServerlessServerInit = {\n readonly runnerId: Id\n}\n\nexport function readToServerlessServerInit(bc: bare.ByteCursor): ToServerlessServerInit {\n return {\n runnerId: readId(bc),\n }\n}\n\nexport function writeToServerlessServerInit(bc: bare.ByteCursor, x: ToServerlessServerInit): void {\n writeId(bc, x.runnerId)\n}\n\nexport type ToServerlessServer =\n | { readonly tag: \"ToServerlessServerInit\"; readonly val: ToServerlessServerInit }\n\nexport function readToServerlessServer(bc: bare.ByteCursor): ToServerlessServer {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ToServerlessServerInit\", val: readToServerlessServerInit(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToServerlessServer(bc: bare.ByteCursor, x: ToServerlessServer): void {\n switch (x.tag) {\n case \"ToServerlessServerInit\": {\n bare.writeU8(bc, 0)\n writeToServerlessServerInit(bc, x.val)\n break\n }\n }\n}\n\nexport function encodeToServerlessServer(x: ToServerlessServer, config?: Partial<bare.Config>): Uint8Array {\n const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG\n const bc = new bare.ByteCursor(\n new Uint8Array(fullConfig.initialBufferLength),\n fullConfig,\n )\n writeToServerlessServer(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToServerlessServer(bytes: Uint8Array): ToServerlessServer {\n const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)\n const result = readToServerlessServer(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n"],"mappings":"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","names":["StopCode"]}
@@ -1,21 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/rivet/rivet/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/typescript@5.9.2/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/node_modules"
14
- else
15
- export NODE_PATH="/home/runner/work/rivet/rivet/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/typescript@5.9.2/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/node_modules:$NODE_PATH"
16
- fi
17
- if [ -x "$basedir/node" ]; then
18
- exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
19
- else
20
- exec node "$basedir/../typescript/bin/tsserver" "$@"
21
- fi
@@ -1,21 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/dist/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/node_modules"
14
- else
15
- export NODE_PATH="/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/dist/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/node_modules:$NODE_PATH"
16
- fi
17
- if [ -x "$basedir/node" ]; then
18
- exec "$basedir/node" "$basedir/../tsup/dist/cli-default.js" "$@"
19
- else
20
- exec node "$basedir/../tsup/dist/cli-default.js" "$@"
21
- fi
@@ -1,21 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/dist/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/node_modules"
14
- else
15
- export NODE_PATH="/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/dist/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules/tsup/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.53.2_@types+node@20.19.13__jiti@1.21.7_postcss@8._eb6ace23c2001450b7c4810c858be61a/node_modules:/home/runner/work/rivet/rivet/node_modules/.pnpm/node_modules:$NODE_PATH"
16
- fi
17
- if [ -x "$basedir/node" ]; then
18
- exec "$basedir/node" "$basedir/../tsup/dist/cli-node.js" "$@"
19
- else
20
- exec node "$basedir/../tsup/dist/cli-node.js" "$@"
21
- fi
@@ -1,26 +0,0 @@
1
- FROM node:22-slim
2
-
3
- WORKDIR /app
4
-
5
- # Install pnpm (match workspace version) and set CI for non-interactive behavior
6
- RUN corepack enable && corepack prepare pnpm@10.13.1 --activate
7
- ENV CI=true
8
-
9
- # Copy and build SDK
10
- COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsup.base.ts tsconfig.base.json turbo.json .
11
- COPY engine/sdks/typescript/runner-protocol ./engine/sdks/typescript/runner-protocol/
12
- COPY engine/sdks/typescript/runner ./engine/sdks/typescript/runner/
13
-
14
- # Install dependencies
15
- COPY engine/sdks/typescript/test-runner/package.json ./engine/sdks/typescript/test-runner/
16
- RUN pnpm install --no-frozen-lockfile
17
-
18
- # Build the application
19
- COPY engine/sdks/typescript/test-runner/ ./engine/sdks/typescript/test-runner/
20
- RUN pnpm build -F @rivetkit/engine-test-runner
21
-
22
- # Expose the HTTP server port
23
- EXPOSE 5050
24
-
25
- # Run the application
26
- CMD ["node", "engine/sdks/typescript/test-runner/dist/index.js"]
@@ -1,28 +0,0 @@
1
- # Load Tests
2
-
3
- ## Running
4
-
5
- To run a single iteration to test a load test script, run:
6
-
7
- ```
8
- just k6-test <name>
9
- ```
10
-
11
- To run the full test, run:
12
-
13
- ```
14
- just k6-run <name>
15
- ```
16
-
17
- ## Configuring
18
-
19
- Load tests respect these env vars:
20
-
21
- ```
22
- RIVET_ENDPOINT
23
- RIVET_SERVICE_TOKEN
24
- RIVET_PROJECT
25
- RIVET_ENVIRONMENT
26
- REGION
27
- ```
28
-
@@ -1,26 +0,0 @@
1
- # Basic
2
-
3
- Runs a basic load test that:
4
-
5
- - Creates an actor
6
- - Connects to actor over WS
7
- - Sends ping & waits for pong
8
- - Destroys actor
9
-
10
- ## Usage
11
-
12
- This is intended to be used with `system-test` (in `examples/system-test/`).
13
-
14
- The build name is specified with `BUILD`.
15
-
16
- **Test Isolates**
17
-
18
- ```
19
- BUILD=ws-isolate just k6-run actor-lifecycle
20
- ```
21
-
22
- **Test Container**
23
-
24
- ```
25
- BUILD=ws-container just k6-run actor-lifecycle
26
- ```
@@ -1,41 +0,0 @@
1
- import { check, sleep } from "k6";
2
- import http from "k6/http";
3
- import ws from "k6/ws";
4
- import { callRivetApi } from "./rivet_api.ts";
5
- import type { Config, CreateActorResponse } from "./types.ts";
6
-
7
- export function createActor(config: Config): CreateActorResponse {
8
- return callRivetApi(config, "POST", "/actors", {
9
- name: "test-actor",
10
- keys: {
11
- idx: Math.floor(Math.random() * 10000000).toString(),
12
- },
13
- runner_name_selector: "foo",
14
- durable: false,
15
- });
16
- }
17
-
18
- export function destroyActor(config: Config, actorId: string): void {
19
- callRivetApi(config, "DELETE", `/actors/${actorId}`);
20
- }
21
-
22
- export function waitForHealth(url: string, actorId: string): boolean {
23
- let attempts = 0;
24
- const maxAttempts = 30;
25
-
26
- while (attempts < maxAttempts) {
27
- const response = http.get(url, {
28
- headers: {
29
- "x-rivet-target": "actor",
30
- "x-rivet-actor": actorId,
31
- },
32
- });
33
- if (response.status === 200) {
34
- console.debug("health check passed");
35
- return true;
36
- }
37
- sleep(0.5);
38
- attempts++;
39
- }
40
- return false;
41
- }
@@ -1,14 +0,0 @@
1
- import type { Config } from "./types.ts";
2
-
3
- export const CONFIG: Config = {
4
- rivetEndpoint: __ENV.RIVET_ENDPOINT || "http://localhost:6420",
5
- rivetNamespace: __ENV.RIVET_NAMESPACE || "default",
6
-
7
- // k6 specific settings
8
- vus: Number(__ENV.VUS) || 10,
9
- duration: __ENV.DURATION || "30s",
10
- rampUpDuration: __ENV.RAMP_UP_DURATION || "10s",
11
- // Test behavior flags
12
- disableHealthcheck: __ENV.DISABLE_HEALTHCHECK === "1",
13
- disableSleep: __ENV.DISABLE_SLEEP === "1",
14
- };
@@ -1,62 +0,0 @@
1
- import { fail, sleep } from "k6";
2
- import { createActor, destroyActor, waitForHealth } from "./actor.ts";
3
- import { CONFIG } from "./config.ts";
4
-
5
- export const options = {
6
- scenarios: {
7
- ws_test: {
8
- executor: "ramping-vus",
9
- startVUs: 1,
10
- stages: [
11
- { duration: CONFIG.rampUpDuration, target: CONFIG.vus },
12
- { duration: CONFIG.duration, target: CONFIG.vus },
13
- ],
14
- },
15
- },
16
- thresholds: {
17
- checks: ["rate>0.9"], // 90% of checks must pass
18
- },
19
- };
20
-
21
- export default function () {
22
- const start = Date.now();
23
-
24
- let actorId: string | undefined;
25
- try {
26
- const start = Date.now();
27
- console.log("creating actor");
28
-
29
- // Create actor
30
- const { actor } = createActor(CONFIG);
31
- actorId = actor.actor_id;
32
-
33
- const created = Date.now();
34
- console.log(`created actor ${actorId} ${created - start}ms`);
35
-
36
- // Wait for health check if not disabled
37
- if (!CONFIG.disableHealthcheck) {
38
- const isHealthy = waitForHealth(
39
- `${CONFIG.rivetEndpoint}/ping`,
40
- actorId,
41
- );
42
- if (!isHealthy) fail("actor did not become healthy");
43
- }
44
-
45
- console.log(`actor healthy ${actorId} ${Date.now() - created}ms`);
46
-
47
- // Sleep if not disabled
48
- if (!CONFIG.disableSleep) {
49
- const sleepDuration = (start + 60_000 - Date.now()) / 1000;
50
- console.log(`sleeping for ${sleepDuration}s`);
51
- sleep(sleepDuration);
52
- }
53
- } finally {
54
- // Cleanup
55
- if (actorId) {
56
- destroyActor(CONFIG, actorId);
57
- }
58
- }
59
- // const sleepDuration = (start + 60_000 - Date.now()) / 1000;
60
- // console.log(`sleeping for ${sleepDuration}s`);
61
- // sleep(sleepDuration);
62
- }
@@ -1,140 +0,0 @@
1
- import { check, fail } from "k6";
2
- import http from "k6/http";
3
- import type { Config } from "./types.ts";
4
-
5
- type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
6
- type QueryParams = Record<string, string | undefined>;
7
- // Match k6's http.Response type
8
- type ResponseType = {
9
- status: number;
10
- body: string | null;
11
- headers: Record<string, string>;
12
- [key: string]: unknown;
13
- };
14
- type ExpectedResponse = Record<string, (r: ResponseType) => boolean>;
15
-
16
- export function callRivetApi(
17
- config: Config,
18
- method: HttpMethod,
19
- path: string,
20
- body: unknown = null,
21
- queryParams: QueryParams = {},
22
- expectedResponse: ExpectedResponse = {},
23
- ) {
24
- const headers: Record<string, string> = {
25
- "Content-Type": "application/json",
26
- };
27
-
28
- // Build URL with query parameters
29
- let url = config.rivetEndpoint;
30
- if (!url.endsWith("/") && !path.startsWith("/")) {
31
- url += "/";
32
- }
33
- url += path;
34
-
35
- // Auto-add project and environment if defined
36
- const defaultParams = {
37
- namespace: config.rivetNamespace,
38
- ...queryParams,
39
- };
40
-
41
- // Build query string
42
- const queryParts: string[] = [];
43
- for (const [key, value] of Object.entries(defaultParams)) {
44
- if (value !== undefined) {
45
- queryParts.push(
46
- `${encodeURIComponent(key)}=${encodeURIComponent(value)}`,
47
- );
48
- }
49
- }
50
- if (queryParts.length > 0) {
51
- url += `?${queryParts.join("&")}`;
52
- }
53
-
54
- const options = { headers };
55
-
56
- console.debug(`Making ${method} request to ${url}`);
57
- if (body) {
58
- console.debug("Request body:", JSON.stringify(body, null, 2));
59
- }
60
- console.debug("Request headers:", JSON.stringify(headers, null, 2));
61
-
62
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
63
- let response: any;
64
- try {
65
- if (
66
- method === "POST" ||
67
- method === "PUT" ||
68
- method === "PATCH" ||
69
- method === "DELETE"
70
- ) {
71
- const methodFn = {
72
- POST: http.post,
73
- PUT: http.put,
74
- PATCH: http.patch,
75
- DELETE: http.del,
76
- }[method];
77
- response = methodFn(url, JSON.stringify(body), options);
78
- } else if (method === "GET") {
79
- http.get(url, options);
80
- } else {
81
- throw new Error(`Unsupported method: ${method}`);
82
- }
83
-
84
- console.debug(`Response status: ${response.status}`);
85
- console.debug(
86
- "Response headers:",
87
- JSON.stringify(response.headers, null, 2),
88
- );
89
- console.debug("Response body:", response.body);
90
-
91
- // Standard checks
92
- const checks = {
93
- [`${method} ${path} status is 200`]: (r: ResponseType) =>
94
- r.status === 200,
95
- [`${method} ${path} response has valid JSON`]: (
96
- r: ResponseType,
97
- ) => {
98
- try {
99
- if (r.body === null) {
100
- console.error("Empty response body");
101
- return false;
102
- }
103
- JSON.parse(r.body);
104
- return true;
105
- } catch (e) {
106
- console.error("Invalid JSON response:", r.body);
107
- return false;
108
- }
109
- },
110
- ...expectedResponse,
111
- };
112
-
113
- const success = check(response as unknown as ResponseType, checks);
114
- if (!success) {
115
- console.error(`${path} request failed:`);
116
- console.error("Status:", response.status);
117
- console.error("Response body:", response.body);
118
- fail(`${path} request failed`);
119
- }
120
-
121
- if (!response.body) {
122
- throw new Error("Empty response body");
123
- }
124
- // Convert bytes to string if needed
125
- const bodyStr =
126
- typeof response.body === "string"
127
- ? response.body
128
- : response.body.toString();
129
- return JSON.parse(bodyStr);
130
- } catch (error) {
131
- console.error("API call failed:");
132
- if (error instanceof Error) {
133
- console.error("Error message:", error.message);
134
- console.error("Error stack:", error.stack);
135
- } else {
136
- console.error("Unknown error:", error);
137
- }
138
- throw error;
139
- }
140
- }
@@ -1,17 +0,0 @@
1
- export interface Config {
2
- rivetEndpoint: string;
3
- rivetNamespace: string;
4
- vus: number;
5
- duration: string;
6
- rampUpDuration: string;
7
- disableHealthcheck?: boolean;
8
- disableSleep?: boolean;
9
- }
10
-
11
- export interface Actor {
12
- actor_id: string;
13
- }
14
-
15
- export interface CreateActorResponse {
16
- actor: Actor;
17
- }