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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.js +0 -1
  3. package/dist/upgrade/contract.d.ts +0 -1
  4. package/dist/upgrade/contract.js +0 -1
  5. package/dist/upgrade/index.d.ts +0 -1
  6. package/dist/upgrade/index.js +0 -1
  7. package/dist/v1/addressing/class-key.d.ts +12 -0
  8. package/dist/v1/addressing/class-key.js +39 -0
  9. package/dist/v1/addressing/definition-ref.d.ts +28 -0
  10. package/dist/v1/addressing/definition-ref.js +63 -0
  11. package/dist/v1/addressing/domain-dependency.d.ts +18 -0
  12. package/dist/v1/addressing/domain-dependency.js +6 -0
  13. package/dist/v1/addressing/index.d.ts +10 -4
  14. package/dist/v1/addressing/index.js +5 -3
  15. package/dist/v1/addressing/key.d.ts +14 -16
  16. package/dist/v1/addressing/key.js +24 -34
  17. package/dist/v1/addressing/method-address.d.ts +9 -0
  18. package/dist/v1/addressing/method-address.js +1 -0
  19. package/dist/v1/addressing/method-key.d.ts +15 -0
  20. package/dist/v1/addressing/method-key.js +60 -0
  21. package/dist/v1/addressing/ordering.d.ts +6 -0
  22. package/dist/v1/addressing/ordering.js +20 -0
  23. package/dist/v1/addressing/patterns.d.ts +12 -3
  24. package/dist/v1/addressing/patterns.js +11 -2
  25. package/dist/v1/addressing/property-key.d.ts +10 -15
  26. package/dist/v1/addressing/property-key.js +24 -15
  27. package/dist/v1/addressing/revision.d.ts +8 -0
  28. package/dist/v1/addressing/revision.js +8 -0
  29. package/dist/v1/builder/callable/authoring.d.ts +117 -0
  30. package/dist/v1/builder/{callable.js → callable/authoring.js} +28 -5
  31. package/dist/v1/builder/class/authoring.d.ts +367 -0
  32. package/dist/v1/builder/class/authoring.js +134 -0
  33. package/dist/v1/builder/class/property.d.ts +52 -0
  34. package/dist/v1/builder/class/property.js +49 -0
  35. package/dist/v1/builder/core/authoring.d.ts +42 -0
  36. package/dist/v1/builder/core/authoring.js +39 -0
  37. package/dist/v1/builder/index.d.ts +26 -22
  38. package/dist/v1/builder/index.js +11 -11
  39. package/dist/v1/builder/lowering/callable.d.ts +24 -0
  40. package/dist/v1/builder/{compiler → lowering}/callable.js +17 -21
  41. package/dist/v1/builder/lowering/class.d.ts +22 -0
  42. package/dist/v1/builder/lowering/class.js +129 -0
  43. package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
  44. package/dist/v1/builder/{compiler/core.properties.js → lowering/core-properties.js} +14 -8
  45. package/dist/v1/builder/lowering/core.d.ts +22 -0
  46. package/dist/v1/builder/{compiler → lowering}/core.js +17 -11
  47. package/dist/v1/builder/lowering/policy.d.ts +16 -0
  48. package/dist/v1/builder/{compiler → lowering}/policy.js +19 -14
  49. package/dist/v1/builder/{compiler/schema.capture.d.ts → lowering/schema/capture.d.ts} +2 -3
  50. package/dist/v1/builder/lowering/schema/capture.js +70 -0
  51. package/dist/v1/builder/{compiler/schema.d.ts → lowering/schema/compile.d.ts} +4 -4
  52. package/dist/v1/builder/{compiler/schema.js → lowering/schema/compile.js} +34 -44
  53. package/dist/v1/builder/lowering/schema/context.d.ts +44 -0
  54. package/dist/v1/builder/{compiler/schema.context.js → lowering/schema/context.js} +66 -74
  55. package/dist/v1/builder/{compiler/schema.ownership.d.ts → lowering/schema/ownership.d.ts} +1 -2
  56. package/dist/v1/builder/{compiler/schema.ownership.js → lowering/schema/ownership.js} +1 -2
  57. package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
  58. package/dist/v1/builder/{compiler/value.js → lowering/value/compile.js} +37 -50
  59. package/dist/v1/builder/lowering/value/path.d.ts +3 -0
  60. package/dist/v1/builder/{compiler/value.path.js → lowering/value/path.js} +1 -2
  61. package/dist/v1/builder/{compiler/value.zod.d.ts → lowering/value/zod.d.ts} +4 -5
  62. package/dist/v1/builder/{compiler/value.zod.js → lowering/value/zod.js} +5 -6
  63. package/dist/v1/builder/lowering/view.d.ts +11 -0
  64. package/dist/v1/builder/{compiler → lowering}/view.js +7 -7
  65. package/dist/v1/builder/{policy.d.ts → policy/authoring.d.ts} +19 -17
  66. package/dist/v1/builder/{policy.js → policy/authoring.js} +23 -12
  67. package/dist/v1/builder/schema/define.d.ts +11 -0
  68. package/dist/v1/builder/{schema.js → schema/define.js} +1 -2
  69. package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
  70. package/dist/v1/builder/schema/diagnostic.js +31 -0
  71. package/dist/v1/builder/{internal/authoring.d.ts → schema/handle.d.ts} +1 -2
  72. package/dist/v1/builder/{internal/authoring.js → schema/handle.js} +0 -1
  73. package/dist/v1/builder/schema/input.d.ts +15 -0
  74. package/dist/v1/builder/schema/input.js +1 -0
  75. package/dist/v1/builder/{internal/authoring.lazy.d.ts → schema/lazy.d.ts} +0 -1
  76. package/dist/v1/builder/{internal/authoring.lazy.js → schema/lazy.js} +0 -1
  77. package/dist/v1/builder/schema/projection.d.ts +364 -0
  78. package/dist/v1/builder/schema/projection.js +1 -0
  79. package/dist/v1/builder/value/full-match.d.ts +4 -0
  80. package/dist/v1/builder/value/full-match.js +11 -0
  81. package/dist/v1/builder/value/path-metadata.d.ts +4 -0
  82. package/dist/v1/builder/{internal/path.metadata.js → value/path-metadata.js} +0 -1
  83. package/dist/v1/builder/value/path.d.ts +8 -0
  84. package/dist/v1/builder/{path.js → value/path.js} +2 -3
  85. package/dist/v1/builder/{value-schema.d.ts → value/schema.d.ts} +2 -3
  86. package/dist/v1/builder/{value-schema.js → value/schema.js} +0 -1
  87. package/dist/v1/builder/view/authoring.d.ts +17 -0
  88. package/dist/v1/builder/view/authoring.js +16 -0
  89. package/dist/v1/bundle/codec.d.ts +0 -1
  90. package/dist/v1/bundle/codec.js +36 -19
  91. package/dist/v1/bundle/create.d.ts +3 -0
  92. package/dist/v1/bundle/create.js +5 -0
  93. package/dist/v1/bundle/diagnostic.d.ts +10 -0
  94. package/dist/v1/bundle/diagnostic.js +17 -0
  95. package/dist/v1/bundle/index.d.ts +3 -2
  96. package/dist/v1/bundle/index.js +2 -2
  97. package/dist/v1/bundle/model.d.ts +1 -4
  98. package/dist/v1/bundle/model.js +0 -6
  99. package/dist/v1/bundle/structure.d.ts +1 -2
  100. package/dist/v1/bundle/structure.js +6 -6
  101. package/dist/v1/bundle/transport.d.ts +8 -0
  102. package/dist/v1/bundle/transport.js +7 -0
  103. package/dist/v1/compiled/admission/accept.d.ts +3 -0
  104. package/dist/v1/compiled/admission/accept.js +881 -0
  105. package/dist/v1/compiled/admission/revision.d.ts +4 -0
  106. package/dist/v1/compiled/admission/revision.js +73 -0
  107. package/dist/v1/compiled/admission/semantics.d.ts +7 -0
  108. package/dist/v1/compiled/admission/semantics.js +1091 -0
  109. package/dist/v1/compiled/codec/json.d.ts +3 -0
  110. package/dist/v1/compiled/codec/json.js +9 -0
  111. package/dist/v1/compiled/compiler/compile.d.ts +4 -0
  112. package/dist/v1/compiled/compiler/compile.js +113 -0
  113. package/dist/v1/compiled/diagnostic.d.ts +11 -0
  114. package/dist/v1/compiled/diagnostic.js +13 -0
  115. package/dist/v1/compiled/index.d.ts +7 -0
  116. package/dist/v1/compiled/index.js +5 -0
  117. package/dist/v1/compiled/loader/index.d.ts +1 -0
  118. package/dist/v1/compiled/loader/index.js +1 -0
  119. package/dist/v1/compiled/loader/load.d.ts +4 -0
  120. package/dist/v1/compiled/loader/load.js +141 -0
  121. package/dist/v1/compiled/model/schema.d.ts +73 -0
  122. package/dist/v1/compiled/model/schema.js +1 -0
  123. package/dist/v1/domain/create.d.ts +8 -0
  124. package/dist/v1/domain/create.js +264 -0
  125. package/dist/v1/domain/index.d.ts +2 -0
  126. package/dist/v1/domain/index.js +1 -0
  127. package/dist/v1/domain/model/domain.d.ts +59 -0
  128. package/dist/v1/domain/model/domain.js +1 -0
  129. package/dist/v1/domain/model/input.d.ts +31 -0
  130. package/dist/v1/domain/model/input.js +1 -0
  131. package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
  132. package/dist/v1/domain/namespace/member-collection.js +81 -0
  133. package/dist/v1/domain/projection/classes.d.ts +4 -0
  134. package/dist/v1/domain/projection/classes.js +200 -0
  135. package/dist/v1/domain/validation/create.d.ts +18 -0
  136. package/dist/v1/domain/validation/create.js +75 -0
  137. package/dist/v1/index.d.ts +12 -5
  138. package/dist/v1/index.js +5 -3
  139. package/dist/v1/language/callable/index.d.ts +2 -0
  140. package/dist/v1/language/callable/index.js +1 -0
  141. package/dist/v1/language/callable/model/callable.d.ts +33 -0
  142. package/dist/v1/language/callable/model/callable.js +1 -0
  143. package/dist/v1/language/callable/resolved.d.ts +68 -0
  144. package/dist/v1/language/callable/resolved.js +1 -0
  145. package/dist/v1/language/class/facets.d.ts +58 -0
  146. package/dist/v1/language/class/facets.js +1 -0
  147. package/dist/v1/language/class/index.d.ts +8 -0
  148. package/dist/v1/language/class/index.js +1 -0
  149. package/dist/v1/language/class/model/class.d.ts +36 -0
  150. package/dist/v1/language/class/model/class.js +1 -0
  151. package/dist/v1/{schema/definition → language/class/model}/data.d.ts +2 -3
  152. package/dist/v1/{schema/definition → language/class/model}/data.js +0 -1
  153. package/dist/v1/language/class/model/edge.d.ts +38 -0
  154. package/dist/v1/language/class/model/edge.js +1 -0
  155. package/dist/v1/language/class/model/property.d.ts +18 -0
  156. package/dist/v1/language/class/model/property.js +1 -0
  157. package/dist/v1/language/class/property-values.d.ts +15 -0
  158. package/dist/v1/language/class/property-values.js +30 -0
  159. package/dist/v1/language/class/resolved.d.ts +123 -0
  160. package/dist/v1/language/class/resolved.js +1 -0
  161. package/dist/v1/language/core/index.d.ts +2 -0
  162. package/dist/v1/language/core/index.js +1 -0
  163. package/dist/v1/language/core/model/core.d.ts +20 -0
  164. package/dist/v1/language/core/model/core.js +1 -0
  165. package/dist/v1/language/core/resolved.d.ts +21 -0
  166. package/dist/v1/language/core/resolved.js +1 -0
  167. package/dist/v1/{schema → language/definition}/metadata.d.ts +0 -1
  168. package/dist/v1/{schema → language/definition}/metadata.js +0 -1
  169. package/dist/v1/language/definition.d.ts +7 -0
  170. package/dist/v1/language/definition.js +1 -0
  171. package/dist/v1/language/index.d.ts +23 -0
  172. package/dist/v1/language/index.js +1 -0
  173. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.d.ts +2 -4
  174. package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.js +5 -28
  175. package/dist/v1/{schema/policy/validation → language/policy/analysis}/budgets.d.ts +1 -4
  176. package/dist/v1/language/policy/analysis/budgets.js +25 -0
  177. package/dist/v1/language/policy/index.d.ts +3 -0
  178. package/dist/v1/language/policy/index.js +1 -0
  179. package/dist/v1/{schema/policy/ast.d.ts → language/policy/model/policy.d.ts} +7 -7
  180. package/dist/v1/language/policy/model/policy.js +1 -0
  181. package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
  182. package/dist/v1/{schema/policy → language/policy/normalization}/normalize.js +12 -16
  183. package/dist/v1/language/policy/resolved.d.ts +9 -0
  184. package/dist/v1/language/policy/resolved.js +1 -0
  185. package/dist/v1/language/resolved.d.ts +10 -0
  186. package/dist/v1/language/resolved.js +1 -0
  187. package/dist/v1/language/validation/diagnostic.d.ts +8 -0
  188. package/dist/v1/language/validation/diagnostic.js +3 -0
  189. package/dist/v1/language/value/compile/fields.d.ts +3 -0
  190. package/dist/v1/language/value/compile/fields.js +60 -0
  191. package/dist/v1/language/value/compile/load.d.ts +4 -0
  192. package/dist/v1/language/value/compile/load.js +41 -0
  193. package/dist/v1/language/value/compile/model.d.ts +27 -0
  194. package/dist/v1/language/value/compile/model.js +1 -0
  195. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.d.ts +0 -1
  196. package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.js +1 -2
  197. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.d.ts +0 -1
  198. package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.js +6 -18
  199. package/dist/v1/{schema/value/instance/compiler.d.ts → language/value/evaluate/preparation.d.ts} +4 -4
  200. package/dist/v1/language/value/evaluate/preparation.js +135 -0
  201. package/dist/v1/language/value/evaluate/program.d.ts +3 -0
  202. package/dist/v1/language/value/evaluate/program.js +16 -0
  203. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.d.ts +8 -5
  204. package/dist/v1/{schema/value/instance → language/value/evaluate}/types.js +0 -1
  205. package/dist/v1/{schema/value/instance.validate.d.ts → language/value/evaluate/validate.d.ts} +4 -5
  206. package/dist/v1/{schema/value/instance.validate.js → language/value/evaluate/validate.js} +5 -6
  207. package/dist/v1/language/value/index.d.ts +11 -0
  208. package/dist/v1/language/value/index.js +8 -0
  209. package/dist/v1/{schema/value → language/value/model}/instant.d.ts +1 -1
  210. package/dist/v1/{schema/value → language/value/model}/instant.js +1 -1
  211. package/dist/v1/{schema/value → language/value/model}/object.d.ts +1 -1
  212. package/dist/v1/{schema/value → language/value/model}/object.js +0 -1
  213. package/dist/v1/{schema/value → language/value/model}/schema.d.ts +3 -4
  214. package/dist/v1/{schema/value → language/value/model}/schema.js +0 -2
  215. package/dist/v1/{schema → language}/value/ordering.d.ts +5 -3
  216. package/dist/v1/{schema → language}/value/ordering.js +16 -14
  217. package/dist/v1/{schema → language}/value/profile/canonicalize.d.ts +2 -3
  218. package/dist/v1/{schema → language}/value/profile/canonicalize.js +4 -7
  219. package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
  220. package/dist/v1/{schema → language}/value/profile/json.validate.js +2 -3
  221. package/dist/v1/language/value/profile/meta-schema.compiled.d.ts +78 -0
  222. package/dist/v1/language/value/profile/meta-schema.compiled.js +2079 -0
  223. package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
  224. package/dist/v1/language/value/profile/meta-schema.js +19 -0
  225. package/dist/v1/language/value/profile/rules.d.ts +3 -0
  226. package/dist/v1/{schema → language}/value/profile/rules.js +7 -50
  227. package/dist/v1/language/value/profile/validate.d.ts +4 -0
  228. package/dist/v1/{schema → language}/value/profile/validate.js +14 -22
  229. package/dist/v1/{schema → language}/value/profile/vocabulary.d.ts +0 -1
  230. package/dist/v1/{schema → language}/value/profile/vocabulary.js +0 -1
  231. package/dist/v1/language/value/reference/closure.d.ts +11 -0
  232. package/dist/v1/{schema/value/resources → language/value/reference}/closure.js +13 -21
  233. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.d.ts +3 -4
  234. package/dist/v1/{schema/value/resources → language/value/reference}/recursion.js +5 -6
  235. package/dist/v1/language/value/reference/references.d.ts +17 -0
  236. package/dist/v1/language/value/reference/references.js +45 -0
  237. package/dist/v1/{schema/value → language/value/reference}/registry.d.ts +9 -7
  238. package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
  239. package/dist/v1/{schema/value/resources → language/value/reference}/registry.index.js +7 -45
  240. package/dist/v1/language/value/reference/registry.js +1 -0
  241. package/dist/v1/language/value/regexp/ast.d.ts +21 -0
  242. package/dist/v1/language/value/regexp/ast.js +326 -0
  243. package/dist/v1/language/value/regexp/compile.d.ts +3 -0
  244. package/dist/v1/language/value/regexp/compile.js +96 -0
  245. package/dist/v1/{schema → language}/value/regexp/lower.d.ts +1 -2
  246. package/dist/v1/{schema → language}/value/regexp/lower.js +2 -3
  247. package/dist/v1/language/value/regexp/matcher.d.ts +7 -0
  248. package/dist/v1/language/value/regexp/matcher.js +50 -0
  249. package/dist/v1/{schema → language}/value/regexp/pattern.d.ts +0 -1
  250. package/dist/v1/{schema → language}/value/regexp/pattern.js +0 -1
  251. package/dist/v1/language/value/regexp/syntax.d.ts +2 -0
  252. package/dist/v1/language/value/regexp/syntax.js +5 -0
  253. package/dist/v1/language/value/syntax/full-match.d.ts +6 -0
  254. package/dist/v1/{builder → language/value/syntax}/full-match.js +6 -7
  255. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.d.ts +0 -1
  256. package/dist/v1/{schema/value/location → language/value/syntax}/keywords.js +0 -1
  257. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.d.ts +1 -2
  258. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.js +2 -3
  259. package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
  260. package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/validate.js +12 -12
  261. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.d.ts +0 -1
  262. package/dist/v1/{schema/value/location → language/value/syntax}/pointer.js +1 -2
  263. package/dist/v1/{schema/value/location → language/value/syntax}/walk.d.ts +1 -2
  264. package/dist/v1/{schema/value/location → language/value/syntax}/walk.js +1 -2
  265. package/dist/v1/language/view/index.d.ts +2 -0
  266. package/dist/v1/language/view/index.js +1 -0
  267. package/dist/v1/language/view/model/view.d.ts +11 -0
  268. package/dist/v1/language/view/model/view.js +1 -0
  269. package/dist/v1/language/view/resolved.d.ts +9 -0
  270. package/dist/v1/language/view/resolved.js +1 -0
  271. package/dist/v1/schema/admission/accept.d.ts +3 -0
  272. package/dist/v1/schema/{domain.accept.js → admission/accept.js} +9 -10
  273. package/dist/v1/schema/{definition/analysis.d.ts → analysis/class.d.ts} +16 -16
  274. package/dist/v1/schema/{definition/analysis.js → analysis/class.js} +21 -28
  275. package/dist/v1/schema/canonical/domain.d.ts +2 -2
  276. package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
  277. package/dist/v1/schema/canonical/domain.digest.js +2 -6
  278. package/dist/v1/schema/canonical/domain.js +3 -191
  279. package/dist/v1/schema/canonical/freeze.d.ts +0 -1
  280. package/dist/v1/schema/canonical/freeze.js +0 -1
  281. package/dist/v1/schema/{domain.revision.d.ts → canonical/revision.d.ts} +2 -3
  282. package/dist/v1/schema/{domain.revision.js → canonical/revision.js} +3 -4
  283. package/dist/v1/schema/codec/header.d.ts +17 -0
  284. package/dist/v1/schema/codec/header.js +26 -0
  285. package/dist/v1/schema/{domain.codec.d.ts → codec/schema.d.ts} +2 -3
  286. package/dist/v1/schema/{domain.codec.js → codec/schema.js} +4 -5
  287. package/dist/v1/schema/{dependency.meaning.d.ts → compatibility/meaning.d.ts} +4 -5
  288. package/dist/v1/schema/{dependency.meaning.js → compatibility/meaning.js} +120 -123
  289. package/dist/v1/schema/{domain.lookup.d.ts → dependency/lookup.d.ts} +3 -4
  290. package/dist/v1/schema/{domain.lookup.js → dependency/lookup.js} +1 -2
  291. package/dist/v1/schema/diagnostic.d.ts +7 -7
  292. package/dist/v1/schema/diagnostic.js +9 -9
  293. package/dist/v1/schema/index.d.ts +24 -34
  294. package/dist/v1/schema/index.js +11 -14
  295. package/dist/v1/schema/model/format.d.ts +2 -0
  296. package/dist/v1/schema/model/format.js +2 -0
  297. package/dist/v1/schema/model/schema.d.ts +30 -0
  298. package/dist/v1/schema/model/schema.js +4 -0
  299. package/dist/v1/schema/normalization/domain.d.ts +2 -0
  300. package/dist/v1/schema/normalization/domain.js +207 -0
  301. package/dist/v1/schema/resolution/closure.d.ts +3 -4
  302. package/dist/v1/schema/resolution/closure.js +6 -7
  303. package/dist/v1/schema/resolution/context.d.ts +11 -12
  304. package/dist/v1/schema/resolution/context.js +82 -50
  305. package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
  306. package/dist/v1/schema/resolution/definition.index.js +8 -18
  307. package/dist/v1/schema/resolution/domain.d.ts +4 -0
  308. package/dist/v1/schema/resolution/domain.js +112 -0
  309. package/dist/v1/schema/resolution/origins.d.ts +11 -14
  310. package/dist/v1/schema/resolution/origins.js +36 -44
  311. package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
  312. package/dist/v1/schema/resolution/value.registry.js +7 -14
  313. package/dist/v1/schema/revision.d.ts +1 -0
  314. package/dist/v1/schema/revision.js +1 -0
  315. package/dist/v1/schema/validation/class.d.ts +5 -0
  316. package/dist/v1/schema/validation/class.js +208 -0
  317. package/dist/v1/schema/validation/core.d.ts +5 -0
  318. package/dist/v1/schema/{core/validate.js → validation/core.js} +65 -38
  319. package/dist/v1/schema/validation/domain.d.ts +11 -0
  320. package/dist/v1/schema/{domain.validate.js → validation/domain.js} +12 -12
  321. package/dist/v1/schema/validation/domain.route.d.ts +1 -2
  322. package/dist/v1/schema/validation/domain.route.js +3 -4
  323. package/dist/v1/schema/validation/domain.structure.d.ts +1 -2
  324. package/dist/v1/schema/validation/domain.structure.js +98 -93
  325. package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
  326. package/dist/v1/schema/{policy/validation → validation/policy}/budgets.js +2 -32
  327. package/dist/v1/schema/validation/policy/context.d.ts +28 -0
  328. package/dist/v1/schema/{policy/validation → validation/policy}/context.js +23 -33
  329. package/dist/v1/schema/{policy/validation → validation/policy}/references.d.ts +0 -1
  330. package/dist/v1/schema/{policy/validation → validation/policy}/references.js +16 -9
  331. package/dist/v1/schema/{policy/validation → validation/policy}/typing.d.ts +4 -8
  332. package/dist/v1/schema/{policy/validation → validation/policy}/typing.js +33 -72
  333. package/dist/v1/schema/{policy/validation → validation/policy}/uses.d.ts +0 -1
  334. package/dist/v1/schema/{policy/validation → validation/policy}/uses.js +25 -36
  335. package/dist/v1/schema/{policy/validation → validation/policy}/validate.d.ts +3 -4
  336. package/dist/v1/schema/{policy/validation → validation/policy}/validate.js +0 -1
  337. package/dist/v1/schema/{value/index.d.ts → validation/value-api.d.ts} +9 -10
  338. package/dist/v1/schema/{value/index.js → validation/value-api.js} +4 -5
  339. package/dist/v1/schema/validation/value.d.ts +4 -5
  340. package/dist/v1/schema/validation/value.js +4 -9
  341. package/dist/v1/schema/validation/view.d.ts +3 -0
  342. package/dist/v1/schema/{view/validate.js → validation/view.js} +11 -4
  343. package/dist/v1/value/full-match.d.ts +2 -0
  344. package/dist/v1/value/full-match.js +2 -0
  345. package/dist/v1.d.ts +1 -2
  346. package/dist/v1.js +1 -2
  347. package/dist/value/accept.d.ts +0 -1
  348. package/dist/value/accept.js +0 -1
  349. package/dist/value/canonical.d.ts +0 -1
  350. package/dist/value/canonical.js +0 -1
  351. package/dist/value/decode.d.ts +0 -1
  352. package/dist/value/decode.js +0 -1
  353. package/dist/value/equal.d.ts +0 -1
  354. package/dist/value/equal.js +0 -1
  355. package/dist/value/error.d.ts +0 -1
  356. package/dist/value/error.js +0 -1
  357. package/dist/value/index.d.ts +0 -1
  358. package/dist/value/index.js +0 -1
  359. package/dist/value/json.d.ts +0 -1
  360. package/dist/value/json.js +0 -1
  361. package/dist/value/limits.d.ts +0 -1
  362. package/dist/value/limits.js +0 -1
  363. package/dist/value/types.d.ts +0 -1
  364. package/dist/value/types.js +0 -1
  365. package/dist/value/unicode.d.ts +0 -1
  366. package/dist/value/unicode.js +0 -1
  367. package/dist/version/dispatch.d.ts +0 -1
  368. package/dist/version/dispatch.js +0 -1
  369. package/dist/version/index.d.ts +0 -1
  370. package/dist/version/index.js +0 -1
  371. package/package.json +63 -14
  372. package/dist/index.d.ts.map +0 -1
  373. package/dist/index.js.map +0 -1
  374. package/dist/upgrade/contract.d.ts.map +0 -1
  375. package/dist/upgrade/contract.js.map +0 -1
  376. package/dist/upgrade/index.d.ts.map +0 -1
  377. package/dist/upgrade/index.js.map +0 -1
  378. package/dist/v1/addressing/index.d.ts.map +0 -1
  379. package/dist/v1/addressing/index.js.map +0 -1
  380. package/dist/v1/addressing/key.d.ts.map +0 -1
  381. package/dist/v1/addressing/key.js.map +0 -1
  382. package/dist/v1/addressing/patterns.d.ts.map +0 -1
  383. package/dist/v1/addressing/patterns.js.map +0 -1
  384. package/dist/v1/addressing/property-key.d.ts.map +0 -1
  385. package/dist/v1/addressing/property-key.js.map +0 -1
  386. package/dist/v1/addressing/ref.d.ts +0 -35
  387. package/dist/v1/addressing/ref.d.ts.map +0 -1
  388. package/dist/v1/addressing/ref.js +0 -94
  389. package/dist/v1/addressing/ref.js.map +0 -1
  390. package/dist/v1/addressing/schema-ref.d.ts +0 -8
  391. package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
  392. package/dist/v1/addressing/schema-ref.js +0 -2
  393. package/dist/v1/addressing/schema-ref.js.map +0 -1
  394. package/dist/v1/builder/callable.d.ts +0 -81
  395. package/dist/v1/builder/callable.d.ts.map +0 -1
  396. package/dist/v1/builder/callable.js.map +0 -1
  397. package/dist/v1/builder/compiler/callable.d.ts +0 -20
  398. package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
  399. package/dist/v1/builder/compiler/callable.js.map +0 -1
  400. package/dist/v1/builder/compiler/core.d.ts +0 -6
  401. package/dist/v1/builder/compiler/core.d.ts.map +0 -1
  402. package/dist/v1/builder/compiler/core.js.map +0 -1
  403. package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
  404. package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
  405. package/dist/v1/builder/compiler/core.properties.js.map +0 -1
  406. package/dist/v1/builder/compiler/definition.d.ts +0 -26
  407. package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
  408. package/dist/v1/builder/compiler/definition.js +0 -154
  409. package/dist/v1/builder/compiler/definition.js.map +0 -1
  410. package/dist/v1/builder/compiler/policy.d.ts +0 -17
  411. package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
  412. package/dist/v1/builder/compiler/policy.js.map +0 -1
  413. package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
  414. package/dist/v1/builder/compiler/schema.capture.js +0 -85
  415. package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
  416. package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
  417. package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
  418. package/dist/v1/builder/compiler/schema.context.js.map +0 -1
  419. package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
  420. package/dist/v1/builder/compiler/schema.js.map +0 -1
  421. package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
  422. package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
  423. package/dist/v1/builder/compiler/value.d.ts +0 -22
  424. package/dist/v1/builder/compiler/value.d.ts.map +0 -1
  425. package/dist/v1/builder/compiler/value.js.map +0 -1
  426. package/dist/v1/builder/compiler/value.path.d.ts +0 -4
  427. package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
  428. package/dist/v1/builder/compiler/value.path.js.map +0 -1
  429. package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
  430. package/dist/v1/builder/compiler/value.zod.js.map +0 -1
  431. package/dist/v1/builder/compiler/view.d.ts +0 -12
  432. package/dist/v1/builder/compiler/view.d.ts.map +0 -1
  433. package/dist/v1/builder/compiler/view.js.map +0 -1
  434. package/dist/v1/builder/core.d.ts +0 -27
  435. package/dist/v1/builder/core.d.ts.map +0 -1
  436. package/dist/v1/builder/core.js +0 -21
  437. package/dist/v1/builder/core.js.map +0 -1
  438. package/dist/v1/builder/definition.d.ts +0 -105
  439. package/dist/v1/builder/definition.d.ts.map +0 -1
  440. package/dist/v1/builder/definition.js +0 -97
  441. package/dist/v1/builder/definition.js.map +0 -1
  442. package/dist/v1/builder/full-match.d.ts +0 -12
  443. package/dist/v1/builder/full-match.d.ts.map +0 -1
  444. package/dist/v1/builder/full-match.js.map +0 -1
  445. package/dist/v1/builder/index.d.ts.map +0 -1
  446. package/dist/v1/builder/index.js.map +0 -1
  447. package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
  448. package/dist/v1/builder/internal/authoring.js.map +0 -1
  449. package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
  450. package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
  451. package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
  452. package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
  453. package/dist/v1/builder/internal/diagnostic.js +0 -16
  454. package/dist/v1/builder/internal/diagnostic.js.map +0 -1
  455. package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
  456. package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
  457. package/dist/v1/builder/internal/path.metadata.js.map +0 -1
  458. package/dist/v1/builder/path.d.ts +0 -9
  459. package/dist/v1/builder/path.d.ts.map +0 -1
  460. package/dist/v1/builder/path.js.map +0 -1
  461. package/dist/v1/builder/policy.d.ts.map +0 -1
  462. package/dist/v1/builder/policy.js.map +0 -1
  463. package/dist/v1/builder/property.d.ts +0 -23
  464. package/dist/v1/builder/property.d.ts.map +0 -1
  465. package/dist/v1/builder/property.js +0 -12
  466. package/dist/v1/builder/property.js.map +0 -1
  467. package/dist/v1/builder/schema.d.ts +0 -6
  468. package/dist/v1/builder/schema.d.ts.map +0 -1
  469. package/dist/v1/builder/schema.input.d.ts +0 -19
  470. package/dist/v1/builder/schema.input.d.ts.map +0 -1
  471. package/dist/v1/builder/schema.input.js +0 -2
  472. package/dist/v1/builder/schema.input.js.map +0 -1
  473. package/dist/v1/builder/schema.js.map +0 -1
  474. package/dist/v1/builder/value-schema.d.ts.map +0 -1
  475. package/dist/v1/builder/value-schema.js.map +0 -1
  476. package/dist/v1/builder/view.d.ts +0 -19
  477. package/dist/v1/builder/view.d.ts.map +0 -1
  478. package/dist/v1/builder/view.js +0 -7
  479. package/dist/v1/builder/view.js.map +0 -1
  480. package/dist/v1/builder.d.ts +0 -3
  481. package/dist/v1/builder.d.ts.map +0 -1
  482. package/dist/v1/builder.js +0 -2
  483. package/dist/v1/builder.js.map +0 -1
  484. package/dist/v1/bundle/codec.d.ts.map +0 -1
  485. package/dist/v1/bundle/codec.js.map +0 -1
  486. package/dist/v1/bundle/index.d.ts.map +0 -1
  487. package/dist/v1/bundle/index.js.map +0 -1
  488. package/dist/v1/bundle/model.d.ts.map +0 -1
  489. package/dist/v1/bundle/model.js.map +0 -1
  490. package/dist/v1/bundle/structure.d.ts.map +0 -1
  491. package/dist/v1/bundle/structure.js.map +0 -1
  492. package/dist/v1/bundle.d.ts +0 -3
  493. package/dist/v1/bundle.d.ts.map +0 -1
  494. package/dist/v1/bundle.js +0 -3
  495. package/dist/v1/bundle.js.map +0 -1
  496. package/dist/v1/index.d.ts.map +0 -1
  497. package/dist/v1/index.js.map +0 -1
  498. package/dist/v1/schema/callable.d.ts +0 -29
  499. package/dist/v1/schema/callable.d.ts.map +0 -1
  500. package/dist/v1/schema/callable.js +0 -2
  501. package/dist/v1/schema/callable.js.map +0 -1
  502. package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
  503. package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
  504. package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
  505. package/dist/v1/schema/canonical/domain.js.map +0 -1
  506. package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
  507. package/dist/v1/schema/canonical/freeze.js.map +0 -1
  508. package/dist/v1/schema/core/declaration.d.ts +0 -17
  509. package/dist/v1/schema/core/declaration.d.ts.map +0 -1
  510. package/dist/v1/schema/core/declaration.js +0 -2
  511. package/dist/v1/schema/core/declaration.js.map +0 -1
  512. package/dist/v1/schema/core/validate.d.ts +0 -6
  513. package/dist/v1/schema/core/validate.d.ts.map +0 -1
  514. package/dist/v1/schema/core/validate.js.map +0 -1
  515. package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
  516. package/dist/v1/schema/definition/analysis.js.map +0 -1
  517. package/dist/v1/schema/definition/class.d.ts +0 -28
  518. package/dist/v1/schema/definition/class.d.ts.map +0 -1
  519. package/dist/v1/schema/definition/class.js +0 -2
  520. package/dist/v1/schema/definition/class.js.map +0 -1
  521. package/dist/v1/schema/definition/data.d.ts.map +0 -1
  522. package/dist/v1/schema/definition/data.js.map +0 -1
  523. package/dist/v1/schema/definition/edge.d.ts +0 -22
  524. package/dist/v1/schema/definition/edge.d.ts.map +0 -1
  525. package/dist/v1/schema/definition/edge.js +0 -2
  526. package/dist/v1/schema/definition/edge.js.map +0 -1
  527. package/dist/v1/schema/definition/interface.d.ts +0 -22
  528. package/dist/v1/schema/definition/interface.d.ts.map +0 -1
  529. package/dist/v1/schema/definition/interface.js +0 -2
  530. package/dist/v1/schema/definition/interface.js.map +0 -1
  531. package/dist/v1/schema/definition/property.d.ts +0 -11
  532. package/dist/v1/schema/definition/property.d.ts.map +0 -1
  533. package/dist/v1/schema/definition/property.js +0 -2
  534. package/dist/v1/schema/definition/property.js.map +0 -1
  535. package/dist/v1/schema/definition/validate.d.ts +0 -5
  536. package/dist/v1/schema/definition/validate.d.ts.map +0 -1
  537. package/dist/v1/schema/definition/validate.js +0 -152
  538. package/dist/v1/schema/definition/validate.js.map +0 -1
  539. package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
  540. package/dist/v1/schema/dependency.meaning.js.map +0 -1
  541. package/dist/v1/schema/diagnostic.d.ts.map +0 -1
  542. package/dist/v1/schema/diagnostic.js.map +0 -1
  543. package/dist/v1/schema/domain.accept.d.ts +0 -4
  544. package/dist/v1/schema/domain.accept.d.ts.map +0 -1
  545. package/dist/v1/schema/domain.accept.js.map +0 -1
  546. package/dist/v1/schema/domain.codec.d.ts.map +0 -1
  547. package/dist/v1/schema/domain.codec.js.map +0 -1
  548. package/dist/v1/schema/domain.header.d.ts +0 -15
  549. package/dist/v1/schema/domain.header.d.ts.map +0 -1
  550. package/dist/v1/schema/domain.header.js +0 -21
  551. package/dist/v1/schema/domain.header.js.map +0 -1
  552. package/dist/v1/schema/domain.ir.d.ts +0 -40
  553. package/dist/v1/schema/domain.ir.d.ts.map +0 -1
  554. package/dist/v1/schema/domain.ir.js +0 -5
  555. package/dist/v1/schema/domain.ir.js.map +0 -1
  556. package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
  557. package/dist/v1/schema/domain.lookup.js.map +0 -1
  558. package/dist/v1/schema/domain.resolve.d.ts +0 -26
  559. package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
  560. package/dist/v1/schema/domain.resolve.js +0 -43
  561. package/dist/v1/schema/domain.resolve.js.map +0 -1
  562. package/dist/v1/schema/domain.revision.d.ts.map +0 -1
  563. package/dist/v1/schema/domain.revision.js.map +0 -1
  564. package/dist/v1/schema/domain.validate.d.ts +0 -12
  565. package/dist/v1/schema/domain.validate.d.ts.map +0 -1
  566. package/dist/v1/schema/domain.validate.js.map +0 -1
  567. package/dist/v1/schema/index.d.ts.map +0 -1
  568. package/dist/v1/schema/index.js.map +0 -1
  569. package/dist/v1/schema/metadata.d.ts.map +0 -1
  570. package/dist/v1/schema/metadata.js.map +0 -1
  571. package/dist/v1/schema/policy/ast.d.ts.map +0 -1
  572. package/dist/v1/schema/policy/ast.js +0 -2
  573. package/dist/v1/schema/policy/ast.js.map +0 -1
  574. package/dist/v1/schema/policy/normalize.d.ts +0 -5
  575. package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
  576. package/dist/v1/schema/policy/normalize.js.map +0 -1
  577. package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
  578. package/dist/v1/schema/policy/validation/branches.js.map +0 -1
  579. package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
  580. package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
  581. package/dist/v1/schema/policy/validation/context.d.ts +0 -28
  582. package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
  583. package/dist/v1/schema/policy/validation/context.js.map +0 -1
  584. package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
  585. package/dist/v1/schema/policy/validation/references.js.map +0 -1
  586. package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
  587. package/dist/v1/schema/policy/validation/typing.js.map +0 -1
  588. package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
  589. package/dist/v1/schema/policy/validation/uses.js.map +0 -1
  590. package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
  591. package/dist/v1/schema/policy/validation/validate.js.map +0 -1
  592. package/dist/v1/schema/reference.d.ts +0 -43
  593. package/dist/v1/schema/reference.d.ts.map +0 -1
  594. package/dist/v1/schema/reference.js +0 -31
  595. package/dist/v1/schema/reference.js.map +0 -1
  596. package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
  597. package/dist/v1/schema/resolution/closure.js.map +0 -1
  598. package/dist/v1/schema/resolution/context.d.ts.map +0 -1
  599. package/dist/v1/schema/resolution/context.js.map +0 -1
  600. package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
  601. package/dist/v1/schema/resolution/definition.index.js.map +0 -1
  602. package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
  603. package/dist/v1/schema/resolution/origins.js.map +0 -1
  604. package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
  605. package/dist/v1/schema/resolution/value.registry.js.map +0 -1
  606. package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
  607. package/dist/v1/schema/validation/domain.route.js.map +0 -1
  608. package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
  609. package/dist/v1/schema/validation/domain.structure.js.map +0 -1
  610. package/dist/v1/schema/validation/value.d.ts.map +0 -1
  611. package/dist/v1/schema/validation/value.js.map +0 -1
  612. package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
  613. package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
  614. package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
  615. package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
  616. package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
  617. package/dist/v1/schema/value/index.d.ts.map +0 -1
  618. package/dist/v1/schema/value/index.js.map +0 -1
  619. package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
  620. package/dist/v1/schema/value/instance/assertions.js.map +0 -1
  621. package/dist/v1/schema/value/instance/compiler.d.ts.map +0 -1
  622. package/dist/v1/schema/value/instance/compiler.js +0 -69
  623. package/dist/v1/schema/value/instance/compiler.js.map +0 -1
  624. package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
  625. package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
  626. package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
  627. package/dist/v1/schema/value/instance/types.js.map +0 -1
  628. package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
  629. package/dist/v1/schema/value/instance.validate.js.map +0 -1
  630. package/dist/v1/schema/value/instant.d.ts.map +0 -1
  631. package/dist/v1/schema/value/instant.js.map +0 -1
  632. package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
  633. package/dist/v1/schema/value/location/keywords.js.map +0 -1
  634. package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
  635. package/dist/v1/schema/value/location/pointer.js.map +0 -1
  636. package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
  637. package/dist/v1/schema/value/location/walk.js.map +0 -1
  638. package/dist/v1/schema/value/object.d.ts.map +0 -1
  639. package/dist/v1/schema/value/object.js.map +0 -1
  640. package/dist/v1/schema/value/ordering.d.ts.map +0 -1
  641. package/dist/v1/schema/value/ordering.js.map +0 -1
  642. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
  643. package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
  644. package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
  645. package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
  646. package/dist/v1/schema/value/profile/dialect.js +0 -36
  647. package/dist/v1/schema/value/profile/dialect.js.map +0 -1
  648. package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
  649. package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
  650. package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
  651. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts +0 -4
  652. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts.map +0 -1
  653. package/dist/v1/schema/value/profile/meta-schema.validate.js +0 -25
  654. package/dist/v1/schema/value/profile/meta-schema.validate.js.map +0 -1
  655. package/dist/v1/schema/value/profile/rules.d.ts +0 -5
  656. package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
  657. package/dist/v1/schema/value/profile/rules.js.map +0 -1
  658. package/dist/v1/schema/value/profile/validate.d.ts +0 -5
  659. package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
  660. package/dist/v1/schema/value/profile/validate.js.map +0 -1
  661. package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
  662. package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
  663. package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
  664. package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
  665. package/dist/v1/schema/value/regexp/linear.js +0 -24
  666. package/dist/v1/schema/value/regexp/linear.js.map +0 -1
  667. package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
  668. package/dist/v1/schema/value/regexp/lower.js.map +0 -1
  669. package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
  670. package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
  671. package/dist/v1/schema/value/regexp/syntax.d.ts +0 -3
  672. package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
  673. package/dist/v1/schema/value/regexp/syntax.js +0 -219
  674. package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
  675. package/dist/v1/schema/value/registry.d.ts.map +0 -1
  676. package/dist/v1/schema/value/registry.js +0 -2
  677. package/dist/v1/schema/value/registry.js.map +0 -1
  678. package/dist/v1/schema/value/resources/closure.d.ts +0 -12
  679. package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
  680. package/dist/v1/schema/value/resources/closure.js.map +0 -1
  681. package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
  682. package/dist/v1/schema/value/resources/recursion.js.map +0 -1
  683. package/dist/v1/schema/value/resources/references.d.ts +0 -25
  684. package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
  685. package/dist/v1/schema/value/resources/references.js +0 -93
  686. package/dist/v1/schema/value/resources/references.js.map +0 -1
  687. package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
  688. package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
  689. package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
  690. package/dist/v1/schema/value/schema.d.ts.map +0 -1
  691. package/dist/v1/schema/value/schema.js.map +0 -1
  692. package/dist/v1/schema/view/declaration.d.ts +0 -14
  693. package/dist/v1/schema/view/declaration.d.ts.map +0 -1
  694. package/dist/v1/schema/view/declaration.js +0 -2
  695. package/dist/v1/schema/view/declaration.js.map +0 -1
  696. package/dist/v1/schema/view/validate.d.ts +0 -4
  697. package/dist/v1/schema/view/validate.d.ts.map +0 -1
  698. package/dist/v1/schema/view/validate.js.map +0 -1
  699. package/dist/v1/schema.d.ts +0 -3
  700. package/dist/v1/schema.d.ts.map +0 -1
  701. package/dist/v1/schema.js +0 -3
  702. package/dist/v1/schema.js.map +0 -1
  703. package/dist/v1.d.ts.map +0 -1
  704. package/dist/v1.js.map +0 -1
  705. package/dist/value/accept.d.ts.map +0 -1
  706. package/dist/value/accept.js.map +0 -1
  707. package/dist/value/canonical.d.ts.map +0 -1
  708. package/dist/value/canonical.js.map +0 -1
  709. package/dist/value/decode.d.ts.map +0 -1
  710. package/dist/value/decode.js.map +0 -1
  711. package/dist/value/equal.d.ts.map +0 -1
  712. package/dist/value/equal.js.map +0 -1
  713. package/dist/value/error.d.ts.map +0 -1
  714. package/dist/value/error.js.map +0 -1
  715. package/dist/value/index.d.ts.map +0 -1
  716. package/dist/value/index.js.map +0 -1
  717. package/dist/value/json.d.ts.map +0 -1
  718. package/dist/value/json.js.map +0 -1
  719. package/dist/value/limits.d.ts.map +0 -1
  720. package/dist/value/limits.js.map +0 -1
  721. package/dist/value/types.d.ts.map +0 -1
  722. package/dist/value/types.js.map +0 -1
  723. package/dist/value/unicode.d.ts.map +0 -1
  724. package/dist/value/unicode.js.map +0 -1
  725. package/dist/version/dispatch.d.ts.map +0 -1
  726. package/dist/version/dispatch.js.map +0 -1
  727. package/dist/version/index.d.ts.map +0 -1
  728. package/dist/version/index.js.map +0 -1
@@ -1,20 +1,30 @@
1
- import { authoringValue, isAuthoringValue } from './internal/authoring.js';
2
- import { assertKnownKeys, fail } from './internal/diagnostic.js';
3
- export function definePolicy(input) {
1
+ import { assertKnownKeys, fail } from '../schema/diagnostic.js';
2
+ import { authoringValue } from '../schema/handle.js';
3
+ const declarations = new WeakMap();
4
+ const compositions = new WeakSet();
5
+ export function policyDeclaration(value) {
6
+ const declaration = declarations.get(value);
7
+ if (declaration === undefined)
8
+ fail('BUILDER_POLICY', '/', 'Policies are created by policy(...).');
9
+ return declaration;
10
+ }
11
+ function createPolicy(input) {
4
12
  if ('operator' in input) {
5
- if (!isAuthoringValue(input, 'policy-composition')) {
13
+ if (!compositions.has(input)) {
6
14
  fail('BUILDER_POLICY_COMPOSITION', '/', 'Policy compositions are created by policy.allOf(...) or policy.anyOf(...).');
7
15
  }
8
16
  }
9
17
  else {
10
18
  assertKnownKeys(input, ['description', 'match']);
11
19
  }
12
- return authoringValue('policy', { input });
20
+ const value = authoringValue('policy', {});
21
+ declarations.set(value, input);
22
+ return value;
13
23
  }
14
- export const policy = Object.freeze({
15
- allOf: (...policies) => composition('allOf', policies),
16
- anyOf: (...policies) => composition('anyOf', policies),
17
- });
24
+ export const policy = Object.freeze(Object.assign(createPolicy, {
25
+ allOf: (first, ...rest) => createPolicy(composition('allOf', first === undefined ? [] : [first, ...rest])),
26
+ anyOf: (first, ...rest) => createPolicy(composition('anyOf', first === undefined ? [] : [first, ...rest])),
27
+ }));
18
28
  export function createPatternContext(options) {
19
29
  let nextVariable = 0;
20
30
  const subject = Object.freeze({ kind: 'subject' });
@@ -67,13 +77,14 @@ export function createPatternContext(options) {
67
77
  }
68
78
  function composition(operator, policies) {
69
79
  nonEmpty(policies, `/${operator}`);
70
- return authoringValue('policy-composition', {
80
+ const value = {
71
81
  operator,
72
82
  policies: [...policies],
73
- });
83
+ };
84
+ compositions.add(value);
85
+ return value;
74
86
  }
75
87
  function nonEmpty(values, pointer) {
76
88
  if (values.length === 0)
77
89
  fail('BUILDER_POLICY_EMPTY_COMPOSITION', pointer, 'Policy composition must be non-empty.');
78
90
  }
79
- //# sourceMappingURL=policy.js.map
@@ -0,0 +1,11 @@
1
+ import type { Domain } from '../../domain/model/domain.js';
2
+ import type { DomainSchema } from '../../schema/model/schema.js';
3
+ import type { DomainSchemaInput } from './input.js';
4
+ import type { ResolvedDomainOfInput } from './projection.js';
5
+ export type { DomainSchemaInput } from './input.js';
6
+ /** Exact named Schema produced from one authored input. */
7
+ export interface DefinedSchema<Origin extends string, Resolved extends Domain> extends DomainSchema<Origin, Resolved> {
8
+ }
9
+ /** Build and semantically accept one immutable V1 DomainSchema. */
10
+ export declare function defineSchema<const Origin extends string, const Input extends DomainSchemaInput>(origin: Origin, input: Input): DefinedSchema<Origin, ResolvedDomainOfInput<Origin, Input>>;
11
+ export type { ResolvedDomainOfInput } from './projection.js';
@@ -1,6 +1,5 @@
1
- import { compileSchema } from './compiler/schema.js';
1
+ import { compileSchema } from '../lowering/schema/compile.js';
2
2
  /** Build and semantically accept one immutable V1 DomainSchema. */
3
3
  export function defineSchema(origin, input) {
4
4
  return compileSchema(origin, input);
5
5
  }
6
- //# sourceMappingURL=schema.js.map
@@ -0,0 +1,16 @@
1
+ import type { DiagnosticCode as LanguageDiagnosticCode } from '../../language/validation/diagnostic.js';
2
+ export type BuilderDiagnosticCode = LanguageDiagnosticCode | 'BUILDER_ABSTRACT_POLICY' | 'BUILDER_AMBIGUOUS_OWNERSHIP' | 'BUILDER_AUTO_EVENT_INVALID' | 'BUILDER_AUTO_NESTED' | 'BUILDER_AUTO_SET_INVALID' | 'BUILDER_CALLABLE_AUTH' | 'BUILDER_CALLABLE_PLACEMENT' | 'BUILDER_CALLABLE_POLICY_AUTH' | 'BUILDER_CORE_CLASS' | 'BUILDER_CORE_EDGE' | 'BUILDER_CORE_NODE' | 'BUILDER_CORE_PROPERTY' | 'BUILDER_CORE_REF' | 'BUILDER_DEFINITION' | 'BUILDER_DEPENDENCY_CONFLICT' | 'BUILDER_DEPENDENCY_ALIAS' | 'BUILDER_DEPENDENCY_DIRECT' | 'BUILDER_DUPLICATE_MEMBER' | 'BUILDER_FOREIGN_POLICY' | 'BUILDER_FULL_MATCH_INVALID' | 'BUILDER_FUNCTION' | 'BUILDER_METHOD' | 'BUILDER_PATH_DUPLICATE' | 'BUILDER_PATH_EMPTY' | 'BUILDER_POLICY' | 'BUILDER_POLICY_COMPOSITION' | 'BUILDER_POLICY_CYCLE' | 'BUILDER_POLICY_EMPTY_COMPOSITION' | 'BUILDER_POLICY_EMPTY_EXISTS' | 'BUILDER_POLICY_INPUT' | 'BUILDER_POLICY_REF' | 'BUILDER_POLICY_SELF' | 'BUILDER_REFERENCE_CYCLE' | 'BUILDER_REFERENCE_KIND' | 'BUILDER_REFERENCE_MISSING' | 'BUILDER_UNKNOWN_FIELD' | 'BUILDER_UNOWNED_REFERENCE' | 'BUILDER_VIEW' | 'ZOD_SCHEMA_NOT_LOSSLESS';
3
+ export interface BuilderDiagnostic<out Code extends BuilderDiagnosticCode = BuilderDiagnosticCode> {
4
+ readonly code: Code;
5
+ readonly pointer: string;
6
+ readonly message: string;
7
+ readonly ref?: string;
8
+ }
9
+ export declare function diagnostic<const Code extends BuilderDiagnosticCode>(code: Code, pointer: string, message: string, ref?: string): BuilderDiagnostic<Code>;
10
+ export declare class BuilderError extends Error {
11
+ readonly diagnostics: readonly BuilderDiagnostic[];
12
+ constructor(diagnostics: readonly BuilderDiagnostic[]);
13
+ }
14
+ export declare function assertKnownKeys(value: object, allowed: readonly string[], pointer?: string): void;
15
+ export declare function fail(code: BuilderDiagnosticCode, pointer: string, message: string): never;
16
+ export declare function escapeToken(value: string): string;
@@ -0,0 +1,31 @@
1
+ import { compareUnicode } from '../../addressing/ordering.js';
2
+ export function diagnostic(code, pointer, message, ref) {
3
+ return Object.freeze({ code, pointer, message, ...(ref === undefined ? {} : { ref }) });
4
+ }
5
+ export class BuilderError extends Error {
6
+ diagnostics;
7
+ constructor(diagnostics) {
8
+ const ordered = [...diagnostics].sort((left, right) => compareUnicode(left.pointer, right.pointer) ||
9
+ compareUnicode(left.code, right.code) ||
10
+ compareUnicode(left.message, right.message));
11
+ super(ordered
12
+ .map(({ code, pointer, message }) => `${pointer || '/'} [${code}] ${message}`)
13
+ .join('\n'));
14
+ this.name = 'BuilderError';
15
+ this.diagnostics = Object.freeze(ordered);
16
+ }
17
+ }
18
+ export function assertKnownKeys(value, allowed, pointer = '') {
19
+ const accepted = new Set(allowed);
20
+ for (const key of Object.keys(value)) {
21
+ if (!accepted.has(key)) {
22
+ fail('BUILDER_UNKNOWN_FIELD', `${pointer}/${escapeToken(key)}`, `Unknown builder field ${key}.`);
23
+ }
24
+ }
25
+ }
26
+ export function fail(code, pointer, message) {
27
+ throw new BuilderError([diagnostic(code, pointer, message)]);
28
+ }
29
+ export function escapeToken(value) {
30
+ return value.replaceAll('~', '~0').replaceAll('/', '~1');
31
+ }
@@ -1,8 +1,7 @@
1
1
  export declare const AUTHORING: unique symbol;
2
- export type AuthoringKind = 'definition' | 'function' | 'callable-output' | 'policy' | 'view' | 'core-node' | 'core-edge' | 'property' | 'policy-composition';
2
+ export type AuthoringKind = 'definition' | 'function' | 'method' | 'callable-output' | 'policy' | 'view' | 'core-node' | 'core-edge' | 'property' | 'auto';
3
3
  export interface AuthoringValue<Kind extends AuthoringKind> {
4
4
  readonly [AUTHORING]: Kind;
5
5
  }
6
6
  export declare function authoringValue<Kind extends AuthoringKind, Value extends object>(kind: Kind, value: Value): Readonly<Value & AuthoringValue<Kind>>;
7
7
  export declare function isAuthoringValue<Kind extends AuthoringKind>(value: unknown, kind: Kind): value is AuthoringValue<Kind> & object;
8
- //# sourceMappingURL=authoring.d.ts.map
@@ -12,4 +12,3 @@ export function isAuthoringValue(value, kind) {
12
12
  value !== null &&
13
13
  value[AUTHORING] === kind);
14
14
  }
15
- //# sourceMappingURL=authoring.js.map
@@ -0,0 +1,15 @@
1
+ import type { DomainSchema } from '../../schema/model/schema.js';
2
+ import type { Function } from '../callable/authoring.js';
3
+ import type { Class } from '../class/authoring.js';
4
+ import type { CoreInput } from '../core/authoring.js';
5
+ import type { Policy } from '../policy/authoring.js';
6
+ import type { View } from '../view/authoring.js';
7
+ /** Complete authoring input accepted by defineSchema. */
8
+ export interface DomainSchemaInput {
9
+ readonly dependencies?: Readonly<Record<string, DomainSchema<string>>>;
10
+ readonly classes?: Readonly<Record<string, Class>>;
11
+ readonly functions?: Readonly<Record<string, Function>>;
12
+ readonly policies?: Readonly<Record<string, Policy>>;
13
+ readonly views?: Readonly<Record<string, View>>;
14
+ readonly core?: CoreInput;
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,2 @@
1
1
  export type Lazy<T> = T | (() => T);
2
2
  export declare function resolveLazy<T>(value: Lazy<T>, pointer: string): T;
3
- //# sourceMappingURL=authoring.lazy.d.ts.map
@@ -11,4 +11,3 @@ export function resolveLazy(value, pointer) {
11
11
  }
12
12
  return current;
13
13
  }
14
- //# sourceMappingURL=authoring.lazy.js.map
@@ -0,0 +1,364 @@
1
+ import type { Revision } from '../../addressing/index.js';
2
+ import type * as domain from '../../domain/model/domain.js';
3
+ import type * as language from '../../language/index.js';
4
+ import type { DomainOfSchema, DomainSchema } from '../../schema/model/schema.js';
5
+ import type { CallableProjection, Function, Method } from '../callable/authoring.js';
6
+ import type { AuthoredPropertyProjection, AuthoredMethodProjection, Class, ClassIdentityProjection, ClassIdentityProjectionOf, ClassOwnerProjection, ClassOwnerProjectionOf, ClassReferenceProjection, ClassReferenceProjectionOf, DirectedEdgeClass, NodeClass, ProjectionOfClass, UndirectedEdgeClass } from '../class/authoring.js';
7
+ import type { DomainSchemaInput } from './input.js';
8
+ export interface PropertyProjection<Value = unknown, Required extends boolean = boolean, Name extends string = string, Key extends language.PropertyKey = language.PropertyKey> {
9
+ readonly value: Value;
10
+ readonly required: Required;
11
+ readonly name: Name;
12
+ readonly key: Key;
13
+ }
14
+ export interface MethodProjection<Input = unknown, Output = unknown, Static extends boolean = boolean, Inheritance extends language.MethodInheritance = language.MethodInheritance, Auth extends language.FunctionAuth = language.FunctionAuth, Name extends string = string, Key extends language.MethodKey = language.MethodKey> {
15
+ readonly input: Input;
16
+ readonly output: Output;
17
+ readonly static: Static;
18
+ readonly inheritance: Inheritance;
19
+ readonly auth: Auth;
20
+ readonly name: Name;
21
+ readonly key: Key;
22
+ }
23
+ export interface FunctionProjection<Input = unknown, Output = unknown, Auth extends language.FunctionAuth = language.FunctionAuth, Ref extends language.FunctionRef = language.FunctionRef, Key extends language.DefinitionKey<string, 'function'> = language.DefinitionKey<string, 'function'>> {
24
+ readonly input: Input;
25
+ readonly output: Output;
26
+ readonly auth: Auth;
27
+ readonly ref: Ref;
28
+ readonly key: Key;
29
+ }
30
+ export interface ClassProjection<Kind extends language.ClassKind = language.ClassKind, Definition extends Extract<language.ClassDefinition, {
31
+ readonly kind: Kind;
32
+ }> = Extract<language.ClassDefinition, {
33
+ readonly kind: Kind;
34
+ }>, Ref extends language.ClassRef = language.ClassRef, Key extends language.DefinitionKey<string, 'class'> = language.DefinitionKey<string, 'class'>, Parents extends readonly unknown[] = readonly unknown[], Properties extends PropertyProjection = PropertyProjection, InstanceMethods extends MethodProjection = MethodProjection, StaticMethods extends MethodProjection = MethodProjection, SelfProperties extends PropertyProjection = PropertyProjection, SelfInstanceMethods extends MethodProjection = MethodProjection, SelfStaticMethods extends MethodProjection = MethodProjection> {
35
+ readonly kind: Kind;
36
+ readonly definition: Definition;
37
+ readonly ref: Ref;
38
+ readonly key: Key;
39
+ readonly parents: Parents;
40
+ readonly properties: Properties;
41
+ readonly methods: InstanceMethods;
42
+ readonly staticMethods: StaticMethods;
43
+ readonly selfProperties: SelfProperties;
44
+ readonly selfMethods: SelfInstanceMethods;
45
+ readonly selfStaticMethods: SelfStaticMethods;
46
+ }
47
+ export interface DomainProjection<Classes extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>, Functions extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>, Policies extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>, Views extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>, CoreNodes extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>, Dependencies extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
48
+ readonly classes: Classes;
49
+ readonly functions: Functions;
50
+ readonly policies: Policies;
51
+ readonly views: Views;
52
+ readonly core: CoreNodes;
53
+ readonly dependencies: Dependencies;
54
+ }
55
+ export type ProjectionOfInput<Origin extends string, Input extends DomainSchemaInput> = DomainProjection<{
56
+ readonly [Name in keyof ClassesInputOf<Input>]: ClassProjectionOfAuthoring<Origin, Extract<Name, string>, ClassesInputOf<Input>[Name], Input>;
57
+ }, {
58
+ readonly [Name in keyof FunctionsInputOf<Input>]: FunctionProjectionOfAuthoring<Origin, Extract<Name, string>, FunctionsInputOf<Input>[Name]>;
59
+ }, {
60
+ readonly [Name in keyof PoliciesInputOf<Input>]: language.ResolvedPolicy & {
61
+ readonly ref: language.PolicyRef<Extract<Name, string>> & {
62
+ readonly origin: Origin;
63
+ };
64
+ readonly key: language.DefinitionKey<Origin, 'policy', Extract<Name, string>>;
65
+ };
66
+ }, {
67
+ readonly [Name in keyof ViewsInputOf<Input>]: language.ResolvedView & {
68
+ readonly ref: language.ViewRef<Extract<Name, string>> & {
69
+ readonly origin: Origin;
70
+ };
71
+ readonly key: language.DefinitionKey<Origin, 'view', Extract<Name, string>>;
72
+ };
73
+ }, {
74
+ readonly [Name in keyof CoreNodesInputOf<Input>]: language.ResolvedCoreDefinition & {
75
+ readonly ref: language.CoreRef<Extract<Name, string>> & {
76
+ readonly origin: Origin;
77
+ };
78
+ readonly key: language.DefinitionKey<Origin, 'core', Extract<Name, string>>;
79
+ };
80
+ }, DependencySchemasOf<Input>>;
81
+ export interface DomainOfProjection<Projection extends DomainProjection> extends domain.Domain<{
82
+ readonly [Name in keyof Projection['classes']]: ResolvedClassOfProjection<Extract<Projection['classes'][Name], ClassProjection>>;
83
+ }, {
84
+ readonly [Name in keyof Projection['functions']]: ResolvedFunctionOfProjection<Extract<Projection['functions'][Name], FunctionProjection>>;
85
+ }, Extract<Projection['policies'], Readonly<Record<string, language.ResolvedPolicy>>>, Extract<Projection['views'], Readonly<Record<string, language.ResolvedView>>>, Extract<Projection['core'], Readonly<Record<string, language.ResolvedCoreDefinition>>>, Revision> {
86
+ readonly dependencies: domain.DependencyDomainNamespace<{
87
+ readonly [Alias in keyof Projection['dependencies']]: Projection['dependencies'][Alias] extends infer Dependency extends DomainSchema ? DomainOfSchema<Dependency> : never;
88
+ }>;
89
+ }
90
+ export type ResolvedDomainOfInput<Origin extends string, Input extends DomainSchemaInput> = DomainOfProjection<ProjectionOfInput<Origin, Input>>;
91
+ type DependenciesInputOf<Input extends DomainSchemaInput> = RecordField<Input, 'dependencies'>;
92
+ type DependencySchemasOf<Input extends DomainSchemaInput> = {
93
+ readonly [Alias in keyof DependenciesInputOf<Input>]: DependenciesInputOf<Input>[Alias];
94
+ };
95
+ type EmptyMethodCollection = language.ResolvedMethodCollection<Record<never, never>>;
96
+ type AbstractOf<Config> = Config extends {
97
+ readonly abstract: infer Abstract extends boolean;
98
+ } ? Abstract : false;
99
+ type ConstraintsOf<Options> = Options extends {
100
+ readonly constraints?: infer Constraints;
101
+ } ? NonNullable<Constraints> : Record<never, never>;
102
+ type ProjectedClassDefinition<Origin extends string, Name extends string, Value> = Value extends NodeClass<infer Config> ? language.NodeClassDefinition & {
103
+ readonly ref: language.ClassRef<Name> & {
104
+ readonly origin: Origin;
105
+ };
106
+ readonly kind: 'node';
107
+ readonly abstract: AbstractOf<Config>;
108
+ } : Value extends DirectedEdgeClass<infer Input> ? Input extends {
109
+ readonly source: infer Source extends {
110
+ readonly as: string;
111
+ readonly outgoing: language.EdgeCount;
112
+ };
113
+ readonly target: infer Target extends {
114
+ readonly as: string;
115
+ readonly incoming: language.EdgeCount;
116
+ };
117
+ } ? language.EdgeClassDefinition & {
118
+ readonly ref: language.ClassRef<Name> & {
119
+ readonly origin: Origin;
120
+ };
121
+ readonly kind: 'edge';
122
+ readonly abstract: AbstractOf<Input>;
123
+ readonly orientation: 'directed';
124
+ readonly endpoints: {
125
+ readonly source: language.DirectedSourceEndpoint & {
126
+ readonly role: Source['as'];
127
+ readonly outgoing: Source['outgoing'];
128
+ };
129
+ readonly target: language.DirectedTargetEndpoint & {
130
+ readonly role: Target['as'];
131
+ readonly incoming: Target['incoming'];
132
+ };
133
+ };
134
+ readonly constraints: language.DirectedEdgeConstraints & ConstraintsOf<Input>;
135
+ } : never : Value extends UndirectedEdgeClass<infer Input> ? Input extends {
136
+ readonly endpoints: readonly [
137
+ infer First extends {
138
+ readonly as: string;
139
+ readonly incident: language.EdgeCount;
140
+ },
141
+ infer Second extends {
142
+ readonly as: string;
143
+ readonly incident: language.EdgeCount;
144
+ }
145
+ ];
146
+ } ? language.EdgeClassDefinition & {
147
+ readonly ref: language.ClassRef<Name> & {
148
+ readonly origin: Origin;
149
+ };
150
+ readonly kind: 'edge';
151
+ readonly abstract: AbstractOf<Input>;
152
+ readonly orientation: 'undirected';
153
+ readonly endpoints: readonly [
154
+ language.IncidentEndpoint & {
155
+ readonly role: First['as'];
156
+ readonly incident: First['incident'];
157
+ },
158
+ language.IncidentEndpoint & {
159
+ readonly role: Second['as'];
160
+ readonly incident: Second['incident'];
161
+ }
162
+ ];
163
+ readonly constraints: language.UndirectedEdgeConstraints & ConstraintsOf<Input>;
164
+ } : never : never;
165
+ type RecordField<Value, Key extends PropertyKey> = Key extends keyof Value ? NonNullable<Value[Key]> extends Readonly<Record<string, unknown>> ? NonNullable<Value[Key]> : Record<never, never> : Record<never, never>;
166
+ type ClassesInputOf<Input extends DomainSchemaInput> = RecordField<Input, 'classes'>;
167
+ type FunctionsInputOf<Input extends DomainSchemaInput> = RecordField<Input, 'functions'>;
168
+ type PoliciesInputOf<Input extends DomainSchemaInput> = RecordField<Input, 'policies'>;
169
+ type ViewsInputOf<Input extends DomainSchemaInput> = RecordField<Input, 'views'>;
170
+ type CoreInputOf<Input extends DomainSchemaInput> = Input extends {
171
+ readonly core?: infer CoreValue;
172
+ } ? NonNullable<CoreValue> : Record<never, never>;
173
+ type CoreNodesInputOf<Input extends DomainSchemaInput> = RecordField<CoreInputOf<Input>, 'nodes'>;
174
+ type ResolveLazy<Value, Depth extends readonly unknown[] = []> = Depth['length'] extends 32 ? Value : Value extends () => infer Resolved ? ResolveLazy<Resolved, readonly [...Depth, unknown]> : Value;
175
+ type ClassInputOf<Value> = Value extends NodeClass<infer Input> ? Input : Value extends DirectedEdgeClass<infer Input> ? Input : Value extends UndirectedEdgeClass<infer Input> ? Input : never;
176
+ type ParentInputsOfConfig<Config> = Config extends {
177
+ readonly extends?: infer Parents extends readonly unknown[];
178
+ } ? Parents : readonly [];
179
+ type ParentClassProjectionOf<Origin extends string, Parent, Root extends DomainSchemaInput, Seen> = ResolveLazy<Parent> extends infer Resolved ? Resolved extends ClassReferenceProjection<infer _Kind, infer _Identity, infer _Properties, infer _InstanceMethods, infer _StaticMethods> ? LocalNameOfReference<Root, Resolved> extends infer Name extends string ? Name extends keyof ClassesInputOf<Root> ? ShallowClassProjectionOfAuthoring<Origin, Name, Extract<ClassesInputOf<Root>[Name], Class>, Root> : never : never : Resolved extends ClassProjection ? Resolved : Resolved extends language.AnyResolvedClass ? ClassProjectionOfResolved<ExactClass<Resolved>> : LocalNameOf<Root, Resolved> extends infer Name extends string ? Resolved extends Seen ? never : ClassProjectionOfAuthoring<Origin, Name, Resolved, Root, Seen | Resolved> : never : never;
180
+ type ParentClassProjectionTuple<Origin extends string, Parents extends readonly unknown[], Root extends DomainSchemaInput, Seen> = Parents extends readonly [] ? readonly [] : Parents extends readonly [infer Parent, ...infer Rest] ? readonly [
181
+ ParentClassProjectionOf<Origin, Parent, Root, Seen>,
182
+ ...ParentClassProjectionTuple<Origin, Rest, Root, Seen>
183
+ ] : readonly ParentClassProjectionOf<Origin, Parents[number], Root, Seen>[];
184
+ type Same<Left, Right> = [Left] extends [Right] ? ([Right] extends [Left] ? true : false) : false;
185
+ type LocalNameOf<Root extends DomainSchemaInput, Value> = {
186
+ [Name in keyof ClassesInputOf<Root>]: Same<ClassesInputOf<Root>[Name], Value> extends true ? Name : never;
187
+ }[keyof ClassesInputOf<Root>];
188
+ type LocalNameOfReference<Root extends DomainSchemaInput, Value> = {
189
+ [Name in keyof ClassesInputOf<Root>]: Value extends ClassReferenceProjection<'node' | 'edge', unknown, unknown, unknown, unknown> ? Same<ClassReferenceProjectionOf<Extract<ClassesInputOf<Root>[Name], Class>>, Value> extends true ? Name : never : never;
190
+ }[keyof ClassesInputOf<Root>];
191
+ type LocalNameOfIdentity<Root extends DomainSchemaInput, Value> = {
192
+ [Name in keyof ClassesInputOf<Root>]: Same<ClassIdentityProjectionOf<Extract<ClassesInputOf<Root>[Name], Class>>, Value> extends true ? Name : never;
193
+ }[keyof ClassesInputOf<Root>];
194
+ type LocalNameOfOwner<Root extends DomainSchemaInput, Value> = {
195
+ [Name in keyof ClassesInputOf<Root>]: Same<ClassOwnerProjectionOf<Extract<ClassesInputOf<Root>[Name], Class>>, Value> extends true ? Name : never;
196
+ }[keyof ClassesInputOf<Root>];
197
+ type PropertyFieldsOf<Value> = RecordField<ClassInputOf<Value>, 'properties'>;
198
+ interface AuthoredPropertyEntry<Owner, Name extends string, Field> {
199
+ readonly owner: Owner;
200
+ readonly name: Name;
201
+ readonly field: Field;
202
+ }
203
+ type OwnPropertyEntries<Value> = {
204
+ [Name in keyof PropertyFieldsOf<Value>]: AuthoredPropertyEntry<Value, Extract<Name, string>, PropertyFieldsOf<Value>[Name]>;
205
+ }[keyof PropertyFieldsOf<Value>];
206
+ export type CoreNamedPropertyInput<ClassValue> = ResolveLazy<ClassValue> extends infer Resolved ? Resolved extends Class ? CorePropertyInputFromAuthoredProjections<EffectivePropertyProjectionsOfClass<Resolved>> : Resolved extends language.ResolvedClass ? language.PropertyInputOf<Resolved> : never : never;
207
+ export type CorePropertyInput<ClassValue> = CoreNamedPropertyInput<ClassValue> | Readonly<Record<language.PropertyKey, language.PropertyValue>>;
208
+ type EffectivePropertyProjectionsOfClass<Value extends Class> = ClassInputOf<Value> extends {
209
+ readonly effectiveProperties: infer Properties;
210
+ } ? Properties : never;
211
+ type AuthoredProjectionName<Entry> = Entry extends AuthoredPropertyProjection<unknown, unknown, boolean, infer Name> ? Name : never;
212
+ type AuthoredProjectionInput<Entry> = Entry extends AuthoredPropertyProjection<infer Input, unknown, boolean, string> ? Input : never;
213
+ type AuthoredProjectionRequired<Entry> = Entry extends AuthoredPropertyProjection<unknown, unknown, infer Required, string> ? Required : false;
214
+ type UniqueAuthoredProjections<Entries> = Entries extends unknown ? IsMultiple<Extract<Entries, {
215
+ readonly name: AuthoredProjectionName<Entries>;
216
+ }>> extends true ? never : Entries : never;
217
+ type RequiredAuthoredPropertyNames<Entries> = UniqueAuthoredProjections<Entries> extends infer Entry ? Entry extends unknown ? AuthoredProjectionRequired<Entry> extends true ? AuthoredProjectionName<Entry> : never : never : never;
218
+ type OptionalAuthoredPropertyNames<Entries> = Exclude<AuthoredProjectionName<UniqueAuthoredProjections<Entries>>, RequiredAuthoredPropertyNames<Entries>>;
219
+ type CorePropertyInputFromAuthoredProjections<Entries> = Readonly<{
220
+ [Name in RequiredAuthoredPropertyNames<Entries>]: AuthoredProjectionInput<Extract<UniqueAuthoredProjections<Entries>, {
221
+ readonly name: Name;
222
+ }>>;
223
+ } & {
224
+ [Name in OptionalAuthoredPropertyNames<Entries>]?: AuthoredProjectionInput<Extract<UniqueAuthoredProjections<Entries>, {
225
+ readonly name: Name;
226
+ }>>;
227
+ }>;
228
+ type UnionIsMultiple<Value, Whole = Value> = Value extends unknown ? [Whole] extends [Value] ? false : true : never;
229
+ type IsMultiple<Value> = true extends UnionIsMultiple<Value> ? true : false;
230
+ type PropertyCollectionOperation = 'byKey' | 'get' | 'from';
231
+ type MethodFieldsOf<Value> = RecordField<ClassInputOf<Value>, 'methods'>;
232
+ interface AuthoredMethodEntry<Owner, Name extends string, Value extends Method> {
233
+ readonly owner: Owner;
234
+ readonly name: Name;
235
+ readonly value: Value;
236
+ }
237
+ type OwnMethodEntries<Value, Static extends boolean> = {
238
+ [Name in keyof MethodFieldsOf<Value>]: MethodFieldsOf<Value>[Name] extends infer MethodValue extends Method ? CallableConfig<MethodValue> extends {
239
+ readonly static: true;
240
+ } ? Static extends true ? AuthoredMethodEntry<Value, Extract<Name, string>, MethodValue> : never : Static extends false ? AuthoredMethodEntry<Value, Extract<Name, string>, MethodValue> : never : never;
241
+ }[keyof MethodFieldsOf<Value>];
242
+ type CallableConfig<Value> = Value extends Method<infer Config> ? Config extends CallableProjection ? Config : never : Value extends Function<infer Config> ? Config extends CallableProjection ? Config : never : never;
243
+ type CallableInputValue<Value extends Method | Function> = CallableConfig<Value>['input'];
244
+ type CallableOutputValue<Value extends Method | Function> = CallableConfig<Value>['output'];
245
+ type CallableStaticOf<Value extends Method> = CallableConfig<Value> extends {
246
+ readonly static: true;
247
+ } ? true : false;
248
+ type CallableInheritanceOf<Value extends Method> = CallableConfig<Value> extends {
249
+ readonly inheritance: infer Inheritance extends language.MethodInheritance;
250
+ } ? Inheritance : 'default';
251
+ type CallableAuthOf<Value extends Method | Function> = CallableConfig<Value>['auth'];
252
+ type MethodProjectionOfEntry<Origin extends string, OwnerName extends string, Entry> = Entry extends language.ResolvedMethod ? MethodProjectionOfResolved<Entry> : Entry extends AuthoredMethodEntry<unknown, infer Name, infer Value> ? MethodProjection<CallableInputValue<Value>, CallableOutputValue<Value>, CallableStaticOf<Value>, CallableInheritanceOf<Value>, CallableAuthOf<Value>, Name, language.MethodKey<Origin, OwnerName, Name>> : never;
253
+ type MethodProjectionOfEntries<Origin extends string, OwnerName extends string, Entries> = Entries extends unknown ? MethodProjectionOfEntry<Origin, OwnerName, Entries> : never;
254
+ type MethodCollectionOperation = 'byKey' | 'get';
255
+ type PropertyProjectionOfResolved<Value> = Value extends language.ResolvedProperty<infer PropertyValue, infer Required> & {
256
+ readonly name: infer Name extends string;
257
+ readonly key: infer Key extends language.PropertyKey;
258
+ } ? PropertyProjection<PropertyValue, Required, Name, Key> : never;
259
+ type MethodProjectionOfResolved<Value> = Value extends language.ResolvedMethod<infer Input, infer Output, infer Static, infer Inheritance, infer Auth, infer _Policy, infer Key> & {
260
+ readonly name: infer Name extends string;
261
+ } ? MethodProjection<Input, Output, Static, Inheritance, Auth, Name, Key> : never;
262
+ type PropertiesOfCollection<Value> = Value extends {
263
+ readonly byKey: infer ByKey extends Readonly<Record<language.PropertyKey, language.ResolvedProperty<unknown, boolean>>>;
264
+ } ? PropertyProjectionOfResolved<ByKey[keyof ByKey]> : never;
265
+ type MethodsOfCollection<Value> = Value extends {
266
+ readonly byKey: infer ByKey extends Readonly<Record<language.MethodKey, language.ResolvedMethod>>;
267
+ } ? MethodProjectionOfResolved<ByKey[keyof ByKey]> : never;
268
+ export type ClassProjectionOfResolved<Value> = Value extends language.AnyResolvedClass & {
269
+ readonly ref: infer Ref extends language.ClassRef;
270
+ readonly key: infer Key extends language.DefinitionKey<string, 'class'>;
271
+ } ? ClassProjection<Value['kind'], Extract<Value['definition'], Extract<language.ClassDefinition, {
272
+ readonly kind: Value['kind'];
273
+ }>>, Ref, Key, ShallowClassProjectionTupleOfResolved<Value['extends']>, PropertiesOfCollection<Value['properties']>, MethodsOfCollection<Value['methods']>, MethodsOfCollection<Value['static']['methods']>, PropertiesOfCollection<Value['self']['properties']>, MethodsOfCollection<Value['self']['methods']>, MethodsOfCollection<Value['self']['static']['methods']>> : never;
274
+ type ShallowClassProjectionOfResolved<Value> = Value extends language.AnyResolvedClass & {
275
+ readonly ref: infer Ref extends language.ClassRef;
276
+ readonly key: infer Key extends language.DefinitionKey<string, 'class'>;
277
+ } ? ClassProjection<Value['kind'], Extract<Value['definition'], Extract<language.ClassDefinition, {
278
+ readonly kind: Value['kind'];
279
+ }>>, Ref, Key, readonly language.AnyResolvedClass[], PropertiesOfCollection<Value['properties']>, MethodsOfCollection<Value['methods']>, MethodsOfCollection<Value['static']['methods']>, PropertiesOfCollection<Value['self']['properties']>, MethodsOfCollection<Value['self']['methods']>, MethodsOfCollection<Value['self']['static']['methods']>> : never;
280
+ type ShallowClassProjectionTupleOfResolved<Parents extends readonly unknown[]> = Parents extends readonly [] ? readonly [] : Parents extends readonly [infer Parent, ...infer Rest] ? readonly [
281
+ ShallowClassProjectionOfResolved<ExactClass<Parent>>,
282
+ ...ShallowClassProjectionTupleOfResolved<Rest>
283
+ ] : readonly ShallowClassProjectionOfResolved<ExactClass<Parents[number]>>[];
284
+ type ExactClass<Value> = Value extends {
285
+ readonly key: infer Key extends language.DefinitionKey<string, 'class'>;
286
+ } ? Key extends `${infer Origin}:class.${infer Name}` ? string extends Origin ? never : string extends Name ? never : Value : never : never;
287
+ type OwnPropertyProjectionsOf<Origin extends string, Name extends string, Value> = OwnPropertyEntries<Value> extends infer Entry ? Entry extends AuthoredPropertyEntry<unknown, infer PropertyName, infer Field> ? Field extends AuthoredPropertyProjection<unknown, infer Output, infer Required> ? PropertyProjection<Output, Required, PropertyName, language.PropertyKey<Origin, Name, PropertyName>> : never : never : never;
288
+ type EffectivePropertyEntriesOfClass<Value> = ClassInputOf<Value> extends {
289
+ readonly effectiveProperties: infer Properties;
290
+ } ? Properties : never;
291
+ type OwnerNameOf<Root extends DomainSchemaInput, CurrentName extends string, Owner> = Owner extends 'self' ? CurrentName : Owner extends ClassOwnerProjection ? Extract<LocalNameOfOwner<Root, Owner>, string> : Owner extends ClassIdentityProjection ? Extract<LocalNameOfIdentity<Root, Owner>, string> : never;
292
+ type EffectivePropertyProjectionOfEntry<Origin extends string, CurrentName extends string, Root extends DomainSchemaInput, Entry> = Entry extends language.ResolvedProperty ? PropertyProjectionOfResolved<Entry> : Entry extends AuthoredPropertyProjection<unknown, infer Output, infer Required, infer PropertyName, infer Owner> ? OwnerNameOf<Root, CurrentName, Owner> extends infer OwnerName extends string ? PropertyProjection<Output, Required, PropertyName, language.PropertyKey<Origin, OwnerName, PropertyName>> : never : never;
293
+ type EffectivePropertyProjectionsOf<Origin extends string, Name extends string, Value, Root extends DomainSchemaInput> = EffectivePropertyEntriesOfClass<Value> extends infer Entry ? Entry extends unknown ? EffectivePropertyProjectionOfEntry<Origin, Name, Root, Entry> : never : never;
294
+ type OwnInstanceMethodProjectionsOf<Origin extends string, Name extends string, Value> = MethodProjectionOfEntries<Origin, Name, OwnMethodEntries<Value, false>>;
295
+ type OwnStaticMethodProjectionsOf<Origin extends string, Name extends string, Value> = MethodProjectionOfEntries<Origin, Name, OwnMethodEntries<Value, true>>;
296
+ type EffectiveMethodEntriesOfClass<Value, Static extends boolean> = ClassInputOf<Value> extends {
297
+ readonly effectiveInstanceMethods: infer InstanceMethods;
298
+ readonly effectiveStaticMethods: infer StaticMethods;
299
+ } ? Static extends true ? StaticMethods : InstanceMethods : never;
300
+ type EffectiveMethodProjectionOfEntry<Origin extends string, CurrentName extends string, Root extends DomainSchemaInput, Entry> = Entry extends language.ResolvedMethod ? MethodProjectionOfResolved<Entry> : Entry extends AuthoredMethodProjection<infer Value, infer MethodName, infer Owner> ? OwnerNameOf<Root, CurrentName, Owner> extends infer OwnerName extends string ? MethodProjection<CallableInputValue<Value>, CallableOutputValue<Value>, CallableStaticOf<Value>, CallableInheritanceOf<Value>, CallableAuthOf<Value>, MethodName, language.MethodKey<Origin, OwnerName, MethodName>> : never : never;
301
+ type EffectiveMethodProjectionsOf<Origin extends string, Name extends string, Value, Root extends DomainSchemaInput, Static extends boolean> = EffectiveMethodEntriesOfClass<Value, Static> extends infer Entry ? Entry extends unknown ? EffectiveMethodProjectionOfEntry<Origin, Name, Root, Entry> : never : never;
302
+ type ShallowClassProjectionOfAuthoring<Origin extends string, Name extends string, Value, Root extends DomainSchemaInput> = Value extends NodeClass<infer _Config> ? ClassProjection<'node', Extract<ProjectedClassDefinition<Origin, Name, Value>, language.NodeClassDefinition>, language.ClassRef<Name> & {
303
+ readonly origin: Origin;
304
+ }, language.DefinitionKey<Origin, 'class', Name>, readonly language.AnyResolvedClass[], EffectivePropertyProjectionsOf<Origin, Name, Value, Root>, EffectiveMethodProjectionsOf<Origin, Name, Value, Root, false>, EffectiveMethodProjectionsOf<Origin, Name, Value, Root, true>, OwnPropertyProjectionsOf<Origin, Name, Value>, OwnInstanceMethodProjectionsOf<Origin, Name, Value>, OwnStaticMethodProjectionsOf<Origin, Name, Value>> : Value extends DirectedEdgeClass | UndirectedEdgeClass ? ClassProjection<'edge', Extract<ProjectedClassDefinition<Origin, Name, Value>, language.EdgeClassDefinition>, language.ClassRef<Name> & {
305
+ readonly origin: Origin;
306
+ }, language.DefinitionKey<Origin, 'class', Name>, readonly language.AnyResolvedClass[], EffectivePropertyProjectionsOf<Origin, Name, Value, Root>, never, never, OwnPropertyProjectionsOf<Origin, Name, Value>, never, never> : never;
307
+ type ClassProjectionOfAuthoring<Origin extends string, Name extends string, Value, Root extends DomainSchemaInput, Seen = Value> = Value extends NodeClass ? ClassProjection<'node', Extract<ProjectedClassDefinition<Origin, Name, Value>, language.NodeClassDefinition>, language.ClassRef<Name> & {
308
+ readonly origin: Origin;
309
+ }, language.DefinitionKey<Origin, 'class', Name>, ParentClassProjectionTuple<Origin, ParentInputsOfConfig<ProjectionOfClass<Extract<Value, Class>>>, Root, Seen>, EffectivePropertyProjectionsOf<Origin, Name, Value, Root>, EffectiveMethodProjectionsOf<Origin, Name, Value, Root, false>, EffectiveMethodProjectionsOf<Origin, Name, Value, Root, true>, OwnPropertyProjectionsOf<Origin, Name, Value>, OwnInstanceMethodProjectionsOf<Origin, Name, Value>, OwnStaticMethodProjectionsOf<Origin, Name, Value>> : Value extends DirectedEdgeClass | UndirectedEdgeClass ? ClassProjection<'edge', Extract<ProjectedClassDefinition<Origin, Name, Value>, language.EdgeClassDefinition>, language.ClassRef<Name> & {
310
+ readonly origin: Origin;
311
+ }, language.DefinitionKey<Origin, 'class', Name>, ParentClassProjectionTuple<Origin, ParentInputsOfConfig<ProjectionOfClass<Extract<Value, Class>>>, Root, Seen>, EffectivePropertyProjectionsOf<Origin, Name, Value, Root>, never, never, OwnPropertyProjectionsOf<Origin, Name, Value>, never, never> : never;
312
+ type FunctionProjectionOfAuthoring<Origin extends string, Name extends string, Value> = Value extends Function ? FunctionProjection<CallableInputValue<Value>, CallableOutputValue<Value>, CallableAuthOf<Value>, language.FunctionRef<Name> & {
313
+ readonly origin: Origin;
314
+ }, language.DefinitionKey<Origin, 'function', Name>> : never;
315
+ type ResolvedPropertyOfProjection<Value> = Value extends PropertyProjection<infer PropertyValue, infer Required, infer Name, infer Key> ? language.ResolvedProperty<PropertyValue, Required> & {
316
+ readonly name: Name;
317
+ readonly key: Key;
318
+ } : never;
319
+ type ProjectionPropertyByKey<Entries extends PropertyProjection> = Readonly<{
320
+ [Key in Entries['key']]: ResolvedPropertyOfProjection<Extract<Entries, {
321
+ readonly key: Key;
322
+ }>>;
323
+ }>;
324
+ type ProjectionPropertyByName<Entries extends PropertyProjection> = Readonly<{
325
+ [Name in Entries['name'] as IsMultiple<Extract<Entries, {
326
+ readonly name: Name;
327
+ }>> extends true ? never : Name extends PropertyCollectionOperation ? never : Name]: ResolvedPropertyOfProjection<Extract<Entries, {
328
+ readonly name: Name;
329
+ }>>;
330
+ }>;
331
+ type PropertyCollectionOfProjection<Entries extends PropertyProjection> = language.ResolvedPropertyCollection<ProjectionPropertyByKey<Entries>, ProjectionPropertyByName<Entries>>;
332
+ type ResolvedMethodOfProjection<Value> = Value extends MethodProjection<infer Input, infer Output, infer Static, infer Inheritance, infer Auth, infer Name, infer Key> ? language.ResolvedMethod<Input, Output, Static, Inheritance, Auth, language.PolicyCheckExpression, Key> & {
333
+ readonly name: Name;
334
+ } : never;
335
+ type ProjectionMethodByKey<Entries extends MethodProjection> = Readonly<{
336
+ [Key in Entries['key']]: ResolvedMethodOfProjection<Extract<Entries, {
337
+ readonly key: Key;
338
+ }>>;
339
+ }>;
340
+ type ProjectionMethodByName<Entries extends MethodProjection> = Readonly<{
341
+ [Name in Entries['name'] as Name extends MethodCollectionOperation ? never : Name]: ResolvedMethodOfProjection<Extract<Entries, {
342
+ readonly name: Name;
343
+ }>>;
344
+ }>;
345
+ type MethodCollectionOfProjection<Entries extends MethodProjection> = language.ResolvedMethodCollection<ProjectionMethodByKey<Entries>, ProjectionMethodByName<Entries>>;
346
+ type ResolvedParentTupleOfProjection<Parents extends readonly unknown[]> = Parents extends readonly [] ? readonly [] : Parents extends readonly [infer Parent, ...infer Rest] ? readonly [
347
+ Parent extends ClassProjection ? ResolvedClassOfProjection<Parent> : Extract<Parent, language.AnyResolvedClass>,
348
+ ...ResolvedParentTupleOfProjection<Rest>
349
+ ] : readonly (Parents[number] extends ClassProjection ? ResolvedClassOfProjection<Parents[number]> : Extract<Parents[number], language.AnyResolvedClass>)[];
350
+ export type ResolvedClassOfProjection<Value extends ClassProjection> = Value extends ClassProjection<infer Kind, infer Definition, infer Ref, infer Key, infer Parents, infer Properties, infer InstanceMethods, infer StaticMethods, infer SelfProperties, infer SelfInstanceMethods, infer SelfStaticMethods> ? Key extends `${infer Origin}:class.${infer Name}` ? string extends Origin ? language.AnyResolvedClass : string extends Name ? language.AnyResolvedClass : ResolvedClassWithKind<Kind, Definition, Ref, Key, Parents, SelfProperties, SelfInstanceMethods, SelfStaticMethods, Properties, InstanceMethods, StaticMethods> : language.AnyResolvedClass : language.AnyResolvedClass;
351
+ type ResolvedClassWithKind<Kind extends language.ClassKind, Definition extends Extract<language.ClassDefinition, {
352
+ readonly kind: Kind;
353
+ }>, Ref extends language.ClassRef, Key extends language.DefinitionKey<string, 'class'>, Parents extends readonly unknown[], SelfProperties extends PropertyProjection, SelfInstanceMethods extends MethodProjection, SelfStaticMethods extends MethodProjection, Properties extends PropertyProjection, InstanceMethods extends MethodProjection, StaticMethods extends MethodProjection> = Kind extends 'node' ? language.ResolvedClass<'node', PropertyCollectionOfProjection<Properties>, MethodCollectionOfProjection<InstanceMethods>, MethodCollectionOfProjection<StaticMethods>, PropertyCollectionOfProjection<SelfProperties>, MethodCollectionOfProjection<SelfInstanceMethods>, MethodCollectionOfProjection<SelfStaticMethods>, Extract<Definition, language.NodeClassDefinition>, ResolvedParentTupleOfProjection<Parents>> & {
354
+ readonly ref: Ref;
355
+ readonly key: Key;
356
+ } : Kind extends 'edge' ? language.ResolvedClass<'edge', PropertyCollectionOfProjection<Properties>, EmptyMethodCollection, EmptyMethodCollection, PropertyCollectionOfProjection<SelfProperties>, EmptyMethodCollection, EmptyMethodCollection, Extract<Definition, language.EdgeClassDefinition>, ResolvedParentTupleOfProjection<Parents>> & {
357
+ readonly ref: Ref;
358
+ readonly key: Key;
359
+ } : never;
360
+ type ResolvedFunctionOfProjection<Value extends FunctionProjection> = Value extends FunctionProjection<infer Input, infer Output, infer Auth, infer Ref, infer Key> ? language.ResolvedFunction<Input, Output, Auth, language.PolicyCheckExpression> & {
361
+ readonly ref: Ref;
362
+ readonly key: Key;
363
+ } : never;
364
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { type FullMatch } from '../../language/value/syntax/full-match.js';
2
+ export { fullMatchSource, type FullMatch } from '../../language/value/syntax/full-match.js';
3
+ /** Authoring facade preserving the Builder-owned diagnostic for invalid source syntax. */
4
+ export declare function fullMatch(source: string): FullMatch;
@@ -0,0 +1,11 @@
1
+ import { isIRegexp } from '../../language/value/regexp/syntax.js';
2
+ import { fullMatch as languageFullMatch, } from '../../language/value/syntax/full-match.js';
3
+ import { fail } from '../schema/diagnostic.js';
4
+ export { fullMatchSource } from '../../language/value/syntax/full-match.js';
5
+ /** Authoring facade preserving the Builder-owned diagnostic for invalid source syntax. */
6
+ export function fullMatch(source) {
7
+ if (!isIRegexp(source)) {
8
+ fail('BUILDER_FULL_MATCH_INVALID', '/fullMatch', 'fullMatch(...) requires a complete RFC 9485 I-Regexp source.');
9
+ }
10
+ return languageFullMatch(source);
11
+ }
@@ -0,0 +1,4 @@
1
+ import type { z } from 'zod';
2
+ import type { NodeClassReferenceInput } from '../class/authoring.js';
3
+ export declare function rememberPath(schema: z.ZodType, accepts: readonly NodeClassReferenceInput[]): void;
4
+ export declare function pathAccepts(schema: z.ZodType): readonly NodeClassReferenceInput[] | undefined;
@@ -5,4 +5,3 @@ export function rememberPath(schema, accepts) {
5
5
  export function pathAccepts(schema) {
6
6
  return pathInputs.get(schema);
7
7
  }
8
- //# sourceMappingURL=path.metadata.js.map
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ import type { NodeClassReferenceInput } from '../class/authoring.js';
3
+ declare const PATH_ACCEPTS: unique symbol;
4
+ export type PathAuthoring<Accepts extends readonly NodeClassReferenceInput[] = readonly NodeClassReferenceInput[]> = z.ZodString & {
5
+ readonly [PATH_ACCEPTS]: Accepts;
6
+ };
7
+ export declare function path<const Accepts extends readonly NodeClassReferenceInput[]>(...accepts: Accepts): PathAuthoring<Accepts>;
8
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { fail } from './internal/diagnostic.js';
3
- import { rememberPath } from './internal/path.metadata.js';
2
+ import { fail } from '../schema/diagnostic.js';
3
+ import { rememberPath } from './path-metadata.js';
4
4
  export function path(...accepts) {
5
5
  if (accepts.length === 0) {
6
6
  fail('BUILDER_PATH_EMPTY', '', 'path(...) requires at least one Node Definition.');
@@ -9,4 +9,3 @@ export function path(...accepts) {
9
9
  rememberPath(schema, accepts);
10
10
  return schema;
11
11
  }
12
- //# sourceMappingURL=path.js.map