@astrale-os/kernel-dsl 0.1.5 → 0.2.0-beta.10
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 +1 -57
- package/dist/index.js +1 -31
- package/dist/upgrade/contract.d.ts +31 -0
- package/dist/upgrade/contract.js +1 -0
- package/dist/upgrade/index.d.ts +1 -0
- package/dist/upgrade/index.js +1 -0
- 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 +18 -0
- package/dist/v1/addressing/domain-dependency.js +6 -0
- package/dist/v1/addressing/index.d.ts +12 -0
- package/dist/v1/addressing/index.js +7 -0
- package/dist/v1/addressing/key.d.ts +19 -0
- package/dist/v1/addressing/key.js +39 -0
- 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 +27 -0
- package/dist/v1/addressing/patterns.js +29 -0
- package/dist/v1/addressing/property-key.d.ts +13 -0
- package/dist/v1/addressing/property-key.js +39 -0
- package/dist/v1/addressing/revision.d.ts +8 -0
- package/dist/v1/addressing/revision.js +8 -0
- package/dist/v1/builder/callable/authoring.d.ts +117 -0
- package/dist/v1/builder/callable/authoring.js +67 -0
- package/dist/v1/builder/class/authoring.d.ts +367 -0
- package/dist/v1/builder/class/authoring.js +134 -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 +42 -0
- package/dist/v1/builder/core/authoring.js +39 -0
- package/dist/v1/builder/index.d.ts +26 -0
- package/dist/v1/builder/index.js +11 -0
- package/dist/v1/builder/lowering/callable.d.ts +24 -0
- package/dist/v1/builder/lowering/callable.js +135 -0
- 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/lowering/core-properties.js +76 -0
- package/dist/v1/builder/lowering/core.d.ts +22 -0
- package/dist/v1/builder/lowering/core.js +50 -0
- package/dist/v1/builder/lowering/policy.d.ts +16 -0
- package/dist/v1/builder/lowering/policy.js +59 -0
- package/dist/v1/builder/lowering/schema/capture.d.ts +4 -0
- package/dist/v1/builder/lowering/schema/capture.js +70 -0
- package/dist/v1/builder/lowering/schema/compile.d.ts +10 -0
- package/dist/v1/builder/lowering/schema/compile.js +80 -0
- package/dist/v1/builder/lowering/schema/context.d.ts +44 -0
- package/dist/v1/builder/lowering/schema/context.js +247 -0
- package/dist/v1/builder/lowering/schema/ownership.d.ts +8 -0
- package/dist/v1/builder/lowering/schema/ownership.js +29 -0
- package/dist/v1/builder/lowering/value/compile.d.ts +15 -0
- package/dist/v1/builder/lowering/value/compile.js +136 -0
- package/dist/v1/builder/lowering/value/path.d.ts +3 -0
- package/dist/v1/builder/lowering/value/path.js +20 -0
- package/dist/v1/builder/lowering/value/zod.d.ts +32 -0
- package/dist/v1/builder/lowering/value/zod.js +342 -0
- package/dist/v1/builder/lowering/view.d.ts +11 -0
- package/dist/v1/builder/lowering/view.js +27 -0
- package/dist/v1/builder/policy/authoring.d.ts +52 -0
- package/dist/v1/builder/policy/authoring.js +90 -0
- package/dist/v1/builder/schema/define.d.ts +11 -0
- package/dist/v1/builder/schema/define.js +5 -0
- package/dist/v1/builder/schema/diagnostic.d.ts +16 -0
- package/dist/v1/builder/schema/diagnostic.js +31 -0
- package/dist/v1/builder/schema/handle.d.ts +7 -0
- package/dist/v1/builder/schema/handle.js +14 -0
- package/dist/v1/builder/schema/input.d.ts +15 -0
- package/dist/v1/builder/schema/input.js +1 -0
- package/dist/v1/builder/schema/lazy.d.ts +2 -0
- package/dist/v1/builder/schema/lazy.js +13 -0
- package/dist/v1/builder/schema/projection.d.ts +364 -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/value/path-metadata.js +7 -0
- package/dist/v1/builder/value/path.d.ts +8 -0
- package/dist/v1/builder/value/path.js +11 -0
- package/dist/v1/builder/value/schema.d.ts +16 -0
- package/dist/v1/builder/value/schema.js +10 -0
- package/dist/v1/builder/view/authoring.d.ts +17 -0
- package/dist/v1/builder/view/authoring.js +16 -0
- package/dist/v1/bundle/codec.d.ts +5 -0
- package/dist/v1/bundle/codec.js +168 -0
- 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 +18 -0
- package/dist/v1/bundle/index.js +20 -0
- package/dist/v1/bundle/model.d.ts +16 -0
- package/dist/v1/bundle/model.js +11 -0
- package/dist/v1/bundle/structure.d.ts +7 -0
- package/dist/v1/bundle/structure.js +71 -0
- 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 +881 -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 +141 -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 +264 -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 +59 -0
- package/dist/v1/domain/model/domain.js +1 -0
- package/dist/v1/domain/model/input.d.ts +31 -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 +16 -0
- package/dist/v1/index.js +8 -0
- 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/language/class/model/data.d.ts +11 -0
- package/dist/v1/language/class/model/data.js +2 -0
- package/dist/v1/language/class/model/edge.d.ts +38 -0
- package/dist/v1/language/class/model/edge.js +1 -0
- package/dist/v1/language/class/model/property.d.ts +18 -0
- 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/language/definition/metadata.d.ts +12 -0
- package/dist/v1/language/definition/metadata.js +12 -0
- 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/language/policy/analysis/branches.d.ts +19 -0
- package/dist/v1/language/policy/analysis/branches.js +132 -0
- package/dist/v1/language/policy/analysis/budgets.d.ts +16 -0
- 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/language/policy/model/policy.d.ts +77 -0
- package/dist/v1/language/policy/model/policy.js +1 -0
- package/dist/v1/language/policy/normalization/normalize.d.ts +4 -0
- package/dist/v1/language/policy/normalization/normalize.js +226 -0
- 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/language/value/compile/load.d.ts +4 -0
- package/dist/v1/language/value/compile/load.js +41 -0
- package/dist/v1/language/value/compile/model.d.ts +27 -0
- package/dist/v1/language/value/compile/model.js +1 -0
- package/dist/v1/language/value/evaluate/assertions.d.ts +6 -0
- package/dist/v1/language/value/evaluate/assertions.js +58 -0
- package/dist/v1/language/value/evaluate/evaluator.d.ts +4 -0
- package/dist/v1/language/value/evaluate/evaluator.js +361 -0
- package/dist/v1/language/value/evaluate/preparation.d.ts +13 -0
- package/dist/v1/language/value/evaluate/preparation.js +135 -0
- package/dist/v1/language/value/evaluate/program.d.ts +3 -0
- package/dist/v1/language/value/evaluate/program.js +16 -0
- package/dist/v1/language/value/evaluate/types.d.ts +36 -0
- package/dist/v1/language/value/evaluate/types.js +9 -0
- package/dist/v1/language/value/evaluate/validate.d.ts +12 -0
- package/dist/v1/language/value/evaluate/validate.js +43 -0
- package/dist/v1/language/value/index.d.ts +11 -0
- package/dist/v1/language/value/index.js +8 -0
- package/dist/v1/language/value/model/instant.d.ts +9 -0
- package/dist/v1/language/value/model/instant.js +37 -0
- package/dist/v1/language/value/model/object.d.ts +5 -0
- package/dist/v1/language/value/model/object.js +3 -0
- package/dist/v1/language/value/model/schema.d.ts +25 -0
- package/dist/v1/language/value/model/schema.js +11 -0
- package/dist/v1/language/value/ordering.d.ts +13 -0
- package/dist/v1/language/value/ordering.js +174 -0
- package/dist/v1/language/value/profile/canonicalize.d.ts +4 -0
- package/dist/v1/language/value/profile/canonicalize.js +130 -0
- package/dist/v1/language/value/profile/json.validate.d.ts +2 -0
- package/dist/v1/language/value/profile/json.validate.js +14 -0
- package/dist/v1/language/value/profile/meta-schema.compiled.d.ts +78 -0
- package/dist/v1/language/value/profile/meta-schema.compiled.js +2079 -0
- package/dist/v1/language/value/profile/meta-schema.d.ts +4 -0
- package/dist/v1/language/value/profile/meta-schema.js +19 -0
- package/dist/v1/language/value/profile/rules.d.ts +3 -0
- package/dist/v1/language/value/profile/rules.js +109 -0
- package/dist/v1/language/value/profile/validate.d.ts +4 -0
- package/dist/v1/language/value/profile/validate.js +39 -0
- package/dist/v1/language/value/profile/vocabulary.d.ts +2 -0
- package/dist/v1/language/value/profile/vocabulary.js +68 -0
- package/dist/v1/language/value/reference/closure.d.ts +11 -0
- package/dist/v1/language/value/reference/closure.js +51 -0
- package/dist/v1/language/value/reference/recursion.d.ts +5 -0
- package/dist/v1/language/value/reference/recursion.js +95 -0
- package/dist/v1/language/value/reference/references.d.ts +17 -0
- package/dist/v1/language/value/reference/references.js +45 -0
- package/dist/v1/language/value/reference/registry.d.ts +24 -0
- package/dist/v1/language/value/reference/registry.index.d.ts +14 -0
- package/dist/v1/language/value/reference/registry.index.js +76 -0
- package/dist/v1/language/value/reference/registry.js +1 -0
- package/dist/v1/language/value/regexp/ast.d.ts +21 -0
- package/dist/v1/language/value/regexp/ast.js +326 -0
- package/dist/v1/language/value/regexp/compile.d.ts +3 -0
- package/dist/v1/language/value/regexp/compile.js +96 -0
- package/dist/v1/language/value/regexp/lower.d.ts +3 -0
- package/dist/v1/language/value/regexp/lower.js +26 -0
- package/dist/v1/language/value/regexp/matcher.d.ts +7 -0
- package/dist/v1/language/value/regexp/matcher.js +50 -0
- package/dist/v1/language/value/regexp/pattern.d.ts +2 -0
- package/dist/v1/language/value/regexp/pattern.js +38 -0
- package/dist/v1/language/value/regexp/syntax.d.ts +2 -0
- package/dist/v1/language/value/regexp/syntax.js +5 -0
- package/dist/v1/language/value/syntax/full-match.d.ts +6 -0
- package/dist/v1/language/value/syntax/full-match.js +20 -0
- package/dist/v1/language/value/syntax/keywords.d.ts +3 -0
- package/dist/v1/language/value/syntax/keywords.js +20 -0
- package/dist/v1/language/value/syntax/node-path/schema.d.ts +5 -0
- package/dist/v1/language/value/syntax/node-path/schema.js +18 -0
- package/dist/v1/language/value/syntax/node-path/validate.d.ts +4 -0
- package/dist/v1/language/value/syntax/node-path/validate.js +80 -0
- package/dist/v1/language/value/syntax/pointer.d.ts +4 -0
- package/dist/v1/language/value/syntax/pointer.js +49 -0
- package/dist/v1/language/value/syntax/walk.d.ts +10 -0
- package/dist/v1/language/value/syntax/walk.js +53 -0
- 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/admission/accept.js +26 -0
- package/dist/v1/schema/analysis/class.d.ts +41 -0
- package/dist/v1/schema/analysis/class.js +181 -0
- package/dist/v1/schema/canonical/domain.d.ts +3 -0
- package/dist/v1/schema/canonical/domain.digest.d.ts +3 -0
- package/dist/v1/schema/canonical/domain.digest.js +5 -0
- package/dist/v1/schema/canonical/domain.js +5 -0
- package/dist/v1/schema/canonical/freeze.d.ts +1 -0
- package/dist/v1/schema/canonical/freeze.js +9 -0
- package/dist/v1/schema/canonical/revision.d.ts +11 -0
- package/dist/v1/schema/canonical/revision.js +17 -0
- package/dist/v1/schema/codec/header.d.ts +17 -0
- package/dist/v1/schema/codec/header.js +26 -0
- package/dist/v1/schema/codec/schema.d.ts +5 -0
- package/dist/v1/schema/codec/schema.js +21 -0
- package/dist/v1/schema/compatibility/meaning.d.ts +29 -0
- package/dist/v1/schema/compatibility/meaning.js +605 -0
- package/dist/v1/schema/dependency/lookup.d.ts +18 -0
- package/dist/v1/schema/dependency/lookup.js +31 -0
- package/dist/v1/schema/diagnostic.d.ts +12 -0
- package/dist/v1/schema/diagnostic.js +21 -0
- package/dist/v1/schema/index.d.ts +26 -0
- package/dist/v1/schema/index.js +13 -0
- 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 +30 -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 +9 -0
- package/dist/v1/schema/resolution/closure.js +49 -0
- package/dist/v1/schema/resolution/context.d.ts +17 -0
- package/dist/v1/schema/resolution/context.js +158 -0
- package/dist/v1/schema/resolution/definition.index.d.ts +21 -0
- package/dist/v1/schema/resolution/definition.index.js +17 -0
- package/dist/v1/schema/resolution/domain.d.ts +4 -0
- package/dist/v1/schema/resolution/domain.js +112 -0
- package/dist/v1/schema/resolution/origins.d.ts +14 -0
- package/dist/v1/schema/resolution/origins.js +121 -0
- package/dist/v1/schema/resolution/value.registry.d.ts +7 -0
- package/dist/v1/schema/resolution/value.registry.js +39 -0
- 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/validation/core.js +264 -0
- package/dist/v1/schema/validation/domain.d.ts +11 -0
- package/dist/v1/schema/validation/domain.js +36 -0
- package/dist/v1/schema/validation/domain.route.d.ts +4 -0
- package/dist/v1/schema/validation/domain.route.js +32 -0
- package/dist/v1/schema/validation/domain.structure.d.ts +4 -0
- package/dist/v1/schema/validation/domain.structure.js +427 -0
- package/dist/v1/schema/validation/policy/budgets.d.ts +4 -0
- package/dist/v1/schema/validation/policy/budgets.js +102 -0
- package/dist/v1/schema/validation/policy/context.d.ts +28 -0
- package/dist/v1/schema/validation/policy/context.js +89 -0
- package/dist/v1/schema/validation/policy/references.d.ts +2 -0
- package/dist/v1/schema/validation/policy/references.js +143 -0
- package/dist/v1/schema/validation/policy/typing.d.ts +19 -0
- package/dist/v1/schema/validation/policy/typing.js +318 -0
- package/dist/v1/schema/validation/policy/uses.d.ts +5 -0
- package/dist/v1/schema/validation/policy/uses.js +258 -0
- package/dist/v1/schema/validation/policy/validate.d.ts +11 -0
- package/dist/v1/schema/validation/policy/validate.js +23 -0
- package/dist/v1/schema/validation/value-api.d.ts +13 -0
- package/dist/v1/schema/validation/value-api.js +23 -0
- package/dist/v1/schema/validation/value.d.ts +4 -0
- package/dist/v1/schema/validation/value.js +39 -0
- package/dist/v1/schema/validation/view.d.ts +3 -0
- package/dist/v1/schema/validation/view.js +29 -0
- package/dist/v1/value/full-match.d.ts +2 -0
- package/dist/v1/value/full-match.js +2 -0
- package/dist/v1.d.ts +2 -0
- package/dist/v1.js +2 -0
- package/dist/value/accept.d.ts +8 -0
- package/dist/value/accept.js +132 -0
- package/dist/value/canonical.d.ts +4 -0
- package/dist/value/canonical.js +41 -0
- package/dist/value/decode.d.ts +4 -0
- package/dist/value/decode.js +108 -0
- package/dist/value/equal.d.ts +3 -0
- package/dist/value/equal.js +5 -0
- package/dist/value/error.d.ts +12 -0
- package/dist/value/error.js +21 -0
- package/dist/value/index.d.ts +9 -0
- package/dist/value/index.js +6 -0
- package/dist/value/json.d.ts +3 -0
- package/dist/value/json.js +3 -0
- package/dist/value/limits.d.ts +21 -0
- package/dist/value/limits.js +15 -0
- package/dist/value/types.d.ts +6 -0
- package/dist/value/types.js +1 -0
- package/dist/value/unicode.d.ts +4 -0
- package/dist/value/unicode.js +64 -0
- package/dist/version/dispatch.d.ts +24 -0
- package/dist/version/dispatch.js +47 -0
- package/dist/version/index.d.ts +2 -0
- package/dist/version/index.js +1 -0
- package/package.json +75 -15
- package/dist/builders/bitmask.d.ts +0 -5
- package/dist/builders/bitmask.d.ts.map +0 -1
- package/dist/builders/bitmask.js +0 -12
- package/dist/builders/bitmask.js.map +0 -1
- package/dist/builders/data.d.ts +0 -7
- package/dist/builders/data.d.ts.map +0 -1
- package/dist/builders/data.js +0 -18
- package/dist/builders/data.js.map +0 -1
- package/dist/builders/definition/base.d.ts +0 -13
- package/dist/builders/definition/base.d.ts.map +0 -1
- package/dist/builders/definition/base.js +0 -24
- package/dist/builders/definition/base.js.map +0 -1
- package/dist/builders/definition/edge-class.d.ts +0 -8
- package/dist/builders/definition/edge-class.d.ts.map +0 -1
- package/dist/builders/definition/edge-class.js +0 -9
- package/dist/builders/definition/edge-class.js.map +0 -1
- package/dist/builders/definition/edge-interface.d.ts +0 -8
- package/dist/builders/definition/edge-interface.d.ts.map +0 -1
- package/dist/builders/definition/edge-interface.js +0 -9
- package/dist/builders/definition/edge-interface.js.map +0 -1
- package/dist/builders/definition/node-class.d.ts +0 -7
- package/dist/builders/definition/node-class.d.ts.map +0 -1
- package/dist/builders/definition/node-class.js +0 -9
- package/dist/builders/definition/node-class.js.map +0 -1
- package/dist/builders/definition/node-interface.d.ts +0 -7
- package/dist/builders/definition/node-interface.d.ts.map +0 -1
- package/dist/builders/definition/node-interface.js +0 -9
- package/dist/builders/definition/node-interface.js.map +0 -1
- package/dist/builders/function.d.ts +0 -34
- package/dist/builders/function.d.ts.map +0 -1
- package/dist/builders/function.js +0 -8
- package/dist/builders/function.js.map +0 -1
- package/dist/builders/policy.d.ts +0 -10
- package/dist/builders/policy.d.ts.map +0 -1
- package/dist/builders/policy.js +0 -28
- package/dist/builders/policy.js.map +0 -1
- package/dist/builders/prop.d.ts +0 -7
- package/dist/builders/prop.d.ts.map +0 -1
- package/dist/builders/prop.js +0 -9
- package/dist/builders/prop.js.map +0 -1
- package/dist/builders/ref.d.ts +0 -12
- package/dist/builders/ref.d.ts.map +0 -1
- package/dist/builders/ref.js +0 -27
- package/dist/builders/ref.js.map +0 -1
- package/dist/grammar/definition/base.d.ts +0 -13
- package/dist/grammar/definition/base.d.ts.map +0 -1
- package/dist/grammar/definition/base.js +0 -2
- package/dist/grammar/definition/base.js.map +0 -1
- package/dist/grammar/definition/discriminants.d.ts +0 -31
- package/dist/grammar/definition/discriminants.d.ts.map +0 -1
- package/dist/grammar/definition/discriminants.js +0 -33
- package/dist/grammar/definition/discriminants.js.map +0 -1
- package/dist/grammar/definition/edge-class.d.ts +0 -19
- package/dist/grammar/definition/edge-class.d.ts.map +0 -1
- package/dist/grammar/definition/edge-class.js +0 -2
- package/dist/grammar/definition/edge-class.js.map +0 -1
- package/dist/grammar/definition/edge-interface.d.ts +0 -18
- package/dist/grammar/definition/edge-interface.d.ts.map +0 -1
- package/dist/grammar/definition/edge-interface.js +0 -2
- package/dist/grammar/definition/edge-interface.js.map +0 -1
- package/dist/grammar/definition/node-class.d.ts +0 -26
- package/dist/grammar/definition/node-class.d.ts.map +0 -1
- package/dist/grammar/definition/node-class.js +0 -2
- package/dist/grammar/definition/node-class.js.map +0 -1
- package/dist/grammar/definition/node-interface.d.ts +0 -14
- package/dist/grammar/definition/node-interface.d.ts.map +0 -1
- package/dist/grammar/definition/node-interface.js +0 -2
- package/dist/grammar/definition/node-interface.js.map +0 -1
- package/dist/grammar/facets/constraints.d.ts +0 -8
- package/dist/grammar/facets/constraints.d.ts.map +0 -1
- package/dist/grammar/facets/constraints.js +0 -2
- package/dist/grammar/facets/constraints.js.map +0 -1
- package/dist/grammar/facets/content.d.ts +0 -4
- package/dist/grammar/facets/content.d.ts.map +0 -1
- package/dist/grammar/facets/content.js +0 -2
- package/dist/grammar/facets/content.js.map +0 -1
- package/dist/grammar/facets/endpoints.d.ts +0 -14
- package/dist/grammar/facets/endpoints.d.ts.map +0 -1
- package/dist/grammar/facets/endpoints.js +0 -3
- package/dist/grammar/facets/endpoints.js.map +0 -1
- package/dist/grammar/facets/indexes.d.ts +0 -12
- package/dist/grammar/facets/indexes.d.ts.map +0 -1
- package/dist/grammar/facets/indexes.js +0 -9
- package/dist/grammar/facets/indexes.js.map +0 -1
- package/dist/grammar/facets/properties.d.ts +0 -26
- package/dist/grammar/facets/properties.d.ts.map +0 -1
- package/dist/grammar/facets/properties.js +0 -45
- package/dist/grammar/facets/properties.js.map +0 -1
- package/dist/grammar/function/config.d.ts +0 -16
- package/dist/grammar/function/config.d.ts.map +0 -1
- package/dist/grammar/function/config.js +0 -2
- package/dist/grammar/function/config.js.map +0 -1
- package/dist/grammar/function/def.d.ts +0 -58
- package/dist/grammar/function/def.d.ts.map +0 -1
- package/dist/grammar/function/def.js +0 -2
- package/dist/grammar/function/def.js.map +0 -1
- package/dist/grammar/function/inheritance.d.ts +0 -3
- package/dist/grammar/function/inheritance.d.ts.map +0 -1
- package/dist/grammar/function/inheritance.js +0 -2
- package/dist/grammar/function/inheritance.js.map +0 -1
- package/dist/grammar/function/output.d.ts +0 -3
- package/dist/grammar/function/output.d.ts.map +0 -1
- package/dist/grammar/function/output.js +0 -2
- package/dist/grammar/function/output.js.map +0 -1
- package/dist/grammar/policy/callable.d.ts +0 -40
- package/dist/grammar/policy/callable.d.ts.map +0 -1
- package/dist/grammar/policy/callable.js +0 -2
- package/dist/grammar/policy/callable.js.map +0 -1
- package/dist/grammar/policy/def.d.ts +0 -27
- package/dist/grammar/policy/def.d.ts.map +0 -1
- package/dist/grammar/policy/def.js +0 -2
- package/dist/grammar/policy/def.js.map +0 -1
- package/dist/grammar/policy/pattern.d.ts +0 -34
- package/dist/grammar/policy/pattern.d.ts.map +0 -1
- package/dist/grammar/policy/pattern.js +0 -2
- package/dist/grammar/policy/pattern.js.map +0 -1
- package/dist/grammar/values/bitmask.d.ts +0 -7
- package/dist/grammar/values/bitmask.d.ts.map +0 -1
- package/dist/grammar/values/bitmask.js +0 -2
- package/dist/grammar/values/bitmask.js.map +0 -1
- package/dist/grammar/values/data.d.ts +0 -30
- package/dist/grammar/values/data.d.ts.map +0 -1
- package/dist/grammar/values/data.js +0 -2
- package/dist/grammar/values/data.js.map +0 -1
- package/dist/grammar/values/ref.d.ts +0 -26
- package/dist/grammar/values/ref.d.ts.map +0 -1
- package/dist/grammar/values/ref.js +0 -2
- package/dist/grammar/values/ref.js.map +0 -1
- package/dist/grammar/values/self.d.ts +0 -12
- package/dist/grammar/values/self.d.ts.map +0 -1
- package/dist/grammar/values/self.js +0 -6
- package/dist/grammar/values/self.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/inference/content.d.ts +0 -27
- package/dist/inference/content.d.ts.map +0 -1
- package/dist/inference/content.js +0 -2
- package/dist/inference/content.js.map +0 -1
- package/dist/inference/index.d.ts +0 -7
- package/dist/inference/index.d.ts.map +0 -1
- package/dist/inference/index.js +0 -2
- package/dist/inference/index.js.map +0 -1
- package/dist/inference/inheritance.d.ts +0 -48
- package/dist/inference/inheritance.d.ts.map +0 -1
- package/dist/inference/inheritance.js +0 -2
- package/dist/inference/inheritance.js.map +0 -1
- package/dist/inference/input.d.ts +0 -30
- package/dist/inference/input.d.ts.map +0 -1
- package/dist/inference/input.js +0 -2
- package/dist/inference/input.js.map +0 -1
- package/dist/inference/methods.d.ts +0 -69
- package/dist/inference/methods.d.ts.map +0 -1
- package/dist/inference/methods.js +0 -2
- package/dist/inference/methods.js.map +0 -1
- package/dist/inference/properties.d.ts +0 -37
- package/dist/inference/properties.d.ts.map +0 -1
- package/dist/inference/properties.js +0 -2
- package/dist/inference/properties.js.map +0 -1
- package/dist/inference/schema.d.ts +0 -37
- package/dist/inference/schema.d.ts.map +0 -1
- package/dist/inference/schema.js +0 -2
- package/dist/inference/schema.js.map +0 -1
- package/dist/instance/core/define.d.ts +0 -13
- package/dist/instance/core/define.d.ts.map +0 -1
- package/dist/instance/core/define.js +0 -63
- package/dist/instance/core/define.js.map +0 -1
- package/dist/instance/core/edge.d.ts +0 -9
- package/dist/instance/core/edge.d.ts.map +0 -1
- package/dist/instance/core/edge.js +0 -11
- package/dist/instance/core/edge.js.map +0 -1
- package/dist/instance/core/endpoint.d.ts +0 -11
- package/dist/instance/core/endpoint.d.ts.map +0 -1
- package/dist/instance/core/endpoint.js +0 -19
- package/dist/instance/core/endpoint.js.map +0 -1
- package/dist/instance/core/node.d.ts +0 -7
- package/dist/instance/core/node.d.ts.map +0 -1
- package/dist/instance/core/node.js +0 -9
- package/dist/instance/core/node.js.map +0 -1
- package/dist/instance/core/path.d.ts +0 -21
- package/dist/instance/core/path.d.ts.map +0 -1
- package/dist/instance/core/path.js +0 -21
- package/dist/instance/core/path.js.map +0 -1
- package/dist/instance/core/self.d.ts +0 -15
- package/dist/instance/core/self.d.ts.map +0 -1
- package/dist/instance/core/self.js +0 -8
- package/dist/instance/core/self.js.map +0 -1
- package/dist/instance/core/types.d.ts +0 -45
- package/dist/instance/core/types.d.ts.map +0 -1
- package/dist/instance/core/types.js +0 -2
- package/dist/instance/core/types.js.map +0 -1
- package/dist/instance/seed/define.d.ts +0 -12
- package/dist/instance/seed/define.d.ts.map +0 -1
- package/dist/instance/seed/define.js +0 -34
- package/dist/instance/seed/define.js.map +0 -1
- package/dist/instance/seed/types.d.ts +0 -12
- package/dist/instance/seed/types.d.ts.map +0 -1
- package/dist/instance/seed/types.js +0 -2
- package/dist/instance/seed/types.js.map +0 -1
- package/dist/ir/classes.d.ts +0 -78
- package/dist/ir/classes.d.ts.map +0 -1
- package/dist/ir/classes.js +0 -2
- package/dist/ir/classes.js.map +0 -1
- package/dist/ir/domain.d.ts +0 -13
- package/dist/ir/domain.d.ts.map +0 -1
- package/dist/ir/domain.js +0 -2
- package/dist/ir/domain.js.map +0 -1
- package/dist/ir/endpoints.d.ts +0 -27
- package/dist/ir/endpoints.d.ts.map +0 -1
- package/dist/ir/endpoints.js +0 -2
- package/dist/ir/endpoints.js.map +0 -1
- package/dist/ir/functions.d.ts +0 -34
- package/dist/ir/functions.d.ts.map +0 -1
- package/dist/ir/functions.js +0 -2
- package/dist/ir/functions.js.map +0 -1
- package/dist/ir/index.d.ts +0 -9
- package/dist/ir/index.d.ts.map +0 -1
- package/dist/ir/index.js +0 -2
- package/dist/ir/index.js.map +0 -1
- package/dist/ir/ir.d.ts +0 -75
- package/dist/ir/ir.d.ts.map +0 -1
- package/dist/ir/ir.js +0 -5
- package/dist/ir/ir.js.map +0 -1
- package/dist/ir/json-schema.d.ts +0 -20
- package/dist/ir/json-schema.d.ts.map +0 -1
- package/dist/ir/json-schema.js +0 -2
- package/dist/ir/json-schema.js.map +0 -1
- package/dist/ir/policies.d.ts +0 -74
- package/dist/ir/policies.d.ts.map +0 -1
- package/dist/ir/policies.js +0 -2
- package/dist/ir/policies.js.map +0 -1
- package/dist/schema/classify.d.ts +0 -8
- package/dist/schema/classify.d.ts.map +0 -1
- package/dist/schema/classify.js +0 -20
- package/dist/schema/classify.js.map +0 -1
- package/dist/schema/define.d.ts +0 -23
- package/dist/schema/define.d.ts.map +0 -1
- package/dist/schema/define.js +0 -58
- package/dist/schema/define.js.map +0 -1
- package/dist/schema/error.d.ts +0 -8
- package/dist/schema/error.d.ts.map +0 -1
- package/dist/schema/error.js +0 -14
- package/dist/schema/error.js.map +0 -1
- package/dist/schema/refs.d.ts +0 -77
- package/dist/schema/refs.d.ts.map +0 -1
- package/dist/schema/refs.js +0 -100
- package/dist/schema/refs.js.map +0 -1
- package/dist/schema/resolve/index.d.ts +0 -5
- package/dist/schema/resolve/index.d.ts.map +0 -1
- package/dist/schema/resolve/index.js +0 -5
- package/dist/schema/resolve/index.js.map +0 -1
- package/dist/schema/resolve/methods.d.ts +0 -8
- package/dist/schema/resolve/methods.d.ts.map +0 -1
- package/dist/schema/resolve/methods.js +0 -18
- package/dist/schema/resolve/methods.js.map +0 -1
- package/dist/schema/resolve/properties.d.ts +0 -13
- package/dist/schema/resolve/properties.d.ts.map +0 -1
- package/dist/schema/resolve/properties.js +0 -37
- package/dist/schema/resolve/properties.js.map +0 -1
- package/dist/schema/resolve/self.d.ts +0 -7
- package/dist/schema/resolve/self.d.ts.map +0 -1
- package/dist/schema/resolve/self.js +0 -33
- package/dist/schema/resolve/self.js.map +0 -1
- package/dist/schema/resolve/thunks.d.ts +0 -12
- package/dist/schema/resolve/thunks.d.ts.map +0 -1
- package/dist/schema/resolve/thunks.js +0 -37
- package/dist/schema/resolve/thunks.js.map +0 -1
- package/dist/schema/schema.d.ts +0 -25
- package/dist/schema/schema.d.ts.map +0 -1
- package/dist/schema/schema.js +0 -2
- package/dist/schema/schema.js.map +0 -1
- package/dist/schema/validators/context.d.ts +0 -17
- package/dist/schema/validators/context.d.ts.map +0 -1
- package/dist/schema/validators/context.js +0 -2
- package/dist/schema/validators/context.js.map +0 -1
- package/dist/schema/validators/endpoints.d.ts +0 -4
- package/dist/schema/validators/endpoints.d.ts.map +0 -1
- package/dist/schema/validators/endpoints.js +0 -27
- package/dist/schema/validators/endpoints.js.map +0 -1
- package/dist/schema/validators/index.d.ts +0 -12
- package/dist/schema/validators/index.d.ts.map +0 -1
- package/dist/schema/validators/index.js +0 -25
- package/dist/schema/validators/index.js.map +0 -1
- package/dist/schema/validators/indexes.d.ts +0 -4
- package/dist/schema/validators/indexes.d.ts.map +0 -1
- package/dist/schema/validators/indexes.js +0 -19
- package/dist/schema/validators/indexes.js.map +0 -1
- package/dist/schema/validators/inheritance.d.ts +0 -4
- package/dist/schema/validators/inheritance.d.ts.map +0 -1
- package/dist/schema/validators/inheritance.js +0 -27
- package/dist/schema/validators/inheritance.js.map +0 -1
- package/dist/schema/validators/methods.d.ts +0 -9
- package/dist/schema/validators/methods.d.ts.map +0 -1
- package/dist/schema/validators/methods.js +0 -44
- package/dist/schema/validators/methods.js.map +0 -1
- package/dist/schema/validators/names.d.ts +0 -4
- package/dist/schema/validators/names.d.ts.map +0 -1
- package/dist/schema/validators/names.js +0 -19
- package/dist/schema/validators/names.js.map +0 -1
- package/dist/schema/validators/policies.d.ts +0 -4
- package/dist/schema/validators/policies.d.ts.map +0 -1
- package/dist/schema/validators/policies.js +0 -61
- package/dist/schema/validators/policies.js.map +0 -1
- package/dist/schema/validators/ref-targets.d.ts +0 -4
- package/dist/schema/validators/ref-targets.d.ts.map +0 -1
- package/dist/schema/validators/ref-targets.js +0 -54
- package/dist/schema/validators/ref-targets.js.map +0 -1
- package/dist/serializer/context.d.ts +0 -35
- package/dist/serializer/context.d.ts.map +0 -1
- package/dist/serializer/context.js +0 -359
- package/dist/serializer/context.js.map +0 -1
- package/dist/serializer/helpers.d.ts +0 -34
- package/dist/serializer/helpers.d.ts.map +0 -1
- package/dist/serializer/helpers.js +0 -116
- package/dist/serializer/helpers.js.map +0 -1
- package/dist/serializer/index.d.ts +0 -2
- package/dist/serializer/index.d.ts.map +0 -1
- package/dist/serializer/index.js +0 -2
- package/dist/serializer/index.js.map +0 -1
- package/dist/serializer/policies.d.ts +0 -34
- package/dist/serializer/policies.d.ts.map +0 -1
- package/dist/serializer/policies.js +0 -837
- package/dist/serializer/policies.js.map +0 -1
- package/dist/serializer/policy-typing.d.ts +0 -56
- package/dist/serializer/policy-typing.d.ts.map +0 -1
- package/dist/serializer/policy-typing.js +0 -490
- package/dist/serializer/policy-typing.js.map +0 -1
- package/dist/serializer/serialize.d.ts +0 -12
- package/dist/serializer/serialize.d.ts.map +0 -1
- package/dist/serializer/serialize.js +0 -6
- package/dist/serializer/serialize.js.map +0 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { printParseErrorCode, visit } from 'jsonc-parser';
|
|
2
|
+
import { DecodeError } from './error.js';
|
|
3
|
+
import { limitsFor } from './limits.js';
|
|
4
|
+
import { assertDecodedString, assertSourceString } from './unicode.js';
|
|
5
|
+
const decoder = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
|
|
6
|
+
/** Strictly decode one bounded JSON value. */
|
|
7
|
+
export function decode(input, options) {
|
|
8
|
+
const limits = limitsFor(options);
|
|
9
|
+
const source = sourceFor(input, limits);
|
|
10
|
+
if (source.charCodeAt(0) === 0xfeff) {
|
|
11
|
+
throw new DecodeError('JSON_SYNTAX', 'A byte-order mark is not JSON whitespace', 0);
|
|
12
|
+
}
|
|
13
|
+
scan(source, limits);
|
|
14
|
+
try {
|
|
15
|
+
return JSON.parse(source);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
throw new DecodeError('JSON_SYNTAX', 'Native JSON decoding rejected the strictly scanned input', 0, { cause: error });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function sourceFor(input, limits) {
|
|
22
|
+
if (typeof input === 'string') {
|
|
23
|
+
assertSourceString(input, limits.maxBytes);
|
|
24
|
+
return input;
|
|
25
|
+
}
|
|
26
|
+
if (input.byteLength > limits.maxBytes) {
|
|
27
|
+
throw new DecodeError('JSON_LIMIT', `JSON input exceeds the ${limits.maxBytes}-byte limit`, 0);
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
return decoder.decode(input);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw new DecodeError('JSON_UTF8', 'Malformed UTF-8 JSON input', 0, { cause: error });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function scan(source, limits) {
|
|
37
|
+
const state = { frames: [], limits, members: 0 };
|
|
38
|
+
const beginContainer = (kind, offset) => {
|
|
39
|
+
countArrayItem(state, offset);
|
|
40
|
+
if (state.frames.length >= limits.maxDepth) {
|
|
41
|
+
throw new DecodeError('JSON_LIMIT', `JSON nesting exceeds the ${limits.maxDepth}-level limit`, offset);
|
|
42
|
+
}
|
|
43
|
+
state.frames.push(kind === 'object' ? { kind, names: new Set() } : { kind });
|
|
44
|
+
};
|
|
45
|
+
const visitor = {
|
|
46
|
+
onObjectBegin: (offset) => beginContainer('object', offset),
|
|
47
|
+
onObjectProperty: (name, offset) => {
|
|
48
|
+
const frame = state.frames.at(-1);
|
|
49
|
+
if (frame?.kind !== 'object')
|
|
50
|
+
failSyntax('Object member outside an Object', offset);
|
|
51
|
+
assertDecodedString(name, offset, limits.maxStringBytes);
|
|
52
|
+
if (frame.names.has(name)) {
|
|
53
|
+
throw new DecodeError('JSON_DUPLICATE_MEMBER', `Duplicate object member ${JSON.stringify(name)}`, offset);
|
|
54
|
+
}
|
|
55
|
+
frame.names.add(name);
|
|
56
|
+
addMembers(state, 1, offset);
|
|
57
|
+
},
|
|
58
|
+
onObjectEnd: (offset) => endContainer(state, 'object', offset),
|
|
59
|
+
onArrayBegin: (offset) => beginContainer('array', offset),
|
|
60
|
+
onArrayEnd: (offset) => endContainer(state, 'array', offset),
|
|
61
|
+
onLiteralValue: (value, offset) => {
|
|
62
|
+
countArrayItem(state, offset);
|
|
63
|
+
if (typeof value === 'string') {
|
|
64
|
+
assertDecodedString(value, offset, limits.maxStringBytes);
|
|
65
|
+
}
|
|
66
|
+
else if (typeof value === 'number') {
|
|
67
|
+
if (!Number.isFinite(value)) {
|
|
68
|
+
throw new DecodeError('JSON_NUMBER', 'JSON number overflows finite IEEE-754 binary64', offset);
|
|
69
|
+
}
|
|
70
|
+
if (Object.is(value, -0)) {
|
|
71
|
+
throw new DecodeError('JSON_NUMBER', 'JSON number resolves to negative zero', offset);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
onError: (error, offset) => {
|
|
76
|
+
failSyntax(`Invalid JSON: ${printParseErrorCode(error)}`, offset);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
try {
|
|
80
|
+
visit(source, visitor, {
|
|
81
|
+
allowEmptyContent: false,
|
|
82
|
+
allowTrailingComma: false,
|
|
83
|
+
disallowComments: true,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
if (error instanceof DecodeError)
|
|
88
|
+
throw error;
|
|
89
|
+
throw new DecodeError('JSON_SYNTAX', 'JSON scanner failed', 0, { cause: error });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function countArrayItem(state, offset) {
|
|
93
|
+
if (state.frames.at(-1)?.kind === 'array')
|
|
94
|
+
addMembers(state, 1, offset);
|
|
95
|
+
}
|
|
96
|
+
function addMembers(state, count, offset) {
|
|
97
|
+
state.members += count;
|
|
98
|
+
if (state.members > state.limits.maxMembers) {
|
|
99
|
+
throw new DecodeError('JSON_LIMIT', `JSON value exceeds the ${state.limits.maxMembers}-member limit`, offset);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function endContainer(state, kind, offset) {
|
|
103
|
+
if (state.frames.pop()?.kind !== kind)
|
|
104
|
+
failSyntax(`Mismatched ${kind} boundary`, offset);
|
|
105
|
+
}
|
|
106
|
+
function failSyntax(message, offset) {
|
|
107
|
+
throw new DecodeError('JSON_SYNTAX', message, offset);
|
|
108
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type BoundaryErrorCode = 'VALUE_TYPE' | 'VALUE_NUMBER' | 'VALUE_STRING' | 'VALUE_ARRAY' | 'VALUE_OBJECT' | 'VALUE_CYCLE' | 'VALUE_LIMIT' | 'VALUE_REFLECTION';
|
|
2
|
+
export declare class BoundaryError extends TypeError {
|
|
3
|
+
readonly code: BoundaryErrorCode;
|
|
4
|
+
readonly pointer: string;
|
|
5
|
+
constructor(code: BoundaryErrorCode, message: string, pointer?: string, options?: ErrorOptions);
|
|
6
|
+
}
|
|
7
|
+
export type DecodeErrorCode = 'JSON_SYNTAX' | 'JSON_UTF8' | 'JSON_DUPLICATE_MEMBER' | 'JSON_NUMBER' | 'JSON_STRING' | 'JSON_LIMIT';
|
|
8
|
+
export declare class DecodeError extends SyntaxError {
|
|
9
|
+
readonly code: DecodeErrorCode;
|
|
10
|
+
readonly offset: number;
|
|
11
|
+
constructor(code: DecodeErrorCode, message: string, offset: number, options?: ErrorOptions);
|
|
12
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class BoundaryError extends TypeError {
|
|
2
|
+
code;
|
|
3
|
+
pointer;
|
|
4
|
+
constructor(code, message, pointer = '', options) {
|
|
5
|
+
const location = pointer === '' ? ' at the root' : ` at ${pointer}`;
|
|
6
|
+
super(`${message}${location}`, options);
|
|
7
|
+
this.name = 'BoundaryError';
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.pointer = pointer;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class DecodeError extends SyntaxError {
|
|
13
|
+
code;
|
|
14
|
+
offset;
|
|
15
|
+
constructor(code, message, offset, options) {
|
|
16
|
+
super(`${message} at UTF-16 offset ${offset}`, options);
|
|
17
|
+
this.name = 'DecodeError';
|
|
18
|
+
this.code = code;
|
|
19
|
+
this.offset = offset;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Portable values shared by the DSL and kernel contracts. */
|
|
2
|
+
export { accept } from './accept.js';
|
|
3
|
+
export { equal } from './equal.js';
|
|
4
|
+
export { BoundaryError, DecodeError } from './error.js';
|
|
5
|
+
export type { BoundaryErrorCode, DecodeErrorCode } from './error.js';
|
|
6
|
+
export { defaultLimits } from './limits.js';
|
|
7
|
+
export type { LimitOverrides, Limits, Options } from './limits.js';
|
|
8
|
+
export * as json from './json.js';
|
|
9
|
+
export type { Array, Object, Primitive, Value } from './types.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Portable values shared by the DSL and kernel contracts. */
|
|
2
|
+
export { accept } from './accept.js';
|
|
3
|
+
export { equal } from './equal.js';
|
|
4
|
+
export { BoundaryError, DecodeError } from './error.js';
|
|
5
|
+
export { defaultLimits } from './limits.js';
|
|
6
|
+
export * as json from './json.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface Limits {
|
|
2
|
+
/** Maximum UTF-8 size accepted from or emitted to a wire boundary. */
|
|
3
|
+
readonly maxBytes: number;
|
|
4
|
+
/** Maximum number of nested Array/Object containers, with a root container at depth one. */
|
|
5
|
+
readonly maxDepth: number;
|
|
6
|
+
/** Maximum total number of Object members plus Array elements. */
|
|
7
|
+
readonly maxMembers: number;
|
|
8
|
+
/** Maximum UTF-8 size of one string value or Object member name. */
|
|
9
|
+
readonly maxStringBytes: number;
|
|
10
|
+
}
|
|
11
|
+
export interface LimitOverrides {
|
|
12
|
+
readonly maxBytes?: number;
|
|
13
|
+
readonly maxDepth?: number;
|
|
14
|
+
readonly maxMembers?: number;
|
|
15
|
+
readonly maxStringBytes?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface Options {
|
|
18
|
+
readonly limits?: LimitOverrides;
|
|
19
|
+
}
|
|
20
|
+
export declare const defaultLimits: Readonly<Limits>;
|
|
21
|
+
export declare function limitsFor(options: Options | undefined): Limits;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const defaultLimits = Object.freeze({
|
|
2
|
+
maxBytes: 16 * 1024 * 1024,
|
|
3
|
+
maxDepth: 64,
|
|
4
|
+
maxMembers: 100_000,
|
|
5
|
+
maxStringBytes: 1024 * 1024,
|
|
6
|
+
});
|
|
7
|
+
export function limitsFor(options) {
|
|
8
|
+
const candidate = { ...defaultLimits, ...options?.limits };
|
|
9
|
+
for (const [name, value] of Object.entries(candidate)) {
|
|
10
|
+
if (!Number.isSafeInteger(value) || value < 1) {
|
|
11
|
+
throw new TypeError(`Portable value limit ${name} must be a positive safe integer.`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return candidate;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function utf8Length(value: string, max?: number): number;
|
|
2
|
+
export declare function assertHostString(value: string, pointer: string, maxBytes: number): void;
|
|
3
|
+
export declare function assertDecodedString(value: string, offset: number, maxBytes: number): void;
|
|
4
|
+
export declare function assertSourceString(value: string, maxBytes: number): void;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BoundaryError, DecodeError } from './error.js';
|
|
2
|
+
export function utf8Length(value, max = Number.MAX_SAFE_INTEGER) {
|
|
3
|
+
let bytes = 0;
|
|
4
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
5
|
+
const codeUnit = value.charCodeAt(index);
|
|
6
|
+
if (codeUnit <= 0x7f)
|
|
7
|
+
bytes += 1;
|
|
8
|
+
else if (codeUnit <= 0x7ff)
|
|
9
|
+
bytes += 2;
|
|
10
|
+
else if (isHighSurrogate(codeUnit)) {
|
|
11
|
+
const next = value.charCodeAt(index + 1);
|
|
12
|
+
if (!isLowSurrogate(next))
|
|
13
|
+
return -index - 1;
|
|
14
|
+
bytes += 4;
|
|
15
|
+
index += 1;
|
|
16
|
+
}
|
|
17
|
+
else if (isLowSurrogate(codeUnit))
|
|
18
|
+
return -index - 1;
|
|
19
|
+
else
|
|
20
|
+
bytes += 3;
|
|
21
|
+
if (bytes > max)
|
|
22
|
+
return bytes;
|
|
23
|
+
}
|
|
24
|
+
return bytes;
|
|
25
|
+
}
|
|
26
|
+
export function assertHostString(value, pointer, maxBytes) {
|
|
27
|
+
if (value.includes('\u0000')) {
|
|
28
|
+
throw new BoundaryError('VALUE_STRING', 'Portable strings must not contain U+0000', pointer);
|
|
29
|
+
}
|
|
30
|
+
const length = utf8Length(value, maxBytes);
|
|
31
|
+
if (length < 0) {
|
|
32
|
+
throw new BoundaryError('VALUE_STRING', 'Expected a Unicode-scalar string', pointer);
|
|
33
|
+
}
|
|
34
|
+
if (length > maxBytes) {
|
|
35
|
+
throw new BoundaryError('VALUE_LIMIT', `String exceeds the ${maxBytes}-byte UTF-8 limit`, pointer);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function assertDecodedString(value, offset, maxBytes) {
|
|
39
|
+
if (value.includes('\u0000')) {
|
|
40
|
+
throw new DecodeError('JSON_STRING', 'JSON string contains U+0000', offset);
|
|
41
|
+
}
|
|
42
|
+
const length = utf8Length(value, maxBytes);
|
|
43
|
+
if (length < 0) {
|
|
44
|
+
throw new DecodeError('JSON_STRING', 'JSON string contains a lone UTF-16 surrogate', offset);
|
|
45
|
+
}
|
|
46
|
+
if (length > maxBytes) {
|
|
47
|
+
throw new DecodeError('JSON_LIMIT', `JSON string exceeds the ${maxBytes}-byte UTF-8 limit`, offset);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function assertSourceString(value, maxBytes) {
|
|
51
|
+
const length = utf8Length(value, maxBytes);
|
|
52
|
+
if (length < 0) {
|
|
53
|
+
throw new DecodeError('JSON_STRING', 'JSON text contains a lone UTF-16 surrogate', -length - 1);
|
|
54
|
+
}
|
|
55
|
+
if (length > maxBytes) {
|
|
56
|
+
throw new DecodeError('JSON_LIMIT', `JSON text exceeds the ${maxBytes}-byte limit`, 0);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function isHighSurrogate(codeUnit) {
|
|
60
|
+
return codeUnit >= 0xd800 && codeUnit <= 0xdbff;
|
|
61
|
+
}
|
|
62
|
+
function isLowSurrogate(codeUnit) {
|
|
63
|
+
return codeUnit >= 0xdc00 && codeUnit <= 0xdfff;
|
|
64
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type Value as JsonValue } from '@astrale-os/kernel-dsl/value';
|
|
2
|
+
export interface LanguageVersion {
|
|
3
|
+
readonly format: string;
|
|
4
|
+
readonly version: string;
|
|
5
|
+
}
|
|
6
|
+
export type LanguageVersionOf<Document extends LanguageVersion> = {
|
|
7
|
+
readonly format: Document['format'];
|
|
8
|
+
readonly version: Document['version'];
|
|
9
|
+
};
|
|
10
|
+
export interface VersionHandler<Result> extends LanguageVersion {
|
|
11
|
+
readonly accept: (input: JsonValue) => Result;
|
|
12
|
+
}
|
|
13
|
+
export type LanguageVersionErrorCode = 'LANGUAGE_VERSION_HEADER' | 'LANGUAGE_VERSION_UNSUPPORTED' | 'LANGUAGE_VERSION_HANDLER_DUPLICATE';
|
|
14
|
+
export declare class LanguageVersionError extends Error {
|
|
15
|
+
readonly code: LanguageVersionErrorCode;
|
|
16
|
+
readonly language?: LanguageVersion;
|
|
17
|
+
constructor(code: LanguageVersionErrorCode, message: string, language?: LanguageVersion);
|
|
18
|
+
}
|
|
19
|
+
/** Read only the untrusted routing discriminator; this does not admit the document. */
|
|
20
|
+
export declare function readLanguageVersion(input: unknown): LanguageVersion;
|
|
21
|
+
type HandlerResult<Handlers extends readonly VersionHandler<unknown>[]> = Handlers[number] extends VersionHandler<infer Result> ? Result : never;
|
|
22
|
+
/** Dispatch by exact format and version before invoking version-owned admission. */
|
|
23
|
+
export declare function dispatchLanguageVersion<const Handlers extends readonly VersionHandler<unknown>[]>(input: unknown, handlers: Handlers): HandlerResult<Handlers>;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { accept as acceptJsonValue, BoundaryError as JsonBoundaryError, } from '@astrale-os/kernel-dsl/value';
|
|
2
|
+
export class LanguageVersionError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
language;
|
|
5
|
+
constructor(code, message, language) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'LanguageVersionError';
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.language = language;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/** Read only the untrusted routing discriminator; this does not admit the document. */
|
|
13
|
+
export function readLanguageVersion(input) {
|
|
14
|
+
let admitted;
|
|
15
|
+
try {
|
|
16
|
+
admitted = acceptJsonValue(input);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (error instanceof JsonBoundaryError) {
|
|
20
|
+
throw new LanguageVersionError('LANGUAGE_VERSION_HEADER', error.message);
|
|
21
|
+
}
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
if (!isJsonObject(admitted) ||
|
|
25
|
+
typeof admitted.format !== 'string' ||
|
|
26
|
+
admitted.format.length === 0 ||
|
|
27
|
+
typeof admitted.version !== 'string' ||
|
|
28
|
+
admitted.version.length === 0) {
|
|
29
|
+
throw new LanguageVersionError('LANGUAGE_VERSION_HEADER', 'A versioned DSL document requires non-empty string format and version fields.');
|
|
30
|
+
}
|
|
31
|
+
return Object.freeze({ format: admitted.format, version: admitted.version });
|
|
32
|
+
}
|
|
33
|
+
function isJsonObject(value) {
|
|
34
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
35
|
+
}
|
|
36
|
+
/** Dispatch by exact format and version before invoking version-owned admission. */
|
|
37
|
+
export function dispatchLanguageVersion(input, handlers) {
|
|
38
|
+
const language = readLanguageVersion(input);
|
|
39
|
+
const matches = handlers.filter((handler) => handler.format === language.format && handler.version === language.version);
|
|
40
|
+
if (matches.length === 0) {
|
|
41
|
+
throw new LanguageVersionError('LANGUAGE_VERSION_UNSUPPORTED', `Unsupported DSL document ${language.format}@${language.version}.`, language);
|
|
42
|
+
}
|
|
43
|
+
if (matches.length > 1) {
|
|
44
|
+
throw new LanguageVersionError('LANGUAGE_VERSION_HANDLER_DUPLICATE', `Multiple handlers claim DSL document ${language.format}@${language.version}.`, language);
|
|
45
|
+
}
|
|
46
|
+
return matches[0].accept(input);
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LanguageVersionError, dispatchLanguageVersion, readLanguageVersion } from './dispatch.js';
|
package/package.json
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/kernel-dsl",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0-beta.10",
|
|
4
4
|
"description": "Astrale Kernel DSL - Schema authoring, inference, and IR serialization",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/astrale-os/kernel.git",
|
|
9
|
+
"directory": "dsl"
|
|
10
|
+
},
|
|
6
11
|
"files": [
|
|
7
12
|
"dist"
|
|
8
13
|
],
|
|
@@ -14,9 +19,57 @@
|
|
|
14
19
|
"types": "./dist/index.d.ts",
|
|
15
20
|
"import": "./dist/index.js"
|
|
16
21
|
},
|
|
17
|
-
"./
|
|
18
|
-
"types": "./dist/
|
|
19
|
-
"import": "./dist/
|
|
22
|
+
"./v1": {
|
|
23
|
+
"types": "./dist/v1/index.d.ts",
|
|
24
|
+
"import": "./dist/v1/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./v1/addressing": {
|
|
27
|
+
"types": "./dist/v1/addressing/index.d.ts",
|
|
28
|
+
"import": "./dist/v1/addressing/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./v1/builder": {
|
|
31
|
+
"types": "./dist/v1/builder/index.d.ts",
|
|
32
|
+
"import": "./dist/v1/builder/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./v1/bundle": {
|
|
35
|
+
"types": "./dist/v1/bundle/index.d.ts",
|
|
36
|
+
"import": "./dist/v1/bundle/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./v1/bundle/transport": {
|
|
39
|
+
"types": "./dist/v1/bundle/transport.d.ts",
|
|
40
|
+
"import": "./dist/v1/bundle/transport.js"
|
|
41
|
+
},
|
|
42
|
+
"./v1/compiled": {
|
|
43
|
+
"types": "./dist/v1/compiled/index.d.ts",
|
|
44
|
+
"import": "./dist/v1/compiled/index.js"
|
|
45
|
+
},
|
|
46
|
+
"./v1/compiled/loader": {
|
|
47
|
+
"types": "./dist/v1/compiled/loader/index.d.ts",
|
|
48
|
+
"import": "./dist/v1/compiled/loader/index.js"
|
|
49
|
+
},
|
|
50
|
+
"./v1/domain": {
|
|
51
|
+
"types": "./dist/v1/domain/index.d.ts",
|
|
52
|
+
"import": "./dist/v1/domain/index.js"
|
|
53
|
+
},
|
|
54
|
+
"./v1/language": {
|
|
55
|
+
"types": "./dist/v1/language/index.d.ts",
|
|
56
|
+
"import": "./dist/v1/language/index.js"
|
|
57
|
+
},
|
|
58
|
+
"./v1/schema": {
|
|
59
|
+
"types": "./dist/v1/schema/index.d.ts",
|
|
60
|
+
"import": "./dist/v1/schema/index.js"
|
|
61
|
+
},
|
|
62
|
+
"./v1/schema/revision": {
|
|
63
|
+
"types": "./dist/v1/schema/revision.d.ts",
|
|
64
|
+
"import": "./dist/v1/schema/revision.js"
|
|
65
|
+
},
|
|
66
|
+
"./v1/value/full-match": {
|
|
67
|
+
"types": "./dist/v1/value/full-match.d.ts",
|
|
68
|
+
"import": "./dist/v1/value/full-match.js"
|
|
69
|
+
},
|
|
70
|
+
"./value": {
|
|
71
|
+
"types": "./dist/value/index.d.ts",
|
|
72
|
+
"import": "./dist/value/index.js"
|
|
20
73
|
},
|
|
21
74
|
"./package.json": "./package.json"
|
|
22
75
|
},
|
|
@@ -24,23 +77,30 @@
|
|
|
24
77
|
"access": "public"
|
|
25
78
|
},
|
|
26
79
|
"dependencies": {
|
|
27
|
-
"
|
|
80
|
+
"@noble/hashes": "2.3.0",
|
|
81
|
+
"jsonc-parser": "3.3.1",
|
|
82
|
+
"zod": "4.4.3"
|
|
28
83
|
},
|
|
29
84
|
"devDependencies": {
|
|
30
85
|
"@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~1.1.0",
|
|
31
|
-
"@typescript/native-preview": "
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
86
|
+
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
87
|
+
"ajv": "^8.20.0",
|
|
88
|
+
"re2js": "2.8.6",
|
|
89
|
+
"typescript": "~6.0.3",
|
|
90
|
+
"vitest": "^4.1.10",
|
|
91
|
+
"yaml": "2.9.0"
|
|
37
92
|
},
|
|
38
93
|
"scripts": {
|
|
39
94
|
"build": "tsgo",
|
|
40
95
|
"clean": "rm -rf dist",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
96
|
+
"conformance": "pnpm run spec:typecheck && tsgo --noEmit -p tsconfig.types.json && node scripts/check-public-api.mjs",
|
|
97
|
+
"generate:value-schema-validator": "node scripts/generate-value-schema-meta-validator.mjs",
|
|
98
|
+
"layout:check": "node scripts/check-layout.mjs",
|
|
99
|
+
"spec:typecheck": "tsgo --noEmit -p tsconfig.spec.json",
|
|
100
|
+
"typecheck": "tsgo --noEmit && tsgo --noEmit -p tsconfig.types.json",
|
|
101
|
+
"test": "pnpm run conformance && pnpm run layout:check && vitest run",
|
|
102
|
+
"test:file": "vitest run",
|
|
103
|
+
"test:semantic-lock": "pnpm run conformance && pnpm run layout:check && vitest run",
|
|
104
|
+
"test:watch": "vitest"
|
|
45
105
|
}
|
|
46
106
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { type BitmaskDef } from '../grammar/values/bitmask.js';
|
|
3
|
-
/** Create a bitmask value type — permissions bitfield (resolves to integer) */
|
|
4
|
-
export declare function bitmask(): z.ZodNumber & BitmaskDef;
|
|
5
|
-
//# sourceMappingURL=bitmask.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bitmask.d.ts","sourceRoot":"","sources":["../../src/builders/bitmask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAK9D,+EAA+E;AAC/E,wBAAgB,OAAO,IAAI,CAAC,CAAC,SAAS,GAAG,UAAU,CAMlD"}
|
package/dist/builders/bitmask.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// oxlint-disable typescript/no-explicit-any
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import {} from '../grammar/values/bitmask.js';
|
|
4
|
-
// Runtime symbol matching the declared unique symbol
|
|
5
|
-
const BITMASK_TAG_RUNTIME = Symbol.for('BITMASK_TAG');
|
|
6
|
-
/** Create a bitmask value type — permissions bitfield (resolves to integer) */
|
|
7
|
-
export function bitmask() {
|
|
8
|
-
const schema = z.number().int().nonnegative();
|
|
9
|
-
schema[BITMASK_TAG_RUNTIME] = true;
|
|
10
|
-
return schema;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=bitmask.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bitmask.js","sourceRoot":"","sources":["../../src/builders/bitmask.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAmB,MAAM,8BAA8B,CAAA;AAE9D,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAuB,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,UAAU,OAAO;IACrB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAE5C;IAAC,MAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;IAE5C,OAAO,MAAkC,CAAA;AAC3C,CAAC"}
|
package/dist/builders/data.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { AnyDef } from '../grammar/definition/discriminants.js';
|
|
2
|
-
import { type DataGrantSchema, type DataSelfSchema } from '../grammar/values/data.js';
|
|
3
|
-
/** Create a data-self marker (owning node's datastore content) */
|
|
4
|
-
export declare function data(): DataSelfSchema;
|
|
5
|
-
/** Create a data-grant marker (another node's datastore content) */
|
|
6
|
-
export declare function data<D extends AnyDef>(target: D): DataGrantSchema<D>;
|
|
7
|
-
//# sourceMappingURL=data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/builders/data.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAA;AAGpE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAKrF,kEAAkE;AAClE,wBAAgB,IAAI,IAAI,cAAc,CAAA;AACtC,oEAAoE;AACpE,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/builders/data.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// oxlint-disable typescript/no-explicit-any
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import {} from '../grammar/values/data.js';
|
|
4
|
-
// Runtime symbol matching the declared unique symbol
|
|
5
|
-
const DATA_TAG_RUNTIME = Symbol.for('DATA_TAG');
|
|
6
|
-
export function data(target) {
|
|
7
|
-
const schema = z.unknown();
|
|
8
|
-
if (target === undefined) {
|
|
9
|
-
;
|
|
10
|
-
schema[DATA_TAG_RUNTIME] = { kind: 'self' };
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
;
|
|
14
|
-
schema[DATA_TAG_RUNTIME] = { kind: 'grant', target };
|
|
15
|
-
}
|
|
16
|
-
return schema;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/builders/data.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAA6C,MAAM,2BAA2B,CAAA;AAErF,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAA;AAMlE,MAAM,UAAU,IAAI,CAAC,MAAe;IAClC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAE1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,CAAC;QAAC,MAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAe,EAAE,CAAA;IAChE,CAAC;SAAM,CAAC;QACN,CAAC;QAAC,MAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,MAAM,EAAE,CAAA;IACzE,CAAC;IAED,OAAO,MAAa,CAAA;AACtB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Kind } from '../../grammar/definition/discriminants.js';
|
|
2
|
-
/**
|
|
3
|
-
* Internal factory that tags a config with __kind and __brand.
|
|
4
|
-
* Handles thunk wrapping: if config is a function, it's stored as-is
|
|
5
|
-
* and resolved later during defineSchema().
|
|
6
|
-
*/
|
|
7
|
-
export declare function createDef<K extends Kind>(kind: K, config: object): any;
|
|
8
|
-
/**
|
|
9
|
-
* Internal factory for edge definitions.
|
|
10
|
-
* Endpoints are top-level, config is the rest.
|
|
11
|
-
*/
|
|
12
|
-
export declare function createEdgeDef<K extends Kind>(kind: K, from: object, to: object, config?: object): any;
|
|
13
|
-
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/builders/definition/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAKtE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,IAAI,EAC1C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,GAAG,CAOL"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal factory that tags a config with __kind and __brand.
|
|
3
|
-
* Handles thunk wrapping: if config is a function, it's stored as-is
|
|
4
|
-
* and resolved later during defineSchema().
|
|
5
|
-
*/
|
|
6
|
-
export function createDef(kind, config) {
|
|
7
|
-
return {
|
|
8
|
-
__kind: kind,
|
|
9
|
-
config,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Internal factory for edge definitions.
|
|
14
|
-
* Endpoints are top-level, config is the rest.
|
|
15
|
-
*/
|
|
16
|
-
export function createEdgeDef(kind, from, to, config) {
|
|
17
|
-
return {
|
|
18
|
-
__kind: kind,
|
|
19
|
-
from,
|
|
20
|
-
to,
|
|
21
|
-
config: config ?? {},
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/builders/definition/base.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAiB,IAAO,EAAE,MAAc;IAC/D,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,MAAM;KACP,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAO,EACP,IAAY,EACZ,EAAU,EACV,MAAe;IAEf,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,MAAM,IAAI,EAAE;KACrB,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { EdgeClassConfig, EdgeClassDef } from '../../grammar/definition/edge-class.js';
|
|
2
|
-
import type { EndpointConfig } from '../../grammar/facets/endpoints.js';
|
|
3
|
-
/**
|
|
4
|
-
* Create an edge class (concrete, has endpoints).
|
|
5
|
-
* Endpoints are positional, config is optional.
|
|
6
|
-
*/
|
|
7
|
-
export declare function edgeClass<const From extends EndpointConfig, const To extends EndpointConfig, const C extends EdgeClassConfig>(from: From, to: To, config?: C): EdgeClassDef<From, To, C & EdgeClassConfig>;
|
|
8
|
-
//# sourceMappingURL=edge-class.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edge-class.d.ts","sourceRoot":"","sources":["../../../src/builders/definition/edge-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAIvE;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,CAAC,IAAI,SAAS,cAAc,EACjC,KAAK,CAAC,EAAE,SAAS,cAAc,EAC/B,KAAK,CAAC,CAAC,SAAS,eAAe,EAC/B,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,CAE7E"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { createEdgeDef } from './base.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create an edge class (concrete, has endpoints).
|
|
4
|
-
* Endpoints are positional, config is optional.
|
|
5
|
-
*/
|
|
6
|
-
export function edgeClass(from, to, config) {
|
|
7
|
-
return createEdgeDef('edge-class', from, to, config);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=edge-class.js.map
|