universal-physics-tensor 8.0.0 → 10.0.0
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/README.md +26 -21
- package/data/atlas/atlas.json +75 -64
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +23 -22
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +33 -28
- package/data/bridge-catalog.json +1356 -1791
- package/data/bridge-catalog.schema.json +789 -46
- package/data/quantities.json +280 -234
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +1178 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +151 -117
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +244 -211
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +22 -14
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +19 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +233 -14
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +96 -27
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +89 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +136 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +48 -8
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +173 -38
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -7
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +129 -156
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +16 -8
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +130 -236
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +7 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +50 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +32 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +34 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +24 -0
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +42 -24
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +24 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -18
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +7 -12
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -21
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +50 -26
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +18 -13
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +29 -26
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +99 -208
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +57 -45
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -11
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -15
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -27
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +14 -7
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +4 -4
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +57 -18
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +49 -21
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -14
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +66 -57
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +15 -18
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +59 -85
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +154 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +67 -7
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +83 -23
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -22
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +25 -28
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -4
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +53 -19
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +9 -5
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -4
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +14 -6
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +18 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +37 -7
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +35 -12
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +46 -15
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +177 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +16 -23
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +18 -6
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +17 -5
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +115 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +7 -17
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +12 -21
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +21 -6
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +150 -160
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +23 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +55 -18
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +114 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +139 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +290 -295
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +65 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +32 -7
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +218 -209
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +134 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +67 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +68 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +17 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +120 -44
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +10 -3
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +44 -45
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +17 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +158 -250
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +26 -6
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +15 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
package/dist/bridges/holds.js
CHANGED
|
@@ -2,263 +2,157 @@
|
|
|
2
2
|
* Interpreter for a catalog validity condition.
|
|
3
3
|
*
|
|
4
4
|
* A condition is a boolean expression over quantity names, the registered
|
|
5
|
-
* constants, `
|
|
5
|
+
* constants, `isFinite` and `isInteger`, written in MathTS's grammar
|
|
6
|
+
* (`and`, `or`, `not`, `<`, `<=`, `>`, `>=`, `==`, `!=`). MathTS parses it,
|
|
7
|
+
* and MathTS evaluates every arithmetic sub-expression. The comparisons and
|
|
8
|
+
* the logical operators are evaluated here, exactly: MathTS's own comparison
|
|
9
|
+
* operators are tolerance-based (`absTol` 1e-15), so under them `1e-18 > 0`
|
|
10
|
+
* is false, which no condition over SI magnitudes can accept.
|
|
11
|
+
*
|
|
12
|
+
* It is not JavaScript `eval`.
|
|
6
13
|
*
|
|
7
14
|
* @module bridges/holds
|
|
8
15
|
*/
|
|
16
|
+
import { parse as parseMathTs } from '@danielsimonjr/mathts-functions';
|
|
17
|
+
import { rewriteCatalogHyphens } from '../dimensional/hyphen-names.js';
|
|
18
|
+
import { ConstantInputError } from './evaluation-errors.js';
|
|
19
|
+
/** A condition could not be evaluated: it names an unbound symbol, or its text does not parse. @internal */
|
|
9
20
|
export class HoldsError extends Error {
|
|
10
21
|
constructor(message) {
|
|
11
22
|
super(message);
|
|
12
23
|
this.name = 'HoldsError';
|
|
13
24
|
}
|
|
14
25
|
}
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (op !== undefined) {
|
|
37
|
-
out.push({ t: 'op', v: op });
|
|
38
|
-
i += op.length;
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
if (c === '+' || c === '-' || c === '*' || c === '/' || c === '^') {
|
|
42
|
-
out.push({ t: 'op', v: c });
|
|
43
|
-
i += 1;
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
if (/[0-9.]/.test(c)) {
|
|
47
|
-
const m = /^[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?/.exec(source.slice(i));
|
|
48
|
-
if (m === null)
|
|
49
|
-
throw new HoldsError(`bad number at ${i} in ${source}`);
|
|
50
|
-
out.push({ t: 'num', v: Number(m[0]) });
|
|
51
|
-
i += m[0].length;
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
if (/[A-Za-z_]/.test(c)) {
|
|
55
|
-
const m = /^[A-Za-z_][A-Za-z0-9_]*/.exec(source.slice(i));
|
|
56
|
-
if (m === null)
|
|
57
|
-
throw new HoldsError(`bad name at ${i} in ${source}`);
|
|
58
|
-
out.push({ t: 'id', v: m[0] });
|
|
59
|
-
i += m[0].length;
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
throw new HoldsError(`unexpected '${c}' in ${source}`);
|
|
63
|
-
}
|
|
64
|
-
return out;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Names in `holds` may contain hyphens. Rewrite the declared names to
|
|
68
|
-
* underscores, longest first, before the lexer treats `-` as subtraction.
|
|
69
|
-
*/
|
|
70
|
-
export function rewriteHoldsNames(source, names) {
|
|
71
|
-
const ordered = [...names].sort((a, b) => b.length - a.length);
|
|
72
|
-
let out = source;
|
|
73
|
-
for (const name of ordered) {
|
|
74
|
-
if (!name.includes('-'))
|
|
75
|
-
continue;
|
|
76
|
-
out = out.split(name).join(name.replace(/-/g, '_'));
|
|
77
|
-
}
|
|
78
|
-
return out;
|
|
79
|
-
}
|
|
80
|
-
function peek(p) {
|
|
81
|
-
return p.toks[p.i];
|
|
82
|
-
}
|
|
83
|
-
function peekOp(p) {
|
|
84
|
-
const tok = peek(p);
|
|
85
|
-
return tok !== undefined && tok.t === 'op' ? tok.v : undefined;
|
|
86
|
-
}
|
|
87
|
-
function eat(p) {
|
|
88
|
-
const tok = p.toks[p.i];
|
|
89
|
-
if (tok === undefined)
|
|
90
|
-
throw new HoldsError('unexpected end of condition');
|
|
91
|
-
p.i += 1;
|
|
92
|
-
return tok;
|
|
93
|
-
}
|
|
94
|
-
function asBool(value, op) {
|
|
95
|
-
if (typeof value !== 'boolean')
|
|
96
|
-
throw new HoldsError(`${op} needs a condition`);
|
|
97
|
-
return value;
|
|
98
|
-
}
|
|
99
|
-
function parseOr(p, env) {
|
|
100
|
-
let left = parseAnd(p, env);
|
|
101
|
-
while (peekOp(p) === '||') {
|
|
102
|
-
eat(p);
|
|
103
|
-
const right = parseAnd(p, env);
|
|
104
|
-
left = asBool(left, '||') || asBool(right, '||');
|
|
105
|
-
}
|
|
106
|
-
return left;
|
|
107
|
-
}
|
|
108
|
-
function parseAnd(p, env) {
|
|
109
|
-
let left = parseNot(p, env);
|
|
110
|
-
while (peekOp(p) === '&&') {
|
|
111
|
-
eat(p);
|
|
112
|
-
const right = parseNot(p, env);
|
|
113
|
-
left = asBool(left, '&&') && asBool(right, '&&');
|
|
114
|
-
}
|
|
115
|
-
return left;
|
|
116
|
-
}
|
|
117
|
-
function parseNot(p, env) {
|
|
118
|
-
if (peekOp(p) === '!') {
|
|
119
|
-
eat(p);
|
|
120
|
-
return !asBool(parseNot(p, env), '!');
|
|
121
|
-
}
|
|
122
|
-
return parseCmp(p, env);
|
|
123
|
-
}
|
|
124
|
-
function parseCmp(p, env) {
|
|
125
|
-
const left = parseAdd(p, env);
|
|
126
|
-
const op = peek(p);
|
|
127
|
-
if (op?.t === 'op' && ['>', '<', '>=', '<=', '==', '!=', '===', '!=='].includes(op.v)) {
|
|
128
|
-
eat(p);
|
|
129
|
-
const right = parseAdd(p, env);
|
|
130
|
-
if (typeof left === 'boolean' || typeof right === 'boolean') {
|
|
131
|
-
throw new HoldsError('comparison of a condition');
|
|
26
|
+
const COMPARISONS = {
|
|
27
|
+
'<': (a, b) => a < b,
|
|
28
|
+
'<=': (a, b) => a <= b,
|
|
29
|
+
'>': (a, b) => a > b,
|
|
30
|
+
'>=': (a, b) => a >= b,
|
|
31
|
+
'==': (a, b) => a === b,
|
|
32
|
+
'!=': (a, b) => a !== b,
|
|
33
|
+
};
|
|
34
|
+
const PREDICATES = {
|
|
35
|
+
isFinite: (x) => Number.isFinite(x),
|
|
36
|
+
isInteger: (x) => Number.isInteger(x),
|
|
37
|
+
};
|
|
38
|
+
function functionName(node) {
|
|
39
|
+
return typeof node.fn === 'string' ? node.fn : (node.fn?.name ?? node.name ?? '');
|
|
40
|
+
}
|
|
41
|
+
/** Evaluate an arithmetic sub-tree through MathTS; the result must be a number. */
|
|
42
|
+
function arithmetic(node, source) {
|
|
43
|
+
return (scope) => {
|
|
44
|
+
let v;
|
|
45
|
+
try {
|
|
46
|
+
v = node.evaluate(scope);
|
|
132
47
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return left > right;
|
|
136
|
-
case '<':
|
|
137
|
-
return left < right;
|
|
138
|
-
case '>=':
|
|
139
|
-
return left >= right;
|
|
140
|
-
case '<=':
|
|
141
|
-
return left <= right;
|
|
142
|
-
case '==':
|
|
143
|
-
case '===':
|
|
144
|
-
return left === right;
|
|
145
|
-
case '!=':
|
|
146
|
-
case '!==':
|
|
147
|
-
return left !== right;
|
|
148
|
-
default:
|
|
149
|
-
throw new HoldsError(`bad comparison ${op.v}`);
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw new HoldsError(`${error instanceof Error ? error.message : String(error)} in ${source}`);
|
|
150
50
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
51
|
+
if (typeof v !== 'number')
|
|
52
|
+
throw new HoldsError(`operand is not a number: ${node.toString()} in ${source}`);
|
|
53
|
+
return v;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function compile(node, source) {
|
|
57
|
+
switch (node.type) {
|
|
58
|
+
case 'ParenthesisNode':
|
|
59
|
+
return compile(node.content, source);
|
|
60
|
+
case 'ConstantNode':
|
|
61
|
+
if (typeof node.value === 'boolean')
|
|
62
|
+
return () => node.value;
|
|
63
|
+
return arithmetic(node, source);
|
|
64
|
+
case 'OperatorNode': {
|
|
65
|
+
const op = node.op ?? '';
|
|
66
|
+
const args = node.args ?? [];
|
|
67
|
+
if (op === 'and' || op === 'or') {
|
|
68
|
+
const parts = args.map((a) => compile(a, source));
|
|
69
|
+
return (scope) => {
|
|
70
|
+
const values = parts.map((p) => p(scope));
|
|
71
|
+
if (values.some((v) => typeof v !== 'boolean'))
|
|
72
|
+
throw new HoldsError(`'${op}' of a number in ${source}`);
|
|
73
|
+
return op === 'and' ? values.every(Boolean) : values.some(Boolean);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (op === 'not') {
|
|
77
|
+
const inner = compile(args[0], source);
|
|
78
|
+
return (scope) => {
|
|
79
|
+
const v = inner(scope);
|
|
80
|
+
if (typeof v !== 'boolean')
|
|
81
|
+
throw new HoldsError(`'not' of a number in ${source}`);
|
|
82
|
+
return !v;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const compare = COMPARISONS[op];
|
|
86
|
+
if (compare !== undefined) {
|
|
87
|
+
const [left, right] = args.map((a) => compile(a, source));
|
|
88
|
+
return (scope) => {
|
|
89
|
+
const a = left(scope);
|
|
90
|
+
const b = right(scope);
|
|
91
|
+
if (typeof a !== 'number' || typeof b !== 'number')
|
|
92
|
+
throw new HoldsError(`'${op}' of a boolean in ${source}`);
|
|
93
|
+
return compare(a, b);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return arithmetic(node, source);
|
|
161
97
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
98
|
+
case 'FunctionNode': {
|
|
99
|
+
const predicate = PREDICATES[functionName(node)];
|
|
100
|
+
if (predicate !== undefined) {
|
|
101
|
+
const arg = compile(node.args[0], source);
|
|
102
|
+
return (scope) => {
|
|
103
|
+
const v = arg(scope);
|
|
104
|
+
if (typeof v !== 'number')
|
|
105
|
+
throw new HoldsError(`${functionName(node)} of a boolean in ${source}`);
|
|
106
|
+
return predicate(v);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return arithmetic(node, source);
|
|
173
110
|
}
|
|
174
|
-
|
|
111
|
+
default:
|
|
112
|
+
return arithmetic(node, source);
|
|
175
113
|
}
|
|
176
|
-
return left;
|
|
177
114
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
if (peekOp(p) === '+') {
|
|
187
|
-
eat(p);
|
|
188
|
-
return parsePow(p, env);
|
|
189
|
-
}
|
|
190
|
-
return parsePow(p, env);
|
|
191
|
-
}
|
|
192
|
-
function parsePow(p, env) {
|
|
193
|
-
const base = parsePrimary(p, env);
|
|
194
|
-
if (peekOp(p) === '^') {
|
|
195
|
-
eat(p);
|
|
196
|
-
const exp = parseUnary(p, env);
|
|
197
|
-
if (typeof base !== 'number' || typeof exp !== 'number')
|
|
198
|
-
throw new HoldsError('power of a condition');
|
|
199
|
-
return base ** exp;
|
|
200
|
-
}
|
|
201
|
-
return base;
|
|
202
|
-
}
|
|
203
|
-
function parsePrimary(p, env) {
|
|
204
|
-
const tok = peek(p);
|
|
205
|
-
if (tok?.t === 'num') {
|
|
206
|
-
eat(p);
|
|
207
|
-
return tok.v;
|
|
115
|
+
const COMPILED = new Map();
|
|
116
|
+
function compiled(rewritten, source) {
|
|
117
|
+
const hit = COMPILED.get(rewritten);
|
|
118
|
+
if (hit !== undefined)
|
|
119
|
+
return hit;
|
|
120
|
+
let node;
|
|
121
|
+
try {
|
|
122
|
+
node = parseMathTs(rewritten);
|
|
208
123
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
if (tok.v === 'true')
|
|
212
|
-
return true;
|
|
213
|
-
if (tok.v === 'false')
|
|
214
|
-
return false;
|
|
215
|
-
if (peek(p)?.t === 'lp') {
|
|
216
|
-
eat(p);
|
|
217
|
-
const arg = parseAdd(p, env);
|
|
218
|
-
if (peek(p)?.t !== 'rp')
|
|
219
|
-
throw new HoldsError(`unclosed ${tok.v}`);
|
|
220
|
-
eat(p);
|
|
221
|
-
if (typeof arg !== 'number')
|
|
222
|
-
throw new HoldsError(`${tok.v} needs a number`);
|
|
223
|
-
if (tok.v === 'finite')
|
|
224
|
-
return Number.isFinite(arg);
|
|
225
|
-
if (tok.v === 'integer')
|
|
226
|
-
return Number.isInteger(arg);
|
|
227
|
-
if (tok.v === 'sqrt')
|
|
228
|
-
return Math.sqrt(arg);
|
|
229
|
-
if (tok.v === 'abs')
|
|
230
|
-
return Math.abs(arg);
|
|
231
|
-
throw new HoldsError(`unknown predicate ${tok.v}`);
|
|
232
|
-
}
|
|
233
|
-
if (Object.hasOwn(env.values, tok.v))
|
|
234
|
-
return env.values[tok.v];
|
|
235
|
-
if (Object.hasOwn(env.constants, tok.v))
|
|
236
|
-
return env.constants[tok.v];
|
|
237
|
-
throw new HoldsError(`unbound '${tok.v}'`);
|
|
238
|
-
}
|
|
239
|
-
if (tok?.t === 'lp') {
|
|
240
|
-
eat(p);
|
|
241
|
-
const v = parseOr(p, env);
|
|
242
|
-
if (peek(p)?.t !== 'rp')
|
|
243
|
-
throw new HoldsError('unclosed group');
|
|
244
|
-
eat(p);
|
|
245
|
-
return v;
|
|
124
|
+
catch (error) {
|
|
125
|
+
throw new HoldsError(`${error instanceof Error ? error.message : String(error)} in ${source}`);
|
|
246
126
|
}
|
|
247
|
-
|
|
127
|
+
const fn = compile(node, source);
|
|
128
|
+
COMPILED.set(rewritten, fn);
|
|
129
|
+
return fn;
|
|
248
130
|
}
|
|
131
|
+
const IDENTIFIER = /[A-Za-z_][A-Za-z0-9_]*/g;
|
|
249
132
|
/**
|
|
250
133
|
* Whether `holds` is true for `values`.
|
|
251
|
-
* Hyphenated quantity names are rewritten with `names` before parsing
|
|
134
|
+
* Hyphenated quantity names are rewritten with `names` before parsing; an
|
|
135
|
+
* unbound name, a non-boolean result, and a syntax error are a {@link HoldsError}.
|
|
136
|
+
* A value whose name is one of `constants` and which the condition reads is
|
|
137
|
+
* a {@link ConstantInputError}, a caller error and not a false condition,
|
|
138
|
+
* unless `declared` names it; one the condition does not read is dropped, as
|
|
139
|
+
* any other extra key is.
|
|
252
140
|
*/
|
|
253
|
-
export function holds(source, values, constants, names) {
|
|
254
|
-
const rewritten =
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
const
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
141
|
+
export function holds(source, values, constants, names, declared = []) {
|
|
142
|
+
const rewritten = rewriteCatalogHyphens(source, names);
|
|
143
|
+
const reads = new Set(rewritten.match(IDENTIFIER) ?? []);
|
|
144
|
+
const scope = { ...constants };
|
|
145
|
+
const allowed = new Set(declared.map((name) => name.replace(/-/g, '_')));
|
|
146
|
+
for (const [key, value] of Object.entries(values)) {
|
|
147
|
+
const name = key.replace(/-/g, '_');
|
|
148
|
+
if (name in constants && !allowed.has(name)) {
|
|
149
|
+
if (reads.has(name))
|
|
150
|
+
throw new ConstantInputError(key);
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
scope[name] = value;
|
|
154
|
+
}
|
|
155
|
+
const result = compiled(rewritten, source)(scope);
|
|
262
156
|
if (typeof result !== 'boolean')
|
|
263
157
|
throw new HoldsError(`condition is not boolean: ${source}`);
|
|
264
158
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holds.js","sourceRoot":"","sources":["../../src/bridges/holds.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"holds.js","sourceRoot":"","sources":["../../src/bridges/holds.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Interpreter for a catalog validity condition.\n *\n * A condition is a boolean expression over quantity names, the registered\n * constants, `isFinite` and `isInteger`, written in MathTS's grammar\n * (`and`, `or`, `not`, `<`, `<=`, `>`, `>=`, `==`, `!=`). MathTS parses it,\n * and MathTS evaluates every arithmetic sub-expression. The comparisons and\n * the logical operators are evaluated here, exactly: MathTS's own comparison\n * operators are tolerance-based (`absTol` 1e-15), so under them `1e-18 > 0`\n * is false, which no condition over SI magnitudes can accept.\n *\n * It is not JavaScript `eval`.\n *\n * @module bridges/holds\n */\n\nimport { parse as parseMathTs } from '@danielsimonjr/mathts-functions';\nimport { rewriteCatalogHyphens } from '../dimensional/hyphen-names.js';\nimport { ConstantInputError } from './evaluation-errors.js';\n\n/** A condition could not be evaluated: it names an unbound symbol, or its text does not parse. @internal */\nexport class HoldsError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'HoldsError';\n }\n}\n\n/** The MathTS node shape this interpreter reads. */\ninterface MathNode {\n readonly type: string;\n readonly op?: string;\n readonly fn?: string | { readonly name?: string };\n readonly name?: string;\n readonly value?: unknown;\n readonly args?: readonly MathNode[];\n readonly content?: MathNode;\n evaluate(scope: Record<string, unknown>): unknown;\n}\n\ntype Scope = Record<string, number>;\ntype Compiled = (scope: Scope) => boolean | number;\n\nconst COMPARISONS: Readonly<Record<string, (a: number, b: number) => boolean>> = {\n '<': (a, b) => a < b,\n '<=': (a, b) => a <= b,\n '>': (a, b) => a > b,\n '>=': (a, b) => a >= b,\n '==': (a, b) => a === b,\n '!=': (a, b) => a !== b,\n};\n\nconst PREDICATES: Readonly<Record<string, (x: number) => boolean>> = {\n isFinite: (x) => Number.isFinite(x),\n isInteger: (x) => Number.isInteger(x),\n};\n\nfunction functionName(node: MathNode): string {\n return typeof node.fn === 'string' ? node.fn : (node.fn?.name ?? node.name ?? '');\n}\n\n/** Evaluate an arithmetic sub-tree through MathTS; the result must be a number. */\nfunction arithmetic(node: MathNode, source: string): Compiled {\n return (scope) => {\n let v: unknown;\n try {\n v = node.evaluate(scope);\n } catch (error) {\n throw new HoldsError(`${error instanceof Error ? error.message : String(error)} in ${source}`);\n }\n if (typeof v !== 'number') throw new HoldsError(`operand is not a number: ${node.toString()} in ${source}`);\n return v;\n };\n}\n\nfunction compile(node: MathNode, source: string): Compiled {\n switch (node.type) {\n case 'ParenthesisNode':\n return compile(node.content!, source);\n case 'ConstantNode':\n if (typeof node.value === 'boolean') return () => node.value as boolean;\n return arithmetic(node, source);\n case 'OperatorNode': {\n const op = node.op ?? '';\n const args = node.args ?? [];\n if (op === 'and' || op === 'or') {\n const parts = args.map((a) => compile(a, source));\n return (scope) => {\n const values = parts.map((p) => p(scope));\n if (values.some((v) => typeof v !== 'boolean')) throw new HoldsError(`'${op}' of a number in ${source}`);\n return op === 'and' ? values.every(Boolean) : values.some(Boolean);\n };\n }\n if (op === 'not') {\n const inner = compile(args[0]!, source);\n return (scope) => {\n const v = inner(scope);\n if (typeof v !== 'boolean') throw new HoldsError(`'not' of a number in ${source}`);\n return !v;\n };\n }\n const compare = COMPARISONS[op];\n if (compare !== undefined) {\n const [left, right] = args.map((a) => compile(a, source));\n return (scope) => {\n const a = left!(scope);\n const b = right!(scope);\n if (typeof a !== 'number' || typeof b !== 'number') throw new HoldsError(`'${op}' of a boolean in ${source}`);\n return compare(a, b);\n };\n }\n return arithmetic(node, source);\n }\n case 'FunctionNode': {\n const predicate = PREDICATES[functionName(node)];\n if (predicate !== undefined) {\n const arg = compile(node.args![0]!, source);\n return (scope) => {\n const v = arg(scope);\n if (typeof v !== 'number') throw new HoldsError(`${functionName(node)} of a boolean in ${source}`);\n return predicate(v);\n };\n }\n return arithmetic(node, source);\n }\n default:\n return arithmetic(node, source);\n }\n}\n\nconst COMPILED = new Map<string, Compiled>();\n\nfunction compiled(rewritten: string, source: string): Compiled {\n const hit = COMPILED.get(rewritten);\n if (hit !== undefined) return hit;\n let node: MathNode;\n try {\n node = parseMathTs(rewritten) as unknown as MathNode;\n } catch (error) {\n throw new HoldsError(`${error instanceof Error ? error.message : String(error)} in ${source}`);\n }\n const fn = compile(node, source);\n COMPILED.set(rewritten, fn);\n return fn;\n}\n\nconst IDENTIFIER = /[A-Za-z_][A-Za-z0-9_]*/g;\n\n/**\n * Whether `holds` is true for `values`.\n * Hyphenated quantity names are rewritten with `names` before parsing; an\n * unbound name, a non-boolean result, and a syntax error are a {@link HoldsError}.\n * A value whose name is one of `constants` and which the condition reads is\n * a {@link ConstantInputError}, a caller error and not a false condition,\n * unless `declared` names it; one the condition does not read is dropped, as\n * any other extra key is.\n */\nexport function holds(\n source: string,\n values: Readonly<Record<string, number>>,\n constants: Readonly<Record<string, number>>,\n names: readonly string[],\n declared: readonly string[] = [],\n): boolean {\n const rewritten = rewriteCatalogHyphens(source, names);\n const reads = new Set(rewritten.match(IDENTIFIER) ?? []);\n const scope: Scope = { ...constants };\n const allowed = new Set(declared.map((name) => name.replace(/-/g, '_')));\n for (const [key, value] of Object.entries(values)) {\n const name = key.replace(/-/g, '_');\n if (name in constants && !allowed.has(name)) {\n if (reads.has(name)) throw new ConstantInputError(key);\n continue;\n }\n scope[name] = value;\n }\n const result = compiled(rewritten, source)(scope);\n if (typeof result !== 'boolean') throw new HoldsError(`condition is not boolean: ${source}`);\n return result;\n}\n"]}
|
package/dist/bridges/index.d.ts
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bridge catalog projection.
|
|
2
|
+
* Bridge catalog projection. The rows are loaded from
|
|
3
3
|
* `data/bridge-catalog.json`. This module does not declare an equation.
|
|
4
4
|
*
|
|
5
5
|
* @module bridges
|
|
6
6
|
*/
|
|
7
|
+
import type { BridgeEquationEntry } from './types.js';
|
|
8
|
+
/** The catalog row and its status, issue and severity unions. */
|
|
7
9
|
export type { BridgeEquationEntry, BridgeEquationStatus, BridgeIssueFixable, BridgeIssueSeverity, KnownIssue, } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Derived constants of the catalog's closed forms, re-exported for callers
|
|
12
|
+
* who want the number by name. A catalog expression reads `m_p` and
|
|
13
|
+
* `sigma_T` through the constant registry (`dimensional/constant-rows.ts`),
|
|
14
|
+
* which carries `M_PROTON_SI`, `THOMSON_CROSS_SECTION_SI` and
|
|
15
|
+
* `LANE_EMDEN_OMEGA3`; the von Klitzing, Josephson, Lorenz and BCS-gap
|
|
16
|
+
* values are not read by any expression and are the catalog's documented
|
|
17
|
+
* reference numbers.
|
|
18
|
+
*/
|
|
11
19
|
export { BCS_GAP_RATIO, JOSEPHSON_CONSTANT_SI, LANE_EMDEN_OMEGA3, LORENZ_NUMBER_SI, M_PROTON_SI, THOMSON_CROSS_SECTION_SI, VON_KLITZING_SI, } from '../core/constants.js';
|
|
12
20
|
/** Thrown when two carrier roles have opposite signs. */
|
|
13
21
|
export { CarrierSignError } from './carrier-sign.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
/** Catalog rows in
|
|
22
|
+
/** Thrown when a caller input names a registered constant. */
|
|
23
|
+
export { ConstantInputError } from './evaluation-errors.js';
|
|
24
|
+
/** Catalog rows in id order. @public */
|
|
17
25
|
export declare const BRIDGE_EQUATIONS: readonly BridgeEquationEntry[];
|
|
18
|
-
/** The regime recorded on a catalog row, when the row has one. */
|
|
19
|
-
export declare function catalogRegime(id: number): Regime | undefined;
|
|
20
|
-
/**
|
|
21
|
-
* Dimensionless groups at the points the gravitational confrontations used.
|
|
22
|
-
* Keys are catalog ids. Values are group formula → number.
|
|
23
|
-
*/
|
|
24
|
-
export declare const SPINE_CONFRONTATION_POINTS: Readonly<Record<string, Readonly<Record<string, number>>>>;
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,iEAAiE;AACjE,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,wBAAwB,EACxB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,yDAAyD;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wCAAwC;AACxC,eAAO,MAAM,gBAAgB,EAAE,SAAS,mBAAmB,EAAqB,CAAC"}
|
package/dist/bridges/index.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bridge catalog projection.
|
|
2
|
+
* Bridge catalog projection. The rows are loaded from
|
|
3
3
|
* `data/bridge-catalog.json`. This module does not declare an equation.
|
|
4
4
|
*
|
|
5
5
|
* @module bridges
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import { catalogEntries } from './catalog-load.js';
|
|
8
|
+
/**
|
|
9
|
+
* Derived constants of the catalog's closed forms, re-exported for callers
|
|
10
|
+
* who want the number by name. A catalog expression reads `m_p` and
|
|
11
|
+
* `sigma_T` through the constant registry (`dimensional/constant-rows.ts`),
|
|
12
|
+
* which carries `M_PROTON_SI`, `THOMSON_CROSS_SECTION_SI` and
|
|
13
|
+
* `LANE_EMDEN_OMEGA3`; the von Klitzing, Josephson, Lorenz and BCS-gap
|
|
14
|
+
* values are not read by any expression and are the catalog's documented
|
|
15
|
+
* reference numbers.
|
|
16
|
+
*/
|
|
10
17
|
export { BCS_GAP_RATIO, JOSEPHSON_CONSTANT_SI, LANE_EMDEN_OMEGA3, LORENZ_NUMBER_SI, M_PROTON_SI, THOMSON_CROSS_SECTION_SI, VON_KLITZING_SI, } from '../core/constants.js';
|
|
11
18
|
/** Thrown when two carrier roles have opposite signs. */
|
|
12
19
|
export { CarrierSignError } from './carrier-sign.js';
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
/** Thrown when a caller input names a registered constant. */
|
|
21
|
+
export { ConstantInputError } from './evaluation-errors.js';
|
|
22
|
+
/** Catalog rows in id order. @public */
|
|
15
23
|
export const BRIDGE_EQUATIONS = catalogEntries();
|
|
16
|
-
/** The regime recorded on a catalog row, when the row has one. */
|
|
17
|
-
export function catalogRegime(id) {
|
|
18
|
-
return catalogEntry(id)?.regime;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Dimensionless groups at the points the gravitational confrontations used.
|
|
22
|
-
* Keys are catalog ids. Values are group formula → number.
|
|
23
|
-
*/
|
|
24
|
-
export const SPINE_CONFRONTATION_POINTS = bridgeCatalog().spine;
|
|
25
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWnD;;;;;;;;GAQG;AACH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,wBAAwB,EACxB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,yDAAyD;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAmC,cAAc,EAAE,CAAC","sourcesContent":["/**\n * Bridge catalog projection. The rows are loaded from\n * `data/bridge-catalog.json`. This module does not declare an equation.\n *\n * @module bridges\n */\n\nimport type { BridgeEquationEntry } from './types.js';\nimport { catalogEntries } from './catalog-load.js';\n\n/** The catalog row and its status, issue and severity unions. */\nexport type {\n BridgeEquationEntry,\n BridgeEquationStatus,\n BridgeIssueFixable,\n BridgeIssueSeverity,\n KnownIssue,\n} from './types.js';\n\n/**\n * Derived constants of the catalog's closed forms, re-exported for callers\n * who want the number by name. A catalog expression reads `m_p` and\n * `sigma_T` through the constant registry (`dimensional/constant-rows.ts`),\n * which carries `M_PROTON_SI`, `THOMSON_CROSS_SECTION_SI` and\n * `LANE_EMDEN_OMEGA3`; the von Klitzing, Josephson, Lorenz and BCS-gap\n * values are not read by any expression and are the catalog's documented\n * reference numbers.\n */\nexport {\n BCS_GAP_RATIO,\n JOSEPHSON_CONSTANT_SI,\n LANE_EMDEN_OMEGA3,\n LORENZ_NUMBER_SI,\n M_PROTON_SI,\n THOMSON_CROSS_SECTION_SI,\n VON_KLITZING_SI,\n} from '../core/constants.js';\n/** Thrown when two carrier roles have opposite signs. */\nexport { CarrierSignError } from './carrier-sign.js';\n/** Thrown when a caller input names a registered constant. */\nexport { ConstantInputError } from './evaluation-errors.js';\n\n/** Catalog rows in id order. @public */\nexport const BRIDGE_EQUATIONS: readonly BridgeEquationEntry[] = catalogEntries();\n"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one check of a binding record against an id's declared inputs.
|
|
3
|
+
*
|
|
4
|
+
* Every evaluation runs it before any domain check: `evaluateRelation`, the
|
|
5
|
+
* CLI's `upt evaluate`, an evaluator's `run`, the uncertainty probes that
|
|
6
|
+
* call `run`, and an applied case. It refuses an unknown key, a non-number, a
|
|
7
|
+
* number that is not finite and a key given twice, converts a declared
|
|
8
|
+
* alternate onto its key, and names every absent required input, in that
|
|
9
|
+
* order.
|
|
10
|
+
*
|
|
11
|
+
* A spelling binds one slot. {@link inputContract} builds a contract and
|
|
12
|
+
* refuses one whose spellings or alternates name two slots, so an ambiguous
|
|
13
|
+
* key fails when the contract is built, not when a caller happens to use it.
|
|
14
|
+
*
|
|
15
|
+
* What is required depends on what the caller asks for. A slot is read by the
|
|
16
|
+
* value (it owns a source of the relation) or only by the extra outputs. A
|
|
17
|
+
* caller who wants the value alone (`evaluateRelation`, the graph edge) need
|
|
18
|
+
* not give an output-only input; a caller who wants every output must.
|
|
19
|
+
*
|
|
20
|
+
* @module bridges/input-contract
|
|
21
|
+
*/
|
|
22
|
+
/** A second key that converts into a slot's key by a factor. @public */
|
|
23
|
+
export interface ContractAlternate {
|
|
24
|
+
readonly key: string;
|
|
25
|
+
readonly toKey: number;
|
|
26
|
+
}
|
|
27
|
+
/** One declared input: the key the evaluation reads, and every spelling that binds it. @public */
|
|
28
|
+
export interface InputSlot {
|
|
29
|
+
readonly key: string;
|
|
30
|
+
/** Spellings that bind this slot as given (the key, its quantity, its source and aliases). */
|
|
31
|
+
readonly spellings: readonly string[];
|
|
32
|
+
readonly alternates: readonly ContractAlternate[];
|
|
33
|
+
readonly optional: boolean;
|
|
34
|
+
/** `'value'` when the relation's value reads this slot; `'outputs'` when only an extra output does. */
|
|
35
|
+
readonly readBy: 'value' | 'outputs';
|
|
36
|
+
/** Listed in a message as one of "the inputs". A constant a caller may override is not. */
|
|
37
|
+
readonly listed: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** What the caller wants back: the relation's value alone, or the value and every extra output. @public */
|
|
40
|
+
export type EvaluationWant = 'value' | 'all';
|
|
41
|
+
/** The declared inputs of one id. @public */
|
|
42
|
+
export interface InputContract {
|
|
43
|
+
readonly id: string;
|
|
44
|
+
readonly slots: readonly InputSlot[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A contract for `id` with `slots`, checked once here: every spelling and
|
|
48
|
+
* alternate binds exactly one slot.
|
|
49
|
+
*
|
|
50
|
+
* @throws Error when a spelling or an alternate names two slots.
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export declare function inputContract(id: string, slots: readonly InputSlot[]): InputContract;
|
|
54
|
+
/**
|
|
55
|
+
* `bindings` keyed by slot key, after the contract's checks.
|
|
56
|
+
*
|
|
57
|
+
* @throws UnknownInputError a key no slot spells.
|
|
58
|
+
* @throws InputTypeError a value that is not a number.
|
|
59
|
+
* @throws NonFiniteInputError a number that is `NaN`, `Infinity` or `-Infinity`.
|
|
60
|
+
* @throws DuplicateInputError one slot bound under two spellings.
|
|
61
|
+
* @throws MissingInputError a required slot left unbound (every one is named).
|
|
62
|
+
* With `want` `'value'`, a slot only an extra output reads is not required.
|
|
63
|
+
*/
|
|
64
|
+
export declare function checkInputs(contract: InputContract, bindings: Readonly<Record<string, unknown>>, want?: EvaluationWant): Record<string, number>;
|
|
65
|
+
//# sourceMappingURL=input-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-contract.d.ts","sourceRoot":"","sources":["../../src/bridges/input-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kGAAkG;AAClG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,uGAAuG;IACvG,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,2GAA2G;AAC3G,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AA8BD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,aAAa,CAIpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC3C,IAAI,GAAE,cAAsB,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB"}
|