@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,5 +1,6 @@
1
- import assert from "node:assert"
2
- import * as bare from "@bare-ts/lib"
1
+ // @generated - post-processed by build.rs
2
+
3
+ import * as bare from "@rivetkit/bare-ts"
3
4
 
4
5
  const DEFAULT_CONFIG = /* @__PURE__ */ bare.Config({})
5
6
 
@@ -85,22 +86,19 @@ export function writeKvValue(bc: bare.ByteCursor, x: KvValue): void {
85
86
 
86
87
  export type KvMetadata = {
87
88
  readonly version: ArrayBuffer
88
- /**
89
- * TODO: Rename to update_ts
90
- */
91
- readonly createTs: i64
89
+ readonly updateTs: i64
92
90
  }
93
91
 
94
92
  export function readKvMetadata(bc: bare.ByteCursor): KvMetadata {
95
93
  return {
96
94
  version: bare.readData(bc),
97
- createTs: bare.readI64(bc),
95
+ updateTs: bare.readI64(bc),
98
96
  }
99
97
  }
100
98
 
101
99
  export function writeKvMetadata(bc: bare.ByteCursor, x: KvMetadata): void {
102
100
  bare.writeData(bc, x.version)
103
- bare.writeI64(bc, x.createTs)
101
+ bare.writeI64(bc, x.updateTs)
104
102
  }
105
103
 
106
104
  /**
@@ -311,6 +309,23 @@ export function writeKvDeleteRequest(bc: bare.ByteCursor, x: KvDeleteRequest): v
311
309
  write0(bc, x.keys)
312
310
  }
313
311
 
312
+ export type KvDeleteRangeRequest = {
313
+ readonly start: KvKey
314
+ readonly end: KvKey
315
+ }
316
+
317
+ export function readKvDeleteRangeRequest(bc: bare.ByteCursor): KvDeleteRangeRequest {
318
+ return {
319
+ start: readKvKey(bc),
320
+ end: readKvKey(bc),
321
+ }
322
+ }
323
+
324
+ export function writeKvDeleteRangeRequest(bc: bare.ByteCursor, x: KvDeleteRangeRequest): void {
325
+ writeKvKey(bc, x.start)
326
+ writeKvKey(bc, x.end)
327
+ }
328
+
314
329
  export type KvDropRequest = null
315
330
 
316
331
  /**
@@ -403,6 +418,7 @@ export type KvRequestData =
403
418
  | { readonly tag: "KvListRequest"; readonly val: KvListRequest }
404
419
  | { readonly tag: "KvPutRequest"; readonly val: KvPutRequest }
405
420
  | { readonly tag: "KvDeleteRequest"; readonly val: KvDeleteRequest }
421
+ | { readonly tag: "KvDeleteRangeRequest"; readonly val: KvDeleteRangeRequest }
406
422
  | { readonly tag: "KvDropRequest"; readonly val: KvDropRequest }
407
423
 
408
424
  export function readKvRequestData(bc: bare.ByteCursor): KvRequestData {
@@ -418,6 +434,8 @@ export function readKvRequestData(bc: bare.ByteCursor): KvRequestData {
418
434
  case 3:
419
435
  return { tag: "KvDeleteRequest", val: readKvDeleteRequest(bc) }
420
436
  case 4:
437
+ return { tag: "KvDeleteRangeRequest", val: readKvDeleteRangeRequest(bc) }
438
+ case 5:
421
439
  return { tag: "KvDropRequest", val: null }
422
440
  default: {
423
441
  bc.offset = offset
@@ -448,8 +466,13 @@ export function writeKvRequestData(bc: bare.ByteCursor, x: KvRequestData): void
448
466
  writeKvDeleteRequest(bc, x.val)
449
467
  break
450
468
  }
451
- case "KvDropRequest": {
469
+ case "KvDeleteRangeRequest": {
452
470
  bare.writeU8(bc, 4)
471
+ writeKvDeleteRangeRequest(bc, x.val)
472
+ break
473
+ }
474
+ case "KvDropRequest": {
475
+ bare.writeU8(bc, 5)
453
476
  break
454
477
  }
455
478
  }
@@ -613,6 +636,26 @@ export function writeActorConfig(bc: bare.ByteCursor, x: ActorConfig): void {
613
636
  write6(bc, x.input)
614
637
  }
615
638
 
639
+ export type ActorCheckpoint = {
640
+ readonly actorId: Id
641
+ readonly generation: u32
642
+ readonly index: i64
643
+ }
644
+
645
+ export function readActorCheckpoint(bc: bare.ByteCursor): ActorCheckpoint {
646
+ return {
647
+ actorId: readId(bc),
648
+ generation: bare.readU32(bc),
649
+ index: bare.readI64(bc),
650
+ }
651
+ }
652
+
653
+ export function writeActorCheckpoint(bc: bare.ByteCursor, x: ActorCheckpoint): void {
654
+ writeId(bc, x.actorId)
655
+ bare.writeU32(bc, x.generation)
656
+ bare.writeI64(bc, x.index)
657
+ }
658
+
616
659
  /**
617
660
  * Intent
618
661
  */
@@ -711,42 +754,30 @@ export function writeActorState(bc: bare.ByteCursor, x: ActorState): void {
711
754
  * MARK: Events
712
755
  */
713
756
  export type EventActorIntent = {
714
- readonly actorId: Id
715
- readonly generation: u32
716
757
  readonly intent: ActorIntent
717
758
  }
718
759
 
719
760
  export function readEventActorIntent(bc: bare.ByteCursor): EventActorIntent {
720
761
  return {
721
- actorId: readId(bc),
722
- generation: bare.readU32(bc),
723
762
  intent: readActorIntent(bc),
724
763
  }
725
764
  }
726
765
 
727
766
  export function writeEventActorIntent(bc: bare.ByteCursor, x: EventActorIntent): void {
728
- writeId(bc, x.actorId)
729
- bare.writeU32(bc, x.generation)
730
767
  writeActorIntent(bc, x.intent)
731
768
  }
732
769
 
733
770
  export type EventActorStateUpdate = {
734
- readonly actorId: Id
735
- readonly generation: u32
736
771
  readonly state: ActorState
737
772
  }
738
773
 
739
774
  export function readEventActorStateUpdate(bc: bare.ByteCursor): EventActorStateUpdate {
740
775
  return {
741
- actorId: readId(bc),
742
- generation: bare.readU32(bc),
743
776
  state: readActorState(bc),
744
777
  }
745
778
  }
746
779
 
747
780
  export function writeEventActorStateUpdate(bc: bare.ByteCursor, x: EventActorStateUpdate): void {
748
- writeId(bc, x.actorId)
749
- bare.writeU32(bc, x.generation)
750
781
  writeActorState(bc, x.state)
751
782
  }
752
783
 
@@ -762,22 +793,16 @@ function write7(bc: bare.ByteCursor, x: i64 | null): void {
762
793
  }
763
794
 
764
795
  export type EventActorSetAlarm = {
765
- readonly actorId: Id
766
- readonly generation: u32
767
796
  readonly alarmTs: i64 | null
768
797
  }
769
798
 
770
799
  export function readEventActorSetAlarm(bc: bare.ByteCursor): EventActorSetAlarm {
771
800
  return {
772
- actorId: readId(bc),
773
- generation: bare.readU32(bc),
774
801
  alarmTs: read7(bc),
775
802
  }
776
803
  }
777
804
 
778
805
  export function writeEventActorSetAlarm(bc: bare.ByteCursor, x: EventActorSetAlarm): void {
779
- writeId(bc, x.actorId)
780
- bare.writeU32(bc, x.generation)
781
806
  write7(bc, x.alarmTs)
782
807
  }
783
808
 
@@ -824,19 +849,19 @@ export function writeEvent(bc: bare.ByteCursor, x: Event): void {
824
849
  }
825
850
 
826
851
  export type EventWrapper = {
827
- readonly index: i64
852
+ readonly checkpoint: ActorCheckpoint
828
853
  readonly inner: Event
829
854
  }
830
855
 
831
856
  export function readEventWrapper(bc: bare.ByteCursor): EventWrapper {
832
857
  return {
833
- index: bare.readI64(bc),
858
+ checkpoint: readActorCheckpoint(bc),
834
859
  inner: readEvent(bc),
835
860
  }
836
861
  }
837
862
 
838
863
  export function writeEventWrapper(bc: bare.ByteCursor, x: EventWrapper): void {
839
- bare.writeI64(bc, x.index)
864
+ writeActorCheckpoint(bc, x.checkpoint)
840
865
  writeEvent(bc, x.inner)
841
866
  }
842
867
 
@@ -877,44 +902,23 @@ function write8(bc: bare.ByteCursor, x: readonly HibernatingRequest[]): void {
877
902
  }
878
903
 
879
904
  export type CommandStartActor = {
880
- readonly actorId: Id
881
- readonly generation: u32
882
905
  readonly config: ActorConfig
883
906
  readonly hibernatingRequests: readonly HibernatingRequest[]
884
907
  }
885
908
 
886
909
  export function readCommandStartActor(bc: bare.ByteCursor): CommandStartActor {
887
910
  return {
888
- actorId: readId(bc),
889
- generation: bare.readU32(bc),
890
911
  config: readActorConfig(bc),
891
912
  hibernatingRequests: read8(bc),
892
913
  }
893
914
  }
894
915
 
895
916
  export function writeCommandStartActor(bc: bare.ByteCursor, x: CommandStartActor): void {
896
- writeId(bc, x.actorId)
897
- bare.writeU32(bc, x.generation)
898
917
  writeActorConfig(bc, x.config)
899
918
  write8(bc, x.hibernatingRequests)
900
919
  }
901
920
 
902
- export type CommandStopActor = {
903
- readonly actorId: Id
904
- readonly generation: u32
905
- }
906
-
907
- export function readCommandStopActor(bc: bare.ByteCursor): CommandStopActor {
908
- return {
909
- actorId: readId(bc),
910
- generation: bare.readU32(bc),
911
- }
912
- }
913
-
914
- export function writeCommandStopActor(bc: bare.ByteCursor, x: CommandStopActor): void {
915
- writeId(bc, x.actorId)
916
- bare.writeU32(bc, x.generation)
917
- }
921
+ export type CommandStopActor = null
918
922
 
919
923
  export type Command =
920
924
  | { readonly tag: "CommandStartActor"; readonly val: CommandStartActor }
@@ -927,7 +931,7 @@ export function readCommand(bc: bare.ByteCursor): Command {
927
931
  case 0:
928
932
  return { tag: "CommandStartActor", val: readCommandStartActor(bc) }
929
933
  case 1:
930
- return { tag: "CommandStopActor", val: readCommandStopActor(bc) }
934
+ return { tag: "CommandStopActor", val: null }
931
935
  default: {
932
936
  bc.offset = offset
933
937
  throw new bare.BareError(offset, "invalid tag")
@@ -944,29 +948,83 @@ export function writeCommand(bc: bare.ByteCursor, x: Command): void {
944
948
  }
945
949
  case "CommandStopActor": {
946
950
  bare.writeU8(bc, 1)
947
- writeCommandStopActor(bc, x.val)
948
951
  break
949
952
  }
950
953
  }
951
954
  }
952
955
 
953
956
  export type CommandWrapper = {
954
- readonly index: i64
957
+ readonly checkpoint: ActorCheckpoint
955
958
  readonly inner: Command
956
959
  }
957
960
 
958
961
  export function readCommandWrapper(bc: bare.ByteCursor): CommandWrapper {
959
962
  return {
960
- index: bare.readI64(bc),
963
+ checkpoint: readActorCheckpoint(bc),
961
964
  inner: readCommand(bc),
962
965
  }
963
966
  }
964
967
 
965
968
  export function writeCommandWrapper(bc: bare.ByteCursor, x: CommandWrapper): void {
966
- bare.writeI64(bc, x.index)
969
+ writeActorCheckpoint(bc, x.checkpoint)
967
970
  writeCommand(bc, x.inner)
968
971
  }
969
972
 
973
+ /**
974
+ * We redeclare this so its top level
975
+ */
976
+ export type ActorCommandKeyData =
977
+ | { readonly tag: "CommandStartActor"; readonly val: CommandStartActor }
978
+ | { readonly tag: "CommandStopActor"; readonly val: CommandStopActor }
979
+
980
+ export function readActorCommandKeyData(bc: bare.ByteCursor): ActorCommandKeyData {
981
+ const offset = bc.offset
982
+ const tag = bare.readU8(bc)
983
+ switch (tag) {
984
+ case 0:
985
+ return { tag: "CommandStartActor", val: readCommandStartActor(bc) }
986
+ case 1:
987
+ return { tag: "CommandStopActor", val: null }
988
+ default: {
989
+ bc.offset = offset
990
+ throw new bare.BareError(offset, "invalid tag")
991
+ }
992
+ }
993
+ }
994
+
995
+ export function writeActorCommandKeyData(bc: bare.ByteCursor, x: ActorCommandKeyData): void {
996
+ switch (x.tag) {
997
+ case "CommandStartActor": {
998
+ bare.writeU8(bc, 0)
999
+ writeCommandStartActor(bc, x.val)
1000
+ break
1001
+ }
1002
+ case "CommandStopActor": {
1003
+ bare.writeU8(bc, 1)
1004
+ break
1005
+ }
1006
+ }
1007
+ }
1008
+
1009
+ export function encodeActorCommandKeyData(x: ActorCommandKeyData, config?: Partial<bare.Config>): Uint8Array {
1010
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG
1011
+ const bc = new bare.ByteCursor(
1012
+ new Uint8Array(fullConfig.initialBufferLength),
1013
+ fullConfig,
1014
+ )
1015
+ writeActorCommandKeyData(bc, x)
1016
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
1017
+ }
1018
+
1019
+ export function decodeActorCommandKeyData(bytes: Uint8Array): ActorCommandKeyData {
1020
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG)
1021
+ const result = readActorCommandKeyData(bc)
1022
+ if (bc.offset < bc.view.byteLength) {
1023
+ throw new bare.BareError(bc.offset, "remaining bytes")
1024
+ }
1025
+ return result
1026
+ }
1027
+
970
1028
  export type MessageId = {
971
1029
  /**
972
1030
  * Globally unique ID
@@ -996,8 +1054,6 @@ export function writeMessageId(bc: bare.ByteCursor, x: MessageId): void {
996
1054
  writeMessageIndex(bc, x.messageIndex)
997
1055
  }
998
1056
 
999
- export type DeprecatedTunnelAck = null
1000
-
1001
1057
  function read9(bc: bare.ByteCursor): ReadonlyMap<string, string> {
1002
1058
  const len = bare.readUintSafe(bc)
1003
1059
  const result = new Map<string, string>()
@@ -1251,7 +1307,6 @@ export function writeToServerWebSocketClose(bc: bare.ByteCursor, x: ToServerWebS
1251
1307
  * To Server
1252
1308
  */
1253
1309
  export type ToServerTunnelMessageKind =
1254
- | { readonly tag: "DeprecatedTunnelAck"; readonly val: DeprecatedTunnelAck }
1255
1310
  /**
1256
1311
  * HTTP
1257
1312
  */
@@ -1271,20 +1326,18 @@ export function readToServerTunnelMessageKind(bc: bare.ByteCursor): ToServerTunn
1271
1326
  const tag = bare.readU8(bc)
1272
1327
  switch (tag) {
1273
1328
  case 0:
1274
- return { tag: "DeprecatedTunnelAck", val: null }
1275
- case 1:
1276
1329
  return { tag: "ToServerResponseStart", val: readToServerResponseStart(bc) }
1277
- case 2:
1330
+ case 1:
1278
1331
  return { tag: "ToServerResponseChunk", val: readToServerResponseChunk(bc) }
1279
- case 3:
1332
+ case 2:
1280
1333
  return { tag: "ToServerResponseAbort", val: null }
1281
- case 4:
1334
+ case 3:
1282
1335
  return { tag: "ToServerWebSocketOpen", val: readToServerWebSocketOpen(bc) }
1283
- case 5:
1336
+ case 4:
1284
1337
  return { tag: "ToServerWebSocketMessage", val: readToServerWebSocketMessage(bc) }
1285
- case 6:
1338
+ case 5:
1286
1339
  return { tag: "ToServerWebSocketMessageAck", val: readToServerWebSocketMessageAck(bc) }
1287
- case 7:
1340
+ case 6:
1288
1341
  return { tag: "ToServerWebSocketClose", val: readToServerWebSocketClose(bc) }
1289
1342
  default: {
1290
1343
  bc.offset = offset
@@ -1295,41 +1348,37 @@ export function readToServerTunnelMessageKind(bc: bare.ByteCursor): ToServerTunn
1295
1348
 
1296
1349
  export function writeToServerTunnelMessageKind(bc: bare.ByteCursor, x: ToServerTunnelMessageKind): void {
1297
1350
  switch (x.tag) {
1298
- case "DeprecatedTunnelAck": {
1299
- bare.writeU8(bc, 0)
1300
- break
1301
- }
1302
1351
  case "ToServerResponseStart": {
1303
- bare.writeU8(bc, 1)
1352
+ bare.writeU8(bc, 0)
1304
1353
  writeToServerResponseStart(bc, x.val)
1305
1354
  break
1306
1355
  }
1307
1356
  case "ToServerResponseChunk": {
1308
- bare.writeU8(bc, 2)
1357
+ bare.writeU8(bc, 1)
1309
1358
  writeToServerResponseChunk(bc, x.val)
1310
1359
  break
1311
1360
  }
1312
1361
  case "ToServerResponseAbort": {
1313
- bare.writeU8(bc, 3)
1362
+ bare.writeU8(bc, 2)
1314
1363
  break
1315
1364
  }
1316
1365
  case "ToServerWebSocketOpen": {
1317
- bare.writeU8(bc, 4)
1366
+ bare.writeU8(bc, 3)
1318
1367
  writeToServerWebSocketOpen(bc, x.val)
1319
1368
  break
1320
1369
  }
1321
1370
  case "ToServerWebSocketMessage": {
1322
- bare.writeU8(bc, 5)
1371
+ bare.writeU8(bc, 4)
1323
1372
  writeToServerWebSocketMessage(bc, x.val)
1324
1373
  break
1325
1374
  }
1326
1375
  case "ToServerWebSocketMessageAck": {
1327
- bare.writeU8(bc, 6)
1376
+ bare.writeU8(bc, 5)
1328
1377
  writeToServerWebSocketMessageAck(bc, x.val)
1329
1378
  break
1330
1379
  }
1331
1380
  case "ToServerWebSocketClose": {
1332
- bare.writeU8(bc, 7)
1381
+ bare.writeU8(bc, 6)
1333
1382
  writeToServerWebSocketClose(bc, x.val)
1334
1383
  break
1335
1384
  }
@@ -1357,7 +1406,6 @@ export function writeToServerTunnelMessage(bc: bare.ByteCursor, x: ToServerTunne
1357
1406
  * To Client
1358
1407
  */
1359
1408
  export type ToClientTunnelMessageKind =
1360
- | { readonly tag: "DeprecatedTunnelAck"; readonly val: DeprecatedTunnelAck }
1361
1409
  /**
1362
1410
  * HTTP
1363
1411
  */
@@ -1376,18 +1424,16 @@ export function readToClientTunnelMessageKind(bc: bare.ByteCursor): ToClientTunn
1376
1424
  const tag = bare.readU8(bc)
1377
1425
  switch (tag) {
1378
1426
  case 0:
1379
- return { tag: "DeprecatedTunnelAck", val: null }
1380
- case 1:
1381
1427
  return { tag: "ToClientRequestStart", val: readToClientRequestStart(bc) }
1382
- case 2:
1428
+ case 1:
1383
1429
  return { tag: "ToClientRequestChunk", val: readToClientRequestChunk(bc) }
1384
- case 3:
1430
+ case 2:
1385
1431
  return { tag: "ToClientRequestAbort", val: null }
1386
- case 4:
1432
+ case 3:
1387
1433
  return { tag: "ToClientWebSocketOpen", val: readToClientWebSocketOpen(bc) }
1388
- case 5:
1434
+ case 4:
1389
1435
  return { tag: "ToClientWebSocketMessage", val: readToClientWebSocketMessage(bc) }
1390
- case 6:
1436
+ case 5:
1391
1437
  return { tag: "ToClientWebSocketClose", val: readToClientWebSocketClose(bc) }
1392
1438
  default: {
1393
1439
  bc.offset = offset
@@ -1398,36 +1444,32 @@ export function readToClientTunnelMessageKind(bc: bare.ByteCursor): ToClientTunn
1398
1444
 
1399
1445
  export function writeToClientTunnelMessageKind(bc: bare.ByteCursor, x: ToClientTunnelMessageKind): void {
1400
1446
  switch (x.tag) {
1401
- case "DeprecatedTunnelAck": {
1402
- bare.writeU8(bc, 0)
1403
- break
1404
- }
1405
1447
  case "ToClientRequestStart": {
1406
- bare.writeU8(bc, 1)
1448
+ bare.writeU8(bc, 0)
1407
1449
  writeToClientRequestStart(bc, x.val)
1408
1450
  break
1409
1451
  }
1410
1452
  case "ToClientRequestChunk": {
1411
- bare.writeU8(bc, 2)
1453
+ bare.writeU8(bc, 1)
1412
1454
  writeToClientRequestChunk(bc, x.val)
1413
1455
  break
1414
1456
  }
1415
1457
  case "ToClientRequestAbort": {
1416
- bare.writeU8(bc, 3)
1458
+ bare.writeU8(bc, 2)
1417
1459
  break
1418
1460
  }
1419
1461
  case "ToClientWebSocketOpen": {
1420
- bare.writeU8(bc, 4)
1462
+ bare.writeU8(bc, 3)
1421
1463
  writeToClientWebSocketOpen(bc, x.val)
1422
1464
  break
1423
1465
  }
1424
1466
  case "ToClientWebSocketMessage": {
1425
- bare.writeU8(bc, 5)
1467
+ bare.writeU8(bc, 4)
1426
1468
  writeToClientWebSocketMessage(bc, x.val)
1427
1469
  break
1428
1470
  }
1429
1471
  case "ToClientWebSocketClose": {
1430
- bare.writeU8(bc, 6)
1472
+ bare.writeU8(bc, 5)
1431
1473
  writeToClientWebSocketClose(bc, x.val)
1432
1474
  break
1433
1475
  }
@@ -1451,6 +1493,20 @@ export function writeToClientTunnelMessage(bc: bare.ByteCursor, x: ToClientTunne
1451
1493
  writeToClientTunnelMessageKind(bc, x.messageKind)
1452
1494
  }
1453
1495
 
1496
+ export type ToClientPing = {
1497
+ readonly ts: i64
1498
+ }
1499
+
1500
+ export function readToClientPing(bc: bare.ByteCursor): ToClientPing {
1501
+ return {
1502
+ ts: bare.readI64(bc),
1503
+ }
1504
+ }
1505
+
1506
+ export function writeToClientPing(bc: bare.ByteCursor, x: ToClientPing): void {
1507
+ bare.writeI64(bc, x.ts)
1508
+ }
1509
+
1454
1510
  function read11(bc: bare.ByteCursor): ReadonlyMap<string, ActorName> {
1455
1511
  const len = bare.readUintSafe(bc)
1456
1512
  const result = new Map<string, ActorName>()
@@ -1503,7 +1559,6 @@ export type ToServerInit = {
1503
1559
  readonly name: string
1504
1560
  readonly version: u32
1505
1561
  readonly totalSlots: u32
1506
- readonly lastCommandIdx: i64 | null
1507
1562
  readonly prepopulateActorNames: ReadonlyMap<string, ActorName> | null
1508
1563
  readonly metadata: Json | null
1509
1564
  }
@@ -1513,7 +1568,6 @@ export function readToServerInit(bc: bare.ByteCursor): ToServerInit {
1513
1568
  name: bare.readString(bc),
1514
1569
  version: bare.readU32(bc),
1515
1570
  totalSlots: bare.readU32(bc),
1516
- lastCommandIdx: read7(bc),
1517
1571
  prepopulateActorNames: read12(bc),
1518
1572
  metadata: read13(bc),
1519
1573
  }
@@ -1523,7 +1577,6 @@ export function writeToServerInit(bc: bare.ByteCursor, x: ToServerInit): void {
1523
1577
  bare.writeString(bc, x.name)
1524
1578
  bare.writeU32(bc, x.version)
1525
1579
  bare.writeU32(bc, x.totalSlots)
1526
- write7(bc, x.lastCommandIdx)
1527
1580
  write12(bc, x.prepopulateActorNames)
1528
1581
  write13(bc, x.metadata)
1529
1582
  }
@@ -1549,33 +1602,52 @@ export function writeToServerEvents(bc: bare.ByteCursor, x: ToServerEvents): voi
1549
1602
  }
1550
1603
  }
1551
1604
 
1605
+ function read14(bc: bare.ByteCursor): readonly ActorCheckpoint[] {
1606
+ const len = bare.readUintSafe(bc)
1607
+ if (len === 0) {
1608
+ return []
1609
+ }
1610
+ const result = [readActorCheckpoint(bc)]
1611
+ for (let i = 1; i < len; i++) {
1612
+ result[i] = readActorCheckpoint(bc)
1613
+ }
1614
+ return result
1615
+ }
1616
+
1617
+ function write14(bc: bare.ByteCursor, x: readonly ActorCheckpoint[]): void {
1618
+ bare.writeUintSafe(bc, x.length)
1619
+ for (let i = 0; i < x.length; i++) {
1620
+ writeActorCheckpoint(bc, x[i])
1621
+ }
1622
+ }
1623
+
1552
1624
  export type ToServerAckCommands = {
1553
- readonly lastCommandIdx: i64
1625
+ readonly lastCommandCheckpoints: readonly ActorCheckpoint[]
1554
1626
  }
1555
1627
 
1556
1628
  export function readToServerAckCommands(bc: bare.ByteCursor): ToServerAckCommands {
1557
1629
  return {
1558
- lastCommandIdx: bare.readI64(bc),
1630
+ lastCommandCheckpoints: read14(bc),
1559
1631
  }
1560
1632
  }
1561
1633
 
1562
1634
  export function writeToServerAckCommands(bc: bare.ByteCursor, x: ToServerAckCommands): void {
1563
- bare.writeI64(bc, x.lastCommandIdx)
1635
+ write14(bc, x.lastCommandCheckpoints)
1564
1636
  }
1565
1637
 
1566
1638
  export type ToServerStopping = null
1567
1639
 
1568
- export type ToServerPing = {
1640
+ export type ToServerPong = {
1569
1641
  readonly ts: i64
1570
1642
  }
1571
1643
 
1572
- export function readToServerPing(bc: bare.ByteCursor): ToServerPing {
1644
+ export function readToServerPong(bc: bare.ByteCursor): ToServerPong {
1573
1645
  return {
1574
1646
  ts: bare.readI64(bc),
1575
1647
  }
1576
1648
  }
1577
1649
 
1578
- export function writeToServerPing(bc: bare.ByteCursor, x: ToServerPing): void {
1650
+ export function writeToServerPong(bc: bare.ByteCursor, x: ToServerPong): void {
1579
1651
  bare.writeI64(bc, x.ts)
1580
1652
  }
1581
1653
 
@@ -1604,7 +1676,7 @@ export type ToServer =
1604
1676
  | { readonly tag: "ToServerEvents"; readonly val: ToServerEvents }
1605
1677
  | { readonly tag: "ToServerAckCommands"; readonly val: ToServerAckCommands }
1606
1678
  | { readonly tag: "ToServerStopping"; readonly val: ToServerStopping }
1607
- | { readonly tag: "ToServerPing"; readonly val: ToServerPing }
1679
+ | { readonly tag: "ToServerPong"; readonly val: ToServerPong }
1608
1680
  | { readonly tag: "ToServerKvRequest"; readonly val: ToServerKvRequest }
1609
1681
  | { readonly tag: "ToServerTunnelMessage"; readonly val: ToServerTunnelMessage }
1610
1682
 
@@ -1621,7 +1693,7 @@ export function readToServer(bc: bare.ByteCursor): ToServer {
1621
1693
  case 3:
1622
1694
  return { tag: "ToServerStopping", val: null }
1623
1695
  case 4:
1624
- return { tag: "ToServerPing", val: readToServerPing(bc) }
1696
+ return { tag: "ToServerPong", val: readToServerPong(bc) }
1625
1697
  case 5:
1626
1698
  return { tag: "ToServerKvRequest", val: readToServerKvRequest(bc) }
1627
1699
  case 6:
@@ -1654,9 +1726,9 @@ export function writeToServer(bc: bare.ByteCursor, x: ToServer): void {
1654
1726
  bare.writeU8(bc, 3)
1655
1727
  break
1656
1728
  }
1657
- case "ToServerPing": {
1729
+ case "ToServerPong": {
1658
1730
  bare.writeU8(bc, 4)
1659
- writeToServerPing(bc, x.val)
1731
+ writeToServerPong(bc, x.val)
1660
1732
  break
1661
1733
  }
1662
1734
  case "ToServerKvRequest": {
@@ -1696,35 +1768,38 @@ export function decodeToServer(bytes: Uint8Array): ToServer {
1696
1768
  */
1697
1769
  export type ProtocolMetadata = {
1698
1770
  readonly runnerLostThreshold: i64
1771
+ readonly actorStopThreshold: i64
1772
+ readonly serverlessDrainGracePeriod: i64 | null
1699
1773
  }
1700
1774
 
1701
1775
  export function readProtocolMetadata(bc: bare.ByteCursor): ProtocolMetadata {
1702
1776
  return {
1703
1777
  runnerLostThreshold: bare.readI64(bc),
1778
+ actorStopThreshold: bare.readI64(bc),
1779
+ serverlessDrainGracePeriod: read7(bc),
1704
1780
  }
1705
1781
  }
1706
1782
 
1707
1783
  export function writeProtocolMetadata(bc: bare.ByteCursor, x: ProtocolMetadata): void {
1708
1784
  bare.writeI64(bc, x.runnerLostThreshold)
1785
+ bare.writeI64(bc, x.actorStopThreshold)
1786
+ write7(bc, x.serverlessDrainGracePeriod)
1709
1787
  }
1710
1788
 
1711
1789
  export type ToClientInit = {
1712
1790
  readonly runnerId: Id
1713
- readonly lastEventIdx: i64
1714
1791
  readonly metadata: ProtocolMetadata
1715
1792
  }
1716
1793
 
1717
1794
  export function readToClientInit(bc: bare.ByteCursor): ToClientInit {
1718
1795
  return {
1719
1796
  runnerId: readId(bc),
1720
- lastEventIdx: bare.readI64(bc),
1721
1797
  metadata: readProtocolMetadata(bc),
1722
1798
  }
1723
1799
  }
1724
1800
 
1725
1801
  export function writeToClientInit(bc: bare.ByteCursor, x: ToClientInit): void {
1726
1802
  writeId(bc, x.runnerId)
1727
- bare.writeI64(bc, x.lastEventIdx)
1728
1803
  writeProtocolMetadata(bc, x.metadata)
1729
1804
  }
1730
1805
 
@@ -1750,17 +1825,17 @@ export function writeToClientCommands(bc: bare.ByteCursor, x: ToClientCommands):
1750
1825
  }
1751
1826
 
1752
1827
  export type ToClientAckEvents = {
1753
- readonly lastEventIdx: i64
1828
+ readonly lastEventCheckpoints: readonly ActorCheckpoint[]
1754
1829
  }
1755
1830
 
1756
1831
  export function readToClientAckEvents(bc: bare.ByteCursor): ToClientAckEvents {
1757
1832
  return {
1758
- lastEventIdx: bare.readI64(bc),
1833
+ lastEventCheckpoints: read14(bc),
1759
1834
  }
1760
1835
  }
1761
1836
 
1762
1837
  export function writeToClientAckEvents(bc: bare.ByteCursor, x: ToClientAckEvents): void {
1763
- bare.writeI64(bc, x.lastEventIdx)
1838
+ write14(bc, x.lastEventCheckpoints)
1764
1839
  }
1765
1840
 
1766
1841
  export type ToClientKvResponse = {
@@ -1780,15 +1855,13 @@ export function writeToClientKvResponse(bc: bare.ByteCursor, x: ToClientKvRespon
1780
1855
  writeKvResponseData(bc, x.data)
1781
1856
  }
1782
1857
 
1783
- export type ToClientClose = null
1784
-
1785
1858
  export type ToClient =
1786
1859
  | { readonly tag: "ToClientInit"; readonly val: ToClientInit }
1787
- | { readonly tag: "ToClientClose"; readonly val: ToClientClose }
1788
1860
  | { readonly tag: "ToClientCommands"; readonly val: ToClientCommands }
1789
1861
  | { readonly tag: "ToClientAckEvents"; readonly val: ToClientAckEvents }
1790
1862
  | { readonly tag: "ToClientKvResponse"; readonly val: ToClientKvResponse }
1791
1863
  | { readonly tag: "ToClientTunnelMessage"; readonly val: ToClientTunnelMessage }
1864
+ | { readonly tag: "ToClientPing"; readonly val: ToClientPing }
1792
1865
 
1793
1866
  export function readToClient(bc: bare.ByteCursor): ToClient {
1794
1867
  const offset = bc.offset
@@ -1797,15 +1870,15 @@ export function readToClient(bc: bare.ByteCursor): ToClient {
1797
1870
  case 0:
1798
1871
  return { tag: "ToClientInit", val: readToClientInit(bc) }
1799
1872
  case 1:
1800
- return { tag: "ToClientClose", val: null }
1801
- case 2:
1802
1873
  return { tag: "ToClientCommands", val: readToClientCommands(bc) }
1803
- case 3:
1874
+ case 2:
1804
1875
  return { tag: "ToClientAckEvents", val: readToClientAckEvents(bc) }
1805
- case 4:
1876
+ case 3:
1806
1877
  return { tag: "ToClientKvResponse", val: readToClientKvResponse(bc) }
1807
- case 5:
1878
+ case 4:
1808
1879
  return { tag: "ToClientTunnelMessage", val: readToClientTunnelMessage(bc) }
1880
+ case 5:
1881
+ return { tag: "ToClientPing", val: readToClientPing(bc) }
1809
1882
  default: {
1810
1883
  bc.offset = offset
1811
1884
  throw new bare.BareError(offset, "invalid tag")
@@ -1820,30 +1893,31 @@ export function writeToClient(bc: bare.ByteCursor, x: ToClient): void {
1820
1893
  writeToClientInit(bc, x.val)
1821
1894
  break
1822
1895
  }
1823
- case "ToClientClose": {
1824
- bare.writeU8(bc, 1)
1825
- break
1826
- }
1827
1896
  case "ToClientCommands": {
1828
- bare.writeU8(bc, 2)
1897
+ bare.writeU8(bc, 1)
1829
1898
  writeToClientCommands(bc, x.val)
1830
1899
  break
1831
1900
  }
1832
1901
  case "ToClientAckEvents": {
1833
- bare.writeU8(bc, 3)
1902
+ bare.writeU8(bc, 2)
1834
1903
  writeToClientAckEvents(bc, x.val)
1835
1904
  break
1836
1905
  }
1837
1906
  case "ToClientKvResponse": {
1838
- bare.writeU8(bc, 4)
1907
+ bare.writeU8(bc, 3)
1839
1908
  writeToClientKvResponse(bc, x.val)
1840
1909
  break
1841
1910
  }
1842
1911
  case "ToClientTunnelMessage": {
1843
- bare.writeU8(bc, 5)
1912
+ bare.writeU8(bc, 4)
1844
1913
  writeToClientTunnelMessage(bc, x.val)
1845
1914
  break
1846
1915
  }
1916
+ case "ToClientPing": {
1917
+ bare.writeU8(bc, 5)
1918
+ writeToClientPing(bc, x.val)
1919
+ break
1920
+ }
1847
1921
  }
1848
1922
  }
1849
1923
 
@@ -1889,17 +1963,17 @@ export function writeToRunnerPing(bc: bare.ByteCursor, x: ToRunnerPing): void {
1889
1963
  bare.writeI64(bc, x.ts)
1890
1964
  }
1891
1965
 
1966
+ export type ToRunnerClose = null
1967
+
1892
1968
  /**
1893
1969
  * We have to re-declare the entire union since BARE will not generate the
1894
1970
  * ser/de for ToClient if it's not a top-level type
1895
1971
  */
1896
1972
  export type ToRunner =
1897
1973
  | { readonly tag: "ToRunnerPing"; readonly val: ToRunnerPing }
1898
- | { readonly tag: "ToClientInit"; readonly val: ToClientInit }
1899
- | { readonly tag: "ToClientClose"; readonly val: ToClientClose }
1974
+ | { readonly tag: "ToRunnerClose"; readonly val: ToRunnerClose }
1900
1975
  | { readonly tag: "ToClientCommands"; readonly val: ToClientCommands }
1901
1976
  | { readonly tag: "ToClientAckEvents"; readonly val: ToClientAckEvents }
1902
- | { readonly tag: "ToClientKvResponse"; readonly val: ToClientKvResponse }
1903
1977
  | { readonly tag: "ToClientTunnelMessage"; readonly val: ToClientTunnelMessage }
1904
1978
 
1905
1979
  export function readToRunner(bc: bare.ByteCursor): ToRunner {
@@ -1909,16 +1983,12 @@ export function readToRunner(bc: bare.ByteCursor): ToRunner {
1909
1983
  case 0:
1910
1984
  return { tag: "ToRunnerPing", val: readToRunnerPing(bc) }
1911
1985
  case 1:
1912
- return { tag: "ToClientInit", val: readToClientInit(bc) }
1986
+ return { tag: "ToRunnerClose", val: null }
1913
1987
  case 2:
1914
- return { tag: "ToClientClose", val: null }
1915
- case 3:
1916
1988
  return { tag: "ToClientCommands", val: readToClientCommands(bc) }
1917
- case 4:
1989
+ case 3:
1918
1990
  return { tag: "ToClientAckEvents", val: readToClientAckEvents(bc) }
1919
- case 5:
1920
- return { tag: "ToClientKvResponse", val: readToClientKvResponse(bc) }
1921
- case 6:
1991
+ case 4:
1922
1992
  return { tag: "ToClientTunnelMessage", val: readToClientTunnelMessage(bc) }
1923
1993
  default: {
1924
1994
  bc.offset = offset
@@ -1934,32 +2004,22 @@ export function writeToRunner(bc: bare.ByteCursor, x: ToRunner): void {
1934
2004
  writeToRunnerPing(bc, x.val)
1935
2005
  break
1936
2006
  }
1937
- case "ToClientInit": {
2007
+ case "ToRunnerClose": {
1938
2008
  bare.writeU8(bc, 1)
1939
- writeToClientInit(bc, x.val)
1940
- break
1941
- }
1942
- case "ToClientClose": {
1943
- bare.writeU8(bc, 2)
1944
2009
  break
1945
2010
  }
1946
2011
  case "ToClientCommands": {
1947
- bare.writeU8(bc, 3)
2012
+ bare.writeU8(bc, 2)
1948
2013
  writeToClientCommands(bc, x.val)
1949
2014
  break
1950
2015
  }
1951
2016
  case "ToClientAckEvents": {
1952
- bare.writeU8(bc, 4)
2017
+ bare.writeU8(bc, 3)
1953
2018
  writeToClientAckEvents(bc, x.val)
1954
2019
  break
1955
2020
  }
1956
- case "ToClientKvResponse": {
1957
- bare.writeU8(bc, 5)
1958
- writeToClientKvResponse(bc, x.val)
1959
- break
1960
- }
1961
2021
  case "ToClientTunnelMessage": {
1962
- bare.writeU8(bc, 6)
2022
+ bare.writeU8(bc, 4)
1963
2023
  writeToClientTunnelMessage(bc, x.val)
1964
2024
  break
1965
2025
  }
@@ -2063,16 +2123,19 @@ export function decodeToGateway(bytes: Uint8Array): ToGateway {
2063
2123
  */
2064
2124
  export type ToServerlessServerInit = {
2065
2125
  readonly runnerId: Id
2126
+ readonly runnerProtocolVersion: u16
2066
2127
  }
2067
2128
 
2068
2129
  export function readToServerlessServerInit(bc: bare.ByteCursor): ToServerlessServerInit {
2069
2130
  return {
2070
2131
  runnerId: readId(bc),
2132
+ runnerProtocolVersion: bare.readU16(bc),
2071
2133
  }
2072
2134
  }
2073
2135
 
2074
2136
  export function writeToServerlessServerInit(bc: bare.ByteCursor, x: ToServerlessServerInit): void {
2075
2137
  writeId(bc, x.runnerId)
2138
+ bare.writeU16(bc, x.runnerProtocolVersion)
2076
2139
  }
2077
2140
 
2078
2141
  export type ToServerlessServer =
@@ -2119,3 +2182,8 @@ export function decodeToServerlessServer(bytes: Uint8Array): ToServerlessServer
2119
2182
  }
2120
2183
  return result
2121
2184
  }
2185
+
2186
+
2187
+ function assert(condition: boolean, message?: string): asserts condition {
2188
+ if (!condition) throw new Error(message ?? "Assertion failed")
2189
+ }