@akterjs/effect 0.0.0-stage → 0.1.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 (798) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +43 -2
  3. package/dist/contract/actor/actor-already-exists.errors.d.mts +8 -0
  4. package/dist/contract/actor/actor-already-exists.errors.mjs +4 -0
  5. package/dist/contract/actor/actor-definition.pure.d.mts +21 -0
  6. package/dist/contract/actor/actor-definition.pure.mjs +106 -0
  7. package/dist/contract/actor/actor-erased.errors.d.mts +8 -0
  8. package/dist/contract/actor/actor-erased.errors.mjs +4 -0
  9. package/dist/contract/actor/actor-names.pure.d.mts +11 -0
  10. package/dist/contract/actor/actor-names.pure.mjs +51 -0
  11. package/dist/contract/actor/actor-not-created.errors.d.mts +8 -0
  12. package/dist/contract/actor/actor-not-created.errors.mjs +4 -0
  13. package/dist/contract/actor/actor-not-registered.errors.d.mts +8 -0
  14. package/dist/contract/actor/actor-not-registered.errors.mjs +4 -0
  15. package/dist/contract/actor/actor-registry.service.d.mts +16 -0
  16. package/dist/contract/actor/actor-registry.service.mjs +21 -0
  17. package/dist/contract/actor/actor.contract.d.mts +238 -0
  18. package/dist/contract/actor/actor.contract.mjs +1 -0
  19. package/dist/contract/actor/host-interface.pure.d.mts +23 -0
  20. package/dist/contract/actor/host-interface.pure.mjs +39 -0
  21. package/dist/contract/actor/reserved-member.errors.d.mts +9 -0
  22. package/dist/contract/actor/reserved-member.errors.mjs +7 -0
  23. package/dist/contract/akter.service.d.mts +75 -0
  24. package/dist/contract/akter.service.mjs +134 -0
  25. package/dist/contract/caller/authentication.api.d.mts +6 -0
  26. package/dist/contract/caller/authentication.api.mjs +5 -0
  27. package/dist/contract/caller/caller-admission.pure.d.mts +27 -0
  28. package/dist/contract/caller/caller-admission.pure.mjs +59 -0
  29. package/dist/contract/caller/caller-not-allowed.errors.d.mts +16 -0
  30. package/dist/contract/caller/caller-not-allowed.errors.mjs +18 -0
  31. package/dist/contract/caller/caller.schema.d.mts +7 -0
  32. package/dist/contract/caller/caller.schema.mjs +8 -0
  33. package/dist/contract/caller/current-caller.service.d.mts +7 -0
  34. package/dist/contract/caller/current-caller.service.mjs +4 -0
  35. package/dist/contract/caller/principal.schema.d.mts +13 -0
  36. package/dist/contract/caller/principal.schema.mjs +10 -0
  37. package/dist/contract/caller/unauthenticated.errors.d.mts +8 -0
  38. package/dist/contract/caller/unauthenticated.errors.mjs +4 -0
  39. package/dist/contract/client/actor-client.adapter.d.mts +42 -0
  40. package/dist/contract/client/actor-client.adapter.mjs +90 -0
  41. package/dist/contract/client/actor-client.contract.d.mts +30 -0
  42. package/dist/contract/client/actor-client.contract.mjs +1 -0
  43. package/dist/contract/client/actor-rpc.contract.d.mts +33 -0
  44. package/dist/contract/client/actor-rpc.contract.mjs +16 -0
  45. package/dist/contract/client/actor-unavailable.errors.d.mts +9 -0
  46. package/dist/contract/client/actor-unavailable.errors.mjs +7 -0
  47. package/dist/contract/client/client-failure.contract.d.mts +28 -0
  48. package/dist/contract/client/client-failure.contract.mjs +28 -0
  49. package/dist/contract/client/invalid-request.errors.d.mts +9 -0
  50. package/dist/contract/client/invalid-request.errors.mjs +7 -0
  51. package/dist/contract/client/storage-limit.errors.d.mts +16 -0
  52. package/dist/contract/client/storage-limit.errors.mjs +14 -0
  53. package/dist/contract/command/command-id-expired.errors.d.mts +11 -0
  54. package/dist/contract/command/command-id-expired.errors.mjs +9 -0
  55. package/dist/contract/command/command-id.schema.d.mts +3 -0
  56. package/dist/contract/command/command-id.schema.mjs +4 -0
  57. package/dist/contract/command/command.contract.d.mts +117 -0
  58. package/dist/contract/command/command.contract.mjs +111 -0
  59. package/dist/contract/command/outbox-id.pure.d.mts +9 -0
  60. package/dist/contract/command/outbox-id.pure.mjs +14 -0
  61. package/dist/contract/command/outbox.schema.d.mts +9 -0
  62. package/dist/contract/command/outbox.schema.mjs +10 -0
  63. package/dist/contract/command/timer.schema.d.mts +20 -0
  64. package/dist/contract/command/timer.schema.mjs +14 -0
  65. package/dist/contract/computer/checkpoint-expired.errors.d.mts +12 -0
  66. package/dist/contract/computer/checkpoint-expired.errors.mjs +8 -0
  67. package/dist/contract/computer/computer-client-failure.contract.d.mts +16 -0
  68. package/dist/contract/computer/computer-client-failure.contract.mjs +1 -0
  69. package/dist/contract/computer/computer-client.adapter.d.mts +21 -0
  70. package/dist/contract/computer/computer-client.adapter.mjs +70 -0
  71. package/dist/contract/computer/computer-client.contract.d.mts +56 -0
  72. package/dist/contract/computer/computer-client.contract.mjs +1 -0
  73. package/dist/contract/computer/computer-held.errors.d.mts +13 -0
  74. package/dist/contract/computer/computer-held.errors.mjs +11 -0
  75. package/dist/contract/computer/computer-limit.errors.d.mts +15 -0
  76. package/dist/contract/computer/computer-limit.errors.mjs +13 -0
  77. package/dist/contract/computer/computer-lost.errors.d.mts +12 -0
  78. package/dist/contract/computer/computer-lost.errors.mjs +8 -0
  79. package/dist/contract/computer/computer-not-found.errors.d.mts +9 -0
  80. package/dist/contract/computer/computer-not-found.errors.mjs +5 -0
  81. package/dist/contract/computer/computer.schema.d.mts +122 -0
  82. package/dist/contract/computer/computer.schema.mjs +117 -0
  83. package/dist/contract/computer/computers-unavailable.errors.d.mts +9 -0
  84. package/dist/contract/computer/computers-unavailable.errors.mjs +5 -0
  85. package/dist/contract/computer/files/computer-files.schema.d.mts +28 -0
  86. package/dist/contract/computer/files/computer-files.schema.mjs +24 -0
  87. package/dist/contract/computer/rpc/computer-rpc.contract.d.mts +108 -0
  88. package/dist/contract/computer/rpc/computer-rpc.contract.mjs +117 -0
  89. package/dist/contract/computer/step/computer-step.contract.d.mts +21 -0
  90. package/dist/contract/computer/step/computer-step.contract.mjs +89 -0
  91. package/dist/contract/computer/step/computer-step.schema.d.mts +69 -0
  92. package/dist/contract/computer/step/computer-step.schema.mjs +71 -0
  93. package/dist/contract/computer/step/step-failure.schema.d.mts +13 -0
  94. package/dist/contract/computer/step/step-failure.schema.mjs +24 -0
  95. package/dist/contract/computer/step/step-not-found.errors.d.mts +9 -0
  96. package/dist/contract/computer/step/step-not-found.errors.mjs +5 -0
  97. package/dist/contract/description/published-contract.pure.d.mts +51 -0
  98. package/dist/contract/description/published-contract.pure.mjs +75 -0
  99. package/dist/contract/file/access/file-access-denied.errors.d.mts +11 -0
  100. package/dist/contract/file/access/file-access-denied.errors.mjs +9 -0
  101. package/dist/contract/file/access/file-access.contract.d.mts +35 -0
  102. package/dist/contract/file/access/file-access.contract.mjs +32 -0
  103. package/dist/contract/file/actor-files.contract.d.mts +50 -0
  104. package/dist/contract/file/actor-files.contract.mjs +1 -0
  105. package/dist/contract/file/blob-transfer.errors.d.mts +9 -0
  106. package/dist/contract/file/blob-transfer.errors.mjs +7 -0
  107. package/dist/contract/file/file-client-failure.contract.d.mts +24 -0
  108. package/dist/contract/file/file-client-failure.contract.mjs +1 -0
  109. package/dist/contract/file/file-client.adapter.d.mts +17 -0
  110. package/dist/contract/file/file-client.adapter.mjs +21 -0
  111. package/dist/contract/file/file-client.contract.d.mts +14 -0
  112. package/dist/contract/file/file-client.contract.mjs +1 -0
  113. package/dist/contract/file/file-listing.pure.d.mts +6 -0
  114. package/dist/contract/file/file-listing.pure.mjs +18 -0
  115. package/dist/contract/file/file-not-found.errors.d.mts +8 -0
  116. package/dist/contract/file/file-not-found.errors.mjs +4 -0
  117. package/dist/contract/file/file-path.pure.d.mts +4 -0
  118. package/dist/contract/file/file-path.pure.mjs +38 -0
  119. package/dist/contract/file/files-unavailable.errors.d.mts +8 -0
  120. package/dist/contract/file/files-unavailable.errors.mjs +4 -0
  121. package/dist/contract/file/invalid-file-request.errors.d.mts +9 -0
  122. package/dist/contract/file/invalid-file-request.errors.mjs +7 -0
  123. package/dist/contract/file/rpc/file-rpc.contract.d.mts +88 -0
  124. package/dist/contract/file/rpc/file-rpc.contract.mjs +117 -0
  125. package/dist/contract/file/rpc/file-too-large.errors.d.mts +13 -0
  126. package/dist/contract/file/rpc/file-too-large.errors.mjs +11 -0
  127. package/dist/contract/file/rpc/rpc-file-clients.layer.d.mts +10 -0
  128. package/dist/contract/file/rpc/rpc-file-clients.layer.mjs +95 -0
  129. package/dist/contract/fork/fork-rpc.contract.d.mts +40 -0
  130. package/dist/contract/fork/fork-rpc.contract.mjs +26 -0
  131. package/dist/contract/history/actor-journal.service.d.mts +58 -0
  132. package/dist/contract/history/actor-journal.service.mjs +67 -0
  133. package/dist/contract/history/history-entry.pure.d.mts +79 -0
  134. package/dist/contract/history/history-entry.pure.mjs +95 -0
  135. package/dist/contract/hosted/handler-failed.errors.d.mts +16 -0
  136. package/dist/contract/hosted/handler-failed.errors.mjs +14 -0
  137. package/dist/contract/hosted/handler-failure.pure.d.mts +21 -0
  138. package/dist/contract/hosted/handler-failure.pure.mjs +86 -0
  139. package/dist/contract/hosted/hosted-actor.service.d.mts +23 -0
  140. package/dist/contract/hosted/hosted-actor.service.mjs +64 -0
  141. package/dist/contract/hosted/hosted-command.service.d.mts +20 -0
  142. package/dist/contract/hosted/hosted-command.service.mjs +88 -0
  143. package/dist/contract/hosted/hosted-create.service.d.mts +17 -0
  144. package/dist/contract/hosted/hosted-create.service.mjs +67 -0
  145. package/dist/contract/hosted/hosted-error.contract.d.mts +11 -0
  146. package/dist/contract/hosted/hosted-error.contract.mjs +1 -0
  147. package/dist/contract/hosted/hosted-failure.schema.d.mts +18 -0
  148. package/dist/contract/hosted/hosted-failure.schema.mjs +31 -0
  149. package/dist/contract/hosted/hosted-outcome.contract.d.mts +18 -0
  150. package/dist/contract/hosted/hosted-outcome.contract.mjs +1 -0
  151. package/dist/contract/hosted/hosted-query.service.d.mts +16 -0
  152. package/dist/contract/hosted/hosted-query.service.mjs +42 -0
  153. package/dist/contract/hosted/hosted-request.pure.d.mts +61 -0
  154. package/dist/contract/hosted/hosted-request.pure.mjs +91 -0
  155. package/dist/contract/job/job-id.pure.d.mts +11 -0
  156. package/dist/contract/job/job-id.pure.mjs +20 -0
  157. package/dist/contract/job/job-patches.contract.d.mts +32 -0
  158. package/dist/contract/job/job-patches.contract.mjs +45 -0
  159. package/dist/contract/job/job-signal.schema.d.mts +13 -0
  160. package/dist/contract/job/job-signal.schema.mjs +16 -0
  161. package/dist/contract/job/reserved-payload-field.errors.d.mts +10 -0
  162. package/dist/contract/job/reserved-payload-field.errors.mjs +8 -0
  163. package/dist/contract/job/started-job.schema.d.mts +7 -0
  164. package/dist/contract/job/started-job.schema.mjs +8 -0
  165. package/dist/contract/json-codec.pure.d.mts +7 -0
  166. package/dist/contract/json-codec.pure.mjs +14 -0
  167. package/dist/contract/room.contract.d.mts +75 -0
  168. package/dist/contract/room.contract.mjs +36 -0
  169. package/dist/contract/secret/actor-secrets.adapter.d.mts +33 -0
  170. package/dist/contract/secret/actor-secrets.adapter.mjs +38 -0
  171. package/dist/contract/secret/invalid-secret-name.errors.d.mts +10 -0
  172. package/dist/contract/secret/invalid-secret-name.errors.mjs +8 -0
  173. package/dist/contract/secret/secret-unavailable.errors.d.mts +11 -0
  174. package/dist/contract/secret/secret-unavailable.errors.mjs +10 -0
  175. package/dist/contract/secret/secret.schema.d.mts +25 -0
  176. package/dist/contract/secret/secret.schema.mjs +34 -0
  177. package/dist/contract/spend/billing-unavailable.errors.d.mts +12 -0
  178. package/dist/contract/spend/billing-unavailable.errors.mjs +8 -0
  179. package/dist/contract/spend/spend-cap-reached.errors.d.mts +17 -0
  180. package/dist/contract/spend/spend-cap-reached.errors.mjs +15 -0
  181. package/dist/contract/state/actor-state.pure.d.mts +38 -0
  182. package/dist/contract/state/actor-state.pure.mjs +153 -0
  183. package/dist/contract/state/actor-state.service.d.mts +45 -0
  184. package/dist/contract/state/actor-state.service.mjs +18 -0
  185. package/dist/contract/state/state-migration.pure.d.mts +11 -0
  186. package/dist/contract/state/state-migration.pure.mjs +23 -0
  187. package/dist/contract/state/state-read.pure.d.mts +12 -0
  188. package/dist/contract/state/state-read.pure.mjs +22 -0
  189. package/dist/contract/state/state-unreadable.errors.d.mts +9 -0
  190. package/dist/contract/state/state-unreadable.errors.mjs +7 -0
  191. package/dist/host/actor/actor-database.service.d.mts +46 -0
  192. package/dist/host/actor/actor-database.service.mjs +112 -0
  193. package/dist/host/actor/actor-exclusive.pure.d.mts +7 -0
  194. package/dist/host/actor/actor-exclusive.pure.mjs +16 -0
  195. package/dist/host/actor/actor-records.sql.d.mts +29 -0
  196. package/dist/host/actor/actor-records.sql.mjs +26 -0
  197. package/dist/host/actor/reserved-name.errors.d.mts +10 -0
  198. package/dist/host/actor/reserved-name.errors.mjs +8 -0
  199. package/dist/host/actor/reserved-names.pure.d.mts +15 -0
  200. package/dist/host/actor/reserved-names.pure.mjs +20 -0
  201. package/dist/host/actor/room.actor.d.mts +4 -0
  202. package/dist/host/actor/room.actor.mjs +36 -0
  203. package/dist/host/blob/blob-frames.pure.d.mts +7 -0
  204. package/dist/host/blob/blob-frames.pure.mjs +28 -0
  205. package/dist/host/blob/blob-grant.schema.d.mts +14 -0
  206. package/dist/host/blob/blob-grant.schema.mjs +15 -0
  207. package/dist/host/blob/blob-grants.service.d.mts +28 -0
  208. package/dist/host/blob/blob-grants.service.mjs +129 -0
  209. package/dist/host/blob/blob-keyring.service.d.mts +18 -0
  210. package/dist/host/blob/blob-keyring.service.mjs +4 -0
  211. package/dist/host/blob/blob-range.pure.d.mts +13 -0
  212. package/dist/host/blob/blob-range.pure.mjs +23 -0
  213. package/dist/host/blob/blob-sealing.contract.d.mts +37 -0
  214. package/dist/host/blob/blob-sealing.contract.mjs +1 -0
  215. package/dist/host/blob/blob-sealing.service.d.mts +11 -0
  216. package/dist/host/blob/blob-sealing.service.mjs +16 -0
  217. package/dist/host/blob/export/blob-archive.sql.d.mts +21 -0
  218. package/dist/host/blob/export/blob-archive.sql.mjs +75 -0
  219. package/dist/host/blob/export/blob-export-holds.sql.d.mts +49 -0
  220. package/dist/host/blob/export/blob-export-holds.sql.mjs +25 -0
  221. package/dist/host/blob/plain-blob-sealing.pure.d.mts +5 -0
  222. package/dist/host/blob/plain-blob-sealing.pure.mjs +55 -0
  223. package/dist/host/blob/reference/blob-catalog.sql.d.mts +40 -0
  224. package/dist/host/blob/reference/blob-catalog.sql.mjs +145 -0
  225. package/dist/host/blob/reference/blob-coordinator.pure.d.mts +10 -0
  226. package/dist/host/blob/reference/blob-coordinator.pure.mjs +153 -0
  227. package/dist/host/blob/reference/blob-file-page.sql.d.mts +13 -0
  228. package/dist/host/blob/reference/blob-file-page.sql.mjs +21 -0
  229. package/dist/host/blob/reference/blob-forks.sql.d.mts +21 -0
  230. package/dist/host/blob/reference/blob-forks.sql.mjs +40 -0
  231. package/dist/host/blob/reference/blob-lineage.sql.d.mts +14 -0
  232. package/dist/host/blob/reference/blob-lineage.sql.mjs +24 -0
  233. package/dist/host/blob/reference/blob-reads.pure.d.mts +15 -0
  234. package/dist/host/blob/reference/blob-reads.pure.mjs +97 -0
  235. package/dist/host/blob/reference/blob-receipts.sql.d.mts +71 -0
  236. package/dist/host/blob/reference/blob-receipts.sql.mjs +176 -0
  237. package/dist/host/blob/reference/blob-transfer-adopt.pure.d.mts +21 -0
  238. package/dist/host/blob/reference/blob-transfer-adopt.pure.mjs +68 -0
  239. package/dist/host/blob/reference/blob-transfer-fork.pure.d.mts +15 -0
  240. package/dist/host/blob/reference/blob-transfer-fork.pure.mjs +125 -0
  241. package/dist/host/blob/reference/blob-transfer-upkeep.pure.d.mts +18 -0
  242. package/dist/host/blob/reference/blob-transfer-upkeep.pure.mjs +54 -0
  243. package/dist/host/blob/reference/blob-transfer.pure.d.mts +85 -0
  244. package/dist/host/blob/reference/blob-transfer.pure.mjs +1 -0
  245. package/dist/host/blob/sealed-blob-sealing.pure.d.mts +10 -0
  246. package/dist/host/blob/sealed-blob-sealing.pure.mjs +130 -0
  247. package/dist/host/blob/stream/blob-directory.pure.d.mts +18 -0
  248. package/dist/host/blob/stream/blob-directory.pure.mjs +84 -0
  249. package/dist/host/blob/stream/blob-length.pure.d.mts +9 -0
  250. package/dist/host/blob/stream/blob-length.pure.mjs +19 -0
  251. package/dist/host/blob/stream/blob-writing.pure.d.mts +8 -0
  252. package/dist/host/blob/stream/blob-writing.pure.mjs +15 -0
  253. package/dist/host/command/batch/command-batch.sql.d.mts +61 -0
  254. package/dist/host/command/batch/command-batch.sql.mjs +100 -0
  255. package/dist/host/command/command-context.adapter.d.mts +47 -0
  256. package/dist/host/command/command-context.adapter.mjs +90 -0
  257. package/dist/host/command/command-id-age.pure.d.mts +13 -0
  258. package/dist/host/command/command-id-age.pure.mjs +31 -0
  259. package/dist/host/command/command-id-reuse.pure.d.mts +28 -0
  260. package/dist/host/command/command-id-reuse.pure.mjs +38 -0
  261. package/dist/host/command/command-id-reused.errors.d.mts +13 -0
  262. package/dist/host/command/command-id-reused.errors.mjs +11 -0
  263. package/dist/host/command/command-journal.sql.d.mts +84 -0
  264. package/dist/host/command/command-journal.sql.mjs +74 -0
  265. package/dist/host/command/command-rejected.errors.d.mts +8 -0
  266. package/dist/host/command/command-rejected.errors.mjs +4 -0
  267. package/dist/host/command/command-replay.service.d.mts +62 -0
  268. package/dist/host/command/command-replay.service.mjs +140 -0
  269. package/dist/host/command/command-reply.pure.d.mts +8 -0
  270. package/dist/host/command/command-reply.pure.mjs +12 -0
  271. package/dist/host/command/command-runner.service.d.mts +68 -0
  272. package/dist/host/command/command-runner.service.mjs +215 -0
  273. package/dist/host/command/files/command-file-inputs.sql.d.mts +51 -0
  274. package/dist/host/command/files/command-file-inputs.sql.mjs +59 -0
  275. package/dist/host/command/history-pruned.errors.d.mts +10 -0
  276. package/dist/host/command/history-pruned.errors.mjs +8 -0
  277. package/dist/host/command/replay/replay-cursor-stalled.errors.d.mts +9 -0
  278. package/dist/host/command/replay/replay-cursor-stalled.errors.mjs +7 -0
  279. package/dist/host/command/replay/replay-cursor.pure.d.mts +7 -0
  280. package/dist/host/command/replay/replay-cursor.pure.mjs +12 -0
  281. package/dist/host/computer/computer-steps.sql.d.mts +14 -0
  282. package/dist/host/computer/computer-steps.sql.mjs +76 -0
  283. package/dist/host/computer/job-computers.service.d.mts +20 -0
  284. package/dist/host/computer/job-computers.service.mjs +59 -0
  285. package/dist/host/computer/local-computer-files.layer.d.mts +11 -0
  286. package/dist/host/computer/local-computer-files.layer.mjs +69 -0
  287. package/dist/host/computer/local-computer-log.layer.d.mts +23 -0
  288. package/dist/host/computer/local-computer-log.layer.mjs +64 -0
  289. package/dist/host/computer/local-computer-records.layer.d.mts +190 -0
  290. package/dist/host/computer/local-computer-records.layer.mjs +99 -0
  291. package/dist/host/computer/local-computer.schema.d.mts +69 -0
  292. package/dist/host/computer/local-computer.schema.mjs +29 -0
  293. package/dist/host/computer/local-computers.adapter.d.mts +18 -0
  294. package/dist/host/computer/local-computers.adapter.mjs +248 -0
  295. package/dist/host/computer/local-step.layer.d.mts +30 -0
  296. package/dist/host/computer/local-step.layer.mjs +119 -0
  297. package/dist/host/file/actor-file-storage.sql.d.mts +15 -0
  298. package/dist/host/file/actor-file-storage.sql.mjs +82 -0
  299. package/dist/host/file/actor-files.sql.d.mts +9 -0
  300. package/dist/host/file/actor-files.sql.mjs +3 -0
  301. package/dist/host/file/blob-home-lock.pure.d.mts +8 -0
  302. package/dist/host/file/blob-home-lock.pure.mjs +10 -0
  303. package/dist/host/file/blob-home.sql.d.mts +19 -0
  304. package/dist/host/file/blob-home.sql.mjs +30 -0
  305. package/dist/host/file/local-blob-home.service.d.mts +16 -0
  306. package/dist/host/file/local-blob-home.service.mjs +43 -0
  307. package/dist/host/file/local-blob-owner.sql.d.mts +30 -0
  308. package/dist/host/file/local-blob-owner.sql.mjs +68 -0
  309. package/dist/host/file/local-file-upkeep.pure.d.mts +12 -0
  310. package/dist/host/file/local-file-upkeep.pure.mjs +41 -0
  311. package/dist/host/file/replay-file-storage.sql.d.mts +7 -0
  312. package/dist/host/file/replay-file-storage.sql.mjs +26 -0
  313. package/dist/host/fork/actor-fork.sql.d.mts +52 -0
  314. package/dist/host/fork/actor-fork.sql.mjs +42 -0
  315. package/dist/host/fork/fork-computers.adapter.d.mts +43 -0
  316. package/dist/host/fork/fork-computers.adapter.mjs +193 -0
  317. package/dist/host/hash/blob-hashing.service.d.mts +10 -0
  318. package/dist/host/hash/blob-hashing.service.mjs +4 -0
  319. package/dist/host/job/job-durables.sql.d.mts +44 -0
  320. package/dist/host/job/job-durables.sql.mjs +136 -0
  321. package/dist/host/job/job-engine.adapter.d.mts +33 -0
  322. package/dist/host/job/job-engine.adapter.mjs +258 -0
  323. package/dist/host/job/job-journal.sql.d.mts +85 -0
  324. package/dist/host/job/job-journal.sql.mjs +109 -0
  325. package/dist/host/job/job-results.service.d.mts +37 -0
  326. package/dist/host/job/job-results.service.mjs +63 -0
  327. package/dist/host/job/job-runs.pure.d.mts +103 -0
  328. package/dist/host/job/job-runs.pure.mjs +193 -0
  329. package/dist/host/job/undelivered-result.pure.d.mts +49 -0
  330. package/dist/host/job/undelivered-result.pure.mjs +147 -0
  331. package/dist/host/layout/actor-layout.sql.d.mts +8 -0
  332. package/dist/host/layout/actor-layout.sql.mjs +33 -0
  333. package/dist/host/layout/layout-version.errors.d.mts +10 -0
  334. package/dist/host/layout/layout-version.errors.mjs +8 -0
  335. package/dist/host/layout/layout-version.pure.d.mts +10 -0
  336. package/dist/host/layout/layout-version.pure.mjs +14 -0
  337. package/dist/host/migration/actor-migrations.service.d.mts +46 -0
  338. package/dist/host/migration/actor-migrations.service.mjs +143 -0
  339. package/dist/host/migration/migration-edited.errors.d.mts +9 -0
  340. package/dist/host/migration/migration-edited.errors.mjs +7 -0
  341. package/dist/host/migration/migration-failed.errors.d.mts +12 -0
  342. package/dist/host/migration/migration-failed.errors.mjs +10 -0
  343. package/dist/host/migration/migration-failure.pure.d.mts +9 -0
  344. package/dist/host/migration/migration-failure.pure.mjs +19 -0
  345. package/dist/host/migration/migration-hasher.adapter.d.mts +15 -0
  346. package/dist/host/migration/migration-hasher.adapter.mjs +40 -0
  347. package/dist/host/migration/migration-missing.errors.d.mts +9 -0
  348. package/dist/host/migration/migration-missing.errors.mjs +7 -0
  349. package/dist/host/migration/migration-plan.pure.d.mts +20 -0
  350. package/dist/host/migration/migration-plan.pure.mjs +32 -0
  351. package/dist/host/outbox/actor-outbox.sql.d.mts +33 -0
  352. package/dist/host/outbox/actor-outbox.sql.mjs +28 -0
  353. package/dist/host/outbox/outbox-acknowledgements.sql.d.mts +12 -0
  354. package/dist/host/outbox/outbox-acknowledgements.sql.mjs +47 -0
  355. package/dist/host/outbox/outbox-runner.service.d.mts +37 -0
  356. package/dist/host/outbox/outbox-runner.service.mjs +155 -0
  357. package/dist/host/query/query-policy.pure.d.mts +15 -0
  358. package/dist/host/query/query-policy.pure.mjs +12 -0
  359. package/dist/host/query/query-runner.service.d.mts +42 -0
  360. package/dist/host/query/query-runner.service.mjs +72 -0
  361. package/dist/host/sqlite/actor-connections.pure.d.mts +26 -0
  362. package/dist/host/sqlite/actor-connections.pure.mjs +4 -0
  363. package/dist/host/sqlite/sqlite-connection.adapter.d.mts +22 -0
  364. package/dist/host/sqlite/sqlite-connection.adapter.mjs +151 -0
  365. package/dist/host/sqlite/sqlite-driver.service.d.mts +33 -0
  366. package/dist/host/sqlite/sqlite-driver.service.mjs +88 -0
  367. package/dist/host/sqlite/sqlite-parameters.pure.d.mts +5 -0
  368. package/dist/host/sqlite/sqlite-parameters.pure.mjs +21 -0
  369. package/dist/host/sqlite/sqlite-reason.pure.d.mts +8 -0
  370. package/dist/host/sqlite/sqlite-reason.pure.mjs +13 -0
  371. package/dist/host/timer/actor-timers.sql.d.mts +32 -0
  372. package/dist/host/timer/actor-timers.sql.mjs +8 -0
  373. package/dist/host/timer/timer-runner.service.d.mts +26 -0
  374. package/dist/host/timer/timer-runner.service.mjs +68 -0
  375. package/dist/host/upkeep/actor-due.sql.d.mts +26 -0
  376. package/dist/host/upkeep/actor-due.sql.mjs +43 -0
  377. package/dist/host/upkeep/actor-upkeep.service.d.mts +55 -0
  378. package/dist/host/upkeep/actor-upkeep.service.mjs +218 -0
  379. package/dist/host/upkeep/execution-authority.pure.d.mts +19 -0
  380. package/dist/host/upkeep/execution-authority.pure.mjs +10 -0
  381. package/dist/runtime/akter-local.layer.d.mts +28 -0
  382. package/dist/runtime/akter-local.layer.mjs +24 -0
  383. package/dist/runtime/akter.layer.d.mts +91 -0
  384. package/dist/runtime/akter.layer.mjs +99 -0
  385. package/dist/runtime/blob-hashing.layer.d.mts +4 -0
  386. package/dist/runtime/blob-hashing.layer.mjs +15 -0
  387. package/dist/runtime/hosted-environment.layer.d.mts +34 -0
  388. package/dist/runtime/hosted-environment.layer.mjs +40 -0
  389. package/dist/runtime/http-server.layer.d.mts +9 -0
  390. package/dist/runtime/http-server.layer.mjs +15 -0
  391. package/dist/runtime/local-actor-engine.layer.d.mts +10 -0
  392. package/dist/runtime/local-actor-engine.layer.mjs +14 -0
  393. package/dist/runtime/local-engine.layer.d.mts +15 -0
  394. package/dist/runtime/local-engine.layer.mjs +14 -0
  395. package/dist/runtime/local-environments.layer.d.mts +24 -0
  396. package/dist/runtime/local-environments.layer.mjs +159 -0
  397. package/dist/runtime/local-file-clients.layer.d.mts +13 -0
  398. package/dist/runtime/local-file-clients.layer.mjs +78 -0
  399. package/dist/runtime/local-job-runtime.layer.d.mts +19 -0
  400. package/dist/runtime/local-job-runtime.layer.mjs +21 -0
  401. package/dist/serve/archive/archived-actors.layer.d.mts +17 -0
  402. package/dist/serve/archive/archived-actors.layer.mjs +84 -0
  403. package/dist/serve/archive/archived-store.layer.d.mts +12 -0
  404. package/dist/serve/archive/archived-store.layer.mjs +40 -0
  405. package/dist/serve/engine/actor-engine.layer.d.mts +8 -0
  406. package/dist/serve/engine/actor-engine.layer.mjs +30 -0
  407. package/dist/serve/engine/actor-fork.service.d.mts +63 -0
  408. package/dist/serve/engine/actor-fork.service.mjs +277 -0
  409. package/dist/serve/engine/actor-holding.pure.d.mts +7 -0
  410. package/dist/serve/engine/actor-holding.pure.mjs +9 -0
  411. package/dist/serve/engine/actor-host.service.d.mts +66 -0
  412. package/dist/serve/engine/actor-host.service.mjs +209 -0
  413. package/dist/serve/engine/actor-location.service.d.mts +38 -0
  414. package/dist/serve/engine/actor-location.service.mjs +109 -0
  415. package/dist/serve/engine/actor-residents.pure.d.mts +92 -0
  416. package/dist/serve/engine/actor-residents.pure.mjs +201 -0
  417. package/dist/serve/engine/actor-shard.pure.d.mts +4 -0
  418. package/dist/serve/engine/actor-shard.pure.mjs +8 -0
  419. package/dist/serve/engine/actor-state.pure.d.mts +17 -0
  420. package/dist/serve/engine/actor-state.pure.mjs +20 -0
  421. package/dist/serve/engine/actors-not-hosted.errors.d.mts +9 -0
  422. package/dist/serve/engine/actors-not-hosted.errors.mjs +7 -0
  423. package/dist/serve/engine/job-runtime.layer.d.mts +6 -0
  424. package/dist/serve/engine/job-runtime.layer.mjs +5 -0
  425. package/dist/serve/environment/environment-already-exists.errors.d.mts +10 -0
  426. package/dist/serve/environment/environment-already-exists.errors.mjs +9 -0
  427. package/dist/serve/environment/environment-in-use.errors.d.mts +10 -0
  428. package/dist/serve/environment/environment-in-use.errors.mjs +14 -0
  429. package/dist/serve/environment/environment-not-found.errors.d.mts +10 -0
  430. package/dist/serve/environment/environment-not-found.errors.mjs +9 -0
  431. package/dist/serve/environment/environment-records.sql.d.mts +92 -0
  432. package/dist/serve/environment/environment-records.sql.mjs +59 -0
  433. package/dist/serve/environment/environment-store.sql.d.mts +38 -0
  434. package/dist/serve/environment/environment-store.sql.mjs +78 -0
  435. package/dist/serve/environment/local-environment.schema.d.mts +38 -0
  436. package/dist/serve/environment/local-environment.schema.mjs +43 -0
  437. package/dist/serve/environment/local-environments.service.d.mts +44 -0
  438. package/dist/serve/environment/local-environments.service.mjs +196 -0
  439. package/dist/serve/environment/promotion-notice.pure.d.mts +22 -0
  440. package/dist/serve/environment/promotion-notice.pure.mjs +30 -0
  441. package/dist/serve/environment/snapshot-operations.sql.d.mts +32 -0
  442. package/dist/serve/environment/snapshot-operations.sql.mjs +131 -0
  443. package/dist/serve/environment/store-snapshot.sql.d.mts +32 -0
  444. package/dist/serve/environment/store-snapshot.sql.mjs +74 -0
  445. package/dist/serve/erasure/local-actor-erasure.service.d.mts +26 -0
  446. package/dist/serve/erasure/local-actor-erasure.service.mjs +102 -0
  447. package/dist/serve/history/actor-host-runners.service.d.mts +23 -0
  448. package/dist/serve/history/actor-host-runners.service.mjs +35 -0
  449. package/dist/serve/hosted/hosted-app-build.errors.d.mts +13 -0
  450. package/dist/serve/hosted/hosted-app-build.errors.mjs +9 -0
  451. package/dist/serve/hosted/hosted-app-checks.layer.d.mts +15 -0
  452. package/dist/serve/hosted/hosted-app-checks.layer.mjs +32 -0
  453. package/dist/serve/hosted/hosted-file-forward.layer.d.mts +22 -0
  454. package/dist/serve/hosted/hosted-file-forward.layer.mjs +42 -0
  455. package/dist/serve/hosted/hosted-file-rpcs.layer.d.mts +25 -0
  456. package/dist/serve/hosted/hosted-file-rpcs.layer.mjs +82 -0
  457. package/dist/serve/hosted/hosted-file-server.layer.d.mts +18 -0
  458. package/dist/serve/hosted/hosted-file-server.layer.mjs +33 -0
  459. package/dist/serve/hosted/hosted-files.layer.d.mts +32 -0
  460. package/dist/serve/hosted/hosted-files.layer.mjs +55 -0
  461. package/dist/serve/hosted/hosted-runtime.layer.d.mts +42 -0
  462. package/dist/serve/hosted/hosted-runtime.layer.mjs +48 -0
  463. package/dist/serve/hosted/hosted-runtime.service.d.mts +77 -0
  464. package/dist/serve/hosted/hosted-runtime.service.mjs +74 -0
  465. package/dist/serve/hosted/hosted-secrets.layer.d.mts +10 -0
  466. package/dist/serve/hosted/hosted-secrets.layer.mjs +28 -0
  467. package/dist/serve/http/loopback-host.pure.d.mts +11 -0
  468. package/dist/serve/http/loopback-host.pure.mjs +29 -0
  469. package/dist/serve/inspect/actor-inspection.schema.d.mts +119 -0
  470. package/dist/serve/inspect/actor-inspection.schema.mjs +75 -0
  471. package/dist/serve/inspect/actor-inspection.sql.d.mts +12 -0
  472. package/dist/serve/inspect/actor-inspection.sql.mjs +43 -0
  473. package/dist/serve/inspect/inspect.service.d.mts +24 -0
  474. package/dist/serve/inspect/inspect.service.mjs +92 -0
  475. package/dist/serve/inspect/inspector-page.pure.d.mts +2 -0
  476. package/dist/serve/inspect/inspector-page.pure.mjs +155 -0
  477. package/dist/serve/inspect/inspector-wal.pure.d.mts +3 -0
  478. package/dist/serve/inspect/inspector-wal.pure.mjs +19 -0
  479. package/dist/serve/inspect/inspector.handlers.d.mts +5 -0
  480. package/dist/serve/inspect/inspector.handlers.mjs +50 -0
  481. package/dist/serve/inspect/inspector.layer.d.mts +9 -0
  482. package/dist/serve/inspect/inspector.layer.mjs +14 -0
  483. package/dist/serve/live/live-reads.service.d.mts +44 -0
  484. package/dist/serve/live/live-reads.service.mjs +152 -0
  485. package/dist/serve/live/live-tables.sql.d.mts +35 -0
  486. package/dist/serve/live/live-tables.sql.mjs +66 -0
  487. package/dist/serve/live/state-reads.pure.d.mts +11 -0
  488. package/dist/serve/live/state-reads.pure.mjs +7 -0
  489. package/dist/serve/rpc/actor-rpc.handlers.d.mts +24 -0
  490. package/dist/serve/rpc/actor-rpc.handlers.mjs +142 -0
  491. package/dist/serve/rpc/akter-server.layer.d.mts +18 -0
  492. package/dist/serve/rpc/akter-server.layer.mjs +61 -0
  493. package/dist/serve/rpc/computer/computer-copy.layer.d.mts +22 -0
  494. package/dist/serve/rpc/computer/computer-copy.layer.mjs +70 -0
  495. package/dist/serve/rpc/computer/computer-rpc-access.pure.d.mts +29 -0
  496. package/dist/serve/rpc/computer/computer-rpc-access.pure.mjs +46 -0
  497. package/dist/serve/rpc/computer/computer-rpc.layer.d.mts +39 -0
  498. package/dist/serve/rpc/computer/computer-rpc.layer.mjs +84 -0
  499. package/dist/serve/rpc/computer/step-rpc.handlers.d.mts +23 -0
  500. package/dist/serve/rpc/computer/step-rpc.handlers.mjs +43 -0
  501. package/dist/serve/rpc/development-authentication.handlers.d.mts +7 -0
  502. package/dist/serve/rpc/development-authentication.handlers.mjs +19 -0
  503. package/dist/serve/rpc/development-guard.pure.d.mts +10 -0
  504. package/dist/serve/rpc/development-guard.pure.mjs +16 -0
  505. package/dist/serve/rpc/file/file-rpc-access.pure.d.mts +55 -0
  506. package/dist/serve/rpc/file/file-rpc-access.pure.mjs +67 -0
  507. package/dist/serve/rpc/file/file-rpc.layer.d.mts +53 -0
  508. package/dist/serve/rpc/file/file-rpc.layer.mjs +143 -0
  509. package/dist/serve/rpc/file/upload-sessions.pure.d.mts +45 -0
  510. package/dist/serve/rpc/file/upload-sessions.pure.mjs +187 -0
  511. package/dist/serve/rpc/in-process-client.layer.d.mts +13 -0
  512. package/dist/serve/rpc/in-process-client.layer.mjs +34 -0
  513. package/dist/serve/rpc/listener-not-loopback.errors.d.mts +9 -0
  514. package/dist/serve/rpc/listener-not-loopback.errors.mjs +7 -0
  515. package/dist/serve/rpc/ndjson-only.pure.d.mts +5 -0
  516. package/dist/serve/rpc/ndjson-only.pure.mjs +14 -0
  517. package/dist/serve/rpc/served-rpc.layer.d.mts +6 -0
  518. package/dist/serve/rpc/served-rpc.layer.mjs +19 -0
  519. package/dist/serve/store/actor-not-migrated.errors.d.mts +10 -0
  520. package/dist/serve/store/actor-not-migrated.errors.mjs +8 -0
  521. package/dist/serve/store/store-migrations.layer.d.mts +5 -0
  522. package/dist/serve/store/store-migrations.layer.mjs +18 -0
  523. package/dist/serve/store/store-migrations.service.d.mts +26 -0
  524. package/dist/serve/store/store-migrations.service.mjs +47 -0
  525. package/dist/serve/store/store-unreadable.errors.d.mts +9 -0
  526. package/dist/serve/store/store-unreadable.errors.mjs +7 -0
  527. package/dist/serve/verify/verify.layer.d.mts +16 -0
  528. package/dist/serve/verify/verify.layer.mjs +36 -0
  529. package/dist/testing/story-driver.service.d.mts +29 -0
  530. package/dist/testing/story-driver.service.mjs +126 -0
  531. package/dist/testing/story.layer.d.mts +21 -0
  532. package/dist/testing/story.layer.mjs +42 -0
  533. package/package.json +106 -3
  534. package/src/contract/actor/actor-already-exists.errors.ts +8 -0
  535. package/src/contract/actor/actor-definition.pure.ts +157 -0
  536. package/src/contract/actor/actor-erased.errors.ts +8 -0
  537. package/src/contract/actor/actor-names.pure.ts +64 -0
  538. package/src/contract/actor/actor-not-created.errors.ts +8 -0
  539. package/src/contract/actor/actor-not-registered.errors.ts +8 -0
  540. package/src/contract/actor/actor-registry.service.ts +35 -0
  541. package/src/contract/actor/actor.contract.ts +409 -0
  542. package/src/contract/actor/host-interface.pure.ts +60 -0
  543. package/src/contract/actor/reserved-member.errors.ts +9 -0
  544. package/src/contract/akter.service.ts +233 -0
  545. package/src/contract/caller/authentication.api.ts +9 -0
  546. package/src/contract/caller/caller-admission.pure.ts +90 -0
  547. package/src/contract/caller/caller-not-allowed.errors.ts +26 -0
  548. package/src/contract/caller/caller.schema.ts +7 -0
  549. package/src/contract/caller/current-caller.service.ts +7 -0
  550. package/src/contract/caller/principal.schema.ts +13 -0
  551. package/src/contract/caller/unauthenticated.errors.ts +8 -0
  552. package/src/contract/client/actor-client.adapter.ts +217 -0
  553. package/src/contract/client/actor-client.contract.ts +53 -0
  554. package/src/contract/client/actor-rpc.contract.ts +91 -0
  555. package/src/contract/client/actor-unavailable.errors.ts +9 -0
  556. package/src/contract/client/client-failure.contract.ts +53 -0
  557. package/src/contract/client/invalid-request.errors.ts +9 -0
  558. package/src/contract/client/storage-limit.errors.ts +16 -0
  559. package/src/contract/command/command-id-expired.errors.ts +11 -0
  560. package/src/contract/command/command-id.schema.ts +5 -0
  561. package/src/contract/command/command.contract.ts +334 -0
  562. package/src/contract/command/outbox-id.pure.ts +25 -0
  563. package/src/contract/command/outbox.schema.ts +11 -0
  564. package/src/contract/command/timer.schema.ts +21 -0
  565. package/src/contract/computer/checkpoint-expired.errors.ts +12 -0
  566. package/src/contract/computer/computer-client-failure.contract.ts +27 -0
  567. package/src/contract/computer/computer-client.adapter.ts +110 -0
  568. package/src/contract/computer/computer-client.contract.ts +75 -0
  569. package/src/contract/computer/computer-held.errors.ts +10 -0
  570. package/src/contract/computer/computer-limit.errors.ts +11 -0
  571. package/src/contract/computer/computer-lost.errors.ts +10 -0
  572. package/src/contract/computer/computer-not-found.errors.ts +9 -0
  573. package/src/contract/computer/computer.schema.ts +159 -0
  574. package/src/contract/computer/computers-unavailable.errors.ts +9 -0
  575. package/src/contract/computer/files/computer-files.schema.ts +31 -0
  576. package/src/contract/computer/rpc/computer-rpc.contract.ts +140 -0
  577. package/src/contract/computer/step/computer-step.contract.ts +126 -0
  578. package/src/contract/computer/step/computer-step.schema.ts +80 -0
  579. package/src/contract/computer/step/step-failure.schema.ts +26 -0
  580. package/src/contract/computer/step/step-not-found.errors.ts +7 -0
  581. package/src/contract/description/published-contract.pure.ts +187 -0
  582. package/src/contract/file/access/file-access-denied.errors.ts +11 -0
  583. package/src/contract/file/access/file-access.contract.ts +56 -0
  584. package/src/contract/file/actor-files.contract.ts +78 -0
  585. package/src/contract/file/blob-transfer.errors.ts +6 -0
  586. package/src/contract/file/file-client-failure.contract.ts +43 -0
  587. package/src/contract/file/file-client.adapter.ts +45 -0
  588. package/src/contract/file/file-client.contract.ts +24 -0
  589. package/src/contract/file/file-listing.pure.ts +30 -0
  590. package/src/contract/file/file-not-found.errors.ts +6 -0
  591. package/src/contract/file/file-path.pure.ts +37 -0
  592. package/src/contract/file/files-unavailable.errors.ts +8 -0
  593. package/src/contract/file/invalid-file-request.errors.ts +9 -0
  594. package/src/contract/file/rpc/file-rpc.contract.ts +148 -0
  595. package/src/contract/file/rpc/file-too-large.errors.ts +10 -0
  596. package/src/contract/file/rpc/rpc-file-clients.layer.ts +184 -0
  597. package/src/contract/fork/fork-rpc.contract.ts +44 -0
  598. package/src/contract/history/actor-journal.service.ts +195 -0
  599. package/src/contract/history/history-entry.pure.ts +282 -0
  600. package/src/contract/hosted/handler-failed.errors.ts +16 -0
  601. package/src/contract/hosted/handler-failure.pure.ts +161 -0
  602. package/src/contract/hosted/hosted-actor.service.ts +97 -0
  603. package/src/contract/hosted/hosted-command.service.ts +114 -0
  604. package/src/contract/hosted/hosted-create.service.ts +95 -0
  605. package/src/contract/hosted/hosted-error.contract.ts +22 -0
  606. package/src/contract/hosted/hosted-failure.schema.ts +32 -0
  607. package/src/contract/hosted/hosted-outcome.contract.ts +21 -0
  608. package/src/contract/hosted/hosted-query.service.ts +50 -0
  609. package/src/contract/hosted/hosted-request.pure.ts +185 -0
  610. package/src/contract/job/job-id.pure.ts +37 -0
  611. package/src/contract/job/job-patches.contract.ts +86 -0
  612. package/src/contract/job/job-signal.schema.ts +23 -0
  613. package/src/contract/job/reserved-payload-field.errors.ts +10 -0
  614. package/src/contract/job/started-job.schema.ts +9 -0
  615. package/src/contract/json-codec.pure.ts +27 -0
  616. package/src/contract/room.contract.ts +31 -0
  617. package/src/contract/secret/actor-secrets.adapter.ts +87 -0
  618. package/src/contract/secret/invalid-secret-name.errors.ts +10 -0
  619. package/src/contract/secret/secret-unavailable.errors.ts +13 -0
  620. package/src/contract/secret/secret.schema.ts +43 -0
  621. package/src/contract/spend/billing-unavailable.errors.ts +12 -0
  622. package/src/contract/spend/spend-cap-reached.errors.ts +17 -0
  623. package/src/contract/state/actor-state.pure.ts +192 -0
  624. package/src/contract/state/actor-state.service.ts +69 -0
  625. package/src/contract/state/state-migration.pure.ts +57 -0
  626. package/src/contract/state/state-read.pure.ts +40 -0
  627. package/src/contract/state/state-unreadable.errors.ts +9 -0
  628. package/src/host/actor/actor-database.service.ts +145 -0
  629. package/src/host/actor/actor-exclusive.pure.ts +32 -0
  630. package/src/host/actor/actor-records.sql.ts +78 -0
  631. package/src/host/actor/reserved-name.errors.ts +10 -0
  632. package/src/host/actor/reserved-names.pure.ts +40 -0
  633. package/src/host/actor/room.actor.ts +57 -0
  634. package/src/host/blob/blob-frames.pure.ts +52 -0
  635. package/src/host/blob/blob-grant.schema.ts +22 -0
  636. package/src/host/blob/blob-grants.service.ts +197 -0
  637. package/src/host/blob/blob-keyring.service.ts +25 -0
  638. package/src/host/blob/blob-range.pure.ts +33 -0
  639. package/src/host/blob/blob-sealing.contract.ts +46 -0
  640. package/src/host/blob/blob-sealing.service.ts +25 -0
  641. package/src/host/blob/export/blob-archive.sql.ts +153 -0
  642. package/src/host/blob/export/blob-export-holds.sql.ts +91 -0
  643. package/src/host/blob/plain-blob-sealing.pure.ts +70 -0
  644. package/src/host/blob/reference/blob-catalog.sql.ts +339 -0
  645. package/src/host/blob/reference/blob-coordinator.pure.ts +217 -0
  646. package/src/host/blob/reference/blob-file-page.sql.ts +48 -0
  647. package/src/host/blob/reference/blob-forks.sql.ts +125 -0
  648. package/src/host/blob/reference/blob-lineage.sql.ts +63 -0
  649. package/src/host/blob/reference/blob-reads.pure.ts +172 -0
  650. package/src/host/blob/reference/blob-receipts.sql.ts +375 -0
  651. package/src/host/blob/reference/blob-transfer-adopt.pure.ts +127 -0
  652. package/src/host/blob/reference/blob-transfer-fork.pure.ts +174 -0
  653. package/src/host/blob/reference/blob-transfer-upkeep.pure.ts +132 -0
  654. package/src/host/blob/reference/blob-transfer.pure.ts +127 -0
  655. package/src/host/blob/sealed-blob-sealing.pure.ts +163 -0
  656. package/src/host/blob/stream/blob-directory.pure.ts +177 -0
  657. package/src/host/blob/stream/blob-length.pure.ts +40 -0
  658. package/src/host/blob/stream/blob-writing.pure.ts +49 -0
  659. package/src/host/command/batch/command-batch.sql.ts +207 -0
  660. package/src/host/command/command-context.adapter.ts +134 -0
  661. package/src/host/command/command-id-age.pure.ts +54 -0
  662. package/src/host/command/command-id-reuse.pure.ts +90 -0
  663. package/src/host/command/command-id-reused.errors.ts +13 -0
  664. package/src/host/command/command-journal.sql.ts +232 -0
  665. package/src/host/command/command-rejected.errors.ts +8 -0
  666. package/src/host/command/command-replay.service.ts +223 -0
  667. package/src/host/command/command-reply.pure.ts +21 -0
  668. package/src/host/command/command-runner.service.ts +320 -0
  669. package/src/host/command/files/command-file-inputs.sql.ts +114 -0
  670. package/src/host/command/history-pruned.errors.ts +10 -0
  671. package/src/host/command/replay/replay-cursor-stalled.errors.ts +9 -0
  672. package/src/host/command/replay/replay-cursor.pure.ts +19 -0
  673. package/src/host/computer/computer-steps.sql.ts +120 -0
  674. package/src/host/computer/job-computers.service.ts +84 -0
  675. package/src/host/computer/local-computer-files.layer.ts +103 -0
  676. package/src/host/computer/local-computer-log.layer.ts +115 -0
  677. package/src/host/computer/local-computer-records.layer.ts +205 -0
  678. package/src/host/computer/local-computer.schema.ts +36 -0
  679. package/src/host/computer/local-computers.adapter.ts +379 -0
  680. package/src/host/computer/local-step.layer.ts +174 -0
  681. package/src/host/file/actor-file-storage.sql.ts +79 -0
  682. package/src/host/file/actor-files.sql.ts +15 -0
  683. package/src/host/file/blob-home-lock.pure.ts +23 -0
  684. package/src/host/file/blob-home.sql.ts +55 -0
  685. package/src/host/file/local-blob-home.service.ts +71 -0
  686. package/src/host/file/local-blob-owner.sql.ts +89 -0
  687. package/src/host/file/local-file-upkeep.pure.ts +77 -0
  688. package/src/host/file/replay-file-storage.sql.ts +43 -0
  689. package/src/host/fork/actor-fork.sql.ts +110 -0
  690. package/src/host/fork/fork-computers.adapter.ts +366 -0
  691. package/src/host/hash/blob-hashing.service.ts +14 -0
  692. package/src/host/job/job-durables.sql.ts +214 -0
  693. package/src/host/job/job-engine.adapter.ts +420 -0
  694. package/src/host/job/job-journal.sql.ts +257 -0
  695. package/src/host/job/job-results.service.ts +111 -0
  696. package/src/host/job/job-runs.pure.ts +445 -0
  697. package/src/host/job/undelivered-result.pure.ts +265 -0
  698. package/src/host/layout/actor-layout.sql.ts +45 -0
  699. package/src/host/layout/layout-version.errors.ts +10 -0
  700. package/src/host/layout/layout-version.pure.ts +22 -0
  701. package/src/host/migration/actor-migrations.service.ts +159 -0
  702. package/src/host/migration/migration-edited.errors.ts +9 -0
  703. package/src/host/migration/migration-failed.errors.ts +12 -0
  704. package/src/host/migration/migration-failure.pure.ts +28 -0
  705. package/src/host/migration/migration-hasher.adapter.ts +70 -0
  706. package/src/host/migration/migration-missing.errors.ts +9 -0
  707. package/src/host/migration/migration-plan.pure.ts +66 -0
  708. package/src/host/outbox/actor-outbox.sql.ts +98 -0
  709. package/src/host/outbox/outbox-acknowledgements.sql.ts +93 -0
  710. package/src/host/outbox/outbox-runner.service.ts +253 -0
  711. package/src/host/query/query-policy.pure.ts +31 -0
  712. package/src/host/query/query-runner.service.ts +132 -0
  713. package/src/host/sqlite/actor-connections.pure.ts +44 -0
  714. package/src/host/sqlite/sqlite-connection.adapter.ts +260 -0
  715. package/src/host/sqlite/sqlite-driver.service.ts +151 -0
  716. package/src/host/sqlite/sqlite-parameters.pure.ts +28 -0
  717. package/src/host/sqlite/sqlite-reason.pure.ts +19 -0
  718. package/src/host/timer/actor-timers.sql.ts +67 -0
  719. package/src/host/timer/timer-runner.service.ts +117 -0
  720. package/src/host/upkeep/actor-due.sql.ts +71 -0
  721. package/src/host/upkeep/actor-upkeep.service.ts +404 -0
  722. package/src/host/upkeep/execution-authority.pure.ts +37 -0
  723. package/src/runtime/akter-local.layer.ts +49 -0
  724. package/src/runtime/akter.layer.ts +208 -0
  725. package/src/runtime/blob-hashing.layer.ts +21 -0
  726. package/src/runtime/hosted-environment.layer.ts +85 -0
  727. package/src/runtime/http-server.layer.ts +29 -0
  728. package/src/runtime/local-actor-engine.layer.ts +33 -0
  729. package/src/runtime/local-engine.layer.ts +37 -0
  730. package/src/runtime/local-environments.layer.ts +214 -0
  731. package/src/runtime/local-file-clients.layer.ts +112 -0
  732. package/src/runtime/local-job-runtime.layer.ts +38 -0
  733. package/src/serve/archive/archived-actors.layer.ts +97 -0
  734. package/src/serve/archive/archived-store.layer.ts +46 -0
  735. package/src/serve/engine/actor-engine.layer.ts +46 -0
  736. package/src/serve/engine/actor-fork.service.ts +403 -0
  737. package/src/serve/engine/actor-holding.pure.ts +28 -0
  738. package/src/serve/engine/actor-host.service.ts +454 -0
  739. package/src/serve/engine/actor-location.service.ts +219 -0
  740. package/src/serve/engine/actor-residents.pure.ts +500 -0
  741. package/src/serve/engine/actor-shard.pure.ts +13 -0
  742. package/src/serve/engine/actor-state.pure.ts +45 -0
  743. package/src/serve/engine/actors-not-hosted.errors.ts +9 -0
  744. package/src/serve/engine/job-runtime.layer.ts +13 -0
  745. package/src/serve/environment/environment-already-exists.errors.ts +9 -0
  746. package/src/serve/environment/environment-in-use.errors.ts +17 -0
  747. package/src/serve/environment/environment-not-found.errors.ts +9 -0
  748. package/src/serve/environment/environment-records.sql.ts +208 -0
  749. package/src/serve/environment/environment-store.sql.ts +116 -0
  750. package/src/serve/environment/local-environment.schema.ts +79 -0
  751. package/src/serve/environment/local-environments.service.ts +268 -0
  752. package/src/serve/environment/promotion-notice.pure.ts +63 -0
  753. package/src/serve/environment/snapshot-operations.sql.ts +210 -0
  754. package/src/serve/environment/store-snapshot.sql.ts +128 -0
  755. package/src/serve/erasure/local-actor-erasure.service.ts +170 -0
  756. package/src/serve/history/actor-host-runners.service.ts +85 -0
  757. package/src/serve/hosted/hosted-app-build.errors.ts +11 -0
  758. package/src/serve/hosted/hosted-app-checks.layer.ts +74 -0
  759. package/src/serve/hosted/hosted-file-forward.layer.ts +63 -0
  760. package/src/serve/hosted/hosted-file-rpcs.layer.ts +149 -0
  761. package/src/serve/hosted/hosted-file-server.layer.ts +75 -0
  762. package/src/serve/hosted/hosted-files.layer.ts +76 -0
  763. package/src/serve/hosted/hosted-runtime.layer.ts +145 -0
  764. package/src/serve/hosted/hosted-runtime.service.ts +128 -0
  765. package/src/serve/hosted/hosted-secrets.layer.ts +38 -0
  766. package/src/serve/http/loopback-host.pure.ts +67 -0
  767. package/src/serve/inspect/actor-inspection.schema.ts +94 -0
  768. package/src/serve/inspect/actor-inspection.sql.ts +112 -0
  769. package/src/serve/inspect/inspect.service.ts +173 -0
  770. package/src/serve/inspect/inspector-page.pure.ts +159 -0
  771. package/src/serve/inspect/inspector-wal.pure.ts +40 -0
  772. package/src/serve/inspect/inspector.handlers.ts +103 -0
  773. package/src/serve/inspect/inspector.layer.ts +26 -0
  774. package/src/serve/live/live-reads.service.ts +285 -0
  775. package/src/serve/live/live-tables.sql.ts +148 -0
  776. package/src/serve/live/state-reads.pure.ts +22 -0
  777. package/src/serve/rpc/actor-rpc.handlers.ts +242 -0
  778. package/src/serve/rpc/akter-server.layer.ts +119 -0
  779. package/src/serve/rpc/computer/computer-copy.layer.ts +95 -0
  780. package/src/serve/rpc/computer/computer-rpc-access.pure.ts +75 -0
  781. package/src/serve/rpc/computer/computer-rpc.layer.ts +143 -0
  782. package/src/serve/rpc/computer/step-rpc.handlers.ts +84 -0
  783. package/src/serve/rpc/development-authentication.handlers.ts +28 -0
  784. package/src/serve/rpc/development-guard.pure.ts +39 -0
  785. package/src/serve/rpc/file/file-rpc-access.pure.ts +119 -0
  786. package/src/serve/rpc/file/file-rpc.layer.ts +209 -0
  787. package/src/serve/rpc/file/upload-sessions.pure.ts +363 -0
  788. package/src/serve/rpc/in-process-client.layer.ts +62 -0
  789. package/src/serve/rpc/listener-not-loopback.errors.ts +9 -0
  790. package/src/serve/rpc/ndjson-only.pure.ts +33 -0
  791. package/src/serve/rpc/served-rpc.layer.ts +34 -0
  792. package/src/serve/store/actor-not-migrated.errors.ts +10 -0
  793. package/src/serve/store/store-migrations.layer.ts +35 -0
  794. package/src/serve/store/store-migrations.service.ts +76 -0
  795. package/src/serve/store/store-unreadable.errors.ts +9 -0
  796. package/src/serve/verify/verify.layer.ts +77 -0
  797. package/src/testing/story-driver.service.ts +266 -0
  798. package/src/testing/story.layer.ts +99 -0
@@ -0,0 +1,26 @@
1
+ import "../../runtime/akter.layer.mjs";
2
+ import { ActorUnavailableError } from "../../contract/client/actor-unavailable.errors.mjs";
3
+ import { ActorErasedError } from "../../contract/actor/actor-erased.errors.mjs";
4
+ import { ActorRegistry } from "../../contract/actor/actor-registry.service.mjs";
5
+ import { ActorDatabase } from "../../host/actor/actor-database.service.mjs";
6
+ import { ActorAddress, ActorLocation } from "../engine/actor-location.service.mjs";
7
+ import { OpenFailure } from "../engine/actor-residents.pure.mjs";
8
+ import { Context, Effect, FileSystem, Path, Scope, Semaphore } from "effect";
9
+ interface Resident {
10
+ readonly forking: Semaphore.Semaphore;
11
+ readonly exclusive: <Value, Failure>(effect: Effect.Effect<Value, Failure>) => Effect.Effect<Value, Failure>;
12
+ }
13
+ declare const LocalActorErasure_base: Context.ServiceClass<LocalActorErasure, "@akterjs/effect/serve/erasure/local-actor-erasure.service/LocalActorErasure", {
14
+ check: (address: ActorAddress) => Effect.Effect<void, OpenFailure>;
15
+ erase: (address: ActorAddress) => Effect.Effect<void, OpenFailure>;
16
+ open: <Value extends Resident>(address: ActorAddress, build: (scope: Scope.Closeable) => Effect.Effect<Value, OpenFailure>) => Effect.Effect<Value, OpenFailure>;
17
+ }>;
18
+ export declare class LocalActorErasure extends LocalActorErasure_base {
19
+ static readonly make: Effect.Effect<{
20
+ check: (address: ActorAddress) => Effect.Effect<void, OpenFailure>;
21
+ erase: (address: ActorAddress) => Effect.Effect<void, OpenFailure>;
22
+ open: <Value extends Resident>(address: ActorAddress, build: (scope: Scope.Closeable) => Effect.Effect<Value, OpenFailure>) => Effect.Effect<Value, OpenFailure>;
23
+ }, never, ActorDatabase | ActorLocation | ActorRegistry | FileSystem.FileSystem | Path.Path | Scope.Scope>;
24
+ static readonly check: (address: ActorAddress) => Effect.Effect<void, ActorErasedError | ActorUnavailableError, ActorLocation | FileSystem.FileSystem>;
25
+ }
26
+ export {};
@@ -0,0 +1,102 @@
1
+ import { ActorErasedError } from "../../contract/actor/actor-erased.errors.mjs";
2
+ import { ActorRegistry } from "../../contract/actor/actor-registry.service.mjs";
3
+ import { ActorDatabase } from "../../host/actor/actor-database.service.mjs";
4
+ import { LocalComputers } from "../../host/computer/local-computers.adapter.mjs";
5
+ import { ActorLocation } from "../engine/actor-location.service.mjs";
6
+ import { fileIdentity, notServed, unavailable } from "../engine/actor-residents.pure.mjs";
7
+ import { Context, Effect, Exit, FileSystem, MutableHashMap, MutableHashSet, Option, Predicate, Scope, Semaphore } from "effect";
8
+ // src/serve/erasure/local-actor-erasure.service.ts
9
+ const oneErasureAtATime = 1;
10
+ /** The marker is also the durable cleanup intent. It survives deleting the database and reserves the erased key. */
11
+ const notErased = Effect.fnUntraced(function* notErased(address) {
12
+ const location = yield* ActorLocation;
13
+ const fs = yield* FileSystem.FileSystem;
14
+ if (yield* Effect.mapError(fs.exists(`${location.locate(address).database}.erased`), unavailable(address.actor))) return yield* ActorErasedError.make({ actor: address.actor });
15
+ return yield* Effect.void;
16
+ });
17
+ const marker = ({ erased, fs, location }, address) => {
18
+ const id = ActorLocation.named(address);
19
+ return Effect.mapError(fs.writeFileString(`${location.locate(address).database}.erased`, "erased\n"), unavailable(address.actor)).pipe(Effect.tap(() => Effect.sync(() => MutableHashSet.add(erased, id))));
20
+ };
21
+ const openErasable = (erasing, address, build) => Effect.gen(function* openActor() {
22
+ yield* erasing.registry.lookup(address.actor).pipe(Effect.mapError(() => notServed(address)));
23
+ yield* Effect.provide(notErased(address), erasing.services);
24
+ const scope = yield* Scope.fork(erasing.parent);
25
+ const resident = yield* Effect.onError(build(scope), () => Scope.close(scope, Exit.void));
26
+ const marked = resident.exclusive(marker(erasing, address));
27
+ MutableHashMap.set(erasing.residents, ActorLocation.named(address), {
28
+ close: Scope.close(scope, Exit.void),
29
+ mark: resident.forking.withPermits(oneErasureAtATime)(marked)
30
+ });
31
+ return resident;
32
+ });
33
+ const releaseFiles = Effect.fnUntraced(function* releaseFiles({ databases, fs, location }, address, actor) {
34
+ const { database } = location.locate(address);
35
+ if (yield* fs.exists(database)) {
36
+ const opened = yield* databases.open({
37
+ actor,
38
+ filename: database,
39
+ identity: fileIdentity(address)
40
+ });
41
+ const session = Option.fromNullishOr(opened.fileSession);
42
+ yield* Effect.forEach(Option.toArray(session), ({ home, owner }) => home.transfers.erase(owner));
43
+ }
44
+ });
45
+ const eraseLocal = Effect.fnUntraced(function* eraseLocal(erasing, address) {
46
+ const actor = yield* erasing.registry.lookup(address.actor).pipe(Effect.mapError(() => notServed(address)));
47
+ const { fs, location, residents, services } = erasing;
48
+ const files = location.locate(address);
49
+ const known = MutableHashMap.get(residents, ActorLocation.named(address));
50
+ yield* fs.makeDirectory(files.directory, { recursive: true });
51
+ yield* Option.match(known, {
52
+ onNone: () => marker(erasing, address),
53
+ onSome: ({ mark }) => mark
54
+ });
55
+ yield* Effect.forEach(Option.toArray(known), ({ close }) => close);
56
+ yield* Effect.provide(LocalComputers.remove(location.computers, address), services);
57
+ yield* Effect.scoped(releaseFiles(erasing, address, actor));
58
+ yield* Effect.forEach([
59
+ "",
60
+ "-wal",
61
+ "-shm"
62
+ ], (suffix) => fs.remove(`${files.database}${suffix}`, { force: true }));
63
+ });
64
+ /** Local, in-process erasure only: no app RPC or Cloud approval boundary is added or bypassed. */
65
+ const localActorErasure = Effect.gen(function* localActorErasure() {
66
+ const store = yield* Effect.all({
67
+ databases: ActorDatabase,
68
+ fs: FileSystem.FileSystem,
69
+ location: ActorLocation,
70
+ parent: Effect.scope,
71
+ registry: ActorRegistry
72
+ });
73
+ const services = yield* Effect.context();
74
+ const residents = MutableHashMap.empty();
75
+ const serial = yield* Semaphore.make(oneErasureAtATime);
76
+ const erased = MutableHashSet.empty();
77
+ const erasing = {
78
+ ...store,
79
+ erased,
80
+ residents,
81
+ services
82
+ };
83
+ return {
84
+ check: (address) => Effect.suspend(() => {
85
+ if (MutableHashSet.has(erased, ActorLocation.named(address))) return ActorErasedError.make({ actor: address.actor });
86
+ return Effect.void;
87
+ }),
88
+ erase: (address) => {
89
+ const cleanup = eraseLocal(erasing, address).pipe(Effect.mapError((failure) => {
90
+ if (Predicate.isTagged(failure, "InvalidRequestError") || Predicate.isTagged(failure, "ActorErasedError")) return failure;
91
+ return unavailable(address.actor)(failure);
92
+ }), Effect.tap(() => Effect.sync(() => MutableHashMap.remove(residents, ActorLocation.named(address)))));
93
+ return serial.withPermits(oneErasureAtATime)(cleanup);
94
+ },
95
+ open: (address, build) => openErasable(erasing, address, build)
96
+ };
97
+ });
98
+ var LocalActorErasure = class extends Context.Service()("@akterjs/effect/serve/erasure/local-actor-erasure.service/LocalActorErasure") {
99
+ static make = localActorErasure;
100
+ static check = notErased;
101
+ };
102
+ export { LocalActorErasure };
@@ -0,0 +1,23 @@
1
+ import { FileUsagePage } from "../../contract/file/actor-files.contract.mjs";
2
+ import { CommandRunner } from "../../host/command/command-runner.service.mjs";
3
+ import { QueryRunner } from "../../host/query/query-runner.service.mjs";
4
+ import { OpenedActor } from "../../host/actor/actor-database.service.mjs";
5
+ import { Residents } from "../engine/actor-residents.pure.mjs";
6
+ import { Context, Duration, Effect, Scope } from "effect";
7
+ interface Prunable {
8
+ readonly opened: OpenedActor;
9
+ readonly exclusive: <Value, Failure>(effect: Effect.Effect<Value, Failure>) => Effect.Effect<Value, Failure>;
10
+ }
11
+ interface Runners {
12
+ readonly queries: QueryRunner["Service"];
13
+ readonly runner: CommandRunner["Service"];
14
+ readonly prune: (resident: Prunable) => Effect.Effect<void>;
15
+ readonly keep: (residents: Residents<Prunable>) => Effect.Effect<void, never, Scope.Scope>;
16
+ }
17
+ declare const ActorHostRunners_base: Context.ServiceClass<ActorHostRunners, "@akterjs/effect/serve/history/actor-host-runners.service/ActorHostRunners", Runners>;
18
+ export declare class ActorHostRunners extends ActorHostRunners_base {
19
+ static readonly make: Effect.Effect<Runners, never, CommandRunner | QueryRunner>;
20
+ static readonly historyRetention: Context.Reference<Duration.Duration>;
21
+ static readonly queries: import("effect/Layer").Layer<QueryRunner, never, never>;
22
+ }
23
+ export type { CommandRunner, FileUsagePage as FileUsage, Runners };
@@ -0,0 +1,35 @@
1
+ import { CommandRunner } from "../../host/command/command-runner.service.mjs";
2
+ import { QueryRunner } from "../../host/query/query-runner.service.mjs";
3
+ import { Clock, Context, Duration, Effect, Schedule } from "effect";
4
+ // src/serve/history/actor-host-runners.service.ts
5
+ /** Prunes on open and hourly, through the same resident serializer as commands. */
6
+ const actorHostRunners = Effect.gen(function* actorHostRunners() {
7
+ const runner = yield* CommandRunner;
8
+ const queries = yield* QueryRunner;
9
+ const retention = yield* CommandRunner.historyRetention;
10
+ const prune = ({ exclusive, opened }) => {
11
+ if (!Duration.isFinite(retention)) return Effect.void;
12
+ return exclusive(Effect.flatMap(Clock.currentTimeMillis, (now) => runner.prune({
13
+ before: now - Duration.toMillis(retention),
14
+ opened
15
+ })).pipe(Effect.catchTag("SqlError", (failure) => Effect.logWarning(`could not prune the history of ${opened.actor.name}: ${failure.message}`))));
16
+ };
17
+ const keep = ({ addresses, use }) => {
18
+ if (!Duration.isFinite(retention)) return Effect.void;
19
+ const pass = Effect.flatMap(addresses, (current) => Effect.forEach(current, (address) => use(address, prune).pipe(Effect.catchTag("ActorErasedError", () => Effect.void), Effect.orDie), { discard: true }));
20
+ const repeated = Effect.repeat(pass, Schedule.spaced("1 hour"));
21
+ return Effect.asVoid(Effect.forkScoped(repeated));
22
+ };
23
+ return {
24
+ keep,
25
+ prune,
26
+ queries,
27
+ runner
28
+ };
29
+ });
30
+ var ActorHostRunners = class extends Context.Service()("@akterjs/effect/serve/history/actor-host-runners.service/ActorHostRunners") {
31
+ static make = actorHostRunners;
32
+ static historyRetention = CommandRunner.historyRetention;
33
+ static queries = QueryRunner.layer;
34
+ };
35
+ export { ActorHostRunners };
@@ -0,0 +1,13 @@
1
+ import { Schema } from "effect";
2
+ declare const HostedAppBuildError_base: Schema.Class<HostedAppBuildError, Schema.TaggedStruct<"HostedAppBuildError", {
3
+ readonly reason: Schema.String;
4
+ }>, import("effect/Cause").YieldableError & {
5
+ readonly brand: unique symbol;
6
+ }>;
7
+ /**
8
+ * A host refuses to load an app's bundle because the akter it was built with is one the host doesn't serve: a job
9
+ * from before jobs carried their codecs, or an actor whose host interface version is outside the host's window. The
10
+ * reason names what to do, which is always to deploy the app again with a current akter.
11
+ */
12
+ export declare class HostedAppBuildError extends HostedAppBuildError_base {}
13
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Schema } from "effect";
2
+ // src/serve/hosted/hosted-app-build.errors.ts
3
+ /**
4
+ * A host refuses to load an app's bundle because the akter it was built with is one the host doesn't serve: a job
5
+ * from before jobs carried their codecs, or an actor whose host interface version is outside the host's window. The
6
+ * reason names what to do, which is always to deploy the app again with a current akter.
7
+ */
8
+ var HostedAppBuildError = class extends Schema.TaggedError()("HostedAppBuildError", { reason: Schema.String }) {};
9
+ export { HostedAppBuildError };
@@ -0,0 +1,15 @@
1
+ import { ActorRegistry } from "../../contract/actor/actor-registry.service.mjs";
2
+ import { HostedAppBuildError } from "./hosted-app-build.errors.mjs";
3
+ import { Layer } from "effect";
4
+ import { WorkflowEngine } from "effect/workflow";
5
+ /** Why a host refuses to load an app's bundle: it was built with an akter this host doesn't serve. */
6
+ type RefusedBuild = HostedAppBuildError;
7
+ /** The workflow engine a bundle registers its jobs with. It refuses a job built before jobs carried their codecs. */
8
+ declare const bundleWorkflows: Layer.Layer<WorkflowEngine.WorkflowEngine, never, WorkflowEngine.WorkflowEngine>;
9
+ /**
10
+ * The registry a bundle registers its actors in. It refuses an actor built with a host interface version outside the
11
+ * window this host reads, so a build it can't serve fails to load, typed, instead of failing each call.
12
+ */
13
+ declare const servedRegistry: Layer.Layer<ActorRegistry, never, ActorRegistry>;
14
+ declare const isRefusedBuild: <I>(input: I) => input is I & HostedAppBuildError;
15
+ export { type RefusedBuild, bundleWorkflows, isRefusedBuild, servedRegistry };
@@ -0,0 +1,32 @@
1
+ import { ActorRegistry } from "../../contract/actor/actor-registry.service.mjs";
2
+ import { hostInterfaceOf, servesHostInterface } from "../../contract/actor/host-interface.pure.mjs";
3
+ import { JobCodecsOf } from "../../contract/command/command.contract.mjs";
4
+ import { HostedAppBuildError } from "./hosted-app-build.errors.mjs";
5
+ import { Context, Effect, Layer, Option, Schema } from "effect";
6
+ import { WorkflowEngine } from "effect/workflow";
7
+ // src/serve/hosted/hosted-app-checks.layer.ts
8
+ /** The refusal of an actor built with a host interface version outside this host's window. */
9
+ const outsideWindow = (actor, built) => HostedAppBuildError.make({ reason: `${actor} was built with akter host interface ${String(built)}, and this host serves ${String(0)} to ${String(1)}: deploy the app again with a current akter` });
10
+ /** The workflow engine a bundle registers its jobs with. It refuses a job built before jobs carried their codecs. */
11
+ const bundleWorkflows = Layer.effect(WorkflowEngine.WorkflowEngine, WorkflowEngine.WorkflowEngine.use((engine) => Effect.succeed(WorkflowEngine.WorkflowEngine.of({
12
+ ...engine,
13
+ register: (workflow, execute) => {
14
+ const codecs = Context.get(workflow.annotations, JobCodecsOf);
15
+ if (Option.isNone(codecs)) return Effect.die(HostedAppBuildError.make({ reason: "the app was built with an older SDK; rebuild the app" }));
16
+ return engine.register(workflow, execute);
17
+ }
18
+ }))));
19
+ /**
20
+ * The registry a bundle registers its actors in. It refuses an actor built with a host interface version outside the
21
+ * window this host reads, so a build it can't serve fails to load, typed, instead of failing each call.
22
+ */
23
+ const servedRegistry = Layer.effect(ActorRegistry, ActorRegistry.use((registry) => Effect.succeed(ActorRegistry.of({
24
+ ...registry,
25
+ register: (actor) => {
26
+ const built = hostInterfaceOf(actor);
27
+ if (!servesHostInterface(built)) return Effect.die(outsideWindow(actor.name, built));
28
+ return registry.register(actor);
29
+ }
30
+ }))));
31
+ const isRefusedBuild = Schema.is(HostedAppBuildError);
32
+ export { bundleWorkflows, isRefusedBuild, servedRegistry };
@@ -0,0 +1,22 @@
1
+ import { Authentication } from "../../contract/caller/authentication.api.mjs";
2
+ import { Caller } from "../../contract/caller/caller.schema.mjs";
3
+ import { Effect, Layer } from "effect";
4
+ import { HttpServerRequest } from "effect/http";
5
+ /**
6
+ * One file RPC a gateway forwarded: the verified caller and the client's RPC request, unchanged. Its `id` is the
7
+ * client's own, a number or a string, and every frame of the answer carries it back as given, because the client
8
+ * matches frames to its request by that exact value.
9
+ */
10
+ interface FileForward {
11
+ readonly caller: Caller;
12
+ readonly request: {
13
+ readonly id: number | string;
14
+ readonly payload: unknown;
15
+ readonly tag: string;
16
+ };
17
+ }
18
+ /** The caller the host verified, which `forwardedRequest` puts in a header only the in-memory file server reads. */
19
+ declare const ForwardedAuthentication: Layer.Layer<Authentication, never, never>;
20
+ /** The forward as the one-request NDJSON body an Effect RPC HTTP server reads, carrying the verified caller. */
21
+ declare const forwardedRequest: (forward: FileForward) => Effect.Effect<HttpServerRequest.HttpServerRequest>;
22
+ export { type FileForward, ForwardedAuthentication, forwardedRequest };
@@ -0,0 +1,42 @@
1
+ import { Authentication } from "../../contract/caller/authentication.api.mjs";
2
+ import { Caller } from "../../contract/caller/caller.schema.mjs";
3
+ import { CurrentCaller } from "../../contract/caller/current-caller.service.mjs";
4
+ import { UnauthenticatedError } from "../../contract/caller/unauthenticated.errors.mjs";
5
+ import { Effect, Layer, Schema } from "effect";
6
+ import { Headers, HttpServerRequest } from "effect/http";
7
+ // src/serve/hosted/hosted-file-forward.layer.ts
8
+ const callerHeader = "akter-forwarded-caller";
9
+ const CallerJson = Schema.fromJsonString(Schema.toCodecJson(Caller));
10
+ const RequestMessage = Schema.TaggedStruct("Request", {
11
+ headers: Schema.Array(Schema.Tuple([Schema.String, Schema.String])),
12
+ id: Schema.Union([Schema.String, Schema.Finite]),
13
+ payload: Schema.Unknown,
14
+ tag: Schema.String
15
+ });
16
+ const RequestLine = Schema.fromJsonString(RequestMessage);
17
+ const unverified = UnauthenticatedError.make({ message: "the forwarded file request carried no verified caller" });
18
+ const callerOf = (headers) => {
19
+ const header = Effect.fromOption(Headers.get(headers, callerHeader));
20
+ return Effect.mapError(Effect.flatMap(header, Schema.decodeEffect(CallerJson)), () => unverified);
21
+ };
22
+ /** The caller the host verified, which `forwardedRequest` puts in a header only the in-memory file server reads. */
23
+ const ForwardedAuthentication = Layer.succeed(Authentication)((effect, { headers }) => Effect.flatMap(callerOf(headers), (caller) => Effect.provideService(effect, CurrentCaller, caller)));
24
+ /** The forward as the one-request NDJSON body an Effect RPC HTTP server reads, carrying the verified caller. */
25
+ const forwardedRequest = (forward) => Effect.gen(function* encodeForward() {
26
+ const message = RequestMessage.make({
27
+ ...forward.request,
28
+ headers: []
29
+ });
30
+ const line = yield* Schema.encodeEffect(RequestLine)(message);
31
+ const caller = yield* Schema.encodeEffect(CallerJson)(forward.caller);
32
+ const request = new globalThis.Request("http://akter.internal/rpc", {
33
+ body: `${line}\n`,
34
+ headers: {
35
+ [callerHeader]: caller,
36
+ "content-type": "application/ndjson"
37
+ },
38
+ method: "POST"
39
+ });
40
+ return HttpServerRequest.fromWeb(request);
41
+ }).pipe(Effect.orDie);
42
+ export { ForwardedAuthentication, forwardedRequest };
@@ -0,0 +1,25 @@
1
+ import { InvalidRequestError } from "../../contract/client/invalid-request.errors.mjs";
2
+ import { ActorHost } from "../engine/actor-host.service.mjs";
3
+ import { UploadLimits } from "../rpc/file/upload-sessions.pure.mjs";
4
+ import { FileForward } from "./hosted-file-forward.layer.mjs";
5
+ import { HostedRuntime } from "./hosted-runtime.service.mjs";
6
+ import { Context, Effect, Scope } from "effect";
7
+ import { HttpServerResponse } from "effect/http";
8
+ type Answer = (forward: FileForward) => Effect.Effect<HttpServerResponse.HttpServerResponse, InvalidRequestError, Scope.Scope>;
9
+ /**
10
+ * Whether forwarded `<Actor>/computer/steps` and `step` read the actor's durable steps. Off by default, so a host
11
+ * answers them `ComputersUnavailableError` until the engine hosting it turns them on.
12
+ */
13
+ declare const ServeDurableSteps: Context.Reference<boolean>;
14
+ /**
15
+ * Serves forwarded `<Actor>/files/<operation>` and `<Actor>/computer/<operation>` RPCs: one in-memory Effect RPC
16
+ * server per actor, started on first use, answering each request with the NDJSON frames a gateway relays to the client
17
+ * unchanged (chunks as they are produced, then one `Exit`). Upload sessions are shared by every actor the host serves,
18
+ * so build this once per host. Computers are reached through the `ActorComputerClients` in context when it is built;
19
+ * without one they answer `ComputersUnavailableError`. The forward's caller must already be verified by the host.
20
+ * Uploads are held to `limits` over `defaultUploadLimits`, so a host sets its own largest file and session caps.
21
+ */
22
+ declare const hostedFileRpcsWith: (limits?: Partial<UploadLimits>) => Effect.Effect<Answer, never, ActorHost | HostedRuntime | Scope.Scope>;
23
+ /** `hostedFileRpcsWith` at `defaultUploadLimits`. */
24
+ declare const hostedFileRpcs: Effect.Effect<Answer, never, ActorHost | HostedRuntime | Scope.Scope>;
25
+ export { type FileForward, ServeDurableSteps, hostedFileRpcs, hostedFileRpcsWith };
@@ -0,0 +1,82 @@
1
+ import { Principal } from "../../contract/caller/principal.schema.mjs";
2
+ import { InvalidRequestError } from "../../contract/client/invalid-request.errors.mjs";
3
+ import { ActorComputerClients } from "../../contract/computer/computer-client.adapter.mjs";
4
+ import { ActorHost } from "../engine/actor-host.service.mjs";
5
+ import { uploadSessionsWith } from "../rpc/file/upload-sessions.pure.mjs";
6
+ import { forwardedRequest } from "./hosted-file-forward.layer.mjs";
7
+ import { fileServerOf } from "./hosted-file-server.layer.mjs";
8
+ import { HostedRuntime } from "./hosted-runtime.service.mjs";
9
+ import { Array, Context, Effect, Option, Record, Schema, Scope, String, SynchronizedRef } from "effect";
10
+ import { HttpServerRequest } from "effect/http";
11
+ // src/serve/hosted/hosted-file-rpcs.layer.ts
12
+ /**
13
+ * Whether forwarded `<Actor>/computer/steps` and `step` read the actor's durable steps. Off by default, so a host
14
+ * answers them `ComputersUnavailableError` until the engine hosting it turns them on.
15
+ */
16
+ const ServeDurableSteps = Context.Reference("@akterjs/effect/serve/hosted/hosted-file-rpcs.layer/ServeDurableSteps", { defaultValue: () => false });
17
+ /** The groups this server answers: `<Actor>/files/<operation>` and `<Actor>/computer/<operation>`. */
18
+ const groupSegments = ["/files/", "/computer/"];
19
+ const noActor = 0;
20
+ const notForwarded = (tag) => InvalidRequestError.make({
21
+ actor: tag,
22
+ message: `${tag} isn't a file or computer request`
23
+ });
24
+ const actorOfTag = (tag) => {
25
+ const found = Array.findFirst(groupSegments, (segment) => Option.isSome(String.indexOf(segment)(tag)));
26
+ const at = Option.flatMap(found, (segment) => String.indexOf(segment)(tag));
27
+ const named = Option.filter(at, (index) => index !== noActor);
28
+ return Effect.mapBoth(Effect.fromOption(named), {
29
+ onFailure: () => notForwarded(tag),
30
+ onSuccess: (index) => String.slice(noActor, index)(tag)
31
+ });
32
+ };
33
+ const startServer = ({ computers, host, runtime, scope, steps, uploads }, actor) => Effect.gen(function* declaredServer() {
34
+ const { callers, fileAccess = Option.none(), key } = (yield* Effect.mapError(runtime.declare(actor), () => InvalidRequestError.make({
35
+ actor,
36
+ message: `${actor} isn't an actor of this app`
37
+ }))).actor;
38
+ const fileActor = {
39
+ callers: Record.map(callers, () => Principal),
40
+ fileAccess,
41
+ key: Schema.toEncoded(key),
42
+ name: actor
43
+ };
44
+ return yield* Effect.provideService(fileServerOf({
45
+ actor: fileActor,
46
+ computers,
47
+ host,
48
+ steps: Option.liftPredicate(host, () => steps),
49
+ uploads
50
+ }), Scope.Scope, scope);
51
+ });
52
+ /**
53
+ * Serves forwarded `<Actor>/files/<operation>` and `<Actor>/computer/<operation>` RPCs: one in-memory Effect RPC
54
+ * server per actor, started on first use, answering each request with the NDJSON frames a gateway relays to the client
55
+ * unchanged (chunks as they are produced, then one `Exit`). Upload sessions are shared by every actor the host serves,
56
+ * so build this once per host. Computers are reached through the `ActorComputerClients` in context when it is built;
57
+ * without one they answer `ComputersUnavailableError`. The forward's caller must already be verified by the host.
58
+ * Uploads are held to `limits` over `defaultUploadLimits`, so a host sets its own largest file and session caps.
59
+ */
60
+ const hostedFileRpcsWith = (limits = {}) => Effect.gen(function* makeHostedFileRpcs() {
61
+ const started = {
62
+ computers: yield* Effect.serviceOption(ActorComputerClients),
63
+ host: yield* ActorHost,
64
+ runtime: yield* HostedRuntime,
65
+ scope: yield* Effect.scope,
66
+ steps: yield* ServeDurableSteps,
67
+ uploads: yield* uploadSessionsWith(limits)
68
+ };
69
+ const servers = yield* SynchronizedRef.make(/* @__PURE__ */ new Map());
70
+ const serverFor = (actor) => SynchronizedRef.modifyEffect(servers, (known) => Option.match(Option.fromNullishOr(known.get(actor)), {
71
+ onNone: () => Effect.map(startServer(started, actor), (server) => [server, new Map([...known, [actor, server]])]),
72
+ onSome: (server) => Effect.succeed([server, known])
73
+ }));
74
+ return (forward) => Effect.gen(function* answer() {
75
+ const server = yield* Effect.flatMap(actorOfTag(forward.request.tag), serverFor);
76
+ const request = yield* forwardedRequest(forward);
77
+ return yield* Effect.provideService(server, HttpServerRequest.HttpServerRequest, request);
78
+ });
79
+ });
80
+ /** `hostedFileRpcsWith` at `defaultUploadLimits`. */
81
+ const hostedFileRpcs = hostedFileRpcsWith();
82
+ export { ServeDurableSteps, hostedFileRpcs, hostedFileRpcsWith };
@@ -0,0 +1,18 @@
1
+ import { computerHandlersFor } from "../rpc/computer/computer-rpc.layer.mjs";
2
+ import { FileServing as Serving } from "../rpc/file/file-rpc.layer.mjs";
3
+ import { Effect, Scope } from "effect";
4
+ import { HttpServerRequest, HttpServerResponse } from "effect/http";
5
+ /** One actor's file RPC server: answers the request in context with its NDJSON frames. */
6
+ type FileServer = Effect.Effect<HttpServerResponse.HttpServerResponse, never, HttpServerRequest.HttpServerRequest | Scope.Scope>;
7
+ /**
8
+ * Serves one actor's `<Actor>/files/<operation>` and `<Actor>/computer/<operation>` RPCs with the same Effect RPC
9
+ * server and NDJSON framing `akter dev` serves them with, behind the forwarded caller. The server lives as long as
10
+ * `Scope`.
11
+ */
12
+ type ComputerServing = Parameters<typeof computerHandlersFor>[number];
13
+ declare const fileServerOf: (serving: Serving & {
14
+ readonly actor: ComputerServing["actor"];
15
+ readonly computers: ComputerServing["clients"];
16
+ readonly steps: ComputerServing["steps"];
17
+ }) => Effect.Effect<FileServer, never, Scope.Scope>;
18
+ export { type FileServer, fileServerOf };
@@ -0,0 +1,33 @@
1
+ import { Authentication } from "../../contract/caller/authentication.api.mjs";
2
+ import { computerRpcsOf } from "../../contract/computer/rpc/computer-rpc.contract.mjs";
3
+ import { fileRpcsOf } from "../../contract/file/rpc/file-rpc.contract.mjs";
4
+ import { computerHandlersFor } from "../rpc/computer/computer-rpc.layer.mjs";
5
+ import { fileHandlersFor } from "../rpc/file/file-rpc.layer.mjs";
6
+ import { ForwardedAuthentication } from "./hosted-file-forward.layer.mjs";
7
+ import { Effect } from "effect";
8
+ import { RpcGroup, RpcSerialization, RpcServer } from "effect/rpc";
9
+ // src/serve/hosted/hosted-file-server.layer.ts
10
+ const groupOf = (actor) => RpcGroup.make(...fileRpcsOf(actor), ...computerRpcsOf(actor)).middleware(Authentication);
11
+ function asGroupHandlers(handlers) {
12
+ return handlers;
13
+ }
14
+ const fileServerOf = (serving) => {
15
+ const group = groupOf(serving.actor.name);
16
+ const computers = computerHandlersFor({
17
+ actor: serving.actor,
18
+ clients: serving.computers,
19
+ host: serving.host,
20
+ steps: serving.steps
21
+ });
22
+ const served = asGroupHandlers({
23
+ ...fileHandlersFor(serving),
24
+ ...computers
25
+ });
26
+ const handlers = group.toLayer(Effect.succeed(served));
27
+ return RpcServer.toHttpEffect(group).pipe(Effect.provide([
28
+ handlers,
29
+ ForwardedAuthentication,
30
+ RpcSerialization.layerNdjson
31
+ ]));
32
+ };
33
+ export { fileServerOf };
@@ -0,0 +1,32 @@
1
+ import { OpenedActor } from "../../host/actor/actor-database.service.mjs";
2
+ import { BlobSealing } from "../../host/blob/blob-sealing.service.mjs";
3
+ import { BlobOwner, TransferEffect } from "../../host/blob/reference/blob-transfer.pure.mjs";
4
+ import { LocalBlobHome, blobHomeOn } from "../../host/file/blob-home.sql.mjs";
5
+ import { Effect, FileSystem, Path, Scope } from "effect";
6
+ import { SqlClient } from "effect/sql";
7
+ interface HostedFileHomeOpening {
8
+ readonly catalog: SqlClient.SqlClient;
9
+ readonly root: string;
10
+ }
11
+ interface HostedActorFilesOpening {
12
+ readonly exclusive: BlobOwner["exclusive"];
13
+ readonly home: LocalBlobHome;
14
+ readonly identity: string;
15
+ readonly opened: OpenedActor;
16
+ readonly snapshot: BlobOwner["snapshot"];
17
+ }
18
+ /**
19
+ * A file home for a host that keeps its own SQLite connections, such as one per Cloud shard: blobs are written under
20
+ * `root` (created if missing), sealed by the provided `BlobSealing`, and their catalog (claims and reference counts) lives on `catalog`,
21
+ * which only this home writes. Blobs adopted from another home are checked with akter's own SHA-256, so the host
22
+ * provides no hashing. Its transfers close with the scope.
23
+ */
24
+ declare const hostedFileHome: ({ catalog, root }: HostedFileHomeOpening) => TransferEffect<LocalBlobHome, BlobSealing | FileSystem.FileSystem | Path.Path | Effect.Services<ReturnType<typeof blobHomeOn>>>;
25
+ /**
26
+ * Gives an opened actor its files on `home`. `identity` names the actor to the sealing keyring and the catalog, and
27
+ * every read and write of the actor's own file tables goes through `exclusive`, the host's serializer for the actor's
28
+ * connection, so it never interleaves with a command batch. It recovers unfinished transfers, settles references and
29
+ * keeps them settled until the scope closes. Commands of the returned actor reach the files through `Akter.files`.
30
+ */
31
+ declare const hostedActorFiles: ({ exclusive, home, identity, opened, snapshot }: HostedActorFilesOpening) => TransferEffect<OpenedActor, Scope.Scope>;
32
+ export { type HostedActorFilesOpening, type HostedFileHomeOpening, hostedActorFiles, hostedFileHome };
@@ -0,0 +1,55 @@
1
+ import { BlobSealing } from "../../host/blob/blob-sealing.service.mjs";
2
+ import { actorFileStorage } from "../../host/file/actor-file-storage.sql.mjs";
3
+ import { blobHomeOn, canonicalHome } from "../../host/file/blob-home.sql.mjs";
4
+ import { actorFilesOn, blobOwnerOn } from "../../host/file/local-blob-owner.sql.mjs";
5
+ import { BlobHashing } from "../../host/hash/blob-hashing.service.mjs";
6
+ import { blobHashing } from "../../runtime/blob-hashing.layer.mjs";
7
+ import { Context, Effect, Layer } from "effect";
8
+ // src/serve/hosted/hosted-files.layer.ts
9
+ /**
10
+ * A file home for a host that keeps its own SQLite connections, such as one per Cloud shard: blobs are written under
11
+ * `root` (created if missing), sealed by the provided `BlobSealing`, and their catalog (claims and reference counts) lives on `catalog`,
12
+ * which only this home writes. Blobs adopted from another home are checked with akter's own SHA-256, so the host
13
+ * provides no hashing. Its transfers close with the scope.
14
+ */
15
+ const hostedFileHome = ({ catalog, root }) => Effect.gen(function* openHostedFileHome() {
16
+ const sealing = yield* BlobSealing;
17
+ const hashed = yield* Layer.build(blobHashing);
18
+ const hashing = Context.get(hashed, BlobHashing);
19
+ const canonical = yield* canonicalHome(root);
20
+ return yield* blobHomeOn({
21
+ catalog,
22
+ hashing,
23
+ root: canonical,
24
+ sealing
25
+ });
26
+ });
27
+ /**
28
+ * Gives an opened actor its files on `home`. `identity` names the actor to the sealing keyring and the catalog, and
29
+ * every read and write of the actor's own file tables goes through `exclusive`, the host's serializer for the actor's
30
+ * connection, so it never interleaves with a command batch. It recovers unfinished transfers, settles references and
31
+ * keeps them settled until the scope closes. Commands of the returned actor reach the files through `Akter.files`.
32
+ */
33
+ const hostedActorFiles = ({ exclusive, home, identity, opened, snapshot }) => Effect.gen(function* openHostedActorFiles() {
34
+ const owner = yield* blobOwnerOn({
35
+ actor: identity,
36
+ exclusive,
37
+ snapshot,
38
+ sql: opened.sql
39
+ });
40
+ const fileSession = yield* actorFilesOn({
41
+ home,
42
+ owner,
43
+ sql: opened.sql
44
+ });
45
+ return {
46
+ ...opened,
47
+ fileSession,
48
+ files: (sql) => actorFileStorage({
49
+ actor: identity,
50
+ open: home.transfers.open,
51
+ sql
52
+ })
53
+ };
54
+ });
55
+ export { hostedActorFiles, hostedFileHome };
@@ -0,0 +1,42 @@
1
+ import { ActorRegistry } from "../../contract/actor/actor-registry.service.mjs";
2
+ import { DeclaredActor, HostedKept, HostedOpening, HostedRuntime, HostedUpkeep } from "./hosted-runtime.service.mjs";
3
+ import { RefusedBuild } from "./hosted-app-checks.layer.mjs";
4
+ import { ActorSecrets, SecretRequest } from "../../contract/secret/actor-secrets.adapter.mjs";
5
+ import { ExecutionAuthority, ExecutionGuard } from "../../host/upkeep/execution-authority.pure.mjs";
6
+ import { engineOwnedRefusal } from "../../contract/hosted/handler-failure.pure.mjs";
7
+ import { HandlerSql, QueryReadOnly, engineOwned } from "../../host/query/query-policy.pure.mjs";
8
+ import { CommandBatch, CommandBatchScope as Batch, commandBatch, dropCommand, keepCommand } from "../../host/command/batch/command-batch.sql.mjs";
9
+ import { ActorConnectionOpener, ActorConnections, ActorDatabaseTarget, SqliteHandle, SqliteRow, SqliteStatement, SqliteValue } from "../../host/sqlite/actor-connections.pure.mjs";
10
+ import { HostedAppBuildError } from "./hosted-app-build.errors.mjs";
11
+ import { bundleHostInterface, hostInterface, hostInterfaceLine, hostInterfaceOf, oldestHostInterface, servesHostInterface } from "../../contract/actor/host-interface.pure.mjs";
12
+ import { JobComputers } from "../../host/computer/job-computers.service.mjs";
13
+ import { LocalBlobHome } from "../../host/file/blob-home.sql.mjs";
14
+ import { HostedActorFilesOpening, HostedFileHomeOpening, hostedActorFiles, hostedFileHome } from "./hosted-files.layer.mjs";
15
+ import { ServeDurableSteps, hostedFileRpcs, hostedFileRpcsWith } from "./hosted-file-rpcs.layer.mjs";
16
+ import { UploadLimits, defaultUploadLimits } from "../rpc/file/upload-sessions.pure.mjs";
17
+ import "../../host/file/local-blob-home.service.mjs";
18
+ import { JobStore } from "../../host/job/job-runs.pure.mjs";
19
+ import { LocalActorFiles } from "../../host/file/local-blob-owner.sql.mjs";
20
+ import { ExportHold, ExportedFile, HeldBlob, HeldLookup, HeldPage, heldExportFile, heldExportFiles, holdExportFiles } from "../../host/blob/export/blob-export-holds.sql.mjs";
21
+ import { ArchivedActors } from "../archive/archived-actors.layer.mjs";
22
+ import { ArchivedStore } from "../archive/archived-store.layer.mjs";
23
+ import { BlobKeyring } from "../../host/blob/blob-keyring.service.mjs";
24
+ import { BlobSealing } from "../../host/blob/blob-sealing.service.mjs";
25
+ import { BlobTransferError } from "../../contract/file/blob-transfer.errors.mjs";
26
+ import { blobHashing } from "../../runtime/blob-hashing.layer.mjs";
27
+ import { BlobHashing } from "../../host/hash/blob-hashing.service.mjs";
28
+ import { CommittedCommand, HostFailure, LiveActor } from "../live/live-reads.service.mjs";
29
+ import { LiveUpdate } from "../../contract/client/actor-rpc.contract.mjs";
30
+ import { QueryRequest } from "../../host/query/query-runner.service.mjs";
31
+ import { OpenedActor } from "../../host/actor/actor-database.service.mjs";
32
+ import { CommandRequest, CreationRequest } from "../../host/command/command-runner.service.mjs";
33
+ import { JournalWindow } from "../../contract/history/actor-journal.service.mjs";
34
+ import { FileForward } from "./hosted-file-forward.layer.mjs";
35
+ import "../../host/job/job-engine.adapter.mjs";
36
+ import { Delivery, DeliveryBatch } from "../../host/outbox/outbox-runner.service.mjs";
37
+ import { JobAddress } from "../../contract/job/job-id.pure.mjs";
38
+ import { Layer } from "effect";
39
+ import { WorkflowEngine } from "effect/workflow";
40
+ declare const hostedRuntime: Layer.Layer<HostedRuntime | WorkflowEngine.WorkflowEngine>;
41
+ declare const hostedApp: <Output, Failure>(app: Layer.Layer<Output, Failure, ActorRegistry | WorkflowEngine.WorkflowEngine>) => Layer.Layer<HostedRuntime | WorkflowEngine.WorkflowEngine, Failure | RefusedBuild>;
42
+ export { type ActorConnectionOpener, ActorConnections, type ActorDatabaseTarget, ActorSecrets, ArchivedActors, ArchivedStore, BlobHashing, BlobKeyring, BlobSealing, BlobTransferError, CommandBatch, type Batch as CommandBatchScope, type CommandRequest, type CommittedCommand, type CreationRequest, type DeclaredActor, type Delivery, type DeliveryBatch, ExecutionAuthority, type ExecutionGuard, type ExportHold, type ExportedFile, type FileForward, HandlerSql, type HeldBlob, type HeldLookup, type HeldPage, type HostFailure, type HostedActorFilesOpening, HostedAppBuildError, type LocalBlobHome as HostedFileHome, type HostedFileHomeOpening, type LocalActorFiles as HostedFileSession, type HostedKept, type HostedOpening, HostedRuntime, type HostedUpkeep, type JobAddress, JobComputers, type JobStore, type JournalWindow, type LiveActor, type LiveUpdate, type OpenedActor, QueryReadOnly, type QueryRequest, type SecretRequest, ServeDurableSteps, type SqliteHandle, type SqliteRow, type SqliteStatement, type SqliteValue, type UploadLimits, blobHashing, bundleHostInterface, commandBatch, defaultUploadLimits, dropCommand, engineOwned, engineOwnedRefusal, heldExportFile, heldExportFiles, holdExportFiles, hostInterface, hostInterfaceLine, hostInterfaceOf, hostedActorFiles, hostedApp, hostedFileHome, hostedFileRpcs, hostedFileRpcsWith, hostedRuntime, keepCommand, oldestHostInterface, servesHostInterface };