universal-physics-tensor 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +19 -16
  2. package/data/atlas/atlas.json +55 -44
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +19 -18
  5. package/data/atlas/oscillators.json +15 -10
  6. package/data/atlas/waves.json +23 -18
  7. package/data/bridge-catalog.json +886 -1473
  8. package/data/bridge-catalog.schema.json +349 -132
  9. package/data/quantities.json +53 -19
  10. package/data/schemas/atlas-record.v0.json +184 -46
  11. package/data/units.json +33 -4
  12. package/dist/atlas/applicability.d.ts.map +1 -1
  13. package/dist/atlas/applicability.js +14 -3
  14. package/dist/atlas/applicability.js.map +1 -1
  15. package/dist/atlas/association.js.map +1 -1
  16. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  17. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  18. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  19. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  20. package/dist/atlas/benchmark/baselines.js +8 -0
  21. package/dist/atlas/benchmark/baselines.js.map +1 -1
  22. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
  23. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  24. package/dist/atlas/benchmark/hybrid-retrieval.js +15 -8
  25. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  26. package/dist/atlas/benchmark/leakage.js.map +1 -1
  27. package/dist/atlas/benchmark/loader.js.map +1 -1
  28. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
  29. package/dist/atlas/benchmark/run-atlas.js +14 -2
  30. package/dist/atlas/benchmark/run-atlas.js.map +1 -1
  31. package/dist/atlas/benchmark/stats.d.ts +1 -1
  32. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  33. package/dist/atlas/benchmark/stats.js +1 -1
  34. package/dist/atlas/benchmark/stats.js.map +1 -1
  35. package/dist/atlas/benchmark/study.js.map +1 -1
  36. package/dist/atlas/benchmark/types.js.map +1 -1
  37. package/dist/atlas/bridge-record.d.ts +4 -4
  38. package/dist/atlas/bridge-record.d.ts.map +1 -1
  39. package/dist/atlas/bridge-record.js +6 -6
  40. package/dist/atlas/bridge-record.js.map +1 -1
  41. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  42. package/dist/atlas/chain-pipeline.d.ts +0 -11
  43. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  44. package/dist/atlas/chain-pipeline.js +5 -16
  45. package/dist/atlas/chain-pipeline.js.map +1 -1
  46. package/dist/atlas/composition-table.js.map +1 -1
  47. package/dist/atlas/conventions.js.map +1 -1
  48. package/dist/atlas/coverage.d.ts +2 -2
  49. package/dist/atlas/coverage.js.map +1 -1
  50. package/dist/atlas/derivation.js.map +1 -1
  51. package/dist/atlas/derive-evidence.d.ts +6 -4
  52. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  53. package/dist/atlas/derive-evidence.js +7 -2
  54. package/dist/atlas/derive-evidence.js.map +1 -1
  55. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  56. package/dist/atlas/diffusion/bridges-closure.js +0 -5
  57. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  58. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  59. package/dist/atlas/diffusion/bridges.js +0 -3
  60. package/dist/atlas/diffusion/bridges.js.map +1 -1
  61. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  62. package/dist/atlas/diffusion/index.d.ts +1 -1
  63. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  64. package/dist/atlas/diffusion/index.js.map +1 -1
  65. package/dist/atlas/diffusion/models.js.map +1 -1
  66. package/dist/atlas/diffusion/numerics.js.map +1 -1
  67. package/dist/atlas/error-algebra.d.ts +6 -0
  68. package/dist/atlas/error-algebra.d.ts.map +1 -1
  69. package/dist/atlas/error-algebra.js +26 -0
  70. package/dist/atlas/error-algebra.js.map +1 -1
  71. package/dist/atlas/export.d.ts +18 -2
  72. package/dist/atlas/export.d.ts.map +1 -1
  73. package/dist/atlas/export.js +9 -3
  74. package/dist/atlas/export.js.map +1 -1
  75. package/dist/atlas/families.d.ts +19 -2
  76. package/dist/atlas/families.d.ts.map +1 -1
  77. package/dist/atlas/families.js +26 -3
  78. package/dist/atlas/families.js.map +1 -1
  79. package/dist/atlas/family.d.ts +27 -0
  80. package/dist/atlas/family.d.ts.map +1 -0
  81. package/dist/atlas/family.js +12 -0
  82. package/dist/atlas/family.js.map +1 -0
  83. package/dist/atlas/index.d.ts +3 -2
  84. package/dist/atlas/index.d.ts.map +1 -1
  85. package/dist/atlas/index.js +2 -1
  86. package/dist/atlas/index.js.map +1 -1
  87. package/dist/atlas/link-prediction.d.ts +1 -1
  88. package/dist/atlas/link-prediction.d.ts.map +1 -1
  89. package/dist/atlas/link-prediction.js.map +1 -1
  90. package/dist/atlas/model.js.map +1 -1
  91. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  92. package/dist/atlas/oscillators/bridges-coarse.js +0 -1
  93. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  94. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  95. package/dist/atlas/oscillators/bridges-exact.js +0 -3
  96. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  97. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  98. package/dist/atlas/oscillators/bridges-limits.js +0 -2
  99. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  100. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  101. package/dist/atlas/oscillators/index.d.ts +1 -16
  102. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  103. package/dist/atlas/oscillators/index.js.map +1 -1
  104. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  105. package/dist/atlas/oscillators/models.js.map +1 -1
  106. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  107. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  108. package/dist/atlas/oscillators/norms.js.map +1 -1
  109. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  110. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  111. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  112. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  113. package/dist/atlas/oscillators/rejections.js.map +1 -1
  114. package/dist/atlas/path-bound.js.map +1 -1
  115. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  116. package/dist/atlas/physjs-ref.d.ts +79 -45
  117. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  118. package/dist/atlas/physjs-ref.js +143 -62
  119. package/dist/atlas/physjs-ref.js.map +1 -1
  120. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  121. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  122. package/dist/atlas/physjs-reviewed.js +194 -0
  123. package/dist/atlas/physjs-reviewed.js.map +1 -0
  124. package/dist/atlas/poster/associations.js.map +1 -1
  125. package/dist/atlas/poster/derivations.js.map +1 -1
  126. package/dist/atlas/poster/statements.js.map +1 -1
  127. package/dist/atlas/proof-target.js.map +1 -1
  128. package/dist/atlas/public.d.ts +2 -1
  129. package/dist/atlas/public.d.ts.map +1 -1
  130. package/dist/atlas/public.js +2 -1
  131. package/dist/atlas/public.js.map +1 -1
  132. package/dist/atlas/regime.js.map +1 -1
  133. package/dist/atlas/serialize.d.ts +18 -12
  134. package/dist/atlas/serialize.d.ts.map +1 -1
  135. package/dist/atlas/serialize.js +28 -18
  136. package/dist/atlas/serialize.js.map +1 -1
  137. package/dist/atlas/statement.js.map +1 -1
  138. package/dist/atlas/translation-registry.js.map +1 -1
  139. package/dist/atlas/translation.js.map +1 -1
  140. package/dist/atlas/types.d.ts +9 -2
  141. package/dist/atlas/types.d.ts.map +1 -1
  142. package/dist/atlas/types.js +1 -1
  143. package/dist/atlas/types.js.map +1 -1
  144. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  145. package/dist/atlas/waves/bridges-closure.js +0 -3
  146. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  147. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  148. package/dist/atlas/waves/bridges.js +0 -4
  149. package/dist/atlas/waves/bridges.js.map +1 -1
  150. package/dist/atlas/waves/index.d.ts +1 -1
  151. package/dist/atlas/waves/index.d.ts.map +1 -1
  152. package/dist/atlas/waves/index.js.map +1 -1
  153. package/dist/atlas/waves/models.js.map +1 -1
  154. package/dist/atlas/waves/numerics.js.map +1 -1
  155. package/dist/atlas/witness-artifact.js.map +1 -1
  156. package/dist/atlas/witness-dominance.d.ts +4 -3
  157. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  158. package/dist/atlas/witness-dominance.js +15 -5
  159. package/dist/atlas/witness-dominance.js.map +1 -1
  160. package/dist/atlas/witness-numeric.d.ts +8 -4
  161. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  162. package/dist/atlas/witness-numeric.js +27 -2
  163. package/dist/atlas/witness-numeric.js.map +1 -1
  164. package/dist/atlas/witness-result.d.ts +7 -1
  165. package/dist/atlas/witness-result.d.ts.map +1 -1
  166. package/dist/atlas/witness-result.js.map +1 -1
  167. package/dist/atlas/witness-specs.js.map +1 -1
  168. package/dist/atlas/witness-symbolic.js.map +1 -1
  169. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  170. package/dist/bridges/caller-table.d.ts +1 -1
  171. package/dist/bridges/caller-table.d.ts.map +1 -1
  172. package/dist/bridges/caller-table.js.map +1 -1
  173. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  174. package/dist/bridges/carrier-sign.js +8 -3
  175. package/dist/bridges/carrier-sign.js.map +1 -1
  176. package/dist/bridges/catalog-adapter.d.ts +12 -3
  177. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  178. package/dist/bridges/catalog-adapter.js +17 -9
  179. package/dist/bridges/catalog-adapter.js.map +1 -1
  180. package/dist/bridges/catalog-load.d.ts +12 -2
  181. package/dist/bridges/catalog-load.d.ts.map +1 -1
  182. package/dist/bridges/catalog-load.js +171 -8
  183. package/dist/bridges/catalog-load.js.map +1 -1
  184. package/dist/bridges/catalog-types.d.ts +48 -24
  185. package/dist/bridges/catalog-types.d.ts.map +1 -1
  186. package/dist/bridges/catalog-types.js.map +1 -1
  187. package/dist/bridges/coefficient-statement.js +1 -5
  188. package/dist/bridges/coefficient-statement.js.map +1 -1
  189. package/dist/bridges/confrontation-coverage.js.map +1 -1
  190. package/dist/bridges/confrontations.d.ts +1 -1
  191. package/dist/bridges/confrontations.d.ts.map +1 -1
  192. package/dist/bridges/confrontations.js +1 -1
  193. package/dist/bridges/confrontations.js.map +1 -1
  194. package/dist/bridges/evaluation-errors.d.ts +15 -2
  195. package/dist/bridges/evaluation-errors.d.ts.map +1 -1
  196. package/dist/bridges/evaluation-errors.js +20 -2
  197. package/dist/bridges/evaluation-errors.js.map +1 -1
  198. package/dist/bridges/evaluator-inputs.js.map +1 -1
  199. package/dist/bridges/evaluators.d.ts +17 -2
  200. package/dist/bridges/evaluators.d.ts.map +1 -1
  201. package/dist/bridges/evaluators.js +49 -16
  202. package/dist/bridges/evaluators.js.map +1 -1
  203. package/dist/bridges/expr-parse.d.ts +27 -4
  204. package/dist/bridges/expr-parse.d.ts.map +1 -1
  205. package/dist/bridges/expr-parse.js +90 -10
  206. package/dist/bridges/expr-parse.js.map +1 -1
  207. package/dist/bridges/holds.d.ts +5 -1
  208. package/dist/bridges/holds.d.ts.map +1 -1
  209. package/dist/bridges/holds.js +18 -3
  210. package/dist/bridges/holds.js.map +1 -1
  211. package/dist/bridges/index.d.ts +15 -14
  212. package/dist/bridges/index.d.ts.map +1 -1
  213. package/dist/bridges/index.js +14 -15
  214. package/dist/bridges/index.js.map +1 -1
  215. package/dist/bridges/input-contract.js.map +1 -1
  216. package/dist/bridges/membership.d.ts +5 -3
  217. package/dist/bridges/membership.d.ts.map +1 -1
  218. package/dist/bridges/membership.js +5 -6
  219. package/dist/bridges/membership.js.map +1 -1
  220. package/dist/bridges/notices.js.map +1 -1
  221. package/dist/bridges/observations/types.js.map +1 -1
  222. package/dist/bridges/rejected.d.ts +11 -17
  223. package/dist/bridges/rejected.d.ts.map +1 -1
  224. package/dist/bridges/rejected.js +13 -68
  225. package/dist/bridges/rejected.js.map +1 -1
  226. package/dist/bridges/relation-eval.d.ts +5 -6
  227. package/dist/bridges/relation-eval.d.ts.map +1 -1
  228. package/dist/bridges/relation-eval.js +9 -38
  229. package/dist/bridges/relation-eval.js.map +1 -1
  230. package/dist/bridges/rhs-registry.js.map +1 -1
  231. package/dist/bridges/sensitivity.d.ts +11 -3
  232. package/dist/bridges/sensitivity.d.ts.map +1 -1
  233. package/dist/bridges/sensitivity.js +24 -10
  234. package/dist/bridges/sensitivity.js.map +1 -1
  235. package/dist/bridges/tensor-index.js.map +1 -1
  236. package/dist/bridges/types.d.ts +1 -7
  237. package/dist/bridges/types.d.ts.map +1 -1
  238. package/dist/bridges/types.js +1 -4
  239. package/dist/bridges/types.js.map +1 -1
  240. package/dist/canonical/canonical-equation.js.map +1 -1
  241. package/dist/canonical/dimensional-fields.js.map +1 -1
  242. package/dist/canonical/entries/_l1-build.js.map +1 -1
  243. package/dist/canonical/entries/atomic.js.map +1 -1
  244. package/dist/canonical/entries/condensed-matter.js +4 -4
  245. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  246. package/dist/canonical/entries/dimensional-classics.js +2 -2
  247. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  248. package/dist/canonical/entries/electromagnetism.js +2 -2
  249. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  250. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  251. package/dist/canonical/entries/mechanics.js.map +1 -1
  252. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  253. package/dist/canonical/entries/nonmonomial.js +29 -22
  254. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  255. package/dist/canonical/entries/relativity.js.map +1 -1
  256. package/dist/canonical/entries/statistical-mechanics.js +5 -5
  257. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  258. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  259. package/dist/canonical/linkage.d.ts +29 -4
  260. package/dist/canonical/linkage.d.ts.map +1 -1
  261. package/dist/canonical/linkage.js +31 -29
  262. package/dist/canonical/linkage.js.map +1 -1
  263. package/dist/canonical/normal-form.d.ts +0 -8
  264. package/dist/canonical/normal-form.d.ts.map +1 -1
  265. package/dist/canonical/normal-form.js +17 -12
  266. package/dist/canonical/normal-form.js.map +1 -1
  267. package/dist/canonical/registry.js.map +1 -1
  268. package/dist/canonical/residual.js.map +1 -1
  269. package/dist/canonical/seed-l-layer.d.ts +7 -1
  270. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  271. package/dist/canonical/seed-l-layer.js +7 -1
  272. package/dist/canonical/seed-l-layer.js.map +1 -1
  273. package/dist/canonical/structural.d.ts +21 -0
  274. package/dist/canonical/structural.d.ts.map +1 -1
  275. package/dist/canonical/structural.js +24 -4
  276. package/dist/canonical/structural.js.map +1 -1
  277. package/dist/cases/brownian-sphere.js +4 -4
  278. package/dist/cases/brownian-sphere.js.map +1 -1
  279. package/dist/cases/damped-resonator.js +2 -2
  280. package/dist/cases/damped-resonator.js.map +1 -1
  281. package/dist/cases/index.js.map +1 -1
  282. package/dist/cases/kepler-rv.js.map +1 -1
  283. package/dist/cases/lumped-cooling.js +1 -1
  284. package/dist/cases/lumped-cooling.js.map +1 -1
  285. package/dist/cases/quadrature.js.map +1 -1
  286. package/dist/cases/resistor-noise.js +3 -3
  287. package/dist/cases/resistor-noise.js.map +1 -1
  288. package/dist/cases/skin-depth.js.map +1 -1
  289. package/dist/cases/types.js.map +1 -1
  290. package/dist/cli/args.d.ts +7 -2
  291. package/dist/cli/args.d.ts.map +1 -1
  292. package/dist/cli/args.js +18 -2
  293. package/dist/cli/args.js.map +1 -1
  294. package/dist/cli/bindings.d.ts +13 -0
  295. package/dist/cli/bindings.d.ts.map +1 -0
  296. package/dist/cli/bindings.js +32 -0
  297. package/dist/cli/bindings.js.map +1 -0
  298. package/dist/cli/closed-form-range.js.map +1 -1
  299. package/dist/cli/command.js.map +1 -1
  300. package/dist/cli/commands/_atlas-map.d.ts +3 -3
  301. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  302. package/dist/cli/commands/_atlas-map.js +43 -18
  303. package/dist/cli/commands/_atlas-map.js.map +1 -1
  304. package/dist/cli/commands/_atlas-route.js.map +1 -1
  305. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  306. package/dist/cli/commands/_discovery-opts.js +42 -7
  307. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  308. package/dist/cli/commands/atlas.d.ts.map +1 -1
  309. package/dist/cli/commands/atlas.js +1 -3
  310. package/dist/cli/commands/atlas.js.map +1 -1
  311. package/dist/cli/commands/audit.d.ts.map +1 -1
  312. package/dist/cli/commands/audit.js +13 -20
  313. package/dist/cli/commands/audit.js.map +1 -1
  314. package/dist/cli/commands/axes.js.map +1 -1
  315. package/dist/cli/commands/candidates.d.ts.map +1 -1
  316. package/dist/cli/commands/candidates.js +16 -8
  317. package/dist/cli/commands/candidates.js.map +1 -1
  318. package/dist/cli/commands/canonical.js.map +1 -1
  319. package/dist/cli/commands/chain.js +1 -1
  320. package/dist/cli/commands/chain.js.map +1 -1
  321. package/dist/cli/commands/confront.d.ts.map +1 -1
  322. package/dist/cli/commands/confront.js +22 -14
  323. package/dist/cli/commands/confront.js.map +1 -1
  324. package/dist/cli/commands/connectors.js.map +1 -1
  325. package/dist/cli/commands/coverage.js.map +1 -1
  326. package/dist/cli/commands/derive.d.ts.map +1 -1
  327. package/dist/cli/commands/derive.js +42 -17
  328. package/dist/cli/commands/derive.js.map +1 -1
  329. package/dist/cli/commands/discover.d.ts.map +1 -1
  330. package/dist/cli/commands/discover.js +15 -9
  331. package/dist/cli/commands/discover.js.map +1 -1
  332. package/dist/cli/commands/eval.d.ts.map +1 -1
  333. package/dist/cli/commands/eval.js +13 -10
  334. package/dist/cli/commands/eval.js.map +1 -1
  335. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  336. package/dist/cli/commands/evaluate.js +53 -31
  337. package/dist/cli/commands/evaluate.js.map +1 -1
  338. package/dist/cli/commands/explain.d.ts.map +1 -1
  339. package/dist/cli/commands/explain.js +14 -7
  340. package/dist/cli/commands/explain.js.map +1 -1
  341. package/dist/cli/commands/frontier.js.map +1 -1
  342. package/dist/cli/commands/ground.d.ts.map +1 -1
  343. package/dist/cli/commands/ground.js +40 -10
  344. package/dist/cli/commands/ground.js.map +1 -1
  345. package/dist/cli/commands/index.js.map +1 -1
  346. package/dist/cli/commands/map.d.ts.map +1 -1
  347. package/dist/cli/commands/map.js +82 -89
  348. package/dist/cli/commands/map.js.map +1 -1
  349. package/dist/cli/commands/metric.d.ts.map +1 -1
  350. package/dist/cli/commands/metric.js +53 -18
  351. package/dist/cli/commands/metric.js.map +1 -1
  352. package/dist/cli/commands/path.js +4 -4
  353. package/dist/cli/commands/path.js.map +1 -1
  354. package/dist/cli/commands/predict.js.map +1 -1
  355. package/dist/cli/commands/priority.js.map +1 -1
  356. package/dist/cli/commands/probe.d.ts.map +1 -1
  357. package/dist/cli/commands/probe.js +50 -26
  358. package/dist/cli/commands/probe.js.map +1 -1
  359. package/dist/cli/commands/recover.js +1 -1
  360. package/dist/cli/commands/recover.js.map +1 -1
  361. package/dist/cli/commands/regime.d.ts +5 -4
  362. package/dist/cli/commands/regime.d.ts.map +1 -1
  363. package/dist/cli/commands/regime.js +24 -26
  364. package/dist/cli/commands/regime.js.map +1 -1
  365. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  366. package/dist/cli/commands/retrieve.js +22 -14
  367. package/dist/cli/commands/retrieve.js.map +1 -1
  368. package/dist/cli/commands/search.d.ts.map +1 -1
  369. package/dist/cli/commands/search.js +8 -4
  370. package/dist/cli/commands/search.js.map +1 -1
  371. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  372. package/dist/cli/commands/symbolic.js +13 -9
  373. package/dist/cli/commands/symbolic.js.map +1 -1
  374. package/dist/cli/commands/testplan.js +1 -1
  375. package/dist/cli/commands/testplan.js.map +1 -1
  376. package/dist/cli/conventions.js.map +1 -1
  377. package/dist/cli/determination.js.map +1 -1
  378. package/dist/cli/errors.js.map +1 -1
  379. package/dist/cli/euler-guard.js.map +1 -1
  380. package/dist/cli/eval-numbers.js.map +1 -1
  381. package/dist/cli/expr-print.d.ts +29 -2
  382. package/dist/cli/expr-print.d.ts.map +1 -1
  383. package/dist/cli/expr-print.js +46 -2
  384. package/dist/cli/expr-print.js.map +1 -1
  385. package/dist/cli/flag-help.js.map +1 -1
  386. package/dist/cli/graphs.js.map +1 -1
  387. package/dist/cli/library-defaults.d.ts +19 -0
  388. package/dist/cli/library-defaults.d.ts.map +1 -0
  389. package/dist/cli/library-defaults.js +22 -0
  390. package/dist/cli/library-defaults.js.map +1 -0
  391. package/dist/cli/main.js +7 -3
  392. package/dist/cli/main.js.map +1 -1
  393. package/dist/cli/map-evidence.js.map +1 -1
  394. package/dist/cli/output.d.ts +3 -6
  395. package/dist/cli/output.d.ts.map +1 -1
  396. package/dist/cli/output.js.map +1 -1
  397. package/dist/cli/published-url.js.map +1 -1
  398. package/dist/cli/record-reach.d.ts +6 -0
  399. package/dist/cli/record-reach.d.ts.map +1 -1
  400. package/dist/cli/record-reach.js +16 -10
  401. package/dist/cli/record-reach.js.map +1 -1
  402. package/dist/cli/record-tables.js +1 -1
  403. package/dist/cli/record-tables.js.map +1 -1
  404. package/dist/cli/record.d.ts.map +1 -1
  405. package/dist/cli/record.js +31 -12
  406. package/dist/cli/record.js.map +1 -1
  407. package/dist/cli/search-index.d.ts +5 -0
  408. package/dist/cli/search-index.d.ts.map +1 -1
  409. package/dist/cli/search-index.js +12 -1
  410. package/dist/cli/search-index.js.map +1 -1
  411. package/dist/cli/statuses.js.map +1 -1
  412. package/dist/cli/top-level-help.js.map +1 -1
  413. package/dist/cli/version.js.map +1 -1
  414. package/dist/cli-api.d.ts +15 -9
  415. package/dist/cli-api.d.ts.map +1 -1
  416. package/dist/cli-api.js +14 -13
  417. package/dist/cli-api.js.map +1 -1
  418. package/dist/composition/adjudication.js.map +1 -1
  419. package/dist/composition/aliases.js.map +1 -1
  420. package/dist/composition/audit-coverage.d.ts +2 -0
  421. package/dist/composition/audit-coverage.d.ts.map +1 -1
  422. package/dist/composition/audit-coverage.js.map +1 -1
  423. package/dist/composition/axes.d.ts +12 -0
  424. package/dist/composition/axes.d.ts.map +1 -1
  425. package/dist/composition/axes.js +18 -6
  426. package/dist/composition/axes.js.map +1 -1
  427. package/dist/composition/axis-audit.js.map +1 -1
  428. package/dist/composition/bridge-analysis.d.ts +0 -18
  429. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  430. package/dist/composition/bridge-analysis.js +57 -47
  431. package/dist/composition/bridge-analysis.js.map +1 -1
  432. package/dist/composition/bridge-prediction.d.ts +5 -1
  433. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  434. package/dist/composition/bridge-prediction.js +12 -16
  435. package/dist/composition/bridge-prediction.js.map +1 -1
  436. package/dist/composition/buckingham-filter.js.map +1 -1
  437. package/dist/composition/canonical-compare.d.ts.map +1 -1
  438. package/dist/composition/canonical-compare.js +12 -2
  439. package/dist/composition/canonical-compare.js.map +1 -1
  440. package/dist/composition/canonical-graph.d.ts +8 -9
  441. package/dist/composition/canonical-graph.d.ts.map +1 -1
  442. package/dist/composition/canonical-graph.js +25 -67
  443. package/dist/composition/canonical-graph.js.map +1 -1
  444. package/dist/composition/canonical-json.js.map +1 -1
  445. package/dist/composition/canonical-prefactors.js.map +1 -1
  446. package/dist/composition/catalog-graph.d.ts.map +1 -1
  447. package/dist/composition/catalog-graph.js +6 -20
  448. package/dist/composition/catalog-graph.js.map +1 -1
  449. package/dist/composition/chain-candidate.d.ts +2 -0
  450. package/dist/composition/chain-candidate.d.ts.map +1 -1
  451. package/dist/composition/chain-candidate.js +2 -0
  452. package/dist/composition/chain-candidate.js.map +1 -1
  453. package/dist/composition/chain-match.js.map +1 -1
  454. package/dist/composition/chain-regime.js.map +1 -1
  455. package/dist/composition/chain-result.js.map +1 -1
  456. package/dist/composition/compose-surface.js.map +1 -1
  457. package/dist/composition/compose-symbolic.js.map +1 -1
  458. package/dist/composition/compose.d.ts.map +1 -1
  459. package/dist/composition/compose.js +153 -36
  460. package/dist/composition/compose.js.map +1 -1
  461. package/dist/composition/composition-recovery.js.map +1 -1
  462. package/dist/composition/consequence.d.ts.map +1 -1
  463. package/dist/composition/consequence.js +15 -6
  464. package/dist/composition/consequence.js.map +1 -1
  465. package/dist/composition/consistency.js.map +1 -1
  466. package/dist/composition/descriptor.d.ts +1 -1
  467. package/dist/composition/descriptor.d.ts.map +1 -1
  468. package/dist/composition/descriptor.js.map +1 -1
  469. package/dist/composition/dimension-adjacency.js.map +1 -1
  470. package/dist/composition/discovery.d.ts +21 -11
  471. package/dist/composition/discovery.d.ts.map +1 -1
  472. package/dist/composition/discovery.js +81 -21
  473. package/dist/composition/discovery.js.map +1 -1
  474. package/dist/composition/edge.d.ts +19 -8
  475. package/dist/composition/edge.d.ts.map +1 -1
  476. package/dist/composition/edge.js +24 -11
  477. package/dist/composition/edge.js.map +1 -1
  478. package/dist/composition/enumerate.d.ts +2 -2
  479. package/dist/composition/enumerate.d.ts.map +1 -1
  480. package/dist/composition/enumerate.js.map +1 -1
  481. package/dist/composition/evaluate-relation.js.map +1 -1
  482. package/dist/composition/explain.d.ts +14 -9
  483. package/dist/composition/explain.d.ts.map +1 -1
  484. package/dist/composition/explain.js +46 -13
  485. package/dist/composition/explain.js.map +1 -1
  486. package/dist/composition/expr-eval.js.map +1 -1
  487. package/dist/composition/expr-simplify.d.ts.map +1 -1
  488. package/dist/composition/expr-simplify.js +9 -39
  489. package/dist/composition/expr-simplify.js.map +1 -1
  490. package/dist/composition/expr-subst.js.map +1 -1
  491. package/dist/composition/formula-shape.d.ts +9 -0
  492. package/dist/composition/formula-shape.d.ts.map +1 -1
  493. package/dist/composition/formula-shape.js +54 -0
  494. package/dist/composition/formula-shape.js.map +1 -1
  495. package/dist/composition/frontier-account.d.ts +3 -2
  496. package/dist/composition/frontier-account.d.ts.map +1 -1
  497. package/dist/composition/frontier-account.js +7 -3
  498. package/dist/composition/frontier-account.js.map +1 -1
  499. package/dist/composition/graph-viz-svg.js.map +1 -1
  500. package/dist/composition/graph-viz.js.map +1 -1
  501. package/dist/composition/grounding.js.map +1 -1
  502. package/dist/composition/identifiability.js.map +1 -1
  503. package/dist/composition/index.d.ts +6 -4
  504. package/dist/composition/index.d.ts.map +1 -1
  505. package/dist/composition/index.js +4 -3
  506. package/dist/composition/index.js.map +1 -1
  507. package/dist/composition/mathts-quiet.d.ts +28 -0
  508. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  509. package/dist/composition/mathts-quiet.js +56 -0
  510. package/dist/composition/mathts-quiet.js.map +1 -0
  511. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  512. package/dist/composition/mathts-scalar-symbols.js +18 -34
  513. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  514. package/dist/composition/not-composable-seeds.d.ts +3 -1
  515. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  516. package/dist/composition/not-composable-seeds.js +2 -0
  517. package/dist/composition/not-composable-seeds.js.map +1 -1
  518. package/dist/composition/probe/backend-protocol.js.map +1 -1
  519. package/dist/composition/probe/candidate-store.js.map +1 -1
  520. package/dist/composition/probe/corpus.js.map +1 -1
  521. package/dist/composition/probe/dataset.js.map +1 -1
  522. package/dist/composition/probe/experiment-design.js.map +1 -1
  523. package/dist/composition/probe/expression-gaps.js.map +1 -1
  524. package/dist/composition/probe/falsify.d.ts +14 -3
  525. package/dist/composition/probe/falsify.d.ts.map +1 -1
  526. package/dist/composition/probe/falsify.js +14 -27
  527. package/dist/composition/probe/falsify.js.map +1 -1
  528. package/dist/composition/probe/fingerprint.js.map +1 -1
  529. package/dist/composition/probe/fit.d.ts +1 -1
  530. package/dist/composition/probe/fit.d.ts.map +1 -1
  531. package/dist/composition/probe/fit.js +2 -1
  532. package/dist/composition/probe/fit.js.map +1 -1
  533. package/dist/composition/probe/frontier.js.map +1 -1
  534. package/dist/composition/probe/generator.js.map +1 -1
  535. package/dist/composition/probe/index.d.ts +4 -2
  536. package/dist/composition/probe/index.d.ts.map +1 -1
  537. package/dist/composition/probe/index.js +4 -2
  538. package/dist/composition/probe/index.js.map +1 -1
  539. package/dist/composition/probe/limits.js.map +1 -1
  540. package/dist/composition/probe/metadata.js.map +1 -1
  541. package/dist/composition/probe/pipeline.d.ts +5 -0
  542. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  543. package/dist/composition/probe/pipeline.js +13 -6
  544. package/dist/composition/probe/pipeline.js.map +1 -1
  545. package/dist/composition/probe/problem.d.ts +8 -0
  546. package/dist/composition/probe/problem.d.ts.map +1 -1
  547. package/dist/composition/probe/problem.js +78 -12
  548. package/dist/composition/probe/problem.js.map +1 -1
  549. package/dist/composition/probe/report.js.map +1 -1
  550. package/dist/composition/probe/residual.js.map +1 -1
  551. package/dist/composition/probe/run-manifest.js +2 -2
  552. package/dist/composition/probe/run-manifest.js.map +1 -1
  553. package/dist/composition/probe/scoring.d.ts +2 -1
  554. package/dist/composition/probe/scoring.d.ts.map +1 -1
  555. package/dist/composition/probe/scoring.js +21 -7
  556. package/dist/composition/probe/scoring.js.map +1 -1
  557. package/dist/composition/probe/search-budget.js.map +1 -1
  558. package/dist/composition/probe/serialize.js.map +1 -1
  559. package/dist/composition/probe/structure.js.map +1 -1
  560. package/dist/composition/probe/study.d.ts +4 -3
  561. package/dist/composition/probe/study.d.ts.map +1 -1
  562. package/dist/composition/probe/study.js +5 -3
  563. package/dist/composition/probe/study.js.map +1 -1
  564. package/dist/composition/probe/types.d.ts +3 -1
  565. package/dist/composition/probe/types.d.ts.map +1 -1
  566. package/dist/composition/probe/types.js +2 -0
  567. package/dist/composition/probe/types.js.map +1 -1
  568. package/dist/composition/proposed-bridges.d.ts +11 -4
  569. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  570. package/dist/composition/proposed-bridges.js +11 -4
  571. package/dist/composition/proposed-bridges.js.map +1 -1
  572. package/dist/composition/quantities.d.ts +0 -4
  573. package/dist/composition/quantities.d.ts.map +1 -1
  574. package/dist/composition/quantities.js +5 -5
  575. package/dist/composition/quantities.js.map +1 -1
  576. package/dist/composition/quantity.d.ts +18 -2
  577. package/dist/composition/quantity.d.ts.map +1 -1
  578. package/dist/composition/quantity.js +35 -6
  579. package/dist/composition/quantity.js.map +1 -1
  580. package/dist/composition/representative-values.js.map +1 -1
  581. package/dist/composition/retrodiction.d.ts +16 -6
  582. package/dist/composition/retrodiction.d.ts.map +1 -1
  583. package/dist/composition/retrodiction.js +34 -9
  584. package/dist/composition/retrodiction.js.map +1 -1
  585. package/dist/composition/uncertainty.js.map +1 -1
  586. package/dist/composition/user-equation.js.map +1 -1
  587. package/dist/core/axes-registry.d.ts +8 -5
  588. package/dist/core/axes-registry.d.ts.map +1 -1
  589. package/dist/core/axes-registry.js.map +1 -1
  590. package/dist/core/cell.js.map +1 -1
  591. package/dist/core/constants.d.ts +8 -8
  592. package/dist/core/constants.d.ts.map +1 -1
  593. package/dist/core/constants.js +8 -10
  594. package/dist/core/constants.js.map +1 -1
  595. package/dist/core/data-file.js.map +1 -1
  596. package/dist/core/flux-rules.js +1 -1
  597. package/dist/core/flux-rules.js.map +1 -1
  598. package/dist/core/json-schema.d.ts +1 -1
  599. package/dist/core/json-schema.d.ts.map +1 -1
  600. package/dist/core/json-schema.js +31 -7
  601. package/dist/core/json-schema.js.map +1 -1
  602. package/dist/core/labeled-tensor.d.ts +6 -1
  603. package/dist/core/labeled-tensor.d.ts.map +1 -1
  604. package/dist/core/labeled-tensor.js +18 -8
  605. package/dist/core/labeled-tensor.js.map +1 -1
  606. package/dist/core/regime-registry.d.ts +6 -2
  607. package/dist/core/regime-registry.d.ts.map +1 -1
  608. package/dist/core/regime-registry.js.map +1 -1
  609. package/dist/core/regime-rule-install.js.map +1 -1
  610. package/dist/core/regimes-builtins.js.map +1 -1
  611. package/dist/core/tensor.d.ts +7 -4
  612. package/dist/core/tensor.d.ts.map +1 -1
  613. package/dist/core/tensor.js +40 -8
  614. package/dist/core/tensor.js.map +1 -1
  615. package/dist/core/types.js.map +1 -1
  616. package/dist/core/universal-index.js.map +1 -1
  617. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  618. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  619. package/dist/diff/bridge-ast-gradient.js +10 -6
  620. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  621. package/dist/diff/bridge-gradient.d.ts +24 -80
  622. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  623. package/dist/diff/bridge-gradient.js +21 -98
  624. package/dist/diff/bridge-gradient.js.map +1 -1
  625. package/dist/diff/bridge-specs.d.ts +16 -5
  626. package/dist/diff/bridge-specs.d.ts.map +1 -1
  627. package/dist/diff/bridge-specs.js +16 -4
  628. package/dist/diff/bridge-specs.js.map +1 -1
  629. package/dist/dimensional/algebra.js.map +1 -1
  630. package/dist/dimensional/ast-builders.d.ts +5 -4
  631. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  632. package/dist/dimensional/ast-builders.js +6 -5
  633. package/dist/dimensional/ast-builders.js.map +1 -1
  634. package/dist/dimensional/ast-types.js.map +1 -1
  635. package/dist/dimensional/bridge-check.js.map +1 -1
  636. package/dist/dimensional/buckingham.js.map +1 -1
  637. package/dist/dimensional/connection-validators.d.ts +2 -1
  638. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  639. package/dist/dimensional/connection-validators.js.map +1 -1
  640. package/dist/dimensional/connection.js.map +1 -1
  641. package/dist/dimensional/constant-rows.d.ts.map +1 -1
  642. package/dist/dimensional/constant-rows.js +9 -5
  643. package/dist/dimensional/constant-rows.js.map +1 -1
  644. package/dist/dimensional/constants.d.ts +5 -6
  645. package/dist/dimensional/constants.d.ts.map +1 -1
  646. package/dist/dimensional/constants.js +5 -6
  647. package/dist/dimensional/constants.js.map +1 -1
  648. package/dist/dimensional/curvature-composite.js.map +1 -1
  649. package/dist/dimensional/curvature-invariants.js.map +1 -1
  650. package/dist/dimensional/curvature.js.map +1 -1
  651. package/dist/dimensional/dimension-inference.js.map +1 -1
  652. package/dist/dimensional/dimension-spec.d.ts +13 -7
  653. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  654. package/dist/dimensional/dimension-spec.js +49 -23
  655. package/dist/dimensional/dimension-spec.js.map +1 -1
  656. package/dist/dimensional/einstein-equation.js.map +1 -1
  657. package/dist/dimensional/errors.d.ts +3 -1
  658. package/dist/dimensional/errors.d.ts.map +1 -1
  659. package/dist/dimensional/errors.js +2 -2
  660. package/dist/dimensional/errors.js.map +1 -1
  661. package/dist/dimensional/exact-scale.js.map +1 -1
  662. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  663. package/dist/dimensional/formula-names.js.map +1 -1
  664. package/dist/dimensional/fresh-label.js.map +1 -1
  665. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  666. package/dist/dimensional/friedmann-equation.js +3 -3
  667. package/dist/dimensional/friedmann-equation.js.map +1 -1
  668. package/dist/dimensional/gauge-field.d.ts +2 -3
  669. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  670. package/dist/dimensional/gauge-field.js +0 -1
  671. package/dist/dimensional/gauge-field.js.map +1 -1
  672. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  673. package/dist/dimensional/hyphen-names.js +8 -0
  674. package/dist/dimensional/hyphen-names.js.map +1 -1
  675. package/dist/dimensional/killing-validators.js.map +1 -1
  676. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  677. package/dist/dimensional/metric-validators.d.ts +2 -1
  678. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  679. package/dist/dimensional/metric-validators.js.map +1 -1
  680. package/dist/dimensional/metric.js.map +1 -1
  681. package/dist/dimensional/natural-units.js.map +1 -1
  682. package/dist/dimensional/quantity-registry.d.ts +13 -0
  683. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  684. package/dist/dimensional/quantity-registry.js +14 -6
  685. package/dist/dimensional/quantity-registry.js.map +1 -1
  686. package/dist/dimensional/rg-flow.js.map +1 -1
  687. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  688. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  689. package/dist/dimensional/symbolic-constants.js +7 -2
  690. package/dist/dimensional/symbolic-constants.js.map +1 -1
  691. package/dist/dimensional/tensor-trace.js.map +1 -1
  692. package/dist/dimensional/tensor.js.map +1 -1
  693. package/dist/dimensional/types.js.map +1 -1
  694. package/dist/dimensional/unit-convention.d.ts +0 -2
  695. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  696. package/dist/dimensional/unit-convention.js +2 -2
  697. package/dist/dimensional/unit-convention.js.map +1 -1
  698. package/dist/dimensional/unit-data.d.ts.map +1 -1
  699. package/dist/dimensional/unit-data.js +9 -5
  700. package/dist/dimensional/unit-data.js.map +1 -1
  701. package/dist/dimensional/units.d.ts.map +1 -1
  702. package/dist/dimensional/units.js +38 -20
  703. package/dist/dimensional/units.js.map +1 -1
  704. package/dist/dimensional/validator-registry.js.map +1 -1
  705. package/dist/dimensional/validator.d.ts +0 -16
  706. package/dist/dimensional/validator.d.ts.map +1 -1
  707. package/dist/dimensional/validator.js +65 -29
  708. package/dist/dimensional/validator.js.map +1 -1
  709. package/dist/dimensional/weyl-validators.js.map +1 -1
  710. package/dist/index.d.ts +50 -5
  711. package/dist/index.d.ts.map +1 -1
  712. package/dist/index.js +12 -20
  713. package/dist/index.js.map +1 -1
  714. package/dist/numerical/bianchi-residual.js.map +1 -1
  715. package/dist/numerical/binding-value.d.ts +11 -6
  716. package/dist/numerical/binding-value.d.ts.map +1 -1
  717. package/dist/numerical/binding-value.js +126 -122
  718. package/dist/numerical/binding-value.js.map +1 -1
  719. package/dist/numerical/christoffel-flat.js.map +1 -1
  720. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  721. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  722. package/dist/numerical/covariant-eikonal.js +2 -2
  723. package/dist/numerical/covariant-eikonal.js.map +1 -1
  724. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  725. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  726. package/dist/numerical/curvature-lowering-helpers.js +6 -3
  727. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  728. package/dist/numerical/derivative-lowering.js.map +1 -1
  729. package/dist/numerical/einstein-equation.js.map +1 -1
  730. package/dist/numerical/engine-registry.js.map +1 -1
  731. package/dist/numerical/errors.d.ts +7 -3
  732. package/dist/numerical/errors.d.ts.map +1 -1
  733. package/dist/numerical/errors.js +5 -5
  734. package/dist/numerical/errors.js.map +1 -1
  735. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
  736. package/dist/numerical/evaluator-uncertainty.js +19 -2
  737. package/dist/numerical/evaluator-uncertainty.js.map +1 -1
  738. package/dist/numerical/formula-contract.d.ts +63 -7
  739. package/dist/numerical/formula-contract.d.ts.map +1 -1
  740. package/dist/numerical/formula-contract.js +61 -42
  741. package/dist/numerical/formula-contract.js.map +1 -1
  742. package/dist/numerical/formula-dimension.d.ts +8 -7
  743. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  744. package/dist/numerical/formula-dimension.js +58 -36
  745. package/dist/numerical/formula-dimension.js.map +1 -1
  746. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  747. package/dist/numerical/formula-mathts.js +5 -2
  748. package/dist/numerical/formula-mathts.js.map +1 -1
  749. package/dist/numerical/formula-registry.d.ts +13 -3
  750. package/dist/numerical/formula-registry.d.ts.map +1 -1
  751. package/dist/numerical/formula-registry.js +7 -2
  752. package/dist/numerical/formula-registry.js.map +1 -1
  753. package/dist/numerical/geodesic-integrator.js.map +1 -1
  754. package/dist/numerical/geometrized.js.map +1 -1
  755. package/dist/numerical/gl4-integrator.d.ts +28 -27
  756. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  757. package/dist/numerical/gl4-integrator.js +41 -42
  758. package/dist/numerical/gl4-integrator.js.map +1 -1
  759. package/dist/numerical/grid-field.js.map +1 -1
  760. package/dist/numerical/index.js.map +1 -1
  761. package/dist/numerical/input-validation.d.ts +3 -6
  762. package/dist/numerical/input-validation.d.ts.map +1 -1
  763. package/dist/numerical/input-validation.js +4 -8
  764. package/dist/numerical/input-validation.js.map +1 -1
  765. package/dist/numerical/killing.d.ts +8 -5
  766. package/dist/numerical/killing.d.ts.map +1 -1
  767. package/dist/numerical/killing.js.map +1 -1
  768. package/dist/numerical/klein-gordon.js.map +1 -1
  769. package/dist/numerical/kretschmann.js.map +1 -1
  770. package/dist/numerical/lowering-utils.js.map +1 -1
  771. package/dist/numerical/lowering.d.ts.map +1 -1
  772. package/dist/numerical/lowering.js +7 -17
  773. package/dist/numerical/lowering.js.map +1 -1
  774. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  775. package/dist/numerical/mathts-engine.js +11 -6
  776. package/dist/numerical/mathts-engine.js.map +1 -1
  777. package/dist/numerical/metric-inverse.js.map +1 -1
  778. package/dist/numerical/null-ic.js.map +1 -1
  779. package/dist/numerical/null-ray-integrator.js +4 -4
  780. package/dist/numerical/null-ray-integrator.js.map +1 -1
  781. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  782. package/dist/numerical/pderiv.d.ts.map +1 -1
  783. package/dist/numerical/pderiv.js +9 -2
  784. package/dist/numerical/pderiv.js.map +1 -1
  785. package/dist/numerical/perihelion-finder.js.map +1 -1
  786. package/dist/numerical/quadrature.d.ts +5 -2
  787. package/dist/numerical/quadrature.d.ts.map +1 -1
  788. package/dist/numerical/quadrature.js +20 -3
  789. package/dist/numerical/quadrature.js.map +1 -1
  790. package/dist/numerical/spacetime-metrics.d.ts +13 -19
  791. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  792. package/dist/numerical/spacetime-metrics.js +126 -248
  793. package/dist/numerical/spacetime-metrics.js.map +1 -1
  794. package/dist/numerical/strides.js.map +1 -1
  795. package/dist/numerical/tensor-engine.d.ts +9 -5
  796. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  797. package/dist/numerical/tensor-engine.js.map +1 -1
  798. package/dist/numerical/types.js.map +1 -1
  799. package/dist/numerical/weyl-lowering.js.map +1 -1
  800. package/dist/relations/category.js.map +1 -1
  801. package/dist/relations/composition-table.d.ts +4 -4
  802. package/dist/relations/composition-table.js +4 -4
  803. package/dist/relations/composition-table.js.map +1 -1
  804. package/dist/relations/conventions.js.map +1 -1
  805. package/dist/relations/domain-regimes.js.map +1 -1
  806. package/dist/relations/regime-registration.js.map +1 -1
  807. package/dist/relations/regime-vocabularies.js.map +1 -1
  808. package/dist/relations/regime.d.ts +18 -8
  809. package/dist/relations/regime.d.ts.map +1 -1
  810. package/dist/relations/regime.js +26 -14
  811. package/dist/relations/regime.js.map +1 -1
  812. package/dist/relations/types.d.ts +18 -5
  813. package/dist/relations/types.d.ts.map +1 -1
  814. package/dist/relations/types.js +5 -3
  815. package/dist/relations/types.js.map +1 -1
  816. package/package.json +10 -14
  817. package/dist/bridges/registry.d.ts +0 -60
  818. package/dist/bridges/registry.d.ts.map +0 -1
  819. package/dist/bridges/registry.js +0 -87
  820. package/dist/bridges/registry.js.map +0 -1
  821. package/dist/cli/poster-source.d.ts +0 -154
  822. package/dist/cli/poster-source.d.ts.map +0 -1
  823. package/dist/cli/poster-source.js +0 -184
  824. package/dist/cli/poster-source.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"regimes-builtins.js","sourceRoot":"","sources":["../../src/core/regimes-builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regimes-builtins.js","sourceRoot":"","sources":["../../src/core/regimes-builtins.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Built-in regime registrations — Phase 2 of v0.8 Proposal 5.\n *\n * Pre-registers the v0.6-shipped closed-union values from\n * `src/core/types.ts` under the corresponding `AxisName`. This\n * gives downstream consumers a stable starting point: every\n * value already in the catalog has an entry in the regime\n * registry without per-bridge migration.\n *\n * Per P5 Decision #1, this does NOT close the new physics-regime\n * taxonomy (e.g., no \"classical-mechanics\", \"QFT\" regimes\n * shipped — those are v0.9 per-bridge physics review).\n *\n * Module-load side effect: registers every value below at import\n * time. Idempotent — re-importing or double-importing is a\n * no-op (see `defineRegime` idempotency in\n * `regime-registry.ts`).\n *\n * @module core/regimes-builtins\n */\n\nimport { defineRegime } from './regime-registry.js';\nimport type {\n PhysicalScale,\n Force,\n Symmetry,\n InformationMeasure,\n} from './types.js';\n\nconst BUILTIN_SOURCE = 'universal-physics-tensor';\n\n// ---------------------------------------------------------------------------\n// Scale axis — 4 entries\n// ---------------------------------------------------------------------------\n\nconst scaleTags: Array<{ tag: PhysicalScale; displayName: string }> = [\n { tag: 'quantum', displayName: 'Quantum (< 10^-9 m)' },\n { tag: 'mesoscopic', displayName: 'Mesoscopic (10^-9 to 10^-6 m)' },\n { tag: 'classical', displayName: 'Classical (10^-6 to 10^26 m)' },\n { tag: 'cosmological', displayName: 'Cosmological (> 10^26 m)' },\n];\n\nfor (const { tag, displayName } of scaleTags) {\n defineRegime({\n axis: 'scale',\n tag,\n displayName,\n provenance: { registeredBy: BUILTIN_SOURCE },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Force axis — 5 entries\n// ---------------------------------------------------------------------------\n\nconst forceTags: Array<{ tag: Force; displayName: string }> = [\n { tag: 'gravitational', displayName: 'Gravitational' },\n { tag: 'electromagnetic', displayName: 'Electromagnetic' },\n { tag: 'weak', displayName: 'Weak nuclear' },\n { tag: 'strong', displayName: 'Strong nuclear' },\n { tag: 'emergent', displayName: 'Emergent (friction, tension, etc.)' },\n];\n\nfor (const { tag, displayName } of forceTags) {\n defineRegime({\n axis: 'force',\n tag,\n displayName,\n provenance: { registeredBy: BUILTIN_SOURCE },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Symmetry axis — 5 entries (Eve-M1: NOT 4 + placeholder)\n// ---------------------------------------------------------------------------\n\nconst symmetryTags: Array<{ tag: Symmetry; displayName: string }> = [\n { tag: 'poincare', displayName: 'Poincaré (spacetime)' },\n { tag: 'gauge', displayName: 'Gauge (U(1), SU(2), SU(3))' },\n { tag: 'conformal', displayName: 'Conformal (scale invariance)' },\n { tag: 'susy', displayName: 'Supersymmetry' },\n { tag: 'emergent', displayName: 'Emergent (effective symmetries)' },\n];\n\nfor (const { tag, displayName } of symmetryTags) {\n defineRegime({\n axis: 'symmetry',\n tag,\n displayName,\n provenance: { registeredBy: BUILTIN_SOURCE },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Information axis — 4 entries\n// ---------------------------------------------------------------------------\n\nconst informationTags: Array<{ tag: InformationMeasure; displayName: string }> = [\n { tag: 'vonNeumann', displayName: 'von Neumann entropy' },\n { tag: 'shannon', displayName: 'Shannon entropy' },\n { tag: 'kolmogorov', displayName: 'Kolmogorov complexity' },\n { tag: 'quantumDiscord', displayName: 'Quantum discord' },\n];\n\nfor (const { tag, displayName } of informationTags) {\n defineRegime({\n axis: 'information',\n tag,\n displayName,\n provenance: { registeredBy: BUILTIN_SOURCE },\n });\n}\n\n// dimension and topology axes are integer-valued; no built-in\n// registrations ship (per P1 Phase 0 census + P5 Decision #4 —\n// integer axes are wildcards).\n"]}
@@ -107,11 +107,16 @@ export declare class UniversalTensor {
107
107
  * @public
108
108
  */
109
109
  addCell(cell: Cell): boolean;
110
+ /** The stored entry `cell.id` currently names in its own kind's map, if any. */
111
+ private snapshotEntry;
110
112
  /**
111
113
  * Internal helper: roll back the legacy `addLaw`/`addBridge`/
112
114
  * `addEmergence` storage for a cell that just failed a rule check.
113
- * Used by `addCell` to maintain fail-atomic semantics on
114
- * ERROR-tier rule violations.
115
+ * Removes the freshly stored entry and, when the add replaced an
116
+ * existing entry, stores that entry again through the same add path
117
+ * (it passed structural validation when it was first stored). Used by
118
+ * `addCell` to maintain fail-atomic semantics on ERROR-tier rule
119
+ * violations.
115
120
  *
116
121
  * @internal
117
122
  */
@@ -229,8 +234,6 @@ export declare class UniversalTensor {
229
234
  occupiedCells: number;
230
235
  totalEntries: number;
231
236
  sparse: boolean;
232
- /** @deprecated use occupiedCells (cell count) or totalEntries (sum of set sizes) */
233
- totalElements: number;
234
237
  };
235
238
  /**
236
239
  * Serialize tensor indices to string key.
@@ -1 +1 @@
1
- {"version":3,"file":"tensor.d.ts","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tensor.d.ts","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"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"}
@@ -336,8 +336,11 @@ export class UniversalTensor {
336
336
  // v0.7-p2 Phase 2 Task 2.3: dispatch to legacy add method FIRST
337
337
  // (catches structural-validation throws on bad inputs), then run
338
338
  // flux rules. ERROR-tier diagnostics throw FluxViolationError and
339
- // roll back the legacy add by removing the freshly-stored entry
340
- // (fail-atomic per Decision #4).
339
+ // roll back the legacy add (fail-atomic per Decision #4). The add may
340
+ // REPLACE an entry with the same id, so the entry that was there is
341
+ // snapshotted first and put back on rollback; deleting the id would
342
+ // erase a good record because its replacement was bad.
343
+ const previous = this.snapshotEntry(cell);
341
344
  let newlyAdded;
342
345
  switch (cell.kind) {
343
346
  case 'law':
@@ -363,21 +366,46 @@ export class UniversalTensor {
363
366
  const errDiag = report.diagnostics.find((d) => d.severity === 'error');
364
367
  if (errDiag) {
365
368
  // Roll back the legacy add before throwing (fail-atomic).
366
- this.rollbackCell(cell);
369
+ this.rollbackCell(cell, previous);
367
370
  throw new FluxViolationError(errDiag.ruleName, errDiag.cellId, errDiag.message);
368
371
  }
369
372
  }
370
373
  return newlyAdded;
371
374
  }
375
+ /** The stored entry `cell.id` currently names in its own kind's map, if any. */
376
+ snapshotEntry(cell) {
377
+ switch (cell.kind) {
378
+ case 'law': {
379
+ const law = this.knownLaws.get(cell.id);
380
+ return law === undefined ? undefined : { kind: 'law', law };
381
+ }
382
+ case 'bridge': {
383
+ const bridge = this.bridgeEquations.get(cell.id);
384
+ return bridge === undefined ? undefined : { kind: 'bridge', bridge };
385
+ }
386
+ case 'emergence': {
387
+ const phenomenon = this.emergentPhenomena.get(cell.id);
388
+ return phenomenon === undefined ? undefined : { kind: 'emergence', phenomenon };
389
+ }
390
+ default: {
391
+ const _exhaustive = cell;
392
+ void _exhaustive;
393
+ return undefined;
394
+ }
395
+ }
396
+ }
372
397
  /**
373
398
  * Internal helper: roll back the legacy `addLaw`/`addBridge`/
374
399
  * `addEmergence` storage for a cell that just failed a rule check.
375
- * Used by `addCell` to maintain fail-atomic semantics on
376
- * ERROR-tier rule violations.
400
+ * Removes the freshly stored entry and, when the add replaced an
401
+ * existing entry, stores that entry again through the same add path
402
+ * (it passed structural validation when it was first stored). Used by
403
+ * `addCell` to maintain fail-atomic semantics on ERROR-tier rule
404
+ * violations.
377
405
  *
378
406
  * @internal
379
407
  */
380
- rollbackCell(cell) {
408
+ rollbackCell(cell, previous) {
381
409
  switch (cell.kind) {
382
410
  case 'law': {
383
411
  const law = this.knownLaws.get(cell.id);
@@ -389,6 +417,8 @@ export class UniversalTensor {
389
417
  this.removeFromCell(this.serializeIndices({ scale, force }), cell.id);
390
418
  }
391
419
  }
420
+ if (previous?.kind === 'law')
421
+ this.addLaw(previous.law);
392
422
  return;
393
423
  }
394
424
  case 'bridge': {
@@ -397,6 +427,8 @@ export class UniversalTensor {
397
427
  return;
398
428
  this.bridgeEquations.delete(cell.id);
399
429
  this.removeFromCell(this.bridgeCellKey(bridge.source, bridge.target), cell.id);
430
+ if (previous?.kind === 'bridge')
431
+ this.addBridge(previous.bridge);
400
432
  return;
401
433
  }
402
434
  case 'emergence': {
@@ -409,6 +441,8 @@ export class UniversalTensor {
409
441
  if (key)
410
442
  this.removeFromCell(key, cell.id);
411
443
  }
444
+ if (previous?.kind === 'emergence')
445
+ this.addEmergence(previous.phenomenon);
412
446
  return;
413
447
  }
414
448
  default: {
@@ -662,8 +696,6 @@ export class UniversalTensor {
662
696
  occupiedCells: this.tensorData.size,
663
697
  totalEntries,
664
698
  sparse: this.config.sparse,
665
- /** @deprecated use occupiedCells (cell count) or totalEntries (sum of set sizes) */
666
- totalElements: this.tensorData.size,
667
699
  };
668
700
  }
669
701
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tensor.js","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkBH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,SAAS,wBAAwB,CAAC,CAAiB;IACjD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,aAAa,EAAE,OAAO,IAAI,CAAC;QAChC,KAAK,aAAa,EAAE,OAAO,GAAG,CAAC;QAC/B,KAAK,oBAAoB,EAAE,OAAO,GAAG,CAAC;QACtC,SAAS,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,KAAK,WAAW,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAW,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,IAAa;IAC9B,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAgB;IACpC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;QACrD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAmB;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;QAClC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,WAAW,EAAE;QAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAClB,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,WAAW;QACX,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IACT,MAAM,CAAyB;IAC/B,SAAS,CAA2B;IACpC,eAAe,CAA8B;IAC7C,iBAAiB,CAAkC;IAEpE;;;;;OAKG;IACc,UAAU,CAA2B;IAEtD;;;;;;;;;OASG;IACc,SAAS,CAA0B;IAEpD,YAAY,MAAoB;QAC9B,sEAAsE;QACtE,oEAAoE;QACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,UAAU,CAAC,gDAAgD,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,UAAU;gBACnB,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC;YACzB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBACtF,CAAC,CAAC,MAAM,CAAC,mBAAmB;gBAC5B,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;SAC9B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,GAAgB;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,UAAU,CAAC,gDAAgD,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,CAAC,sBAAsB,CACzB,GAAG,CAAC,mBAAmB,EACvB,qBAAqB,EACrB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QACF,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,4EAA4E;YAC5E,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEhC,+DAA+D;QAC/D,+EAA+E;QAC/E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,KAAK,SAAS,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,MAAsB;QACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAAC,mDAAmD,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,mEAAmE;QACnE,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAClB,2EAA2E,MAAM,CAAC,EAAE,EAAE;gBACpF,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE5C,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,QAAQ,KAAK,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,EAAU,EAAE,IAAY;QACzC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,gCAAgC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAC5B,MAAgC,EAChC,QAAgB,EAChB,QAAsB;QAEtB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,UAAU,CAClB,GAAG,QAAQ,WAAW,CAAC,qCAAqC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAChC,MAAqC,EACrC,QAAgB;QAEhB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,UAAU,CAClB,GAAG,QAAQ,wCAAwC,CAAC,EAAE,CACvD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAqB,EAAE,MAAqB;QAChE,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,GAAW,EAAE,UAAkB;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAW,EAAE,UAAkB;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,UAA8B;QAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,UAAU,CAClB,qFAAqF,UAAU,CAAC,KAAK,EAAE,CACxG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,UAAU,CAClB,uDAAuD,UAAU,CAAC,UAAU,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,GAAG;oBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAEtD,yEAAyE;QACzE,oEAAoE;QACpE,8CAA8C;QAC9C,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,GAAG;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,QAAQ,KAAK,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,CAAC,IAAU;QACvB,gEAAgE;QAChE,iEAAiE;QACjE,kEAAkE;QAClE,gEAAgE;QAChE,iCAAiC;QACjC,IAAI,UAAmB,CAAC;QACxB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,KAAK;gBACR,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,QAAQ;gBACX,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,WAAW;gBACd,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,SAAS,CAAC;gBACR,MAAM,WAAW,GAAU,IAAI,CAAC;gBAChC,KAAK,WAAW,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,+CAAgD,IAAa,CAAC,IAAI,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,+DAA+D;QAC/D,6DAA6D;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YACvE,IAAI,OAAO,EAAE,CAAC;gBACZ,0DAA0D;gBAC1D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,IAAU;QAC7B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,KAAK,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC/B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,KAAK,WAAW,EAAE,CAAC;gBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAChB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,GAAG;wBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,WAAW,GAAU,IAAI,CAAC;gBAChC,KAAK,WAAW,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,4EAA4E;IAE5E;;;;;;;;;;;OAWG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,cAAc;QACnB,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,wBAAwB;QAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEhD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,GAAG,KAAK,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAClE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,eAAe;QACpB,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;YAChC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;YACpC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,4EAA4E;IAE5E;;;;;;;OAOG;IACK,cAAc,CAAC,GAAW;QAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;QAC9E,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAA6B,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,OAAO;oBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;oBAAC,MAAM;gBACvC,KAAK,OAAO;oBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;oBAAC,MAAM;gBACvC,KAAK,KAAK;oBAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAAC,MAAM;gBACxC,KAAK,MAAM;oBAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;oBAAC,MAAM;gBAC5C,KAAK,KAAK;oBAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAAC,MAAM;gBACjD,KAAK,MAAM;oBAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAAC,MAAM;YACnD,CAAC;QACH,CAAC;QACD,OAAO,GAAoB,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACK,CAAC,kBAAkB,CAAC,KAAoB;QAC9C,MAAM,IAAI,GAGL;YACH,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACnD,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;SAChE,CAAC;QAEF,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,SAAS;YACvC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACjC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,OAAsB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,MAAqB,EAAE,MAAqB;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,OAAsB;QACrC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,MAAqB,EAAE,MAAqB;QAC7D,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IACE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,6EAA6E;QAC7E,6EAA6E;QAC7E,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAAE,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC;QACvE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YAC9B,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC1C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI;YAC9C,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;YACnC,YAAY;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,oFAAoF;YACpF,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;SACpC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,OAAsB;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,GAAgB,EAAE,KAAoB;QAC5D,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,CAAgB,EAAE,CAAgB;QACrD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,OAAO,CACrB,IAA4B,EAC5B,OAAkC,EAClC,UAAwC,EACxC,MAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,KAAK,MAAM,SAAS,IAAI,UAAU;QAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"tensor.js","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Universal Physics Tensor\n *\n * Core implementation of the rank-N tensor living in product space:\n * Π ∈ H_scale ⊗ H_force ⊗ H_symmetry ⊗ H_info ⊗ H_dim ⊗ H_topo\n *\n * Decomposition: Π = L + B + E\n * Where:\n * - L: Known laws (diagonal elements)\n * - B: Bridge equations (off-diagonal elements)\n * - E: Emergent phenomena (higher-order correlations)\n */\n\nimport type {\n TensorConfig,\n TensorIndices,\n PhysicalLaw,\n BridgeEquation,\n EmergentPhenomenon,\n PhysicalScale,\n Force,\n} from './types.js';\nimport type {\n Cell,\n CellConfidence,\n LawCell,\n BridgeCell,\n EmergenceCell,\n} from './cell.js';\nimport { lawToCell, bridgeToCell, emergenceToCell } from './cell.js';\nimport type { FluxRule, FluxReport, FluxDiagnostic } from './flux-rules.js';\nimport { runRules, V07_CELL_RULES, FluxViolationError } from './flux-rules.js';\n\n/**\n * The entry an `addCell` call is about to replace, held so a flux-rule\n * failure can put it back (fail-atomic on a replacement, not only on a\n * fresh id).\n */\ntype PreviousEntry =\n | { readonly kind: 'law'; readonly law: PhysicalLaw }\n | { readonly kind: 'bridge'; readonly bridge: BridgeEquation }\n | { readonly kind: 'emergence'; readonly phenomenon: EmergentPhenomenon };\n\n/**\n * Map the string-vocabulary {@link CellConfidence} to a representative\n * numeric value in [0,1] for the legacy `addLaw` / `addBridge` /\n * `addEmergence` path (each validates `confidence >= 0 && <= 1`).\n *\n * Internal-only — consumers see the string vocabulary on `Cell`. The\n * numeric value is a storage detail, not a public-API contract. Per\n * Adam+Eve Eve-R3, this is the REVERSE direction of the (rejected)\n * `confidenceToStatus` adapter: that one was rejected because it\n * could overwrite curated catalog `status` fields with derived labels.\n * This one is safe because the caller has already declared their\n * string intent; the function just picks a representative number for\n * the legacy path's range check.\n *\n * @internal\n */\nfunction statusToConfidenceNumber(c: CellConfidence): number {\n switch (c) {\n case 'established': return 0.95;\n case 'speculative': return 0.6;\n case 'highly-speculative': return 0.3;\n default: {\n const _exhaustive: never = c;\n void _exhaustive;\n throw new Error(`Unknown CellConfidence: ${c as string}`);\n }\n }\n}\n\n/**\n * Adapter: `LawCell` → `PhysicalLaw` (legacy shape). Internal-only.\n * @internal\n */\nfunction cellToLaw(cell: LawCell): PhysicalLaw {\n return {\n id: cell.id,\n name: cell.name,\n equation: cell.equation,\n scales: [...cell.scales],\n forces: [...cell.forces],\n symmetries: [...cell.symmetries],\n confidence: statusToConfidenceNumber(cell.confidence),\n ...(cell.informationMeasures ? { informationMeasures: [...cell.informationMeasures] } : {}),\n ...(cell.dimensions ? { dimensions: [...cell.dimensions] } : {}),\n ...(cell.topologies ? { topologies: [...cell.topologies] } : {}),\n ...(cell.references ? { references: [...cell.references] } : {}),\n };\n}\n\n/**\n * Adapter: `BridgeCell` → `BridgeEquation` (legacy shape). Internal-only.\n * @internal\n */\nfunction cellToBridge(cell: BridgeCell): BridgeEquation {\n return {\n id: cell.id,\n name: cell.name,\n source: cell.source,\n target: cell.target,\n equation: cell.equation,\n confidence: statusToConfidenceNumber(cell.confidence),\n validated: cell.validated,\n description: cell.description,\n };\n}\n\n/**\n * Adapter: `EmergenceCell` → `EmergentPhenomenon` (legacy shape).\n * Maps `cell.equation` to `EmergentPhenomenon.description` (the legacy\n * interface uses `description` for the mathematical content); a\n * separate `cell.description` (prose context) is appended if present.\n * @internal\n */\nfunction cellToEmergence(cell: EmergenceCell): EmergentPhenomenon {\n const description = cell.description\n ? `${cell.equation}\\n\\n${cell.description}`\n : cell.equation;\n return {\n id: cell.id,\n name: cell.name,\n order: cell.order,\n indices: [...cell.indices],\n description,\n confidence: statusToConfidenceNumber(cell.confidence),\n };\n}\n\n/**\n * The rank-6 universal physics tensor Π = L + B + E: a sparse store of\n * physical-law / bridge / emergence cells indexed by regime coordinates.\n *\n * @public\n */\nexport class UniversalTensor {\n private readonly config: Required<TensorConfig>;\n private readonly knownLaws: Map<string, PhysicalLaw>;\n private readonly bridgeEquations: Map<string, BridgeEquation>;\n private readonly emergentPhenomena: Map<string, EmergentPhenomenon>;\n\n /**\n * Sparse tensor storage: only store non-zero elements.\n * Key: serialized tensor indices\n * Value: set of equation IDs occupying that cell (multiple laws/bridges\n * may coexist in a single tensor cell without overwriting each other).\n */\n private readonly tensorData: Map<string, Set<string>>;\n\n /**\n * v0.7-p2 Phase 2 Task 2.3: Rule set used by `addCell` (ERROR-tier\n * violations throw) and by `fluxDiagnostics()` (re-runs across all\n * populated cells). Default = `V07_CELL_RULES` (Rule 2 + Rule 3\n * from `flux-rules.ts`). Rule 1 (dimensional consistency) fires\n * from the catalog adapter (Phase 3), not from `addCell`.\n *\n * Per Decision #9, this field is `@internal`. No public mutator\n * is exposed in v0.7 (rule customization is a v0.8+ concern).\n */\n private readonly fluxRules: ReadonlyArray<FluxRule>;\n\n constructor(config: TensorConfig) {\n // Runtime validation (strict TS catches these at compile time, but JS\n // consumers bypass the type system — we validate defensively here).\n if (![3, 4, 5, 6].includes(config.rank)) {\n throw new RangeError(`TensorConfig.rank must be 3, 4, 5, or 6; got ${config.rank}`);\n }\n if (!Array.isArray(config.scales) || config.scales.length === 0) {\n throw new TypeError('TensorConfig.scales must be a non-empty array');\n }\n if (!Array.isArray(config.forces) || config.forces.length === 0) {\n throw new TypeError('TensorConfig.forces must be a non-empty array');\n }\n\n // Apply defaults\n this.config = {\n rank: config.rank,\n scales: config.scales,\n forces: config.forces,\n symmetries: config.symmetries && config.symmetries.length > 0\n ? config.symmetries\n : ['poincare', 'gauge'],\n informationMeasures: config.informationMeasures && config.informationMeasures.length > 0\n ? config.informationMeasures\n : ['vonNeumann', 'shannon'],\n sparse: config.sparse ?? true,\n };\n\n this.knownLaws = new Map();\n this.bridgeEquations = new Map();\n this.emergentPhenomena = new Map();\n this.tensorData = new Map();\n this.fluxRules = V07_CELL_RULES;\n }\n\n /**\n * Add a known physical law to the tensor.\n * Returns true if newly added, false if it replaced an existing law with the same id.\n * If replacing, stale cell entries from the previous law are removed first.\n */\n public addLaw(law: PhysicalLaw): boolean {\n this.validateId(law.id, 'PhysicalLaw');\n if (!(law.confidence >= 0 && law.confidence <= 1)) {\n throw new RangeError(`PhysicalLaw.confidence must be in [0,1]; got ${law.confidence}`);\n }\n this.validateAxisMembership(law.scales, 'scales', this.config.scales);\n this.validateAxisMembership(law.forces, 'forces', this.config.forces);\n this.validateAxisMembership(law.symmetries, 'symmetries', this.config.symmetries);\n this.validateAxisMembership(\n law.informationMeasures,\n 'informationMeasures',\n this.config.informationMeasures\n );\n this.validateFiniteIntegerArray(law.dimensions, 'dimensions');\n this.validateFiniteIntegerArray(law.topologies, 'topologies');\n const previous = this.knownLaws.get(law.id);\n if (previous) {\n // Remove stale cell entries from the prior version before writing new ones.\n for (const scale of previous.scales) {\n for (const force of previous.forces) {\n this.removeFromCell(this.serializeIndices({ scale, force }), law.id);\n }\n }\n }\n this.knownLaws.set(law.id, law);\n\n // Store in diagonal elements for all scale/force combinations.\n // Multiple laws may occupy the same cell; we accumulate rather than overwrite.\n for (const scale of law.scales) {\n for (const force of law.forces) {\n const key = this.serializeIndices({ scale, force });\n this.addToCell(key, law.id);\n }\n }\n return previous === undefined;\n }\n\n /**\n * Add a bridge equation connecting regimes.\n * Returns true if newly added, false if it replaced an existing bridge with the same id.\n * If replacing, stale cell entries from the previous bridge are removed first.\n */\n public addBridge(bridge: BridgeEquation): boolean {\n this.validateId(bridge.id, 'BridgeEquation');\n if (!(bridge.confidence >= 0 && bridge.confidence <= 1)) {\n throw new RangeError(`BridgeEquation.confidence must be in [0,1]; got ${bridge.confidence}`);\n }\n // Bridges are off-diagonal by definition — reject source == target\n // (including the degenerate case where both are empty {}).\n const sourceKey = this.serializeIndices(bridge.source);\n const targetKey = this.serializeIndices(bridge.target);\n if (sourceKey === targetKey) {\n throw new RangeError(\n `BridgeEquation source must differ from target in at least one index; id=${bridge.id}` +\n (sourceKey === '' ? ' (both were empty {})' : '')\n );\n }\n const previous = this.bridgeEquations.get(bridge.id);\n if (previous) {\n this.removeFromCell(this.bridgeCellKey(previous.source, previous.target), bridge.id);\n }\n this.bridgeEquations.set(bridge.id, bridge);\n\n // Store in off-diagonal elements. Multiple bridges between the same\n // source/target regime pair are accumulated in the same cell.\n this.addToCell(this.bridgeCellKey(bridge.source, bridge.target), bridge.id);\n return previous === undefined;\n }\n\n /**\n * Reject empty or whitespace-only IDs — almost always caller error.\n */\n private validateId(id: string, kind: string): void {\n if (typeof id !== 'string' || id.trim() === '') {\n throw new TypeError(`${kind}.id must be a non-empty string`);\n }\n }\n\n /**\n * Reject axis values that are not declared in the tensor's config.\n * Prevents silent drift between TensorConfig (declared axes) and actual stored content.\n */\n private validateAxisMembership<T extends string>(\n values: readonly T[] | undefined,\n axisName: string,\n declared: readonly T[]\n ): void {\n if (!values) return;\n for (const v of values) {\n if (!declared.includes(v)) {\n throw new RangeError(\n `${axisName} value '${v}' is not declared in TensorConfig.${axisName}=[${declared.join(', ')}]`\n );\n }\n }\n }\n\n /**\n * Reject non-finite or non-integer numeric axis values (dimensions, topologies).\n * Integer values (including 0, negative integers) are allowed;\n * NaN, Infinity, and non-integers are rejected.\n */\n private validateFiniteIntegerArray(\n values: readonly number[] | undefined,\n axisName: string\n ): void {\n if (!values) return;\n for (const v of values) {\n if (!Number.isFinite(v) || !Number.isInteger(v)) {\n throw new RangeError(\n `${axisName} values must be finite integers; got ${v}`\n );\n }\n }\n }\n\n /**\n * Compose the cell key for a bridge equation's source→target indices.\n */\n private bridgeCellKey(source: TensorIndices, target: TensorIndices): string {\n return this.serializeIndices(source) + ' -> ' + this.serializeIndices(target);\n }\n\n /**\n * Accumulate an equation ID into the tensor cell at the given key.\n * Creates a new Set if the cell is empty.\n */\n private addToCell(key: string, equationId: string): void {\n let cell = this.tensorData.get(key);\n if (!cell) {\n cell = new Set();\n this.tensorData.set(key, cell);\n }\n cell.add(equationId);\n }\n\n /**\n * Remove an equation ID from a tensor cell. Prunes empty cells.\n */\n private removeFromCell(key: string, equationId: string): void {\n const cell = this.tensorData.get(key);\n if (!cell) return;\n cell.delete(equationId);\n if (cell.size === 0) this.tensorData.delete(key);\n }\n\n /**\n * Add an emergent phenomenon.\n * Returns true if newly added, false if it replaced an existing phenomenon.\n */\n public addEmergence(phenomenon: EmergentPhenomenon): boolean {\n this.validateId(phenomenon.id, 'EmergentPhenomenon');\n if (!Number.isInteger(phenomenon.order) || phenomenon.order < 3) {\n throw new RangeError(\n `EmergentPhenomenon.order must be an integer >= 3 (higher-order correlations); got ${phenomenon.order}`\n );\n }\n if (!(phenomenon.confidence >= 0 && phenomenon.confidence <= 1)) {\n throw new RangeError(\n `EmergentPhenomenon.confidence must be in [0,1]; got ${phenomenon.confidence}`\n );\n }\n const previous = this.emergentPhenomena.get(phenomenon.id);\n if (previous) {\n for (const indices of previous.indices) {\n const key = this.serializeIndices(indices);\n if (key) this.removeFromCell(key, phenomenon.id);\n }\n }\n this.emergentPhenomena.set(phenomenon.id, phenomenon);\n\n // Populate tensorData at each declared index-tuple, matching the L and B\n // components' storage pattern so the Π = L + B + E decomposition is\n // uniformly represented in the sparse tensor.\n for (const indices of phenomenon.indices) {\n const key = this.serializeIndices(indices);\n if (key) this.addToCell(key, phenomenon.id);\n }\n return previous === undefined;\n }\n\n /**\n * Add a typed `Cell` (LawCell, BridgeCell, or EmergenceCell) to the\n * tensor. Dispatches by the cell's `kind` discriminator to the\n * existing `addLaw` / `addBridge` / `addEmergence` paths via internal\n * adapters that translate the string-vocabulary `confidence` to the\n * legacy numeric range.\n *\n * Returns the same boolean the dispatched method returns: `true` if\n * newly added, `false` if it replaced an existing entry with the same\n * id.\n *\n * v0.7 Proposal 3 Phase 2 Task 2.1. Internal callers that want\n * type-safe ingestion through the discriminated union use `addCell`;\n * callers that want the old typed methods continue to use `addLaw` /\n * `addBridge` / `addEmergence` directly.\n *\n * @public\n */\n public addCell(cell: Cell): boolean {\n // v0.7-p2 Phase 2 Task 2.3: dispatch to legacy add method FIRST\n // (catches structural-validation throws on bad inputs), then run\n // flux rules. ERROR-tier diagnostics throw FluxViolationError and\n // roll back the legacy add (fail-atomic per Decision #4). The add may\n // REPLACE an entry with the same id, so the entry that was there is\n // snapshotted first and put back on rollback; deleting the id would\n // erase a good record because its replacement was bad.\n const previous = this.snapshotEntry(cell);\n let newlyAdded: boolean;\n switch (cell.kind) {\n case 'law':\n newlyAdded = this.addLaw(cellToLaw(cell));\n break;\n case 'bridge':\n newlyAdded = this.addBridge(cellToBridge(cell));\n break;\n case 'emergence':\n newlyAdded = this.addEmergence(cellToEmergence(cell));\n break;\n default: {\n const _exhaustive: never = cell;\n void _exhaustive;\n throw new Error(\n `UniversalTensor.addCell: unknown cell kind: ${(cell as Cell).kind}`,\n );\n }\n }\n\n // Run rules. WARNING/INFO diagnostics are accumulated for the\n // next fluxDiagnostics() call (recomputed on demand per Eve-R8\n // — no mutable pendingDiagnostics field). ERROR-tier throws.\n const report = runRules(cell, this.fluxRules);\n if (report.errorCount > 0) {\n const errDiag = report.diagnostics.find((d) => d.severity === 'error');\n if (errDiag) {\n // Roll back the legacy add before throwing (fail-atomic).\n this.rollbackCell(cell, previous);\n throw new FluxViolationError(errDiag.ruleName, errDiag.cellId, errDiag.message);\n }\n }\n return newlyAdded;\n }\n\n /** The stored entry `cell.id` currently names in its own kind's map, if any. */\n private snapshotEntry(cell: Cell): PreviousEntry | undefined {\n switch (cell.kind) {\n case 'law': {\n const law = this.knownLaws.get(cell.id);\n return law === undefined ? undefined : { kind: 'law', law };\n }\n case 'bridge': {\n const bridge = this.bridgeEquations.get(cell.id);\n return bridge === undefined ? undefined : { kind: 'bridge', bridge };\n }\n case 'emergence': {\n const phenomenon = this.emergentPhenomena.get(cell.id);\n return phenomenon === undefined ? undefined : { kind: 'emergence', phenomenon };\n }\n default: {\n const _exhaustive: never = cell;\n void _exhaustive;\n return undefined;\n }\n }\n }\n\n /**\n * Internal helper: roll back the legacy `addLaw`/`addBridge`/\n * `addEmergence` storage for a cell that just failed a rule check.\n * Removes the freshly stored entry and, when the add replaced an\n * existing entry, stores that entry again through the same add path\n * (it passed structural validation when it was first stored). Used by\n * `addCell` to maintain fail-atomic semantics on ERROR-tier rule\n * violations.\n *\n * @internal\n */\n private rollbackCell(cell: Cell, previous: PreviousEntry | undefined): void {\n switch (cell.kind) {\n case 'law': {\n const law = this.knownLaws.get(cell.id);\n if (!law) return;\n this.knownLaws.delete(cell.id);\n for (const scale of law.scales) {\n for (const force of law.forces) {\n this.removeFromCell(this.serializeIndices({ scale, force }), cell.id);\n }\n }\n if (previous?.kind === 'law') this.addLaw(previous.law);\n return;\n }\n case 'bridge': {\n const bridge = this.bridgeEquations.get(cell.id);\n if (!bridge) return;\n this.bridgeEquations.delete(cell.id);\n this.removeFromCell(this.bridgeCellKey(bridge.source, bridge.target), cell.id);\n if (previous?.kind === 'bridge') this.addBridge(previous.bridge);\n return;\n }\n case 'emergence': {\n const ph = this.emergentPhenomena.get(cell.id);\n if (!ph) return;\n this.emergentPhenomena.delete(cell.id);\n for (const indices of ph.indices) {\n const key = this.serializeIndices(indices);\n if (key) this.removeFromCell(key, cell.id);\n }\n if (previous?.kind === 'emergence') this.addEmergence(previous.phenomenon);\n return;\n }\n default: {\n const _exhaustive: never = cell;\n void _exhaustive;\n }\n }\n }\n\n // -------------------------------------------------------------------------\n // v0.7-p2 Phase 2 Tasks 2.1, 2.2, 2.3 — populated-cells query + flux\n // -------------------------------------------------------------------------\n\n /**\n * Number of distinct (key, value) pairs in the underlying sparse\n * storage. Counts UNIQUE coordinates that hold at least one entry.\n *\n * Note: a single multi-scale `LawCell` (e.g.\n * `scales: ['quantum', 'classical']`, `forces: ['gravitational']`)\n * fans out to 2 coordinates, so `populatedCount()` returns 2.\n * Use `populatedCells()` for the deduped count of distinct `Cell`\n * objects.\n *\n * @public\n */\n public populatedCount(): number {\n return this.tensorData.size;\n }\n\n /**\n * All cells currently in the tensor, deduplicated by `id`. Each\n * underlying entry (law, bridge, emergence) is converted back to\n * its `Cell` representation via the inverse adapters in `cell.ts`.\n *\n * Per Eve-R15 semantics: `populatedCells().length` is the count of\n * distinct `Cell` objects (one per `id`). `populatedCount()` counts\n * unique TENSOR COORDINATES (one per fan-out per Decision #6),\n * which may be larger.\n *\n * @public\n */\n public populatedCells(): ReadonlyArray<Cell> {\n const cells: Cell[] = [];\n for (const law of this.knownLaws.values()) cells.push(lawToCell(law));\n for (const bridge of this.bridgeEquations.values()) cells.push(bridgeToCell(bridge));\n for (const ph of this.emergentPhenomena.values()) cells.push(emergenceToCell(ph));\n return cells;\n }\n\n /**\n * For each populated coordinate, enumerate the single-axis-flip\n * neighbors that are NOT currently populated. Each \"neighbor\" is\n * a `TensorIndices` value that differs from a populated coordinate\n * in exactly one axis, where the differing axis value is drawn\n * from the config-declared set for that axis (Decision #10).\n *\n * Integer axes (`dimension`, `topology`) are NOT enumerable from\n * `TensorConfig` (no declared range exists) and are treated as\n * wildcards — single-axis flips along those axes are NOT\n * generated.\n *\n * Returns a deduplicated `ReadonlyArray<TensorIndices>` (no two\n * elements serialize to the same key under `serializeIndices`).\n *\n * @public\n */\n public unpopulatedNeighborhoods(): ReadonlyArray<TensorIndices> {\n const populated = new Set(this.tensorData.keys());\n const unique = new Map<string, TensorIndices>();\n\n for (const populatedKey of this.tensorData.keys()) {\n const parsed = this.deserializeKey(populatedKey);\n if (!parsed) continue;\n for (const neighbor of this.enumerateAxisFlips(parsed)) {\n const key = this.serializeIndices(neighbor);\n if (key === '' || populated.has(key) || unique.has(key)) continue;\n unique.set(key, neighbor);\n }\n }\n return [...unique.values()];\n }\n\n /**\n * Run the registered flux rules across every populated cell and\n * return an aggregated `FluxReport`. Re-runs on every call\n * (no cached `pendingDiagnostics` field — Eve-R8 resolution).\n *\n * @public\n */\n public fluxDiagnostics(): FluxReport {\n const diagnostics: FluxDiagnostic[] = [];\n let errorCount = 0;\n let warningCount = 0;\n let infoCount = 0;\n\n for (const cell of this.populatedCells()) {\n const report = runRules(cell, this.fluxRules);\n diagnostics.push(...report.diagnostics);\n errorCount += report.errorCount;\n warningCount += report.warningCount;\n infoCount += report.infoCount;\n }\n return { diagnostics, errorCount, warningCount, infoCount };\n }\n\n // -------------------------------------------------------------------------\n // Phase 2 internal helpers\n // -------------------------------------------------------------------------\n\n /**\n * Parse a key produced by `serializeIndices` back into a\n * `TensorIndices` value. Returns null if the key includes a bridge\n * separator (' -> '), since bridge keys are off-diagonal and don't\n * correspond to a single `TensorIndices` coordinate.\n *\n * @internal\n */\n private deserializeKey(key: string): TensorIndices | null {\n if (key.includes(' -> ')) return null; // bridge key — not a single coordinate\n if (key === '') return {};\n const out: { [k: string]: unknown } = {};\n for (const part of key.split('|')) {\n const colon = part.indexOf(':');\n if (colon === -1) continue;\n const axis = part.slice(0, colon);\n const value = part.slice(colon + 1);\n switch (axis) {\n case 'scale': out.scale = value; break;\n case 'force': out.force = value; break;\n case 'sym': out.symmetry = value; break;\n case 'info': out.information = value; break;\n case 'dim': out.dimension = Number(value); break;\n case 'topo': out.topology = Number(value); break;\n }\n }\n return out as TensorIndices;\n }\n\n /**\n * Enumerate single-axis-flip neighbors of `coord`. For each\n * enumerable axis (scale, force, symmetry, information), generate\n * a neighbor with that axis replaced by every OTHER config-declared\n * value. The integer axes (dimension, topology) are wildcards\n * and not enumerated.\n *\n * @internal\n */\n private *enumerateAxisFlips(coord: TensorIndices): Generator<TensorIndices> {\n const axes: Array<{\n key: keyof TensorIndices;\n values: readonly string[];\n }> = [\n { key: 'scale', values: this.config.scales },\n { key: 'force', values: this.config.forces },\n { key: 'symmetry', values: this.config.symmetries },\n { key: 'information', values: this.config.informationMeasures },\n ];\n\n for (const { key, values } of axes) {\n if (coord[key] === undefined) continue;\n for (const alt of values) {\n if (alt === coord[key]) continue;\n yield { ...coord, [key]: alt };\n }\n }\n }\n\n /**\n * Return the IDs of laws and emergent phenomena stored at the diagonal cell\n * addressed by the given indices.\n * For bridge-equation cells (off-diagonal, source→target), use getBridgeCellContents instead.\n */\n public getCellContents(indices: TensorIndices): string[] {\n const key = this.serializeIndices(indices);\n const cell = this.tensorData.get(key);\n return cell ? [...cell] : [];\n }\n\n /**\n * Return the IDs of bridge equations stored at the off-diagonal cell\n * addressed by the given source/target indices.\n */\n public getBridgeCellContents(source: TensorIndices, target: TensorIndices): string[] {\n const key = this.bridgeCellKey(source, target);\n const cell = this.tensorData.get(key);\n return cell ? [...cell] : [];\n }\n\n /**\n * Query tensor for laws applicable to specific regime\n */\n public queryLaws(indices: TensorIndices): PhysicalLaw[] {\n const results: PhysicalLaw[] = [];\n\n for (const law of this.knownLaws.values()) {\n if (this.lawMatchesQuery(law, indices)) {\n results.push(law);\n }\n }\n\n return results;\n }\n\n /**\n * Find bridge equations connecting two regimes\n */\n public findBridges(source: TensorIndices, target: TensorIndices): BridgeEquation[] {\n const results: BridgeEquation[] = [];\n\n for (const bridge of this.bridgeEquations.values()) {\n if (\n this.indicesMatch(bridge.source, source) &&\n this.indicesMatch(bridge.target, target)\n ) {\n results.push(bridge);\n }\n }\n\n return results;\n }\n\n /**\n * Get all known laws\n */\n public getLaws(): PhysicalLaw[] {\n return [...this.knownLaws.values()];\n }\n\n /**\n * Get all bridge equations\n */\n public getBridges(): BridgeEquation[] {\n return [...this.bridgeEquations.values()];\n }\n\n /**\n * Get all emergent phenomena\n */\n public getEmergence(): EmergentPhenomenon[] {\n return [...this.emergentPhenomena.values()];\n }\n\n /**\n * Get tensor statistics\n */\n public getStats() {\n // occupiedCells = number of distinct (diagonal or off-diagonal) tensor cells\n // that hold at least one equation ID. Each cell may hold multiple IDs (Set).\n let totalEntries = 0;\n for (const cell of this.tensorData.values()) totalEntries += cell.size;\n return {\n rank: this.config.rank,\n knownLaws: this.knownLaws.size,\n bridgeEquations: this.bridgeEquations.size,\n emergentPhenomena: this.emergentPhenomena.size,\n occupiedCells: this.tensorData.size,\n totalEntries,\n sparse: this.config.sparse,\n };\n }\n\n /**\n * Serialize tensor indices to string key.\n * Uses !== undefined checks so that dimension/topology values of 0\n * (e.g., trivial winding number, genus-0 surface) are preserved.\n */\n private serializeIndices(indices: TensorIndices): string {\n const parts: string[] = [];\n\n if (indices.scale !== undefined) parts.push(`scale:${indices.scale}`);\n if (indices.force !== undefined) parts.push(`force:${indices.force}`);\n if (indices.symmetry !== undefined) parts.push(`sym:${indices.symmetry}`);\n if (indices.information !== undefined) parts.push(`info:${indices.information}`);\n if (indices.dimension !== undefined) parts.push(`dim:${indices.dimension}`);\n if (indices.topology !== undefined) parts.push(`topo:${indices.topology}`);\n\n return parts.join('|');\n }\n\n /**\n * Check if a law matches query indices.\n * If the query specifies an index dimension that the law does not declare\n * (e.g., the law has no informationMeasures but the query asks for one),\n * the law is excluded — querying on an undeclared index cannot match.\n */\n private lawMatchesQuery(law: PhysicalLaw, query: TensorIndices): boolean {\n if (query.scale && !law.scales.includes(query.scale)) {\n return false;\n }\n\n if (query.force && !law.forces.includes(query.force)) {\n return false;\n }\n\n if (query.symmetry && !law.symmetries.includes(query.symmetry)) {\n return false;\n }\n\n if (query.information) {\n if (!law.informationMeasures || !law.informationMeasures.includes(query.information)) {\n return false;\n }\n }\n\n if (query.dimension !== undefined) {\n if (!law.dimensions || !law.dimensions.includes(query.dimension)) {\n return false;\n }\n }\n\n if (query.topology !== undefined) {\n if (!law.topologies || !law.topologies.includes(query.topology)) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Check if two tensor indices match\n */\n private indicesMatch(a: TensorIndices, b: TensorIndices): boolean {\n if (b.scale && a.scale !== b.scale) {\n return false;\n }\n\n if (b.force && a.force !== b.force) {\n return false;\n }\n\n if (b.symmetry && a.symmetry !== b.symmetry) {\n return false;\n }\n\n if (b.information && a.information !== b.information) {\n return false;\n }\n\n if (b.dimension !== undefined && a.dimension !== b.dimension) {\n return false;\n }\n\n if (b.topology !== undefined && a.topology !== b.topology) {\n return false;\n }\n\n return true;\n }\n}\n\n/**\n * Factory: build a populated `UniversalTensor` from three typed cell\n * arrays plus a `TensorConfig`.\n *\n * Makes the \"'+' in Π = L + B + E is disjoint union, not algebraic\"\n * invariant concrete: the only way to construct a populated\n * `UniversalTensor` from typed cells is to pass three typed arrays.\n * There is no `add(c1: Cell, c2: Cell): Cell` because cells never\n * compose at the cell level — composition happens at the tensor\n * level (Proposals 2 and 6 territory).\n *\n * **Provenance note**: the proposals doc §4.2 line 299 sketches\n * `compose(L, B, E): UniversalTensor` without a `config` argument.\n * This signature closes a proposals-doc gap — `UniversalTensor`'s\n * constructor requires `rank` / `scales` / `forces`, none of which\n * can be inferred from the three cell arrays alone. `compose` is\n * this sprint's invention, not a proposals-doc commitment.\n *\n * Co-located with `UniversalTensor` (moved from `cell.ts`, 2026-06-19) to\n * break the `tensor.ts ↔ cell.ts` RUNTIME import cycle: `cell.ts` now depends\n * on `tensor.ts` for types only, while this factory — the one cell-side symbol\n * that instantiated `UniversalTensor` at runtime — lives beside the class.\n *\n * @public\n */\nexport function compose(\n laws: ReadonlyArray<LawCell>,\n bridges: ReadonlyArray<BridgeCell>,\n emergences: ReadonlyArray<EmergenceCell>,\n config: TensorConfig,\n): UniversalTensor {\n const tensor = new UniversalTensor(config);\n for (const law of laws) tensor.addCell(law);\n for (const bridge of bridges) tensor.addCell(bridge);\n for (const emergence of emergences) tensor.addCell(emergence);\n return tensor;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AA0K/G;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,IAAI,EAAE,OAAO;IACb,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,MAAM;IACV,CAAC,EAAE,IAAI;IAEP,oBAAoB;IACpB,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IAEV,6EAA6E;IAC7E,iEAAiE;IACjE,EAAE,EAAE,KAAK;CACD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AA0K/G;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,IAAI,EAAE,OAAO;IACb,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,MAAM;IACV,CAAC,EAAE,IAAI;IAEP,oBAAoB;IACpB,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IAEV,6EAA6E;IAC7E,iEAAiE;IACjE,EAAE,EAAE,KAAK;CACD,CAAC","sourcesContent":["/**\n * Core types for Universal Physics Tensor Framework\n *\n * These types define the fundamental structure of the tensor and its components.\n */\n\nimport { ALPHA, C_SI, E_SI, G_SI, H0_SI, H_SI, HBAR_SI, K_B_SI, L_P_SI, M_P_SI, T_P_SI } from './constants.js';\n\n/**\n * Physical scales represented in the tensor\n */\nexport type PhysicalScale =\n | 'quantum' // < 10^-9 m (Planck to atomic)\n | 'mesoscopic' // 10^-9 to 10^-6 m (nano to micro)\n | 'classical' // 10^-6 to 10^26 m (micro to cosmological)\n | 'cosmological'; // > 10^26 m (galactic and beyond)\n\n/**\n * Fundamental forces\n */\nexport type Force =\n | 'gravitational'\n | 'electromagnetic'\n | 'weak'\n | 'strong'\n | 'emergent'; // Effective forces (friction, tension, etc.)\n\n/**\n * Symmetry types.\n *\n * @public\n */\nexport type Symmetry =\n | 'poincare' // Spacetime symmetries\n | 'gauge' // Internal symmetries (U(1), SU(2), SU(3))\n | 'conformal' // Scale invariance\n | 'susy' // Supersymmetry\n | 'emergent'; // Effective symmetries\n\n/**\n * Information-theoretic measures used to classify catalog entries that\n * touch the information ↔ geometry bridge axis.\n *\n * @public\n */\nexport type InformationMeasure =\n | 'vonNeumann' // Quantum entropy: S = -Tr(ρ log ρ)\n | 'shannon' // Classical entropy: H = -Σ p log p\n | 'kolmogorov' // Algorithmic complexity\n | 'quantumDiscord';// Quantum correlations beyond entanglement\n\n/**\n * Tensor configuration for initialization\n */\nexport interface TensorConfig {\n /** Tensor rank (3-6) */\n rank: 3 | 4 | 5 | 6;\n\n /** Physical scales to include */\n scales: PhysicalScale[];\n\n /** Forces to include */\n forces: Force[];\n\n /** Symmetries to consider */\n symmetries?: Symmetry[];\n\n /** Information measures to track */\n informationMeasures?: InformationMeasure[];\n\n /** Enable sparse representation for memory efficiency */\n sparse?: boolean;\n}\n\n/**\n * Tensor indices for addressing specific components\n */\nexport interface TensorIndices {\n scale?: PhysicalScale;\n force?: Force;\n symmetry?: Symmetry;\n information?: InformationMeasure;\n dimension?: number;\n topology?: number;\n}\n\n/**\n * Known physical law representation\n */\nexport interface PhysicalLaw {\n /** Unique identifier */\n id: string;\n\n /** Human-readable name */\n name: string;\n\n /** Mathematical formulation (LaTeX) */\n equation: string;\n\n /** Applicable scales */\n scales: PhysicalScale[];\n\n /** Involved forces */\n forces: Force[];\n\n /** Required symmetries */\n symmetries: Symmetry[];\n\n /** Confidence level (0-1) */\n confidence: number;\n\n /** Applicable information measures (optional) */\n informationMeasures?: InformationMeasure[];\n\n /** Applicable spatial/spacetime dimensions (optional) */\n dimensions?: number[];\n\n /** Applicable topological invariants (optional) */\n topologies?: number[];\n\n /** References to experimental validation */\n references?: string[];\n}\n\n/**\n * Bridge equation connecting different regimes\n */\nexport interface BridgeEquation {\n /** Unique identifier */\n id: string;\n\n /** Name */\n name: string;\n\n /** Source regime indices */\n source: TensorIndices;\n\n /** Target regime indices */\n target: TensorIndices;\n\n /** Mathematical formulation */\n equation: string;\n\n /** Theoretical confidence (0-1) */\n confidence: number;\n\n /** Experimental validation status */\n validated: boolean;\n\n /** Context and description */\n description: string;\n}\n\n/**\n * Emergent phenomenon from higher-order correlations\n */\nexport interface EmergentPhenomenon {\n /** Unique identifier */\n id: string;\n\n /** Name */\n name: string;\n\n /** Order of correlation (≥3) */\n order: number;\n\n /** Involved indices */\n indices: TensorIndices[];\n\n /** Mathematical description */\n description: string;\n\n /** Prediction confidence */\n confidence: number;\n}\n\n/**\n * Physical constants used in computations: a projection of `core/constants.ts`,\n * the one owner of the values.\n */\nexport const PhysicalConstants = {\n // Fundamental constants\n c: C_SI,\n h: H_SI,\n hbar: HBAR_SI,\n G: G_SI,\n kB: K_B_SI,\n e: E_SI,\n\n // Derived constants\n alpha: ALPHA,\n lP: L_P_SI,\n tP: T_P_SI,\n mP: M_P_SI,\n\n // Cosmological. Planck 2018 CMB, Aghanim et al. A&A 641 A6 2020; SH0ES local\n // measurement gives ~73.0 ± 1.0 km/s/Mpc (the \"Hubble tension\").\n H0: H0_SI,\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"universal-index.js","sourceRoot":"","sources":["../../src/core/universal-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAiEH;;;;;;;;;;GAUG;AACH,SAAS,UAAU;IACjB,IAAI,OAAO,UAAU,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,gEAAgE;YAChE,8DAA8D;YAC9D,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAsB,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CACvB,IAAU,EACV,IAAY,EACZ,IAAuB;IAEvB,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI;QACJ,IAAI;QACJ,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"universal-index.js","sourceRoot":"","sources":["../../src/core/universal-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAiEH;;;;;;;;;;GAUG;AACH,SAAS,UAAU;IACjB,IAAI,OAAO,UAAU,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,gEAAgE;YAChE,8DAA8D;YAC9D,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAsB,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CACvB,IAAU,EACV,IAAY,EACZ,IAAuB;IAEvB,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI;QACJ,IAAI;QACJ,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Universal index — persistent-identity carrier for physics axes.\n *\n * Phase 1 of v0.7 Proposal 1 (Intelligent Index Layer).\n *\n * `UniversalIndex<Axis>` distinguishes wrapper-level physics-axis\n * identity from einsum's positional axes. Two `UniversalIndex`\n * objects with the same `axis` and `name` but distinct `id`s are\n * NOT the same physics axis — only `UniversalIndexId` equality\n * implies physical-axis identity (per Decision #3).\n *\n * The `Axes` registry (`src/core/axes-registry.ts`) guarantees\n * same-object identity at the consumer surface: `Axes.scale.quantum`\n * is a stable reference created exactly once per module load.\n *\n * Design: `docs/planning/v0.7-Proposal-1-Design.md` Decisions #2,\n * #4, #10. Empirical census at\n * `docs/architecture/archive/v0.7-p1-baseline.md`.\n *\n * Per Eve verification (proposals doc has ZERO `prime` / `arrow`\n * mentions), v0.7.0 ships only the §2.2 sketch fields:\n * id, axis, name, tags?, limits?, notes?\n * `prime`/`arrow` are explicit v0.8.0+ candidates.\n *\n * @module core/universal-index\n */\n\n/**\n * The four physics-axis namespaces v0.7.0 ships in the `Axes`\n * registry. Plus two integer axes (`dimension`, `topology`) that\n * are not enumerable (see Phase 0 axis census).\n *\n * @public\n */\nexport type AxisName =\n | 'scale'\n | 'force'\n | 'symmetry'\n | 'information'\n | 'dimension'\n | 'topology';\n\n/**\n * Branded UUID type for `UniversalIndex.id`. Carries a nominal-type\n * brand so that consumers can't accidentally pass a plain string\n * where an index id is expected. Created via `makeIndex()`.\n *\n * @public\n */\nexport type UniversalIndexId = string & {\n readonly __brand: 'UniversalIndexId';\n};\n\n/**\n * A single physics-axis identity. `id` is the matching predicate for\n * `LabeledTensor.contract` (Decision #3): two `UniversalIndex`\n * values contract iff their `id`s are equal as branded UUIDs.\n *\n * `axis` discriminates the namespace; `name` is the human-readable\n * label (matching the `AxisName` union member, e.g. `'quantum'` for\n * the `'scale'` namespace). `tags`, `limits`, `notes` are optional\n * metadata from the §2.2 sketch — they do NOT affect contraction\n * matching.\n *\n * @public\n */\nexport interface UniversalIndex<Axis extends AxisName = AxisName> {\n readonly id: UniversalIndexId;\n readonly axis: Axis;\n readonly name: string;\n readonly tags?: ReadonlyArray<string>;\n readonly limits?: {\n readonly min?: number;\n readonly max?: number;\n };\n readonly notes?: string;\n}\n\n/**\n * Options accepted by `makeIndex` beyond the required `axis` +\n * `name` arguments. All optional per the §2.2 sketch.\n *\n * @public\n */\nexport interface MakeIndexOptions {\n readonly tags?: ReadonlyArray<string>;\n readonly limits?: { readonly min?: number; readonly max?: number };\n readonly notes?: string;\n}\n\n/**\n * Generate `id` via `crypto.randomUUID()`. Node ≥18 exposes\n * `globalThis.crypto.randomUUID` natively; verified at HEAD against\n * @types/node@24.9.2 + tsconfig lib: [\"ES2022\"] (per Eve-L2 finding).\n * The defensive preflight (Risk 7 mitigation) is the immediate\n * `typeof` guard below — if a future Node downgrade or non-standard\n * runtime drops it, the error fires at first `makeIndex` call\n * with a clear message.\n *\n * @internal\n */\nfunction generateId(): UniversalIndexId {\n if (typeof globalThis.crypto?.randomUUID !== 'function') {\n throw new Error(\n `UniversalIndex.makeIndex: globalThis.crypto.randomUUID is not ` +\n `available. UPT requires Node ≥18 (or a runtime exposing the ` +\n `Web Crypto API).`,\n );\n }\n // The brand cast is the one allowed `as` per Cross-Phase Invariant 3.\n return globalThis.crypto.randomUUID() as UniversalIndexId;\n}\n\n/**\n * Factory: construct a fresh `UniversalIndex<Axis>` with a freshly\n * generated UUID. Each call returns a NEW identity — two consecutive\n * `makeIndex('scale', 'quantum')` calls produce two distinct\n * `UniversalIndex` values. `LabeledTensor.contract` throws\n * `IndexNameMismatchError` and names both ids (Decision #3). It does\n * not treat that pair as an outer product.\n *\n * For stable consumer-facing identities, use the `Axes` registry\n * (`src/core/axes-registry.ts`) — `Axes.scale.quantum` is the same\n * reference across all import sites.\n *\n * @public\n */\nexport function makeIndex<Axis extends AxisName>(\n axis: Axis,\n name: string,\n opts?: MakeIndexOptions,\n): UniversalIndex<Axis> {\n return {\n id: generateId(),\n axis,\n name,\n ...(opts?.tags ? { tags: opts.tags } : {}),\n ...(opts?.limits ? { limits: opts.limits } : {}),\n ...(opts?.notes ? { notes: opts.notes } : {}),\n };\n}\n"]}
@@ -2,8 +2,8 @@
2
2
  * Exact bridge-gradients via reverse-mode AD over the symbolic RHS AST.
3
3
  *
4
4
  * The catalog's plain-JS evaluators cannot be differentiated by AD (they run
5
- * raw `Math.*` arithmetic; see `bridge-gradient.ts`), and `bridgeGradient`'s
6
- * engine path detaches them. But each bridge also carries a faithful symbolic
5
+ * raw `Math.*` arithmetic and return a number, which carries no tape; see
6
+ * `bridge-gradient.ts`). But each bridge also carries a faithful symbolic
7
7
  * encoding of its RHS (`*_RHS: ExprNode`). This module lowers that scalar AST
8
8
  * through `@danielsimonjr/mathts-autograd`'s `TapedTensor` ops — binding the
9
9
  * chosen variable to a traced input and every other symbol to a constant tape
@@ -18,9 +18,8 @@
18
18
  * `^` exponents must be constant (the differentiation variable may not appear in
19
19
  * an exponent).
20
20
  *
21
- * Requires the optional `@danielsimonjr/mathts-autograd` peer; throws
22
- * `EngineCapabilityError` when it is absent (same graceful-degradation contract
23
- * as `bridgeGradient`).
21
+ * Loads `@danielsimonjr/mathts-autograd` at the call and throws
22
+ * `EngineCapabilityError` when that import fails.
24
23
  *
25
24
  * @module diff/bridge-ast-gradient
26
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-ast-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AAM9E;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA0ID;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA2H5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAMrD"}
1
+ {"version":3,"file":"bridge-ast-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AAM9E;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA2ID;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAgI5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAMrD"}
@@ -2,8 +2,8 @@
2
2
  * Exact bridge-gradients via reverse-mode AD over the symbolic RHS AST.
3
3
  *
4
4
  * The catalog's plain-JS evaluators cannot be differentiated by AD (they run
5
- * raw `Math.*` arithmetic; see `bridge-gradient.ts`), and `bridgeGradient`'s
6
- * engine path detaches them. But each bridge also carries a faithful symbolic
5
+ * raw `Math.*` arithmetic and return a number, which carries no tape; see
6
+ * `bridge-gradient.ts`). But each bridge also carries a faithful symbolic
7
7
  * encoding of its RHS (`*_RHS: ExprNode`). This module lowers that scalar AST
8
8
  * through `@danielsimonjr/mathts-autograd`'s `TapedTensor` ops — binding the
9
9
  * chosen variable to a traced input and every other symbol to a constant tape
@@ -18,9 +18,8 @@
18
18
  * `^` exponents must be constant (the differentiation variable may not appear in
19
19
  * an exponent).
20
20
  *
21
- * Requires the optional `@danielsimonjr/mathts-autograd` peer; throws
22
- * `EngineCapabilityError` when it is absent (same graceful-degradation contract
23
- * as `bridgeGradient`).
21
+ * Loads `@danielsimonjr/mathts-autograd` at the call and throws
22
+ * `EngineCapabilityError` when that import fails.
24
23
  *
25
24
  * @module diff/bridge-ast-gradient
26
25
  */
@@ -118,6 +117,11 @@ export async function bridgeGradientAST(rhs, varName, bindings) {
118
117
  let autograd;
119
118
  let tensorMod;
120
119
  try {
120
+ // The two modules are typed by the structural views above (the members
121
+ // this lowering calls: reverseGrad, TapedTensor, Tensor.fromNested …).
122
+ // The casts state that those members exist on the imported modules, which
123
+ // their own type declarations guarantee; the full MathTS types are not
124
+ // imported so this file compiles without the autograd types at hand.
121
125
  autograd =
122
126
  (await import('@danielsimonjr/mathts-autograd'));
123
127
  tensorMod =
@@ -236,7 +240,7 @@ export function bridgeGradientASTById(bridgeId, varName, bindings) {
236
240
  const rhs = BRIDGE_RHS_BY_ID.get(id);
237
241
  if (rhs === undefined) {
238
242
  throw new TypeError(`bridgeGradientASTById: BE-${id} has no encoded RHS AST in the registry ` +
239
- `(BE-51/52 are closed-form; only ids ${[...BRIDGE_RHS_BY_ID.keys()].length} bridges are encoded).`);
243
+ `(BE-51/52 are closed-form; ${BRIDGE_RHS_BY_ID.size} bridges have an encoded AST).`);
240
244
  }
241
245
  return bridgeGradientAST(rhs, varName, bindings);
242
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-ast-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-ast-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Exact bridge-gradients via reverse-mode AD over the symbolic RHS AST.\n *\n * The catalog's plain-JS evaluators cannot be differentiated by AD (they run\n * raw `Math.*` arithmetic and return a number, which carries no tape; see\n * `bridge-gradient.ts`). But each bridge also carries a faithful symbolic\n * encoding of its RHS (`*_RHS: ExprNode`). This module lowers that scalar AST\n * through `@danielsimonjr/mathts-autograd`'s `TapedTensor` ops — binding the\n * chosen variable to a traced input and every other symbol to a constant tape\n * leaf — so `reverseGrad` returns the EXACT derivative (machine precision), with\n * the plain-JS evaluators left untouched (P8 Decision #1).\n *\n * Scope: the dimensional scalar grammar is `symbol` + `op(+ − * / ^)` (the\n * transcendentals of a bridge are absorbed into typed-stub *symbols*, so they\n * appear as opaque constants here). A bridge encoded with a typed stub therefore\n * differentiates with respect to the stub, not the physics inside it — faithful,\n * fully-expanded encodings (e.g. BE-42 `ℏc³/(8πGM·k_B)`) differentiate exactly.\n * `^` exponents must be constant (the differentiation variable may not appear in\n * an exponent).\n *\n * Loads `@danielsimonjr/mathts-autograd` at the call and throws\n * `EngineCapabilityError` when that import fails.\n *\n * @module diff/bridge-ast-gradient\n */\n\nimport type { ExprNode, TranscendentalFn } from '../dimensional/validator.js';\nimport { constantScope } from '../dimensional/symbolic-constants.js';\nimport { EngineCapabilityError } from '../numerical/errors.js';\nimport { BRIDGE_RHS_BY_ID, parseBridgeId } from '../bridges/rhs-registry.js';\nimport { GAUSS_LEGENDRE_16 } from '../numerical/quadrature.js';\n\n/**\n * Result of {@link bridgeGradientAST}: the bridge's scalar `value` at the\n * supplied point and the exact `gradient` d(value)/d(varName).\n *\n * @public\n */\nexport interface ASTGradientResult {\n readonly value: number;\n readonly gradient: number;\n}\n\n// --- Structural views of the autograd/tensor packages (required dependencies; the\n// dynamic import keeps the AD path off the module's load, and its result is narrowed\n// to the call-site shape). ---\n\ntype TapeHandle = unknown;\n\ninterface TapedScalar {\n readonly tape: TapeHandle;\n add(o: TapedScalar): TapedScalar;\n sub(o: TapedScalar): TapedScalar;\n mul(o: TapedScalar): TapedScalar;\n divide(o: TapedScalar): TapedScalar;\n scale(k: number): TapedScalar;\n pow(k: number): TapedScalar;\n exp(): TapedScalar;\n log(): TapedScalar;\n log2(): TapedScalar;\n log10(): TapedScalar;\n sin(): TapedScalar;\n cos(): TapedScalar;\n tan(): TapedScalar;\n sinh(): TapedScalar;\n cosh(): TapedScalar;\n tanh(): TapedScalar;\n abs(): TapedScalar;\n}\n\n/** Map a transcendental fn name to the TapedTensor method that traces it. */\nfunction applyTranscendental(fn: TranscendentalFn, t: TapedScalar): TapedScalar {\n switch (fn) {\n case 'exp':\n return t.exp();\n case 'ln':\n return t.log();\n case 'log2':\n return t.log2();\n case 'log10':\n return t.log10();\n case 'sin':\n return t.sin();\n case 'cos':\n return t.cos();\n case 'tan':\n return t.tan();\n case 'sinh':\n return t.sinh();\n case 'cosh':\n return t.cosh();\n case 'tanh':\n return t.tanh();\n }\n}\n\ninterface MathTSTensorLike {\n toNested(): unknown;\n}\n\ninterface AutogradModuleLike {\n reverseGrad(\n fn: (x: TapedScalar) => TapedScalar,\n x: MathTSTensorLike,\n cotangent?: MathTSTensorLike,\n ): { value: MathTSTensorLike; gradient: MathTSTensorLike };\n TapedTensor: {\n fromTensorAsInput(t: MathTSTensorLike, tape: TapeHandle): TapedScalar;\n };\n}\n\ninterface TensorModuleLike {\n Tensor: { fromNested(data: number, shape: number[]): MathTSTensorLike };\n}\n\n/**\n * Named physical constants the bridge encodings reference as bare symbols:\n * every registered spelling, from the constant registry, plus π and its\n * registered multiples, so a traced AST evaluates to the SAME number as the\n * numeric evaluator. Callers can override or extend via the `bindings` argument.\n */\nconst NAMED_CONSTANTS: Readonly<Record<string, number>> = constantScope();\n\n/** Resolve a symbol's numeric value: caller bindings → named constants → numeric literal. */\nfunction resolveConstant(\n name: string,\n bindings: Record<string, number>,\n): number {\n if (Object.prototype.hasOwnProperty.call(bindings, name))\n return bindings[name];\n if (Object.prototype.hasOwnProperty.call(NAMED_CONSTANTS, name))\n return NAMED_CONSTANTS[name];\n const asNumber = Number(name);\n if (name.trim() !== '' && Number.isFinite(asNumber)) return asNumber;\n throw new TypeError(\n `bridgeGradientAST: unknown symbol '${name}' — not a binding, a named constant ` +\n `(${Object.keys(NAMED_CONSTANTS).join(', ')}), or a numeric literal. Supply it in bindings.`,\n );\n}\n\n/** Resolve a `^` exponent to a numeric constant expression.\n *\n * The exponent may contain scalar arithmetic over constants/bindings (for\n * example `-1/z`) as long as it is independent of the differentiation\n * variable. Variable exponents require a traced `pow(base, exponent)` op,\n * which the current MathTS tape surface does not expose, so they are rejected\n * explicitly rather than being silently detached from AD.\n */\nfunction resolveExponent(\n node: ExprNode,\n varName: string,\n bindings: Record<string, number>,\n): number {\n if (node.kind === 'symbol') {\n if (node.name === varName) {\n throw new TypeError(\n `bridgeGradientAST: differentiation variable '${varName}' appears as an exponent — ` +\n `variable exponents are not supported (only constant powers).`,\n );\n }\n return resolveConstant(node.name, bindings);\n }\n if (node.kind === 'op') {\n const values = node.args.map((arg) => resolveExponent(arg, varName, bindings));\n if (values.length === 0) {\n throw new TypeError(`bridgeGradientAST: '${node.op}' exponent expression has no operands.`);\n }\n switch (node.op) {\n case '+': return values.reduce((a, b) => a + b);\n case '-': return values.length === 1 ? -values[0] : values.slice(1).reduce((a, b) => a - b, values[0]);\n case '*': return values.reduce((a, b) => a * b);\n case '/': return values.slice(1).reduce((a, b) => a / b, values[0]);\n case '^': return values.slice(1).reduce((a, b) => a ** b, values[0]);\n }\n }\n throw new TypeError(\n `bridgeGradientAST: '^' exponent must be a constant scalar expression, got node kind '${node.kind}'.`,\n );\n}\n\n/**\n * Differentiate a scalar bridge RHS AST with respect to one symbol via\n * reverse-mode AD. Every symbol other than `varName` is resolved to a constant\n * (caller `bindings`, then {@link NAMED_CONSTANTS}, then numeric literal); the\n * `bindings` must contain `varName` (its value sets the point of evaluation).\n *\n * @public\n */\nexport async function bridgeGradientAST(\n rhs: ExprNode,\n varName: string,\n bindings: Record<string, number>,\n): Promise<ASTGradientResult> {\n if (!Object.prototype.hasOwnProperty.call(bindings, varName)) {\n throw new TypeError(\n `bridgeGradientAST: bindings must contain the differentiation variable '${varName}'.`,\n );\n }\n\n let autograd: AutogradModuleLike;\n let tensorMod: TensorModuleLike;\n try {\n // The two modules are typed by the structural views above (the members\n // this lowering calls: reverseGrad, TapedTensor, Tensor.fromNested …).\n // The casts state that those members exist on the imported modules, which\n // their own type declarations guarantee; the full MathTS types are not\n // imported so this file compiles without the autograd types at hand.\n autograd =\n (await import('@danielsimonjr/mathts-autograd')) as unknown as AutogradModuleLike;\n tensorMod =\n (await import('@danielsimonjr/mathts-tensor')) as unknown as TensorModuleLike;\n } catch {\n throw new EngineCapabilityError('mathts-autograd', 'reverseGrad');\n }\n const { reverseGrad, TapedTensor } = autograd;\n const { Tensor } = tensorMod;\n\n // Build the (traced var) → scalar function reverseGrad expects. `x` arrives as\n // a TapedTensor; constants become extra tape leaves (their gradients are\n // computed and ignored — only `x`'s gradient is returned).\n const fn = (x: TapedScalar): TapedScalar => {\n const constLeaf = (v: number): TapedScalar =>\n TapedTensor.fromTensorAsInput(Tensor.fromNested(v, []), x.tape);\n\n // `boundVars` maps an integration variable name to its current (traced)\n // quadrature point; it is checked BEFORE the diff-var / constants so an\n // integration variable correctly shadows an outer symbol of the same name.\n const walk = (node: ExprNode, boundVars: ReadonlyMap<string, TapedScalar>): TapedScalar => {\n if (node.kind === 'symbol') {\n const bound = boundVars.get(node.name);\n if (bound !== undefined) return bound;\n return node.name === varName\n ? x\n : constLeaf(resolveConstant(node.name, bindings));\n }\n if (node.kind === 'op') {\n switch (node.op) {\n case '+':\n return node.args.map((a) => walk(a, boundVars)).reduce((a, b) => a.add(b));\n case '-': {\n const terms = node.args.map((a) => walk(a, boundVars));\n // Unary minus (0 − t); n-ary subtract folds left.\n return terms.length === 1\n ? constLeaf(0).sub(terms[0])\n : terms.reduce((a, b) => a.sub(b));\n }\n case '*':\n return node.args.map((a) => walk(a, boundVars)).reduce((a, b) => a.mul(b));\n case '/':\n return node.args.map((a) => walk(a, boundVars)).reduce((a, b) => a.divide(b));\n case '^':\n return walk(node.args[0], boundVars).pow(\n resolveExponent(node.args[1], varName, bindings),\n );\n default:\n throw new TypeError(\n `bridgeGradientAST: unsupported operator '${node.op}'.`,\n );\n }\n }\n if (node.kind === 'transcendental') {\n return applyTranscendental(node.fn, walk(node.arg, boundVars));\n }\n if (node.kind === 'abs') {\n return walk(node.arg, boundVars).abs();\n }\n if (node.kind === 'integral') {\n // Definite integral via 16-point Gauss–Legendre quadrature, built from\n // traced ops so reverse-mode AD yields the gradient w.r.t. integrand\n // parameters (Leibniz: ∫ ∂f/∂θ) and w.r.t. bounds (∂Q/∂b ≈ f(b)).\n // NOTE: the gradient is EXACT for the quadrature, which APPROXIMATES the\n // true integral for non-polynomial integrands (exact for constant /\n // polynomial-degree ≤ 31 integrands).\n if (!node.lower || !node.upper) {\n throw new TypeError(\n `bridgeGradientAST: an abstract (bound-less) integral is not differentiable; ` +\n `supply lower/upper bounds for a definite integral.`,\n );\n }\n if (node.over.kind !== 'symbol') {\n throw new TypeError(`bridgeGradientAST: integral 'over' must be a symbol.`);\n }\n const overName = node.over.name;\n if (overName === varName) {\n throw new TypeError(\n `bridgeGradientAST: cannot differentiate w.r.t. the integration variable '${overName}'.`,\n );\n }\n const lo = walk(node.lower, boundVars);\n const hi = walk(node.upper, boundVars);\n const half = hi.sub(lo).scale(0.5); // (b − a)/2\n const mid = lo.add(hi).scale(0.5); // (a + b)/2\n let sum: TapedScalar | null = null;\n for (const gl of GAUSS_LEGENDRE_16) {\n const xPoint = mid.add(half.scale(gl.node)); // (b−a)/2·ξ + (a+b)/2\n const env = new Map(boundVars);\n env.set(overName, xPoint);\n const term = walk(node.integrand, env).scale(gl.weight);\n sum = sum === null ? term : sum.add(term);\n }\n // GAUSS_LEGENDRE_16 is non-empty, so `sum` is set.\n return half.mul(sum as TapedScalar);\n }\n throw new TypeError(\n `bridgeGradientAST: unsupported node kind '${node.kind}' — the differentiable ` +\n `grammar is symbol + op(+ − * / ^) + transcendental + abs + definite integral. ` +\n `Other encodings (tensor/curvature, bound-less integrals, or physics hidden in ` +\n `a typed-stub symbol) are not exactly differentiable.`,\n );\n };\n\n return walk(rhs, new Map());\n };\n\n const xLeaf = Tensor.fromNested(bindings[varName], []);\n const { value, gradient } = reverseGrad(fn, xLeaf);\n return {\n value: value.toNested() as number,\n gradient: gradient.toNested() as number,\n };\n}\n\n/**\n * Convenience wrapper around {@link bridgeGradientAST} that looks the RHS AST up\n * by catalog bridge id. `bridgeId` accepts a number, `'42'`, or `'BE-42'`.\n *\n * Throws if the id has no encoded RHS in {@link BRIDGE_RHS_BY_ID} (e.g. BE-51/52,\n * which are closed-form evaluators without an AST). If the bridge's RHS is not in\n * the differentiable scalar grammar (a tensor/integral/curvature encoding), the\n * delegated `bridgeGradientAST` throws the \"unsupported node kind\" error — use\n * {@link astDifferentiableBridgeIds} to discover which ids are AD-eligible.\n *\n * @public\n */\nexport function bridgeGradientASTById(\n bridgeId: number | string,\n varName: string,\n bindings: Record<string, number>\n): Promise<ASTGradientResult> {\n const id = parseBridgeId(bridgeId);\n const rhs = BRIDGE_RHS_BY_ID.get(id);\n if (rhs === undefined) {\n throw new TypeError(\n `bridgeGradientASTById: BE-${id} has no encoded RHS AST in the registry ` +\n `(BE-51/52 are closed-form; ${BRIDGE_RHS_BY_ID.size} bridges have an encoded AST).`\n );\n }\n return bridgeGradientAST(rhs, varName, bindings);\n}\n\n/** Whether an AST consists solely of the differentiable scalar grammar (symbol + op(+ − * / ^)). */\nfunction isDifferentiableScalarAST(node: ExprNode): boolean {\n if (node.kind === 'symbol') return true;\n if (node.kind === 'op') {\n if (!['+', '-', '*', '/', '^'].includes(node.op)) return false;\n return node.args.every(isDifferentiableScalarAST);\n }\n if (node.kind === 'transcendental') return isDifferentiableScalarAST(node.arg);\n if (node.kind === 'abs') return isDifferentiableScalarAST(node.arg);\n if (node.kind === 'integral') {\n return (\n !!node.lower &&\n !!node.upper &&\n node.over.kind === 'symbol' &&\n isDifferentiableScalarAST(node.integrand) &&\n isDifferentiableScalarAST(node.lower) &&\n isDifferentiableScalarAST(node.upper)\n );\n }\n return false;\n}\n\n/**\n * The catalog bridge ids whose encoded RHS lies entirely in the differentiable\n * scalar grammar — i.e. those `bridgeGradientASTById` can differentiate exactly.\n * Bridges encoded with tensor/integral/curvature nodes (or whose physics is\n * hidden behind a typed-stub symbol) are excluded from EXACT differentiation\n * (a stub still differentiates w.r.t. the stub symbol, but not the physics\n * inside it). Returned sorted ascending.\n *\n * @public\n */\nexport function astDifferentiableBridgeIds(): number[] {\n const ids: number[] = [];\n for (const [id, rhs] of BRIDGE_RHS_BY_ID) {\n if (isDifferentiableScalarAST(rhs)) ids.push(id);\n }\n return ids.sort((a, b) => a - b);\n}\n"]}