universal-physics-tensor 9.0.0 → 11.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 +21 -17
- package/bin/upt.mjs +13 -1
- package/data/atlas/atlas.json +79 -68
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +24 -23
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +36 -31
- package/data/atlas/witness-results.json +11 -11
- package/data/bridge-catalog.json +1192 -1636
- package/data/bridge-catalog.schema.json +390 -135
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +35 -18
- package/dist/atlas/applicability.js.map +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 +12 -3
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
- 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 +2 -2
- 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 +3 -3
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +16 -8
- 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.d.ts +26 -3
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +52 -5
- 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 +12 -24
- 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 +0 -4
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +8 -17
- 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 +27 -42
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.d.ts +6 -14
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
- package/dist/atlas/diffusion/dimensions.js +8 -16
- 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.d.ts +3 -3
- package/dist/atlas/diffusion/models.d.ts.map +1 -1
- package/dist/atlas/diffusion/models.js +5 -10
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.d.ts +16 -4
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
- package/dist/atlas/diffusion/numerics.js +38 -24
- 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 +107 -4
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js +212 -66
- 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 +7 -12
- 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 +6 -10
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +23 -36
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.d.ts +9 -21
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
- package/dist/atlas/oscillators/dimensions.js +9 -21
- 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.d.ts +2 -2
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js +17 -15
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +2 -6
- 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.d.ts +29 -6
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js +60 -40
- 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.d.ts +0 -11
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js +3 -4
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.d.ts +68 -7
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/position-translation.js +123 -12
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.d.ts +0 -2
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
- package/dist/atlas/oscillators/rejections.js +0 -7
- 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 +25 -24
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +25 -24
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +107 -70
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +184 -101
- 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.d.ts +0 -19
- package/dist/atlas/poster/statements.d.ts.map +1 -1
- package/dist/atlas/poster/statements.js +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +1 -1
- package/dist/atlas/proof-target.js +1 -1
- 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.d.ts +1 -1
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +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/text-overlap.d.ts +23 -0
- package/dist/atlas/text-overlap.d.ts.map +1 -0
- package/dist/atlas/text-overlap.js +41 -0
- package/dist/atlas/text-overlap.js.map +1 -0
- 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 +2 -9
- 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 +32 -52
- 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.d.ts +5 -6
- package/dist/atlas/waves/models.d.ts.map +1 -1
- package/dist/atlas/waves/models.js +7 -13
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.d.ts.map +1 -1
- package/dist/atlas/waves/numerics.js +10 -3
- 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 +38 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +80 -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.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +19 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.d.ts +75 -3
- package/dist/atlas/witness-symbolic.d.ts.map +1 -1
- package/dist/atlas/witness-symbolic.js +116 -10
- 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 +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +181 -13
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +74 -26
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js +11 -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 +46 -3
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +40 -4
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +7 -5
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +76 -28
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +101 -12
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +40 -4
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +128 -19
- 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.js.map +1 -1
- 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.map +1 -1
- package/dist/bridges/notices.js +5 -5
- package/dist/bridges/notices.js.map +1 -1
- 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 +6 -7
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +20 -50
- 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 +27 -13
- 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/bridges/validity.d.ts +33 -0
- package/dist/bridges/validity.d.ts.map +1 -0
- package/dist/bridges/validity.js +67 -0
- package/dist/bridges/validity.js.map +1 -0
- 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.js +1 -3
- 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 +8 -9
- 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 +5 -6
- 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 +6 -12
- 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 +3 -7
- 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 +4 -6
- 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 +38 -39
- 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 -6
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -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 +6 -10
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/fixed-points.d.ts +94 -0
- package/dist/canonical/fixed-points.d.ts.map +1 -0
- package/dist/canonical/fixed-points.js +81 -0
- package/dist/canonical/fixed-points.js.map +1 -0
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +47 -64
- 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 +22 -23
- 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 +42 -21
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +64 -23
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.d.ts +3 -3
- package/dist/cases/brownian-sphere.d.ts.map +1 -1
- package/dist/cases/brownian-sphere.js +10 -9
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.d.ts.map +1 -1
- package/dist/cases/damped-resonator.js +8 -11
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.d.ts +1 -1
- package/dist/cases/kepler-rv.d.ts.map +1 -1
- package/dist/cases/kepler-rv.js +3 -2
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.d.ts +8 -3
- package/dist/cases/lumped-cooling.d.ts.map +1 -1
- package/dist/cases/lumped-cooling.js +22 -24
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.d.ts +7 -9
- package/dist/cases/quadrature.d.ts.map +1 -1
- package/dist/cases/quadrature.js +28 -32
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +7 -7
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.d.ts +0 -4
- package/dist/cases/skin-depth.d.ts.map +1 -1
- package/dist/cases/skin-depth.js +3 -7
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +30 -3
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +47 -9
- 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 +33 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.d.ts +8 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +2 -11
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +50 -35
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-route.js +6 -2
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -14
- 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 +9 -8
- 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 +20 -20
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.d.ts.map +1 -1
- package/dist/cli/commands/axes.js +20 -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 -20
- package/dist/cli/commands/confront.js.map +1 -1
- 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 +60 -35
- 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 +20 -10
- 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 +14 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +108 -58
- 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 +16 -8
- 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 -10
- 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 +155 -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 +58 -20
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.d.ts +10 -0
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +29 -7
- 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 +105 -38
- 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 -26
- 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 +23 -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 +9 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.js +31 -36
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts.map +1 -1
- package/dist/cli/commands/testplan.js +5 -3
- package/dist/cli/commands/testplan.js.map +1 -1
- 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.js.map +1 -1
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +28 -3
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +42 -22
- 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.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +25 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/numeric-flag.d.ts +12 -0
- package/dist/cli/numeric-flag.d.ts.map +1 -0
- package/dist/cli/numeric-flag.js +44 -0
- package/dist/cli/numeric-flag.js.map +1 -0
- package/dist/cli/output.d.ts +23 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +15 -0
- package/dist/cli/output.js.map +1 -1
- 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 +17 -11
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +7 -6
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts +1 -5
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +40 -20
- 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 +19 -7
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.d.ts +0 -2
- package/dist/cli/statuses.d.ts.map +1 -1
- package/dist/cli/statuses.js +0 -7
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/stored-results.d.ts +7 -0
- package/dist/cli/stored-results.d.ts.map +1 -0
- package/dist/cli/stored-results.js +23 -0
- package/dist/cli/stored-results.js.map +1 -0
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +7 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +49 -14
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +42 -17
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/algebraic-equivalence.d.ts +43 -0
- package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
- package/dist/composition/algebraic-equivalence.js +115 -0
- package/dist/composition/algebraic-equivalence.js.map +1 -0
- 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 +6 -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.d.ts +47 -20
- package/dist/composition/axis-audit.d.ts.map +1 -1
- package/dist/composition/axis-audit.js +82 -9
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +14 -15
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +148 -91
- 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 +40 -0
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +134 -26
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +9 -10
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +33 -102
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js +2 -2
- package/dist/composition/canonical-json.js.map +1 -1
- 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 +8 -25
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +10 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +11 -2
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.d.ts +6 -3
- package/dist/composition/chain-match.d.ts.map +1 -1
- package/dist/composition/chain-match.js +4 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.d.ts.map +1 -1
- package/dist/composition/chain-result.js +2 -14
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js +3 -2
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +166 -41
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts.map +1 -1
- package/dist/composition/composition-recovery.js +4 -7
- 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 +77 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +194 -80
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +40 -10
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +47 -12
- 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 +18 -3
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +35 -11
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +60 -39
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +5 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +38 -18
- 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 -11
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +16 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +24 -59
- 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 +28 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +96 -2
- 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-structure.d.ts +98 -0
- package/dist/composition/graph-structure.d.ts.map +1 -0
- package/dist/composition/graph-structure.js +167 -0
- package/dist/composition/graph-structure.js.map +1 -0
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz-svg.js +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +8 -37
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.d.ts +91 -4
- package/dist/composition/identifiability.d.ts.map +1 -1
- package/dist/composition/identifiability.js +363 -6
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +14 -8
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -5
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +29 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +57 -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 +20 -35
- 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.d.ts +4 -2
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +20 -9
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.d.ts +17 -0
- package/dist/composition/probe/dataset.d.ts.map +1 -1
- package/dist/composition/probe/dataset.js +95 -50
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.d.ts +5 -1
- package/dist/composition/probe/experiment-design.d.ts.map +1 -1
- package/dist/composition/probe/experiment-design.js +44 -24
- 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 +16 -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 +7 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +48 -23
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +33 -15
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.d.ts +27 -1
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +53 -30
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +18 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +10 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.d.ts +24 -1
- package/dist/composition/probe/limits.d.ts.map +1 -1
- package/dist/composition/probe/limits.js +53 -11
- 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 +22 -9
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/power-law.d.ts +121 -0
- package/dist/composition/probe/power-law.d.ts.map +1 -0
- package/dist/composition/probe/power-law.js +255 -0
- package/dist/composition/probe/power-law.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +12 -1
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +242 -48
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.d.ts +6 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js +9 -7
- 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.d.ts +82 -17
- package/dist/composition/probe/structure.d.ts.map +1 -1
- package/dist/composition/probe/structure.js +129 -55
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +35 -12
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +241 -184
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/t-tail.d.ts +17 -0
- package/dist/composition/probe/t-tail.d.ts.map +1 -0
- package/dist/composition/probe/t-tail.js +32 -0
- package/dist/composition/probe/t-tail.js.map +1 -0
- package/dist/composition/probe/types.d.ts +6 -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 +51 -13
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +110 -58
- 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-clusters.d.ts +48 -0
- package/dist/composition/quantity-clusters.d.ts.map +1 -0
- package/dist/composition/quantity-clusters.js +98 -0
- package/dist/composition/quantity-clusters.js.map +1 -0
- 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/rational-exponent.d.ts +40 -0
- package/dist/composition/rational-exponent.d.ts.map +1 -0
- package/dist/composition/rational-exponent.js +65 -0
- package/dist/composition/rational-exponent.js.map +1 -0
- package/dist/composition/representative-values.d.ts +22 -0
- package/dist/composition/representative-values.d.ts.map +1 -1
- package/dist/composition/representative-values.js +23 -0
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +36 -10
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +2 -2
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/assignment.d.ts +19 -0
- package/dist/core/assignment.d.ts.map +1 -0
- package/dist/core/assignment.js +19 -0
- package/dist/core/assignment.js.map +1 -0
- 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/compare.d.ts +32 -0
- package/dist/core/compare.d.ts.map +1 -0
- package/dist/core/compare.js +46 -0
- package/dist/core/compare.js.map +1 -0
- package/dist/core/constants.d.ts +35 -35
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +52 -37
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +7 -0
- package/dist/core/data-file.d.ts.map +1 -1
- package/dist/core/data-file.js +17 -0
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/format.d.ts +36 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +39 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/hash.d.ts +14 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +17 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/json-schema.d.ts +3 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +41 -16
- package/dist/core/json-schema.js.map +1 -1
- 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 -16
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/mathts-read.d.ts +25 -0
- package/dist/core/mathts-read.d.ts.map +1 -0
- package/dist/core/mathts-read.js +51 -0
- package/dist/core/mathts-read.js.map +1 -0
- 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 +64 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +5 -5
- 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 +10 -6
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +43 -86
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +40 -109
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +19 -4
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.d.ts +18 -0
- package/dist/dimensional/algebra.d.ts.map +1 -1
- package/dist/dimensional/algebra.js +41 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +12 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +17 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-leaves.d.ts +81 -0
- package/dist/dimensional/ast-leaves.d.ts.map +1 -0
- package/dist/dimensional/ast-leaves.js +146 -0
- package/dist/dimensional/ast-leaves.js.map +1 -0
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/buckingham.js +15 -27
- 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.map +1 -1
- package/dist/dimensional/constant-rows.js +17 -13
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- 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.d.ts.map +1 -1
- package/dist/dimensional/dimension-inference.js +1 -2
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +4 -2
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +3 -17
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +0 -17
- package/dist/dimensional/exact-scale.d.ts.map +1 -1
- package/dist/dimensional/exact-scale.js +8 -8
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- 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 +2 -3
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts +12 -2
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +45 -12
- 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.d.ts.map +1 -1
- package/dist/dimensional/metric.js +0 -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 +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- 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 +9 -0
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +20 -3
- 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.d.ts +36 -0
- package/dist/dimensional/types.d.ts.map +1 -1
- package/dist/dimensional/types.js +45 -7
- 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.map +1 -1
- package/dist/dimensional/unit-data.js +11 -7
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- 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 +59 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.d.ts.map +1 -1
- package/dist/numerical/christoffel-flat.js +3 -2
- 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 +36 -13
- 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 +9 -5
- 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 -8
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/finite-difference.d.ts +22 -0
- package/dist/numerical/finite-difference.d.ts.map +1 -0
- package/dist/numerical/finite-difference.js +27 -0
- package/dist/numerical/finite-difference.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- 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 +5 -2
- 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.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +22 -14
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/geometrized.js +0 -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 +41 -42
- 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 +16 -25
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +83 -46
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.d.ts +2 -1
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +12 -12
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js +2 -2
- 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.d.ts +0 -36
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +41 -87
- 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 +19 -4
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/rk4-trajectory.d.ts +10 -0
- package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
- package/dist/numerical/rk4-trajectory.js +37 -0
- package/dist/numerical/rk4-trajectory.js.map +1 -0
- package/dist/numerical/schwarzschild.d.ts +14 -0
- package/dist/numerical/schwarzschild.d.ts.map +1 -0
- package/dist/numerical/schwarzschild.js +17 -0
- package/dist/numerical/schwarzschild.js.map +1 -0
- package/dist/numerical/spacetime-metrics.d.ts +25 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +180 -286
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/statistics.d.ts +24 -0
- package/dist/numerical/statistics.d.ts.map +1 -0
- package/dist/numerical/statistics.js +52 -0
- package/dist/numerical/statistics.js.map +1 -0
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +30 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js +12 -0
- 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 +28 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +44 -15
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +16 -20
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/composition/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/composition/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,iGAAiG;AACjG,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EACZ,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,oFAAoF;AACpF,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,uDAAuD;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AASxD,iHAAiH;AACjH,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO7D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,6HAA6H;AAC7H,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUnD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,0IAA0I;AAC1I,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChG,sEAAsE","sourcesContent":["/**\n * Composition graph (v0.8.0) — graph-lite `Quantity` / `BridgeEdge` /\n * `composeEdges()` beside the catalog (NOT replacing it; the catalog\n * in `src/bridges/index.ts` stays authoritative).\n *\n * See docs/planning/v0.8.0-Design.md for the design. The catalog edges are\n * projected from `data/bridge-catalog.json` by `./catalog-graph.js`; the\n * pre-registered CT-* composed ids are `REGISTERED_COMPOSITION_IDS` in\n * `./enumerate.js`.\n *\n * @module composition\n */\n\nexport type { Quantity, RegimeAttributes } from './quantity.js';\nexport { regimesDiffer } from './quantity.js';\n\nexport type { BridgeEdge, EdgeConfidence, ValidityDomain } from './edge.js';\n/** Edge evaluation and the errors it throws. An unset coefficient is `CoefficientUnsetError`. */\nexport {\n CoefficientUnsetError,\n CompositionAliasError,\n CompositionDimensionError,\n CompositionJunctionError,\n UndefinedCompositionError,\n evaluateEdge,\n validityDomain,\n} from './edge.js';\n/** The errors one evaluation throws: the input checks, then the validity domain. */\nexport {\n DomainViolationError,\n DuplicateInputError,\n InputTypeError,\n MissingInputError,\n NonFiniteInputError,\n UnknownInputError,\n} from '../bridges/evaluation-errors.js';\n/** A failed validity condition and the inputs it read, as `DomainViolationError.violations` lists them. */\nexport type { DomainInput, DomainViolation } from '../bridges/evaluation-errors.js';\n\nexport type { ComposeOptions, QuantityIdentification } from './compose.js';\nexport {\n composeEdges,\n minConfidence,\n QUANTITY_IDENTIFICATIONS,\n SOURCE_ALIAS_DISPOSITIONS,\n} from './compose.js';\nexport type { AliasDisposition } from './compose.js';\n\nexport { consistencyRatio } from './consistency.js';\n\nexport { M_SUN_KG } from '../core/constants.js';\n/** The catalog graph and the edge for one graph id. */\nexport { catalogEdge, CATALOG_GRAPH } from './catalog-graph.js';\n\nexport {\n CANONICAL_GRAPH,\n canonicalToEdges,\n CANONICAL_CONSTANTS,\n} from './canonical-graph.js';\n\nexport type {\n CompositionCandidate,\n EnumerationReport,\n} from './enumerate.js';\nexport {\n enumerateCompositions,\n REGISTERED_COMPOSITION_IDS,\n} from './enumerate.js';\n\nexport type { UncertaintyResult } from './uncertainty.js';\nexport { propagateUncertainty } from './uncertainty.js';\n\n/** The classifier's verdict, result and option types, and the rank instrument's report. */\nexport type {\n IdentifiabilityVerdict,\n IdentifiabilityResult,\n IdentifiabilityOptions,\n RankIdentifiability,\n} from './identifiability.js';\n/** The forward closure, the per-target classifier, the sweep, and the log-space rank over the monomial edges. */\nexport {\n classifyIdentifiability,\n classifyAll,\n forwardClosure,\n identifiabilityByRank,\n} from './identifiability.js';\n\n/** The retrodiction harness's result, prediction, refusal, report and option types. */\nexport type {\n RetrodictionOutcome,\n RetrodictionPrediction,\n RetrodictionResult,\n RetrodictionRefusal,\n RetrodictionReport,\n RetrodictionOptions,\n} from './retrodiction.js';\nexport { retrodict, retrodictNode } from './retrodiction.js';\n\nexport type {\n DerivationExplanation,\n ExplainOptions,\n QuantityExplanation,\n} from './explain.js';\nexport { explainQuantity } from './explain.js';\n/** The result of {@link evaluateRelation}. A value carries a dimension. An unset coefficient carries the formula. */\nexport type { Evaluation, ExtraOutput } from './evaluate-relation.js';\n/** Evaluate a catalog id or a canonical id. A sourced number is `kind: 'value'`. An unset coefficient is `kind: 'unset'`. */\nexport { evaluateRelation } from './evaluate-relation.js';\n\nexport type { Observable, ComposeSymbolicOptions } from './compose-symbolic.js';\nexport { composeSymbolic, SymbolicCompositionError } from './compose-symbolic.js';\nexport { SymbolicEvalError } from './expr-eval.js';\n\nexport type {\n VizStatus,\n VizJunction,\n VizCluster,\n VizOptions,\n VizModel,\n VizFilterStats,\n} from './graph-viz.js';\nexport { buildVizModel, edgeToJunction } from './graph-viz.js';\nexport { renderDotToSvg, SvgRendererUnavailableError } from './graph-viz-svg.js';\nexport type { DimensionAdjacency } from './dimension-adjacency.js';\nexport { dimensionAdjacency } from './dimension-adjacency.js';\nexport type { UserEquation, EquationLanding } from './user-equation.js';\nexport type { EquationAnalysis, EquationHint } from './user-equation.js';\nexport {\n parseUserEquation,\n suggestQuantities,\n suggestByDimension,\n equationLanding,\n analyzeUserEquation,\n UserEquationError,\n} from './user-equation.js';\n/** The catalog or parameter name a spelling means. Two spellings of one quantity that disagree throw {@link SynonymDisagreementError}. */\nexport { resolveQuantityName, SynonymDisagreementError } from '../dimensional/formula-names.js';\n// formatConnectedSummary stays internal — CLI reaches it via cli-api."]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load the MathTS peer without its console chatter reaching stderr.
|
|
3
|
+
*
|
|
4
|
+
* MathTS writes with `console.warn`/`console.error` directly (its `warnOnce`,
|
|
5
|
+
* the factorisation fallbacks, the WASM-integrity notice) and offers no option
|
|
6
|
+
* to route or silence them: `ImportOptions.silent` is for importing user
|
|
7
|
+
* functions, not for logging. The only way to keep that text out of a CLI's
|
|
8
|
+
* stderr is to replace the three process-global sinks for the duration of the
|
|
9
|
+
* call, which is what the two helpers here do, and nothing else in `src/` may
|
|
10
|
+
* do.
|
|
11
|
+
*
|
|
12
|
+
* THE INVARIANT: the replacement is process-global, so a concurrent caller in
|
|
13
|
+
* the same process (a worker pool thread, a vitest worker sharing a process)
|
|
14
|
+
* loses its console for the window. The window is therefore confined to the
|
|
15
|
+
* peer's ONE-TIME load and first-use smoke in `expr-simplify.ts`,
|
|
16
|
+
* `mathts-scalar-symbols.ts` and `algebraic-equivalence.ts`: each caches the
|
|
17
|
+
* loaded function, so the sinks are replaced once per process, and never
|
|
18
|
+
* around a per-call parse or simplify.
|
|
19
|
+
* Both helpers restore the sinks in `finally`, so a throw inside the window
|
|
20
|
+
* cannot leave them replaced. `tests/composition/mathts-quiet.test.ts` scans
|
|
21
|
+
* `src/` for any other reassignment and traps the sinks during a call.
|
|
22
|
+
*
|
|
23
|
+
* @module composition/mathts-quiet
|
|
24
|
+
*/
|
|
25
|
+
/** Run `fn` with the console sinks replaced, restoring them in `finally`. @internal */
|
|
26
|
+
export declare function quietlySync<T>(fn: () => T): T;
|
|
27
|
+
/** The asynchronous form of {@link quietlySync}: the window spans the awaited promise. @internal */
|
|
28
|
+
export declare function quietly<T>(fn: () => Promise<T>): Promise<T>;
|
|
29
|
+
//# sourceMappingURL=mathts-quiet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathts-quiet.d.ts","sourceRoot":"","sources":["../../src/composition/mathts-quiet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAsBH,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAO7C;AAED,oGAAoG;AACpG,wBAAsB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOjE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load the MathTS peer without its console chatter reaching stderr.
|
|
3
|
+
*
|
|
4
|
+
* MathTS writes with `console.warn`/`console.error` directly (its `warnOnce`,
|
|
5
|
+
* the factorisation fallbacks, the WASM-integrity notice) and offers no option
|
|
6
|
+
* to route or silence them: `ImportOptions.silent` is for importing user
|
|
7
|
+
* functions, not for logging. The only way to keep that text out of a CLI's
|
|
8
|
+
* stderr is to replace the three process-global sinks for the duration of the
|
|
9
|
+
* call, which is what the two helpers here do, and nothing else in `src/` may
|
|
10
|
+
* do.
|
|
11
|
+
*
|
|
12
|
+
* THE INVARIANT: the replacement is process-global, so a concurrent caller in
|
|
13
|
+
* the same process (a worker pool thread, a vitest worker sharing a process)
|
|
14
|
+
* loses its console for the window. The window is therefore confined to the
|
|
15
|
+
* peer's ONE-TIME load and first-use smoke in `expr-simplify.ts`,
|
|
16
|
+
* `mathts-scalar-symbols.ts` and `algebraic-equivalence.ts`: each caches the
|
|
17
|
+
* loaded function, so the sinks are replaced once per process, and never
|
|
18
|
+
* around a per-call parse or simplify.
|
|
19
|
+
* Both helpers restore the sinks in `finally`, so a throw inside the window
|
|
20
|
+
* cannot leave them replaced. `tests/composition/mathts-quiet.test.ts` scans
|
|
21
|
+
* `src/` for any other reassignment and traps the sinks during a call.
|
|
22
|
+
*
|
|
23
|
+
* @module composition/mathts-quiet
|
|
24
|
+
*/
|
|
25
|
+
function silence() {
|
|
26
|
+
const saved = { warn: console.warn, error: console.error, write: process.stderr.write };
|
|
27
|
+
console.warn = () => { };
|
|
28
|
+
console.error = () => { };
|
|
29
|
+
process.stderr.write = () => true;
|
|
30
|
+
return saved;
|
|
31
|
+
}
|
|
32
|
+
function restore(saved) {
|
|
33
|
+
console.warn = saved.warn;
|
|
34
|
+
console.error = saved.error;
|
|
35
|
+
process.stderr.write = saved.write;
|
|
36
|
+
}
|
|
37
|
+
/** Run `fn` with the console sinks replaced, restoring them in `finally`. @internal */
|
|
38
|
+
export function quietlySync(fn) {
|
|
39
|
+
const saved = silence();
|
|
40
|
+
try {
|
|
41
|
+
return fn();
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
restore(saved);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** The asynchronous form of {@link quietlySync}: the window spans the awaited promise. @internal */
|
|
48
|
+
export async function quietly(fn) {
|
|
49
|
+
const saved = silence();
|
|
50
|
+
try {
|
|
51
|
+
return await fn();
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
restore(saved);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=mathts-quiet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathts-quiet.js","sourceRoot":"","sources":["../../src/composition/mathts-quiet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,SAAS,OAAO;IACd,MAAM,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/F,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACxB,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACxB,OAAO,CAAC,MAA6B,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAY;IAC3B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,OAAO,CAAC,MAA6B,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAI,EAAW;IACxC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,OAAO,CAAI,EAAoB;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;AACH,CAAC","sourcesContent":["/**\n * Load the MathTS peer without its console chatter reaching stderr.\n *\n * MathTS writes with `console.warn`/`console.error` directly (its `warnOnce`,\n * the factorisation fallbacks, the WASM-integrity notice) and offers no option\n * to route or silence them: `ImportOptions.silent` is for importing user\n * functions, not for logging. The only way to keep that text out of a CLI's\n * stderr is to replace the three process-global sinks for the duration of the\n * call, which is what the two helpers here do, and nothing else in `src/` may\n * do.\n *\n * THE INVARIANT: the replacement is process-global, so a concurrent caller in\n * the same process (a worker pool thread, a vitest worker sharing a process)\n * loses its console for the window. The window is therefore confined to the\n * peer's ONE-TIME load and first-use smoke in `expr-simplify.ts`,\n * `mathts-scalar-symbols.ts` and `algebraic-equivalence.ts`: each caches the\n * loaded function, so the sinks are replaced once per process, and never\n * around a per-call parse or simplify.\n * Both helpers restore the sinks in `finally`, so a throw inside the window\n * cannot leave them replaced. `tests/composition/mathts-quiet.test.ts` scans\n * `src/` for any other reassignment and traps the sinks during a call.\n *\n * @module composition/mathts-quiet\n */\n\ntype Sinks = {\n readonly warn: typeof console.warn;\n readonly error: typeof console.error;\n readonly write: typeof process.stderr.write;\n};\n\nfunction silence(): Sinks {\n const saved: Sinks = { warn: console.warn, error: console.error, write: process.stderr.write };\n console.warn = () => {};\n console.error = () => {};\n (process.stderr as { write: unknown }).write = () => true;\n return saved;\n}\n\nfunction restore(saved: Sinks): void {\n console.warn = saved.warn;\n console.error = saved.error;\n (process.stderr as { write: unknown }).write = saved.write;\n}\n\n/** Run `fn` with the console sinks replaced, restoring them in `finally`. @internal */\nexport function quietlySync<T>(fn: () => T): T {\n const saved = silence();\n try {\n return fn();\n } finally {\n restore(saved);\n }\n}\n\n/** The asynchronous form of {@link quietlySync}: the window spans the awaited promise. @internal */\nexport async function quietly<T>(fn: () => Promise<T>): Promise<T> {\n const saved = silence();\n try {\n return await fn();\n } finally {\n restore(saved);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathts-scalar-symbols.d.ts","sourceRoot":"","sources":["../../src/composition/mathts-scalar-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"mathts-scalar-symbols.d.ts","sourceRoot":"","sources":["../../src/composition/mathts-scalar-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;CAAE,EACxD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC1B,MAAM,CASR;AAsFD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,EAAE,CAetE"}
|
|
@@ -12,9 +12,10 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module composition/mathts-scalar-symbols
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
15
|
+
import { parse as mathtsParse } from '@danielsimonjr/mathts-functions';
|
|
16
|
+
import { quietlySync } from './mathts-quiet.js';
|
|
17
|
+
import { isDecimalLiteral } from '../dimensional/ast-leaves.js';
|
|
18
|
+
const isLiteral = isDecimalLiteral;
|
|
18
19
|
/**
|
|
19
20
|
* Render one symbol the way `expr-simplify.ts` does: a numeric literal stays
|
|
20
21
|
* a number, and every other name becomes `gN`. Repeated names share one
|
|
@@ -83,41 +84,25 @@ function joinParts(parts, op) {
|
|
|
83
84
|
return `(${parts.map((part) => `(${part})`).join(op)})`;
|
|
84
85
|
}
|
|
85
86
|
let cachedParse;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
finally {
|
|
97
|
-
console.warn = origWarn;
|
|
98
|
-
console.error = origError;
|
|
99
|
-
process.stderr.write = origWrite;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/** Load `parse` at the call. This walk does not add its own static import. */
|
|
87
|
+
/**
|
|
88
|
+
* `parse`, bound once. The package is a required dependency and `quadrature.ts`
|
|
89
|
+
* already imports it statically, so this module imports it the same way (a
|
|
90
|
+
* `createRequire` of the ESM package once stood here, which needs Node 22.12 or
|
|
91
|
+
* 20.19 while `engines` says 18; Tom's second round). The first parse runs
|
|
92
|
+
* inside the one console-silencing window this module opens (`mathts-quiet.ts`
|
|
93
|
+
* states the invariant): the peer's WASM-fallback chatter fires lazily on first
|
|
94
|
+
* use, so the smoke parse is that first use, and every later parse runs with the
|
|
95
|
+
* console untouched.
|
|
96
|
+
*/
|
|
103
97
|
function mathTsParse() {
|
|
104
98
|
if (cachedParse !== undefined)
|
|
105
99
|
return cachedParse;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
catch (err) {
|
|
111
|
-
throw new Error(`scalar symbols require @danielsimonjr/mathts-functions (${err instanceof Error ? err.message : String(err)})`);
|
|
112
|
-
}
|
|
113
|
-
const loaded = quietlySync(() => {
|
|
114
|
-
const require = createRequire(import.meta.url);
|
|
115
|
-
return require(fileURLToPath(url));
|
|
100
|
+
const parse = quietlySync(() => {
|
|
101
|
+
const bound = mathtsParse.bind(undefined);
|
|
102
|
+
bound('g0');
|
|
103
|
+
return bound;
|
|
116
104
|
});
|
|
117
|
-
|
|
118
|
-
throw new Error('@danielsimonjr/mathts-functions: no parse() export');
|
|
119
|
-
}
|
|
120
|
-
cachedParse = loaded.parse.bind(loaded);
|
|
105
|
+
cachedParse = parse;
|
|
121
106
|
return cachedParse;
|
|
122
107
|
}
|
|
123
108
|
/**
|
|
@@ -135,7 +120,7 @@ export function scalarSymbolsFromMathTs(expr) {
|
|
|
135
120
|
const rendered = renderSymbolQuery(expr, gensymOf, meta);
|
|
136
121
|
if (rendered === null)
|
|
137
122
|
return [];
|
|
138
|
-
const node =
|
|
123
|
+
const node = mathTsParse()(rendered);
|
|
139
124
|
const seen = new Set();
|
|
140
125
|
const leaves = [];
|
|
141
126
|
for (const symbol of node.filter((candidate) => candidate.isSymbolNode === true)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathts-scalar-symbols.js","sourceRoot":"","sources":["../../src/composition/mathts-scalar-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mathts-scalar-symbols.js","sourceRoot":"","sources":["../../src/composition/mathts-scalar-symbols.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Scalar leaves of an `ExprNode`, read from a MathTS AST.\n *\n * `governingOf` and the free-leaf list in `compose-symbolic.ts` both call\n * {@link scalarSymbolsFromMathTs}. The names come from that node's symbol\n * filter. This module does not walk `ExprNode` to collect them.\n *\n * The rendered text uses the same gensym as `expr-simplify.ts`: a bare `e`\n * is `gN`, never the identifier MathTS reads as Euler's number. Mapped back,\n * the name is the elementary charge. `exp(1)` does not introduce `e`.\n * Tensor and curvature kinds contribute no symbol.\n *\n * @module composition/mathts-scalar-symbols\n */\n\nimport { parse as mathtsParse } from '@danielsimonjr/mathts-functions';\nimport { quietlySync } from './mathts-quiet.js';\nimport { isDecimalLiteral } from '../dimensional/ast-leaves.js';\nimport type { ExprNode } from '../dimensional/validator.js';\nimport type { Dimension } from '../dimensional/types.js';\n\n/** One scalar leaf and the dimension stored on that symbol. @internal */\nexport interface ScalarSymbol {\n readonly name: string;\n readonly dim: Dimension;\n}\n\ninterface LeafMeta {\n readonly name: string;\n readonly dim: Dimension;\n}\n\n/** The bits of a MathTS node this reader uses. */\ninterface MathNode {\n filter(predicate: (node: MathNode) => boolean): MathNode[];\n readonly isSymbolNode?: boolean;\n readonly name?: string;\n}\n\ninterface MathtsFunctionsModule {\n parse(expr: string): MathNode;\n}\n\nconst isLiteral = isDecimalLiteral;\n\n/**\n * Render one symbol the way `expr-simplify.ts` does: a numeric literal stays\n * a number, and every other name becomes `gN`. Repeated names share one\n * gensym, so MathTS never sees the physics spelling of `e`.\n *\n * @internal\n */\nexport function renderScalarLeaf(\n expr: { readonly name: string; readonly dim: Dimension },\n gensymOf: Map<string, string>,\n meta: Map<string, LeafMeta>,\n): string {\n if (isLiteral(expr.name)) return String(Number(expr.name));\n let g = gensymOf.get(expr.name);\n if (g === undefined) {\n g = `g${gensymOf.size}`;\n gensymOf.set(expr.name, g);\n meta.set(g, { name: expr.name, dim: expr.dim });\n }\n return g;\n}\n\n/**\n * A MathTS expression whose symbol nodes are the scalar leaves.\n * Integral bounds are omitted: the previous leaf list did not include them.\n * A curvature or tensor kind returns null.\n */\nfunction renderSymbolQuery(\n expr: ExprNode,\n gensymOf: Map<string, string>,\n meta: Map<string, LeafMeta>,\n): string | null {\n switch (expr.kind) {\n case 'symbol':\n return renderScalarLeaf(expr, gensymOf, meta);\n case 'op': {\n const parts: string[] = [];\n for (const arg of expr.args) {\n const part = renderSymbolQuery(arg, gensymOf, meta);\n if (part !== null) parts.push(part);\n }\n return joinParts(parts, expr.op);\n }\n case 'transcendental':\n case 'abs':\n case 'dirac-delta':\n return renderSymbolQuery(expr.arg, gensymOf, meta);\n case 'integral':\n return joinParts(\n [\n renderSymbolQuery(expr.over, gensymOf, meta),\n renderSymbolQuery(expr.integrand, gensymOf, meta),\n ].filter((part): part is string => part !== null),\n '+',\n );\n case 'derivative':\n return joinParts(\n [\n renderSymbolQuery(expr.of, gensymOf, meta),\n renderSymbolQuery(expr.wrt, gensymOf, meta),\n ].filter((part): part is string => part !== null),\n '+',\n );\n case 'variational-derivative':\n return joinParts(\n [\n renderSymbolQuery(expr.functional, gensymOf, meta),\n renderSymbolQuery(expr.field, gensymOf, meta),\n renderSymbolQuery(expr.over, gensymOf, meta),\n ].filter((part): part is string => part !== null),\n '+',\n );\n default:\n return null;\n }\n}\n\nfunction joinParts(parts: readonly string[], op: string): string | null {\n if (parts.length === 0) return null;\n if (parts.length === 1) return parts[0] ?? null;\n return `(${parts.map((part) => `(${part})`).join(op)})`;\n}\n\nlet cachedParse: MathtsFunctionsModule['parse'] | undefined;\n\n/**\n * `parse`, bound once. The package is a required dependency and `quadrature.ts`\n * already imports it statically, so this module imports it the same way (a\n * `createRequire` of the ESM package once stood here, which needs Node 22.12 or\n * 20.19 while `engines` says 18; Tom's second round). The first parse runs\n * inside the one console-silencing window this module opens (`mathts-quiet.ts`\n * states the invariant): the peer's WASM-fallback chatter fires lazily on first\n * use, so the smoke parse is that first use, and every later parse runs with the\n * console untouched.\n */\nfunction mathTsParse(): MathtsFunctionsModule['parse'] {\n if (cachedParse !== undefined) return cachedParse;\n const parse = quietlySync(() => {\n const bound = (mathtsParse as MathtsFunctionsModule['parse']).bind(undefined);\n bound('g0');\n return bound;\n });\n cachedParse = parse;\n return cachedParse;\n}\n\n/**\n * Distinct scalar leaves of `expr`, in first-seen order.\n *\n * The MathTS symbol filter supplies the names. A gensym that this renderer\n * did not issue is dropped, so a function callee such as `exp` is not a leaf.\n * Tensor and curvature kinds return an empty list.\n *\n * @internal\n */\nexport function scalarSymbolsFromMathTs(expr: ExprNode): ScalarSymbol[] {\n const gensymOf = new Map<string, string>();\n const meta = new Map<string, LeafMeta>();\n const rendered = renderSymbolQuery(expr, gensymOf, meta);\n if (rendered === null) return [];\n const node = mathTsParse()(rendered);\n const seen = new Set<string>();\n const leaves: ScalarSymbol[] = [];\n for (const symbol of node.filter((candidate) => candidate.isSymbolNode === true)) {\n const issued = symbol.name !== undefined ? meta.get(symbol.name) : undefined;\n if (issued === undefined || seen.has(issued.name)) continue;\n seen.add(issued.name);\n leaves.push(issued);\n }\n return leaves;\n}\n"]}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module composition/not-composable-seeds
|
|
16
16
|
*/
|
|
17
|
-
/** One proved seed the composition graph does not carry, and why. */
|
|
17
|
+
/** One proved seed the composition graph does not carry, and why. @internal */
|
|
18
18
|
export interface NotComposableSeed {
|
|
19
19
|
/** Manifest key, the same string `bridgeSeedKeys` returns. */
|
|
20
20
|
readonly id: string;
|
|
@@ -25,6 +25,8 @@ export interface NotComposableSeed {
|
|
|
25
25
|
* The ten atlas seeds. The list is the exemption the edge-validity
|
|
26
26
|
* test checks against `bridgeSeedKeys`. A new atlas seed fails that
|
|
27
27
|
* test until it has an edge or a row here.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
28
30
|
*/
|
|
29
31
|
export declare const NOT_COMPOSABLE_SEEDS: readonly NotComposableSeed[];
|
|
30
32
|
//# sourceMappingURL=not-composable-seeds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-composable-seeds.d.ts","sourceRoot":"","sources":["../../src/composition/not-composable-seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH
|
|
1
|
+
{"version":3,"file":"not-composable-seeds.d.ts","sourceRoot":"","sources":["../../src/composition/not-composable-seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EA6E5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-composable-seeds.js","sourceRoot":"","sources":["../../src/composition/not-composable-seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH
|
|
1
|
+
{"version":3,"file":"not-composable-seeds.js","sourceRoot":"","sources":["../../src/composition/not-composable-seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EACJ,wEAAwE;YACxE,sEAAsE;YACtE,mEAAmE;YACnE,+EAA+E;KAClF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,MAAM,EACJ,sEAAsE;YACtE,wEAAwE;YACxE,sEAAsE;YACtE,oBAAoB;KACvB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,MAAM,EACJ,sEAAsE;YACtE,uEAAuE;YACvE,uEAAuE;YACvE,yBAAyB;KAC5B;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,MAAM,EACJ,sEAAsE;YACtE,qFAAqF;YACrF,kEAAkE;KACrE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EACJ,qEAAqE;YACrE,wEAAwE;YACxE,qEAAqE;YACrE,wEAAwE;KAC3E;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,MAAM,EACJ,oEAAoE;YACpE,qEAAqE;YACrE,uEAAuE;YACvE,yCAAyC;KAC5C;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EACJ,oEAAoE;YACpE,qEAAqE;YACrE,mEAAmE;KACtE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,MAAM,EACJ,gEAAgE;YAChE,oEAAoE;YACpE,qEAAqE;YACrE,+BAA+B;KAClC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,MAAM,EACJ,sEAAsE;YACtE,qEAAqE;YACrE,iDAAiD;KACpD;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EACJ,kEAAkE;YAClE,oEAAoE;YACpE,wEAAwE;KAC3E;CACF,CAAC","sourcesContent":["/**\n * Proved atlas seeds that are not composition-graph edges.\n *\n * A kind-`bridge` atlas fact is a route between models. It becomes a\n * chain premise only when a `BridgeEdge` can state it as quantities in\n * and one quantity out. Each entry below is an equation-to-equation\n * analogy: the proved statement is a transformation of a differential\n * equation, or a bound on that transformation, and it has no scalar\n * target. Forcing a side identification (a frequency, a wave speed)\n * into an edge would state a different law from the theorem.\n *\n * Catalog seeds are not listed here. They have a quantity formula and\n * an edge.\n *\n * @module composition/not-composable-seeds\n */\n\n/** One proved seed the composition graph does not carry, and why. @internal */\nexport interface NotComposableSeed {\n /** Manifest key, the same string `bridgeSeedKeys` returns. */\n readonly id: string;\n /** Why this seed has no quantity-in / quantity-out edge. */\n readonly reason: string;\n}\n\n/**\n * The ten atlas seeds. The list is the exemption the edge-validity\n * test checks against `bridgeSeedKeys`. A new atlas seed fails that\n * test until it has an edge or a row here.\n *\n * @internal\n */\nexport const NOT_COMPOSABLE_SEEDS: readonly NotComposableSeed[] = [\n {\n id: 'ab-kg-schrodinger',\n reason:\n 'Klein–Gordon to the free Schrödinger equation is a field redefinition ' +\n '(factor out e^{−iω₀t}) plus a bound on the kinetic-frequency error. ' +\n 'PhysJS.KgSchrodinger.covers_bound_delta states that bound at the ' +\n 'dispersion relation. It does not map input quantities to one output quantity.',\n },\n {\n id: 'ab-klein-gordon-wave',\n reason:\n 'Dropping the Klein–Gordon mass term recovers the 1-D wave equation. ' +\n 'PhysJS.KleinGordonWave.covers_bound_delta is the phase-velocity error ' +\n 'of that limit. The dispersion relation is the premise of the bound, ' +\n 'not a scalar edge.',\n },\n {\n id: 'ab-stiff-string',\n reason:\n 'Dropping the bending term EI y_xxxx takes the stiff-string equation ' +\n 'to the flexible string. PhysJS.StiffString.covers_bound_delta is the ' +\n 'phase-velocity error. ω²(k) is a dispersion relation of a PDE, not a ' +\n 'single target quantity.',\n },\n {\n id: 'ab-telegraph-diffusion',\n reason:\n 'The singular limit τ → 0 drops the second time derivative and takes ' +\n 'the telegraph equation to Fick’s law. PhysJS.TelegraphDiffusion.covers_bound_delta ' +\n 'bounds the slow-mode decay rate. Both sides are field equations.',\n },\n {\n id: 'ab-telegraph-wave',\n reason:\n 'Dropping the first time derivative takes the telegraph equation to ' +\n 'the wave equation. PhysJS.TelegraphWave.covers_bound_delta bounds the ' +\n 'oscillation-frequency error. c² = D/τ is how that approximation is ' +\n 'stated; the theorem does not certify a speed formula as its statement.',\n },\n {\n id: 'ab-pendulum-linear',\n reason:\n 'PhysJS.Pendulum.linearizedEquationOfMotion_iff is the small-angle ' +\n 'replacement sin θ → θ between two ordinary differential equations. ' +\n 'ω₀² = g/ℓ is a parameter identification inside that analogy, not the ' +\n 'proved statement, so it is not an edge.',\n },\n {\n id: 'ab-kg-oscillator',\n reason:\n 'PhysJS.KgOscillator.uniform_solves_equationOfMotion restricts the ' +\n 'Klein–Gordon field to a spatially uniform mode, which then matches ' +\n 'the spring equation. A field restriction is not a scalar formula.',\n },\n {\n id: 'ab-spring-lc',\n reason:\n 'PhysJS.SpringLc.time_rescale_equationOfMotion is the lossless ' +\n 'dictionary m ↔ L, k ↔ 1/C, x ↔ q and a rescaling of time. The two ' +\n 'oscillator equations become the same dimensionless equation. There ' +\n 'is no single target quantity.',\n },\n {\n id: 'ab-damped-rlc',\n reason:\n 'PhysJS.DampedRlc is the same dictionary plus the damping-ratio side ' +\n 'condition. The proved statement is an equivalence of two equations ' +\n 'of motion, not a map from inputs to one output.',\n },\n {\n id: 'ab-wave-dalembert',\n reason:\n 'Characteristics turn u_tt = c² u_xx into u_ξη = 0. d’Alembert’s ' +\n 'formula is u = f(x−ct) + g(x+ct) for arbitrary waveforms f and g. ' +\n 'A scalar edge has one numeric target; it cannot carry those functions.',\n },\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-protocol.js","sourceRoot":"","sources":["../../../src/composition/probe/backend-protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backend-protocol.js","sourceRoot":"","sources":["../../../src/composition/probe/backend-protocol.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Optional NDJSON worker protocol for expression-search backends.\n *\n * Spawn with an **argv array** (no shell). Timeout + kill. Schema-validate\n * output. **No vendored Python** — CI uses `tests/fixtures/discovery-workers/echo-worker.mjs`.\n *\n * @internal\n */\n\nimport { spawn } from 'node:child_process';\nimport type { ExprNode } from '../../dimensional/ast-types.js';\n\nexport interface BackendRequest {\n readonly problemId: string;\n readonly budgetMs: number;\n readonly variables: readonly string[];\n readonly target: string;\n}\n\nexport interface BackendCandidate {\n readonly expression: ExprNode;\n readonly prefactor?: number;\n readonly note?: string;\n}\n\nexport interface BackendResponse {\n readonly ok: boolean;\n readonly candidates: readonly BackendCandidate[];\n readonly error?: string;\n}\n\nfunction isExprNode(value: unknown): value is ExprNode {\n if (!value || typeof value !== 'object') return false;\n const kind = (value as { kind?: unknown }).kind;\n return typeof kind === 'string' && kind.length > 0;\n}\n\nfunction parseLine(line: string): BackendCandidate | null {\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n if (!parsed || typeof parsed !== 'object') return null;\n const obj = parsed as { expression?: unknown; prefactor?: unknown; note?: unknown };\n if (!isExprNode(obj.expression)) return null;\n const prefactor =\n typeof obj.prefactor === 'number' && Number.isFinite(obj.prefactor) ? obj.prefactor : undefined;\n const note = typeof obj.note === 'string' ? obj.note : undefined;\n return { expression: obj.expression, prefactor, note };\n}\n\n/**\n * The part of a launched worker process that {@link runBackendWorker} uses. A `node:child_process`\n * `ChildProcess` satisfies it; the interface keeps Node types out of this module's declarations.\n * @internal\n */\nexport interface WorkerProcess {\n readonly stdin: { write(chunk: string): unknown; end(): unknown } | null;\n readonly stdout: { on(event: 'data', listener: (chunk: Uint8Array) => void): unknown } | null;\n readonly stderr: { on(event: 'data', listener: (chunk: Uint8Array) => void): unknown } | null;\n on(event: 'error', listener: (err: Error) => void): unknown;\n on(event: 'close', listener: (code: number | null, signal: string | null) => void): unknown;\n kill(signal: 'SIGKILL'): unknown;\n}\n\n/** Launches a worker process. The default is `node:child_process` `spawn`. @internal */\nexport type WorkerLauncher = (\n command: string,\n args: readonly string[],\n options: { cwd?: string; stdio: ['pipe', 'pipe', 'pipe']; windowsHide: boolean },\n) => WorkerProcess;\n\n/**\n * Run an untrusted NDJSON worker. Never uses a shell.\n *\n * The timeout starts when the launcher returns, so it includes the worker's own start-up time.\n * `opts.spawn` replaces the process launcher; tests use it to drive the exit paths without a real\n * process. @internal\n */\nexport async function runBackendWorker(\n argv: readonly string[],\n request: BackendRequest,\n opts: { timeoutMs?: number; cwd?: string; spawn?: WorkerLauncher } = {},\n): Promise<BackendResponse> {\n if (argv.length === 0) {\n return { ok: false, candidates: [], error: 'empty argv' };\n }\n const timeoutMs = opts.timeoutMs ?? request.budgetMs;\n const launch: WorkerLauncher = opts.spawn ?? spawn;\n const child = launch(argv[0]!, argv.slice(1), {\n cwd: opts.cwd,\n stdio: ['pipe', 'pipe', 'pipe'],\n windowsHide: true,\n });\n\n const chunks: Uint8Array[] = [];\n const errChunks: Uint8Array[] = [];\n child.stdout?.on('data', (d) => chunks.push(d));\n child.stderr?.on('data', (d) => errChunks.push(d));\n\n const killer = setTimeout(() => {\n child.kill('SIGKILL');\n }, timeoutMs);\n\n const stdinPayload = `${JSON.stringify(request)}\\n`;\n child.stdin?.write(stdinPayload);\n child.stdin?.end();\n\n const exit = await new Promise<{ code: number | null; signal: string | null; spawnError?: string }>((resolve) => {\n child.on('error', (err) => resolve({ code: 1, signal: null, spawnError: err.message }));\n child.on('close', (code, signal) => resolve({ code, signal }));\n });\n clearTimeout(killer);\n\n if (exit.signal === 'SIGKILL') {\n return { ok: false, candidates: [], error: `worker timed out after ${timeoutMs}ms` };\n }\n if (exit.code !== 0) {\n const err = exit.spawnError ?? Buffer.concat(errChunks).toString('utf8').trim();\n return {\n ok: false,\n candidates: [],\n error: err || `worker exited ${exit.code}`,\n };\n }\n\n const text = Buffer.concat(chunks).toString('utf8');\n const candidates: BackendCandidate[] = [];\n for (const line of text.split(/\\r?\\n/)) {\n if (line.trim().length === 0) continue;\n const c = parseLine(line);\n if (!c) {\n return { ok: false, candidates: [], error: `malformed NDJSON line: ${line.slice(0, 200)}` };\n }\n candidates.push(c);\n }\n return { ok: true, candidates };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-store.js","sourceRoot":"","sources":["../../../src/composition/probe/candidate-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"candidate-store.js","sourceRoot":"","sources":["../../../src/composition/probe/candidate-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Append-only Product B candidate store + rejection registry.\n * Product A adjudications stay in `adjudication.ts`.\n *\n * @module composition/probe/candidate-store\n */\n\nimport type {\n ProbeCandidateRecord,\n ProbeCandidateStatus,\n ProbeRejectionRecord,\n StatusEvent,\n} from './types.js';\n\nconst ORDER: readonly ProbeCandidateStatus[] = [\n 'generated',\n 'structurally-valid',\n 'empirically-fit',\n 'heldout-supported',\n 'falsification-survivor',\n 'expert-review-required',\n];\n\nconst TERMINAL: ReadonlySet<ProbeCandidateStatus> = new Set([\n 'rejected',\n 'falsified',\n 'equivalent-known',\n 'insufficient-evidence',\n 'expert-review-required',\n]);\n\nconst ALLOWED: ReadonlyMap<ProbeCandidateStatus | 'none', ReadonlySet<ProbeCandidateStatus>> =\n new Map([\n ['none', new Set<ProbeCandidateStatus>(['generated'])],\n ['generated', new Set<ProbeCandidateStatus>(['structurally-valid', 'rejected'])],\n [\n 'structurally-valid',\n new Set<ProbeCandidateStatus>([\n 'empirically-fit',\n 'equivalent-known',\n 'insufficient-evidence',\n 'rejected',\n ]),\n ],\n [\n 'empirically-fit',\n new Set<ProbeCandidateStatus>(['heldout-supported', 'insufficient-evidence', 'rejected']),\n ],\n [\n 'heldout-supported',\n new Set<ProbeCandidateStatus>([\n 'falsification-survivor',\n 'falsified',\n 'rejected',\n 'equivalent-known',\n ]),\n ],\n ['falsification-survivor', new Set<ProbeCandidateStatus>(['expert-review-required'])],\n ]);\n\n/** True when `to` is a legal successor of `from`. @internal */\nexport function canTransition(\n from: ProbeCandidateStatus | 'none',\n to: ProbeCandidateStatus,\n): boolean {\n return ALLOWED.get(from)?.has(to) === true;\n}\n\n/**\n * Append a status event. Throws if the transition skips a required gate.\n * Current `status` is always the last event's `to`.\n *\n * @internal\n */\nexport function applyStatus(\n record: ProbeCandidateRecord,\n to: ProbeCandidateStatus,\n reason: string,\n runId: string,\n at = new Date().toISOString(),\n): ProbeCandidateRecord {\n const from = record.statusHistory.length === 0 ? 'none' : record.status;\n if (TERMINAL.has(record.status) && record.status !== 'falsification-survivor') {\n throw new RangeError(\n `applyStatus: terminal status '${record.status}' cannot transition to '${to}'`,\n );\n }\n if (!canTransition(from, to)) {\n throw new RangeError(`applyStatus: illegal transition ${String(from)} → ${to}`);\n }\n const event: StatusEvent = { at, from, to, reason, runId };\n return {\n ...record,\n status: to,\n statusHistory: [...record.statusHistory, event],\n };\n}\n\n/** Pipeline order index; terminals sort last. @internal */\nexport function statusRank(s: ProbeCandidateStatus): number {\n const i = ORDER.indexOf(s);\n return i >= 0 ? i : -1;\n}\n\nexport class ProbeCandidateStore {\n private readonly byId = new Map<string, ProbeCandidateRecord>();\n private readonly rejections: ProbeRejectionRecord[] = [];\n\n /** Insert a freshly generated record (must be `generated`). @internal */\n put(record: ProbeCandidateRecord): void {\n if (this.byId.has(record.id)) {\n throw new RangeError(`ProbeCandidateStore: duplicate id '${record.id}'`);\n }\n this.byId.set(record.id, record);\n }\n\n get(id: string): ProbeCandidateRecord | undefined {\n return this.byId.get(id);\n }\n\n /** Replace after `applyStatus`. @internal */\n replace(record: ProbeCandidateRecord): void {\n this.byId.set(record.id, record);\n }\n\n all(): readonly ProbeCandidateRecord[] {\n return [...this.byId.values()];\n }\n\n rememberRejection(rec: ProbeRejectionRecord): void {\n this.rejections.push(rec);\n }\n\n /** True when an equivalent fingerprint was rejected in the same context. @internal */\n isRejected(canonicalAstHash: string, context: string): boolean {\n return this.rejections.some(\n (r) => r.fingerprint.canonicalAstHash === canonicalAstHash && r.context === context,\n );\n }\n\n rejectionList(): readonly ProbeRejectionRecord[] {\n return this.rejections;\n }\n}\n"]}
|
|
@@ -25,11 +25,13 @@ export declare function compareToCorpus(expr: ExprNode, corpusVersion: string):
|
|
|
25
25
|
* pendulum fitted on finite-amplitude data gives ĉ = 7.39, not 2π. Only a fully
|
|
26
26
|
* quantitative canonical entry records a prefactor; for any other match the
|
|
27
27
|
* note says the fitted value is not compared. `tolerance` is relative (the
|
|
28
|
-
* holdout tolerance of the run)
|
|
28
|
+
* holdout tolerance of the run) and is what decides agreement; when the fit
|
|
29
|
+
* carries a standard error `stderr`, the note also states the difference in
|
|
30
|
+
* σ beside that verdict, and decides nothing by it.
|
|
29
31
|
*
|
|
30
32
|
* @internal
|
|
31
33
|
*/
|
|
32
|
-
export declare function corpusPrefactorNotes(result: CorpusComparisonResult, candidate: ExprNode, fitted: number, tolerance: number): string[];
|
|
34
|
+
export declare function corpusPrefactorNotes(result: CorpusComparisonResult, candidate: ExprNode, fitted: number, tolerance: number, stderr?: number | null): string[];
|
|
33
35
|
/** Allowed automated novelty sentence. @internal */
|
|
34
36
|
export declare function corpusRelativeWording(result: CorpusComparisonResult): string;
|
|
35
37
|
//# sourceMappingURL=corpus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpus.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/corpus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"corpus.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/corpus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAW/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC;CACxC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,WAAW,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAID,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,sBAAsB,CA4B7F;AAgDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,QAAQ,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,EAAE,CA0CV;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAM5E"}
|
|
@@ -11,6 +11,7 @@ import { monomialToExpr } from './generator.js';
|
|
|
11
11
|
import { evalExpr } from '../expr-eval.js';
|
|
12
12
|
import { equals } from '../../dimensional/algebra.js';
|
|
13
13
|
import { canonicalPrefactor } from '../canonical-prefactors.js';
|
|
14
|
+
import { constantRatio, fixedPoint } from '../../canonical/fixed-points.js';
|
|
14
15
|
const CORPUS_ID = 'upt-l-layer+b-layer';
|
|
15
16
|
/** Compare an expression to the in-repo L- and B-layers. @internal */
|
|
16
17
|
export function compareToCorpus(expr, corpusVersion) {
|
|
@@ -62,8 +63,9 @@ function dimensionedSymbols(node, out) {
|
|
|
62
63
|
* The corpus prefactor k of a fully quantitative canonical entry against a
|
|
63
64
|
* candidate body: `scalarAst / candidate`, which must be constant. Symbols align
|
|
64
65
|
* by name, then by a dimension exactly one candidate symbol carries. Evaluated at
|
|
65
|
-
* three points where variable i takes (1.7 + i)^p, p = 1, 1.3, 1.6
|
|
66
|
-
* the
|
|
66
|
+
* three points where variable i takes (1.7 + i)^p, p = 1, 1.3, 1.6 (`fixedPoint`, base 1.7,
|
|
67
|
+
* step 1), and the ratio is constant when its largest relative departure is at most 1e-9
|
|
68
|
+
* (`constantRatio`). `null` when the symbols do not align or the ratio is not constant.
|
|
67
69
|
*/
|
|
68
70
|
function corpusPrefactor(ast, candidate) {
|
|
69
71
|
const astSyms = dimensionedSymbols(ast, new Map());
|
|
@@ -86,12 +88,12 @@ function corpusPrefactor(ast, candidate) {
|
|
|
86
88
|
}
|
|
87
89
|
const names = [...candSyms.keys()].sort();
|
|
88
90
|
const ratios = [1, 1.3, 1.6].map((p) => {
|
|
89
|
-
const vals =
|
|
91
|
+
const vals = fixedPoint(names, p, { base: 1.7, step: 1 });
|
|
90
92
|
const astVals = Object.fromEntries([...toCand].map(([s, c]) => [s, vals[c]]));
|
|
91
93
|
return evalExpr(ast, astVals) / evalExpr(candidate, vals);
|
|
92
94
|
});
|
|
93
|
-
const
|
|
94
|
-
return
|
|
95
|
+
const decided = constantRatio(ratios, 1e-9);
|
|
96
|
+
return decided.constant ? decided.value : null;
|
|
95
97
|
}
|
|
96
98
|
/**
|
|
97
99
|
* Compare a FITTED prefactor with the prefactor of each corpus relation the
|
|
@@ -100,12 +102,20 @@ function corpusPrefactor(ast, candidate) {
|
|
|
100
102
|
* pendulum fitted on finite-amplitude data gives ĉ = 7.39, not 2π. Only a fully
|
|
101
103
|
* quantitative canonical entry records a prefactor; for any other match the
|
|
102
104
|
* note says the fitted value is not compared. `tolerance` is relative (the
|
|
103
|
-
* holdout tolerance of the run)
|
|
105
|
+
* holdout tolerance of the run) and is what decides agreement; when the fit
|
|
106
|
+
* carries a standard error `stderr`, the note also states the difference in
|
|
107
|
+
* σ beside that verdict, and decides nothing by it.
|
|
104
108
|
*
|
|
105
109
|
* @internal
|
|
106
110
|
*/
|
|
107
|
-
export function corpusPrefactorNotes(result, candidate, fitted, tolerance) {
|
|
111
|
+
export function corpusPrefactorNotes(result, candidate, fitted, tolerance, stderr) {
|
|
108
112
|
const c = fitted.toPrecision(4);
|
|
113
|
+
const inSigma = (k) => {
|
|
114
|
+
if (stderr === undefined || stderr === null || !(stderr > 0))
|
|
115
|
+
return '';
|
|
116
|
+
const z = (fitted - k) / stderr;
|
|
117
|
+
return `; ${z >= 0 ? '+' : ''}${z.toFixed(1)}σ (σ_ĉ = ${Number(stderr.toPrecision(2))})`;
|
|
118
|
+
};
|
|
109
119
|
return result.algebraicMatches.map((m) => {
|
|
110
120
|
const entry = m.layer === 'canonical' ? CANONICAL_EQUATIONS.find((e) => e.id === m.id) : undefined;
|
|
111
121
|
let k = null;
|
|
@@ -133,11 +143,12 @@ export function corpusPrefactorNotes(result, candidate, fitted, tolerance) {
|
|
|
133
143
|
return `${m.id} records no prefactor, so the fitted ĉ=${c} is not compared with it`;
|
|
134
144
|
const rel = fitted / k - 1;
|
|
135
145
|
if (Math.abs(rel) <= tolerance) {
|
|
136
|
-
return `fitted ĉ=${c} agrees with ${m.id}'s prefactor ${k.toPrecision(4)} (within the holdout tolerance ${tolerance})`;
|
|
146
|
+
return `fitted ĉ=${c} agrees with ${m.id}'s prefactor ${k.toPrecision(4)} (within the holdout tolerance ${tolerance}${inSigma(k)})`;
|
|
137
147
|
}
|
|
138
148
|
const pct = `${rel > 0 ? '+' : ''}${Math.round(rel * 100)}%`;
|
|
149
|
+
const sigma = inSigma(k);
|
|
139
150
|
return (`fitted ĉ=${c} contradicts ${m.id}'s prefactor ${k.toPrecision(4)} (${pct}): ` +
|
|
140
|
-
|
|
151
|
+
`the data may lie outside that relation's regime${sigma === '' ? '' : `; the difference is ${sigma.slice(2)}`}`);
|
|
141
152
|
});
|
|
142
153
|
}
|
|
143
154
|
/** Allowed automated novelty sentence. @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpus.js","sourceRoot":"","sources":["../../../src/composition/probe/corpus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"corpus.js","sourceRoot":"","sources":["../../../src/composition/probe/corpus.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * In-repo corpus comparison: canonical scalarAst + normalForm.\n * Novelty wording is always corpus-relative.\n *\n * @module composition/probe/corpus\n */\n\nimport type { ExprNode } from '../../dimensional/ast-types.js';\nimport { CANONICAL_EQUATIONS } from '../../canonical/registry.js';\nimport { normalForm } from '../../canonical/normal-form.js';\nimport { BRIDGE_RHS_BY_ID } from '../../bridges/rhs-registry.js';\nimport { monomialToExpr } from './generator.js';\nimport { evalExpr } from '../expr-eval.js';\nimport { equals } from '../../dimensional/algebra.js';\nimport type { Dimension } from '../../dimensional/types.js';\nimport { canonicalPrefactor } from '../canonical-prefactors.js';\nimport { constantRatio, fixedPoint } from '../../canonical/fixed-points.js';\n\nexport interface CorpusMatch {\n readonly id: string;\n readonly layer: 'canonical' | 'bridge';\n}\n\nexport interface CorpusComparisonResult {\n readonly corpusId: string;\n readonly corpusVersion: string;\n readonly exactMatches: readonly CorpusMatch[];\n readonly algebraicMatches: readonly CorpusMatch[];\n readonly searchedAt: string;\n}\n\nconst CORPUS_ID = 'upt-l-layer+b-layer';\n\n/** Compare an expression to the in-repo L- and B-layers. @internal */\nexport function compareToCorpus(expr: ExprNode, corpusVersion: string): CorpusComparisonResult {\n const form = normalForm(expr);\n const algebraic: CorpusMatch[] = [];\n for (const ce of CANONICAL_EQUATIONS) {\n if (ce.scalarAst && normalForm(ce.scalarAst) === form) {\n algebraic.push({ id: ce.id, layer: 'canonical' });\n } else if (ce.dimensional?.monomial) {\n const mono = monomialToExpr(ce.dimensional.monomial, [\n ce.dimensional.target,\n ...ce.dimensional.governing,\n ]);\n if (normalForm(mono) === form) {\n algebraic.push({ id: ce.id, layer: 'canonical' });\n }\n }\n }\n for (const [id, rhs] of BRIDGE_RHS_BY_ID.entries()) {\n if (rhs && normalForm(rhs) === form) {\n algebraic.push({ id: `be-${id}`, layer: 'bridge' });\n }\n }\n return {\n corpusId: CORPUS_ID,\n corpusVersion,\n exactMatches: [],\n algebraicMatches: algebraic,\n searchedAt: new Date().toISOString(),\n };\n}\n\n/**\n * The symbols of an AST that carry a dimension, with that dimension. Numeric\n * literals and named numbers (`8pi`) are dimensionless and left out; so is a\n * dimensionless variable, which then makes the ratio vary and returns no prefactor.\n */\nfunction dimensionedSymbols(node: ExprNode, out: Map<string, Dimension>): Map<string, Dimension> {\n if (node.kind === 'symbol') {\n if (Object.values(node.dim).some((e) => e !== 0)) out.set(node.name, node.dim);\n return out;\n }\n for (const a of (node as { args?: readonly ExprNode[] }).args ?? []) dimensionedSymbols(a, out);\n return out;\n}\n\n/**\n * The corpus prefactor k of a fully quantitative canonical entry against a\n * candidate body: `scalarAst / candidate`, which must be constant. Symbols align\n * by name, then by a dimension exactly one candidate symbol carries. Evaluated at\n * three points where variable i takes (1.7 + i)^p, p = 1, 1.3, 1.6 (`fixedPoint`, base 1.7,\n * step 1), and the ratio is constant when its largest relative departure is at most 1e-9\n * (`constantRatio`). `null` when the symbols do not align or the ratio is not constant.\n */\nfunction corpusPrefactor(ast: ExprNode, candidate: ExprNode): number | null {\n const astSyms = dimensionedSymbols(ast, new Map());\n const candSyms = dimensionedSymbols(candidate, new Map());\n if (astSyms.size !== candSyms.size) return null;\n const toCand = new Map<string, string>();\n const free = new Set(candSyms.keys());\n for (const s of astSyms.keys()) if (free.has(s)) (toCand.set(s, s), free.delete(s));\n for (const [s, d] of astSyms) {\n if (toCand.has(s)) continue;\n const hits = [...free].filter((c) => equals(candSyms.get(c)!, d));\n if (hits.length !== 1) return null;\n toCand.set(s, hits[0]!);\n free.delete(hits[0]!);\n }\n const names = [...candSyms.keys()].sort();\n const ratios = [1, 1.3, 1.6].map((p) => {\n const vals = fixedPoint(names, p, { base: 1.7, step: 1 });\n const astVals = Object.fromEntries([...toCand].map(([s, c]) => [s, vals[c]!]));\n return evalExpr(ast, astVals) / evalExpr(candidate, vals);\n });\n const decided = constantRatio(ratios, 1e-9);\n return decided.constant ? decided.value : null;\n}\n\n/**\n * Compare a FITTED prefactor with the prefactor of each corpus relation the\n * candidate is algebraically equivalent to. `normalForm` matches up to a\n * constant, so an equivalent candidate can still carry the wrong constant: a\n * pendulum fitted on finite-amplitude data gives ĉ = 7.39, not 2π. Only a fully\n * quantitative canonical entry records a prefactor; for any other match the\n * note says the fitted value is not compared. `tolerance` is relative (the\n * holdout tolerance of the run) and is what decides agreement; when the fit\n * carries a standard error `stderr`, the note also states the difference in\n * σ beside that verdict, and decides nothing by it.\n *\n * @internal\n */\nexport function corpusPrefactorNotes(\n result: CorpusComparisonResult,\n candidate: ExprNode,\n fitted: number,\n tolerance: number,\n stderr?: number | null,\n): string[] {\n const c = fitted.toPrecision(4);\n const inSigma = (k: number): string => {\n if (stderr === undefined || stderr === null || !(stderr > 0)) return '';\n const z = (fitted - k) / stderr;\n return `; ${z >= 0 ? '+' : ''}${z.toFixed(1)}σ (σ_ĉ = ${Number(stderr.toPrecision(2))})`;\n };\n return result.algebraicMatches.map((m) => {\n const entry = m.layer === 'canonical' ? CANONICAL_EQUATIONS.find((e) => e.id === m.id) : undefined;\n let k: number | null = null;\n // Fully quantitative entries carry their prefactor; others may take it from\n // the sourced table, applied to the entry's AST or, lacking one, its monomial.\n const tabled = entry && entry.epistemicStatus !== 'fully-quantitative' ? canonicalPrefactor(entry.id) : undefined;\n const body =\n entry?.epistemicStatus === 'fully-quantitative'\n ? entry.scalarAst\n : tabled === undefined\n ? undefined\n : (entry?.scalarAst ??\n (entry?.dimensional.monomial\n ? monomialToExpr(entry.dimensional.monomial, [entry.dimensional.target, ...entry.dimensional.governing])\n : undefined));\n if (body !== undefined) {\n try {\n const base = corpusPrefactor(body, candidate);\n k = base === null ? null : (tabled ?? 1) * base;\n } catch {\n k = null;\n }\n }\n if (k === null) return `${m.id} records no prefactor, so the fitted ĉ=${c} is not compared with it`;\n const rel = fitted / k - 1;\n if (Math.abs(rel) <= tolerance) {\n return `fitted ĉ=${c} agrees with ${m.id}'s prefactor ${k.toPrecision(4)} (within the holdout tolerance ${tolerance}${inSigma(k)})`;\n }\n const pct = `${rel > 0 ? '+' : ''}${Math.round(rel * 100)}%`;\n const sigma = inSigma(k);\n return (\n `fitted ĉ=${c} contradicts ${m.id}'s prefactor ${k.toPrecision(4)} (${pct}): ` +\n `the data may lie outside that relation's regime${sigma === '' ? '' : `; the difference is ${sigma.slice(2)}`}`\n );\n });\n}\n\n/** Allowed automated novelty sentence. @internal */\nexport function corpusRelativeWording(result: CorpusComparisonResult): string {\n if (result.algebraicMatches.length > 0) {\n const ids = result.algebraicMatches.map((m) => m.id).join(', ');\n return `Algebraic equivalent found in corpus ${result.corpusId}@${result.corpusVersion}: ${ids}`;\n }\n return `No equivalent was found in corpus ${result.corpusId} version ${result.corpusVersion} under equivalence procedures E=normalForm. SCIENTIFIC NOVELTY NOT ESTABLISHED.`;\n}\n"]}
|
|
@@ -5,9 +5,26 @@
|
|
|
5
5
|
* that tree is Product A's confrontation ledger and must stay cycle-free
|
|
6
6
|
* from probe.
|
|
7
7
|
*
|
|
8
|
+
* A cell is a finite number or a non-empty string in the strict decimal
|
|
9
|
+
* grammar (`1`, `-0.5`, `.5`, `2.`, `1e-3`). Nothing is coerced: an empty
|
|
10
|
+
* cell, `null`, `true`, `false`, a list and `"0x10"` are refused by column
|
|
11
|
+
* and row, with {@link DatasetError}. `Number(v)` once read all of those as
|
|
12
|
+
* 0, 1 or 16, which also defeated the missing-observation guard of the
|
|
13
|
+
* declared-limit check (a missing observation scored as 0).
|
|
14
|
+
*
|
|
8
15
|
* @internal
|
|
9
16
|
*/
|
|
10
17
|
import type { DatasetRole, ObservationRow, ProbeDataset } from './types.js';
|
|
18
|
+
/** A dataset file or object that is not a dataset: the message names the row and the column. @internal */
|
|
19
|
+
export declare class DatasetError extends Error {
|
|
20
|
+
constructor(message: string);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A cell as a number: a finite number, or a non-empty string in the strict
|
|
24
|
+
* decimal grammar. Anything else is refused at `where` (the dataset, row and
|
|
25
|
+
* column). @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function readDatasetNumber(v: unknown, where: string): number;
|
|
11
28
|
/** Build an in-memory dataset. @internal */
|
|
12
29
|
export declare function datasetFromRows(rows: readonly ObservationRow[], observable: string, role: DatasetRole, id?: string, sigma?: number): ProbeDataset;
|
|
13
30
|
/** Coerce unknown JSON into a ProbeDataset. @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/dataset.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/dataset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5E,0GAA0G;AAC1G,qBAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAcD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYnE;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,cAAc,EAAE,EAC/B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,EACjB,EAAE,SAAW,EACb,KAAK,CAAC,EAAE,MAAM,GACb,YAAY,CAEd;AAED,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,YAAY,CA6CxG;AAED,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,YAAY,CAG1F;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA0BzE;AAiCD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,EACjB,EAAE,SAAO,GACR,YAAY,CAYd;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAoBtD"}
|