@astrale-os/kernel-dsl 0.2.0-beta.3 → 0.2.0-beta.31

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 (769) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.js +0 -1
  3. package/dist/upgrade/contract.d.ts +0 -1
  4. package/dist/upgrade/contract.js +0 -1
  5. package/dist/upgrade/index.d.ts +0 -1
  6. package/dist/upgrade/index.js +0 -1
  7. package/dist/v1/addressing/class-key.d.ts +12 -0
  8. package/dist/v1/addressing/class-key.js +39 -0
  9. package/dist/v1/addressing/definition-ref.d.ts +28 -0
  10. package/dist/v1/addressing/definition-ref.js +63 -0
  11. package/dist/v1/addressing/domain-dependency.d.ts +18 -0
  12. package/dist/v1/addressing/domain-dependency.js +6 -0
  13. package/dist/v1/addressing/index.d.ts +10 -4
  14. package/dist/v1/addressing/index.js +5 -3
  15. package/dist/v1/addressing/key.d.ts +14 -16
  16. package/dist/v1/addressing/key.js +24 -34
  17. package/dist/v1/addressing/method-address.d.ts +9 -0
  18. package/dist/v1/addressing/method-address.js +1 -0
  19. package/dist/v1/addressing/method-key.d.ts +15 -0
  20. package/dist/v1/addressing/method-key.js +60 -0
  21. package/dist/v1/addressing/ordering.d.ts +6 -0
  22. package/dist/v1/addressing/ordering.js +20 -0
  23. package/dist/v1/addressing/patterns.d.ts +12 -3
  24. package/dist/v1/addressing/patterns.js +11 -2
  25. package/dist/v1/addressing/property-key.d.ts +10 -15
  26. package/dist/v1/addressing/property-key.js +24 -15
  27. package/dist/v1/addressing/revision.d.ts +8 -0
  28. package/dist/v1/addressing/revision.js +8 -0
  29. package/dist/v1/builder/callable/authoring.d.ts +118 -0
  30. package/dist/v1/builder/{callable.js → callable/authoring.js} +28 -7
  31. package/dist/v1/builder/class/authoring.d.ts +380 -0
  32. package/dist/v1/builder/class/authoring.js +134 -0
  33. package/dist/v1/builder/class/property.d.ts +58 -0
  34. package/dist/v1/builder/class/property.js +57 -0
  35. package/dist/v1/builder/core/authoring.d.ts +42 -0
  36. package/dist/v1/builder/core/authoring.js +39 -0
  37. package/dist/v1/builder/index.d.ts +26 -22
  38. package/dist/v1/builder/index.js +11 -11
  39. package/dist/v1/builder/lowering/callable.d.ts +24 -0
  40. package/dist/v1/builder/{compiler → lowering}/callable.js +39 -38
  41. package/dist/v1/builder/lowering/class.d.ts +22 -0
  42. package/dist/v1/builder/lowering/class.js +134 -0
  43. package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
  44. package/dist/v1/builder/{compiler/core.properties.js → lowering/core-properties.js} +14 -8
  45. package/dist/v1/builder/lowering/core.d.ts +22 -0
  46. package/dist/v1/builder/{compiler → lowering}/core.js +17 -11
  47. package/dist/v1/builder/lowering/policy.d.ts +16 -0
  48. package/dist/v1/builder/{compiler → lowering}/policy.js +20 -14
  49. package/dist/v1/builder/{compiler/schema.capture.d.ts → lowering/schema/capture.d.ts} +2 -3
  50. package/dist/v1/builder/lowering/schema/capture.js +75 -0
  51. package/dist/v1/builder/{compiler/schema.d.ts → lowering/schema/compile.d.ts} +4 -4
  52. package/dist/v1/builder/{compiler/schema.js → lowering/schema/compile.js} +34 -44
  53. package/dist/v1/builder/lowering/schema/context.d.ts +44 -0
  54. package/dist/v1/builder/{compiler/schema.context.js → lowering/schema/context.js} +102 -81
  55. package/dist/v1/builder/lowering/schema/ownership.d.ts +8 -0
  56. package/dist/v1/builder/{compiler/schema.ownership.js → lowering/schema/ownership.js} +3 -3
  57. package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
  58. package/dist/v1/builder/{compiler/value.js → lowering/value/compile.js} +44 -61
  59. package/dist/v1/builder/lowering/value/path.d.ts +3 -0
  60. package/dist/v1/builder/{compiler/value.path.js → lowering/value/path.js} +1 -2
  61. package/dist/v1/builder/{compiler/value.zod.d.ts → lowering/value/zod.d.ts} +8 -9
  62. package/dist/v1/builder/{compiler/value.zod.js → lowering/value/zod.js} +10 -11
  63. package/dist/v1/builder/lowering/view.d.ts +11 -0
  64. package/dist/v1/builder/{compiler → lowering}/view.js +7 -7
  65. package/dist/v1/builder/{policy.d.ts → policy/authoring.d.ts} +28 -17
  66. package/dist/v1/builder/policy/authoring.js +115 -0
  67. package/dist/v1/builder/schema/define.d.ts +11 -0
  68. package/dist/v1/builder/{schema.js → schema/define.js} +1 -2
  69. package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
  70. package/dist/v1/builder/schema/diagnostic.js +31 -0
  71. package/dist/v1/builder/{internal/authoring.d.ts → schema/handle.d.ts} +1 -2
  72. package/dist/v1/builder/{internal/authoring.js → schema/handle.js} +0 -1
  73. package/dist/v1/builder/schema/input.d.ts +15 -0
  74. package/dist/v1/builder/schema/input.js +1 -0
  75. package/dist/v1/builder/{internal/authoring.lazy.d.ts → schema/lazy.d.ts} +0 -1
  76. package/dist/v1/builder/{internal/authoring.lazy.js → schema/lazy.js} +0 -1
  77. package/dist/v1/builder/schema/projection.d.ts +370 -0
  78. package/dist/v1/builder/schema/projection.js +1 -0
  79. package/dist/v1/builder/value/full-match.d.ts +4 -0
  80. package/dist/v1/builder/value/full-match.js +11 -0
  81. package/dist/v1/builder/value/path-metadata.d.ts +4 -0
  82. package/dist/v1/builder/{internal/path.metadata.js → value/path-metadata.js} +0 -1
  83. package/dist/v1/builder/value/path.d.ts +8 -0
  84. package/dist/v1/builder/{path.js → value/path.js} +4 -5
  85. package/dist/v1/builder/{value-schema.d.ts → value/schema.d.ts} +2 -3
  86. package/dist/v1/builder/{value-schema.js → value/schema.js} +0 -1
  87. package/dist/v1/builder/view/authoring.d.ts +17 -0
  88. package/dist/v1/builder/view/authoring.js +16 -0
  89. package/dist/v1/bundle/codec.d.ts +0 -1
  90. package/dist/v1/bundle/codec.js +36 -19
  91. package/dist/v1/bundle/create.d.ts +3 -0
  92. package/dist/v1/bundle/create.js +5 -0
  93. package/dist/v1/bundle/diagnostic.d.ts +10 -0
  94. package/dist/v1/bundle/diagnostic.js +17 -0
  95. package/dist/v1/bundle/index.d.ts +3 -2
  96. package/dist/v1/bundle/index.js +2 -2
  97. package/dist/v1/bundle/model.d.ts +1 -4
  98. package/dist/v1/bundle/model.js +0 -6
  99. package/dist/v1/bundle/structure.d.ts +1 -2
  100. package/dist/v1/bundle/structure.js +6 -6
  101. package/dist/v1/bundle/transport.d.ts +8 -0
  102. package/dist/v1/bundle/transport.js +7 -0
  103. package/dist/v1/compiled/admission/accept.d.ts +3 -0
  104. package/dist/v1/compiled/admission/accept.js +961 -0
  105. package/dist/v1/compiled/admission/revision.d.ts +4 -0
  106. package/dist/v1/compiled/admission/revision.js +73 -0
  107. package/dist/v1/compiled/admission/semantics.d.ts +7 -0
  108. package/dist/v1/compiled/admission/semantics.js +1167 -0
  109. package/dist/v1/compiled/codec/json.d.ts +3 -0
  110. package/dist/v1/compiled/codec/json.js +9 -0
  111. package/dist/v1/compiled/compiler/compile.d.ts +4 -0
  112. package/dist/v1/compiled/compiler/compile.js +113 -0
  113. package/dist/v1/compiled/diagnostic.d.ts +11 -0
  114. package/dist/v1/compiled/diagnostic.js +13 -0
  115. package/dist/v1/compiled/generated.d.ts +10 -0
  116. package/dist/v1/compiled/generated.js +15 -0
  117. package/dist/v1/compiled/index.d.ts +7 -0
  118. package/dist/v1/compiled/index.js +5 -0
  119. package/dist/v1/compiled/loader/index.d.ts +1 -0
  120. package/dist/v1/compiled/loader/index.js +1 -0
  121. package/dist/v1/compiled/loader/load.d.ts +9 -0
  122. package/dist/v1/compiled/loader/load.js +147 -0
  123. package/dist/v1/compiled/model/schema.d.ts +73 -0
  124. package/dist/v1/compiled/model/schema.js +1 -0
  125. package/dist/v1/domain/create.d.ts +8 -0
  126. package/dist/v1/domain/create.js +264 -0
  127. package/dist/v1/domain/index.d.ts +2 -0
  128. package/dist/v1/domain/index.js +1 -0
  129. package/dist/v1/domain/model/domain.d.ts +59 -0
  130. package/dist/v1/domain/model/domain.js +1 -0
  131. package/dist/v1/domain/model/input.d.ts +31 -0
  132. package/dist/v1/domain/model/input.js +1 -0
  133. package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
  134. package/dist/v1/domain/namespace/member-collection.js +81 -0
  135. package/dist/v1/domain/projection/classes.d.ts +4 -0
  136. package/dist/v1/domain/projection/classes.js +181 -0
  137. package/dist/v1/domain/validation/create.d.ts +18 -0
  138. package/dist/v1/domain/validation/create.js +75 -0
  139. package/dist/v1/index.d.ts +14 -5
  140. package/dist/v1/index.js +6 -3
  141. package/dist/v1/language/callable/index.d.ts +2 -0
  142. package/dist/v1/language/callable/index.js +1 -0
  143. package/dist/v1/language/callable/model/callable.d.ts +33 -0
  144. package/dist/v1/language/callable/model/callable.js +1 -0
  145. package/dist/v1/language/callable/resolved.d.ts +68 -0
  146. package/dist/v1/language/callable/resolved.js +1 -0
  147. package/dist/v1/language/class/facets.d.ts +58 -0
  148. package/dist/v1/language/class/facets.js +1 -0
  149. package/dist/v1/language/class/index.d.ts +8 -0
  150. package/dist/v1/language/class/index.js +1 -0
  151. package/dist/v1/language/class/model/class.d.ts +37 -0
  152. package/dist/v1/language/class/model/class.js +1 -0
  153. package/dist/v1/{schema/definition → language/class/model}/data.d.ts +2 -3
  154. package/dist/v1/{schema/definition → language/class/model}/data.js +0 -1
  155. package/dist/v1/{schema/definition → language/class/model}/edge.d.ts +9 -6
  156. package/dist/v1/language/class/model/edge.js +1 -0
  157. package/dist/v1/language/class/model/property.d.ts +17 -0
  158. package/dist/v1/language/class/model/property.js +1 -0
  159. package/dist/v1/language/class/property-values.d.ts +15 -0
  160. package/dist/v1/language/class/property-values.js +30 -0
  161. package/dist/v1/language/class/resolved.d.ts +119 -0
  162. package/dist/v1/language/class/resolved.js +1 -0
  163. package/dist/v1/language/core/index.d.ts +2 -0
  164. package/dist/v1/language/core/index.js +1 -0
  165. package/dist/v1/language/core/model/core.d.ts +20 -0
  166. package/dist/v1/language/core/model/core.js +1 -0
  167. package/dist/v1/language/core/resolved.d.ts +21 -0
  168. package/dist/v1/language/core/resolved.js +1 -0
  169. package/dist/v1/{schema → language/definition}/metadata.d.ts +0 -1
  170. package/dist/v1/{schema → language/definition}/metadata.js +0 -1
  171. package/dist/v1/language/definition.d.ts +7 -0
  172. package/dist/v1/language/definition.js +1 -0
  173. package/dist/v1/language/index.d.ts +26 -0
  174. package/dist/v1/language/index.js +3 -0
  175. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.d.ts +4 -5
  176. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.js +43 -24
  177. package/dist/v1/{schema/policy/validation → language/policy/analysis}/budgets.d.ts +1 -4
  178. package/dist/v1/language/policy/analysis/budgets.js +25 -0
  179. package/dist/v1/language/policy/index.d.ts +4 -0
  180. package/dist/v1/language/policy/index.js +2 -0
  181. package/dist/v1/language/policy/model/policy.d.ts +115 -0
  182. package/dist/v1/language/policy/model/policy.js +18 -0
  183. package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
  184. package/dist/v1/{schema/policy → language/policy/normalization}/normalize.js +65 -20
  185. package/dist/v1/language/policy/resolved.d.ts +9 -0
  186. package/dist/v1/language/policy/resolved.js +1 -0
  187. package/dist/v1/language/resolved.d.ts +10 -0
  188. package/dist/v1/language/resolved.js +1 -0
  189. package/dist/v1/language/state/index.d.ts +3 -0
  190. package/dist/v1/language/state/index.js +1 -0
  191. package/dist/v1/language/state/machine.d.ts +28 -0
  192. package/dist/v1/language/state/machine.js +40 -0
  193. package/dist/v1/language/state/topology.d.ts +14 -0
  194. package/dist/v1/language/state/topology.js +69 -0
  195. package/dist/v1/language/validation/diagnostic.d.ts +8 -0
  196. package/dist/v1/language/validation/diagnostic.js +3 -0
  197. package/dist/v1/language/value/compile/fields.d.ts +3 -0
  198. package/dist/v1/language/value/compile/fields.js +60 -0
  199. package/dist/v1/{schema/compiled/program.d.ts → language/value/compile/load.d.ts} +1 -2
  200. package/dist/v1/{schema/compiled/program.js → language/value/compile/load.js} +2 -3
  201. package/dist/v1/language/value/compile/model.d.ts +27 -0
  202. package/dist/v1/language/value/compile/model.js +1 -0
  203. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.d.ts +0 -1
  204. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.js +1 -2
  205. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.d.ts +0 -1
  206. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.js +3 -4
  207. package/dist/v1/{schema/value/instance → language/value/evaluate}/preparation.d.ts +2 -3
  208. package/dist/v1/{schema/value/instance → language/value/evaluate}/preparation.js +6 -8
  209. package/dist/v1/language/value/evaluate/program.d.ts +3 -0
  210. package/dist/v1/language/value/evaluate/program.js +16 -0
  211. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.d.ts +4 -5
  212. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.js +0 -1
  213. package/dist/v1/{schema/value/instance.validate.d.ts → language/value/evaluate/validate.d.ts} +4 -5
  214. package/dist/v1/{schema/value/instance.validate.js → language/value/evaluate/validate.js} +4 -5
  215. package/dist/v1/language/value/index.d.ts +11 -0
  216. package/dist/v1/language/value/index.js +8 -0
  217. package/dist/v1/{schema/value → language/value/model}/instant.d.ts +1 -1
  218. package/dist/v1/{schema/value → language/value/model}/instant.js +1 -1
  219. package/dist/v1/{schema/value → language/value/model}/object.d.ts +1 -1
  220. package/dist/v1/{schema/value → language/value/model}/object.js +0 -1
  221. package/dist/v1/{schema/value → language/value/model}/schema.d.ts +3 -4
  222. package/dist/v1/{schema/value → language/value/model}/schema.js +0 -2
  223. package/dist/v1/{schema → language}/value/ordering.d.ts +5 -3
  224. package/dist/v1/{schema → language}/value/ordering.js +15 -13
  225. package/dist/v1/{schema → language}/value/profile/canonicalize.d.ts +2 -3
  226. package/dist/v1/{schema → language}/value/profile/canonicalize.js +4 -7
  227. package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
  228. package/dist/v1/{schema → language}/value/profile/json.validate.js +1 -2
  229. package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.d.ts +0 -1
  230. package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.js +0 -1
  231. package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
  232. package/dist/v1/{schema → language}/value/profile/meta-schema.js +1 -2
  233. package/dist/v1/language/value/profile/rules.d.ts +3 -0
  234. package/dist/v1/{schema → language}/value/profile/rules.js +7 -50
  235. package/dist/v1/language/value/profile/validate.d.ts +4 -0
  236. package/dist/v1/{schema → language}/value/profile/validate.js +13 -21
  237. package/dist/v1/{schema → language}/value/profile/vocabulary.d.ts +0 -1
  238. package/dist/v1/{schema → language}/value/profile/vocabulary.js +0 -1
  239. package/dist/v1/language/value/reference/closure.d.ts +11 -0
  240. package/dist/v1/{schema/value/resources → language/value/reference}/closure.js +13 -21
  241. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.d.ts +3 -4
  242. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.js +5 -6
  243. package/dist/v1/language/value/reference/references.d.ts +17 -0
  244. package/dist/v1/language/value/reference/references.js +45 -0
  245. package/dist/v1/{schema/value → language/value/reference}/registry.d.ts +9 -7
  246. package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
  247. package/dist/v1/{schema/value/resources → language/value/reference}/registry.index.js +7 -45
  248. package/dist/v1/language/value/reference/registry.js +1 -0
  249. package/dist/v1/{schema → language}/value/regexp/ast.d.ts +0 -1
  250. package/dist/v1/{schema → language}/value/regexp/ast.js +0 -1
  251. package/dist/v1/{schema → language}/value/regexp/compile.d.ts +1 -2
  252. package/dist/v1/{schema → language}/value/regexp/compile.js +8 -12
  253. package/dist/v1/{schema → language}/value/regexp/lower.d.ts +1 -2
  254. package/dist/v1/{schema → language}/value/regexp/lower.js +2 -3
  255. package/dist/v1/{schema → language}/value/regexp/matcher.d.ts +1 -2
  256. package/dist/v1/{schema → language}/value/regexp/matcher.js +0 -1
  257. package/dist/v1/{schema → language}/value/regexp/pattern.d.ts +0 -1
  258. package/dist/v1/{schema → language}/value/regexp/pattern.js +0 -1
  259. package/dist/v1/{schema → language}/value/regexp/syntax.d.ts +0 -1
  260. package/dist/v1/{schema → language}/value/regexp/syntax.js +0 -1
  261. package/dist/v1/{schema/value → language/value/syntax}/full-match.d.ts +0 -1
  262. package/dist/v1/{schema/value → language/value/syntax}/full-match.js +5 -6
  263. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.d.ts +0 -1
  264. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.js +0 -1
  265. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.d.ts +1 -2
  266. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.js +2 -3
  267. package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
  268. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/validate.js +16 -18
  269. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.d.ts +0 -1
  270. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.js +1 -2
  271. package/dist/v1/{schema/value/location → language/value/syntax}/walk.d.ts +1 -2
  272. package/dist/v1/{schema/value/location → language/value/syntax}/walk.js +1 -2
  273. package/dist/v1/language/view/index.d.ts +2 -0
  274. package/dist/v1/language/view/index.js +1 -0
  275. package/dist/v1/language/view/model/view.d.ts +11 -0
  276. package/dist/v1/language/view/model/view.js +1 -0
  277. package/dist/v1/language/view/resolved.d.ts +9 -0
  278. package/dist/v1/language/view/resolved.js +1 -0
  279. package/dist/v1/schema/admission/accept.d.ts +3 -0
  280. package/dist/v1/schema/{domain.accept.js → admission/accept.js} +8 -9
  281. package/dist/v1/schema/{definition/analysis.d.ts → analysis/class.d.ts} +17 -18
  282. package/dist/v1/schema/{definition/analysis.js → analysis/class.js} +21 -30
  283. package/dist/v1/schema/canonical/domain.d.ts +2 -2
  284. package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
  285. package/dist/v1/schema/canonical/domain.digest.js +2 -6
  286. package/dist/v1/schema/canonical/domain.js +3 -224
  287. package/dist/v1/schema/canonical/freeze.d.ts +0 -1
  288. package/dist/v1/schema/canonical/freeze.js +0 -1
  289. package/dist/v1/schema/{domain.revision.d.ts → canonical/revision.d.ts} +2 -3
  290. package/dist/v1/schema/{domain.revision.js → canonical/revision.js} +7 -5
  291. package/dist/v1/schema/codec/header.d.ts +17 -0
  292. package/dist/v1/schema/codec/header.js +26 -0
  293. package/dist/v1/schema/{domain.codec.d.ts → codec/schema.d.ts} +2 -3
  294. package/dist/v1/schema/{domain.codec.js → codec/schema.js} +4 -5
  295. package/dist/v1/schema/{dependency.meaning.d.ts → compatibility/meaning.d.ts} +4 -5
  296. package/dist/v1/schema/{dependency.meaning.js → compatibility/meaning.js} +121 -124
  297. package/dist/v1/schema/{domain.lookup.d.ts → dependency/lookup.d.ts} +3 -4
  298. package/dist/v1/schema/{domain.lookup.js → dependency/lookup.js} +1 -2
  299. package/dist/v1/schema/diagnostic.d.ts +7 -7
  300. package/dist/v1/schema/diagnostic.js +9 -9
  301. package/dist/v1/schema/index.d.ts +24 -40
  302. package/dist/v1/schema/index.js +11 -18
  303. package/dist/v1/schema/model/format.d.ts +2 -0
  304. package/dist/v1/schema/model/format.js +2 -0
  305. package/dist/v1/schema/model/schema.d.ts +30 -0
  306. package/dist/v1/schema/model/schema.js +4 -0
  307. package/dist/v1/schema/normalization/domain.d.ts +2 -0
  308. package/dist/v1/schema/normalization/domain.js +210 -0
  309. package/dist/v1/schema/resolution/closure.d.ts +3 -4
  310. package/dist/v1/schema/resolution/closure.js +6 -7
  311. package/dist/v1/schema/resolution/context.d.ts +11 -12
  312. package/dist/v1/schema/resolution/context.js +82 -50
  313. package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
  314. package/dist/v1/schema/resolution/definition.index.js +8 -18
  315. package/dist/v1/schema/resolution/domain.d.ts +4 -0
  316. package/dist/v1/schema/resolution/domain.js +112 -0
  317. package/dist/v1/schema/resolution/origins.d.ts +11 -14
  318. package/dist/v1/schema/resolution/origins.js +55 -46
  319. package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
  320. package/dist/v1/schema/resolution/value.registry.js +7 -14
  321. package/dist/v1/schema/revision.d.ts +1 -0
  322. package/dist/v1/schema/revision.js +1 -0
  323. package/dist/v1/schema/validation/class.d.ts +5 -0
  324. package/dist/v1/schema/validation/class.js +241 -0
  325. package/dist/v1/schema/validation/core.d.ts +5 -0
  326. package/dist/v1/schema/{core/validate.js → validation/core.js} +39 -30
  327. package/dist/v1/schema/validation/domain.d.ts +11 -0
  328. package/dist/v1/schema/{domain.validate.js → validation/domain.js} +12 -12
  329. package/dist/v1/schema/validation/domain.route.d.ts +1 -2
  330. package/dist/v1/schema/validation/domain.route.js +3 -4
  331. package/dist/v1/schema/validation/domain.structure.d.ts +3 -4
  332. package/dist/v1/schema/validation/domain.structure.js +218 -210
  333. package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
  334. package/dist/v1/schema/{policy/validation → validation/policy}/budgets.js +22 -35
  335. package/dist/v1/schema/validation/policy/context.d.ts +28 -0
  336. package/dist/v1/schema/{policy/validation → validation/policy}/context.js +23 -33
  337. package/dist/v1/schema/validation/policy/objects.d.ts +4 -0
  338. package/dist/v1/schema/validation/policy/objects.js +70 -0
  339. package/dist/v1/schema/{policy/validation → validation/policy}/references.d.ts +0 -1
  340. package/dist/v1/schema/{policy/validation → validation/policy}/references.js +32 -13
  341. package/dist/v1/schema/{policy/validation → validation/policy}/typing.d.ts +4 -8
  342. package/dist/v1/schema/{policy/validation → validation/policy}/typing.js +56 -69
  343. package/dist/v1/schema/{policy/validation → validation/policy}/uses.d.ts +0 -1
  344. package/dist/v1/schema/{policy/validation → validation/policy}/uses.js +36 -113
  345. package/dist/v1/schema/{policy/validation → validation/policy}/validate.d.ts +3 -4
  346. package/dist/v1/schema/{policy/validation → validation/policy}/validate.js +0 -1
  347. package/dist/v1/schema/{value/index.d.ts → validation/value-api.d.ts} +9 -10
  348. package/dist/v1/schema/{value/index.js → validation/value-api.js} +4 -5
  349. package/dist/v1/schema/validation/value.d.ts +4 -5
  350. package/dist/v1/schema/validation/value.js +4 -9
  351. package/dist/v1/schema/validation/view.d.ts +3 -0
  352. package/dist/v1/schema/{view/validate.js → validation/view.js} +11 -4
  353. package/dist/v1/value/full-match.d.ts +2 -0
  354. package/dist/v1/value/full-match.js +2 -0
  355. package/dist/v1.d.ts +1 -2
  356. package/dist/v1.js +1 -2
  357. package/dist/value/accept.d.ts +0 -1
  358. package/dist/value/accept.js +0 -1
  359. package/dist/value/canonical.d.ts +3 -1
  360. package/dist/value/canonical.js +11 -5
  361. package/dist/value/decode.d.ts +0 -1
  362. package/dist/value/decode.js +0 -1
  363. package/dist/value/equal.d.ts +0 -1
  364. package/dist/value/equal.js +0 -1
  365. package/dist/value/error.d.ts +0 -1
  366. package/dist/value/error.js +0 -1
  367. package/dist/value/index.d.ts +0 -1
  368. package/dist/value/index.js +0 -1
  369. package/dist/value/json.d.ts +1 -2
  370. package/dist/value/json.js +1 -2
  371. package/dist/value/limits.d.ts +0 -1
  372. package/dist/value/limits.js +0 -1
  373. package/dist/value/types.d.ts +0 -1
  374. package/dist/value/types.js +0 -1
  375. package/dist/value/unicode.d.ts +0 -1
  376. package/dist/value/unicode.js +0 -1
  377. package/dist/version/dispatch.d.ts +0 -1
  378. package/dist/version/dispatch.js +0 -1
  379. package/dist/version/index.d.ts +0 -1
  380. package/dist/version/index.js +0 -1
  381. package/package.json +53 -21
  382. package/dist/index.d.ts.map +0 -1
  383. package/dist/index.js.map +0 -1
  384. package/dist/upgrade/contract.d.ts.map +0 -1
  385. package/dist/upgrade/contract.js.map +0 -1
  386. package/dist/upgrade/index.d.ts.map +0 -1
  387. package/dist/upgrade/index.js.map +0 -1
  388. package/dist/v1/addressing/index.d.ts.map +0 -1
  389. package/dist/v1/addressing/index.js.map +0 -1
  390. package/dist/v1/addressing/key.d.ts.map +0 -1
  391. package/dist/v1/addressing/key.js.map +0 -1
  392. package/dist/v1/addressing/patterns.d.ts.map +0 -1
  393. package/dist/v1/addressing/patterns.js.map +0 -1
  394. package/dist/v1/addressing/property-key.d.ts.map +0 -1
  395. package/dist/v1/addressing/property-key.js.map +0 -1
  396. package/dist/v1/addressing/ref.d.ts +0 -35
  397. package/dist/v1/addressing/ref.d.ts.map +0 -1
  398. package/dist/v1/addressing/ref.js +0 -94
  399. package/dist/v1/addressing/ref.js.map +0 -1
  400. package/dist/v1/addressing/schema-ref.d.ts +0 -8
  401. package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
  402. package/dist/v1/addressing/schema-ref.js +0 -2
  403. package/dist/v1/addressing/schema-ref.js.map +0 -1
  404. package/dist/v1/builder/callable.d.ts +0 -91
  405. package/dist/v1/builder/callable.d.ts.map +0 -1
  406. package/dist/v1/builder/callable.js.map +0 -1
  407. package/dist/v1/builder/compiler/callable.d.ts +0 -20
  408. package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
  409. package/dist/v1/builder/compiler/callable.js.map +0 -1
  410. package/dist/v1/builder/compiler/core.d.ts +0 -6
  411. package/dist/v1/builder/compiler/core.d.ts.map +0 -1
  412. package/dist/v1/builder/compiler/core.js.map +0 -1
  413. package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
  414. package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
  415. package/dist/v1/builder/compiler/core.properties.js.map +0 -1
  416. package/dist/v1/builder/compiler/definition.d.ts +0 -32
  417. package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
  418. package/dist/v1/builder/compiler/definition.js +0 -197
  419. package/dist/v1/builder/compiler/definition.js.map +0 -1
  420. package/dist/v1/builder/compiler/policy.d.ts +0 -17
  421. package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
  422. package/dist/v1/builder/compiler/policy.js.map +0 -1
  423. package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
  424. package/dist/v1/builder/compiler/schema.capture.js +0 -85
  425. package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
  426. package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
  427. package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
  428. package/dist/v1/builder/compiler/schema.context.js.map +0 -1
  429. package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
  430. package/dist/v1/builder/compiler/schema.js.map +0 -1
  431. package/dist/v1/builder/compiler/schema.ownership.d.ts +0 -9
  432. package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
  433. package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
  434. package/dist/v1/builder/compiler/value.d.ts +0 -26
  435. package/dist/v1/builder/compiler/value.d.ts.map +0 -1
  436. package/dist/v1/builder/compiler/value.js.map +0 -1
  437. package/dist/v1/builder/compiler/value.path.d.ts +0 -4
  438. package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
  439. package/dist/v1/builder/compiler/value.path.js.map +0 -1
  440. package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
  441. package/dist/v1/builder/compiler/value.zod.js.map +0 -1
  442. package/dist/v1/builder/compiler/view.d.ts +0 -12
  443. package/dist/v1/builder/compiler/view.d.ts.map +0 -1
  444. package/dist/v1/builder/compiler/view.js.map +0 -1
  445. package/dist/v1/builder/core.d.ts +0 -27
  446. package/dist/v1/builder/core.d.ts.map +0 -1
  447. package/dist/v1/builder/core.js +0 -21
  448. package/dist/v1/builder/core.js.map +0 -1
  449. package/dist/v1/builder/definition.d.ts +0 -155
  450. package/dist/v1/builder/definition.d.ts.map +0 -1
  451. package/dist/v1/builder/definition.js +0 -141
  452. package/dist/v1/builder/definition.js.map +0 -1
  453. package/dist/v1/builder/full-match.d.ts +0 -5
  454. package/dist/v1/builder/full-match.d.ts.map +0 -1
  455. package/dist/v1/builder/full-match.js +0 -12
  456. package/dist/v1/builder/full-match.js.map +0 -1
  457. package/dist/v1/builder/index.d.ts.map +0 -1
  458. package/dist/v1/builder/index.js.map +0 -1
  459. package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
  460. package/dist/v1/builder/internal/authoring.js.map +0 -1
  461. package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
  462. package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
  463. package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
  464. package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
  465. package/dist/v1/builder/internal/diagnostic.js +0 -16
  466. package/dist/v1/builder/internal/diagnostic.js.map +0 -1
  467. package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
  468. package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
  469. package/dist/v1/builder/internal/path.metadata.js.map +0 -1
  470. package/dist/v1/builder/path.d.ts +0 -9
  471. package/dist/v1/builder/path.d.ts.map +0 -1
  472. package/dist/v1/builder/path.js.map +0 -1
  473. package/dist/v1/builder/policy.d.ts.map +0 -1
  474. package/dist/v1/builder/policy.js +0 -79
  475. package/dist/v1/builder/policy.js.map +0 -1
  476. package/dist/v1/builder/property.d.ts +0 -37
  477. package/dist/v1/builder/property.d.ts.map +0 -1
  478. package/dist/v1/builder/property.js +0 -36
  479. package/dist/v1/builder/property.js.map +0 -1
  480. package/dist/v1/builder/schema.d.ts +0 -6
  481. package/dist/v1/builder/schema.d.ts.map +0 -1
  482. package/dist/v1/builder/schema.input.d.ts +0 -19
  483. package/dist/v1/builder/schema.input.d.ts.map +0 -1
  484. package/dist/v1/builder/schema.input.js +0 -2
  485. package/dist/v1/builder/schema.input.js.map +0 -1
  486. package/dist/v1/builder/schema.js.map +0 -1
  487. package/dist/v1/builder/value-schema.d.ts.map +0 -1
  488. package/dist/v1/builder/value-schema.js.map +0 -1
  489. package/dist/v1/builder/view.d.ts +0 -19
  490. package/dist/v1/builder/view.d.ts.map +0 -1
  491. package/dist/v1/builder/view.js +0 -7
  492. package/dist/v1/builder/view.js.map +0 -1
  493. package/dist/v1/builder.d.ts +0 -3
  494. package/dist/v1/builder.d.ts.map +0 -1
  495. package/dist/v1/builder.js +0 -2
  496. package/dist/v1/builder.js.map +0 -1
  497. package/dist/v1/bundle/codec.d.ts.map +0 -1
  498. package/dist/v1/bundle/codec.js.map +0 -1
  499. package/dist/v1/bundle/index.d.ts.map +0 -1
  500. package/dist/v1/bundle/index.js.map +0 -1
  501. package/dist/v1/bundle/model.d.ts.map +0 -1
  502. package/dist/v1/bundle/model.js.map +0 -1
  503. package/dist/v1/bundle/structure.d.ts.map +0 -1
  504. package/dist/v1/bundle/structure.js.map +0 -1
  505. package/dist/v1/bundle.d.ts +0 -3
  506. package/dist/v1/bundle.d.ts.map +0 -1
  507. package/dist/v1/bundle.js +0 -3
  508. package/dist/v1/bundle.js.map +0 -1
  509. package/dist/v1/index.d.ts.map +0 -1
  510. package/dist/v1/index.js.map +0 -1
  511. package/dist/v1/schema/callable.d.ts +0 -29
  512. package/dist/v1/schema/callable.d.ts.map +0 -1
  513. package/dist/v1/schema/callable.js +0 -2
  514. package/dist/v1/schema/callable.js.map +0 -1
  515. package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
  516. package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
  517. package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
  518. package/dist/v1/schema/canonical/domain.js.map +0 -1
  519. package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
  520. package/dist/v1/schema/canonical/freeze.js.map +0 -1
  521. package/dist/v1/schema/compiled/admission.d.ts +0 -4
  522. package/dist/v1/schema/compiled/admission.d.ts.map +0 -1
  523. package/dist/v1/schema/compiled/admission.js +0 -217
  524. package/dist/v1/schema/compiled/admission.js.map +0 -1
  525. package/dist/v1/schema/compiled/authored-validator.d.ts +0 -5
  526. package/dist/v1/schema/compiled/authored-validator.d.ts.map +0 -1
  527. package/dist/v1/schema/compiled/authored-validator.js +0 -7
  528. package/dist/v1/schema/compiled/authored-validator.js.map +0 -1
  529. package/dist/v1/schema/compiled/compiler.d.ts +0 -5
  530. package/dist/v1/schema/compiled/compiler.d.ts.map +0 -1
  531. package/dist/v1/schema/compiled/compiler.js +0 -86
  532. package/dist/v1/schema/compiled/compiler.js.map +0 -1
  533. package/dist/v1/schema/compiled/model.d.ts +0 -61
  534. package/dist/v1/schema/compiled/model.d.ts.map +0 -1
  535. package/dist/v1/schema/compiled/model.js +0 -2
  536. package/dist/v1/schema/compiled/model.js.map +0 -1
  537. package/dist/v1/schema/compiled/program.d.ts.map +0 -1
  538. package/dist/v1/schema/compiled/program.js.map +0 -1
  539. package/dist/v1/schema/compiled/validator.d.ts +0 -23
  540. package/dist/v1/schema/compiled/validator.d.ts.map +0 -1
  541. package/dist/v1/schema/compiled/validator.js +0 -62
  542. package/dist/v1/schema/compiled/validator.js.map +0 -1
  543. package/dist/v1/schema/core/declaration.d.ts +0 -17
  544. package/dist/v1/schema/core/declaration.d.ts.map +0 -1
  545. package/dist/v1/schema/core/declaration.js +0 -2
  546. package/dist/v1/schema/core/declaration.js.map +0 -1
  547. package/dist/v1/schema/core/validate.d.ts +0 -6
  548. package/dist/v1/schema/core/validate.d.ts.map +0 -1
  549. package/dist/v1/schema/core/validate.js.map +0 -1
  550. package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
  551. package/dist/v1/schema/definition/analysis.js.map +0 -1
  552. package/dist/v1/schema/definition/class.d.ts +0 -28
  553. package/dist/v1/schema/definition/class.d.ts.map +0 -1
  554. package/dist/v1/schema/definition/class.js +0 -2
  555. package/dist/v1/schema/definition/class.js.map +0 -1
  556. package/dist/v1/schema/definition/data.d.ts.map +0 -1
  557. package/dist/v1/schema/definition/data.js.map +0 -1
  558. package/dist/v1/schema/definition/edge.d.ts.map +0 -1
  559. package/dist/v1/schema/definition/edge.js +0 -2
  560. package/dist/v1/schema/definition/edge.js.map +0 -1
  561. package/dist/v1/schema/definition/interface.d.ts +0 -22
  562. package/dist/v1/schema/definition/interface.d.ts.map +0 -1
  563. package/dist/v1/schema/definition/interface.js +0 -2
  564. package/dist/v1/schema/definition/interface.js.map +0 -1
  565. package/dist/v1/schema/definition/property.d.ts +0 -18
  566. package/dist/v1/schema/definition/property.d.ts.map +0 -1
  567. package/dist/v1/schema/definition/property.js +0 -2
  568. package/dist/v1/schema/definition/property.js.map +0 -1
  569. package/dist/v1/schema/definition/validate.d.ts +0 -5
  570. package/dist/v1/schema/definition/validate.d.ts.map +0 -1
  571. package/dist/v1/schema/definition/validate.js +0 -221
  572. package/dist/v1/schema/definition/validate.js.map +0 -1
  573. package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
  574. package/dist/v1/schema/dependency.meaning.js.map +0 -1
  575. package/dist/v1/schema/diagnostic.d.ts.map +0 -1
  576. package/dist/v1/schema/diagnostic.js.map +0 -1
  577. package/dist/v1/schema/domain.accept.d.ts +0 -4
  578. package/dist/v1/schema/domain.accept.d.ts.map +0 -1
  579. package/dist/v1/schema/domain.accept.js.map +0 -1
  580. package/dist/v1/schema/domain.codec.d.ts.map +0 -1
  581. package/dist/v1/schema/domain.codec.js.map +0 -1
  582. package/dist/v1/schema/domain.header.d.ts +0 -15
  583. package/dist/v1/schema/domain.header.d.ts.map +0 -1
  584. package/dist/v1/schema/domain.header.js +0 -21
  585. package/dist/v1/schema/domain.header.js.map +0 -1
  586. package/dist/v1/schema/domain.ir.d.ts +0 -40
  587. package/dist/v1/schema/domain.ir.d.ts.map +0 -1
  588. package/dist/v1/schema/domain.ir.js +0 -5
  589. package/dist/v1/schema/domain.ir.js.map +0 -1
  590. package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
  591. package/dist/v1/schema/domain.lookup.js.map +0 -1
  592. package/dist/v1/schema/domain.resolve.d.ts +0 -26
  593. package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
  594. package/dist/v1/schema/domain.resolve.js +0 -43
  595. package/dist/v1/schema/domain.resolve.js.map +0 -1
  596. package/dist/v1/schema/domain.revision.d.ts.map +0 -1
  597. package/dist/v1/schema/domain.revision.js.map +0 -1
  598. package/dist/v1/schema/domain.validate.d.ts +0 -12
  599. package/dist/v1/schema/domain.validate.d.ts.map +0 -1
  600. package/dist/v1/schema/domain.validate.js.map +0 -1
  601. package/dist/v1/schema/index.d.ts.map +0 -1
  602. package/dist/v1/schema/index.js.map +0 -1
  603. package/dist/v1/schema/metadata.d.ts.map +0 -1
  604. package/dist/v1/schema/metadata.js.map +0 -1
  605. package/dist/v1/schema/policy/ast.d.ts +0 -77
  606. package/dist/v1/schema/policy/ast.d.ts.map +0 -1
  607. package/dist/v1/schema/policy/ast.js +0 -2
  608. package/dist/v1/schema/policy/ast.js.map +0 -1
  609. package/dist/v1/schema/policy/normalize.d.ts +0 -5
  610. package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
  611. package/dist/v1/schema/policy/normalize.js.map +0 -1
  612. package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
  613. package/dist/v1/schema/policy/validation/branches.js.map +0 -1
  614. package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
  615. package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
  616. package/dist/v1/schema/policy/validation/context.d.ts +0 -28
  617. package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
  618. package/dist/v1/schema/policy/validation/context.js.map +0 -1
  619. package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
  620. package/dist/v1/schema/policy/validation/references.js.map +0 -1
  621. package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
  622. package/dist/v1/schema/policy/validation/typing.js.map +0 -1
  623. package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
  624. package/dist/v1/schema/policy/validation/uses.js.map +0 -1
  625. package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
  626. package/dist/v1/schema/policy/validation/validate.js.map +0 -1
  627. package/dist/v1/schema/reference.d.ts +0 -43
  628. package/dist/v1/schema/reference.d.ts.map +0 -1
  629. package/dist/v1/schema/reference.js +0 -31
  630. package/dist/v1/schema/reference.js.map +0 -1
  631. package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
  632. package/dist/v1/schema/resolution/closure.js.map +0 -1
  633. package/dist/v1/schema/resolution/context.d.ts.map +0 -1
  634. package/dist/v1/schema/resolution/context.js.map +0 -1
  635. package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
  636. package/dist/v1/schema/resolution/definition.index.js.map +0 -1
  637. package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
  638. package/dist/v1/schema/resolution/origins.js.map +0 -1
  639. package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
  640. package/dist/v1/schema/resolution/value.registry.js.map +0 -1
  641. package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
  642. package/dist/v1/schema/validation/domain.route.js.map +0 -1
  643. package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
  644. package/dist/v1/schema/validation/domain.structure.js.map +0 -1
  645. package/dist/v1/schema/validation/value.d.ts.map +0 -1
  646. package/dist/v1/schema/validation/value.js.map +0 -1
  647. package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
  648. package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
  649. package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
  650. package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
  651. package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
  652. package/dist/v1/schema/value/full-match.d.ts.map +0 -1
  653. package/dist/v1/schema/value/full-match.js.map +0 -1
  654. package/dist/v1/schema/value/index.d.ts.map +0 -1
  655. package/dist/v1/schema/value/index.js.map +0 -1
  656. package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
  657. package/dist/v1/schema/value/instance/assertions.js.map +0 -1
  658. package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
  659. package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
  660. package/dist/v1/schema/value/instance/preparation.d.ts.map +0 -1
  661. package/dist/v1/schema/value/instance/preparation.js.map +0 -1
  662. package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
  663. package/dist/v1/schema/value/instance/types.js.map +0 -1
  664. package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
  665. package/dist/v1/schema/value/instance.validate.js.map +0 -1
  666. package/dist/v1/schema/value/instant.d.ts.map +0 -1
  667. package/dist/v1/schema/value/instant.js.map +0 -1
  668. package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
  669. package/dist/v1/schema/value/location/keywords.js.map +0 -1
  670. package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
  671. package/dist/v1/schema/value/location/pointer.js.map +0 -1
  672. package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
  673. package/dist/v1/schema/value/location/walk.js.map +0 -1
  674. package/dist/v1/schema/value/object.d.ts.map +0 -1
  675. package/dist/v1/schema/value/object.js.map +0 -1
  676. package/dist/v1/schema/value/ordering.d.ts.map +0 -1
  677. package/dist/v1/schema/value/ordering.js.map +0 -1
  678. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
  679. package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
  680. package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
  681. package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
  682. package/dist/v1/schema/value/profile/dialect.js +0 -36
  683. package/dist/v1/schema/value/profile/dialect.js.map +0 -1
  684. package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
  685. package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
  686. package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
  687. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts.map +0 -1
  688. package/dist/v1/schema/value/profile/meta-schema.compiled.js.map +0 -1
  689. package/dist/v1/schema/value/profile/meta-schema.d.ts +0 -5
  690. package/dist/v1/schema/value/profile/meta-schema.d.ts.map +0 -1
  691. package/dist/v1/schema/value/profile/meta-schema.js.map +0 -1
  692. package/dist/v1/schema/value/profile/rules.d.ts +0 -5
  693. package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
  694. package/dist/v1/schema/value/profile/rules.js.map +0 -1
  695. package/dist/v1/schema/value/profile/validate.d.ts +0 -5
  696. package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
  697. package/dist/v1/schema/value/profile/validate.js.map +0 -1
  698. package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
  699. package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
  700. package/dist/v1/schema/value/regexp/ast.d.ts.map +0 -1
  701. package/dist/v1/schema/value/regexp/ast.js.map +0 -1
  702. package/dist/v1/schema/value/regexp/compile.d.ts.map +0 -1
  703. package/dist/v1/schema/value/regexp/compile.js.map +0 -1
  704. package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
  705. package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
  706. package/dist/v1/schema/value/regexp/linear.js +0 -24
  707. package/dist/v1/schema/value/regexp/linear.js.map +0 -1
  708. package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
  709. package/dist/v1/schema/value/regexp/lower.js.map +0 -1
  710. package/dist/v1/schema/value/regexp/matcher.d.ts.map +0 -1
  711. package/dist/v1/schema/value/regexp/matcher.js.map +0 -1
  712. package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
  713. package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
  714. package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
  715. package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
  716. package/dist/v1/schema/value/registry.d.ts.map +0 -1
  717. package/dist/v1/schema/value/registry.js +0 -2
  718. package/dist/v1/schema/value/registry.js.map +0 -1
  719. package/dist/v1/schema/value/resources/closure.d.ts +0 -12
  720. package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
  721. package/dist/v1/schema/value/resources/closure.js.map +0 -1
  722. package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
  723. package/dist/v1/schema/value/resources/recursion.js.map +0 -1
  724. package/dist/v1/schema/value/resources/references.d.ts +0 -25
  725. package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
  726. package/dist/v1/schema/value/resources/references.js +0 -93
  727. package/dist/v1/schema/value/resources/references.js.map +0 -1
  728. package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
  729. package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
  730. package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
  731. package/dist/v1/schema/value/schema.d.ts.map +0 -1
  732. package/dist/v1/schema/value/schema.js.map +0 -1
  733. package/dist/v1/schema/view/declaration.d.ts +0 -14
  734. package/dist/v1/schema/view/declaration.d.ts.map +0 -1
  735. package/dist/v1/schema/view/declaration.js +0 -2
  736. package/dist/v1/schema/view/declaration.js.map +0 -1
  737. package/dist/v1/schema/view/validate.d.ts +0 -4
  738. package/dist/v1/schema/view/validate.d.ts.map +0 -1
  739. package/dist/v1/schema/view/validate.js.map +0 -1
  740. package/dist/v1/schema.d.ts +0 -3
  741. package/dist/v1/schema.d.ts.map +0 -1
  742. package/dist/v1/schema.js +0 -3
  743. package/dist/v1/schema.js.map +0 -1
  744. package/dist/v1.d.ts.map +0 -1
  745. package/dist/v1.js.map +0 -1
  746. package/dist/value/accept.d.ts.map +0 -1
  747. package/dist/value/accept.js.map +0 -1
  748. package/dist/value/canonical.d.ts.map +0 -1
  749. package/dist/value/canonical.js.map +0 -1
  750. package/dist/value/decode.d.ts.map +0 -1
  751. package/dist/value/decode.js.map +0 -1
  752. package/dist/value/equal.d.ts.map +0 -1
  753. package/dist/value/equal.js.map +0 -1
  754. package/dist/value/error.d.ts.map +0 -1
  755. package/dist/value/error.js.map +0 -1
  756. package/dist/value/index.d.ts.map +0 -1
  757. package/dist/value/index.js.map +0 -1
  758. package/dist/value/json.d.ts.map +0 -1
  759. package/dist/value/json.js.map +0 -1
  760. package/dist/value/limits.d.ts.map +0 -1
  761. package/dist/value/limits.js.map +0 -1
  762. package/dist/value/types.d.ts.map +0 -1
  763. package/dist/value/types.js.map +0 -1
  764. package/dist/value/unicode.d.ts.map +0 -1
  765. package/dist/value/unicode.js.map +0 -1
  766. package/dist/version/dispatch.d.ts.map +0 -1
  767. package/dist/version/dispatch.js.map +0 -1
  768. package/dist/version/index.d.ts.map +0 -1
  769. package/dist/version/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { DefinitionKey } from '../../addressing/index.js';
2
+ import type { PropertyValues } from '../class/property-values.js';
3
+ import type { ResolvedClass } from '../class/resolved.js';
4
+ import type { CoreDefinition } from './model/core.js';
5
+ export interface ResolvedCoreDefinition {
6
+ readonly ref: CoreDefinition['ref'];
7
+ readonly key: DefinitionKey<string, 'core'>;
8
+ readonly class: ResolvedClass<'node'>;
9
+ readonly properties: PropertyValues;
10
+ readonly definition: CoreDefinition;
11
+ }
12
+ export interface ResolvedDomainEndpoint {
13
+ readonly kind: 'domain';
14
+ readonly origin: string;
15
+ }
16
+ export interface ResolvedCoreEdge {
17
+ readonly class: ResolvedClass<'edge'>;
18
+ readonly source: ResolvedCoreDefinition | ResolvedDomainEndpoint;
19
+ readonly target: ResolvedCoreDefinition | ResolvedDomainEndpoint;
20
+ readonly properties: PropertyValues;
21
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -10,4 +10,3 @@ export declare const icon: Readonly<{
10
10
  readonly minLength: 1;
11
11
  readonly maxLength: 8000;
12
12
  }>;
13
- //# sourceMappingURL=metadata.d.ts.map
@@ -10,4 +10,3 @@ export const icon = Object.freeze({
10
10
  minLength: 1,
11
11
  maxLength: 8000,
12
12
  });
13
- //# sourceMappingURL=metadata.js.map
@@ -0,0 +1,7 @@
1
+ import type { FunctionDefinition } from './callable/model/callable.js';
2
+ import type { ClassDefinition } from './class/model/class.js';
3
+ import type { CoreDefinition } from './core/model/core.js';
4
+ import type { PolicyDefinition } from './policy/model/policy.js';
5
+ import type { ViewDefinition } from './view/model/view.js';
6
+ /** Every named V1 product Definition. Property and Method remain Class-owned members. */
7
+ export type Definition = ClassDefinition | FunctionDefinition | PolicyDefinition | ViewDefinition | CoreDefinition;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ export type { ClassRef, CoreRef, DefinitionBase, DefinitionKey, DefinitionRef, FunctionRef, MethodKey, PolicyRef, PropertyKey, ViewRef, } from '../addressing/index.js';
2
+ export type { Value as PropertyValue } from '@astrale-os/kernel-dsl/value';
3
+ export type { JsonSchema as ValueSchema, JsonSchemaObject as ValueSchemaObject, } from './value/model/schema.js';
4
+ export type { OrderingKind } from './value/ordering.js';
5
+ export { stateMachine } from './state/index.js';
6
+ export type { EventOf, StateMachine, StateOf, StateTopology } from './state/index.js';
7
+ export type * from './callable/model/callable.js';
8
+ export type * from './callable/resolved.js';
9
+ export type * from './class/model/class.js';
10
+ export type { DataDefinition, DataFacet, MediaType } from './class/model/data.js';
11
+ export type * from './class/model/edge.js';
12
+ export type * from './class/model/property.js';
13
+ export type * from './class/resolved.js';
14
+ export type * from './class/facets.js';
15
+ export { PropertyValues } from './class/property-values.js';
16
+ export type { PropertyValuesOperations } from './class/property-values.js';
17
+ export type * from './core/model/core.js';
18
+ export type * from './core/resolved.js';
19
+ export type { Definition } from './definition.js';
20
+ export type { ResolvedDefinition, ResolvedDefinitionOf } from './resolved.js';
21
+ export type { Diagnostic, DiagnosticCode } from './validation/diagnostic.js';
22
+ export type * from './policy/model/policy.js';
23
+ export { policyVariableClass, policyVariableSelector, policyObjectKey, policyObjectOrigin, } from './policy/model/policy.js';
24
+ export type * from './policy/resolved.js';
25
+ export type * from './view/model/view.js';
26
+ export type * from './view/resolved.js';
@@ -0,0 +1,3 @@
1
+ export { stateMachine } from './state/index.js';
2
+ export { PropertyValues } from './class/property-values.js';
3
+ export { policyVariableClass, policyVariableSelector, policyObjectKey, policyObjectOrigin, } from './policy/model/policy.js';
@@ -1,8 +1,9 @@
1
- import type { ClassRef } from '../../reference.js';
2
- import type { PolicyEdgePattern, PolicyPatternExpression, PolicyPatternTerm } from '../ast.js';
1
+ import type { PolicyEdgePattern, PolicyPatternExpression, PolicyPatternTerm, PolicyVariableSelector } from '../model/policy.js';
3
2
  export interface PatternBranch {
3
+ readonly terms: ReadonlyMap<string, PolicyPatternTerm>;
4
+ readonly equalities: readonly (readonly [string, string])[];
4
5
  readonly edges: readonly PatternEdgeUse[];
5
- readonly variables: ReadonlyMap<string, ClassRef>;
6
+ readonly variables: ReadonlyMap<string, PolicyVariableSelector>;
6
7
  readonly requiredVariables: ReadonlySet<string>;
7
8
  readonly namespace: string;
8
9
  }
@@ -15,7 +16,5 @@ export declare function branchesOf(pattern: PolicyPatternExpression, namespace:
15
16
  export declare function branchProduct(children: readonly (readonly PatternBranch[])[]): readonly PatternBranch[];
16
17
  export declare function capBranches(values: readonly PatternBranch[]): readonly PatternBranch[];
17
18
  export declare function isConnected(branch: PatternBranch): boolean;
18
- /** A normalized branch targets either one object or both authored Edge endpoints, never a mixture. */
19
19
  export declare function targetMode(branch: PatternBranch): PolicyTargetMode | undefined;
20
20
  export declare function termKey(term: PolicyPatternTerm, namespace: string): string;
21
- //# sourceMappingURL=branches.d.ts.map
@@ -1,3 +1,5 @@
1
+ import { definitionRefIndex } from '../../../addressing/ordering.js';
2
+ import { policyObjectKey, policyVariableSelector } from '../model/policy.js';
1
3
  import { BRANCH_OVERFLOW } from './budgets.js';
2
4
  export function branchesOf(pattern, namespace) {
3
5
  const variables = collectVariableClasses(pattern, namespace);
@@ -25,7 +27,7 @@ export function isConnected(branch) {
25
27
  const mode = targetMode(branch);
26
28
  if (mode === undefined)
27
29
  return false;
28
- const vertices = new Set(mode === 'object' ? ['subject', 'object'] : ['subject', 'source', 'target']);
30
+ const vertices = new Set(['subject', ...branch.terms.keys()]);
29
31
  for (const variable of branch.requiredVariables)
30
32
  vertices.add(variable);
31
33
  const union = new UnionFind(vertices);
@@ -36,34 +38,39 @@ export function isConnected(branch) {
36
38
  union.add(target);
37
39
  union.join(source, target);
38
40
  }
41
+ for (const [left, right] of branch.equalities)
42
+ union.join(left, right);
39
43
  const root = union.find('subject');
40
44
  return [...vertices].every((vertex) => union.find(vertex) === root);
41
45
  }
42
- /** A normalized branch targets either one object or both authored Edge endpoints, never a mixture. */
43
46
  export function targetMode(branch) {
44
47
  let object = false;
45
48
  let source = false;
46
49
  let target = false;
47
- for (const edge of branch.edges) {
48
- for (const term of [edge.pattern.source, edge.pattern.target]) {
49
- object ||= term.kind === 'object';
50
- source ||= term.kind === 'source';
51
- target ||= term.kind === 'target';
52
- }
50
+ for (const term of branch.terms.values()) {
51
+ object ||= term.kind === 'object';
52
+ source ||= term.kind === 'source';
53
+ target ||= term.kind === 'target';
53
54
  }
54
55
  if (object && !source && !target)
55
56
  return 'object';
56
- if (!object && source && target)
57
+ if (!object && (source || target))
57
58
  return 'edge';
58
59
  return undefined;
59
60
  }
60
61
  export function termKey(term, namespace) {
61
- return term.kind === 'variable' ? variableKey(namespace, term.id) : term.kind;
62
+ return term.kind === 'variable'
63
+ ? variableKey(namespace, term.id)
64
+ : term.kind === 'ref'
65
+ ? `ref:${term.ref.kind === 'method' ? policyObjectKey(term.ref) : definitionRefIndex(term.ref)}`
66
+ : term.kind;
62
67
  }
63
68
  function branchesForNode(pattern, namespace, variables) {
64
- if (isEdge(pattern)) {
69
+ if ('source' in pattern) {
65
70
  return [
66
71
  {
72
+ terms: new Map([pattern.source, pattern.target].map((term) => [termKey(term, namespace), term])),
73
+ equalities: [],
67
74
  edges: [{ pattern, namespace }],
68
75
  variables,
69
76
  requiredVariables: new Set(),
@@ -71,6 +78,24 @@ function branchesForNode(pattern, namespace, variables) {
71
78
  },
72
79
  ];
73
80
  }
81
+ if ('sameNode' in pattern) {
82
+ const terms = new Map([pattern.sameNode.left, pattern.sameNode.right].map((term) => [
83
+ termKey(term, namespace),
84
+ term,
85
+ ]));
86
+ return [
87
+ {
88
+ terms,
89
+ equalities: [
90
+ [termKey(pattern.sameNode.left, namespace), termKey(pattern.sameNode.right, namespace)],
91
+ ],
92
+ edges: [],
93
+ variables,
94
+ requiredVariables: new Set(),
95
+ namespace,
96
+ },
97
+ ];
98
+ }
74
99
  if ('exists' in pattern) {
75
100
  const direct = new Set(pattern.exists.nodes.map((node) => variableKey(namespace, node.variable.id)));
76
101
  return branchesForNode(pattern.exists.where, namespace, variables).map((branch) => ({
@@ -78,12 +103,13 @@ function branchesForNode(pattern, namespace, variables) {
78
103
  requiredVariables: new Set([...branch.requiredVariables, ...direct]),
79
104
  }));
80
105
  }
81
- const { key, values } = patternOperands(pattern);
82
- const children = values.map((child) => branchesForNode(child, namespace, variables));
83
- return key === 'allOf' ? branchProduct(children) : capBranches(children.flat());
106
+ const children = ('allOf' in pattern ? pattern.allOf : pattern.anyOf).map((child) => branchesForNode(child, namespace, variables));
107
+ return 'allOf' in pattern ? branchProduct(children) : capBranches(children.flat());
84
108
  }
85
109
  function emptyBranch() {
86
110
  return {
111
+ terms: new Map(),
112
+ equalities: [],
87
113
  edges: [],
88
114
  variables: new Map(),
89
115
  requiredVariables: new Set(),
@@ -92,6 +118,8 @@ function emptyBranch() {
92
118
  }
93
119
  function mergeBranches(left, right) {
94
120
  return {
121
+ terms: new Map([...left.terms, ...right.terms]),
122
+ equalities: [...left.equalities, ...right.equalities],
95
123
  edges: [...left.edges, ...right.edges],
96
124
  variables: new Map([...left.variables, ...right.variables]),
97
125
  requiredVariables: new Set([...left.requiredVariables, ...right.requiredVariables]),
@@ -103,7 +131,7 @@ function collectVariableClasses(pattern, namespace) {
103
131
  const visit = (node) => {
104
132
  if ('exists' in node) {
105
133
  for (const variable of node.exists.nodes) {
106
- result.set(variableKey(namespace, variable.variable.id), variable.class);
134
+ result.set(variableKey(namespace, variable.variable.id), policyVariableSelector(variable));
107
135
  }
108
136
  visit(node.exists.where);
109
137
  }
@@ -118,14 +146,6 @@ function collectVariableClasses(pattern, namespace) {
118
146
  function variableKey(namespace, id) {
119
147
  return `variable:${namespace}:${id}`;
120
148
  }
121
- function patternOperands(value) {
122
- return 'allOf' in value
123
- ? { key: 'allOf', values: value.allOf }
124
- : { key: 'anyOf', values: value.anyOf };
125
- }
126
- function isEdge(value) {
127
- return 'source' in value;
128
- }
129
149
  class UnionFind {
130
150
  #parents = new Map();
131
151
  constructor(values) {
@@ -152,4 +172,3 @@ class UnionFind {
152
172
  this.#parents.set(b, a);
153
173
  }
154
174
  }
155
- //# sourceMappingURL=branches.js.map
@@ -1,5 +1,4 @@
1
- import type { PolicyCheckExpression } from '../ast.js';
2
- import type { PolicyValidationContext } from './context.js';
1
+ import type { PolicyCheckExpression } from '../model/policy.js';
3
2
  export declare const MAX_PATTERN_DEPTH = 4;
4
3
  export declare const MAX_BRANCHES = 8;
5
4
  export declare const MAX_VARIABLES = 4;
@@ -14,6 +13,4 @@ export interface CheckMeasure {
14
13
  readonly branches: number;
15
14
  readonly leaves: number;
16
15
  }
17
- export declare function validatePolicyBudgets(context: PolicyValidationContext): void;
18
16
  export declare function measureChecks(expression: PolicyCheckExpression): CheckMeasure;
19
- //# sourceMappingURL=budgets.d.ts.map
@@ -0,0 +1,25 @@
1
+ export const MAX_PATTERN_DEPTH = 4;
2
+ export const MAX_BRANCHES = 8;
3
+ export const MAX_VARIABLES = 4;
4
+ export const MAX_EDGES = 6;
5
+ export const MAX_REPEAT = 3;
6
+ export const MAX_DOMAINS = 4;
7
+ export const MAX_CHECK_DEPTH = 4;
8
+ export const MAX_CHECK_LEAVES = 8;
9
+ export const BRANCH_OVERFLOW = MAX_BRANCHES + 1;
10
+ export function measureChecks(expression) {
11
+ if ('check' in expression || 'sameNode' in expression)
12
+ return { depth: 1, branches: 1, leaves: 1 };
13
+ const children = ('allOf' in expression ? expression.allOf : expression.anyOf).map(measureChecks);
14
+ const branches = 'allOf' in expression
15
+ ? children.reduce((value, child) => saturatingProduct(value, child.branches), 1)
16
+ : children.reduce((value, child) => Math.min(BRANCH_OVERFLOW, value + child.branches), 0);
17
+ return {
18
+ depth: 1 + Math.max(0, ...children.map((child) => child.depth)),
19
+ branches,
20
+ leaves: children.reduce((value, child) => value + child.leaves, 0),
21
+ };
22
+ }
23
+ function saturatingProduct(left, right) {
24
+ return Math.min(BRANCH_OVERFLOW, left * right);
25
+ }
@@ -0,0 +1,4 @@
1
+ export type * from './model/policy.js';
2
+ export { policyVariableClass, policyVariableSelector, policyObjectKey, policyObjectOrigin, } from './model/policy.js';
3
+ export type * from './resolved.js';
4
+ export * from './normalization/normalize.js';
@@ -0,0 +1,2 @@
1
+ export { policyVariableClass, policyVariableSelector, policyObjectKey, policyObjectOrigin, } from './model/policy.js';
2
+ export * from './normalization/normalize.js';
@@ -0,0 +1,115 @@
1
+ import type { CoreRef, ClassRef, FunctionRef, PolicyRef, ViewRef, DefinitionBase, MethodAddress } from '../../../addressing/index.js';
2
+ export type PolicyPatternTerm = {
3
+ readonly kind: 'subject';
4
+ } | {
5
+ readonly kind: 'object';
6
+ } | {
7
+ readonly kind: 'source';
8
+ } | {
9
+ readonly kind: 'target';
10
+ } | {
11
+ readonly kind: 'variable';
12
+ readonly id: number;
13
+ } | {
14
+ readonly kind: 'ref';
15
+ readonly ref: PolicyObjectRef;
16
+ };
17
+ /** Identity equality; both terms must resolve to one valid Node. */
18
+ export interface PolicySameNode<Term> {
19
+ readonly sameNode: {
20
+ readonly left: Term;
21
+ readonly right: Term;
22
+ };
23
+ }
24
+ export interface ExactPolicyVariable {
25
+ readonly variable: {
26
+ readonly kind: 'variable';
27
+ readonly id: number;
28
+ };
29
+ readonly class: ClassRef;
30
+ }
31
+ export interface SelectedPolicyVariable {
32
+ readonly variable: {
33
+ readonly kind: 'variable';
34
+ readonly id: number;
35
+ };
36
+ readonly selector: {
37
+ readonly kind: 'any';
38
+ } | {
39
+ readonly kind: 'satisfies';
40
+ readonly class: ClassRef;
41
+ };
42
+ }
43
+ /**
44
+ * An existential Node binding. The class-bearing legacy form is deliberately retained as the
45
+ * canonical exact selector so persisted V1 DomainSchema documents keep their original meaning.
46
+ */
47
+ export type PolicyVariable = ExactPolicyVariable | SelectedPolicyVariable;
48
+ export type PolicyVariableSelector = {
49
+ readonly kind: 'exact';
50
+ readonly class: ClassRef;
51
+ } | SelectedPolicyVariable['selector'];
52
+ /** Resolve the semantic selector while preserving the legacy exact wire representation. */
53
+ export declare function policyVariableSelector(variable: PolicyVariable): PolicyVariableSelector;
54
+ /** Return the selector's referenced Class, when it has one. */
55
+ export declare function policyVariableClass(variable: PolicyVariable): ClassRef | undefined;
56
+ export interface PolicyRepeat {
57
+ readonly min: number;
58
+ readonly max: number;
59
+ }
60
+ export interface PolicyEdgePattern {
61
+ readonly source: PolicyPatternTerm;
62
+ readonly class: ClassRef;
63
+ readonly target: PolicyPatternTerm;
64
+ readonly repeat?: PolicyRepeat;
65
+ }
66
+ export type PolicyPatternExpression = PolicyEdgePattern | PolicySameNode<PolicyPatternTerm> | {
67
+ readonly exists: {
68
+ readonly nodes: readonly PolicyVariable[];
69
+ readonly where: PolicyPatternExpression;
70
+ };
71
+ } | {
72
+ readonly allOf: readonly PolicyPatternExpression[];
73
+ } | {
74
+ readonly anyOf: readonly PolicyPatternExpression[];
75
+ };
76
+ export type PolicyExpression = {
77
+ readonly match: PolicyPatternExpression;
78
+ } | {
79
+ readonly allOf: readonly PolicyRef[];
80
+ } | {
81
+ readonly anyOf: readonly PolicyRef[];
82
+ };
83
+ export interface PolicyDefinition extends DefinitionBase<PolicyRef> {
84
+ readonly expression: PolicyExpression;
85
+ readonly description?: string;
86
+ }
87
+ /** Local Domain members whose installed projection resolves through one exact member Path. */
88
+ export type PolicyObjectRef = ClassRef | FunctionRef | PolicyRef | ViewRef | CoreRef | MethodAddress;
89
+ /** Exact projected identity, including Class-owned Method declarations. */
90
+ export declare function policyObjectKey(ref: PolicyObjectRef): string;
91
+ export declare function policyObjectOrigin(ref: PolicyObjectRef): string;
92
+ export type PolicyCheckObject = {
93
+ readonly kind: 'self';
94
+ } | {
95
+ readonly kind: 'input';
96
+ readonly field: string;
97
+ } | {
98
+ readonly kind: 'ref';
99
+ readonly ref: PolicyObjectRef;
100
+ };
101
+ /** Versioned Policy-check grammar specialized by each lifecycle boundary. */
102
+ export type PolicyCheckExpression<Policy = PolicyRef, Object = PolicyCheckObject> = {
103
+ readonly check: Policy;
104
+ readonly object: Object;
105
+ } | PolicySameNode<Object> | {
106
+ readonly allOf: readonly [
107
+ PolicyCheckExpression<Policy, Object>,
108
+ ...PolicyCheckExpression<Policy, Object>[]
109
+ ];
110
+ } | {
111
+ readonly anyOf: readonly [
112
+ PolicyCheckExpression<Policy, Object>,
113
+ ...PolicyCheckExpression<Policy, Object>[]
114
+ ];
115
+ };
@@ -0,0 +1,18 @@
1
+ /** Resolve the semantic selector while preserving the legacy exact wire representation. */
2
+ export function policyVariableSelector(variable) {
3
+ return 'class' in variable ? { kind: 'exact', class: variable.class } : variable.selector;
4
+ }
5
+ /** Return the selector's referenced Class, when it has one. */
6
+ export function policyVariableClass(variable) {
7
+ const selector = policyVariableSelector(variable);
8
+ return selector.kind === 'any' ? undefined : selector.class;
9
+ }
10
+ /** Exact projected identity, including Class-owned Method declarations. */
11
+ export function policyObjectKey(ref) {
12
+ return ref.kind === 'method'
13
+ ? `${ref.owner.origin}:class.${ref.owner.name}.method.${ref.name}`
14
+ : `${ref.origin}:${ref.kind}.${ref.name}`;
15
+ }
16
+ export function policyObjectOrigin(ref) {
17
+ return ref.kind === 'method' ? ref.owner.origin : ref.origin;
18
+ }
@@ -0,0 +1,4 @@
1
+ import type { PolicyCheckExpression, PolicyExpression, PolicyPatternExpression } from '../model/policy.js';
2
+ export declare function normalizePolicyExpression(value: PolicyExpression): PolicyExpression;
3
+ export declare function normalizePolicyPattern(value: PolicyPatternExpression): PolicyPatternExpression;
4
+ export declare function normalizePolicyChecks(value: PolicyCheckExpression): PolicyCheckExpression;
@@ -1,14 +1,15 @@
1
1
  import { json } from '@astrale-os/kernel-dsl/value';
2
- import { schemaRefIndex, compareSchemaRefs } from '../reference.js';
2
+ import { definitionRefIndex, compareDefinitionRefs } from '../../../addressing/ordering.js';
3
+ import { policyObjectKey, policyVariableSelector } from '../model/policy.js';
3
4
  const textEncoder = new TextEncoder();
4
- export function normalizePolicyDeclaration(value) {
5
+ export function normalizePolicyExpression(value) {
5
6
  if ('match' in value) {
6
- return withDescription(value, { match: normalizePolicyPattern(value.match) });
7
+ return { match: normalizePolicyPattern(value.match) };
7
8
  }
8
9
  if ('allOf' in value) {
9
- return withDescription(value, { allOf: uniqueRefs(value.allOf) });
10
+ return { allOf: uniqueRefs(value.allOf) };
10
11
  }
11
- return withDescription(value, { anyOf: uniqueRefs(value.anyOf) });
12
+ return { anyOf: uniqueRefs(value.anyOf) };
12
13
  }
13
14
  export function normalizePolicyPattern(value) {
14
15
  const rewritten = rewriteVariables(value, canonicalVariableIds(value));
@@ -17,6 +18,8 @@ export function normalizePolicyPattern(value) {
17
18
  export function normalizePolicyChecks(value) {
18
19
  if ('check' in value)
19
20
  return value;
21
+ if ('sameNode' in value)
22
+ return { sameNode: normalizeEquality(value.sameNode) };
20
23
  if ('allOf' in value) {
21
24
  const children = value.allOf.flatMap((child) => {
22
25
  const normalized = normalizePolicyChecks(child);
@@ -36,6 +39,8 @@ function policyCheckComposition(values) {
36
39
  return values;
37
40
  }
38
41
  function normalizePatternNode(value) {
42
+ if ('sameNode' in value)
43
+ return { sameNode: normalizeEquality(value.sameNode) };
39
44
  if (isEdge(value)) {
40
45
  const repeat = value.repeat;
41
46
  if (repeat?.min === 1 && repeat.max === 1) {
@@ -101,7 +106,7 @@ function canonicalVariableIds(value) {
101
106
  function collectDeclarations(value, result) {
102
107
  if ('exists' in value) {
103
108
  for (const node of value.exists.nodes) {
104
- result.set(node.variable.id, schemaRefIndex(node.class));
109
+ result.set(node.variable.id, selectorSignature(node));
105
110
  }
106
111
  collectDeclarations(value.exists.where, result);
107
112
  return;
@@ -114,12 +119,20 @@ function collectDeclarations(value, result) {
114
119
  collectDeclarations(child, result);
115
120
  }
116
121
  function collectUses(value, target, colors, result) {
122
+ if ('sameNode' in value) {
123
+ const { left, right } = value.sameNode;
124
+ if (left.kind === 'variable' && left.id === target)
125
+ result.push(`same:${termColor(right, colors)}`);
126
+ if (right.kind === 'variable' && right.id === target)
127
+ result.push(`same:${termColor(left, colors)}`);
128
+ return;
129
+ }
117
130
  if (isEdge(value)) {
118
131
  if (value.source.kind === 'variable' && value.source.id === target) {
119
- result.push(`s:${schemaRefIndex(value.class)}:${termColor(value.target, colors)}`);
132
+ result.push(`s:${definitionRefIndex(value.class)}:${termColor(value.target, colors)}`);
120
133
  }
121
134
  if (value.target.kind === 'variable' && value.target.id === target) {
122
- result.push(`t:${schemaRefIndex(value.class)}:${termColor(value.source, colors)}`);
135
+ result.push(`t:${definitionRefIndex(value.class)}:${termColor(value.source, colors)}`);
123
136
  }
124
137
  return;
125
138
  }
@@ -132,16 +145,29 @@ function collectUses(value, target, colors, result) {
132
145
  function termColor(term, colors) {
133
146
  if (term.kind === 'variable')
134
147
  return `variable:${colors.get(term.id) ?? '?'}`;
148
+ if (term.kind === 'ref')
149
+ return `ref:${term.ref.kind === 'method' ? policyObjectKey(term.ref) : definitionRefIndex(term.ref)}`;
135
150
  return term.kind;
136
151
  }
137
152
  function collectFirstUseKeys(value, colors, result, prefix = '$') {
153
+ if ('sameNode' in value) {
154
+ for (const term of [value.sameNode.left, value.sameNode.right]) {
155
+ if (term.kind !== 'variable')
156
+ continue;
157
+ const key = `${prefix}:same`;
158
+ const current = result.get(term.id);
159
+ if (current === undefined || key < current)
160
+ result.set(term.id, key);
161
+ }
162
+ return;
163
+ }
138
164
  if (isEdge(value)) {
139
165
  for (const [position, term] of [
140
166
  ['source', value.source],
141
167
  ['target', value.target],
142
168
  ]) {
143
169
  if (term.kind === 'variable') {
144
- const key = `${prefix}:${schemaRefIndex(value.class)}:${position}`;
170
+ const key = `${prefix}:${definitionRefIndex(value.class)}:${position}`;
145
171
  const current = result.get(term.id);
146
172
  if (current === undefined || key < current)
147
173
  result.set(term.id, key);
@@ -159,8 +185,10 @@ function collectFirstUseKeys(value, colors, result, prefix = '$') {
159
185
  children.forEach((child, index) => collectFirstUseKeys(child, colors, result, `${prefix}:${key}:${index}`));
160
186
  }
161
187
  function patternSignature(value, colors) {
188
+ if ('sameNode' in value)
189
+ return `same:${[termColor(value.sameNode.left, colors), termColor(value.sameNode.right, colors)].sort(compareUtf8Bytes).join(':')}`;
162
190
  if (isEdge(value)) {
163
- return `edge:${schemaRefIndex(value.class)}:${termColor(value.source, colors)}:${termColor(value.target, colors)}:${value.repeat?.min ?? 1}:${value.repeat?.max ?? 1}`;
191
+ return `edge:${definitionRefIndex(value.class)}:${termColor(value.source, colors)}:${termColor(value.target, colors)}:${value.repeat?.min ?? 1}:${value.repeat?.max ?? 1}`;
164
192
  }
165
193
  if ('exists' in value) {
166
194
  return `exists:${value.exists.nodes
@@ -176,6 +204,13 @@ function patternSignature(value, colors) {
176
204
  .join('|')}`;
177
205
  }
178
206
  function rewriteVariables(value, ids) {
207
+ if ('sameNode' in value)
208
+ return {
209
+ sameNode: {
210
+ left: rewriteTerm(value.sameNode.left, ids),
211
+ right: rewriteTerm(value.sameNode.right, ids),
212
+ },
213
+ };
179
214
  if (isEdge(value)) {
180
215
  return {
181
216
  ...value,
@@ -186,10 +221,15 @@ function rewriteVariables(value, ids) {
186
221
  if ('exists' in value) {
187
222
  return {
188
223
  exists: {
189
- nodes: value.exists.nodes.map((node) => ({
190
- variable: { kind: 'variable', id: ids.get(node.variable.id) ?? node.variable.id },
191
- class: node.class,
192
- })),
224
+ nodes: value.exists.nodes.map((node) => {
225
+ const variable = {
226
+ kind: 'variable',
227
+ id: ids.get(node.variable.id) ?? node.variable.id,
228
+ };
229
+ return 'class' in node
230
+ ? { variable, class: node.class }
231
+ : { variable, selector: node.selector };
232
+ }),
193
233
  where: rewriteVariables(value.exists.where, ids),
194
234
  },
195
235
  };
@@ -198,12 +238,16 @@ function rewriteVariables(value, ids) {
198
238
  return { allOf: value.allOf.map((child) => rewriteVariables(child, ids)) };
199
239
  return { anyOf: value.anyOf.map((child) => rewriteVariables(child, ids)) };
200
240
  }
241
+ function selectorSignature(node) {
242
+ const selector = policyVariableSelector(node);
243
+ return selector.kind === 'any' ? 'any' : `${selector.kind}:${definitionRefIndex(selector.class)}`;
244
+ }
201
245
  function rewriteTerm(value, ids) {
202
246
  return value.kind === 'variable' ? { kind: 'variable', id: ids.get(value.id) ?? value.id } : value;
203
247
  }
204
248
  function uniqueRefs(values) {
205
- const byKey = new Map(values.map((value) => [schemaRefIndex(value), value]));
206
- return [...byKey.values()].sort(compareSchemaRefs);
249
+ const byKey = new Map(values.map((value) => [definitionRefIndex(value), value]));
250
+ return [...byKey.values()].sort(compareDefinitionRefs);
207
251
  }
208
252
  function uniqueJson(values) {
209
253
  const byEncoding = new Map(values.map((value) => [json.serialize(value), value]));
@@ -221,10 +265,11 @@ function compareUtf8Bytes(left, right) {
221
265
  }
222
266
  return a.length - b.length;
223
267
  }
224
- function withDescription(source, value) {
225
- return source.description === undefined ? value : { description: source.description, ...value };
226
- }
227
268
  function isEdge(value) {
228
269
  return 'source' in value;
229
270
  }
230
- //# sourceMappingURL=normalize.js.map
271
+ function normalizeEquality(value) {
272
+ return compareUtf8Bytes(json.serialize(value.left), json.serialize(value.right)) <= 0
273
+ ? value
274
+ : { left: value.right, right: value.left };
275
+ }
@@ -0,0 +1,9 @@
1
+ import type { DefinitionKey, PolicyRef } from '../../addressing/index.js';
2
+ import type { PolicyDefinition } from './model/policy.js';
3
+ export interface ResolvedPolicy {
4
+ readonly ref: PolicyRef;
5
+ readonly key: DefinitionKey<string, 'policy'>;
6
+ readonly expression: PolicyDefinition['expression'];
7
+ readonly description?: PolicyDefinition['description'];
8
+ readonly definition: PolicyDefinition;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { DefinitionRef } from '../addressing/index.js';
2
+ import type { ResolvedFunction } from './callable/resolved.js';
3
+ import type { AnyResolvedClass } from './class/resolved.js';
4
+ import type { ResolvedCoreDefinition } from './core/resolved.js';
5
+ import type { ResolvedPolicy } from './policy/resolved.js';
6
+ import type { ResolvedView } from './view/resolved.js';
7
+ export type ResolvedDefinition = AnyResolvedClass | ResolvedFunction | ResolvedPolicy | ResolvedView | ResolvedCoreDefinition;
8
+ export type ResolvedDefinitionOf<Kind extends DefinitionRef['kind']> = Extract<ResolvedDefinition, {
9
+ readonly ref: DefinitionRef<Kind>;
10
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export { stateMachine } from './machine.js';
2
+ export type { EventOf, StateMachine, StateOf } from './machine.js';
3
+ export type { StateTopology } from './topology.js';