universal-physics-tensor 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/bin/upt.mjs +9 -830
  2. package/dist/bridges/confrontation-coverage.d.ts +15 -0
  3. package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
  4. package/dist/bridges/confrontation-coverage.js +6 -1
  5. package/dist/bridges/confrontation-coverage.js.map +1 -1
  6. package/dist/bridges/descriptor.d.ts +54 -0
  7. package/dist/bridges/descriptor.d.ts.map +1 -0
  8. package/dist/bridges/descriptor.js +67 -0
  9. package/dist/bridges/descriptor.js.map +1 -0
  10. package/dist/bridges/equations/_be-helpers.d.ts +1 -2
  11. package/dist/bridges/equations/_be-helpers.d.ts.map +1 -1
  12. package/dist/bridges/equations/_be-helpers.js +3 -3
  13. package/dist/bridges/equations/_be-helpers.js.map +1 -1
  14. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +1 -1
  15. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  16. package/dist/bridges/equations/be-20-vacuum-energy.js +5 -3
  17. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  18. package/dist/bridges/equations/be-21-kss-bound.d.ts +1 -1
  19. package/dist/bridges/equations/be-21-kss-bound.js +1 -1
  20. package/dist/bridges/equations/be-25-iit-phi.d.ts +12 -16
  21. package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -1
  22. package/dist/bridges/equations/be-25-iit-phi.js +12 -16
  23. package/dist/bridges/equations/be-25-iit-phi.js.map +1 -1
  24. package/dist/bridges/equations/be-26-dna-tunneling.d.ts +6 -6
  25. package/dist/bridges/equations/be-26-dna-tunneling.js +6 -6
  26. package/dist/bridges/equations/be-40-composite-higgs.d.ts +9 -7
  27. package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -1
  28. package/dist/bridges/equations/be-40-composite-higgs.js +9 -7
  29. package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -1
  30. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +0 -34
  31. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -1
  32. package/dist/bridges/equations/be-50-wheeler-feynman.js +1 -1
  33. package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -1
  34. package/dist/canonical/entries/_l1-build.d.ts +4 -5
  35. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  36. package/dist/canonical/entries/_l1-build.js +3 -11
  37. package/dist/canonical/entries/_l1-build.js.map +1 -1
  38. package/dist/canonical/entries/atomic.d.ts +6 -5
  39. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  40. package/dist/canonical/entries/atomic.js +61 -1
  41. package/dist/canonical/entries/atomic.js.map +1 -1
  42. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  43. package/dist/canonical/entries/dimensional-classics.js +1 -10
  44. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  45. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  46. package/dist/canonical/entries/electromagnetism.js +49 -1
  47. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  48. package/dist/canonical/entries/relativity.d.ts +0 -3
  49. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  50. package/dist/canonical/entries/relativity.js +51 -3
  51. package/dist/canonical/entries/relativity.js.map +1 -1
  52. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts +7 -4
  53. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  54. package/dist/canonical/entries/thermo-nuclear-cosmo.js +117 -1
  55. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  56. package/dist/canonical/linkage.d.ts +5 -0
  57. package/dist/canonical/linkage.d.ts.map +1 -1
  58. package/dist/canonical/linkage.js +54 -24
  59. package/dist/canonical/linkage.js.map +1 -1
  60. package/dist/canonical/registry.d.ts +6 -1
  61. package/dist/canonical/registry.d.ts.map +1 -1
  62. package/dist/canonical/registry.js +6 -5
  63. package/dist/canonical/registry.js.map +1 -1
  64. package/dist/cli/args.d.ts +23 -0
  65. package/dist/cli/args.d.ts.map +1 -0
  66. package/dist/cli/args.js +74 -0
  67. package/dist/cli/args.js.map +1 -0
  68. package/dist/cli/command.d.ts +46 -0
  69. package/dist/cli/command.d.ts.map +1 -0
  70. package/dist/cli/command.js +51 -0
  71. package/dist/cli/command.js.map +1 -0
  72. package/dist/cli/commands/_discovery-opts.d.ts +16 -0
  73. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -0
  74. package/dist/cli/commands/_discovery-opts.js +33 -0
  75. package/dist/cli/commands/_discovery-opts.js.map +1 -0
  76. package/dist/cli/commands/audit.d.ts +3 -0
  77. package/dist/cli/commands/audit.d.ts.map +1 -0
  78. package/dist/cli/commands/audit.js +71 -0
  79. package/dist/cli/commands/audit.js.map +1 -0
  80. package/dist/cli/commands/candidates.d.ts +3 -0
  81. package/dist/cli/commands/candidates.d.ts.map +1 -0
  82. package/dist/cli/commands/candidates.js +46 -0
  83. package/dist/cli/commands/candidates.js.map +1 -0
  84. package/dist/cli/commands/canonical.d.ts +3 -0
  85. package/dist/cli/commands/canonical.d.ts.map +1 -0
  86. package/dist/cli/commands/canonical.js +38 -0
  87. package/dist/cli/commands/canonical.js.map +1 -0
  88. package/dist/cli/commands/connectors.d.ts +3 -0
  89. package/dist/cli/commands/connectors.d.ts.map +1 -0
  90. package/dist/cli/commands/connectors.js +51 -0
  91. package/dist/cli/commands/connectors.js.map +1 -0
  92. package/dist/cli/commands/coverage.d.ts +3 -0
  93. package/dist/cli/commands/coverage.d.ts.map +1 -0
  94. package/dist/cli/commands/coverage.js +39 -0
  95. package/dist/cli/commands/coverage.js.map +1 -0
  96. package/dist/cli/commands/derive.d.ts +3 -0
  97. package/dist/cli/commands/derive.d.ts.map +1 -0
  98. package/dist/cli/commands/derive.js +143 -0
  99. package/dist/cli/commands/derive.js.map +1 -0
  100. package/dist/cli/commands/discover.d.ts +3 -0
  101. package/dist/cli/commands/discover.d.ts.map +1 -0
  102. package/dist/cli/commands/discover.js +200 -0
  103. package/dist/cli/commands/discover.js.map +1 -0
  104. package/dist/cli/commands/eval.d.ts +3 -0
  105. package/dist/cli/commands/eval.d.ts.map +1 -0
  106. package/dist/cli/commands/eval.js +64 -0
  107. package/dist/cli/commands/eval.js.map +1 -0
  108. package/dist/cli/commands/explain.d.ts +3 -0
  109. package/dist/cli/commands/explain.d.ts.map +1 -0
  110. package/dist/cli/commands/explain.js +81 -0
  111. package/dist/cli/commands/explain.js.map +1 -0
  112. package/dist/cli/commands/index.d.ts +21 -0
  113. package/dist/cli/commands/index.d.ts.map +1 -0
  114. package/dist/cli/commands/index.js +21 -0
  115. package/dist/cli/commands/index.js.map +1 -0
  116. package/dist/cli/commands/map.d.ts +3 -0
  117. package/dist/cli/commands/map.d.ts.map +1 -0
  118. package/dist/cli/commands/map.js +245 -0
  119. package/dist/cli/commands/map.js.map +1 -0
  120. package/dist/cli/commands/predict.d.ts +3 -0
  121. package/dist/cli/commands/predict.d.ts.map +1 -0
  122. package/dist/cli/commands/predict.js +54 -0
  123. package/dist/cli/commands/predict.js.map +1 -0
  124. package/dist/cli/commands/priority.d.ts +3 -0
  125. package/dist/cli/commands/priority.d.ts.map +1 -0
  126. package/dist/cli/commands/priority.js +63 -0
  127. package/dist/cli/commands/priority.js.map +1 -0
  128. package/dist/cli/commands/recover.d.ts +3 -0
  129. package/dist/cli/commands/recover.d.ts.map +1 -0
  130. package/dist/cli/commands/recover.js +51 -0
  131. package/dist/cli/commands/recover.js.map +1 -0
  132. package/dist/cli/commands/symbolic.d.ts +3 -0
  133. package/dist/cli/commands/symbolic.d.ts.map +1 -0
  134. package/dist/cli/commands/symbolic.js +110 -0
  135. package/dist/cli/commands/symbolic.js.map +1 -0
  136. package/dist/cli/errors.d.ts +14 -0
  137. package/dist/cli/errors.d.ts.map +1 -0
  138. package/dist/cli/errors.js +20 -0
  139. package/dist/cli/errors.js.map +1 -0
  140. package/dist/cli/graphs.d.ts +16 -0
  141. package/dist/cli/graphs.d.ts.map +1 -0
  142. package/dist/cli/graphs.js +30 -0
  143. package/dist/cli/graphs.js.map +1 -0
  144. package/dist/cli/main.d.ts +33 -0
  145. package/dist/cli/main.d.ts.map +1 -0
  146. package/dist/cli/main.js +219 -0
  147. package/dist/cli/main.js.map +1 -0
  148. package/dist/cli/output.d.ts +19 -0
  149. package/dist/cli/output.d.ts.map +1 -0
  150. package/dist/cli/output.js +57 -0
  151. package/dist/cli/output.js.map +1 -0
  152. package/dist/cli/version.d.ts +11 -0
  153. package/dist/cli/version.d.ts.map +1 -0
  154. package/dist/cli/version.js +16 -0
  155. package/dist/cli/version.js.map +1 -0
  156. package/dist/cli-api.d.ts +30 -0
  157. package/dist/cli-api.d.ts.map +1 -0
  158. package/dist/cli-api.js +34 -0
  159. package/dist/cli-api.js.map +1 -0
  160. package/dist/composition/adjudication.d.ts +86 -0
  161. package/dist/composition/adjudication.d.ts.map +1 -0
  162. package/dist/composition/adjudication.js +125 -0
  163. package/dist/composition/adjudication.js.map +1 -0
  164. package/dist/composition/bridge-analysis.d.ts +13 -15
  165. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  166. package/dist/composition/bridge-analysis.js +54 -39
  167. package/dist/composition/bridge-analysis.js.map +1 -1
  168. package/dist/composition/bridge-prediction.d.ts +4 -3
  169. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  170. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  171. package/dist/composition/compose-symbolic.js +12 -0
  172. package/dist/composition/compose-symbolic.js.map +1 -1
  173. package/dist/composition/discovery.d.ts.map +1 -1
  174. package/dist/composition/discovery.js +40 -12
  175. package/dist/composition/discovery.js.map +1 -1
  176. package/dist/composition/edges/_catalog-helpers.d.ts +34 -0
  177. package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -0
  178. package/dist/composition/edges/_catalog-helpers.js +75 -0
  179. package/dist/composition/edges/_catalog-helpers.js.map +1 -0
  180. package/dist/composition/edges/calibration.d.ts.map +1 -1
  181. package/dist/composition/edges/calibration.js +1 -1
  182. package/dist/composition/edges/calibration.js.map +1 -1
  183. package/dist/composition/edges/catalog-condensed-matter.d.ts +64 -0
  184. package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -0
  185. package/dist/composition/edges/catalog-condensed-matter.js +226 -0
  186. package/dist/composition/edges/catalog-condensed-matter.js.map +1 -0
  187. package/dist/composition/edges/catalog-fields.d.ts +68 -0
  188. package/dist/composition/edges/catalog-fields.d.ts.map +1 -0
  189. package/dist/composition/edges/catalog-fields.js +206 -0
  190. package/dist/composition/edges/catalog-fields.js.map +1 -0
  191. package/dist/composition/edges/catalog-full.d.ts +5 -263
  192. package/dist/composition/edges/catalog-full.d.ts.map +1 -1
  193. package/dist/composition/edges/catalog-full.js +9 -959
  194. package/dist/composition/edges/catalog-full.js.map +1 -1
  195. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +80 -0
  196. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -0
  197. package/dist/composition/edges/catalog-gravitation-cosmology.js +245 -0
  198. package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -0
  199. package/dist/composition/edges/catalog-quantum.d.ts +85 -0
  200. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -0
  201. package/dist/composition/edges/catalog-quantum.js +252 -0
  202. package/dist/composition/edges/catalog-quantum.js.map +1 -0
  203. package/dist/composition/expr-simplify.d.ts +2 -6
  204. package/dist/composition/expr-simplify.d.ts.map +1 -1
  205. package/dist/composition/expr-simplify.js +1 -1
  206. package/dist/composition/expr-simplify.js.map +1 -1
  207. package/dist/composition/expr-subst.d.ts +2 -1
  208. package/dist/composition/expr-subst.d.ts.map +1 -1
  209. package/dist/composition/proposed-bridges.d.ts +4 -4
  210. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  211. package/dist/composition/proposed-bridges.js +1 -3
  212. package/dist/composition/proposed-bridges.js.map +1 -1
  213. package/dist/composition/quantities/_dims.d.ts +35 -0
  214. package/dist/composition/quantities/_dims.d.ts.map +1 -0
  215. package/dist/composition/quantities/_dims.js +45 -0
  216. package/dist/composition/quantities/_dims.js.map +1 -0
  217. package/dist/composition/quantities/common.d.ts +69 -0
  218. package/dist/composition/quantities/common.d.ts.map +1 -0
  219. package/dist/composition/quantities/common.js +200 -0
  220. package/dist/composition/quantities/common.js.map +1 -0
  221. package/dist/composition/quantities/condensed-matter.d.ts +63 -0
  222. package/dist/composition/quantities/condensed-matter.d.ts.map +1 -0
  223. package/dist/composition/quantities/condensed-matter.js +185 -0
  224. package/dist/composition/quantities/condensed-matter.js.map +1 -0
  225. package/dist/composition/quantities/fields.d.ts +59 -0
  226. package/dist/composition/quantities/fields.d.ts.map +1 -0
  227. package/dist/composition/quantities/fields.js +171 -0
  228. package/dist/composition/quantities/fields.js.map +1 -0
  229. package/dist/composition/quantities/gravitation-cosmology.d.ts +67 -0
  230. package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -0
  231. package/dist/composition/quantities/gravitation-cosmology.js +199 -0
  232. package/dist/composition/quantities/gravitation-cosmology.js.map +1 -0
  233. package/dist/composition/quantities/quantum.d.ts +61 -0
  234. package/dist/composition/quantities/quantum.d.ts.map +1 -0
  235. package/dist/composition/quantities/quantum.js +178 -0
  236. package/dist/composition/quantities/quantum.js.map +1 -0
  237. package/dist/composition/quantities.d.ts +5 -263
  238. package/dist/composition/quantities.d.ts.map +1 -1
  239. package/dist/composition/quantities.js +7 -983
  240. package/dist/composition/quantities.js.map +1 -1
  241. package/dist/composition/retrodiction.d.ts.map +1 -1
  242. package/dist/composition/retrodiction.js +15 -3
  243. package/dist/composition/retrodiction.js.map +1 -1
  244. package/dist/composition/symbolic-constants.d.ts +3 -2
  245. package/dist/composition/symbolic-constants.d.ts.map +1 -1
  246. package/dist/core/tensor.d.ts +6 -0
  247. package/dist/core/tensor.d.ts.map +1 -1
  248. package/dist/core/tensor.js +6 -0
  249. package/dist/core/tensor.js.map +1 -1
  250. package/dist/diff/bridge-ast-gradient.js +1 -1
  251. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  252. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  253. package/dist/diff/bridge-gradient.js +15 -4
  254. package/dist/diff/bridge-gradient.js.map +1 -1
  255. package/dist/dimensional/algebra.d.ts +24 -0
  256. package/dist/dimensional/algebra.d.ts.map +1 -1
  257. package/dist/dimensional/algebra.js +31 -5
  258. package/dist/dimensional/algebra.js.map +1 -1
  259. package/dist/dimensional/ast-builders.d.ts +25 -0
  260. package/dist/dimensional/ast-builders.d.ts.map +1 -0
  261. package/dist/dimensional/ast-builders.js +27 -0
  262. package/dist/dimensional/ast-builders.js.map +1 -0
  263. package/dist/dimensional/ast-types.d.ts +193 -0
  264. package/dist/dimensional/ast-types.d.ts.map +1 -0
  265. package/dist/dimensional/ast-types.js +20 -0
  266. package/dist/dimensional/ast-types.js.map +1 -0
  267. package/dist/dimensional/buckingham.d.ts.map +1 -1
  268. package/dist/dimensional/buckingham.js +7 -4
  269. package/dist/dimensional/buckingham.js.map +1 -1
  270. package/dist/dimensional/connection-validators.d.ts +3 -38
  271. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  272. package/dist/dimensional/connection-validators.js.map +1 -1
  273. package/dist/dimensional/connection.d.ts.map +1 -1
  274. package/dist/dimensional/connection.js +9 -0
  275. package/dist/dimensional/connection.js.map +1 -1
  276. package/dist/dimensional/curvature-composite.d.ts +2 -1
  277. package/dist/dimensional/curvature-composite.d.ts.map +1 -1
  278. package/dist/dimensional/curvature-invariants.d.ts +2 -11
  279. package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
  280. package/dist/dimensional/curvature-invariants.js.map +1 -1
  281. package/dist/dimensional/curvature.d.ts +5 -24
  282. package/dist/dimensional/curvature.d.ts.map +1 -1
  283. package/dist/dimensional/curvature.js.map +1 -1
  284. package/dist/dimensional/dimension-inference.d.ts.map +1 -1
  285. package/dist/dimensional/dimension-inference.js +11 -5
  286. package/dist/dimensional/dimension-inference.js.map +1 -1
  287. package/dist/dimensional/einstein-equation.d.ts +2 -11
  288. package/dist/dimensional/einstein-equation.d.ts.map +1 -1
  289. package/dist/dimensional/einstein-equation.js.map +1 -1
  290. package/dist/dimensional/killing-validators.d.ts +2 -19
  291. package/dist/dimensional/killing-validators.d.ts.map +1 -1
  292. package/dist/dimensional/killing-validators.js.map +1 -1
  293. package/dist/dimensional/metric-validators.d.ts +5 -39
  294. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  295. package/dist/dimensional/metric-validators.js.map +1 -1
  296. package/dist/dimensional/stress-energy-validators.d.ts +2 -21
  297. package/dist/dimensional/stress-energy-validators.d.ts.map +1 -1
  298. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  299. package/dist/dimensional/tensor.d.ts +2 -32
  300. package/dist/dimensional/tensor.d.ts.map +1 -1
  301. package/dist/dimensional/tensor.js.map +1 -1
  302. package/dist/dimensional/validator.d.ts +12 -58
  303. package/dist/dimensional/validator.d.ts.map +1 -1
  304. package/dist/dimensional/validator.js +12 -9
  305. package/dist/dimensional/validator.js.map +1 -1
  306. package/dist/dimensional/weyl-validators.d.ts +2 -18
  307. package/dist/dimensional/weyl-validators.d.ts.map +1 -1
  308. package/dist/dimensional/weyl-validators.js.map +1 -1
  309. package/dist/index.d.ts +2 -0
  310. package/dist/index.d.ts.map +1 -1
  311. package/dist/index.js +5 -0
  312. package/dist/index.js.map +1 -1
  313. package/dist/numerical/be37-covariant-eikonal.d.ts +12 -11
  314. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
  315. package/dist/numerical/be37-covariant-eikonal.js +23 -8
  316. package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
  317. package/dist/numerical/christoffel-flat.d.ts +10 -1
  318. package/dist/numerical/christoffel-flat.d.ts.map +1 -1
  319. package/dist/numerical/christoffel-flat.js +11 -2
  320. package/dist/numerical/christoffel-flat.js.map +1 -1
  321. package/dist/numerical/curvature-lowering-helpers.d.ts +4 -1
  322. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  323. package/dist/numerical/curvature-lowering-helpers.js +72 -14
  324. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  325. package/dist/numerical/engine-registry.d.ts.map +1 -1
  326. package/dist/numerical/engine-registry.js +11 -0
  327. package/dist/numerical/engine-registry.js.map +1 -1
  328. package/dist/numerical/float64-engine.d.ts.map +1 -1
  329. package/dist/numerical/float64-engine.js +20 -28
  330. package/dist/numerical/float64-engine.js.map +1 -1
  331. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  332. package/dist/numerical/formula-dimension.js +1 -1
  333. package/dist/numerical/formula-dimension.js.map +1 -1
  334. package/dist/numerical/formula.d.ts +0 -2
  335. package/dist/numerical/formula.d.ts.map +1 -1
  336. package/dist/numerical/formula.js +7 -3
  337. package/dist/numerical/formula.js.map +1 -1
  338. package/dist/numerical/geodesic-integrator.d.ts +6 -1
  339. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  340. package/dist/numerical/geodesic-integrator.js +14 -6
  341. package/dist/numerical/geodesic-integrator.js.map +1 -1
  342. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  343. package/dist/numerical/gl4-integrator.js +106 -43
  344. package/dist/numerical/gl4-integrator.js.map +1 -1
  345. package/dist/numerical/lowering.d.ts.map +1 -1
  346. package/dist/numerical/lowering.js +8 -5
  347. package/dist/numerical/lowering.js.map +1 -1
  348. package/dist/numerical/null-ic.d.ts +4 -3
  349. package/dist/numerical/null-ic.d.ts.map +1 -1
  350. package/dist/numerical/null-ic.js +4 -3
  351. package/dist/numerical/null-ic.js.map +1 -1
  352. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  353. package/dist/numerical/perihelion-finder.js +15 -1
  354. package/dist/numerical/perihelion-finder.js.map +1 -1
  355. package/dist/numerical/quadrature.d.ts +3 -2
  356. package/dist/numerical/quadrature.d.ts.map +1 -1
  357. package/dist/numerical/quadrature.js +8 -1
  358. package/dist/numerical/quadrature.js.map +1 -1
  359. package/dist/numerical/weyl-lowering.d.ts.map +1 -1
  360. package/dist/numerical/weyl-lowering.js +28 -2
  361. package/dist/numerical/weyl-lowering.js.map +1 -1
  362. package/package.json +3 -2
  363. package/dist/canonical/entries/l1-gravity-thermo.d.ts +0 -12
  364. package/dist/canonical/entries/l1-gravity-thermo.d.ts.map +0 -1
  365. package/dist/canonical/entries/l1-gravity-thermo.js +0 -165
  366. package/dist/canonical/entries/l1-gravity-thermo.js.map +0 -1
  367. package/dist/canonical/entries/l1-quantum-em.d.ts +0 -10
  368. package/dist/canonical/entries/l1-quantum-em.d.ts.map +0 -1
  369. package/dist/canonical/entries/l1-quantum-em.js +0 -141
  370. package/dist/canonical/entries/l1-quantum-em.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Typed error classes for the UPT CLI.
3
+ *
4
+ * `UsageError` signals a malformed invocation (bad flags, missing values,
5
+ * unknown flags) — callers map it to exit code 2. `CliError` signals a
6
+ * runtime failure within an otherwise well-formed invocation — exit code 1.
7
+ */
8
+ export class UsageError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = 'UsageError';
12
+ }
13
+ }
14
+ export class CliError extends Error {
15
+ constructor(message) {
16
+ super(message);
17
+ this.name = 'CliError';
18
+ }
19
+ }
20
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/cli/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared `--source=catalog|canonical|both` graph resolution — replaces
3
+ * `bin/upt.mjs`'s `resolveGraph` (lines 53-67). Every analysis command
4
+ * (`discover` / `candidates` / `map` / ...) that accepts `--source` calls
5
+ * this once to get the graph + a human-readable label for its banner.
6
+ */
7
+ import type { BridgeEdge } from '../composition/edge.js';
8
+ import type { ParsedArgs } from './args.js';
9
+ import type { CommandCtx } from './command.js';
10
+ export type SourceName = 'catalog' | 'canonical' | 'both';
11
+ export declare function resolveGraph(api: CommandCtx['api'], flags: ParsedArgs['flags']): {
12
+ graph: BridgeEdge[];
13
+ label: string;
14
+ source: SourceName;
15
+ };
16
+ //# sourceMappingURL=graphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphs.d.ts","sourceRoot":"","sources":["../../src/cli/graphs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAE1D,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GACzB;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAsB5D"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared `--source=catalog|canonical|both` graph resolution — replaces
3
+ * `bin/upt.mjs`'s `resolveGraph` (lines 53-67). Every analysis command
4
+ * (`discover` / `candidates` / `map` / ...) that accepts `--source` calls
5
+ * this once to get the graph + a human-readable label for its banner.
6
+ */
7
+ import { CliError } from './errors.js';
8
+ export function resolveGraph(api, flags) {
9
+ const values = flags.get('source');
10
+ const src = values && values.length > 0 ? values[values.length - 1] : 'catalog';
11
+ switch (src) {
12
+ case 'catalog':
13
+ return { graph: [...api.CATALOG_GRAPH], label: 'catalog (44-bridge)', source: 'catalog' };
14
+ case 'canonical':
15
+ return {
16
+ graph: [...api.CANONICAL_GRAPH],
17
+ label: 'canonical (standard-physics L-layer, bridges excluded)',
18
+ source: 'canonical',
19
+ };
20
+ case 'both':
21
+ return {
22
+ graph: [...api.CATALOG_GRAPH, ...api.CANONICAL_GRAPH],
23
+ label: 'catalog + canonical',
24
+ source: 'both',
25
+ };
26
+ default:
27
+ throw new CliError(`upt: unknown --source='${src}' (expected: catalog | canonical | both)`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=graphs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphs.js","sourceRoot":"","sources":["../../src/cli/graphs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,MAAM,UAAU,YAAY,CAC1B,GAAsB,EACtB,KAA0B;IAE1B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC5F,KAAK,WAAW;YACd,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC;gBAC/B,KAAK,EAAE,wDAAwD;gBAC/D,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC;gBACrD,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE,MAAM;aACf,CAAC;QACJ;YACE,MAAM,IAAI,QAAQ,CAAC,0BAA0B,GAAG,0CAA0C,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Verb-first dispatcher for the UPT CLI — `upt <command> [args...]`.
3
+ *
4
+ * Owns: top-level `help`/`version` handling, the no-args demo, unknown-verb
5
+ * exit-2 contract, and per-command dispatch (parse -> run -> map thrown
6
+ * UsageError/CliError to the documented exit codes). Individual commands are
7
+ * plain data (see `command.ts`) registered via `registerCommand`; this file
8
+ * never special-cases a command by name, so later tasks add commands without
9
+ * touching `runCli`'s body.
10
+ *
11
+ * `main.ts` is the one place that imports the real `cli-api.js` barrel and
12
+ * wires `out`/`err`/`write` to real stdio — every `Command.run` receives
13
+ * those as an injected `CommandCtx`, never reaching for `process.*` itself,
14
+ * which is what makes commands testable in-process against `dist/cli/*.js`.
15
+ */
16
+ import './commands/index.js';
17
+ /** Writer surface `runCli` needs. In production these wrap `process.stdout`/
18
+ * `process.stderr` with exact `console.log`/`console.error` semantics; tests
19
+ * pass a capturing stand-in as the optional second argument. Kept as an
20
+ * unexported inline shape (not part of the CLI's public surface). */
21
+ type Io = {
22
+ out: (line?: string) => void;
23
+ err: (line?: string) => void;
24
+ write: (s: string) => void;
25
+ };
26
+ /**
27
+ * Verb-first CLI entry point. `argv` is the command + its arguments (NOT
28
+ * `process.argv` — callers slice off the node/script prefix themselves, as
29
+ * `bin/upt.mjs` did with `process.argv.slice(2)`).
30
+ */
31
+ export declare function runCli(argv: string[], io?: Io): Promise<number>;
32
+ export {};
33
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,qBAAqB,CAAC;AAE7B;;;qEAGqE;AACrE,KAAK,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AAwIF;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,EAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAmEhF"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Verb-first dispatcher for the UPT CLI — `upt <command> [args...]`.
3
+ *
4
+ * Owns: top-level `help`/`version` handling, the no-args demo, unknown-verb
5
+ * exit-2 contract, and per-command dispatch (parse -> run -> map thrown
6
+ * UsageError/CliError to the documented exit codes). Individual commands are
7
+ * plain data (see `command.ts`) registered via `registerCommand`; this file
8
+ * never special-cases a command by name, so later tasks add commands without
9
+ * touching `runCli`'s body.
10
+ *
11
+ * `main.ts` is the one place that imports the real `cli-api.js` barrel and
12
+ * wires `out`/`err`/`write` to real stdio — every `Command.run` receives
13
+ * those as an injected `CommandCtx`, never reaching for `process.*` itself,
14
+ * which is what makes commands testable in-process against `dist/cli/*.js`.
15
+ */
16
+ import * as api from '../cli-api.js';
17
+ import { UsageError, CliError } from './errors.js';
18
+ import { parseArgs } from './args.js';
19
+ import { packageVersion } from './version.js';
20
+ import { resolveCommand } from './command.js';
21
+ // Side-effect import: registers every ported command (see commands/index.ts).
22
+ import './commands/index.js';
23
+ function stdoutLine(line) {
24
+ process.stdout.write((line ?? '') + '\n');
25
+ }
26
+ function stderrLine(line) {
27
+ process.stderr.write((line ?? '') + '\n');
28
+ }
29
+ function stdoutRaw(s) {
30
+ process.stdout.write(s);
31
+ }
32
+ const defaultIo = { out: stdoutLine, err: stderrLine, write: stdoutRaw };
33
+ const unknownCommandMessage = (name) => `Unknown command '${name}'. See \`upt help\`.`;
34
+ // Verbatim from bin/upt.mjs's `help()` (lines 71-179), plus two lines at the
35
+ // end documenting `upt version` and the global `--json` flag. Do NOT hand-edit
36
+ // tests/cli/golden/help.txt against this — that golden pins the OLD bin/upt.mjs
37
+ // and is only regenerated in Task 8, once main.ts becomes the live CLI.
38
+ const HELP_TEXT = `upt — Universal Physics Tensor bridge-inference CLI
39
+
40
+ Usage:
41
+ upt explain <quantity> [name=value | name] ...
42
+ Explain how the graph determines a quantity: the identifiability
43
+ verdict, recovered value, derivation chains, and whether the inputs
44
+ are dimensionally sufficient.
45
+ e.g. upt explain hawking-temperature mass=1.989e30
46
+
47
+ upt priority
48
+ Triage the speculative bridges by structural DECIDABILITY against
49
+ established physics (Tiers 1-3). NOT a credibility ranking.
50
+
51
+ upt audit
52
+ Try to derive every built-in bridge equation by dimensions: which
53
+ re-derive as a recognized monomial (with the prefactor recovered),
54
+ which are decoys, which are dimensionally open.
55
+
56
+ upt map [--source=catalog|canonical|both] [--format=text|mermaid|dot|svg]
57
+ [--proposed] [--out=PATH] [--equation "TARGET = EXPR"]
58
+ Map how the equations LINK: connected components (clusters) of the
59
+ graph by shared quantities, the anchored core, the link hubs, and
60
+ the isolated tail.
61
+ --format=mermaid|dot|svg emits the VISUAL map (quantities = nodes,
62
+ equations = junctions colored by status, one subgraph per component).
63
+ text (default) is the unchanged linkage printout. svg renders the dot
64
+ layout via the optional @viz-js/viz peer (npm i @viz-js/viz; or pipe
65
+ dot through "dot -Tsvg"). --proposed overlays the unadjudicated
66
+ identity-consequence relations (gray dashed). --out writes to a file
67
+ (default stdout).
68
+ --equation "TARGET = EXPR" injects YOUR OWN equation as a violet 'user'
69
+ node and reports where it lands (which cluster / shared quantities), with
70
+ a "did you mean?" hint for names that miss the catalog vocabulary. Use
71
+ underscores for multi-word quantities (photon_energy -> photon-energy).
72
+ e.g. upt map --equation "period = 2*pi*sqrt(length/gravity)"
73
+
74
+ upt candidates [--source=catalog|canonical|both]
75
+ Propose candidate cross-cluster links (quantities of the same
76
+ dimension in different clusters) for PHYSICIST REVIEW — a
77
+ coincidence-heavy surface, not discovered bridges.
78
+
79
+ upt predict
80
+ Project the catalog onto the (scale × force) regime plane and rank
81
+ the EMPTY regime cells as undiscovered-connection hypotheses
82
+ (triadic closure). Makes the namesake tensor operational. Review
83
+ surface, not discovered bridges.
84
+
85
+ upt discover [--source=catalog|canonical|both]
86
+ VET the link candidates through the inference suite: hypothesise
87
+ each identification a≡b and test whether it merges disconnected
88
+ physics, unlocks quantities, and stays numerically consistent.
89
+ Ranks promising / inert / contradictory.
90
+ --source=canonical runs the funnel on the standard-physics L-layer
91
+ ALONE (bridges excluded) — new candidates from established physics,
92
+ and a self-consistency check (expect 0 contradictory).
93
+ --derive emits, for each 'promising' identification, the ONE algebraic
94
+ relation it implies (monomial elimination) as an UNADJUDICATED, math-only
95
+ proposal — NOT a bridge (Part-VI §XXVII-B). Pairs with --source=canonical.
96
+ --max-orders=N tunes the magnitude-clash threshold (default 3); looser N
97
+ keeps more candidates 'promising', tighter N falsifies more as clashes.
98
+ --anchor=k=v[,k2=v2] overrides the numeric anchor (default mass=M_sun)
99
+ for the consistency/closure check. Both reshape the candidate pool that
100
+ --derive consumes.
101
+
102
+ upt connectors
103
+ Of the 20 ISOLATED bridges, which could connect to the anchored
104
+ core via a same-dimension identification? The structural frontier —
105
+ same-kind connectors are the motivated set for physicist review.
106
+
107
+ upt coverage
108
+ Audit the catalog's empirical grounding — which bridges are
109
+ data-confronted vs graph-computable vs encoded-only vs thin — to
110
+ target the physicist review. Fabricates nothing.
111
+
112
+ upt canonical
113
+ List the canonical-equation registry — the standard-physics L-layer
114
+ (textbook "answer key") with each entry's fidelity (L0/L1/L2),
115
+ domain, and bridge partners, plus the coverage gap.
116
+
117
+ upt recover
118
+ Validate bridges against standard physics: classify each bridge↔
119
+ canonical link as restates-canonical (F4 circularity — NOT a
120
+ discovery), recovers (undeclared structural match), or
121
+ dimensional-only.
122
+
123
+ upt symbolic [--simplify]
124
+ Compose bridges' SYMBOLIC (AST) forms, not just their numeric
125
+ evaluators (the Observable contract). Shows the CT-1 / CT-1b chains
126
+ composed by substitution, dimensionally validated and evaluable.
127
+ With --simplify, folds the composed AST via MathTS (k_B cancels),
128
+ re-validated dimensionally + numerically.
129
+
130
+ upt eval "<formula>" name=value ...
131
+ Evaluate YOUR OWN scalar formula (safe — arithmetic only). Knows
132
+ pi/tau and sqrt/exp/ln/sin/...; any other name must be supplied.
133
+ e.g. upt eval "hbar*c^3/(8*pi*G*M*k_B)" hbar=1.054571817e-34 \\
134
+ c=299792458 G=6.6743e-11 M=1.989e30 k_B=1.380649e-23
135
+
136
+ upt derive <target:dim> <var:dim> ... [--formula "<expr>"]
137
+ Derive YOUR OWN equation's dimensional form. <dim> is a named
138
+ dimension (length, time, mass, velocity, ...), a constant (hbar, c,
139
+ G, k_B, e), or explicit (L^3.M^-1.T^-2). With --formula, also verify
140
+ it and recover the dimensionless prefactor.
141
+ e.g. upt derive period:time length:length gravity:acceleration \\
142
+ --formula "2*pi*sqrt(length/gravity)"
143
+
144
+ upt help Show this message.
145
+
146
+ Run with no arguments for a short demo.
147
+
148
+ upt version Show the installed CLI/package version.
149
+ --json Global flag: emit a machine-readable JSON envelope instead of
150
+ text (where the command supports it).`;
151
+ /**
152
+ * Verb-first CLI entry point. `argv` is the command + its arguments (NOT
153
+ * `process.argv` — callers slice off the node/script prefix themselves, as
154
+ * `bin/upt.mjs` did with `process.argv.slice(2)`).
155
+ */
156
+ export async function runCli(argv, io = defaultIo) {
157
+ const { out, err, write } = io;
158
+ try {
159
+ const [cmd, ...rest] = argv;
160
+ if (cmd === undefined) {
161
+ // Byte-identical to bin/upt.mjs's `case undefined` (lines 861-865): a
162
+ // banner line, then dispatch to the registered `explain` + `priority`
163
+ // commands with their historical demo arguments.
164
+ out('upt — bridge-inference CLI. Demo (run `upt help` for usage):');
165
+ const explainCmd = resolveCommand('explain');
166
+ if (!explainCmd) {
167
+ throw new CliError("upt: the demo needs the 'explain' command, which is not registered yet");
168
+ }
169
+ const explainArgs = parseArgs('explain', ['hawking-temperature', 'mass=1.989e30'], explainCmd.flags);
170
+ const explainCtx = { args: explainArgs, api, out, err, write };
171
+ const explainStatus = await explainCmd.run(explainCtx);
172
+ if (explainStatus !== 0)
173
+ return explainStatus;
174
+ const priorityCmd = resolveCommand('priority');
175
+ if (!priorityCmd) {
176
+ throw new CliError("upt: the demo needs the 'priority' command, which is not registered yet");
177
+ }
178
+ const priorityArgs = parseArgs('priority', [], priorityCmd.flags);
179
+ const priorityCtx = { args: priorityArgs, api, out, err, write };
180
+ return await priorityCmd.run(priorityCtx);
181
+ }
182
+ if (cmd === 'help' || cmd === '--help' || cmd === '-h') {
183
+ const target = rest[0];
184
+ if (target !== undefined) {
185
+ const command = resolveCommand(target);
186
+ if (!command)
187
+ throw new UsageError(unknownCommandMessage(target));
188
+ out(command.help);
189
+ return 0;
190
+ }
191
+ out(HELP_TEXT);
192
+ return 0;
193
+ }
194
+ if (cmd === 'version' || cmd === '--version' || cmd === '-v') {
195
+ out(packageVersion());
196
+ return 0;
197
+ }
198
+ const command = resolveCommand(cmd);
199
+ if (!command) {
200
+ err(unknownCommandMessage(cmd));
201
+ return 2;
202
+ }
203
+ const parsed = parseArgs(command.name, rest, command.flags);
204
+ const ctx = { args: parsed, api, out, err, write };
205
+ return await command.run(ctx);
206
+ }
207
+ catch (e) {
208
+ if (e instanceof UsageError) {
209
+ err(e.message);
210
+ return 2;
211
+ }
212
+ if (e instanceof CliError) {
213
+ err(e.message);
214
+ return 1;
215
+ }
216
+ throw e;
217
+ }
218
+ }
219
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * JSON output envelope for the UPT CLI.
3
+ *
4
+ * Physics results genuinely contain non-finite numbers (e.g. `anchoring:
5
+ * Infinity` in the priority board). `JSON.stringify` silently turns those
6
+ * into `null`, which is indistinguishable from an absent value. `sanitize`
7
+ * deep-copies a value into a JSON-safe shape first, encoding NaN/Infinity
8
+ * as explicit strings so round-tripping through JSON preserves them.
9
+ */
10
+ export interface JsonEnvelope {
11
+ command: string;
12
+ source?: 'catalog' | 'canonical' | 'both';
13
+ options?: Record<string, unknown>;
14
+ epistemics?: string;
15
+ result: unknown;
16
+ }
17
+ export declare function sanitize(v: unknown): unknown;
18
+ export declare function emitJson(env: JsonEnvelope, write?: (s: string) => void): void;
19
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CA2C5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAAG,IAAI,CAE7G"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * JSON output envelope for the UPT CLI.
3
+ *
4
+ * Physics results genuinely contain non-finite numbers (e.g. `anchoring:
5
+ * Infinity` in the priority board). `JSON.stringify` silently turns those
6
+ * into `null`, which is indistinguishable from an absent value. `sanitize`
7
+ * deep-copies a value into a JSON-safe shape first, encoding NaN/Infinity
8
+ * as explicit strings so round-tripping through JSON preserves them.
9
+ */
10
+ export function sanitize(v) {
11
+ if (typeof v === 'number') {
12
+ if (Number.isNaN(v))
13
+ return 'NaN';
14
+ if (v === Infinity)
15
+ return 'Infinity';
16
+ if (v === -Infinity)
17
+ return '-Infinity';
18
+ return v;
19
+ }
20
+ if (typeof v === 'function') {
21
+ // Caller decides how to represent "no value here" (omit vs. null) based
22
+ // on context (object key vs. array slot); signal via undefined and let
23
+ // the array/object branches below handle it.
24
+ return undefined;
25
+ }
26
+ if (Array.isArray(v)) {
27
+ const out = [];
28
+ for (const item of v) {
29
+ const sanitized = sanitize(item);
30
+ out.push(typeof item === 'function' ? null : sanitized);
31
+ }
32
+ return out;
33
+ }
34
+ if (v instanceof Map) {
35
+ const out = {};
36
+ for (const [key, value] of v) {
37
+ if (typeof value === 'function')
38
+ continue;
39
+ out[String(key)] = sanitize(value);
40
+ }
41
+ return out;
42
+ }
43
+ if (v !== null && typeof v === 'object') {
44
+ const out = {};
45
+ for (const [key, value] of Object.entries(v)) {
46
+ if (value === undefined || typeof value === 'function')
47
+ continue;
48
+ out[key] = sanitize(value);
49
+ }
50
+ return out;
51
+ }
52
+ return v;
53
+ }
54
+ export function emitJson(env, write = (s) => process.stdout.write(s)) {
55
+ write(JSON.stringify(sanitize(env), null, 2) + '\n');
56
+ }
57
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,UAAU,QAAQ,CAAC,CAAU;IACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO,WAAW,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;QAC5B,wEAAwE;QACxE,uEAAuE;QACvE,6CAA6C;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,SAAS;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,SAAS;YACjE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAiB,EAAE,QAA6B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Runtime package-version lookup for the UPT CLI (`upt --version`, etc.).
3
+ *
4
+ * Reads `package.json` relative to this module's own location rather than
5
+ * importing a generated constant, so it stays correct without a build step
6
+ * re-stamping a version string. From `dist/cli/version.js`, `../../package.json`
7
+ * resolves to the package root in both the dev checkout and the installed
8
+ * npm layout (`dist/` ships as part of the published package).
9
+ */
10
+ export declare function packageVersion(): string;
11
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wBAAgB,cAAc,IAAI,MAAM,CAIvC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Runtime package-version lookup for the UPT CLI (`upt --version`, etc.).
3
+ *
4
+ * Reads `package.json` relative to this module's own location rather than
5
+ * importing a generated constant, so it stays correct without a build step
6
+ * re-stamping a version string. From `dist/cli/version.js`, `../../package.json`
7
+ * resolves to the package root in both the dev checkout and the installed
8
+ * npm layout (`dist/` ships as part of the published package).
9
+ */
10
+ import { readFileSync } from 'node:fs';
11
+ export function packageVersion() {
12
+ const pkgPath = new URL('../../package.json', import.meta.url);
13
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
14
+ return pkg.version;
15
+ }
16
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAwB,CAAC;IAC7E,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * CLI-facing barrel — the single stable entrypoint `bin/upt.mjs` imports.
3
+ *
4
+ * The CLI needs a handful of `@internal` analysis/composition/canonical
5
+ * functions that are deliberately NOT on the public surface (so they are not in
6
+ * the root `index.ts`). Previously `bin/upt.mjs` reached into ~10 deep `dist/`
7
+ * module paths to get them, coupling the CLI to the internal file layout — any
8
+ * module move silently broke the CLI. This barrel re-exports everything the CLI
9
+ * uses from one place, so layout changes touch only this file and `bin/upt.mjs`
10
+ * imports a single `dist/cli-api.js`.
11
+ *
12
+ * @internal — a CLI-support barrel; NOT re-exported from the root index, so it
13
+ * stays off the consumer-facing public surface.
14
+ *
15
+ * @module cli-api
16
+ */
17
+ export { explainQuantity, CATALOG_GRAPH, CANONICAL_GRAPH, M_SUN_KG, composeSymbolic, be42Edge, be16Edge, lawSchwarzschildRadius, be42ViaRsEdge, format, buildVizModel, renderDotToSvg, equationLanding, analyzeUserEquation, buckinghamPi, dimensionallyDetermines, } from './index.js';
18
+ export { bridgePriority, attemptDerivation, dimensionalFreedom, linkageMap, proposeLinkCandidates, proposeOrphanConnectors, } from './composition/bridge-analysis.js';
19
+ export { getFormulaParser, getFormulaParserKind, getFormulaDimensionChecker, } from './numerical/formula-registry.js';
20
+ export { parseDimensionSpec } from './dimensional/dimension-spec.js';
21
+ export { predictMissingBridges } from './composition/bridge-prediction.js';
22
+ export { rankDiscoveries } from './composition/discovery.js';
23
+ export { auditCoverage } from './bridges/confrontation-coverage.js';
24
+ export { simplifyObservable } from './composition/expr-simplify.js';
25
+ export { CANONICAL_EQUATIONS, bridgesWithoutCanonicalPartner, } from './canonical/registry.js';
26
+ export { scanLinkages } from './canonical/linkage.js';
27
+ export { deriveProposedBridges } from './composition/proposed-bridges.js';
28
+ export { annotateAdjudications, adjudicationFor, candidateId, ADJUDICATIONS, } from './composition/adjudication.js';
29
+ export type { AnnotatedCandidate, CandidateAdjudication } from './composition/adjudication.js';
30
+ //# sourceMappingURL=cli-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-api.d.ts","sourceRoot":"","sources":["../src/cli-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,aAAa,EACb,MAAM,EACN,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CLI-facing barrel — the single stable entrypoint `bin/upt.mjs` imports.
3
+ *
4
+ * The CLI needs a handful of `@internal` analysis/composition/canonical
5
+ * functions that are deliberately NOT on the public surface (so they are not in
6
+ * the root `index.ts`). Previously `bin/upt.mjs` reached into ~10 deep `dist/`
7
+ * module paths to get them, coupling the CLI to the internal file layout — any
8
+ * module move silently broke the CLI. This barrel re-exports everything the CLI
9
+ * uses from one place, so layout changes touch only this file and `bin/upt.mjs`
10
+ * imports a single `dist/cli-api.js`.
11
+ *
12
+ * @internal — a CLI-support barrel; NOT re-exported from the root index, so it
13
+ * stays off the consumer-facing public surface.
14
+ *
15
+ * @module cli-api
16
+ */
17
+ // Public-API symbols (already on the root surface).
18
+ export { explainQuantity, CATALOG_GRAPH, CANONICAL_GRAPH, M_SUN_KG, composeSymbolic, be42Edge, be16Edge, lawSchwarzschildRadius, be42ViaRsEdge, format, buildVizModel, renderDotToSvg, equationLanding, analyzeUserEquation, buckinghamPi, dimensionallyDetermines, } from './index.js';
19
+ // Internal analysis surface (bridge-analysis.ts).
20
+ export { bridgePriority, attemptDerivation, dimensionalFreedom, linkageMap, proposeLinkCandidates, proposeOrphanConnectors, } from './composition/bridge-analysis.js';
21
+ // Other internal modules the CLI drives.
22
+ export { getFormulaParser, getFormulaParserKind, getFormulaDimensionChecker, } from './numerical/formula-registry.js';
23
+ export { parseDimensionSpec } from './dimensional/dimension-spec.js';
24
+ export { predictMissingBridges } from './composition/bridge-prediction.js';
25
+ export { rankDiscoveries } from './composition/discovery.js';
26
+ export { auditCoverage } from './bridges/confrontation-coverage.js';
27
+ export { simplifyObservable } from './composition/expr-simplify.js';
28
+ export { CANONICAL_EQUATIONS, bridgesWithoutCanonicalPartner, } from './canonical/registry.js';
29
+ export { scanLinkages } from './canonical/linkage.js';
30
+ export { deriveProposedBridges } from './composition/proposed-bridges.js';
31
+ // Adjudication ledger (composition/adjudication.ts) — annotates discovery
32
+ // candidates with recorded human verdicts; never mutates the funnel.
33
+ export { annotateAdjudications, adjudicationFor, candidateId, ADJUDICATIONS, } from './composition/adjudication.js';
34
+ //# sourceMappingURL=cli-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-api.js","sourceRoot":"","sources":["../src/cli-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,oDAAoD;AACpD,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,aAAa,EACb,MAAM,EACN,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,kDAAkD;AAClD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,yCAAyC;AACzC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,0EAA0E;AAC1E,qEAAqE;AACrE,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Adjudication ledger for machine-surfaced discovery candidates.
3
+ *
4
+ * Human verdicts on identification hypotheses (`a ≟ b`) are REVIEW MEMORY:
5
+ * once a physicist has disposed of a candidate, the funnel must not
6
+ * re-surface it as fresh. Verdicts NEVER mutate the catalog or graphs
7
+ * (the epistemic firewall) — they annotate discovery output only.
8
+ *
9
+ * Keyed by the order-normalized quantity-name pair. Proposed equations
10
+ * (`upt discover --derive`) inherit the verdict of the identification they
11
+ * were derived from (`derivedFrom.identification`).
12
+ *
13
+ * @module composition/adjudication
14
+ */
15
+ import type { VettedCandidate } from './discovery.js';
16
+ /**
17
+ * Stable identity for an identification hypothesis: the two quantity names,
18
+ * sorted, joined with `~`. Deliberately excludes score/verdict/dimension so
19
+ * ids survive funnel-internal changes. NOT rename-proof: a quantity rename
20
+ * (alias disposition) must update `ADJUDICATIONS` in the SAME commit — the
21
+ * calibration benchmark's seed-resolution test enforces this.
22
+ *
23
+ * @public
24
+ */
25
+ export declare function candidateId(a: string, b: string): string;
26
+ /**
27
+ * Verdict of a human adjudication OF THE IDENTIFICATION `a ≡ b` (never of a
28
+ * specific derived equation — derived equations inherit this as context):
29
+ * - `genuine` — real physics AND a new link (nothing seeded qualifies yet).
30
+ * - `entailed` — real physics already carried by the L-layer; not a new link.
31
+ * - `decoy` — dimensional coincidence / no mechanism; includes trivial and
32
+ * definitional identifications.
33
+ * - `deferred` — reviewed and consciously parked (≠ absent entry, which means
34
+ * never reviewed).
35
+ *
36
+ * @public
37
+ */
38
+ export type AdjudicationVerdict = 'genuine' | 'decoy' | 'entailed' | 'deferred';
39
+ /** One adjudicated identification hypothesis. @public */
40
+ export interface CandidateAdjudication {
41
+ /** `candidateId(a, b)` of the identification. */
42
+ readonly id: string;
43
+ readonly verdict: AdjudicationVerdict;
44
+ /** Why — condensed from the adjudication record; never machine-generated. */
45
+ readonly grounds: string;
46
+ /** Repo-relative path of the adjudication document. */
47
+ readonly source: string;
48
+ /** ISO date the verdict was recorded. */
49
+ readonly date: string;
50
+ }
51
+ /**
52
+ * The seeded ledger — 2026-06 Adam+Eve adjudication rounds (8 → 0 genuine).
53
+ * Append-only by convention; entries are corrected, never silently removed.
54
+ *
55
+ * @public
56
+ */
57
+ export declare const ADJUDICATIONS: readonly CandidateAdjudication[];
58
+ /** Look up the verdict for an identification, order-insensitive. @public */
59
+ export declare function adjudicationFor(a: string, b: string): CandidateAdjudication | undefined;
60
+ /**
61
+ * A `VettedCandidate` with its recorded verdict attached, when the ledger has
62
+ * one for `a ≟ b`. The identification funnel (`rankDiscoveries`) never sees
63
+ * this — annotation is a command-layer concern (the epistemic firewall).
64
+ *
65
+ * @public
66
+ */
67
+ export type AnnotatedCandidate = VettedCandidate & {
68
+ readonly adjudication?: CandidateAdjudication;
69
+ };
70
+ /**
71
+ * Attach each candidate's recorded verdict, if any. A pure map: preserves
72
+ * order and length, and leaves candidates without a ledger entry untouched
73
+ * (no `adjudication` key added).
74
+ *
75
+ * The discovery funnel's candidate pool is NOT guaranteed to be kebab-case
76
+ * slugs (`candidates` command sources plain quantity names like `A` or
77
+ * `impact_parameter` straight off `BridgeEdge`/canonical governing sets) —
78
+ * `candidateId` intentionally THROWS on those (the `~`-collision guard, see
79
+ * its docstring). A non-slug name can never be a ledger key (every
80
+ * `ADJUDICATIONS` entry is a valid slug), so such candidates are
81
+ * pre-filtered out of lookup rather than routed through the throwing path.
82
+ *
83
+ * @public
84
+ */
85
+ export declare function annotateAdjudications(candidates: readonly VettedCandidate[]): readonly AnnotatedCandidate[];
86
+ //# sourceMappingURL=adjudication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adjudication.d.ts","sourceRoot":"","sources":["../../src/composition/adjudication.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhF,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EAiEzD,CAAC;AAMF,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,qBAAqB,GAAG,SAAS,CAEnC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,eAAe,EAAE,GACrC,SAAS,kBAAkB,EAAE,CAM/B"}