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

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 +247 -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
@@ -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;
@@ -0,0 +1,135 @@
1
+ import { isValueObject as isJsonObject } from '../model/object.js';
2
+ import { collectResourceClosure, locationKey, } from '../reference/closure.js';
3
+ import { indexRegistry } from '../reference/registry.index.js';
4
+ import { compilePattern } from '../regexp/compile.js';
5
+ import { loadPattern } from '../regexp/matcher.js';
6
+ import { appendPointer } from '../syntax/pointer.js';
7
+ import { walkSchema } from '../syntax/walk.js';
8
+ /** Prepare reference and linear-regexp state without generating executable source. */
9
+ export function prepareValueSchema(schema, registry, pointer) {
10
+ const indexed = indexRegistry(registry, pointer);
11
+ if (indexed.diagnostics.length > 0)
12
+ return failed(indexed.diagnostics);
13
+ const closure = collectResourceClosure(schema, 'callable-input', indexed.index, pointer);
14
+ if (closure.diagnostics.length > 0)
15
+ return failed(closure.diagnostics);
16
+ const locations = new Map();
17
+ const matchers = new Map();
18
+ for (const resource of closure.resources.values()) {
19
+ walkSchema(resource.schema, (location) => {
20
+ const key = locationKey(resource.key, location.pointer);
21
+ locations.set(key, {
22
+ key,
23
+ pointer: location.pointer,
24
+ resource,
25
+ schema: location.schema,
26
+ });
27
+ if (!isJsonObject(location.schema))
28
+ return;
29
+ rememberMatcher(matchers, location.schema.pattern);
30
+ rememberMatcher(matchers, location.schema.fullMatch);
31
+ if (isJsonObject(location.schema.patternProperties)) {
32
+ for (const pattern of Object.keys(location.schema.patternProperties)) {
33
+ rememberMatcher(matchers, pattern);
34
+ }
35
+ }
36
+ });
37
+ }
38
+ const initial = closure.resources.values().next().value;
39
+ const root = initial === undefined ? undefined : locations.get(locationKey(initial.key, ''));
40
+ if (root === undefined) {
41
+ return { compiled: false, message: 'The root value schema is absent from its closure.' };
42
+ }
43
+ return {
44
+ compiled: true,
45
+ value: {
46
+ root,
47
+ locations,
48
+ resolutions: closure.resolutions,
49
+ program: () => portableProgram(root, locations, closure.resolutions),
50
+ child(location, keyword, member) {
51
+ const keywordPointer = appendPointer(location.pointer, keyword);
52
+ const pointer = member === undefined ? keywordPointer : appendPointer(keywordPointer, member);
53
+ const child = locations.get(locationKey(location.resource.key, pointer));
54
+ if (child === undefined) {
55
+ throw new TypeError(`Admitted value schema child ${pointer} is absent from its closure.`);
56
+ }
57
+ return child;
58
+ },
59
+ reference(location) {
60
+ const resolved = closure.resolutions.get(location.key);
61
+ return resolved === undefined
62
+ ? undefined
63
+ : locations.get(locationKey(resolved.resource.key, resolved.pointer));
64
+ },
65
+ matcher(source) {
66
+ const matcher = matchers.get(source);
67
+ if (matcher === undefined) {
68
+ throw new TypeError('Value schema uses an unprepared I-Regexp source.');
69
+ }
70
+ return matcher;
71
+ },
72
+ },
73
+ };
74
+ }
75
+ function portableProgram(root, locations, resolutions) {
76
+ const ordered = [...locations.values()];
77
+ const indices = new Map(ordered.map((location, index) => [location.key, index]));
78
+ const patterns = new Map();
79
+ const nodes = ordered.map((location) => {
80
+ const children = {};
81
+ walkSchema(location.schema, (child) => {
82
+ if (child.depth !== 1)
83
+ return;
84
+ const target = indices.get(locationKey(location.resource.key, `${location.pointer}${child.pointer}`));
85
+ if (target !== undefined)
86
+ children[childKey(child.pointer)] = target;
87
+ });
88
+ rememberPattern(patterns, location.schema);
89
+ const resolved = resolutions.get(location.key);
90
+ const reference = resolved === undefined
91
+ ? undefined
92
+ : indices.get(locationKey(resolved.resource.key, resolved.pointer));
93
+ if (resolved !== undefined && reference === undefined) {
94
+ throw new TypeError('Prepared value schema reference target is absent.');
95
+ }
96
+ return Object.freeze({
97
+ schema: location.schema,
98
+ children: Object.freeze(children),
99
+ ...(reference === undefined ? {} : { reference }),
100
+ });
101
+ });
102
+ return Object.freeze({
103
+ root: indices.get(root.key),
104
+ nodes: Object.freeze(nodes),
105
+ patterns: Object.freeze([...patterns.values()]),
106
+ });
107
+ }
108
+ function rememberPattern(patterns, schema) {
109
+ if (!isJsonObject(schema))
110
+ return;
111
+ for (const source of [schema.pattern, schema.fullMatch]) {
112
+ if (typeof source === 'string' && !patterns.has(source))
113
+ patterns.set(source, compilePattern(source));
114
+ }
115
+ if (isJsonObject(schema.patternProperties)) {
116
+ for (const source of Object.keys(schema.patternProperties)) {
117
+ if (!patterns.has(source))
118
+ patterns.set(source, compilePattern(source));
119
+ }
120
+ }
121
+ }
122
+ export function childKey(pointer) {
123
+ return pointer.slice(1);
124
+ }
125
+ function rememberMatcher(matchers, input) {
126
+ if (typeof input === 'string' && !matchers.has(input)) {
127
+ matchers.set(input, loadPattern(compilePattern(input)));
128
+ }
129
+ }
130
+ function failed(diagnostics) {
131
+ return {
132
+ compiled: false,
133
+ message: diagnostics.map(({ code, message }) => `${code}: ${message}`).join('; '),
134
+ };
135
+ }
@@ -0,0 +1,3 @@
1
+ import type { Diagnostic } from '../../validation/diagnostic.js';
2
+ import type { ValueProgram } from '../compile/model.js';
3
+ export declare function validateValueProgram(program: ValueProgram, input: unknown, roots?: readonly number[]): readonly Diagnostic[];
@@ -0,0 +1,16 @@
1
+ import { loadValueProgram } from '../compile/load.js';
2
+ import { validateCanonicalJsonDomain } from '../profile/json.validate.js';
3
+ import { evaluateInstance } from './evaluator.js';
4
+ export function validateValueProgram(program, input, roots = [program.root]) {
5
+ const canonical = validateCanonicalJsonDomain(input, '');
6
+ if (canonical.length > 0)
7
+ return canonical;
8
+ return roots.flatMap((root) => {
9
+ const result = evaluateInstance(loadValueProgram({ ...program, root }), input);
10
+ return result.failures.map((failure) => ({
11
+ code: 'VALUE_SCHEMA_INSTANCE_INVALID',
12
+ pointer: failure.instancePointer,
13
+ message: `Value does not satisfy its complete V1 schema at ${failure.keyword}: ${failure.message}`,
14
+ }));
15
+ });
16
+ }
@@ -1,7 +1,8 @@
1
1
  import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
- import type { IRegexpMatcher } from '../regexp/linear.js';
3
- import type { ResolvedSchemaReference, SchemaResource } from '../resources/references.js';
4
- import type { JsonSchema } from '../schema.js';
2
+ import type { ValueProgram } from '../compile/model.js';
3
+ import type { JsonSchema } from '../model/schema.js';
4
+ import type { ResolvedAddressReference, SchemaResource } from '../reference/references.js';
5
+ import type { IRegexpMatcher } from '../regexp/matcher.js';
5
6
  export interface InstanceFailure {
6
7
  readonly instancePointer: string;
7
8
  readonly keyword: string;
@@ -16,7 +17,10 @@ export interface SchemaLocation {
16
17
  export interface CompiledInstanceSchema {
17
18
  readonly root: SchemaLocation;
18
19
  readonly locations: ReadonlyMap<string, SchemaLocation>;
19
- readonly resolutions: ReadonlyMap<string, ResolvedSchemaReference>;
20
+ readonly resolutions: ReadonlyMap<string, ResolvedAddressReference>;
21
+ program(): ValueProgram;
22
+ child(location: SchemaLocation, keyword: string, member?: string | number): SchemaLocation;
23
+ reference(location: SchemaLocation): SchemaLocation | undefined;
20
24
  matcher(source: string): IRegexpMatcher;
21
25
  }
22
26
  export interface Evaluation {
@@ -30,4 +34,3 @@ export interface Evaluation {
30
34
  export type Instance = JsonValue;
31
35
  export declare function evaluation(failures?: readonly InstanceFailure[], properties?: ReadonlySet<string>, items?: ReadonlySet<number>): Evaluation;
32
36
  export declare function mergeAnnotations(targetProperties: Set<string>, targetItems: Set<number>, source: Pick<Evaluation, 'properties' | 'items'>): void;
33
- //# sourceMappingURL=types.d.ts.map
@@ -7,4 +7,3 @@ export function mergeAnnotations(targetProperties, targetItems, source) {
7
7
  for (const item of source.items)
8
8
  targetItems.add(item);
9
9
  }
10
- //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
- import type { DomainDiagnostic } from '../diagnostic.js';
3
- import type { ValueSchemaRegistry } from './registry.js';
4
- import type { JsonSchema } from './schema.js';
2
+ import type { Diagnostic } from '../../validation/diagnostic.js';
3
+ import type { JsonSchema } from '../model/schema.js';
4
+ import type { ValueSchemaRegistry } from '../reference/registry.js';
5
5
  /**
6
6
  * Validate one complete portable value with the admitted V1 Draft 2020-12 profile.
7
7
  *
@@ -9,5 +9,4 @@ import type { JsonSchema } from './schema.js';
9
9
  * resolution or dynamic source generation, and every admitted I-Regexp executes through RE2JS.
10
10
  * `format` remains annotation-only; the graph NodePath codec performs its separate locator check.
11
11
  */
12
- export declare function validateJsonInstance(schema: JsonSchema, value: JsonValue, registry: ValueSchemaRegistry, pointer?: string): DomainDiagnostic[];
13
- //# sourceMappingURL=instance.validate.d.ts.map
12
+ export declare function validateJsonInstance(schema: JsonSchema, value: JsonValue, registry: ValueSchemaRegistry, pointer?: string): Diagnostic[];
@@ -1,7 +1,7 @@
1
- import { diagnostic } from '../diagnostic.js';
2
- import { compileInstanceSchema } from './instance/compiler.js';
3
- import { evaluateInstance } from './instance/evaluator.js';
4
- import { validateCanonicalJsonDomain } from './profile/json.validate.js';
1
+ import { diagnostic } from '../../validation/diagnostic.js';
2
+ import { validateCanonicalJsonDomain } from '../profile/json.validate.js';
3
+ import { evaluateInstance } from './evaluator.js';
4
+ import { prepareValueSchema } from './preparation.js';
5
5
  const validatorCache = new WeakMap();
6
6
  /**
7
7
  * Validate one complete portable value with the admitted V1 Draft 2020-12 profile.
@@ -34,11 +34,10 @@ function preparedInstanceValidator(schema, registry, pointer) {
34
34
  const cached = bySchema.get(schema);
35
35
  if (cached !== undefined)
36
36
  return cached;
37
- const compilation = compileInstanceSchema(schema, registry, pointer);
37
+ const compilation = prepareValueSchema(schema, registry, pointer);
38
38
  const prepared = compilation.compiled
39
39
  ? { kind: 'validator', compiled: compilation.value }
40
40
  : { kind: 'error', message: compilation.message };
41
41
  bySchema.set(schema, prepared);
42
42
  return prepared;
43
43
  }
44
- //# sourceMappingURL=instance.validate.js.map
@@ -0,0 +1,11 @@
1
+ /** Complete V1 inline value language. Named Type Definitions do not exist. */
2
+ export type { JsonSchema as ValueSchema, JsonSchemaObject as ValueSchemaObject, PathAnnotation, PropertyObjectSchema, ValueSchemaContext, } from './model/schema.js';
3
+ export { JSON_SCHEMA_DIALECT, VALUE_SCHEMA_DIALECT, VALUE_SCHEMA_VOCABULARY, } from './model/schema.js';
4
+ export { instant, isInstantValue } from './model/instant.js';
5
+ export { classifyOrdering, type OrderingKind } from './ordering.js';
6
+ export { canonicalizeValueSchema } from './profile/canonicalize.js';
7
+ export { validateValueSchema } from './profile/validate.js';
8
+ export { validateJsonInstance } from './evaluate/validate.js';
9
+ export { prepareValueSchema, type InstanceSchemaCompilation } from './evaluate/preparation.js';
10
+ export type { ValueProgram } from './compile/model.js';
11
+ export type { ValueSchemaRegistry, ValueSchemaDomainRegistry } from './reference/registry.js';
@@ -0,0 +1,8 @@
1
+ /** Complete V1 inline value language. Named Type Definitions do not exist. */
2
+ export { JSON_SCHEMA_DIALECT, VALUE_SCHEMA_DIALECT, VALUE_SCHEMA_VOCABULARY, } from './model/schema.js';
3
+ export { instant, isInstantValue } from './model/instant.js';
4
+ export { classifyOrdering } from './ordering.js';
5
+ export { canonicalizeValueSchema } from './profile/canonicalize.js';
6
+ export { validateValueSchema } from './profile/validate.js';
7
+ export { validateJsonInstance } from './evaluate/validate.js';
8
+ export { prepareValueSchema } from './evaluate/preparation.js';
@@ -1,4 +1,5 @@
1
1
  /** Exact portable UTC millisecond Instant used by the V1 value-schema dialect. */
2
+ /** Canonical value-language annotation for an Instant string. */
2
3
  export declare const INSTANT_VALUE_KIND: 'instant';
3
4
  export declare const instant: Readonly<{
4
5
  readonly type: 'string';
@@ -6,4 +7,3 @@ export declare const instant: Readonly<{
6
7
  }>;
7
8
  /** Test the exact proleptic-Gregorian V1 Instant lexical and calendar domain. */
8
9
  export declare function isInstantValue(input: unknown): input is string;
9
- //# sourceMappingURL=instant.d.ts.map
@@ -1,4 +1,5 @@
1
1
  /** Exact portable UTC millisecond Instant used by the V1 value-schema dialect. */
2
+ /** Canonical value-language annotation for an Instant string. */
2
3
  export const INSTANT_VALUE_KIND = 'instant';
3
4
  export const instant = Object.freeze({
4
5
  type: 'string',
@@ -34,4 +35,3 @@ function daysInMonth(year, month) {
34
35
  function isLeapYear(year) {
35
36
  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
36
37
  }
37
- //# sourceMappingURL=instant.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Object as ValueObject, Value } from '@astrale-os/kernel-dsl/value';
2
2
  /** Internal shape refinement for values that have already crossed portable-value admission. */
3
+ /** Return whether an unknown value is a portable JSON object. */
3
4
  export declare function isValueObject(value: unknown): value is ValueObject;
4
5
  export declare function isValueObject(value: Value): value is ValueObject;
5
- //# sourceMappingURL=object.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export function isValueObject(value) {
2
2
  return value !== null && typeof value === 'object' && !Array.isArray(value);
3
3
  }
4
- //# sourceMappingURL=object.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Object as JsonObject, Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
- import type { DefinitionRef } from '../reference.js';
2
+ import type { ClassRef } from '../../../addressing/index.js';
3
3
  /** Standard dialect on which the Astrale value-schema dialect is based. */
4
4
  export declare const JSON_SCHEMA_DIALECT: 'https://json-schema.org/draft/2020-12/schema';
5
5
  /** Required V1 dialect for every embedded Astrale value schema. */
@@ -19,8 +19,7 @@ export interface PropertyObjectSchema extends JsonSchemaObject {
19
19
  export interface PathAnnotation {
20
20
  readonly target: 'node';
21
21
  readonly cardinality: 'one';
22
- readonly accepts: readonly DefinitionRef[];
22
+ readonly accepts: readonly ClassRef[];
23
23
  }
24
- export declare const VALUE_SCHEMA_CONTEXTS: readonly ['named-type', 'property-facet', 'callable-input', 'callable-output'];
24
+ export declare const VALUE_SCHEMA_CONTEXTS: readonly ['property-facet', 'callable-input', 'callable-output'];
25
25
  export type ValueSchemaContext = (typeof VALUE_SCHEMA_CONTEXTS)[number];
26
- //# sourceMappingURL=schema.d.ts.map
@@ -5,9 +5,7 @@ export const VALUE_SCHEMA_DIALECT = 'https://schemas.astrale.ai/dsl/v1/value-sch
5
5
  /** Required vocabulary carried by the V1 value-schema dialect. */
6
6
  export const VALUE_SCHEMA_VOCABULARY = 'https://schemas.astrale.ai/dsl/v1/value-schema/vocabulary';
7
7
  export const VALUE_SCHEMA_CONTEXTS = [
8
- 'named-type',
9
8
  'property-facet',
10
9
  'callable-input',
11
10
  'callable-output',
12
11
  ];
13
- //# sourceMappingURL=schema.js.map
@@ -1,5 +1,6 @@
1
- import type { ValueSchemaRegistry } from './registry.js';
2
- import type { JsonSchema } from './schema.js';
1
+ import type { ValueProgram } from './compile/model.js';
2
+ import type { JsonSchema } from './model/schema.js';
3
+ import type { ValueSchemaRegistry } from './reference/registry.js';
3
4
  export type OrderingKind = 'boolean' | 'number' | 'string' | 'instant';
4
5
  /**
5
6
  * Classify a schema only when every value it can admit belongs to one sortable scalar domain.
@@ -8,4 +9,5 @@ export type OrderingKind = 'boolean' | 'number' | 'string' | 'instant';
8
9
  * instead of guessing from annotations, examples, formats, or current data.
9
10
  */
10
11
  export declare function classifyOrdering(contract: JsonSchema, registry: ValueSchemaRegistry): OrderingKind | undefined;
11
- //# sourceMappingURL=ordering.d.ts.map
12
+ /** Recompute the scalar ordering classification from one admitted portable value program. */
13
+ export declare function classifyValueProgramOrdering(program: ValueProgram): OrderingKind | undefined;
@@ -1,5 +1,5 @@
1
- import { compileInstanceSchema } from './instance/compiler.js';
2
- import { locationKey } from './resources/closure.js';
1
+ import { loadValueProgram } from './compile/load.js';
2
+ import { prepareValueSchema } from './evaluate/preparation.js';
3
3
  const ALL_JSON_KINDS = new Set([
4
4
  'null',
5
5
  'boolean',
@@ -15,7 +15,7 @@ const ALL_JSON_KINDS = new Set([
15
15
  * instead of guessing from annotations, examples, formats, or current data.
16
16
  */
17
17
  export function classifyOrdering(contract, registry) {
18
- const prepared = compileInstanceSchema(contract, registry, '');
18
+ const prepared = prepareValueSchema(contract, registry, '');
19
19
  if (!prepared.compiled)
20
20
  return undefined;
21
21
  const candidates = new OrderingClassifier(prepared.value).classify(prepared.value.root);
@@ -26,6 +26,17 @@ export function classifyOrdering(contract, registry) {
26
26
  ? kind
27
27
  : undefined;
28
28
  }
29
+ /** Recompute the scalar ordering classification from one admitted portable value program. */
30
+ export function classifyValueProgramOrdering(program) {
31
+ const compiled = loadValueProgram(program);
32
+ const candidates = new OrderingClassifier(compiled).classify(compiled.root);
33
+ if (candidates.size !== 1)
34
+ return undefined;
35
+ const [kind] = candidates;
36
+ return kind === 'boolean' || kind === 'number' || kind === 'string' || kind === 'instant'
37
+ ? kind
38
+ : undefined;
39
+ }
29
40
  class OrderingClassifier {
30
41
  compiled;
31
42
  active = new Set();
@@ -72,10 +83,7 @@ class OrderingClassifier {
72
83
  candidates = intersect(candidates, normalize(new Set(schema.enum.map(kindOfValue))));
73
84
  }
74
85
  if (Object.hasOwn(schema, '$ref')) {
75
- const resolved = this.compiled.resolutions.get(location.key);
76
- if (resolved === undefined)
77
- return new Set();
78
- const target = this.compiled.locations.get(locationKey(resolved.resource.key, resolved.pointer));
86
+ const target = this.compiled.reference(location);
79
87
  if (target === undefined)
80
88
  return new Set();
81
89
  candidates = intersect(candidates, this.classify(target));
@@ -99,12 +107,7 @@ class OrderingClassifier {
99
107
  return candidates;
100
108
  }
101
109
  child(location, keyword, index) {
102
- const suffix = index === undefined ? `/${keyword}` : `/${keyword}/${index}`;
103
- const child = this.compiled.locations.get(`${location.key}${suffix}`);
104
- if (child === undefined) {
105
- throw new TypeError('Prepared value schema child is absent from its closure.');
106
- }
107
- return child;
110
+ return this.compiled.child(location, keyword, index);
108
111
  }
109
112
  }
110
113
  function typesOf(input) {
@@ -169,4 +172,3 @@ function normalize(input) {
169
172
  function schemaList(input) {
170
173
  return Array.isArray(input) ? input : undefined;
171
174
  }
172
- //# sourceMappingURL=ordering.js.map