@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
@@ -0,0 +1,18 @@
1
+ import type { Key, PropertyKey } from '../../addressing/index.js';
2
+ import type { Diagnostic } from '../../language/validation/diagnostic.js';
3
+ import type { OrderingKind } from '../../language/value/ordering.js';
4
+ import type { DomainValidation } from '../model/input.js';
5
+ export interface PropertyValidation {
6
+ readonly ordering?: OrderingKind;
7
+ validate(input: unknown): readonly Diagnostic[];
8
+ }
9
+ export interface CallableValidation {
10
+ readonly fields?: readonly string[];
11
+ validateInput(input: unknown): readonly Diagnostic[];
12
+ validateInputField(field: string, input: unknown): readonly Diagnostic[];
13
+ validateOutput(output: unknown): readonly Diagnostic[];
14
+ }
15
+ /** Build the one Domain-level router shared by source resolution and compiled loading. */
16
+ export declare function createDomainValidation(properties: ReadonlyMap<PropertyKey, PropertyValidation>, callables: ReadonlyMap<Key.Callable, CallableValidation>): DomainValidation;
17
+ export declare function combineDomainValidation(values: readonly DomainValidation[]): DomainValidation;
18
+ export declare function unknownInputField(field: string): readonly Diagnostic[];
@@ -0,0 +1,75 @@
1
+ /** Build the one Domain-level router shared by source resolution and compiled loading. */
2
+ export function createDomainValidation(properties, callables) {
3
+ const validation = {
4
+ propertyExists: (key) => properties.has(key),
5
+ property(key, input) {
6
+ const target = properties.get(key);
7
+ return target === undefined ? unknownTarget('Property', key) : target.validate(input);
8
+ },
9
+ propertyOrdering: (key) => properties.get(key)?.ordering,
10
+ callableExists: (key) => callables.has(key),
11
+ callableInput(key, input) {
12
+ const target = callables.get(key);
13
+ return target === undefined ? unknownTarget('Callable', key) : target.validateInput(input);
14
+ },
15
+ callableFields: (key) => callables.get(key)?.fields,
16
+ callableInputField(key, field, input) {
17
+ const target = callables.get(key);
18
+ return target === undefined
19
+ ? unknownTarget('Callable', key)
20
+ : target.validateInputField(field, input);
21
+ },
22
+ callableOutput(key, output) {
23
+ const target = callables.get(key);
24
+ return target === undefined ? unknownTarget('Callable', key) : target.validateOutput(output);
25
+ },
26
+ };
27
+ return Object.freeze(validation);
28
+ }
29
+ export function combineDomainValidation(values) {
30
+ const validation = {
31
+ propertyExists: (key) => values.some((value) => value.propertyExists(key)),
32
+ property(key, input) {
33
+ const owner = values.find((value) => value.propertyExists(key));
34
+ return owner === undefined ? unknownTarget('Property', key) : owner.property(key, input);
35
+ },
36
+ propertyOrdering: (key) => values.find((value) => value.propertyExists(key))?.propertyOrdering(key),
37
+ callableExists: (key) => values.some((value) => value.callableExists(key)),
38
+ callableInput(key, input) {
39
+ const owner = values.find((value) => value.callableExists(key));
40
+ return owner === undefined ? unknownTarget('Callable', key) : owner.callableInput(key, input);
41
+ },
42
+ callableFields: (key) => values.find((value) => value.callableExists(key))?.callableFields(key),
43
+ callableInputField(key, field, input) {
44
+ const owner = values.find((value) => value.callableExists(key));
45
+ return owner === undefined
46
+ ? unknownTarget('Callable', key)
47
+ : owner.callableInputField(key, field, input);
48
+ },
49
+ callableOutput(key, output) {
50
+ const owner = values.find((value) => value.callableExists(key));
51
+ return owner === undefined
52
+ ? unknownTarget('Callable', key)
53
+ : owner.callableOutput(key, output);
54
+ },
55
+ };
56
+ return Object.freeze(validation);
57
+ }
58
+ export function unknownInputField(field) {
59
+ return [
60
+ Object.freeze({
61
+ code: 'CALLABLE_INPUT_FIELD_UNKNOWN',
62
+ pointer: '',
63
+ message: `Input field ${field} is absent.`,
64
+ }),
65
+ ];
66
+ }
67
+ function unknownTarget(kind, key) {
68
+ return [
69
+ Object.freeze({
70
+ code: 'DOMAIN_VALIDATION_TARGET_UNKNOWN',
71
+ pointer: '',
72
+ message: `${kind} ${key} is absent.`,
73
+ }),
74
+ ];
75
+ }
@@ -1,9 +1,18 @@
1
1
  /** Stable aggregate facade for the V1 language. */
2
- export { auto, defineInterface, definePolicy, defineSchema, domain, edge, edgeClass, edgeInterface, fn, fullMatch, node, nodeClass, nodeInterface, output, path, policy, property, valueSchema, view, } from './builder/index.js';
3
- export type * from './builder/index.js';
4
- export type { FunctionAuth, MethodInheritance, PolicyCheckExpression, ViewAuth, } from './schema/index.js';
5
- export { Key, PropertyKey, Ref } from './addressing/index.js';
2
+ export { auto, core, defineClass, defineSchema, edgeClass, func, fullMatch, method, nodeClass, output, path, policy, property, stateProperty, valueSchema, view, } from './builder/index.js';
3
+ export { stateMachine } from './language/state/index.js';
4
+ export type { EventOf, StateMachine, StateOf } from './language/state/index.js';
5
+ export { PropertyValues } from './language/index.js';
6
+ export * as metadata from './language/definition/metadata.js';
7
+ export type { AnyResolvedClass, BoundMethodOf, BoundMethodShortcutsOf, CallableResultOf, CallableInputOf, CallableOutputOf, ClassSatisfactionKeysOf, ClassDefinition, CoreDefinition, CoreEdge, FunctionAuth, FunctionDefinition, MethodDefinition, MethodInheritance, MethodOwnerKeyOf, PolicyCheckExpression, PolicyDefinition, PropertyInputOf, PropertyAccessOf, PropertyOutputOf, PropertyShortcutsOf, PropertyValuesOf, ResolvedClass, ResolvedCoreDefinition, ResolvedData, ResolvedFunction, ResolvedMethod, ResolvedMethodCollection, ResolvedPolicy, ResolvedProperty, ResolvedView, MethodAccessOf, SelfMethodsOf, SelfPropertiesOf, SelfStaticMethodsOf, StaticMethodsOf, ViewDefinition, } from './language/index.js';
8
+ export { acceptDefinitionRef, callableAddress, ClassKey, equalDefinitionRefs, isDefinitionRef, Key, MethodKey, PropertyKey, } from './addressing/index.js';
9
+ export type { ClassRef, CoreRef, DefinitionBase, DefinitionKey, DefinitionRef, FunctionRef, MethodAddress, PolicyRef, Revision, ViewRef, } from './addressing/index.js';
10
+ export type { Definition } from './language/index.js';
11
+ export type { Domain, MethodOwnerOf, SourceDomain } from './domain/index.js';
12
+ export { isDomain } from './domain/index.js';
6
13
  export type * as builder from './builder/index.js';
14
+ export type { PathAuthoring, TypedValueSchema } from './builder/index.js';
15
+ export type { PropertyValues as PropertyValuesValue } from './language/index.js';
16
+ export type { CompiledSchema } from './compiled/index.js';
7
17
  export * as schema from './schema/index.js';
8
18
  export * as bundle from './bundle/index.js';
9
- //# sourceMappingURL=index.d.ts.map
package/dist/v1/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  /** Stable aggregate facade for the V1 language. */
2
- export { auto, defineInterface, definePolicy, defineSchema, domain, edge, edgeClass, edgeInterface, fn, fullMatch, node, nodeClass, nodeInterface, output, path, policy, property, valueSchema, view, } from './builder/index.js';
3
- export { Key, PropertyKey, Ref } from './addressing/index.js';
2
+ export { auto, core, defineClass, defineSchema, edgeClass, func, fullMatch, method, nodeClass, output, path, policy, property, stateProperty, valueSchema, view, } from './builder/index.js';
3
+ export { stateMachine } from './language/state/index.js';
4
+ export { PropertyValues } from './language/index.js';
5
+ export * as metadata from './language/definition/metadata.js';
6
+ export { acceptDefinitionRef, callableAddress, ClassKey, equalDefinitionRefs, isDefinitionRef, Key, MethodKey, PropertyKey, } from './addressing/index.js';
7
+ export { isDomain } from './domain/index.js';
4
8
  export * as schema from './schema/index.js';
5
9
  export * as bundle from './bundle/index.js';
6
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export type * from './model/callable.js';
2
+ export type * from './resolved.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { DefinitionBase, FunctionRef } from '../../../addressing/index.js';
2
+ import type { PolicyCheckExpression } from '../../policy/model/policy.js';
3
+ import type { JsonSchema } from '../../value/model/schema.js';
4
+ export type MethodInheritance = 'abstract' | 'default' | 'sealed';
5
+ export type FunctionAuth = 'anonymous' | 'authenticated' | 'authorized';
6
+ export type CallableOutput = {
7
+ readonly mode: 'value';
8
+ readonly schema: JsonSchema;
9
+ } | {
10
+ readonly mode: 'stream';
11
+ readonly item: JsonSchema;
12
+ } | {
13
+ readonly mode: 'binary';
14
+ };
15
+ export type OutputMode = CallableOutput['mode'];
16
+ export interface CallableDefinitionBase {
17
+ readonly description?: string;
18
+ readonly input: JsonSchema;
19
+ readonly output: CallableOutput;
20
+ }
21
+ export type CallableDefinition = CallableDefinitionBase & ({
22
+ readonly auth: 'anonymous' | 'authenticated';
23
+ readonly policy?: never;
24
+ } | {
25
+ readonly auth: 'authorized';
26
+ readonly policy?: PolicyCheckExpression;
27
+ });
28
+ export type FunctionDefinition = DefinitionBase<FunctionRef> & CallableDefinition;
29
+ export type MethodDefinition = CallableDefinition & {
30
+ readonly static: boolean;
31
+ readonly inheritance: MethodInheritance;
32
+ };
33
+ export type MethodRecord = Readonly<Record<string, MethodDefinition>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,68 @@
1
+ import type { DefinitionKey, FunctionRef, Key, MethodKey } from '../../addressing/index.js';
2
+ import type { ResolvedClass } from '../class/resolved.js';
3
+ import type { PolicyCheckExpression } from '../policy/model/policy.js';
4
+ import type { Diagnostic } from '../validation/diagnostic.js';
5
+ import type { FunctionDefinition, MethodDefinition } from './model/callable.js';
6
+ import type { FunctionAuth } from './model/callable.js';
7
+ type CallableDefinitionOf<Definition extends FunctionDefinition | MethodDefinition, Auth extends FunctionAuth, Policy extends PolicyCheckExpression> = Omit<Definition, 'auth' | 'policy'> & (Auth extends FunctionAuth ? {
8
+ readonly auth: Auth;
9
+ } & (Auth extends 'authorized' ? {
10
+ readonly policy?: Policy;
11
+ } : {
12
+ readonly policy?: never;
13
+ }) : never);
14
+ export interface ResolvedMethod<out Input = unknown, out Output = unknown, out Static extends boolean = boolean, out Inheritance extends MethodDefinition['inheritance'] = MethodDefinition['inheritance'], out Auth extends FunctionAuth = FunctionAuth, out Policy extends PolicyCheckExpression = PolicyCheckExpression, out ExactKey extends MethodKey = MethodKey> {
15
+ readonly owner: ResolvedClass<'node'> & {
16
+ readonly key: MethodOwnerKeyOfKey<ExactKey>;
17
+ };
18
+ readonly name: string;
19
+ readonly key: ExactKey;
20
+ readonly description?: MethodDefinition['description'];
21
+ readonly input: MethodDefinition['input'];
22
+ readonly output: MethodDefinition['output'];
23
+ readonly auth: Auth;
24
+ readonly policy?: Auth extends 'authorized' ? Policy : never;
25
+ readonly static: Static;
26
+ readonly inheritance: Inheritance;
27
+ /** Present only when the callable input is a safely enumerable closed object. */
28
+ readonly inputFields?: readonly string[];
29
+ readonly definition: CallableDefinitionOf<MethodDefinition, Auth, Policy> & {
30
+ readonly static: Static;
31
+ readonly inheritance: Inheritance;
32
+ };
33
+ validateInput(input: unknown): readonly Diagnostic[];
34
+ validateInputField(field: string, input: unknown): readonly Diagnostic[];
35
+ validateOutput(output: unknown): readonly Diagnostic[];
36
+ readonly __input?: Input;
37
+ readonly __output?: Output;
38
+ }
39
+ export type ResolvedMethodCollection<ByKey extends Readonly<Record<MethodKey, ResolvedMethod>> = Readonly<Record<MethodKey, ResolvedMethod>>, ByName extends Readonly<Record<string, ResolvedMethod>> = Readonly<Record<never, never>>> = Readonly<ByName> & Iterable<ByKey[keyof ByKey]> & {
40
+ readonly byKey: ByKey;
41
+ get<Key extends keyof ByKey>(key: Key): ByKey[Key];
42
+ get(key: MethodKey): ResolvedMethod | undefined;
43
+ };
44
+ export interface ResolvedFunction<out Input = unknown, out Output = unknown, out Auth extends FunctionAuth = FunctionAuth, out Policy extends PolicyCheckExpression = PolicyCheckExpression> {
45
+ readonly ref: FunctionRef;
46
+ readonly key: DefinitionKey<string, 'function'>;
47
+ readonly description?: FunctionDefinition['description'];
48
+ readonly input: FunctionDefinition['input'];
49
+ readonly output: FunctionDefinition['output'];
50
+ readonly auth: Auth;
51
+ readonly policy?: Auth extends 'authorized' ? Policy : never;
52
+ /** Present only when the callable input is a safely enumerable closed object. */
53
+ readonly inputFields?: readonly string[];
54
+ readonly definition: CallableDefinitionOf<FunctionDefinition, Auth, Policy>;
55
+ validateInput(input: unknown): readonly Diagnostic[];
56
+ validateInputField(field: string, input: unknown): readonly Diagnostic[];
57
+ validateOutput(output: unknown): readonly Diagnostic[];
58
+ readonly __input?: Input;
59
+ readonly __output?: Output;
60
+ }
61
+ export type ResolvedCallable = ResolvedFunction | ResolvedMethod;
62
+ export type MethodOwnerKeyOf<Method> = Method extends {
63
+ readonly key: infer ExactKey extends MethodKey;
64
+ } ? MethodOwnerKeyOfKey<ExactKey> : never;
65
+ type MethodOwnerKeyOfKey<ExactKey extends MethodKey> = ExactKey extends `${infer Origin}:class.${infer Owner}.method.${string}` ? DefinitionKey<Extract<Origin, Key.Origin>, 'class', Owner> : never;
66
+ export type CallableInputOf<Callable> = Callable extends ResolvedMethod<infer Input, unknown, boolean> ? Input : Callable extends ResolvedFunction<infer Input, unknown> ? Input : never;
67
+ export type CallableOutputOf<Callable> = Callable extends ResolvedMethod<unknown, infer Output, boolean> ? Output : Callable extends ResolvedFunction<unknown, infer Output> ? Output : never;
68
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ import type { CallableInputOf, CallableOutputOf, ResolvedMethod, ResolvedMethodCollection } from '../callable/resolved.js';
2
+ import type { ResolvedProperty, ResolvedPropertyCollection } from './resolved.js';
3
+ type MemberName = string | number | symbol;
4
+ type ValueAt<Collection, Key> = Key extends keyof Collection ? Collection[Key] : never;
5
+ type PropertyCollectionOf<Class> = Class extends {
6
+ readonly properties: infer Properties;
7
+ } ? Properties : never;
8
+ type PropertyByKeyOf<Class> = PropertyCollectionOf<Class> extends {
9
+ readonly byKey: infer ByKey extends Readonly<Record<string, ResolvedProperty>>;
10
+ } ? ByKey : Readonly<Record<never, never>>;
11
+ type PropertyByNameOf<Class> = Pick<PropertyCollectionOf<Class>, Exclude<keyof PropertyCollectionOf<Class>, keyof ResolvedPropertyCollection>>;
12
+ type MethodCollectionOf<Class> = Class extends {
13
+ readonly kind: 'node';
14
+ readonly methods: infer Methods extends ResolvedMethodCollection;
15
+ } ? Methods : ResolvedMethodCollection<Record<never, never>>;
16
+ type MethodByKeyOf<Class> = MethodCollectionOf<Class> extends {
17
+ readonly byKey: infer ByKey extends Readonly<Record<string, ResolvedMethod>>;
18
+ } ? ByKey : Readonly<Record<never, never>>;
19
+ type MethodByNameOf<Class> = Pick<MethodCollectionOf<Class>, Exclude<keyof MethodCollectionOf<Class>, keyof ResolvedMethodCollection>>;
20
+ export type PropertyOutputOf<Property> = Property extends ResolvedProperty<infer Value, infer Required> ? Required extends true ? Value : Value | undefined : never;
21
+ /** Collision-safe direct Property values. Client supplies graph/wrapper reserved names. */
22
+ export type PropertyShortcutsOf<Class, Reserved extends MemberName = never> = Readonly<{
23
+ [Name in Exclude<keyof PropertyByNameOf<Class>, keyof MethodByNameOf<Class> | Reserved>]: PropertyOutputOf<ValueAt<PropertyByNameOf<Class>, Name>>;
24
+ }>;
25
+ type EffectiveProperty<Class> = PropertyByKeyOf<Class>[keyof PropertyByKeyOf<Class>];
26
+ /** Exact and unambiguous Property access signatures, independent of graph values. */
27
+ export type PropertyAccessOf<Class> = {
28
+ readonly property: {
29
+ <Property extends EffectiveProperty<Class>>(property: Property): PropertyOutputOf<Property>;
30
+ <Key extends keyof PropertyByKeyOf<Class>>(key: Key): PropertyOutputOf<PropertyByKeyOf<Class>[Key]>;
31
+ <Name extends keyof PropertyByNameOf<Class>>(name: Name): PropertyOutputOf<PropertyByNameOf<Class>[Name]>;
32
+ };
33
+ };
34
+ export type CallableResultOf<Callable, Binary = unknown> = CallableOutputOf<Callable> extends infer Output ? Output extends {
35
+ readonly mode: 'value';
36
+ readonly value: infer Value;
37
+ } ? Value : Output extends {
38
+ readonly mode: 'stream';
39
+ readonly item: infer Item;
40
+ } ? AsyncIterable<Item> : Output extends {
41
+ readonly mode: 'binary';
42
+ } ? Binary : never : never;
43
+ type ExecutableMethod<Method> = Method extends ResolvedMethod<unknown, unknown, false, infer Inheritance> ? Inheritance extends 'abstract' ? never : Method : never;
44
+ export type BoundMethodOf<Method, Binary = unknown> = ExecutableMethod<Method> extends infer Callable ? [Callable] extends [never] ? never : (input: CallableInputOf<Callable>) => Promise<CallableResultOf<Callable, Binary>> : never;
45
+ /** Collision-safe direct bound Methods. Client supplies graph/wrapper reserved names. */
46
+ export type BoundMethodShortcutsOf<Class, Binary = unknown, Reserved extends MemberName = never> = Readonly<{
47
+ [Name in Exclude<keyof MethodByNameOf<Class>, keyof PropertyByNameOf<Class> | Reserved> as BoundMethodOf<ValueAt<MethodByNameOf<Class>, Name>, Binary> extends never ? never : Name]: BoundMethodOf<ValueAt<MethodByNameOf<Class>, Name>, Binary>;
48
+ }>;
49
+ type EffectiveMethod<Class> = MethodByKeyOf<Class>[keyof MethodByKeyOf<Class>];
50
+ /** Exact and unambiguous bound Method access signatures, independent of Client provenance. */
51
+ export type MethodAccessOf<Class, Binary = unknown> = {
52
+ readonly method: {
53
+ <Method extends EffectiveMethod<Class>>(method: Method): BoundMethodOf<Method, Binary>;
54
+ <Key extends keyof MethodByKeyOf<Class>>(key: Key): BoundMethodOf<MethodByKeyOf<Class>[Key], Binary>;
55
+ <Name extends keyof MethodByNameOf<Class>>(name: Name): BoundMethodOf<MethodByNameOf<Class>[Name], Binary>;
56
+ };
57
+ };
58
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export type * from './model/class.js';
2
+ export type * from './model/data.js';
3
+ export type * from './model/edge.js';
4
+ export type * from './model/property.js';
5
+ export { PropertyValues } from './property-values.js';
6
+ export type { PropertyValuesOperations } from './property-values.js';
7
+ export type * from './facets.js';
8
+ export type * from './resolved.js';
@@ -0,0 +1 @@
1
+ export { PropertyValues } from './property-values.js';
@@ -0,0 +1,37 @@
1
+ import type { ClassRef, DefinitionBase, PolicyRef } from '../../../addressing/index.js';
2
+ import type { MethodRecord } from '../../callable/model/callable.js';
3
+ import type { DataFacet } from './data.js';
4
+ import type { EdgeContract } from './edge.js';
5
+ import type { PropertyFacet } from './property.js';
6
+ export type ClassKind = 'node' | 'edge';
7
+ export interface NodeClassPolicies {
8
+ readonly read?: PolicyRef;
9
+ readonly traverse?: PolicyRef;
10
+ }
11
+ export interface EdgeClassPolicies {
12
+ readonly read?: PolicyRef;
13
+ readonly traverse?: PolicyRef;
14
+ }
15
+ export interface NodeClassDefinition extends DefinitionBase<ClassRef>, PropertyFacet, DataFacet {
16
+ readonly kind: 'node';
17
+ readonly abstract: boolean;
18
+ readonly description?: string;
19
+ readonly extends: readonly ClassRef[];
20
+ readonly methods: MethodRecord;
21
+ readonly icon?: string;
22
+ readonly policies: NodeClassPolicies;
23
+ }
24
+ export type EdgeClassDefinition = DefinitionBase<ClassRef> & PropertyFacet & EdgeContract & {
25
+ readonly kind: 'edge';
26
+ readonly abstract: boolean;
27
+ readonly description?: string;
28
+ readonly extends: readonly ClassRef[];
29
+ readonly policies: EdgeClassPolicies;
30
+ };
31
+ export type ClassDefinition = NodeClassDefinition | EdgeClassDefinition;
32
+ export type DirectedEdgeDefinition = Extract<EdgeClassDefinition, {
33
+ readonly orientation: 'directed';
34
+ }>;
35
+ export type UndirectedEdgeDefinition = Extract<EdgeClassDefinition, {
36
+ readonly orientation: 'undirected';
37
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -3,10 +3,9 @@ import type { Object as JsonObject } from '@astrale-os/kernel-dsl/value';
3
3
  export declare const MEDIA_TYPE_PATTERN: RegExp;
4
4
  export type MediaType = string;
5
5
  /** Schema-level contract for one externally stored Node payload. */
6
- export type DataDeclaration = JsonObject & {
6
+ export type DataDefinition = JsonObject & {
7
7
  readonly mediaType: MediaType;
8
8
  };
9
9
  export interface DataFacet {
10
- readonly data?: DataDeclaration;
10
+ readonly data?: DataDefinition;
11
11
  }
12
- //# sourceMappingURL=data.d.ts.map
@@ -1,3 +1,2 @@
1
1
  /** Canonical lowercase RFC 6838 media type without parameters. */
2
2
  export const MEDIA_TYPE_PATTERN = /^[a-z0-9][a-z0-9!#$&^_.+-]{0,126}\/[a-z0-9][a-z0-9!#$&^_.+-]{0,126}$/u;
3
- //# sourceMappingURL=data.js.map
@@ -1,9 +1,9 @@
1
- import type { DefinitionRef } from '../reference.js';
1
+ import type { ClassRef } from '../../../addressing/index.js';
2
2
  export type EdgeCount = '0..*' | '1..*' | '0..1' | '1';
3
3
  export type EdgeOrientation = 'directed' | 'undirected';
4
4
  export interface EdgeEndpointBase {
5
5
  readonly role: string;
6
- readonly accepts: readonly DefinitionRef[];
6
+ readonly accepts: readonly ClassRef[];
7
7
  }
8
8
  export interface DirectedSourceEndpoint extends EdgeEndpointBase {
9
9
  readonly outgoing: EdgeCount;
@@ -14,22 +14,25 @@ export interface DirectedTargetEndpoint extends EdgeEndpointBase {
14
14
  export interface IncidentEndpoint extends EdgeEndpointBase {
15
15
  readonly incident: EdgeCount;
16
16
  }
17
- export interface EdgeConstraints {
17
+ export interface DirectedEdgeConstraints {
18
18
  readonly noSelf?: true;
19
19
  readonly acyclic?: true;
20
20
  }
21
+ export interface UndirectedEdgeConstraints {
22
+ readonly noSelf?: true;
23
+ readonly acyclic?: never;
24
+ }
21
25
  export interface DirectedEdgeContract {
22
26
  readonly orientation: 'directed';
23
27
  readonly endpoints: {
24
28
  readonly source: DirectedSourceEndpoint;
25
29
  readonly target: DirectedTargetEndpoint;
26
30
  };
27
- readonly constraints: EdgeConstraints;
31
+ readonly constraints: DirectedEdgeConstraints;
28
32
  }
29
33
  export interface UndirectedEdgeContract {
30
34
  readonly orientation: 'undirected';
31
35
  readonly endpoints: readonly [IncidentEndpoint, IncidentEndpoint];
32
- readonly constraints: EdgeConstraints;
36
+ readonly constraints: UndirectedEdgeConstraints;
33
37
  }
34
38
  export type EdgeContract = DirectedEdgeContract | UndirectedEdgeContract;
35
- //# sourceMappingURL=edge.d.ts.map
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ export type AutoEvent = 'create' | 'update';
2
+ export type AutoSet = 'instant';
3
+ export interface PropertyAuto {
4
+ readonly on: readonly AutoEvent[];
5
+ readonly set: AutoSet;
6
+ }
7
+ export interface PropertyDefinition {
8
+ readonly schema: import('../../value/model/schema.js').JsonSchema;
9
+ readonly required: boolean;
10
+ readonly auto?: PropertyAuto;
11
+ readonly description?: string;
12
+ readonly state?: import('../../state/index.js').StateTopology;
13
+ }
14
+ export type PropertyRecord = Readonly<Record<string, PropertyDefinition>>;
15
+ export interface PropertyFacet {
16
+ readonly properties: PropertyRecord;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { Value as PortableValue } from '@astrale-os/kernel-dsl/value';
2
+ import type { PropertyKey } from '../../addressing/index.js';
3
+ declare const PROPERTY_VALUES: unique symbol;
4
+ /** Detached, sorted, deeply frozen values keyed by exact declaring Property identity. */
5
+ export type PropertyValues = Readonly<Record<PropertyKey, PortableValue>> & {
6
+ readonly [PROPERTY_VALUES]: true;
7
+ };
8
+ export interface PropertyValuesOperations {
9
+ accept(input: unknown, pointer?: string): PropertyValues;
10
+ create(entries: Iterable<readonly [PropertyKey, PortableValue]>): PropertyValues;
11
+ }
12
+ export declare function acceptPropertyValues(input: unknown, pointer?: string): PropertyValues;
13
+ export declare function createPropertyValues(entries: Iterable<readonly [PropertyKey, PortableValue]>): PropertyValues;
14
+ export declare const PropertyValues: PropertyValuesOperations;
15
+ export {};
@@ -0,0 +1,30 @@
1
+ import { accept as acceptPortable } from '@astrale-os/kernel-dsl/value';
2
+ import { PropertyKey as admitPropertyKey } from '../../addressing/index.js';
3
+ export function acceptPropertyValues(input, pointer = '') {
4
+ const admitted = acceptPortable(input);
5
+ if (admitted === null || typeof admitted !== 'object' || Array.isArray(admitted)) {
6
+ throw new TypeError(`Expected PropertyValues object at ${pointer || '/'}.`);
7
+ }
8
+ return createPropertyValues(Object.entries(admitted).map(([key, value]) => [admitPropertyKey(key), value]));
9
+ }
10
+ export function createPropertyValues(entries) {
11
+ const output = Object.create(null);
12
+ for (const [key, value] of [...entries].sort(([left], [right]) => compare(left, right))) {
13
+ Object.defineProperty(output, key, { enumerable: true, value: freeze(value) });
14
+ }
15
+ return Object.freeze(output);
16
+ }
17
+ export const PropertyValues = Object.freeze({
18
+ accept: acceptPropertyValues,
19
+ create: createPropertyValues,
20
+ });
21
+ function freeze(value) {
22
+ if (value === null || typeof value !== 'object')
23
+ return value;
24
+ for (const member of Object.values(value))
25
+ freeze(member);
26
+ return Object.freeze(value);
27
+ }
28
+ function compare(left, right) {
29
+ return left < right ? -1 : left > right ? 1 : 0;
30
+ }
@@ -0,0 +1,126 @@
1
+ import type { Value as PortableValue } from '@astrale-os/kernel-dsl/value';
2
+ import type { ClassRef, DefinitionKey, Key, PolicyRef, PropertyKey } from '../../addressing/index.js';
3
+ import type { ResolvedMethodCollection } from '../callable/resolved.js';
4
+ import type { StateTopology } from '../state/index.js';
5
+ import type { Diagnostic } from '../validation/diagnostic.js';
6
+ import type { OrderingKind } from '../value/ordering.js';
7
+ import type { ClassDefinition, ClassKind } from './model/class.js';
8
+ import type { DataDefinition } from './model/data.js';
9
+ import type { PropertyDefinition } from './model/property.js';
10
+ import type { PropertyValues } from './property-values.js';
11
+ export interface ResolvedProperty<out Value = PortableValue, out Required extends boolean = boolean, out State extends StateTopology | undefined = StateTopology | undefined> {
12
+ readonly owner: AnyResolvedClass;
13
+ readonly name: string;
14
+ readonly key: PropertyKey;
15
+ readonly definition: Omit<PropertyDefinition, 'required' | 'state'> & {
16
+ readonly required: Required;
17
+ readonly state?: State;
18
+ };
19
+ /** The one portable scalar ordering domain, when the Property is orderable. */
20
+ readonly ordering?: OrderingKind;
21
+ validate(input: unknown): readonly Diagnostic[];
22
+ readonly __value?: Value;
23
+ }
24
+ export interface ResolvedData {
25
+ readonly owner: ResolvedClass<'node'>;
26
+ readonly definition: DataDefinition;
27
+ }
28
+ export interface ResolvedClassPolicies {
29
+ /** Effective read Policies for this Node or Edge Class. */
30
+ readonly read: readonly PolicyRef[];
31
+ readonly traverse: readonly PolicyRef[];
32
+ }
33
+ export type ResolvedPropertyCollection<ByKey extends Readonly<Record<PropertyKey, ResolvedProperty<unknown>>> = Readonly<Record<PropertyKey, ResolvedProperty<unknown>>>, ByName extends Readonly<Record<string, ResolvedProperty<unknown>>> = Readonly<Record<never, never>>> = Readonly<ByName> & Iterable<ByKey[keyof ByKey]> & {
34
+ readonly byKey: ByKey;
35
+ get<Key extends keyof ByKey>(key: Key): ByKey[Key];
36
+ get(key: PropertyKey): ResolvedProperty | undefined;
37
+ from(input: PropertyInput<ByKey, ByName>): PropertyValues;
38
+ };
39
+ export interface ResolvedClass<Kind extends ClassKind = ClassKind, Properties extends ResolvedPropertyCollection = ResolvedPropertyCollection, InstanceMethods extends ResolvedMethodCollection = ResolvedMethodCollection, StaticMethods extends ResolvedMethodCollection = ResolvedMethodCollection, SelfProperties extends ResolvedPropertyCollection = ResolvedPropertyCollection, SelfInstanceMethods extends ResolvedMethodCollection = ResolvedMethodCollection, SelfStaticMethods extends ResolvedMethodCollection = ResolvedMethodCollection, Definition extends Extract<ClassDefinition, {
40
+ readonly kind: Kind;
41
+ }> = Extract<ClassDefinition, {
42
+ readonly kind: Kind;
43
+ }>, Parents extends readonly unknown[] = readonly unknown[]> {
44
+ readonly ref: ClassRef;
45
+ readonly key: DefinitionKey<string, 'class'>;
46
+ readonly kind: Kind;
47
+ readonly abstract: boolean;
48
+ readonly definition: Definition;
49
+ readonly extends: Parents & readonly ResolvedClass<Kind>[];
50
+ /** Effective inherited Policy conjunction, deduplicated by exact Policy ref. */
51
+ readonly policies: ResolvedClassPolicies;
52
+ readonly data: Kind extends 'node' ? ResolvedData | undefined : undefined;
53
+ readonly properties: Properties;
54
+ readonly methods: Kind extends 'node' ? InstanceMethods : ResolvedMethodCollection<Record<never, never>>;
55
+ readonly static: {
56
+ readonly methods: Kind extends 'node' ? StaticMethods : ResolvedMethodCollection<Record<never, never>>;
57
+ };
58
+ readonly self: {
59
+ readonly data: Kind extends 'node' ? ResolvedData | undefined : undefined;
60
+ readonly properties: SelfProperties;
61
+ /** Policies declared by this exact Class only. */
62
+ readonly policies: Definition['policies'];
63
+ readonly methods: Kind extends 'node' ? SelfInstanceMethods : ResolvedMethodCollection<Record<never, never>>;
64
+ readonly static: {
65
+ readonly methods: Kind extends 'node' ? SelfStaticMethods : ResolvedMethodCollection<Record<never, never>>;
66
+ };
67
+ };
68
+ satisfies(selected: ResolvedClass<Kind>): boolean;
69
+ validateProperties(input: unknown): readonly Diagnostic[];
70
+ }
71
+ /** One resolved Class with an exact graph kind, used at heterogeneous Domain boundaries. */
72
+ export type AnyResolvedClass = ResolvedClass<'node'> | ResolvedClass<'edge'>;
73
+ /** Exact Class keys satisfied by one resolved Class, including transitive parents. */
74
+ export type ClassSatisfactionKeysOf<Class> = ClassSatisfactionKeys<Class, never>;
75
+ type ClassSatisfactionKeys<Class, Seen> = Class extends Seen ? never : (Class extends {
76
+ readonly key: infer ExactKey extends DefinitionKey<Key.Origin, 'class'>;
77
+ } ? ExactKey : never) | (Class extends ResolvedClass<ClassKind, ResolvedPropertyCollection, ResolvedMethodCollection, ResolvedMethodCollection, ResolvedPropertyCollection, ResolvedMethodCollection, ResolvedMethodCollection, ClassDefinition, infer Parents> ? ClassSatisfactionKeys<Extract<Parents[number], ResolvedClass>, Seen | Class> : never);
78
+ export type PropertyValueOf<Property> = Property extends ResolvedProperty<infer Value> ? Value : never;
79
+ export type PropertiesOf<Class> = Class extends {
80
+ readonly properties: infer Properties extends ResolvedPropertyCollection;
81
+ } ? Properties : ResolvedPropertyCollection<Record<never, never>>;
82
+ export type PropertyValuesOf<Class> = PropertyValues & Readonly<{
83
+ [Key in keyof PropertyByKeyOf<Class>]?: PropertyValueOf<PropertyByKeyOf<Class>[Key]>;
84
+ }>;
85
+ export type PropertyInputOf<Class> = PropertyInput<PropertyByKeyOf<Class>, PropertyByNameOf<Class>>;
86
+ export type MethodsOf<Class> = Class extends {
87
+ readonly kind: 'node';
88
+ readonly methods: infer Methods extends ResolvedMethodCollection;
89
+ } ? Methods : ResolvedMethodCollection<Record<never, never>>;
90
+ export type StaticMethodsOf<Class> = Class extends {
91
+ readonly kind: 'node';
92
+ readonly static: {
93
+ readonly methods: infer Methods extends ResolvedMethodCollection;
94
+ };
95
+ } ? Methods : ResolvedMethodCollection<Record<never, never>>;
96
+ export type SelfPropertiesOf<Class> = Class extends {
97
+ readonly self: {
98
+ readonly properties: infer Properties extends ResolvedPropertyCollection;
99
+ };
100
+ } ? Properties : ResolvedPropertyCollection<Record<never, never>>;
101
+ export type SelfMethodsOf<Class> = Class extends {
102
+ readonly kind: 'node';
103
+ readonly self: {
104
+ readonly methods: infer Methods extends ResolvedMethodCollection;
105
+ };
106
+ } ? Methods : ResolvedMethodCollection<Record<never, never>>;
107
+ export type SelfStaticMethodsOf<Class> = Class extends {
108
+ readonly kind: 'node';
109
+ readonly self: {
110
+ readonly static: {
111
+ readonly methods: infer Methods extends ResolvedMethodCollection;
112
+ };
113
+ };
114
+ } ? Methods : ResolvedMethodCollection<Record<never, never>>;
115
+ type PropertyInput<ByKey extends Readonly<Record<PropertyKey, ResolvedProperty<unknown>>>, ByName extends Readonly<Record<string, ResolvedProperty<unknown>>>> = Readonly<{
116
+ [Key in keyof ByKey]?: PropertyValueOf<ByKey[Key]>;
117
+ } & {
118
+ [Name in keyof ByName]?: PropertyValueOf<ByName[Name]>;
119
+ }>;
120
+ type PropertyByKeyOf<Class> = PropertiesOf<Class> extends {
121
+ readonly byKey: infer ByKey extends Readonly<Record<PropertyKey, ResolvedProperty<unknown>>>;
122
+ } ? ByKey : Readonly<Record<never, never>>;
123
+ type PropertyByNameOf<Class> = Readonly<{
124
+ [Name in Exclude<keyof PropertiesOf<Class>, keyof ResolvedPropertyCollection>]: Extract<PropertiesOf<Class>[Name], ResolvedProperty>;
125
+ }>;
126
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export type * from './model/core.js';
2
+ export type * from './resolved.js';