@astrale-os/kernel-dsl 0.2.0-beta.4 → 0.2.0-beta.40

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 (943) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.js +0 -1
  3. package/dist/upgrade/contract.d.ts +0 -1
  4. package/dist/upgrade/contract.js +0 -1
  5. package/dist/upgrade/index.d.ts +0 -1
  6. package/dist/upgrade/index.js +0 -1
  7. package/dist/v1/addressing/class-key.d.ts +12 -0
  8. package/dist/v1/addressing/class-key.js +39 -0
  9. package/dist/v1/addressing/definition-ref.d.ts +28 -0
  10. package/dist/v1/addressing/definition-ref.js +63 -0
  11. package/dist/v1/addressing/domain-dependency.d.ts +18 -0
  12. package/dist/v1/addressing/domain-dependency.js +6 -0
  13. package/dist/v1/addressing/index.d.ts +10 -4
  14. package/dist/v1/addressing/index.js +5 -3
  15. package/dist/v1/addressing/key.d.ts +14 -16
  16. package/dist/v1/addressing/key.js +24 -34
  17. package/dist/v1/addressing/method-address.d.ts +9 -0
  18. package/dist/v1/addressing/method-address.js +1 -0
  19. package/dist/v1/addressing/method-key.d.ts +15 -0
  20. package/dist/v1/addressing/method-key.js +60 -0
  21. package/dist/v1/addressing/ordering.d.ts +6 -0
  22. package/dist/v1/addressing/ordering.js +20 -0
  23. package/dist/v1/addressing/patterns.d.ts +12 -3
  24. package/dist/v1/addressing/patterns.js +11 -2
  25. package/dist/v1/addressing/property-key.d.ts +10 -15
  26. package/dist/v1/addressing/property-key.js +24 -15
  27. package/dist/v1/addressing/revision.d.ts +8 -0
  28. package/dist/v1/addressing/revision.js +8 -0
  29. package/dist/v1/builder/callable/authoring.d.ts +137 -0
  30. package/dist/v1/builder/callable/authoring.js +80 -0
  31. package/dist/v1/builder/class/authoring.d.ts +400 -0
  32. package/dist/v1/builder/class/authoring.js +134 -0
  33. package/dist/v1/builder/class/property.d.ts +58 -0
  34. package/dist/v1/builder/class/property.js +57 -0
  35. package/dist/v1/builder/core/authoring.d.ts +47 -0
  36. package/dist/v1/builder/core/authoring.js +39 -0
  37. package/dist/v1/builder/index.d.ts +26 -22
  38. package/dist/v1/builder/index.js +11 -11
  39. package/dist/v1/builder/lowering/callable.d.ts +24 -0
  40. package/dist/v1/builder/lowering/callable.js +149 -0
  41. package/dist/v1/builder/lowering/class.d.ts +22 -0
  42. package/dist/v1/builder/lowering/class.js +134 -0
  43. package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
  44. package/dist/v1/builder/lowering/core-properties.js +76 -0
  45. package/dist/v1/builder/lowering/core.d.ts +22 -0
  46. package/dist/v1/builder/lowering/core.js +50 -0
  47. package/dist/v1/builder/lowering/policy.d.ts +16 -0
  48. package/dist/v1/builder/lowering/policy.js +60 -0
  49. package/dist/v1/builder/lowering/schema/capture.d.ts +4 -0
  50. package/dist/v1/builder/lowering/schema/capture.js +75 -0
  51. package/dist/v1/builder/lowering/schema/compile.d.ts +10 -0
  52. package/dist/v1/builder/lowering/schema/compile.js +80 -0
  53. package/dist/v1/builder/lowering/schema/context.d.ts +49 -0
  54. package/dist/v1/builder/lowering/schema/context.js +277 -0
  55. package/dist/v1/builder/lowering/schema/ownership.d.ts +8 -0
  56. package/dist/v1/builder/lowering/schema/ownership.js +30 -0
  57. package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
  58. package/dist/v1/builder/lowering/value/compile.js +143 -0
  59. package/dist/v1/builder/lowering/value/path.d.ts +3 -0
  60. package/dist/v1/builder/lowering/value/path.js +20 -0
  61. package/dist/v1/builder/lowering/value/zod.d.ts +32 -0
  62. package/dist/v1/builder/lowering/value/zod.js +342 -0
  63. package/dist/v1/builder/lowering/view.d.ts +11 -0
  64. package/dist/v1/builder/lowering/view.js +27 -0
  65. package/dist/v1/builder/policy/authoring.d.ts +61 -0
  66. package/dist/v1/builder/policy/authoring.js +117 -0
  67. package/dist/v1/builder/schema/define.d.ts +11 -0
  68. package/dist/v1/builder/schema/define.js +5 -0
  69. package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
  70. package/dist/v1/builder/schema/diagnostic.js +31 -0
  71. package/dist/v1/builder/schema/handle.d.ts +7 -0
  72. package/dist/v1/builder/schema/handle.js +14 -0
  73. package/dist/v1/builder/schema/input.d.ts +15 -0
  74. package/dist/v1/builder/schema/input.js +1 -0
  75. package/dist/v1/builder/schema/lazy.d.ts +2 -0
  76. package/dist/v1/builder/schema/lazy.js +13 -0
  77. package/dist/v1/builder/schema/projection.d.ts +370 -0
  78. package/dist/v1/builder/schema/projection.js +1 -0
  79. package/dist/v1/builder/value/full-match.d.ts +4 -0
  80. package/dist/v1/builder/value/full-match.js +11 -0
  81. package/dist/v1/builder/value/path-metadata.d.ts +4 -0
  82. package/dist/v1/builder/value/path-metadata.js +7 -0
  83. package/dist/v1/builder/value/path.d.ts +8 -0
  84. package/dist/v1/builder/value/path.js +11 -0
  85. package/dist/v1/builder/value/schema.d.ts +16 -0
  86. package/dist/v1/builder/value/schema.js +10 -0
  87. package/dist/v1/builder/view/authoring.d.ts +17 -0
  88. package/dist/v1/builder/view/authoring.js +16 -0
  89. package/dist/v1/bundle/codec.d.ts +0 -1
  90. package/dist/v1/bundle/codec.js +36 -19
  91. package/dist/v1/bundle/create.d.ts +3 -0
  92. package/dist/v1/bundle/create.js +5 -0
  93. package/dist/v1/bundle/diagnostic.d.ts +10 -0
  94. package/dist/v1/bundle/diagnostic.js +17 -0
  95. package/dist/v1/bundle/index.d.ts +3 -2
  96. package/dist/v1/bundle/index.js +2 -2
  97. package/dist/v1/bundle/model.d.ts +1 -4
  98. package/dist/v1/bundle/model.js +0 -6
  99. package/dist/v1/bundle/structure.d.ts +1 -2
  100. package/dist/v1/bundle/structure.js +6 -6
  101. package/dist/v1/bundle/transport.d.ts +8 -0
  102. package/dist/v1/bundle/transport.js +7 -0
  103. package/dist/v1/compiled/admission/accept.d.ts +3 -0
  104. package/dist/v1/compiled/admission/accept.js +1050 -0
  105. package/dist/v1/compiled/admission/revision.d.ts +4 -0
  106. package/dist/v1/compiled/admission/revision.js +79 -0
  107. package/dist/v1/compiled/admission/semantics.d.ts +7 -0
  108. package/dist/v1/compiled/admission/semantics.js +1186 -0
  109. package/dist/v1/compiled/codec/json.d.ts +3 -0
  110. package/dist/v1/compiled/codec/json.js +9 -0
  111. package/dist/v1/compiled/compiler/compile.d.ts +4 -0
  112. package/dist/v1/compiled/compiler/compile.js +140 -0
  113. package/dist/v1/compiled/diagnostic.d.ts +11 -0
  114. package/dist/v1/compiled/diagnostic.js +13 -0
  115. package/dist/v1/compiled/generated.d.ts +10 -0
  116. package/dist/v1/compiled/generated.js +15 -0
  117. package/dist/v1/compiled/index.d.ts +7 -0
  118. package/dist/v1/compiled/index.js +5 -0
  119. package/dist/v1/compiled/loader/index.d.ts +1 -0
  120. package/dist/v1/compiled/loader/index.js +1 -0
  121. package/dist/v1/compiled/loader/load.d.ts +18 -0
  122. package/dist/v1/compiled/loader/load.js +156 -0
  123. package/dist/v1/compiled/model/schema.d.ts +78 -0
  124. package/dist/v1/compiled/model/schema.js +1 -0
  125. package/dist/v1/domain/create.d.ts +8 -0
  126. package/dist/v1/domain/create.js +272 -0
  127. package/dist/v1/domain/index.d.ts +2 -0
  128. package/dist/v1/domain/index.js +1 -0
  129. package/dist/v1/domain/model/domain.d.ts +59 -0
  130. package/dist/v1/domain/model/domain.js +1 -0
  131. package/dist/v1/domain/model/input.d.ts +31 -0
  132. package/dist/v1/domain/model/input.js +1 -0
  133. package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
  134. package/dist/v1/domain/namespace/member-collection.js +81 -0
  135. package/dist/v1/domain/projection/classes.d.ts +4 -0
  136. package/dist/v1/domain/projection/classes.js +175 -0
  137. package/dist/v1/domain/validation/create.d.ts +18 -0
  138. package/dist/v1/domain/validation/create.js +75 -0
  139. package/dist/v1/index.d.ts +15 -5
  140. package/dist/v1/index.js +7 -3
  141. package/dist/v1/language/callable/composition.d.ts +27 -0
  142. package/dist/v1/language/callable/composition.js +52 -0
  143. package/dist/v1/language/callable/executable.d.ts +6 -0
  144. package/dist/v1/language/callable/executable.js +4 -0
  145. package/dist/v1/language/callable/index.d.ts +2 -0
  146. package/dist/v1/language/callable/index.js +1 -0
  147. package/dist/v1/language/callable/model/callable.d.ts +46 -0
  148. package/dist/v1/language/callable/model/callable.js +3 -0
  149. package/dist/v1/language/callable/resolved.d.ts +79 -0
  150. package/dist/v1/language/callable/resolved.js +1 -0
  151. package/dist/v1/language/class/facets.d.ts +61 -0
  152. package/dist/v1/language/class/facets.js +1 -0
  153. package/dist/v1/language/class/index.d.ts +8 -0
  154. package/dist/v1/language/class/index.js +1 -0
  155. package/dist/v1/language/class/model/class.d.ts +37 -0
  156. package/dist/v1/language/class/model/class.js +1 -0
  157. package/dist/v1/language/class/model/data.d.ts +11 -0
  158. package/dist/v1/language/class/model/data.js +2 -0
  159. package/dist/v1/language/class/model/edge.d.ts +38 -0
  160. package/dist/v1/language/class/model/edge.js +1 -0
  161. package/dist/v1/language/class/model/property.d.ts +17 -0
  162. package/dist/v1/language/class/model/property.js +1 -0
  163. package/dist/v1/language/class/property-values.d.ts +15 -0
  164. package/dist/v1/language/class/property-values.js +33 -0
  165. package/dist/v1/language/class/resolved.d.ts +126 -0
  166. package/dist/v1/language/class/resolved.js +1 -0
  167. package/dist/v1/language/core/index.d.ts +2 -0
  168. package/dist/v1/language/core/index.js +1 -0
  169. package/dist/v1/language/core/model/core.d.ts +26 -0
  170. package/dist/v1/language/core/model/core.js +1 -0
  171. package/dist/v1/language/core/resolved.d.ts +25 -0
  172. package/dist/v1/language/core/resolved.js +1 -0
  173. package/dist/v1/language/definition/metadata.d.ts +12 -0
  174. package/dist/v1/language/definition/metadata.js +12 -0
  175. package/dist/v1/language/definition.d.ts +7 -0
  176. package/dist/v1/language/definition.js +1 -0
  177. package/dist/v1/language/index.d.ts +28 -0
  178. package/dist/v1/language/index.js +5 -0
  179. package/dist/v1/language/policy/analysis/branches.d.ts +20 -0
  180. package/dist/v1/language/policy/analysis/branches.js +174 -0
  181. package/dist/v1/language/policy/analysis/budgets.d.ts +16 -0
  182. package/dist/v1/language/policy/analysis/budgets.js +25 -0
  183. package/dist/v1/language/policy/index.d.ts +4 -0
  184. package/dist/v1/language/policy/index.js +2 -0
  185. package/dist/v1/language/policy/model/policy.d.ts +116 -0
  186. package/dist/v1/language/policy/model/policy.js +35 -0
  187. package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
  188. package/dist/v1/language/policy/normalization/normalize.js +275 -0
  189. package/dist/v1/language/policy/resolved.d.ts +9 -0
  190. package/dist/v1/language/policy/resolved.js +1 -0
  191. package/dist/v1/language/resolved.d.ts +10 -0
  192. package/dist/v1/language/resolved.js +1 -0
  193. package/dist/v1/language/state/index.d.ts +3 -0
  194. package/dist/v1/language/state/index.js +1 -0
  195. package/dist/v1/language/state/machine.d.ts +28 -0
  196. package/dist/v1/language/state/machine.js +40 -0
  197. package/dist/v1/language/state/topology.d.ts +14 -0
  198. package/dist/v1/language/state/topology.js +69 -0
  199. package/dist/v1/language/validation/diagnostic.d.ts +8 -0
  200. package/dist/v1/language/validation/diagnostic.js +3 -0
  201. package/dist/v1/language/value/compile/fields.d.ts +3 -0
  202. package/dist/v1/language/value/compile/fields.js +60 -0
  203. package/dist/v1/language/value/compile/load.d.ts +6 -0
  204. package/dist/v1/language/value/compile/load.js +62 -0
  205. package/dist/v1/language/value/compile/model.d.ts +42 -0
  206. package/dist/v1/language/value/compile/model.js +1 -0
  207. package/dist/v1/language/value/evaluate/assertions.d.ts +8 -0
  208. package/dist/v1/language/value/evaluate/assertions.js +71 -0
  209. package/dist/v1/language/value/evaluate/evaluator.d.ts +4 -0
  210. package/dist/v1/language/value/evaluate/evaluator.js +426 -0
  211. package/dist/v1/language/value/evaluate/preparation.d.ts +22 -0
  212. package/dist/v1/language/value/evaluate/preparation.js +126 -0
  213. package/dist/v1/language/value/evaluate/program.d.ts +3 -0
  214. package/dist/v1/language/value/evaluate/program.js +16 -0
  215. package/dist/v1/language/value/evaluate/types.d.ts +36 -0
  216. package/dist/v1/language/value/evaluate/types.js +9 -0
  217. package/dist/v1/language/value/evaluate/validate.d.ts +16 -0
  218. package/dist/v1/language/value/evaluate/validate.js +50 -0
  219. package/dist/v1/language/value/index.d.ts +11 -0
  220. package/dist/v1/language/value/index.js +8 -0
  221. package/dist/v1/language/value/model/blob.d.ts +33 -0
  222. package/dist/v1/language/value/model/blob.js +90 -0
  223. package/dist/v1/language/value/model/instant.d.ts +9 -0
  224. package/dist/v1/language/value/model/instant.js +37 -0
  225. package/dist/v1/language/value/model/object.d.ts +5 -0
  226. package/dist/v1/language/value/model/object.js +3 -0
  227. package/dist/v1/language/value/model/schema.d.ts +25 -0
  228. package/dist/v1/language/value/model/schema.js +11 -0
  229. package/dist/v1/language/value/ordering.d.ts +15 -0
  230. package/dist/v1/language/value/ordering.js +170 -0
  231. package/dist/v1/language/value/profile/canonicalize.d.ts +4 -0
  232. package/dist/v1/language/value/profile/canonicalize.js +130 -0
  233. package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
  234. package/dist/v1/language/value/profile/json.validate.js +14 -0
  235. package/dist/v1/language/value/profile/meta-schema.compiled.d.ts +78 -0
  236. package/dist/v1/language/value/profile/meta-schema.compiled.js +2079 -0
  237. package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
  238. package/dist/v1/language/value/profile/meta-schema.js +19 -0
  239. package/dist/v1/language/value/profile/rules.d.ts +3 -0
  240. package/dist/v1/language/value/profile/rules.js +141 -0
  241. package/dist/v1/language/value/profile/validate.d.ts +4 -0
  242. package/dist/v1/language/value/profile/validate.js +39 -0
  243. package/dist/v1/language/value/profile/vocabulary.d.ts +2 -0
  244. package/dist/v1/language/value/profile/vocabulary.js +68 -0
  245. package/dist/v1/language/value/reference/closure.d.ts +11 -0
  246. package/dist/v1/language/value/reference/closure.js +51 -0
  247. package/dist/v1/language/value/reference/recursion.d.ts +5 -0
  248. package/dist/v1/language/value/reference/recursion.js +95 -0
  249. package/dist/v1/language/value/reference/references.d.ts +17 -0
  250. package/dist/v1/language/value/reference/references.js +45 -0
  251. package/dist/v1/language/value/reference/registry.d.ts +24 -0
  252. package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
  253. package/dist/v1/language/value/reference/registry.index.js +76 -0
  254. package/dist/v1/language/value/reference/registry.js +1 -0
  255. package/dist/v1/language/value/regexp/ast.d.ts +21 -0
  256. package/dist/v1/language/value/regexp/ast.js +326 -0
  257. package/dist/v1/language/value/regexp/compile.d.ts +3 -0
  258. package/dist/v1/language/value/regexp/compile.js +138 -0
  259. package/dist/v1/language/value/regexp/lower.d.ts +3 -0
  260. package/dist/v1/language/value/regexp/lower.js +26 -0
  261. package/dist/v1/language/value/regexp/matcher.d.ts +10 -0
  262. package/dist/v1/language/value/regexp/matcher.js +207 -0
  263. package/dist/v1/language/value/regexp/pattern.d.ts +2 -0
  264. package/dist/v1/language/value/regexp/pattern.js +38 -0
  265. package/dist/v1/language/value/regexp/syntax.d.ts +2 -0
  266. package/dist/v1/language/value/regexp/syntax.js +5 -0
  267. package/dist/v1/language/value/syntax/full-match.d.ts +6 -0
  268. package/dist/v1/language/value/syntax/full-match.js +20 -0
  269. package/dist/v1/language/value/syntax/keywords.d.ts +3 -0
  270. package/dist/v1/language/value/syntax/keywords.js +20 -0
  271. package/dist/v1/language/value/syntax/node-path/schema.d.ts +5 -0
  272. package/dist/v1/language/value/syntax/node-path/schema.js +18 -0
  273. package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
  274. package/dist/v1/language/value/syntax/node-path/validate.js +78 -0
  275. package/dist/v1/language/value/syntax/pointer.d.ts +4 -0
  276. package/dist/v1/language/value/syntax/pointer.js +49 -0
  277. package/dist/v1/language/value/syntax/walk.d.ts +10 -0
  278. package/dist/v1/language/value/syntax/walk.js +53 -0
  279. package/dist/v1/language/view/index.d.ts +2 -0
  280. package/dist/v1/language/view/index.js +1 -0
  281. package/dist/v1/language/view/model/view.d.ts +11 -0
  282. package/dist/v1/language/view/model/view.js +1 -0
  283. package/dist/v1/language/view/resolved.d.ts +9 -0
  284. package/dist/v1/language/view/resolved.js +1 -0
  285. package/dist/v1/schema/admission/accept.d.ts +3 -0
  286. package/dist/v1/schema/admission/accept.js +26 -0
  287. package/dist/v1/schema/analysis/class.d.ts +63 -0
  288. package/dist/v1/schema/analysis/class.js +141 -0
  289. package/dist/v1/schema/canonical/domain.d.ts +2 -2
  290. package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
  291. package/dist/v1/schema/canonical/domain.digest.js +2 -6
  292. package/dist/v1/schema/canonical/domain.js +3 -224
  293. package/dist/v1/schema/canonical/freeze.d.ts +0 -1
  294. package/dist/v1/schema/canonical/freeze.js +0 -1
  295. package/dist/v1/schema/canonical/revision.d.ts +11 -0
  296. package/dist/v1/schema/canonical/revision.js +20 -0
  297. package/dist/v1/schema/codec/header.d.ts +17 -0
  298. package/dist/v1/schema/codec/header.js +26 -0
  299. package/dist/v1/schema/codec/schema.d.ts +5 -0
  300. package/dist/v1/schema/codec/schema.js +21 -0
  301. package/dist/v1/schema/compatibility/api.d.ts +2 -0
  302. package/dist/v1/schema/compatibility/api.js +1 -0
  303. package/dist/v1/schema/compatibility/comparators/callables.d.ts +27 -0
  304. package/dist/v1/schema/compatibility/comparators/callables.js +84 -0
  305. package/dist/v1/schema/compatibility/comparators/classes.d.ts +28 -0
  306. package/dist/v1/schema/compatibility/comparators/classes.js +96 -0
  307. package/dist/v1/schema/compatibility/comparators/index.d.ts +12 -0
  308. package/dist/v1/schema/compatibility/comparators/index.js +41 -0
  309. package/dist/v1/schema/compatibility/comparators/members.d.ts +4 -0
  310. package/dist/v1/schema/compatibility/comparators/members.js +49 -0
  311. package/dist/v1/schema/compatibility/comparators/values.d.ts +5 -0
  312. package/dist/v1/schema/compatibility/comparators/values.js +37 -0
  313. package/dist/v1/schema/compatibility/compare.d.ts +5 -0
  314. package/dist/v1/schema/compatibility/compare.js +23 -0
  315. package/dist/v1/schema/compatibility/context.d.ts +15 -0
  316. package/dist/v1/schema/compatibility/context.js +43 -0
  317. package/dist/v1/schema/compatibility/coordinate.d.ts +39 -0
  318. package/dist/v1/schema/compatibility/coordinate.js +38 -0
  319. package/dist/v1/schema/compatibility/diff.d.ts +12 -0
  320. package/dist/v1/schema/compatibility/diff.js +39 -0
  321. package/dist/v1/schema/compatibility/evidence.d.ts +5 -0
  322. package/dist/v1/schema/compatibility/evidence.js +51 -0
  323. package/dist/v1/schema/compatibility/fields.d.ts +186 -0
  324. package/dist/v1/schema/compatibility/fields.js +88 -0
  325. package/dist/v1/schema/compatibility/index.d.ts +8 -0
  326. package/dist/v1/schema/compatibility/index.js +4 -0
  327. package/dist/v1/schema/compatibility/legacy/index.d.ts +58 -0
  328. package/dist/v1/schema/compatibility/legacy/index.js +145 -0
  329. package/dist/v1/schema/compatibility/meaning/footprint.d.ts +7 -0
  330. package/dist/v1/schema/compatibility/meaning/footprint.js +57 -0
  331. package/dist/v1/schema/compatibility/meaning/index.d.ts +3 -0
  332. package/dist/v1/schema/compatibility/meaning/index.js +14 -0
  333. package/dist/v1/schema/compatibility/model.d.ts +96 -0
  334. package/dist/v1/schema/compatibility/model.js +1 -0
  335. package/dist/v1/schema/compatibility/references.d.ts +30 -0
  336. package/dist/v1/schema/compatibility/references.js +122 -0
  337. package/dist/v1/schema/compatibility/report.d.ts +26 -0
  338. package/dist/v1/schema/compatibility/report.js +100 -0
  339. package/dist/v1/schema/compatibility/scope.d.ts +27 -0
  340. package/dist/v1/schema/compatibility/scope.js +78 -0
  341. package/dist/v1/schema/compatibility/structure/index.d.ts +3 -0
  342. package/dist/v1/schema/compatibility/structure/index.js +16 -0
  343. package/dist/v1/schema/compatibility/structure/inheritance.d.ts +7 -0
  344. package/dist/v1/schema/compatibility/structure/inheritance.js +68 -0
  345. package/dist/v1/schema/compatibility/structure/requirements.d.ts +7 -0
  346. package/dist/v1/schema/compatibility/structure/requirements.js +70 -0
  347. package/dist/v1/schema/compatibility/subjects.d.ts +34 -0
  348. package/dist/v1/schema/compatibility/subjects.js +86 -0
  349. package/dist/v1/schema/dependency/lookup.d.ts +18 -0
  350. package/dist/v1/schema/dependency/lookup.js +31 -0
  351. package/dist/v1/schema/diagnostic.d.ts +7 -7
  352. package/dist/v1/schema/diagnostic.js +9 -9
  353. package/dist/v1/schema/fingerprint.d.ts +2 -0
  354. package/dist/v1/schema/fingerprint.js +1 -0
  355. package/dist/v1/schema/index.d.ts +27 -40
  356. package/dist/v1/schema/index.js +13 -18
  357. package/dist/v1/schema/model/format.d.ts +2 -0
  358. package/dist/v1/schema/model/format.js +2 -0
  359. package/dist/v1/schema/model/schema.d.ts +30 -0
  360. package/dist/v1/schema/model/schema.js +4 -0
  361. package/dist/v1/schema/normalization/domain.d.ts +2 -0
  362. package/dist/v1/schema/normalization/domain.js +232 -0
  363. package/dist/v1/schema/resolution/closure.d.ts +3 -4
  364. package/dist/v1/schema/resolution/closure.js +6 -7
  365. package/dist/v1/schema/resolution/context.d.ts +11 -12
  366. package/dist/v1/schema/resolution/context.js +82 -50
  367. package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
  368. package/dist/v1/schema/resolution/definition.index.js +8 -18
  369. package/dist/v1/schema/resolution/domain.d.ts +4 -0
  370. package/dist/v1/schema/resolution/domain.js +120 -0
  371. package/dist/v1/schema/resolution/origins.d.ts +27 -14
  372. package/dist/v1/schema/resolution/origins.js +87 -58
  373. package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
  374. package/dist/v1/schema/resolution/value.registry.js +7 -14
  375. package/dist/v1/schema/revision.d.ts +1 -0
  376. package/dist/v1/schema/revision.js +1 -0
  377. package/dist/v1/schema/validation/class.d.ts +5 -0
  378. package/dist/v1/schema/validation/class.js +247 -0
  379. package/dist/v1/schema/validation/core.d.ts +5 -0
  380. package/dist/v1/schema/validation/core.js +318 -0
  381. package/dist/v1/schema/validation/domain.d.ts +11 -0
  382. package/dist/v1/schema/validation/domain.js +36 -0
  383. package/dist/v1/schema/validation/domain.route.d.ts +1 -2
  384. package/dist/v1/schema/validation/domain.route.js +3 -4
  385. package/dist/v1/schema/validation/domain.structure.d.ts +3 -4
  386. package/dist/v1/schema/validation/domain.structure.js +230 -218
  387. package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
  388. package/dist/v1/schema/validation/policy/budgets.js +119 -0
  389. package/dist/v1/schema/validation/policy/context.d.ts +28 -0
  390. package/dist/v1/schema/validation/policy/context.js +89 -0
  391. package/dist/v1/schema/validation/policy/objects.d.ts +4 -0
  392. package/dist/v1/schema/validation/policy/objects.js +71 -0
  393. package/dist/v1/schema/validation/policy/references.d.ts +2 -0
  394. package/dist/v1/schema/validation/policy/references.js +155 -0
  395. package/dist/v1/schema/validation/policy/typing.d.ts +19 -0
  396. package/dist/v1/schema/validation/policy/typing.js +347 -0
  397. package/dist/v1/schema/validation/policy/uses.d.ts +5 -0
  398. package/dist/v1/schema/validation/policy/uses.js +196 -0
  399. package/dist/v1/schema/validation/policy/validate.d.ts +11 -0
  400. package/dist/v1/schema/validation/policy/validate.js +23 -0
  401. package/dist/v1/schema/validation/value-api.d.ts +15 -0
  402. package/dist/v1/schema/validation/value-api.js +24 -0
  403. package/dist/v1/schema/validation/value.d.ts +4 -5
  404. package/dist/v1/schema/validation/value.js +11 -10
  405. package/dist/v1/schema/validation/view.d.ts +3 -0
  406. package/dist/v1/schema/validation/view.js +29 -0
  407. package/dist/v1/value/full-match.d.ts +2 -0
  408. package/dist/v1/value/full-match.js +2 -0
  409. package/dist/v1.d.ts +1 -2
  410. package/dist/v1.js +1 -2
  411. package/dist/value/accept.d.ts +9 -1
  412. package/dist/value/accept.js +78 -6
  413. package/dist/value/canonical.d.ts +3 -1
  414. package/dist/value/canonical.js +13 -6
  415. package/dist/value/decode.d.ts +0 -1
  416. package/dist/value/decode.js +0 -1
  417. package/dist/value/equal.d.ts +0 -1
  418. package/dist/value/equal.js +0 -1
  419. package/dist/value/error.d.ts +0 -1
  420. package/dist/value/error.js +0 -1
  421. package/dist/value/immutable.optimization.d.ts +12 -0
  422. package/dist/value/immutable.optimization.js +28 -0
  423. package/dist/value/index.d.ts +1 -2
  424. package/dist/value/index.js +1 -2
  425. package/dist/value/json.d.ts +1 -2
  426. package/dist/value/json.js +1 -2
  427. package/dist/value/limits.d.ts +0 -1
  428. package/dist/value/limits.js +0 -1
  429. package/dist/value/types.d.ts +0 -1
  430. package/dist/value/types.js +0 -1
  431. package/dist/value/unicode.d.ts +1 -2
  432. package/dist/value/unicode.js +1 -1
  433. package/dist/version/dispatch.d.ts +0 -1
  434. package/dist/version/dispatch.js +0 -1
  435. package/dist/version/index.d.ts +0 -1
  436. package/dist/version/index.js +0 -1
  437. package/package.json +52 -21
  438. package/dist/index.d.ts.map +0 -1
  439. package/dist/index.js.map +0 -1
  440. package/dist/upgrade/contract.d.ts.map +0 -1
  441. package/dist/upgrade/contract.js.map +0 -1
  442. package/dist/upgrade/index.d.ts.map +0 -1
  443. package/dist/upgrade/index.js.map +0 -1
  444. package/dist/v1/addressing/index.d.ts.map +0 -1
  445. package/dist/v1/addressing/index.js.map +0 -1
  446. package/dist/v1/addressing/key.d.ts.map +0 -1
  447. package/dist/v1/addressing/key.js.map +0 -1
  448. package/dist/v1/addressing/patterns.d.ts.map +0 -1
  449. package/dist/v1/addressing/patterns.js.map +0 -1
  450. package/dist/v1/addressing/property-key.d.ts.map +0 -1
  451. package/dist/v1/addressing/property-key.js.map +0 -1
  452. package/dist/v1/addressing/ref.d.ts +0 -35
  453. package/dist/v1/addressing/ref.d.ts.map +0 -1
  454. package/dist/v1/addressing/ref.js +0 -94
  455. package/dist/v1/addressing/ref.js.map +0 -1
  456. package/dist/v1/addressing/schema-ref.d.ts +0 -8
  457. package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
  458. package/dist/v1/addressing/schema-ref.js +0 -2
  459. package/dist/v1/addressing/schema-ref.js.map +0 -1
  460. package/dist/v1/builder/callable.d.ts +0 -91
  461. package/dist/v1/builder/callable.d.ts.map +0 -1
  462. package/dist/v1/builder/callable.js +0 -46
  463. package/dist/v1/builder/callable.js.map +0 -1
  464. package/dist/v1/builder/compiler/callable.d.ts +0 -20
  465. package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
  466. package/dist/v1/builder/compiler/callable.js +0 -138
  467. package/dist/v1/builder/compiler/callable.js.map +0 -1
  468. package/dist/v1/builder/compiler/core.d.ts +0 -6
  469. package/dist/v1/builder/compiler/core.d.ts.map +0 -1
  470. package/dist/v1/builder/compiler/core.js +0 -44
  471. package/dist/v1/builder/compiler/core.js.map +0 -1
  472. package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
  473. package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
  474. package/dist/v1/builder/compiler/core.properties.js +0 -70
  475. package/dist/v1/builder/compiler/core.properties.js.map +0 -1
  476. package/dist/v1/builder/compiler/definition.d.ts +0 -32
  477. package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
  478. package/dist/v1/builder/compiler/definition.js +0 -197
  479. package/dist/v1/builder/compiler/definition.js.map +0 -1
  480. package/dist/v1/builder/compiler/policy.d.ts +0 -17
  481. package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
  482. package/dist/v1/builder/compiler/policy.js +0 -54
  483. package/dist/v1/builder/compiler/policy.js.map +0 -1
  484. package/dist/v1/builder/compiler/schema.capture.d.ts +0 -5
  485. package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
  486. package/dist/v1/builder/compiler/schema.capture.js +0 -85
  487. package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
  488. package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
  489. package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
  490. package/dist/v1/builder/compiler/schema.context.js +0 -255
  491. package/dist/v1/builder/compiler/schema.context.js.map +0 -1
  492. package/dist/v1/builder/compiler/schema.d.ts +0 -10
  493. package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
  494. package/dist/v1/builder/compiler/schema.js +0 -90
  495. package/dist/v1/builder/compiler/schema.js.map +0 -1
  496. package/dist/v1/builder/compiler/schema.ownership.d.ts +0 -9
  497. package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
  498. package/dist/v1/builder/compiler/schema.ownership.js +0 -30
  499. package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
  500. package/dist/v1/builder/compiler/value.d.ts +0 -26
  501. package/dist/v1/builder/compiler/value.d.ts.map +0 -1
  502. package/dist/v1/builder/compiler/value.js +0 -160
  503. package/dist/v1/builder/compiler/value.js.map +0 -1
  504. package/dist/v1/builder/compiler/value.path.d.ts +0 -4
  505. package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
  506. package/dist/v1/builder/compiler/value.path.js +0 -21
  507. package/dist/v1/builder/compiler/value.path.js.map +0 -1
  508. package/dist/v1/builder/compiler/value.zod.d.ts +0 -33
  509. package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
  510. package/dist/v1/builder/compiler/value.zod.js +0 -343
  511. package/dist/v1/builder/compiler/value.zod.js.map +0 -1
  512. package/dist/v1/builder/compiler/view.d.ts +0 -12
  513. package/dist/v1/builder/compiler/view.d.ts.map +0 -1
  514. package/dist/v1/builder/compiler/view.js +0 -27
  515. package/dist/v1/builder/compiler/view.js.map +0 -1
  516. package/dist/v1/builder/core.d.ts +0 -27
  517. package/dist/v1/builder/core.d.ts.map +0 -1
  518. package/dist/v1/builder/core.js +0 -21
  519. package/dist/v1/builder/core.js.map +0 -1
  520. package/dist/v1/builder/definition.d.ts +0 -155
  521. package/dist/v1/builder/definition.d.ts.map +0 -1
  522. package/dist/v1/builder/definition.js +0 -141
  523. package/dist/v1/builder/definition.js.map +0 -1
  524. package/dist/v1/builder/full-match.d.ts +0 -5
  525. package/dist/v1/builder/full-match.d.ts.map +0 -1
  526. package/dist/v1/builder/full-match.js +0 -12
  527. package/dist/v1/builder/full-match.js.map +0 -1
  528. package/dist/v1/builder/index.d.ts.map +0 -1
  529. package/dist/v1/builder/index.js.map +0 -1
  530. package/dist/v1/builder/internal/authoring.d.ts +0 -8
  531. package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
  532. package/dist/v1/builder/internal/authoring.js +0 -15
  533. package/dist/v1/builder/internal/authoring.js.map +0 -1
  534. package/dist/v1/builder/internal/authoring.lazy.d.ts +0 -3
  535. package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
  536. package/dist/v1/builder/internal/authoring.lazy.js +0 -14
  537. package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
  538. package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
  539. package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
  540. package/dist/v1/builder/internal/diagnostic.js +0 -16
  541. package/dist/v1/builder/internal/diagnostic.js.map +0 -1
  542. package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
  543. package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
  544. package/dist/v1/builder/internal/path.metadata.js +0 -8
  545. package/dist/v1/builder/internal/path.metadata.js.map +0 -1
  546. package/dist/v1/builder/path.d.ts +0 -9
  547. package/dist/v1/builder/path.d.ts.map +0 -1
  548. package/dist/v1/builder/path.js +0 -12
  549. package/dist/v1/builder/path.js.map +0 -1
  550. package/dist/v1/builder/policy.d.ts +0 -50
  551. package/dist/v1/builder/policy.d.ts.map +0 -1
  552. package/dist/v1/builder/policy.js +0 -79
  553. package/dist/v1/builder/policy.js.map +0 -1
  554. package/dist/v1/builder/property.d.ts +0 -37
  555. package/dist/v1/builder/property.d.ts.map +0 -1
  556. package/dist/v1/builder/property.js +0 -36
  557. package/dist/v1/builder/property.js.map +0 -1
  558. package/dist/v1/builder/schema.d.ts +0 -6
  559. package/dist/v1/builder/schema.d.ts.map +0 -1
  560. package/dist/v1/builder/schema.input.d.ts +0 -19
  561. package/dist/v1/builder/schema.input.d.ts.map +0 -1
  562. package/dist/v1/builder/schema.input.js +0 -2
  563. package/dist/v1/builder/schema.input.js.map +0 -1
  564. package/dist/v1/builder/schema.js +0 -6
  565. package/dist/v1/builder/schema.js.map +0 -1
  566. package/dist/v1/builder/value-schema.d.ts +0 -17
  567. package/dist/v1/builder/value-schema.d.ts.map +0 -1
  568. package/dist/v1/builder/value-schema.js +0 -11
  569. package/dist/v1/builder/value-schema.js.map +0 -1
  570. package/dist/v1/builder/view.d.ts +0 -19
  571. package/dist/v1/builder/view.d.ts.map +0 -1
  572. package/dist/v1/builder/view.js +0 -7
  573. package/dist/v1/builder/view.js.map +0 -1
  574. package/dist/v1/builder.d.ts +0 -3
  575. package/dist/v1/builder.d.ts.map +0 -1
  576. package/dist/v1/builder.js +0 -2
  577. package/dist/v1/builder.js.map +0 -1
  578. package/dist/v1/bundle/codec.d.ts.map +0 -1
  579. package/dist/v1/bundle/codec.js.map +0 -1
  580. package/dist/v1/bundle/index.d.ts.map +0 -1
  581. package/dist/v1/bundle/index.js.map +0 -1
  582. package/dist/v1/bundle/model.d.ts.map +0 -1
  583. package/dist/v1/bundle/model.js.map +0 -1
  584. package/dist/v1/bundle/structure.d.ts.map +0 -1
  585. package/dist/v1/bundle/structure.js.map +0 -1
  586. package/dist/v1/bundle.d.ts +0 -3
  587. package/dist/v1/bundle.d.ts.map +0 -1
  588. package/dist/v1/bundle.js +0 -3
  589. package/dist/v1/bundle.js.map +0 -1
  590. package/dist/v1/index.d.ts.map +0 -1
  591. package/dist/v1/index.js.map +0 -1
  592. package/dist/v1/schema/callable.d.ts +0 -29
  593. package/dist/v1/schema/callable.d.ts.map +0 -1
  594. package/dist/v1/schema/callable.js +0 -2
  595. package/dist/v1/schema/callable.js.map +0 -1
  596. package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
  597. package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
  598. package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
  599. package/dist/v1/schema/canonical/domain.js.map +0 -1
  600. package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
  601. package/dist/v1/schema/canonical/freeze.js.map +0 -1
  602. package/dist/v1/schema/compiled/admission.d.ts +0 -4
  603. package/dist/v1/schema/compiled/admission.d.ts.map +0 -1
  604. package/dist/v1/schema/compiled/admission.js +0 -217
  605. package/dist/v1/schema/compiled/admission.js.map +0 -1
  606. package/dist/v1/schema/compiled/authored-validator.d.ts +0 -5
  607. package/dist/v1/schema/compiled/authored-validator.d.ts.map +0 -1
  608. package/dist/v1/schema/compiled/authored-validator.js +0 -7
  609. package/dist/v1/schema/compiled/authored-validator.js.map +0 -1
  610. package/dist/v1/schema/compiled/compiler.d.ts +0 -5
  611. package/dist/v1/schema/compiled/compiler.d.ts.map +0 -1
  612. package/dist/v1/schema/compiled/compiler.js +0 -86
  613. package/dist/v1/schema/compiled/compiler.js.map +0 -1
  614. package/dist/v1/schema/compiled/model.d.ts +0 -61
  615. package/dist/v1/schema/compiled/model.d.ts.map +0 -1
  616. package/dist/v1/schema/compiled/model.js +0 -2
  617. package/dist/v1/schema/compiled/model.js.map +0 -1
  618. package/dist/v1/schema/compiled/program.d.ts +0 -5
  619. package/dist/v1/schema/compiled/program.d.ts.map +0 -1
  620. package/dist/v1/schema/compiled/program.js +0 -42
  621. package/dist/v1/schema/compiled/program.js.map +0 -1
  622. package/dist/v1/schema/compiled/validator.d.ts +0 -23
  623. package/dist/v1/schema/compiled/validator.d.ts.map +0 -1
  624. package/dist/v1/schema/compiled/validator.js +0 -62
  625. package/dist/v1/schema/compiled/validator.js.map +0 -1
  626. package/dist/v1/schema/core/declaration.d.ts +0 -17
  627. package/dist/v1/schema/core/declaration.d.ts.map +0 -1
  628. package/dist/v1/schema/core/declaration.js +0 -2
  629. package/dist/v1/schema/core/declaration.js.map +0 -1
  630. package/dist/v1/schema/core/validate.d.ts +0 -6
  631. package/dist/v1/schema/core/validate.d.ts.map +0 -1
  632. package/dist/v1/schema/core/validate.js +0 -257
  633. package/dist/v1/schema/core/validate.js.map +0 -1
  634. package/dist/v1/schema/definition/analysis.d.ts +0 -43
  635. package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
  636. package/dist/v1/schema/definition/analysis.js +0 -190
  637. package/dist/v1/schema/definition/analysis.js.map +0 -1
  638. package/dist/v1/schema/definition/class.d.ts +0 -28
  639. package/dist/v1/schema/definition/class.d.ts.map +0 -1
  640. package/dist/v1/schema/definition/class.js +0 -2
  641. package/dist/v1/schema/definition/class.js.map +0 -1
  642. package/dist/v1/schema/definition/data.d.ts +0 -12
  643. package/dist/v1/schema/definition/data.d.ts.map +0 -1
  644. package/dist/v1/schema/definition/data.js +0 -3
  645. package/dist/v1/schema/definition/data.js.map +0 -1
  646. package/dist/v1/schema/definition/edge.d.ts +0 -35
  647. package/dist/v1/schema/definition/edge.d.ts.map +0 -1
  648. package/dist/v1/schema/definition/edge.js +0 -2
  649. package/dist/v1/schema/definition/edge.js.map +0 -1
  650. package/dist/v1/schema/definition/interface.d.ts +0 -22
  651. package/dist/v1/schema/definition/interface.d.ts.map +0 -1
  652. package/dist/v1/schema/definition/interface.js +0 -2
  653. package/dist/v1/schema/definition/interface.js.map +0 -1
  654. package/dist/v1/schema/definition/property.d.ts +0 -18
  655. package/dist/v1/schema/definition/property.d.ts.map +0 -1
  656. package/dist/v1/schema/definition/property.js +0 -2
  657. package/dist/v1/schema/definition/property.js.map +0 -1
  658. package/dist/v1/schema/definition/validate.d.ts +0 -5
  659. package/dist/v1/schema/definition/validate.d.ts.map +0 -1
  660. package/dist/v1/schema/definition/validate.js +0 -221
  661. package/dist/v1/schema/definition/validate.js.map +0 -1
  662. package/dist/v1/schema/dependency.meaning.d.ts +0 -30
  663. package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
  664. package/dist/v1/schema/dependency.meaning.js +0 -608
  665. package/dist/v1/schema/dependency.meaning.js.map +0 -1
  666. package/dist/v1/schema/diagnostic.d.ts.map +0 -1
  667. package/dist/v1/schema/diagnostic.js.map +0 -1
  668. package/dist/v1/schema/domain.accept.d.ts +0 -4
  669. package/dist/v1/schema/domain.accept.d.ts.map +0 -1
  670. package/dist/v1/schema/domain.accept.js +0 -27
  671. package/dist/v1/schema/domain.accept.js.map +0 -1
  672. package/dist/v1/schema/domain.codec.d.ts +0 -6
  673. package/dist/v1/schema/domain.codec.d.ts.map +0 -1
  674. package/dist/v1/schema/domain.codec.js +0 -22
  675. package/dist/v1/schema/domain.codec.js.map +0 -1
  676. package/dist/v1/schema/domain.header.d.ts +0 -15
  677. package/dist/v1/schema/domain.header.d.ts.map +0 -1
  678. package/dist/v1/schema/domain.header.js +0 -21
  679. package/dist/v1/schema/domain.header.js.map +0 -1
  680. package/dist/v1/schema/domain.ir.d.ts +0 -40
  681. package/dist/v1/schema/domain.ir.d.ts.map +0 -1
  682. package/dist/v1/schema/domain.ir.js +0 -5
  683. package/dist/v1/schema/domain.ir.js.map +0 -1
  684. package/dist/v1/schema/domain.lookup.d.ts +0 -19
  685. package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
  686. package/dist/v1/schema/domain.lookup.js +0 -32
  687. package/dist/v1/schema/domain.lookup.js.map +0 -1
  688. package/dist/v1/schema/domain.resolve.d.ts +0 -26
  689. package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
  690. package/dist/v1/schema/domain.resolve.js +0 -43
  691. package/dist/v1/schema/domain.resolve.js.map +0 -1
  692. package/dist/v1/schema/domain.revision.d.ts +0 -12
  693. package/dist/v1/schema/domain.revision.d.ts.map +0 -1
  694. package/dist/v1/schema/domain.revision.js +0 -18
  695. package/dist/v1/schema/domain.revision.js.map +0 -1
  696. package/dist/v1/schema/domain.validate.d.ts +0 -12
  697. package/dist/v1/schema/domain.validate.d.ts.map +0 -1
  698. package/dist/v1/schema/domain.validate.js +0 -36
  699. package/dist/v1/schema/domain.validate.js.map +0 -1
  700. package/dist/v1/schema/index.d.ts.map +0 -1
  701. package/dist/v1/schema/index.js.map +0 -1
  702. package/dist/v1/schema/metadata.d.ts +0 -13
  703. package/dist/v1/schema/metadata.d.ts.map +0 -1
  704. package/dist/v1/schema/metadata.js +0 -13
  705. package/dist/v1/schema/metadata.js.map +0 -1
  706. package/dist/v1/schema/policy/ast.d.ts +0 -77
  707. package/dist/v1/schema/policy/ast.d.ts.map +0 -1
  708. package/dist/v1/schema/policy/ast.js +0 -2
  709. package/dist/v1/schema/policy/ast.js.map +0 -1
  710. package/dist/v1/schema/policy/normalize.d.ts +0 -5
  711. package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
  712. package/dist/v1/schema/policy/normalize.js +0 -230
  713. package/dist/v1/schema/policy/normalize.js.map +0 -1
  714. package/dist/v1/schema/policy/validation/branches.d.ts +0 -21
  715. package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
  716. package/dist/v1/schema/policy/validation/branches.js +0 -155
  717. package/dist/v1/schema/policy/validation/branches.js.map +0 -1
  718. package/dist/v1/schema/policy/validation/budgets.d.ts +0 -19
  719. package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
  720. package/dist/v1/schema/policy/validation/budgets.js +0 -132
  721. package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
  722. package/dist/v1/schema/policy/validation/context.d.ts +0 -28
  723. package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
  724. package/dist/v1/schema/policy/validation/context.js +0 -99
  725. package/dist/v1/schema/policy/validation/context.js.map +0 -1
  726. package/dist/v1/schema/policy/validation/references.d.ts +0 -3
  727. package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
  728. package/dist/v1/schema/policy/validation/references.js +0 -136
  729. package/dist/v1/schema/policy/validation/references.js.map +0 -1
  730. package/dist/v1/schema/policy/validation/typing.d.ts +0 -23
  731. package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
  732. package/dist/v1/schema/policy/validation/typing.js +0 -360
  733. package/dist/v1/schema/policy/validation/typing.js.map +0 -1
  734. package/dist/v1/schema/policy/validation/uses.d.ts +0 -6
  735. package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
  736. package/dist/v1/schema/policy/validation/uses.js +0 -272
  737. package/dist/v1/schema/policy/validation/uses.js.map +0 -1
  738. package/dist/v1/schema/policy/validation/validate.d.ts +0 -12
  739. package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
  740. package/dist/v1/schema/policy/validation/validate.js +0 -24
  741. package/dist/v1/schema/policy/validation/validate.js.map +0 -1
  742. package/dist/v1/schema/reference.d.ts +0 -43
  743. package/dist/v1/schema/reference.d.ts.map +0 -1
  744. package/dist/v1/schema/reference.js +0 -31
  745. package/dist/v1/schema/reference.js.map +0 -1
  746. package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
  747. package/dist/v1/schema/resolution/closure.js.map +0 -1
  748. package/dist/v1/schema/resolution/context.d.ts.map +0 -1
  749. package/dist/v1/schema/resolution/context.js.map +0 -1
  750. package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
  751. package/dist/v1/schema/resolution/definition.index.js.map +0 -1
  752. package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
  753. package/dist/v1/schema/resolution/origins.js.map +0 -1
  754. package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
  755. package/dist/v1/schema/resolution/value.registry.js.map +0 -1
  756. package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
  757. package/dist/v1/schema/validation/domain.route.js.map +0 -1
  758. package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
  759. package/dist/v1/schema/validation/domain.structure.js.map +0 -1
  760. package/dist/v1/schema/validation/value.d.ts.map +0 -1
  761. package/dist/v1/schema/validation/value.js.map +0 -1
  762. package/dist/v1/schema/value/extensions/node-path/schema.d.ts +0 -6
  763. package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
  764. package/dist/v1/schema/value/extensions/node-path/schema.js +0 -19
  765. package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
  766. package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
  767. package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
  768. package/dist/v1/schema/value/extensions/node-path/validate.js +0 -80
  769. package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
  770. package/dist/v1/schema/value/full-match.d.ts +0 -7
  771. package/dist/v1/schema/value/full-match.d.ts.map +0 -1
  772. package/dist/v1/schema/value/full-match.js +0 -21
  773. package/dist/v1/schema/value/full-match.js.map +0 -1
  774. package/dist/v1/schema/value/index.d.ts +0 -14
  775. package/dist/v1/schema/value/index.d.ts.map +0 -1
  776. package/dist/v1/schema/value/index.js +0 -24
  777. package/dist/v1/schema/value/index.js.map +0 -1
  778. package/dist/v1/schema/value/instance/assertions.d.ts +0 -7
  779. package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
  780. package/dist/v1/schema/value/instance/assertions.js +0 -59
  781. package/dist/v1/schema/value/instance/assertions.js.map +0 -1
  782. package/dist/v1/schema/value/instance/evaluator.d.ts +0 -5
  783. package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
  784. package/dist/v1/schema/value/instance/evaluator.js +0 -362
  785. package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
  786. package/dist/v1/schema/value/instance/preparation.d.ts +0 -14
  787. package/dist/v1/schema/value/instance/preparation.d.ts.map +0 -1
  788. package/dist/v1/schema/value/instance/preparation.js +0 -137
  789. package/dist/v1/schema/value/instance/preparation.js.map +0 -1
  790. package/dist/v1/schema/value/instance/types.d.ts +0 -37
  791. package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
  792. package/dist/v1/schema/value/instance/types.js +0 -10
  793. package/dist/v1/schema/value/instance/types.js.map +0 -1
  794. package/dist/v1/schema/value/instance.validate.d.ts +0 -13
  795. package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
  796. package/dist/v1/schema/value/instance.validate.js +0 -44
  797. package/dist/v1/schema/value/instance.validate.js.map +0 -1
  798. package/dist/v1/schema/value/instant.d.ts +0 -9
  799. package/dist/v1/schema/value/instant.d.ts.map +0 -1
  800. package/dist/v1/schema/value/instant.js +0 -37
  801. package/dist/v1/schema/value/instant.js.map +0 -1
  802. package/dist/v1/schema/value/location/keywords.d.ts +0 -4
  803. package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
  804. package/dist/v1/schema/value/location/keywords.js +0 -21
  805. package/dist/v1/schema/value/location/keywords.js.map +0 -1
  806. package/dist/v1/schema/value/location/pointer.d.ts +0 -5
  807. package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
  808. package/dist/v1/schema/value/location/pointer.js +0 -50
  809. package/dist/v1/schema/value/location/pointer.js.map +0 -1
  810. package/dist/v1/schema/value/location/walk.d.ts +0 -11
  811. package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
  812. package/dist/v1/schema/value/location/walk.js +0 -54
  813. package/dist/v1/schema/value/location/walk.js.map +0 -1
  814. package/dist/v1/schema/value/object.d.ts +0 -5
  815. package/dist/v1/schema/value/object.d.ts.map +0 -1
  816. package/dist/v1/schema/value/object.js +0 -4
  817. package/dist/v1/schema/value/object.js.map +0 -1
  818. package/dist/v1/schema/value/ordering.d.ts +0 -11
  819. package/dist/v1/schema/value/ordering.d.ts.map +0 -1
  820. package/dist/v1/schema/value/ordering.js +0 -172
  821. package/dist/v1/schema/value/ordering.js.map +0 -1
  822. package/dist/v1/schema/value/profile/canonicalize.d.ts +0 -5
  823. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
  824. package/dist/v1/schema/value/profile/canonicalize.js +0 -133
  825. package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
  826. package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
  827. package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
  828. package/dist/v1/schema/value/profile/dialect.js +0 -36
  829. package/dist/v1/schema/value/profile/dialect.js.map +0 -1
  830. package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
  831. package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
  832. package/dist/v1/schema/value/profile/json.validate.js +0 -15
  833. package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
  834. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts +0 -79
  835. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts.map +0 -1
  836. package/dist/v1/schema/value/profile/meta-schema.compiled.js +0 -2080
  837. package/dist/v1/schema/value/profile/meta-schema.compiled.js.map +0 -1
  838. package/dist/v1/schema/value/profile/meta-schema.d.ts +0 -5
  839. package/dist/v1/schema/value/profile/meta-schema.d.ts.map +0 -1
  840. package/dist/v1/schema/value/profile/meta-schema.js +0 -20
  841. package/dist/v1/schema/value/profile/meta-schema.js.map +0 -1
  842. package/dist/v1/schema/value/profile/rules.d.ts +0 -5
  843. package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
  844. package/dist/v1/schema/value/profile/rules.js +0 -152
  845. package/dist/v1/schema/value/profile/rules.js.map +0 -1
  846. package/dist/v1/schema/value/profile/validate.d.ts +0 -5
  847. package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
  848. package/dist/v1/schema/value/profile/validate.js +0 -47
  849. package/dist/v1/schema/value/profile/validate.js.map +0 -1
  850. package/dist/v1/schema/value/profile/vocabulary.d.ts +0 -3
  851. package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
  852. package/dist/v1/schema/value/profile/vocabulary.js +0 -69
  853. package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
  854. package/dist/v1/schema/value/regexp/ast.d.ts +0 -22
  855. package/dist/v1/schema/value/regexp/ast.d.ts.map +0 -1
  856. package/dist/v1/schema/value/regexp/ast.js +0 -327
  857. package/dist/v1/schema/value/regexp/ast.js.map +0 -1
  858. package/dist/v1/schema/value/regexp/compile.d.ts +0 -4
  859. package/dist/v1/schema/value/regexp/compile.d.ts.map +0 -1
  860. package/dist/v1/schema/value/regexp/compile.js +0 -97
  861. package/dist/v1/schema/value/regexp/compile.js.map +0 -1
  862. package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
  863. package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
  864. package/dist/v1/schema/value/regexp/linear.js +0 -24
  865. package/dist/v1/schema/value/regexp/linear.js.map +0 -1
  866. package/dist/v1/schema/value/regexp/lower.d.ts +0 -4
  867. package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
  868. package/dist/v1/schema/value/regexp/lower.js +0 -27
  869. package/dist/v1/schema/value/regexp/lower.js.map +0 -1
  870. package/dist/v1/schema/value/regexp/matcher.d.ts +0 -8
  871. package/dist/v1/schema/value/regexp/matcher.d.ts.map +0 -1
  872. package/dist/v1/schema/value/regexp/matcher.js +0 -51
  873. package/dist/v1/schema/value/regexp/matcher.js.map +0 -1
  874. package/dist/v1/schema/value/regexp/pattern.d.ts +0 -3
  875. package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
  876. package/dist/v1/schema/value/regexp/pattern.js +0 -39
  877. package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
  878. package/dist/v1/schema/value/regexp/syntax.d.ts +0 -3
  879. package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
  880. package/dist/v1/schema/value/regexp/syntax.js +0 -6
  881. package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
  882. package/dist/v1/schema/value/registry.d.ts +0 -22
  883. package/dist/v1/schema/value/registry.d.ts.map +0 -1
  884. package/dist/v1/schema/value/registry.js +0 -2
  885. package/dist/v1/schema/value/registry.js.map +0 -1
  886. package/dist/v1/schema/value/resources/closure.d.ts +0 -12
  887. package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
  888. package/dist/v1/schema/value/resources/closure.js +0 -59
  889. package/dist/v1/schema/value/resources/closure.js.map +0 -1
  890. package/dist/v1/schema/value/resources/recursion.d.ts +0 -6
  891. package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
  892. package/dist/v1/schema/value/resources/recursion.js +0 -96
  893. package/dist/v1/schema/value/resources/recursion.js.map +0 -1
  894. package/dist/v1/schema/value/resources/references.d.ts +0 -25
  895. package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
  896. package/dist/v1/schema/value/resources/references.js +0 -93
  897. package/dist/v1/schema/value/resources/references.js.map +0 -1
  898. package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
  899. package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
  900. package/dist/v1/schema/value/resources/registry.index.js +0 -114
  901. package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
  902. package/dist/v1/schema/value/schema.d.ts +0 -26
  903. package/dist/v1/schema/value/schema.d.ts.map +0 -1
  904. package/dist/v1/schema/value/schema.js +0 -13
  905. package/dist/v1/schema/value/schema.js.map +0 -1
  906. package/dist/v1/schema/view/declaration.d.ts +0 -14
  907. package/dist/v1/schema/view/declaration.d.ts.map +0 -1
  908. package/dist/v1/schema/view/declaration.js +0 -2
  909. package/dist/v1/schema/view/declaration.js.map +0 -1
  910. package/dist/v1/schema/view/validate.d.ts +0 -4
  911. package/dist/v1/schema/view/validate.d.ts.map +0 -1
  912. package/dist/v1/schema/view/validate.js +0 -22
  913. package/dist/v1/schema/view/validate.js.map +0 -1
  914. package/dist/v1/schema.d.ts +0 -3
  915. package/dist/v1/schema.d.ts.map +0 -1
  916. package/dist/v1/schema.js +0 -3
  917. package/dist/v1/schema.js.map +0 -1
  918. package/dist/v1.d.ts.map +0 -1
  919. package/dist/v1.js.map +0 -1
  920. package/dist/value/accept.d.ts.map +0 -1
  921. package/dist/value/accept.js.map +0 -1
  922. package/dist/value/canonical.d.ts.map +0 -1
  923. package/dist/value/canonical.js.map +0 -1
  924. package/dist/value/decode.d.ts.map +0 -1
  925. package/dist/value/decode.js.map +0 -1
  926. package/dist/value/equal.d.ts.map +0 -1
  927. package/dist/value/equal.js.map +0 -1
  928. package/dist/value/error.d.ts.map +0 -1
  929. package/dist/value/error.js.map +0 -1
  930. package/dist/value/index.d.ts.map +0 -1
  931. package/dist/value/index.js.map +0 -1
  932. package/dist/value/json.d.ts.map +0 -1
  933. package/dist/value/json.js.map +0 -1
  934. package/dist/value/limits.d.ts.map +0 -1
  935. package/dist/value/limits.js.map +0 -1
  936. package/dist/value/types.d.ts.map +0 -1
  937. package/dist/value/types.js.map +0 -1
  938. package/dist/value/unicode.d.ts.map +0 -1
  939. package/dist/value/unicode.js.map +0 -1
  940. package/dist/version/dispatch.d.ts.map +0 -1
  941. package/dist/version/dispatch.js.map +0 -1
  942. package/dist/version/index.d.ts.map +0 -1
  943. package/dist/version/index.js.map +0 -1
@@ -0,0 +1,84 @@
1
+ import { isBinaryInput } from '../../../language/callable/model/callable.js';
2
+ import { methodSignature as inheritedSignature } from '../../analysis/class.js';
3
+ import { deepFreeze } from '../../canonical/freeze.js';
4
+ import { keyForDefinitionRef } from '../coordinate.js';
5
+ import { CALLABLE_FIELDS, fieldsOf } from '../fields.js';
6
+ import { fingerprintMeaning, semanticValueSchema } from './values.js';
7
+ export function methodExistence(method) {
8
+ return deepFreeze({
9
+ coordinate: 'method',
10
+ owner: keyForDefinitionRef(method.owner),
11
+ name: method.name,
12
+ static: method.declaration.static,
13
+ abstract: method.declaration.abstract,
14
+ });
15
+ }
16
+ export function methodSignature(method) {
17
+ return deepFreeze({
18
+ coordinate: 'method',
19
+ owner: keyForDefinitionRef(method.owner),
20
+ name: method.name,
21
+ ...callableSignature(method.declaration),
22
+ });
23
+ }
24
+ export function methodInheritance(method) {
25
+ return deepFreeze({
26
+ coordinate: 'method',
27
+ owner: keyForDefinitionRef(method.owner),
28
+ name: method.name,
29
+ abstract: method.declaration.abstract,
30
+ ...inheritedSignature(method.declaration),
31
+ });
32
+ }
33
+ export function functionSignature(declaration) {
34
+ return deepFreeze({
35
+ coordinate: 'function',
36
+ ...callableSignature(declaration),
37
+ });
38
+ }
39
+ export function functionExistence() {
40
+ return Object.freeze({ coordinate: 'function' });
41
+ }
42
+ /**
43
+ * Fingerprint the contract a caller compiles against, independently of its Domain revision: the
44
+ * exact key, the owner, dispatch and abstractness of a Method, and the semantic input and output
45
+ * contracts; authorization is excluded (DM-CALLABLE-FINGERPRINT). A static consumer pins this
46
+ * instead of a Domain revision, so a dependency release that leaves the callable contract untouched
47
+ * keeps every bound invocation valid.
48
+ */
49
+ export function callableFingerprint(callable) {
50
+ // This digest input travels in every bound invocation and is recomputed by the Kernel; its
51
+ // shape is frozen, `kind` included, so a Kernel upgrade never invalidates an unchanged pin.
52
+ return fingerprintMeaning('owner' in callable
53
+ ? {
54
+ kind: 'method',
55
+ key: callable.key,
56
+ owner: callable.owner.key,
57
+ ...callableSignature(callable),
58
+ }
59
+ : { kind: 'function', key: callable.key, ...callableSignature(callable) });
60
+ }
61
+ /** The `always` fields of CALLABLE_FIELDS: dispatch shape and the semantic input and output. */
62
+ export function callableSignature(declaration) {
63
+ return {
64
+ ...fieldsOf({ declaration, roles: CALLABLE_FIELDS }),
65
+ input: isBinaryInput(declaration.input)
66
+ ? {
67
+ mode: 'binary',
68
+ metadata: semanticValueSchema(declaration.input.metadata),
69
+ maximumBytes: declaration.input.maximumBytes,
70
+ }
71
+ : semanticValueSchema(declaration.input),
72
+ output: semanticOutput(declaration.output),
73
+ };
74
+ }
75
+ function semanticOutput(output) {
76
+ switch (output.mode) {
77
+ case 'value':
78
+ return { mode: 'value', schema: semanticValueSchema(output.schema) };
79
+ case 'stream':
80
+ return { mode: 'stream', item: semanticValueSchema(output.item) };
81
+ case 'binary':
82
+ return { mode: 'binary' };
83
+ }
84
+ }
@@ -0,0 +1,28 @@
1
+ import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
+ import type { Key as SemanticKey } from '../../../addressing/index.js';
3
+ import type { EffectiveField } from '../../analysis/class.js';
4
+ import type { Context } from '../context.js';
5
+ import type { ClassCoordinate } from '../coordinate.js';
6
+ import type { DependencyMeaningLevel } from '../fields.js';
7
+ import type { Report } from '../report.js';
8
+ import type { ComparisonContext, SubjectPair } from '../scope.js';
9
+ export interface ClassRequirement {
10
+ readonly ancestors: readonly SemanticKey[];
11
+ }
12
+ /**
13
+ * A reference needs the Class to exist with its kind, abstractness and orientation; inheritance
14
+ * additionally takes on the source ancestors, class policies, data contract and, for an Edge, the
15
+ * endpoint and constraint contracts. A target projected onto a source requirement keeps only the
16
+ * ancestors the source named, so a superset satisfies it while a removal changes it.
17
+ */
18
+ export declare function classMeaning(context: Context, coordinate: ClassCoordinate, level: DependencyMeaningLevel, onto?: ClassRequirement): {
19
+ readonly meaning: JsonValue;
20
+ readonly requirement: ClassRequirement;
21
+ } | undefined;
22
+ export declare function propertyMeaning(field: EffectiveField): JsonValue;
23
+ /** Newly required data is an obligation even though it was absent from the source footprint. */
24
+ export declare function compareAddedProperties({ context, pair, report, }: {
25
+ readonly context: ComparisonContext;
26
+ readonly pair: SubjectPair;
27
+ readonly report: Report;
28
+ }): void;
@@ -0,0 +1,96 @@
1
+ import { compareUnicode } from '../../../addressing/ordering.js';
2
+ import { deepFreeze } from '../../canonical/freeze.js';
3
+ import { effectiveDefinition } from '../context.js';
4
+ import { propertyCoordinate } from '../coordinate.js';
5
+ import { keyForDefinitionRef } from '../coordinate.js';
6
+ import { CLASS_FIELDS, PROPERTY_FIELDS, fieldsOf } from '../fields.js';
7
+ import { usageOf } from '../references.js';
8
+ import { semanticValueSchema } from './values.js';
9
+ /**
10
+ * A reference needs the Class to exist with its kind, abstractness and orientation; inheritance
11
+ * additionally takes on the source ancestors, class policies, data contract and, for an Edge, the
12
+ * endpoint and constraint contracts. A target projected onto a source requirement keeps only the
13
+ * ancestors the source named, so a superset satisfies it while a removal changes it.
14
+ */
15
+ export function classMeaning(context, coordinate, level, onto) {
16
+ const owner = context.schemas.get(coordinate.ref.origin);
17
+ const declaration = owner?.classes[coordinate.ref.name];
18
+ const analysis = owner === undefined ? undefined : effectiveDefinition(context, owner, coordinate.ref);
19
+ if (owner === undefined || declaration === undefined || analysis === undefined)
20
+ return undefined;
21
+ const ancestors = ancestorKeys(context, coordinate.ref);
22
+ const requirement = Object.freeze({
23
+ ancestors,
24
+ });
25
+ const meaning = {
26
+ coordinate: 'class',
27
+ level: level,
28
+ ...fieldsOf({ declaration, roles: CLASS_FIELDS, level }),
29
+ ...(level === 'inherit'
30
+ ? {
31
+ extends: onto === undefined
32
+ ? ancestors
33
+ : onto.ancestors.filter((ancestor) => ancestors.includes(ancestor)),
34
+ policies: Object.fromEntries(Object.entries(declaration.policies)
35
+ .filter(([, ref]) => ref !== undefined)
36
+ .map(([role, ref]) => [role, keyForDefinitionRef(ref)])),
37
+ ...(declaration.kind === 'node'
38
+ ? {
39
+ data: analysis.data === undefined
40
+ ? null
41
+ : {
42
+ owner: keyForDefinitionRef(analysis.data.owner),
43
+ declaration: analysis.data.declaration,
44
+ },
45
+ }
46
+ : { endpoints: declaration.endpoints, constraints: declaration.constraints }),
47
+ }
48
+ : {}),
49
+ };
50
+ return { meaning: deepFreeze(meaning), requirement };
51
+ }
52
+ export function propertyMeaning(field) {
53
+ return deepFreeze({
54
+ coordinate: 'property',
55
+ owner: keyForDefinitionRef(field.owner),
56
+ name: field.name,
57
+ ...fieldsOf({ declaration: field, roles: PROPERTY_FIELDS }),
58
+ schema: semanticValueSchema(field.schema),
59
+ });
60
+ }
61
+ function ancestorKeys(context, ref) {
62
+ const seen = new Set();
63
+ const visit = (current) => {
64
+ const declaration = context.schemas.get(current.origin)?.classes[current.name];
65
+ if (declaration === undefined)
66
+ return;
67
+ for (const parent of declaration.extends) {
68
+ const key = keyForDefinitionRef(parent);
69
+ if (seen.has(key))
70
+ continue;
71
+ seen.add(key);
72
+ visit(parent);
73
+ }
74
+ };
75
+ visit(ref);
76
+ return [...seen].sort(compareUnicode);
77
+ }
78
+ /** Newly required data is an obligation even though it was absent from the source footprint. */
79
+ export function compareAddedProperties({ context, pair, report, }) {
80
+ if (pair.source?.kind !== 'class' || pair.target?.kind !== 'class')
81
+ return;
82
+ for (const field of pair.target.analysis.properties.values()) {
83
+ if (pair.source.analysis.properties.has(field.identity) ||
84
+ !field.required ||
85
+ field.auto !== undefined)
86
+ continue;
87
+ const coordinate = propertyCoordinate(field.owner, field.name);
88
+ report.note({ coordinate, usage: usageOf(pair.source.schema, 'member', pair.coordinate.key) });
89
+ report.record({
90
+ pair: context.pair(coordinate),
91
+ facet: 'property.required',
92
+ after: propertyMeaning(field),
93
+ requirement: { kind: 'property.required', satisfied: false },
94
+ });
95
+ }
96
+ }
@@ -0,0 +1,12 @@
1
+ import type { Value } from '@astrale-os/kernel-dsl/value';
2
+ import type { Facet } from '../model.js';
3
+ import type { ComparisonContext, SubjectPair } from '../scope.js';
4
+ /** Shared facet comparisons know declarations, never installation or an analysis mode. */
5
+ export declare function compareFacet({ context, pair, facet, }: {
6
+ readonly context: ComparisonContext;
7
+ readonly pair: SubjectPair;
8
+ readonly facet: Exclude<Facet, 'class.composition' | 'property.required'>;
9
+ }): {
10
+ readonly before?: Value;
11
+ readonly after?: Value;
12
+ };
@@ -0,0 +1,41 @@
1
+ import { methodInheritance, functionSignature, functionExistence, methodSignature, methodExistence, } from './callables.js';
2
+ import { classMeaning, propertyMeaning } from './classes.js';
3
+ import { memberMeaning } from './members.js';
4
+ /** Shared facet comparisons know declarations, never installation or an analysis mode. */
5
+ export function compareFacet({ context, pair, facet, }) {
6
+ if (facet === 'class.reference' || facet === 'class.inherit') {
7
+ if (pair.coordinate.kind !== 'class')
8
+ throw new TypeError('Class facet requires a Class coordinate.');
9
+ const level = facet === 'class.inherit' ? 'inherit' : 'reference';
10
+ const before = classMeaning(context.before, pair.coordinate, level);
11
+ const after = classMeaning(context.after, pair.coordinate, level, before?.requirement);
12
+ return { before: before?.meaning, after: after?.meaning };
13
+ }
14
+ const value = (subject) => {
15
+ if (subject === undefined)
16
+ return undefined;
17
+ switch (facet) {
18
+ case 'property':
19
+ return subject.kind === 'property' ? propertyMeaning(subject.field) : undefined;
20
+ case 'method.existence':
21
+ return subject.kind === 'method' ? methodExistence(subject.method) : undefined;
22
+ case 'method.signature':
23
+ return subject.kind === 'method' ? methodSignature(subject.method) : undefined;
24
+ case 'method.inheritance':
25
+ return subject.kind === 'method' ? methodInheritance(subject.method) : undefined;
26
+ case 'function.existence':
27
+ return functionExistence();
28
+ case 'function.signature':
29
+ return subject.kind === 'member'
30
+ ? functionSignature(subject.schema.functions[subject.coordinate.ref.name])
31
+ : undefined;
32
+ case 'policy':
33
+ case 'view':
34
+ case 'core':
35
+ return subject.kind === 'member'
36
+ ? memberMeaning(subject.schema, subject.coordinate.ref)
37
+ : undefined;
38
+ }
39
+ };
40
+ return { before: value(pair.source), after: value(pair.target) };
41
+ }
@@ -0,0 +1,4 @@
1
+ import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
+ import type { DomainSchema } from '../../model/schema.js';
3
+ import type { MemberRef } from '../coordinate.js';
4
+ export declare function memberMeaning(owner: DomainSchema, ref: MemberRef): JsonValue | undefined;
@@ -0,0 +1,49 @@
1
+ import { deepFreeze } from '../../canonical/freeze.js';
2
+ import { CORE_FIELDS, POLICY_FIELDS, VIEW_FIELDS, fieldsOf } from '../fields.js';
3
+ import { functionSignature } from './callables.js';
4
+ export function memberMeaning(owner, ref) {
5
+ const meaning = memberMeaningOf(owner, ref);
6
+ return meaning === undefined ? undefined : deepFreeze(meaning);
7
+ }
8
+ function memberMeaningOf(owner, ref) {
9
+ if (ref.origin !== owner.origin)
10
+ return undefined;
11
+ switch (ref.kind) {
12
+ case 'function': {
13
+ const declaration = owner.functions[ref.name];
14
+ return declaration === undefined ? undefined : functionSignature(declaration);
15
+ }
16
+ case 'policy': {
17
+ const declaration = owner.policies[ref.name];
18
+ return declaration === undefined
19
+ ? undefined
20
+ : {
21
+ coordinate: 'policy',
22
+ ...fieldsOf({ declaration, roles: POLICY_FIELDS }),
23
+ };
24
+ }
25
+ case 'view': {
26
+ const declaration = owner.views[ref.name];
27
+ return declaration === undefined
28
+ ? undefined
29
+ : {
30
+ coordinate: 'view',
31
+ ...fieldsOf({ declaration, roles: VIEW_FIELDS }),
32
+ };
33
+ }
34
+ case 'core': {
35
+ const node = owner.core.nodes[ref.name];
36
+ return node === undefined
37
+ ? undefined
38
+ : {
39
+ coordinate: 'core',
40
+ ...fieldsOf({ declaration: node, roles: CORE_FIELDS }),
41
+ edges: incidentCoreEdges(owner, ref.name).map((edge) => fieldsOf({ declaration: edge, roles: CORE_FIELDS })),
42
+ };
43
+ }
44
+ }
45
+ }
46
+ function incidentCoreEdges(owner, name) {
47
+ return owner.core.edges.filter((edge) => (edge.source.kind === 'core' && edge.source.name === name) ||
48
+ (edge.target.kind === 'core' && edge.target.name === name));
49
+ }
@@ -0,0 +1,5 @@
1
+ import type { JsonSchema } from '../../../language/value/model/schema.js';
2
+ import type { Fingerprint } from '../model.js';
3
+ /** Drop annotation keywords wherever a schema keyword nests a schema; never inside data. */
4
+ export declare function semanticValueSchema(value: JsonSchema): JsonSchema;
5
+ export declare function fingerprintMeaning(value: unknown): Fingerprint;
@@ -0,0 +1,37 @@
1
+ import { json } from '@astrale-os/kernel-dsl/value';
2
+ import { isValueObject as isJsonObject } from '../../../language/value/model/object.js';
3
+ import { SCHEMA_ARRAY_KEYWORDS, SCHEMA_MAP_KEYWORDS, SCHEMA_SINGLE_KEYWORDS, } from '../../../language/value/syntax/keywords.js';
4
+ import { digestDomainSchemaBytes } from '../../canonical/domain.digest.js';
5
+ import { ANNOTATION_KEYWORDS } from '../fields.js';
6
+ /** Drop annotation keywords wherever a schema keyword nests a schema; never inside data. */
7
+ export function semanticValueSchema(value) {
8
+ if (typeof value === 'boolean')
9
+ return value;
10
+ const semantic = {};
11
+ for (const [keyword, entry] of Object.entries(value)) {
12
+ if (ANNOTATION_KEYWORDS.includes(keyword))
13
+ continue;
14
+ if (SCHEMA_SINGLE_KEYWORDS.has(keyword) && isJsonSchema(entry)) {
15
+ semantic[keyword] = semanticValueSchema(entry);
16
+ }
17
+ else if (SCHEMA_ARRAY_KEYWORDS.has(keyword) && Array.isArray(entry)) {
18
+ semantic[keyword] = entry.map((item) => isJsonSchema(item) ? semanticValueSchema(item) : item);
19
+ }
20
+ else if (SCHEMA_MAP_KEYWORDS.has(keyword) && isJsonObject(entry)) {
21
+ semantic[keyword] = Object.fromEntries(Object.entries(entry).map(([name, item]) => [
22
+ name,
23
+ isJsonSchema(item) ? semanticValueSchema(item) : item,
24
+ ]));
25
+ }
26
+ else {
27
+ semantic[keyword] = entry;
28
+ }
29
+ }
30
+ return semantic;
31
+ }
32
+ export function fingerprintMeaning(value) {
33
+ return digestDomainSchemaBytes(json.encode(value));
34
+ }
35
+ function isJsonSchema(value) {
36
+ return typeof value === 'boolean' || isJsonObject(value);
37
+ }
@@ -0,0 +1,5 @@
1
+ import type { Comparison, ComparisonRequest, MeaningComparison, StructureComparison } from './model.js';
2
+ /** Complete facts and independent conclusions, resolved against the same exact contexts. */
3
+ export declare function compare(request: ComparisonRequest): Comparison;
4
+ export declare function compareStructure(request: ComparisonRequest): StructureComparison;
5
+ export declare function compareMeaning(request: ComparisonRequest): MeaningComparison;
@@ -0,0 +1,23 @@
1
+ import { analyzeMeaning } from './meaning/index.js';
2
+ import { mergeEntries } from './report.js';
3
+ import { prepare } from './scope.js';
4
+ import { analyzeStructure } from './structure/index.js';
5
+ /** Complete facts and independent conclusions, resolved against the same exact contexts. */
6
+ export function compare(request) {
7
+ const context = prepare(request);
8
+ const structure = analyzeStructure(context);
9
+ const meaning = analyzeMeaning(context);
10
+ return Object.freeze({
11
+ scope: context.scope,
12
+ entries: mergeEntries(structure.entries, meaning.entries),
13
+ structure,
14
+ meaning,
15
+ evidence: Object.freeze({ structure: structure.evidence, meaning: meaning.evidence }),
16
+ });
17
+ }
18
+ export function compareStructure(request) {
19
+ return analyzeStructure(prepare(request));
20
+ }
21
+ export function compareMeaning(request) {
22
+ return analyzeMeaning(prepare(request));
23
+ }
@@ -0,0 +1,15 @@
1
+ import type { ClassRef, DefinitionRef, Key as SemanticKey } from '../../addressing/index.js';
2
+ import type { DefinitionAnalysis, EffectiveMethod } from '../analysis/class.js';
3
+ import type { DomainSchema } from '../model/schema.js';
4
+ import { SchemaError } from '../diagnostic.js';
5
+ /** One accepted root with its exact closure and a memoized semantic analysis per owner. */
6
+ export interface Context {
7
+ readonly schemas: ReadonlyMap<string, DomainSchema>;
8
+ analysis(owner: DomainSchema): ReadonlyMap<string, DefinitionAnalysis> | undefined;
9
+ }
10
+ export declare function contextOf(root: DomainSchema): Context;
11
+ export declare function effectiveDefinition(context: Context, owner: DomainSchema, ref: ClassRef): DefinitionAnalysis | undefined;
12
+ /** Effective Methods are keyed by name; a coordinate names one by its exact Method Key. */
13
+ export declare function effectiveMethod(analysis: DefinitionAnalysis, key: SemanticKey): EffectiveMethod | undefined;
14
+ export declare function requireOwner(context: Context, ref: DefinitionRef, key: SemanticKey): DomainSchema;
15
+ export declare function contextInvalid(message: string, key: SemanticKey): SchemaError;
@@ -0,0 +1,43 @@
1
+ import { MethodKey } from '../../addressing/index.js';
2
+ import { definitionRefIndex } from '../../addressing/ordering.js';
3
+ import { SchemaError, diagnostic } from '../diagnostic.js';
4
+ import { knownDomainClosure, lookupForDomainClosure } from '../resolution/closure.js';
5
+ import { validateDomainSchemaSemantics } from '../validation/domain.js';
6
+ export function contextOf(root) {
7
+ const schemas = new Map([
8
+ [root.origin, root],
9
+ ...(knownDomainClosure(root) ?? []).map(({ schema }) => [schema.origin, schema]),
10
+ ]);
11
+ const analyses = new Map();
12
+ return {
13
+ schemas,
14
+ analysis(owner) {
15
+ if (!analyses.has(owner)) {
16
+ const validation = validateDomainSchemaSemantics(owner, lookupForDomainClosure(owner));
17
+ analyses.set(owner, validation.diagnostics.length > 0 ? undefined : validation.analysis.definitions);
18
+ }
19
+ return analyses.get(owner);
20
+ },
21
+ };
22
+ }
23
+ export function effectiveDefinition(context, owner, ref) {
24
+ return context.analysis(owner)?.get(definitionRefIndex(ref));
25
+ }
26
+ /** Effective Methods are keyed by name; a coordinate names one by its exact Method Key. */
27
+ export function effectiveMethod(analysis, key) {
28
+ for (const method of analysis.methods.values()) {
29
+ if (MethodKey.of(method.owner, method.name) === key)
30
+ return method;
31
+ }
32
+ return undefined;
33
+ }
34
+ export function requireOwner(context, ref, key) {
35
+ const owner = context.schemas.get(ref.origin);
36
+ if (owner === undefined) {
37
+ throw contextInvalid(`Retained acceptance context cannot resolve ${key}.`, key);
38
+ }
39
+ return owner;
40
+ }
41
+ export function contextInvalid(message, key) {
42
+ return new SchemaError([diagnostic('DM_DEPENDENCY_CONTEXT_INVALID', '', message, key)]);
43
+ }
@@ -0,0 +1,39 @@
1
+ import type { ClassRef, Definition, DefinitionRef, Key as SemanticKey, PropertyKey as SemanticPropertyKey } from '../../addressing/index.js';
2
+ export type MemberRef = DefinitionRef<Exclude<Definition.Kind, 'class'>>;
3
+ export type ClassCoordinate = Readonly<{
4
+ kind: 'class';
5
+ key: SemanticKey;
6
+ ref: ClassRef;
7
+ }>;
8
+ export type MemberCoordinate = Readonly<{
9
+ kind: 'member';
10
+ key: SemanticKey;
11
+ ref: MemberRef;
12
+ }>;
13
+ export type PropertyCoordinate = Readonly<{
14
+ kind: 'property';
15
+ key: SemanticPropertyKey;
16
+ owner: ClassRef;
17
+ name: string;
18
+ }>;
19
+ export type MethodCoordinate = Readonly<{
20
+ kind: 'method';
21
+ key: SemanticKey;
22
+ owner: ClassRef;
23
+ name: string;
24
+ }>;
25
+ /** One exact semantic location, independent of how a dependent uses it. */
26
+ export type Coordinate = ClassCoordinate | MemberCoordinate | PropertyCoordinate | MethodCoordinate;
27
+ export declare function classCoordinate(ref: ClassRef): ClassCoordinate;
28
+ export declare function memberCoordinate(ref: MemberRef): MemberCoordinate;
29
+ export declare function propertyCoordinate(owner: ClassRef, name: string): PropertyCoordinate;
30
+ export declare function methodCoordinate(owner: ClassRef, name: string): MethodCoordinate;
31
+ export declare function keyForDefinitionRef(ref: DefinitionRef): SemanticKey;
32
+ export interface ParsedKeyReference {
33
+ readonly kind: Definition.Kind;
34
+ readonly name: string;
35
+ readonly member?: 'property' | 'method';
36
+ readonly ownerName?: string;
37
+ }
38
+ /** Interpret one canonical V1 Key as a Definition or a Class member location. */
39
+ export declare function keyReference(key: SemanticKey): ParsedKeyReference;
@@ -0,0 +1,38 @@
1
+ import { Key, MethodKey, PropertyKey } from '../../addressing/index.js';
2
+ import { SchemaError, diagnostic } from '../diagnostic.js';
3
+ export function classCoordinate(ref) {
4
+ return Object.freeze({ kind: 'class', key: keyForDefinitionRef(ref), ref });
5
+ }
6
+ export function memberCoordinate(ref) {
7
+ return Object.freeze({ kind: 'member', key: keyForDefinitionRef(ref), ref });
8
+ }
9
+ export function propertyCoordinate(owner, name) {
10
+ return Object.freeze({ kind: 'property', key: PropertyKey.of(owner, name), owner, name });
11
+ }
12
+ export function methodCoordinate(owner, name) {
13
+ return Object.freeze({ kind: 'method', key: MethodKey.of(owner, name), owner, name });
14
+ }
15
+ export function keyForDefinitionRef(ref) {
16
+ return ref.kind === 'core'
17
+ ? Key.of(ref)
18
+ : Key.of(ref);
19
+ }
20
+ /** Interpret one canonical V1 Key as a Definition or a Class member location. */
21
+ export function keyReference(key) {
22
+ const semantic = key.slice(key.indexOf(':') + 1);
23
+ const parts = semantic.split('.');
24
+ if (parts[0] === 'core' && parts.length === 2) {
25
+ return { kind: 'core', name: parts[1] };
26
+ }
27
+ if (parts.length === 2) {
28
+ return { kind: parts[0], name: parts[1] };
29
+ }
30
+ if (parts.length === 4 &&
31
+ parts[0] === 'class' &&
32
+ (parts[2] === 'property' || parts[2] === 'method')) {
33
+ return { kind: 'class', name: parts[3], member: parts[2], ownerName: parts[1] };
34
+ }
35
+ throw new SchemaError([
36
+ diagnostic('DM_MEMBER_ROOT_INVALID', '/roots', `Key ${key} has no supported V1 shape.`, key),
37
+ ]);
38
+ }
@@ -0,0 +1,12 @@
1
+ import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
+ /**
3
+ * One exact place where two meanings differ, addressed by JSON Pointer into the meaning value.
4
+ * An absent side is omitted: `before` only means removed, `after` only means added.
5
+ */
6
+ export interface MeaningDifference {
7
+ readonly path: string;
8
+ readonly before?: JsonValue;
9
+ readonly after?: JsonValue;
10
+ }
11
+ /** Structural differences between two portable values, leaf by leaf, in JSON Pointer order. */
12
+ export declare function differences(before: JsonValue, after: JsonValue): readonly MeaningDifference[];
@@ -0,0 +1,39 @@
1
+ import { compareUnicode } from '../../addressing/ordering.js';
2
+ import { isValueObject as isJsonObject } from '../../language/value/model/object.js';
3
+ /** Structural differences between two portable values, leaf by leaf, in JSON Pointer order. */
4
+ export function differences(before, after) {
5
+ const found = [];
6
+ collect(before, after, '', found);
7
+ return Object.freeze(found.sort((left, right) => compareUnicode(left.path, right.path)));
8
+ }
9
+ function collect(before, after, path, found) {
10
+ if (Array.isArray(before) && Array.isArray(after)) {
11
+ const length = Math.max(before.length, after.length);
12
+ for (let index = 0; index < length; index += 1) {
13
+ collect(before[index], after[index], `${path}/${index}`, found);
14
+ }
15
+ return;
16
+ }
17
+ if (isJsonObject(before) && isJsonObject(after)) {
18
+ const keys = [...new Set([...Object.keys(before), ...Object.keys(after)])].sort(compareUnicode);
19
+ for (const key of keys) {
20
+ collect(before[key], after[key], `${path}/${escape(key)}`, found);
21
+ }
22
+ return;
23
+ }
24
+ if (before === undefined && after === undefined)
25
+ return;
26
+ if (before !== undefined &&
27
+ after !== undefined &&
28
+ JSON.stringify(before) === JSON.stringify(after)) {
29
+ return;
30
+ }
31
+ found.push(Object.freeze({
32
+ path,
33
+ ...(before === undefined ? {} : { before }),
34
+ ...(after === undefined ? {} : { after }),
35
+ }));
36
+ }
37
+ function escape(segment) {
38
+ return segment.replaceAll('~', '~0').replaceAll('/', '~1');
39
+ }
@@ -0,0 +1,5 @@
1
+ import type { Analysis, ComparisonEvidence } from './model.js';
2
+ /** Only semantic facts and decisions are durable; provenance and diagnostic prose are not. */
3
+ export declare function evidenceOf({ kind, scope, entries, assessments, }: Omit<Analysis, 'evidence'> & {
4
+ readonly kind: ComparisonEvidence['kind'];
5
+ }): ComparisonEvidence;
@@ -0,0 +1,51 @@
1
+ import { compareUnicode } from '../../addressing/ordering.js';
2
+ import { fingerprintMeaning } from './comparators/values.js';
3
+ /** Only semantic facts and decisions are durable; provenance and diagnostic prose are not. */
4
+ export function evidenceOf({ kind, scope, entries, assessments, }) {
5
+ const version = kind === 'structure' ? 2 : 1;
6
+ return Object.freeze({
7
+ kind,
8
+ version,
9
+ fingerprint: fingerprintMeaning({
10
+ kind,
11
+ version,
12
+ scope: {
13
+ kind: scope.kind,
14
+ source: [scope.source.origin, scope.source.revision],
15
+ target: [scope.target.origin, scope.target.revision],
16
+ dependent: scope.dependent === undefined ? null : [scope.dependent.origin, scope.dependent.revision],
17
+ roots: scope.roots,
18
+ },
19
+ observations: entries.flatMap((entry) => [...entry.observations]
20
+ .sort((a, b) => compareUnicode(evidenceFacet(a.facet), evidenceFacet(b.facet)))
21
+ .map((observation) => [
22
+ entry.subject.key,
23
+ evidenceFacet(observation.facet),
24
+ observation.before === undefined ? null : fingerprintMeaning(observation.before),
25
+ observation.after === undefined ? null : fingerprintMeaning(observation.after),
26
+ ])),
27
+ assessments: [...assessments]
28
+ .sort((a, b) => compareUnicode(`${a.subject.key}#${evidenceFacet(a.observation.facet)}`, `${b.subject.key}#${evidenceFacet(b.observation.facet)}`) ||
29
+ compareUnicode(evidenceFacet(a.requirement.kind), evidenceFacet(b.requirement.kind)))
30
+ .map((assessment) => [
31
+ assessment.subject.key,
32
+ evidenceFacet(assessment.observation.facet),
33
+ evidenceFacet(assessment.requirement.kind),
34
+ assessment.satisfied,
35
+ ]),
36
+ }),
37
+ });
38
+ }
39
+ /** Version-1 evidence keeps its original tags independently of public facet names. */
40
+ function evidenceFacet(facet) {
41
+ switch (facet) {
42
+ case 'method.signature':
43
+ return 'method.contract';
44
+ case 'function.signature':
45
+ return 'function.contract';
46
+ case 'method.inheritance':
47
+ return 'method.signature';
48
+ default:
49
+ return facet;
50
+ }
51
+ }