@astrale-os/kernel-dsl 0.2.0-beta.1 → 0.2.0-beta.10

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 (728) 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 +117 -0
  30. package/dist/v1/builder/{callable.js → callable/authoring.js} +28 -5
  31. package/dist/v1/builder/class/authoring.d.ts +367 -0
  32. package/dist/v1/builder/class/authoring.js +134 -0
  33. package/dist/v1/builder/class/property.d.ts +52 -0
  34. package/dist/v1/builder/class/property.js +49 -0
  35. package/dist/v1/builder/core/authoring.d.ts +42 -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/{compiler → lowering}/callable.js +17 -21
  41. package/dist/v1/builder/lowering/class.d.ts +22 -0
  42. package/dist/v1/builder/lowering/class.js +129 -0
  43. package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
  44. package/dist/v1/builder/{compiler/core.properties.js → lowering/core-properties.js} +14 -8
  45. package/dist/v1/builder/lowering/core.d.ts +22 -0
  46. package/dist/v1/builder/{compiler → lowering}/core.js +17 -11
  47. package/dist/v1/builder/lowering/policy.d.ts +16 -0
  48. package/dist/v1/builder/{compiler → lowering}/policy.js +19 -14
  49. package/dist/v1/builder/{compiler/schema.capture.d.ts → lowering/schema/capture.d.ts} +2 -3
  50. package/dist/v1/builder/lowering/schema/capture.js +70 -0
  51. package/dist/v1/builder/{compiler/schema.d.ts → lowering/schema/compile.d.ts} +4 -4
  52. package/dist/v1/builder/{compiler/schema.js → lowering/schema/compile.js} +34 -44
  53. package/dist/v1/builder/lowering/schema/context.d.ts +44 -0
  54. package/dist/v1/builder/{compiler/schema.context.js → lowering/schema/context.js} +66 -74
  55. package/dist/v1/builder/{compiler/schema.ownership.d.ts → lowering/schema/ownership.d.ts} +1 -2
  56. package/dist/v1/builder/{compiler/schema.ownership.js → lowering/schema/ownership.js} +1 -2
  57. package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
  58. package/dist/v1/builder/{compiler/value.js → lowering/value/compile.js} +37 -50
  59. package/dist/v1/builder/lowering/value/path.d.ts +3 -0
  60. package/dist/v1/builder/{compiler/value.path.js → lowering/value/path.js} +1 -2
  61. package/dist/v1/builder/{compiler/value.zod.d.ts → lowering/value/zod.d.ts} +4 -5
  62. package/dist/v1/builder/{compiler/value.zod.js → lowering/value/zod.js} +5 -6
  63. package/dist/v1/builder/lowering/view.d.ts +11 -0
  64. package/dist/v1/builder/{compiler → lowering}/view.js +7 -7
  65. package/dist/v1/builder/{policy.d.ts → policy/authoring.d.ts} +19 -17
  66. package/dist/v1/builder/{policy.js → policy/authoring.js} +23 -12
  67. package/dist/v1/builder/schema/define.d.ts +11 -0
  68. package/dist/v1/builder/{schema.js → schema/define.js} +1 -2
  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/{internal/authoring.d.ts → schema/handle.d.ts} +1 -2
  72. package/dist/v1/builder/{internal/authoring.js → schema/handle.js} +0 -1
  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/{internal/authoring.lazy.d.ts → schema/lazy.d.ts} +0 -1
  76. package/dist/v1/builder/{internal/authoring.lazy.js → schema/lazy.js} +0 -1
  77. package/dist/v1/builder/schema/projection.d.ts +364 -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/{internal/path.metadata.js → value/path-metadata.js} +0 -1
  83. package/dist/v1/builder/value/path.d.ts +8 -0
  84. package/dist/v1/builder/{path.js → value/path.js} +2 -3
  85. package/dist/v1/builder/{value-schema.d.ts → value/schema.d.ts} +2 -3
  86. package/dist/v1/builder/{value-schema.js → value/schema.js} +0 -1
  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 +881 -0
  105. package/dist/v1/compiled/admission/revision.d.ts +4 -0
  106. package/dist/v1/compiled/admission/revision.js +73 -0
  107. package/dist/v1/compiled/admission/semantics.d.ts +7 -0
  108. package/dist/v1/compiled/admission/semantics.js +1091 -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 +113 -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/index.d.ts +7 -0
  116. package/dist/v1/compiled/index.js +5 -0
  117. package/dist/v1/compiled/loader/index.d.ts +1 -0
  118. package/dist/v1/compiled/loader/index.js +1 -0
  119. package/dist/v1/compiled/loader/load.d.ts +4 -0
  120. package/dist/v1/compiled/loader/load.js +141 -0
  121. package/dist/v1/compiled/model/schema.d.ts +73 -0
  122. package/dist/v1/compiled/model/schema.js +1 -0
  123. package/dist/v1/domain/create.d.ts +8 -0
  124. package/dist/v1/domain/create.js +264 -0
  125. package/dist/v1/domain/index.d.ts +2 -0
  126. package/dist/v1/domain/index.js +1 -0
  127. package/dist/v1/domain/model/domain.d.ts +59 -0
  128. package/dist/v1/domain/model/domain.js +1 -0
  129. package/dist/v1/domain/model/input.d.ts +31 -0
  130. package/dist/v1/domain/model/input.js +1 -0
  131. package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
  132. package/dist/v1/domain/namespace/member-collection.js +81 -0
  133. package/dist/v1/domain/projection/classes.d.ts +4 -0
  134. package/dist/v1/domain/projection/classes.js +200 -0
  135. package/dist/v1/domain/validation/create.d.ts +18 -0
  136. package/dist/v1/domain/validation/create.js +75 -0
  137. package/dist/v1/index.d.ts +12 -5
  138. package/dist/v1/index.js +5 -3
  139. package/dist/v1/language/callable/index.d.ts +2 -0
  140. package/dist/v1/language/callable/index.js +1 -0
  141. package/dist/v1/language/callable/model/callable.d.ts +33 -0
  142. package/dist/v1/language/callable/model/callable.js +1 -0
  143. package/dist/v1/language/callable/resolved.d.ts +68 -0
  144. package/dist/v1/language/callable/resolved.js +1 -0
  145. package/dist/v1/language/class/facets.d.ts +58 -0
  146. package/dist/v1/language/class/facets.js +1 -0
  147. package/dist/v1/language/class/index.d.ts +8 -0
  148. package/dist/v1/language/class/index.js +1 -0
  149. package/dist/v1/language/class/model/class.d.ts +36 -0
  150. package/dist/v1/language/class/model/class.js +1 -0
  151. package/dist/v1/{schema/definition → language/class/model}/data.d.ts +2 -3
  152. package/dist/v1/{schema/definition → language/class/model}/data.js +0 -1
  153. package/dist/v1/language/class/model/edge.d.ts +38 -0
  154. package/dist/v1/language/class/model/edge.js +1 -0
  155. package/dist/v1/language/class/model/property.d.ts +18 -0
  156. package/dist/v1/language/class/model/property.js +1 -0
  157. package/dist/v1/language/class/property-values.d.ts +15 -0
  158. package/dist/v1/language/class/property-values.js +30 -0
  159. package/dist/v1/language/class/resolved.d.ts +123 -0
  160. package/dist/v1/language/class/resolved.js +1 -0
  161. package/dist/v1/language/core/index.d.ts +2 -0
  162. package/dist/v1/language/core/index.js +1 -0
  163. package/dist/v1/language/core/model/core.d.ts +20 -0
  164. package/dist/v1/language/core/model/core.js +1 -0
  165. package/dist/v1/language/core/resolved.d.ts +21 -0
  166. package/dist/v1/language/core/resolved.js +1 -0
  167. package/dist/v1/{schema → language/definition}/metadata.d.ts +0 -1
  168. package/dist/v1/{schema → language/definition}/metadata.js +0 -1
  169. package/dist/v1/language/definition.d.ts +7 -0
  170. package/dist/v1/language/definition.js +1 -0
  171. package/dist/v1/language/index.d.ts +23 -0
  172. package/dist/v1/language/index.js +1 -0
  173. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.d.ts +2 -4
  174. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.js +5 -28
  175. package/dist/v1/{schema/policy/validation → language/policy/analysis}/budgets.d.ts +1 -4
  176. package/dist/v1/language/policy/analysis/budgets.js +25 -0
  177. package/dist/v1/language/policy/index.d.ts +3 -0
  178. package/dist/v1/language/policy/index.js +1 -0
  179. package/dist/v1/{schema/policy/ast.d.ts → language/policy/model/policy.d.ts} +7 -7
  180. package/dist/v1/language/policy/model/policy.js +1 -0
  181. package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
  182. package/dist/v1/{schema/policy → language/policy/normalization}/normalize.js +12 -16
  183. package/dist/v1/language/policy/resolved.d.ts +9 -0
  184. package/dist/v1/language/policy/resolved.js +1 -0
  185. package/dist/v1/language/resolved.d.ts +10 -0
  186. package/dist/v1/language/resolved.js +1 -0
  187. package/dist/v1/language/validation/diagnostic.d.ts +8 -0
  188. package/dist/v1/language/validation/diagnostic.js +3 -0
  189. package/dist/v1/language/value/compile/fields.d.ts +3 -0
  190. package/dist/v1/language/value/compile/fields.js +60 -0
  191. package/dist/v1/language/value/compile/load.d.ts +4 -0
  192. package/dist/v1/language/value/compile/load.js +41 -0
  193. package/dist/v1/language/value/compile/model.d.ts +27 -0
  194. package/dist/v1/language/value/compile/model.js +1 -0
  195. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.d.ts +0 -1
  196. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.js +1 -2
  197. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.d.ts +0 -1
  198. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.js +6 -18
  199. package/dist/v1/{schema/value/instance/compiler.d.ts → language/value/evaluate/preparation.d.ts} +4 -4
  200. package/dist/v1/language/value/evaluate/preparation.js +135 -0
  201. package/dist/v1/language/value/evaluate/program.d.ts +3 -0
  202. package/dist/v1/language/value/evaluate/program.js +16 -0
  203. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.d.ts +8 -5
  204. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.js +0 -1
  205. package/dist/v1/{schema/value/instance.validate.d.ts → language/value/evaluate/validate.d.ts} +4 -5
  206. package/dist/v1/{schema/value/instance.validate.js → language/value/evaluate/validate.js} +5 -6
  207. package/dist/v1/language/value/index.d.ts +11 -0
  208. package/dist/v1/language/value/index.js +8 -0
  209. package/dist/v1/{schema/value → language/value/model}/instant.d.ts +1 -1
  210. package/dist/v1/{schema/value → language/value/model}/instant.js +1 -1
  211. package/dist/v1/{schema/value → language/value/model}/object.d.ts +1 -1
  212. package/dist/v1/{schema/value → language/value/model}/object.js +0 -1
  213. package/dist/v1/{schema/value → language/value/model}/schema.d.ts +3 -4
  214. package/dist/v1/{schema/value → language/value/model}/schema.js +0 -2
  215. package/dist/v1/{schema → language}/value/ordering.d.ts +5 -3
  216. package/dist/v1/{schema → language}/value/ordering.js +16 -14
  217. package/dist/v1/{schema → language}/value/profile/canonicalize.d.ts +2 -3
  218. package/dist/v1/{schema → language}/value/profile/canonicalize.js +4 -7
  219. package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
  220. package/dist/v1/{schema → language}/value/profile/json.validate.js +2 -3
  221. package/dist/v1/language/value/profile/meta-schema.compiled.d.ts +78 -0
  222. package/dist/v1/language/value/profile/meta-schema.compiled.js +2079 -0
  223. package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
  224. package/dist/v1/language/value/profile/meta-schema.js +19 -0
  225. package/dist/v1/language/value/profile/rules.d.ts +3 -0
  226. package/dist/v1/{schema → language}/value/profile/rules.js +7 -50
  227. package/dist/v1/language/value/profile/validate.d.ts +4 -0
  228. package/dist/v1/{schema → language}/value/profile/validate.js +14 -22
  229. package/dist/v1/{schema → language}/value/profile/vocabulary.d.ts +0 -1
  230. package/dist/v1/{schema → language}/value/profile/vocabulary.js +0 -1
  231. package/dist/v1/language/value/reference/closure.d.ts +11 -0
  232. package/dist/v1/{schema/value/resources → language/value/reference}/closure.js +13 -21
  233. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.d.ts +3 -4
  234. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.js +5 -6
  235. package/dist/v1/language/value/reference/references.d.ts +17 -0
  236. package/dist/v1/language/value/reference/references.js +45 -0
  237. package/dist/v1/{schema/value → language/value/reference}/registry.d.ts +9 -7
  238. package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
  239. package/dist/v1/{schema/value/resources → language/value/reference}/registry.index.js +7 -45
  240. package/dist/v1/language/value/reference/registry.js +1 -0
  241. package/dist/v1/language/value/regexp/ast.d.ts +21 -0
  242. package/dist/v1/language/value/regexp/ast.js +326 -0
  243. package/dist/v1/language/value/regexp/compile.d.ts +3 -0
  244. package/dist/v1/language/value/regexp/compile.js +96 -0
  245. package/dist/v1/{schema → language}/value/regexp/lower.d.ts +1 -2
  246. package/dist/v1/{schema → language}/value/regexp/lower.js +2 -3
  247. package/dist/v1/language/value/regexp/matcher.d.ts +7 -0
  248. package/dist/v1/language/value/regexp/matcher.js +50 -0
  249. package/dist/v1/{schema → language}/value/regexp/pattern.d.ts +0 -1
  250. package/dist/v1/{schema → language}/value/regexp/pattern.js +0 -1
  251. package/dist/v1/language/value/regexp/syntax.d.ts +2 -0
  252. package/dist/v1/language/value/regexp/syntax.js +5 -0
  253. package/dist/v1/language/value/syntax/full-match.d.ts +6 -0
  254. package/dist/v1/{builder → language/value/syntax}/full-match.js +6 -7
  255. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.d.ts +0 -1
  256. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.js +0 -1
  257. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.d.ts +1 -2
  258. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.js +2 -3
  259. package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
  260. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/validate.js +12 -12
  261. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.d.ts +0 -1
  262. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.js +1 -2
  263. package/dist/v1/{schema/value/location → language/value/syntax}/walk.d.ts +1 -2
  264. package/dist/v1/{schema/value/location → language/value/syntax}/walk.js +1 -2
  265. package/dist/v1/language/view/index.d.ts +2 -0
  266. package/dist/v1/language/view/index.js +1 -0
  267. package/dist/v1/language/view/model/view.d.ts +11 -0
  268. package/dist/v1/language/view/model/view.js +1 -0
  269. package/dist/v1/language/view/resolved.d.ts +9 -0
  270. package/dist/v1/language/view/resolved.js +1 -0
  271. package/dist/v1/schema/admission/accept.d.ts +3 -0
  272. package/dist/v1/schema/{domain.accept.js → admission/accept.js} +9 -10
  273. package/dist/v1/schema/{definition/analysis.d.ts → analysis/class.d.ts} +16 -16
  274. package/dist/v1/schema/{definition/analysis.js → analysis/class.js} +21 -28
  275. package/dist/v1/schema/canonical/domain.d.ts +2 -2
  276. package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
  277. package/dist/v1/schema/canonical/domain.digest.js +2 -6
  278. package/dist/v1/schema/canonical/domain.js +3 -191
  279. package/dist/v1/schema/canonical/freeze.d.ts +0 -1
  280. package/dist/v1/schema/canonical/freeze.js +0 -1
  281. package/dist/v1/schema/{domain.revision.d.ts → canonical/revision.d.ts} +2 -3
  282. package/dist/v1/schema/{domain.revision.js → canonical/revision.js} +3 -4
  283. package/dist/v1/schema/codec/header.d.ts +17 -0
  284. package/dist/v1/schema/codec/header.js +26 -0
  285. package/dist/v1/schema/{domain.codec.d.ts → codec/schema.d.ts} +2 -3
  286. package/dist/v1/schema/{domain.codec.js → codec/schema.js} +4 -5
  287. package/dist/v1/schema/{dependency.meaning.d.ts → compatibility/meaning.d.ts} +4 -5
  288. package/dist/v1/schema/{dependency.meaning.js → compatibility/meaning.js} +120 -123
  289. package/dist/v1/schema/{domain.lookup.d.ts → dependency/lookup.d.ts} +3 -4
  290. package/dist/v1/schema/{domain.lookup.js → dependency/lookup.js} +1 -2
  291. package/dist/v1/schema/diagnostic.d.ts +7 -7
  292. package/dist/v1/schema/diagnostic.js +9 -9
  293. package/dist/v1/schema/index.d.ts +24 -34
  294. package/dist/v1/schema/index.js +11 -14
  295. package/dist/v1/schema/model/format.d.ts +2 -0
  296. package/dist/v1/schema/model/format.js +2 -0
  297. package/dist/v1/schema/model/schema.d.ts +30 -0
  298. package/dist/v1/schema/model/schema.js +4 -0
  299. package/dist/v1/schema/normalization/domain.d.ts +2 -0
  300. package/dist/v1/schema/normalization/domain.js +207 -0
  301. package/dist/v1/schema/resolution/closure.d.ts +3 -4
  302. package/dist/v1/schema/resolution/closure.js +6 -7
  303. package/dist/v1/schema/resolution/context.d.ts +11 -12
  304. package/dist/v1/schema/resolution/context.js +82 -50
  305. package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
  306. package/dist/v1/schema/resolution/definition.index.js +8 -18
  307. package/dist/v1/schema/resolution/domain.d.ts +4 -0
  308. package/dist/v1/schema/resolution/domain.js +112 -0
  309. package/dist/v1/schema/resolution/origins.d.ts +11 -14
  310. package/dist/v1/schema/resolution/origins.js +36 -44
  311. package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
  312. package/dist/v1/schema/resolution/value.registry.js +7 -14
  313. package/dist/v1/schema/revision.d.ts +1 -0
  314. package/dist/v1/schema/revision.js +1 -0
  315. package/dist/v1/schema/validation/class.d.ts +5 -0
  316. package/dist/v1/schema/validation/class.js +208 -0
  317. package/dist/v1/schema/validation/core.d.ts +5 -0
  318. package/dist/v1/schema/{core/validate.js → validation/core.js} +65 -38
  319. package/dist/v1/schema/validation/domain.d.ts +11 -0
  320. package/dist/v1/schema/{domain.validate.js → validation/domain.js} +12 -12
  321. package/dist/v1/schema/validation/domain.route.d.ts +1 -2
  322. package/dist/v1/schema/validation/domain.route.js +3 -4
  323. package/dist/v1/schema/validation/domain.structure.d.ts +1 -2
  324. package/dist/v1/schema/validation/domain.structure.js +98 -93
  325. package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
  326. package/dist/v1/schema/{policy/validation → validation/policy}/budgets.js +2 -32
  327. package/dist/v1/schema/validation/policy/context.d.ts +28 -0
  328. package/dist/v1/schema/{policy/validation → validation/policy}/context.js +23 -33
  329. package/dist/v1/schema/{policy/validation → validation/policy}/references.d.ts +0 -1
  330. package/dist/v1/schema/{policy/validation → validation/policy}/references.js +16 -9
  331. package/dist/v1/schema/{policy/validation → validation/policy}/typing.d.ts +4 -8
  332. package/dist/v1/schema/{policy/validation → validation/policy}/typing.js +33 -72
  333. package/dist/v1/schema/{policy/validation → validation/policy}/uses.d.ts +0 -1
  334. package/dist/v1/schema/{policy/validation → validation/policy}/uses.js +25 -36
  335. package/dist/v1/schema/{policy/validation → validation/policy}/validate.d.ts +3 -4
  336. package/dist/v1/schema/{policy/validation → validation/policy}/validate.js +0 -1
  337. package/dist/v1/schema/{value/index.d.ts → validation/value-api.d.ts} +9 -10
  338. package/dist/v1/schema/{value/index.js → validation/value-api.js} +4 -5
  339. package/dist/v1/schema/validation/value.d.ts +4 -5
  340. package/dist/v1/schema/validation/value.js +4 -9
  341. package/dist/v1/schema/validation/view.d.ts +3 -0
  342. package/dist/v1/schema/{view/validate.js → validation/view.js} +11 -4
  343. package/dist/v1/value/full-match.d.ts +2 -0
  344. package/dist/v1/value/full-match.js +2 -0
  345. package/dist/v1.d.ts +1 -2
  346. package/dist/v1.js +1 -2
  347. package/dist/value/accept.d.ts +0 -1
  348. package/dist/value/accept.js +0 -1
  349. package/dist/value/canonical.d.ts +0 -1
  350. package/dist/value/canonical.js +0 -1
  351. package/dist/value/decode.d.ts +0 -1
  352. package/dist/value/decode.js +0 -1
  353. package/dist/value/equal.d.ts +0 -1
  354. package/dist/value/equal.js +0 -1
  355. package/dist/value/error.d.ts +0 -1
  356. package/dist/value/error.js +0 -1
  357. package/dist/value/index.d.ts +0 -1
  358. package/dist/value/index.js +0 -1
  359. package/dist/value/json.d.ts +0 -1
  360. package/dist/value/json.js +0 -1
  361. package/dist/value/limits.d.ts +0 -1
  362. package/dist/value/limits.js +0 -1
  363. package/dist/value/types.d.ts +0 -1
  364. package/dist/value/types.js +0 -1
  365. package/dist/value/unicode.d.ts +0 -1
  366. package/dist/value/unicode.js +0 -1
  367. package/dist/version/dispatch.d.ts +0 -1
  368. package/dist/version/dispatch.js +0 -1
  369. package/dist/version/index.d.ts +0 -1
  370. package/dist/version/index.js +0 -1
  371. package/package.json +63 -14
  372. package/dist/index.d.ts.map +0 -1
  373. package/dist/index.js.map +0 -1
  374. package/dist/upgrade/contract.d.ts.map +0 -1
  375. package/dist/upgrade/contract.js.map +0 -1
  376. package/dist/upgrade/index.d.ts.map +0 -1
  377. package/dist/upgrade/index.js.map +0 -1
  378. package/dist/v1/addressing/index.d.ts.map +0 -1
  379. package/dist/v1/addressing/index.js.map +0 -1
  380. package/dist/v1/addressing/key.d.ts.map +0 -1
  381. package/dist/v1/addressing/key.js.map +0 -1
  382. package/dist/v1/addressing/patterns.d.ts.map +0 -1
  383. package/dist/v1/addressing/patterns.js.map +0 -1
  384. package/dist/v1/addressing/property-key.d.ts.map +0 -1
  385. package/dist/v1/addressing/property-key.js.map +0 -1
  386. package/dist/v1/addressing/ref.d.ts +0 -35
  387. package/dist/v1/addressing/ref.d.ts.map +0 -1
  388. package/dist/v1/addressing/ref.js +0 -94
  389. package/dist/v1/addressing/ref.js.map +0 -1
  390. package/dist/v1/addressing/schema-ref.d.ts +0 -8
  391. package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
  392. package/dist/v1/addressing/schema-ref.js +0 -2
  393. package/dist/v1/addressing/schema-ref.js.map +0 -1
  394. package/dist/v1/builder/callable.d.ts +0 -81
  395. package/dist/v1/builder/callable.d.ts.map +0 -1
  396. package/dist/v1/builder/callable.js.map +0 -1
  397. package/dist/v1/builder/compiler/callable.d.ts +0 -20
  398. package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
  399. package/dist/v1/builder/compiler/callable.js.map +0 -1
  400. package/dist/v1/builder/compiler/core.d.ts +0 -6
  401. package/dist/v1/builder/compiler/core.d.ts.map +0 -1
  402. package/dist/v1/builder/compiler/core.js.map +0 -1
  403. package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
  404. package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
  405. package/dist/v1/builder/compiler/core.properties.js.map +0 -1
  406. package/dist/v1/builder/compiler/definition.d.ts +0 -26
  407. package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
  408. package/dist/v1/builder/compiler/definition.js +0 -154
  409. package/dist/v1/builder/compiler/definition.js.map +0 -1
  410. package/dist/v1/builder/compiler/policy.d.ts +0 -17
  411. package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
  412. package/dist/v1/builder/compiler/policy.js.map +0 -1
  413. package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
  414. package/dist/v1/builder/compiler/schema.capture.js +0 -85
  415. package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
  416. package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
  417. package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
  418. package/dist/v1/builder/compiler/schema.context.js.map +0 -1
  419. package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
  420. package/dist/v1/builder/compiler/schema.js.map +0 -1
  421. package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
  422. package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
  423. package/dist/v1/builder/compiler/value.d.ts +0 -22
  424. package/dist/v1/builder/compiler/value.d.ts.map +0 -1
  425. package/dist/v1/builder/compiler/value.js.map +0 -1
  426. package/dist/v1/builder/compiler/value.path.d.ts +0 -4
  427. package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
  428. package/dist/v1/builder/compiler/value.path.js.map +0 -1
  429. package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
  430. package/dist/v1/builder/compiler/value.zod.js.map +0 -1
  431. package/dist/v1/builder/compiler/view.d.ts +0 -12
  432. package/dist/v1/builder/compiler/view.d.ts.map +0 -1
  433. package/dist/v1/builder/compiler/view.js.map +0 -1
  434. package/dist/v1/builder/core.d.ts +0 -27
  435. package/dist/v1/builder/core.d.ts.map +0 -1
  436. package/dist/v1/builder/core.js +0 -21
  437. package/dist/v1/builder/core.js.map +0 -1
  438. package/dist/v1/builder/definition.d.ts +0 -105
  439. package/dist/v1/builder/definition.d.ts.map +0 -1
  440. package/dist/v1/builder/definition.js +0 -97
  441. package/dist/v1/builder/definition.js.map +0 -1
  442. package/dist/v1/builder/full-match.d.ts +0 -12
  443. package/dist/v1/builder/full-match.d.ts.map +0 -1
  444. package/dist/v1/builder/full-match.js.map +0 -1
  445. package/dist/v1/builder/index.d.ts.map +0 -1
  446. package/dist/v1/builder/index.js.map +0 -1
  447. package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
  448. package/dist/v1/builder/internal/authoring.js.map +0 -1
  449. package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
  450. package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
  451. package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
  452. package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
  453. package/dist/v1/builder/internal/diagnostic.js +0 -16
  454. package/dist/v1/builder/internal/diagnostic.js.map +0 -1
  455. package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
  456. package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
  457. package/dist/v1/builder/internal/path.metadata.js.map +0 -1
  458. package/dist/v1/builder/path.d.ts +0 -9
  459. package/dist/v1/builder/path.d.ts.map +0 -1
  460. package/dist/v1/builder/path.js.map +0 -1
  461. package/dist/v1/builder/policy.d.ts.map +0 -1
  462. package/dist/v1/builder/policy.js.map +0 -1
  463. package/dist/v1/builder/property.d.ts +0 -23
  464. package/dist/v1/builder/property.d.ts.map +0 -1
  465. package/dist/v1/builder/property.js +0 -12
  466. package/dist/v1/builder/property.js.map +0 -1
  467. package/dist/v1/builder/schema.d.ts +0 -6
  468. package/dist/v1/builder/schema.d.ts.map +0 -1
  469. package/dist/v1/builder/schema.input.d.ts +0 -19
  470. package/dist/v1/builder/schema.input.d.ts.map +0 -1
  471. package/dist/v1/builder/schema.input.js +0 -2
  472. package/dist/v1/builder/schema.input.js.map +0 -1
  473. package/dist/v1/builder/schema.js.map +0 -1
  474. package/dist/v1/builder/value-schema.d.ts.map +0 -1
  475. package/dist/v1/builder/value-schema.js.map +0 -1
  476. package/dist/v1/builder/view.d.ts +0 -19
  477. package/dist/v1/builder/view.d.ts.map +0 -1
  478. package/dist/v1/builder/view.js +0 -7
  479. package/dist/v1/builder/view.js.map +0 -1
  480. package/dist/v1/builder.d.ts +0 -3
  481. package/dist/v1/builder.d.ts.map +0 -1
  482. package/dist/v1/builder.js +0 -2
  483. package/dist/v1/builder.js.map +0 -1
  484. package/dist/v1/bundle/codec.d.ts.map +0 -1
  485. package/dist/v1/bundle/codec.js.map +0 -1
  486. package/dist/v1/bundle/index.d.ts.map +0 -1
  487. package/dist/v1/bundle/index.js.map +0 -1
  488. package/dist/v1/bundle/model.d.ts.map +0 -1
  489. package/dist/v1/bundle/model.js.map +0 -1
  490. package/dist/v1/bundle/structure.d.ts.map +0 -1
  491. package/dist/v1/bundle/structure.js.map +0 -1
  492. package/dist/v1/bundle.d.ts +0 -3
  493. package/dist/v1/bundle.d.ts.map +0 -1
  494. package/dist/v1/bundle.js +0 -3
  495. package/dist/v1/bundle.js.map +0 -1
  496. package/dist/v1/index.d.ts.map +0 -1
  497. package/dist/v1/index.js.map +0 -1
  498. package/dist/v1/schema/callable.d.ts +0 -29
  499. package/dist/v1/schema/callable.d.ts.map +0 -1
  500. package/dist/v1/schema/callable.js +0 -2
  501. package/dist/v1/schema/callable.js.map +0 -1
  502. package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
  503. package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
  504. package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
  505. package/dist/v1/schema/canonical/domain.js.map +0 -1
  506. package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
  507. package/dist/v1/schema/canonical/freeze.js.map +0 -1
  508. package/dist/v1/schema/core/declaration.d.ts +0 -17
  509. package/dist/v1/schema/core/declaration.d.ts.map +0 -1
  510. package/dist/v1/schema/core/declaration.js +0 -2
  511. package/dist/v1/schema/core/declaration.js.map +0 -1
  512. package/dist/v1/schema/core/validate.d.ts +0 -6
  513. package/dist/v1/schema/core/validate.d.ts.map +0 -1
  514. package/dist/v1/schema/core/validate.js.map +0 -1
  515. package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
  516. package/dist/v1/schema/definition/analysis.js.map +0 -1
  517. package/dist/v1/schema/definition/class.d.ts +0 -28
  518. package/dist/v1/schema/definition/class.d.ts.map +0 -1
  519. package/dist/v1/schema/definition/class.js +0 -2
  520. package/dist/v1/schema/definition/class.js.map +0 -1
  521. package/dist/v1/schema/definition/data.d.ts.map +0 -1
  522. package/dist/v1/schema/definition/data.js.map +0 -1
  523. package/dist/v1/schema/definition/edge.d.ts +0 -22
  524. package/dist/v1/schema/definition/edge.d.ts.map +0 -1
  525. package/dist/v1/schema/definition/edge.js +0 -2
  526. package/dist/v1/schema/definition/edge.js.map +0 -1
  527. package/dist/v1/schema/definition/interface.d.ts +0 -22
  528. package/dist/v1/schema/definition/interface.d.ts.map +0 -1
  529. package/dist/v1/schema/definition/interface.js +0 -2
  530. package/dist/v1/schema/definition/interface.js.map +0 -1
  531. package/dist/v1/schema/definition/property.d.ts +0 -11
  532. package/dist/v1/schema/definition/property.d.ts.map +0 -1
  533. package/dist/v1/schema/definition/property.js +0 -2
  534. package/dist/v1/schema/definition/property.js.map +0 -1
  535. package/dist/v1/schema/definition/validate.d.ts +0 -5
  536. package/dist/v1/schema/definition/validate.d.ts.map +0 -1
  537. package/dist/v1/schema/definition/validate.js +0 -152
  538. package/dist/v1/schema/definition/validate.js.map +0 -1
  539. package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
  540. package/dist/v1/schema/dependency.meaning.js.map +0 -1
  541. package/dist/v1/schema/diagnostic.d.ts.map +0 -1
  542. package/dist/v1/schema/diagnostic.js.map +0 -1
  543. package/dist/v1/schema/domain.accept.d.ts +0 -4
  544. package/dist/v1/schema/domain.accept.d.ts.map +0 -1
  545. package/dist/v1/schema/domain.accept.js.map +0 -1
  546. package/dist/v1/schema/domain.codec.d.ts.map +0 -1
  547. package/dist/v1/schema/domain.codec.js.map +0 -1
  548. package/dist/v1/schema/domain.header.d.ts +0 -15
  549. package/dist/v1/schema/domain.header.d.ts.map +0 -1
  550. package/dist/v1/schema/domain.header.js +0 -21
  551. package/dist/v1/schema/domain.header.js.map +0 -1
  552. package/dist/v1/schema/domain.ir.d.ts +0 -40
  553. package/dist/v1/schema/domain.ir.d.ts.map +0 -1
  554. package/dist/v1/schema/domain.ir.js +0 -5
  555. package/dist/v1/schema/domain.ir.js.map +0 -1
  556. package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
  557. package/dist/v1/schema/domain.lookup.js.map +0 -1
  558. package/dist/v1/schema/domain.resolve.d.ts +0 -26
  559. package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
  560. package/dist/v1/schema/domain.resolve.js +0 -43
  561. package/dist/v1/schema/domain.resolve.js.map +0 -1
  562. package/dist/v1/schema/domain.revision.d.ts.map +0 -1
  563. package/dist/v1/schema/domain.revision.js.map +0 -1
  564. package/dist/v1/schema/domain.validate.d.ts +0 -12
  565. package/dist/v1/schema/domain.validate.d.ts.map +0 -1
  566. package/dist/v1/schema/domain.validate.js.map +0 -1
  567. package/dist/v1/schema/index.d.ts.map +0 -1
  568. package/dist/v1/schema/index.js.map +0 -1
  569. package/dist/v1/schema/metadata.d.ts.map +0 -1
  570. package/dist/v1/schema/metadata.js.map +0 -1
  571. package/dist/v1/schema/policy/ast.d.ts.map +0 -1
  572. package/dist/v1/schema/policy/ast.js +0 -2
  573. package/dist/v1/schema/policy/ast.js.map +0 -1
  574. package/dist/v1/schema/policy/normalize.d.ts +0 -5
  575. package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
  576. package/dist/v1/schema/policy/normalize.js.map +0 -1
  577. package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
  578. package/dist/v1/schema/policy/validation/branches.js.map +0 -1
  579. package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
  580. package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
  581. package/dist/v1/schema/policy/validation/context.d.ts +0 -28
  582. package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
  583. package/dist/v1/schema/policy/validation/context.js.map +0 -1
  584. package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
  585. package/dist/v1/schema/policy/validation/references.js.map +0 -1
  586. package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
  587. package/dist/v1/schema/policy/validation/typing.js.map +0 -1
  588. package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
  589. package/dist/v1/schema/policy/validation/uses.js.map +0 -1
  590. package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
  591. package/dist/v1/schema/policy/validation/validate.js.map +0 -1
  592. package/dist/v1/schema/reference.d.ts +0 -43
  593. package/dist/v1/schema/reference.d.ts.map +0 -1
  594. package/dist/v1/schema/reference.js +0 -31
  595. package/dist/v1/schema/reference.js.map +0 -1
  596. package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
  597. package/dist/v1/schema/resolution/closure.js.map +0 -1
  598. package/dist/v1/schema/resolution/context.d.ts.map +0 -1
  599. package/dist/v1/schema/resolution/context.js.map +0 -1
  600. package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
  601. package/dist/v1/schema/resolution/definition.index.js.map +0 -1
  602. package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
  603. package/dist/v1/schema/resolution/origins.js.map +0 -1
  604. package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
  605. package/dist/v1/schema/resolution/value.registry.js.map +0 -1
  606. package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
  607. package/dist/v1/schema/validation/domain.route.js.map +0 -1
  608. package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
  609. package/dist/v1/schema/validation/domain.structure.js.map +0 -1
  610. package/dist/v1/schema/validation/value.d.ts.map +0 -1
  611. package/dist/v1/schema/validation/value.js.map +0 -1
  612. package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
  613. package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
  614. package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
  615. package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
  616. package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
  617. package/dist/v1/schema/value/index.d.ts.map +0 -1
  618. package/dist/v1/schema/value/index.js.map +0 -1
  619. package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
  620. package/dist/v1/schema/value/instance/assertions.js.map +0 -1
  621. package/dist/v1/schema/value/instance/compiler.d.ts.map +0 -1
  622. package/dist/v1/schema/value/instance/compiler.js +0 -69
  623. package/dist/v1/schema/value/instance/compiler.js.map +0 -1
  624. package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
  625. package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
  626. package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
  627. package/dist/v1/schema/value/instance/types.js.map +0 -1
  628. package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
  629. package/dist/v1/schema/value/instance.validate.js.map +0 -1
  630. package/dist/v1/schema/value/instant.d.ts.map +0 -1
  631. package/dist/v1/schema/value/instant.js.map +0 -1
  632. package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
  633. package/dist/v1/schema/value/location/keywords.js.map +0 -1
  634. package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
  635. package/dist/v1/schema/value/location/pointer.js.map +0 -1
  636. package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
  637. package/dist/v1/schema/value/location/walk.js.map +0 -1
  638. package/dist/v1/schema/value/object.d.ts.map +0 -1
  639. package/dist/v1/schema/value/object.js.map +0 -1
  640. package/dist/v1/schema/value/ordering.d.ts.map +0 -1
  641. package/dist/v1/schema/value/ordering.js.map +0 -1
  642. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
  643. package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
  644. package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
  645. package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
  646. package/dist/v1/schema/value/profile/dialect.js +0 -36
  647. package/dist/v1/schema/value/profile/dialect.js.map +0 -1
  648. package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
  649. package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
  650. package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
  651. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts +0 -4
  652. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts.map +0 -1
  653. package/dist/v1/schema/value/profile/meta-schema.validate.js +0 -25
  654. package/dist/v1/schema/value/profile/meta-schema.validate.js.map +0 -1
  655. package/dist/v1/schema/value/profile/rules.d.ts +0 -5
  656. package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
  657. package/dist/v1/schema/value/profile/rules.js.map +0 -1
  658. package/dist/v1/schema/value/profile/validate.d.ts +0 -5
  659. package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
  660. package/dist/v1/schema/value/profile/validate.js.map +0 -1
  661. package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
  662. package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
  663. package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
  664. package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
  665. package/dist/v1/schema/value/regexp/linear.js +0 -24
  666. package/dist/v1/schema/value/regexp/linear.js.map +0 -1
  667. package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
  668. package/dist/v1/schema/value/regexp/lower.js.map +0 -1
  669. package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
  670. package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
  671. package/dist/v1/schema/value/regexp/syntax.d.ts +0 -3
  672. package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
  673. package/dist/v1/schema/value/regexp/syntax.js +0 -219
  674. package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
  675. package/dist/v1/schema/value/registry.d.ts.map +0 -1
  676. package/dist/v1/schema/value/registry.js +0 -2
  677. package/dist/v1/schema/value/registry.js.map +0 -1
  678. package/dist/v1/schema/value/resources/closure.d.ts +0 -12
  679. package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
  680. package/dist/v1/schema/value/resources/closure.js.map +0 -1
  681. package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
  682. package/dist/v1/schema/value/resources/recursion.js.map +0 -1
  683. package/dist/v1/schema/value/resources/references.d.ts +0 -25
  684. package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
  685. package/dist/v1/schema/value/resources/references.js +0 -93
  686. package/dist/v1/schema/value/resources/references.js.map +0 -1
  687. package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
  688. package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
  689. package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
  690. package/dist/v1/schema/value/schema.d.ts.map +0 -1
  691. package/dist/v1/schema/value/schema.js.map +0 -1
  692. package/dist/v1/schema/view/declaration.d.ts +0 -14
  693. package/dist/v1/schema/view/declaration.d.ts.map +0 -1
  694. package/dist/v1/schema/view/declaration.js +0 -2
  695. package/dist/v1/schema/view/declaration.js.map +0 -1
  696. package/dist/v1/schema/view/validate.d.ts +0 -4
  697. package/dist/v1/schema/view/validate.d.ts.map +0 -1
  698. package/dist/v1/schema/view/validate.js.map +0 -1
  699. package/dist/v1/schema.d.ts +0 -3
  700. package/dist/v1/schema.d.ts.map +0 -1
  701. package/dist/v1/schema.js +0 -3
  702. package/dist/v1/schema.js.map +0 -1
  703. package/dist/v1.d.ts.map +0 -1
  704. package/dist/v1.js.map +0 -1
  705. package/dist/value/accept.d.ts.map +0 -1
  706. package/dist/value/accept.js.map +0 -1
  707. package/dist/value/canonical.d.ts.map +0 -1
  708. package/dist/value/canonical.js.map +0 -1
  709. package/dist/value/decode.d.ts.map +0 -1
  710. package/dist/value/decode.js.map +0 -1
  711. package/dist/value/equal.d.ts.map +0 -1
  712. package/dist/value/equal.js.map +0 -1
  713. package/dist/value/error.d.ts.map +0 -1
  714. package/dist/value/error.js.map +0 -1
  715. package/dist/value/index.d.ts.map +0 -1
  716. package/dist/value/index.js.map +0 -1
  717. package/dist/value/json.d.ts.map +0 -1
  718. package/dist/value/json.js.map +0 -1
  719. package/dist/value/limits.d.ts.map +0 -1
  720. package/dist/value/limits.js.map +0 -1
  721. package/dist/value/types.d.ts.map +0 -1
  722. package/dist/value/types.js.map +0 -1
  723. package/dist/value/unicode.d.ts.map +0 -1
  724. package/dist/value/unicode.js.map +0 -1
  725. package/dist/version/dispatch.d.ts.map +0 -1
  726. package/dist/version/dispatch.js.map +0 -1
  727. package/dist/version/index.d.ts.map +0 -1
  728. package/dist/version/index.js.map +0 -1
@@ -1,36 +1,26 @@
1
1
  /** Admit, encode, inspect, and semantically resolve canonical V1 DomainSchemas. */
2
- export type { DomainSchema, DomainSchemaIR, DomainSchemaInputOf as InputOf } from './domain.ir.js';
3
- export { acceptDomainSchema as accept } from './domain.accept.js';
4
- export { decodeDomainSchema as decode, encodeDomainSchema as encode, serializeDomainSchema as serialize, } from './domain.codec.js';
5
- export { revisionOfDomainSchema as revision } from './domain.revision.js';
6
- export { resolveDomainSchema as resolve } from './domain.resolve.js';
7
- export { compareDependencyMeaning, compareMemberMeaning } from './dependency.meaning.js';
8
- export type { DependencyMeaningChange, DependencyMeaningChangeKind, DependencyMeaningComparison, } from './dependency.meaning.js';
9
- export { readDomainSchemaHeader as readHeader } from './domain.header.js';
10
- export { DOMAIN_FORMAT as FORMAT, DOMAIN_VERSION as VERSION } from './reference.js';
11
- export { namedTypeUri as typeUri } from './reference.js';
12
- export { patterns } from '../addressing/index.js';
13
- export { DomainSchemaError as Error } from './diagnostic.js';
14
- export type { DomainDiagnostic as Diagnostic } from './diagnostic.js';
15
- export type { DomainSchemaLookup as Lookup } from './domain.lookup.js';
16
- export type { DomainSchemaHeader as Header } from './domain.header.js';
17
- /** Exact structured identities retained only by schema lifecycle and resolution. */
18
- export type { CoreEndpointRef, CoreRef, ClassFamily, ClassRef, DefinitionKind, DefinitionRef, DomainDependency, DomainMemberKind, DomainRef, Revision, Family, FunctionRef, MemberKind, InterfaceFamily, InterfaceRef, PolicyRef, SchemaRef, ValueTypeRef, ViewRef, } from './reference.js';
19
- export type { ClassDeclaration, NodeClassDeclaration, EdgeClassDeclaration, EdgeClassPolicies, NodeClassPolicies, } from './definition/class.js';
20
- export type { InterfaceDeclaration, NodeInterfaceDeclaration, EdgeInterfaceDeclaration, } from './definition/interface.js';
21
- export type { DefinitionAnalysis } from './definition/analysis.js';
22
- export type { PropertyFacet, PropertyMetadata, PropertyMetadataRecord, PropertyVisibility, } from './definition/property.js';
23
- export type { PropertyObjectSchema } from './value/schema.js';
24
- export type { Cardinality, EdgeConstraints, EdgeContract, EdgeEndpoint, EdgeEndpoints, EdgeOrientation, } from './definition/edge.js';
25
- export type { CallableContract, CallableOutput, AuthenticationMode, FunctionDeclaration, MethodDeclaration, MethodInheritance, MethodRecord, OutputMode, } from './callable.js';
26
- export type { DataDeclaration, DataFacet, MediaType } from './definition/data.js';
27
- export type { ViewDeclaration, ViewTarget } from './view/declaration.js';
28
- export type { PolicyCheckExpression, PolicyCheckObject, PolicyObjectRef, PolicyDeclaration, PolicyEdgePattern, PolicyVariable, PolicyPatternExpression, PolicyPatternTerm, PolicyRepeat, } from './policy/ast.js';
29
- export type { CoreDeclaration, CoreEdgeDeclaration, CoreNodeDeclaration, } from './core/declaration.js';
30
- export type { ResolvedDomainSchema as Resolution, ResolvedDomainSchemaReferences as ResolutionReferences, } from './domain.resolve.js';
31
- export type { ResolvedDefinition } from './resolution/definition.index.js';
2
+ import type { SourceDomain } from '../domain/index.js';
3
+ import type { DomainSchema } from './model/schema.js';
4
+ export type { DomainSchema, DomainSchemaIR, DomainOfSchema as DomainOf } from './model/schema.js';
5
+ export type ResolvedDomainOf<Schema extends DomainSchema> = SourceDomain<Schema>;
6
+ export interface Resolve {
7
+ <const Schema extends DomainSchema>(schema: Schema): ResolvedDomainOf<Schema>;
8
+ }
9
+ export declare const resolve: Resolve;
10
+ export type { SchemaDiagnosticCode as DiagnosticCode } from './diagnostic.js';
11
+ export { acceptDomainSchema as accept } from './admission/accept.js';
12
+ export { decodeDomainSchema as decode, encodeDomainSchema as encode, serializeDomainSchema as serialize, } from './codec/schema.js';
13
+ export { revisionOfDomainSchema as revision } from './canonical/revision.js';
14
+ export { compareDependencyMeaning, compareMemberMeaning } from './compatibility/meaning.js';
15
+ export type { DependencyMeaningChange, DependencyMeaningChangeKind, DependencyMeaningComparison, MeaningFingerprint, } from './compatibility/meaning.js';
16
+ export { header } from './codec/header.js';
17
+ export { DOMAIN_FORMAT as FORMAT, DOMAIN_VERSION as VERSION } from './model/format.js';
18
+ export { compile, load } from '../compiled/index.js';
19
+ export type { CompiledSchema, DomainOfCompiled } from '../compiled/index.js';
20
+ export { SchemaError as Error } from './diagnostic.js';
21
+ export type { SchemaDiagnostic as Diagnostic } from './diagnostic.js';
22
+ export type { DomainSchemaLookup as Lookup } from './dependency/lookup.js';
23
+ export type { DomainSchemaHeader as Header } from './codec/header.js';
24
+ export type { DomainDependency } from '../addressing/index.js';
32
25
  /** The versioned value-schema grammar embedded in declarations. */
33
- export * as values from './value/index.js';
34
- /** Shared exact value bounds for declaration metadata. */
35
- export * as metadata from './metadata.js';
36
- //# sourceMappingURL=index.d.ts.map
26
+ export * as values from './validation/value-api.js';
@@ -1,16 +1,13 @@
1
1
  /** Admit, encode, inspect, and semantically resolve canonical V1 DomainSchemas. */
2
- export { acceptDomainSchema as accept } from './domain.accept.js';
3
- export { decodeDomainSchema as decode, encodeDomainSchema as encode, serializeDomainSchema as serialize, } from './domain.codec.js';
4
- export { revisionOfDomainSchema as revision } from './domain.revision.js';
5
- export { resolveDomainSchema as resolve } from './domain.resolve.js';
6
- export { compareDependencyMeaning, compareMemberMeaning } from './dependency.meaning.js';
7
- export { readDomainSchemaHeader as readHeader } from './domain.header.js';
8
- export { DOMAIN_FORMAT as FORMAT, DOMAIN_VERSION as VERSION } from './reference.js';
9
- export { namedTypeUri as typeUri } from './reference.js';
10
- export { patterns } from '../addressing/index.js';
11
- export { DomainSchemaError as Error } from './diagnostic.js';
2
+ import { resolve as resolveDomainSchema } from './resolution/domain.js';
3
+ export const resolve = resolveDomainSchema;
4
+ export { acceptDomainSchema as accept } from './admission/accept.js';
5
+ export { decodeDomainSchema as decode, encodeDomainSchema as encode, serializeDomainSchema as serialize, } from './codec/schema.js';
6
+ export { revisionOfDomainSchema as revision } from './canonical/revision.js';
7
+ export { compareDependencyMeaning, compareMemberMeaning } from './compatibility/meaning.js';
8
+ export { header } from './codec/header.js';
9
+ export { DOMAIN_FORMAT as FORMAT, DOMAIN_VERSION as VERSION } from './model/format.js';
10
+ export { compile, load } from '../compiled/index.js';
11
+ export { SchemaError as Error } from './diagnostic.js';
12
12
  /** The versioned value-schema grammar embedded in declarations. */
13
- export * as values from './value/index.js';
14
- /** Shared exact value bounds for declaration metadata. */
15
- export * as metadata from './metadata.js';
16
- //# sourceMappingURL=index.js.map
13
+ export * as values from './validation/value-api.js';
@@ -0,0 +1,2 @@
1
+ export declare const DOMAIN_FORMAT: 'astrale.dsl';
2
+ export declare const DOMAIN_VERSION: 'v1';
@@ -0,0 +1,2 @@
1
+ export const DOMAIN_FORMAT = 'astrale.dsl';
2
+ export const DOMAIN_VERSION = 'v1';
@@ -0,0 +1,30 @@
1
+ import type { Key } from '../../addressing/index.js';
2
+ import type { DomainDependencyMap } from '../../addressing/index.js';
3
+ import type { Domain, DomainOfSource, DomainSource } from '../../domain/model/domain.js';
4
+ import type { FunctionDefinition } from '../../language/callable/model/callable.js';
5
+ import type { ClassDefinition } from '../../language/class/model/class.js';
6
+ import type { CoreContent } from '../../language/core/model/core.js';
7
+ import type { PolicyDefinition } from '../../language/policy/model/policy.js';
8
+ import type { ViewDefinition } from '../../language/view/model/view.js';
9
+ export interface DomainSchemaIR {
10
+ readonly format: 'astrale.dsl';
11
+ readonly version: 'v1';
12
+ readonly origin: Key.Origin;
13
+ readonly dependencies: DomainDependencyMap;
14
+ readonly classes: Readonly<Record<string, ClassDefinition>>;
15
+ readonly functions: Readonly<Record<string, FunctionDefinition>>;
16
+ readonly policies: Readonly<Record<string, PolicyDefinition>>;
17
+ readonly views: Readonly<Record<string, ViewDefinition>>;
18
+ readonly core: CoreContent;
19
+ }
20
+ declare const DOMAIN_SCHEMA_BRAND: unique symbol;
21
+ /**
22
+ * Accepted canonical schema carrying its exact resolved Domain projection.
23
+ */
24
+ export type DomainSchema<Origin extends string = string, Resolved extends Domain = Domain> = DomainSchemaIR & DomainSource<Resolved> & {
25
+ readonly origin: Origin;
26
+ readonly [DOMAIN_SCHEMA_BRAND]: true;
27
+ };
28
+ export type DomainOfSchema<Schema extends DomainSchema> = DomainOfSource<Schema>;
29
+ export declare function asDomainSchema<Origin extends string = string, Resolved extends Domain = Domain>(value: DomainSchemaIR): DomainSchema<Origin, Resolved>;
30
+ export {};
@@ -0,0 +1,4 @@
1
+ import { deepFreeze } from '../canonical/freeze.js';
2
+ export function asDomainSchema(value) {
3
+ return deepFreeze(value);
4
+ }
@@ -0,0 +1,2 @@
1
+ import type { DomainSchemaIR } from '../model/schema.js';
2
+ export declare function normalizeDomainSchema(schema: DomainSchemaIR): DomainSchemaIR;
@@ -0,0 +1,207 @@
1
+ import { json } from '@astrale-os/kernel-dsl/value';
2
+ import { compareDefinitionRefs, compareUnicode } from '../../addressing/ordering.js';
3
+ import { normalizePolicyChecks, normalizePolicyExpression, } from '../../language/policy/normalization/normalize.js';
4
+ import { canonicalizeValueSchema } from '../../language/value/profile/canonicalize.js';
5
+ export function normalizeDomainSchema(schema) {
6
+ const classes = mapRecord(schema.classes, canonicalizeClass);
7
+ const orientationByClass = new Map(Object.entries(classes)
8
+ .filter((entry) => entry[1].kind === 'edge')
9
+ .map(([name, declaration]) => [name, declaration.orientation]));
10
+ const normalized = {
11
+ format: 'astrale.dsl',
12
+ version: 'v1',
13
+ origin: schema.origin,
14
+ dependencies: mapRecord(schema.dependencies, (dependency) => ({ ...dependency })),
15
+ classes,
16
+ functions: mapRecord(schema.functions, canonicalizeFunction),
17
+ policies: mapRecord(schema.policies, canonicalizePolicy),
18
+ views: mapRecord(schema.views, canonicalizeView),
19
+ core: {
20
+ nodes: mapRecord(schema.core.nodes, (node) => ({
21
+ ref: node.ref,
22
+ class: node.class,
23
+ properties: copyJsonValue(node.properties),
24
+ })),
25
+ edges: schema.core.edges
26
+ .map((edge) => canonicalizeCoreEdge(edge, schema.origin, orientationByClass))
27
+ .sort(compareCoreEdges),
28
+ },
29
+ };
30
+ return copyJsonValue(normalized);
31
+ }
32
+ function canonicalizePolicy(value) {
33
+ return {
34
+ ref: value.ref,
35
+ ...withDescription(value),
36
+ expression: normalizePolicyExpression(value.expression),
37
+ };
38
+ }
39
+ function canonicalizeView(value) {
40
+ return {
41
+ ref: value.ref,
42
+ ...withDescription(value),
43
+ target: value.target.kind === 'domain'
44
+ ? { kind: 'domain' }
45
+ : {
46
+ kind: 'definition',
47
+ definitions: [...value.target.definitions].sort(compareDefinitionRefs),
48
+ },
49
+ };
50
+ }
51
+ function canonicalizeClass(value) {
52
+ const base = {
53
+ ...withDescription(value),
54
+ ref: value.ref,
55
+ kind: value.kind,
56
+ abstract: value.abstract,
57
+ extends: [...value.extends].sort(compareDefinitionRefs),
58
+ properties: mapRecord(value.properties, canonicalizeProperty),
59
+ };
60
+ if (value.kind === 'node') {
61
+ return {
62
+ ...base,
63
+ methods: mapRecord(value.methods, canonicalizeMethod),
64
+ ...(value.data === undefined ? {} : { data: { mediaType: value.data.mediaType } }),
65
+ ...(value.icon === undefined ? {} : { icon: value.icon }),
66
+ policies: value.policies,
67
+ };
68
+ }
69
+ return value.orientation === 'directed'
70
+ ? {
71
+ ...base,
72
+ orientation: 'directed',
73
+ endpoints: canonicalizeDirectedEndpoints(value.endpoints),
74
+ policies: value.policies,
75
+ constraints: value.constraints,
76
+ }
77
+ : {
78
+ ...base,
79
+ orientation: 'undirected',
80
+ endpoints: canonicalizeIncidentEndpoints(value.endpoints),
81
+ policies: value.policies,
82
+ constraints: value.constraints,
83
+ };
84
+ }
85
+ function canonicalizeFunction(value) {
86
+ return {
87
+ ref: value.ref,
88
+ ...canonicalizeCallable(value),
89
+ };
90
+ }
91
+ function canonicalizeCallable(value) {
92
+ const base = {
93
+ ...withDescription(value),
94
+ input: canonicalizeValueSchema(value.input, 'callable-input'),
95
+ output: canonicalizeCallableOutput(value.output),
96
+ };
97
+ return value.auth === 'authorized'
98
+ ? {
99
+ ...base,
100
+ auth: value.auth,
101
+ ...(value.policy === undefined ? {} : { policy: normalizePolicyChecks(value.policy) }),
102
+ }
103
+ : { ...base, auth: value.auth };
104
+ }
105
+ function canonicalizeMethod(value) {
106
+ return {
107
+ ...canonicalizeCallable(value),
108
+ static: value.static,
109
+ inheritance: value.inheritance,
110
+ };
111
+ }
112
+ function canonicalizeCallableOutput(value) {
113
+ switch (value.mode) {
114
+ case 'value':
115
+ return { mode: 'value', schema: canonicalizeValueSchema(value.schema, 'callable-output') };
116
+ case 'stream':
117
+ return { mode: 'stream', item: canonicalizeValueSchema(value.item, 'callable-output') };
118
+ case 'binary':
119
+ return { mode: 'binary' };
120
+ }
121
+ }
122
+ function canonicalizeProperty(value) {
123
+ return {
124
+ schema: canonicalizeValueSchema(value.schema, 'property-facet'),
125
+ required: value.required,
126
+ visibility: value.visibility,
127
+ ...(value.auto === undefined
128
+ ? {}
129
+ : {
130
+ auto: {
131
+ on: [...new Set(value.auto.on)].sort(compareUnicode),
132
+ set: value.auto.set,
133
+ },
134
+ }),
135
+ ...(value.description === undefined ? {} : { description: value.description }),
136
+ };
137
+ }
138
+ function canonicalizeDirectedEndpoints(value) {
139
+ return {
140
+ ...value,
141
+ source: { ...value.source, accepts: [...value.source.accepts].sort(compareDefinitionRefs) },
142
+ target: { ...value.target, accepts: [...value.target.accepts].sort(compareDefinitionRefs) },
143
+ };
144
+ }
145
+ function canonicalizeIncidentEndpoints(value) {
146
+ return [
147
+ { ...value[0], accepts: [...value[0].accepts].sort(compareDefinitionRefs) },
148
+ { ...value[1], accepts: [...value[1].accepts].sort(compareDefinitionRefs) },
149
+ ];
150
+ }
151
+ function canonicalizeCoreEdge(edge, origin, orientationByClass) {
152
+ const isLocal = edge.class.origin === origin;
153
+ const isUndirected = isLocal && orientationByClass.get(edge.class.name) === 'undirected';
154
+ const [source, target] = isUndirected && compareCoreEndpoints(edge.source, edge.target) > 0
155
+ ? [edge.target, edge.source]
156
+ : [edge.source, edge.target];
157
+ return {
158
+ class: edge.class,
159
+ source,
160
+ target,
161
+ properties: copyJsonValue(edge.properties),
162
+ };
163
+ }
164
+ function compareCoreEdges(left, right) {
165
+ return (compareDefinitionRefs(left.class, right.class) ||
166
+ compareCoreEndpoints(left.source, right.source) ||
167
+ compareCoreEndpoints(left.target, right.target) ||
168
+ compareBytes(json.serialize(left.properties), json.serialize(right.properties)));
169
+ }
170
+ function compareCoreEndpoints(left, right) {
171
+ if (left.kind === 'domain')
172
+ return right.kind === 'domain' ? 0 : -1;
173
+ if (right.kind === 'domain')
174
+ return 1;
175
+ return compareDefinitionRefs(left, right);
176
+ }
177
+ function compareBytes(left, right) {
178
+ const encoder = new TextEncoder();
179
+ const a = encoder.encode(left);
180
+ const b = encoder.encode(right);
181
+ const length = Math.min(a.length, b.length);
182
+ for (let index = 0; index < length; index++) {
183
+ if (a[index] !== b[index])
184
+ return (a[index] ?? 0) - (b[index] ?? 0);
185
+ }
186
+ return a.length - b.length;
187
+ }
188
+ function mapRecord(value, map) {
189
+ return Object.fromEntries(Object.entries(value)
190
+ .sort(([left], [right]) => compareUnicode(left, right))
191
+ .map(([name, entry]) => [name, map(entry, name)]));
192
+ }
193
+ function withDescription(value) {
194
+ return value.description === undefined ? {} : { description: value.description };
195
+ }
196
+ function copyJsonValue(value) {
197
+ if (typeof value === 'number') {
198
+ if (Object.is(value, -0))
199
+ throw new TypeError('Cannot canonicalize negative zero.');
200
+ return value;
201
+ }
202
+ if (value === null || typeof value !== 'object')
203
+ return value;
204
+ if (Array.isArray(value))
205
+ return value.map((entry) => copyJsonValue(entry));
206
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, copyJsonValue(entry)]));
207
+ }
@@ -1,10 +1,9 @@
1
- import type { DomainSchema } from '../domain.ir.js';
2
- import type { DomainSchemaEntry, DomainSchemaLookup } from '../domain.lookup.js';
1
+ import type { DomainSchemaEntry, DomainSchemaLookup } from '../dependency/lookup.js';
2
+ import type { DomainSchema } from '../model/schema.js';
3
3
  /** Retain the exact schema objects used by one successful semantic acceptance. */
4
4
  export declare function rememberDomainClosure(schema: DomainSchema, dependencies: Iterable<DomainSchema>): void;
5
5
  /** Undefined means the value did not pass through this process's acceptance boundary. */
6
6
  export declare function knownDomainClosure(schema: DomainSchema): readonly DomainSchemaEntry[] | undefined;
7
7
  export declare function requireDomainClosure(schema: DomainSchema): readonly DomainSchemaEntry[];
8
8
  export declare function lookupForDomainClosure(schema: DomainSchema): DomainSchemaLookup;
9
- export declare function lookupEntriesForDependencies(dependencies: readonly DomainSchema[]): readonly DomainSchemaEntry[];
10
- //# sourceMappingURL=closure.d.ts.map
9
+ export declare function lookupEntriesForDependencies(dependencies: Readonly<Record<string, DomainSchema>>): readonly DomainSchemaEntry[];
@@ -1,7 +1,7 @@
1
- import { DomainSchemaError, diagnostic } from '../diagnostic.js';
2
- import { MemoryDomainSchemaLookup } from '../domain.lookup.js';
3
- import { revisionOfDomainSchema } from '../domain.revision.js';
4
- import { compareUnicode } from '../reference.js';
1
+ import { compareUnicode } from '../../addressing/ordering.js';
2
+ import { revisionOfDomainSchema } from '../canonical/revision.js';
3
+ import { MemoryDomainSchemaLookup } from '../dependency/lookup.js';
4
+ import { SchemaError, diagnostic } from '../diagnostic.js';
5
5
  const knownClosure = new WeakMap();
6
6
  /** Retain the exact schema objects used by one successful semantic acceptance. */
7
7
  export function rememberDomainClosure(schema, dependencies) {
@@ -20,7 +20,7 @@ export function requireDomainClosure(schema) {
20
20
  const closure = knownDomainClosure(schema);
21
21
  if (closure !== undefined)
22
22
  return closure;
23
- throw new DomainSchemaError([
23
+ throw new SchemaError([
24
24
  diagnostic('DV_ACCEPTANCE_CONTEXT', '', `DomainSchema ${schema.origin} has no retained acceptance context; accept it again against its exact lookup.`),
25
25
  ]);
26
26
  }
@@ -29,7 +29,7 @@ export function lookupForDomainClosure(schema) {
29
29
  }
30
30
  export function lookupEntriesForDependencies(dependencies) {
31
31
  const entries = new Map();
32
- for (const schema of dependencies) {
32
+ for (const schema of Object.values(dependencies)) {
33
33
  const revision = revisionOfDomainSchema(schema);
34
34
  entries.set(closureKey(schema.origin, revision), { schema, revision });
35
35
  for (const entry of requireDomainClosure(schema)) {
@@ -47,4 +47,3 @@ function freezeEntries(entries) {
47
47
  function closureKey(origin, revision) {
48
48
  return `${origin}\u0000${revision}`;
49
49
  }
50
- //# sourceMappingURL=closure.js.map
@@ -1,18 +1,17 @@
1
- import type { DomainDiagnostic } from '../diagnostic.js';
2
- import type { DomainSchema, DomainSchemaIR } from '../domain.ir.js';
3
- import type { DomainSchemaLookup } from '../domain.lookup.js';
4
- import type { PolicyDeclaration } from '../policy/ast.js';
5
- import type { SchemaRef, PolicyRef } from '../reference.js';
6
- import type { ResolvedDefinition } from './definition.index.js';
1
+ import type { DefinitionRef, PolicyRef } from '../../addressing/index.js';
2
+ import type { PolicyDefinition } from '../../language/policy/model/policy.js';
3
+ import type { DomainSchemaLookup } from '../dependency/lookup.js';
4
+ import type { SchemaDiagnostic } from '../diagnostic.js';
5
+ import type { DomainSchema, DomainSchemaIR } from '../model/schema.js';
6
+ import type { IndexedClassDefinition } from './definition.index.js';
7
7
  /** Transient symbol and dependency scope for one DomainSchema analysis pass. */
8
8
  export interface DomainResolutionContext {
9
9
  readonly candidate: DomainSchemaIR;
10
10
  readonly dependencies: ReadonlyMap<string, DomainSchema>;
11
- readonly definitions: ReadonlyMap<string, ResolvedDefinition>;
12
- readonly diagnostics: readonly DomainDiagnostic[];
13
- resolve(ref: SchemaRef): ResolvedDefinition | undefined;
14
- resolveAny(ref: SchemaRef): ResolvedDefinition | undefined;
15
- resolvePolicy(ref: PolicyRef): PolicyDeclaration | undefined;
11
+ readonly definitions: ReadonlyMap<string, IndexedClassDefinition>;
12
+ readonly diagnostics: readonly SchemaDiagnostic[];
13
+ resolve(ref: DefinitionRef): IndexedClassDefinition | undefined;
14
+ resolveAny(ref: DefinitionRef): IndexedClassDefinition | undefined;
15
+ resolvePolicy(ref: PolicyRef): PolicyDefinition | undefined;
16
16
  }
17
17
  export declare function buildDomainResolutionContext(candidate: DomainSchemaIR, lookup: DomainSchemaLookup): DomainResolutionContext;
18
- //# sourceMappingURL=context.d.ts.map
@@ -1,6 +1,8 @@
1
+ import { dependencyLimits } from '../../addressing/domain-dependency.js';
2
+ import { definitionRefIndex } from '../../addressing/ordering.js';
3
+ import { DOMAIN_REVISION_PATTERN } from '../../addressing/patterns.js';
4
+ import { revisionOfDomainSchema } from '../canonical/revision.js';
1
5
  import { diagnostic } from '../diagnostic.js';
2
- import { revisionOfDomainSchema } from '../domain.revision.js';
3
- import { DOMAIN_REVISION_PATTERN, schemaRefIndex } from '../reference.js';
4
6
  import { indexSchemaDefinitions } from './definition.index.js';
5
7
  import { collectUsedForeignOrigins } from './origins.js';
6
8
  export function buildDomainResolutionContext(candidate, lookup) {
@@ -8,8 +10,11 @@ export function buildDomainResolutionContext(candidate, lookup) {
8
10
  const dependencies = new Map();
9
11
  const definitions = new Map();
10
12
  const directOrigins = new Set();
11
- for (const [index, dependency] of candidate.dependencies.entries()) {
12
- const pointer = `/dependencies/${index}`;
13
+ if (Object.keys(candidate.dependencies).length > dependencyLimits.direct) {
14
+ diagnostics.push(diagnostic('DV_DEPENDENCY_LIMITS', '/dependencies', `A Domain may declare at most ${dependencyLimits.direct} direct dependency aliases.`));
15
+ }
16
+ for (const [alias, dependency] of Object.entries(candidate.dependencies)) {
17
+ const pointer = `/dependencies/${escapeToken(alias)}`;
13
18
  if (!DOMAIN_REVISION_PATTERN.test(dependency.revision))
14
19
  continue;
15
20
  if (dependency.origin === candidate.origin) {
@@ -53,10 +58,10 @@ export function buildDomainResolutionContext(candidate, lookup) {
53
58
  resolve(ref) {
54
59
  if (ref.origin !== candidate.origin && !directOrigins.has(ref.origin))
55
60
  return undefined;
56
- return definitions.get(schemaRefIndex(ref));
61
+ return definitions.get(definitionRefIndex(ref));
57
62
  },
58
63
  resolveAny(ref) {
59
- return definitions.get(schemaRefIndex(ref));
64
+ return definitions.get(definitionRefIndex(ref));
60
65
  },
61
66
  resolvePolicy(ref) {
62
67
  if (ref.origin !== candidate.origin)
@@ -67,48 +72,78 @@ export function buildDomainResolutionContext(candidate, lookup) {
67
72
  }
68
73
  function loadDependencyClosure(candidate, dependencies, lookup, diagnostics) {
69
74
  const revisionByOrigin = new Map();
70
- const visiting = new Set();
71
75
  const visited = new Set();
72
- const visit = (schema, key) => {
73
- if (visiting.has(key)) {
74
- diagnostics.push(diagnostic('DV_DEPENDENCY_ACYCLIC', '/dependencies', `Dependency cycle reaches ${schema.origin}.`));
75
- return;
76
+ const activeOrigins = new Set([candidate.origin]);
77
+ const frames = [
78
+ {
79
+ schema: candidate,
80
+ key: `${candidate.origin}\u0000candidate`,
81
+ depth: 0,
82
+ edges: Object.entries(candidate.dependencies),
83
+ index: 0,
84
+ },
85
+ ];
86
+ let closureLimitReported = false;
87
+ while (frames.length > 0) {
88
+ const frame = frames.at(-1);
89
+ const edge = frame.edges[frame.index++];
90
+ if (edge === undefined) {
91
+ frames.pop();
92
+ activeOrigins.delete(frame.schema.origin);
93
+ visited.add(frame.key);
94
+ continue;
76
95
  }
77
- if (visited.has(key))
78
- return;
79
- visiting.add(key);
80
- for (const dependency of schema.dependencies) {
81
- if (dependency.origin === candidate.origin) {
82
- diagnostics.push(diagnostic('DV_DEPENDENCY_ACYCLIC', '/dependencies', `Dependency cycle returns to ${candidate.origin}.`));
83
- continue;
84
- }
85
- const previous = revisionByOrigin.get(dependency.origin);
86
- if (previous !== undefined && previous !== dependency.revision) {
87
- diagnostics.push(diagnostic('DV_DEPENDENCY_REVISION_COHERENCE', '/dependencies', `Closure contains ${dependency.origin} at both ${previous} and ${dependency.revision}.`));
88
- }
89
- else {
90
- revisionByOrigin.set(dependency.origin, dependency.revision);
91
- }
92
- const nested = dependencies.get(dependency.origin) ?? lookup.get(dependency.origin, dependency.revision);
93
- if (nested === undefined) {
94
- diagnostics.push(diagnostic('DV_DEPENDENCY_EXACT', '/dependencies', `Dependency closure is missing ${dependency.origin}@${dependency.revision}.`));
95
- continue;
96
- }
97
- if (nested.origin !== dependency.origin) {
98
- diagnostics.push(diagnostic('DV_DEPENDENCY_EXACT', '/dependencies', `Schema lookup value origin ${nested.origin} disagrees with ${dependency.origin}.`));
99
- continue;
100
- }
101
- if (revisionOfDomainSchema(nested) !== dependency.revision) {
102
- diagnostics.push(diagnostic('DV_DEPENDENCY_EXACT', '/dependencies', `Schema lookup content for ${dependency.origin} disagrees with ${dependency.revision}.`));
103
- continue;
96
+ const [alias, dependency] = edge;
97
+ const pointer = frames.length === 1 ? `/dependencies/${escapeToken(alias)}` : '/dependencies';
98
+ if (activeOrigins.has(dependency.origin)) {
99
+ diagnostics.push(diagnostic('DV_DEPENDENCY_ACYCLIC', pointer, `Dependency cycle reaches ${dependency.origin}.`));
100
+ continue;
101
+ }
102
+ const previous = revisionByOrigin.get(dependency.origin);
103
+ if (previous !== undefined && previous !== dependency.revision) {
104
+ diagnostics.push(diagnostic('DV_DEPENDENCY_REVISION_COHERENCE', pointer, `Closure contains ${dependency.origin} at both ${previous} and ${dependency.revision}.`));
105
+ }
106
+ else {
107
+ revisionByOrigin.set(dependency.origin, dependency.revision);
108
+ }
109
+ const nested = dependencies.get(dependency.origin) ?? lookup.get(dependency.origin, dependency.revision);
110
+ if (nested === undefined) {
111
+ diagnostics.push(diagnostic('DV_DEPENDENCY_EXACT', pointer, `Dependency closure is missing ${dependency.origin}@${dependency.revision}.`));
112
+ continue;
113
+ }
114
+ if (nested.origin !== dependency.origin) {
115
+ diagnostics.push(diagnostic('DV_DEPENDENCY_EXACT', pointer, `Schema lookup value origin ${nested.origin} disagrees with ${dependency.origin}.`));
116
+ continue;
117
+ }
118
+ if (revisionOfDomainSchema(nested) !== dependency.revision) {
119
+ diagnostics.push(diagnostic('DV_DEPENDENCY_EXACT', pointer, `Schema lookup content for ${dependency.origin} disagrees with ${dependency.revision}.`));
120
+ continue;
121
+ }
122
+ dependencies.set(nested.origin, nested);
123
+ if (dependencies.size + 1 > dependencyLimits.closure) {
124
+ if (!closureLimitReported) {
125
+ diagnostics.push(diagnostic('DV_DEPENDENCY_LIMITS', '/dependencies', `A dependency closure may contain at most ${dependencyLimits.closure} Domains.`));
126
+ closureLimitReported = true;
104
127
  }
105
- dependencies.set(nested.origin, nested);
106
- visit(nested, `${dependency.origin}\u0000${dependency.revision}`);
128
+ continue;
129
+ }
130
+ const depth = frame.depth + 1;
131
+ if (depth > dependencyLimits.depth) {
132
+ diagnostics.push(diagnostic('DV_DEPENDENCY_LIMITS', pointer, `Dependency depth ${depth} exceeds the maximum ${dependencyLimits.depth}.`));
133
+ continue;
107
134
  }
108
- visiting.delete(key);
109
- visited.add(key);
110
- };
111
- visit(candidate, `${candidate.origin}\u0000candidate`);
135
+ const key = `${dependency.origin}\u0000${dependency.revision}`;
136
+ if (visited.has(key))
137
+ continue;
138
+ activeOrigins.add(nested.origin);
139
+ frames.push({
140
+ schema: nested,
141
+ key,
142
+ depth,
143
+ edges: Object.entries(nested.dependencies),
144
+ index: 0,
145
+ });
146
+ }
112
147
  }
113
148
  function validateDependencyUse(candidate, directOrigins, diagnostics) {
114
149
  const used = collectUsedForeignOrigins(candidate);
@@ -117,10 +152,7 @@ function validateDependencyUse(candidate, directOrigins, diagnostics) {
117
152
  diagnostics.push(diagnostic('DV_DEPENDENCY_DIRECT', '', `Foreign origin ${origin} is referenced without an exact direct dependency.`));
118
153
  }
119
154
  }
120
- for (const origin of directOrigins) {
121
- if (!used.has(origin)) {
122
- diagnostics.push(diagnostic('DV_DEPENDENCY_USED', '/dependencies', `Dependency ${origin} is not referenced by the Domain.`));
123
- }
124
- }
125
155
  }
126
- //# sourceMappingURL=context.js.map
156
+ function escapeToken(value) {
157
+ return value.replaceAll('~', '~0').replaceAll('/', '~1');
158
+ }