nirs4all-ui 0.1.13 → 0.1.15

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.
Files changed (95) hide show
  1. package/README.md +4 -1
  2. package/dist/chains/NodeEffectForest.d.ts.map +1 -1
  3. package/dist/chains/NodeEffectForest.js +5 -1
  4. package/dist/chains/NodeEffectForest.js.map +1 -1
  5. package/dist/chains/contract.d.ts.map +1 -1
  6. package/dist/chains/contract.js +10 -5
  7. package/dist/chains/contract.js.map +1 -1
  8. package/dist/datasetBuilder/exportConfig.d.ts.map +1 -1
  9. package/dist/datasetBuilder/exportConfig.js +1 -7
  10. package/dist/datasetBuilder/exportConfig.js.map +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/nodeRegistry/index.d.ts +9 -0
  16. package/dist/nodeRegistry/index.d.ts.map +1 -0
  17. package/dist/nodeRegistry/index.js +9 -0
  18. package/dist/nodeRegistry/index.js.map +1 -0
  19. package/dist/nodeRegistry/n4m.d.ts +83 -0
  20. package/dist/nodeRegistry/n4m.d.ts.map +1 -0
  21. package/dist/nodeRegistry/n4m.js +131 -0
  22. package/dist/nodeRegistry/n4m.js.map +1 -0
  23. package/dist/viz/BiasVarianceBars.d.ts +3 -1
  24. package/dist/viz/BiasVarianceBars.d.ts.map +1 -1
  25. package/dist/viz/BiasVarianceBars.js +19 -7
  26. package/dist/viz/BiasVarianceBars.js.map +1 -1
  27. package/dist/viz/BoxPlot.d.ts +3 -1
  28. package/dist/viz/BoxPlot.d.ts.map +1 -1
  29. package/dist/viz/BoxPlot.js +15 -2
  30. package/dist/viz/BoxPlot.js.map +1 -1
  31. package/dist/viz/ConformalIntervalStrip.d.ts +4 -2
  32. package/dist/viz/ConformalIntervalStrip.d.ts.map +1 -1
  33. package/dist/viz/ConformalIntervalStrip.js +25 -5
  34. package/dist/viz/ConformalIntervalStrip.js.map +1 -1
  35. package/dist/viz/ConfusionMatrix.d.ts +3 -1
  36. package/dist/viz/ConfusionMatrix.d.ts.map +1 -1
  37. package/dist/viz/ConfusionMatrix.js +28 -7
  38. package/dist/viz/ConfusionMatrix.js.map +1 -1
  39. package/dist/viz/FeatureImportanceBar.d.ts +3 -1
  40. package/dist/viz/FeatureImportanceBar.d.ts.map +1 -1
  41. package/dist/viz/FeatureImportanceBar.js +10 -3
  42. package/dist/viz/FeatureImportanceBar.js.map +1 -1
  43. package/dist/viz/FoldStabilityLines.d.ts +3 -1
  44. package/dist/viz/FoldStabilityLines.d.ts.map +1 -1
  45. package/dist/viz/FoldStabilityLines.js +14 -2
  46. package/dist/viz/FoldStabilityLines.js.map +1 -1
  47. package/dist/viz/Histogram.d.ts +3 -1
  48. package/dist/viz/Histogram.d.ts.map +1 -1
  49. package/dist/viz/Histogram.js +15 -3
  50. package/dist/viz/Histogram.js.map +1 -1
  51. package/dist/viz/PcaScatter.d.ts +3 -1
  52. package/dist/viz/PcaScatter.d.ts.map +1 -1
  53. package/dist/viz/PcaScatter.js +30 -6
  54. package/dist/viz/PcaScatter.js.map +1 -1
  55. package/dist/viz/PipelineFlow.d.ts +3 -1
  56. package/dist/viz/PipelineFlow.d.ts.map +1 -1
  57. package/dist/viz/PipelineFlow.js +8 -2
  58. package/dist/viz/PipelineFlow.js.map +1 -1
  59. package/dist/viz/PredictionScatter.d.ts +4 -2
  60. package/dist/viz/PredictionScatter.d.ts.map +1 -1
  61. package/dist/viz/PredictionScatter.js +25 -4
  62. package/dist/viz/PredictionScatter.js.map +1 -1
  63. package/dist/viz/ResidualPlot.d.ts +3 -1
  64. package/dist/viz/ResidualPlot.d.ts.map +1 -1
  65. package/dist/viz/ResidualPlot.js +18 -3
  66. package/dist/viz/ResidualPlot.js.map +1 -1
  67. package/dist/viz/ScoreHeatmap.d.ts +3 -1
  68. package/dist/viz/ScoreHeatmap.d.ts.map +1 -1
  69. package/dist/viz/ScoreHeatmap.js +23 -2
  70. package/dist/viz/ScoreHeatmap.js.map +1 -1
  71. package/dist/viz/ScoreSummary.d.ts +3 -1
  72. package/dist/viz/ScoreSummary.d.ts.map +1 -1
  73. package/dist/viz/ScoreSummary.js +8 -2
  74. package/dist/viz/ScoreSummary.js.map +1 -1
  75. package/dist/viz/ShapBeeswarm.d.ts +3 -1
  76. package/dist/viz/ShapBeeswarm.d.ts.map +1 -1
  77. package/dist/viz/ShapBeeswarm.js +20 -4
  78. package/dist/viz/ShapBeeswarm.js.map +1 -1
  79. package/dist/viz/SpectraPlot.d.ts +4 -2
  80. package/dist/viz/SpectraPlot.d.ts.map +1 -1
  81. package/dist/viz/SpectraPlot.js +27 -7
  82. package/dist/viz/SpectraPlot.js.map +1 -1
  83. package/dist/viz/WaterfallChart.d.ts +3 -1
  84. package/dist/viz/WaterfallChart.d.ts.map +1 -1
  85. package/dist/viz/WaterfallChart.js +18 -6
  86. package/dist/viz/WaterfallChart.js.map +1 -1
  87. package/dist/viz/description.d.ts +9 -0
  88. package/dist/viz/description.d.ts.map +1 -0
  89. package/dist/viz/description.js +25 -0
  90. package/dist/viz/description.js.map +1 -0
  91. package/dist/viz/index.d.ts +3 -1
  92. package/dist/viz/index.d.ts.map +1 -1
  93. package/dist/viz/index.js +3 -1
  94. package/dist/viz/index.js.map +1 -1
  95. package/package.json +5 -1
package/README.md CHANGED
@@ -21,9 +21,11 @@ spectra motion asset.
21
21
  | `conformal` | `nirs4all-ui/conformal` | Validation and pure view-model projection for native nirs4all `CalibratedRunResult.to_dict()` and `ConformalMetricSet.to_dict()` payloads, guarantee-status badges, calibration replay provenance, coverage options, per-sample prediction interval rows, materialized interval summaries, and empirical metric rows. |
22
22
  | `robustness` | `nirs4all-ui/robustness` | Validation and compact card view-models for nirs4all robustness `summary.json` artifacts, optional conformal guarantee badge projection, plus fallback and registry-derived mode/scenario/distribution vocabulary and form validation aligned with the Python keyword registry. |
23
23
  | `keywordRegistry` | `nirs4all-ui/keywordRegistry` | Metadata-only validation, indexing, id/path/token/alias resolution, value-option extraction, form-field projection, ordered form-section grouping, optimizer-persistence field grouping, and workspace prediction publication contract projection for the exported full Python nirs4all keyword/effect registry. |
24
+ | `nodeRegistry` | `nirs4all-ui/nodeRegistry` | `projectN4mManifest`: projects the n4m method manifest (`n4m_cli --manifest-json`) into typed pipeline-editor node definitions — role → node type, typed parameters (bounds, choices, unset defaults), required fit inputs, `n4m:<method_id>` operator token. |
24
25
  | `tuning` | `nirs4all-ui/tuning` | Validation and pure view-model projection for native nirs4all `TuningResult.to_dict()` payloads, lightweight `TuningResult.summary_artifact()` / `nirs4all.tuning.summary` cards, and pre-execution `nirs4all.tuning.ordered_search_space` artifacts for Studio/Web forms without optimizer logic. |
25
26
  | `dataset` | `nirs4all-ui/dataset` | Dataset preview contracts, counts, split summaries, spectral ranges, task labels, badges, and stats. |
26
27
  | `components` | `nirs4all-ui/components` | Stateless React components that render shared runtime, diagnostic, and metric affordances. |
28
+ | `viz` | `nirs4all-ui/viz` | Dependency-free scientific SVG charts. Each chart provides a data-derived accessible description and accepts a `description` override for localized or domain-specific wording. Hosts supply computed values and retain analysis/execution. |
27
29
  | `dag` | `nirs4all-ui/dag` | Interactive compiled-DAG explorer (layered layout, pan/zoom, culling/LOD, collapsible clusters) plus the pure engine and a `fromCompiledGraph` adapter for a serialized DAG-ML graph/plan. |
28
30
  | `chains` | `nirs4all-ui/chains` | Chain-effect explorer over a corpus of scored pipelines: per-node influence ranking, position (early/mid/late) and predecessor×successor order effects, and with/without distribution shift, with per-dataset rank/z normalization. Pure engine + charts + interactive explorer, plus a `parseChainEffectAnalysis` adapter for the serialized `dag-ml` artifact. |
29
31
  | `lab` | `nirs4all-ui/lab` | Quality/lab decision, sample lifecycle, health, model report, worklist, and budget display contracts plus presentational components. |
@@ -35,7 +37,7 @@ spectra motion asset.
35
37
  The root export also exposes namespace barrels:
36
38
 
37
39
  ```ts
38
- import { brand, chains, conformal, dag, dataset, datasetBuilder, keywordRegistry, lab, robustness, runtime, score, styles, tuning } from "nirs4all-ui";
40
+ import { brand, chains, conformal, dag, dataset, datasetBuilder, keywordRegistry, lab, nodeRegistry, robustness, runtime, score, styles, tuning } from "nirs4all-ui";
39
41
  ```
40
42
 
41
43
  Prefer domain imports when a consumer only needs one area:
@@ -47,6 +49,7 @@ import { buildRuntimeResultStatusView } from "nirs4all-ui/runtime";
47
49
  import { createConformalGuaranteeView, getCalibrationReplaySource, parseCalibratedRunResultArtifact } from "nirs4all-ui/conformal";
48
50
  import { createRobustnessGuaranteeView, createRobustnessSummaryCards, getRobustnessSpectralReplay, parseRobustnessSummaryArtifact, validateRobustnessScenarioDraft } from "nirs4all-ui/robustness";
49
51
  import { createKeywordRegistryFieldViews, createKeywordRegistryWorkspacePredictionPublicationContract, parseKeywordRegistryDocument } from "nirs4all-ui/keywordRegistry";
52
+ import { projectN4mManifest } from "nirs4all-ui/nodeRegistry";
50
53
  import { createTuningSearchSpacePreview, createTuningStudySummary, createTuningSummaryCard, createTuningTrialRows, parseOrderedTuningSearchSpaceArtifact, parseTuningResultArtifact, parseTuningSummaryArtifact } from "nirs4all-ui/tuning";
51
54
  import { DatasetBuilder } from "nirs4all-ui/datasetBuilder";
52
55
  import { DagGraphView, fromCompiledGraph } from "nirs4all-ui/dag";
@@ -1 +1 @@
1
- {"version":3,"file":"NodeEffectForest.d.ts","sourceRoot":"","sources":["../../src/chains/NodeEffectForest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAGlF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,uEAAuE;IACvE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACjE;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,MAAgB,EAChB,OAAY,EACZ,aAAa,EACb,aAAa,EACb,KAAW,EACX,SAAc,EACd,OAAO,EACP,KAAwB,EACxB,SAAiB,EACjB,SAAS,EACT,UAAU,GACX,EAAE,qBAAqB,+BA+JvB"}
1
+ {"version":3,"file":"NodeEffectForest.d.ts","sourceRoot":"","sources":["../../src/chains/NodeEffectForest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAGlF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,uEAAuE;IACvE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACjE;AA8BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,MAAgB,EAChB,OAAY,EACZ,aAAa,EACb,aAAa,EACb,KAAW,EACX,SAAc,EACd,OAAO,EACP,KAAwB,EACxB,SAAiB,EACjB,SAAS,EACT,UAAU,GACX,EAAE,qBAAqB,+BA+JvB"}
@@ -21,7 +21,11 @@ function fmtDelta(value) {
21
21
  function sortTokens(tokens, sortBy) {
22
22
  const list = tokens.slice();
23
23
  if (sortBy === "median") {
24
- list.sort((a, b) => (b.with.median || -Infinity) - (a.with.median || -Infinity));
24
+ list.sort((a, b) => {
25
+ const aMedian = Number.isFinite(a.with.median) ? a.with.median : -Infinity;
26
+ const bMedian = Number.isFinite(b.with.median) ? b.with.median : -Infinity;
27
+ return aMedian === bMedian ? 0 : bMedian - aMedian;
28
+ });
25
29
  }
26
30
  else if (sortBy === "coverage") {
27
31
  list.sort((a, b) => b.coverage - a.coverage);
@@ -1 +1 @@
1
- {"version":3,"file":"NodeEffectForest.js","sourceRoot":"","sources":["../../src/chains/NodeEffectForest.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeEffectForest.js","sourceRoot":"","sources":["../../src/chains/NodeEffectForest.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/chains/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAuD,MAAM,YAAY,CAAC;AAG3G,eAAO,MAAM,sBAAsB,EACjC,iFAA0F,CAAC;AAC7F,eAAO,MAAM,2BAA2B,EAAG,CAAU,CAAC;AAEtD,0CAA0C;AAC1C,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAc7E,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC7C;AA8BD,+DAA+D;AAC/D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAWlG;AAaD,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAwB5E;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,2BAA2B,CAwBhG"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/chains/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAuD,MAAM,YAAY,CAAC;AAG3G,eAAO,MAAM,sBAAsB,EACjC,iFAA0F,CAAC;AAC7F,eAAO,MAAM,2BAA2B,EAAG,CAAU,CAAC;AAEtD,0CAA0C;AAC1C,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAc7E,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC7C;AAmCD,+DAA+D;AAC/D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAalG;AAaD,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAwB5E;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,2BAA2B,CAwBhG"}
@@ -38,13 +38,16 @@ function isMetric(value) {
38
38
  typeof value.lower_is_better === "boolean");
39
39
  }
40
40
  function isStepArtifact(value) {
41
- return isRecord(value) && typeof value.token === "string" && typeof value.role === "string";
41
+ return (isRecord(value) && typeof value.token === "string" && typeof value.role === "string" &&
42
+ (value.label === undefined || typeof value.label === "string"));
42
43
  }
43
44
  function isPointArtifact(value) {
44
45
  return (isRecord(value) &&
45
46
  typeof value.id === "string" &&
46
- typeof value.score === "number" &&
47
- typeof value.goodness === "number" &&
47
+ typeof value.score === "number" && Number.isFinite(value.score) &&
48
+ typeof value.goodness === "number" && Number.isFinite(value.goodness) &&
49
+ (value.dataset === undefined || value.dataset === null || typeof value.dataset === "string") &&
50
+ (value.source === undefined || value.source === null || typeof value.source === "string") &&
48
51
  Array.isArray(value.ordered_tokens) &&
49
52
  value.ordered_tokens.every(isStepArtifact));
50
53
  }
@@ -52,10 +55,12 @@ function isPointArtifact(value) {
52
55
  export function isChainEffectAnalysisArtifact(value) {
53
56
  return (isRecord(value) &&
54
57
  value.schema_id === CHAIN_EFFECT_SCHEMA_ID &&
55
- typeof value.schema_version === "number" &&
58
+ value.schema_version === CHAIN_EFFECT_SCHEMA_VERSION &&
59
+ (value.baseline === undefined || value.baseline === null ||
60
+ (typeof value.baseline === "number" && Number.isFinite(value.baseline))) &&
56
61
  isMetric(value.metric) &&
57
62
  typeof value.lens === "string" &&
58
- value.lens in LENS_FROM_WIRE &&
63
+ Object.prototype.hasOwnProperty.call(LENS_FROM_WIRE, value.lens) &&
59
64
  Array.isArray(value.points) &&
60
65
  value.points.every(isPointArtifact));
61
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/chains/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GACjC,iFAA0F,CAAC;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAU,CAAC;AAKtD,MAAM,cAAc,GAAqD;IACvE,GAAG,EAAE,KAAK;IACV,eAAe,EAAE,eAAe;IAChC,YAAY,EAAE,YAAY;CAC3B,CAAC;AAEF,MAAM,YAAY,GAAqD;IACrE,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,cAAc;CAC3B,CAAC;AAgCF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,eAAe,KAAK,SAAS,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9F,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,SAAS,KAAK,sBAAsB;QAC1C,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACtB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,IAAI,cAAc;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyC;IACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;QACrB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;QACzB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe;KAC5C,CAAC;IACF,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAA2B,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAiB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3D,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG;YAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG;YAC3B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3C,aAAa,EAAE,OAAO;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACpH,OAAO,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,QAA6B;IACjE,OAAO;QACL,SAAS,EAAE,sBAAsB;QACjC,cAAc,EAAE,2BAA2B;QAC3C,MAAM,EAAE;YACN,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG;YACxB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;YAC5B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;SAC/C;QACD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;YACrD,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;YAClD,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAqB;aAClC,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/chains/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exportConfig.d.ts","sourceRoot":"","sources":["../../src/datasetBuilder/exportConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACnB,aAAa,EAQd,MAAM,YAAY,CAAC;AA6BpB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,mBAAmB,CA6C7F"}
1
+ {"version":3,"file":"exportConfig.d.ts","sourceRoot":"","sources":["../../src/datasetBuilder/exportConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACnB,aAAa,EAQd,MAAM,YAAY,CAAC;AAuBpB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,mBAAmB,CA6C7F"}
@@ -20,12 +20,6 @@ function semanticToTask(col) {
20
20
  ? "classification"
21
21
  : "regression";
22
22
  }
23
- /** Collapse a long list of x columns to head…tail so the config stays readable. */
24
- function summarizeXColumns(names) {
25
- if (names.length <= 6)
26
- return names;
27
- return [names[0], names[1], "...", names[names.length - 2], names[names.length - 1]];
28
- }
29
23
  export function buildExportConfig(name, sources) {
30
24
  const exportSources = [];
31
25
  const targets = [];
@@ -42,7 +36,7 @@ export function buildExportConfig(name, sources) {
42
36
  id_column: idCol?.name,
43
37
  replicate_column: repCol?.name,
44
38
  partition_column: partCol?.name,
45
- x_columns: xNames.length ? summarizeXColumns(xNames) : undefined,
39
+ x_columns: xNames.length ? xNames : undefined,
46
40
  parsing: {
47
41
  separator: source.parsing.separator,
48
42
  decimal: source.parsing.decimal,
@@ -1 +1 @@
1
- {"version":3,"file":"exportConfig.js","sourceRoot":"","sources":["../../src/datasetBuilder/exportConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exportConfig.js","sourceRoot":"","sources":["../../src/datasetBuilder/exportConfig.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * as runtime from "./runtime/index.js";
10
10
  export * as conformal from "./conformal/index.js";
11
11
  export * as robustness from "./robustness/index.js";
12
12
  export * as keywordRegistry from "./keywordRegistry/index.js";
13
+ export * as nodeRegistry from "./nodeRegistry/index.js";
13
14
  export * as tuning from "./tuning/index.js";
14
15
  export * as dataset from "./dataset/index.js";
15
16
  export * as components from "./components/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ export * as runtime from "./runtime/index.js";
10
10
  export * as conformal from "./conformal/index.js";
11
11
  export * as robustness from "./robustness/index.js";
12
12
  export * as keywordRegistry from "./keywordRegistry/index.js";
13
+ export * as nodeRegistry from "./nodeRegistry/index.js";
13
14
  export * as tuning from "./tuning/index.js";
14
15
  export * as dataset from "./dataset/index.js";
15
16
  export * as components from "./components/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Node registry projections — public surface.
3
+ *
4
+ * Pure helpers that turn native method metadata (the n4m manifest) into
5
+ * pipeline-editor node definitions for Studio and Web. Execution stays with
6
+ * the hosts' runtimes.
7
+ */
8
+ export * from "./n4m.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodeRegistry/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Node registry projections — public surface.
3
+ *
4
+ * Pure helpers that turn native method metadata (the n4m manifest) into
5
+ * pipeline-editor node definitions for Studio and Web. Execution stays with
6
+ * the hosts' runtimes.
7
+ */
8
+ export * from "./n4m.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodeRegistry/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,UAAU,CAAC"}
@@ -0,0 +1,83 @@
1
+ export declare const N4M_OPERATOR_TOKEN_PREFIX: "n4m:";
2
+ export type N4mRole = "transformer" | "regressor" | "classifier" | "selector" | "sample_filter" | "splitter" | "augmenter" | "generic";
3
+ export type N4mFitInput = "y" | "labels" | "sample_weight" | "groups" | "feature_groups" | "blocks" | "axis" | "target_domain" | "fold_ids";
4
+ export type N4mInputRequirement = "none" | "optional" | "required";
5
+ export type N4mParamType = "int" | "double" | "bool" | "enum" | "int_array" | "double_array";
6
+ export type N4mParamValue = number | boolean | string | number[];
7
+ export interface N4mManifestParam {
8
+ name: string;
9
+ type: N4mParamType;
10
+ required: boolean;
11
+ /** `null` means an unset optional value (the native default applies). */
12
+ default: N4mParamValue | null;
13
+ min: number | null;
14
+ max: number | null;
15
+ choices: readonly string[];
16
+ }
17
+ export interface N4mManifestMethod {
18
+ method_id: string;
19
+ fq_name: string;
20
+ kind: "estimator" | "procedure";
21
+ roles: readonly N4mRole[];
22
+ node_kinds: readonly string[];
23
+ capabilities: readonly string[];
24
+ state_format?: string;
25
+ inputs: Readonly<Record<N4mFitInput, N4mInputRequirement>>;
26
+ params: readonly N4mManifestParam[];
27
+ }
28
+ /** The `n4m_cli --manifest-json` document. */
29
+ export interface N4mManifest {
30
+ abi: string;
31
+ methods: readonly N4mManifestMethod[];
32
+ }
33
+ export type NodeType = "preprocessing" | "model" | "filter" | "splitting" | "augmentation";
34
+ export type NodeParameterType = "int" | "float" | "bool" | "select" | "array";
35
+ export interface NodeParameterDefinition {
36
+ name: string;
37
+ label: string;
38
+ type: NodeParameterType;
39
+ required: boolean;
40
+ /** Absent when the native default is an unset optional value. */
41
+ default?: N4mParamValue;
42
+ /** Numeric bounds; for arrays they bound each item. */
43
+ min?: number;
44
+ max?: number;
45
+ options?: {
46
+ value: string;
47
+ label: string;
48
+ }[];
49
+ itemType?: "int" | "float";
50
+ }
51
+ export interface NodeFitInputRequirement {
52
+ input: N4mFitInput;
53
+ requirement: "optional" | "required";
54
+ label: string;
55
+ }
56
+ /** A pipeline-editor node projected from one n4m method role. */
57
+ export interface NodeDefinition {
58
+ /** `<type>.n4m_<method_id with "_" for ".">`. */
59
+ id: string;
60
+ name: string;
61
+ type: NodeType;
62
+ description: string;
63
+ category: string;
64
+ /** Portable operator token `n4m:<method_id>`, serialized as the step `class`. */
65
+ classPath: string;
66
+ source: "n4m";
67
+ tags: string[];
68
+ parameters: NodeParameterDefinition[];
69
+ n4m: {
70
+ methodId: string;
71
+ kind: "estimator" | "procedure";
72
+ role: Exclude<N4mRole, "generic">;
73
+ capabilities: readonly string[];
74
+ fitInputs: NodeFitInputRequirement[];
75
+ };
76
+ }
77
+ /**
78
+ * Project the n4m method manifest into pipeline-editor node definitions: one
79
+ * node per distinct node type a method's roles map to. Generic procedures have
80
+ * no pipeline node and are omitted.
81
+ */
82
+ export declare function projectN4mManifest(manifest: N4mManifest): NodeDefinition[];
83
+ //# sourceMappingURL=n4m.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n4m.d.ts","sourceRoot":"","sources":["../../src/nodeRegistry/n4m.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,EAAG,MAAe,CAAC;AAEzD,MAAM,MAAM,OAAO,GACf,aAAa,GACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,GACf,UAAU,GACV,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB,GAAG,GACH,QAAQ,GACR,eAAe,GACf,QAAQ,GACR,gBAAgB,GAChB,QAAQ,GACR,MAAM,GACN,eAAe,GACf,UAAU,CAAC;AAEf,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;AAC7F,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAChC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACrC;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC;AAC3F,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,GAAG,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;QAChC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;QAChC,SAAS,EAAE,uBAAuB,EAAE,CAAC;KACtC,CAAC;CACH;AA6FD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,cAAc,EAAE,CAkC1E"}
@@ -0,0 +1,131 @@
1
+ export const N4M_OPERATOR_TOKEN_PREFIX = "n4m:";
2
+ const ROLE_NODE_TYPE = {
3
+ transformer: "preprocessing",
4
+ selector: "preprocessing",
5
+ regressor: "model",
6
+ classifier: "model",
7
+ sample_filter: "filter",
8
+ splitter: "splitting",
9
+ augmenter: "augmentation",
10
+ };
11
+ const ROLE_LABEL = {
12
+ transformer: "transformer",
13
+ selector: "feature selector",
14
+ regressor: "regressor",
15
+ classifier: "classifier",
16
+ sample_filter: "sample filter",
17
+ splitter: "splitter",
18
+ augmenter: "augmenter",
19
+ };
20
+ const FIT_INPUT_LABEL = {
21
+ y: "targets",
22
+ labels: "class labels",
23
+ sample_weight: "sample weights",
24
+ groups: "sample groups",
25
+ feature_groups: "feature groups",
26
+ blocks: "multiblock",
27
+ axis: "wavelengths",
28
+ target_domain: "transfer target",
29
+ fold_ids: "CV folds",
30
+ };
31
+ const ACRONYMS = new Set([
32
+ "airpls", "aom", "arpls", "asls", "beads", "bipls", "bve", "cars", "cow", "cppls", "cv", "da", "di", "ds",
33
+ "dtw", "ecr", "emcuve", "emsc", "epo", "fck", "g", "ga", "gpr", "hpo", "iasls", "ipw", "irf", "iriv", "l1",
34
+ "lda", "lw", "mb", "mir", "msc", "nipals", "o2pls", "on", "osc", "pca", "pcr", "pds", "pls", "pop", "pso",
35
+ "q", "qda", "rep", "rosa", "saps", "scars", "simpls", "sipls", "snip", "snv", "so", "spa", "spxy", "st",
36
+ "svd", "t2", "uve", "vip", "vissa", "vsn", "wvc", "x", "y",
37
+ ]);
38
+ function humanize(snake) {
39
+ return snake
40
+ .split("_")
41
+ .filter(Boolean)
42
+ .map((word) => (ACRONYMS.has(word) ? word.toUpperCase() : `${word.charAt(0).toUpperCase()}${word.slice(1)}`))
43
+ .join(" ");
44
+ }
45
+ function methodGroup(methodId) {
46
+ const segments = methodId.split(".");
47
+ return segments[segments.length - 2] ?? segments[0] ?? methodId;
48
+ }
49
+ const PARAM_TYPE = {
50
+ int: "int",
51
+ double: "float",
52
+ bool: "bool",
53
+ enum: "select",
54
+ int_array: "array",
55
+ double_array: "array",
56
+ };
57
+ function projectParam(param) {
58
+ const view = {
59
+ name: param.name,
60
+ label: humanize(param.name),
61
+ type: PARAM_TYPE[param.type],
62
+ required: param.required,
63
+ };
64
+ if (param.type === "enum")
65
+ view.options = param.choices.map((choice) => ({ value: choice, label: choice }));
66
+ if (param.type === "int_array")
67
+ view.itemType = "int";
68
+ if (param.type === "double_array")
69
+ view.itemType = "float";
70
+ if (param.default !== null)
71
+ view.default = param.default;
72
+ if (param.min !== null)
73
+ view.min = param.min;
74
+ if (param.max !== null)
75
+ view.max = param.max;
76
+ return view;
77
+ }
78
+ function fitInputRequirements(method) {
79
+ return Object.keys(FIT_INPUT_LABEL)
80
+ .map((input) => ({ input, requirement: method.inputs[input] }))
81
+ .filter((entry) => entry.requirement !== "none")
82
+ .map(({ input, requirement }) => ({ input, requirement, label: FIT_INPUT_LABEL[input] }));
83
+ }
84
+ function describe(method, role, fitInputs) {
85
+ const required = fitInputs.filter((entry) => entry.requirement === "required" && entry.input !== "y");
86
+ const needs = required.length > 0 ? ` Requires ${required.map((entry) => entry.label).join(", ")}.` : "";
87
+ return `Native nirs4all-methods ${ROLE_LABEL[role]} (${method.method_id}).${needs}`;
88
+ }
89
+ /**
90
+ * Project the n4m method manifest into pipeline-editor node definitions: one
91
+ * node per distinct node type a method's roles map to. Generic procedures have
92
+ * no pipeline node and are omitted.
93
+ */
94
+ export function projectN4mManifest(manifest) {
95
+ const nodes = [];
96
+ for (const method of manifest.methods) {
97
+ const group = methodGroup(method.method_id);
98
+ const leaf = method.method_id.split(".").pop() ?? method.method_id;
99
+ const fitInputs = fitInputRequirements(method);
100
+ const parameters = method.params.map(projectParam);
101
+ const seen = new Set();
102
+ for (const role of method.roles) {
103
+ if (role === "generic")
104
+ continue;
105
+ const type = ROLE_NODE_TYPE[role];
106
+ if (seen.has(type))
107
+ continue;
108
+ seen.add(type);
109
+ nodes.push({
110
+ id: `${type}.n4m_${method.method_id.replaceAll(".", "_")}`,
111
+ name: humanize(leaf),
112
+ type,
113
+ description: describe(method, role, fitInputs),
114
+ category: humanize(group),
115
+ classPath: `${N4M_OPERATOR_TOKEN_PREFIX}${method.method_id}`,
116
+ source: "n4m",
117
+ tags: ["n4m", role, group],
118
+ parameters,
119
+ n4m: {
120
+ methodId: method.method_id,
121
+ kind: method.kind,
122
+ role,
123
+ capabilities: method.capabilities,
124
+ fitInputs,
125
+ },
126
+ });
127
+ }
128
+ }
129
+ return nodes;
130
+ }
131
+ //# sourceMappingURL=n4m.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n4m.js","sourceRoot":"","sources":["../../src/nodeRegistry/n4m.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface BiasVarianceBarsProps {
14
14
  padding?: PlotPadding;
15
15
  yLabel?: string;
16
16
  title?: string;
17
+ /** Faithful host-provided text alternative; defaults to a data summary. */
18
+ description?: string;
17
19
  className?: string;
18
20
  }
19
21
  /**
@@ -23,5 +25,5 @@ export interface BiasVarianceBarsProps {
23
25
  * two-swatch legend keys the segments. Pure inline SVG; hosts pass the
24
26
  * decomposition per group.
25
27
  */
26
- export declare function BiasVarianceBars({ entries, biasColor, varianceColor, width, height, padding, yLabel, title, className, }: BiasVarianceBarsProps): import("react").JSX.Element;
28
+ export declare function BiasVarianceBars({ entries, biasColor, varianceColor, width, height, padding, yLabel, title, description, className, }: BiasVarianceBarsProps): import("react").JSX.Element;
27
29
  //# sourceMappingURL=BiasVarianceBars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BiasVarianceBars.d.ts","sourceRoot":"","sources":["../../src/viz/BiasVarianceBars.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtF,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,SAAgC,EAChC,aAAmC,EACnC,KAAW,EACX,MAAY,EACZ,OAAO,EACP,MAAgB,EAChB,KAA0B,EAC1B,SAAS,GACV,EAAE,qBAAqB,+BA8GvB"}
1
+ {"version":3,"file":"BiasVarianceBars.d.ts","sourceRoot":"","sources":["../../src/viz/BiasVarianceBars.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAuC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtF,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,SAAgC,EAChC,aAAmC,EACnC,KAAW,EACX,MAAY,EACZ,OAAO,EACP,MAAgB,EAChB,KAA0B,EAC1B,WAAW,EACX,SAAS,GACV,EAAE,qBAAqB,+BA2HvB"}
@@ -1,5 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId } from "react";
2
3
  import { cx } from "./_cx.js";
4
+ import { countLabel, summaryNumber } from "./description.js";
3
5
  import { buildFrame, makeScale, round, ticks } from "./geometry.js";
4
6
  import { N4_VIZ_COLORS } from "./theme.js";
5
7
  function fmt(value) {
@@ -11,8 +13,8 @@ function fmt(value) {
11
13
  return value.toFixed(2);
12
14
  return value.toFixed(3);
13
15
  }
14
- function safe(value) {
15
- return Number.isFinite(value) ? Math.max(0, value) : 0;
16
+ function estimate(value) {
17
+ return Number.isFinite(value) && value >= 0 ? value : Number.NaN;
16
18
  }
17
19
  /**
18
20
  * Stacked bias²/variance decomposition per group — the Studio Inspector
@@ -21,12 +23,13 @@ function safe(value) {
21
23
  * two-swatch legend keys the segments. Pure inline SVG; hosts pass the
22
24
  * decomposition per group.
23
25
  */
24
- export function BiasVarianceBars({ entries, biasColor = N4_VIZ_COLORS.indigo, varianceColor = N4_VIZ_COLORS.amber, width = 420, height = 250, padding, yLabel = "Error", title = "Bias² / variance", className, }) {
26
+ export function BiasVarianceBars({ entries, biasColor = N4_VIZ_COLORS.indigo, varianceColor = N4_VIZ_COLORS.amber, width = 420, height = 250, padding, yLabel = "Error", title = "Bias² / variance", description, className, }) {
27
+ const descriptionId = useId();
25
28
  const frame = buildFrame(width, height, { top: 34, ...(padding ?? {}) });
26
29
  const { top, left } = frame.padding;
27
30
  const bottom = top + frame.innerHeight;
28
31
  const right = left + frame.innerWidth;
29
- const totals = entries.map((e) => safe(e.biasSquared) + safe(e.variance));
32
+ const totals = entries.map((e) => estimate(e.biasSquared) + estimate(e.variance));
30
33
  const maxTotal = Math.max(0, ...totals.filter((t) => Number.isFinite(t)));
31
34
  const yDomain = { min: 0, max: maxTotal || 1 };
32
35
  const yScale = makeScale(yDomain, bottom, top);
@@ -37,13 +40,22 @@ export function BiasVarianceBars({ entries, biasColor = N4_VIZ_COLORS.indigo, va
37
40
  { color: biasColor, label: "Bias²" },
38
41
  { color: varianceColor, label: "Variance" },
39
42
  ];
40
- return (_jsxs("svg", { className: cx("n4viz", "n4viz-biasvariance", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), legend.map((item, k) => {
43
+ const summary = description?.trim() || (entries.length === 0
44
+ ? "No bias and variance estimates."
45
+ : `${countLabel(entries.length, "group")}; ${entries.map((entry) => {
46
+ const bias = estimate(entry.biasSquared);
47
+ const variance = estimate(entry.variance);
48
+ return `${entry.label}: bias squared ${summaryNumber(bias)}, variance ${summaryNumber(variance)}, total ${summaryNumber(bias + variance)}`;
49
+ }).join("; ")}.`);
50
+ return (_jsxs("svg", { className: cx("n4viz", "n4viz-biasvariance", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, "aria-describedby": descriptionId, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("desc", { id: descriptionId, children: summary }), legend.map((item, k) => {
41
51
  const lx = left + k * 92;
42
52
  return (_jsxs("g", { children: [_jsx("rect", { x: round(lx), y: 12, width: 11, height: 11, rx: 2, fill: item.color }), _jsx("text", { className: "n4viz-badge", x: round(lx + 16), y: 21, textAnchor: "start", children: item.label })] }, item.label));
43
53
  }), yTicks.map((t) => (_jsx("line", { className: "n4viz-grid", x1: left, x2: right, y1: round(yScale(t)), y2: round(yScale(t)) }, `gy-${t}`))), entries.map((entry, i) => {
44
54
  const center = left + (i + 0.5) * slotW;
45
- const bias = safe(entry.biasSquared);
46
- const variance = safe(entry.variance);
55
+ const bias = estimate(entry.biasSquared);
56
+ const variance = estimate(entry.variance);
57
+ if (!Number.isFinite(bias + variance))
58
+ return null;
47
59
  const yBias = yScale(bias);
48
60
  const yTotal = yScale(bias + variance);
49
61
  const x = center - barW / 2;