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

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
@@ -0,0 +1,20 @@
1
+ import type { ClassRef, CoreRef, DefinitionBase } from '../../../addressing/index.js';
2
+ import type { PropertyValues } from '../../class/property-values.js';
3
+ export interface DomainEndpointRef {
4
+ readonly kind: 'domain';
5
+ }
6
+ export type CoreEndpointRef = CoreRef | DomainEndpointRef;
7
+ export interface CoreDefinition extends DefinitionBase<CoreRef> {
8
+ readonly class: ClassRef;
9
+ readonly properties: PropertyValues;
10
+ }
11
+ export interface CoreEdge {
12
+ readonly class: ClassRef;
13
+ readonly source: CoreEndpointRef;
14
+ readonly target: CoreEndpointRef;
15
+ readonly properties: PropertyValues;
16
+ }
17
+ export interface CoreContent {
18
+ readonly nodes: Readonly<Record<string, CoreDefinition>>;
19
+ readonly edges: readonly CoreEdge[];
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { DefinitionKey } from '../../addressing/index.js';
2
+ import type { PropertyValues } from '../class/property-values.js';
3
+ import type { ResolvedClass } from '../class/resolved.js';
4
+ import type { CoreDefinition } from './model/core.js';
5
+ export interface ResolvedCoreDefinition {
6
+ readonly ref: CoreDefinition['ref'];
7
+ readonly key: DefinitionKey<string, 'core'>;
8
+ readonly class: ResolvedClass<'node'>;
9
+ readonly properties: PropertyValues;
10
+ readonly definition: CoreDefinition;
11
+ }
12
+ export interface ResolvedDomainEndpoint {
13
+ readonly kind: 'domain';
14
+ readonly origin: string;
15
+ }
16
+ export interface ResolvedCoreEdge {
17
+ readonly class: ResolvedClass<'edge'>;
18
+ readonly source: ResolvedCoreDefinition | ResolvedDomainEndpoint;
19
+ readonly target: ResolvedCoreDefinition | ResolvedDomainEndpoint;
20
+ readonly properties: PropertyValues;
21
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -10,4 +10,3 @@ export declare const icon: Readonly<{
10
10
  readonly minLength: 1;
11
11
  readonly maxLength: 8000;
12
12
  }>;
13
- //# sourceMappingURL=metadata.d.ts.map
@@ -10,4 +10,3 @@ export const icon = Object.freeze({
10
10
  minLength: 1,
11
11
  maxLength: 8000,
12
12
  });
13
- //# sourceMappingURL=metadata.js.map
@@ -0,0 +1,7 @@
1
+ import type { FunctionDefinition } from './callable/model/callable.js';
2
+ import type { ClassDefinition } from './class/model/class.js';
3
+ import type { CoreDefinition } from './core/model/core.js';
4
+ import type { PolicyDefinition } from './policy/model/policy.js';
5
+ import type { ViewDefinition } from './view/model/view.js';
6
+ /** Every named V1 product Definition. Property and Method remain Class-owned members. */
7
+ export type Definition = ClassDefinition | FunctionDefinition | PolicyDefinition | ViewDefinition | CoreDefinition;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ export type { ClassRef, CoreRef, DefinitionBase, DefinitionKey, DefinitionRef, FunctionRef, MethodKey, PolicyRef, PropertyKey, ViewRef, } from '../addressing/index.js';
2
+ export type { Value as PropertyValue } from '@astrale-os/kernel-dsl/value';
3
+ export type { JsonSchema as ValueSchema, JsonSchemaObject as ValueSchemaObject, } from './value/model/schema.js';
4
+ export type { OrderingKind } from './value/ordering.js';
5
+ export type * from './callable/model/callable.js';
6
+ export type * from './callable/resolved.js';
7
+ export type * from './class/model/class.js';
8
+ export type { DataDefinition, DataFacet, MediaType } from './class/model/data.js';
9
+ export type * from './class/model/edge.js';
10
+ export type * from './class/model/property.js';
11
+ export type * from './class/resolved.js';
12
+ export type * from './class/facets.js';
13
+ export { PropertyValues } from './class/property-values.js';
14
+ export type { PropertyValuesOperations } from './class/property-values.js';
15
+ export type * from './core/model/core.js';
16
+ export type * from './core/resolved.js';
17
+ export type { Definition } from './definition.js';
18
+ export type { ResolvedDefinition, ResolvedDefinitionOf } from './resolved.js';
19
+ export type { Diagnostic, DiagnosticCode } from './validation/diagnostic.js';
20
+ export type * from './policy/model/policy.js';
21
+ export type * from './policy/resolved.js';
22
+ export type * from './view/model/view.js';
23
+ export type * from './view/resolved.js';
@@ -0,0 +1 @@
1
+ export { PropertyValues } from './class/property-values.js';
@@ -1,5 +1,5 @@
1
- import type { ClassRef } from '../../reference.js';
2
- import type { PolicyEdgePattern, PolicyPatternExpression, PolicyPatternTerm } from '../ast.js';
1
+ import type { ClassRef } from '../../../addressing/index.js';
2
+ import type { PolicyEdgePattern, PolicyPatternExpression, PolicyPatternTerm } from '../model/policy.js';
3
3
  export interface PatternBranch {
4
4
  readonly edges: readonly PatternEdgeUse[];
5
5
  readonly variables: ReadonlyMap<string, ClassRef>;
@@ -15,7 +15,5 @@ export declare function branchesOf(pattern: PolicyPatternExpression, namespace:
15
15
  export declare function branchProduct(children: readonly (readonly PatternBranch[])[]): readonly PatternBranch[];
16
16
  export declare function capBranches(values: readonly PatternBranch[]): readonly PatternBranch[];
17
17
  export declare function isConnected(branch: PatternBranch): boolean;
18
- /** A normalized branch targets either one object or both authored Edge endpoints, never a mixture. */
19
18
  export declare function targetMode(branch: PatternBranch): PolicyTargetMode | undefined;
20
19
  export declare function termKey(term: PolicyPatternTerm, namespace: string): string;
21
- //# sourceMappingURL=branches.d.ts.map
@@ -39,7 +39,6 @@ export function isConnected(branch) {
39
39
  const root = union.find('subject');
40
40
  return [...vertices].every((vertex) => union.find(vertex) === root);
41
41
  }
42
- /** A normalized branch targets either one object or both authored Edge endpoints, never a mixture. */
43
42
  export function targetMode(branch) {
44
43
  let object = false;
45
44
  let source = false;
@@ -61,15 +60,8 @@ export function termKey(term, namespace) {
61
60
  return term.kind === 'variable' ? variableKey(namespace, term.id) : term.kind;
62
61
  }
63
62
  function branchesForNode(pattern, namespace, variables) {
64
- if (isEdge(pattern)) {
65
- return [
66
- {
67
- edges: [{ pattern, namespace }],
68
- variables,
69
- requiredVariables: new Set(),
70
- namespace,
71
- },
72
- ];
63
+ if ('source' in pattern) {
64
+ return [{ edges: [{ pattern, namespace }], variables, requiredVariables: new Set(), namespace }];
73
65
  }
74
66
  if ('exists' in pattern) {
75
67
  const direct = new Set(pattern.exists.nodes.map((node) => variableKey(namespace, node.variable.id)));
@@ -78,17 +70,11 @@ function branchesForNode(pattern, namespace, variables) {
78
70
  requiredVariables: new Set([...branch.requiredVariables, ...direct]),
79
71
  }));
80
72
  }
81
- const { key, values } = patternOperands(pattern);
82
- const children = values.map((child) => branchesForNode(child, namespace, variables));
83
- return key === 'allOf' ? branchProduct(children) : capBranches(children.flat());
73
+ const children = ('allOf' in pattern ? pattern.allOf : pattern.anyOf).map((child) => branchesForNode(child, namespace, variables));
74
+ return 'allOf' in pattern ? branchProduct(children) : capBranches(children.flat());
84
75
  }
85
76
  function emptyBranch() {
86
- return {
87
- edges: [],
88
- variables: new Map(),
89
- requiredVariables: new Set(),
90
- namespace: '$',
91
- };
77
+ return { edges: [], variables: new Map(), requiredVariables: new Set(), namespace: '$' };
92
78
  }
93
79
  function mergeBranches(left, right) {
94
80
  return {
@@ -118,14 +104,6 @@ function collectVariableClasses(pattern, namespace) {
118
104
  function variableKey(namespace, id) {
119
105
  return `variable:${namespace}:${id}`;
120
106
  }
121
- function patternOperands(value) {
122
- return 'allOf' in value
123
- ? { key: 'allOf', values: value.allOf }
124
- : { key: 'anyOf', values: value.anyOf };
125
- }
126
- function isEdge(value) {
127
- return 'source' in value;
128
- }
129
107
  class UnionFind {
130
108
  #parents = new Map();
131
109
  constructor(values) {
@@ -152,4 +130,3 @@ class UnionFind {
152
130
  this.#parents.set(b, a);
153
131
  }
154
132
  }
155
- //# sourceMappingURL=branches.js.map
@@ -1,5 +1,4 @@
1
- import type { PolicyCheckExpression } from '../ast.js';
2
- import type { PolicyValidationContext } from './context.js';
1
+ import type { PolicyCheckExpression } from '../model/policy.js';
3
2
  export declare const MAX_PATTERN_DEPTH = 4;
4
3
  export declare const MAX_BRANCHES = 8;
5
4
  export declare const MAX_VARIABLES = 4;
@@ -14,6 +13,4 @@ export interface CheckMeasure {
14
13
  readonly branches: number;
15
14
  readonly leaves: number;
16
15
  }
17
- export declare function validatePolicyBudgets(context: PolicyValidationContext): void;
18
16
  export declare function measureChecks(expression: PolicyCheckExpression): CheckMeasure;
19
- //# sourceMappingURL=budgets.d.ts.map
@@ -0,0 +1,25 @@
1
+ export const MAX_PATTERN_DEPTH = 4;
2
+ export const MAX_BRANCHES = 8;
3
+ export const MAX_VARIABLES = 4;
4
+ export const MAX_EDGES = 6;
5
+ export const MAX_REPEAT = 3;
6
+ export const MAX_DOMAINS = 4;
7
+ export const MAX_CHECK_DEPTH = 4;
8
+ export const MAX_CHECK_LEAVES = 8;
9
+ export const BRANCH_OVERFLOW = MAX_BRANCHES + 1;
10
+ export function measureChecks(expression) {
11
+ if ('check' in expression)
12
+ return { depth: 1, branches: 1, leaves: 1 };
13
+ const children = ('allOf' in expression ? expression.allOf : expression.anyOf).map(measureChecks);
14
+ const branches = 'allOf' in expression
15
+ ? children.reduce((value, child) => saturatingProduct(value, child.branches), 1)
16
+ : children.reduce((value, child) => Math.min(BRANCH_OVERFLOW, value + child.branches), 0);
17
+ return {
18
+ depth: 1 + Math.max(0, ...children.map((child) => child.depth)),
19
+ branches,
20
+ leaves: children.reduce((value, child) => value + child.leaves, 0),
21
+ };
22
+ }
23
+ function saturatingProduct(left, right) {
24
+ return Math.min(BRANCH_OVERFLOW, left * right);
25
+ }
@@ -0,0 +1,3 @@
1
+ export type * from './model/policy.js';
2
+ export type * from './resolved.js';
3
+ export * from './normalization/normalize.js';
@@ -0,0 +1 @@
1
+ export * from './normalization/normalize.js';
@@ -1,4 +1,4 @@
1
- import type { CoreRef, ClassRef, DefinitionRef, FunctionRef, PolicyRef, ViewRef } from '../reference.js';
1
+ import type { CoreRef, ClassRef, FunctionRef, PolicyRef, ViewRef, DefinitionBase } from '../../../addressing/index.js';
2
2
  export type PolicyPatternTerm = {
3
3
  readonly kind: 'subject';
4
4
  } | {
@@ -38,18 +38,19 @@ export type PolicyPatternExpression = PolicyEdgePattern | {
38
38
  } | {
39
39
  readonly anyOf: readonly PolicyPatternExpression[];
40
40
  };
41
- export type PolicyDeclaration = {
42
- readonly description?: string;
41
+ export type PolicyExpression = {
43
42
  readonly match: PolicyPatternExpression;
44
43
  } | {
45
- readonly description?: string;
46
44
  readonly allOf: readonly PolicyRef[];
47
45
  } | {
48
- readonly description?: string;
49
46
  readonly anyOf: readonly PolicyRef[];
50
47
  };
48
+ export interface PolicyDefinition extends DefinitionBase<PolicyRef> {
49
+ readonly expression: PolicyExpression;
50
+ readonly description?: string;
51
+ }
51
52
  /** Local Domain members whose installed projection resolves through one exact member Path. */
52
- export type PolicyObjectRef = DefinitionRef | FunctionRef | PolicyRef | ViewRef | CoreRef;
53
+ export type PolicyObjectRef = ClassRef | FunctionRef | PolicyRef | ViewRef | CoreRef;
53
54
  export type PolicyCheckObject = {
54
55
  readonly kind: 'self';
55
56
  } | {
@@ -74,4 +75,3 @@ export type PolicyCheckExpression<Policy = PolicyRef, Object = PolicyCheckObject
74
75
  ...PolicyCheckExpression<Policy, Object>[]
75
76
  ];
76
77
  };
77
- //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { PolicyCheckExpression, PolicyExpression, PolicyPatternExpression } from '../model/policy.js';
2
+ export declare function normalizePolicyExpression(value: PolicyExpression): PolicyExpression;
3
+ export declare function normalizePolicyPattern(value: PolicyPatternExpression): PolicyPatternExpression;
4
+ export declare function normalizePolicyChecks(value: PolicyCheckExpression): PolicyCheckExpression;
@@ -1,14 +1,14 @@
1
1
  import { json } from '@astrale-os/kernel-dsl/value';
2
- import { schemaRefIndex, compareSchemaRefs } from '../reference.js';
2
+ import { definitionRefIndex, compareDefinitionRefs } from '../../../addressing/ordering.js';
3
3
  const textEncoder = new TextEncoder();
4
- export function normalizePolicyDeclaration(value) {
4
+ export function normalizePolicyExpression(value) {
5
5
  if ('match' in value) {
6
- return withDescription(value, { match: normalizePolicyPattern(value.match) });
6
+ return { match: normalizePolicyPattern(value.match) };
7
7
  }
8
8
  if ('allOf' in value) {
9
- return withDescription(value, { allOf: uniqueRefs(value.allOf) });
9
+ return { allOf: uniqueRefs(value.allOf) };
10
10
  }
11
- return withDescription(value, { anyOf: uniqueRefs(value.anyOf) });
11
+ return { anyOf: uniqueRefs(value.anyOf) };
12
12
  }
13
13
  export function normalizePolicyPattern(value) {
14
14
  const rewritten = rewriteVariables(value, canonicalVariableIds(value));
@@ -101,7 +101,7 @@ function canonicalVariableIds(value) {
101
101
  function collectDeclarations(value, result) {
102
102
  if ('exists' in value) {
103
103
  for (const node of value.exists.nodes) {
104
- result.set(node.variable.id, schemaRefIndex(node.class));
104
+ result.set(node.variable.id, definitionRefIndex(node.class));
105
105
  }
106
106
  collectDeclarations(value.exists.where, result);
107
107
  return;
@@ -116,10 +116,10 @@ function collectDeclarations(value, result) {
116
116
  function collectUses(value, target, colors, result) {
117
117
  if (isEdge(value)) {
118
118
  if (value.source.kind === 'variable' && value.source.id === target) {
119
- result.push(`s:${schemaRefIndex(value.class)}:${termColor(value.target, colors)}`);
119
+ result.push(`s:${definitionRefIndex(value.class)}:${termColor(value.target, colors)}`);
120
120
  }
121
121
  if (value.target.kind === 'variable' && value.target.id === target) {
122
- result.push(`t:${schemaRefIndex(value.class)}:${termColor(value.source, colors)}`);
122
+ result.push(`t:${definitionRefIndex(value.class)}:${termColor(value.source, colors)}`);
123
123
  }
124
124
  return;
125
125
  }
@@ -141,7 +141,7 @@ function collectFirstUseKeys(value, colors, result, prefix = '$') {
141
141
  ['target', value.target],
142
142
  ]) {
143
143
  if (term.kind === 'variable') {
144
- const key = `${prefix}:${schemaRefIndex(value.class)}:${position}`;
144
+ const key = `${prefix}:${definitionRefIndex(value.class)}:${position}`;
145
145
  const current = result.get(term.id);
146
146
  if (current === undefined || key < current)
147
147
  result.set(term.id, key);
@@ -160,7 +160,7 @@ function collectFirstUseKeys(value, colors, result, prefix = '$') {
160
160
  }
161
161
  function patternSignature(value, colors) {
162
162
  if (isEdge(value)) {
163
- return `edge:${schemaRefIndex(value.class)}:${termColor(value.source, colors)}:${termColor(value.target, colors)}:${value.repeat?.min ?? 1}:${value.repeat?.max ?? 1}`;
163
+ return `edge:${definitionRefIndex(value.class)}:${termColor(value.source, colors)}:${termColor(value.target, colors)}:${value.repeat?.min ?? 1}:${value.repeat?.max ?? 1}`;
164
164
  }
165
165
  if ('exists' in value) {
166
166
  return `exists:${value.exists.nodes
@@ -202,8 +202,8 @@ function rewriteTerm(value, ids) {
202
202
  return value.kind === 'variable' ? { kind: 'variable', id: ids.get(value.id) ?? value.id } : value;
203
203
  }
204
204
  function uniqueRefs(values) {
205
- const byKey = new Map(values.map((value) => [schemaRefIndex(value), value]));
206
- return [...byKey.values()].sort(compareSchemaRefs);
205
+ const byKey = new Map(values.map((value) => [definitionRefIndex(value), value]));
206
+ return [...byKey.values()].sort(compareDefinitionRefs);
207
207
  }
208
208
  function uniqueJson(values) {
209
209
  const byEncoding = new Map(values.map((value) => [json.serialize(value), value]));
@@ -221,10 +221,6 @@ function compareUtf8Bytes(left, right) {
221
221
  }
222
222
  return a.length - b.length;
223
223
  }
224
- function withDescription(source, value) {
225
- return source.description === undefined ? value : { description: source.description, ...value };
226
- }
227
224
  function isEdge(value) {
228
225
  return 'source' in value;
229
226
  }
230
- //# sourceMappingURL=normalize.js.map
@@ -0,0 +1,9 @@
1
+ import type { DefinitionKey, PolicyRef } from '../../addressing/index.js';
2
+ import type { PolicyDefinition } from './model/policy.js';
3
+ export interface ResolvedPolicy {
4
+ readonly ref: PolicyRef;
5
+ readonly key: DefinitionKey<string, 'policy'>;
6
+ readonly expression: PolicyDefinition['expression'];
7
+ readonly description?: PolicyDefinition['description'];
8
+ readonly definition: PolicyDefinition;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { DefinitionRef } from '../addressing/index.js';
2
+ import type { ResolvedFunction } from './callable/resolved.js';
3
+ import type { AnyResolvedClass } from './class/resolved.js';
4
+ import type { ResolvedCoreDefinition } from './core/resolved.js';
5
+ import type { ResolvedPolicy } from './policy/resolved.js';
6
+ import type { ResolvedView } from './view/resolved.js';
7
+ export type ResolvedDefinition = AnyResolvedClass | ResolvedFunction | ResolvedPolicy | ResolvedView | ResolvedCoreDefinition;
8
+ export type ResolvedDefinitionOf<Kind extends DefinitionRef['kind']> = Extract<ResolvedDefinition, {
9
+ readonly ref: DefinitionRef<Kind>;
10
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export type DiagnosticCode = 'CALLABLE_INPUT_FIELD_UNKNOWN' | 'DOMAIN_CLASS_ABSTRACT' | 'DOMAIN_PROPERTY_INPUT_INVALID' | 'DOMAIN_PROPERTY_REQUIRED' | 'DOMAIN_PROPERTY_UNKNOWN' | 'DOMAIN_VALIDATION_TARGET_UNKNOWN' | 'VALUE_SCHEMA_INSTANCE_INVALID' | 'VS_DIALECT' | 'VS_DYNAMIC_FORBIDDEN' | 'VS_KEYWORD_CLOSED' | 'VS_META_SCHEMA' | 'VS_NUMBER_DOMAIN' | 'VS_PATH_EXTENSION' | 'VS_RECURSION_PRODUCTIVE' | 'VS_REFERENCE_FORM' | 'VS_REFERENCE_RESOLUTION' | 'VS_REGEX_PORTABLE' | 'VS_RESOURCE_ID' | 'VS_VALUE_KIND';
2
+ export interface Diagnostic<out Code extends DiagnosticCode = DiagnosticCode> {
3
+ readonly code: Code;
4
+ readonly pointer: string;
5
+ readonly message: string;
6
+ readonly ref?: string;
7
+ }
8
+ export declare function diagnostic<const Code extends DiagnosticCode>(code: Code, pointer: string, message: string, ref?: string): Diagnostic<Code>;
@@ -0,0 +1,3 @@
1
+ export function diagnostic(code, pointer, message, ref) {
2
+ return Object.freeze({ code, pointer, message, ...(ref === undefined ? {} : { ref }) });
3
+ }
@@ -0,0 +1,3 @@
1
+ import type { ValueProgram } from './model.js';
2
+ /** Exact field constraints available for independent scalar route validation. */
3
+ export declare function inputFieldNodes(program: ValueProgram): Readonly<Record<string, readonly number[]>> | undefined;
@@ -0,0 +1,60 @@
1
+ /** Exact field constraints available for independent scalar route validation. */
2
+ export function inputFieldNodes(program) {
3
+ const fields = new Map();
4
+ const visited = new Set();
5
+ let closed = false;
6
+ let unsupported = false;
7
+ const visit = (index) => {
8
+ if (visited.has(index))
9
+ return;
10
+ visited.add(index);
11
+ const node = program.nodes[index];
12
+ if (node === undefined ||
13
+ node.schema === null ||
14
+ typeof node.schema !== 'object' ||
15
+ Array.isArray(node.schema))
16
+ return;
17
+ const schema = node.schema;
18
+ if (schema.additionalProperties === false || schema.unevaluatedProperties === false)
19
+ closed = true;
20
+ if (schema.anyOf !== undefined || schema.oneOf !== undefined || schema.if !== undefined)
21
+ unsupported = true;
22
+ if (node.reference !== undefined)
23
+ visit(node.reference);
24
+ if (Array.isArray(schema.allOf)) {
25
+ schema.allOf.forEach((_, position) => {
26
+ const child = node.children[`allOf/${position}`];
27
+ if (child === undefined)
28
+ throw new TypeError('Compiled input allOf branch is absent.');
29
+ visit(child);
30
+ });
31
+ }
32
+ if (schema.properties === null ||
33
+ typeof schema.properties !== 'object' ||
34
+ Array.isArray(schema.properties))
35
+ return;
36
+ for (const name of Object.keys(schema.properties)) {
37
+ const child = node.children[`properties/${escapePointer(name)}`];
38
+ if (child === undefined)
39
+ throw new TypeError(`Compiled input field ${name} is absent.`);
40
+ const constraints = fields.get(name) ?? new Set();
41
+ constraints.add(child);
42
+ fields.set(name, constraints);
43
+ }
44
+ };
45
+ visit(program.root);
46
+ if (!closed || unsupported)
47
+ return undefined;
48
+ return Object.freeze(Object.fromEntries([...fields]
49
+ .sort(([left], [right]) => compare(left, right))
50
+ .map(([name, nodes]) => [
51
+ name,
52
+ Object.freeze([...nodes].sort((left, right) => left - right)),
53
+ ])));
54
+ }
55
+ function escapePointer(value) {
56
+ return value.replaceAll('~', '~0').replaceAll('/', '~1');
57
+ }
58
+ function compare(left, right) {
59
+ return left < right ? -1 : left > right ? 1 : 0;
60
+ }
@@ -0,0 +1,4 @@
1
+ import type { CompiledInstanceSchema } from '../evaluate/types.js';
2
+ import type { ValueProgram } from './model.js';
3
+ /** Bind admitted portable indices to the canonical instance evaluator. */
4
+ export declare function loadValueProgram(program: ValueProgram): CompiledInstanceSchema;
@@ -0,0 +1,41 @@
1
+ import { loadPattern } from '../regexp/matcher.js';
2
+ import { appendPointer } from '../syntax/pointer.js';
3
+ /** Bind admitted portable indices to the canonical instance evaluator. */
4
+ export function loadValueProgram(program) {
5
+ const resource = { key: 'compiled', schema: true, ownerOrigin: 'compiled' };
6
+ const locations = program.nodes.map((node, index) => ({
7
+ key: String(index),
8
+ pointer: '',
9
+ resource,
10
+ schema: node.schema,
11
+ }));
12
+ const patterns = new Map(program.patterns.map((pattern) => [pattern.source, loadPattern(pattern)]));
13
+ const root = locations[program.root];
14
+ if (root === undefined)
15
+ throw new TypeError('Compiled value program root is absent.');
16
+ return {
17
+ root,
18
+ locations: new Map(locations.map((location) => [location.key, location])),
19
+ resolutions: new Map(),
20
+ program: () => program,
21
+ child(location, keyword, member) {
22
+ const base = appendPointer('', keyword);
23
+ const key = (member === undefined ? base : appendPointer(base, member)).slice(1);
24
+ const index = program.nodes[Number(location.key)]?.children[key];
25
+ const child = index === undefined ? undefined : locations[index];
26
+ if (child === undefined)
27
+ throw new TypeError('Compiled value program child is absent.');
28
+ return child;
29
+ },
30
+ reference(location) {
31
+ const index = program.nodes[Number(location.key)]?.reference;
32
+ return index === undefined ? undefined : locations[index];
33
+ },
34
+ matcher(source) {
35
+ const matcher = patterns.get(source);
36
+ if (matcher === undefined)
37
+ throw new TypeError('Compiled value program pattern is absent.');
38
+ return matcher;
39
+ },
40
+ };
41
+ }
@@ -0,0 +1,27 @@
1
+ import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
+ export type ScalarRange = readonly [minimum: number, maximum: number];
3
+ export interface PatternTransition {
4
+ readonly to: number;
5
+ readonly ranges: readonly ScalarRange[];
6
+ }
7
+ export interface PatternState {
8
+ readonly epsilon: readonly number[];
9
+ readonly transitions: readonly PatternTransition[];
10
+ readonly accepting?: true;
11
+ }
12
+ export interface Pattern {
13
+ readonly source: string;
14
+ readonly start: number;
15
+ readonly states: readonly PatternState[];
16
+ }
17
+ export interface ValueNode {
18
+ readonly schema: JsonValue;
19
+ readonly children: Readonly<Record<string, number>>;
20
+ readonly reference?: number;
21
+ }
22
+ /** Portable, JSON-safe evaluation program for one admitted ValueSchema. */
23
+ export interface ValueProgram {
24
+ readonly root: number;
25
+ readonly nodes: readonly ValueNode[];
26
+ readonly patterns: readonly Pattern[];
27
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -4,4 +4,3 @@ export declare function jsonEqual(left: JsonValue, right: JsonValue): boolean;
4
4
  export declare function unique(values: readonly JsonValue[]): boolean;
5
5
  /** Compare finite JSON numbers as their exact ECMAScript decimal spellings. */
6
6
  export declare function isMultipleOf(value: number, divisor: number): boolean;
7
- //# sourceMappingURL=assertions.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { equal, json } from '@astrale-os/kernel-dsl/value';
2
- import { isValueObject as isJsonObject } from '../object.js';
2
+ import { isValueObject as isJsonObject } from '../model/object.js';
3
3
  export function matchesType(input, value) {
4
4
  switch (input) {
5
5
  case 'null':
@@ -56,4 +56,3 @@ function decimalInteger(input) {
56
56
  function powerOfTen(exponent) {
57
57
  return 10n ** BigInt(exponent);
58
58
  }
59
- //# sourceMappingURL=assertions.js.map
@@ -2,4 +2,3 @@ import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
2
  import type { CompiledInstanceSchema, Evaluation } from './types.js';
3
3
  /** Evaluate complete Draft 2020-12 acceptance without dynamic source generation. */
4
4
  export declare function evaluateInstance(compiled: CompiledInstanceSchema, input: JsonValue): Evaluation;
5
- //# sourceMappingURL=evaluator.d.ts.map
@@ -1,7 +1,6 @@
1
- import { isInstantValue } from '../instant.js';
2
- import { appendPointer } from '../location/pointer.js';
3
- import { isValueObject as isJsonObject } from '../object.js';
4
- import { locationKey } from '../resources/closure.js';
1
+ import { isInstantValue } from '../model/instant.js';
2
+ import { isValueObject as isJsonObject } from '../model/object.js';
3
+ import { appendPointer } from '../syntax/pointer.js';
5
4
  import { isMultipleOf, jsonEqual, matchesType, unique } from './assertions.js';
6
5
  import { evaluation, mergeAnnotations } from './types.js';
7
6
  /** Evaluate complete Draft 2020-12 acceptance without dynamic source generation. */
@@ -45,13 +44,9 @@ class InstanceEvaluator {
45
44
  failures.push(...result.failures);
46
45
  };
47
46
  if (Object.hasOwn(schema, '$ref')) {
48
- const resolved = this.compiled.resolutions.get(location.key);
49
- if (resolved === undefined) {
50
- throw new TypeError('Admitted value schema reference has no prepared resolution.');
51
- }
52
- const target = this.compiled.locations.get(locationKey(resolved.resource.key, resolved.pointer));
47
+ const target = this.compiled.reference(location);
53
48
  if (target === undefined) {
54
- throw new TypeError('Prepared value schema reference target is absent.');
49
+ throw new TypeError('Admitted value schema reference has no prepared resolution.');
55
50
  }
56
51
  absorbSameLocation(this.evaluate(target, input, instancePointer));
57
52
  }
@@ -352,13 +347,7 @@ class InstanceEvaluator {
352
347
  }
353
348
  }
354
349
  child(parent, keyword, member) {
355
- const keywordPointer = appendPointer(parent.pointer, keyword);
356
- const pointer = member === undefined ? keywordPointer : appendPointer(keywordPointer, member);
357
- const child = this.compiled.locations.get(locationKey(parent.resource.key, pointer));
358
- if (child === undefined) {
359
- throw new TypeError(`Admitted value schema child ${pointer} is absent from its closure.`);
360
- }
361
- return child;
350
+ return this.compiled.child(parent, keyword, member);
362
351
  }
363
352
  }
364
353
  function schemaList(input) {
@@ -370,4 +359,3 @@ function isSchema(input) {
370
359
  function invalid(instancePointer, keyword, message) {
371
360
  return { instancePointer, keyword, message };
372
361
  }
373
- //# sourceMappingURL=evaluator.js.map
@@ -1,5 +1,5 @@
1
- import type { ValueSchemaRegistry } from '../registry.js';
2
- import type { JsonSchema } from '../schema.js';
1
+ import type { JsonSchema } from '../model/schema.js';
2
+ import type { ValueSchemaRegistry } from '../reference/registry.js';
3
3
  import type { CompiledInstanceSchema } from './types.js';
4
4
  export type InstanceSchemaCompilation = {
5
5
  readonly compiled: true;
@@ -9,5 +9,5 @@ export type InstanceSchemaCompilation = {
9
9
  readonly message: string;
10
10
  };
11
11
  /** Prepare reference and linear-regexp state without generating executable source. */
12
- export declare function compileInstanceSchema(schema: JsonSchema, registry: ValueSchemaRegistry, pointer: string): InstanceSchemaCompilation;
13
- //# sourceMappingURL=compiler.d.ts.map
12
+ export declare function prepareValueSchema(schema: JsonSchema, registry: ValueSchemaRegistry, pointer: string): InstanceSchemaCompilation;
13
+ export declare function childKey(pointer: string): string;