@astrale-os/kernel-dsl 0.2.0-beta.5 → 0.2.0-beta.7
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.
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/upgrade/contract.d.ts +0 -1
- package/dist/upgrade/contract.js +0 -1
- package/dist/upgrade/index.d.ts +0 -1
- package/dist/upgrade/index.js +0 -1
- package/dist/v1/addressing/class-key.d.ts +12 -0
- package/dist/v1/addressing/class-key.js +39 -0
- package/dist/v1/addressing/definition-ref.d.ts +28 -0
- package/dist/v1/addressing/definition-ref.js +63 -0
- package/dist/v1/addressing/domain-dependency.d.ts +8 -0
- package/dist/v1/addressing/domain-dependency.js +1 -0
- package/dist/v1/addressing/index.d.ts +10 -4
- package/dist/v1/addressing/index.js +5 -3
- package/dist/v1/addressing/key.d.ts +14 -16
- package/dist/v1/addressing/key.js +24 -34
- package/dist/v1/addressing/method-address.d.ts +9 -0
- package/dist/v1/addressing/method-address.js +1 -0
- package/dist/v1/addressing/method-key.d.ts +15 -0
- package/dist/v1/addressing/method-key.js +60 -0
- package/dist/v1/addressing/ordering.d.ts +6 -0
- package/dist/v1/addressing/ordering.js +20 -0
- package/dist/v1/addressing/patterns.d.ts +8 -3
- package/dist/v1/addressing/patterns.js +7 -2
- package/dist/v1/addressing/property-key.d.ts +10 -15
- package/dist/v1/addressing/property-key.js +24 -15
- package/dist/v1/addressing/revision.d.ts +8 -0
- package/dist/v1/addressing/revision.js +8 -0
- package/dist/v1/builder/{callable.d.ts → callable/authoring.d.ts} +28 -14
- package/dist/v1/builder/{callable.js → callable/authoring.js} +23 -5
- package/dist/v1/builder/class/authoring.d.ts +128 -0
- package/dist/v1/builder/class/authoring.js +135 -0
- package/dist/v1/builder/class/property.d.ts +52 -0
- package/dist/v1/builder/class/property.js +49 -0
- package/dist/v1/builder/core/authoring.d.ts +32 -0
- package/dist/v1/builder/{core.js → core/authoring.js} +5 -7
- package/dist/v1/builder/index.d.ts +25 -22
- package/dist/v1/builder/index.js +11 -11
- package/dist/v1/builder/lowering/callable.d.ts +24 -0
- package/dist/v1/builder/{compiler → lowering}/callable.js +11 -14
- package/dist/v1/builder/lowering/class.d.ts +22 -0
- package/dist/v1/builder/lowering/class.js +129 -0
- package/dist/v1/builder/lowering/core-properties.d.ts +10 -0
- package/dist/v1/builder/{compiler/core.properties.js → lowering/core-properties.js} +14 -8
- package/dist/v1/builder/lowering/core.d.ts +22 -0
- package/dist/v1/builder/{compiler → lowering}/core.js +9 -6
- package/dist/v1/builder/lowering/policy.d.ts +16 -0
- package/dist/v1/builder/{compiler → lowering}/policy.js +19 -14
- package/dist/v1/builder/{compiler/schema.capture.d.ts → lowering/schema/capture.d.ts} +2 -3
- package/dist/v1/builder/lowering/schema/capture.js +70 -0
- package/dist/v1/builder/{compiler/schema.d.ts → lowering/schema/compile.d.ts} +4 -4
- package/dist/v1/builder/{compiler/schema.js → lowering/schema/compile.js} +32 -42
- package/dist/v1/builder/lowering/schema/context.d.ts +46 -0
- package/dist/v1/builder/{compiler/schema.context.js → lowering/schema/context.js} +47 -60
- package/dist/v1/builder/{compiler/schema.ownership.d.ts → lowering/schema/ownership.d.ts} +1 -2
- package/dist/v1/builder/{compiler/schema.ownership.js → lowering/schema/ownership.js} +1 -2
- package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
- package/dist/v1/builder/{compiler/value.js → lowering/value/compile.js} +34 -58
- package/dist/v1/builder/lowering/value/path.d.ts +3 -0
- package/dist/v1/builder/{compiler/value.path.js → lowering/value/path.js} +1 -2
- package/dist/v1/builder/{compiler/value.zod.d.ts → lowering/value/zod.d.ts} +4 -5
- package/dist/v1/builder/{compiler/value.zod.js → lowering/value/zod.js} +5 -6
- package/dist/v1/builder/lowering/view.d.ts +11 -0
- package/dist/v1/builder/{compiler → lowering}/view.js +7 -6
- package/dist/v1/builder/{policy.d.ts → policy/authoring.d.ts} +19 -17
- package/dist/v1/builder/{policy.js → policy/authoring.js} +23 -12
- package/dist/v1/builder/schema/define.d.ts +10 -0
- package/dist/v1/builder/{schema.js → schema/define.js} +1 -2
- package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
- package/dist/v1/builder/schema/diagnostic.js +31 -0
- package/dist/v1/builder/{internal/authoring.d.ts → schema/handle.d.ts} +1 -2
- package/dist/v1/builder/{internal/authoring.js → schema/handle.js} +0 -1
- package/dist/v1/builder/schema/input.d.ts +15 -0
- package/dist/v1/builder/schema/input.js +1 -0
- package/dist/v1/builder/{internal/authoring.lazy.d.ts → schema/lazy.d.ts} +0 -1
- package/dist/v1/builder/{internal/authoring.lazy.js → schema/lazy.js} +0 -1
- package/dist/v1/builder/schema/projection.d.ts +247 -0
- package/dist/v1/builder/schema/projection.js +1 -0
- package/dist/v1/builder/value/full-match.d.ts +4 -0
- package/dist/v1/builder/value/full-match.js +11 -0
- package/dist/v1/builder/value/path-metadata.d.ts +4 -0
- package/dist/v1/builder/{internal/path.metadata.js → value/path-metadata.js} +0 -1
- package/dist/v1/builder/value/path.d.ts +8 -0
- package/dist/v1/builder/{path.js → value/path.js} +2 -3
- package/dist/v1/builder/{value-schema.d.ts → value/schema.d.ts} +2 -3
- package/dist/v1/builder/{value-schema.js → value/schema.js} +0 -1
- package/dist/v1/builder/view/authoring.d.ts +21 -0
- package/dist/v1/builder/view/authoring.js +11 -0
- package/dist/v1/bundle/codec.d.ts +0 -1
- package/dist/v1/bundle/codec.js +13 -13
- package/dist/v1/bundle/create.d.ts +3 -0
- package/dist/v1/bundle/create.js +5 -0
- package/dist/v1/bundle/diagnostic.d.ts +10 -0
- package/dist/v1/bundle/diagnostic.js +17 -0
- package/dist/v1/bundle/index.d.ts +3 -2
- package/dist/v1/bundle/index.js +2 -2
- package/dist/v1/bundle/model.d.ts +1 -4
- package/dist/v1/bundle/model.js +0 -6
- package/dist/v1/bundle/structure.d.ts +1 -2
- package/dist/v1/bundle/structure.js +6 -6
- package/dist/v1/bundle/transport.d.ts +8 -0
- package/dist/v1/bundle/transport.js +7 -0
- package/dist/v1/compiled/admission/accept.d.ts +3 -0
- package/dist/v1/compiled/admission/accept.js +840 -0
- package/dist/v1/compiled/admission/revision.d.ts +4 -0
- package/dist/v1/compiled/admission/revision.js +73 -0
- package/dist/v1/compiled/admission/semantics.d.ts +7 -0
- package/dist/v1/compiled/admission/semantics.js +1091 -0
- package/dist/v1/compiled/codec/json.d.ts +3 -0
- package/dist/v1/compiled/codec/json.js +9 -0
- package/dist/v1/compiled/compiler/compile.d.ts +4 -0
- package/dist/v1/compiled/compiler/compile.js +113 -0
- package/dist/v1/compiled/diagnostic.d.ts +11 -0
- package/dist/v1/compiled/diagnostic.js +13 -0
- package/dist/v1/compiled/index.d.ts +7 -0
- package/dist/v1/compiled/index.js +5 -0
- package/dist/v1/compiled/loader/index.d.ts +1 -0
- package/dist/v1/compiled/loader/index.js +1 -0
- package/dist/v1/compiled/loader/load.d.ts +4 -0
- package/dist/v1/compiled/loader/load.js +139 -0
- package/dist/v1/compiled/model/schema.d.ts +73 -0
- package/dist/v1/compiled/model/schema.js +1 -0
- package/dist/v1/domain/create.d.ts +8 -0
- package/dist/v1/domain/create.js +192 -0
- package/dist/v1/domain/index.d.ts +2 -0
- package/dist/v1/domain/index.js +1 -0
- package/dist/v1/domain/model/domain.d.ts +53 -0
- package/dist/v1/domain/model/domain.js +1 -0
- package/dist/v1/domain/model/input.d.ts +27 -0
- package/dist/v1/domain/model/input.js +1 -0
- package/dist/v1/domain/namespace/member-collection.d.ts +5 -0
- package/dist/v1/domain/namespace/member-collection.js +81 -0
- package/dist/v1/domain/projection/classes.d.ts +4 -0
- package/dist/v1/domain/projection/classes.js +200 -0
- package/dist/v1/domain/validation/create.d.ts +18 -0
- package/dist/v1/domain/validation/create.js +75 -0
- package/dist/v1/index.d.ts +12 -5
- package/dist/v1/index.js +5 -3
- package/dist/v1/language/callable/index.d.ts +2 -0
- package/dist/v1/language/callable/index.js +1 -0
- package/dist/v1/language/callable/model/callable.d.ts +33 -0
- package/dist/v1/language/callable/model/callable.js +1 -0
- package/dist/v1/language/callable/resolved.d.ts +68 -0
- package/dist/v1/language/callable/resolved.js +1 -0
- package/dist/v1/language/class/facets.d.ts +58 -0
- package/dist/v1/language/class/facets.js +1 -0
- package/dist/v1/language/class/index.d.ts +8 -0
- package/dist/v1/language/class/index.js +1 -0
- package/dist/v1/language/class/model/class.d.ts +36 -0
- package/dist/v1/language/class/model/class.js +1 -0
- package/dist/v1/{schema/definition → language/class/model}/data.d.ts +2 -3
- package/dist/v1/{schema/definition → language/class/model}/data.js +0 -1
- package/dist/v1/{schema/definition → language/class/model}/edge.d.ts +9 -6
- package/dist/v1/language/class/model/edge.js +1 -0
- package/dist/v1/{schema/definition → language/class/model}/property.d.ts +6 -6
- package/dist/v1/language/class/model/property.js +1 -0
- package/dist/v1/language/class/property-values.d.ts +15 -0
- package/dist/v1/language/class/property-values.js +30 -0
- package/dist/v1/language/class/resolved.d.ts +123 -0
- package/dist/v1/language/class/resolved.js +1 -0
- package/dist/v1/language/core/index.d.ts +2 -0
- package/dist/v1/language/core/index.js +1 -0
- package/dist/v1/language/core/model/core.d.ts +20 -0
- package/dist/v1/language/core/model/core.js +1 -0
- package/dist/v1/language/core/resolved.d.ts +21 -0
- package/dist/v1/language/core/resolved.js +1 -0
- package/dist/v1/{schema → language/definition}/metadata.d.ts +0 -1
- package/dist/v1/{schema → language/definition}/metadata.js +0 -1
- package/dist/v1/language/definition.d.ts +7 -0
- package/dist/v1/language/definition.js +1 -0
- package/dist/v1/language/index.d.ts +23 -0
- package/dist/v1/language/index.js +1 -0
- package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.d.ts +2 -4
- package/dist/v1/{schema/policy/validation → language/policy/analysis}/branches.js +5 -28
- package/dist/v1/{schema/policy/validation → language/policy/analysis}/budgets.d.ts +1 -4
- package/dist/v1/language/policy/analysis/budgets.js +25 -0
- package/dist/v1/language/policy/index.d.ts +3 -0
- package/dist/v1/language/policy/index.js +1 -0
- package/dist/v1/{schema/policy/ast.d.ts → language/policy/model/policy.d.ts} +7 -7
- package/dist/v1/language/policy/model/policy.js +1 -0
- package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
- package/dist/v1/{schema/policy → language/policy/normalization}/normalize.js +12 -16
- package/dist/v1/language/policy/resolved.d.ts +9 -0
- package/dist/v1/language/policy/resolved.js +1 -0
- package/dist/v1/language/resolved.d.ts +10 -0
- package/dist/v1/language/resolved.js +1 -0
- package/dist/v1/language/validation/diagnostic.d.ts +8 -0
- package/dist/v1/language/validation/diagnostic.js +3 -0
- package/dist/v1/language/value/compile/fields.d.ts +3 -0
- package/dist/v1/language/value/compile/fields.js +60 -0
- package/dist/v1/{schema/compiled/program.d.ts → language/value/compile/load.d.ts} +1 -2
- package/dist/v1/{schema/compiled/program.js → language/value/compile/load.js} +2 -3
- package/dist/v1/language/value/compile/model.d.ts +27 -0
- package/dist/v1/language/value/compile/model.js +1 -0
- package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.d.ts +0 -1
- package/dist/v1/{schema/value/instance → language/value/evaluate}/assertions.js +1 -2
- package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.d.ts +0 -1
- package/dist/v1/{schema/value/instance → language/value/evaluate}/evaluator.js +3 -4
- package/dist/v1/{schema/value/instance → language/value/evaluate}/preparation.d.ts +2 -3
- package/dist/v1/{schema/value/instance → language/value/evaluate}/preparation.js +6 -8
- package/dist/v1/language/value/evaluate/program.d.ts +3 -0
- package/dist/v1/language/value/evaluate/program.js +16 -0
- package/dist/v1/{schema/value/instance → language/value/evaluate}/types.d.ts +4 -5
- package/dist/v1/{schema/value/instance → language/value/evaluate}/types.js +0 -1
- package/dist/v1/{schema/value/instance.validate.d.ts → language/value/evaluate/validate.d.ts} +4 -5
- package/dist/v1/{schema/value/instance.validate.js → language/value/evaluate/validate.js} +4 -5
- package/dist/v1/language/value/index.d.ts +11 -0
- package/dist/v1/language/value/index.js +8 -0
- package/dist/v1/{schema/value → language/value/model}/instant.d.ts +1 -1
- package/dist/v1/{schema/value → language/value/model}/instant.js +1 -1
- package/dist/v1/{schema/value → language/value/model}/object.d.ts +1 -1
- package/dist/v1/{schema/value → language/value/model}/object.js +0 -1
- package/dist/v1/{schema/value → language/value/model}/schema.d.ts +3 -4
- package/dist/v1/{schema/value → language/value/model}/schema.js +0 -2
- package/dist/v1/{schema → language}/value/ordering.d.ts +5 -3
- package/dist/v1/{schema → language}/value/ordering.js +15 -13
- package/dist/v1/{schema → language}/value/profile/canonicalize.d.ts +2 -3
- package/dist/v1/{schema → language}/value/profile/canonicalize.js +4 -7
- package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
- package/dist/v1/{schema → language}/value/profile/json.validate.js +1 -2
- package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.d.ts +0 -1
- package/dist/v1/{schema → language}/value/profile/meta-schema.compiled.js +0 -1
- package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
- package/dist/v1/{schema → language}/value/profile/meta-schema.js +1 -2
- package/dist/v1/language/value/profile/rules.d.ts +3 -0
- package/dist/v1/{schema → language}/value/profile/rules.js +7 -50
- package/dist/v1/language/value/profile/validate.d.ts +4 -0
- package/dist/v1/{schema → language}/value/profile/validate.js +13 -21
- package/dist/v1/{schema → language}/value/profile/vocabulary.d.ts +0 -1
- package/dist/v1/{schema → language}/value/profile/vocabulary.js +0 -1
- package/dist/v1/language/value/reference/closure.d.ts +11 -0
- package/dist/v1/{schema/value/resources → language/value/reference}/closure.js +13 -21
- package/dist/v1/{schema/value/resources → language/value/reference}/recursion.d.ts +3 -4
- package/dist/v1/{schema/value/resources → language/value/reference}/recursion.js +5 -6
- package/dist/v1/language/value/reference/references.d.ts +17 -0
- package/dist/v1/language/value/reference/references.js +45 -0
- package/dist/v1/{schema/value → language/value/reference}/registry.d.ts +9 -7
- package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
- package/dist/v1/{schema/value/resources → language/value/reference}/registry.index.js +7 -45
- package/dist/v1/language/value/reference/registry.js +1 -0
- package/dist/v1/{schema → language}/value/regexp/ast.d.ts +0 -1
- package/dist/v1/{schema → language}/value/regexp/ast.js +0 -1
- package/dist/v1/{schema → language}/value/regexp/compile.d.ts +1 -2
- package/dist/v1/{schema → language}/value/regexp/compile.js +0 -1
- package/dist/v1/{schema → language}/value/regexp/lower.d.ts +1 -2
- package/dist/v1/{schema → language}/value/regexp/lower.js +2 -3
- package/dist/v1/{schema → language}/value/regexp/matcher.d.ts +1 -2
- package/dist/v1/{schema → language}/value/regexp/matcher.js +0 -1
- package/dist/v1/{schema → language}/value/regexp/pattern.d.ts +0 -1
- package/dist/v1/{schema → language}/value/regexp/pattern.js +0 -1
- package/dist/v1/{schema → language}/value/regexp/syntax.d.ts +0 -1
- package/dist/v1/{schema → language}/value/regexp/syntax.js +0 -1
- package/dist/v1/{schema/value → language/value/syntax}/full-match.d.ts +0 -1
- package/dist/v1/{schema/value → language/value/syntax}/full-match.js +3 -4
- package/dist/v1/{schema/value/location → language/value/syntax}/keywords.d.ts +0 -1
- package/dist/v1/{schema/value/location → language/value/syntax}/keywords.js +0 -1
- package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.d.ts +1 -2
- package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/schema.js +2 -3
- package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
- package/dist/v1/{schema/value/extensions → language/value/syntax}/node-path/validate.js +12 -12
- package/dist/v1/{schema/value/location → language/value/syntax}/pointer.d.ts +0 -1
- package/dist/v1/{schema/value/location → language/value/syntax}/pointer.js +1 -2
- package/dist/v1/{schema/value/location → language/value/syntax}/walk.d.ts +1 -2
- package/dist/v1/{schema/value/location → language/value/syntax}/walk.js +1 -2
- package/dist/v1/language/view/index.d.ts +2 -0
- package/dist/v1/language/view/index.js +1 -0
- package/dist/v1/language/view/model/view.d.ts +11 -0
- package/dist/v1/language/view/model/view.js +1 -0
- package/dist/v1/language/view/resolved.d.ts +9 -0
- package/dist/v1/language/view/resolved.js +1 -0
- package/dist/v1/schema/admission/accept.d.ts +3 -0
- package/dist/v1/schema/{domain.accept.js → admission/accept.js} +8 -9
- package/dist/v1/schema/{definition/analysis.d.ts → analysis/class.d.ts} +15 -17
- package/dist/v1/schema/{definition/analysis.js → analysis/class.js} +21 -30
- package/dist/v1/schema/canonical/domain.d.ts +2 -2
- package/dist/v1/schema/canonical/domain.digest.d.ts +1 -2
- package/dist/v1/schema/canonical/domain.digest.js +2 -6
- package/dist/v1/schema/canonical/domain.js +3 -223
- package/dist/v1/schema/canonical/freeze.d.ts +0 -1
- package/dist/v1/schema/canonical/freeze.js +0 -1
- package/dist/v1/schema/{domain.revision.d.ts → canonical/revision.d.ts} +2 -3
- package/dist/v1/schema/{domain.revision.js → canonical/revision.js} +3 -4
- package/dist/v1/schema/{domain.header.d.ts → codec/header.d.ts} +6 -4
- package/dist/v1/schema/codec/header.js +23 -0
- package/dist/v1/schema/{domain.codec.d.ts → codec/schema.d.ts} +2 -3
- package/dist/v1/schema/{domain.codec.js → codec/schema.js} +4 -5
- package/dist/v1/schema/{dependency.meaning.d.ts → compatibility/meaning.d.ts} +4 -5
- package/dist/v1/schema/{dependency.meaning.js → compatibility/meaning.js} +120 -123
- package/dist/v1/schema/{domain.lookup.d.ts → dependency/lookup.d.ts} +3 -4
- package/dist/v1/schema/{domain.lookup.js → dependency/lookup.js} +1 -2
- package/dist/v1/schema/diagnostic.d.ts +7 -7
- package/dist/v1/schema/diagnostic.js +9 -9
- package/dist/v1/schema/index.d.ts +24 -40
- package/dist/v1/schema/index.js +11 -18
- package/dist/v1/schema/model/format.d.ts +2 -0
- package/dist/v1/schema/model/format.js +2 -0
- package/dist/v1/schema/model/schema.d.ts +37 -0
- package/dist/v1/schema/model/schema.js +4 -0
- package/dist/v1/schema/normalization/domain.d.ts +2 -0
- package/dist/v1/schema/normalization/domain.js +207 -0
- package/dist/v1/schema/resolution/closure.d.ts +2 -3
- package/dist/v1/schema/resolution/closure.js +5 -6
- package/dist/v1/schema/resolution/context.d.ts +11 -12
- package/dist/v1/schema/resolution/context.js +5 -5
- package/dist/v1/schema/resolution/definition.index.d.ts +13 -35
- package/dist/v1/schema/resolution/definition.index.js +8 -18
- package/dist/v1/schema/resolution/domain.d.ts +4 -0
- package/dist/v1/schema/resolution/domain.js +109 -0
- package/dist/v1/schema/resolution/origins.d.ts +11 -14
- package/dist/v1/schema/resolution/origins.js +31 -42
- package/dist/v1/schema/resolution/value.registry.d.ts +3 -4
- package/dist/v1/schema/resolution/value.registry.js +5 -12
- package/dist/v1/schema/revision.d.ts +1 -0
- package/dist/v1/schema/revision.js +1 -0
- package/dist/v1/schema/validation/class.d.ts +5 -0
- package/dist/v1/schema/validation/class.js +208 -0
- package/dist/v1/schema/validation/core.d.ts +5 -0
- package/dist/v1/schema/{core/validate.js → validation/core.js} +35 -28
- package/dist/v1/schema/validation/domain.d.ts +11 -0
- package/dist/v1/schema/{domain.validate.js → validation/domain.js} +12 -12
- package/dist/v1/schema/validation/domain.route.d.ts +1 -2
- package/dist/v1/schema/validation/domain.route.js +3 -4
- package/dist/v1/schema/validation/domain.structure.d.ts +1 -2
- package/dist/v1/schema/validation/domain.structure.js +53 -82
- package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
- package/dist/v1/schema/{policy/validation → validation/policy}/budgets.js +2 -32
- package/dist/v1/schema/validation/policy/context.d.ts +28 -0
- package/dist/v1/schema/{policy/validation → validation/policy}/context.js +23 -33
- package/dist/v1/schema/{policy/validation → validation/policy}/references.d.ts +0 -1
- package/dist/v1/schema/{policy/validation → validation/policy}/references.js +16 -9
- package/dist/v1/schema/{policy/validation → validation/policy}/typing.d.ts +4 -8
- package/dist/v1/schema/{policy/validation → validation/policy}/typing.js +24 -66
- package/dist/v1/schema/{policy/validation → validation/policy}/uses.d.ts +0 -1
- package/dist/v1/schema/{policy/validation → validation/policy}/uses.js +20 -34
- package/dist/v1/schema/{policy/validation → validation/policy}/validate.d.ts +3 -4
- package/dist/v1/schema/{policy/validation → validation/policy}/validate.js +0 -1
- package/dist/v1/schema/{value/index.d.ts → validation/value-api.d.ts} +9 -10
- package/dist/v1/schema/{value/index.js → validation/value-api.js} +4 -5
- package/dist/v1/schema/validation/value.d.ts +4 -5
- package/dist/v1/schema/validation/value.js +4 -9
- package/dist/v1/schema/validation/view.d.ts +3 -0
- package/dist/v1/schema/{view/validate.js → validation/view.js} +11 -4
- package/dist/v1/value/full-match.d.ts +2 -0
- package/dist/v1/value/full-match.js +2 -0
- package/dist/v1.d.ts +1 -2
- package/dist/v1.js +1 -2
- package/dist/value/accept.d.ts +0 -1
- package/dist/value/accept.js +0 -1
- package/dist/value/canonical.d.ts +0 -1
- package/dist/value/canonical.js +0 -1
- package/dist/value/decode.d.ts +0 -1
- package/dist/value/decode.js +0 -1
- package/dist/value/equal.d.ts +0 -1
- package/dist/value/equal.js +0 -1
- package/dist/value/error.d.ts +0 -1
- package/dist/value/error.js +0 -1
- package/dist/value/index.d.ts +0 -1
- package/dist/value/index.js +0 -1
- package/dist/value/json.d.ts +0 -1
- package/dist/value/json.js +0 -1
- package/dist/value/limits.d.ts +0 -1
- package/dist/value/limits.js +0 -1
- package/dist/value/types.d.ts +0 -1
- package/dist/value/types.js +0 -1
- package/dist/value/unicode.d.ts +0 -1
- package/dist/value/unicode.js +0 -1
- package/dist/version/dispatch.d.ts +0 -1
- package/dist/version/dispatch.js +0 -1
- package/dist/version/index.d.ts +0 -1
- package/dist/version/index.js +0 -1
- package/package.json +39 -19
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/upgrade/contract.d.ts.map +0 -1
- package/dist/upgrade/contract.js.map +0 -1
- package/dist/upgrade/index.d.ts.map +0 -1
- package/dist/upgrade/index.js.map +0 -1
- package/dist/v1/addressing/index.d.ts.map +0 -1
- package/dist/v1/addressing/index.js.map +0 -1
- package/dist/v1/addressing/key.d.ts.map +0 -1
- package/dist/v1/addressing/key.js.map +0 -1
- package/dist/v1/addressing/patterns.d.ts.map +0 -1
- package/dist/v1/addressing/patterns.js.map +0 -1
- package/dist/v1/addressing/property-key.d.ts.map +0 -1
- package/dist/v1/addressing/property-key.js.map +0 -1
- package/dist/v1/addressing/ref.d.ts +0 -35
- package/dist/v1/addressing/ref.d.ts.map +0 -1
- package/dist/v1/addressing/ref.js +0 -94
- package/dist/v1/addressing/ref.js.map +0 -1
- package/dist/v1/addressing/schema-ref.d.ts +0 -8
- package/dist/v1/addressing/schema-ref.d.ts.map +0 -1
- package/dist/v1/addressing/schema-ref.js +0 -2
- package/dist/v1/addressing/schema-ref.js.map +0 -1
- package/dist/v1/builder/callable.d.ts.map +0 -1
- package/dist/v1/builder/callable.js.map +0 -1
- package/dist/v1/builder/compiler/callable.d.ts +0 -20
- package/dist/v1/builder/compiler/callable.d.ts.map +0 -1
- package/dist/v1/builder/compiler/callable.js.map +0 -1
- package/dist/v1/builder/compiler/core.d.ts +0 -6
- package/dist/v1/builder/compiler/core.d.ts.map +0 -1
- package/dist/v1/builder/compiler/core.js.map +0 -1
- package/dist/v1/builder/compiler/core.properties.d.ts +0 -6
- package/dist/v1/builder/compiler/core.properties.d.ts.map +0 -1
- package/dist/v1/builder/compiler/core.properties.js.map +0 -1
- package/dist/v1/builder/compiler/definition.d.ts +0 -32
- package/dist/v1/builder/compiler/definition.d.ts.map +0 -1
- package/dist/v1/builder/compiler/definition.js +0 -197
- package/dist/v1/builder/compiler/definition.js.map +0 -1
- package/dist/v1/builder/compiler/policy.d.ts +0 -17
- package/dist/v1/builder/compiler/policy.d.ts.map +0 -1
- package/dist/v1/builder/compiler/policy.js.map +0 -1
- package/dist/v1/builder/compiler/schema.capture.d.ts.map +0 -1
- package/dist/v1/builder/compiler/schema.capture.js +0 -85
- package/dist/v1/builder/compiler/schema.capture.js.map +0 -1
- package/dist/v1/builder/compiler/schema.context.d.ts +0 -45
- package/dist/v1/builder/compiler/schema.context.d.ts.map +0 -1
- package/dist/v1/builder/compiler/schema.context.js.map +0 -1
- package/dist/v1/builder/compiler/schema.d.ts.map +0 -1
- package/dist/v1/builder/compiler/schema.js.map +0 -1
- package/dist/v1/builder/compiler/schema.ownership.d.ts.map +0 -1
- package/dist/v1/builder/compiler/schema.ownership.js.map +0 -1
- package/dist/v1/builder/compiler/value.d.ts +0 -26
- package/dist/v1/builder/compiler/value.d.ts.map +0 -1
- package/dist/v1/builder/compiler/value.js.map +0 -1
- package/dist/v1/builder/compiler/value.path.d.ts +0 -4
- package/dist/v1/builder/compiler/value.path.d.ts.map +0 -1
- package/dist/v1/builder/compiler/value.path.js.map +0 -1
- package/dist/v1/builder/compiler/value.zod.d.ts.map +0 -1
- package/dist/v1/builder/compiler/value.zod.js.map +0 -1
- package/dist/v1/builder/compiler/view.d.ts +0 -12
- package/dist/v1/builder/compiler/view.d.ts.map +0 -1
- package/dist/v1/builder/compiler/view.js.map +0 -1
- package/dist/v1/builder/core.d.ts +0 -27
- package/dist/v1/builder/core.d.ts.map +0 -1
- package/dist/v1/builder/core.js.map +0 -1
- package/dist/v1/builder/definition.d.ts +0 -155
- package/dist/v1/builder/definition.d.ts.map +0 -1
- package/dist/v1/builder/definition.js +0 -141
- package/dist/v1/builder/definition.js.map +0 -1
- package/dist/v1/builder/full-match.d.ts +0 -5
- package/dist/v1/builder/full-match.d.ts.map +0 -1
- package/dist/v1/builder/full-match.js +0 -12
- package/dist/v1/builder/full-match.js.map +0 -1
- package/dist/v1/builder/index.d.ts.map +0 -1
- package/dist/v1/builder/index.js.map +0 -1
- package/dist/v1/builder/internal/authoring.d.ts.map +0 -1
- package/dist/v1/builder/internal/authoring.js.map +0 -1
- package/dist/v1/builder/internal/authoring.lazy.d.ts.map +0 -1
- package/dist/v1/builder/internal/authoring.lazy.js.map +0 -1
- package/dist/v1/builder/internal/diagnostic.d.ts +0 -4
- package/dist/v1/builder/internal/diagnostic.d.ts.map +0 -1
- package/dist/v1/builder/internal/diagnostic.js +0 -16
- package/dist/v1/builder/internal/diagnostic.js.map +0 -1
- package/dist/v1/builder/internal/path.metadata.d.ts +0 -5
- package/dist/v1/builder/internal/path.metadata.d.ts.map +0 -1
- package/dist/v1/builder/internal/path.metadata.js.map +0 -1
- package/dist/v1/builder/path.d.ts +0 -9
- package/dist/v1/builder/path.d.ts.map +0 -1
- package/dist/v1/builder/path.js.map +0 -1
- package/dist/v1/builder/policy.d.ts.map +0 -1
- package/dist/v1/builder/policy.js.map +0 -1
- package/dist/v1/builder/property.d.ts +0 -37
- package/dist/v1/builder/property.d.ts.map +0 -1
- package/dist/v1/builder/property.js +0 -36
- package/dist/v1/builder/property.js.map +0 -1
- package/dist/v1/builder/schema.d.ts +0 -6
- package/dist/v1/builder/schema.d.ts.map +0 -1
- package/dist/v1/builder/schema.input.d.ts +0 -19
- package/dist/v1/builder/schema.input.d.ts.map +0 -1
- package/dist/v1/builder/schema.input.js +0 -2
- package/dist/v1/builder/schema.input.js.map +0 -1
- package/dist/v1/builder/schema.js.map +0 -1
- package/dist/v1/builder/value-schema.d.ts.map +0 -1
- package/dist/v1/builder/value-schema.js.map +0 -1
- package/dist/v1/builder/view.d.ts +0 -17
- package/dist/v1/builder/view.d.ts.map +0 -1
- package/dist/v1/builder/view.js +0 -7
- package/dist/v1/builder/view.js.map +0 -1
- package/dist/v1/builder.d.ts +0 -3
- package/dist/v1/builder.d.ts.map +0 -1
- package/dist/v1/builder.js +0 -2
- package/dist/v1/builder.js.map +0 -1
- package/dist/v1/bundle/codec.d.ts.map +0 -1
- package/dist/v1/bundle/codec.js.map +0 -1
- package/dist/v1/bundle/index.d.ts.map +0 -1
- package/dist/v1/bundle/index.js.map +0 -1
- package/dist/v1/bundle/model.d.ts.map +0 -1
- package/dist/v1/bundle/model.js.map +0 -1
- package/dist/v1/bundle/structure.d.ts.map +0 -1
- package/dist/v1/bundle/structure.js.map +0 -1
- package/dist/v1/bundle.d.ts +0 -3
- package/dist/v1/bundle.d.ts.map +0 -1
- package/dist/v1/bundle.js +0 -3
- package/dist/v1/bundle.js.map +0 -1
- package/dist/v1/index.d.ts.map +0 -1
- package/dist/v1/index.js.map +0 -1
- package/dist/v1/schema/callable.d.ts +0 -29
- package/dist/v1/schema/callable.d.ts.map +0 -1
- package/dist/v1/schema/callable.js +0 -2
- package/dist/v1/schema/callable.js.map +0 -1
- package/dist/v1/schema/canonical/domain.d.ts.map +0 -1
- package/dist/v1/schema/canonical/domain.digest.d.ts.map +0 -1
- package/dist/v1/schema/canonical/domain.digest.js.map +0 -1
- package/dist/v1/schema/canonical/domain.js.map +0 -1
- package/dist/v1/schema/canonical/freeze.d.ts.map +0 -1
- package/dist/v1/schema/canonical/freeze.js.map +0 -1
- package/dist/v1/schema/compiled/admission.d.ts +0 -4
- package/dist/v1/schema/compiled/admission.d.ts.map +0 -1
- package/dist/v1/schema/compiled/admission.js +0 -217
- package/dist/v1/schema/compiled/admission.js.map +0 -1
- package/dist/v1/schema/compiled/authored-validator.d.ts +0 -5
- package/dist/v1/schema/compiled/authored-validator.d.ts.map +0 -1
- package/dist/v1/schema/compiled/authored-validator.js +0 -7
- package/dist/v1/schema/compiled/authored-validator.js.map +0 -1
- package/dist/v1/schema/compiled/compiler.d.ts +0 -5
- package/dist/v1/schema/compiled/compiler.d.ts.map +0 -1
- package/dist/v1/schema/compiled/compiler.js +0 -86
- package/dist/v1/schema/compiled/compiler.js.map +0 -1
- package/dist/v1/schema/compiled/model.d.ts +0 -61
- package/dist/v1/schema/compiled/model.d.ts.map +0 -1
- package/dist/v1/schema/compiled/model.js +0 -2
- package/dist/v1/schema/compiled/model.js.map +0 -1
- package/dist/v1/schema/compiled/program.d.ts.map +0 -1
- package/dist/v1/schema/compiled/program.js.map +0 -1
- package/dist/v1/schema/compiled/validator.d.ts +0 -23
- package/dist/v1/schema/compiled/validator.d.ts.map +0 -1
- package/dist/v1/schema/compiled/validator.js +0 -62
- package/dist/v1/schema/compiled/validator.js.map +0 -1
- package/dist/v1/schema/core/declaration.d.ts +0 -17
- package/dist/v1/schema/core/declaration.d.ts.map +0 -1
- package/dist/v1/schema/core/declaration.js +0 -2
- package/dist/v1/schema/core/declaration.js.map +0 -1
- package/dist/v1/schema/core/validate.d.ts +0 -6
- package/dist/v1/schema/core/validate.d.ts.map +0 -1
- package/dist/v1/schema/core/validate.js.map +0 -1
- package/dist/v1/schema/definition/analysis.d.ts.map +0 -1
- package/dist/v1/schema/definition/analysis.js.map +0 -1
- package/dist/v1/schema/definition/class.d.ts +0 -28
- package/dist/v1/schema/definition/class.d.ts.map +0 -1
- package/dist/v1/schema/definition/class.js +0 -2
- package/dist/v1/schema/definition/class.js.map +0 -1
- package/dist/v1/schema/definition/data.d.ts.map +0 -1
- package/dist/v1/schema/definition/data.js.map +0 -1
- package/dist/v1/schema/definition/edge.d.ts.map +0 -1
- package/dist/v1/schema/definition/edge.js +0 -2
- package/dist/v1/schema/definition/edge.js.map +0 -1
- package/dist/v1/schema/definition/interface.d.ts +0 -22
- package/dist/v1/schema/definition/interface.d.ts.map +0 -1
- package/dist/v1/schema/definition/interface.js +0 -2
- package/dist/v1/schema/definition/interface.js.map +0 -1
- package/dist/v1/schema/definition/property.d.ts.map +0 -1
- package/dist/v1/schema/definition/property.js +0 -2
- package/dist/v1/schema/definition/property.js.map +0 -1
- package/dist/v1/schema/definition/validate.d.ts +0 -5
- package/dist/v1/schema/definition/validate.d.ts.map +0 -1
- package/dist/v1/schema/definition/validate.js +0 -221
- package/dist/v1/schema/definition/validate.js.map +0 -1
- package/dist/v1/schema/dependency.meaning.d.ts.map +0 -1
- package/dist/v1/schema/dependency.meaning.js.map +0 -1
- package/dist/v1/schema/diagnostic.d.ts.map +0 -1
- package/dist/v1/schema/diagnostic.js.map +0 -1
- package/dist/v1/schema/domain.accept.d.ts +0 -4
- package/dist/v1/schema/domain.accept.d.ts.map +0 -1
- package/dist/v1/schema/domain.accept.js.map +0 -1
- package/dist/v1/schema/domain.codec.d.ts.map +0 -1
- package/dist/v1/schema/domain.codec.js.map +0 -1
- package/dist/v1/schema/domain.header.d.ts.map +0 -1
- package/dist/v1/schema/domain.header.js +0 -21
- package/dist/v1/schema/domain.header.js.map +0 -1
- package/dist/v1/schema/domain.ir.d.ts +0 -40
- package/dist/v1/schema/domain.ir.d.ts.map +0 -1
- package/dist/v1/schema/domain.ir.js +0 -5
- package/dist/v1/schema/domain.ir.js.map +0 -1
- package/dist/v1/schema/domain.lookup.d.ts.map +0 -1
- package/dist/v1/schema/domain.lookup.js.map +0 -1
- package/dist/v1/schema/domain.resolve.d.ts +0 -26
- package/dist/v1/schema/domain.resolve.d.ts.map +0 -1
- package/dist/v1/schema/domain.resolve.js +0 -43
- package/dist/v1/schema/domain.resolve.js.map +0 -1
- package/dist/v1/schema/domain.revision.d.ts.map +0 -1
- package/dist/v1/schema/domain.revision.js.map +0 -1
- package/dist/v1/schema/domain.validate.d.ts +0 -12
- package/dist/v1/schema/domain.validate.d.ts.map +0 -1
- package/dist/v1/schema/domain.validate.js.map +0 -1
- package/dist/v1/schema/index.d.ts.map +0 -1
- package/dist/v1/schema/index.js.map +0 -1
- package/dist/v1/schema/metadata.d.ts.map +0 -1
- package/dist/v1/schema/metadata.js.map +0 -1
- package/dist/v1/schema/policy/ast.d.ts.map +0 -1
- package/dist/v1/schema/policy/ast.js +0 -2
- package/dist/v1/schema/policy/ast.js.map +0 -1
- package/dist/v1/schema/policy/normalize.d.ts +0 -5
- package/dist/v1/schema/policy/normalize.d.ts.map +0 -1
- package/dist/v1/schema/policy/normalize.js.map +0 -1
- package/dist/v1/schema/policy/validation/branches.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/branches.js.map +0 -1
- package/dist/v1/schema/policy/validation/budgets.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/budgets.js.map +0 -1
- package/dist/v1/schema/policy/validation/context.d.ts +0 -28
- package/dist/v1/schema/policy/validation/context.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/context.js.map +0 -1
- package/dist/v1/schema/policy/validation/references.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/references.js.map +0 -1
- package/dist/v1/schema/policy/validation/typing.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/typing.js.map +0 -1
- package/dist/v1/schema/policy/validation/uses.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/uses.js.map +0 -1
- package/dist/v1/schema/policy/validation/validate.d.ts.map +0 -1
- package/dist/v1/schema/policy/validation/validate.js.map +0 -1
- package/dist/v1/schema/reference.d.ts +0 -43
- package/dist/v1/schema/reference.d.ts.map +0 -1
- package/dist/v1/schema/reference.js +0 -31
- package/dist/v1/schema/reference.js.map +0 -1
- package/dist/v1/schema/resolution/closure.d.ts.map +0 -1
- package/dist/v1/schema/resolution/closure.js.map +0 -1
- package/dist/v1/schema/resolution/context.d.ts.map +0 -1
- package/dist/v1/schema/resolution/context.js.map +0 -1
- package/dist/v1/schema/resolution/definition.index.d.ts.map +0 -1
- package/dist/v1/schema/resolution/definition.index.js.map +0 -1
- package/dist/v1/schema/resolution/origins.d.ts.map +0 -1
- package/dist/v1/schema/resolution/origins.js.map +0 -1
- package/dist/v1/schema/resolution/value.registry.d.ts.map +0 -1
- package/dist/v1/schema/resolution/value.registry.js.map +0 -1
- package/dist/v1/schema/validation/domain.route.d.ts.map +0 -1
- package/dist/v1/schema/validation/domain.route.js.map +0 -1
- package/dist/v1/schema/validation/domain.structure.d.ts.map +0 -1
- package/dist/v1/schema/validation/domain.structure.js.map +0 -1
- package/dist/v1/schema/validation/value.d.ts.map +0 -1
- package/dist/v1/schema/validation/value.js.map +0 -1
- package/dist/v1/schema/value/extensions/node-path/schema.d.ts.map +0 -1
- package/dist/v1/schema/value/extensions/node-path/schema.js.map +0 -1
- package/dist/v1/schema/value/extensions/node-path/validate.d.ts +0 -5
- package/dist/v1/schema/value/extensions/node-path/validate.d.ts.map +0 -1
- package/dist/v1/schema/value/extensions/node-path/validate.js.map +0 -1
- package/dist/v1/schema/value/full-match.d.ts.map +0 -1
- package/dist/v1/schema/value/full-match.js.map +0 -1
- package/dist/v1/schema/value/index.d.ts.map +0 -1
- package/dist/v1/schema/value/index.js.map +0 -1
- package/dist/v1/schema/value/instance/assertions.d.ts.map +0 -1
- package/dist/v1/schema/value/instance/assertions.js.map +0 -1
- package/dist/v1/schema/value/instance/evaluator.d.ts.map +0 -1
- package/dist/v1/schema/value/instance/evaluator.js.map +0 -1
- package/dist/v1/schema/value/instance/preparation.d.ts.map +0 -1
- package/dist/v1/schema/value/instance/preparation.js.map +0 -1
- package/dist/v1/schema/value/instance/types.d.ts.map +0 -1
- package/dist/v1/schema/value/instance/types.js.map +0 -1
- package/dist/v1/schema/value/instance.validate.d.ts.map +0 -1
- package/dist/v1/schema/value/instance.validate.js.map +0 -1
- package/dist/v1/schema/value/instant.d.ts.map +0 -1
- package/dist/v1/schema/value/instant.js.map +0 -1
- package/dist/v1/schema/value/location/keywords.d.ts.map +0 -1
- package/dist/v1/schema/value/location/keywords.js.map +0 -1
- package/dist/v1/schema/value/location/pointer.d.ts.map +0 -1
- package/dist/v1/schema/value/location/pointer.js.map +0 -1
- package/dist/v1/schema/value/location/walk.d.ts.map +0 -1
- package/dist/v1/schema/value/location/walk.js.map +0 -1
- package/dist/v1/schema/value/object.d.ts.map +0 -1
- package/dist/v1/schema/value/object.js.map +0 -1
- package/dist/v1/schema/value/ordering.d.ts.map +0 -1
- package/dist/v1/schema/value/ordering.js.map +0 -1
- package/dist/v1/schema/value/profile/canonicalize.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/canonicalize.js.map +0 -1
- package/dist/v1/schema/value/profile/dialect.d.ts +0 -5
- package/dist/v1/schema/value/profile/dialect.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/dialect.js +0 -36
- package/dist/v1/schema/value/profile/dialect.js.map +0 -1
- package/dist/v1/schema/value/profile/json.validate.d.ts +0 -3
- package/dist/v1/schema/value/profile/json.validate.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/json.validate.js.map +0 -1
- package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/meta-schema.compiled.js.map +0 -1
- package/dist/v1/schema/value/profile/meta-schema.d.ts +0 -5
- package/dist/v1/schema/value/profile/meta-schema.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/meta-schema.js.map +0 -1
- package/dist/v1/schema/value/profile/rules.d.ts +0 -5
- package/dist/v1/schema/value/profile/rules.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/rules.js.map +0 -1
- package/dist/v1/schema/value/profile/validate.d.ts +0 -5
- package/dist/v1/schema/value/profile/validate.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/validate.js.map +0 -1
- package/dist/v1/schema/value/profile/vocabulary.d.ts.map +0 -1
- package/dist/v1/schema/value/profile/vocabulary.js.map +0 -1
- package/dist/v1/schema/value/regexp/ast.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/ast.js.map +0 -1
- package/dist/v1/schema/value/regexp/compile.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/compile.js.map +0 -1
- package/dist/v1/schema/value/regexp/linear.d.ts +0 -20
- package/dist/v1/schema/value/regexp/linear.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/linear.js +0 -24
- package/dist/v1/schema/value/regexp/linear.js.map +0 -1
- package/dist/v1/schema/value/regexp/lower.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/lower.js.map +0 -1
- package/dist/v1/schema/value/regexp/matcher.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/matcher.js.map +0 -1
- package/dist/v1/schema/value/regexp/pattern.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/pattern.js.map +0 -1
- package/dist/v1/schema/value/regexp/syntax.d.ts.map +0 -1
- package/dist/v1/schema/value/regexp/syntax.js.map +0 -1
- package/dist/v1/schema/value/registry.d.ts.map +0 -1
- package/dist/v1/schema/value/registry.js +0 -2
- package/dist/v1/schema/value/registry.js.map +0 -1
- package/dist/v1/schema/value/resources/closure.d.ts +0 -12
- package/dist/v1/schema/value/resources/closure.d.ts.map +0 -1
- package/dist/v1/schema/value/resources/closure.js.map +0 -1
- package/dist/v1/schema/value/resources/recursion.d.ts.map +0 -1
- package/dist/v1/schema/value/resources/recursion.js.map +0 -1
- package/dist/v1/schema/value/resources/references.d.ts +0 -25
- package/dist/v1/schema/value/resources/references.d.ts.map +0 -1
- package/dist/v1/schema/value/resources/references.js +0 -93
- package/dist/v1/schema/value/resources/references.js.map +0 -1
- package/dist/v1/schema/value/resources/registry.index.d.ts +0 -22
- package/dist/v1/schema/value/resources/registry.index.d.ts.map +0 -1
- package/dist/v1/schema/value/resources/registry.index.js.map +0 -1
- package/dist/v1/schema/value/schema.d.ts.map +0 -1
- package/dist/v1/schema/value/schema.js.map +0 -1
- package/dist/v1/schema/view/declaration.d.ts +0 -12
- package/dist/v1/schema/view/declaration.d.ts.map +0 -1
- package/dist/v1/schema/view/declaration.js +0 -2
- package/dist/v1/schema/view/declaration.js.map +0 -1
- package/dist/v1/schema/view/validate.d.ts +0 -4
- package/dist/v1/schema/view/validate.d.ts.map +0 -1
- package/dist/v1/schema/view/validate.js.map +0 -1
- package/dist/v1/schema.d.ts +0 -3
- package/dist/v1/schema.d.ts.map +0 -1
- package/dist/v1/schema.js +0 -3
- package/dist/v1/schema.js.map +0 -1
- package/dist/v1.d.ts.map +0 -1
- package/dist/v1.js.map +0 -1
- package/dist/value/accept.d.ts.map +0 -1
- package/dist/value/accept.js.map +0 -1
- package/dist/value/canonical.d.ts.map +0 -1
- package/dist/value/canonical.js.map +0 -1
- package/dist/value/decode.d.ts.map +0 -1
- package/dist/value/decode.js.map +0 -1
- package/dist/value/equal.d.ts.map +0 -1
- package/dist/value/equal.js.map +0 -1
- package/dist/value/error.d.ts.map +0 -1
- package/dist/value/error.js.map +0 -1
- package/dist/value/index.d.ts.map +0 -1
- package/dist/value/index.js.map +0 -1
- package/dist/value/json.d.ts.map +0 -1
- package/dist/value/json.js.map +0 -1
- package/dist/value/limits.d.ts.map +0 -1
- package/dist/value/limits.js.map +0 -1
- package/dist/value/types.d.ts.map +0 -1
- package/dist/value/types.js.map +0 -1
- package/dist/value/unicode.d.ts.map +0 -1
- package/dist/value/unicode.js.map +0 -1
- package/dist/version/dispatch.d.ts.map +0 -1
- package/dist/version/dispatch.js.map +0 -1
- package/dist/version/index.d.ts.map +0 -1
- package/dist/version/index.js.map +0 -1
|
@@ -1,37 +1,42 @@
|
|
|
1
|
+
import { Key } from '../../../addressing/index.js';
|
|
2
|
+
import { definitionRefIndex } from '../../../addressing/ordering.js';
|
|
1
3
|
import { diagnostic } from '../../diagnostic.js';
|
|
2
|
-
|
|
4
|
+
const formatDefinitionRef = Key.of;
|
|
3
5
|
export class PolicyValidationContext {
|
|
4
6
|
environment;
|
|
5
7
|
analysis;
|
|
6
8
|
diagnostics = [];
|
|
7
9
|
normalized = new Map();
|
|
8
10
|
allNodeClasses;
|
|
11
|
+
concreteNodeClasses;
|
|
9
12
|
#invalidPolicyRefs = new Set();
|
|
10
13
|
constructor(environment, analysis) {
|
|
11
14
|
this.environment = environment;
|
|
12
15
|
this.analysis = analysis;
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
const nodeClasses = [...environment.definitions.values()].filter((value) => value.ref.kind === 'class' && value.kind === 'node');
|
|
17
|
+
this.allNodeClasses = nodeClasses.map((value) => value.ref);
|
|
18
|
+
this.concreteNodeClasses = nodeClasses
|
|
19
|
+
.filter((value) => !value.declaration.abstract)
|
|
15
20
|
.map((value) => value.ref);
|
|
16
21
|
}
|
|
17
22
|
resolveNodeClass(ref, pointer) {
|
|
18
23
|
const resolved = this.environment.resolve(ref);
|
|
19
|
-
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.
|
|
20
|
-
this.add('PL_REF', pointer, `${
|
|
24
|
+
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'node') {
|
|
25
|
+
this.add('PL_REF', pointer, `${formatDefinitionRef(ref)} does not resolve to an owning/direct-dependency Node Class.`, formatDefinitionRef(ref));
|
|
21
26
|
return undefined;
|
|
22
27
|
}
|
|
23
28
|
return resolved;
|
|
24
29
|
}
|
|
25
30
|
resolveEdge(ref, pointer) {
|
|
26
31
|
const resolved = this.environment.resolve(ref);
|
|
27
|
-
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.
|
|
28
|
-
this.add('PL_REF', pointer, `${
|
|
32
|
+
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'edge') {
|
|
33
|
+
this.add('PL_REF', pointer, `${formatDefinitionRef(ref)} does not resolve to an owning/direct-dependency Edge Class.`, formatDefinitionRef(ref));
|
|
29
34
|
return undefined;
|
|
30
35
|
}
|
|
31
36
|
return resolved;
|
|
32
37
|
}
|
|
33
38
|
resolvePolicy(ref, pointer) {
|
|
34
|
-
const key = `${pointer}\u0000${
|
|
39
|
+
const key = `${pointer}\u0000${definitionRefIndex(ref)}`;
|
|
35
40
|
if (this.#invalidPolicyRefs.has(key))
|
|
36
41
|
return false;
|
|
37
42
|
const declaration = this.environment.resolvePolicy(ref);
|
|
@@ -39,7 +44,7 @@ export class PolicyValidationContext {
|
|
|
39
44
|
ref.kind !== 'policy' ||
|
|
40
45
|
declaration === undefined) {
|
|
41
46
|
this.#invalidPolicyRefs.add(key);
|
|
42
|
-
this.add('PL_REF', pointer, `${
|
|
47
|
+
this.add('PL_REF', pointer, `${formatDefinitionRef(ref)} is not an exact local named Policy ref.`, formatDefinitionRef(ref));
|
|
43
48
|
return false;
|
|
44
49
|
}
|
|
45
50
|
return true;
|
|
@@ -51,41 +56,27 @@ export class PolicyValidationContext {
|
|
|
51
56
|
}
|
|
52
57
|
edgeDeclaration(ref) {
|
|
53
58
|
const resolved = this.environment.resolve(ref);
|
|
54
|
-
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.
|
|
59
|
+
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'edge') {
|
|
55
60
|
return undefined;
|
|
56
61
|
}
|
|
57
|
-
|
|
58
|
-
return declaration.family === 'edge' ? declaration : undefined;
|
|
62
|
+
return resolved.declaration;
|
|
59
63
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
const declaration = resolved.declaration;
|
|
66
|
-
if (declaration.family !== 'node')
|
|
67
|
-
return false;
|
|
68
|
-
return declaration.implements.some((parent) => this.interfaceExtends(parent, required));
|
|
69
|
-
}
|
|
70
|
-
interfaceExtends(candidate, required) {
|
|
71
|
-
if (schemaRefIndex(candidate) === schemaRefIndex(required))
|
|
64
|
+
/** Return true when candidate is the required Class or a same-kind descendant. */
|
|
65
|
+
classExtends(candidate, required) {
|
|
66
|
+
if (definitionRefIndex(candidate) === definitionRefIndex(required))
|
|
72
67
|
return true;
|
|
73
68
|
const visited = new Set();
|
|
74
69
|
const visit = (ref) => {
|
|
75
|
-
const key =
|
|
76
|
-
if (key ===
|
|
70
|
+
const key = definitionRefIndex(ref);
|
|
71
|
+
if (key === definitionRefIndex(required))
|
|
77
72
|
return true;
|
|
78
73
|
if (visited.has(key))
|
|
79
74
|
return false;
|
|
80
75
|
visited.add(key);
|
|
81
76
|
const resolved = this.environment.resolveAny(ref);
|
|
82
|
-
if (resolved === undefined ||
|
|
83
|
-
resolved.ref.kind !== 'interface' ||
|
|
84
|
-
(resolved.family !== 'node' && resolved.family !== 'both')) {
|
|
77
|
+
if (resolved === undefined || resolved.ref.kind !== 'class')
|
|
85
78
|
return false;
|
|
86
|
-
|
|
87
|
-
const declaration = resolved.declaration;
|
|
88
|
-
return declaration.extends.some(visit);
|
|
79
|
+
return resolved.declaration.extends.some(visit);
|
|
89
80
|
};
|
|
90
81
|
return visit(candidate);
|
|
91
82
|
}
|
|
@@ -96,4 +87,3 @@ export class PolicyValidationContext {
|
|
|
96
87
|
export function escapePointer(value) {
|
|
97
88
|
return value.replaceAll('~', '~0').replaceAll('/', '~1');
|
|
98
89
|
}
|
|
99
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { branchesOf, isConnected, targetMode } from '../../../language/policy/analysis/branches.js';
|
|
2
|
+
import { normalizePolicyExpression, normalizePolicyPattern, } from '../../../language/policy/normalization/normalize.js';
|
|
3
3
|
import { MAX_REPEAT, MAX_VARIABLES } from './budgets.js';
|
|
4
4
|
import { escapePointer } from './context.js';
|
|
5
5
|
export function validatePolicyReferences(context) {
|
|
6
6
|
for (const [name, declaration] of Object.entries(context.environment.candidate.policies)) {
|
|
7
7
|
const pointer = `/policies/${escapePointer(name)}`;
|
|
8
|
-
context.
|
|
9
|
-
if (
|
|
10
|
-
|
|
8
|
+
const expected = { origin: context.environment.candidate.origin, kind: 'policy', name };
|
|
9
|
+
if (declaration.ref.origin !== expected.origin ||
|
|
10
|
+
declaration.ref.kind !== expected.kind ||
|
|
11
|
+
declaration.ref.name !== expected.name) {
|
|
12
|
+
context.add('DV_REF_RESOLVES', `${pointer}/ref`, `Policy ref must be exactly ${expected.origin}:policy.${expected.name}.`);
|
|
13
|
+
}
|
|
14
|
+
const expression = declaration.expression;
|
|
15
|
+
context.normalized.set(name, normalizePolicyExpression(expression));
|
|
16
|
+
if ('match' in expression)
|
|
17
|
+
validateMatch(context, name, expression.match, pointer);
|
|
11
18
|
else
|
|
12
|
-
validateComposition(context,
|
|
19
|
+
validateComposition(context, expression, pointer);
|
|
13
20
|
}
|
|
14
21
|
validateCycles(context);
|
|
15
22
|
}
|
|
@@ -111,8 +118,9 @@ function validateCycles(context) {
|
|
|
111
118
|
return;
|
|
112
119
|
visiting.add(name);
|
|
113
120
|
const declaration = context.environment.candidate.policies[name];
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
const expression = declaration?.expression;
|
|
122
|
+
if (expression !== undefined && !('match' in expression)) {
|
|
123
|
+
const refs = 'allOf' in expression ? expression.allOf : expression.anyOf;
|
|
116
124
|
for (const ref of refs) {
|
|
117
125
|
if (ref.origin === context.environment.candidate.origin && ref.kind === 'policy') {
|
|
118
126
|
visit(ref.name, [...stack, name]);
|
|
@@ -133,4 +141,3 @@ function patternOperands(value) {
|
|
|
133
141
|
function isEdge(value) {
|
|
134
142
|
return 'source' in value;
|
|
135
143
|
}
|
|
136
|
-
//# sourceMappingURL=references.js.map
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
+
import type { ClassRef } from '../../../addressing/index.js';
|
|
1
2
|
import type { PolicyValidationContext } from './context.js';
|
|
2
|
-
import { type ClassRef, type DefinitionRef, type InterfaceRef } from '../../reference.js';
|
|
3
3
|
export type ObjectContract = {
|
|
4
4
|
readonly kind: 'default';
|
|
5
5
|
} | {
|
|
6
6
|
readonly kind: 'exact';
|
|
7
7
|
readonly ref: ClassRef;
|
|
8
|
-
} | {
|
|
9
|
-
readonly kind: 'universal-interface';
|
|
10
|
-
readonly ref: InterfaceRef;
|
|
11
8
|
};
|
|
12
9
|
export declare class PolicyTyping {
|
|
13
10
|
#private;
|
|
@@ -16,8 +13,7 @@ export declare class PolicyTyping {
|
|
|
16
13
|
validatePolicies(): void;
|
|
17
14
|
policyAccepts(name: string, object: ObjectContract): boolean;
|
|
18
15
|
policyAcceptsEdge(name: string, source: ObjectContract, target: ObjectContract): boolean;
|
|
19
|
-
concreteEndpointClasses(accepts: readonly
|
|
20
|
-
endpointsOverlap(left: readonly
|
|
16
|
+
concreteEndpointClasses(accepts: readonly ClassRef[]): readonly ClassRef[];
|
|
17
|
+
endpointsOverlap(left: readonly ClassRef[], right: readonly ClassRef[]): boolean;
|
|
21
18
|
}
|
|
22
|
-
export declare function contractOfNodeDefinition(ref:
|
|
23
|
-
//# sourceMappingURL=typing.d.ts.map
|
|
19
|
+
export declare function contractOfNodeDefinition(ref: ClassRef): ObjectContract;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { branchesOf, branchProduct, capBranches, targetMode, termKey, } from '
|
|
1
|
+
import { definitionRefIndex } from '../../../addressing/ordering.js';
|
|
2
|
+
import { branchesOf, branchProduct, capBranches, targetMode, termKey, } from '../../../language/policy/analysis/branches.js';
|
|
3
3
|
import { MAX_REPEAT } from './budgets.js';
|
|
4
4
|
import { escapePointer } from './context.js';
|
|
5
|
-
const IDENTITY_REF = {
|
|
6
|
-
origin: 'kernel.astrale.ai',
|
|
7
|
-
kind: 'interface',
|
|
8
|
-
name: 'Identity',
|
|
9
|
-
};
|
|
10
5
|
export class PolicyTyping {
|
|
11
6
|
context;
|
|
12
7
|
constructor(context) {
|
|
@@ -20,7 +15,7 @@ export class PolicyTyping {
|
|
|
20
15
|
for (const [index, branch] of branches.entries()) {
|
|
21
16
|
const mode = targetMode(branch);
|
|
22
17
|
if (mode === undefined) {
|
|
23
|
-
if (!('match' in this.context.environment.candidate.policies[name])) {
|
|
18
|
+
if (!('match' in this.context.environment.candidate.policies[name].expression)) {
|
|
24
19
|
this.context.add('PL_TARGET', `/policies/${escapePointer(name)}`, `Expanded normalized branch ${index} must use object or both source and target, without mixing target modes.`);
|
|
25
20
|
}
|
|
26
21
|
continue;
|
|
@@ -49,7 +44,7 @@ export class PolicyTyping {
|
|
|
49
44
|
return branches !== undefined && branches.every((branch) => this.#branchIsTyped(branch, use));
|
|
50
45
|
}
|
|
51
46
|
concreteEndpointClasses(accepts) {
|
|
52
|
-
return this.context.
|
|
47
|
+
return this.context.concreteNodeClasses.filter((candidate) => this.#classSatisfiesEndpoint(candidate, accepts));
|
|
53
48
|
}
|
|
54
49
|
endpointsOverlap(left, right) {
|
|
55
50
|
const seed = [{ kind: 'open', requirements: [] }];
|
|
@@ -115,15 +110,6 @@ export class PolicyTyping {
|
|
|
115
110
|
}
|
|
116
111
|
for (const [root, members] of groups) {
|
|
117
112
|
const endpointConstraints = constraints.get(root) ?? [];
|
|
118
|
-
const universal = members
|
|
119
|
-
.map((member) => ({ member, contract: targetContract(member, use) }))
|
|
120
|
-
.find((entry) => entry.contract?.kind === 'universal-interface');
|
|
121
|
-
if (universal !== undefined) {
|
|
122
|
-
if (!this.#universalGroupIsSatisfiable(members, endpointConstraints, universal.member, universal.contract.ref, branch)) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
113
|
let candidates = [{ kind: 'open', requirements: [] }];
|
|
128
114
|
for (const member of members) {
|
|
129
115
|
candidates = this.#applyInitial(candidates, member, branch, use);
|
|
@@ -138,24 +124,9 @@ export class PolicyTyping {
|
|
|
138
124
|
}
|
|
139
125
|
return true;
|
|
140
126
|
}
|
|
141
|
-
#universalGroupIsSatisfiable(members, endpoints, target, contract, branch) {
|
|
142
|
-
for (const member of members) {
|
|
143
|
-
if (member === target)
|
|
144
|
-
continue;
|
|
145
|
-
if (member === 'subject') {
|
|
146
|
-
if (!this.context.interfaceExtends(contract, IDENTITY_REF))
|
|
147
|
-
return false;
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
const exact = this.#exactInitial(member, branch);
|
|
151
|
-
if (exact !== undefined)
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
return endpoints.every((accepts) => accepts.some((accept) => accept.kind === 'interface' && this.context.interfaceExtends(contract, accept)));
|
|
155
|
-
}
|
|
156
127
|
#applyInitial(candidates, term, branch, use) {
|
|
157
128
|
if (term === 'subject')
|
|
158
|
-
return this.#
|
|
129
|
+
return this.#applyAnyNodeClass(candidates);
|
|
159
130
|
const contract = targetContract(term, use);
|
|
160
131
|
if (contract !== undefined) {
|
|
161
132
|
if (contract.kind === 'exact')
|
|
@@ -175,27 +146,21 @@ export class PolicyTyping {
|
|
|
175
146
|
const result = [];
|
|
176
147
|
for (const candidate of candidates) {
|
|
177
148
|
if (candidate.kind === 'exact') {
|
|
178
|
-
if (
|
|
149
|
+
if (definitionRefIndex(candidate.ref) === definitionRefIndex(exact))
|
|
179
150
|
result.push(candidate);
|
|
180
151
|
}
|
|
181
|
-
else if (candidate.requirements.every((required) => this.context.
|
|
152
|
+
else if (candidate.requirements.every((required) => this.context.classExtends(exact, required))) {
|
|
182
153
|
result.push({ kind: 'exact', ref: exact });
|
|
183
154
|
}
|
|
184
155
|
}
|
|
185
156
|
return uniqueCandidates(result);
|
|
186
157
|
}
|
|
187
|
-
#
|
|
188
|
-
return uniqueCandidates(candidates.flatMap((candidate) =>
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
{
|
|
194
|
-
kind: 'open',
|
|
195
|
-
requirements: uniqueInterfaces([...candidate.requirements, required]),
|
|
196
|
-
},
|
|
197
|
-
];
|
|
198
|
-
}));
|
|
158
|
+
#applyAnyNodeClass(candidates) {
|
|
159
|
+
return uniqueCandidates(candidates.flatMap((candidate) => candidate.kind === 'exact'
|
|
160
|
+
? [candidate]
|
|
161
|
+
: this.context.allNodeClasses
|
|
162
|
+
.filter((ref) => candidate.requirements.every((required) => this.context.classExtends(ref, required)))
|
|
163
|
+
.map((ref) => ({ kind: 'exact', ref }))));
|
|
199
164
|
}
|
|
200
165
|
#applyEndpoint(candidates, accepts) {
|
|
201
166
|
const result = [];
|
|
@@ -206,22 +171,16 @@ export class PolicyTyping {
|
|
|
206
171
|
continue;
|
|
207
172
|
}
|
|
208
173
|
for (const accept of accepts) {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
else if (candidate.requirements.every((required) => this.context.classImplements(accept, required))) {
|
|
216
|
-
result.push({ kind: 'exact', ref: accept });
|
|
217
|
-
}
|
|
174
|
+
result.push({
|
|
175
|
+
kind: 'open',
|
|
176
|
+
requirements: uniqueClasses([...candidate.requirements, accept]),
|
|
177
|
+
});
|
|
218
178
|
}
|
|
219
179
|
}
|
|
220
180
|
return uniqueCandidates(result);
|
|
221
181
|
}
|
|
222
182
|
#classSatisfiesEndpoint(candidate, accepts) {
|
|
223
|
-
return accepts.some((accept) => (
|
|
224
|
-
(accept.kind === 'interface' && this.context.classImplements(candidate, accept)));
|
|
183
|
+
return accepts.some((accept) => this.context.classExtends(candidate, accept));
|
|
225
184
|
}
|
|
226
185
|
}
|
|
227
186
|
function targetContract(term, use) {
|
|
@@ -234,7 +193,7 @@ function targetContract(term, use) {
|
|
|
234
193
|
return undefined;
|
|
235
194
|
}
|
|
236
195
|
export function contractOfNodeDefinition(ref) {
|
|
237
|
-
return
|
|
196
|
+
return { kind: 'exact', ref };
|
|
238
197
|
}
|
|
239
198
|
function edgeAlternatives(edges, typing) {
|
|
240
199
|
let result = [[]];
|
|
@@ -312,7 +271,7 @@ function uniqueEdgeVariants(values) {
|
|
|
312
271
|
const result = new Map();
|
|
313
272
|
for (const value of values) {
|
|
314
273
|
const key = `${value.constraints
|
|
315
|
-
.map(([term, accepts]) => `${term}:${accepts.map(
|
|
274
|
+
.map(([term, accepts]) => `${term}:${accepts.map(definitionRefIndex).sort().join(',')}`)
|
|
316
275
|
.join('|')}=${value.equalities.map(([left, right]) => `${left}:${right}`).join('|')}`;
|
|
317
276
|
result.set(key, value);
|
|
318
277
|
}
|
|
@@ -322,14 +281,14 @@ function uniqueCandidates(values) {
|
|
|
322
281
|
const result = new Map();
|
|
323
282
|
for (const value of values) {
|
|
324
283
|
const key = value.kind === 'exact'
|
|
325
|
-
? `exact:${
|
|
326
|
-
: `open:${value.requirements.map(
|
|
284
|
+
? `exact:${definitionRefIndex(value.ref)}`
|
|
285
|
+
: `open:${value.requirements.map(definitionRefIndex).sort().join('|')}`;
|
|
327
286
|
result.set(key, value);
|
|
328
287
|
}
|
|
329
288
|
return [...result.values()];
|
|
330
289
|
}
|
|
331
|
-
function
|
|
332
|
-
return [...new Map(values.map((value) => [
|
|
290
|
+
function uniqueClasses(values) {
|
|
291
|
+
return [...new Map(values.map((value) => [definitionRefIndex(value), value])).values()];
|
|
333
292
|
}
|
|
334
293
|
class UnionFind {
|
|
335
294
|
#parents = new Map();
|
|
@@ -357,4 +316,3 @@ class UnionFind {
|
|
|
357
316
|
this.#parents.set(b, a);
|
|
358
317
|
}
|
|
359
318
|
}
|
|
360
|
-
//# sourceMappingURL=typing.js.map
|
|
@@ -3,4 +3,3 @@ import { type PolicyTyping } from './typing.js';
|
|
|
3
3
|
export declare function validateReadUses(context: PolicyValidationContext, typing: PolicyTyping): void;
|
|
4
4
|
export declare function validateTraverseUses(context: PolicyValidationContext, typing: PolicyTyping): void;
|
|
5
5
|
export declare function validateCallableUses(context: PolicyValidationContext, typing: PolicyTyping): void;
|
|
6
|
-
//# sourceMappingURL=uses.d.ts.map
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { normalizePolicyChecks } from '
|
|
1
|
+
import { Key } from '../../../addressing/index.js';
|
|
2
|
+
import { definitionRefIndex } from '../../../addressing/ordering.js';
|
|
3
|
+
import { normalizePolicyChecks } from '../../../language/policy/normalization/normalize.js';
|
|
4
|
+
import { GRAPH_NODE_PATH_SCHEMA_ID } from '../../../language/value/syntax/node-path/schema.js';
|
|
4
5
|
import { MAX_BRANCHES, MAX_CHECK_DEPTH, MAX_CHECK_LEAVES, measureChecks } from './budgets.js';
|
|
5
6
|
import { escapePointer } from './context.js';
|
|
6
7
|
import { contractOfNodeDefinition } from './typing.js';
|
|
8
|
+
const formatDefinitionRef = Key.of;
|
|
7
9
|
const KERNEL_ORIGIN = 'kernel.astrale.ai';
|
|
8
10
|
const PROJECTION_CLASS = nodeClassRef('Class');
|
|
9
11
|
const PROJECTION_FUNCTION = nodeClassRef('Function');
|
|
10
|
-
const PROJECTION_INTERFACE = nodeClassRef('Interface');
|
|
11
12
|
const PROJECTION_POLICY = nodeClassRef('Policy');
|
|
12
13
|
const PROJECTION_VIEW = nodeClassRef('View');
|
|
13
14
|
export function validateReadUses(context, typing) {
|
|
14
15
|
for (const [name, declaration] of Object.entries(context.environment.candidate.classes)) {
|
|
15
|
-
if (declaration.
|
|
16
|
+
if (declaration.kind !== 'node' || declaration.policies.read === undefined) {
|
|
16
17
|
continue;
|
|
17
18
|
}
|
|
18
19
|
const pointer = `/classes/${escapePointer(name)}/policies/read`;
|
|
@@ -24,7 +25,7 @@ export function validateReadUses(context, typing) {
|
|
|
24
25
|
ref: { origin: context.environment.candidate.origin, kind: 'class', name },
|
|
25
26
|
};
|
|
26
27
|
if (!typing.policyAccepts(ref.name, object)) {
|
|
27
|
-
context.add('PL_USE', pointer, `${
|
|
28
|
+
context.add('PL_USE', pointer, `${formatDefinitionRef(ref)} is not valid for every normalized branch of protected Class ${name}.`, formatDefinitionRef(ref));
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -36,13 +37,13 @@ export function validateTraverseUses(context, typing) {
|
|
|
36
37
|
const pointer = `/classes/${escapePointer(name)}/policies/traverse`;
|
|
37
38
|
if (!context.resolvePolicy(ref, pointer))
|
|
38
39
|
continue;
|
|
39
|
-
if (declaration.
|
|
40
|
+
if (declaration.kind === 'node') {
|
|
40
41
|
const object = {
|
|
41
42
|
kind: 'exact',
|
|
42
43
|
ref: { origin: context.environment.candidate.origin, kind: 'class', name },
|
|
43
44
|
};
|
|
44
45
|
if (!typing.policyAccepts(ref.name, object)) {
|
|
45
|
-
context.add('PL_USE', pointer, `${
|
|
46
|
+
context.add('PL_USE', pointer, `${formatDefinitionRef(ref)} is not valid for every normalized branch of traversed Node Class ${name}.`, formatDefinitionRef(ref));
|
|
46
47
|
}
|
|
47
48
|
continue;
|
|
48
49
|
}
|
|
@@ -63,7 +64,7 @@ export function validateTraverseUses(context, typing) {
|
|
|
63
64
|
break;
|
|
64
65
|
}
|
|
65
66
|
if (!accepted) {
|
|
66
|
-
context.add('PL_USE', pointer, `${
|
|
67
|
+
context.add('PL_USE', pointer, `${formatDefinitionRef(ref)} is not valid for every concrete source/target pair of traversed Edge Class ${name}.`, formatDefinitionRef(ref));
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -77,17 +78,8 @@ export function validateCallableUses(context, typing) {
|
|
|
77
78
|
instanceMethod: false,
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
|
-
for (const [name, declaration] of Object.entries(context.environment.candidate.interfaces)) {
|
|
81
|
-
if (declaration.family !== 'node')
|
|
82
|
-
continue;
|
|
83
|
-
validateDeclaredMethods(context, typing, 'interfaces', name, declaration.methods, {
|
|
84
|
-
origin: context.environment.candidate.origin,
|
|
85
|
-
kind: 'interface',
|
|
86
|
-
name,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
81
|
for (const [name, declaration] of Object.entries(context.environment.candidate.classes)) {
|
|
90
|
-
if (declaration.
|
|
82
|
+
if (declaration.kind !== 'node')
|
|
91
83
|
continue;
|
|
92
84
|
validateDeclaredMethods(context, typing, 'classes', name, declaration.methods, {
|
|
93
85
|
origin: context.environment.candidate.origin,
|
|
@@ -97,7 +89,7 @@ export function validateCallableUses(context, typing) {
|
|
|
97
89
|
}
|
|
98
90
|
}
|
|
99
91
|
function validateDeclaredMethods(context, typing, namespace, name, methods, receiver) {
|
|
100
|
-
const ownerAnalysis = context.analysis.definitions.get(
|
|
92
|
+
const ownerAnalysis = context.analysis.definitions.get(definitionRefIndex(receiver));
|
|
101
93
|
for (const [methodName, method] of Object.entries(methods)) {
|
|
102
94
|
if (method.policy === undefined)
|
|
103
95
|
continue;
|
|
@@ -138,7 +130,7 @@ function visitChecks(validation, typing, expression, context, pointer) {
|
|
|
138
130
|
return;
|
|
139
131
|
for (const contract of contracts) {
|
|
140
132
|
if (!typing.policyAccepts(expression.check.name, contract)) {
|
|
141
|
-
validation.add('PL_USE', pointer, `${
|
|
133
|
+
validation.add('PL_USE', pointer, `${formatDefinitionRef(expression.check)} is incompatible with the callable object contract.`, formatDefinitionRef(expression.check));
|
|
142
134
|
break;
|
|
143
135
|
}
|
|
144
136
|
}
|
|
@@ -155,12 +147,6 @@ function referenceContracts(validation, ref, pointer) {
|
|
|
155
147
|
if (ref.origin !== candidate.origin)
|
|
156
148
|
return invalidPolicyObjectRef(validation, ref, pointer);
|
|
157
149
|
switch (ref.kind) {
|
|
158
|
-
case 'interface': {
|
|
159
|
-
const resolved = validation.environment.resolve(ref);
|
|
160
|
-
return resolved?.ref.kind === ref.kind
|
|
161
|
-
? [{ kind: 'exact', ref: PROJECTION_INTERFACE }]
|
|
162
|
-
: invalidPolicyObjectRef(validation, ref, pointer);
|
|
163
|
-
}
|
|
164
150
|
case 'class': {
|
|
165
151
|
const resolved = validation.environment.resolve(ref);
|
|
166
152
|
return resolved?.ref.kind === ref.kind
|
|
@@ -184,21 +170,22 @@ function referenceContracts(validation, ref, pointer) {
|
|
|
184
170
|
if (node === undefined)
|
|
185
171
|
return invalidPolicyObjectRef(validation, ref, pointer);
|
|
186
172
|
const resolved = validation.environment.resolve(node.class);
|
|
187
|
-
const analyzed = validation.analysis.definitions.get(
|
|
173
|
+
const analyzed = validation.analysis.definitions.get(definitionRefIndex(node.class));
|
|
188
174
|
// Core validation owns invalid Core Class diagnostics. Avoid adding Policy noise for
|
|
189
175
|
// a Node that cannot materialize in the first place.
|
|
190
176
|
if (node.class.origin !== candidate.origin ||
|
|
191
177
|
resolved?.ref.kind !== 'class' ||
|
|
192
|
-
resolved.
|
|
178
|
+
resolved.kind !== 'node' ||
|
|
193
179
|
analyzed === undefined) {
|
|
194
180
|
return undefined;
|
|
195
181
|
}
|
|
196
182
|
return [contractOfNodeDefinition(node.class)];
|
|
197
183
|
}
|
|
198
184
|
}
|
|
185
|
+
return invalidPolicyObjectRef(validation, ref, pointer);
|
|
199
186
|
}
|
|
200
187
|
function invalidPolicyObjectRef(validation, ref, pointer) {
|
|
201
|
-
validation.add('PL_REF', `${pointer}/ref`, `${
|
|
188
|
+
validation.add('PL_REF', `${pointer}/ref`, `${formatDefinitionRef(ref)} is not an exact local projected Policy object.`, formatDefinitionRef(ref));
|
|
202
189
|
return undefined;
|
|
203
190
|
}
|
|
204
191
|
function selfContracts(validation, context, pointer) {
|
|
@@ -238,8 +225,8 @@ function inputContracts(validation, context, field, pointer) {
|
|
|
238
225
|
return undefined;
|
|
239
226
|
}
|
|
240
227
|
const resolved = validation.environment.resolve(ref);
|
|
241
|
-
if (resolved === undefined || resolved.
|
|
242
|
-
validation.add('PL_USE', pointer, `input.${field} ref ${
|
|
228
|
+
if (resolved === undefined || resolved.ref.kind !== 'class' || resolved.kind !== 'node') {
|
|
229
|
+
validation.add('PL_USE', pointer, `input.${field} ref ${formatDefinitionRef(ref)} does not resolve as an allowed Node Definition.`, formatDefinitionRef(ref));
|
|
243
230
|
return undefined;
|
|
244
231
|
}
|
|
245
232
|
contracts.push(contractOfNodeDefinition(ref));
|
|
@@ -258,7 +245,7 @@ function isDefinitionRef(value) {
|
|
|
258
245
|
const record = asRecord(value);
|
|
259
246
|
return (record !== undefined &&
|
|
260
247
|
typeof record.origin === 'string' &&
|
|
261
|
-
|
|
248
|
+
record.kind === 'class' &&
|
|
262
249
|
typeof record.name === 'string');
|
|
263
250
|
}
|
|
264
251
|
function checkOperands(value) {
|
|
@@ -269,4 +256,3 @@ function checkOperands(value) {
|
|
|
269
256
|
function nodeClassRef(name) {
|
|
270
257
|
return { origin: KERNEL_ORIGIN, kind: 'class', name };
|
|
271
258
|
}
|
|
272
|
-
//# sourceMappingURL=uses.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { DefinitionAnalysisResult } from '../../
|
|
2
|
-
import type {
|
|
1
|
+
import type { DefinitionAnalysisResult } from '../../analysis/class.js';
|
|
2
|
+
import type { SchemaDiagnostic } from '../../diagnostic.js';
|
|
3
3
|
import type { DomainResolutionContext } from '../../resolution/context.js';
|
|
4
4
|
/**
|
|
5
5
|
* Validates the closed V1 Policy language after structural parsing.
|
|
@@ -8,5 +8,4 @@ import type { DomainResolutionContext } from '../../resolution/context.js';
|
|
|
8
8
|
* failure. Environment and definition diagnostics are owned by their respective
|
|
9
9
|
* validators and are therefore not repeated here.
|
|
10
10
|
*/
|
|
11
|
-
export declare function validatePolicies(environment: DomainResolutionContext, analysis: DefinitionAnalysisResult): readonly
|
|
12
|
-
//# sourceMappingURL=validate.d.ts.map
|
|
11
|
+
export declare function validatePolicies(environment: DomainResolutionContext, analysis: DefinitionAnalysisResult): readonly SchemaDiagnostic[];
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/** The exact V1 value-schema grammar embedded in DomainSchema declarations. */
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { OrderingKind } from '
|
|
5
|
-
import type {
|
|
6
|
-
export { VALUE_SCHEMA_DIALECT as DIALECT, VALUE_SCHEMA_VOCABULARY as VOCABULARY } from '
|
|
7
|
-
export type { JsonSchema as Schema, JsonSchemaObject as SchemaObject, PathAnnotation, PropertyObjectSchema as PropertySchema, ValueSchemaContext as Context, } from '
|
|
8
|
-
export { instant } from '
|
|
9
|
-
export type { OrderingKind } from '
|
|
2
|
+
import type { Diagnostic } from '../../language/validation/diagnostic.js';
|
|
3
|
+
import type { JsonSchema } from '../../language/value/model/schema.js';
|
|
4
|
+
import type { OrderingKind } from '../../language/value/ordering.js';
|
|
5
|
+
import type { DomainSchema } from '../model/schema.js';
|
|
6
|
+
export { VALUE_SCHEMA_DIALECT as DIALECT, VALUE_SCHEMA_VOCABULARY as VOCABULARY, } from '../../language/value/model/schema.js';
|
|
7
|
+
export type { JsonSchema as Schema, JsonSchemaObject as SchemaObject, PathAnnotation, PropertyObjectSchema as PropertySchema, ValueSchemaContext as Context, } from '../../language/value/model/schema.js';
|
|
8
|
+
export { instant } from '../../language/value/model/instant.js';
|
|
9
|
+
export type { OrderingKind } from '../../language/value/ordering.js';
|
|
10
10
|
/** Validate one complete JSON value under the exact accepted schema that owns the contract. */
|
|
11
|
-
export declare function validate(owner: DomainSchema, contract: JsonSchema, input: unknown, pointer?: string): readonly
|
|
11
|
+
export declare function validate(owner: DomainSchema, contract: JsonSchema, input: unknown, pointer?: string): readonly Diagnostic[];
|
|
12
12
|
/** Return the one portable scalar ordering domain admitted by a property schema, if any. */
|
|
13
13
|
export declare function classifyOrdering(owner: DomainSchema, contract: JsonSchema): OrderingKind | undefined;
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** The exact V1 value-schema grammar embedded in DomainSchema declarations. */
|
|
2
|
+
import { validateJsonInstance } from '../../language/value/evaluate/validate.js';
|
|
3
|
+
import { classifyOrdering as classifyOrderingWithRegistry } from '../../language/value/ordering.js';
|
|
2
4
|
import { createDomainValueSchemaRegistry } from '../resolution/value.registry.js';
|
|
3
|
-
import { validateJsonInstance } from './instance.validate.js';
|
|
4
|
-
import { classifyOrdering as classifyOrderingWithRegistry } from './ordering.js';
|
|
5
5
|
const registries = new WeakMap();
|
|
6
|
-
export { VALUE_SCHEMA_DIALECT as DIALECT, VALUE_SCHEMA_VOCABULARY as VOCABULARY } from '
|
|
7
|
-
export { instant } from '
|
|
6
|
+
export { VALUE_SCHEMA_DIALECT as DIALECT, VALUE_SCHEMA_VOCABULARY as VOCABULARY, } from '../../language/value/model/schema.js';
|
|
7
|
+
export { instant } from '../../language/value/model/instant.js';
|
|
8
8
|
/** Validate one complete JSON value under the exact accepted schema that owns the contract. */
|
|
9
9
|
export function validate(owner, contract, input, pointer = '') {
|
|
10
10
|
return validateJsonInstance(contract, input, registryFor(owner), pointer);
|
|
@@ -21,4 +21,3 @@ function registryFor(owner) {
|
|
|
21
21
|
}
|
|
22
22
|
return registry;
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
export declare function validateEmbeddedValueSchemas(schema: DomainSchemaIR, registry: ValueSchemaRegistry): readonly
|
|
5
|
-
//# sourceMappingURL=value.d.ts.map
|
|
1
|
+
import type { ValueSchemaRegistry } from '../../language/value/reference/registry.js';
|
|
2
|
+
import type { SchemaDiagnostic } from '../diagnostic.js';
|
|
3
|
+
import type { DomainSchemaIR } from '../model/schema.js';
|
|
4
|
+
export declare function validateEmbeddedValueSchemas(schema: DomainSchemaIR, registry: ValueSchemaRegistry): readonly SchemaDiagnostic[];
|