@astrale-os/kernel-core 0.9.0-beta.9 → 0.9.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 (380) hide show
  1. package/dist/auth/authority/accept.js +4 -0
  2. package/dist/auth/authority/admission/admission.d.ts +4 -1
  3. package/dist/auth/authority/admission/admission.js +46 -147
  4. package/dist/auth/authority/admission/index.d.ts +1 -1
  5. package/dist/auth/authority/admission/index.js +1 -1
  6. package/dist/auth/authority/admission/references.d.ts +13 -0
  7. package/dist/auth/authority/admission/references.js +38 -0
  8. package/dist/auth/authority/admission/term.d.ts +6 -0
  9. package/dist/auth/authority/admission/term.js +60 -0
  10. package/dist/auth/authority/admission/wire.d.ts +8 -0
  11. package/dist/auth/authority/admission/wire.js +33 -0
  12. package/dist/auth/authority/canonical.d.ts +2 -0
  13. package/dist/auth/authority/canonical.js +15 -0
  14. package/dist/auth/authority/index.d.ts +9 -2
  15. package/dist/auth/authority/index.js +6 -1
  16. package/dist/auth/authority/language/index.d.ts +3 -1
  17. package/dist/auth/authority/language/index.js +1 -0
  18. package/dist/auth/authority/language/predicate.d.ts +31 -16
  19. package/dist/auth/authority/language/predicate.js +1 -1
  20. package/dist/auth/authority/language/program.d.ts +21 -0
  21. package/dist/auth/authority/language/program.js +2 -0
  22. package/dist/auth/authority/normalization/index.d.ts +1 -1
  23. package/dist/auth/authority/normalization/index.js +1 -1
  24. package/dist/auth/authority/normalization/normalize.d.ts +2 -0
  25. package/dist/auth/authority/normalization/normalize.js +38 -16
  26. package/dist/auth/authority/ownership.optimization.d.ts +8 -0
  27. package/dist/auth/authority/ownership.optimization.js +83 -0
  28. package/dist/auth/authority/prepare-binder-body.d.ts +4 -0
  29. package/dist/auth/authority/prepare-binder-body.js +31 -0
  30. package/dist/auth/authority/program.d.ts +28 -0
  31. package/dist/auth/authority/program.js +191 -0
  32. package/dist/auth/authority/semantics/class-authority.d.ts +8 -0
  33. package/dist/auth/authority/semantics/class-authority.js +26 -0
  34. package/dist/auth/authority/semantics/composition.d.ts +46 -0
  35. package/dist/auth/authority/semantics/composition.js +150 -0
  36. package/dist/auth/authority/semantics/failure.d.ts +21 -0
  37. package/dist/auth/authority/semantics/failure.js +10 -0
  38. package/dist/auth/authority/semantics/index.d.ts +13 -0
  39. package/dist/auth/authority/semantics/index.js +6 -0
  40. package/dist/auth/authority/semantics/interpret.d.ts +41 -0
  41. package/dist/auth/authority/semantics/interpret.js +388 -0
  42. package/dist/auth/authority/semantics/residual.d.ts +32 -0
  43. package/dist/auth/authority/semantics/residual.js +166 -0
  44. package/dist/auth/authority/semantics/snapshot.d.ts +40 -0
  45. package/dist/auth/authority/semantics/terms.d.ts +22 -0
  46. package/dist/auth/authority/semantics/terms.js +96 -0
  47. package/dist/auth/authority/semantics/vocabulary.d.ts +19 -0
  48. package/dist/auth/context/context.d.ts +4 -3
  49. package/dist/auth/expression/authoring/builder.d.ts +2 -11
  50. package/dist/auth/expression/authoring/builder.js +1 -45
  51. package/dist/auth/expression/authoring/index.d.ts +1 -1
  52. package/dist/auth/expression/authoring/index.js +1 -1
  53. package/dist/auth/expression/index.d.ts +1 -2
  54. package/dist/auth/expression/index.js +1 -2
  55. package/dist/auth/expression/language/identity-expression.d.ts +2 -22
  56. package/dist/auth/grant/index.d.ts +1 -1
  57. package/dist/auth/grant/index.js +1 -1
  58. package/dist/auth/grant/resolved/admission.d.ts +4 -3
  59. package/dist/auth/grant/resolved/admission.js +23 -13
  60. package/dist/auth/grant/resolved/grant.d.ts +1 -1
  61. package/dist/auth/grant/resolved/index.d.ts +1 -1
  62. package/dist/auth/grant/resolved/index.js +1 -1
  63. package/dist/auth/grant/unresolved/admission.d.ts +4 -1
  64. package/dist/auth/grant/unresolved/admission.js +27 -67
  65. package/dist/auth/grant/unresolved/limits.d.ts +2 -4
  66. package/dist/auth/grant/unresolved/limits.js +1 -5
  67. package/dist/auth/identity/admission.js +11 -3
  68. package/dist/auth/identity/identity.d.ts +15 -3
  69. package/dist/auth/identity/index.d.ts +1 -1
  70. package/dist/auth/index.d.ts +4 -4
  71. package/dist/auth/index.js +1 -1
  72. package/dist/auth/jwk/index.d.ts +1 -1
  73. package/dist/auth/jwk/index.js +1 -1
  74. package/dist/auth/jwk/thumbprint.d.ts +2 -0
  75. package/dist/auth/jwk/thumbprint.js +12 -6
  76. package/dist/auth/register/fingerprint/fingerprint.d.ts +25 -0
  77. package/dist/auth/register/fingerprint/fingerprint.js +31 -0
  78. package/dist/auth/register/fingerprint/index.d.ts +2 -0
  79. package/dist/auth/register/index.d.ts +5 -0
  80. package/dist/auth/register/request/admission.d.ts +3 -0
  81. package/dist/auth/register/request/admission.js +103 -0
  82. package/dist/auth/register/request/index.d.ts +3 -0
  83. package/dist/auth/register/request/limits.d.ts +6 -0
  84. package/dist/auth/register/request/limits.js +6 -0
  85. package/dist/auth/register/request/request.d.ts +19 -0
  86. package/dist/auth/{provision → register}/request/self-issuer.d.ts +1 -1
  87. package/dist/auth/{provision → register}/request/self-issuer.js +1 -1
  88. package/dist/auth/register/result/index.d.ts +1 -0
  89. package/dist/auth/register/result/result.d.ts +10 -0
  90. package/dist/auth/register/result/result.js +1 -0
  91. package/dist/callable/contract/body.d.ts +10 -0
  92. package/dist/callable/contract/body.js +7 -0
  93. package/dist/callable/contract/index.d.ts +2 -1
  94. package/dist/callable/contract/index.js +1 -1
  95. package/dist/callable/contract/output.d.ts +18 -2
  96. package/dist/callable/index.d.ts +3 -2
  97. package/dist/callable/index.js +2 -1
  98. package/dist/callable/invocation/call.d.ts +16 -2
  99. package/dist/callable/invocation/call.js +41 -1
  100. package/dist/callable/invocation/index.d.ts +1 -1
  101. package/dist/callable/invocation/index.js +1 -1
  102. package/dist/callable/invocation/result.d.ts +10 -3
  103. package/dist/dns-label.d.ts +1 -2
  104. package/dist/dns-label.js +2 -3
  105. package/dist/graph/graph/graph.d.ts +1 -5
  106. package/dist/graph/graph/graph.js +3 -27
  107. package/dist/graph/graph/index.d.ts +2 -4
  108. package/dist/graph/graph/index.js +2 -3
  109. package/dist/graph/graph/model/codec.js +4 -4
  110. package/dist/graph/graph/model/index.d.ts +1 -1
  111. package/dist/graph/graph/model/index.js +1 -1
  112. package/dist/graph/graph/model/model.d.ts +7 -7
  113. package/dist/graph/graph/model/model.js +6 -6
  114. package/dist/graph/graph/model/wire.d.ts +58 -78
  115. package/dist/graph/graph/model/wire.js +18 -19
  116. package/dist/graph/mutate/authoring/builder.d.ts +2 -2
  117. package/dist/graph/mutate/authoring/builder.js +2 -2
  118. package/dist/graph/mutate/authoring/create.js +13 -5
  119. package/dist/graph/mutate/index.d.ts +1 -1
  120. package/dist/graph/mutate/language/codec.js +3 -3
  121. package/dist/graph/mutate/language/model.d.ts +4 -4
  122. package/dist/graph/mutate/language/wire.d.ts +226 -215
  123. package/dist/graph/mutate/language/wire.js +42 -47
  124. package/dist/graph/mutate/result/index.d.ts +4 -3
  125. package/dist/graph/mutate/result/index.js +8 -6
  126. package/dist/graph/mutate/result/wire.d.ts +4 -4
  127. package/dist/graph/mutate/result/wire.js +7 -4
  128. package/dist/graph/node/identity/id.d.ts +0 -4
  129. package/dist/graph/node/identity/id.js +0 -5
  130. package/dist/graph/node/identity/order.js +20 -0
  131. package/dist/graph/path/authoring/path.d.ts +8 -5
  132. package/dist/graph/path/authoring/path.js +21 -3
  133. package/dist/graph/path/language/model.d.ts +8 -3
  134. package/dist/graph/path/language/syntax.js +23 -8
  135. package/dist/graph/query/authoring/builder.js +37 -5
  136. package/dist/graph/query/authoring/model.d.ts +20 -1
  137. package/dist/graph/query/index.d.ts +4 -2
  138. package/dist/graph/query/index.js +1 -0
  139. package/dist/graph/query/language/codec.js +18 -3
  140. package/dist/graph/query/language/fingerprint.js +8 -0
  141. package/dist/graph/query/language/model.d.ts +22 -4
  142. package/dist/graph/query/language/wire.d.ts +124 -114
  143. package/dist/graph/query/language/wire.js +54 -47
  144. package/dist/graph/query/order/index.d.ts +53 -0
  145. package/dist/graph/query/order/index.js +79 -0
  146. package/dist/graph/query/reference/evaluate.d.ts +1 -0
  147. package/dist/graph/query/reference/evaluate.js +39 -52
  148. package/dist/graph/query/result/index.js +1 -1
  149. package/dist/graph/query/result/wire.d.ts +93 -94
  150. package/dist/graph/query/result/wire.js +20 -20
  151. package/dist/graph/reconcile/condition/model.d.ts +2 -2
  152. package/dist/graph/reconcile/condition/references.d.ts +0 -1
  153. package/dist/graph/reconcile/condition/references.js +4 -4
  154. package/dist/graph/reconcile/correspondence.d.ts +9 -8
  155. package/dist/graph/reconcile/evidence.d.ts +2 -2
  156. package/dist/graph/reconcile/mutation/assess.d.ts +2 -1
  157. package/dist/graph/reconcile/observation.d.ts +4 -3
  158. package/dist/graph/reconcile/planning/canonical.d.ts +6 -0
  159. package/dist/graph/reconcile/planning/canonical.js +28 -0
  160. package/dist/graph/reconcile/planning/context.d.ts +3 -3
  161. package/dist/graph/reconcile/planning/model.d.ts +8 -4
  162. package/dist/graph/reconcile/planning/plan.js +2 -1
  163. package/dist/schema/authority/authority-relation.js +3 -0
  164. package/dist/schema/authority/claims.d.ts +24 -25
  165. package/dist/schema/authority/claims.js +8 -8
  166. package/dist/schema/authority/governed-by.d.ts +16 -91
  167. package/dist/schema/authority/governed-by.js +1 -1
  168. package/dist/schema/authority/operation-node.d.ts +27 -13
  169. package/dist/schema/authority/operations.d.ts +8 -168
  170. package/dist/schema/authority/policy.d.ts +27 -15
  171. package/dist/schema/authority/vocabulary.d.ts +3 -0
  172. package/dist/schema/authority/vocabulary.js +25 -0
  173. package/dist/schema/callables/entrypoint.d.ts +32 -0
  174. package/dist/schema/callables/entrypoint.js +12 -0
  175. package/dist/schema/callables/execution.d.ts +569 -0
  176. package/dist/schema/callables/execution.js +32 -0
  177. package/dist/schema/callables/function.d.ts +3400 -55
  178. package/dist/schema/callables/function.js +6 -4
  179. package/dist/schema/callables/index.d.ts +2 -1
  180. package/dist/schema/callables/index.js +2 -1
  181. package/dist/schema/callables/method-of.d.ts +18 -143
  182. package/dist/schema/callables/method-of.js +2 -2
  183. package/dist/schema/callables/view.d.ts +83 -51
  184. package/dist/schema/definitions/class.d.ts +45 -33
  185. package/dist/schema/definitions/extends.d.ts +16 -110
  186. package/dist/schema/definitions/instance-of.d.ts +17 -69
  187. package/dist/schema/domain/domain.d.ts +3343 -148
  188. package/dist/schema/domain/domain.js +6 -3
  189. package/dist/schema/domain/of-domain.d.ts +18 -192
  190. package/dist/schema/domain/of-domain.js +1 -1
  191. package/dist/schema/identity/composition.d.ts +5 -0
  192. package/dist/schema/identity/composition.js +5 -0
  193. package/dist/schema/identity/identity.d.ts +225 -122
  194. package/dist/schema/identity/identity.js +3 -4
  195. package/dist/schema/index.d.ts +1 -0
  196. package/dist/schema/index.js +1 -0
  197. package/dist/schema/installation/operation-id.d.ts +1 -2
  198. package/dist/schema/installation/operation-id.js +2 -4
  199. package/dist/schema/introspection/index.d.ts +1 -1
  200. package/dist/schema/introspection/language.d.ts +12 -28
  201. package/dist/schema/kernel/projection/callables.js +2 -3
  202. package/dist/schema/kernel/projection/core.d.ts +7 -0
  203. package/dist/schema/kernel/projection/core.js +51 -0
  204. package/dist/schema/kernel/projection/definitions.d.ts +13 -0
  205. package/dist/schema/kernel/projection/definitions.js +71 -0
  206. package/dist/schema/kernel/projection/index.d.ts +3 -3
  207. package/dist/schema/kernel/projection/index.js +2 -2
  208. package/dist/schema/kernel/projection/methods.d.ts +5 -0
  209. package/dist/schema/kernel/projection/methods.js +41 -0
  210. package/dist/schema/kernel/projection/part.d.ts +34 -0
  211. package/dist/schema/kernel/projection/part.js +42 -0
  212. package/dist/schema/kernel/projection/paths.d.ts +6 -0
  213. package/dist/schema/kernel/projection/{keys.js → paths.js} +12 -14
  214. package/dist/schema/kernel/projection/project.d.ts +4 -2
  215. package/dist/schema/kernel/projection/project.js +33 -258
  216. package/dist/schema/kernel/projection/properties.d.ts +11 -0
  217. package/dist/schema/kernel/projection/properties.js +36 -0
  218. package/dist/schema/kernel/projection/relations.d.ts +7 -0
  219. package/dist/schema/kernel/projection/relations.js +61 -0
  220. package/dist/schema/kernel/projection/types.d.ts +28 -2
  221. package/dist/schema/kernel/schema.d.ts +9008 -4939
  222. package/dist/schema/kernel/schema.js +12 -8
  223. package/dist/schema/kernel/syscalls/contracts/admit.d.ts +15 -12
  224. package/dist/schema/kernel/syscalls/contracts/admit.js +16 -9
  225. package/dist/schema/kernel/syscalls/contracts/blob.d.ts +31 -0
  226. package/dist/schema/kernel/syscalls/contracts/blob.js +24 -0
  227. package/dist/schema/kernel/syscalls/contracts/can.d.ts +19 -8
  228. package/dist/schema/kernel/syscalls/contracts/can.js +12 -4
  229. package/dist/schema/kernel/syscalls/contracts/delegate.d.ts +6 -7
  230. package/dist/schema/kernel/syscalls/contracts/delegate.js +5 -5
  231. package/dist/schema/kernel/syscalls/contracts/execution.d.ts +300 -0
  232. package/dist/schema/kernel/syscalls/contracts/execution.js +116 -0
  233. package/dist/schema/kernel/syscalls/contracts/expected.d.ts +5 -0
  234. package/dist/schema/kernel/syscalls/contracts/expected.js +9 -0
  235. package/dist/schema/kernel/syscalls/contracts/identity.d.ts +18 -19
  236. package/dist/schema/kernel/syscalls/contracts/identity.js +6 -7
  237. package/dist/schema/kernel/syscalls/contracts/impersonate.d.ts +6 -0
  238. package/dist/schema/kernel/syscalls/contracts/impersonate.js +4 -0
  239. package/dist/schema/kernel/syscalls/contracts/index.d.ts +6 -3
  240. package/dist/schema/kernel/syscalls/contracts/index.js +6 -3
  241. package/dist/schema/kernel/syscalls/contracts/install.d.ts +309 -217
  242. package/dist/schema/kernel/syscalls/contracts/install.js +68 -26
  243. package/dist/schema/kernel/syscalls/contracts/installation.d.ts +70 -351
  244. package/dist/schema/kernel/syscalls/contracts/installation.js +29 -67
  245. package/dist/schema/kernel/syscalls/contracts/introspect.d.ts +11 -15
  246. package/dist/schema/kernel/syscalls/contracts/introspect.js +8 -15
  247. package/dist/schema/kernel/syscalls/contracts/journal.d.ts +26 -27
  248. package/dist/schema/kernel/syscalls/contracts/journal.js +15 -15
  249. package/dist/schema/kernel/syscalls/contracts/mint.d.ts +5 -7
  250. package/dist/schema/kernel/syscalls/contracts/mint.js +4 -5
  251. package/dist/schema/kernel/syscalls/contracts/mutate.d.ts +243 -224
  252. package/dist/schema/kernel/syscalls/contracts/mutate.js +7 -1
  253. package/dist/schema/kernel/syscalls/contracts/query.d.ts +239 -222
  254. package/dist/schema/kernel/syscalls/contracts/query.js +17 -15
  255. package/dist/schema/kernel/syscalls/contracts/register.d.ts +20 -0
  256. package/dist/schema/kernel/syscalls/contracts/register.js +24 -0
  257. package/dist/schema/kernel/syscalls/contracts/uninstall.d.ts +55 -148
  258. package/dist/schema/kernel/syscalls/contracts/uninstall.js +7 -5
  259. package/dist/schema/kernel/syscalls/contracts/view-host-requirements.d.ts +17 -0
  260. package/dist/schema/kernel/syscalls/contracts/view-host-requirements.js +40 -0
  261. package/dist/schema/kernel/syscalls/contracts/view-resolve.d.ts +27 -28
  262. package/dist/schema/kernel/syscalls/contracts/view-resolve.js +16 -24
  263. package/dist/schema/kernel/syscalls/contracts/whoami.d.ts +19 -20
  264. package/dist/schema/kernel/syscalls/contracts/whoami.js +2 -2
  265. package/dist/schema/kernel/syscalls/contracts/whois.d.ts +22 -23
  266. package/dist/schema/kernel/syscalls/contracts/whois.js +3 -3
  267. package/dist/schema/kernel/syscalls/declarations/admit.d.ts +18 -18
  268. package/dist/schema/kernel/syscalls/declarations/admit.js +3 -3
  269. package/dist/schema/kernel/syscalls/declarations/can.d.ts +19 -14
  270. package/dist/schema/kernel/syscalls/declarations/can.js +4 -4
  271. package/dist/schema/kernel/syscalls/declarations/delegate.d.ts +9 -12
  272. package/dist/schema/kernel/syscalls/declarations/delegate.js +4 -4
  273. package/dist/schema/kernel/syscalls/declarations/download.d.ts +12 -0
  274. package/dist/schema/kernel/syscalls/declarations/download.js +10 -0
  275. package/dist/schema/kernel/syscalls/declarations/execution.d.ts +255 -0
  276. package/dist/schema/kernel/syscalls/declarations/execution.js +52 -0
  277. package/dist/schema/kernel/syscalls/declarations/impersonate.d.ts +9 -0
  278. package/dist/schema/kernel/syscalls/declarations/impersonate.js +12 -0
  279. package/dist/schema/kernel/syscalls/declarations/index.d.ts +1079 -1323
  280. package/dist/schema/kernel/syscalls/declarations/index.js +18 -2
  281. package/dist/schema/kernel/syscalls/declarations/install.d.ts +85 -172
  282. package/dist/schema/kernel/syscalls/declarations/install.js +7 -3
  283. package/dist/schema/kernel/syscalls/declarations/introspect.d.ts +8 -19
  284. package/dist/schema/kernel/syscalls/declarations/introspect.js +3 -4
  285. package/dist/schema/kernel/syscalls/declarations/journal.d.ts +29 -31
  286. package/dist/schema/kernel/syscalls/declarations/journal.js +4 -2
  287. package/dist/schema/kernel/syscalls/declarations/mint.d.ts +8 -13
  288. package/dist/schema/kernel/syscalls/declarations/mint.js +5 -5
  289. package/dist/schema/kernel/syscalls/declarations/mutate.d.ts +239 -256
  290. package/dist/schema/kernel/syscalls/declarations/mutate.js +4 -2
  291. package/dist/schema/kernel/syscalls/declarations/query.d.ts +236 -260
  292. package/dist/schema/kernel/syscalls/declarations/query.js +4 -2
  293. package/dist/schema/kernel/syscalls/declarations/register.d.ts +23 -0
  294. package/dist/schema/kernel/syscalls/declarations/register.js +10 -0
  295. package/dist/schema/kernel/syscalls/declarations/uninstall.d.ts +51 -153
  296. package/dist/schema/kernel/syscalls/declarations/uninstall.js +6 -2
  297. package/dist/schema/kernel/syscalls/declarations/upload.d.ts +15 -0
  298. package/dist/schema/kernel/syscalls/declarations/upload.js +10 -0
  299. package/dist/schema/kernel/syscalls/declarations/use-policy.d.ts +4 -0
  300. package/dist/schema/kernel/syscalls/declarations/use-policy.js +9 -0
  301. package/dist/schema/kernel/syscalls/declarations/view-resolve.d.ts +30 -37
  302. package/dist/schema/kernel/syscalls/declarations/view-resolve.js +5 -3
  303. package/dist/schema/kernel/syscalls/declarations/whoami.d.ts +22 -26
  304. package/dist/schema/kernel/syscalls/declarations/whoami.js +3 -3
  305. package/dist/schema/kernel/syscalls/declarations/whois.d.ts +25 -29
  306. package/dist/schema/kernel/syscalls/declarations/whois.js +5 -3
  307. package/dist/schema/kernel/syscalls/descriptors/execution.d.ts +303 -0
  308. package/dist/schema/kernel/syscalls/descriptors/execution.js +11 -0
  309. package/dist/schema/kernel/syscalls/descriptors/function.d.ts +8 -2
  310. package/dist/schema/kernel/syscalls/descriptors/functions.d.ts +3 -1
  311. package/dist/schema/kernel/syscalls/descriptors/functions.js +3 -1
  312. package/dist/schema/kernel/syscalls/descriptors/identity.d.ts +47 -13
  313. package/dist/schema/kernel/syscalls/descriptors/identity.js +2 -1
  314. package/dist/schema/kernel/syscalls/descriptors/index.d.ts +2 -1
  315. package/dist/schema/kernel/syscalls/descriptors/index.js +2 -1
  316. package/dist/schema/kernel/syscalls/descriptors/results/view-resolution.d.ts +5 -2
  317. package/dist/schema/kernel/syscalls/descriptors/results/view-resolution.js +8 -38
  318. package/dist/schema/kernel/syscalls/descriptors/view.d.ts +11 -9
  319. package/dist/schema/kernel/syscalls/index.d.ts +2 -2
  320. package/dist/schema/kernel/syscalls/index.js +2 -2
  321. package/dist/schema/kernel/syscalls/references/execution.d.ts +55 -0
  322. package/dist/schema/kernel/syscalls/references/execution.js +13 -0
  323. package/dist/schema/kernel/syscalls/references/functions.d.ts +12 -2
  324. package/dist/schema/kernel/syscalls/references/functions.js +3 -1
  325. package/dist/schema/kernel/syscalls/references/identity.d.ts +9 -0
  326. package/dist/schema/kernel/syscalls/references/identity.js +1 -0
  327. package/dist/schema/kernel/syscalls/references/index.d.ts +2 -1
  328. package/dist/schema/kernel/syscalls/references/index.js +2 -1
  329. package/dist/schema/meta/created-by.d.ts +32 -0
  330. package/dist/schema/meta/created-by.js +17 -0
  331. package/dist/schema/meta/descriptable.d.ts +13 -11
  332. package/dist/schema/meta/edge.d.ts +5 -9
  333. package/dist/schema/meta/iconable.d.ts +13 -11
  334. package/dist/schema/meta/index.d.ts +1 -0
  335. package/dist/schema/meta/index.js +1 -0
  336. package/dist/schema/meta/named.d.ts +13 -9
  337. package/dist/schema/meta/node.d.ts +9 -1
  338. package/dist/schema/meta/remotable.d.ts +15 -22
  339. package/dist/schema/meta/statused.d.ts +13 -7
  340. package/dist/schema/meta/timestamped.d.ts +14 -12
  341. package/package.json +9 -7
  342. package/dist/auth/expression/normalization/canonicalize.d.ts +0 -7
  343. package/dist/auth/expression/normalization/canonicalize.js +0 -102
  344. package/dist/auth/expression/normalization/index.d.ts +0 -2
  345. package/dist/auth/expression/normalization/index.js +0 -2
  346. package/dist/auth/expression/normalization/raise-denials.d.ts +0 -3
  347. package/dist/auth/expression/normalization/raise-denials.js +0 -59
  348. package/dist/auth/provision/fingerprint/fingerprint.d.ts +0 -9
  349. package/dist/auth/provision/fingerprint/fingerprint.js +0 -33
  350. package/dist/auth/provision/fingerprint/index.d.ts +0 -2
  351. package/dist/auth/provision/index.d.ts +0 -5
  352. package/dist/auth/provision/request/admission.d.ts +0 -3
  353. package/dist/auth/provision/request/admission.js +0 -125
  354. package/dist/auth/provision/request/index.d.ts +0 -3
  355. package/dist/auth/provision/request/request.d.ts +0 -29
  356. package/dist/auth/provision/result/index.d.ts +0 -1
  357. package/dist/auth/provision/result/result.d.ts +0 -12
  358. package/dist/graph/graph/navigation/error.d.ts +0 -12
  359. package/dist/graph/graph/navigation/error.js +0 -20
  360. package/dist/graph/graph/navigation/index.d.ts +0 -2
  361. package/dist/graph/graph/navigation/index.js +0 -1
  362. package/dist/graph/graph/navigation/model.d.ts +0 -15
  363. package/dist/schema/callables/view-for.d.ts +0 -296
  364. package/dist/schema/callables/view-for.js +0 -12
  365. package/dist/schema/kernel/projection/keys.d.ts +0 -3
  366. package/dist/schema/kernel/projection/path.d.ts +0 -2
  367. package/dist/schema/kernel/projection/path.js +0 -140
  368. package/dist/schema/kernel/syscalls/contracts/provision.d.ts +0 -292
  369. package/dist/schema/kernel/syscalls/contracts/provision.js +0 -19
  370. package/dist/schema/kernel/syscalls/declarations/define.d.ts +0 -5
  371. package/dist/schema/kernel/syscalls/declarations/define.js +0 -7
  372. package/dist/schema/kernel/syscalls/declarations/provision.d.ts +0 -296
  373. package/dist/schema/kernel/syscalls/declarations/provision.js +0 -8
  374. /package/dist/auth/{provision/request/request.js → authority/semantics/snapshot.js} +0 -0
  375. /package/dist/auth/{provision/result/index.js → authority/semantics/vocabulary.js} +0 -0
  376. /package/dist/auth/{provision → register}/fingerprint/index.js +0 -0
  377. /package/dist/auth/{provision → register}/index.js +0 -0
  378. /package/dist/auth/{provision → register}/request/index.js +0 -0
  379. /package/dist/auth/{provision/result/result.js → register/request/request.js} +0 -0
  380. /package/dist/{graph/graph/navigation/model.js → auth/register/result/index.js} +0 -0
@@ -1,229 +1,279 @@
1
- import type { ClassRef, Key } from '@astrale-os/kernel-dsl/v1';
2
- import { z } from 'zod';
3
- import type { AuthorityOperation } from '../../../authority/operation.js';
4
1
  import type { OperationId } from '../../../installation/operation-id.js';
5
- export declare const installInput: z.ZodObject<{
6
- operation: z.ZodString;
7
- domains: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
8
- source: z.ZodObject<{
9
- kind: z.ZodLiteral<"local">;
10
- artifact: z.ZodObject<{
11
- digest: z.ZodString;
12
- mediaType: z.ZodString;
13
- size: z.ZodNumber;
14
- }, z.core.$strict>;
15
- }, z.core.$strict>;
16
- currentRevision: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
- }, z.core.$strict>, z.ZodObject<{
18
- source: z.ZodObject<{
19
- kind: z.ZodLiteral<"remote">;
20
- url: z.ZodString;
21
- token: z.ZodOptional<z.ZodString>;
22
- }, z.core.$strict>;
23
- targetRevision: z.ZodOptional<z.ZodString>;
24
- targetEtag: z.ZodOptional<z.ZodString>;
25
- currentRevision: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
- }, z.core.$strict>]>>;
27
- }, z.core.$strict>;
28
- export declare const installOutput: z.ZodObject<{
29
- operation: z.ZodString;
30
- transitions: z.ZodArray<z.ZodObject<{
31
- intent: z.ZodObject<{
32
- transition: z.ZodString;
33
- operation: z.ZodString;
34
- installation: z.ZodString;
35
- origin: z.ZodString;
36
- source: z.ZodNullable<z.ZodObject<{
37
- origin: z.ZodString;
38
- schemaRevision: z.ZodString;
39
- schemaBundle: z.ZodString;
40
- service: z.ZodDiscriminatedUnion<[z.ZodObject<{
41
- kind: z.ZodLiteral<"local">;
42
- artifact: z.ZodString;
43
- }, z.core.$strict>, z.ZodObject<{
44
- kind: z.ZodLiteral<"remote">;
45
- etag: z.ZodString;
46
- }, z.core.$strict>], "kind">;
47
- capabilities: z.ZodObject<{
48
- functions: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
- classes: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
- class: z.ZodObject<{
51
- origin: z.ZodString;
52
- kind: z.ZodLiteral<"class">;
53
- name: z.ZodString;
54
- }, z.core.$strict>;
55
- operations: z.ZodArray<z.ZodEnum<{
56
- create: "create";
57
- delete: "delete";
58
- read: "read";
59
- traverse: "traverse";
60
- update: "update";
61
- }>>;
62
- }, z.core.$strict>>>;
63
- admin: z.ZodOptional<z.ZodObject<{
64
- grant: z.ZodOptional<z.ZodArray<z.ZodEnum<{
65
- create: "create";
66
- delete: "delete";
67
- grant: "grant";
68
- read: "read";
69
- revoke: "revoke";
70
- traverse: "traverse";
71
- update: "update";
72
- use: "use";
73
- }>>>;
74
- revoke: z.ZodOptional<z.ZodArray<z.ZodEnum<{
75
- create: "create";
76
- delete: "delete";
77
- grant: "grant";
78
- read: "read";
79
- revoke: "revoke";
80
- traverse: "traverse";
81
- update: "update";
82
- use: "use";
83
- }>>>;
84
- }, z.core.$strict>>;
85
- }, z.core.$strict>;
86
- dependencies: z.ZodArray<z.ZodObject<{
87
- origin: z.ZodString;
88
- installation: z.ZodString;
89
- target: z.ZodString;
90
- readinessReceipt: z.ZodString;
91
- meaningComparison: z.ZodString;
92
- }, z.core.$strict>>;
93
- }, z.core.$strict>>;
94
- target: z.ZodNullable<z.ZodObject<{
95
- origin: z.ZodString;
96
- schemaRevision: z.ZodString;
97
- schemaBundle: z.ZodString;
98
- service: z.ZodDiscriminatedUnion<[z.ZodObject<{
99
- kind: z.ZodLiteral<"local">;
100
- artifact: z.ZodString;
101
- }, z.core.$strict>, z.ZodObject<{
102
- kind: z.ZodLiteral<"remote">;
103
- etag: z.ZodString;
104
- }, z.core.$strict>], "kind">;
105
- capabilities: z.ZodObject<{
106
- functions: z.ZodOptional<z.ZodArray<z.ZodString>>;
107
- classes: z.ZodOptional<z.ZodArray<z.ZodObject<{
108
- class: z.ZodObject<{
109
- origin: z.ZodString;
110
- kind: z.ZodLiteral<"class">;
111
- name: z.ZodString;
112
- }, z.core.$strict>;
113
- operations: z.ZodArray<z.ZodEnum<{
114
- create: "create";
115
- delete: "delete";
116
- read: "read";
117
- traverse: "traverse";
118
- update: "update";
119
- }>>;
120
- }, z.core.$strict>>>;
121
- admin: z.ZodOptional<z.ZodObject<{
122
- grant: z.ZodOptional<z.ZodArray<z.ZodEnum<{
123
- create: "create";
124
- delete: "delete";
125
- grant: "grant";
126
- read: "read";
127
- revoke: "revoke";
128
- traverse: "traverse";
129
- update: "update";
130
- use: "use";
131
- }>>>;
132
- revoke: z.ZodOptional<z.ZodArray<z.ZodEnum<{
133
- create: "create";
134
- delete: "delete";
135
- grant: "grant";
136
- read: "read";
137
- revoke: "revoke";
138
- traverse: "traverse";
139
- update: "update";
140
- use: "use";
141
- }>>>;
142
- }, z.core.$strict>>;
143
- }, z.core.$strict>;
144
- dependencies: z.ZodArray<z.ZodObject<{
145
- origin: z.ZodString;
146
- installation: z.ZodString;
147
- target: z.ZodString;
148
- readinessReceipt: z.ZodString;
149
- meaningComparison: z.ZodString;
150
- }, z.core.$strict>>;
151
- }, z.core.$strict>>;
152
- }, z.core.$strict>;
153
- phase: z.ZodEnum<{
2
+ /**
3
+ * What an install does to the stored data: nothing changes (`noop`), it applies at once without
4
+ * reading the data (`immediate`), or it revalidates the data before it applies (`revalidate`).
5
+ */
6
+ export declare const INSTALL_CLASSES: readonly ["noop", "immediate", "revalidate"];
7
+ /**
8
+ * How an install runs. `online` (the default) keeps the Instance open: it validates online and
9
+ * only its activation briefly pauses writes. `maintenance`, for Root only, opens a maintenance
10
+ * session: the Instance is closed to every other caller while Root repairs the data in it, then
11
+ * applies the target.
12
+ */
13
+ export declare const INSTALL_MODES: readonly ["online", "maintenance"];
14
+ /** The validation options an install runs with, defaults filled in. */
15
+ export declare const validationOptions: import("zod").ZodObject<{
16
+ scope: import("zod").ZodEnum<{
17
+ full: "full";
18
+ incremental: "incremental";
19
+ }>;
20
+ counts: import("zod").ZodEnum<{
21
+ exact: "exact";
22
+ sample: "sample";
23
+ }>;
24
+ }, import("zod/v4/core").$strict>;
25
+ export declare const domainRequest: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
26
+ artifact: import("zod").ZodObject<{
27
+ digest: import("zod").ZodString;
28
+ mediaType: import("zod").ZodString;
29
+ size: import("zod").ZodNumber;
30
+ }, import("zod/v4/core").$strict>;
31
+ currentRevision: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
32
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
33
+ release: import("zod").ZodObject<{
34
+ url: import("zod").ZodString;
35
+ token: import("zod").ZodOptional<import("zod").ZodString>;
36
+ digest: import("zod").ZodOptional<import("zod").ZodString>;
37
+ }, import("zod/v4/core").$strict>;
38
+ consent: import("zod").ZodOptional<import("zod").ZodObject<{
39
+ issuer: import("zod").ZodObject<{
40
+ from: import("zod").ZodString;
41
+ to: import("zod").ZodString;
42
+ }, import("zod/v4/core").$strict>;
43
+ previous: import("zod").ZodOptional<import("zod").ZodEnum<{
44
+ drain: "drain";
45
+ revoke: "revoke";
46
+ }>>;
47
+ }, import("zod/v4/core").$strict>>;
48
+ revision: import("zod").ZodOptional<import("zod").ZodString>;
49
+ currentRevision: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
50
+ }, import("zod/v4/core").$strict>]>;
51
+ /** One install, all of it its intent: its operation, its Domains, its mode and validation options. */
52
+ export declare const installInput: import("zod").ZodObject<{
53
+ operation: import("zod").ZodString;
54
+ domains: import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
55
+ artifact: import("zod").ZodObject<{
56
+ digest: import("zod").ZodString;
57
+ mediaType: import("zod").ZodString;
58
+ size: import("zod").ZodNumber;
59
+ }, import("zod/v4/core").$strict>;
60
+ currentRevision: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
61
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
62
+ release: import("zod").ZodObject<{
63
+ url: import("zod").ZodString;
64
+ token: import("zod").ZodOptional<import("zod").ZodString>;
65
+ digest: import("zod").ZodOptional<import("zod").ZodString>;
66
+ }, import("zod/v4/core").$strict>;
67
+ consent: import("zod").ZodOptional<import("zod").ZodObject<{
68
+ issuer: import("zod").ZodObject<{
69
+ from: import("zod").ZodString;
70
+ to: import("zod").ZodString;
71
+ }, import("zod/v4/core").$strict>;
72
+ previous: import("zod").ZodOptional<import("zod").ZodEnum<{
73
+ drain: "drain";
74
+ revoke: "revoke";
75
+ }>>;
76
+ }, import("zod/v4/core").$strict>>;
77
+ revision: import("zod").ZodOptional<import("zod").ZodString>;
78
+ currentRevision: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
79
+ }, import("zod/v4/core").$strict>]>>;
80
+ mode: import("zod").ZodOptional<import("zod").ZodEnum<{
81
+ maintenance: "maintenance";
82
+ online: "online";
83
+ }>>;
84
+ validation: import("zod").ZodOptional<import("zod").ZodObject<{
85
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
86
+ full: "full";
87
+ incremental: "incremental";
88
+ }>>;
89
+ counts: import("zod").ZodOptional<import("zod").ZodEnum<{
90
+ exact: "exact";
91
+ sample: "sample";
92
+ }>>;
93
+ }, import("zod/v4/core").$strict>>;
94
+ }, import("zod/v4/core").$strict>;
95
+ export declare const installReceipt: import("zod").ZodObject<{
96
+ operation: import("zod").ZodString;
97
+ transitions: import("zod").ZodArray<import("zod").ZodObject<{
98
+ intent: import("zod").ZodObject<{
99
+ transition: import("zod").ZodString;
100
+ operation: import("zod").ZodString;
101
+ origin: import("zod").ZodString;
102
+ previous: import("zod").ZodNullable<import("zod").ZodObject<{
103
+ origin: import("zod").ZodString;
104
+ revision: import("zod").ZodString;
105
+ generation: import("zod").ZodString;
106
+ }, import("zod/v4/core").$strict>>;
107
+ generation: import("zod").ZodNullable<import("zod").ZodObject<{
108
+ origin: import("zod").ZodString;
109
+ revision: import("zod").ZodString;
110
+ generation: import("zod").ZodString;
111
+ }, import("zod/v4/core").$strict>>;
112
+ consent: import("zod").ZodOptional<import("zod").ZodObject<{
113
+ issuer: import("zod").ZodObject<{
114
+ from: import("zod").ZodString;
115
+ to: import("zod").ZodString;
116
+ }, import("zod/v4/core").$strict>;
117
+ previous: import("zod").ZodEnum<{
118
+ drain: "drain";
119
+ revoke: "revoke";
120
+ }>;
121
+ }, import("zod/v4/core").$strict>>;
122
+ }, import("zod/v4/core").$strict>;
123
+ phase: import("zod").ZodEnum<{
154
124
  converge: "converge";
155
125
  cutover: "cutover";
156
126
  }>;
157
- state: z.ZodLiteral<"committed">;
158
- readiness: z.ZodOptional<z.ZodObject<{
159
- installation: z.ZodString;
160
- target: z.ZodString;
161
- transition: z.ZodString;
162
- dependencies: z.ZodArray<z.ZodObject<{
163
- origin: z.ZodString;
164
- installation: z.ZodString;
165
- target: z.ZodString;
166
- readinessReceipt: z.ZodString;
167
- meaningComparison: z.ZodString;
168
- }, z.core.$strict>>;
169
- }, z.core.$strict>>;
170
- }, z.core.$strict>>;
171
- }, z.core.$strict>;
127
+ state: import("zod").ZodLiteral<"committed">;
128
+ readiness: import("zod").ZodOptional<import("zod").ZodObject<{
129
+ generation: import("zod").ZodString;
130
+ transition: import("zod").ZodString;
131
+ dependencies: import("zod").ZodArray<import("zod").ZodObject<{
132
+ origin: import("zod").ZodString;
133
+ generation: import("zod").ZodString;
134
+ readiness: import("zod").ZodString;
135
+ meaning: import("zod").ZodString;
136
+ }, import("zod/v4/core").$strict>>;
137
+ }, import("zod/v4/core").$strict>>;
138
+ }, import("zod/v4/core").$strict>>;
139
+ }, import("zod/v4/core").$strict>;
140
+ /**
141
+ * What a completed install ends with, the value its Execution's `result` yields: the committed
142
+ * receipt, or the exact generation of each root it proved unchanged.
143
+ */
144
+ export declare const installOutput: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
145
+ changed: import("zod").ZodLiteral<true>;
146
+ receipt: import("zod").ZodObject<{
147
+ operation: import("zod").ZodString;
148
+ transitions: import("zod").ZodArray<import("zod").ZodObject<{
149
+ intent: import("zod").ZodObject<{
150
+ transition: import("zod").ZodString;
151
+ operation: import("zod").ZodString;
152
+ origin: import("zod").ZodString;
153
+ previous: import("zod").ZodNullable<import("zod").ZodObject<{
154
+ origin: import("zod").ZodString;
155
+ revision: import("zod").ZodString;
156
+ generation: import("zod").ZodString;
157
+ }, import("zod/v4/core").$strict>>;
158
+ generation: import("zod").ZodNullable<import("zod").ZodObject<{
159
+ origin: import("zod").ZodString;
160
+ revision: import("zod").ZodString;
161
+ generation: import("zod").ZodString;
162
+ }, import("zod/v4/core").$strict>>;
163
+ consent: import("zod").ZodOptional<import("zod").ZodObject<{
164
+ issuer: import("zod").ZodObject<{
165
+ from: import("zod").ZodString;
166
+ to: import("zod").ZodString;
167
+ }, import("zod/v4/core").$strict>;
168
+ previous: import("zod").ZodEnum<{
169
+ drain: "drain";
170
+ revoke: "revoke";
171
+ }>;
172
+ }, import("zod/v4/core").$strict>>;
173
+ }, import("zod/v4/core").$strict>;
174
+ phase: import("zod").ZodEnum<{
175
+ converge: "converge";
176
+ cutover: "cutover";
177
+ }>;
178
+ state: import("zod").ZodLiteral<"committed">;
179
+ readiness: import("zod").ZodOptional<import("zod").ZodObject<{
180
+ generation: import("zod").ZodString;
181
+ transition: import("zod").ZodString;
182
+ dependencies: import("zod").ZodArray<import("zod").ZodObject<{
183
+ origin: import("zod").ZodString;
184
+ generation: import("zod").ZodString;
185
+ readiness: import("zod").ZodString;
186
+ meaning: import("zod").ZodString;
187
+ }, import("zod/v4/core").$strict>>;
188
+ }, import("zod/v4/core").$strict>>;
189
+ }, import("zod/v4/core").$strict>>;
190
+ }, import("zod/v4/core").$strict>;
191
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
192
+ changed: import("zod").ZodLiteral<false>;
193
+ domains: import("zod").ZodArray<import("zod").ZodObject<{
194
+ origin: import("zod").ZodString;
195
+ revision: import("zod").ZodString;
196
+ generation: import("zod").ZodString;
197
+ }, import("zod/v4/core").$strict>>;
198
+ }, import("zod/v4/core").$strict>]>;
199
+ /**
200
+ * The value of the `command:<n>` signal of a waiting repair session: attempt the target, with
201
+ * validation options that only widen the default.
202
+ */
203
+ export declare const installSessionCommand: import("zod").ZodObject<{
204
+ kind: import("zod").ZodLiteral<"apply">;
205
+ validation: import("zod").ZodOptional<import("zod").ZodObject<{
206
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
207
+ full: "full";
208
+ incremental: "incremental";
209
+ }>>;
210
+ counts: import("zod").ZodOptional<import("zod").ZodEnum<{
211
+ exact: "exact";
212
+ sample: "sample";
213
+ }>>;
214
+ }, import("zod/v4/core").$strict>>;
215
+ }, import("zod/v4/core").$strict>;
216
+ /** The value of the `abort:<n>` signal of a repair session: stop attempt `n`, then wait again. */
217
+ export declare const installSessionAbort: import("zod").ZodObject<{
218
+ kind: import("zod").ZodLiteral<"abort">;
219
+ }, import("zod/v4/core").$strict>;
220
+ /** The name of the signal that sends the `n`th command to a repair session. */
221
+ export declare function commandSignal(n: number): `command:${number}`;
222
+ /** The name of the signal that aborts attempt `n` of a repair session. */
223
+ export declare function abortSignal(n: number): `abort:${number}`;
172
224
  type NonEmpty<Value> = readonly [Value, ...Value[]];
173
225
  export type InstallationDigest = `sha256:${string}`;
226
+ export type ReleaseDigest = InstallationDigest;
174
227
  export interface ArtifactRef {
175
228
  readonly digest: InstallationDigest;
176
229
  readonly mediaType: string;
177
230
  readonly size: number;
178
231
  }
179
- export interface DependencyReadinessCoordinate {
232
+ export interface DependencyReadinessEvidence {
180
233
  readonly origin: string;
181
- readonly installation: string;
182
- readonly target: InstallationDigest;
183
- readonly readinessReceipt: InstallationDigest;
184
- readonly meaningComparison: InstallationDigest;
234
+ readonly generation: InstallationDigest;
235
+ readonly readiness: InstallationDigest;
236
+ readonly meaning: InstallationDigest;
185
237
  }
186
- export type ServiceTarget = {
187
- readonly kind: 'local';
188
- readonly artifact: InstallationDigest;
189
- } | {
190
- readonly kind: 'remote';
191
- readonly etag: InstallationDigest;
192
- };
193
- export type ClassOperation = 'create' | 'read' | 'traverse' | 'update' | 'delete';
194
- export interface ClassCapabilityRequirement {
195
- readonly class: ClassRef;
196
- readonly operations: NonEmpty<ClassOperation>;
238
+ export interface DomainGeneration {
239
+ readonly origin: string;
240
+ readonly revision: string;
241
+ readonly generation: InstallationDigest;
197
242
  }
198
- export interface CapabilityRequirements {
199
- readonly functions?: NonEmpty<Key.Callable>;
200
- readonly classes?: NonEmpty<ClassCapabilityRequirement>;
201
- readonly admin?: {
202
- readonly grant?: NonEmpty<AuthorityOperation>;
203
- readonly revoke?: NonEmpty<AuthorityOperation>;
243
+ /**
244
+ * The operator's consent to replace the issuer an installation runs under (D7): a compare-and-swap
245
+ * of the exact installed issuer `from` for the exact issuer `to` the source serves.
246
+ */
247
+ export interface IssuerConsent {
248
+ readonly issuer: {
249
+ readonly from: string;
250
+ readonly to: string;
204
251
  };
205
- }
206
- export interface InstallationTarget {
207
- readonly origin: string;
208
- readonly schemaRevision: string;
209
- readonly schemaBundle: InstallationDigest;
210
- readonly service: ServiceTarget;
211
- readonly capabilities: CapabilityRequirements;
212
- readonly dependencies: readonly DependencyReadinessCoordinate[];
252
+ /**
253
+ * What the replaced issuer keeps: `drain` (default) accepts it for a bounded time after the
254
+ * activation, then only for the steps of its durable runs; `revoke` cuts it at the activation.
255
+ */
256
+ readonly previous?: 'drain' | 'revoke';
213
257
  }
214
258
  export interface TransitionIntent {
215
259
  readonly transition: string;
216
260
  readonly operation: OperationId;
217
- readonly installation: string;
218
261
  readonly origin: string;
219
- readonly source: InstallationTarget | null;
220
- readonly target: InstallationTarget | null;
262
+ readonly previous: DomainGeneration | null;
263
+ readonly generation: DomainGeneration | null;
264
+ /** Present only on a replacement that changed its issuer under consent. */
265
+ readonly consent?: {
266
+ readonly issuer: {
267
+ readonly from: string;
268
+ readonly to: string;
269
+ };
270
+ readonly previous: 'drain' | 'revoke';
271
+ };
221
272
  }
222
273
  export interface ReadinessReceipt {
223
- readonly installation: string;
224
- readonly target: InstallationDigest;
274
+ readonly generation: InstallationDigest;
225
275
  readonly transition: string;
226
- readonly dependencies: readonly DependencyReadinessCoordinate[];
276
+ readonly dependencies: readonly DependencyReadinessEvidence[];
227
277
  }
228
278
  export interface TransitionReceipt {
229
279
  readonly intent: TransitionIntent;
@@ -231,28 +281,70 @@ export interface TransitionReceipt {
231
281
  readonly state: 'committed';
232
282
  readonly readiness?: ReadinessReceipt;
233
283
  }
234
- export type DesiredInstallation = {
235
- readonly source: {
236
- readonly kind: 'local';
237
- readonly artifact: ArtifactRef;
238
- };
239
- readonly currentRevision?: string | null;
240
- } | {
241
- readonly source: {
242
- readonly kind: 'remote';
284
+ /** Installs the exact DomainRelease served by the URL. */
285
+ export interface ReleaseRequest {
286
+ readonly release: {
243
287
  readonly url: string;
244
288
  readonly token?: string;
289
+ /** Requires an exact release digest. Omit to accept the served release. */
290
+ readonly digest?: ReleaseDigest;
245
291
  };
246
- readonly targetRevision?: string;
247
- readonly targetEtag?: InstallationDigest;
292
+ /**
293
+ * Required when the source serves another issuer than the installed one, refused otherwise:
294
+ * `from` must be the installed issuer and `to` the served one, neither the Kernel issuer.
295
+ */
296
+ readonly consent?: IssuerConsent;
297
+ readonly revision?: string;
248
298
  readonly currentRevision?: string | null;
249
- };
299
+ }
300
+ export type DomainRequest = {
301
+ readonly artifact: ArtifactRef;
302
+ readonly currentRevision?: string | null;
303
+ } | ReleaseRequest;
304
+ /** `online` (default) never closes the Instance; `maintenance` opens a maintenance session. */
305
+ export type InstallMode = (typeof INSTALL_MODES)[number];
306
+ /** What an install does to the stored data; see `INSTALL_CLASSES`. */
307
+ export type InstallClass = (typeof INSTALL_CLASSES)[number];
308
+ /**
309
+ * What an install asks its data validation to read beyond the default. `scope: 'full'` trusts
310
+ * nothing of the stored data and reads every rule of the destination over every retained extent;
311
+ * `counts: 'exact'` walks every refuted rule to its end, so its count is exact. Each option only
312
+ * widens the default (`incremental`, `sample`).
313
+ */
314
+ export interface InstallValidation {
315
+ readonly scope?: 'incremental' | 'full';
316
+ readonly counts?: 'sample' | 'exact';
317
+ }
318
+ /** The validation options an install runs with, defaults filled in. */
319
+ export interface ValidationOptions {
320
+ readonly scope: 'incremental' | 'full';
321
+ readonly counts: 'sample' | 'exact';
322
+ }
250
323
  export interface InstallInput {
251
324
  readonly operation: OperationId;
252
- readonly domains: NonEmpty<DesiredInstallation>;
325
+ readonly domains: NonEmpty<DomainRequest>;
326
+ readonly mode?: InstallMode;
327
+ readonly validation?: InstallValidation;
253
328
  }
254
- export interface InstallOutput {
329
+ export interface InstallReceipt {
255
330
  readonly operation: OperationId;
256
331
  readonly transitions: NonEmpty<TransitionReceipt>;
257
332
  }
333
+ /** What a completed install ends with; see `installOutput`. */
334
+ export type InstallOutput = {
335
+ readonly changed: true;
336
+ readonly receipt: InstallReceipt;
337
+ } | {
338
+ readonly changed: false;
339
+ readonly domains: NonEmpty<DomainGeneration>;
340
+ };
341
+ /** The `command:<n>` signal value of a repair session. */
342
+ export interface InstallSessionCommand {
343
+ readonly kind: 'apply';
344
+ readonly validation?: InstallValidation;
345
+ }
346
+ /** The `abort:<n>` signal value of a repair session. */
347
+ export interface InstallSessionAbort {
348
+ readonly kind: 'abort';
349
+ }
258
350
  export {};