nirs4all-ui 0.1.12 → 0.1.13
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 +39 -1
- package/assets/brands/README.md +28 -8
- package/assets/brands/dag-ml/favicon.ico +0 -0
- package/assets/brands/dag-ml/horizontal-dark.svg +5 -0
- package/assets/brands/dag-ml/horizontal.png +0 -0
- package/assets/brands/dag-ml/horizontal.svg +5 -0
- package/assets/brands/dag-ml/icon-180.png +0 -0
- package/assets/brands/dag-ml/icon-256.png +0 -0
- package/assets/brands/dag-ml/icon-32.png +0 -0
- package/assets/brands/dag-ml/icon-512.png +0 -0
- package/assets/brands/dag-ml/icon.svg +3 -0
- package/assets/brands/dag-ml/og.png +0 -0
- package/assets/brands/dag-ml/stacked-dark.svg +5 -0
- package/assets/brands/dag-ml/stacked.png +0 -0
- package/assets/brands/dag-ml/stacked.svg +5 -0
- package/assets/brands/dag-ml-data/favicon.ico +0 -0
- package/assets/brands/dag-ml-data/horizontal-dark.svg +6 -0
- package/assets/brands/dag-ml-data/horizontal.png +0 -0
- package/assets/brands/dag-ml-data/horizontal.svg +6 -0
- package/assets/brands/dag-ml-data/icon-180.png +0 -0
- package/assets/brands/dag-ml-data/icon-256.png +0 -0
- package/assets/brands/dag-ml-data/icon-32.png +0 -0
- package/assets/brands/dag-ml-data/icon-512.png +0 -0
- package/assets/brands/dag-ml-data/icon.svg +3 -0
- package/assets/brands/dag-ml-data/og.png +0 -0
- package/assets/brands/dag-ml-data/stacked-dark.svg +6 -0
- package/assets/brands/dag-ml-data/stacked.png +0 -0
- package/assets/brands/dag-ml-data/stacked.svg +6 -0
- package/assets/brands/nirs4all/favicon.ico +0 -0
- package/assets/brands/nirs4all/horizontal-dark.svg +36 -0
- package/assets/brands/nirs4all/horizontal.png +0 -0
- package/assets/brands/nirs4all/horizontal.svg +35 -11
- package/assets/brands/nirs4all/icon-180.png +0 -0
- package/assets/brands/nirs4all/icon-256.png +0 -0
- package/assets/brands/nirs4all/icon-32.png +0 -0
- package/assets/brands/nirs4all/icon-512.png +0 -0
- package/assets/brands/nirs4all/icon.svg +32 -7
- package/assets/brands/nirs4all/og.png +0 -0
- package/assets/brands/nirs4all/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all/stacked.png +0 -0
- package/assets/brands/nirs4all/stacked.svg +35 -11
- package/assets/brands/nirs4all-benchmarks/favicon.ico +0 -0
- package/assets/brands/nirs4all-benchmarks/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-benchmarks/horizontal.png +0 -0
- package/assets/brands/nirs4all-benchmarks/horizontal.svg +37 -0
- package/assets/brands/nirs4all-benchmarks/icon-180.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon-256.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon-32.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon-512.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon.svg +33 -0
- package/assets/brands/nirs4all-benchmarks/og.png +0 -0
- package/assets/brands/nirs4all-benchmarks/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-benchmarks/stacked.png +0 -0
- package/assets/brands/nirs4all-benchmarks/stacked.svg +36 -0
- package/assets/brands/nirs4all-cluster/favicon.ico +0 -0
- package/assets/brands/nirs4all-cluster/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-cluster/horizontal.png +0 -0
- package/assets/brands/nirs4all-cluster/horizontal.svg +37 -0
- package/assets/brands/nirs4all-cluster/icon-180.png +0 -0
- package/assets/brands/nirs4all-cluster/icon-256.png +0 -0
- package/assets/brands/nirs4all-cluster/icon-32.png +0 -0
- package/assets/brands/nirs4all-cluster/icon-512.png +0 -0
- package/assets/brands/nirs4all-cluster/icon.svg +33 -0
- package/assets/brands/nirs4all-cluster/og.png +0 -0
- package/assets/brands/nirs4all-cluster/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-cluster/stacked.png +0 -0
- package/assets/brands/nirs4all-cluster/stacked.svg +36 -0
- package/assets/brands/nirs4all-core/favicon.ico +0 -0
- package/assets/brands/nirs4all-core/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-core/horizontal.png +0 -0
- package/assets/brands/nirs4all-core/horizontal.svg +36 -11
- package/assets/brands/nirs4all-core/icon-180.png +0 -0
- package/assets/brands/nirs4all-core/icon-256.png +0 -0
- package/assets/brands/nirs4all-core/icon-32.png +0 -0
- package/assets/brands/nirs4all-core/icon-512.png +0 -0
- package/assets/brands/nirs4all-core/icon.svg +32 -7
- package/assets/brands/nirs4all-core/og.png +0 -0
- package/assets/brands/nirs4all-core/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-core/stacked.png +0 -0
- package/assets/brands/nirs4all-core/stacked.svg +35 -11
- package/assets/brands/nirs4all-datasets/favicon.ico +0 -0
- package/assets/brands/nirs4all-datasets/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-datasets/horizontal.png +0 -0
- package/assets/brands/nirs4all-datasets/horizontal.svg +37 -0
- package/assets/brands/nirs4all-datasets/icon-180.png +0 -0
- package/assets/brands/nirs4all-datasets/icon-256.png +0 -0
- package/assets/brands/nirs4all-datasets/icon-32.png +0 -0
- package/assets/brands/nirs4all-datasets/icon-512.png +0 -0
- package/assets/brands/nirs4all-datasets/icon.svg +33 -0
- package/assets/brands/nirs4all-datasets/og.png +0 -0
- package/assets/brands/nirs4all-datasets/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-datasets/stacked.png +0 -0
- package/assets/brands/nirs4all-datasets/stacked.svg +36 -0
- package/assets/brands/nirs4all-device/favicon.ico +0 -0
- package/assets/brands/nirs4all-device/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-device/horizontal.png +0 -0
- package/assets/brands/nirs4all-device/horizontal.svg +37 -0
- package/assets/brands/nirs4all-device/icon-180.png +0 -0
- package/assets/brands/nirs4all-device/icon-256.png +0 -0
- package/assets/brands/nirs4all-device/icon-32.png +0 -0
- package/assets/brands/nirs4all-device/icon-512.png +0 -0
- package/assets/brands/nirs4all-device/icon.svg +33 -0
- package/assets/brands/nirs4all-device/og.png +0 -0
- package/assets/brands/nirs4all-device/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-device/stacked.png +0 -0
- package/assets/brands/nirs4all-device/stacked.svg +36 -0
- package/assets/brands/nirs4all-formats/favicon.ico +0 -0
- package/assets/brands/nirs4all-formats/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-formats/horizontal.png +0 -0
- package/assets/brands/nirs4all-formats/horizontal.svg +37 -0
- package/assets/brands/nirs4all-formats/icon-180.png +0 -0
- package/assets/brands/nirs4all-formats/icon-256.png +0 -0
- package/assets/brands/nirs4all-formats/icon-32.png +0 -0
- package/assets/brands/nirs4all-formats/icon-512.png +0 -0
- package/assets/brands/nirs4all-formats/icon.svg +33 -0
- package/assets/brands/nirs4all-formats/og.png +0 -0
- package/assets/brands/nirs4all-formats/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-formats/stacked.png +0 -0
- package/assets/brands/nirs4all-formats/stacked.svg +36 -0
- package/assets/brands/nirs4all-io/favicon.ico +0 -0
- package/assets/brands/nirs4all-io/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-io/horizontal.png +0 -0
- package/assets/brands/nirs4all-io/horizontal.svg +37 -0
- package/assets/brands/nirs4all-io/icon-180.png +0 -0
- package/assets/brands/nirs4all-io/icon-256.png +0 -0
- package/assets/brands/nirs4all-io/icon-32.png +0 -0
- package/assets/brands/nirs4all-io/icon-512.png +0 -0
- package/assets/brands/nirs4all-io/icon.svg +33 -0
- package/assets/brands/nirs4all-io/og.png +0 -0
- package/assets/brands/nirs4all-io/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-io/stacked.png +0 -0
- package/assets/brands/nirs4all-io/stacked.svg +36 -0
- package/assets/brands/nirs4all-methods/favicon.ico +0 -0
- package/assets/brands/nirs4all-methods/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-methods/horizontal.png +0 -0
- package/assets/brands/nirs4all-methods/horizontal.svg +37 -0
- package/assets/brands/nirs4all-methods/icon-180.png +0 -0
- package/assets/brands/nirs4all-methods/icon-256.png +0 -0
- package/assets/brands/nirs4all-methods/icon-32.png +0 -0
- package/assets/brands/nirs4all-methods/icon-512.png +0 -0
- package/assets/brands/nirs4all-methods/icon.svg +33 -0
- package/assets/brands/nirs4all-methods/og.png +0 -0
- package/assets/brands/nirs4all-methods/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-methods/stacked.png +0 -0
- package/assets/brands/nirs4all-methods/stacked.svg +36 -0
- package/assets/brands/nirs4all-papers/favicon.ico +0 -0
- package/assets/brands/nirs4all-papers/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-papers/horizontal.png +0 -0
- package/assets/brands/nirs4all-papers/horizontal.svg +37 -0
- package/assets/brands/nirs4all-papers/icon-180.png +0 -0
- package/assets/brands/nirs4all-papers/icon-256.png +0 -0
- package/assets/brands/nirs4all-papers/icon-32.png +0 -0
- package/assets/brands/nirs4all-papers/icon-512.png +0 -0
- package/assets/brands/nirs4all-papers/icon.svg +33 -0
- package/assets/brands/nirs4all-papers/og.png +0 -0
- package/assets/brands/nirs4all-papers/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-papers/stacked.png +0 -0
- package/assets/brands/nirs4all-papers/stacked.svg +36 -0
- package/assets/brands/nirs4all-providers/favicon.ico +0 -0
- package/assets/brands/nirs4all-providers/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-providers/horizontal.png +0 -0
- package/assets/brands/nirs4all-providers/horizontal.svg +36 -11
- package/assets/brands/nirs4all-providers/icon-180.png +0 -0
- package/assets/brands/nirs4all-providers/icon-256.png +0 -0
- package/assets/brands/nirs4all-providers/icon-32.png +0 -0
- package/assets/brands/nirs4all-providers/icon-512.png +0 -0
- package/assets/brands/nirs4all-providers/icon.svg +32 -7
- package/assets/brands/nirs4all-providers/og.png +0 -0
- package/assets/brands/nirs4all-providers/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-providers/stacked.png +0 -0
- package/assets/brands/nirs4all-providers/stacked.svg +35 -11
- package/assets/brands/nirs4all-quality/favicon.ico +0 -0
- package/assets/brands/nirs4all-quality/horizontal-dark.svg +36 -0
- package/assets/brands/nirs4all-quality/horizontal.svg +35 -11
- package/assets/brands/nirs4all-quality/icon-180.png +0 -0
- package/assets/brands/nirs4all-quality/icon-256.png +0 -0
- package/assets/brands/nirs4all-quality/icon-32.png +0 -0
- package/assets/brands/nirs4all-quality/icon-512.png +0 -0
- package/assets/brands/nirs4all-quality/icon.svg +32 -7
- package/assets/brands/nirs4all-quality/og.png +0 -0
- package/assets/brands/nirs4all-quality/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-quality/stacked.svg +35 -11
- package/assets/brands/nirs4all-repository/favicon.ico +0 -0
- package/assets/brands/nirs4all-repository/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-repository/horizontal.png +0 -0
- package/assets/brands/nirs4all-repository/horizontal.svg +37 -0
- package/assets/brands/nirs4all-repository/icon-180.png +0 -0
- package/assets/brands/nirs4all-repository/icon-256.png +0 -0
- package/assets/brands/nirs4all-repository/icon-32.png +0 -0
- package/assets/brands/nirs4all-repository/icon-512.png +0 -0
- package/assets/brands/nirs4all-repository/icon.svg +33 -0
- package/assets/brands/nirs4all-repository/og.png +0 -0
- package/assets/brands/nirs4all-repository/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-repository/stacked.png +0 -0
- package/assets/brands/nirs4all-repository/stacked.svg +36 -0
- package/assets/brands/nirs4all-studio/favicon.ico +0 -0
- package/assets/brands/nirs4all-studio/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-studio/horizontal.png +0 -0
- package/assets/brands/nirs4all-studio/horizontal.svg +37 -0
- package/assets/brands/nirs4all-studio/icon-180.png +0 -0
- package/assets/brands/nirs4all-studio/icon-256.png +0 -0
- package/assets/brands/nirs4all-studio/icon-32.png +0 -0
- package/assets/brands/nirs4all-studio/icon-512.png +0 -0
- package/assets/brands/nirs4all-studio/icon.svg +33 -0
- package/assets/brands/nirs4all-studio/og.png +0 -0
- package/assets/brands/nirs4all-studio/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-studio/stacked.png +0 -0
- package/assets/brands/nirs4all-studio/stacked.svg +36 -0
- package/assets/brands/nirs4all-tools/favicon.ico +0 -0
- package/assets/brands/nirs4all-tools/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-tools/horizontal.png +0 -0
- package/assets/brands/nirs4all-tools/horizontal.svg +37 -0
- package/assets/brands/nirs4all-tools/icon-180.png +0 -0
- package/assets/brands/nirs4all-tools/icon-256.png +0 -0
- package/assets/brands/nirs4all-tools/icon-32.png +0 -0
- package/assets/brands/nirs4all-tools/icon-512.png +0 -0
- package/assets/brands/nirs4all-tools/icon.svg +33 -0
- package/assets/brands/nirs4all-tools/og.png +0 -0
- package/assets/brands/nirs4all-tools/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-tools/stacked.png +0 -0
- package/assets/brands/nirs4all-tools/stacked.svg +36 -0
- package/assets/brands/nirs4all-ui/favicon.ico +0 -0
- package/assets/brands/nirs4all-ui/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-ui/horizontal.png +0 -0
- package/assets/brands/nirs4all-ui/horizontal.svg +36 -11
- package/assets/brands/nirs4all-ui/icon-180.png +0 -0
- package/assets/brands/nirs4all-ui/icon-256.png +0 -0
- package/assets/brands/nirs4all-ui/icon-32.png +0 -0
- package/assets/brands/nirs4all-ui/icon-512.png +0 -0
- package/assets/brands/nirs4all-ui/icon.svg +32 -7
- package/assets/brands/nirs4all-ui/og.png +0 -0
- package/assets/brands/nirs4all-ui/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-ui/stacked.png +0 -0
- package/assets/brands/nirs4all-ui/stacked.svg +35 -11
- package/assets/brands/nirs4all-web/favicon.ico +0 -0
- package/assets/brands/nirs4all-web/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-web/horizontal.png +0 -0
- package/assets/brands/nirs4all-web/horizontal.svg +37 -0
- package/assets/brands/nirs4all-web/icon-180.png +0 -0
- package/assets/brands/nirs4all-web/icon-256.png +0 -0
- package/assets/brands/nirs4all-web/icon-32.png +0 -0
- package/assets/brands/nirs4all-web/icon-512.png +0 -0
- package/assets/brands/nirs4all-web/icon.svg +33 -0
- package/assets/brands/nirs4all-web/og.png +0 -0
- package/assets/brands/nirs4all-web/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-web/stacked.png +0 -0
- package/assets/brands/nirs4all-web/stacked.svg +36 -0
- package/assets/chains.css +601 -0
- package/assets/conformal.css +323 -0
- package/assets/dag.css +446 -0
- package/assets/motion/nirs-spectra.svg +26 -9
- package/assets/viz.css +152 -0
- package/dist/brand/index.d.ts +24 -126
- package/dist/brand/index.d.ts.map +1 -1
- package/dist/brand/index.js +52 -200
- package/dist/brand/index.js.map +1 -1
- package/dist/chains/ChainExplorer.d.ts +34 -0
- package/dist/chains/ChainExplorer.d.ts.map +1 -0
- package/dist/chains/ChainExplorer.js +119 -0
- package/dist/chains/ChainExplorer.js.map +1 -0
- package/dist/chains/ChainNodeHub.d.ts +31 -0
- package/dist/chains/ChainNodeHub.d.ts.map +1 -0
- package/dist/chains/ChainNodeHub.js +150 -0
- package/dist/chains/ChainNodeHub.js.map +1 -0
- package/dist/chains/ChainNodeOrbit.d.ts +31 -0
- package/dist/chains/ChainNodeOrbit.d.ts.map +1 -0
- package/dist/chains/ChainNodeOrbit.js +158 -0
- package/dist/chains/ChainNodeOrbit.js.map +1 -0
- package/dist/chains/ChainScoreBeeswarm.d.ts +25 -0
- package/dist/chains/ChainScoreBeeswarm.d.ts.map +1 -0
- package/dist/chains/ChainScoreBeeswarm.js +84 -0
- package/dist/chains/ChainScoreBeeswarm.js.map +1 -0
- package/dist/chains/NodeEffectForest.d.ts +33 -0
- package/dist/chains/NodeEffectForest.d.ts.map +1 -0
- package/dist/chains/NodeEffectForest.js +85 -0
- package/dist/chains/NodeEffectForest.js.map +1 -0
- package/dist/chains/PositionEffectHeatmap.d.ts +25 -0
- package/dist/chains/PositionEffectHeatmap.d.ts.map +1 -0
- package/dist/chains/PositionEffectHeatmap.js +77 -0
- package/dist/chains/PositionEffectHeatmap.js.map +1 -0
- package/dist/chains/SequenceEffectHeatmap.d.ts +22 -0
- package/dist/chains/SequenceEffectHeatmap.d.ts.map +1 -0
- package/dist/chains/SequenceEffectHeatmap.js +74 -0
- package/dist/chains/SequenceEffectHeatmap.js.map +1 -0
- package/dist/chains/_cx.d.ts +2 -0
- package/dist/chains/_cx.d.ts.map +1 -0
- package/dist/chains/_cx.js +8 -0
- package/dist/chains/_cx.js.map +1 -0
- package/dist/chains/analysis.d.ts +100 -0
- package/dist/chains/analysis.d.ts.map +1 -0
- package/dist/chains/analysis.js +440 -0
- package/dist/chains/analysis.js.map +1 -0
- package/dist/chains/colors.d.ts +26 -0
- package/dist/chains/colors.d.ts.map +1 -0
- package/dist/chains/colors.js +58 -0
- package/dist/chains/colors.js.map +1 -0
- package/dist/chains/contract.d.ts +54 -0
- package/dist/chains/contract.d.ts.map +1 -0
- package/dist/chains/contract.js +125 -0
- package/dist/chains/contract.js.map +1 -0
- package/dist/chains/index.d.ts +35 -0
- package/dist/chains/index.d.ts.map +1 -0
- package/dist/chains/index.js +41 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains/normalize.d.ts +27 -0
- package/dist/chains/normalize.d.ts.map +1 -0
- package/dist/chains/normalize.js +104 -0
- package/dist/chains/normalize.js.map +1 -0
- package/dist/chains/radial.d.ts +21 -0
- package/dist/chains/radial.d.ts.map +1 -0
- package/dist/chains/radial.js +52 -0
- package/dist/chains/radial.js.map +1 -0
- package/dist/chains/types.d.ts +240 -0
- package/dist/chains/types.d.ts.map +1 -0
- package/dist/chains/types.js +52 -0
- package/dist/chains/types.js.map +1 -0
- package/dist/components/ConformalPredictionTree.d.ts +79 -0
- package/dist/components/ConformalPredictionTree.d.ts.map +1 -0
- package/dist/components/ConformalPredictionTree.js +223 -0
- package/dist/components/ConformalPredictionTree.js.map +1 -0
- package/dist/components/DatasetResultCard.d.ts +33 -0
- package/dist/components/DatasetResultCard.d.ts.map +1 -0
- package/dist/components/DatasetResultCard.js +9 -0
- package/dist/components/DatasetResultCard.js.map +1 -0
- package/dist/components/PerClassTable.d.ts +27 -0
- package/dist/components/PerClassTable.d.ts.map +1 -0
- package/dist/components/PerClassTable.js +9 -0
- package/dist/components/PerClassTable.js.map +1 -0
- package/dist/components/PredictionCard.d.ts +27 -0
- package/dist/components/PredictionCard.d.ts.map +1 -0
- package/dist/components/PredictionCard.js +6 -0
- package/dist/components/PredictionCard.js.map +1 -0
- package/dist/components/RankingsTable.d.ts +28 -0
- package/dist/components/RankingsTable.d.ts.map +1 -0
- package/dist/components/RankingsTable.js +14 -0
- package/dist/components/RankingsTable.js.map +1 -0
- package/dist/components/ScoreCardTree.d.ts +31 -0
- package/dist/components/ScoreCardTree.d.ts.map +1 -0
- package/dist/components/ScoreCardTree.js +17 -0
- package/dist/components/ScoreCardTree.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/index.js.map +1 -1
- package/dist/conformal/index.d.ts +2 -0
- package/dist/conformal/index.d.ts.map +1 -0
- package/dist/conformal/index.js +2 -0
- package/dist/conformal/index.js.map +1 -0
- package/dist/conformal/result.d.ts +224 -0
- package/dist/conformal/result.d.ts.map +1 -0
- package/dist/conformal/result.js +461 -0
- package/dist/conformal/result.js.map +1 -0
- package/dist/dag/DagGraphView.d.ts +35 -0
- package/dist/dag/DagGraphView.d.ts.map +1 -0
- package/dist/dag/DagGraphView.js +424 -0
- package/dist/dag/DagGraphView.js.map +1 -0
- package/dist/dag/_cx.d.ts +2 -0
- package/dist/dag/_cx.d.ts.map +1 -0
- package/dist/dag/_cx.js +8 -0
- package/dist/dag/_cx.js.map +1 -0
- package/dist/dag/collapse.d.ts +81 -0
- package/dist/dag/collapse.d.ts.map +1 -0
- package/dist/dag/collapse.js +210 -0
- package/dist/dag/collapse.js.map +1 -0
- package/dist/dag/colors.d.ts +19 -0
- package/dist/dag/colors.d.ts.map +1 -0
- package/dist/dag/colors.js +54 -0
- package/dist/dag/colors.js.map +1 -0
- package/dist/dag/fromCompiledGraph.d.ts +27 -0
- package/dist/dag/fromCompiledGraph.d.ts.map +1 -0
- package/dist/dag/fromCompiledGraph.js +133 -0
- package/dist/dag/fromCompiledGraph.js.map +1 -0
- package/dist/dag/hierarchy.d.ts +38 -0
- package/dist/dag/hierarchy.d.ts.map +1 -0
- package/dist/dag/hierarchy.js +75 -0
- package/dist/dag/hierarchy.js.map +1 -0
- package/dist/dag/index.d.ts +28 -0
- package/dist/dag/index.d.ts.map +1 -0
- package/dist/dag/index.js +33 -0
- package/dist/dag/index.js.map +1 -0
- package/dist/dag/layout.d.ts +57 -0
- package/dist/dag/layout.d.ts.map +1 -0
- package/dist/dag/layout.js +267 -0
- package/dist/dag/layout.js.map +1 -0
- package/dist/dag/locale.d.ts +31 -0
- package/dist/dag/locale.d.ts.map +1 -0
- package/dist/dag/locale.js +32 -0
- package/dist/dag/locale.js.map +1 -0
- package/dist/dag/shape.d.ts +48 -0
- package/dist/dag/shape.d.ts.map +1 -0
- package/dist/dag/shape.js +263 -0
- package/dist/dag/shape.js.map +1 -0
- package/dist/dag/types.d.ts +106 -0
- package/dist/dag/types.d.ts.map +1 -0
- package/dist/dag/types.js +56 -0
- package/dist/dag/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/keywordRegistry/index.d.ts +9 -0
- package/dist/keywordRegistry/index.d.ts.map +1 -0
- package/dist/keywordRegistry/index.js +9 -0
- package/dist/keywordRegistry/index.js.map +1 -0
- package/dist/keywordRegistry/registry.d.ts +107 -0
- package/dist/keywordRegistry/registry.d.ts.map +1 -0
- package/dist/keywordRegistry/registry.js +234 -0
- package/dist/keywordRegistry/registry.js.map +1 -0
- package/dist/robustness/index.d.ts +12 -0
- package/dist/robustness/index.d.ts.map +1 -0
- package/dist/robustness/index.js +12 -0
- package/dist/robustness/index.js.map +1 -0
- package/dist/robustness/modes.d.ts +15 -0
- package/dist/robustness/modes.d.ts.map +1 -0
- package/dist/robustness/modes.js +64 -0
- package/dist/robustness/modes.js.map +1 -0
- package/dist/robustness/scenarios.d.ts +38 -0
- package/dist/robustness/scenarios.d.ts.map +1 -0
- package/dist/robustness/scenarios.js +159 -0
- package/dist/robustness/scenarios.js.map +1 -0
- package/dist/robustness/summary.d.ts +135 -0
- package/dist/robustness/summary.d.ts.map +1 -0
- package/dist/robustness/summary.js +284 -0
- package/dist/robustness/summary.js.map +1 -0
- package/dist/styles/index.d.ts +19 -1
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +21 -0
- package/dist/styles/index.js.map +1 -1
- package/dist/tuning/index.d.ts +3 -0
- package/dist/tuning/index.d.ts.map +1 -0
- package/dist/tuning/index.js +3 -0
- package/dist/tuning/index.js.map +1 -0
- package/dist/tuning/result.d.ts +144 -0
- package/dist/tuning/result.d.ts.map +1 -0
- package/dist/tuning/result.js +277 -0
- package/dist/tuning/result.js.map +1 -0
- package/dist/tuning/searchSpace.d.ts +54 -0
- package/dist/tuning/searchSpace.d.ts.map +1 -0
- package/dist/tuning/searchSpace.js +118 -0
- package/dist/tuning/searchSpace.js.map +1 -0
- package/dist/viz/BiasVarianceBars.d.ts +27 -0
- package/dist/viz/BiasVarianceBars.d.ts.map +1 -0
- package/dist/viz/BiasVarianceBars.js +53 -0
- package/dist/viz/BiasVarianceBars.js.map +1 -0
- package/dist/viz/BoxPlot.d.ts +24 -0
- package/dist/viz/BoxPlot.d.ts.map +1 -0
- package/dist/viz/BoxPlot.js +50 -0
- package/dist/viz/BoxPlot.js.map +1 -0
- package/dist/viz/ConformalIntervalStrip.d.ts +66 -0
- package/dist/viz/ConformalIntervalStrip.d.ts.map +1 -0
- package/dist/viz/ConformalIntervalStrip.js +167 -0
- package/dist/viz/ConformalIntervalStrip.js.map +1 -0
- package/dist/viz/ConfusionMatrix.d.ts +24 -0
- package/dist/viz/ConfusionMatrix.d.ts.map +1 -0
- package/dist/viz/ConfusionMatrix.js +39 -0
- package/dist/viz/ConfusionMatrix.js.map +1 -0
- package/dist/viz/FeatureImportanceBar.d.ts +26 -0
- package/dist/viz/FeatureImportanceBar.d.ts.map +1 -0
- package/dist/viz/FeatureImportanceBar.js +49 -0
- package/dist/viz/FeatureImportanceBar.js.map +1 -0
- package/dist/viz/FoldStabilityLines.d.ts +29 -0
- package/dist/viz/FoldStabilityLines.d.ts.map +1 -0
- package/dist/viz/FoldStabilityLines.js +57 -0
- package/dist/viz/FoldStabilityLines.js.map +1 -0
- package/dist/viz/Histogram.d.ts +33 -0
- package/dist/viz/Histogram.d.ts.map +1 -0
- package/dist/viz/Histogram.js +64 -0
- package/dist/viz/Histogram.js.map +1 -0
- package/dist/viz/PcaScatter.d.ts +36 -0
- package/dist/viz/PcaScatter.d.ts.map +1 -0
- package/dist/viz/PcaScatter.js +72 -0
- package/dist/viz/PcaScatter.js.map +1 -0
- package/dist/viz/PipelineFlow.d.ts +28 -0
- package/dist/viz/PipelineFlow.d.ts.map +1 -0
- package/dist/viz/PipelineFlow.js +57 -0
- package/dist/viz/PipelineFlow.js.map +1 -0
- package/dist/viz/PredictionScatter.d.ts +41 -0
- package/dist/viz/PredictionScatter.d.ts.map +1 -0
- package/dist/viz/PredictionScatter.js +41 -0
- package/dist/viz/PredictionScatter.js.map +1 -0
- package/dist/viz/ResidualPlot.d.ts +32 -0
- package/dist/viz/ResidualPlot.d.ts.map +1 -0
- package/dist/viz/ResidualPlot.js +58 -0
- package/dist/viz/ResidualPlot.js.map +1 -0
- package/dist/viz/ScoreHeatmap.d.ts +30 -0
- package/dist/viz/ScoreHeatmap.d.ts.map +1 -0
- package/dist/viz/ScoreHeatmap.js +61 -0
- package/dist/viz/ScoreHeatmap.js.map +1 -0
- package/dist/viz/ScoreSummary.d.ts +23 -0
- package/dist/viz/ScoreSummary.d.ts.map +1 -0
- package/dist/viz/ScoreSummary.js +32 -0
- package/dist/viz/ScoreSummary.js.map +1 -0
- package/dist/viz/ShapBeeswarm.d.ts +29 -0
- package/dist/viz/ShapBeeswarm.d.ts.map +1 -0
- package/dist/viz/ShapBeeswarm.js +60 -0
- package/dist/viz/ShapBeeswarm.js.map +1 -0
- package/dist/viz/SpectraPlot.d.ts +50 -0
- package/dist/viz/SpectraPlot.d.ts.map +1 -0
- package/dist/viz/SpectraPlot.js +46 -0
- package/dist/viz/SpectraPlot.js.map +1 -0
- package/dist/viz/WaterfallChart.d.ts +30 -0
- package/dist/viz/WaterfallChart.d.ts.map +1 -0
- package/dist/viz/WaterfallChart.js +73 -0
- package/dist/viz/WaterfallChart.js.map +1 -0
- package/dist/viz/_cx.d.ts +2 -0
- package/dist/viz/_cx.d.ts.map +1 -0
- package/dist/viz/_cx.js +8 -0
- package/dist/viz/_cx.js.map +1 -0
- package/dist/viz/geometry.d.ts +87 -0
- package/dist/viz/geometry.d.ts.map +1 -0
- package/dist/viz/geometry.js +208 -0
- package/dist/viz/geometry.js.map +1 -0
- package/dist/viz/index.d.ts +33 -0
- package/dist/viz/index.d.ts.map +1 -0
- package/dist/viz/index.js +38 -0
- package/dist/viz/index.js.map +1 -0
- package/dist/viz/theme.d.ts +50 -0
- package/dist/viz/theme.d.ts.map +1 -0
- package/dist/viz/theme.js +100 -0
- package/dist/viz/theme.js.map +1 -0
- package/package.json +34 -2
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
import { formatMetricValue } from "../score/index.js";
|
|
2
|
+
function isRecord(value) {
|
|
3
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
function isFiniteNumber(value) {
|
|
6
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
7
|
+
}
|
|
8
|
+
function isNullableString(value) {
|
|
9
|
+
return value === null || typeof value === "string";
|
|
10
|
+
}
|
|
11
|
+
function isNumberArray(value) {
|
|
12
|
+
return Array.isArray(value) && value.every(isFiniteNumber);
|
|
13
|
+
}
|
|
14
|
+
function isStringArray(value) {
|
|
15
|
+
return Array.isArray(value) && value.every((item) => typeof item === "string");
|
|
16
|
+
}
|
|
17
|
+
function isSha256Fingerprint(value) {
|
|
18
|
+
return typeof value === "string" && /^[a-f0-9]{64}$/.test(value);
|
|
19
|
+
}
|
|
20
|
+
function isOptionalString(value) {
|
|
21
|
+
return value === undefined || typeof value === "string";
|
|
22
|
+
}
|
|
23
|
+
export function isCalibrationReplaySource(value) {
|
|
24
|
+
return (isRecord(value)
|
|
25
|
+
&& typeof value.dataset_backed === "boolean"
|
|
26
|
+
&& typeof value.kind === "string"
|
|
27
|
+
&& isOptionalString(value.predictor_bundle)
|
|
28
|
+
&& isOptionalString(value.predictor_chain_id)
|
|
29
|
+
&& isOptionalString(value.predictor_fingerprint)
|
|
30
|
+
&& isOptionalString(value.predictor_type)
|
|
31
|
+
&& typeof value.requires_model_replay === "boolean"
|
|
32
|
+
&& typeof value.route === "string"
|
|
33
|
+
&& value.version === 1
|
|
34
|
+
&& isOptionalString(value.workspace_path));
|
|
35
|
+
}
|
|
36
|
+
export function isTuningCalibrationSource(value) {
|
|
37
|
+
return (isRecord(value)
|
|
38
|
+
&& typeof value.score_data_role === "string"
|
|
39
|
+
&& typeof value.score_data_used === "boolean"
|
|
40
|
+
&& typeof value.source === "string");
|
|
41
|
+
}
|
|
42
|
+
export function isConformalGuaranteeStatus(value) {
|
|
43
|
+
return (isRecord(value)
|
|
44
|
+
&& typeof value.artifact_fingerprint === "string"
|
|
45
|
+
&& isNumberArray(value.calibrated_coverages)
|
|
46
|
+
&& typeof value.calibration_data_fingerprint === "string"
|
|
47
|
+
&& (value.calibration_replay_source === undefined || isCalibrationReplaySource(value.calibration_replay_source))
|
|
48
|
+
&& isNumberArray(value.coverage)
|
|
49
|
+
&& typeof value.effective_engine === "string"
|
|
50
|
+
&& typeof value.guarantee === "string"
|
|
51
|
+
&& isStringArray(value.invalidation_reasons)
|
|
52
|
+
&& isStringArray(value.limitations)
|
|
53
|
+
&& typeof value.method === "string"
|
|
54
|
+
&& typeof value.multi_target === "string"
|
|
55
|
+
&& isNullableString(value.predictor_fingerprint)
|
|
56
|
+
&& typeof value.requested_engine === "string"
|
|
57
|
+
&& typeof value.scope === "string"
|
|
58
|
+
&& isNullableString(value.source_calibrated_result_fingerprint)
|
|
59
|
+
&& (value.status === "active" || value.status === "invalidated")
|
|
60
|
+
&& typeof value.unit === "string"
|
|
61
|
+
&& value.version === 1);
|
|
62
|
+
}
|
|
63
|
+
export function isConformalIntervalRecord(value) {
|
|
64
|
+
return (isRecord(value)
|
|
65
|
+
&& isFiniteNumber(value.coverage)
|
|
66
|
+
&& isNumberArray(value.lower)
|
|
67
|
+
&& isFiniteNumber(value.qhat)
|
|
68
|
+
&& isNumberArray(value.upper)
|
|
69
|
+
&& value.lower.length === value.upper.length);
|
|
70
|
+
}
|
|
71
|
+
export function isCalibratedPredictionBlock(value) {
|
|
72
|
+
if (!isRecord(value)
|
|
73
|
+
|| !Array.isArray(value.intervals)
|
|
74
|
+
|| !value.intervals.every(isConformalIntervalRecord)
|
|
75
|
+
|| typeof value.method !== "string"
|
|
76
|
+
|| typeof value.unit !== "string"
|
|
77
|
+
|| !isNumberArray(value.y_pred)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
const yPred = value.y_pred;
|
|
81
|
+
return value.intervals.every((interval) => interval.lower.length === yPred.length);
|
|
82
|
+
}
|
|
83
|
+
export function isCalibratedRunResultArtifact(value) {
|
|
84
|
+
return (isRecord(value)
|
|
85
|
+
&& isRecord(value.artifact)
|
|
86
|
+
&& (value.fingerprint === undefined || typeof value.fingerprint === "string")
|
|
87
|
+
&& isRecord(value.metadata)
|
|
88
|
+
&& isCalibratedPredictionBlock(value.prediction)
|
|
89
|
+
&& isStringArray(value.sample_ids)
|
|
90
|
+
&& (value.sample_ids.length === 0 || value.sample_ids.length === value.prediction.y_pred.length)
|
|
91
|
+
&& value.version === 1);
|
|
92
|
+
}
|
|
93
|
+
export function isDagMlConformalPresentationV1(value) {
|
|
94
|
+
if (!isRecord(value)
|
|
95
|
+
|| typeof value.binding_id !== "string"
|
|
96
|
+
|| value.binding_id.length === 0
|
|
97
|
+
|| !isSha256Fingerprint(value.calibration_fingerprint)
|
|
98
|
+
|| !Array.isArray(value.intervals)
|
|
99
|
+
|| !isSha256Fingerprint(value.package_fingerprint)
|
|
100
|
+
|| !isNumberArray(value.point_predictions)
|
|
101
|
+
|| !isSha256Fingerprint(value.presentation_fingerprint)
|
|
102
|
+
|| !isSha256Fingerprint(value.replay_outcome_fingerprint)
|
|
103
|
+
|| !isStringArray(value.sample_ids)
|
|
104
|
+
|| value.sample_ids.length !== value.point_predictions.length
|
|
105
|
+
|| value.sample_ids.some((sampleId) => sampleId.length === 0)
|
|
106
|
+
|| new Set(value.sample_ids).size !== value.sample_ids.length
|
|
107
|
+
|| value.schema_version !== 1
|
|
108
|
+
|| typeof value.target_name !== "string"
|
|
109
|
+
|| value.target_name.length === 0) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
const pointPredictions = value.point_predictions;
|
|
113
|
+
const intervals = value.intervals;
|
|
114
|
+
const seenCoverages = new Set();
|
|
115
|
+
return intervals.every((interval) => {
|
|
116
|
+
if (!isRecord(interval)
|
|
117
|
+
|| !isFiniteNumber(interval.coverage)
|
|
118
|
+
|| interval.coverage <= 0
|
|
119
|
+
|| interval.coverage >= 1
|
|
120
|
+
|| seenCoverages.has(interval.coverage)
|
|
121
|
+
|| !Array.isArray(interval.lower)
|
|
122
|
+
|| !Array.isArray(interval.upper)
|
|
123
|
+
|| interval.lower.length !== pointPredictions.length
|
|
124
|
+
|| interval.upper.length !== pointPredictions.length
|
|
125
|
+
|| !(interval.qhat === null || isFiniteNumber(interval.qhat))) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
const lowerBounds = interval.lower;
|
|
129
|
+
const upperBounds = interval.upper;
|
|
130
|
+
seenCoverages.add(interval.coverage);
|
|
131
|
+
return lowerBounds.every((lower, index) => {
|
|
132
|
+
const upper = upperBounds[index];
|
|
133
|
+
const point = pointPredictions[index];
|
|
134
|
+
if (lower === null || upper === null)
|
|
135
|
+
return lower === null && upper === null;
|
|
136
|
+
return isFiniteNumber(point) && isFiniteNumber(lower) && isFiniteNumber(upper) && lower <= point && point <= upper;
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
export function isConformalMetricSet(value) {
|
|
141
|
+
return (isRecord(value)
|
|
142
|
+
&& isFiniteNumber(value.coverage)
|
|
143
|
+
&& isFiniteNumber(value.coverage_gap)
|
|
144
|
+
&& (value.fingerprint === undefined || typeof value.fingerprint === "string")
|
|
145
|
+
&& isFiniteNumber(value.mean_interval_score)
|
|
146
|
+
&& isFiniteNumber(value.mean_width)
|
|
147
|
+
&& isFiniteNumber(value.median_width)
|
|
148
|
+
&& Number.isInteger(value.n_covered)
|
|
149
|
+
&& typeof value.n_covered === "number"
|
|
150
|
+
&& Number.isInteger(value.n_missed_above)
|
|
151
|
+
&& typeof value.n_missed_above === "number"
|
|
152
|
+
&& Number.isInteger(value.n_missed_below)
|
|
153
|
+
&& typeof value.n_missed_below === "number"
|
|
154
|
+
&& Number.isInteger(value.n_samples)
|
|
155
|
+
&& typeof value.n_samples === "number"
|
|
156
|
+
&& value.n_samples > 0
|
|
157
|
+
&& value.n_covered >= 0
|
|
158
|
+
&& value.n_missed_above >= 0
|
|
159
|
+
&& value.n_missed_below >= 0
|
|
160
|
+
&& value.n_covered + value.n_missed_above + value.n_missed_below === value.n_samples
|
|
161
|
+
&& isFiniteNumber(value.observed_coverage)
|
|
162
|
+
&& typeof value.unit === "string"
|
|
163
|
+
&& value.version === 1);
|
|
164
|
+
}
|
|
165
|
+
export function parseCalibratedRunResultArtifact(value) {
|
|
166
|
+
if (!isCalibratedRunResultArtifact(value)) {
|
|
167
|
+
throw new TypeError("Expected a nirs4all CalibratedRunResult.to_dict() payload.");
|
|
168
|
+
}
|
|
169
|
+
return value;
|
|
170
|
+
}
|
|
171
|
+
/** Parse the closed, DAG-ML-owned conformal presentation wire contract. */
|
|
172
|
+
export function parseDagMlConformalPresentationV1(value) {
|
|
173
|
+
if (!isDagMlConformalPresentationV1(value)) {
|
|
174
|
+
throw new TypeError("Expected a validated DAG-ML conformal presentation v1 payload.");
|
|
175
|
+
}
|
|
176
|
+
return value;
|
|
177
|
+
}
|
|
178
|
+
export function parseConformalMetricSet(value) {
|
|
179
|
+
if (!isConformalMetricSet(value)) {
|
|
180
|
+
throw new TypeError("Expected a nirs4all ConformalMetricSet.to_dict() payload.");
|
|
181
|
+
}
|
|
182
|
+
return value;
|
|
183
|
+
}
|
|
184
|
+
export function getConformalGuaranteeStatus(artifact) {
|
|
185
|
+
const status = artifact.metadata.conformal_guarantee_status;
|
|
186
|
+
return isConformalGuaranteeStatus(status) ? status : null;
|
|
187
|
+
}
|
|
188
|
+
export function getCalibrationReplaySource(artifact) {
|
|
189
|
+
const statusSource = getConformalGuaranteeStatus(artifact)?.calibration_replay_source;
|
|
190
|
+
if (statusSource !== undefined)
|
|
191
|
+
return statusSource;
|
|
192
|
+
const metadataSource = artifact.metadata.calibration_replay_source;
|
|
193
|
+
return isCalibrationReplaySource(metadataSource) ? metadataSource : null;
|
|
194
|
+
}
|
|
195
|
+
export function getTuningCalibrationSource(artifact) {
|
|
196
|
+
const metadataSource = artifact.metadata.tuning_calibration_source;
|
|
197
|
+
return isTuningCalibrationSource(metadataSource) ? metadataSource : null;
|
|
198
|
+
}
|
|
199
|
+
export function formatConformalCoverage(coverage) {
|
|
200
|
+
if (coverage >= 0 && coverage <= 1) {
|
|
201
|
+
const percent = coverage * 100;
|
|
202
|
+
return `${Number.isInteger(percent) ? percent.toFixed(0) : percent.toFixed(1)}%`;
|
|
203
|
+
}
|
|
204
|
+
return String(coverage);
|
|
205
|
+
}
|
|
206
|
+
export function formatCalibrationReplaySource(source) {
|
|
207
|
+
if (source === null || source === undefined)
|
|
208
|
+
return "unknown replay source";
|
|
209
|
+
const labels = {
|
|
210
|
+
dataset_predictor: "dataset predictor",
|
|
211
|
+
dataset_predictor_bundle: "dataset predictor bundle",
|
|
212
|
+
dataset_predictor_chain_id: "dataset workspace chain",
|
|
213
|
+
dataset_predictor_result: "dataset predictor result",
|
|
214
|
+
dataset_y_pred: "dataset provided predictions",
|
|
215
|
+
explicit_replayed_arrays: "provided arrays",
|
|
216
|
+
predict_result: "PredictResult",
|
|
217
|
+
replayed_arrays: "provided arrays",
|
|
218
|
+
tuple_replayed_arrays: "tuple provided arrays",
|
|
219
|
+
};
|
|
220
|
+
const label = labels[source.kind] ?? source.kind.replace(/_/g, " ");
|
|
221
|
+
return source.dataset_backed ? `${label} via ${source.route}` : label;
|
|
222
|
+
}
|
|
223
|
+
export function formatTuningCalibrationSource(source) {
|
|
224
|
+
if (source === null || source === undefined)
|
|
225
|
+
return "unknown tuning calibration source";
|
|
226
|
+
if (source.source === "tuning.winner" && source.score_data_used === false) {
|
|
227
|
+
return "tuning winner; score_data ranked trials only";
|
|
228
|
+
}
|
|
229
|
+
const role = source.score_data_role ? `; score_data=${source.score_data_role}` : "";
|
|
230
|
+
return `${source.source}${role}`;
|
|
231
|
+
}
|
|
232
|
+
export function createConformalGuaranteeView(status, tuningCalibrationSource = null) {
|
|
233
|
+
const tuningSource = tuningCalibrationSource ?? null;
|
|
234
|
+
if (status === null || status === undefined) {
|
|
235
|
+
return {
|
|
236
|
+
calibrationReplayLabel: "unknown replay source",
|
|
237
|
+
calibrationReplaySource: null,
|
|
238
|
+
coverageLabel: "—",
|
|
239
|
+
effectiveEngine: "unknown",
|
|
240
|
+
invalidationReasons: [],
|
|
241
|
+
label: "No conformal guarantee metadata",
|
|
242
|
+
limitations: [],
|
|
243
|
+
method: "unknown",
|
|
244
|
+
requestedEngine: "unknown",
|
|
245
|
+
scope: "unknown",
|
|
246
|
+
status: "unknown",
|
|
247
|
+
tone: "muted",
|
|
248
|
+
tuningCalibrationLabel: formatTuningCalibrationSource(tuningSource),
|
|
249
|
+
tuningCalibrationSource: tuningSource,
|
|
250
|
+
unit: "unknown",
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
const calibrationReplaySource = status.calibration_replay_source ?? null;
|
|
254
|
+
return {
|
|
255
|
+
calibrationReplayLabel: formatCalibrationReplaySource(calibrationReplaySource),
|
|
256
|
+
calibrationReplaySource,
|
|
257
|
+
coverageLabel: status.coverage.map(formatConformalCoverage).join(", "),
|
|
258
|
+
effectiveEngine: status.effective_engine,
|
|
259
|
+
invalidationReasons: status.invalidation_reasons,
|
|
260
|
+
label: status.status === "active" ? "Active conformal guarantee" : "Invalidated conformal guarantee",
|
|
261
|
+
limitations: status.limitations,
|
|
262
|
+
method: status.method,
|
|
263
|
+
requestedEngine: status.requested_engine,
|
|
264
|
+
scope: status.scope,
|
|
265
|
+
status: status.status,
|
|
266
|
+
tone: status.status === "active" ? "success" : "error",
|
|
267
|
+
tuningCalibrationLabel: formatTuningCalibrationSource(tuningSource),
|
|
268
|
+
tuningCalibrationSource: tuningSource,
|
|
269
|
+
unit: status.unit,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
export function createConformalGuaranteeViewForArtifact(artifact) {
|
|
273
|
+
const status = getConformalGuaranteeStatus(artifact);
|
|
274
|
+
const tuningCalibrationSource = getTuningCalibrationSource(artifact);
|
|
275
|
+
const view = createConformalGuaranteeView(status, tuningCalibrationSource);
|
|
276
|
+
const calibrationReplaySource = getCalibrationReplaySource(artifact);
|
|
277
|
+
if (calibrationReplaySource === null) {
|
|
278
|
+
return view;
|
|
279
|
+
}
|
|
280
|
+
return {
|
|
281
|
+
...view,
|
|
282
|
+
calibrationReplayLabel: formatCalibrationReplaySource(calibrationReplaySource),
|
|
283
|
+
calibrationReplaySource,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
export function createConformalIntervalSummaryRows(artifact) {
|
|
287
|
+
return [...artifact.prediction.intervals]
|
|
288
|
+
.sort((left, right) => left.coverage - right.coverage)
|
|
289
|
+
.map((interval) => {
|
|
290
|
+
const widths = interval.upper.map((upper, index) => upper - (interval.lower[index] ?? upper));
|
|
291
|
+
const meanWidth = widths.length === 0
|
|
292
|
+
? null
|
|
293
|
+
: widths.reduce((total, width) => total + width, 0) / widths.length;
|
|
294
|
+
return {
|
|
295
|
+
coverage: interval.coverage,
|
|
296
|
+
coverageLabel: formatConformalCoverage(interval.coverage),
|
|
297
|
+
meanWidth,
|
|
298
|
+
meanWidthLabel: meanWidth === null ? "—" : formatMetricValue(meanWidth),
|
|
299
|
+
nSamples: interval.lower.length,
|
|
300
|
+
qhat: interval.qhat,
|
|
301
|
+
qhatLabel: formatMetricValue(interval.qhat),
|
|
302
|
+
};
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
export function createConformalPredictionRows(artifact) {
|
|
306
|
+
const intervals = [...artifact.prediction.intervals].sort((left, right) => left.coverage - right.coverage);
|
|
307
|
+
return artifact.prediction.y_pred.map((yPred, index) => ({
|
|
308
|
+
index,
|
|
309
|
+
intervals: intervals.map((interval) => {
|
|
310
|
+
const lower = interval.lower[index] ?? yPred;
|
|
311
|
+
const upper = interval.upper[index] ?? yPred;
|
|
312
|
+
const width = upper - lower;
|
|
313
|
+
return {
|
|
314
|
+
coverage: interval.coverage,
|
|
315
|
+
coverageLabel: formatConformalCoverage(interval.coverage),
|
|
316
|
+
lower,
|
|
317
|
+
lowerLabel: formatMetricValue(lower),
|
|
318
|
+
upper,
|
|
319
|
+
upperLabel: formatMetricValue(upper),
|
|
320
|
+
width,
|
|
321
|
+
widthLabel: formatMetricValue(width),
|
|
322
|
+
};
|
|
323
|
+
}),
|
|
324
|
+
sampleId: artifact.sample_ids[index] ?? null,
|
|
325
|
+
yPred,
|
|
326
|
+
yPredLabel: formatMetricValue(yPred),
|
|
327
|
+
}));
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Attach already-materialized DAG-ML intervals to their exact prediction
|
|
331
|
+
* identities. This conversion is intentionally lossless: it preserves the
|
|
332
|
+
* producer's sample and interval ordering and refuses an unbounded cell that
|
|
333
|
+
* the current table view cannot truthfully render.
|
|
334
|
+
*/
|
|
335
|
+
export function createConformalPredictionRowsFromDagMlPresentation(presentation) {
|
|
336
|
+
const finiteIntervals = presentation.intervals.map((interval) => {
|
|
337
|
+
if (interval.qhat === null || interval.lower.some(value => value === null) || interval.upper.some(value => value === null)) {
|
|
338
|
+
throw new TypeError("DAG-ML conformal presentation contains an unbounded interval that this table view cannot render.");
|
|
339
|
+
}
|
|
340
|
+
return interval;
|
|
341
|
+
});
|
|
342
|
+
return presentation.point_predictions.map((yPred, index) => ({
|
|
343
|
+
index,
|
|
344
|
+
intervals: finiteIntervals.map((interval) => {
|
|
345
|
+
const lower = interval.lower[index];
|
|
346
|
+
const upper = interval.upper[index];
|
|
347
|
+
if (lower === undefined || upper === undefined) {
|
|
348
|
+
throw new TypeError("DAG-ML conformal presentation interval cardinality does not match point predictions.");
|
|
349
|
+
}
|
|
350
|
+
const width = upper - lower;
|
|
351
|
+
return {
|
|
352
|
+
coverage: interval.coverage,
|
|
353
|
+
coverageLabel: formatConformalCoverage(interval.coverage),
|
|
354
|
+
lower,
|
|
355
|
+
lowerLabel: formatMetricValue(lower),
|
|
356
|
+
upper,
|
|
357
|
+
upperLabel: formatMetricValue(upper),
|
|
358
|
+
width,
|
|
359
|
+
widthLabel: formatMetricValue(width),
|
|
360
|
+
};
|
|
361
|
+
}),
|
|
362
|
+
sampleId: presentation.sample_ids[index] ?? null,
|
|
363
|
+
yPred,
|
|
364
|
+
yPredLabel: formatMetricValue(yPred),
|
|
365
|
+
}));
|
|
366
|
+
}
|
|
367
|
+
function uniqueSortedCoverages(coverages) {
|
|
368
|
+
return [...new Set(coverages)].sort((left, right) => left - right);
|
|
369
|
+
}
|
|
370
|
+
export function createConformalCoverageOptions(artifact) {
|
|
371
|
+
const status = getConformalGuaranteeStatus(artifact);
|
|
372
|
+
const materializedCoverages = new Set(artifact.prediction.intervals.map((interval) => interval.coverage));
|
|
373
|
+
const calibratedCoverages = new Set(status?.calibrated_coverages ?? []);
|
|
374
|
+
const selectedCoverages = new Set(status?.coverage ?? []);
|
|
375
|
+
return uniqueSortedCoverages([
|
|
376
|
+
...materializedCoverages,
|
|
377
|
+
...calibratedCoverages,
|
|
378
|
+
...selectedCoverages,
|
|
379
|
+
]).map((coverage) => {
|
|
380
|
+
const materialized = materializedCoverages.has(coverage);
|
|
381
|
+
return {
|
|
382
|
+
calibrated: calibratedCoverages.has(coverage),
|
|
383
|
+
coverage,
|
|
384
|
+
disabled: !materialized,
|
|
385
|
+
label: formatConformalCoverage(coverage),
|
|
386
|
+
materialized,
|
|
387
|
+
selected: selectedCoverages.has(coverage),
|
|
388
|
+
};
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
function coverageStripTone(option) {
|
|
392
|
+
if (option.selected)
|
|
393
|
+
return "selected";
|
|
394
|
+
if (option.materialized)
|
|
395
|
+
return "materialized";
|
|
396
|
+
if (option.calibrated)
|
|
397
|
+
return "calibrated";
|
|
398
|
+
return "unavailable";
|
|
399
|
+
}
|
|
400
|
+
export function createConformalCoverageStrip(options, intervals = []) {
|
|
401
|
+
const intervalByCoverage = new Map(intervals.map(interval => [interval.coverage, interval]));
|
|
402
|
+
const finiteUnitCoverages = options
|
|
403
|
+
.map(option => option.coverage)
|
|
404
|
+
.filter(coverage => Number.isFinite(coverage) && coverage >= 0 && coverage <= 1);
|
|
405
|
+
const minCoverage = finiteUnitCoverages.length > 0 ? Math.min(...finiteUnitCoverages) : 0;
|
|
406
|
+
const maxCoverage = finiteUnitCoverages.length > 0 ? Math.max(...finiteUnitCoverages) : 1;
|
|
407
|
+
const span = maxCoverage - minCoverage;
|
|
408
|
+
const denominator = Math.max(options.length - 1, 1);
|
|
409
|
+
return options.map((option, index) => {
|
|
410
|
+
const interval = intervalByCoverage.get(option.coverage);
|
|
411
|
+
const positionPercent = Number.isFinite(option.coverage) && option.coverage >= 0 && option.coverage <= 1 && span > 0
|
|
412
|
+
? ((option.coverage - minCoverage) / span) * 100
|
|
413
|
+
: (index / denominator) * 100;
|
|
414
|
+
return {
|
|
415
|
+
calibrated: option.calibrated,
|
|
416
|
+
coverage: option.coverage,
|
|
417
|
+
coverageLabel: option.label,
|
|
418
|
+
materialized: option.materialized,
|
|
419
|
+
meanWidthLabel: interval?.meanWidthLabel ?? null,
|
|
420
|
+
positionPercent,
|
|
421
|
+
qhatLabel: interval?.qhatLabel ?? null,
|
|
422
|
+
selected: option.selected,
|
|
423
|
+
tone: coverageStripTone(option),
|
|
424
|
+
};
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
function conformalMetricGapDirection(metric) {
|
|
428
|
+
if (metric.coverage_gap < 0)
|
|
429
|
+
return "under";
|
|
430
|
+
if (metric.coverage_gap > 0)
|
|
431
|
+
return "over";
|
|
432
|
+
return "exact";
|
|
433
|
+
}
|
|
434
|
+
export function createConformalMetricRow(metric) {
|
|
435
|
+
return {
|
|
436
|
+
coverage: metric.coverage,
|
|
437
|
+
coverageGap: metric.coverage_gap,
|
|
438
|
+
coverageGapLabel: formatMetricValue(metric.coverage_gap),
|
|
439
|
+
coverageLabel: formatConformalCoverage(metric.coverage),
|
|
440
|
+
meanIntervalScore: metric.mean_interval_score,
|
|
441
|
+
meanIntervalScoreLabel: formatMetricValue(metric.mean_interval_score),
|
|
442
|
+
meanWidth: metric.mean_width,
|
|
443
|
+
meanWidthLabel: formatMetricValue(metric.mean_width),
|
|
444
|
+
medianWidth: metric.median_width,
|
|
445
|
+
medianWidthLabel: formatMetricValue(metric.median_width),
|
|
446
|
+
missedAbove: metric.n_missed_above,
|
|
447
|
+
missedBelow: metric.n_missed_below,
|
|
448
|
+
nCovered: metric.n_covered,
|
|
449
|
+
nSamples: metric.n_samples,
|
|
450
|
+
observedCoverage: metric.observed_coverage,
|
|
451
|
+
observedCoverageLabel: formatConformalCoverage(metric.observed_coverage),
|
|
452
|
+
coverageGapDirection: conformalMetricGapDirection(metric),
|
|
453
|
+
unit: metric.unit,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
export function createConformalMetricRows(metrics) {
|
|
457
|
+
return [...metrics]
|
|
458
|
+
.sort((left, right) => left.coverage - right.coverage)
|
|
459
|
+
.map(createConformalMetricRow);
|
|
460
|
+
}
|
|
461
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/conformal/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type DagViewLabels } from "./locale.js";
|
|
2
|
+
import { type DagCategory, type DagDirection, type DagGraph } from "./types.js";
|
|
3
|
+
export interface DagGraphViewProps {
|
|
4
|
+
/** Compiled graph in view-model form (see `fromCompiledGraph`). */
|
|
5
|
+
graph: DagGraph;
|
|
6
|
+
/** Stage width in px (the SVG viewport). Default 960. */
|
|
7
|
+
width?: number;
|
|
8
|
+
/** Stage height in px. Default 620. */
|
|
9
|
+
height?: number;
|
|
10
|
+
/** Initial orientation. Default `"LR"`. */
|
|
11
|
+
direction?: DagDirection;
|
|
12
|
+
/** Force an initial collapse depth; omit to auto-fit to a readable size. */
|
|
13
|
+
initialCollapseDepth?: number;
|
|
14
|
+
title?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Per-category color overrides. */
|
|
17
|
+
colors?: Partial<Record<DagCategory, string>>;
|
|
18
|
+
/** Fired when a leaf node is selected (or deselected with `null`). */
|
|
19
|
+
onSelectNode?: (id: string | null) => void;
|
|
20
|
+
showMinimap?: boolean;
|
|
21
|
+
showLegend?: boolean;
|
|
22
|
+
showInspector?: boolean;
|
|
23
|
+
/** Start with dataset-shape annotations on (when the graph carries shapes). Default true. */
|
|
24
|
+
showShapes?: boolean;
|
|
25
|
+
labels?: Partial<DagViewLabels>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Interactive viewer for a compiled DAG-ML graph of any size. Layered layout,
|
|
29
|
+
* pan / zoom, viewport culling and level-of-detail keep it responsive; the
|
|
30
|
+
* group hierarchy makes it readable at thousands of nodes by collapsing whole
|
|
31
|
+
* clusters into a single super-node. Presentational: local UI state only, no
|
|
32
|
+
* app state / IO / runtime execution.
|
|
33
|
+
*/
|
|
34
|
+
export declare function DagGraphView({ graph, width, height, direction: directionProp, initialCollapseDepth, title, className, colors, onSelectNode, showMinimap, showLegend, showInspector, showShapes, labels: labelsProp, }: DagGraphViewProps): import("react").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=DagGraphView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DagGraphView.d.ts","sourceRoot":"","sources":["../../src/dag/DagGraphView.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAA+B,MAAM,YAAY,CAAC;AAE1H,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,KAAK,EAAE,QAAQ,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC;AAmDD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAW,EACX,MAAY,EACZ,SAAS,EAAE,aAAoB,EAC/B,oBAAoB,EACpB,KAAK,EACL,SAAS,EACT,MAAM,EACN,YAAY,EACZ,WAAkB,EAClB,UAAiB,EACjB,aAAoB,EACpB,UAAiB,EACjB,MAAM,EAAE,UAAU,GACnB,EAAE,iBAAiB,+BAkgBnB"}
|