cbrowser 20.2.2 → 21.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 (302) hide show
  1. package/README.md +2 -2
  2. package/dist/analysis/accessibility-empathy.d.ts +29 -1
  3. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  4. package/dist/analysis/accessibility-empathy.js +69 -35
  5. package/dist/analysis/accessibility-empathy.js.map +1 -1
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +11 -7
  8. package/dist/browser.js.map +1 -1
  9. package/dist/cif-score.d.ts +56 -5
  10. package/dist/cif-score.d.ts.map +1 -1
  11. package/dist/cif-score.js +595 -346
  12. package/dist/cif-score.js.map +1 -1
  13. package/dist/cli.js +10 -8
  14. package/dist/cli.js.map +1 -1
  15. package/dist/cognitive/default-traits.d.ts +14 -0
  16. package/dist/cognitive/default-traits.d.ts.map +1 -0
  17. package/dist/cognitive/default-traits.js +36 -0
  18. package/dist/cognitive/default-traits.js.map +1 -0
  19. package/dist/cognitive/emotions.d.ts.map +1 -1
  20. package/dist/cognitive/emotions.js +104 -174
  21. package/dist/cognitive/emotions.js.map +1 -1
  22. package/dist/cognitive/index.d.ts +28 -0
  23. package/dist/cognitive/index.d.ts.map +1 -1
  24. package/dist/cognitive/index.js +353 -287
  25. package/dist/cognitive/index.js.map +1 -1
  26. package/dist/cognitive/temporal.d.ts +0 -24
  27. package/dist/cognitive/temporal.d.ts.map +1 -1
  28. package/dist/cognitive/temporal.js +45 -35
  29. package/dist/cognitive/temporal.js.map +1 -1
  30. package/dist/data/ctc-reference-v2-2026-10-24.d.ts +16 -0
  31. package/dist/data/ctc-reference-v2-2026-10-24.d.ts.map +1 -0
  32. package/dist/data/ctc-reference-v2-2026-10-24.js +1004 -0
  33. package/dist/data/ctc-reference-v2-2026-10-24.js.map +1 -0
  34. package/dist/ideal-profiles-gap.d.ts +1 -0
  35. package/dist/ideal-profiles-gap.d.ts.map +1 -1
  36. package/dist/ideal-profiles-gap.js +9 -1
  37. package/dist/ideal-profiles-gap.js.map +1 -1
  38. package/dist/ideal-profiles.d.ts +8 -0
  39. package/dist/ideal-profiles.d.ts.map +1 -1
  40. package/dist/ideal-profiles.js +28 -24
  41. package/dist/ideal-profiles.js.map +1 -1
  42. package/dist/mcp-server-remote.d.ts.map +1 -1
  43. package/dist/mcp-server-remote.js +7 -8
  44. package/dist/mcp-server-remote.js.map +1 -1
  45. package/dist/mcp-tools/account-personas.d.ts.map +1 -1
  46. package/dist/mcp-tools/account-personas.js +3 -1
  47. package/dist/mcp-tools/account-personas.js.map +1 -1
  48. package/dist/mcp-tools/base/answer-provenance.d.ts +28 -0
  49. package/dist/mcp-tools/base/answer-provenance.d.ts.map +1 -0
  50. package/dist/mcp-tools/base/answer-provenance.js +32 -0
  51. package/dist/mcp-tools/base/answer-provenance.js.map +1 -0
  52. package/dist/mcp-tools/base/audit-tools.d.ts +0 -3
  53. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  54. package/dist/mcp-tools/base/audit-tools.js +152 -84
  55. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  56. package/dist/mcp-tools/base/capture-tools.js +1 -1
  57. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  58. package/dist/mcp-tools/base/chain-values.d.ts +38 -0
  59. package/dist/mcp-tools/base/chain-values.d.ts.map +1 -0
  60. package/dist/mcp-tools/base/chain-values.js +85 -0
  61. package/dist/mcp-tools/base/chain-values.js.map +1 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +126 -120
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/gif-tools.js +23 -5
  67. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  69. package/dist/mcp-tools/base/persona-comparison-tools.js +229 -172
  70. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  71. package/dist/mcp-tools/base/site-familiarity.d.ts +31 -0
  72. package/dist/mcp-tools/base/site-familiarity.d.ts.map +1 -0
  73. package/dist/mcp-tools/base/site-familiarity.js +30 -0
  74. package/dist/mcp-tools/base/site-familiarity.js.map +1 -0
  75. package/dist/mcp-tools/base/site-knowledge-tools.js +1 -1
  76. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/story-narrative.d.ts +50 -0
  78. package/dist/mcp-tools/base/story-narrative.d.ts.map +1 -0
  79. package/dist/mcp-tools/base/story-narrative.js +88 -0
  80. package/dist/mcp-tools/base/story-narrative.js.map +1 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +19 -5
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts +5 -5
  85. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  86. package/dist/mcp-tools/base/visual-testing-tools.js +38 -11
  87. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  88. package/dist/mcp-tools/persona-creation-tools.js +6 -6
  89. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  90. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -1
  91. package/dist/mcp-tools/persona-lifecycle-tools.js +5 -1
  92. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -1
  93. package/dist/mcp-tools/tier-gate.js +1 -1
  94. package/dist/mcp-tools/tool-result-saver.d.ts +7 -0
  95. package/dist/mcp-tools/tool-result-saver.d.ts.map +1 -1
  96. package/dist/mcp-tools/tool-result-saver.js +11 -0
  97. package/dist/mcp-tools/tool-result-saver.js.map +1 -1
  98. package/dist/mcp-tools/trait-provenance.d.ts +109 -0
  99. package/dist/mcp-tools/trait-provenance.d.ts.map +1 -0
  100. package/dist/mcp-tools/trait-provenance.js +187 -0
  101. package/dist/mcp-tools/trait-provenance.js.map +1 -0
  102. package/dist/mcp-tools/ui-resources.d.ts +6 -7
  103. package/dist/mcp-tools/ui-resources.d.ts.map +1 -1
  104. package/dist/mcp-tools/ui-resources.js +162 -12
  105. package/dist/mcp-tools/ui-resources.js.map +1 -1
  106. package/dist/mcp-tools/widget-kit.d.ts +129 -3
  107. package/dist/mcp-tools/widget-kit.d.ts.map +1 -1
  108. package/dist/mcp-tools/widget-kit.js +507 -28
  109. package/dist/mcp-tools/widget-kit.js.map +1 -1
  110. package/dist/performance/metrics.d.ts.map +1 -1
  111. package/dist/performance/metrics.js +4 -1
  112. package/dist/performance/metrics.js.map +1 -1
  113. package/dist/persona-questionnaire.js +1 -1
  114. package/dist/persona-questionnaire.js.map +1 -1
  115. package/dist/personas.d.ts.map +1 -1
  116. package/dist/personas.js +133 -82
  117. package/dist/personas.js.map +1 -1
  118. package/dist/recording/engine.d.ts.map +1 -1
  119. package/dist/recording/engine.js +5 -2
  120. package/dist/recording/engine.js.map +1 -1
  121. package/dist/recording/saliency-overlay.d.ts +8 -3
  122. package/dist/recording/saliency-overlay.d.ts.map +1 -1
  123. package/dist/recording/saliency-overlay.js +14 -5
  124. package/dist/recording/saliency-overlay.js.map +1 -1
  125. package/dist/recording/types.js +1 -1
  126. package/dist/testing/nl-test-suite.d.ts.map +1 -1
  127. package/dist/testing/nl-test-suite.js +2 -1
  128. package/dist/testing/nl-test-suite.js.map +1 -1
  129. package/dist/trait-reference.d.ts +19 -2
  130. package/dist/trait-reference.d.ts.map +1 -1
  131. package/dist/trait-reference.js +19 -2
  132. package/dist/trait-reference.js.map +1 -1
  133. package/dist/types.d.ts +32 -21
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +62 -52
  136. package/dist/types.js.map +1 -1
  137. package/dist/values/persona-completeness.js +1 -1
  138. package/dist/values/persona-completeness.js.map +1 -1
  139. package/dist/visual/ab-comparison.d.ts.map +1 -1
  140. package/dist/visual/ab-comparison.js +4 -1
  141. package/dist/visual/ab-comparison.js.map +1 -1
  142. package/dist/visual/attention-quality.d.ts +1 -1
  143. package/dist/visual/attention-quality.js +1 -1
  144. package/dist/visual/attention-transport.d.ts +74 -10
  145. package/dist/visual/attention-transport.d.ts.map +1 -1
  146. package/dist/visual/attention-transport.js +353 -193
  147. package/dist/visual/attention-transport.js.map +1 -1
  148. package/dist/visual/cognitive-models.d.ts +77 -55
  149. package/dist/visual/cognitive-models.d.ts.map +1 -1
  150. package/dist/visual/cognitive-models.js +231 -104
  151. package/dist/visual/cognitive-models.js.map +1 -1
  152. package/dist/visual/cognitive-transport-chain.d.ts +328 -30
  153. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  154. package/dist/visual/cognitive-transport-chain.js +576 -353
  155. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  156. package/dist/visual/cognitive-transport.d.ts +446 -13
  157. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  158. package/dist/visual/cognitive-transport.js +1085 -245
  159. package/dist/visual/cognitive-transport.js.map +1 -1
  160. package/dist/visual/cross-browser.d.ts.map +1 -1
  161. package/dist/visual/cross-browser.js +8 -6
  162. package/dist/visual/cross-browser.js.map +1 -1
  163. package/dist/visual/ctc-bands.d.ts +91 -0
  164. package/dist/visual/ctc-bands.d.ts.map +1 -0
  165. package/dist/visual/ctc-bands.js +117 -0
  166. package/dist/visual/ctc-bands.js.map +1 -0
  167. package/dist/visual/ctc-reference.d.ts +287 -0
  168. package/dist/visual/ctc-reference.d.ts.map +1 -0
  169. package/dist/visual/ctc-reference.js +376 -0
  170. package/dist/visual/ctc-reference.js.map +1 -0
  171. package/dist/visual/demand-laws.d.ts +145 -0
  172. package/dist/visual/demand-laws.d.ts.map +1 -0
  173. package/dist/visual/demand-laws.js +220 -0
  174. package/dist/visual/demand-laws.js.map +1 -0
  175. package/dist/visual/distance-metrics.d.ts +23 -1
  176. package/dist/visual/distance-metrics.d.ts.map +1 -1
  177. package/dist/visual/distance-metrics.js +49 -18
  178. package/dist/visual/distance-metrics.js.map +1 -1
  179. package/dist/visual/dro-bound.d.ts +220 -0
  180. package/dist/visual/dro-bound.d.ts.map +1 -0
  181. package/dist/visual/dro-bound.js +341 -0
  182. package/dist/visual/dro-bound.js.map +1 -0
  183. package/dist/visual/exact-w1.d.ts +60 -0
  184. package/dist/visual/exact-w1.d.ts.map +1 -0
  185. package/dist/visual/exact-w1.js +247 -0
  186. package/dist/visual/exact-w1.js.map +1 -0
  187. package/dist/visual/human-input.d.ts.map +1 -1
  188. package/dist/visual/human-input.js +45 -41
  189. package/dist/visual/human-input.js.map +1 -1
  190. package/dist/visual/index.d.ts +2 -0
  191. package/dist/visual/index.d.ts.map +1 -1
  192. package/dist/visual/index.js +2 -0
  193. package/dist/visual/index.js.map +1 -1
  194. package/dist/visual/law-times-report.d.ts +49 -0
  195. package/dist/visual/law-times-report.d.ts.map +1 -0
  196. package/dist/visual/law-times-report.js +38 -0
  197. package/dist/visual/law-times-report.js.map +1 -0
  198. package/dist/visual/model-provenance.d.ts +151 -0
  199. package/dist/visual/model-provenance.d.ts.map +1 -0
  200. package/dist/visual/model-provenance.js +334 -0
  201. package/dist/visual/model-provenance.js.map +1 -0
  202. package/dist/visual/normal-cdf.d.ts +14 -0
  203. package/dist/visual/normal-cdf.d.ts.map +1 -0
  204. package/dist/visual/normal-cdf.js +26 -0
  205. package/dist/visual/normal-cdf.js.map +1 -0
  206. package/dist/visual/perceptual-transport.d.ts +28 -4
  207. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  208. package/dist/visual/perceptual-transport.js +66 -32
  209. package/dist/visual/perceptual-transport.js.map +1 -1
  210. package/dist/visual/provenance/attention.d.ts +55 -0
  211. package/dist/visual/provenance/attention.d.ts.map +1 -0
  212. package/dist/visual/provenance/attention.js +188 -0
  213. package/dist/visual/provenance/attention.js.map +1 -0
  214. package/dist/visual/provenance/chain.d.ts +41 -0
  215. package/dist/visual/provenance/chain.d.ts.map +1 -0
  216. package/dist/visual/provenance/chain.js +66 -0
  217. package/dist/visual/provenance/chain.js.map +1 -0
  218. package/dist/visual/provenance/cif.d.ts +42 -0
  219. package/dist/visual/provenance/cif.d.ts.map +1 -0
  220. package/dist/visual/provenance/cif.js +116 -0
  221. package/dist/visual/provenance/cif.js.map +1 -0
  222. package/dist/visual/provenance/ctc-reference.d.ts +36 -0
  223. package/dist/visual/provenance/ctc-reference.d.ts.map +1 -0
  224. package/dist/visual/provenance/ctc-reference.js +96 -0
  225. package/dist/visual/provenance/ctc-reference.js.map +1 -0
  226. package/dist/visual/provenance/distance.d.ts +10 -0
  227. package/dist/visual/provenance/distance.d.ts.map +1 -0
  228. package/dist/visual/provenance/distance.js +72 -0
  229. package/dist/visual/provenance/distance.js.map +1 -0
  230. package/dist/visual/provenance/dro.d.ts +10 -0
  231. package/dist/visual/provenance/dro.d.ts.map +1 -0
  232. package/dist/visual/provenance/dro.js +2 -0
  233. package/dist/visual/provenance/dro.js.map +1 -0
  234. package/dist/visual/provenance/emotion.d.ts +26 -0
  235. package/dist/visual/provenance/emotion.d.ts.map +1 -0
  236. package/dist/visual/provenance/emotion.js +99 -0
  237. package/dist/visual/provenance/emotion.js.map +1 -0
  238. package/dist/visual/provenance/human-input.d.ts +19 -0
  239. package/dist/visual/provenance/human-input.d.ts.map +1 -0
  240. package/dist/visual/provenance/human-input.js +84 -0
  241. package/dist/visual/provenance/human-input.js.map +1 -0
  242. package/dist/visual/provenance/journey-group.d.ts +15 -0
  243. package/dist/visual/provenance/journey-group.d.ts.map +1 -0
  244. package/dist/visual/provenance/journey-group.js +15 -0
  245. package/dist/visual/provenance/journey-group.js.map +1 -0
  246. package/dist/visual/provenance/journey-mcp.d.ts +24 -0
  247. package/dist/visual/provenance/journey-mcp.d.ts.map +1 -0
  248. package/dist/visual/provenance/journey-mcp.js +54 -0
  249. package/dist/visual/provenance/journey-mcp.js.map +1 -0
  250. package/dist/visual/provenance/journey.d.ts +34 -0
  251. package/dist/visual/provenance/journey.d.ts.map +1 -0
  252. package/dist/visual/provenance/journey.js +184 -0
  253. package/dist/visual/provenance/journey.js.map +1 -0
  254. package/dist/visual/provenance/laws.d.ts +38 -0
  255. package/dist/visual/provenance/laws.d.ts.map +1 -0
  256. package/dist/visual/provenance/laws.js +40 -0
  257. package/dist/visual/provenance/laws.js.map +1 -0
  258. package/dist/visual/provenance/page-metrics.d.ts +42 -0
  259. package/dist/visual/provenance/page-metrics.d.ts.map +1 -0
  260. package/dist/visual/provenance/page-metrics.js +79 -0
  261. package/dist/visual/provenance/page-metrics.js.map +1 -0
  262. package/dist/visual/provenance/perceptual.d.ts +63 -0
  263. package/dist/visual/provenance/perceptual.d.ts.map +1 -0
  264. package/dist/visual/provenance/perceptual.js +115 -0
  265. package/dist/visual/provenance/perceptual.js.map +1 -0
  266. package/dist/visual/provenance/persona-rates.d.ts +84 -0
  267. package/dist/visual/provenance/persona-rates.d.ts.map +1 -0
  268. package/dist/visual/provenance/persona-rates.js +112 -0
  269. package/dist/visual/provenance/persona-rates.js.map +1 -0
  270. package/dist/visual/provenance/personas.d.ts +122 -0
  271. package/dist/visual/provenance/personas.d.ts.map +1 -0
  272. package/dist/visual/provenance/personas.js +298 -0
  273. package/dist/visual/provenance/personas.js.map +1 -0
  274. package/dist/visual/provenance/profiles.d.ts +39 -0
  275. package/dist/visual/provenance/profiles.d.ts.map +1 -0
  276. package/dist/visual/provenance/profiles.js +37 -0
  277. package/dist/visual/provenance/profiles.js.map +1 -0
  278. package/dist/visual/provenance/temporal.d.ts +21 -0
  279. package/dist/visual/provenance/temporal.d.ts.map +1 -0
  280. package/dist/visual/provenance/temporal.js +56 -0
  281. package/dist/visual/provenance/temporal.js.map +1 -0
  282. package/dist/visual/provenance/visual-distance.d.ts +22 -0
  283. package/dist/visual/provenance/visual-distance.d.ts.map +1 -0
  284. package/dist/visual/provenance/visual-distance.js +30 -0
  285. package/dist/visual/provenance/visual-distance.js.map +1 -0
  286. package/dist/visual/regression.d.ts.map +1 -1
  287. package/dist/visual/regression.js +14 -9
  288. package/dist/visual/regression.js.map +1 -1
  289. package/dist/visual/responsive.d.ts.map +1 -1
  290. package/dist/visual/responsive.js +4 -1
  291. package/dist/visual/responsive.js.map +1 -1
  292. package/dist/visual/scope-prose.js +2 -2
  293. package/dist/visual/scope-prose.js.map +1 -1
  294. package/dist/visual/seeded-random.d.ts +16 -0
  295. package/dist/visual/seeded-random.d.ts.map +1 -0
  296. package/dist/visual/seeded-random.js +25 -0
  297. package/dist/visual/seeded-random.js.map +1 -0
  298. package/dist/visual/stored-accessibility-traits.d.ts +27 -0
  299. package/dist/visual/stored-accessibility-traits.d.ts.map +1 -0
  300. package/dist/visual/stored-accessibility-traits.js +35 -0
  301. package/dist/visual/stored-accessibility-traits.js.map +1 -0
  302. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctc-bands.js","sourceRoot":"","sources":["../../src/visual/ctc-bands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,287 @@
1
+ /**
2
+ * The reference set totalCTC is ranked against, and the curve that ranks it.
3
+ *
4
+ * WHAT totalCTC IS, as of 21.x: a percentile. A page's raw transport cost for
5
+ * a persona, placed among the raw costs of real pages for the built-in
6
+ * personas. 0.5 is the pooled median of the reference; 0.9 is costlier than
7
+ * nine in ten (page, persona) pairs in it; 1 is at least as costly as the
8
+ * costliest one.
9
+ *
10
+ * Until 21.x it was a logistic of the raw cost with a hand-set slope (2.5) and
11
+ * centre (1.2). Neither number was tied to anything, and on real pages it used
12
+ * little of its range: at viewport scope half of all (page, persona) scores sat
13
+ * between 0.055 and 0.133 and the logistic's floor at raw 0 was 0.047, so "0.2"
14
+ * read as low while it was costlier than most real first screens
15
+ * (research/ctc-21-deltas.md). A percentile has no free constant to set; its
16
+ * scale is the reference set, which is named and shipped.
17
+ *
18
+ * THE REFERENCE STORES RAW MEASUREMENTS, NOT METRICS OR SCORES.
19
+ * src/data/ctc-reference-v2-*.ts holds what measurePageRaw measured on each
20
+ * real page (research/ctc-reference/crawl-v2.ts): counts, length histograms
21
+ * and geometry, before any normaliser. The curve is derived from them through
22
+ * deriveMetrics and the live chain, so a change to a chain constant OR to a
23
+ * page-metric normaliser moves the curve with it. The first reference
24
+ * (2026-10-22, research/ctc-reference/v1/) stored normalised metrics, so a
25
+ * changed normaliser could not reach it. The constants that decide what is
26
+ * counted at all (PAGE_METRICS_MEASURE_IDS) are recorded with the data, and a
27
+ * live value that differs is refused: a stored measurement cannot follow them.
28
+ * For the same reason every record must be the raw layout this build measures
29
+ * (RAW_PAGE_FORMAT, 2: prose counted once, language pickers not read as the
30
+ * page's script); decodeReferenceRaw refuses any other.
31
+ *
32
+ * WHAT IS IN IT. About 500 graded pages from three sampling frames (the v1
33
+ * brand list, a random draw from a dated Tranco top-sites list, government and
34
+ * nonprofit directories) and six page types (landing, form, search, article,
35
+ * help, cart), crawled direct first and through a residential proxy only where
36
+ * the direct attempt was blocked. Every attempted page is listed with its
37
+ * outcome (referenceOutcomes), graded or not.
38
+ *
39
+ * WEIGHTING. Every graded page counts once. The crawl's quotas, not the
40
+ * curve, balance frames and types: each frame stopped at about a third of the
41
+ * pages and each inner type at a cap, so the counts are near balance by
42
+ * construction, and "ranked among N real pages" stays literally true.
43
+ * Weighting cells equally would let a handful of cart pages carry as much
44
+ * weight as the landing pages and widen every interval for it.
45
+ *
46
+ * POOLED OVER PERSONAS, so persona differences survive the mapping. One curve
47
+ * per persona would rank every persona against itself: an elderly user and a
48
+ * power user on the same page would both land near their own median and the
49
+ * difference the tool exists to report would be gone.
50
+ *
51
+ * UNCERTAINTY. A different draw of real pages would place the same raw cost at
52
+ * a somewhat different percentile. bootstrapPercentileInterval measures that:
53
+ * it resamples PAGES (each with all its personas, since a page's personas are
54
+ * not independent draws) and reports, for any raw cost, the central interval
55
+ * of its percentile across the resamples. It says nothing about whether the
56
+ * chain's costs are right; only how firmly the yardstick is fixed.
57
+ *
58
+ * This module holds the data, the population and the curve arithmetic. The
59
+ * chain (cognitive-transport-chain.ts) builds and caches the curves, because
60
+ * only it can compute a raw cost; nothing here imports it.
61
+ *
62
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
63
+ * @license MIT
64
+ */
65
+ import { type ExtractedPageMetrics, type MetricScope, type RawPageMeasurement } from "./cognitive-transport.js";
66
+ export type ReferenceFrame = "brand" | "tranco" | "public";
67
+ export type ReferencePageType = "landing" | "form" | "search" | "article" | "help" | "cart";
68
+ export type ReferenceOutcome = "graded" | "blocked" | "error" | "excluded" | "robots";
69
+ /** One attempted page. The list of them is the published outcome list, graded or not. */
70
+ export interface ReferencePageRecord {
71
+ frame: ReferenceFrame;
72
+ site: string;
73
+ /** brand: the v1 industry; tranco: from the top-level domain; public: government level or nonprofit. */
74
+ sector: string;
75
+ pageType: ReferencePageType;
76
+ url: string;
77
+ /** How an inner page was found from its landing page (research/ctc-reference/discover.ts). */
78
+ how?: string;
79
+ outcome: ReferenceOutcome;
80
+ /** Why a page is not graded: the block, the error, the exclusion or the robots.txt rule. */
81
+ detail?: string;
82
+ /** The route of the final attempt: direct, or proxy after a blocked direct attempt. */
83
+ route?: "direct" | "proxy";
84
+ /** route proxy only: what the direct attempt before it was classified as ("blocked: ..."). */
85
+ proxiedBecause?: string;
86
+ /** The robots.txt decision for this URL. */
87
+ robots: string;
88
+ /** Bytes over the wire for all attempts, and for the proxy attempt alone. */
89
+ bytes: number;
90
+ proxyBytes: number;
91
+ finalUrl?: string;
92
+ /** tranco: the domain's rank and its band; public: the directory it came from. */
93
+ rank?: number;
94
+ band?: string;
95
+ source?: string;
96
+ }
97
+ export interface ReferenceMeta {
98
+ id: string;
99
+ crawledOn: string;
100
+ viewport: {
101
+ width: number;
102
+ height: number;
103
+ };
104
+ scopes: MetricScope[];
105
+ cbrowserVersion: string;
106
+ gitHead: string;
107
+ measurementCode: string;
108
+ source: string;
109
+ crawlNote: string;
110
+ note: string;
111
+ weighting: string;
112
+ /** PAGE_METRICS_MEASURE_IDS as they were when the pages were measured. */
113
+ measureParams: Record<string, number>;
114
+ frames: Array<{
115
+ id: ReferenceFrame;
116
+ description: string;
117
+ sitesListed: number;
118
+ sitesTaken: number;
119
+ [k: string]: unknown;
120
+ }>;
121
+ outcomes: {
122
+ attempted: number;
123
+ graded: number;
124
+ blocked: number;
125
+ error: number;
126
+ excluded: number;
127
+ robots: number;
128
+ };
129
+ proxy: {
130
+ region: string;
131
+ pages: number;
132
+ bytes: number;
133
+ budgetBytes: number;
134
+ budgetExhausted: boolean;
135
+ };
136
+ /** Bytes over the wire for the whole crawl, both routes. */
137
+ bytes: number;
138
+ }
139
+ /** Where the reference came from: everything about the dataset except the pages. */
140
+ export declare const CTC_REFERENCE: Readonly<{
141
+ id: string;
142
+ crawledOn: string;
143
+ viewport: {
144
+ width: number;
145
+ height: number;
146
+ };
147
+ scopes: MetricScope[];
148
+ cbrowserVersion: string;
149
+ gitHead: string;
150
+ measurementCode: string;
151
+ source: string;
152
+ crawlNote: string;
153
+ note: string;
154
+ weighting: string;
155
+ /** PAGE_METRICS_MEASURE_IDS as they were when the pages were measured. */
156
+ measureParams: Record<string, number>;
157
+ frames: Array<{
158
+ id: ReferenceFrame;
159
+ description: string;
160
+ sitesListed: number;
161
+ sitesTaken: number;
162
+ [k: string]: unknown;
163
+ }>;
164
+ outcomes: {
165
+ attempted: number;
166
+ graded: number;
167
+ blocked: number;
168
+ error: number;
169
+ excluded: number;
170
+ robots: number;
171
+ };
172
+ proxy: {
173
+ region: string;
174
+ pages: number;
175
+ bytes: number;
176
+ budgetBytes: number;
177
+ budgetExhausted: boolean;
178
+ };
179
+ /** Bytes over the wire for the whole crawl, both routes. */
180
+ bytes: number;
181
+ }>;
182
+ /** Every attempted page with its outcome, graded or not, so the exclusions stay visible. */
183
+ export declare function referenceOutcomes(): ReferencePageRecord[];
184
+ export declare function decodeReferenceRaw(packed: string, graded: number, id: string): Array<Record<MetricScope, RawPageMeasurement>>;
185
+ /**
186
+ * The graded pages' raw measurements at one scope, in dataset order. Blocked,
187
+ * error, excluded and robots-disallowed pages are absent measurements and are
188
+ * never part of the reference: a bot challenge measures as a nearly empty
189
+ * page and would rank as the easiest page on the web.
190
+ */
191
+ export declare function referenceRaw(scope: MetricScope): RawPageMeasurement[];
192
+ /** The graded pages' metrics at one scope, derived from their raw measurements under the live constants. */
193
+ export declare function referencePages(scope: MetricScope): ExtractedPageMetrics[];
194
+ /** The graded pages' records, in the order referenceRaw returns their measurements. */
195
+ export declare function referenceGraded(): ReferencePageRecord[];
196
+ /**
197
+ * The built-in human personas, each built the way cognitive_effort builds it
198
+ * with no site model: its cognitive traits, siteFamiliarity 0 (first visit),
199
+ * and the reading, pointing and attention capacities bridged from the formal
200
+ * models. Since 21.0 the chain does not read the siteFamiliarity trait: a
201
+ * visit's familiarity is the demand's e (DemandOptions), and the curve is built
202
+ * at e = 0. The trait stays at 0 for what else reads a persona's 29 traits
203
+ * (the persona distance). The same 25 the golden matrix pins (tests/fixtures/ctc-golden-matrix.ts,
204
+ * ROSTER and toolProfile); a test holds the two to each other.
205
+ */
206
+ export declare function referencePopulation(): Array<{
207
+ name: string;
208
+ traits: Record<string, number>;
209
+ }>;
210
+ /** How many personas the reference pools: the length of referencePopulation(), counted once. */
211
+ export declare function referencePersonaCount(): number;
212
+ /**
213
+ * A piecewise-linear interpolated empirical distribution function.
214
+ *
215
+ * Knots sit at the distinct sample values. A knot's height is its mean
216
+ * zero-based rank over n - 1 (ties share the mean of their ranks), which is
217
+ * the inverse of the linear-interpolation quantile (Hyndman and Fan type 7,
218
+ * numpy's default); the lowest knot is pinned to 0 and the highest to 1.
219
+ * Between knots the curve is a straight line, so it is continuous and
220
+ * Lipschitz with constant `curveSlope`: a step function would make the score
221
+ * jump at every sample and no Wasserstein bound could cover it.
222
+ */
223
+ export interface PercentileCurve {
224
+ /** Distinct sample values, strictly increasing. */
225
+ readonly xs: Float64Array;
226
+ /** Height at each knot, strictly increasing from 0 to 1. */
227
+ readonly ps: Float64Array;
228
+ /** Samples the curve was built from (n, ties included). */
229
+ readonly samples: number;
230
+ }
231
+ export declare function percentileCurve(samples: ArrayLike<number>): PercentileCurve;
232
+ /**
233
+ * The curve at x: 0 at or below the lowest sample, 1 at or above the highest,
234
+ * linear between knots. NaN in, NaN out, so a broken cost is not reported as
235
+ * a rank.
236
+ */
237
+ export declare function percentileAt(curve: PercentileCurve, x: number): number;
238
+ /**
239
+ * The largest slope of the curve over [lo, hi]: its Lipschitz constant there.
240
+ * Outside the sampled range the curve is flat, so only segments meeting
241
+ * [lo, hi] count. With knots close together this can be large; it is the
242
+ * honest constant of a curve that follows the data.
243
+ */
244
+ export declare function curveSlope(curve: PercentileCurve, lo?: number, hi?: number): number;
245
+ /**
246
+ * The bootstrap interval of the percentile, precomputed on a grid of raw costs.
247
+ *
248
+ * At each grid cost the interval is the central `level` share of the cost's
249
+ * percentile across `replicates` resamples of the reference pages; between
250
+ * grid costs both ends are interpolated linearly. Below the lowest reference
251
+ * cost every resample says 0 and above the highest every one says 1, so the
252
+ * interval collapses there to the point.
253
+ */
254
+ export interface PercentileInterval {
255
+ /** Grid raw costs, strictly increasing, from the lowest reference cost to the highest. */
256
+ readonly xs: Float64Array;
257
+ readonly lo: Float64Array;
258
+ readonly hi: Float64Array;
259
+ readonly replicates: number;
260
+ readonly level: number;
261
+ }
262
+ /**
263
+ * Bootstrap over PAGES. `costs` is page-major: page i's costs for every
264
+ * persona sit at [i * perPage, (i + 1) * perPage). A resample draws as many
265
+ * pages as there are, with replacement, and keeps each drawn page's costs for
266
+ * all personas together, because a page's personas share the page and are
267
+ * not independent draws. A grid cost's percentile in a resample is its
268
+ * mid-rank share of the resampled costs (below, plus half of the ties), which
269
+ * differs from the interpolated curve by at most one sample's share.
270
+ *
271
+ * Cost: grid x pages x replicates additions (101 x 500 x 1000 is about 50
272
+ * million), once per curve build.
273
+ */
274
+ export declare function bootstrapPercentileInterval(costs: Float64Array, perPage: number, opts: {
275
+ replicates: number;
276
+ seed: number;
277
+ level: number;
278
+ grid: number;
279
+ }): PercentileInterval;
280
+ /**
281
+ * The interval at raw cost x, for the point estimate p = percentileAt(curve, x).
282
+ * Interpolated between grid costs; [0, 0] below the reference and [1, 1]
283
+ * above it; widened if needed to contain p, which the mid-rank resamples can
284
+ * miss by at most one sample's share. NaN in, [NaN, NaN] out.
285
+ */
286
+ export declare function intervalAt(iv: PercentileInterval, x: number, p: number): [number, number];
287
+ //# sourceMappingURL=ctc-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctc-reference.d.ts","sourceRoot":"","sources":["../../src/visual/ctc-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAMH,OAAO,EAAkC,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAIhJ,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5F,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtF,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,wGAAwG;IACxG,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,8FAA8F;IAC9F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,cAAc,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1H,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClH,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IACvG,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,oFAAoF;AACpF,eAAO,MAAM,aAAa;QAxBpB,MAAM;eACC,MAAM;cACP;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;YACnC,WAAW,EAAE;qBACJ,MAAM;aACd,MAAM;qBACE,MAAM;YACf,MAAM;eACH,MAAM;UACX,MAAM;eACD,MAAM;IACjB,0EAA0E;mBAC3D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YAC7B,KAAK,CAAC;QAAE,EAAE,EAAE,cAAc,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;cAC/G;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;WAC1G;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE;IACtG,4DAA4D;WACrD,MAAM;EAOwC,CAAC;AAExD,4FAA4F;AAC5F,wBAAgB,iBAAiB,IAAI,mBAAmB,EAAE,CAEzD;AAeD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAuB7H;AAiCD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAQrE;AAED,4GAA4G;AAC5G,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,EAAE,CAEzE;AAED,uFAAuF;AACvF,wBAAgB,eAAe,IAAI,mBAAmB,EAAE,CAEvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAW7F;AAID,gGAAgG;AAChG,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,eAAe,CAmB3E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CActE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,SAAY,EAAE,EAAE,SAAW,GAAG,MAAM,CASxF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtE,kBAAkB,CAkDpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBzF"}