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.
Files changed (521) hide show
  1. package/README.md +39 -1
  2. package/assets/brands/README.md +28 -8
  3. package/assets/brands/dag-ml/favicon.ico +0 -0
  4. package/assets/brands/dag-ml/horizontal-dark.svg +5 -0
  5. package/assets/brands/dag-ml/horizontal.png +0 -0
  6. package/assets/brands/dag-ml/horizontal.svg +5 -0
  7. package/assets/brands/dag-ml/icon-180.png +0 -0
  8. package/assets/brands/dag-ml/icon-256.png +0 -0
  9. package/assets/brands/dag-ml/icon-32.png +0 -0
  10. package/assets/brands/dag-ml/icon-512.png +0 -0
  11. package/assets/brands/dag-ml/icon.svg +3 -0
  12. package/assets/brands/dag-ml/og.png +0 -0
  13. package/assets/brands/dag-ml/stacked-dark.svg +5 -0
  14. package/assets/brands/dag-ml/stacked.png +0 -0
  15. package/assets/brands/dag-ml/stacked.svg +5 -0
  16. package/assets/brands/dag-ml-data/favicon.ico +0 -0
  17. package/assets/brands/dag-ml-data/horizontal-dark.svg +6 -0
  18. package/assets/brands/dag-ml-data/horizontal.png +0 -0
  19. package/assets/brands/dag-ml-data/horizontal.svg +6 -0
  20. package/assets/brands/dag-ml-data/icon-180.png +0 -0
  21. package/assets/brands/dag-ml-data/icon-256.png +0 -0
  22. package/assets/brands/dag-ml-data/icon-32.png +0 -0
  23. package/assets/brands/dag-ml-data/icon-512.png +0 -0
  24. package/assets/brands/dag-ml-data/icon.svg +3 -0
  25. package/assets/brands/dag-ml-data/og.png +0 -0
  26. package/assets/brands/dag-ml-data/stacked-dark.svg +6 -0
  27. package/assets/brands/dag-ml-data/stacked.png +0 -0
  28. package/assets/brands/dag-ml-data/stacked.svg +6 -0
  29. package/assets/brands/nirs4all/favicon.ico +0 -0
  30. package/assets/brands/nirs4all/horizontal-dark.svg +36 -0
  31. package/assets/brands/nirs4all/horizontal.png +0 -0
  32. package/assets/brands/nirs4all/horizontal.svg +35 -11
  33. package/assets/brands/nirs4all/icon-180.png +0 -0
  34. package/assets/brands/nirs4all/icon-256.png +0 -0
  35. package/assets/brands/nirs4all/icon-32.png +0 -0
  36. package/assets/brands/nirs4all/icon-512.png +0 -0
  37. package/assets/brands/nirs4all/icon.svg +32 -7
  38. package/assets/brands/nirs4all/og.png +0 -0
  39. package/assets/brands/nirs4all/stacked-dark.svg +36 -0
  40. package/assets/brands/nirs4all/stacked.png +0 -0
  41. package/assets/brands/nirs4all/stacked.svg +35 -11
  42. package/assets/brands/nirs4all-benchmarks/favicon.ico +0 -0
  43. package/assets/brands/nirs4all-benchmarks/horizontal-dark.svg +37 -0
  44. package/assets/brands/nirs4all-benchmarks/horizontal.png +0 -0
  45. package/assets/brands/nirs4all-benchmarks/horizontal.svg +37 -0
  46. package/assets/brands/nirs4all-benchmarks/icon-180.png +0 -0
  47. package/assets/brands/nirs4all-benchmarks/icon-256.png +0 -0
  48. package/assets/brands/nirs4all-benchmarks/icon-32.png +0 -0
  49. package/assets/brands/nirs4all-benchmarks/icon-512.png +0 -0
  50. package/assets/brands/nirs4all-benchmarks/icon.svg +33 -0
  51. package/assets/brands/nirs4all-benchmarks/og.png +0 -0
  52. package/assets/brands/nirs4all-benchmarks/stacked-dark.svg +36 -0
  53. package/assets/brands/nirs4all-benchmarks/stacked.png +0 -0
  54. package/assets/brands/nirs4all-benchmarks/stacked.svg +36 -0
  55. package/assets/brands/nirs4all-cluster/favicon.ico +0 -0
  56. package/assets/brands/nirs4all-cluster/horizontal-dark.svg +37 -0
  57. package/assets/brands/nirs4all-cluster/horizontal.png +0 -0
  58. package/assets/brands/nirs4all-cluster/horizontal.svg +37 -0
  59. package/assets/brands/nirs4all-cluster/icon-180.png +0 -0
  60. package/assets/brands/nirs4all-cluster/icon-256.png +0 -0
  61. package/assets/brands/nirs4all-cluster/icon-32.png +0 -0
  62. package/assets/brands/nirs4all-cluster/icon-512.png +0 -0
  63. package/assets/brands/nirs4all-cluster/icon.svg +33 -0
  64. package/assets/brands/nirs4all-cluster/og.png +0 -0
  65. package/assets/brands/nirs4all-cluster/stacked-dark.svg +36 -0
  66. package/assets/brands/nirs4all-cluster/stacked.png +0 -0
  67. package/assets/brands/nirs4all-cluster/stacked.svg +36 -0
  68. package/assets/brands/nirs4all-core/favicon.ico +0 -0
  69. package/assets/brands/nirs4all-core/horizontal-dark.svg +37 -0
  70. package/assets/brands/nirs4all-core/horizontal.png +0 -0
  71. package/assets/brands/nirs4all-core/horizontal.svg +36 -11
  72. package/assets/brands/nirs4all-core/icon-180.png +0 -0
  73. package/assets/brands/nirs4all-core/icon-256.png +0 -0
  74. package/assets/brands/nirs4all-core/icon-32.png +0 -0
  75. package/assets/brands/nirs4all-core/icon-512.png +0 -0
  76. package/assets/brands/nirs4all-core/icon.svg +32 -7
  77. package/assets/brands/nirs4all-core/og.png +0 -0
  78. package/assets/brands/nirs4all-core/stacked-dark.svg +36 -0
  79. package/assets/brands/nirs4all-core/stacked.png +0 -0
  80. package/assets/brands/nirs4all-core/stacked.svg +35 -11
  81. package/assets/brands/nirs4all-datasets/favicon.ico +0 -0
  82. package/assets/brands/nirs4all-datasets/horizontal-dark.svg +37 -0
  83. package/assets/brands/nirs4all-datasets/horizontal.png +0 -0
  84. package/assets/brands/nirs4all-datasets/horizontal.svg +37 -0
  85. package/assets/brands/nirs4all-datasets/icon-180.png +0 -0
  86. package/assets/brands/nirs4all-datasets/icon-256.png +0 -0
  87. package/assets/brands/nirs4all-datasets/icon-32.png +0 -0
  88. package/assets/brands/nirs4all-datasets/icon-512.png +0 -0
  89. package/assets/brands/nirs4all-datasets/icon.svg +33 -0
  90. package/assets/brands/nirs4all-datasets/og.png +0 -0
  91. package/assets/brands/nirs4all-datasets/stacked-dark.svg +36 -0
  92. package/assets/brands/nirs4all-datasets/stacked.png +0 -0
  93. package/assets/brands/nirs4all-datasets/stacked.svg +36 -0
  94. package/assets/brands/nirs4all-device/favicon.ico +0 -0
  95. package/assets/brands/nirs4all-device/horizontal-dark.svg +37 -0
  96. package/assets/brands/nirs4all-device/horizontal.png +0 -0
  97. package/assets/brands/nirs4all-device/horizontal.svg +37 -0
  98. package/assets/brands/nirs4all-device/icon-180.png +0 -0
  99. package/assets/brands/nirs4all-device/icon-256.png +0 -0
  100. package/assets/brands/nirs4all-device/icon-32.png +0 -0
  101. package/assets/brands/nirs4all-device/icon-512.png +0 -0
  102. package/assets/brands/nirs4all-device/icon.svg +33 -0
  103. package/assets/brands/nirs4all-device/og.png +0 -0
  104. package/assets/brands/nirs4all-device/stacked-dark.svg +36 -0
  105. package/assets/brands/nirs4all-device/stacked.png +0 -0
  106. package/assets/brands/nirs4all-device/stacked.svg +36 -0
  107. package/assets/brands/nirs4all-formats/favicon.ico +0 -0
  108. package/assets/brands/nirs4all-formats/horizontal-dark.svg +37 -0
  109. package/assets/brands/nirs4all-formats/horizontal.png +0 -0
  110. package/assets/brands/nirs4all-formats/horizontal.svg +37 -0
  111. package/assets/brands/nirs4all-formats/icon-180.png +0 -0
  112. package/assets/brands/nirs4all-formats/icon-256.png +0 -0
  113. package/assets/brands/nirs4all-formats/icon-32.png +0 -0
  114. package/assets/brands/nirs4all-formats/icon-512.png +0 -0
  115. package/assets/brands/nirs4all-formats/icon.svg +33 -0
  116. package/assets/brands/nirs4all-formats/og.png +0 -0
  117. package/assets/brands/nirs4all-formats/stacked-dark.svg +36 -0
  118. package/assets/brands/nirs4all-formats/stacked.png +0 -0
  119. package/assets/brands/nirs4all-formats/stacked.svg +36 -0
  120. package/assets/brands/nirs4all-io/favicon.ico +0 -0
  121. package/assets/brands/nirs4all-io/horizontal-dark.svg +37 -0
  122. package/assets/brands/nirs4all-io/horizontal.png +0 -0
  123. package/assets/brands/nirs4all-io/horizontal.svg +37 -0
  124. package/assets/brands/nirs4all-io/icon-180.png +0 -0
  125. package/assets/brands/nirs4all-io/icon-256.png +0 -0
  126. package/assets/brands/nirs4all-io/icon-32.png +0 -0
  127. package/assets/brands/nirs4all-io/icon-512.png +0 -0
  128. package/assets/brands/nirs4all-io/icon.svg +33 -0
  129. package/assets/brands/nirs4all-io/og.png +0 -0
  130. package/assets/brands/nirs4all-io/stacked-dark.svg +36 -0
  131. package/assets/brands/nirs4all-io/stacked.png +0 -0
  132. package/assets/brands/nirs4all-io/stacked.svg +36 -0
  133. package/assets/brands/nirs4all-methods/favicon.ico +0 -0
  134. package/assets/brands/nirs4all-methods/horizontal-dark.svg +37 -0
  135. package/assets/brands/nirs4all-methods/horizontal.png +0 -0
  136. package/assets/brands/nirs4all-methods/horizontal.svg +37 -0
  137. package/assets/brands/nirs4all-methods/icon-180.png +0 -0
  138. package/assets/brands/nirs4all-methods/icon-256.png +0 -0
  139. package/assets/brands/nirs4all-methods/icon-32.png +0 -0
  140. package/assets/brands/nirs4all-methods/icon-512.png +0 -0
  141. package/assets/brands/nirs4all-methods/icon.svg +33 -0
  142. package/assets/brands/nirs4all-methods/og.png +0 -0
  143. package/assets/brands/nirs4all-methods/stacked-dark.svg +36 -0
  144. package/assets/brands/nirs4all-methods/stacked.png +0 -0
  145. package/assets/brands/nirs4all-methods/stacked.svg +36 -0
  146. package/assets/brands/nirs4all-papers/favicon.ico +0 -0
  147. package/assets/brands/nirs4all-papers/horizontal-dark.svg +37 -0
  148. package/assets/brands/nirs4all-papers/horizontal.png +0 -0
  149. package/assets/brands/nirs4all-papers/horizontal.svg +37 -0
  150. package/assets/brands/nirs4all-papers/icon-180.png +0 -0
  151. package/assets/brands/nirs4all-papers/icon-256.png +0 -0
  152. package/assets/brands/nirs4all-papers/icon-32.png +0 -0
  153. package/assets/brands/nirs4all-papers/icon-512.png +0 -0
  154. package/assets/brands/nirs4all-papers/icon.svg +33 -0
  155. package/assets/brands/nirs4all-papers/og.png +0 -0
  156. package/assets/brands/nirs4all-papers/stacked-dark.svg +36 -0
  157. package/assets/brands/nirs4all-papers/stacked.png +0 -0
  158. package/assets/brands/nirs4all-papers/stacked.svg +36 -0
  159. package/assets/brands/nirs4all-providers/favicon.ico +0 -0
  160. package/assets/brands/nirs4all-providers/horizontal-dark.svg +37 -0
  161. package/assets/brands/nirs4all-providers/horizontal.png +0 -0
  162. package/assets/brands/nirs4all-providers/horizontal.svg +36 -11
  163. package/assets/brands/nirs4all-providers/icon-180.png +0 -0
  164. package/assets/brands/nirs4all-providers/icon-256.png +0 -0
  165. package/assets/brands/nirs4all-providers/icon-32.png +0 -0
  166. package/assets/brands/nirs4all-providers/icon-512.png +0 -0
  167. package/assets/brands/nirs4all-providers/icon.svg +32 -7
  168. package/assets/brands/nirs4all-providers/og.png +0 -0
  169. package/assets/brands/nirs4all-providers/stacked-dark.svg +36 -0
  170. package/assets/brands/nirs4all-providers/stacked.png +0 -0
  171. package/assets/brands/nirs4all-providers/stacked.svg +35 -11
  172. package/assets/brands/nirs4all-quality/favicon.ico +0 -0
  173. package/assets/brands/nirs4all-quality/horizontal-dark.svg +36 -0
  174. package/assets/brands/nirs4all-quality/horizontal.svg +35 -11
  175. package/assets/brands/nirs4all-quality/icon-180.png +0 -0
  176. package/assets/brands/nirs4all-quality/icon-256.png +0 -0
  177. package/assets/brands/nirs4all-quality/icon-32.png +0 -0
  178. package/assets/brands/nirs4all-quality/icon-512.png +0 -0
  179. package/assets/brands/nirs4all-quality/icon.svg +32 -7
  180. package/assets/brands/nirs4all-quality/og.png +0 -0
  181. package/assets/brands/nirs4all-quality/stacked-dark.svg +36 -0
  182. package/assets/brands/nirs4all-quality/stacked.svg +35 -11
  183. package/assets/brands/nirs4all-repository/favicon.ico +0 -0
  184. package/assets/brands/nirs4all-repository/horizontal-dark.svg +37 -0
  185. package/assets/brands/nirs4all-repository/horizontal.png +0 -0
  186. package/assets/brands/nirs4all-repository/horizontal.svg +37 -0
  187. package/assets/brands/nirs4all-repository/icon-180.png +0 -0
  188. package/assets/brands/nirs4all-repository/icon-256.png +0 -0
  189. package/assets/brands/nirs4all-repository/icon-32.png +0 -0
  190. package/assets/brands/nirs4all-repository/icon-512.png +0 -0
  191. package/assets/brands/nirs4all-repository/icon.svg +33 -0
  192. package/assets/brands/nirs4all-repository/og.png +0 -0
  193. package/assets/brands/nirs4all-repository/stacked-dark.svg +36 -0
  194. package/assets/brands/nirs4all-repository/stacked.png +0 -0
  195. package/assets/brands/nirs4all-repository/stacked.svg +36 -0
  196. package/assets/brands/nirs4all-studio/favicon.ico +0 -0
  197. package/assets/brands/nirs4all-studio/horizontal-dark.svg +37 -0
  198. package/assets/brands/nirs4all-studio/horizontal.png +0 -0
  199. package/assets/brands/nirs4all-studio/horizontal.svg +37 -0
  200. package/assets/brands/nirs4all-studio/icon-180.png +0 -0
  201. package/assets/brands/nirs4all-studio/icon-256.png +0 -0
  202. package/assets/brands/nirs4all-studio/icon-32.png +0 -0
  203. package/assets/brands/nirs4all-studio/icon-512.png +0 -0
  204. package/assets/brands/nirs4all-studio/icon.svg +33 -0
  205. package/assets/brands/nirs4all-studio/og.png +0 -0
  206. package/assets/brands/nirs4all-studio/stacked-dark.svg +36 -0
  207. package/assets/brands/nirs4all-studio/stacked.png +0 -0
  208. package/assets/brands/nirs4all-studio/stacked.svg +36 -0
  209. package/assets/brands/nirs4all-tools/favicon.ico +0 -0
  210. package/assets/brands/nirs4all-tools/horizontal-dark.svg +37 -0
  211. package/assets/brands/nirs4all-tools/horizontal.png +0 -0
  212. package/assets/brands/nirs4all-tools/horizontal.svg +37 -0
  213. package/assets/brands/nirs4all-tools/icon-180.png +0 -0
  214. package/assets/brands/nirs4all-tools/icon-256.png +0 -0
  215. package/assets/brands/nirs4all-tools/icon-32.png +0 -0
  216. package/assets/brands/nirs4all-tools/icon-512.png +0 -0
  217. package/assets/brands/nirs4all-tools/icon.svg +33 -0
  218. package/assets/brands/nirs4all-tools/og.png +0 -0
  219. package/assets/brands/nirs4all-tools/stacked-dark.svg +36 -0
  220. package/assets/brands/nirs4all-tools/stacked.png +0 -0
  221. package/assets/brands/nirs4all-tools/stacked.svg +36 -0
  222. package/assets/brands/nirs4all-ui/favicon.ico +0 -0
  223. package/assets/brands/nirs4all-ui/horizontal-dark.svg +37 -0
  224. package/assets/brands/nirs4all-ui/horizontal.png +0 -0
  225. package/assets/brands/nirs4all-ui/horizontal.svg +36 -11
  226. package/assets/brands/nirs4all-ui/icon-180.png +0 -0
  227. package/assets/brands/nirs4all-ui/icon-256.png +0 -0
  228. package/assets/brands/nirs4all-ui/icon-32.png +0 -0
  229. package/assets/brands/nirs4all-ui/icon-512.png +0 -0
  230. package/assets/brands/nirs4all-ui/icon.svg +32 -7
  231. package/assets/brands/nirs4all-ui/og.png +0 -0
  232. package/assets/brands/nirs4all-ui/stacked-dark.svg +36 -0
  233. package/assets/brands/nirs4all-ui/stacked.png +0 -0
  234. package/assets/brands/nirs4all-ui/stacked.svg +35 -11
  235. package/assets/brands/nirs4all-web/favicon.ico +0 -0
  236. package/assets/brands/nirs4all-web/horizontal-dark.svg +37 -0
  237. package/assets/brands/nirs4all-web/horizontal.png +0 -0
  238. package/assets/brands/nirs4all-web/horizontal.svg +37 -0
  239. package/assets/brands/nirs4all-web/icon-180.png +0 -0
  240. package/assets/brands/nirs4all-web/icon-256.png +0 -0
  241. package/assets/brands/nirs4all-web/icon-32.png +0 -0
  242. package/assets/brands/nirs4all-web/icon-512.png +0 -0
  243. package/assets/brands/nirs4all-web/icon.svg +33 -0
  244. package/assets/brands/nirs4all-web/og.png +0 -0
  245. package/assets/brands/nirs4all-web/stacked-dark.svg +36 -0
  246. package/assets/brands/nirs4all-web/stacked.png +0 -0
  247. package/assets/brands/nirs4all-web/stacked.svg +36 -0
  248. package/assets/chains.css +601 -0
  249. package/assets/conformal.css +323 -0
  250. package/assets/dag.css +446 -0
  251. package/assets/motion/nirs-spectra.svg +26 -9
  252. package/assets/viz.css +152 -0
  253. package/dist/brand/index.d.ts +24 -126
  254. package/dist/brand/index.d.ts.map +1 -1
  255. package/dist/brand/index.js +52 -200
  256. package/dist/brand/index.js.map +1 -1
  257. package/dist/chains/ChainExplorer.d.ts +34 -0
  258. package/dist/chains/ChainExplorer.d.ts.map +1 -0
  259. package/dist/chains/ChainExplorer.js +119 -0
  260. package/dist/chains/ChainExplorer.js.map +1 -0
  261. package/dist/chains/ChainNodeHub.d.ts +31 -0
  262. package/dist/chains/ChainNodeHub.d.ts.map +1 -0
  263. package/dist/chains/ChainNodeHub.js +150 -0
  264. package/dist/chains/ChainNodeHub.js.map +1 -0
  265. package/dist/chains/ChainNodeOrbit.d.ts +31 -0
  266. package/dist/chains/ChainNodeOrbit.d.ts.map +1 -0
  267. package/dist/chains/ChainNodeOrbit.js +158 -0
  268. package/dist/chains/ChainNodeOrbit.js.map +1 -0
  269. package/dist/chains/ChainScoreBeeswarm.d.ts +25 -0
  270. package/dist/chains/ChainScoreBeeswarm.d.ts.map +1 -0
  271. package/dist/chains/ChainScoreBeeswarm.js +84 -0
  272. package/dist/chains/ChainScoreBeeswarm.js.map +1 -0
  273. package/dist/chains/NodeEffectForest.d.ts +33 -0
  274. package/dist/chains/NodeEffectForest.d.ts.map +1 -0
  275. package/dist/chains/NodeEffectForest.js +85 -0
  276. package/dist/chains/NodeEffectForest.js.map +1 -0
  277. package/dist/chains/PositionEffectHeatmap.d.ts +25 -0
  278. package/dist/chains/PositionEffectHeatmap.d.ts.map +1 -0
  279. package/dist/chains/PositionEffectHeatmap.js +77 -0
  280. package/dist/chains/PositionEffectHeatmap.js.map +1 -0
  281. package/dist/chains/SequenceEffectHeatmap.d.ts +22 -0
  282. package/dist/chains/SequenceEffectHeatmap.d.ts.map +1 -0
  283. package/dist/chains/SequenceEffectHeatmap.js +74 -0
  284. package/dist/chains/SequenceEffectHeatmap.js.map +1 -0
  285. package/dist/chains/_cx.d.ts +2 -0
  286. package/dist/chains/_cx.d.ts.map +1 -0
  287. package/dist/chains/_cx.js +8 -0
  288. package/dist/chains/_cx.js.map +1 -0
  289. package/dist/chains/analysis.d.ts +100 -0
  290. package/dist/chains/analysis.d.ts.map +1 -0
  291. package/dist/chains/analysis.js +440 -0
  292. package/dist/chains/analysis.js.map +1 -0
  293. package/dist/chains/colors.d.ts +26 -0
  294. package/dist/chains/colors.d.ts.map +1 -0
  295. package/dist/chains/colors.js +58 -0
  296. package/dist/chains/colors.js.map +1 -0
  297. package/dist/chains/contract.d.ts +54 -0
  298. package/dist/chains/contract.d.ts.map +1 -0
  299. package/dist/chains/contract.js +125 -0
  300. package/dist/chains/contract.js.map +1 -0
  301. package/dist/chains/index.d.ts +35 -0
  302. package/dist/chains/index.d.ts.map +1 -0
  303. package/dist/chains/index.js +41 -0
  304. package/dist/chains/index.js.map +1 -0
  305. package/dist/chains/normalize.d.ts +27 -0
  306. package/dist/chains/normalize.d.ts.map +1 -0
  307. package/dist/chains/normalize.js +104 -0
  308. package/dist/chains/normalize.js.map +1 -0
  309. package/dist/chains/radial.d.ts +21 -0
  310. package/dist/chains/radial.d.ts.map +1 -0
  311. package/dist/chains/radial.js +52 -0
  312. package/dist/chains/radial.js.map +1 -0
  313. package/dist/chains/types.d.ts +240 -0
  314. package/dist/chains/types.d.ts.map +1 -0
  315. package/dist/chains/types.js +52 -0
  316. package/dist/chains/types.js.map +1 -0
  317. package/dist/components/ConformalPredictionTree.d.ts +79 -0
  318. package/dist/components/ConformalPredictionTree.d.ts.map +1 -0
  319. package/dist/components/ConformalPredictionTree.js +223 -0
  320. package/dist/components/ConformalPredictionTree.js.map +1 -0
  321. package/dist/components/DatasetResultCard.d.ts +33 -0
  322. package/dist/components/DatasetResultCard.d.ts.map +1 -0
  323. package/dist/components/DatasetResultCard.js +9 -0
  324. package/dist/components/DatasetResultCard.js.map +1 -0
  325. package/dist/components/PerClassTable.d.ts +27 -0
  326. package/dist/components/PerClassTable.d.ts.map +1 -0
  327. package/dist/components/PerClassTable.js +9 -0
  328. package/dist/components/PerClassTable.js.map +1 -0
  329. package/dist/components/PredictionCard.d.ts +27 -0
  330. package/dist/components/PredictionCard.d.ts.map +1 -0
  331. package/dist/components/PredictionCard.js +6 -0
  332. package/dist/components/PredictionCard.js.map +1 -0
  333. package/dist/components/RankingsTable.d.ts +28 -0
  334. package/dist/components/RankingsTable.d.ts.map +1 -0
  335. package/dist/components/RankingsTable.js +14 -0
  336. package/dist/components/RankingsTable.js.map +1 -0
  337. package/dist/components/ScoreCardTree.d.ts +31 -0
  338. package/dist/components/ScoreCardTree.d.ts.map +1 -0
  339. package/dist/components/ScoreCardTree.js +17 -0
  340. package/dist/components/ScoreCardTree.js.map +1 -0
  341. package/dist/components/index.d.ts +6 -0
  342. package/dist/components/index.d.ts.map +1 -1
  343. package/dist/components/index.js +6 -0
  344. package/dist/components/index.js.map +1 -1
  345. package/dist/conformal/index.d.ts +2 -0
  346. package/dist/conformal/index.d.ts.map +1 -0
  347. package/dist/conformal/index.js +2 -0
  348. package/dist/conformal/index.js.map +1 -0
  349. package/dist/conformal/result.d.ts +224 -0
  350. package/dist/conformal/result.d.ts.map +1 -0
  351. package/dist/conformal/result.js +461 -0
  352. package/dist/conformal/result.js.map +1 -0
  353. package/dist/dag/DagGraphView.d.ts +35 -0
  354. package/dist/dag/DagGraphView.d.ts.map +1 -0
  355. package/dist/dag/DagGraphView.js +424 -0
  356. package/dist/dag/DagGraphView.js.map +1 -0
  357. package/dist/dag/_cx.d.ts +2 -0
  358. package/dist/dag/_cx.d.ts.map +1 -0
  359. package/dist/dag/_cx.js +8 -0
  360. package/dist/dag/_cx.js.map +1 -0
  361. package/dist/dag/collapse.d.ts +81 -0
  362. package/dist/dag/collapse.d.ts.map +1 -0
  363. package/dist/dag/collapse.js +210 -0
  364. package/dist/dag/collapse.js.map +1 -0
  365. package/dist/dag/colors.d.ts +19 -0
  366. package/dist/dag/colors.d.ts.map +1 -0
  367. package/dist/dag/colors.js +54 -0
  368. package/dist/dag/colors.js.map +1 -0
  369. package/dist/dag/fromCompiledGraph.d.ts +27 -0
  370. package/dist/dag/fromCompiledGraph.d.ts.map +1 -0
  371. package/dist/dag/fromCompiledGraph.js +133 -0
  372. package/dist/dag/fromCompiledGraph.js.map +1 -0
  373. package/dist/dag/hierarchy.d.ts +38 -0
  374. package/dist/dag/hierarchy.d.ts.map +1 -0
  375. package/dist/dag/hierarchy.js +75 -0
  376. package/dist/dag/hierarchy.js.map +1 -0
  377. package/dist/dag/index.d.ts +28 -0
  378. package/dist/dag/index.d.ts.map +1 -0
  379. package/dist/dag/index.js +33 -0
  380. package/dist/dag/index.js.map +1 -0
  381. package/dist/dag/layout.d.ts +57 -0
  382. package/dist/dag/layout.d.ts.map +1 -0
  383. package/dist/dag/layout.js +267 -0
  384. package/dist/dag/layout.js.map +1 -0
  385. package/dist/dag/locale.d.ts +31 -0
  386. package/dist/dag/locale.d.ts.map +1 -0
  387. package/dist/dag/locale.js +32 -0
  388. package/dist/dag/locale.js.map +1 -0
  389. package/dist/dag/shape.d.ts +48 -0
  390. package/dist/dag/shape.d.ts.map +1 -0
  391. package/dist/dag/shape.js +263 -0
  392. package/dist/dag/shape.js.map +1 -0
  393. package/dist/dag/types.d.ts +106 -0
  394. package/dist/dag/types.d.ts.map +1 -0
  395. package/dist/dag/types.js +56 -0
  396. package/dist/dag/types.js.map +1 -0
  397. package/dist/index.d.ts +7 -0
  398. package/dist/index.d.ts.map +1 -1
  399. package/dist/index.js +7 -0
  400. package/dist/index.js.map +1 -1
  401. package/dist/keywordRegistry/index.d.ts +9 -0
  402. package/dist/keywordRegistry/index.d.ts.map +1 -0
  403. package/dist/keywordRegistry/index.js +9 -0
  404. package/dist/keywordRegistry/index.js.map +1 -0
  405. package/dist/keywordRegistry/registry.d.ts +107 -0
  406. package/dist/keywordRegistry/registry.d.ts.map +1 -0
  407. package/dist/keywordRegistry/registry.js +234 -0
  408. package/dist/keywordRegistry/registry.js.map +1 -0
  409. package/dist/robustness/index.d.ts +12 -0
  410. package/dist/robustness/index.d.ts.map +1 -0
  411. package/dist/robustness/index.js +12 -0
  412. package/dist/robustness/index.js.map +1 -0
  413. package/dist/robustness/modes.d.ts +15 -0
  414. package/dist/robustness/modes.d.ts.map +1 -0
  415. package/dist/robustness/modes.js +64 -0
  416. package/dist/robustness/modes.js.map +1 -0
  417. package/dist/robustness/scenarios.d.ts +38 -0
  418. package/dist/robustness/scenarios.d.ts.map +1 -0
  419. package/dist/robustness/scenarios.js +159 -0
  420. package/dist/robustness/scenarios.js.map +1 -0
  421. package/dist/robustness/summary.d.ts +135 -0
  422. package/dist/robustness/summary.d.ts.map +1 -0
  423. package/dist/robustness/summary.js +284 -0
  424. package/dist/robustness/summary.js.map +1 -0
  425. package/dist/styles/index.d.ts +19 -1
  426. package/dist/styles/index.d.ts.map +1 -1
  427. package/dist/styles/index.js +21 -0
  428. package/dist/styles/index.js.map +1 -1
  429. package/dist/tuning/index.d.ts +3 -0
  430. package/dist/tuning/index.d.ts.map +1 -0
  431. package/dist/tuning/index.js +3 -0
  432. package/dist/tuning/index.js.map +1 -0
  433. package/dist/tuning/result.d.ts +144 -0
  434. package/dist/tuning/result.d.ts.map +1 -0
  435. package/dist/tuning/result.js +277 -0
  436. package/dist/tuning/result.js.map +1 -0
  437. package/dist/tuning/searchSpace.d.ts +54 -0
  438. package/dist/tuning/searchSpace.d.ts.map +1 -0
  439. package/dist/tuning/searchSpace.js +118 -0
  440. package/dist/tuning/searchSpace.js.map +1 -0
  441. package/dist/viz/BiasVarianceBars.d.ts +27 -0
  442. package/dist/viz/BiasVarianceBars.d.ts.map +1 -0
  443. package/dist/viz/BiasVarianceBars.js +53 -0
  444. package/dist/viz/BiasVarianceBars.js.map +1 -0
  445. package/dist/viz/BoxPlot.d.ts +24 -0
  446. package/dist/viz/BoxPlot.d.ts.map +1 -0
  447. package/dist/viz/BoxPlot.js +50 -0
  448. package/dist/viz/BoxPlot.js.map +1 -0
  449. package/dist/viz/ConformalIntervalStrip.d.ts +66 -0
  450. package/dist/viz/ConformalIntervalStrip.d.ts.map +1 -0
  451. package/dist/viz/ConformalIntervalStrip.js +167 -0
  452. package/dist/viz/ConformalIntervalStrip.js.map +1 -0
  453. package/dist/viz/ConfusionMatrix.d.ts +24 -0
  454. package/dist/viz/ConfusionMatrix.d.ts.map +1 -0
  455. package/dist/viz/ConfusionMatrix.js +39 -0
  456. package/dist/viz/ConfusionMatrix.js.map +1 -0
  457. package/dist/viz/FeatureImportanceBar.d.ts +26 -0
  458. package/dist/viz/FeatureImportanceBar.d.ts.map +1 -0
  459. package/dist/viz/FeatureImportanceBar.js +49 -0
  460. package/dist/viz/FeatureImportanceBar.js.map +1 -0
  461. package/dist/viz/FoldStabilityLines.d.ts +29 -0
  462. package/dist/viz/FoldStabilityLines.d.ts.map +1 -0
  463. package/dist/viz/FoldStabilityLines.js +57 -0
  464. package/dist/viz/FoldStabilityLines.js.map +1 -0
  465. package/dist/viz/Histogram.d.ts +33 -0
  466. package/dist/viz/Histogram.d.ts.map +1 -0
  467. package/dist/viz/Histogram.js +64 -0
  468. package/dist/viz/Histogram.js.map +1 -0
  469. package/dist/viz/PcaScatter.d.ts +36 -0
  470. package/dist/viz/PcaScatter.d.ts.map +1 -0
  471. package/dist/viz/PcaScatter.js +72 -0
  472. package/dist/viz/PcaScatter.js.map +1 -0
  473. package/dist/viz/PipelineFlow.d.ts +28 -0
  474. package/dist/viz/PipelineFlow.d.ts.map +1 -0
  475. package/dist/viz/PipelineFlow.js +57 -0
  476. package/dist/viz/PipelineFlow.js.map +1 -0
  477. package/dist/viz/PredictionScatter.d.ts +41 -0
  478. package/dist/viz/PredictionScatter.d.ts.map +1 -0
  479. package/dist/viz/PredictionScatter.js +41 -0
  480. package/dist/viz/PredictionScatter.js.map +1 -0
  481. package/dist/viz/ResidualPlot.d.ts +32 -0
  482. package/dist/viz/ResidualPlot.d.ts.map +1 -0
  483. package/dist/viz/ResidualPlot.js +58 -0
  484. package/dist/viz/ResidualPlot.js.map +1 -0
  485. package/dist/viz/ScoreHeatmap.d.ts +30 -0
  486. package/dist/viz/ScoreHeatmap.d.ts.map +1 -0
  487. package/dist/viz/ScoreHeatmap.js +61 -0
  488. package/dist/viz/ScoreHeatmap.js.map +1 -0
  489. package/dist/viz/ScoreSummary.d.ts +23 -0
  490. package/dist/viz/ScoreSummary.d.ts.map +1 -0
  491. package/dist/viz/ScoreSummary.js +32 -0
  492. package/dist/viz/ScoreSummary.js.map +1 -0
  493. package/dist/viz/ShapBeeswarm.d.ts +29 -0
  494. package/dist/viz/ShapBeeswarm.d.ts.map +1 -0
  495. package/dist/viz/ShapBeeswarm.js +60 -0
  496. package/dist/viz/ShapBeeswarm.js.map +1 -0
  497. package/dist/viz/SpectraPlot.d.ts +50 -0
  498. package/dist/viz/SpectraPlot.d.ts.map +1 -0
  499. package/dist/viz/SpectraPlot.js +46 -0
  500. package/dist/viz/SpectraPlot.js.map +1 -0
  501. package/dist/viz/WaterfallChart.d.ts +30 -0
  502. package/dist/viz/WaterfallChart.d.ts.map +1 -0
  503. package/dist/viz/WaterfallChart.js +73 -0
  504. package/dist/viz/WaterfallChart.js.map +1 -0
  505. package/dist/viz/_cx.d.ts +2 -0
  506. package/dist/viz/_cx.d.ts.map +1 -0
  507. package/dist/viz/_cx.js +8 -0
  508. package/dist/viz/_cx.js.map +1 -0
  509. package/dist/viz/geometry.d.ts +87 -0
  510. package/dist/viz/geometry.d.ts.map +1 -0
  511. package/dist/viz/geometry.js +208 -0
  512. package/dist/viz/geometry.js.map +1 -0
  513. package/dist/viz/index.d.ts +33 -0
  514. package/dist/viz/index.d.ts.map +1 -0
  515. package/dist/viz/index.js +38 -0
  516. package/dist/viz/index.js.map +1 -0
  517. package/dist/viz/theme.d.ts +50 -0
  518. package/dist/viz/theme.d.ts.map +1 -0
  519. package/dist/viz/theme.js +100 -0
  520. package/dist/viz/theme.js.map +1 -0
  521. package/package.json +34 -2
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Dataset-shape helpers for the DAG viewer — pure view-model logic, no runtime
3
+ * execution (same class of helper as `dataset/buildDatasetPreview`).
4
+ *
5
+ * `deriveShapes` propagates an entry dataset shape through the graph so the
6
+ * viewer can show what arrives at and leaves every node — the "imagine we feed
7
+ * the pipeline a (multimodal) dataset" view. Transform semantics are per-category
8
+ * *display heuristics* (overridable); when a host has authoritative shapes (from
9
+ * a materialized dag-ml plan) it sets `node.io` directly and those win.
10
+ */
11
+ import { dagCategory } from "./types.js";
12
+ /** Glyph + tone used to badge a node whose output shape changes. */
13
+ export const SHAPE_CHANGE_STYLE = {
14
+ none: { glyph: "", tone: "" },
15
+ "rows-up": { glyph: "↑", tone: "#d97706" }, // amber — data volume grows (augmentation, folds)
16
+ "rows-down": { glyph: "↓", tone: "#64748b" }, // fewer rows (split, exclude, aggregate)
17
+ "feat-up": { glyph: "+", tone: "#10b981" }, // more features
18
+ join: { glyph: "⋔", tone: "#10b981" }, // sources / predictions merged
19
+ "feat-down": { glyph: "−", tone: "#4f46e5" }, // dimensionality reduction
20
+ predict: { glyph: "ŷ", tone: "#0d9488" }, // becomes predictions
21
+ };
22
+ /** Compact human count: 2048 → "2048", 12000 → "12k", 1.2e6 → "1.2M". */
23
+ export function formatCount(n) {
24
+ if (n == null || !Number.isFinite(n))
25
+ return "·";
26
+ const a = Math.abs(n);
27
+ if (a >= 1e6)
28
+ return `${(n / 1e6).toFixed(a >= 1e7 ? 0 : 1)}M`;
29
+ if (a >= 10000)
30
+ return `${Math.round(n / 1000)}k`;
31
+ return String(n);
32
+ }
33
+ /** Compact one-line shape, e.g. "240×2048", "240×2060 ·2src", "240×1 ŷ". */
34
+ export function formatShape(shape) {
35
+ if (!shape)
36
+ return "—";
37
+ if (shape.label)
38
+ return shape.label;
39
+ const isPred = shape.representation === "prediction";
40
+ const rows = formatCount(shape.samples);
41
+ const cols = isPred ? String(shape.targets ?? 1) : formatCount(shape.features);
42
+ let out = `${rows}×${cols}`;
43
+ const n = shape.sources?.length ?? 0;
44
+ if (n > 1)
45
+ out += ` ·${n}src`;
46
+ if (isPred)
47
+ out += " ŷ";
48
+ return out;
49
+ }
50
+ function sumFeatures(shapes) {
51
+ let total = 0;
52
+ let any = false;
53
+ for (const s of shapes) {
54
+ if (s.features != null) {
55
+ total += s.features;
56
+ any = true;
57
+ }
58
+ }
59
+ return any ? total : undefined;
60
+ }
61
+ function sourceCount(shape) {
62
+ return shape.sources?.length ?? (shape.features != null ? 1 : 0);
63
+ }
64
+ /** Classify how a node's output shape differs from its inputs. */
65
+ export function shapeChange(inputs, out) {
66
+ const ins = inputs.filter(Boolean);
67
+ if (!out || ins.length === 0)
68
+ return "none";
69
+ const inSamples = ins.find((s) => s.samples != null)?.samples;
70
+ const inFeat = sumFeatures(ins);
71
+ const inSrc = ins.reduce((a, s) => a + sourceCount(s), 0);
72
+ const outSrc = sourceCount(out);
73
+ const inAllPred = ins.every((s) => s.representation === "prediction");
74
+ if (out.representation === "prediction" && !inAllPred)
75
+ return "predict";
76
+ if (ins.length > 1 || (out.features != null && inSrc > outSrc && outSrc >= 1))
77
+ return "join";
78
+ if (inSamples != null && out.samples != null) {
79
+ if (out.samples > inSamples)
80
+ return "rows-up";
81
+ if (out.samples < inSamples)
82
+ return "rows-down";
83
+ }
84
+ if (inFeat != null && out.features != null) {
85
+ if (out.features > inFeat)
86
+ return "feat-up";
87
+ if (out.features < inFeat)
88
+ return "feat-down";
89
+ }
90
+ return "none";
91
+ }
92
+ /** One-line human delta for the inspector, or null when nothing changes. */
93
+ export function describeShapeDelta(inputs, out) {
94
+ const kind = shapeChange(inputs, out);
95
+ if (kind === "none" || !out)
96
+ return null;
97
+ const ins = inputs.filter(Boolean);
98
+ const inSamples = ins.find((s) => s.samples != null)?.samples;
99
+ const inFeat = sumFeatures(ins);
100
+ switch (kind) {
101
+ case "rows-up":
102
+ case "rows-down": {
103
+ if (inSamples == null || out.samples == null)
104
+ return kind === "rows-up" ? "more rows" : "fewer rows";
105
+ const factor = kind === "rows-up" && inSamples > 0 && out.samples % inSamples === 0 ? ` (×${out.samples / inSamples})` : "";
106
+ return `rows ${formatCount(inSamples)} → ${formatCount(out.samples)}${factor}`;
107
+ }
108
+ case "feat-up":
109
+ case "feat-down":
110
+ case "join": {
111
+ const parts = [];
112
+ if (inFeat != null && out.features != null)
113
+ parts.push(`features ${formatCount(inFeat)} → ${formatCount(out.features)}`);
114
+ const inSrc = ins.reduce((a, s) => a + sourceCount(s), 0);
115
+ const outSrc = sourceCount(out);
116
+ if (inSrc !== outSrc)
117
+ parts.push(`${inSrc} → ${outSrc} sources`);
118
+ return parts.join(" · ") || (kind === "join" ? "joined" : null);
119
+ }
120
+ case "predict":
121
+ return `→ prediction (${out.targets ?? 1})`;
122
+ default:
123
+ return null;
124
+ }
125
+ }
126
+ function numMeta(node, key) {
127
+ const v = node.meta?.[key];
128
+ return typeof v === "number" && Number.isFinite(v) ? v : undefined;
129
+ }
130
+ function augmentFactor(node) {
131
+ return numMeta(node, "factor") ?? numMeta(node, "augment") ?? numMeta(node, "augmentFactor");
132
+ }
133
+ function joinInputs(inputs, isPrediction) {
134
+ if (inputs.length === 0)
135
+ return undefined;
136
+ const samples = inputs.find((s) => s.samples != null)?.samples;
137
+ const sources = [];
138
+ let features = 0;
139
+ let anyFeat = false;
140
+ for (const s of inputs) {
141
+ if (isPrediction) {
142
+ features += s.targets ?? s.features ?? 1;
143
+ anyFeat = true;
144
+ }
145
+ else if (s.features != null) {
146
+ features += s.features;
147
+ anyFeat = true;
148
+ }
149
+ if (s.sources)
150
+ sources.push(...s.sources);
151
+ else if (s.features != null)
152
+ sources.push({ name: s.representation ?? "source", features: s.features, ...(s.representation ? { kind: s.representation } : {}) });
153
+ }
154
+ const out = { representation: "tabular_numeric" };
155
+ if (samples != null)
156
+ out.samples = samples;
157
+ if (anyFeat)
158
+ out.features = features;
159
+ if (sources.length > 0)
160
+ out.sources = sources;
161
+ if (inputs.length > 1)
162
+ out.note = isPrediction ? "stacked predictions" : "joined sources";
163
+ return out;
164
+ }
165
+ const defaultRule = ({ node, category, inputs, entry }) => {
166
+ const first = inputs[0];
167
+ switch (category) {
168
+ case "data":
169
+ if (node.kind === "source_join" || inputs.length > 1)
170
+ return joinInputs(inputs, false);
171
+ return entry ?? first;
172
+ case "merge":
173
+ return joinInputs(inputs, node.kind === "prediction_join");
174
+ case "preprocess": {
175
+ if (!first)
176
+ return undefined;
177
+ const factor = augmentFactor(node);
178
+ if (node.kind === "augmentation" && factor && first.samples != null) {
179
+ return { ...first, samples: first.samples * factor, note: `×${factor} augmented` };
180
+ }
181
+ return first;
182
+ }
183
+ case "split":
184
+ return first ? { ...first, note: "CV folds" } : undefined;
185
+ case "model": {
186
+ const targets = numMeta(node, "targets") ?? first?.targets ?? 1;
187
+ const out = { targets, representation: "prediction" };
188
+ if (first?.samples != null)
189
+ out.samples = first.samples;
190
+ return out;
191
+ }
192
+ case "aggregate":
193
+ return first ? { ...first, note: "aggregated" } : undefined;
194
+ default:
195
+ return first;
196
+ }
197
+ };
198
+ /**
199
+ * Fill `io.in` / `io.out` on every node by propagating entry shapes through the
200
+ * graph in topological order. Nodes that already carry `io.out` are treated as
201
+ * authoritative and are not recomputed. Cycles are tolerated (their nodes are
202
+ * processed last). Returns a new graph; the input is not mutated.
203
+ */
204
+ export function deriveShapes(graph, options = {}) {
205
+ const entries = options.entries ?? {};
206
+ const rules = options.rules ?? {};
207
+ const byId = new Map(graph.nodes.map((n) => [n.id, n]));
208
+ const preds = new Map();
209
+ const succ = new Map();
210
+ const indeg = new Map();
211
+ for (const n of graph.nodes) {
212
+ preds.set(n.id, []);
213
+ succ.set(n.id, []);
214
+ indeg.set(n.id, 0);
215
+ }
216
+ for (const e of graph.edges) {
217
+ if (!byId.has(e.source) || !byId.has(e.target))
218
+ continue;
219
+ preds.get(e.target).push(e.source);
220
+ succ.get(e.source).push(e.target);
221
+ indeg.set(e.target, indeg.get(e.target) + 1);
222
+ }
223
+ const deg = new Map(indeg);
224
+ const order = graph.nodes.filter((n) => deg.get(n.id) === 0).map((n) => n.id);
225
+ for (let h = 0; h < order.length; h += 1) {
226
+ for (const v of succ.get(order[h])) {
227
+ deg.set(v, deg.get(v) - 1);
228
+ if (deg.get(v) === 0)
229
+ order.push(v);
230
+ }
231
+ }
232
+ if (order.length < graph.nodes.length) {
233
+ const seen = new Set(order);
234
+ for (const n of graph.nodes)
235
+ if (!seen.has(n.id))
236
+ order.push(n.id);
237
+ }
238
+ const outShape = new Map();
239
+ const inShapes = new Map();
240
+ for (const id of order) {
241
+ const node = byId.get(id);
242
+ const ins = preds.get(id).map((p) => outShape.get(p)).filter((s) => s != null);
243
+ inShapes.set(id, ins);
244
+ if (node.io?.out) {
245
+ outShape.set(id, node.io.out);
246
+ continue;
247
+ }
248
+ const category = dagCategory(node.kind);
249
+ const rule = rules[category] ?? defaultRule;
250
+ const entryVal = entries[id];
251
+ outShape.set(id, rule({ node, category, inputs: ins, entry: entryVal }));
252
+ }
253
+ const nodes = graph.nodes.map((n) => {
254
+ const inList = n.io?.in ?? inShapes.get(n.id);
255
+ const out = n.io?.out ?? outShape.get(n.id);
256
+ const cleanIn = inList && inList.length > 0 ? inList : undefined;
257
+ if (!cleanIn && !out)
258
+ return n;
259
+ return { ...n, io: { ...(cleanIn ? { in: cleanIn } : {}), ...(out ? { out } : {}) } };
260
+ });
261
+ return { ...graph, nodes };
262
+ }
263
+ //# sourceMappingURL=shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/dag/shape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Package-level view-model contract for the interactive compiled-DAG viewer.
3
+ *
4
+ * This is a small, framework-free contract — deliberately NOT a dependency on
5
+ * `dag-ml`. A host adapts a real compiled `GraphSpec` / `ExecutionPlan` into a
6
+ * {@link DagGraph} (see {@link file://./fromCompiledGraph.ts fromCompiledGraph}),
7
+ * or builds one directly. Everything downstream (hierarchy, collapse, layout,
8
+ * rendering) operates on this contract only.
9
+ */
10
+ /** Execution/health state a host may attach to a node. */
11
+ export type DagNodeStatus = "idle" | "running" | "done" | "failed" | "skipped";
12
+ /** Edge semantics — mirrors dag-ml `EdgeContract.kind` (`PortKind`). */
13
+ export type DagEdgeKind = "data" | "prediction" | "target" | "artifact" | "metric" | "control";
14
+ /** Orientation of the layered layout. */
15
+ export type DagDirection = "LR" | "TB";
16
+ /**
17
+ * Coarse visual category a node's raw `kind` maps to. Drives color + legend so
18
+ * a graph mixing ~20 dag-ml `NodeKind`s still reads as a handful of families.
19
+ */
20
+ export type DagCategory = "data" | "split" | "preprocess" | "model" | "merge" | "branch" | "search" | "aggregate" | "subgraph" | "chart" | "group" | "unknown";
21
+ /** One source of a (possibly multimodal) dataset shape. */
22
+ export interface DagSourceShape {
23
+ name: string;
24
+ /** Feature/column count contributed by this source. */
25
+ features?: number;
26
+ /** e.g. `"spectra"`, `"metadata"`. */
27
+ kind?: string;
28
+ }
29
+ /**
30
+ * The shape of a dataset flowing on a wire — enough to convey pipeline
31
+ * complexity (how many samples/features, how many sources, what it becomes).
32
+ * Every field is optional so a host can annotate as much as it knows; symbolic
33
+ * (representation / partition only) and concrete (numbers) both render.
34
+ */
35
+ export interface DagShape {
36
+ /** Row count (samples / observations). */
37
+ samples?: number;
38
+ /** Total feature/column count across all sources. */
39
+ features?: number;
40
+ /** Multimodal breakdown; length > 1 ⇒ multi-source. */
41
+ sources?: readonly DagSourceShape[];
42
+ /** Target / prediction column count. */
43
+ targets?: number;
44
+ /** Rows context, e.g. `"train"`, `"fold_train"`, `"all"`. */
45
+ partition?: string;
46
+ /** Data representation, e.g. `"spectra"`, `"tabular_numeric"`, `"prediction"`. */
47
+ representation?: string;
48
+ /** Verbatim label shown instead of the derived compact string. */
49
+ label?: string;
50
+ /** Short annotation, e.g. `"×3 augmented"`, `"+ metadata"`. */
51
+ note?: string;
52
+ }
53
+ /** Input/output dataset shapes for a node (what arrives and what leaves). */
54
+ export interface DagNodeIO {
55
+ /** Shape(s) arriving — one per incoming data dependency. */
56
+ in?: readonly DagShape[];
57
+ /** Shape leaving the node (what it emits downstream). */
58
+ out?: DagShape;
59
+ }
60
+ /** One node in a compiled graph. `id` must be unique within the graph. */
61
+ export interface DagNode {
62
+ id: string;
63
+ /** Raw dag-ml `NodeKind` (or any free tag); resolved to a {@link DagCategory}. */
64
+ kind?: string;
65
+ /** Display name; defaults to the last path segment of `id`. */
66
+ label?: string;
67
+ /** Secondary line (e.g. operator type / a params digest). */
68
+ detail?: string;
69
+ /**
70
+ * Hierarchical group path, outermost → innermost (e.g. `["branch:b0"]` or
71
+ * `["stack", "meta"]`). Nodes sharing a prefix form a collapsible cluster.
72
+ * Omit for a top-level node.
73
+ */
74
+ group?: readonly string[];
75
+ status?: DagNodeStatus;
76
+ /** Fan-out / variant-expansion count shown as a `×N` badge. */
77
+ variants?: number;
78
+ /** Optional scalar surfaced in the node card and inspector. */
79
+ metric?: number;
80
+ /**
81
+ * Dataset shapes entering / leaving this node. Host-provided (from a
82
+ * materialized dag-ml plan) or filled by {@link file://./shape.ts deriveShapes}.
83
+ */
84
+ io?: DagNodeIO;
85
+ /** Free passthrough shown in the inspector panel. */
86
+ meta?: Readonly<Record<string, unknown>>;
87
+ }
88
+ /** One directed dependency between two nodes (by `id`). */
89
+ export interface DagEdge {
90
+ source: string;
91
+ target: string;
92
+ kind?: DagEdgeKind;
93
+ /** Out-of-fold / stacking dependency — rendered emphasized. */
94
+ oof?: boolean;
95
+ label?: string;
96
+ }
97
+ /** A whole compiled graph in view-model form. */
98
+ export interface DagGraph {
99
+ nodes: readonly DagNode[];
100
+ edges: readonly DagEdge[];
101
+ /** Optional display name for the toolbar. */
102
+ name?: string;
103
+ }
104
+ /** Resolve a raw `kind` string to its coarse visual {@link DagCategory}. */
105
+ export declare function dagCategory(kind: string | undefined): DagCategory;
106
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dag/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Package-level view-model contract for the interactive compiled-DAG viewer.
3
+ *
4
+ * This is a small, framework-free contract — deliberately NOT a dependency on
5
+ * `dag-ml`. A host adapts a real compiled `GraphSpec` / `ExecutionPlan` into a
6
+ * {@link DagGraph} (see {@link file://./fromCompiledGraph.ts fromCompiledGraph}),
7
+ * or builds one directly. Everything downstream (hierarchy, collapse, layout,
8
+ * rendering) operates on this contract only.
9
+ */
10
+ const KIND_TO_CATEGORY = {
11
+ // data sources / restructuring
12
+ source: "data",
13
+ adapter: "data",
14
+ restructure: "data",
15
+ source_join: "data",
16
+ data: "data",
17
+ // splits / cross-validation
18
+ split: "split",
19
+ // preprocessing / feature ops
20
+ transform: "preprocess",
21
+ y_transform: "preprocess",
22
+ augmentation: "preprocess",
23
+ exclude: "preprocess",
24
+ tag: "preprocess",
25
+ preprocess: "preprocess",
26
+ // estimators
27
+ model: "model",
28
+ predict: "model",
29
+ // merges / joins
30
+ feature_join: "merge",
31
+ prediction_join: "merge",
32
+ mixed_join: "merge",
33
+ merge: "merge",
34
+ join: "merge",
35
+ // fan-out
36
+ fork: "branch",
37
+ map: "branch",
38
+ branch: "branch",
39
+ // variant generation / tuning / selection
40
+ generator: "search",
41
+ tuner: "search",
42
+ select: "search",
43
+ // aggregation
44
+ aggregator: "aggregate",
45
+ aggregate: "aggregate",
46
+ // nested graph / charts
47
+ subgraph: "subgraph",
48
+ chart: "chart",
49
+ };
50
+ /** Resolve a raw `kind` string to its coarse visual {@link DagCategory}. */
51
+ export function dagCategory(kind) {
52
+ if (!kind)
53
+ return "unknown";
54
+ return KIND_TO_CATEGORY[kind] ?? "unknown";
55
+ }
56
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dag/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsHH,MAAM,gBAAgB,GAA0C;IAC9D,+BAA+B;IAC/B,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,MAAM;IACZ,4BAA4B;IAC5B,KAAK,EAAE,OAAO;IACd,8BAA8B;IAC9B,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,YAAY;IAC1B,OAAO,EAAE,YAAY;IACrB,GAAG,EAAE,YAAY;IACjB,UAAU,EAAE,YAAY;IACxB,aAAa;IACb,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,OAAO;IAChB,iBAAiB;IACjB,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,OAAO;IACxB,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,OAAO;IACb,UAAU;IACV,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,0CAA0C;IAC1C,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,cAAc;IACd,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,WAAW;IACtB,wBAAwB;IACxB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;AAC7C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,8 +7,15 @@
7
7
  */
8
8
  export * as score from "./score/index.js";
9
9
  export * as runtime from "./runtime/index.js";
10
+ export * as conformal from "./conformal/index.js";
11
+ export * as robustness from "./robustness/index.js";
12
+ export * as keywordRegistry from "./keywordRegistry/index.js";
13
+ export * as tuning from "./tuning/index.js";
10
14
  export * as dataset from "./dataset/index.js";
11
15
  export * as components from "./components/index.js";
16
+ export * as viz from "./viz/index.js";
17
+ export * as dag from "./dag/index.js";
18
+ export * as chains from "./chains/index.js";
12
19
  export * as brand from "./brand/index.js";
13
20
  export * as styles from "./styles/index.js";
14
21
  export * as lab from "./lab/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,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,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,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
@@ -7,8 +7,15 @@
7
7
  */
8
8
  export * as score from "./score/index.js";
9
9
  export * as runtime from "./runtime/index.js";
10
+ export * as conformal from "./conformal/index.js";
11
+ export * as robustness from "./robustness/index.js";
12
+ export * as keywordRegistry from "./keywordRegistry/index.js";
13
+ export * as tuning from "./tuning/index.js";
10
14
  export * as dataset from "./dataset/index.js";
11
15
  export * as components from "./components/index.js";
16
+ export * as viz from "./viz/index.js";
17
+ export * as dag from "./dag/index.js";
18
+ export * as chains from "./chains/index.js";
12
19
  export * as brand from "./brand/index.js";
13
20
  export * as styles from "./styles/index.js";
14
21
  export * as lab from "./lab/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,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,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,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
+ * Keyword/effect registry foundation — public surface.
3
+ *
4
+ * Pure helpers for consuming the full Python `nirs4all` keyword registry as a
5
+ * metadata contract in Studio/Web hosts. This layer validates and projects the
6
+ * registry document; it does not execute keywords or infer runtime support.
7
+ */
8
+ export * from "./registry.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keywordRegistry/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Keyword/effect registry foundation — public surface.
3
+ *
4
+ * Pure helpers for consuming the full Python `nirs4all` keyword registry as a
5
+ * metadata contract in Studio/Web hosts. This layer validates and projects the
6
+ * registry document; it does not execute keywords or infer runtime support.
7
+ */
8
+ export * from "./registry.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keywordRegistry/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,eAAe,CAAC"}
@@ -0,0 +1,107 @@
1
+ export declare const KEYWORD_REGISTRY_SCHEMA_ID: "https://nirs4all.org/schemas/keyword-effects/v1";
2
+ export declare const KEYWORD_REGISTRY_SCHEMA_VERSION: 1;
3
+ export type KeywordRegistryStatus = "supported" | "partial" | "planned";
4
+ export type KeywordRegistryInvalidation = "always" | "if_predictor_changes" | "replaces_existing" | "extends_existing" | "mode_dependent" | "not_applicable";
5
+ export interface KeywordRegistryAlias {
6
+ kind: "token" | "value";
7
+ name: string;
8
+ canonical: string;
9
+ mode: "read_only";
10
+ }
11
+ export interface KeywordRegistryUiHint {
12
+ label: string;
13
+ group: string;
14
+ control: string;
15
+ order: number;
16
+ }
17
+ export interface KeywordRegistryEntry {
18
+ aliases: readonly KeywordRegistryAlias[];
19
+ canonical_term: string;
20
+ changes: readonly string[];
21
+ docs_anchor: string;
22
+ engine_support: Record<string, string>;
23
+ id: string;
24
+ invalidates_calibration: KeywordRegistryInvalidation;
25
+ lifecycle_stage: string;
26
+ path: string;
27
+ reads: readonly string[];
28
+ scope: string;
29
+ status: KeywordRegistryStatus;
30
+ summary: string;
31
+ surface: string;
32
+ token: string;
33
+ ui: KeywordRegistryUiHint;
34
+ value_schema: Record<string, unknown>;
35
+ }
36
+ export interface KeywordRegistryDocument {
37
+ entries: readonly KeywordRegistryEntry[];
38
+ registry_version: string;
39
+ schema_id: typeof KEYWORD_REGISTRY_SCHEMA_ID;
40
+ schema_version: typeof KEYWORD_REGISTRY_SCHEMA_VERSION;
41
+ scope: string;
42
+ }
43
+ export interface KeywordRegistryFieldView {
44
+ control: string;
45
+ docsAnchor: string;
46
+ engineSupport: Record<string, string>;
47
+ group: string;
48
+ id: string;
49
+ invalidatesCalibration: KeywordRegistryInvalidation;
50
+ label: string;
51
+ order: number;
52
+ path: string;
53
+ status: KeywordRegistryStatus;
54
+ summary: string;
55
+ valueSchema: Record<string, unknown>;
56
+ }
57
+ export interface KeywordRegistryFormSection {
58
+ fields: KeywordRegistryFieldView[];
59
+ group: string;
60
+ label: string;
61
+ order: number;
62
+ }
63
+ export interface KeywordRegistryValueOption {
64
+ label: string;
65
+ value: unknown;
66
+ }
67
+ export declare const WORKSPACE_PREDICTION_PUBLICATION_KEYWORD_IDS: readonly ["predict.save_to_workspace", "predict.workspace_metadata", "predict.workspace_result_metadata"];
68
+ export type WorkspacePredictionPublicationKeywordId = typeof WORKSPACE_PREDICTION_PUBLICATION_KEYWORD_IDS[number];
69
+ export declare const WORKSPACE_PREDICTION_PUBLICATION_EFFECTS: readonly ["workspace_prediction_rows", "prediction_arrays", "result_metadata", "workspace_prediction_id", "prediction_sample_metadata", "robustness_evidence"];
70
+ export declare const WORKSPACE_PREDICTION_PUBLICATION_DESTINATION: "result_metadata.robustness_evidence";
71
+ export declare const WORKSPACE_PREDICTION_PUBLICATION_DOCS_ANCHOR: "workspace-prediction-bridge";
72
+ export interface KeywordRegistryWorkspacePredictionPublicationContract {
73
+ complete: boolean;
74
+ docsAnchor: typeof WORKSPACE_PREDICTION_PUBLICATION_DOCS_ANCHOR;
75
+ effects: readonly string[];
76
+ fields: KeywordRegistryFieldView[];
77
+ keywordIds: readonly WorkspacePredictionPublicationKeywordId[];
78
+ missingKeywordIds: WorkspacePredictionPublicationKeywordId[];
79
+ robustnessEvidenceDestination: typeof WORKSPACE_PREDICTION_PUBLICATION_DESTINATION;
80
+ }
81
+ export interface KeywordRegistryEntryQuery {
82
+ alias?: string;
83
+ id?: string;
84
+ path?: string;
85
+ surface?: string;
86
+ token?: string;
87
+ }
88
+ export declare function isKeywordRegistryEntry(value: unknown): value is KeywordRegistryEntry;
89
+ export declare function isKeywordRegistryDocument(value: unknown): value is KeywordRegistryDocument;
90
+ export declare function parseKeywordRegistryDocument(value: unknown): KeywordRegistryDocument;
91
+ export declare function keywordRegistryEntriesById(registry: KeywordRegistryDocument): ReadonlyMap<string, KeywordRegistryEntry>;
92
+ export declare function keywordRegistryEntriesByPath(registry: KeywordRegistryDocument): ReadonlyMap<string, KeywordRegistryEntry>;
93
+ export declare function getKeywordRegistryEntry(registry: KeywordRegistryDocument, id: string): KeywordRegistryEntry | undefined;
94
+ export declare function findKeywordRegistryEntries(registry: KeywordRegistryDocument, query: KeywordRegistryEntryQuery): KeywordRegistryEntry[];
95
+ export declare function findKeywordRegistryEntriesByScope(registry: KeywordRegistryDocument, scope: string): KeywordRegistryEntry[];
96
+ export declare function resolveKeywordRegistryEntry(registry: KeywordRegistryDocument, query: KeywordRegistryEntryQuery): KeywordRegistryEntry | undefined;
97
+ export declare function createKeywordRegistryFieldViews(registry: KeywordRegistryDocument, options?: {
98
+ group?: string;
99
+ status?: KeywordRegistryStatus;
100
+ }): KeywordRegistryFieldView[];
101
+ export declare function createKeywordRegistryOptimizerPersistenceFields(registry: KeywordRegistryDocument): KeywordRegistryFieldView[];
102
+ export declare function createKeywordRegistryWorkspacePredictionPublicationContract(registry: KeywordRegistryDocument): KeywordRegistryWorkspacePredictionPublicationContract;
103
+ export declare function getKeywordRegistryValueOptions(entry: Pick<KeywordRegistryEntry, "value_schema">): KeywordRegistryValueOption[];
104
+ export declare function createKeywordRegistryFormSections(registry: KeywordRegistryDocument, options?: {
105
+ status?: KeywordRegistryStatus;
106
+ }): KeywordRegistryFormSection[];
107
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/keywordRegistry/registry.ts"],"names":[],"mappings":"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"}