@rikalabs/akter 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +8 -0
  4. package/README.md +116 -0
  5. package/dist/actor/codecs.d.ts +77 -0
  6. package/dist/actor/codecs.js +87 -0
  7. package/dist/actor/connections.d.ts +34 -0
  8. package/dist/actor/connections.js +145 -0
  9. package/dist/actor/definition.d.ts +893 -0
  10. package/dist/actor/definition.js +147 -0
  11. package/dist/actor/descriptor.d.ts +172 -0
  12. package/dist/actor/descriptor.js +367 -0
  13. package/dist/actor/handles.d.ts +77 -0
  14. package/dist/actor/handles.js +265 -0
  15. package/dist/actor/jobs.d.ts +10 -0
  16. package/dist/actor/jobs.js +137 -0
  17. package/dist/actor/layers.d.ts +41 -0
  18. package/dist/actor/layers.js +177 -0
  19. package/dist/actor/reads.d.ts +47 -0
  20. package/dist/actor/reads.js +224 -0
  21. package/dist/actor/served.d.ts +120 -0
  22. package/dist/actor/served.js +72 -0
  23. package/dist/actor/turns.d.ts +13 -0
  24. package/dist/actor/turns.js +332 -0
  25. package/dist/actor/workflows.d.ts +16 -0
  26. package/dist/actor/workflows.js +37 -0
  27. package/dist/client/calls.d.ts +47 -0
  28. package/dist/client/calls.js +425 -0
  29. package/dist/client/clock.d.ts +56 -0
  30. package/dist/client/clock.js +119 -0
  31. package/dist/client/fleet-page.d.ts +15 -0
  32. package/dist/client/fleet-page.js +13 -0
  33. package/dist/client/fleet.d.ts +29 -0
  34. package/dist/client/fleet.js +51 -0
  35. package/dist/client/index.d.ts +17 -0
  36. package/dist/client/index.js +6 -0
  37. package/dist/client/make.d.ts +157 -0
  38. package/dist/client/make.js +221 -0
  39. package/dist/client/offline/queue.d.ts +118 -0
  40. package/dist/client/offline/queue.js +292 -0
  41. package/dist/client/offline/store.d.ts +74 -0
  42. package/dist/client/offline/store.js +78 -0
  43. package/dist/client/optimistic.d.ts +57 -0
  44. package/dist/client/optimistic.js +136 -0
  45. package/dist/client/report.d.ts +2 -0
  46. package/dist/client/report.js +8 -0
  47. package/dist/client/sessions/connection.d.ts +118 -0
  48. package/dist/client/sessions/connection.js +162 -0
  49. package/dist/client/sessions/feed.d.ts +42 -0
  50. package/dist/client/sessions/feed.js +43 -0
  51. package/dist/client/sessions/sse.d.ts +47 -0
  52. package/dist/client/sessions/sse.js +112 -0
  53. package/dist/client/sessions/stream.d.ts +28 -0
  54. package/dist/client/sessions/stream.js +35 -0
  55. package/dist/client/sessions/watch.d.ts +34 -0
  56. package/dist/client/sessions/watch.js +40 -0
  57. package/dist/client/transport.d.ts +37 -0
  58. package/dist/client/transport.js +66 -0
  59. package/dist/contexts/command.d.ts +132 -0
  60. package/dist/contexts/command.js +20 -0
  61. package/dist/contexts/connection.d.ts +68 -0
  62. package/dist/contexts/connection.js +0 -0
  63. package/dist/contexts/job.d.ts +49 -0
  64. package/dist/contexts/job.js +0 -0
  65. package/dist/contexts/workflow.d.ts +147 -0
  66. package/dist/contexts/workflow.js +22 -0
  67. package/dist/errors/actor.d.ts +200 -0
  68. package/dist/errors/actor.js +271 -0
  69. package/dist/errors/content.d.ts +19 -0
  70. package/dist/errors/content.js +14 -0
  71. package/dist/errors/database.d.ts +22 -0
  72. package/dist/errors/database.js +23 -0
  73. package/dist/errors/events.d.ts +17 -0
  74. package/dist/errors/events.js +14 -0
  75. package/dist/errors/subscription.d.ts +12 -0
  76. package/dist/errors/subscription.js +8 -0
  77. package/dist/errors/workflow.d.ts +28 -0
  78. package/dist/errors/workflow.js +17 -0
  79. package/dist/handles/actors.d.ts +17 -0
  80. package/dist/handles/actors.js +7 -0
  81. package/dist/handles/content.d.ts +59 -0
  82. package/dist/handles/content.js +36 -0
  83. package/dist/handles/intents.d.ts +164 -0
  84. package/dist/handles/intents.js +214 -0
  85. package/dist/handles/run.d.ts +31 -0
  86. package/dist/handles/run.js +21 -0
  87. package/dist/handles/workflow.d.ts +27 -0
  88. package/dist/handles/workflow.js +23 -0
  89. package/dist/identity/caller.d.ts +105 -0
  90. package/dist/identity/caller.js +68 -0
  91. package/dist/identity/child.d.ts +18 -0
  92. package/dist/identity/child.js +39 -0
  93. package/dist/identity/command.d.ts +19 -0
  94. package/dist/identity/command.js +21 -0
  95. package/dist/identity/connection.d.ts +24 -0
  96. package/dist/identity/connection.js +29 -0
  97. package/dist/identity/content.d.ts +18 -0
  98. package/dist/identity/content.js +12 -0
  99. package/dist/identity/digest.d.ts +4 -0
  100. package/dist/identity/digest.js +5 -0
  101. package/dist/identity/execution.d.ts +32 -0
  102. package/dist/identity/execution.js +63 -0
  103. package/dist/identity/mint.d.ts +51 -0
  104. package/dist/identity/mint.js +76 -0
  105. package/dist/identity/version.d.ts +2 -0
  106. package/dist/identity/version.js +3 -0
  107. package/dist/index.d.ts +159 -0
  108. package/dist/index.js +97 -0
  109. package/dist/members/blob.d.ts +43 -0
  110. package/dist/members/blob.js +29 -0
  111. package/dist/members/command.d.ts +109 -0
  112. package/dist/members/command.js +61 -0
  113. package/dist/members/connection.d.ts +55 -0
  114. package/dist/members/connection.js +49 -0
  115. package/dist/members/event.d.ts +36 -0
  116. package/dist/members/event.js +24 -0
  117. package/dist/members/job.d.ts +157 -0
  118. package/dist/members/job.js +67 -0
  119. package/dist/members/payload.d.ts +93 -0
  120. package/dist/members/payload.js +145 -0
  121. package/dist/members/reducer.d.ts +64 -0
  122. package/dist/members/reducer.js +27 -0
  123. package/dist/members/stream.d.ts +36 -0
  124. package/dist/members/stream.js +14 -0
  125. package/dist/members/subscription.d.ts +182 -0
  126. package/dist/members/subscription.js +91 -0
  127. package/dist/members/workflow.d.ts +99 -0
  128. package/dist/members/workflow.js +2 -0
  129. package/dist/policies/access.d.ts +35 -0
  130. package/dist/policies/access.js +6 -0
  131. package/dist/policies/command.d.ts +127 -0
  132. package/dist/policies/command.js +45 -0
  133. package/dist/policies/job.d.ts +28 -0
  134. package/dist/policies/job.js +60 -0
  135. package/dist/policies/schedules.d.ts +33 -0
  136. package/dist/policies/schedules.js +131 -0
  137. package/dist/protocol/frames.d.ts +66 -0
  138. package/dist/protocol/frames.js +55 -0
  139. package/dist/protocol/inspection.d.ts +807 -0
  140. package/dist/protocol/inspection.js +243 -0
  141. package/dist/protocol/wire.d.ts +184 -0
  142. package/dist/protocol/wire.js +150 -0
  143. package/dist/runtime/actors.d.ts +155 -0
  144. package/dist/runtime/actors.js +4 -0
  145. package/dist/runtime/admission.d.ts +34 -0
  146. package/dist/runtime/admission.js +72 -0
  147. package/dist/runtime/adoption/backfill.d.ts +27 -0
  148. package/dist/runtime/adoption/backfill.js +144 -0
  149. package/dist/runtime/adoption/enforce.d.ts +55 -0
  150. package/dist/runtime/adoption/enforce.js +241 -0
  151. package/dist/runtime/adoption/observe.d.ts +43 -0
  152. package/dist/runtime/adoption/observe.js +139 -0
  153. package/dist/runtime/adoption/plan.d.ts +45 -0
  154. package/dist/runtime/adoption/plan.js +192 -0
  155. package/dist/runtime/adoption/startup.d.ts +32 -0
  156. package/dist/runtime/adoption/startup.js +76 -0
  157. package/dist/runtime/adoption/status.d.ts +23 -0
  158. package/dist/runtime/adoption/status.js +47 -0
  159. package/dist/runtime/adoption/target.d.ts +33 -0
  160. package/dist/runtime/adoption/target.js +49 -0
  161. package/dist/runtime/connections/holder.d.ts +221 -0
  162. package/dist/runtime/connections/holder.js +816 -0
  163. package/dist/runtime/connections/owner.d.ts +263 -0
  164. package/dist/runtime/connections/owner.js +896 -0
  165. package/dist/runtime/connections/protocol.d.ts +441 -0
  166. package/dist/runtime/connections/protocol.js +222 -0
  167. package/dist/runtime/connections/reads.d.ts +24 -0
  168. package/dist/runtime/connections/reads.js +19 -0
  169. package/dist/runtime/connections/streams.d.ts +62 -0
  170. package/dist/runtime/connections/streams.js +128 -0
  171. package/dist/runtime/connections/transport.d.ts +40 -0
  172. package/dist/runtime/connections/transport.js +68 -0
  173. package/dist/runtime/connections/watch.d.ts +52 -0
  174. package/dist/runtime/connections/watch.js +159 -0
  175. package/dist/runtime/content/grant.d.ts +34 -0
  176. package/dist/runtime/content/grant.js +58 -0
  177. package/dist/runtime/content/store.d.ts +63 -0
  178. package/dist/runtime/content/store.js +294 -0
  179. package/dist/runtime/cron/key.d.ts +2 -0
  180. package/dist/runtime/cron/key.js +2 -0
  181. package/dist/runtime/cron/schedule.d.ts +69 -0
  182. package/dist/runtime/cron/schedule.js +144 -0
  183. package/dist/runtime/database/bounded.d.ts +43 -0
  184. package/dist/runtime/database/bounded.js +108 -0
  185. package/dist/runtime/database/connection.d.ts +8 -0
  186. package/dist/runtime/database/connection.js +18 -0
  187. package/dist/runtime/database/coordination.d.ts +19 -0
  188. package/dist/runtime/database/coordination.js +72 -0
  189. package/dist/runtime/database/flock.d.ts +10 -0
  190. package/dist/runtime/database/flock.js +60 -0
  191. package/dist/runtime/database/gate.d.ts +26 -0
  192. package/dist/runtime/database/gate.js +54 -0
  193. package/dist/runtime/database/keepalive.d.ts +11 -0
  194. package/dist/runtime/database/keepalive.js +22 -0
  195. package/dist/runtime/database/migrations.d.ts +177 -0
  196. package/dist/runtime/database/migrations.js +1018 -0
  197. package/dist/runtime/database/neki/migrations.d.ts +31 -0
  198. package/dist/runtime/database/neki/migrations.js +276 -0
  199. package/dist/runtime/database/neki/session.d.ts +23 -0
  200. package/dist/runtime/database/neki/session.js +31 -0
  201. package/dist/runtime/database/pglite.d.ts +21 -0
  202. package/dist/runtime/database/pglite.js +74 -0
  203. package/dist/runtime/database/replica.d.ts +41 -0
  204. package/dist/runtime/database/replica.js +51 -0
  205. package/dist/runtime/database/shards.d.ts +21 -0
  206. package/dist/runtime/database/shards.js +37 -0
  207. package/dist/runtime/database/snapshot.d.ts +7 -0
  208. package/dist/runtime/database/snapshot.js +7 -0
  209. package/dist/runtime/database/tenancy.d.ts +69 -0
  210. package/dist/runtime/database/tenancy.js +145 -0
  211. package/dist/runtime/database/transient.d.ts +10 -0
  212. package/dist/runtime/database/transient.js +25 -0
  213. package/dist/runtime/drain.d.ts +132 -0
  214. package/dist/runtime/drain.js +109 -0
  215. package/dist/runtime/entity/mailbox.d.ts +86 -0
  216. package/dist/runtime/entity/mailbox.js +121 -0
  217. package/dist/runtime/entity/register.d.ts +424 -0
  218. package/dist/runtime/entity/register.js +669 -0
  219. package/dist/runtime/events/append.d.ts +192 -0
  220. package/dist/runtime/events/append.js +128 -0
  221. package/dist/runtime/events/cursor.d.ts +2 -0
  222. package/dist/runtime/events/cursor.js +5 -0
  223. package/dist/runtime/events/replay.d.ts +20 -0
  224. package/dist/runtime/events/replay.js +45 -0
  225. package/dist/runtime/feeds.d.ts +26 -0
  226. package/dist/runtime/feeds.js +100 -0
  227. package/dist/runtime/fleet/checks.d.ts +17 -0
  228. package/dist/runtime/fleet/checks.js +106 -0
  229. package/dist/runtime/fleet/maintainer.d.ts +38 -0
  230. package/dist/runtime/fleet/maintainer.js +383 -0
  231. package/dist/runtime/fleet/pgoutput.d.ts +41 -0
  232. package/dist/runtime/fleet/pgoutput.js +102 -0
  233. package/dist/runtime/fleet/setup.d.ts +36 -0
  234. package/dist/runtime/fleet/setup.js +58 -0
  235. package/dist/runtime/fleet/subscribe.d.ts +42 -0
  236. package/dist/runtime/fleet/subscribe.js +147 -0
  237. package/dist/runtime/index.d.ts +66 -0
  238. package/dist/runtime/index.js +37 -0
  239. package/dist/runtime/inspector/http.d.ts +19 -0
  240. package/dist/runtime/inspector/http.js +36 -0
  241. package/dist/runtime/inspector/layer.d.ts +46 -0
  242. package/dist/runtime/inspector/layer.js +180 -0
  243. package/dist/runtime/inspector/queries.d.ts +711 -0
  244. package/dist/runtime/inspector/queries.js +494 -0
  245. package/dist/runtime/jobs/attempt.d.ts +254 -0
  246. package/dist/runtime/jobs/attempt.js +413 -0
  247. package/dist/runtime/jobs/isolation.d.ts +20 -0
  248. package/dist/runtime/jobs/isolation.js +10 -0
  249. package/dist/runtime/jobs/progress.d.ts +95 -0
  250. package/dist/runtime/jobs/progress.js +144 -0
  251. package/dist/runtime/layer.d.ts +260 -0
  252. package/dist/runtime/layer.js +876 -0
  253. package/dist/runtime/members.d.ts +381 -0
  254. package/dist/runtime/members.js +8 -0
  255. package/dist/runtime/operators/audit.d.ts +64 -0
  256. package/dist/runtime/operators/audit.js +56 -0
  257. package/dist/runtime/operators/auth.d.ts +29 -0
  258. package/dist/runtime/operators/auth.js +42 -0
  259. package/dist/runtime/operators/export.d.ts +68 -0
  260. package/dist/runtime/operators/export.js +137 -0
  261. package/dist/runtime/operators/grants.d.ts +45 -0
  262. package/dist/runtime/operators/grants.js +40 -0
  263. package/dist/runtime/operators/repair.d.ts +206 -0
  264. package/dist/runtime/operators/repair.js +226 -0
  265. package/dist/runtime/operators/routes.d.ts +35 -0
  266. package/dist/runtime/operators/routes.js +190 -0
  267. package/dist/runtime/operators/seed.d.ts +123 -0
  268. package/dist/runtime/operators/seed.js +123 -0
  269. package/dist/runtime/payloads/versions.d.ts +65 -0
  270. package/dist/runtime/payloads/versions.js +240 -0
  271. package/dist/runtime/peering/authority.d.ts +42 -0
  272. package/dist/runtime/peering/authority.js +132 -0
  273. package/dist/runtime/peering/credentials.d.ts +21 -0
  274. package/dist/runtime/peering/credentials.js +13 -0
  275. package/dist/runtime/peering/transport.d.ts +51 -0
  276. package/dist/runtime/peering/transport.js +175 -0
  277. package/dist/runtime/queries.d.ts +18 -0
  278. package/dist/runtime/queries.js +169 -0
  279. package/dist/runtime/readiness.d.ts +36 -0
  280. package/dist/runtime/readiness.js +44 -0
  281. package/dist/runtime/registration.d.ts +58 -0
  282. package/dist/runtime/registration.js +186 -0
  283. package/dist/runtime/request.d.ts +158 -0
  284. package/dist/runtime/request.js +102 -0
  285. package/dist/runtime/retry.d.ts +8 -0
  286. package/dist/runtime/retry.js +11 -0
  287. package/dist/runtime/runner.d.ts +93 -0
  288. package/dist/runtime/runner.js +122 -0
  289. package/dist/runtime/storage/codec.d.ts +39 -0
  290. package/dist/runtime/storage/codec.js +41 -0
  291. package/dist/runtime/storage/generation.d.ts +69 -0
  292. package/dist/runtime/storage/generation.js +49 -0
  293. package/dist/runtime/storage/placements.d.ts +15 -0
  294. package/dist/runtime/storage/placements.js +38 -0
  295. package/dist/runtime/storage/platform.d.ts +6 -0
  296. package/dist/runtime/storage/platform.js +9 -0
  297. package/dist/runtime/storage/retention.d.ts +73 -0
  298. package/dist/runtime/storage/retention.js +158 -0
  299. package/dist/runtime/subscriptions/identity.d.ts +31 -0
  300. package/dist/runtime/subscriptions/identity.js +45 -0
  301. package/dist/runtime/subscriptions/relay.d.ts +175 -0
  302. package/dist/runtime/subscriptions/relay.js +763 -0
  303. package/dist/runtime/subscriptions/storage.d.ts +40 -0
  304. package/dist/runtime/subscriptions/storage.js +98 -0
  305. package/dist/runtime/sweeps.d.ts +39 -0
  306. package/dist/runtime/sweeps.js +54 -0
  307. package/dist/runtime/telemetry/defects.d.ts +57 -0
  308. package/dist/runtime/telemetry/defects.js +43 -0
  309. package/dist/runtime/telemetry/metrics.d.ts +52 -0
  310. package/dist/runtime/telemetry/metrics.js +138 -0
  311. package/dist/runtime/telemetry/routes.d.ts +19 -0
  312. package/dist/runtime/telemetry/routes.js +18 -0
  313. package/dist/runtime/telemetry/sampler.d.ts +26 -0
  314. package/dist/runtime/telemetry/sampler.js +101 -0
  315. package/dist/runtime/telemetry/spans.d.ts +38 -0
  316. package/dist/runtime/telemetry/spans.js +44 -0
  317. package/dist/runtime/telemetry/usage.d.ts +52 -0
  318. package/dist/runtime/telemetry/usage.js +30 -0
  319. package/dist/runtime/topology/admission.d.ts +13 -0
  320. package/dist/runtime/topology/admission.js +36 -0
  321. package/dist/runtime/topology/locks.d.ts +56 -0
  322. package/dist/runtime/topology/locks.js +81 -0
  323. package/dist/runtime/topology/messages.d.ts +15 -0
  324. package/dist/runtime/topology/messages.js +32 -0
  325. package/dist/runtime/turn/admission.d.ts +22 -0
  326. package/dist/runtime/turn/admission.js +41 -0
  327. package/dist/runtime/turn/blobs.d.ts +38 -0
  328. package/dist/runtime/turn/blobs.js +215 -0
  329. package/dist/runtime/turn/execute.d.ts +208 -0
  330. package/dist/runtime/turn/execute.js +972 -0
  331. package/dist/runtime/turn/group.d.ts +165 -0
  332. package/dist/runtime/turn/group.js +326 -0
  333. package/dist/runtime/turn/hooks.d.ts +44 -0
  334. package/dist/runtime/turn/hooks.js +28 -0
  335. package/dist/runtime/turn/outbox.d.ts +159 -0
  336. package/dist/runtime/turn/outbox.js +269 -0
  337. package/dist/runtime/turn/pipeline.d.ts +68 -0
  338. package/dist/runtime/turn/pipeline.js +83 -0
  339. package/dist/runtime/turn/receipt.d.ts +81 -0
  340. package/dist/runtime/turn/receipt.js +32 -0
  341. package/dist/runtime/turn/relay.d.ts +179 -0
  342. package/dist/runtime/turn/relay.js +685 -0
  343. package/dist/runtime/turn/rows.d.ts +43 -0
  344. package/dist/runtime/turn/rows.js +592 -0
  345. package/dist/runtime/workflows/compatibility.d.ts +125 -0
  346. package/dist/runtime/workflows/compatibility.js +285 -0
  347. package/dist/runtime/workflows/engine.d.ts +107 -0
  348. package/dist/runtime/workflows/engine.js +826 -0
  349. package/dist/runtime/workflows/manifest.d.ts +34 -0
  350. package/dist/runtime/workflows/manifest.js +39 -0
  351. package/dist/runtime/workflows/steps.d.ts +33 -0
  352. package/dist/runtime/workflows/steps.js +152 -0
  353. package/dist/serve/api.d.ts +99 -0
  354. package/dist/serve/api.js +403 -0
  355. package/dist/serve/assertion/binding.d.ts +41 -0
  356. package/dist/serve/assertion/binding.js +92 -0
  357. package/dist/serve/assertion/verify.d.ts +93 -0
  358. package/dist/serve/assertion/verify.js +189 -0
  359. package/dist/serve/auth.d.ts +200 -0
  360. package/dist/serve/auth.js +92 -0
  361. package/dist/serve/clock.d.ts +10 -0
  362. package/dist/serve/clock.js +25 -0
  363. package/dist/serve/jwt.d.ts +65 -0
  364. package/dist/serve/jwt.js +202 -0
  365. package/dist/serve/layer.d.ts +98 -0
  366. package/dist/serve/layer.js +809 -0
  367. package/dist/serve/mcp/endpoint.d.ts +39 -0
  368. package/dist/serve/mcp/endpoint.js +187 -0
  369. package/dist/serve/mcp/tools.d.ts +37 -0
  370. package/dist/serve/mcp/tools.js +125 -0
  371. package/dist/serve/origin.d.ts +6 -0
  372. package/dist/serve/origin.js +21 -0
  373. package/dist/serve/sessions/feed.d.ts +79 -0
  374. package/dist/serve/sessions/feed.js +115 -0
  375. package/dist/serve/sessions/socket.d.ts +56 -0
  376. package/dist/serve/sessions/socket.js +212 -0
  377. package/dist/serve/sessions/sse.d.ts +27 -0
  378. package/dist/serve/sessions/sse.js +26 -0
  379. package/dist/serve/sessions/stream.d.ts +9 -0
  380. package/dist/serve/sessions/stream.js +9 -0
  381. package/dist/serve/sessions/watch.d.ts +12 -0
  382. package/dist/serve/sessions/watch.js +11 -0
  383. package/dist/serve/wire.d.ts +16 -0
  384. package/dist/serve/wire.js +50 -0
  385. package/dist/state/blob.d.ts +71 -0
  386. package/dist/state/blob.js +0 -0
  387. package/dist/state/migration.d.ts +53 -0
  388. package/dist/state/migration.js +29 -0
  389. package/dist/tables/fleet.d.ts +170 -0
  390. package/dist/tables/fleet.js +214 -0
  391. package/dist/tables/owned.d.ts +250 -0
  392. package/dist/tables/owned.js +233 -0
  393. package/dist/testing/actor-test.d.ts +360 -0
  394. package/dist/testing/actor-test.js +337 -0
  395. package/dist/testing/cluster.d.ts +93 -0
  396. package/dist/testing/cluster.js +296 -0
  397. package/dist/testing/conformance/access.d.ts +5 -0
  398. package/dist/testing/conformance/access.js +531 -0
  399. package/dist/testing/conformance/admission.d.ts +11 -0
  400. package/dist/testing/conformance/admission.js +182 -0
  401. package/dist/testing/conformance/adoption.d.ts +2 -0
  402. package/dist/testing/conformance/adoption.js +1019 -0
  403. package/dist/testing/conformance/assertions.d.ts +202 -0
  404. package/dist/testing/conformance/assertions.js +849 -0
  405. package/dist/testing/conformance/batches.d.ts +41 -0
  406. package/dist/testing/conformance/batches.js +388 -0
  407. package/dist/testing/conformance/blobs.d.ts +14 -0
  408. package/dist/testing/conformance/blobs.js +405 -0
  409. package/dist/testing/conformance/capacity.d.ts +8 -0
  410. package/dist/testing/conformance/capacity.js +433 -0
  411. package/dist/testing/conformance/client.d.ts +5 -0
  412. package/dist/testing/conformance/client.js +719 -0
  413. package/dist/testing/conformance/cold-serve.d.ts +16 -0
  414. package/dist/testing/conformance/cold-serve.js +254 -0
  415. package/dist/testing/conformance/connections/actors.d.ts +1143 -0
  416. package/dist/testing/conformance/connections/actors.js +180 -0
  417. package/dist/testing/conformance/connections/harness.d.ts +1754 -0
  418. package/dist/testing/conformance/connections/harness.js +142 -0
  419. package/dist/testing/conformance/connections/holders.d.ts +4 -0
  420. package/dist/testing/conformance/connections/holders.js +165 -0
  421. package/dist/testing/conformance/connections/lifecycle.d.ts +4 -0
  422. package/dist/testing/conformance/connections/lifecycle.js +113 -0
  423. package/dist/testing/conformance/connections/limits.d.ts +4 -0
  424. package/dist/testing/conformance/connections/limits.js +127 -0
  425. package/dist/testing/conformance/connections/reauthorization.d.ts +4 -0
  426. package/dist/testing/conformance/connections/reauthorization.js +170 -0
  427. package/dist/testing/conformance/connections/resync.d.ts +4 -0
  428. package/dist/testing/conformance/connections/resync.js +360 -0
  429. package/dist/testing/conformance/connections/takeover.d.ts +4 -0
  430. package/dist/testing/conformance/connections/takeover.js +287 -0
  431. package/dist/testing/conformance/connections.d.ts +4 -0
  432. package/dist/testing/conformance/connections.js +15 -0
  433. package/dist/testing/conformance/content-blobs.d.ts +16 -0
  434. package/dist/testing/conformance/content-blobs.js +534 -0
  435. package/dist/testing/conformance/counter.d.ts +16 -0
  436. package/dist/testing/conformance/counter.js +813 -0
  437. package/dist/testing/conformance/cron.d.ts +5 -0
  438. package/dist/testing/conformance/cron.js +665 -0
  439. package/dist/testing/conformance/drain.d.ts +26 -0
  440. package/dist/testing/conformance/drain.js +540 -0
  441. package/dist/testing/conformance/effect-control.d.ts +38 -0
  442. package/dist/testing/conformance/effect-control.js +1059 -0
  443. package/dist/testing/conformance/effects.d.ts +23 -0
  444. package/dist/testing/conformance/effects.js +432 -0
  445. package/dist/testing/conformance/events.d.ts +28 -0
  446. package/dist/testing/conformance/events.js +335 -0
  447. package/dist/testing/conformance/export.d.ts +2 -0
  448. package/dist/testing/conformance/export.js +368 -0
  449. package/dist/testing/conformance/fleet.d.ts +444 -0
  450. package/dist/testing/conformance/fleet.js +1009 -0
  451. package/dist/testing/conformance/groups.d.ts +7 -0
  452. package/dist/testing/conformance/groups.js +353 -0
  453. package/dist/testing/conformance/heap.d.ts +3 -0
  454. package/dist/testing/conformance/heap.js +149 -0
  455. package/dist/testing/conformance/http.d.ts +2809 -0
  456. package/dist/testing/conformance/http.js +1234 -0
  457. package/dist/testing/conformance/inspection-views.d.ts +8 -0
  458. package/dist/testing/conformance/inspection-views.js +272 -0
  459. package/dist/testing/conformance/inspector.d.ts +7 -0
  460. package/dist/testing/conformance/inspector.js +650 -0
  461. package/dist/testing/conformance/mint.d.ts +58 -0
  462. package/dist/testing/conformance/mint.js +692 -0
  463. package/dist/testing/conformance/multi-runner.d.ts +8 -0
  464. package/dist/testing/conformance/multi-runner.js +403 -0
  465. package/dist/testing/conformance/neki/plan.d.ts +19 -0
  466. package/dist/testing/conformance/neki/plan.js +30 -0
  467. package/dist/testing/conformance/observability.d.ts +3 -0
  468. package/dist/testing/conformance/observability.js +343 -0
  469. package/dist/testing/conformance/offline.d.ts +4 -0
  470. package/dist/testing/conformance/offline.js +474 -0
  471. package/dist/testing/conformance/operator-harness.d.ts +57 -0
  472. package/dist/testing/conformance/operator-harness.js +78 -0
  473. package/dist/testing/conformance/operator.d.ts +3 -0
  474. package/dist/testing/conformance/operator.js +379 -0
  475. package/dist/testing/conformance/outbox-cross-shard.d.ts +14 -0
  476. package/dist/testing/conformance/outbox-cross-shard.js +160 -0
  477. package/dist/testing/conformance/outbox.d.ts +36 -0
  478. package/dist/testing/conformance/outbox.js +437 -0
  479. package/dist/testing/conformance/payload-migrations.d.ts +3 -0
  480. package/dist/testing/conformance/payload-migrations.js +612 -0
  481. package/dist/testing/conformance/pipeline.d.ts +3 -0
  482. package/dist/testing/conformance/pipeline.js +1040 -0
  483. package/dist/testing/conformance/placement.d.ts +22 -0
  484. package/dist/testing/conformance/placement.js +539 -0
  485. package/dist/testing/conformance/platform.d.ts +40 -0
  486. package/dist/testing/conformance/platform.js +101 -0
  487. package/dist/testing/conformance/progress.d.ts +39 -0
  488. package/dist/testing/conformance/progress.js +666 -0
  489. package/dist/testing/conformance/properties.d.ts +6 -0
  490. package/dist/testing/conformance/properties.js +295 -0
  491. package/dist/testing/conformance/protocols.d.ts +4 -0
  492. package/dist/testing/conformance/protocols.js +618 -0
  493. package/dist/testing/conformance/provider/advertise.d.ts +21 -0
  494. package/dist/testing/conformance/provider/advertise.js +44 -0
  495. package/dist/testing/conformance/read-your-writes.d.ts +20 -0
  496. package/dist/testing/conformance/read-your-writes.js +192 -0
  497. package/dist/testing/conformance/reducers.d.ts +8 -0
  498. package/dist/testing/conformance/reducers.js +258 -0
  499. package/dist/testing/conformance/relay.d.ts +42 -0
  500. package/dist/testing/conformance/relay.js +1115 -0
  501. package/dist/testing/conformance/restore.d.ts +43 -0
  502. package/dist/testing/conformance/restore.js +341 -0
  503. package/dist/testing/conformance/retention.d.ts +14 -0
  504. package/dist/testing/conformance/retention.js +463 -0
  505. package/dist/testing/conformance/rls.d.ts +24 -0
  506. package/dist/testing/conformance/rls.js +576 -0
  507. package/dist/testing/conformance/simulation.d.ts +31 -0
  508. package/dist/testing/conformance/simulation.js +167 -0
  509. package/dist/testing/conformance/single-shard.d.ts +2 -0
  510. package/dist/testing/conformance/single-shard.js +125 -0
  511. package/dist/testing/conformance/singleton.d.ts +3 -0
  512. package/dist/testing/conformance/singleton.js +293 -0
  513. package/dist/testing/conformance/statements.d.ts +60 -0
  514. package/dist/testing/conformance/statements.js +108 -0
  515. package/dist/testing/conformance/streams.d.ts +7 -0
  516. package/dist/testing/conformance/streams.js +280 -0
  517. package/dist/testing/conformance/subscriptions/access.d.ts +4 -0
  518. package/dist/testing/conformance/subscriptions/access.js +98 -0
  519. package/dist/testing/conformance/subscriptions/actors.d.ts +4910 -0
  520. package/dist/testing/conformance/subscriptions/actors.js +372 -0
  521. package/dist/testing/conformance/subscriptions/cluster.d.ts +4 -0
  522. package/dist/testing/conformance/subscriptions/cluster.js +89 -0
  523. package/dist/testing/conformance/subscriptions/delivery.d.ts +4 -0
  524. package/dist/testing/conformance/subscriptions/delivery.js +253 -0
  525. package/dist/testing/conformance/subscriptions/deploys.d.ts +4 -0
  526. package/dist/testing/conformance/subscriptions/deploys.js +162 -0
  527. package/dist/testing/conformance/subscriptions/epochs.d.ts +4 -0
  528. package/dist/testing/conformance/subscriptions/epochs.js +169 -0
  529. package/dist/testing/conformance/subscriptions/failures.d.ts +4 -0
  530. package/dist/testing/conformance/subscriptions/failures.js +108 -0
  531. package/dist/testing/conformance/subscriptions/feeds.d.ts +4 -0
  532. package/dist/testing/conformance/subscriptions/feeds.js +218 -0
  533. package/dist/testing/conformance/subscriptions/harness.d.ts +124 -0
  534. package/dist/testing/conformance/subscriptions/harness.js +143 -0
  535. package/dist/testing/conformance/subscriptions/operator.d.ts +4 -0
  536. package/dist/testing/conformance/subscriptions/operator.js +128 -0
  537. package/dist/testing/conformance/subscriptions/retention.d.ts +4 -0
  538. package/dist/testing/conformance/subscriptions/retention.js +288 -0
  539. package/dist/testing/conformance/subscriptions/routing.d.ts +4 -0
  540. package/dist/testing/conformance/subscriptions/routing.js +179 -0
  541. package/dist/testing/conformance/subscriptions.d.ts +4 -0
  542. package/dist/testing/conformance/subscriptions.js +19 -0
  543. package/dist/testing/conformance/tables.d.ts +125 -0
  544. package/dist/testing/conformance/tables.js +664 -0
  545. package/dist/testing/conformance/transports/actors.d.ts +1907 -0
  546. package/dist/testing/conformance/transports/actors.js +163 -0
  547. package/dist/testing/conformance/transports/client.d.ts +3 -0
  548. package/dist/testing/conformance/transports/client.js +237 -0
  549. package/dist/testing/conformance/transports/feeds.d.ts +3 -0
  550. package/dist/testing/conformance/transports/feeds.js +232 -0
  551. package/dist/testing/conformance/transports/harness.d.ts +93 -0
  552. package/dist/testing/conformance/transports/harness.js +84 -0
  553. package/dist/testing/conformance/transports/streams.d.ts +3 -0
  554. package/dist/testing/conformance/transports/streams.js +96 -0
  555. package/dist/testing/conformance/transports/websocket.d.ts +3 -0
  556. package/dist/testing/conformance/transports/websocket.js +384 -0
  557. package/dist/testing/conformance/transports/wire.d.ts +141 -0
  558. package/dist/testing/conformance/transports/wire.js +204 -0
  559. package/dist/testing/conformance/transports.d.ts +3 -0
  560. package/dist/testing/conformance/transports.js +11 -0
  561. package/dist/testing/conformance/watch.d.ts +59 -0
  562. package/dist/testing/conformance/watch.js +879 -0
  563. package/dist/testing/conformance/workflow-engine.d.ts +97 -0
  564. package/dist/testing/conformance/workflow-engine.js +253 -0
  565. package/dist/testing/conformance/workflow-versions.d.ts +3 -0
  566. package/dist/testing/conformance/workflow-versions.js +545 -0
  567. package/dist/testing/conformance/workflows/access.d.ts +4 -0
  568. package/dist/testing/conformance/workflows/access.js +147 -0
  569. package/dist/testing/conformance/workflows/actors.d.ts +2317 -0
  570. package/dist/testing/conformance/workflows/actors.js +305 -0
  571. package/dist/testing/conformance/workflows/basics.d.ts +4 -0
  572. package/dist/testing/conformance/workflows/basics.js +144 -0
  573. package/dist/testing/conformance/workflows/engine.d.ts +4 -0
  574. package/dist/testing/conformance/workflows/engine.js +80 -0
  575. package/dist/testing/conformance/workflows/guards.d.ts +4 -0
  576. package/dist/testing/conformance/workflows/guards.js +172 -0
  577. package/dist/testing/conformance/workflows/harness.d.ts +14 -0
  578. package/dist/testing/conformance/workflows/harness.js +44 -0
  579. package/dist/testing/conformance/workflows/recovery.d.ts +4 -0
  580. package/dist/testing/conformance/workflows/recovery.js +181 -0
  581. package/dist/testing/conformance/workflows/starts.d.ts +4 -0
  582. package/dist/testing/conformance/workflows/starts.js +57 -0
  583. package/dist/testing/conformance/workflows/suspension.d.ts +4 -0
  584. package/dist/testing/conformance/workflows/suspension.js +106 -0
  585. package/dist/testing/conformance/workflows/waits.d.ts +4 -0
  586. package/dist/testing/conformance/workflows/waits.js +284 -0
  587. package/dist/testing/conformance/workflows.d.ts +4 -0
  588. package/dist/testing/conformance/workflows.js +19 -0
  589. package/dist/testing/conformance.d.ts +330 -0
  590. package/dist/testing/conformance.js +364 -0
  591. package/dist/testing/database.d.ts +31 -0
  592. package/dist/testing/database.js +70 -0
  593. package/dist/testing/foundation.d.ts +41 -0
  594. package/dist/testing/foundation.js +517 -0
  595. package/dist/testing/index.d.ts +20 -0
  596. package/dist/testing/index.js +12 -0
  597. package/dist/testing/property.d.ts +40 -0
  598. package/dist/testing/property.js +95 -0
  599. package/dist/testing/simulate-cluster.d.ts +112 -0
  600. package/dist/testing/simulate-cluster.js +257 -0
  601. package/dist/testing/simulate.d.ts +90 -0
  602. package/dist/testing/simulate.js +127 -0
  603. package/package.json +1 -0
@@ -0,0 +1,243 @@
1
+ import { Schema } from "effect";
2
+ /** A stored value: its JSON, or the text when it could not be decoded. */
3
+ export const Decoded = Schema.Union([
4
+ Schema.Struct({ json: Schema.Json }),
5
+ Schema.Struct({ undecodable: Schema.String }),
6
+ ]);
7
+ const Stored = Schema.NullOr(Decoded);
8
+ const Millis = Schema.Finite;
9
+ const Identity = { actorType: Schema.String, actorId: Schema.String };
10
+ /**
11
+ * A tenant's view versions and row counts, and when its soonest pending timer
12
+ * is due in epoch milliseconds, null when it has none.
13
+ */
14
+ export const Overview = Schema.Struct({
15
+ tenant: Schema.String,
16
+ views: Schema.Array(Schema.Struct({ view: Schema.String, version: Schema.Finite })),
17
+ counts: Schema.Struct({
18
+ actors: Schema.Finite,
19
+ receipts: Schema.Finite,
20
+ events: Schema.Finite,
21
+ outbox: Schema.Finite,
22
+ timers: Schema.Finite,
23
+ jobs: Schema.Finite,
24
+ deadLetters: Schema.Finite,
25
+ workflows: Schema.Finite,
26
+ openWorkflows: Schema.Finite,
27
+ }),
28
+ nextTimerDueAtMs: Schema.NullOr(Millis),
29
+ });
30
+ /** One actor with its placement, generation and last event sequence. */
31
+ export const ActorRow = Schema.Struct({
32
+ ...Identity,
33
+ placement: Schema.NullOr(Schema.String),
34
+ generation: Schema.Finite,
35
+ created: Schema.Boolean,
36
+ lastEventSequence: Schema.Finite,
37
+ });
38
+ /** A page of actors; `next` is the identity to continue from, or null at the end. */
39
+ export const ActorsPage = Schema.Struct({
40
+ actors: Schema.Array(ActorRow),
41
+ next: Schema.NullOr(Schema.Struct(Identity)),
42
+ });
43
+ /** A staged intent with its target, attempts, last error and due time in epoch milliseconds. */
44
+ export const OutboxRow = Schema.Struct({
45
+ ...Identity,
46
+ intentId: Schema.String,
47
+ timerKey: Schema.NullOr(Schema.String),
48
+ targetType: Schema.String,
49
+ targetId: Schema.String,
50
+ command: Schema.String,
51
+ payload: Stored,
52
+ caller: Stored,
53
+ attempts: Schema.Finite,
54
+ lastError: Schema.NullOr(Schema.String),
55
+ dueAtMs: Millis,
56
+ });
57
+ /**
58
+ * A pending job with its attempts, last error, due time in epoch
59
+ * milliseconds and whether an earlier attempt's outcome is ambiguous.
60
+ */
61
+ export const JobRow = Schema.Struct({
62
+ ...Identity,
63
+ jobId: Schema.String,
64
+ job: Schema.String,
65
+ payload: Stored,
66
+ caller: Stored,
67
+ attempts: Schema.Finite,
68
+ lastError: Schema.NullOr(Schema.String),
69
+ ambiguous: Schema.Boolean,
70
+ dueAtMs: Millis,
71
+ });
72
+ /** A job that gave up, with its cause and the epoch millisecond it died. */
73
+ export const DeadLetterRow = Schema.Struct({
74
+ ...Identity,
75
+ jobId: Schema.String,
76
+ job: Schema.String,
77
+ payload: Stored,
78
+ attempts: Schema.Finite,
79
+ cause: Schema.String,
80
+ ambiguous: Schema.Boolean,
81
+ deadAtMs: Millis,
82
+ });
83
+ /** One attempt of one workflow step; times are epoch milliseconds. */
84
+ export const StepRow = Schema.Struct({
85
+ step: Schema.String,
86
+ attempt: Schema.Finite,
87
+ kind: Schema.String,
88
+ exit: Stored,
89
+ waitEvent: Schema.NullOr(Schema.String),
90
+ version: Schema.NullOr(Schema.Finite),
91
+ dueAtMs: Schema.NullOr(Millis),
92
+ startedAtMs: Millis,
93
+ settledAtMs: Schema.NullOr(Millis),
94
+ });
95
+ /** A workflow execution with its status, payload and result sizes in bytes, and steps. */
96
+ export const WorkflowRow = Schema.Struct({
97
+ ...Identity,
98
+ executionId: Schema.String,
99
+ workflow: Schema.String,
100
+ workflowKey: Schema.String,
101
+ manifestHash: Schema.String,
102
+ status: Schema.String,
103
+ interrupt: Schema.Boolean,
104
+ caller: Stored,
105
+ payload: Stored,
106
+ payloadBytes: Schema.Finite,
107
+ result: Stored,
108
+ resultBytes: Schema.NullOr(Schema.Finite),
109
+ startedAtMs: Millis,
110
+ finishedAtMs: Schema.NullOr(Millis),
111
+ steps: Schema.Array(StepRow),
112
+ });
113
+ /**
114
+ * A command receipt with its outcome, expiry in epoch milliseconds and the
115
+ * sequences of the events it emitted.
116
+ */
117
+ export const ReceiptRow = Schema.Struct({
118
+ commandId: Schema.String,
119
+ command: Schema.String,
120
+ callerKey: Stored,
121
+ outcomeTag: Schema.NullOr(Schema.String),
122
+ outcome: Stored,
123
+ expiresAtMs: Millis,
124
+ events: Schema.Array(Schema.Finite),
125
+ });
126
+ /** A stored event with its sequence, size in bytes and emission time in epoch milliseconds. */
127
+ export const EventRow = Schema.Struct({
128
+ sequence: Schema.Finite,
129
+ event: Schema.String,
130
+ commandId: Schema.NullOr(Schema.String),
131
+ value: Stored,
132
+ bytes: Schema.Finite,
133
+ emittedAtMs: Millis,
134
+ });
135
+ /**
136
+ * One actor with its state entries, recent rows of every kind, and the totals
137
+ * they were cut from.
138
+ */
139
+ export const ActorDetail = Schema.Struct({
140
+ actor: ActorRow,
141
+ state: Schema.Array(Schema.Struct({ key: Schema.String, bytes: Schema.Finite, value: Stored })),
142
+ receipts: Schema.Array(ReceiptRow),
143
+ events: Schema.Array(EventRow),
144
+ outbox: Schema.Array(OutboxRow),
145
+ jobs: Schema.Array(JobRow),
146
+ deadLetters: Schema.Array(DeadLetterRow),
147
+ workflows: Schema.Array(WorkflowRow),
148
+ totals: Schema.Struct({
149
+ receipts: Schema.Finite,
150
+ events: Schema.Finite,
151
+ outbox: Schema.Finite,
152
+ jobs: Schema.Finite,
153
+ deadLetters: Schema.Finite,
154
+ workflows: Schema.Finite,
155
+ }),
156
+ });
157
+ /** Without `receipts.read`, an operator sees that a command ran but not what it returned. */
158
+ export const OperatorActorDetail = ActorDetail.mapFields((fields) => ({
159
+ ...fields,
160
+ receipts: Schema.Array(ReceiptRow.mapFields(({ outcome, ...receipt }) => ({
161
+ ...receipt,
162
+ outcome: Schema.optionalKey(outcome),
163
+ }))),
164
+ }));
165
+ /** A tenant-wide page of outbox rows. */
166
+ export const OutboxPage = Schema.Struct({ outbox: Schema.Array(OutboxRow) });
167
+ /** A tenant-wide page of job rows. */
168
+ export const JobsPage = Schema.Struct({ jobs: Schema.Array(JobRow) });
169
+ /** A tenant-wide page of dead letters; `next` is the dead letter to continue after, or null at the end. */
170
+ export const DeadLettersPage = Schema.Struct({
171
+ deadLetters: Schema.Array(DeadLetterRow),
172
+ next: Schema.NullOr(Schema.Struct({ deadAtMs: Millis, jobId: Schema.String })),
173
+ });
174
+ /** A tenant-wide page of workflows; `next` is the execution to continue after, or null at the end. */
175
+ export const WorkflowsPage = Schema.Struct({
176
+ workflows: Schema.Array(WorkflowRow),
177
+ next: Schema.NullOr(Schema.Struct({ startedAtMs: Millis, executionId: Schema.String })),
178
+ });
179
+ /** How many of the tenant's actors have one type. */
180
+ export const ActorTypeRow = Schema.Struct({ actorType: Schema.String, actors: Schema.Finite });
181
+ /** A page of actor types by name; `next` is the type to continue after, or null at the end. */
182
+ export const ActorTypesPage = Schema.Struct({
183
+ actorTypes: Schema.Array(ActorTypeRow),
184
+ next: Schema.NullOr(Schema.String),
185
+ });
186
+ /** A receipt with the actor that holds it. */
187
+ export const ActorReceiptRow = Schema.Struct({ ...Identity, ...ReceiptRow.fields });
188
+ /**
189
+ * A page of receipts, the latest expiry first; `next` is the receipt to
190
+ * continue after, or null at the end.
191
+ */
192
+ export const ReceiptsPage = Schema.Struct({
193
+ receipts: Schema.Array(ActorReceiptRow),
194
+ next: Schema.NullOr(Schema.Struct({ ...Identity, expiresAtMs: Millis, commandId: Schema.String })),
195
+ });
196
+ /** The newest retained event of one name, with its sequence and emission time in epoch milliseconds. */
197
+ export const LatestEventRow = Schema.Struct({
198
+ event: Schema.String,
199
+ sequence: Schema.Finite,
200
+ emittedAtMs: Millis,
201
+ });
202
+ /** A page of an actor's event names; `next` is the name to continue after, or null at the end. */
203
+ export const LatestEventsPage = Schema.Struct({
204
+ events: Schema.Array(LatestEventRow),
205
+ next: Schema.NullOr(Schema.String),
206
+ });
207
+ /**
208
+ * One entry of an actor's timeline: an event at its emission time, or the
209
+ * command whose turn emitted events, at that turn's emission time and its
210
+ * first event's sequence. `callerKey` is the caller of the command's retained
211
+ * receipt, null once the receipt has expired.
212
+ */
213
+ export const TimelineRow = Schema.Struct({
214
+ kind: Schema.Literals(["command", "event"]),
215
+ sequence: Schema.Finite,
216
+ name: Schema.String,
217
+ commandId: Schema.String,
218
+ callerKey: Stored,
219
+ atMs: Millis,
220
+ });
221
+ /**
222
+ * A page of an actor's timeline, newest first, each command after the events
223
+ * its turn emitted; `next` is the entry to continue after, or null at the end.
224
+ */
225
+ export const TimelinePage = Schema.Struct({
226
+ entries: Schema.Array(TimelineRow),
227
+ next: Schema.NullOr(Schema.Struct({ sequence: Schema.Finite, kind: Schema.Literals(["command", "event"]) })),
228
+ });
229
+ /**
230
+ * The tenant's pending jobs of one name, split by whether an attempt has
231
+ * failed yet, and its dead letters of that name.
232
+ */
233
+ export const JobTypeRow = Schema.Struct({
234
+ job: Schema.String,
235
+ queued: Schema.Finite,
236
+ retrying: Schema.Finite,
237
+ deadLetters: Schema.Finite,
238
+ });
239
+ /** A page of job names; `next` is the name to continue after, or null at the end. */
240
+ export const JobTypesPage = Schema.Struct({
241
+ jobTypes: Schema.Array(JobTypeRow),
242
+ next: Schema.NullOr(Schema.String),
243
+ });
@@ -0,0 +1,184 @@
1
+ import { Effect, Option, Schema } from "effect";
2
+ import { ActorError, Reason } from "../errors/actor.ts";
3
+ /** The served protocol's major version, sent and checked as `durable-protocol`. */
4
+ export declare const PROTOCOL = 1;
5
+ declare const reasonSchemas: {
6
+ readonly CommandConflict: Schema.TaggedStruct<"CommandConflict", {
7
+ readonly _tag: Schema.tag<"CommandConflict">;
8
+ readonly commandId: Schema.String;
9
+ }>;
10
+ readonly CommandExpired: Schema.TaggedStruct<"CommandExpired", {
11
+ readonly _tag: Schema.tag<"CommandExpired">;
12
+ readonly commandId: Schema.String;
13
+ }>;
14
+ readonly InvalidCommandId: Schema.TaggedStruct<"InvalidCommandId", {
15
+ readonly commandId: Schema.String;
16
+ readonly code: Schema.Literals<readonly ["malformed", "future", "window", "version"]>;
17
+ }>;
18
+ readonly Unauthorized: Schema.TaggedStruct<"Unauthorized", {
19
+ readonly _tag: Schema.tag<"Unauthorized">;
20
+ readonly code: Schema.Literals<readonly ["access_denied", "receipt_access_denied", "reauthorization_unavailable", "missing_credentials", "invalid_credentials", "expired"]>;
21
+ }>;
22
+ readonly ActorUnavailable: Schema.TaggedStruct<"ActorUnavailable", {}>;
23
+ readonly Timeout: Schema.TaggedStruct<"Timeout", {
24
+ readonly _tag: Schema.tag<"Timeout">;
25
+ readonly commandId: Schema.optionalKey<Schema.String>;
26
+ }>;
27
+ readonly NotCreated: Schema.TaggedStruct<"NotCreated", {}>;
28
+ readonly MailboxFull: Schema.TaggedStruct<"MailboxFull", {}>;
29
+ readonly RunnerAtCapacity: Schema.TaggedStruct<"RunnerAtCapacity", {}>;
30
+ readonly QuotaExceeded: Schema.TaggedStruct<"QuotaExceeded", {
31
+ readonly _tag: Schema.tag<"QuotaExceeded">;
32
+ readonly organizationId: Schema.String;
33
+ readonly period: Schema.String;
34
+ readonly limitUnits: Schema.Finite;
35
+ readonly usedUnits: Schema.Finite;
36
+ readonly requestedUnits: Schema.Finite;
37
+ readonly unitsPerCommand: Schema.Int;
38
+ readonly retryAfterMs: Schema.Finite;
39
+ }>;
40
+ readonly SpendLimitExceeded: Schema.TaggedStruct<"SpendLimitExceeded", {
41
+ readonly _tag: Schema.tag<"SpendLimitExceeded">;
42
+ readonly organizationId: Schema.String;
43
+ readonly period: Schema.String;
44
+ readonly limitCents: Schema.Finite;
45
+ readonly projectedCents: Schema.Finite;
46
+ }>;
47
+ readonly ConnectionLimitExceeded: Schema.TaggedStruct<"ConnectionLimitExceeded", {
48
+ readonly _tag: Schema.tag<"ConnectionLimitExceeded">;
49
+ readonly organizationId: Schema.String;
50
+ readonly kind: Schema.Literals<readonly ["socket", "sse"]>;
51
+ readonly limit: Schema.Finite;
52
+ readonly open: Schema.Finite;
53
+ }>;
54
+ readonly StorageQuotaExceeded: Schema.TaggedStruct<"StorageQuotaExceeded", {
55
+ readonly _tag: Schema.tag<"StorageQuotaExceeded">;
56
+ readonly organizationId: Schema.String;
57
+ readonly deployment: Schema.String;
58
+ readonly tenant: Schema.String;
59
+ readonly limitBytes: Schema.Finite;
60
+ readonly usedBytes: Schema.Finite;
61
+ }>;
62
+ readonly InvalidInput: Schema.TaggedStruct<"InvalidInput", {
63
+ readonly _tag: Schema.tag<"InvalidInput">;
64
+ readonly code: Schema.Literals<readonly ["decode", "missing_command_id", "too_large", "unsupported_media_type", "unsupported_protocol", "unknown_route", "unservable_id", "origin_not_allowed", "unknown_event", "too_many_filters", "unknown_content", "not_watchable"]>;
65
+ readonly issues: Schema.optionalKey<Schema.$Array<Schema.Struct<{
66
+ readonly path: Schema.String;
67
+ readonly message: Schema.String;
68
+ }>>>;
69
+ }>;
70
+ readonly SessionEnded: Schema.TaggedStruct<"SessionEnded", {
71
+ readonly _tag: Schema.tag<"SessionEnded">;
72
+ readonly cause: Schema.Literals<readonly ["ClientClosed", "ServerClosed", "SlowConsumer", "HolderShutdown", "HolderLost", "OwnerLost", "ActivationEnded", "ActorUnavailable", "Defect", "Terminated"]>;
73
+ readonly resync: Schema.Boolean;
74
+ readonly retryAfterMs: Schema.optional<Schema.Finite>;
75
+ }>;
76
+ };
77
+ /** The tag of a reason a served route can answer; `TransportError` is only ever a client's. */
78
+ export type WireTag = keyof typeof reasonSchemas;
79
+ /**
80
+ * An `ActorError` as a served response carries it: public reason fields plus
81
+ * the computed getters. `ActorUnavailable` carries no fields because its
82
+ * `cause` holds internal errors and never crosses the wire.
83
+ */
84
+ export declare const envelope: (route: {
85
+ readonly tags: ReadonlyArray<WireTag>;
86
+ readonly identifier: string;
87
+ }) => Schema.Struct<{
88
+ readonly _tag: Schema.tag<"ActorError">;
89
+ readonly reason: Schema.Union<(Schema.TaggedStruct<"ActorUnavailable", {}> | Schema.TaggedStruct<"CommandConflict", {
90
+ readonly _tag: Schema.tag<"CommandConflict">;
91
+ readonly commandId: Schema.String;
92
+ }> | Schema.TaggedStruct<"CommandExpired", {
93
+ readonly _tag: Schema.tag<"CommandExpired">;
94
+ readonly commandId: Schema.String;
95
+ }> | Schema.TaggedStruct<"ConnectionLimitExceeded", {
96
+ readonly _tag: Schema.tag<"ConnectionLimitExceeded">;
97
+ readonly organizationId: Schema.String;
98
+ readonly kind: Schema.Literals<readonly ["socket", "sse"]>;
99
+ readonly limit: Schema.Finite;
100
+ readonly open: Schema.Finite;
101
+ }> | Schema.TaggedStruct<"InvalidCommandId", {
102
+ readonly commandId: Schema.String;
103
+ readonly code: Schema.Literals<readonly ["malformed", "future", "window", "version"]>;
104
+ }> | Schema.TaggedStruct<"InvalidInput", {
105
+ readonly _tag: Schema.tag<"InvalidInput">;
106
+ readonly code: Schema.Literals<readonly ["decode", "missing_command_id", "too_large", "unsupported_media_type", "unsupported_protocol", "unknown_route", "unservable_id", "origin_not_allowed", "unknown_event", "too_many_filters", "unknown_content", "not_watchable"]>;
107
+ readonly issues: Schema.optionalKey<Schema.$Array<Schema.Struct<{
108
+ readonly path: Schema.String;
109
+ readonly message: Schema.String;
110
+ }>>>;
111
+ }> | Schema.TaggedStruct<"MailboxFull", {}> | Schema.TaggedStruct<"NotCreated", {}> | Schema.TaggedStruct<"QuotaExceeded", {
112
+ readonly _tag: Schema.tag<"QuotaExceeded">;
113
+ readonly organizationId: Schema.String;
114
+ readonly period: Schema.String;
115
+ readonly limitUnits: Schema.Finite;
116
+ readonly usedUnits: Schema.Finite;
117
+ readonly requestedUnits: Schema.Finite;
118
+ readonly unitsPerCommand: Schema.Int;
119
+ readonly retryAfterMs: Schema.Finite;
120
+ }> | Schema.TaggedStruct<"RunnerAtCapacity", {}> | Schema.TaggedStruct<"SessionEnded", {
121
+ readonly _tag: Schema.tag<"SessionEnded">;
122
+ readonly cause: Schema.Literals<readonly ["ClientClosed", "ServerClosed", "SlowConsumer", "HolderShutdown", "HolderLost", "OwnerLost", "ActivationEnded", "ActorUnavailable", "Defect", "Terminated"]>;
123
+ readonly resync: Schema.Boolean;
124
+ readonly retryAfterMs: Schema.optional<Schema.Finite>;
125
+ }> | Schema.TaggedStruct<"SpendLimitExceeded", {
126
+ readonly _tag: Schema.tag<"SpendLimitExceeded">;
127
+ readonly organizationId: Schema.String;
128
+ readonly period: Schema.String;
129
+ readonly limitCents: Schema.Finite;
130
+ readonly projectedCents: Schema.Finite;
131
+ }> | Schema.TaggedStruct<"StorageQuotaExceeded", {
132
+ readonly _tag: Schema.tag<"StorageQuotaExceeded">;
133
+ readonly organizationId: Schema.String;
134
+ readonly deployment: Schema.String;
135
+ readonly tenant: Schema.String;
136
+ readonly limitBytes: Schema.Finite;
137
+ readonly usedBytes: Schema.Finite;
138
+ }> | Schema.TaggedStruct<"Timeout", {
139
+ readonly _tag: Schema.tag<"Timeout">;
140
+ readonly commandId: Schema.optionalKey<Schema.String>;
141
+ }> | Schema.TaggedStruct<"Unauthorized", {
142
+ readonly _tag: Schema.tag<"Unauthorized">;
143
+ readonly code: Schema.Literals<readonly ["access_denied", "receipt_access_denied", "reauthorization_unavailable", "missing_credentials", "invalid_credentials", "expired"]>;
144
+ }>)[]>;
145
+ readonly isRetryable: Schema.Boolean;
146
+ readonly retryAfter: Schema.optionalKey<Schema.Finite>;
147
+ }>;
148
+ /** The body of a `500`: a defect reported by trace id only, never its message. */
149
+ export declare const Defect: Schema.Struct<{
150
+ readonly _tag: Schema.tag<"Defect">;
151
+ readonly traceId: Schema.String;
152
+ }>;
153
+ /**
154
+ * The HTTP status a reason is served with. `SessionEnded` maps to `410` but
155
+ * only connection sessions end this way; no served command or query returns it.
156
+ */
157
+ export declare const statusOf: (reason: Reason) => number;
158
+ /** The close code a WebSocket session ends with; the `end` message before it is authoritative. */
159
+ export declare const closeCodeOf: (reason: Reason) => number;
160
+ /** The JSON body an `ActorError` is served as, in HTTP bodies and in a session's `end`. */
161
+ export declare const actorErrorBody: (error: ActorError) => Effect.Effect<{
162
+ readonly _tag: "ActorError";
163
+ readonly reason: Schema.Json;
164
+ readonly isRetryable: boolean;
165
+ readonly retryAfter?: number | undefined;
166
+ }, never, never>;
167
+ /** The `retry-after` header of a delay: whole seconds, rounded up. */
168
+ export declare const retryAfterSeconds: (retryAfterMs: number) => string;
169
+ /**
170
+ * The `ActorError` a served body carries, or none for any other body. A
171
+ * reason this client doesn't know is none too, never a guess. The body's
172
+ * `retryAfter` is the server's already-jittered delay; `headerRetryAfterMs`,
173
+ * read from `retry-after`, stands in when the body has none.
174
+ */
175
+ export declare const actorErrorOf: ({ body, headerRetryAfterMs, }: {
176
+ readonly body: Schema.Json;
177
+ readonly headerRetryAfterMs: number | undefined;
178
+ }) => Option.Option<ActorError>;
179
+ /** Whether a served body is the opaque `Defect` of a `500`. */
180
+ export declare const isDefectBody: <I>(input: I) => input is I & {
181
+ readonly _tag: "Defect";
182
+ readonly traceId: string;
183
+ };
184
+ export {};
@@ -0,0 +1,150 @@
1
+ import { Effect, Match, Option, Schema } from "effect";
2
+ import { ActorError, ActorUnavailable, CommandConflict, CommandExpired, ConnectionLimitExceeded, InvalidCommandId, InvalidInput, Reason, QuotaExceeded, SessionEnded, SpendLimitExceeded, StorageQuotaExceeded, Timeout, Unauthorized, withRetryAfter, } from "../errors/actor.js";
3
+ /** The served protocol's major version, sent and checked as `durable-protocol`. */
4
+ export const PROTOCOL = 1;
5
+ const reasonSchemas = {
6
+ CommandConflict: Schema.TaggedStruct("CommandConflict", CommandConflict.fields),
7
+ CommandExpired: Schema.TaggedStruct("CommandExpired", CommandExpired.fields),
8
+ InvalidCommandId: Schema.TaggedStruct("InvalidCommandId", {
9
+ commandId: InvalidCommandId.fields.commandId,
10
+ code: InvalidCommandId.fields.code,
11
+ }),
12
+ Unauthorized: Schema.TaggedStruct("Unauthorized", Unauthorized.fields),
13
+ ActorUnavailable: Schema.TaggedStruct("ActorUnavailable", {}),
14
+ Timeout: Schema.TaggedStruct("Timeout", Timeout.fields),
15
+ NotCreated: Schema.TaggedStruct("NotCreated", {}),
16
+ MailboxFull: Schema.TaggedStruct("MailboxFull", {}),
17
+ RunnerAtCapacity: Schema.TaggedStruct("RunnerAtCapacity", {}),
18
+ QuotaExceeded: Schema.TaggedStruct("QuotaExceeded", QuotaExceeded.fields),
19
+ SpendLimitExceeded: Schema.TaggedStruct("SpendLimitExceeded", SpendLimitExceeded.fields),
20
+ ConnectionLimitExceeded: Schema.TaggedStruct("ConnectionLimitExceeded", ConnectionLimitExceeded.fields),
21
+ StorageQuotaExceeded: Schema.TaggedStruct("StorageQuotaExceeded", StorageQuotaExceeded.fields),
22
+ InvalidInput: Schema.TaggedStruct("InvalidInput", InvalidInput.fields),
23
+ SessionEnded: Schema.TaggedStruct("SessionEnded", SessionEnded.fields),
24
+ };
25
+ /**
26
+ * An `ActorError` as a served response carries it: public reason fields plus
27
+ * the computed getters. `ActorUnavailable` carries no fields because its
28
+ * `cause` holds internal errors and never crosses the wire.
29
+ */
30
+ export const envelope = (route) => Schema.TaggedStruct("ActorError", {
31
+ reason: Schema.Union(route.tags.map((tag) => reasonSchemas[tag])),
32
+ isRetryable: Schema.Boolean,
33
+ retryAfter: Schema.optionalKey(Schema.Finite),
34
+ }).annotate({ identifier: route.identifier });
35
+ const WireReason = Schema.Union(Object.values(reasonSchemas));
36
+ const encodeReason = Schema.encodeUnknownEffect(Schema.toCodecJson(WireReason));
37
+ /** The body of a `500`: a defect reported by trace id only, never its message. */
38
+ export const Defect = Schema.TaggedStruct("Defect", { traceId: Schema.String }).annotate({
39
+ identifier: "Defect",
40
+ });
41
+ const inputStatus = (code) => {
42
+ switch (code) {
43
+ case "unknown_route":
44
+ case "unknown_event":
45
+ case "unknown_content":
46
+ return 404;
47
+ case "too_large":
48
+ return 413;
49
+ case "unsupported_media_type":
50
+ return 415;
51
+ case "origin_not_allowed":
52
+ return 403;
53
+ default:
54
+ return 400;
55
+ }
56
+ };
57
+ /**
58
+ * The HTTP status a reason is served with. `SessionEnded` maps to `410` but
59
+ * only connection sessions end this way; no served command or query returns it.
60
+ */
61
+ export const statusOf = (reason) => Match.value(reason).pipe(Match.tagsExhaustive({
62
+ CommandConflict: () => 409,
63
+ CommandExpired: () => 410,
64
+ InvalidCommandId: () => 400,
65
+ Unauthorized: (unauthorized) => (unauthorized.isCredential ? 401 : 403),
66
+ ActorUnavailable: () => 503,
67
+ RunnerAtCapacity: () => 503,
68
+ QuotaExceeded: () => 429,
69
+ SpendLimitExceeded: () => 402,
70
+ ConnectionLimitExceeded: () => 429,
71
+ StorageQuotaExceeded: () => 429,
72
+ Timeout: () => 504,
73
+ NotCreated: () => 404,
74
+ MailboxFull: () => 429,
75
+ InvalidInput: (input) => inputStatus(input.code),
76
+ TransportError: () => 502,
77
+ SessionEnded: () => 410,
78
+ }));
79
+ /** The close code a WebSocket session ends with; the `end` message before it is authoritative. */
80
+ export const closeCodeOf = (reason) => Match.value(reason).pipe(Match.tagsExhaustive({
81
+ ActorUnavailable: () => 1013,
82
+ RunnerAtCapacity: () => 1013,
83
+ QuotaExceeded: () => 1008,
84
+ SpendLimitExceeded: () => 1008,
85
+ ConnectionLimitExceeded: () => 1008,
86
+ StorageQuotaExceeded: () => 1008,
87
+ NotCreated: () => 4404,
88
+ Unauthorized: (unauthorized) => unauthorized.code === "reauthorization_unavailable" ? 1013 : 1008,
89
+ InvalidInput: () => 4400,
90
+ SessionEnded: (session) => {
91
+ switch (session.cause) {
92
+ case "ClientClosed":
93
+ case "ServerClosed":
94
+ case "Terminated":
95
+ return 1000;
96
+ case "HolderShutdown":
97
+ return 1012;
98
+ case "Defect":
99
+ return 1011;
100
+ default:
101
+ return 1013;
102
+ }
103
+ },
104
+ CommandConflict: () => 1011,
105
+ CommandExpired: () => 1011,
106
+ InvalidCommandId: () => 1011,
107
+ Timeout: () => 1011,
108
+ MailboxFull: () => 1011,
109
+ TransportError: () => 1011,
110
+ }));
111
+ const ActorErrorBody = Schema.TaggedStruct("ActorError", {
112
+ reason: Schema.Json,
113
+ isRetryable: Schema.Boolean,
114
+ retryAfter: Schema.optionalKey(Schema.Finite),
115
+ });
116
+ /** The JSON body an `ActorError` is served as, in HTTP bodies and in a session's `end`. */
117
+ export const actorErrorBody = Effect.fnUntraced(function* (error) {
118
+ const reason = yield* encodeReason(error.reason).pipe(Effect.orDie);
119
+ return Option.match(error.retryAfter, {
120
+ onNone: () => ActorErrorBody.make({ reason, isRetryable: error.isRetryable }),
121
+ onSome: (retryAfter) => ActorErrorBody.make({ reason, isRetryable: error.isRetryable, retryAfter }),
122
+ });
123
+ });
124
+ /** The `retry-after` header of a delay: whole seconds, rounded up. */
125
+ export const retryAfterSeconds = (retryAfterMs) => String(Math.ceil(retryAfterMs / 1000));
126
+ const Envelope = Schema.TaggedStruct("ActorError", {
127
+ reason: Schema.Struct({ _tag: Schema.String }),
128
+ retryAfter: Schema.optionalKey(Schema.Finite),
129
+ });
130
+ const isEnvelope = Schema.is(Envelope);
131
+ const decodeReason = Schema.decodeUnknownOption(Schema.toCodecJson(Reason));
132
+ const isUnavailable = Schema.is(reasonSchemas.ActorUnavailable);
133
+ /**
134
+ * The `ActorError` a served body carries, or none for any other body. A
135
+ * reason this client doesn't know is none too, never a guess. The body's
136
+ * `retryAfter` is the server's already-jittered delay; `headerRetryAfterMs`,
137
+ * read from `retry-after`, stands in when the body has none.
138
+ */
139
+ export const actorErrorOf = ({ body, headerRetryAfterMs, }) => Option.flatMap(Option.liftPredicate(body, isEnvelope), (envelope) => {
140
+ const reason = isUnavailable(envelope.reason)
141
+ ? Option.some(ActorUnavailable.make({ cause: undefined }))
142
+ : decodeReason(envelope.reason);
143
+ return Option.map(reason, (value) => {
144
+ const error = ActorError.make({ reason: value });
145
+ const retryAfter = envelope.retryAfter ?? headerRetryAfterMs;
146
+ return retryAfter === undefined ? error : withRetryAfter(retryAfter)(error);
147
+ });
148
+ });
149
+ /** Whether a served body is the opaque `Defect` of a `500`. */
150
+ export const isDefectBody = Schema.is(Defect);