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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/dist/upgrade/contract.d.ts +0 -1
  5. package/dist/upgrade/contract.js +0 -1
  6. package/dist/upgrade/index.d.ts +0 -1
  7. package/dist/upgrade/index.js +0 -1
  8. package/dist/v1/addressing/class-key.d.ts +12 -0
  9. package/dist/v1/addressing/class-key.js +39 -0
  10. package/dist/v1/addressing/definition-ref.d.ts +28 -0
  11. package/dist/v1/addressing/definition-ref.js +63 -0
  12. package/dist/v1/addressing/domain-dependency.d.ts +18 -0
  13. package/dist/v1/addressing/domain-dependency.js +6 -0
  14. package/dist/v1/addressing/index.d.ts +10 -4
  15. package/dist/v1/addressing/index.js +5 -3
  16. package/dist/v1/addressing/key.d.ts +14 -16
  17. package/dist/v1/addressing/key.js +24 -34
  18. package/dist/v1/addressing/method-address.d.ts +9 -0
  19. package/dist/v1/addressing/method-address.js +1 -0
  20. package/dist/v1/addressing/method-key.d.ts +15 -0
  21. package/dist/v1/addressing/method-key.js +60 -0
  22. package/dist/v1/addressing/ordering.d.ts +6 -0
  23. package/dist/v1/addressing/ordering.js +20 -0
  24. package/dist/v1/addressing/patterns.d.ts +12 -3
  25. package/dist/v1/addressing/patterns.js +11 -2
  26. package/dist/v1/addressing/property-key.d.ts +10 -15
  27. package/dist/v1/addressing/property-key.js +24 -15
  28. package/dist/v1/addressing/revision.d.ts +8 -0
  29. package/dist/v1/addressing/revision.js +8 -0
  30. package/dist/v1/builder/callable/authoring.d.ts +117 -0
  31. package/dist/v1/builder/{callable.js → callable/authoring.js} +28 -7
  32. package/dist/v1/builder/class/authoring.d.ts +378 -0
  33. package/dist/v1/builder/class/authoring.js +134 -0
  34. package/dist/v1/builder/class/property.d.ts +58 -0
  35. package/dist/v1/builder/class/property.js +57 -0
  36. package/dist/v1/builder/core/authoring.d.ts +42 -0
  37. package/dist/v1/builder/core/authoring.js +39 -0
  38. package/dist/v1/builder/index.d.ts +26 -22
  39. package/dist/v1/builder/index.js +11 -11
  40. package/dist/v1/builder/lowering/callable.d.ts +24 -0
  41. package/dist/v1/builder/{compiler → lowering}/callable.js +11 -14
  42. package/dist/v1/builder/lowering/class.d.ts +22 -0
  43. package/dist/v1/builder/lowering/class.js +134 -0
  44. package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
  45. package/dist/v1/builder/{compiler/core.properties.js → lowering/core-properties.js} +14 -8
  46. package/dist/v1/builder/lowering/core.d.ts +22 -0
  47. package/dist/v1/builder/{compiler → lowering}/core.js +17 -11
  48. package/dist/v1/builder/lowering/policy.d.ts +16 -0
  49. package/dist/v1/builder/{compiler → lowering}/policy.js +19 -14
  50. package/dist/v1/builder/{compiler/schema.capture.d.ts → lowering/schema/capture.d.ts} +2 -3
  51. package/dist/v1/builder/lowering/schema/capture.js +70 -0
  52. package/dist/v1/builder/{compiler/schema.d.ts → lowering/schema/compile.d.ts} +4 -4
  53. package/dist/v1/builder/{compiler/schema.js → lowering/schema/compile.js} +34 -44
  54. package/dist/v1/builder/lowering/schema/context.d.ts +44 -0
  55. package/dist/v1/builder/{compiler/schema.context.js → lowering/schema/context.js} +66 -74
  56. package/dist/v1/builder/{compiler/schema.ownership.d.ts → lowering/schema/ownership.d.ts} +1 -2
  57. package/dist/v1/builder/{compiler/schema.ownership.js → lowering/schema/ownership.js} +1 -2
  58. package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
  59. package/dist/v1/builder/{compiler/value.js → lowering/value/compile.js} +44 -61
  60. package/dist/v1/builder/lowering/value/path.d.ts +3 -0
  61. package/dist/v1/builder/{compiler/value.path.js → lowering/value/path.js} +1 -2
  62. package/dist/v1/builder/{compiler/value.zod.d.ts → lowering/value/zod.d.ts} +8 -9
  63. package/dist/v1/builder/{compiler/value.zod.js → lowering/value/zod.js} +10 -11
  64. package/dist/v1/builder/lowering/view.d.ts +11 -0
  65. package/dist/v1/builder/{compiler → lowering}/view.js +7 -7
  66. package/dist/v1/builder/{policy.d.ts → policy/authoring.d.ts} +19 -17
  67. package/dist/v1/builder/{policy.js → policy/authoring.js} +23 -12
  68. package/dist/v1/builder/schema/define.d.ts +11 -0
  69. package/dist/v1/builder/{schema.js → schema/define.js} +1 -2
  70. package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
  71. package/dist/v1/builder/schema/diagnostic.js +31 -0
  72. package/dist/v1/builder/{internal/authoring.d.ts → schema/handle.d.ts} +1 -2
  73. package/dist/v1/builder/{internal/authoring.js → schema/handle.js} +0 -1
  74. package/dist/v1/builder/schema/input.d.ts +15 -0
  75. package/dist/v1/builder/schema/input.js +1 -0
  76. package/dist/v1/builder/{internal/authoring.lazy.d.ts → schema/lazy.d.ts} +0 -1
  77. package/dist/v1/builder/{internal/authoring.lazy.js → schema/lazy.js} +0 -1
  78. package/dist/v1/builder/schema/projection.d.ts +370 -0
  79. package/dist/v1/builder/schema/projection.js +1 -0
  80. package/dist/v1/builder/value/full-match.d.ts +4 -0
  81. package/dist/v1/builder/value/full-match.js +11 -0
  82. package/dist/v1/builder/value/path-metadata.d.ts +4 -0
  83. package/dist/v1/builder/{internal/path.metadata.js → value/path-metadata.js} +0 -1
  84. package/dist/v1/builder/value/path.d.ts +8 -0
  85. package/dist/v1/builder/{path.js → value/path.js} +4 -5
  86. package/dist/v1/builder/{value-schema.d.ts → value/schema.d.ts} +2 -3
  87. package/dist/v1/builder/{value-schema.js → value/schema.js} +0 -1
  88. package/dist/v1/builder/view/authoring.d.ts +17 -0
  89. package/dist/v1/builder/view/authoring.js +16 -0
  90. package/dist/v1/bundle/codec.d.ts +0 -1
  91. package/dist/v1/bundle/codec.js +36 -19
  92. package/dist/v1/bundle/create.d.ts +3 -0
  93. package/dist/v1/bundle/create.js +5 -0
  94. package/dist/v1/bundle/diagnostic.d.ts +10 -0
  95. package/dist/v1/bundle/diagnostic.js +17 -0
  96. package/dist/v1/bundle/index.d.ts +3 -2
  97. package/dist/v1/bundle/index.js +2 -2
  98. package/dist/v1/bundle/model.d.ts +1 -4
  99. package/dist/v1/bundle/model.js +0 -6
  100. package/dist/v1/bundle/structure.d.ts +1 -2
  101. package/dist/v1/bundle/structure.js +6 -6
  102. package/dist/v1/bundle/transport.d.ts +8 -0
  103. package/dist/v1/bundle/transport.js +7 -0
  104. package/dist/v1/compiled/admission/accept.d.ts +3 -0
  105. package/dist/v1/compiled/admission/accept.js +910 -0
  106. package/dist/v1/compiled/admission/revision.d.ts +4 -0
  107. package/dist/v1/compiled/admission/revision.js +73 -0
  108. package/dist/v1/compiled/admission/semantics.d.ts +7 -0
  109. package/dist/v1/compiled/admission/semantics.js +1114 -0
  110. package/dist/v1/compiled/codec/json.d.ts +3 -0
  111. package/dist/v1/compiled/codec/json.js +9 -0
  112. package/dist/v1/compiled/compiler/compile.d.ts +4 -0
  113. package/dist/v1/compiled/compiler/compile.js +113 -0
  114. package/dist/v1/compiled/diagnostic.d.ts +11 -0
  115. package/dist/v1/compiled/diagnostic.js +13 -0
  116. package/dist/v1/compiled/generated.d.ts +10 -0
  117. package/dist/v1/compiled/generated.js +15 -0
  118. package/dist/v1/compiled/index.d.ts +7 -0
  119. package/dist/v1/compiled/index.js +5 -0
  120. package/dist/v1/compiled/loader/index.d.ts +1 -0
  121. package/dist/v1/compiled/loader/index.js +1 -0
  122. package/dist/v1/compiled/loader/load.d.ts +9 -0
  123. package/dist/v1/compiled/loader/load.js +147 -0
  124. package/dist/v1/compiled/model/schema.d.ts +73 -0
  125. package/dist/v1/compiled/model/schema.js +1 -0
  126. package/dist/v1/domain/create.d.ts +8 -0
  127. package/dist/v1/domain/create.js +264 -0
  128. package/dist/v1/domain/index.d.ts +2 -0
  129. package/dist/v1/domain/index.js +1 -0
  130. package/dist/v1/domain/model/domain.d.ts +59 -0
  131. package/dist/v1/domain/model/domain.js +1 -0
  132. package/dist/v1/domain/model/input.d.ts +31 -0
  133. package/dist/v1/domain/model/input.js +1 -0
  134. package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
  135. package/dist/v1/domain/namespace/member-collection.js +81 -0
  136. package/dist/v1/domain/projection/classes.d.ts +4 -0
  137. package/dist/v1/domain/projection/classes.js +198 -0
  138. package/dist/v1/domain/validation/create.d.ts +18 -0
  139. package/dist/v1/domain/validation/create.js +75 -0
  140. package/dist/v1/index.d.ts +14 -5
  141. package/dist/v1/index.js +6 -3
  142. package/dist/v1/language/callable/index.d.ts +2 -0
  143. package/dist/v1/language/callable/index.js +1 -0
  144. package/dist/v1/language/callable/model/callable.d.ts +33 -0
  145. package/dist/v1/language/callable/model/callable.js +1 -0
  146. package/dist/v1/language/callable/resolved.d.ts +68 -0
  147. package/dist/v1/language/callable/resolved.js +1 -0
  148. package/dist/v1/language/class/facets.d.ts +58 -0
  149. package/dist/v1/language/class/facets.js +1 -0
  150. package/dist/v1/language/class/index.d.ts +8 -0
  151. package/dist/v1/language/class/index.js +1 -0
  152. package/dist/v1/language/class/model/class.d.ts +37 -0
  153. package/dist/v1/language/class/model/class.js +1 -0
  154. package/dist/v1/{schema/definition → language/class/model}/data.d.ts +2 -3
  155. package/dist/v1/{schema/definition → language/class/model}/data.js +0 -1
  156. package/dist/v1/{schema/definition → language/class/model}/edge.d.ts +9 -6
  157. package/dist/v1/language/class/model/edge.js +1 -0
  158. package/dist/v1/language/class/model/property.d.ts +17 -0
  159. package/dist/v1/language/class/model/property.js +1 -0
  160. package/dist/v1/language/class/property-values.d.ts +15 -0
  161. package/dist/v1/language/class/property-values.js +30 -0
  162. package/dist/v1/language/class/resolved.d.ts +126 -0
  163. package/dist/v1/language/class/resolved.js +1 -0
  164. package/dist/v1/language/core/index.d.ts +2 -0
  165. package/dist/v1/language/core/index.js +1 -0
  166. package/dist/v1/language/core/model/core.d.ts +20 -0
  167. package/dist/v1/language/core/model/core.js +1 -0
  168. package/dist/v1/language/core/resolved.d.ts +21 -0
  169. package/dist/v1/language/core/resolved.js +1 -0
  170. package/dist/v1/{schema → language/definition}/metadata.d.ts +0 -1
  171. package/dist/v1/{schema → language/definition}/metadata.js +0 -1
  172. package/dist/v1/language/definition.d.ts +7 -0
  173. package/dist/v1/language/definition.js +1 -0
  174. package/dist/v1/language/index.d.ts +25 -0
  175. package/dist/v1/language/index.js +2 -0
  176. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.d.ts +2 -4
  177. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.js +14 -30
  178. package/dist/v1/{schema/policy/validation → language/policy/analysis}/budgets.d.ts +1 -4
  179. package/dist/v1/language/policy/analysis/budgets.js +25 -0
  180. package/dist/v1/language/policy/index.d.ts +3 -0
  181. package/dist/v1/language/policy/index.js +1 -0
  182. package/dist/v1/{schema/policy/ast.d.ts → language/policy/model/policy.d.ts} +7 -7
  183. package/dist/v1/language/policy/model/policy.js +1 -0
  184. package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
  185. package/dist/v1/{schema/policy → language/policy/normalization}/normalize.js +12 -16
  186. package/dist/v1/language/policy/resolved.d.ts +9 -0
  187. package/dist/v1/language/policy/resolved.js +1 -0
  188. package/dist/v1/language/resolved.d.ts +10 -0
  189. package/dist/v1/language/resolved.js +1 -0
  190. package/dist/v1/language/state/index.d.ts +3 -0
  191. package/dist/v1/language/state/index.js +1 -0
  192. package/dist/v1/language/state/machine.d.ts +28 -0
  193. package/dist/v1/language/state/machine.js +40 -0
  194. package/dist/v1/language/state/topology.d.ts +14 -0
  195. package/dist/v1/language/state/topology.js +69 -0
  196. package/dist/v1/language/validation/diagnostic.d.ts +8 -0
  197. package/dist/v1/language/validation/diagnostic.js +3 -0
  198. package/dist/v1/language/value/compile/fields.d.ts +3 -0
  199. package/dist/v1/language/value/compile/fields.js +60 -0
  200. package/dist/v1/language/value/compile/load.d.ts +4 -0
  201. package/dist/v1/language/value/compile/load.js +41 -0
  202. package/dist/v1/language/value/compile/model.d.ts +27 -0
  203. package/dist/v1/language/value/compile/model.js +1 -0
  204. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.d.ts +0 -1
  205. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.js +1 -2
  206. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.d.ts +0 -1
  207. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.js +6 -18
  208. package/dist/v1/{schema/value/instance/compiler.d.ts → language/value/evaluate/preparation.d.ts} +4 -4
  209. package/dist/v1/language/value/evaluate/preparation.js +135 -0
  210. package/dist/v1/language/value/evaluate/program.d.ts +3 -0
  211. package/dist/v1/language/value/evaluate/program.js +16 -0
  212. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.d.ts +8 -5
  213. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.js +0 -1
  214. package/dist/v1/{schema/value/instance.validate.d.ts → language/value/evaluate/validate.d.ts} +4 -5
  215. package/dist/v1/{schema/value/instance.validate.js → language/value/evaluate/validate.js} +5 -6
  216. package/dist/v1/language/value/index.d.ts +11 -0
  217. package/dist/v1/language/value/index.js +8 -0
  218. package/dist/v1/{schema/value → language/value/model}/instant.d.ts +1 -1
  219. package/dist/v1/{schema/value → language/value/model}/instant.js +1 -1
  220. package/dist/v1/{schema/value → language/value/model}/object.d.ts +1 -1
  221. package/dist/v1/{schema/value → language/value/model}/object.js +0 -1
  222. package/dist/v1/{schema/value → language/value/model}/schema.d.ts +3 -4
  223. package/dist/v1/{schema/value → language/value/model}/schema.js +0 -2
  224. package/dist/v1/{schema → language}/value/ordering.d.ts +5 -3
  225. package/dist/v1/{schema → language}/value/ordering.js +16 -14
  226. package/dist/v1/{schema → language}/value/profile/canonicalize.d.ts +2 -3
  227. package/dist/v1/{schema → language}/value/profile/canonicalize.js +4 -7
  228. package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
  229. package/dist/v1/{schema → language}/value/profile/json.validate.js +1 -2
  230. package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.d.ts +0 -1
  231. package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.js +1 -2
  232. package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
  233. package/dist/v1/{schema/value/profile/meta-schema.validate.js → language/value/profile/meta-schema.js} +2 -2
  234. package/dist/v1/language/value/profile/rules.d.ts +3 -0
  235. package/dist/v1/{schema → language}/value/profile/rules.js +7 -50
  236. package/dist/v1/language/value/profile/validate.d.ts +4 -0
  237. package/dist/v1/{schema → language}/value/profile/validate.js +14 -22
  238. package/dist/v1/{schema → language}/value/profile/vocabulary.d.ts +0 -1
  239. package/dist/v1/{schema → language}/value/profile/vocabulary.js +0 -1
  240. package/dist/v1/language/value/reference/closure.d.ts +11 -0
  241. package/dist/v1/{schema/value/resources → language/value/reference}/closure.js +13 -21
  242. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.d.ts +3 -4
  243. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.js +5 -6
  244. package/dist/v1/language/value/reference/references.d.ts +17 -0
  245. package/dist/v1/language/value/reference/references.js +45 -0
  246. package/dist/v1/{schema/value → language/value/reference}/registry.d.ts +9 -7
  247. package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
  248. package/dist/v1/{schema/value/resources → language/value/reference}/registry.index.js +7 -45
  249. package/dist/v1/language/value/reference/registry.js +1 -0
  250. package/dist/v1/language/value/regexp/ast.d.ts +21 -0
  251. package/dist/v1/language/value/regexp/ast.js +326 -0
  252. package/dist/v1/language/value/regexp/compile.d.ts +3 -0
  253. package/dist/v1/language/value/regexp/compile.js +96 -0
  254. package/dist/v1/{schema → language}/value/regexp/lower.d.ts +1 -2
  255. package/dist/v1/{schema → language}/value/regexp/lower.js +2 -3
  256. package/dist/v1/language/value/regexp/matcher.d.ts +7 -0
  257. package/dist/v1/language/value/regexp/matcher.js +50 -0
  258. package/dist/v1/{schema → language}/value/regexp/pattern.d.ts +0 -1
  259. package/dist/v1/{schema → language}/value/regexp/pattern.js +0 -1
  260. package/dist/v1/language/value/regexp/syntax.d.ts +2 -0
  261. package/dist/v1/language/value/regexp/syntax.js +5 -0
  262. package/dist/v1/language/value/syntax/full-match.d.ts +6 -0
  263. package/dist/v1/language/value/syntax/full-match.js +20 -0
  264. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.d.ts +0 -1
  265. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.js +0 -1
  266. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.d.ts +1 -2
  267. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.js +2 -3
  268. package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
  269. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/validate.js +16 -18
  270. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.d.ts +0 -1
  271. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.js +1 -2
  272. package/dist/v1/{schema/value/location → language/value/syntax}/walk.d.ts +1 -2
  273. package/dist/v1/{schema/value/location → language/value/syntax}/walk.js +1 -2
  274. package/dist/v1/language/view/index.d.ts +2 -0
  275. package/dist/v1/language/view/index.js +1 -0
  276. package/dist/v1/language/view/model/view.d.ts +11 -0
  277. package/dist/v1/language/view/model/view.js +1 -0
  278. package/dist/v1/language/view/resolved.d.ts +9 -0
  279. package/dist/v1/language/view/resolved.js +1 -0
  280. package/dist/v1/schema/admission/accept.d.ts +3 -0
  281. package/dist/v1/schema/{domain.accept.js → admission/accept.js} +8 -9
  282. package/dist/v1/schema/{definition/analysis.d.ts → analysis/class.d.ts} +17 -18
  283. package/dist/v1/schema/{definition/analysis.js → analysis/class.js} +21 -30
  284. package/dist/v1/schema/canonical/domain.d.ts +2 -2
  285. package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
  286. package/dist/v1/schema/canonical/domain.digest.js +2 -6
  287. package/dist/v1/schema/canonical/domain.js +3 -224
  288. package/dist/v1/schema/canonical/freeze.d.ts +0 -1
  289. package/dist/v1/schema/canonical/freeze.js +0 -1
  290. package/dist/v1/schema/{domain.revision.d.ts → canonical/revision.d.ts} +2 -3
  291. package/dist/v1/schema/{domain.revision.js → canonical/revision.js} +3 -4
  292. package/dist/v1/schema/codec/header.d.ts +17 -0
  293. package/dist/v1/schema/codec/header.js +26 -0
  294. package/dist/v1/schema/{domain.codec.d.ts → codec/schema.d.ts} +2 -3
  295. package/dist/v1/schema/{domain.codec.js → codec/schema.js} +4 -5
  296. package/dist/v1/schema/{dependency.meaning.d.ts → compatibility/meaning.d.ts} +4 -5
  297. package/dist/v1/schema/{dependency.meaning.js → compatibility/meaning.js} +121 -124
  298. package/dist/v1/schema/{domain.lookup.d.ts → dependency/lookup.d.ts} +3 -4
  299. package/dist/v1/schema/{domain.lookup.js → dependency/lookup.js} +1 -2
  300. package/dist/v1/schema/diagnostic.d.ts +7 -7
  301. package/dist/v1/schema/diagnostic.js +9 -9
  302. package/dist/v1/schema/index.d.ts +24 -34
  303. package/dist/v1/schema/index.js +11 -14
  304. package/dist/v1/schema/model/format.d.ts +2 -0
  305. package/dist/v1/schema/model/format.js +2 -0
  306. package/dist/v1/schema/model/schema.d.ts +30 -0
  307. package/dist/v1/schema/model/schema.js +4 -0
  308. package/dist/v1/schema/normalization/domain.d.ts +2 -0
  309. package/dist/v1/schema/normalization/domain.js +210 -0
  310. package/dist/v1/schema/resolution/closure.d.ts +3 -4
  311. package/dist/v1/schema/resolution/closure.js +6 -7
  312. package/dist/v1/schema/resolution/context.d.ts +11 -12
  313. package/dist/v1/schema/resolution/context.js +82 -50
  314. package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
  315. package/dist/v1/schema/resolution/definition.index.js +8 -18
  316. package/dist/v1/schema/resolution/domain.d.ts +4 -0
  317. package/dist/v1/schema/resolution/domain.js +112 -0
  318. package/dist/v1/schema/resolution/origins.d.ts +11 -14
  319. package/dist/v1/schema/resolution/origins.js +31 -44
  320. package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
  321. package/dist/v1/schema/resolution/value.registry.js +7 -14
  322. package/dist/v1/schema/revision.d.ts +1 -0
  323. package/dist/v1/schema/revision.js +1 -0
  324. package/dist/v1/schema/validation/class.d.ts +5 -0
  325. package/dist/v1/schema/validation/class.js +257 -0
  326. package/dist/v1/schema/validation/core.d.ts +5 -0
  327. package/dist/v1/schema/{core/validate.js → validation/core.js} +39 -30
  328. package/dist/v1/schema/validation/domain.d.ts +11 -0
  329. package/dist/v1/schema/{domain.validate.js → validation/domain.js} +12 -12
  330. package/dist/v1/schema/validation/domain.route.d.ts +1 -2
  331. package/dist/v1/schema/validation/domain.route.js +3 -4
  332. package/dist/v1/schema/validation/domain.structure.d.ts +3 -4
  333. package/dist/v1/schema/validation/domain.structure.js +203 -207
  334. package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
  335. package/dist/v1/schema/{policy/validation → validation/policy}/budgets.js +2 -32
  336. package/dist/v1/schema/validation/policy/context.d.ts +28 -0
  337. package/dist/v1/schema/{policy/validation → validation/policy}/context.js +23 -33
  338. package/dist/v1/schema/{policy/validation → validation/policy}/references.d.ts +0 -1
  339. package/dist/v1/schema/{policy/validation → validation/policy}/references.js +18 -11
  340. package/dist/v1/schema/{policy/validation → validation/policy}/typing.d.ts +4 -8
  341. package/dist/v1/schema/{policy/validation → validation/policy}/typing.js +25 -67
  342. package/dist/v1/schema/{policy/validation → validation/policy}/uses.d.ts +0 -1
  343. package/dist/v1/schema/{policy/validation → validation/policy}/uses.js +27 -63
  344. package/dist/v1/schema/{policy/validation → validation/policy}/validate.d.ts +3 -4
  345. package/dist/v1/schema/{policy/validation → validation/policy}/validate.js +0 -1
  346. package/dist/v1/schema/{value/index.d.ts → validation/value-api.d.ts} +9 -10
  347. package/dist/v1/schema/{value/index.js → validation/value-api.js} +4 -5
  348. package/dist/v1/schema/validation/value.d.ts +4 -5
  349. package/dist/v1/schema/validation/value.js +4 -9
  350. package/dist/v1/schema/validation/view.d.ts +3 -0
  351. package/dist/v1/schema/{view/validate.js → validation/view.js} +11 -4
  352. package/dist/v1/value/full-match.d.ts +2 -0
  353. package/dist/v1/value/full-match.js +2 -0
  354. package/dist/v1.d.ts +1 -2
  355. package/dist/v1.js +1 -2
  356. package/dist/value/accept.d.ts +0 -1
  357. package/dist/value/accept.js +0 -1
  358. package/dist/value/canonical.d.ts +0 -1
  359. package/dist/value/canonical.js +0 -1
  360. package/dist/value/decode.d.ts +0 -1
  361. package/dist/value/decode.js +0 -1
  362. package/dist/value/equal.d.ts +0 -1
  363. package/dist/value/equal.js +0 -1
  364. package/dist/value/error.d.ts +0 -1
  365. package/dist/value/error.js +0 -1
  366. package/dist/value/index.d.ts +0 -1
  367. package/dist/value/index.js +0 -1
  368. package/dist/value/json.d.ts +0 -1
  369. package/dist/value/json.js +0 -1
  370. package/dist/value/limits.d.ts +0 -1
  371. package/dist/value/limits.js +0 -1
  372. package/dist/value/types.d.ts +0 -1
  373. package/dist/value/types.js +0 -1
  374. package/dist/value/unicode.d.ts +0 -1
  375. package/dist/value/unicode.js +0 -1
  376. package/dist/version/dispatch.d.ts +0 -1
  377. package/dist/version/dispatch.js +0 -1
  378. package/dist/version/index.d.ts +0 -1
  379. package/dist/version/index.js +0 -1
  380. package/package.json +69 -13
  381. package/dist/index.d.ts.map +0 -1
  382. package/dist/index.js.map +0 -1
  383. package/dist/upgrade/contract.d.ts.map +0 -1
  384. package/dist/upgrade/contract.js.map +0 -1
  385. package/dist/upgrade/index.d.ts.map +0 -1
  386. package/dist/upgrade/index.js.map +0 -1
  387. package/dist/v1/addressing/index.d.ts.map +0 -1
  388. package/dist/v1/addressing/index.js.map +0 -1
  389. package/dist/v1/addressing/key.d.ts.map +0 -1
  390. package/dist/v1/addressing/key.js.map +0 -1
  391. package/dist/v1/addressing/patterns.d.ts.map +0 -1
  392. package/dist/v1/addressing/patterns.js.map +0 -1
  393. package/dist/v1/addressing/property-key.d.ts.map +0 -1
  394. package/dist/v1/addressing/property-key.js.map +0 -1
  395. package/dist/v1/addressing/ref.d.ts +0 -35
  396. package/dist/v1/addressing/ref.d.ts.map +0 -1
  397. package/dist/v1/addressing/ref.js +0 -94
  398. package/dist/v1/addressing/ref.js.map +0 -1
  399. package/dist/v1/addressing/schema-ref.d.ts +0 -8
  400. package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
  401. package/dist/v1/addressing/schema-ref.js +0 -2
  402. package/dist/v1/addressing/schema-ref.js.map +0 -1
  403. package/dist/v1/builder/callable.d.ts +0 -92
  404. package/dist/v1/builder/callable.d.ts.map +0 -1
  405. package/dist/v1/builder/callable.js.map +0 -1
  406. package/dist/v1/builder/compiler/callable.d.ts +0 -20
  407. package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
  408. package/dist/v1/builder/compiler/callable.js.map +0 -1
  409. package/dist/v1/builder/compiler/core.d.ts +0 -6
  410. package/dist/v1/builder/compiler/core.d.ts.map +0 -1
  411. package/dist/v1/builder/compiler/core.js.map +0 -1
  412. package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
  413. package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
  414. package/dist/v1/builder/compiler/core.properties.js.map +0 -1
  415. package/dist/v1/builder/compiler/definition.d.ts +0 -32
  416. package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
  417. package/dist/v1/builder/compiler/definition.js +0 -197
  418. package/dist/v1/builder/compiler/definition.js.map +0 -1
  419. package/dist/v1/builder/compiler/policy.d.ts +0 -17
  420. package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
  421. package/dist/v1/builder/compiler/policy.js.map +0 -1
  422. package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
  423. package/dist/v1/builder/compiler/schema.capture.js +0 -85
  424. package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
  425. package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
  426. package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
  427. package/dist/v1/builder/compiler/schema.context.js.map +0 -1
  428. package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
  429. package/dist/v1/builder/compiler/schema.js.map +0 -1
  430. package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
  431. package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
  432. package/dist/v1/builder/compiler/value.d.ts +0 -26
  433. package/dist/v1/builder/compiler/value.d.ts.map +0 -1
  434. package/dist/v1/builder/compiler/value.js.map +0 -1
  435. package/dist/v1/builder/compiler/value.path.d.ts +0 -4
  436. package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
  437. package/dist/v1/builder/compiler/value.path.js.map +0 -1
  438. package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
  439. package/dist/v1/builder/compiler/value.zod.js.map +0 -1
  440. package/dist/v1/builder/compiler/view.d.ts +0 -12
  441. package/dist/v1/builder/compiler/view.d.ts.map +0 -1
  442. package/dist/v1/builder/compiler/view.js.map +0 -1
  443. package/dist/v1/builder/core.d.ts +0 -27
  444. package/dist/v1/builder/core.d.ts.map +0 -1
  445. package/dist/v1/builder/core.js +0 -21
  446. package/dist/v1/builder/core.js.map +0 -1
  447. package/dist/v1/builder/definition.d.ts +0 -155
  448. package/dist/v1/builder/definition.d.ts.map +0 -1
  449. package/dist/v1/builder/definition.js +0 -141
  450. package/dist/v1/builder/definition.js.map +0 -1
  451. package/dist/v1/builder/full-match.d.ts +0 -12
  452. package/dist/v1/builder/full-match.d.ts.map +0 -1
  453. package/dist/v1/builder/full-match.js +0 -21
  454. package/dist/v1/builder/full-match.js.map +0 -1
  455. package/dist/v1/builder/index.d.ts.map +0 -1
  456. package/dist/v1/builder/index.js.map +0 -1
  457. package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
  458. package/dist/v1/builder/internal/authoring.js.map +0 -1
  459. package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
  460. package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
  461. package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
  462. package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
  463. package/dist/v1/builder/internal/diagnostic.js +0 -16
  464. package/dist/v1/builder/internal/diagnostic.js.map +0 -1
  465. package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
  466. package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
  467. package/dist/v1/builder/internal/path.metadata.js.map +0 -1
  468. package/dist/v1/builder/path.d.ts +0 -9
  469. package/dist/v1/builder/path.d.ts.map +0 -1
  470. package/dist/v1/builder/path.js.map +0 -1
  471. package/dist/v1/builder/policy.d.ts.map +0 -1
  472. package/dist/v1/builder/policy.js.map +0 -1
  473. package/dist/v1/builder/property.d.ts +0 -37
  474. package/dist/v1/builder/property.d.ts.map +0 -1
  475. package/dist/v1/builder/property.js +0 -36
  476. package/dist/v1/builder/property.js.map +0 -1
  477. package/dist/v1/builder/schema.d.ts +0 -6
  478. package/dist/v1/builder/schema.d.ts.map +0 -1
  479. package/dist/v1/builder/schema.input.d.ts +0 -19
  480. package/dist/v1/builder/schema.input.d.ts.map +0 -1
  481. package/dist/v1/builder/schema.input.js +0 -2
  482. package/dist/v1/builder/schema.input.js.map +0 -1
  483. package/dist/v1/builder/schema.js.map +0 -1
  484. package/dist/v1/builder/value-schema.d.ts.map +0 -1
  485. package/dist/v1/builder/value-schema.js.map +0 -1
  486. package/dist/v1/builder/view.d.ts +0 -19
  487. package/dist/v1/builder/view.d.ts.map +0 -1
  488. package/dist/v1/builder/view.js +0 -7
  489. package/dist/v1/builder/view.js.map +0 -1
  490. package/dist/v1/builder.d.ts +0 -3
  491. package/dist/v1/builder.d.ts.map +0 -1
  492. package/dist/v1/builder.js +0 -2
  493. package/dist/v1/builder.js.map +0 -1
  494. package/dist/v1/bundle/codec.d.ts.map +0 -1
  495. package/dist/v1/bundle/codec.js.map +0 -1
  496. package/dist/v1/bundle/index.d.ts.map +0 -1
  497. package/dist/v1/bundle/index.js.map +0 -1
  498. package/dist/v1/bundle/model.d.ts.map +0 -1
  499. package/dist/v1/bundle/model.js.map +0 -1
  500. package/dist/v1/bundle/structure.d.ts.map +0 -1
  501. package/dist/v1/bundle/structure.js.map +0 -1
  502. package/dist/v1/bundle.d.ts +0 -3
  503. package/dist/v1/bundle.d.ts.map +0 -1
  504. package/dist/v1/bundle.js +0 -3
  505. package/dist/v1/bundle.js.map +0 -1
  506. package/dist/v1/index.d.ts.map +0 -1
  507. package/dist/v1/index.js.map +0 -1
  508. package/dist/v1/schema/callable.d.ts +0 -29
  509. package/dist/v1/schema/callable.d.ts.map +0 -1
  510. package/dist/v1/schema/callable.js +0 -2
  511. package/dist/v1/schema/callable.js.map +0 -1
  512. package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
  513. package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
  514. package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
  515. package/dist/v1/schema/canonical/domain.js.map +0 -1
  516. package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
  517. package/dist/v1/schema/canonical/freeze.js.map +0 -1
  518. package/dist/v1/schema/core/declaration.d.ts +0 -17
  519. package/dist/v1/schema/core/declaration.d.ts.map +0 -1
  520. package/dist/v1/schema/core/declaration.js +0 -2
  521. package/dist/v1/schema/core/declaration.js.map +0 -1
  522. package/dist/v1/schema/core/validate.d.ts +0 -6
  523. package/dist/v1/schema/core/validate.d.ts.map +0 -1
  524. package/dist/v1/schema/core/validate.js.map +0 -1
  525. package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
  526. package/dist/v1/schema/definition/analysis.js.map +0 -1
  527. package/dist/v1/schema/definition/class.d.ts +0 -28
  528. package/dist/v1/schema/definition/class.d.ts.map +0 -1
  529. package/dist/v1/schema/definition/class.js +0 -2
  530. package/dist/v1/schema/definition/class.js.map +0 -1
  531. package/dist/v1/schema/definition/data.d.ts.map +0 -1
  532. package/dist/v1/schema/definition/data.js.map +0 -1
  533. package/dist/v1/schema/definition/edge.d.ts.map +0 -1
  534. package/dist/v1/schema/definition/edge.js +0 -2
  535. package/dist/v1/schema/definition/edge.js.map +0 -1
  536. package/dist/v1/schema/definition/interface.d.ts +0 -22
  537. package/dist/v1/schema/definition/interface.d.ts.map +0 -1
  538. package/dist/v1/schema/definition/interface.js +0 -2
  539. package/dist/v1/schema/definition/interface.js.map +0 -1
  540. package/dist/v1/schema/definition/property.d.ts +0 -18
  541. package/dist/v1/schema/definition/property.d.ts.map +0 -1
  542. package/dist/v1/schema/definition/property.js +0 -2
  543. package/dist/v1/schema/definition/property.js.map +0 -1
  544. package/dist/v1/schema/definition/validate.d.ts +0 -5
  545. package/dist/v1/schema/definition/validate.d.ts.map +0 -1
  546. package/dist/v1/schema/definition/validate.js +0 -221
  547. package/dist/v1/schema/definition/validate.js.map +0 -1
  548. package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
  549. package/dist/v1/schema/dependency.meaning.js.map +0 -1
  550. package/dist/v1/schema/diagnostic.d.ts.map +0 -1
  551. package/dist/v1/schema/diagnostic.js.map +0 -1
  552. package/dist/v1/schema/domain.accept.d.ts +0 -4
  553. package/dist/v1/schema/domain.accept.d.ts.map +0 -1
  554. package/dist/v1/schema/domain.accept.js.map +0 -1
  555. package/dist/v1/schema/domain.codec.d.ts.map +0 -1
  556. package/dist/v1/schema/domain.codec.js.map +0 -1
  557. package/dist/v1/schema/domain.header.d.ts +0 -15
  558. package/dist/v1/schema/domain.header.d.ts.map +0 -1
  559. package/dist/v1/schema/domain.header.js +0 -21
  560. package/dist/v1/schema/domain.header.js.map +0 -1
  561. package/dist/v1/schema/domain.ir.d.ts +0 -40
  562. package/dist/v1/schema/domain.ir.d.ts.map +0 -1
  563. package/dist/v1/schema/domain.ir.js +0 -5
  564. package/dist/v1/schema/domain.ir.js.map +0 -1
  565. package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
  566. package/dist/v1/schema/domain.lookup.js.map +0 -1
  567. package/dist/v1/schema/domain.resolve.d.ts +0 -26
  568. package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
  569. package/dist/v1/schema/domain.resolve.js +0 -43
  570. package/dist/v1/schema/domain.resolve.js.map +0 -1
  571. package/dist/v1/schema/domain.revision.d.ts.map +0 -1
  572. package/dist/v1/schema/domain.revision.js.map +0 -1
  573. package/dist/v1/schema/domain.validate.d.ts +0 -12
  574. package/dist/v1/schema/domain.validate.d.ts.map +0 -1
  575. package/dist/v1/schema/domain.validate.js.map +0 -1
  576. package/dist/v1/schema/index.d.ts.map +0 -1
  577. package/dist/v1/schema/index.js.map +0 -1
  578. package/dist/v1/schema/metadata.d.ts.map +0 -1
  579. package/dist/v1/schema/metadata.js.map +0 -1
  580. package/dist/v1/schema/policy/ast.d.ts.map +0 -1
  581. package/dist/v1/schema/policy/ast.js +0 -2
  582. package/dist/v1/schema/policy/ast.js.map +0 -1
  583. package/dist/v1/schema/policy/normalize.d.ts +0 -5
  584. package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
  585. package/dist/v1/schema/policy/normalize.js.map +0 -1
  586. package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
  587. package/dist/v1/schema/policy/validation/branches.js.map +0 -1
  588. package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
  589. package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
  590. package/dist/v1/schema/policy/validation/context.d.ts +0 -28
  591. package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
  592. package/dist/v1/schema/policy/validation/context.js.map +0 -1
  593. package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
  594. package/dist/v1/schema/policy/validation/references.js.map +0 -1
  595. package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
  596. package/dist/v1/schema/policy/validation/typing.js.map +0 -1
  597. package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
  598. package/dist/v1/schema/policy/validation/uses.js.map +0 -1
  599. package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
  600. package/dist/v1/schema/policy/validation/validate.js.map +0 -1
  601. package/dist/v1/schema/reference.d.ts +0 -43
  602. package/dist/v1/schema/reference.d.ts.map +0 -1
  603. package/dist/v1/schema/reference.js +0 -31
  604. package/dist/v1/schema/reference.js.map +0 -1
  605. package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
  606. package/dist/v1/schema/resolution/closure.js.map +0 -1
  607. package/dist/v1/schema/resolution/context.d.ts.map +0 -1
  608. package/dist/v1/schema/resolution/context.js.map +0 -1
  609. package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
  610. package/dist/v1/schema/resolution/definition.index.js.map +0 -1
  611. package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
  612. package/dist/v1/schema/resolution/origins.js.map +0 -1
  613. package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
  614. package/dist/v1/schema/resolution/value.registry.js.map +0 -1
  615. package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
  616. package/dist/v1/schema/validation/domain.route.js.map +0 -1
  617. package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
  618. package/dist/v1/schema/validation/domain.structure.js.map +0 -1
  619. package/dist/v1/schema/validation/value.d.ts.map +0 -1
  620. package/dist/v1/schema/validation/value.js.map +0 -1
  621. package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
  622. package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
  623. package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
  624. package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
  625. package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
  626. package/dist/v1/schema/value/index.d.ts.map +0 -1
  627. package/dist/v1/schema/value/index.js.map +0 -1
  628. package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
  629. package/dist/v1/schema/value/instance/assertions.js.map +0 -1
  630. package/dist/v1/schema/value/instance/compiler.d.ts.map +0 -1
  631. package/dist/v1/schema/value/instance/compiler.js +0 -69
  632. package/dist/v1/schema/value/instance/compiler.js.map +0 -1
  633. package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
  634. package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
  635. package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
  636. package/dist/v1/schema/value/instance/types.js.map +0 -1
  637. package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
  638. package/dist/v1/schema/value/instance.validate.js.map +0 -1
  639. package/dist/v1/schema/value/instant.d.ts.map +0 -1
  640. package/dist/v1/schema/value/instant.js.map +0 -1
  641. package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
  642. package/dist/v1/schema/value/location/keywords.js.map +0 -1
  643. package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
  644. package/dist/v1/schema/value/location/pointer.js.map +0 -1
  645. package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
  646. package/dist/v1/schema/value/location/walk.js.map +0 -1
  647. package/dist/v1/schema/value/object.d.ts.map +0 -1
  648. package/dist/v1/schema/value/object.js.map +0 -1
  649. package/dist/v1/schema/value/ordering.d.ts.map +0 -1
  650. package/dist/v1/schema/value/ordering.js.map +0 -1
  651. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
  652. package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
  653. package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
  654. package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
  655. package/dist/v1/schema/value/profile/dialect.js +0 -36
  656. package/dist/v1/schema/value/profile/dialect.js.map +0 -1
  657. package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
  658. package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
  659. package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
  660. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts.map +0 -1
  661. package/dist/v1/schema/value/profile/meta-schema.compiled.js.map +0 -1
  662. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts +0 -4
  663. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts.map +0 -1
  664. package/dist/v1/schema/value/profile/meta-schema.validate.js.map +0 -1
  665. package/dist/v1/schema/value/profile/rules.d.ts +0 -5
  666. package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
  667. package/dist/v1/schema/value/profile/rules.js.map +0 -1
  668. package/dist/v1/schema/value/profile/validate.d.ts +0 -5
  669. package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
  670. package/dist/v1/schema/value/profile/validate.js.map +0 -1
  671. package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
  672. package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
  673. package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
  674. package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
  675. package/dist/v1/schema/value/regexp/linear.js +0 -24
  676. package/dist/v1/schema/value/regexp/linear.js.map +0 -1
  677. package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
  678. package/dist/v1/schema/value/regexp/lower.js.map +0 -1
  679. package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
  680. package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
  681. package/dist/v1/schema/value/regexp/syntax.d.ts +0 -3
  682. package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
  683. package/dist/v1/schema/value/regexp/syntax.js +0 -217
  684. package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
  685. package/dist/v1/schema/value/registry.d.ts.map +0 -1
  686. package/dist/v1/schema/value/registry.js +0 -2
  687. package/dist/v1/schema/value/registry.js.map +0 -1
  688. package/dist/v1/schema/value/resources/closure.d.ts +0 -12
  689. package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
  690. package/dist/v1/schema/value/resources/closure.js.map +0 -1
  691. package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
  692. package/dist/v1/schema/value/resources/recursion.js.map +0 -1
  693. package/dist/v1/schema/value/resources/references.d.ts +0 -25
  694. package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
  695. package/dist/v1/schema/value/resources/references.js +0 -93
  696. package/dist/v1/schema/value/resources/references.js.map +0 -1
  697. package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
  698. package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
  699. package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
  700. package/dist/v1/schema/value/schema.d.ts.map +0 -1
  701. package/dist/v1/schema/value/schema.js.map +0 -1
  702. package/dist/v1/schema/view/declaration.d.ts +0 -14
  703. package/dist/v1/schema/view/declaration.d.ts.map +0 -1
  704. package/dist/v1/schema/view/declaration.js +0 -2
  705. package/dist/v1/schema/view/declaration.js.map +0 -1
  706. package/dist/v1/schema/view/validate.d.ts +0 -4
  707. package/dist/v1/schema/view/validate.d.ts.map +0 -1
  708. package/dist/v1/schema/view/validate.js.map +0 -1
  709. package/dist/v1/schema.d.ts +0 -3
  710. package/dist/v1/schema.d.ts.map +0 -1
  711. package/dist/v1/schema.js +0 -3
  712. package/dist/v1/schema.js.map +0 -1
  713. package/dist/v1.d.ts.map +0 -1
  714. package/dist/v1.js.map +0 -1
  715. package/dist/value/accept.d.ts.map +0 -1
  716. package/dist/value/accept.js.map +0 -1
  717. package/dist/value/canonical.d.ts.map +0 -1
  718. package/dist/value/canonical.js.map +0 -1
  719. package/dist/value/decode.d.ts.map +0 -1
  720. package/dist/value/decode.js.map +0 -1
  721. package/dist/value/equal.d.ts.map +0 -1
  722. package/dist/value/equal.js.map +0 -1
  723. package/dist/value/error.d.ts.map +0 -1
  724. package/dist/value/error.js.map +0 -1
  725. package/dist/value/index.d.ts.map +0 -1
  726. package/dist/value/index.js.map +0 -1
  727. package/dist/value/json.d.ts.map +0 -1
  728. package/dist/value/json.js.map +0 -1
  729. package/dist/value/limits.d.ts.map +0 -1
  730. package/dist/value/limits.js.map +0 -1
  731. package/dist/value/types.d.ts.map +0 -1
  732. package/dist/value/types.js.map +0 -1
  733. package/dist/value/unicode.d.ts.map +0 -1
  734. package/dist/value/unicode.js.map +0 -1
  735. package/dist/version/dispatch.d.ts.map +0 -1
  736. package/dist/version/dispatch.js.map +0 -1
  737. package/dist/version/index.d.ts.map +0 -1
  738. package/dist/version/index.js.map +0 -1
@@ -1,71 +1,68 @@
1
- import { z } from 'zod';
1
+ import { array, boolean, custom, discriminatedUnion, enum as enumeration, lazy, literal, null as nullSchema, number, record, strictObject, string, tuple, union, } from 'zod';
2
2
  import { PropertyKey as SemanticPropertyKey } from '../../addressing/index.js';
3
- import { MEDIA_TYPE_PATTERN } from '../definition/data.js';
4
- import { DomainSchemaError, diagnostic } from '../diagnostic.js';
5
- import * as metadata from '../metadata.js';
6
- import { CORE_SLUG_PATTERN, DOMAIN_FORMAT, DOMAIN_ORIGIN_PATTERN, DOMAIN_REVISION_PATTERN, DOMAIN_VERSION, MEMBER_NAME_PATTERN, } from '../reference.js';
7
- const originSchema = z.string().min(3).max(253).regex(DOMAIN_ORIGIN_PATTERN);
8
- const memberNameSchema = z.string().regex(MEMBER_NAME_PATTERN);
9
- const propertyKeySchema = z
10
- .string()
11
- .refine(SemanticPropertyKey.is, 'Expected a canonical PropertyKey.');
12
- const coreSlugSchema = z.string().min(1).max(100).regex(CORE_SLUG_PATTERN);
13
- const revisionSchema = z.string().regex(DOMAIN_REVISION_PATTERN);
14
- const descriptionSchema = z
15
- .string()
3
+ import { CORE_SLUG_PATTERN, DEPENDENCY_ALIAS_PATTERN, DOMAIN_ORIGIN_PATTERN, DOMAIN_REVISION_PATTERN, MEMBER_NAME_PATTERN, } from '../../addressing/patterns.js';
4
+ import { MEDIA_TYPE_PATTERN } from '../../language/class/model/data.js';
5
+ import * as metadata from '../../language/definition/metadata.js';
6
+ import { SchemaError, diagnostic } from '../diagnostic.js';
7
+ import { DOMAIN_FORMAT, DOMAIN_VERSION } from '../model/format.js';
8
+ const originSchema = string().min(3).max(253).regex(DOMAIN_ORIGIN_PATTERN);
9
+ const memberNameSchema = string().regex(MEMBER_NAME_PATTERN);
10
+ const dependencyAliasSchema = string()
11
+ .regex(DEPENDENCY_ALIAS_PATTERN)
12
+ .refine((value) => value !== '__proto__' && value !== 'prototype' && value !== 'constructor', 'Expected a non-reserved dependency alias.');
13
+ const propertyKeySchema = string().refine(SemanticPropertyKey.is, 'Expected a canonical PropertyKey.');
14
+ const coreSlugSchema = string().min(1).max(100).regex(CORE_SLUG_PATTERN);
15
+ const revisionSchema = string().regex(DOMAIN_REVISION_PATTERN);
16
+ const descriptionSchema = string()
16
17
  .min(metadata.description.minLength)
17
18
  .max(metadata.description.maxLength);
18
- const iconSchema = z.string().min(metadata.icon.minLength).max(metadata.icon.maxLength);
19
- const jsonValueSchema = z.lazy(() => z.union([
20
- z.null(),
21
- z.boolean(),
22
- z.number(),
23
- z.string(),
24
- z.array(jsonValueSchema),
25
- z.record(z.string(), jsonValueSchema),
19
+ const iconSchema = string().min(metadata.icon.minLength).max(metadata.icon.maxLength);
20
+ const jsonValueSchema = lazy(() => union([
21
+ nullSchema(),
22
+ boolean(),
23
+ number(),
24
+ string(),
25
+ array(jsonValueSchema),
26
+ record(string(), jsonValueSchema),
26
27
  ]));
27
- const jsonObjectSchema = z.record(z.string(), jsonValueSchema);
28
- const jsonSchemaSchema = z.union([z.boolean(), jsonObjectSchema]);
29
- const propertySchemaRecord = z.record(memberNameSchema, jsonSchemaSchema);
30
- const requiredPropertyNames = uniqueArray(memberNameSchema);
31
- const propertyObjectSchema = z.strictObject({
32
- type: z.literal('object'),
33
- properties: propertySchemaRecord,
34
- required: requiredPropertyNames,
35
- additionalProperties: z.literal(false),
28
+ const jsonObjectSchema = record(string(), jsonValueSchema);
29
+ const jsonSchemaSchema = union([boolean(), jsonObjectSchema]);
30
+ const dataDeclarationSchema = strictObject({
31
+ mediaType: string().regex(MEDIA_TYPE_PATTERN),
36
32
  });
37
- const dataDeclarationSchema = z.strictObject({
38
- mediaType: z.string().regex(MEDIA_TYPE_PATTERN),
33
+ const stateNameSchema = string().min(1);
34
+ const stateTransitionsSchema = custom(isStateTransitions);
35
+ const stateTopologySchema = strictObject({
36
+ initial: stateNameSchema,
37
+ transitions: stateTransitionsSchema,
39
38
  });
40
- const propertyMetadataSchema = z.strictObject({
41
- visibility: z.enum(['public', 'private']),
42
- auto: z
43
- .strictObject({
44
- on: uniqueArray(z.enum(['create', 'update'])).min(1),
45
- set: z.literal('instant'),
46
- })
47
- .optional(),
39
+ const propertyDefinitionSchema = strictObject({
40
+ schema: jsonSchemaSchema,
41
+ required: boolean(),
42
+ auto: strictObject({
43
+ on: uniqueArray(enumeration(['create', 'update'])).min(1),
44
+ set: literal('instant'),
45
+ }).optional(),
46
+ description: descriptionSchema.optional(),
47
+ state: stateTopologySchema.optional(),
48
48
  });
49
- const propertyMetadataRecordSchema = z.record(memberNameSchema, propertyMetadataSchema);
50
- const domainDependencySchema = z.strictObject({
49
+ const propertyRecordSchema = record(memberNameSchema, propertyDefinitionSchema);
50
+ const domainDependencySchema = strictObject({
51
51
  origin: originSchema,
52
52
  revision: revisionSchema,
53
53
  });
54
- const interfaceRefSchema = absoluteRefSchema('interface');
55
54
  const classRefSchema = absoluteRefSchema('class');
56
55
  const functionRefSchema = absoluteRefSchema('function');
57
56
  const policyRefSchema = absoluteRefSchema('policy');
58
57
  const viewRefSchema = absoluteRefSchema('view');
59
- const coreRefSchema = z.strictObject({
58
+ const coreRefSchema = strictObject({
60
59
  origin: originSchema,
61
- kind: z.literal('core'),
60
+ kind: literal('core'),
62
61
  name: coreSlugSchema,
63
62
  });
64
- const domainRefSchema = z.strictObject({ kind: z.literal('domain') });
65
- const coreEndpointRefSchema = z.discriminatedUnion('kind', [coreRefSchema, domainRefSchema]);
66
- const definitionRefSchema = z.discriminatedUnion('kind', [interfaceRefSchema, classRefSchema]);
67
- const policyObjectRefSchema = z.discriminatedUnion('kind', [
68
- interfaceRefSchema,
63
+ const domainRefSchema = strictObject({ kind: literal('domain') });
64
+ const coreEndpointRefSchema = discriminatedUnion('kind', [coreRefSchema, domainRefSchema]);
65
+ const policyObjectRefSchema = discriminatedUnion('kind', [
69
66
  classRefSchema,
70
67
  functionRefSchema,
71
68
  policyRefSchema,
@@ -74,115 +71,113 @@ const policyObjectRefSchema = z.discriminatedUnion('kind', [
74
71
  ]);
75
72
  const edgeEndpointBaseShape = {
76
73
  role: memberNameSchema,
77
- accepts: uniqueArray(definitionRefSchema).min(1),
74
+ accepts: uniqueArray(classRefSchema).min(1),
78
75
  };
79
- const edgeCountSchema = z.enum(['0..*', '1..*', '0..1', '1']);
80
- const directedEdgeEndpointsSchema = z.strictObject({
81
- source: z.strictObject({ ...edgeEndpointBaseShape, outgoing: edgeCountSchema }),
82
- target: z.strictObject({ ...edgeEndpointBaseShape, incoming: edgeCountSchema }),
76
+ const edgeCountSchema = enumeration(['0..*', '1..*', '0..1', '1']);
77
+ const directedEdgeEndpointsSchema = strictObject({
78
+ source: strictObject({ ...edgeEndpointBaseShape, outgoing: edgeCountSchema }),
79
+ target: strictObject({ ...edgeEndpointBaseShape, incoming: edgeCountSchema }),
83
80
  });
84
- const incidentEndpointSchema = z.strictObject({
81
+ const incidentEndpointSchema = strictObject({
85
82
  ...edgeEndpointBaseShape,
86
83
  incident: edgeCountSchema,
87
84
  });
88
- const undirectedEdgeEndpointsSchema = z.tuple([incidentEndpointSchema, incidentEndpointSchema]);
89
- const edgeConstraintsSchema = z.strictObject({
90
- noSelf: z.literal(true).optional(),
91
- acyclic: z.literal(true).optional(),
85
+ const undirectedEdgeEndpointsSchema = tuple([incidentEndpointSchema, incidentEndpointSchema]);
86
+ const edgeConstraintsSchema = strictObject({
87
+ noSelf: literal(true).optional(),
88
+ acyclic: literal(true).optional(),
92
89
  });
93
- const policyPatternSubjectSchema = z.strictObject({ kind: z.literal('subject') });
94
- const policyPatternObjectSchema = z.strictObject({ kind: z.literal('object') });
95
- const policyPatternSourceSchema = z.strictObject({ kind: z.literal('source') });
96
- const policyPatternTargetSchema = z.strictObject({ kind: z.literal('target') });
97
- const policyPatternVariableSchema = z.strictObject({
98
- kind: z.literal('variable'),
99
- id: z.number().int().min(0),
90
+ const policyPatternSubjectSchema = strictObject({ kind: literal('subject') });
91
+ const policyPatternObjectSchema = strictObject({ kind: literal('object') });
92
+ const policyPatternSourceSchema = strictObject({ kind: literal('source') });
93
+ const policyPatternTargetSchema = strictObject({ kind: literal('target') });
94
+ const policyPatternVariableSchema = strictObject({
95
+ kind: literal('variable'),
96
+ id: number().int().min(0),
100
97
  });
101
- const policyPatternNodeSchema = z.discriminatedUnion('kind', [
98
+ const policyPatternNodeSchema = discriminatedUnion('kind', [
102
99
  policyPatternSubjectSchema,
103
100
  policyPatternObjectSchema,
104
101
  policyPatternSourceSchema,
105
102
  policyPatternTargetSchema,
106
103
  policyPatternVariableSchema,
107
104
  ]);
108
- const policyVariableSchema = z.strictObject({
105
+ const policyVariableSchema = strictObject({
109
106
  variable: policyPatternVariableSchema,
110
107
  class: classRefSchema,
111
108
  });
112
- const policyRepeatSchema = z.strictObject({
113
- min: z.number().int().min(0).max(3),
114
- max: z.number().int().min(0).max(3),
109
+ const policyRepeatSchema = strictObject({
110
+ min: number().int().min(0).max(3),
111
+ max: number().int().min(0).max(3),
115
112
  });
116
- const policyPatternExpressionSchema = z.lazy(() => z.union([
117
- z.strictObject({
113
+ const policyPatternExpressionSchema = lazy(() => union([
114
+ strictObject({
118
115
  source: policyPatternNodeSchema,
119
116
  class: classRefSchema,
120
117
  target: policyPatternNodeSchema,
121
118
  repeat: policyRepeatSchema.optional(),
122
119
  }),
123
- z.strictObject({
124
- exists: z.strictObject({
125
- nodes: z.array(policyVariableSchema).min(1).max(4),
120
+ strictObject({
121
+ exists: strictObject({
122
+ nodes: array(policyVariableSchema).min(1).max(4),
126
123
  where: policyPatternExpressionSchema,
127
124
  }),
128
125
  }),
129
- z.strictObject({
130
- allOf: z.array(policyPatternExpressionSchema).min(1),
126
+ strictObject({
127
+ allOf: array(policyPatternExpressionSchema).min(1),
131
128
  }),
132
- z.strictObject({
133
- anyOf: z.array(policyPatternExpressionSchema).min(1),
129
+ strictObject({
130
+ anyOf: array(policyPatternExpressionSchema).min(1),
134
131
  }),
135
132
  ]));
136
- const policyCheckObjectSchema = z.discriminatedUnion('kind', [
137
- z.strictObject({ kind: z.literal('self') }),
138
- z.strictObject({
139
- kind: z.literal('input'),
133
+ const policyCheckObjectSchema = discriminatedUnion('kind', [
134
+ strictObject({ kind: literal('self') }),
135
+ strictObject({
136
+ kind: literal('input'),
140
137
  field: memberNameSchema,
141
138
  }),
142
- z.strictObject({
143
- kind: z.literal('ref'),
139
+ strictObject({
140
+ kind: literal('ref'),
144
141
  ref: policyObjectRefSchema,
145
142
  }),
146
143
  ]);
147
- const policyCheckExpressionSchema = z.lazy(() => z.union([
148
- z.strictObject({
144
+ const policyCheckExpressionSchema = lazy(() => union([
145
+ strictObject({
149
146
  check: policyRefSchema,
150
147
  object: policyCheckObjectSchema,
151
148
  }),
152
- z.strictObject({
153
- allOf: z.array(policyCheckExpressionSchema).min(1),
149
+ strictObject({
150
+ allOf: array(policyCheckExpressionSchema).min(1),
154
151
  }),
155
- z.strictObject({
156
- anyOf: z.array(policyCheckExpressionSchema).min(1),
152
+ strictObject({
153
+ anyOf: array(policyCheckExpressionSchema).min(1),
157
154
  }),
158
155
  ]));
159
- const callableOutputSchema = z.discriminatedUnion('mode', [
160
- z.strictObject({
161
- mode: z.literal('value'),
156
+ const callableOutputSchema = discriminatedUnion('mode', [
157
+ strictObject({
158
+ mode: literal('value'),
162
159
  schema: jsonSchemaSchema,
163
160
  }),
164
- z.strictObject({
165
- mode: z.literal('stream'),
161
+ strictObject({
162
+ mode: literal('stream'),
166
163
  item: jsonSchemaSchema,
167
164
  }),
168
- z.strictObject({
169
- mode: z.literal('binary'),
165
+ strictObject({
166
+ mode: literal('binary'),
170
167
  }),
171
168
  ]);
172
169
  const callableShape = {
173
170
  description: descriptionSchema.optional(),
174
171
  input: jsonSchemaSchema,
175
172
  output: callableOutputSchema,
176
- auth: z.enum(['anonymous', 'authenticated', 'authorized']),
173
+ auth: enumeration(['anonymous', 'authenticated', 'authorized']),
177
174
  policy: policyCheckExpressionSchema.optional(),
178
175
  };
179
- const methodDeclarationSchema = z
180
- .strictObject({
176
+ const methodDeclarationSchema = strictObject({
181
177
  ...callableShape,
182
- static: z.boolean(),
183
- inheritance: z.enum(['abstract', 'default', 'sealed']),
184
- })
185
- .superRefine((method, context) => {
178
+ static: boolean(),
179
+ inheritance: enumeration(['abstract', 'default', 'sealed']),
180
+ }).superRefine((method, context) => {
186
181
  if (method.inheritance === 'abstract' && method.policy !== undefined) {
187
182
  context.addIssue({
188
183
  code: 'custom',
@@ -200,78 +195,43 @@ const methodDeclarationSchema = z
200
195
  });
201
196
  }
202
197
  });
203
- const methodRecordSchema = z.record(memberNameSchema, methodDeclarationSchema);
204
- const nodeClassPoliciesSchema = z.strictObject({
198
+ const methodRecordSchema = record(memberNameSchema, methodDeclarationSchema);
199
+ const nodeClassPoliciesSchema = strictObject({
205
200
  read: policyRefSchema.optional(),
206
201
  traverse: policyRefSchema.optional(),
207
202
  });
208
- const edgeClassPoliciesSchema = z.strictObject({
203
+ const edgeClassPoliciesSchema = strictObject({
204
+ read: policyRefSchema.optional(),
209
205
  traverse: policyRefSchema.optional(),
210
206
  });
211
- const bothInterfaceSchema = z.strictObject({
212
- family: z.literal('both'),
213
- description: descriptionSchema.optional(),
214
- extends: uniqueArray(interfaceRefSchema),
215
- properties: propertyObjectSchema,
216
- propertyMetadata: propertyMetadataRecordSchema,
217
- });
218
- const nodeInterfaceSchema = z.strictObject({
219
- family: z.literal('node'),
207
+ const nodeClassSchema = strictObject({
208
+ ref: classRefSchema,
209
+ kind: literal('node'),
210
+ abstract: boolean(),
220
211
  description: descriptionSchema.optional(),
221
- extends: uniqueArray(interfaceRefSchema),
222
- properties: propertyObjectSchema,
223
- propertyMetadata: propertyMetadataRecordSchema,
224
- methods: methodRecordSchema,
225
- data: dataDeclarationSchema.optional(),
226
- });
227
- const edgeInterfaceShape = {
228
- family: z.literal('edge'),
229
- description: descriptionSchema.optional(),
230
- extends: uniqueArray(interfaceRefSchema),
231
- properties: propertyObjectSchema,
232
- propertyMetadata: propertyMetadataRecordSchema,
233
- constraints: edgeConstraintsSchema,
234
- };
235
- const edgeInterfaceSchema = z
236
- .strictObject({
237
- ...edgeInterfaceShape,
238
- orientation: z.enum(['directed', 'undirected']),
239
- endpoints: z.union([directedEdgeEndpointsSchema, undirectedEdgeEndpointsSchema]),
240
- })
241
- .superRefine(validateEdgeOrientationShape);
242
- const interfaceDeclarationSchema = z.discriminatedUnion('family', [
243
- bothInterfaceSchema,
244
- nodeInterfaceSchema,
245
- edgeInterfaceSchema,
246
- ]);
247
- const nodeClassSchema = z.strictObject({
248
- family: z.literal('node'),
249
- description: descriptionSchema.optional(),
250
- implements: uniqueArray(interfaceRefSchema),
251
- properties: propertyObjectSchema,
252
- propertyMetadata: propertyMetadataRecordSchema,
212
+ extends: uniqueArray(classRefSchema),
213
+ properties: propertyRecordSchema,
253
214
  methods: methodRecordSchema,
254
215
  data: dataDeclarationSchema.optional(),
255
216
  icon: iconSchema.optional(),
256
217
  policies: nodeClassPoliciesSchema,
257
218
  });
258
219
  const edgeClassShape = {
259
- family: z.literal('edge'),
220
+ ref: classRefSchema,
221
+ kind: literal('edge'),
222
+ abstract: boolean(),
260
223
  description: descriptionSchema.optional(),
261
- implements: uniqueArray(interfaceRefSchema),
262
- properties: propertyObjectSchema,
263
- propertyMetadata: propertyMetadataRecordSchema,
264
- policies: edgeClassPoliciesSchema,
224
+ extends: uniqueArray(classRefSchema),
225
+ properties: propertyRecordSchema,
265
226
  constraints: edgeConstraintsSchema,
266
227
  };
267
- const edgeClassSchema = z
268
- .strictObject({
228
+ const edgeClassSchema = strictObject({
269
229
  ...edgeClassShape,
270
- orientation: z.enum(['directed', 'undirected']),
271
- endpoints: z.union([directedEdgeEndpointsSchema, undirectedEdgeEndpointsSchema]),
272
- })
273
- .superRefine(validateEdgeOrientationShape);
274
- const classDeclarationSchema = z.discriminatedUnion('family', [nodeClassSchema, edgeClassSchema]);
230
+ orientation: enumeration(['directed', 'undirected']),
231
+ endpoints: union([directedEdgeEndpointsSchema, undirectedEdgeEndpointsSchema]),
232
+ policies: edgeClassPoliciesSchema,
233
+ }).superRefine(validateEdgeOrientationShape);
234
+ const classDeclarationSchema = discriminatedUnion('kind', [nodeClassSchema, edgeClassSchema]);
275
235
  function validateEdgeOrientationShape(value, context) {
276
236
  if ((value.orientation === 'undirected') === Array.isArray(value.endpoints))
277
237
  return;
@@ -282,8 +242,11 @@ function validateEdgeOrientationShape(value, context) {
282
242
  params: { structureCode: 'STRUCTURE_EDGE_ORIENTATION' },
283
243
  });
284
244
  }
285
- const functionDeclarationSchema = z.strictObject(callableShape).superRefine((fn, context) => {
286
- if (fn.auth !== 'authorized' && fn.policy !== undefined) {
245
+ const functionDefinitionSchema = strictObject({
246
+ ref: functionRefSchema,
247
+ ...callableShape,
248
+ }).superRefine((callable, context) => {
249
+ if (callable.auth !== 'authorized' && callable.policy !== undefined) {
287
250
  context.addIssue({
288
251
  code: 'custom',
289
252
  path: ['policy'],
@@ -292,57 +255,58 @@ const functionDeclarationSchema = z.strictObject(callableShape).superRefine((fn,
292
255
  });
293
256
  }
294
257
  });
295
- const policyDeclarationSchema = z.union([
296
- z.strictObject({
297
- description: descriptionSchema.optional(),
258
+ const policyExpressionSchema = union([
259
+ strictObject({
298
260
  match: policyPatternExpressionSchema,
299
261
  }),
300
- z.strictObject({
301
- description: descriptionSchema.optional(),
302
- allOf: z.array(policyRefSchema).min(1),
262
+ strictObject({
263
+ allOf: array(policyRefSchema).min(1),
303
264
  }),
304
- z.strictObject({
305
- description: descriptionSchema.optional(),
306
- anyOf: z.array(policyRefSchema).min(1),
265
+ strictObject({
266
+ anyOf: array(policyRefSchema).min(1),
307
267
  }),
308
268
  ]);
309
- const viewTargetSchema = z.discriminatedUnion('kind', [
310
- z.strictObject({ kind: z.literal('domain') }),
311
- z.strictObject({
312
- kind: z.literal('definition'),
313
- definitions: uniqueArray(definitionRefSchema).min(1),
269
+ const policyDefinitionSchema = strictObject({
270
+ ref: policyRefSchema,
271
+ expression: policyExpressionSchema,
272
+ description: descriptionSchema.optional(),
273
+ });
274
+ const viewTargetSchema = discriminatedUnion('kind', [
275
+ strictObject({ kind: literal('domain') }),
276
+ strictObject({
277
+ kind: literal('definition'),
278
+ definitions: uniqueArray(classRefSchema).min(1),
314
279
  }),
315
280
  ]);
316
- const viewDeclarationSchema = z.strictObject({
281
+ const viewDefinitionSchema = strictObject({
282
+ ref: viewRefSchema,
317
283
  description: descriptionSchema.optional(),
318
284
  target: viewTargetSchema,
319
- auth: z.enum(['required', 'optional', 'public']),
320
285
  });
321
- const coreNodeSchema = z.strictObject({
286
+ const coreNodeSchema = strictObject({
287
+ ref: coreRefSchema,
322
288
  class: classRefSchema,
323
- properties: z.record(propertyKeySchema, jsonValueSchema),
289
+ properties: record(propertyKeySchema, jsonValueSchema),
324
290
  });
325
- const coreEdgeSchema = z.strictObject({
291
+ const coreEdgeSchema = strictObject({
326
292
  class: classRefSchema,
327
293
  source: coreEndpointRefSchema,
328
294
  target: coreEndpointRefSchema,
329
- properties: z.record(propertyKeySchema, jsonValueSchema),
295
+ properties: record(propertyKeySchema, jsonValueSchema),
330
296
  });
331
- const coreSchema = z.strictObject({
332
- nodes: z.record(coreSlugSchema, coreNodeSchema),
333
- edges: z.array(coreEdgeSchema),
297
+ const coreSchema = strictObject({
298
+ nodes: record(coreSlugSchema, coreNodeSchema),
299
+ edges: array(coreEdgeSchema),
334
300
  });
335
- const structuralSchema = z.strictObject({
336
- format: z.literal(DOMAIN_FORMAT),
337
- version: z.literal(DOMAIN_VERSION),
301
+ const structuralSchema = strictObject({
302
+ format: literal(DOMAIN_FORMAT),
303
+ version: literal(DOMAIN_VERSION),
338
304
  origin: originSchema,
339
- dependencies: z.array(domainDependencySchema),
340
- types: z.record(memberNameSchema, jsonSchemaSchema),
341
- interfaces: z.record(memberNameSchema, interfaceDeclarationSchema),
342
- classes: z.record(memberNameSchema, classDeclarationSchema),
343
- functions: z.record(memberNameSchema, functionDeclarationSchema),
344
- policies: z.record(memberNameSchema, policyDeclarationSchema),
345
- views: z.record(memberNameSchema, viewDeclarationSchema),
305
+ dependencies: record(dependencyAliasSchema, domainDependencySchema),
306
+ classes: record(memberNameSchema, classDeclarationSchema),
307
+ functions: record(memberNameSchema, functionDefinitionSchema),
308
+ policies: record(memberNameSchema, policyDefinitionSchema),
309
+ views: record(memberNameSchema, viewDefinitionSchema),
346
310
  core: coreSchema,
347
311
  });
348
312
  export const domainSchemaStructuralSchema = structuralSchema;
@@ -350,17 +314,41 @@ export function parseDomainSchemaStructure(input) {
350
314
  const result = domainSchemaStructuralSchema.safeParse(input);
351
315
  if (result.success)
352
316
  return result.data;
353
- throw new DomainSchemaError(result.error.issues.flatMap((issue) => diagnosticsForIssue(issue, input)));
317
+ throw new SchemaError(result.error.issues.flatMap((issue) => diagnosticsForIssue(issue, input)));
354
318
  }
355
319
  function absoluteRefSchema(kind) {
356
- return z.strictObject({
320
+ return strictObject({
357
321
  origin: originSchema,
358
- kind: z.literal(kind),
322
+ kind: literal(kind),
359
323
  name: memberNameSchema,
360
324
  });
361
325
  }
326
+ function isStateTransitions(input) {
327
+ if (!isRecord(input))
328
+ return false;
329
+ for (const state of Reflect.ownKeys(input)) {
330
+ if (typeof state !== 'string' || state.length === 0)
331
+ return false;
332
+ const outgoing = Reflect.get(input, state);
333
+ if (!isRecord(outgoing))
334
+ return false;
335
+ for (const event of Reflect.ownKeys(outgoing)) {
336
+ const target = Reflect.get(outgoing, event);
337
+ if (typeof event !== 'string' ||
338
+ event.length === 0 ||
339
+ typeof target !== 'string' ||
340
+ target.length === 0) {
341
+ return false;
342
+ }
343
+ }
344
+ }
345
+ return true;
346
+ }
347
+ function isRecord(input) {
348
+ return input !== null && typeof input === 'object' && !Array.isArray(input);
349
+ }
362
350
  function uniqueArray(element) {
363
- return z.array(element).superRefine((values, context) => {
351
+ return array(element).superRefine((values, context) => {
364
352
  const firstIndexByValue = new Map();
365
353
  values.forEach((value, index) => {
366
354
  const key = canonicalJson(value);
@@ -392,13 +380,22 @@ function diagnosticsForIssue(issue, input) {
392
380
  if (issue.code === 'unrecognized_keys') {
393
381
  return issue.keys.map((key) => diagnostic('STRUCTURE_UNKNOWN_FIELD', pointer([...issue.path, key]), `Unknown field ${JSON.stringify(key)}.`));
394
382
  }
395
- const customCode = issue.code === 'custom' && typeof issue.params?.structureCode === 'string'
396
- ? issue.params.structureCode
397
- : undefined;
383
+ const customCode = issue.code === 'custom' ? customStructureCode(issue.params?.structureCode) : undefined;
398
384
  return [
399
385
  diagnostic(customCode ?? structureCode(issue, input), pointer(issue.path), structureMessage(issue, input)),
400
386
  ];
401
387
  }
388
+ function customStructureCode(input) {
389
+ switch (input) {
390
+ case 'STRUCTURE_ABSTRACT_POLICY':
391
+ case 'STRUCTURE_CALLABLE_POLICY_AUTH':
392
+ case 'STRUCTURE_DUPLICATE_ITEM':
393
+ case 'STRUCTURE_EDGE_ORIENTATION':
394
+ return input;
395
+ default:
396
+ return undefined;
397
+ }
398
+ }
402
399
  function structureCode(issue, input) {
403
400
  switch (issue.code) {
404
401
  case 'invalid_type':
@@ -450,4 +447,3 @@ function pointer(path) {
450
447
  function escapePointerSegment(segment) {
451
448
  return segment.replaceAll('~', '~0').replaceAll('/', '~1');
452
449
  }
453
- //# sourceMappingURL=domain.structure.js.map
@@ -0,0 +1,4 @@
1
+ import type { PolicyValidationContext } from './context.js';
2
+ import { BRANCH_OVERFLOW, MAX_BRANCHES, MAX_CHECK_DEPTH, MAX_CHECK_LEAVES, MAX_DOMAINS, MAX_EDGES, MAX_PATTERN_DEPTH, MAX_REPEAT, MAX_VARIABLES, measureChecks } from '../../../language/policy/analysis/budgets.js';
3
+ export { BRANCH_OVERFLOW, MAX_BRANCHES, MAX_CHECK_DEPTH, MAX_CHECK_LEAVES, MAX_DOMAINS, MAX_EDGES, MAX_PATTERN_DEPTH, MAX_REPEAT, MAX_VARIABLES, measureChecks, };
4
+ export declare function validatePolicyBudgets(context: PolicyValidationContext): void;
@@ -1,13 +1,6 @@
1
+ import { BRANCH_OVERFLOW, MAX_BRANCHES, MAX_CHECK_DEPTH, MAX_CHECK_LEAVES, MAX_DOMAINS, MAX_EDGES, MAX_PATTERN_DEPTH, MAX_REPEAT, MAX_VARIABLES, measureChecks, } from '../../../language/policy/analysis/budgets.js';
1
2
  import { escapePointer } from './context.js';
2
- export const MAX_PATTERN_DEPTH = 4;
3
- export const MAX_BRANCHES = 8;
4
- export const MAX_VARIABLES = 4;
5
- export const MAX_EDGES = 6;
6
- export const MAX_REPEAT = 3;
7
- export const MAX_DOMAINS = 4;
8
- export const MAX_CHECK_DEPTH = 4;
9
- export const MAX_CHECK_LEAVES = 8;
10
- export const BRANCH_OVERFLOW = MAX_BRANCHES + 1;
3
+ export { BRANCH_OVERFLOW, MAX_BRANCHES, MAX_CHECK_DEPTH, MAX_CHECK_LEAVES, MAX_DOMAINS, MAX_EDGES, MAX_PATTERN_DEPTH, MAX_REPEAT, MAX_VARIABLES, measureChecks, };
11
4
  export function validatePolicyBudgets(context) {
12
5
  for (const name of Object.keys(context.environment.candidate.policies)) {
13
6
  const measure = measurePolicy(context, name, new Set());
@@ -29,20 +22,6 @@ export function validatePolicyBudgets(context) {
29
22
  }
30
23
  }
31
24
  }
32
- export function measureChecks(expression) {
33
- if ('check' in expression)
34
- return { depth: 1, branches: 1, leaves: 1 };
35
- const { key, values } = checkOperands(expression);
36
- const children = values.map(measureChecks);
37
- const branches = key === 'allOf'
38
- ? children.reduce((value, child) => saturatingProduct(value, child.branches), 1)
39
- : children.reduce((value, child) => Math.min(BRANCH_OVERFLOW, value + child.branches), 0);
40
- return {
41
- depth: 1 + Math.max(0, ...children.map((child) => child.depth)),
42
- branches,
43
- leaves: children.reduce((value, child) => value + child.leaves, 0),
44
- };
45
- }
46
25
  function measurePolicy(context, name, visiting) {
47
26
  if (visiting.has(name))
48
27
  return undefined;
@@ -113,20 +92,11 @@ function combineMeasures(key, children) {
113
92
  }
114
93
  return { depth, edgeCounts, domains };
115
94
  }
116
- function saturatingProduct(left, right) {
117
- return Math.min(BRANCH_OVERFLOW, left * right);
118
- }
119
95
  function patternOperands(value) {
120
96
  return 'allOf' in value
121
97
  ? { key: 'allOf', values: value.allOf }
122
98
  : { key: 'anyOf', values: value.anyOf };
123
99
  }
124
- function checkOperands(value) {
125
- return 'allOf' in value
126
- ? { key: 'allOf', values: value.allOf }
127
- : { key: 'anyOf', values: value.anyOf };
128
- }
129
100
  function isEdge(value) {
130
101
  return 'source' in value;
131
102
  }
132
- //# sourceMappingURL=budgets.js.map
@@ -0,0 +1,28 @@
1
+ import type { ClassDefinition } from '../../../language/class/model/class.js';
2
+ import type { PolicyExpression } from '../../../language/policy/model/policy.js';
3
+ import type { DefinitionAnalysisResult } from '../../analysis/class.js';
4
+ import type { SchemaDiagnostic, SchemaDiagnosticCode } from '../../diagnostic.js';
5
+ import type { DomainResolutionContext } from '../../resolution/context.js';
6
+ import type { IndexedClassDefinition } from '../../resolution/definition.index.js';
7
+ import { type ClassRef, type PolicyRef } from '../../../addressing/index.js';
8
+ export declare class PolicyValidationContext {
9
+ #private;
10
+ readonly environment: DomainResolutionContext;
11
+ readonly analysis: DefinitionAnalysisResult;
12
+ readonly diagnostics: SchemaDiagnostic[];
13
+ readonly normalized: Map<string, PolicyExpression>;
14
+ readonly allNodeClasses: readonly ClassRef[];
15
+ readonly concreteNodeClasses: readonly ClassRef[];
16
+ constructor(environment: DomainResolutionContext, analysis: DefinitionAnalysisResult);
17
+ resolveNodeClass(ref: ClassRef, pointer: string): IndexedClassDefinition | undefined;
18
+ resolveEdge(ref: ClassRef, pointer: string): IndexedClassDefinition | undefined;
19
+ resolvePolicy(ref: PolicyRef, pointer: string): boolean;
20
+ isLocalPolicy(ref: PolicyRef): boolean;
21
+ edgeDeclaration(ref: ClassRef): Extract<ClassDefinition, {
22
+ readonly kind: 'edge';
23
+ }> | undefined;
24
+ /** Return true when candidate is the required Class or a same-kind descendant. */
25
+ classExtends(candidate: ClassRef, required: ClassRef): boolean;
26
+ add(code: SchemaDiagnosticCode, pointer: string, message: string, ref?: string): void;
27
+ }
28
+ export declare function escapePointer(value: string): string;