@astrale-os/kernel-dsl 0.2.0-beta.2 → 0.2.0-beta.20

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 (738) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/dist/upgrade/contract.d.ts +0 -1
  5. package/dist/upgrade/contract.js +0 -1
  6. package/dist/upgrade/index.d.ts +0 -1
  7. package/dist/upgrade/index.js +0 -1
  8. package/dist/v1/addressing/class-key.d.ts +12 -0
  9. package/dist/v1/addressing/class-key.js +39 -0
  10. package/dist/v1/addressing/definition-ref.d.ts +28 -0
  11. package/dist/v1/addressing/definition-ref.js +63 -0
  12. package/dist/v1/addressing/domain-dependency.d.ts +18 -0
  13. package/dist/v1/addressing/domain-dependency.js +6 -0
  14. package/dist/v1/addressing/index.d.ts +10 -4
  15. package/dist/v1/addressing/index.js +5 -3
  16. package/dist/v1/addressing/key.d.ts +14 -16
  17. package/dist/v1/addressing/key.js +24 -34
  18. package/dist/v1/addressing/method-address.d.ts +9 -0
  19. package/dist/v1/addressing/method-address.js +1 -0
  20. package/dist/v1/addressing/method-key.d.ts +15 -0
  21. package/dist/v1/addressing/method-key.js +60 -0
  22. package/dist/v1/addressing/ordering.d.ts +6 -0
  23. package/dist/v1/addressing/ordering.js +20 -0
  24. package/dist/v1/addressing/patterns.d.ts +12 -3
  25. package/dist/v1/addressing/patterns.js +11 -2
  26. package/dist/v1/addressing/property-key.d.ts +10 -15
  27. package/dist/v1/addressing/property-key.js +24 -15
  28. package/dist/v1/addressing/revision.d.ts +8 -0
  29. package/dist/v1/addressing/revision.js +8 -0
  30. package/dist/v1/builder/callable/authoring.d.ts +117 -0
  31. package/dist/v1/builder/{callable.js → callable/authoring.js} +28 -7
  32. package/dist/v1/builder/class/authoring.d.ts +378 -0
  33. package/dist/v1/builder/class/authoring.js +134 -0
  34. package/dist/v1/builder/class/property.d.ts +58 -0
  35. package/dist/v1/builder/class/property.js +57 -0
  36. package/dist/v1/builder/core/authoring.d.ts +42 -0
  37. package/dist/v1/builder/core/authoring.js +39 -0
  38. package/dist/v1/builder/index.d.ts +26 -22
  39. package/dist/v1/builder/index.js +11 -11
  40. package/dist/v1/builder/lowering/callable.d.ts +24 -0
  41. package/dist/v1/builder/{compiler → lowering}/callable.js +11 -14
  42. package/dist/v1/builder/lowering/class.d.ts +22 -0
  43. package/dist/v1/builder/lowering/class.js +134 -0
  44. package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
  45. package/dist/v1/builder/{compiler/core.properties.js → lowering/core-properties.js} +14 -8
  46. package/dist/v1/builder/lowering/core.d.ts +22 -0
  47. package/dist/v1/builder/{compiler → lowering}/core.js +17 -11
  48. package/dist/v1/builder/lowering/policy.d.ts +16 -0
  49. package/dist/v1/builder/{compiler → lowering}/policy.js +19 -14
  50. package/dist/v1/builder/{compiler/schema.capture.d.ts → lowering/schema/capture.d.ts} +2 -3
  51. package/dist/v1/builder/lowering/schema/capture.js +70 -0
  52. package/dist/v1/builder/{compiler/schema.d.ts → lowering/schema/compile.d.ts} +4 -4
  53. package/dist/v1/builder/{compiler/schema.js → lowering/schema/compile.js} +34 -44
  54. package/dist/v1/builder/lowering/schema/context.d.ts +44 -0
  55. package/dist/v1/builder/{compiler/schema.context.js → lowering/schema/context.js} +66 -74
  56. package/dist/v1/builder/{compiler/schema.ownership.d.ts → lowering/schema/ownership.d.ts} +1 -2
  57. package/dist/v1/builder/{compiler/schema.ownership.js → lowering/schema/ownership.js} +1 -2
  58. package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
  59. package/dist/v1/builder/{compiler/value.js → lowering/value/compile.js} +44 -61
  60. package/dist/v1/builder/lowering/value/path.d.ts +3 -0
  61. package/dist/v1/builder/{compiler/value.path.js → lowering/value/path.js} +1 -2
  62. package/dist/v1/builder/{compiler/value.zod.d.ts → lowering/value/zod.d.ts} +8 -9
  63. package/dist/v1/builder/{compiler/value.zod.js → lowering/value/zod.js} +10 -11
  64. package/dist/v1/builder/lowering/view.d.ts +11 -0
  65. package/dist/v1/builder/{compiler → lowering}/view.js +7 -7
  66. package/dist/v1/builder/{policy.d.ts → policy/authoring.d.ts} +19 -17
  67. package/dist/v1/builder/{policy.js → policy/authoring.js} +23 -12
  68. package/dist/v1/builder/schema/define.d.ts +11 -0
  69. package/dist/v1/builder/{schema.js → schema/define.js} +1 -2
  70. package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
  71. package/dist/v1/builder/schema/diagnostic.js +31 -0
  72. package/dist/v1/builder/{internal/authoring.d.ts → schema/handle.d.ts} +1 -2
  73. package/dist/v1/builder/{internal/authoring.js → schema/handle.js} +0 -1
  74. package/dist/v1/builder/schema/input.d.ts +15 -0
  75. package/dist/v1/builder/schema/input.js +1 -0
  76. package/dist/v1/builder/{internal/authoring.lazy.d.ts → schema/lazy.d.ts} +0 -1
  77. package/dist/v1/builder/{internal/authoring.lazy.js → schema/lazy.js} +0 -1
  78. package/dist/v1/builder/schema/projection.d.ts +370 -0
  79. package/dist/v1/builder/schema/projection.js +1 -0
  80. package/dist/v1/builder/value/full-match.d.ts +4 -0
  81. package/dist/v1/builder/value/full-match.js +11 -0
  82. package/dist/v1/builder/value/path-metadata.d.ts +4 -0
  83. package/dist/v1/builder/{internal/path.metadata.js → value/path-metadata.js} +0 -1
  84. package/dist/v1/builder/value/path.d.ts +8 -0
  85. package/dist/v1/builder/{path.js → value/path.js} +4 -5
  86. package/dist/v1/builder/{value-schema.d.ts → value/schema.d.ts} +2 -3
  87. package/dist/v1/builder/{value-schema.js → value/schema.js} +0 -1
  88. package/dist/v1/builder/view/authoring.d.ts +17 -0
  89. package/dist/v1/builder/view/authoring.js +16 -0
  90. package/dist/v1/bundle/codec.d.ts +0 -1
  91. package/dist/v1/bundle/codec.js +36 -19
  92. package/dist/v1/bundle/create.d.ts +3 -0
  93. package/dist/v1/bundle/create.js +5 -0
  94. package/dist/v1/bundle/diagnostic.d.ts +10 -0
  95. package/dist/v1/bundle/diagnostic.js +17 -0
  96. package/dist/v1/bundle/index.d.ts +3 -2
  97. package/dist/v1/bundle/index.js +2 -2
  98. package/dist/v1/bundle/model.d.ts +1 -4
  99. package/dist/v1/bundle/model.js +0 -6
  100. package/dist/v1/bundle/structure.d.ts +1 -2
  101. package/dist/v1/bundle/structure.js +6 -6
  102. package/dist/v1/bundle/transport.d.ts +8 -0
  103. package/dist/v1/bundle/transport.js +7 -0
  104. package/dist/v1/compiled/admission/accept.d.ts +3 -0
  105. package/dist/v1/compiled/admission/accept.js +910 -0
  106. package/dist/v1/compiled/admission/revision.d.ts +4 -0
  107. package/dist/v1/compiled/admission/revision.js +73 -0
  108. package/dist/v1/compiled/admission/semantics.d.ts +7 -0
  109. package/dist/v1/compiled/admission/semantics.js +1114 -0
  110. package/dist/v1/compiled/codec/json.d.ts +3 -0
  111. package/dist/v1/compiled/codec/json.js +9 -0
  112. package/dist/v1/compiled/compiler/compile.d.ts +4 -0
  113. package/dist/v1/compiled/compiler/compile.js +113 -0
  114. package/dist/v1/compiled/diagnostic.d.ts +11 -0
  115. package/dist/v1/compiled/diagnostic.js +13 -0
  116. package/dist/v1/compiled/generated.d.ts +10 -0
  117. package/dist/v1/compiled/generated.js +15 -0
  118. package/dist/v1/compiled/index.d.ts +7 -0
  119. package/dist/v1/compiled/index.js +5 -0
  120. package/dist/v1/compiled/loader/index.d.ts +1 -0
  121. package/dist/v1/compiled/loader/index.js +1 -0
  122. package/dist/v1/compiled/loader/load.d.ts +9 -0
  123. package/dist/v1/compiled/loader/load.js +147 -0
  124. package/dist/v1/compiled/model/schema.d.ts +73 -0
  125. package/dist/v1/compiled/model/schema.js +1 -0
  126. package/dist/v1/domain/create.d.ts +8 -0
  127. package/dist/v1/domain/create.js +264 -0
  128. package/dist/v1/domain/index.d.ts +2 -0
  129. package/dist/v1/domain/index.js +1 -0
  130. package/dist/v1/domain/model/domain.d.ts +59 -0
  131. package/dist/v1/domain/model/domain.js +1 -0
  132. package/dist/v1/domain/model/input.d.ts +31 -0
  133. package/dist/v1/domain/model/input.js +1 -0
  134. package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
  135. package/dist/v1/domain/namespace/member-collection.js +81 -0
  136. package/dist/v1/domain/projection/classes.d.ts +4 -0
  137. package/dist/v1/domain/projection/classes.js +198 -0
  138. package/dist/v1/domain/validation/create.d.ts +18 -0
  139. package/dist/v1/domain/validation/create.js +75 -0
  140. package/dist/v1/index.d.ts +14 -5
  141. package/dist/v1/index.js +6 -3
  142. package/dist/v1/language/callable/index.d.ts +2 -0
  143. package/dist/v1/language/callable/index.js +1 -0
  144. package/dist/v1/language/callable/model/callable.d.ts +33 -0
  145. package/dist/v1/language/callable/model/callable.js +1 -0
  146. package/dist/v1/language/callable/resolved.d.ts +68 -0
  147. package/dist/v1/language/callable/resolved.js +1 -0
  148. package/dist/v1/language/class/facets.d.ts +58 -0
  149. package/dist/v1/language/class/facets.js +1 -0
  150. package/dist/v1/language/class/index.d.ts +8 -0
  151. package/dist/v1/language/class/index.js +1 -0
  152. package/dist/v1/language/class/model/class.d.ts +37 -0
  153. package/dist/v1/language/class/model/class.js +1 -0
  154. package/dist/v1/{schema/definition → language/class/model}/data.d.ts +2 -3
  155. package/dist/v1/{schema/definition → language/class/model}/data.js +0 -1
  156. package/dist/v1/{schema/definition → language/class/model}/edge.d.ts +9 -6
  157. package/dist/v1/language/class/model/edge.js +1 -0
  158. package/dist/v1/language/class/model/property.d.ts +17 -0
  159. package/dist/v1/language/class/model/property.js +1 -0
  160. package/dist/v1/language/class/property-values.d.ts +15 -0
  161. package/dist/v1/language/class/property-values.js +30 -0
  162. package/dist/v1/language/class/resolved.d.ts +126 -0
  163. package/dist/v1/language/class/resolved.js +1 -0
  164. package/dist/v1/language/core/index.d.ts +2 -0
  165. package/dist/v1/language/core/index.js +1 -0
  166. package/dist/v1/language/core/model/core.d.ts +20 -0
  167. package/dist/v1/language/core/model/core.js +1 -0
  168. package/dist/v1/language/core/resolved.d.ts +21 -0
  169. package/dist/v1/language/core/resolved.js +1 -0
  170. package/dist/v1/{schema → language/definition}/metadata.d.ts +0 -1
  171. package/dist/v1/{schema → language/definition}/metadata.js +0 -1
  172. package/dist/v1/language/definition.d.ts +7 -0
  173. package/dist/v1/language/definition.js +1 -0
  174. package/dist/v1/language/index.d.ts +25 -0
  175. package/dist/v1/language/index.js +2 -0
  176. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.d.ts +2 -4
  177. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.js +14 -30
  178. package/dist/v1/{schema/policy/validation → language/policy/analysis}/budgets.d.ts +1 -4
  179. package/dist/v1/language/policy/analysis/budgets.js +25 -0
  180. package/dist/v1/language/policy/index.d.ts +3 -0
  181. package/dist/v1/language/policy/index.js +1 -0
  182. package/dist/v1/{schema/policy/ast.d.ts → language/policy/model/policy.d.ts} +7 -7
  183. package/dist/v1/language/policy/model/policy.js +1 -0
  184. package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
  185. package/dist/v1/{schema/policy → language/policy/normalization}/normalize.js +12 -16
  186. package/dist/v1/language/policy/resolved.d.ts +9 -0
  187. package/dist/v1/language/policy/resolved.js +1 -0
  188. package/dist/v1/language/resolved.d.ts +10 -0
  189. package/dist/v1/language/resolved.js +1 -0
  190. package/dist/v1/language/state/index.d.ts +3 -0
  191. package/dist/v1/language/state/index.js +1 -0
  192. package/dist/v1/language/state/machine.d.ts +28 -0
  193. package/dist/v1/language/state/machine.js +40 -0
  194. package/dist/v1/language/state/topology.d.ts +14 -0
  195. package/dist/v1/language/state/topology.js +69 -0
  196. package/dist/v1/language/validation/diagnostic.d.ts +8 -0
  197. package/dist/v1/language/validation/diagnostic.js +3 -0
  198. package/dist/v1/language/value/compile/fields.d.ts +3 -0
  199. package/dist/v1/language/value/compile/fields.js +60 -0
  200. package/dist/v1/language/value/compile/load.d.ts +4 -0
  201. package/dist/v1/language/value/compile/load.js +41 -0
  202. package/dist/v1/language/value/compile/model.d.ts +27 -0
  203. package/dist/v1/language/value/compile/model.js +1 -0
  204. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.d.ts +0 -1
  205. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.js +1 -2
  206. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.d.ts +0 -1
  207. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.js +6 -18
  208. package/dist/v1/{schema/value/instance/compiler.d.ts → language/value/evaluate/preparation.d.ts} +4 -4
  209. package/dist/v1/language/value/evaluate/preparation.js +135 -0
  210. package/dist/v1/language/value/evaluate/program.d.ts +3 -0
  211. package/dist/v1/language/value/evaluate/program.js +16 -0
  212. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.d.ts +8 -5
  213. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.js +0 -1
  214. package/dist/v1/{schema/value/instance.validate.d.ts → language/value/evaluate/validate.d.ts} +4 -5
  215. package/dist/v1/{schema/value/instance.validate.js → language/value/evaluate/validate.js} +5 -6
  216. package/dist/v1/language/value/index.d.ts +11 -0
  217. package/dist/v1/language/value/index.js +8 -0
  218. package/dist/v1/{schema/value → language/value/model}/instant.d.ts +1 -1
  219. package/dist/v1/{schema/value → language/value/model}/instant.js +1 -1
  220. package/dist/v1/{schema/value → language/value/model}/object.d.ts +1 -1
  221. package/dist/v1/{schema/value → language/value/model}/object.js +0 -1
  222. package/dist/v1/{schema/value → language/value/model}/schema.d.ts +3 -4
  223. package/dist/v1/{schema/value → language/value/model}/schema.js +0 -2
  224. package/dist/v1/{schema → language}/value/ordering.d.ts +5 -3
  225. package/dist/v1/{schema → language}/value/ordering.js +16 -14
  226. package/dist/v1/{schema → language}/value/profile/canonicalize.d.ts +2 -3
  227. package/dist/v1/{schema → language}/value/profile/canonicalize.js +4 -7
  228. package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
  229. package/dist/v1/{schema → language}/value/profile/json.validate.js +1 -2
  230. package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.d.ts +0 -1
  231. package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.js +1 -2
  232. package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
  233. package/dist/v1/{schema/value/profile/meta-schema.validate.js → language/value/profile/meta-schema.js} +2 -2
  234. package/dist/v1/language/value/profile/rules.d.ts +3 -0
  235. package/dist/v1/{schema → language}/value/profile/rules.js +7 -50
  236. package/dist/v1/language/value/profile/validate.d.ts +4 -0
  237. package/dist/v1/{schema → language}/value/profile/validate.js +14 -22
  238. package/dist/v1/{schema → language}/value/profile/vocabulary.d.ts +0 -1
  239. package/dist/v1/{schema → language}/value/profile/vocabulary.js +0 -1
  240. package/dist/v1/language/value/reference/closure.d.ts +11 -0
  241. package/dist/v1/{schema/value/resources → language/value/reference}/closure.js +13 -21
  242. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.d.ts +3 -4
  243. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.js +5 -6
  244. package/dist/v1/language/value/reference/references.d.ts +17 -0
  245. package/dist/v1/language/value/reference/references.js +45 -0
  246. package/dist/v1/{schema/value → language/value/reference}/registry.d.ts +9 -7
  247. package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
  248. package/dist/v1/{schema/value/resources → language/value/reference}/registry.index.js +7 -45
  249. package/dist/v1/language/value/reference/registry.js +1 -0
  250. package/dist/v1/language/value/regexp/ast.d.ts +21 -0
  251. package/dist/v1/language/value/regexp/ast.js +326 -0
  252. package/dist/v1/language/value/regexp/compile.d.ts +3 -0
  253. package/dist/v1/language/value/regexp/compile.js +96 -0
  254. package/dist/v1/{schema → language}/value/regexp/lower.d.ts +1 -2
  255. package/dist/v1/{schema → language}/value/regexp/lower.js +2 -3
  256. package/dist/v1/language/value/regexp/matcher.d.ts +7 -0
  257. package/dist/v1/language/value/regexp/matcher.js +50 -0
  258. package/dist/v1/{schema → language}/value/regexp/pattern.d.ts +0 -1
  259. package/dist/v1/{schema → language}/value/regexp/pattern.js +0 -1
  260. package/dist/v1/language/value/regexp/syntax.d.ts +2 -0
  261. package/dist/v1/language/value/regexp/syntax.js +5 -0
  262. package/dist/v1/language/value/syntax/full-match.d.ts +6 -0
  263. package/dist/v1/language/value/syntax/full-match.js +20 -0
  264. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.d.ts +0 -1
  265. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.js +0 -1
  266. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.d.ts +1 -2
  267. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.js +2 -3
  268. package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
  269. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/validate.js +16 -18
  270. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.d.ts +0 -1
  271. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.js +1 -2
  272. package/dist/v1/{schema/value/location → language/value/syntax}/walk.d.ts +1 -2
  273. package/dist/v1/{schema/value/location → language/value/syntax}/walk.js +1 -2
  274. package/dist/v1/language/view/index.d.ts +2 -0
  275. package/dist/v1/language/view/index.js +1 -0
  276. package/dist/v1/language/view/model/view.d.ts +11 -0
  277. package/dist/v1/language/view/model/view.js +1 -0
  278. package/dist/v1/language/view/resolved.d.ts +9 -0
  279. package/dist/v1/language/view/resolved.js +1 -0
  280. package/dist/v1/schema/admission/accept.d.ts +3 -0
  281. package/dist/v1/schema/{domain.accept.js → admission/accept.js} +8 -9
  282. package/dist/v1/schema/{definition/analysis.d.ts → analysis/class.d.ts} +17 -18
  283. package/dist/v1/schema/{definition/analysis.js → analysis/class.js} +21 -30
  284. package/dist/v1/schema/canonical/domain.d.ts +2 -2
  285. package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
  286. package/dist/v1/schema/canonical/domain.digest.js +2 -6
  287. package/dist/v1/schema/canonical/domain.js +3 -224
  288. package/dist/v1/schema/canonical/freeze.d.ts +0 -1
  289. package/dist/v1/schema/canonical/freeze.js +0 -1
  290. package/dist/v1/schema/{domain.revision.d.ts → canonical/revision.d.ts} +2 -3
  291. package/dist/v1/schema/{domain.revision.js → canonical/revision.js} +3 -4
  292. package/dist/v1/schema/codec/header.d.ts +17 -0
  293. package/dist/v1/schema/codec/header.js +26 -0
  294. package/dist/v1/schema/{domain.codec.d.ts → codec/schema.d.ts} +2 -3
  295. package/dist/v1/schema/{domain.codec.js → codec/schema.js} +4 -5
  296. package/dist/v1/schema/{dependency.meaning.d.ts → compatibility/meaning.d.ts} +4 -5
  297. package/dist/v1/schema/{dependency.meaning.js → compatibility/meaning.js} +121 -124
  298. package/dist/v1/schema/{domain.lookup.d.ts → dependency/lookup.d.ts} +3 -4
  299. package/dist/v1/schema/{domain.lookup.js → dependency/lookup.js} +1 -2
  300. package/dist/v1/schema/diagnostic.d.ts +7 -7
  301. package/dist/v1/schema/diagnostic.js +9 -9
  302. package/dist/v1/schema/index.d.ts +24 -34
  303. package/dist/v1/schema/index.js +11 -14
  304. package/dist/v1/schema/model/format.d.ts +2 -0
  305. package/dist/v1/schema/model/format.js +2 -0
  306. package/dist/v1/schema/model/schema.d.ts +30 -0
  307. package/dist/v1/schema/model/schema.js +4 -0
  308. package/dist/v1/schema/normalization/domain.d.ts +2 -0
  309. package/dist/v1/schema/normalization/domain.js +210 -0
  310. package/dist/v1/schema/resolution/closure.d.ts +3 -4
  311. package/dist/v1/schema/resolution/closure.js +6 -7
  312. package/dist/v1/schema/resolution/context.d.ts +11 -12
  313. package/dist/v1/schema/resolution/context.js +82 -50
  314. package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
  315. package/dist/v1/schema/resolution/definition.index.js +8 -18
  316. package/dist/v1/schema/resolution/domain.d.ts +4 -0
  317. package/dist/v1/schema/resolution/domain.js +112 -0
  318. package/dist/v1/schema/resolution/origins.d.ts +11 -14
  319. package/dist/v1/schema/resolution/origins.js +31 -44
  320. package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
  321. package/dist/v1/schema/resolution/value.registry.js +7 -14
  322. package/dist/v1/schema/revision.d.ts +1 -0
  323. package/dist/v1/schema/revision.js +1 -0
  324. package/dist/v1/schema/validation/class.d.ts +5 -0
  325. package/dist/v1/schema/validation/class.js +257 -0
  326. package/dist/v1/schema/validation/core.d.ts +5 -0
  327. package/dist/v1/schema/{core/validate.js → validation/core.js} +39 -30
  328. package/dist/v1/schema/validation/domain.d.ts +11 -0
  329. package/dist/v1/schema/{domain.validate.js → validation/domain.js} +12 -12
  330. package/dist/v1/schema/validation/domain.route.d.ts +1 -2
  331. package/dist/v1/schema/validation/domain.route.js +3 -4
  332. package/dist/v1/schema/validation/domain.structure.d.ts +3 -4
  333. package/dist/v1/schema/validation/domain.structure.js +203 -207
  334. package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
  335. package/dist/v1/schema/{policy/validation → validation/policy}/budgets.js +2 -32
  336. package/dist/v1/schema/validation/policy/context.d.ts +28 -0
  337. package/dist/v1/schema/{policy/validation → validation/policy}/context.js +23 -33
  338. package/dist/v1/schema/{policy/validation → validation/policy}/references.d.ts +0 -1
  339. package/dist/v1/schema/{policy/validation → validation/policy}/references.js +18 -11
  340. package/dist/v1/schema/{policy/validation → validation/policy}/typing.d.ts +4 -8
  341. package/dist/v1/schema/{policy/validation → validation/policy}/typing.js +25 -67
  342. package/dist/v1/schema/{policy/validation → validation/policy}/uses.d.ts +0 -1
  343. package/dist/v1/schema/{policy/validation → validation/policy}/uses.js +27 -63
  344. package/dist/v1/schema/{policy/validation → validation/policy}/validate.d.ts +3 -4
  345. package/dist/v1/schema/{policy/validation → validation/policy}/validate.js +0 -1
  346. package/dist/v1/schema/{value/index.d.ts → validation/value-api.d.ts} +9 -10
  347. package/dist/v1/schema/{value/index.js → validation/value-api.js} +4 -5
  348. package/dist/v1/schema/validation/value.d.ts +4 -5
  349. package/dist/v1/schema/validation/value.js +4 -9
  350. package/dist/v1/schema/validation/view.d.ts +3 -0
  351. package/dist/v1/schema/{view/validate.js → validation/view.js} +11 -4
  352. package/dist/v1/value/full-match.d.ts +2 -0
  353. package/dist/v1/value/full-match.js +2 -0
  354. package/dist/v1.d.ts +1 -2
  355. package/dist/v1.js +1 -2
  356. package/dist/value/accept.d.ts +0 -1
  357. package/dist/value/accept.js +0 -1
  358. package/dist/value/canonical.d.ts +0 -1
  359. package/dist/value/canonical.js +0 -1
  360. package/dist/value/decode.d.ts +0 -1
  361. package/dist/value/decode.js +0 -1
  362. package/dist/value/equal.d.ts +0 -1
  363. package/dist/value/equal.js +0 -1
  364. package/dist/value/error.d.ts +0 -1
  365. package/dist/value/error.js +0 -1
  366. package/dist/value/index.d.ts +0 -1
  367. package/dist/value/index.js +0 -1
  368. package/dist/value/json.d.ts +0 -1
  369. package/dist/value/json.js +0 -1
  370. package/dist/value/limits.d.ts +0 -1
  371. package/dist/value/limits.js +0 -1
  372. package/dist/value/types.d.ts +0 -1
  373. package/dist/value/types.js +0 -1
  374. package/dist/value/unicode.d.ts +0 -1
  375. package/dist/value/unicode.js +0 -1
  376. package/dist/version/dispatch.d.ts +0 -1
  377. package/dist/version/dispatch.js +0 -1
  378. package/dist/version/index.d.ts +0 -1
  379. package/dist/version/index.js +0 -1
  380. package/package.json +69 -13
  381. package/dist/index.d.ts.map +0 -1
  382. package/dist/index.js.map +0 -1
  383. package/dist/upgrade/contract.d.ts.map +0 -1
  384. package/dist/upgrade/contract.js.map +0 -1
  385. package/dist/upgrade/index.d.ts.map +0 -1
  386. package/dist/upgrade/index.js.map +0 -1
  387. package/dist/v1/addressing/index.d.ts.map +0 -1
  388. package/dist/v1/addressing/index.js.map +0 -1
  389. package/dist/v1/addressing/key.d.ts.map +0 -1
  390. package/dist/v1/addressing/key.js.map +0 -1
  391. package/dist/v1/addressing/patterns.d.ts.map +0 -1
  392. package/dist/v1/addressing/patterns.js.map +0 -1
  393. package/dist/v1/addressing/property-key.d.ts.map +0 -1
  394. package/dist/v1/addressing/property-key.js.map +0 -1
  395. package/dist/v1/addressing/ref.d.ts +0 -35
  396. package/dist/v1/addressing/ref.d.ts.map +0 -1
  397. package/dist/v1/addressing/ref.js +0 -94
  398. package/dist/v1/addressing/ref.js.map +0 -1
  399. package/dist/v1/addressing/schema-ref.d.ts +0 -8
  400. package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
  401. package/dist/v1/addressing/schema-ref.js +0 -2
  402. package/dist/v1/addressing/schema-ref.js.map +0 -1
  403. package/dist/v1/builder/callable.d.ts +0 -92
  404. package/dist/v1/builder/callable.d.ts.map +0 -1
  405. package/dist/v1/builder/callable.js.map +0 -1
  406. package/dist/v1/builder/compiler/callable.d.ts +0 -20
  407. package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
  408. package/dist/v1/builder/compiler/callable.js.map +0 -1
  409. package/dist/v1/builder/compiler/core.d.ts +0 -6
  410. package/dist/v1/builder/compiler/core.d.ts.map +0 -1
  411. package/dist/v1/builder/compiler/core.js.map +0 -1
  412. package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
  413. package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
  414. package/dist/v1/builder/compiler/core.properties.js.map +0 -1
  415. package/dist/v1/builder/compiler/definition.d.ts +0 -32
  416. package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
  417. package/dist/v1/builder/compiler/definition.js +0 -197
  418. package/dist/v1/builder/compiler/definition.js.map +0 -1
  419. package/dist/v1/builder/compiler/policy.d.ts +0 -17
  420. package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
  421. package/dist/v1/builder/compiler/policy.js.map +0 -1
  422. package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
  423. package/dist/v1/builder/compiler/schema.capture.js +0 -85
  424. package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
  425. package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
  426. package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
  427. package/dist/v1/builder/compiler/schema.context.js.map +0 -1
  428. package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
  429. package/dist/v1/builder/compiler/schema.js.map +0 -1
  430. package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
  431. package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
  432. package/dist/v1/builder/compiler/value.d.ts +0 -26
  433. package/dist/v1/builder/compiler/value.d.ts.map +0 -1
  434. package/dist/v1/builder/compiler/value.js.map +0 -1
  435. package/dist/v1/builder/compiler/value.path.d.ts +0 -4
  436. package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
  437. package/dist/v1/builder/compiler/value.path.js.map +0 -1
  438. package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
  439. package/dist/v1/builder/compiler/value.zod.js.map +0 -1
  440. package/dist/v1/builder/compiler/view.d.ts +0 -12
  441. package/dist/v1/builder/compiler/view.d.ts.map +0 -1
  442. package/dist/v1/builder/compiler/view.js.map +0 -1
  443. package/dist/v1/builder/core.d.ts +0 -27
  444. package/dist/v1/builder/core.d.ts.map +0 -1
  445. package/dist/v1/builder/core.js +0 -21
  446. package/dist/v1/builder/core.js.map +0 -1
  447. package/dist/v1/builder/definition.d.ts +0 -155
  448. package/dist/v1/builder/definition.d.ts.map +0 -1
  449. package/dist/v1/builder/definition.js +0 -141
  450. package/dist/v1/builder/definition.js.map +0 -1
  451. package/dist/v1/builder/full-match.d.ts +0 -12
  452. package/dist/v1/builder/full-match.d.ts.map +0 -1
  453. package/dist/v1/builder/full-match.js +0 -21
  454. package/dist/v1/builder/full-match.js.map +0 -1
  455. package/dist/v1/builder/index.d.ts.map +0 -1
  456. package/dist/v1/builder/index.js.map +0 -1
  457. package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
  458. package/dist/v1/builder/internal/authoring.js.map +0 -1
  459. package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
  460. package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
  461. package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
  462. package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
  463. package/dist/v1/builder/internal/diagnostic.js +0 -16
  464. package/dist/v1/builder/internal/diagnostic.js.map +0 -1
  465. package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
  466. package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
  467. package/dist/v1/builder/internal/path.metadata.js.map +0 -1
  468. package/dist/v1/builder/path.d.ts +0 -9
  469. package/dist/v1/builder/path.d.ts.map +0 -1
  470. package/dist/v1/builder/path.js.map +0 -1
  471. package/dist/v1/builder/policy.d.ts.map +0 -1
  472. package/dist/v1/builder/policy.js.map +0 -1
  473. package/dist/v1/builder/property.d.ts +0 -37
  474. package/dist/v1/builder/property.d.ts.map +0 -1
  475. package/dist/v1/builder/property.js +0 -36
  476. package/dist/v1/builder/property.js.map +0 -1
  477. package/dist/v1/builder/schema.d.ts +0 -6
  478. package/dist/v1/builder/schema.d.ts.map +0 -1
  479. package/dist/v1/builder/schema.input.d.ts +0 -19
  480. package/dist/v1/builder/schema.input.d.ts.map +0 -1
  481. package/dist/v1/builder/schema.input.js +0 -2
  482. package/dist/v1/builder/schema.input.js.map +0 -1
  483. package/dist/v1/builder/schema.js.map +0 -1
  484. package/dist/v1/builder/value-schema.d.ts.map +0 -1
  485. package/dist/v1/builder/value-schema.js.map +0 -1
  486. package/dist/v1/builder/view.d.ts +0 -19
  487. package/dist/v1/builder/view.d.ts.map +0 -1
  488. package/dist/v1/builder/view.js +0 -7
  489. package/dist/v1/builder/view.js.map +0 -1
  490. package/dist/v1/builder.d.ts +0 -3
  491. package/dist/v1/builder.d.ts.map +0 -1
  492. package/dist/v1/builder.js +0 -2
  493. package/dist/v1/builder.js.map +0 -1
  494. package/dist/v1/bundle/codec.d.ts.map +0 -1
  495. package/dist/v1/bundle/codec.js.map +0 -1
  496. package/dist/v1/bundle/index.d.ts.map +0 -1
  497. package/dist/v1/bundle/index.js.map +0 -1
  498. package/dist/v1/bundle/model.d.ts.map +0 -1
  499. package/dist/v1/bundle/model.js.map +0 -1
  500. package/dist/v1/bundle/structure.d.ts.map +0 -1
  501. package/dist/v1/bundle/structure.js.map +0 -1
  502. package/dist/v1/bundle.d.ts +0 -3
  503. package/dist/v1/bundle.d.ts.map +0 -1
  504. package/dist/v1/bundle.js +0 -3
  505. package/dist/v1/bundle.js.map +0 -1
  506. package/dist/v1/index.d.ts.map +0 -1
  507. package/dist/v1/index.js.map +0 -1
  508. package/dist/v1/schema/callable.d.ts +0 -29
  509. package/dist/v1/schema/callable.d.ts.map +0 -1
  510. package/dist/v1/schema/callable.js +0 -2
  511. package/dist/v1/schema/callable.js.map +0 -1
  512. package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
  513. package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
  514. package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
  515. package/dist/v1/schema/canonical/domain.js.map +0 -1
  516. package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
  517. package/dist/v1/schema/canonical/freeze.js.map +0 -1
  518. package/dist/v1/schema/core/declaration.d.ts +0 -17
  519. package/dist/v1/schema/core/declaration.d.ts.map +0 -1
  520. package/dist/v1/schema/core/declaration.js +0 -2
  521. package/dist/v1/schema/core/declaration.js.map +0 -1
  522. package/dist/v1/schema/core/validate.d.ts +0 -6
  523. package/dist/v1/schema/core/validate.d.ts.map +0 -1
  524. package/dist/v1/schema/core/validate.js.map +0 -1
  525. package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
  526. package/dist/v1/schema/definition/analysis.js.map +0 -1
  527. package/dist/v1/schema/definition/class.d.ts +0 -28
  528. package/dist/v1/schema/definition/class.d.ts.map +0 -1
  529. package/dist/v1/schema/definition/class.js +0 -2
  530. package/dist/v1/schema/definition/class.js.map +0 -1
  531. package/dist/v1/schema/definition/data.d.ts.map +0 -1
  532. package/dist/v1/schema/definition/data.js.map +0 -1
  533. package/dist/v1/schema/definition/edge.d.ts.map +0 -1
  534. package/dist/v1/schema/definition/edge.js +0 -2
  535. package/dist/v1/schema/definition/edge.js.map +0 -1
  536. package/dist/v1/schema/definition/interface.d.ts +0 -22
  537. package/dist/v1/schema/definition/interface.d.ts.map +0 -1
  538. package/dist/v1/schema/definition/interface.js +0 -2
  539. package/dist/v1/schema/definition/interface.js.map +0 -1
  540. package/dist/v1/schema/definition/property.d.ts +0 -18
  541. package/dist/v1/schema/definition/property.d.ts.map +0 -1
  542. package/dist/v1/schema/definition/property.js +0 -2
  543. package/dist/v1/schema/definition/property.js.map +0 -1
  544. package/dist/v1/schema/definition/validate.d.ts +0 -5
  545. package/dist/v1/schema/definition/validate.d.ts.map +0 -1
  546. package/dist/v1/schema/definition/validate.js +0 -221
  547. package/dist/v1/schema/definition/validate.js.map +0 -1
  548. package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
  549. package/dist/v1/schema/dependency.meaning.js.map +0 -1
  550. package/dist/v1/schema/diagnostic.d.ts.map +0 -1
  551. package/dist/v1/schema/diagnostic.js.map +0 -1
  552. package/dist/v1/schema/domain.accept.d.ts +0 -4
  553. package/dist/v1/schema/domain.accept.d.ts.map +0 -1
  554. package/dist/v1/schema/domain.accept.js.map +0 -1
  555. package/dist/v1/schema/domain.codec.d.ts.map +0 -1
  556. package/dist/v1/schema/domain.codec.js.map +0 -1
  557. package/dist/v1/schema/domain.header.d.ts +0 -15
  558. package/dist/v1/schema/domain.header.d.ts.map +0 -1
  559. package/dist/v1/schema/domain.header.js +0 -21
  560. package/dist/v1/schema/domain.header.js.map +0 -1
  561. package/dist/v1/schema/domain.ir.d.ts +0 -40
  562. package/dist/v1/schema/domain.ir.d.ts.map +0 -1
  563. package/dist/v1/schema/domain.ir.js +0 -5
  564. package/dist/v1/schema/domain.ir.js.map +0 -1
  565. package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
  566. package/dist/v1/schema/domain.lookup.js.map +0 -1
  567. package/dist/v1/schema/domain.resolve.d.ts +0 -26
  568. package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
  569. package/dist/v1/schema/domain.resolve.js +0 -43
  570. package/dist/v1/schema/domain.resolve.js.map +0 -1
  571. package/dist/v1/schema/domain.revision.d.ts.map +0 -1
  572. package/dist/v1/schema/domain.revision.js.map +0 -1
  573. package/dist/v1/schema/domain.validate.d.ts +0 -12
  574. package/dist/v1/schema/domain.validate.d.ts.map +0 -1
  575. package/dist/v1/schema/domain.validate.js.map +0 -1
  576. package/dist/v1/schema/index.d.ts.map +0 -1
  577. package/dist/v1/schema/index.js.map +0 -1
  578. package/dist/v1/schema/metadata.d.ts.map +0 -1
  579. package/dist/v1/schema/metadata.js.map +0 -1
  580. package/dist/v1/schema/policy/ast.d.ts.map +0 -1
  581. package/dist/v1/schema/policy/ast.js +0 -2
  582. package/dist/v1/schema/policy/ast.js.map +0 -1
  583. package/dist/v1/schema/policy/normalize.d.ts +0 -5
  584. package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
  585. package/dist/v1/schema/policy/normalize.js.map +0 -1
  586. package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
  587. package/dist/v1/schema/policy/validation/branches.js.map +0 -1
  588. package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
  589. package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
  590. package/dist/v1/schema/policy/validation/context.d.ts +0 -28
  591. package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
  592. package/dist/v1/schema/policy/validation/context.js.map +0 -1
  593. package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
  594. package/dist/v1/schema/policy/validation/references.js.map +0 -1
  595. package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
  596. package/dist/v1/schema/policy/validation/typing.js.map +0 -1
  597. package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
  598. package/dist/v1/schema/policy/validation/uses.js.map +0 -1
  599. package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
  600. package/dist/v1/schema/policy/validation/validate.js.map +0 -1
  601. package/dist/v1/schema/reference.d.ts +0 -43
  602. package/dist/v1/schema/reference.d.ts.map +0 -1
  603. package/dist/v1/schema/reference.js +0 -31
  604. package/dist/v1/schema/reference.js.map +0 -1
  605. package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
  606. package/dist/v1/schema/resolution/closure.js.map +0 -1
  607. package/dist/v1/schema/resolution/context.d.ts.map +0 -1
  608. package/dist/v1/schema/resolution/context.js.map +0 -1
  609. package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
  610. package/dist/v1/schema/resolution/definition.index.js.map +0 -1
  611. package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
  612. package/dist/v1/schema/resolution/origins.js.map +0 -1
  613. package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
  614. package/dist/v1/schema/resolution/value.registry.js.map +0 -1
  615. package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
  616. package/dist/v1/schema/validation/domain.route.js.map +0 -1
  617. package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
  618. package/dist/v1/schema/validation/domain.structure.js.map +0 -1
  619. package/dist/v1/schema/validation/value.d.ts.map +0 -1
  620. package/dist/v1/schema/validation/value.js.map +0 -1
  621. package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
  622. package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
  623. package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
  624. package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
  625. package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
  626. package/dist/v1/schema/value/index.d.ts.map +0 -1
  627. package/dist/v1/schema/value/index.js.map +0 -1
  628. package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
  629. package/dist/v1/schema/value/instance/assertions.js.map +0 -1
  630. package/dist/v1/schema/value/instance/compiler.d.ts.map +0 -1
  631. package/dist/v1/schema/value/instance/compiler.js +0 -69
  632. package/dist/v1/schema/value/instance/compiler.js.map +0 -1
  633. package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
  634. package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
  635. package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
  636. package/dist/v1/schema/value/instance/types.js.map +0 -1
  637. package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
  638. package/dist/v1/schema/value/instance.validate.js.map +0 -1
  639. package/dist/v1/schema/value/instant.d.ts.map +0 -1
  640. package/dist/v1/schema/value/instant.js.map +0 -1
  641. package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
  642. package/dist/v1/schema/value/location/keywords.js.map +0 -1
  643. package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
  644. package/dist/v1/schema/value/location/pointer.js.map +0 -1
  645. package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
  646. package/dist/v1/schema/value/location/walk.js.map +0 -1
  647. package/dist/v1/schema/value/object.d.ts.map +0 -1
  648. package/dist/v1/schema/value/object.js.map +0 -1
  649. package/dist/v1/schema/value/ordering.d.ts.map +0 -1
  650. package/dist/v1/schema/value/ordering.js.map +0 -1
  651. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
  652. package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
  653. package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
  654. package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
  655. package/dist/v1/schema/value/profile/dialect.js +0 -36
  656. package/dist/v1/schema/value/profile/dialect.js.map +0 -1
  657. package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
  658. package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
  659. package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
  660. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts.map +0 -1
  661. package/dist/v1/schema/value/profile/meta-schema.compiled.js.map +0 -1
  662. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts +0 -4
  663. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts.map +0 -1
  664. package/dist/v1/schema/value/profile/meta-schema.validate.js.map +0 -1
  665. package/dist/v1/schema/value/profile/rules.d.ts +0 -5
  666. package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
  667. package/dist/v1/schema/value/profile/rules.js.map +0 -1
  668. package/dist/v1/schema/value/profile/validate.d.ts +0 -5
  669. package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
  670. package/dist/v1/schema/value/profile/validate.js.map +0 -1
  671. package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
  672. package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
  673. package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
  674. package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
  675. package/dist/v1/schema/value/regexp/linear.js +0 -24
  676. package/dist/v1/schema/value/regexp/linear.js.map +0 -1
  677. package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
  678. package/dist/v1/schema/value/regexp/lower.js.map +0 -1
  679. package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
  680. package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
  681. package/dist/v1/schema/value/regexp/syntax.d.ts +0 -3
  682. package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
  683. package/dist/v1/schema/value/regexp/syntax.js +0 -217
  684. package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
  685. package/dist/v1/schema/value/registry.d.ts.map +0 -1
  686. package/dist/v1/schema/value/registry.js +0 -2
  687. package/dist/v1/schema/value/registry.js.map +0 -1
  688. package/dist/v1/schema/value/resources/closure.d.ts +0 -12
  689. package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
  690. package/dist/v1/schema/value/resources/closure.js.map +0 -1
  691. package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
  692. package/dist/v1/schema/value/resources/recursion.js.map +0 -1
  693. package/dist/v1/schema/value/resources/references.d.ts +0 -25
  694. package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
  695. package/dist/v1/schema/value/resources/references.js +0 -93
  696. package/dist/v1/schema/value/resources/references.js.map +0 -1
  697. package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
  698. package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
  699. package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
  700. package/dist/v1/schema/value/schema.d.ts.map +0 -1
  701. package/dist/v1/schema/value/schema.js.map +0 -1
  702. package/dist/v1/schema/view/declaration.d.ts +0 -14
  703. package/dist/v1/schema/view/declaration.d.ts.map +0 -1
  704. package/dist/v1/schema/view/declaration.js +0 -2
  705. package/dist/v1/schema/view/declaration.js.map +0 -1
  706. package/dist/v1/schema/view/validate.d.ts +0 -4
  707. package/dist/v1/schema/view/validate.d.ts.map +0 -1
  708. package/dist/v1/schema/view/validate.js.map +0 -1
  709. package/dist/v1/schema.d.ts +0 -3
  710. package/dist/v1/schema.d.ts.map +0 -1
  711. package/dist/v1/schema.js +0 -3
  712. package/dist/v1/schema.js.map +0 -1
  713. package/dist/v1.d.ts.map +0 -1
  714. package/dist/v1.js.map +0 -1
  715. package/dist/value/accept.d.ts.map +0 -1
  716. package/dist/value/accept.js.map +0 -1
  717. package/dist/value/canonical.d.ts.map +0 -1
  718. package/dist/value/canonical.js.map +0 -1
  719. package/dist/value/decode.d.ts.map +0 -1
  720. package/dist/value/decode.js.map +0 -1
  721. package/dist/value/equal.d.ts.map +0 -1
  722. package/dist/value/equal.js.map +0 -1
  723. package/dist/value/error.d.ts.map +0 -1
  724. package/dist/value/error.js.map +0 -1
  725. package/dist/value/index.d.ts.map +0 -1
  726. package/dist/value/index.js.map +0 -1
  727. package/dist/value/json.d.ts.map +0 -1
  728. package/dist/value/json.js.map +0 -1
  729. package/dist/value/limits.d.ts.map +0 -1
  730. package/dist/value/limits.js.map +0 -1
  731. package/dist/value/types.d.ts.map +0 -1
  732. package/dist/value/types.js.map +0 -1
  733. package/dist/value/unicode.d.ts.map +0 -1
  734. package/dist/value/unicode.js.map +0 -1
  735. package/dist/version/dispatch.d.ts.map +0 -1
  736. package/dist/version/dispatch.js.map +0 -1
  737. package/dist/version/index.d.ts.map +0 -1
  738. package/dist/version/index.js.map +0 -1
@@ -1,37 +1,42 @@
1
+ import { Key } from '../../../addressing/index.js';
2
+ import { definitionRefIndex } from '../../../addressing/ordering.js';
1
3
  import { diagnostic } from '../../diagnostic.js';
2
- import { schemaRefIndex, formatSchemaRef, } from '../../reference.js';
4
+ const formatDefinitionRef = Key.of;
3
5
  export class PolicyValidationContext {
4
6
  environment;
5
7
  analysis;
6
8
  diagnostics = [];
7
9
  normalized = new Map();
8
10
  allNodeClasses;
11
+ concreteNodeClasses;
9
12
  #invalidPolicyRefs = new Set();
10
13
  constructor(environment, analysis) {
11
14
  this.environment = environment;
12
15
  this.analysis = analysis;
13
- this.allNodeClasses = [...environment.definitions.values()]
14
- .filter((value) => value.ref.kind === 'class' && value.family === 'node')
16
+ const nodeClasses = [...environment.definitions.values()].filter((value) => value.ref.kind === 'class' && value.kind === 'node');
17
+ this.allNodeClasses = nodeClasses.map((value) => value.ref);
18
+ this.concreteNodeClasses = nodeClasses
19
+ .filter((value) => !value.declaration.abstract)
15
20
  .map((value) => value.ref);
16
21
  }
17
22
  resolveNodeClass(ref, pointer) {
18
23
  const resolved = this.environment.resolve(ref);
19
- if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.family !== 'node') {
20
- this.add('PL_REF', pointer, `${formatSchemaRef(ref)} does not resolve to an owning/direct-dependency Node Class.`, formatSchemaRef(ref));
24
+ if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'node') {
25
+ this.add('PL_REF', pointer, `${formatDefinitionRef(ref)} does not resolve to an owning/direct-dependency Node Class.`, formatDefinitionRef(ref));
21
26
  return undefined;
22
27
  }
23
28
  return resolved;
24
29
  }
25
30
  resolveEdge(ref, pointer) {
26
31
  const resolved = this.environment.resolve(ref);
27
- if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.family !== 'edge') {
28
- this.add('PL_REF', pointer, `${formatSchemaRef(ref)} does not resolve to an owning/direct-dependency Edge Class.`, formatSchemaRef(ref));
32
+ if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'edge') {
33
+ this.add('PL_REF', pointer, `${formatDefinitionRef(ref)} does not resolve to an owning/direct-dependency Edge Class.`, formatDefinitionRef(ref));
29
34
  return undefined;
30
35
  }
31
36
  return resolved;
32
37
  }
33
38
  resolvePolicy(ref, pointer) {
34
- const key = `${pointer}\u0000${schemaRefIndex(ref)}`;
39
+ const key = `${pointer}\u0000${definitionRefIndex(ref)}`;
35
40
  if (this.#invalidPolicyRefs.has(key))
36
41
  return false;
37
42
  const declaration = this.environment.resolvePolicy(ref);
@@ -39,7 +44,7 @@ export class PolicyValidationContext {
39
44
  ref.kind !== 'policy' ||
40
45
  declaration === undefined) {
41
46
  this.#invalidPolicyRefs.add(key);
42
- this.add('PL_REF', pointer, `${formatSchemaRef(ref)} is not an exact local named Policy ref.`, formatSchemaRef(ref));
47
+ this.add('PL_REF', pointer, `${formatDefinitionRef(ref)} is not an exact local named Policy ref.`, formatDefinitionRef(ref));
43
48
  return false;
44
49
  }
45
50
  return true;
@@ -51,41 +56,27 @@ export class PolicyValidationContext {
51
56
  }
52
57
  edgeDeclaration(ref) {
53
58
  const resolved = this.environment.resolve(ref);
54
- if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.family !== 'edge') {
59
+ if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'edge') {
55
60
  return undefined;
56
61
  }
57
- const declaration = resolved.declaration;
58
- return declaration.family === 'edge' ? declaration : undefined;
62
+ return resolved.declaration;
59
63
  }
60
- classImplements(candidate, required) {
61
- const resolved = this.environment.resolveAny(candidate);
62
- if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.family !== 'node') {
63
- return false;
64
- }
65
- const declaration = resolved.declaration;
66
- if (declaration.family !== 'node')
67
- return false;
68
- return declaration.implements.some((parent) => this.interfaceExtends(parent, required));
69
- }
70
- interfaceExtends(candidate, required) {
71
- if (schemaRefIndex(candidate) === schemaRefIndex(required))
64
+ /** Return true when candidate is the required Class or a same-kind descendant. */
65
+ classExtends(candidate, required) {
66
+ if (definitionRefIndex(candidate) === definitionRefIndex(required))
72
67
  return true;
73
68
  const visited = new Set();
74
69
  const visit = (ref) => {
75
- const key = schemaRefIndex(ref);
76
- if (key === schemaRefIndex(required))
70
+ const key = definitionRefIndex(ref);
71
+ if (key === definitionRefIndex(required))
77
72
  return true;
78
73
  if (visited.has(key))
79
74
  return false;
80
75
  visited.add(key);
81
76
  const resolved = this.environment.resolveAny(ref);
82
- if (resolved === undefined ||
83
- resolved.ref.kind !== 'interface' ||
84
- (resolved.family !== 'node' && resolved.family !== 'both')) {
77
+ if (resolved === undefined || resolved.ref.kind !== 'class')
85
78
  return false;
86
- }
87
- const declaration = resolved.declaration;
88
- return declaration.extends.some(visit);
79
+ return resolved.declaration.extends.some(visit);
89
80
  };
90
81
  return visit(candidate);
91
82
  }
@@ -96,4 +87,3 @@ export class PolicyValidationContext {
96
87
  export function escapePointer(value) {
97
88
  return value.replaceAll('~', '~0').replaceAll('/', '~1');
98
89
  }
99
- //# sourceMappingURL=context.js.map
@@ -1,3 +1,2 @@
1
1
  import type { PolicyValidationContext } from './context.js';
2
2
  export declare function validatePolicyReferences(context: PolicyValidationContext): void;
3
- //# sourceMappingURL=references.d.ts.map
@@ -1,15 +1,22 @@
1
- import { normalizePolicyDeclaration, normalizePolicyPattern } from '../normalize.js';
2
- import { branchesOf, isConnected, targetMode } from './branches.js';
1
+ import { branchesOf, isConnected, targetMode } from '../../../language/policy/analysis/branches.js';
2
+ import { normalizePolicyExpression, normalizePolicyPattern, } from '../../../language/policy/normalization/normalize.js';
3
3
  import { MAX_REPEAT, MAX_VARIABLES } from './budgets.js';
4
4
  import { escapePointer } from './context.js';
5
5
  export function validatePolicyReferences(context) {
6
6
  for (const [name, declaration] of Object.entries(context.environment.candidate.policies)) {
7
7
  const pointer = `/policies/${escapePointer(name)}`;
8
- context.normalized.set(name, normalizePolicyDeclaration(declaration));
9
- if ('match' in declaration)
10
- validateMatch(context, name, declaration.match, pointer);
8
+ const expected = { origin: context.environment.candidate.origin, kind: 'policy', name };
9
+ if (declaration.ref.origin !== expected.origin ||
10
+ declaration.ref.kind !== expected.kind ||
11
+ declaration.ref.name !== expected.name) {
12
+ context.add('DV_REF_RESOLVES', `${pointer}/ref`, `Policy ref must be exactly ${expected.origin}:policy.${expected.name}.`);
13
+ }
14
+ const expression = declaration.expression;
15
+ context.normalized.set(name, normalizePolicyExpression(expression));
16
+ if ('match' in expression)
17
+ validateMatch(context, name, expression.match, pointer);
11
18
  else
12
- validateComposition(context, declaration, pointer);
19
+ validateComposition(context, expression, pointer);
13
20
  }
14
21
  validateCycles(context);
15
22
  }
@@ -27,11 +34,11 @@ function validateMatch(context, name, pattern, pointer) {
27
34
  for (const [index, branch] of branches.entries()) {
28
35
  const mode = targetMode(branch);
29
36
  if (mode === undefined) {
30
- context.add('PL_TARGET', `${pointer}/match`, `Normalized branch ${index} must use object or both source and target, without mixing target modes.`);
37
+ context.add('PL_TARGET', `${pointer}/match`, `Normalized branch ${index} must use object or at least one of source and target, without mixing target modes.`);
31
38
  continue;
32
39
  }
33
40
  if (!isConnected(branch)) {
34
- context.add('PL_CONNECTIVITY', `${pointer}/match`, `Normalized ${mode} branch ${index} does not connect subject, its target terms, and every scoped term.`);
41
+ context.add('PL_CONNECTIVITY', `${pointer}/match`, `Normalized ${mode} branch ${index} does not connect subject, every referenced protected term, and every scoped term.`);
35
42
  }
36
43
  }
37
44
  }
@@ -111,8 +118,9 @@ function validateCycles(context) {
111
118
  return;
112
119
  visiting.add(name);
113
120
  const declaration = context.environment.candidate.policies[name];
114
- if (declaration !== undefined && !('match' in declaration)) {
115
- const refs = 'allOf' in declaration ? declaration.allOf : declaration.anyOf;
121
+ const expression = declaration?.expression;
122
+ if (expression !== undefined && !('match' in expression)) {
123
+ const refs = 'allOf' in expression ? expression.allOf : expression.anyOf;
116
124
  for (const ref of refs) {
117
125
  if (ref.origin === context.environment.candidate.origin && ref.kind === 'policy') {
118
126
  visit(ref.name, [...stack, name]);
@@ -133,4 +141,3 @@ function patternOperands(value) {
133
141
  function isEdge(value) {
134
142
  return 'source' in value;
135
143
  }
136
- //# sourceMappingURL=references.js.map
@@ -1,13 +1,10 @@
1
+ import type { ClassRef } from '../../../addressing/index.js';
1
2
  import type { PolicyValidationContext } from './context.js';
2
- import { type ClassRef, type DefinitionRef, type InterfaceRef } from '../../reference.js';
3
3
  export type ObjectContract = {
4
4
  readonly kind: 'default';
5
5
  } | {
6
6
  readonly kind: 'exact';
7
7
  readonly ref: ClassRef;
8
- } | {
9
- readonly kind: 'universal-interface';
10
- readonly ref: InterfaceRef;
11
8
  };
12
9
  export declare class PolicyTyping {
13
10
  #private;
@@ -16,8 +13,7 @@ export declare class PolicyTyping {
16
13
  validatePolicies(): void;
17
14
  policyAccepts(name: string, object: ObjectContract): boolean;
18
15
  policyAcceptsEdge(name: string, source: ObjectContract, target: ObjectContract): boolean;
19
- concreteEndpointClasses(accepts: readonly DefinitionRef[]): readonly ClassRef[];
20
- endpointsOverlap(left: readonly DefinitionRef[], right: readonly DefinitionRef[]): boolean;
16
+ concreteEndpointClasses(accepts: readonly ClassRef[]): readonly ClassRef[];
17
+ endpointsOverlap(left: readonly ClassRef[], right: readonly ClassRef[]): boolean;
21
18
  }
22
- export declare function contractOfNodeDefinition(ref: DefinitionRef): ObjectContract;
23
- //# sourceMappingURL=typing.d.ts.map
19
+ export declare function contractOfNodeDefinition(ref: ClassRef): ObjectContract;
@@ -1,12 +1,7 @@
1
- import { schemaRefIndex, } from '../../reference.js';
2
- import { branchesOf, branchProduct, capBranches, targetMode, termKey, } from './branches.js';
1
+ import { definitionRefIndex } from '../../../addressing/ordering.js';
2
+ import { branchesOf, branchProduct, capBranches, targetMode, termKey, } from '../../../language/policy/analysis/branches.js';
3
3
  import { MAX_REPEAT } from './budgets.js';
4
4
  import { escapePointer } from './context.js';
5
- const IDENTITY_REF = {
6
- origin: 'kernel.astrale.ai',
7
- kind: 'interface',
8
- name: 'Identity',
9
- };
10
5
  export class PolicyTyping {
11
6
  context;
12
7
  constructor(context) {
@@ -20,8 +15,8 @@ export class PolicyTyping {
20
15
  for (const [index, branch] of branches.entries()) {
21
16
  const mode = targetMode(branch);
22
17
  if (mode === undefined) {
23
- if (!('match' in this.context.environment.candidate.policies[name])) {
24
- this.context.add('PL_TARGET', `/policies/${escapePointer(name)}`, `Expanded normalized branch ${index} must use object or both source and target, without mixing target modes.`);
18
+ if (!('match' in this.context.environment.candidate.policies[name].expression)) {
19
+ this.context.add('PL_TARGET', `/policies/${escapePointer(name)}`, `Expanded normalized branch ${index} must use object or at least one of source and target, without mixing target modes.`);
25
20
  }
26
21
  continue;
27
22
  }
@@ -49,7 +44,7 @@ export class PolicyTyping {
49
44
  return branches !== undefined && branches.every((branch) => this.#branchIsTyped(branch, use));
50
45
  }
51
46
  concreteEndpointClasses(accepts) {
52
- return this.context.allNodeClasses.filter((candidate) => this.#classSatisfiesEndpoint(candidate, accepts));
47
+ return this.context.concreteNodeClasses.filter((candidate) => this.#classSatisfiesEndpoint(candidate, accepts));
53
48
  }
54
49
  endpointsOverlap(left, right) {
55
50
  const seed = [{ kind: 'open', requirements: [] }];
@@ -115,15 +110,6 @@ export class PolicyTyping {
115
110
  }
116
111
  for (const [root, members] of groups) {
117
112
  const endpointConstraints = constraints.get(root) ?? [];
118
- const universal = members
119
- .map((member) => ({ member, contract: targetContract(member, use) }))
120
- .find((entry) => entry.contract?.kind === 'universal-interface');
121
- if (universal !== undefined) {
122
- if (!this.#universalGroupIsSatisfiable(members, endpointConstraints, universal.member, universal.contract.ref, branch)) {
123
- return false;
124
- }
125
- continue;
126
- }
127
113
  let candidates = [{ kind: 'open', requirements: [] }];
128
114
  for (const member of members) {
129
115
  candidates = this.#applyInitial(candidates, member, branch, use);
@@ -138,24 +124,9 @@ export class PolicyTyping {
138
124
  }
139
125
  return true;
140
126
  }
141
- #universalGroupIsSatisfiable(members, endpoints, target, contract, branch) {
142
- for (const member of members) {
143
- if (member === target)
144
- continue;
145
- if (member === 'subject') {
146
- if (!this.context.interfaceExtends(contract, IDENTITY_REF))
147
- return false;
148
- continue;
149
- }
150
- const exact = this.#exactInitial(member, branch);
151
- if (exact !== undefined)
152
- return false;
153
- }
154
- return endpoints.every((accepts) => accepts.some((accept) => accept.kind === 'interface' && this.context.interfaceExtends(contract, accept)));
155
- }
156
127
  #applyInitial(candidates, term, branch, use) {
157
128
  if (term === 'subject')
158
- return this.#applyInterface(candidates, IDENTITY_REF);
129
+ return this.#applyAnyNodeClass(candidates);
159
130
  const contract = targetContract(term, use);
160
131
  if (contract !== undefined) {
161
132
  if (contract.kind === 'exact')
@@ -175,27 +146,21 @@ export class PolicyTyping {
175
146
  const result = [];
176
147
  for (const candidate of candidates) {
177
148
  if (candidate.kind === 'exact') {
178
- if (schemaRefIndex(candidate.ref) === schemaRefIndex(exact))
149
+ if (definitionRefIndex(candidate.ref) === definitionRefIndex(exact))
179
150
  result.push(candidate);
180
151
  }
181
- else if (candidate.requirements.every((required) => this.context.classImplements(exact, required))) {
152
+ else if (candidate.requirements.every((required) => this.context.classExtends(exact, required))) {
182
153
  result.push({ kind: 'exact', ref: exact });
183
154
  }
184
155
  }
185
156
  return uniqueCandidates(result);
186
157
  }
187
- #applyInterface(candidates, required) {
188
- return uniqueCandidates(candidates.flatMap((candidate) => {
189
- if (candidate.kind === 'exact') {
190
- return this.context.classImplements(candidate.ref, required) ? [candidate] : [];
191
- }
192
- return [
193
- {
194
- kind: 'open',
195
- requirements: uniqueInterfaces([...candidate.requirements, required]),
196
- },
197
- ];
198
- }));
158
+ #applyAnyNodeClass(candidates) {
159
+ return uniqueCandidates(candidates.flatMap((candidate) => candidate.kind === 'exact'
160
+ ? [candidate]
161
+ : this.context.allNodeClasses
162
+ .filter((ref) => candidate.requirements.every((required) => this.context.classExtends(ref, required)))
163
+ .map((ref) => ({ kind: 'exact', ref }))));
199
164
  }
200
165
  #applyEndpoint(candidates, accepts) {
201
166
  const result = [];
@@ -206,22 +171,16 @@ export class PolicyTyping {
206
171
  continue;
207
172
  }
208
173
  for (const accept of accepts) {
209
- if (accept.kind === 'interface') {
210
- result.push({
211
- kind: 'open',
212
- requirements: uniqueInterfaces([...candidate.requirements, accept]),
213
- });
214
- }
215
- else if (candidate.requirements.every((required) => this.context.classImplements(accept, required))) {
216
- result.push({ kind: 'exact', ref: accept });
217
- }
174
+ result.push({
175
+ kind: 'open',
176
+ requirements: uniqueClasses([...candidate.requirements, accept]),
177
+ });
218
178
  }
219
179
  }
220
180
  return uniqueCandidates(result);
221
181
  }
222
182
  #classSatisfiesEndpoint(candidate, accepts) {
223
- return accepts.some((accept) => (accept.kind === 'class' && schemaRefIndex(accept) === schemaRefIndex(candidate)) ||
224
- (accept.kind === 'interface' && this.context.classImplements(candidate, accept)));
183
+ return accepts.some((accept) => this.context.classExtends(candidate, accept));
225
184
  }
226
185
  }
227
186
  function targetContract(term, use) {
@@ -234,7 +193,7 @@ function targetContract(term, use) {
234
193
  return undefined;
235
194
  }
236
195
  export function contractOfNodeDefinition(ref) {
237
- return ref.kind === 'class' ? { kind: 'exact', ref } : { kind: 'universal-interface', ref };
196
+ return { kind: 'exact', ref };
238
197
  }
239
198
  function edgeAlternatives(edges, typing) {
240
199
  let result = [[]];
@@ -312,7 +271,7 @@ function uniqueEdgeVariants(values) {
312
271
  const result = new Map();
313
272
  for (const value of values) {
314
273
  const key = `${value.constraints
315
- .map(([term, accepts]) => `${term}:${accepts.map(schemaRefIndex).sort().join(',')}`)
274
+ .map(([term, accepts]) => `${term}:${accepts.map(definitionRefIndex).sort().join(',')}`)
316
275
  .join('|')}=${value.equalities.map(([left, right]) => `${left}:${right}`).join('|')}`;
317
276
  result.set(key, value);
318
277
  }
@@ -322,14 +281,14 @@ function uniqueCandidates(values) {
322
281
  const result = new Map();
323
282
  for (const value of values) {
324
283
  const key = value.kind === 'exact'
325
- ? `exact:${schemaRefIndex(value.ref)}`
326
- : `open:${value.requirements.map(schemaRefIndex).sort().join('|')}`;
284
+ ? `exact:${definitionRefIndex(value.ref)}`
285
+ : `open:${value.requirements.map(definitionRefIndex).sort().join('|')}`;
327
286
  result.set(key, value);
328
287
  }
329
288
  return [...result.values()];
330
289
  }
331
- function uniqueInterfaces(values) {
332
- return [...new Map(values.map((value) => [schemaRefIndex(value), value])).values()];
290
+ function uniqueClasses(values) {
291
+ return [...new Map(values.map((value) => [definitionRefIndex(value), value])).values()];
333
292
  }
334
293
  class UnionFind {
335
294
  #parents = new Map();
@@ -357,4 +316,3 @@ class UnionFind {
357
316
  this.#parents.set(b, a);
358
317
  }
359
318
  }
360
- //# sourceMappingURL=typing.js.map
@@ -3,4 +3,3 @@ import { type PolicyTyping } from './typing.js';
3
3
  export declare function validateReadUses(context: PolicyValidationContext, typing: PolicyTyping): void;
4
4
  export declare function validateTraverseUses(context: PolicyValidationContext, typing: PolicyTyping): void;
5
5
  export declare function validateCallableUses(context: PolicyValidationContext, typing: PolicyTyping): void;
6
- //# sourceMappingURL=uses.d.ts.map
@@ -1,49 +1,38 @@
1
- import { schemaRefIndex, formatSchemaRef, } from '../../reference.js';
2
- import { GRAPH_NODE_PATH_SCHEMA_ID } from '../../value/extensions/node-path/schema.js';
3
- import { normalizePolicyChecks } from '../normalize.js';
1
+ import { Key } from '../../../addressing/index.js';
2
+ import { definitionRefIndex } from '../../../addressing/ordering.js';
3
+ import { normalizePolicyChecks } from '../../../language/policy/normalization/normalize.js';
4
+ import { GRAPH_NODE_PATH_SCHEMA_ID } from '../../../language/value/syntax/node-path/schema.js';
4
5
  import { MAX_BRANCHES, MAX_CHECK_DEPTH, MAX_CHECK_LEAVES, measureChecks } from './budgets.js';
5
6
  import { escapePointer } from './context.js';
6
7
  import { contractOfNodeDefinition } from './typing.js';
8
+ const formatDefinitionRef = Key.of;
7
9
  const KERNEL_ORIGIN = 'kernel.astrale.ai';
8
10
  const PROJECTION_CLASS = nodeClassRef('Class');
9
11
  const PROJECTION_FUNCTION = nodeClassRef('Function');
10
- const PROJECTION_INTERFACE = nodeClassRef('Interface');
11
12
  const PROJECTION_POLICY = nodeClassRef('Policy');
12
13
  const PROJECTION_VIEW = nodeClassRef('View');
13
14
  export function validateReadUses(context, typing) {
14
- for (const [name, declaration] of Object.entries(context.environment.candidate.classes)) {
15
- if (declaration.family !== 'node' || declaration.policies.read === undefined) {
16
- continue;
17
- }
18
- const pointer = `/classes/${escapePointer(name)}/policies/read`;
19
- const ref = declaration.policies.read;
20
- if (!context.resolvePolicy(ref, pointer))
21
- continue;
22
- const object = {
23
- kind: 'exact',
24
- ref: { origin: context.environment.candidate.origin, kind: 'class', name },
25
- };
26
- if (!typing.policyAccepts(ref.name, object)) {
27
- context.add('PL_USE', pointer, `${formatSchemaRef(ref)} is not valid for every normalized branch of protected Class ${name}.`, formatSchemaRef(ref));
28
- }
29
- }
15
+ validateClassPolicyUses(context, typing, 'read');
30
16
  }
31
17
  export function validateTraverseUses(context, typing) {
18
+ validateClassPolicyUses(context, typing, 'traverse');
19
+ }
20
+ function validateClassPolicyUses(context, typing, operation) {
32
21
  for (const [name, declaration] of Object.entries(context.environment.candidate.classes)) {
33
- const ref = declaration.policies.traverse;
22
+ const ref = declaration.policies[operation];
34
23
  if (ref === undefined)
35
24
  continue;
36
- const pointer = `/classes/${escapePointer(name)}/policies/traverse`;
25
+ const pointer = `/classes/${escapePointer(name)}/policies/${operation}`;
37
26
  if (!context.resolvePolicy(ref, pointer))
38
27
  continue;
39
- if (declaration.family === 'node') {
28
+ if (declaration.kind === 'node') {
40
29
  const object = {
41
30
  kind: 'exact',
42
31
  ref: { origin: context.environment.candidate.origin, kind: 'class', name },
43
32
  };
44
- if (!typing.policyAccepts(ref.name, object)) {
45
- context.add('PL_USE', pointer, `${formatSchemaRef(ref)} is not valid for every normalized branch of traversed Node Class ${name}.`, formatSchemaRef(ref));
46
- }
33
+ if (typing.policyAccepts(ref.name, object))
34
+ continue;
35
+ context.add('PL_USE', pointer, `${formatDefinitionRef(ref)} is not valid for every normalized branch of ${operation} Node Class ${name}.`, formatDefinitionRef(ref));
47
36
  continue;
48
37
  }
49
38
  const endpoints = declaration.orientation === 'directed'
@@ -51,19 +40,9 @@ export function validateTraverseUses(context, typing) {
51
40
  : declaration.endpoints;
52
41
  const sources = typing.concreteEndpointClasses(endpoints[0].accepts);
53
42
  const targets = typing.concreteEndpointClasses(endpoints[1].accepts);
54
- let accepted = true;
55
- for (const source of sources) {
56
- for (const target of targets) {
57
- if (!typing.policyAcceptsEdge(ref.name, { kind: 'exact', ref: source }, { kind: 'exact', ref: target })) {
58
- accepted = false;
59
- break;
60
- }
61
- }
62
- if (!accepted)
63
- break;
64
- }
43
+ const accepted = sources.every((source) => targets.every((target) => typing.policyAcceptsEdge(ref.name, { kind: 'exact', ref: source }, { kind: 'exact', ref: target })));
65
44
  if (!accepted) {
66
- context.add('PL_USE', pointer, `${formatSchemaRef(ref)} is not valid for every concrete source/target pair of traversed Edge Class ${name}.`, formatSchemaRef(ref));
45
+ context.add('PL_USE', pointer, `${formatDefinitionRef(ref)} is not valid for every concrete source/target pair of ${operation} Edge Class ${name}.`, formatDefinitionRef(ref));
67
46
  }
68
47
  }
69
48
  }
@@ -77,17 +56,8 @@ export function validateCallableUses(context, typing) {
77
56
  instanceMethod: false,
78
57
  });
79
58
  }
80
- for (const [name, declaration] of Object.entries(context.environment.candidate.interfaces)) {
81
- if (declaration.family !== 'node')
82
- continue;
83
- validateDeclaredMethods(context, typing, 'interfaces', name, declaration.methods, {
84
- origin: context.environment.candidate.origin,
85
- kind: 'interface',
86
- name,
87
- });
88
- }
89
59
  for (const [name, declaration] of Object.entries(context.environment.candidate.classes)) {
90
- if (declaration.family !== 'node')
60
+ if (declaration.kind !== 'node')
91
61
  continue;
92
62
  validateDeclaredMethods(context, typing, 'classes', name, declaration.methods, {
93
63
  origin: context.environment.candidate.origin,
@@ -97,7 +67,7 @@ export function validateCallableUses(context, typing) {
97
67
  }
98
68
  }
99
69
  function validateDeclaredMethods(context, typing, namespace, name, methods, receiver) {
100
- const ownerAnalysis = context.analysis.definitions.get(schemaRefIndex(receiver));
70
+ const ownerAnalysis = context.analysis.definitions.get(definitionRefIndex(receiver));
101
71
  for (const [methodName, method] of Object.entries(methods)) {
102
72
  if (method.policy === undefined)
103
73
  continue;
@@ -138,7 +108,7 @@ function visitChecks(validation, typing, expression, context, pointer) {
138
108
  return;
139
109
  for (const contract of contracts) {
140
110
  if (!typing.policyAccepts(expression.check.name, contract)) {
141
- validation.add('PL_USE', pointer, `${formatSchemaRef(expression.check)} is incompatible with the callable object contract.`, formatSchemaRef(expression.check));
111
+ validation.add('PL_USE', pointer, `${formatDefinitionRef(expression.check)} is incompatible with the callable object contract.`, formatDefinitionRef(expression.check));
142
112
  break;
143
113
  }
144
114
  }
@@ -155,12 +125,6 @@ function referenceContracts(validation, ref, pointer) {
155
125
  if (ref.origin !== candidate.origin)
156
126
  return invalidPolicyObjectRef(validation, ref, pointer);
157
127
  switch (ref.kind) {
158
- case 'interface': {
159
- const resolved = validation.environment.resolve(ref);
160
- return resolved?.ref.kind === ref.kind
161
- ? [{ kind: 'exact', ref: PROJECTION_INTERFACE }]
162
- : invalidPolicyObjectRef(validation, ref, pointer);
163
- }
164
128
  case 'class': {
165
129
  const resolved = validation.environment.resolve(ref);
166
130
  return resolved?.ref.kind === ref.kind
@@ -184,21 +148,22 @@ function referenceContracts(validation, ref, pointer) {
184
148
  if (node === undefined)
185
149
  return invalidPolicyObjectRef(validation, ref, pointer);
186
150
  const resolved = validation.environment.resolve(node.class);
187
- const analyzed = validation.analysis.definitions.get(schemaRefIndex(node.class));
151
+ const analyzed = validation.analysis.definitions.get(definitionRefIndex(node.class));
188
152
  // Core validation owns invalid Core Class diagnostics. Avoid adding Policy noise for
189
153
  // a Node that cannot materialize in the first place.
190
154
  if (node.class.origin !== candidate.origin ||
191
155
  resolved?.ref.kind !== 'class' ||
192
- resolved.family !== 'node' ||
156
+ resolved.kind !== 'node' ||
193
157
  analyzed === undefined) {
194
158
  return undefined;
195
159
  }
196
160
  return [contractOfNodeDefinition(node.class)];
197
161
  }
198
162
  }
163
+ return invalidPolicyObjectRef(validation, ref, pointer);
199
164
  }
200
165
  function invalidPolicyObjectRef(validation, ref, pointer) {
201
- validation.add('PL_REF', `${pointer}/ref`, `${formatSchemaRef(ref)} is not an exact local projected Policy object.`, formatSchemaRef(ref));
166
+ validation.add('PL_REF', `${pointer}/ref`, `${formatDefinitionRef(ref)} is not an exact local projected Policy object.`, formatDefinitionRef(ref));
202
167
  return undefined;
203
168
  }
204
169
  function selfContracts(validation, context, pointer) {
@@ -238,8 +203,8 @@ function inputContracts(validation, context, field, pointer) {
238
203
  return undefined;
239
204
  }
240
205
  const resolved = validation.environment.resolve(ref);
241
- if (resolved === undefined || resolved.family !== 'node') {
242
- validation.add('PL_USE', pointer, `input.${field} ref ${formatSchemaRef(ref)} does not resolve as an allowed Node Definition.`, formatSchemaRef(ref));
206
+ if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'node') {
207
+ validation.add('PL_USE', pointer, `input.${field} ref ${formatDefinitionRef(ref)} does not resolve as an allowed Node Definition.`, formatDefinitionRef(ref));
243
208
  return undefined;
244
209
  }
245
210
  contracts.push(contractOfNodeDefinition(ref));
@@ -258,7 +223,7 @@ function isDefinitionRef(value) {
258
223
  const record = asRecord(value);
259
224
  return (record !== undefined &&
260
225
  typeof record.origin === 'string' &&
261
- (record.kind === 'class' || record.kind === 'interface') &&
226
+ record.kind === 'class' &&
262
227
  typeof record.name === 'string');
263
228
  }
264
229
  function checkOperands(value) {
@@ -269,4 +234,3 @@ function checkOperands(value) {
269
234
  function nodeClassRef(name) {
270
235
  return { origin: KERNEL_ORIGIN, kind: 'class', name };
271
236
  }
272
- //# sourceMappingURL=uses.js.map
@@ -1,5 +1,5 @@
1
- import type { DefinitionAnalysisResult } from '../../definition/analysis.js';
2
- import type { DomainDiagnostic } from '../../diagnostic.js';
1
+ import type { DefinitionAnalysisResult } from '../../analysis/class.js';
2
+ import type { SchemaDiagnostic } from '../../diagnostic.js';
3
3
  import type { DomainResolutionContext } from '../../resolution/context.js';
4
4
  /**
5
5
  * Validates the closed V1 Policy language after structural parsing.
@@ -8,5 +8,4 @@ import type { DomainResolutionContext } from '../../resolution/context.js';
8
8
  * failure. Environment and definition diagnostics are owned by their respective
9
9
  * validators and are therefore not repeated here.
10
10
  */
11
- export declare function validatePolicies(environment: DomainResolutionContext, analysis: DefinitionAnalysisResult): readonly DomainDiagnostic[];
12
- //# sourceMappingURL=validate.d.ts.map
11
+ export declare function validatePolicies(environment: DomainResolutionContext, analysis: DefinitionAnalysisResult): readonly SchemaDiagnostic[];
@@ -21,4 +21,3 @@ export function validatePolicies(environment, analysis) {
21
21
  validateCallableUses(context, typing);
22
22
  return Object.freeze(context.diagnostics);
23
23
  }
24
- //# sourceMappingURL=validate.js.map
@@ -1,14 +1,13 @@
1
1
  /** The exact V1 value-schema grammar embedded in DomainSchema declarations. */
2
- import type { DomainDiagnostic } from '../diagnostic.js';
3
- import type { DomainSchema } from '../domain.ir.js';
4
- import type { OrderingKind } from './ordering.js';
5
- import type { JsonSchema } from './schema.js';
6
- export { VALUE_SCHEMA_DIALECT as DIALECT, VALUE_SCHEMA_VOCABULARY as VOCABULARY } from './schema.js';
7
- export type { JsonSchema as Schema, JsonSchemaObject as SchemaObject, PathAnnotation, PropertyObjectSchema as PropertySchema, ValueSchemaContext as Context, } from './schema.js';
8
- export { instant } from './instant.js';
9
- export type { OrderingKind } from './ordering.js';
2
+ import type { Diagnostic } from '../../language/validation/diagnostic.js';
3
+ import type { JsonSchema } from '../../language/value/model/schema.js';
4
+ import type { OrderingKind } from '../../language/value/ordering.js';
5
+ import type { DomainSchema } from '../model/schema.js';
6
+ export { VALUE_SCHEMA_DIALECT as DIALECT, VALUE_SCHEMA_VOCABULARY as VOCABULARY, } from '../../language/value/model/schema.js';
7
+ export type { JsonSchema as Schema, JsonSchemaObject as SchemaObject, PathAnnotation, PropertyObjectSchema as PropertySchema, ValueSchemaContext as Context, } from '../../language/value/model/schema.js';
8
+ export { instant } from '../../language/value/model/instant.js';
9
+ export type { OrderingKind } from '../../language/value/ordering.js';
10
10
  /** Validate one complete JSON value under the exact accepted schema that owns the contract. */
11
- export declare function validate(owner: DomainSchema, contract: JsonSchema, input: unknown, pointer?: string): readonly DomainDiagnostic[];
11
+ export declare function validate(owner: DomainSchema, contract: JsonSchema, input: unknown, pointer?: string): readonly Diagnostic[];
12
12
  /** Return the one portable scalar ordering domain admitted by a property schema, if any. */
13
13
  export declare function classifyOrdering(owner: DomainSchema, contract: JsonSchema): OrderingKind | undefined;
14
- //# sourceMappingURL=index.d.ts.map