jumpy-lion 0.1.6-beta.9 → 1.0.0-beta.4

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 (450) hide show
  1. package/README.md +1 -607
  2. package/browser/fonts/macos-bundle/41-macos-remaining.conf +157 -0
  3. package/browser/fonts/macos-bundle/README.md +24 -0
  4. package/browser/fonts/macos-bundle/build-metric-fonts.py +1010 -0
  5. package/browser/fonts/macos-bundle/generated/AmericanTypewriter-Bold.ttf +0 -0
  6. package/browser/fonts/macos-bundle/generated/AmericanTypewriter-Regular.ttf +0 -0
  7. package/browser/fonts/macos-bundle/generated/AndaleMono-Bold.ttf +0 -0
  8. package/browser/fonts/macos-bundle/generated/AndaleMono-BoldItalic.ttf +0 -0
  9. package/browser/fonts/macos-bundle/generated/AndaleMono-Italic.ttf +0 -0
  10. package/browser/fonts/macos-bundle/generated/AndaleMono-Regular.ttf +0 -0
  11. package/browser/fonts/macos-bundle/generated/AppleChancery-Bold.ttf +0 -0
  12. package/browser/fonts/macos-bundle/generated/AppleChancery-BoldItalic.ttf +0 -0
  13. package/browser/fonts/macos-bundle/generated/AppleChancery-Italic.ttf +0 -0
  14. package/browser/fonts/macos-bundle/generated/AppleChancery-Regular.ttf +0 -0
  15. package/browser/fonts/macos-bundle/generated/Arial-Bold.ttf +0 -0
  16. package/browser/fonts/macos-bundle/generated/Arial-BoldItalic.ttf +0 -0
  17. package/browser/fonts/macos-bundle/generated/Arial-Italic.ttf +0 -0
  18. package/browser/fonts/macos-bundle/generated/Arial-Regular.ttf +0 -0
  19. package/browser/fonts/macos-bundle/generated/ArialBlack-Bold.ttf +0 -0
  20. package/browser/fonts/macos-bundle/generated/ArialBlack-BoldItalic.ttf +0 -0
  21. package/browser/fonts/macos-bundle/generated/ArialBlack-Italic.ttf +0 -0
  22. package/browser/fonts/macos-bundle/generated/ArialBlack-Regular.ttf +0 -0
  23. package/browser/fonts/macos-bundle/generated/ArialNarrow-Bold.ttf +0 -0
  24. package/browser/fonts/macos-bundle/generated/ArialNarrow-BoldItalic.ttf +0 -0
  25. package/browser/fonts/macos-bundle/generated/ArialNarrow-Italic.ttf +0 -0
  26. package/browser/fonts/macos-bundle/generated/ArialNarrow-Regular.ttf +0 -0
  27. package/browser/fonts/macos-bundle/generated/Avenir-Bold.ttf +0 -0
  28. package/browser/fonts/macos-bundle/generated/Avenir-BoldItalic.ttf +0 -0
  29. package/browser/fonts/macos-bundle/generated/Avenir-Italic.ttf +0 -0
  30. package/browser/fonts/macos-bundle/generated/Avenir-Regular.ttf +0 -0
  31. package/browser/fonts/macos-bundle/generated/AvenirNext-Bold.ttf +0 -0
  32. package/browser/fonts/macos-bundle/generated/AvenirNext-BoldItalic.ttf +0 -0
  33. package/browser/fonts/macos-bundle/generated/AvenirNext-Italic.ttf +0 -0
  34. package/browser/fonts/macos-bundle/generated/AvenirNext-Regular.ttf +0 -0
  35. package/browser/fonts/macos-bundle/generated/AvenirNextCondensed-Bold.ttf +0 -0
  36. package/browser/fonts/macos-bundle/generated/AvenirNextCondensed-BoldItalic.ttf +0 -0
  37. package/browser/fonts/macos-bundle/generated/AvenirNextCondensed-Italic.ttf +0 -0
  38. package/browser/fonts/macos-bundle/generated/AvenirNextCondensed-Regular.ttf +0 -0
  39. package/browser/fonts/macos-bundle/generated/Baskerville-Bold.ttf +0 -0
  40. package/browser/fonts/macos-bundle/generated/Baskerville-BoldItalic.ttf +0 -0
  41. package/browser/fonts/macos-bundle/generated/Baskerville-Italic.ttf +0 -0
  42. package/browser/fonts/macos-bundle/generated/Baskerville-Regular.ttf +0 -0
  43. package/browser/fonts/macos-bundle/generated/BigCaslon-Bold.ttf +0 -0
  44. package/browser/fonts/macos-bundle/generated/BigCaslon-BoldItalic.ttf +0 -0
  45. package/browser/fonts/macos-bundle/generated/BigCaslon-Italic.ttf +0 -0
  46. package/browser/fonts/macos-bundle/generated/BigCaslon-Regular.ttf +0 -0
  47. package/browser/fonts/macos-bundle/generated/BlinkMacSystemFont-Bold.ttf +0 -0
  48. package/browser/fonts/macos-bundle/generated/BlinkMacSystemFont-BoldItalic.ttf +0 -0
  49. package/browser/fonts/macos-bundle/generated/BlinkMacSystemFont-Italic.ttf +0 -0
  50. package/browser/fonts/macos-bundle/generated/BlinkMacSystemFont-Regular.ttf +0 -0
  51. package/browser/fonts/macos-bundle/generated/Bodoni72-Bold.ttf +0 -0
  52. package/browser/fonts/macos-bundle/generated/Bodoni72-BoldItalic.ttf +0 -0
  53. package/browser/fonts/macos-bundle/generated/Bodoni72-Italic.ttf +0 -0
  54. package/browser/fonts/macos-bundle/generated/Bodoni72-Regular.ttf +0 -0
  55. package/browser/fonts/macos-bundle/generated/Bodoni72Oldstyle-Bold.ttf +0 -0
  56. package/browser/fonts/macos-bundle/generated/Bodoni72Oldstyle-BoldItalic.ttf +0 -0
  57. package/browser/fonts/macos-bundle/generated/Bodoni72Oldstyle-Italic.ttf +0 -0
  58. package/browser/fonts/macos-bundle/generated/Bodoni72Oldstyle-Regular.ttf +0 -0
  59. package/browser/fonts/macos-bundle/generated/Bodoni72Smallcaps-Bold.ttf +0 -0
  60. package/browser/fonts/macos-bundle/generated/Bodoni72Smallcaps-BoldItalic.ttf +0 -0
  61. package/browser/fonts/macos-bundle/generated/Bodoni72Smallcaps-Italic.ttf +0 -0
  62. package/browser/fonts/macos-bundle/generated/Bodoni72Smallcaps-Regular.ttf +0 -0
  63. package/browser/fonts/macos-bundle/generated/BradleyHand-Regular.ttf +0 -0
  64. package/browser/fonts/macos-bundle/generated/BrushScriptMT-Regular.ttf +0 -0
  65. package/browser/fonts/macos-bundle/generated/Chalkboard-Bold.ttf +0 -0
  66. package/browser/fonts/macos-bundle/generated/Chalkboard-BoldItalic.ttf +0 -0
  67. package/browser/fonts/macos-bundle/generated/Chalkboard-Italic.ttf +0 -0
  68. package/browser/fonts/macos-bundle/generated/Chalkboard-Regular.ttf +0 -0
  69. package/browser/fonts/macos-bundle/generated/ChalkboardSE-Bold.ttf +0 -0
  70. package/browser/fonts/macos-bundle/generated/ChalkboardSE-BoldItalic.ttf +0 -0
  71. package/browser/fonts/macos-bundle/generated/ChalkboardSE-Italic.ttf +0 -0
  72. package/browser/fonts/macos-bundle/generated/ChalkboardSE-Regular.ttf +0 -0
  73. package/browser/fonts/macos-bundle/generated/Chalkduster-Bold.ttf +0 -0
  74. package/browser/fonts/macos-bundle/generated/Chalkduster-BoldItalic.ttf +0 -0
  75. package/browser/fonts/macos-bundle/generated/Chalkduster-Italic.ttf +0 -0
  76. package/browser/fonts/macos-bundle/generated/Chalkduster-Regular.ttf +0 -0
  77. package/browser/fonts/macos-bundle/generated/Charter-Bold.ttf +0 -0
  78. package/browser/fonts/macos-bundle/generated/Charter-BoldItalic.ttf +0 -0
  79. package/browser/fonts/macos-bundle/generated/Charter-Italic.ttf +0 -0
  80. package/browser/fonts/macos-bundle/generated/Charter-Regular.ttf +0 -0
  81. package/browser/fonts/macos-bundle/generated/Cochin-Bold.ttf +0 -0
  82. package/browser/fonts/macos-bundle/generated/Cochin-BoldItalic.ttf +0 -0
  83. package/browser/fonts/macos-bundle/generated/Cochin-Italic.ttf +0 -0
  84. package/browser/fonts/macos-bundle/generated/Cochin-Regular.ttf +0 -0
  85. package/browser/fonts/macos-bundle/generated/ComicSansMS-Bold.ttf +0 -0
  86. package/browser/fonts/macos-bundle/generated/ComicSansMS-BoldItalic.ttf +0 -0
  87. package/browser/fonts/macos-bundle/generated/ComicSansMS-Italic.ttf +0 -0
  88. package/browser/fonts/macos-bundle/generated/ComicSansMS-Regular.ttf +0 -0
  89. package/browser/fonts/macos-bundle/generated/Copperplate-Bold.ttf +0 -0
  90. package/browser/fonts/macos-bundle/generated/Copperplate-Regular.ttf +0 -0
  91. package/browser/fonts/macos-bundle/generated/Courier-Bold.ttf +0 -0
  92. package/browser/fonts/macos-bundle/generated/Courier-BoldItalic.ttf +0 -0
  93. package/browser/fonts/macos-bundle/generated/Courier-Italic.ttf +0 -0
  94. package/browser/fonts/macos-bundle/generated/Courier-Regular.ttf +0 -0
  95. package/browser/fonts/macos-bundle/generated/CourierNew-Regular.ttf +0 -0
  96. package/browser/fonts/macos-bundle/generated/Didot-Bold.ttf +0 -0
  97. package/browser/fonts/macos-bundle/generated/Didot-BoldItalic.ttf +0 -0
  98. package/browser/fonts/macos-bundle/generated/Didot-Italic.ttf +0 -0
  99. package/browser/fonts/macos-bundle/generated/Didot-Regular.ttf +0 -0
  100. package/browser/fonts/macos-bundle/generated/Futura-Bold.ttf +0 -0
  101. package/browser/fonts/macos-bundle/generated/Futura-BoldItalic.ttf +0 -0
  102. package/browser/fonts/macos-bundle/generated/Futura-Italic.ttf +0 -0
  103. package/browser/fonts/macos-bundle/generated/Futura-Regular.ttf +0 -0
  104. package/browser/fonts/macos-bundle/generated/Geneva-Regular.ttf +0 -0
  105. package/browser/fonts/macos-bundle/generated/Georgia-Bold.ttf +0 -0
  106. package/browser/fonts/macos-bundle/generated/Georgia-BoldItalic.ttf +0 -0
  107. package/browser/fonts/macos-bundle/generated/Georgia-Italic.ttf +0 -0
  108. package/browser/fonts/macos-bundle/generated/Georgia-Regular.ttf +0 -0
  109. package/browser/fonts/macos-bundle/generated/GillSans-Bold.ttf +0 -0
  110. package/browser/fonts/macos-bundle/generated/GillSans-BoldItalic.ttf +0 -0
  111. package/browser/fonts/macos-bundle/generated/GillSans-Italic.ttf +0 -0
  112. package/browser/fonts/macos-bundle/generated/GillSans-Regular.ttf +0 -0
  113. package/browser/fonts/macos-bundle/generated/Helvetica-Bold.ttf +0 -0
  114. package/browser/fonts/macos-bundle/generated/Helvetica-BoldItalic.ttf +0 -0
  115. package/browser/fonts/macos-bundle/generated/Helvetica-Italic.ttf +0 -0
  116. package/browser/fonts/macos-bundle/generated/Helvetica-Regular.ttf +0 -0
  117. package/browser/fonts/macos-bundle/generated/HelveticaNeue-Bold.ttf +0 -0
  118. package/browser/fonts/macos-bundle/generated/HelveticaNeue-BoldItalic.ttf +0 -0
  119. package/browser/fonts/macos-bundle/generated/HelveticaNeue-Italic.ttf +0 -0
  120. package/browser/fonts/macos-bundle/generated/HelveticaNeue-Regular.ttf +0 -0
  121. package/browser/fonts/macos-bundle/generated/Herculanum-Bold.ttf +0 -0
  122. package/browser/fonts/macos-bundle/generated/Herculanum-BoldItalic.ttf +0 -0
  123. package/browser/fonts/macos-bundle/generated/Herculanum-Italic.ttf +0 -0
  124. package/browser/fonts/macos-bundle/generated/Herculanum-Regular.ttf +0 -0
  125. package/browser/fonts/macos-bundle/generated/HoeflerText-Bold.ttf +0 -0
  126. package/browser/fonts/macos-bundle/generated/HoeflerText-BoldItalic.ttf +0 -0
  127. package/browser/fonts/macos-bundle/generated/HoeflerText-Italic.ttf +0 -0
  128. package/browser/fonts/macos-bundle/generated/HoeflerText-Regular.ttf +0 -0
  129. package/browser/fonts/macos-bundle/generated/Impact-Bold.ttf +0 -0
  130. package/browser/fonts/macos-bundle/generated/Impact-BoldItalic.ttf +0 -0
  131. package/browser/fonts/macos-bundle/generated/Impact-Italic.ttf +0 -0
  132. package/browser/fonts/macos-bundle/generated/Impact-Regular.ttf +0 -0
  133. package/browser/fonts/macos-bundle/generated/LucidaGrande-Bold.ttf +0 -0
  134. package/browser/fonts/macos-bundle/generated/LucidaGrande-Regular.ttf +0 -0
  135. package/browser/fonts/macos-bundle/generated/MarkerFelt-Bold.ttf +0 -0
  136. package/browser/fonts/macos-bundle/generated/MarkerFelt-BoldItalic.ttf +0 -0
  137. package/browser/fonts/macos-bundle/generated/MarkerFelt-Italic.ttf +0 -0
  138. package/browser/fonts/macos-bundle/generated/MarkerFelt-Regular.ttf +0 -0
  139. package/browser/fonts/macos-bundle/generated/Menlo-Regular.ttf +0 -0
  140. package/browser/fonts/macos-bundle/generated/Monaco-Bold.ttf +0 -0
  141. package/browser/fonts/macos-bundle/generated/Monaco-BoldItalic.ttf +0 -0
  142. package/browser/fonts/macos-bundle/generated/Monaco-Italic.ttf +0 -0
  143. package/browser/fonts/macos-bundle/generated/Monaco-Regular.ttf +0 -0
  144. package/browser/fonts/macos-bundle/generated/Noteworthy-Bold.ttf +0 -0
  145. package/browser/fonts/macos-bundle/generated/Noteworthy-Regular.ttf +0 -0
  146. package/browser/fonts/macos-bundle/generated/Optima-Bold.ttf +0 -0
  147. package/browser/fonts/macos-bundle/generated/Optima-BoldItalic.ttf +0 -0
  148. package/browser/fonts/macos-bundle/generated/Optima-Italic.ttf +0 -0
  149. package/browser/fonts/macos-bundle/generated/Optima-Regular.ttf +0 -0
  150. package/browser/fonts/macos-bundle/generated/Palatino-Bold.ttf +0 -0
  151. package/browser/fonts/macos-bundle/generated/Palatino-BoldItalic.ttf +0 -0
  152. package/browser/fonts/macos-bundle/generated/Palatino-Italic.ttf +0 -0
  153. package/browser/fonts/macos-bundle/generated/Palatino-Regular.ttf +0 -0
  154. package/browser/fonts/macos-bundle/generated/Papyrus-Bold.ttf +0 -0
  155. package/browser/fonts/macos-bundle/generated/Papyrus-BoldItalic.ttf +0 -0
  156. package/browser/fonts/macos-bundle/generated/Papyrus-Italic.ttf +0 -0
  157. package/browser/fonts/macos-bundle/generated/Papyrus-Regular.ttf +0 -0
  158. package/browser/fonts/macos-bundle/generated/PartyLET-Bold.ttf +0 -0
  159. package/browser/fonts/macos-bundle/generated/PartyLET-BoldItalic.ttf +0 -0
  160. package/browser/fonts/macos-bundle/generated/PartyLET-Italic.ttf +0 -0
  161. package/browser/fonts/macos-bundle/generated/PartyLET-Regular.ttf +0 -0
  162. package/browser/fonts/macos-bundle/generated/Phosphate-Regular.ttf +0 -0
  163. package/browser/fonts/macos-bundle/generated/README.md +132 -0
  164. package/browser/fonts/macos-bundle/generated/Rockwell-Bold.ttf +0 -0
  165. package/browser/fonts/macos-bundle/generated/Rockwell-BoldItalic.ttf +0 -0
  166. package/browser/fonts/macos-bundle/generated/Rockwell-Italic.ttf +0 -0
  167. package/browser/fonts/macos-bundle/generated/Rockwell-Regular.ttf +0 -0
  168. package/browser/fonts/macos-bundle/generated/SavoyeLET-Bold.ttf +0 -0
  169. package/browser/fonts/macos-bundle/generated/SavoyeLET-BoldItalic.ttf +0 -0
  170. package/browser/fonts/macos-bundle/generated/SavoyeLET-Italic.ttf +0 -0
  171. package/browser/fonts/macos-bundle/generated/SavoyeLET-Regular.ttf +0 -0
  172. package/browser/fonts/macos-bundle/generated/Seravek-Bold.ttf +0 -0
  173. package/browser/fonts/macos-bundle/generated/Seravek-BoldItalic.ttf +0 -0
  174. package/browser/fonts/macos-bundle/generated/Seravek-Italic.ttf +0 -0
  175. package/browser/fonts/macos-bundle/generated/Seravek-Regular.ttf +0 -0
  176. package/browser/fonts/macos-bundle/generated/SignPainter-Bold.ttf +0 -0
  177. package/browser/fonts/macos-bundle/generated/SignPainter-Regular.ttf +0 -0
  178. package/browser/fonts/macos-bundle/generated/Skia-Bold.ttf +0 -0
  179. package/browser/fonts/macos-bundle/generated/Skia-BoldItalic.ttf +0 -0
  180. package/browser/fonts/macos-bundle/generated/Skia-Italic.ttf +0 -0
  181. package/browser/fonts/macos-bundle/generated/Skia-Regular.ttf +0 -0
  182. package/browser/fonts/macos-bundle/generated/SnellRoundhand-Bold.ttf +0 -0
  183. package/browser/fonts/macos-bundle/generated/SnellRoundhand-Regular.ttf +0 -0
  184. package/browser/fonts/macos-bundle/generated/Tahoma-Bold.ttf +0 -0
  185. package/browser/fonts/macos-bundle/generated/Tahoma-Regular.ttf +0 -0
  186. package/browser/fonts/macos-bundle/generated/Times-Bold.ttf +0 -0
  187. package/browser/fonts/macos-bundle/generated/Times-BoldItalic.ttf +0 -0
  188. package/browser/fonts/macos-bundle/generated/Times-Italic.ttf +0 -0
  189. package/browser/fonts/macos-bundle/generated/Times-Regular.ttf +0 -0
  190. package/browser/fonts/macos-bundle/generated/TimesNewRoman-Bold.ttf +0 -0
  191. package/browser/fonts/macos-bundle/generated/TimesNewRoman-BoldItalic.ttf +0 -0
  192. package/browser/fonts/macos-bundle/generated/TimesNewRoman-Italic.ttf +0 -0
  193. package/browser/fonts/macos-bundle/generated/TimesNewRoman-Regular.ttf +0 -0
  194. package/browser/fonts/macos-bundle/generated/Trattatello-Regular.ttf +0 -0
  195. package/browser/fonts/macos-bundle/generated/TrebuchetMS-Bold.ttf +0 -0
  196. package/browser/fonts/macos-bundle/generated/TrebuchetMS-BoldItalic.ttf +0 -0
  197. package/browser/fonts/macos-bundle/generated/TrebuchetMS-Italic.ttf +0 -0
  198. package/browser/fonts/macos-bundle/generated/TrebuchetMS-Regular.ttf +0 -0
  199. package/browser/fonts/macos-bundle/generated/Verdana-Bold.ttf +0 -0
  200. package/browser/fonts/macos-bundle/generated/Verdana-BoldItalic.ttf +0 -0
  201. package/browser/fonts/macos-bundle/generated/Verdana-Italic.ttf +0 -0
  202. package/browser/fonts/macos-bundle/generated/Verdana-Regular.ttf +0 -0
  203. package/browser/fonts/macos-bundle/generated/Webdings-Bold.ttf +0 -0
  204. package/browser/fonts/macos-bundle/generated/Webdings-BoldItalic.ttf +0 -0
  205. package/browser/fonts/macos-bundle/generated/Webdings-Italic.ttf +0 -0
  206. package/browser/fonts/macos-bundle/generated/Webdings-Regular.ttf +0 -0
  207. package/browser/fonts/macos-bundle/generated/Zapfino-Bold.ttf +0 -0
  208. package/browser/fonts/macos-bundle/generated/Zapfino-BoldItalic.ttf +0 -0
  209. package/browser/fonts/macos-bundle/generated/Zapfino-Italic.ttf +0 -0
  210. package/browser/fonts/macos-bundle/generated/Zapfino-Regular.ttf +0 -0
  211. package/browser/fonts/macos-bundle/generated/manifest.json +2928 -0
  212. package/browser/fonts/macos-bundle/generated/systemui-Bold.ttf +0 -0
  213. package/browser/fonts/macos-bundle/generated/systemui-BoldItalic.ttf +0 -0
  214. package/browser/fonts/macos-bundle/generated/systemui-Italic.ttf +0 -0
  215. package/browser/fonts/macos-bundle/generated/systemui-Regular.ttf +0 -0
  216. package/browser/fonts/macos-bundle/install.sh +136 -0
  217. package/browser/fonts/macos-bundle/vendor/README.md +30 -0
  218. package/browser/fonts/macos-bundle/vendor/anton/Anton-Regular.ttf +0 -0
  219. package/browser/fonts/macos-bundle/vendor/anton/OFL.txt +93 -0
  220. package/browser/fonts/macos-bundle/vendor/gelasio/Gelasio-Italic-VariableFont_wght.ttf +0 -0
  221. package/browser/fonts/macos-bundle/vendor/gelasio/Gelasio-VariableFont_wght.ttf +0 -0
  222. package/browser/fonts/macos-bundle/vendor/gelasio/OFL.txt +93 -0
  223. package/browser/fonts/macos-bundle/verify-metric-fonts.py +171 -0
  224. package/dist/browser-controller.d.ts +47 -4
  225. package/dist/browser-controller.d.ts.map +1 -1
  226. package/dist/browser-controller.js +219 -278
  227. package/dist/browser-controller.js.map +1 -1
  228. package/dist/browser-plugin.d.ts +82 -110
  229. package/dist/browser-plugin.d.ts.map +1 -1
  230. package/dist/browser-plugin.js +405 -379
  231. package/dist/browser-plugin.js.map +1 -1
  232. package/dist/browser-process/align-fingerprint-config.d.ts +36 -0
  233. package/dist/browser-process/align-fingerprint-config.d.ts.map +1 -0
  234. package/dist/browser-process/align-fingerprint-config.js +74 -0
  235. package/dist/browser-process/align-fingerprint-config.js.map +1 -0
  236. package/dist/browser-process/anti-detect-browser.d.ts +2 -2
  237. package/dist/browser-process/anti-detect-browser.js +7 -7
  238. package/dist/browser-process/anti-detect-config.d.ts +146 -2
  239. package/dist/browser-process/anti-detect-config.d.ts.map +1 -1
  240. package/dist/browser-process/anti-detect-config.js +432 -127
  241. package/dist/browser-process/anti-detect-config.js.map +1 -1
  242. package/dist/browser-process/browser.d.ts +25 -92
  243. package/dist/browser-process/browser.d.ts.map +1 -1
  244. package/dist/browser-process/browser.js +467 -79
  245. package/dist/browser-process/browser.js.map +1 -1
  246. package/dist/browser-process/fingerprint-config.d.ts +146 -0
  247. package/dist/browser-process/fingerprint-config.d.ts.map +1 -0
  248. package/dist/browser-process/fingerprint-config.js +351 -0
  249. package/dist/browser-process/fingerprint-config.js.map +1 -0
  250. package/dist/browser-process/get-chrome-executable.d.ts +6 -0
  251. package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
  252. package/dist/browser-process/get-chrome-executable.js +79 -4
  253. package/dist/browser-process/get-chrome-executable.js.map +1 -1
  254. package/dist/browser-process/gpu-family-profiles.d.ts +58 -0
  255. package/dist/browser-process/gpu-family-profiles.d.ts.map +1 -0
  256. package/dist/browser-process/gpu-family-profiles.js +480 -0
  257. package/dist/browser-process/gpu-family-profiles.js.map +1 -0
  258. package/dist/browser-process/launch-options.d.ts +301 -0
  259. package/dist/browser-process/launch-options.d.ts.map +1 -0
  260. package/dist/browser-process/launch-options.js +2 -0
  261. package/dist/browser-process/launch-options.js.map +1 -0
  262. package/dist/browser-process/port-allocator.d.ts +64 -0
  263. package/dist/browser-process/port-allocator.d.ts.map +1 -0
  264. package/dist/browser-process/port-allocator.js +198 -0
  265. package/dist/browser-process/port-allocator.js.map +1 -0
  266. package/dist/browser-process/process.d.ts +85 -0
  267. package/dist/browser-process/process.d.ts.map +1 -1
  268. package/dist/browser-process/process.js +235 -19
  269. package/dist/browser-process/process.js.map +1 -1
  270. package/dist/browser-process/signal-cleanup.d.ts +40 -0
  271. package/dist/browser-process/signal-cleanup.d.ts.map +1 -0
  272. package/dist/browser-process/signal-cleanup.js +105 -0
  273. package/dist/browser-process/signal-cleanup.js.map +1 -0
  274. package/dist/browser-process/widevine-cdm.d.ts +144 -0
  275. package/dist/browser-process/widevine-cdm.d.ts.map +1 -0
  276. package/dist/browser-process/widevine-cdm.js +298 -0
  277. package/dist/browser-process/widevine-cdm.js.map +1 -0
  278. package/dist/browser-profiles/chrome/populate-profile.d.ts.map +1 -1
  279. package/dist/browser-profiles/chrome/populate-profile.js +21 -22
  280. package/dist/browser-profiles/chrome/populate-profile.js.map +1 -1
  281. package/dist/connection/cdp-reconnection.d.ts +50 -0
  282. package/dist/connection/cdp-reconnection.d.ts.map +1 -0
  283. package/dist/connection/cdp-reconnection.js +75 -0
  284. package/dist/connection/cdp-reconnection.js.map +1 -0
  285. package/dist/connection/page-session.d.ts +114 -0
  286. package/dist/connection/page-session.d.ts.map +1 -0
  287. package/dist/connection/page-session.js +237 -0
  288. package/dist/connection/page-session.js.map +1 -0
  289. package/dist/connection/session-client.d.ts +34 -0
  290. package/dist/connection/session-client.d.ts.map +1 -0
  291. package/dist/connection/session-client.js +129 -0
  292. package/dist/connection/session-client.js.map +1 -0
  293. package/dist/crawler.d.ts +9 -88
  294. package/dist/crawler.d.ts.map +1 -1
  295. package/dist/crawler.js +157 -8
  296. package/dist/crawler.js.map +1 -1
  297. package/dist/fingerprinting/fingerprint-injector.d.ts +24 -114
  298. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  299. package/dist/fingerprinting/fingerprint-injector.js +305 -611
  300. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  301. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts +1 -1
  302. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
  303. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +16 -14
  304. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
  305. package/dist/fingerprinting/fingerprint-overrides/index.d.ts +6 -2
  306. package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
  307. package/dist/fingerprinting/fingerprint-overrides/index.js +6 -2
  308. package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
  309. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts +1 -1
  310. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js +4 -4
  311. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js.map +1 -1
  312. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +4 -4
  313. package/dist/fingerprinting/fingerprint-overrides/navigator-override.d.ts +18 -0
  314. package/dist/fingerprinting/fingerprint-overrides/navigator-override.d.ts.map +1 -0
  315. package/dist/fingerprinting/fingerprint-overrides/navigator-override.js +136 -0
  316. package/dist/fingerprinting/fingerprint-overrides/navigator-override.js.map +1 -0
  317. package/dist/fingerprinting/fingerprint-overrides/override.d.ts +151 -0
  318. package/dist/fingerprinting/fingerprint-overrides/override.d.ts.map +1 -0
  319. package/dist/fingerprinting/fingerprint-overrides/override.js +14 -0
  320. package/dist/fingerprinting/fingerprint-overrides/override.js.map +1 -0
  321. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
  322. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +46 -15
  323. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
  324. package/dist/fingerprinting/fingerprint-overrides/registry.d.ts +43 -0
  325. package/dist/fingerprinting/fingerprint-overrides/registry.d.ts.map +1 -0
  326. package/dist/fingerprinting/fingerprint-overrides/registry.js +342 -0
  327. package/dist/fingerprinting/fingerprint-overrides/registry.js.map +1 -0
  328. package/dist/fingerprinting/fingerprint-overrides/screen-override.d.ts +16 -0
  329. package/dist/fingerprinting/fingerprint-overrides/screen-override.d.ts.map +1 -0
  330. package/dist/fingerprinting/fingerprint-overrides/screen-override.js +175 -0
  331. package/dist/fingerprinting/fingerprint-overrides/screen-override.js.map +1 -0
  332. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts +1 -1
  333. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js +4 -4
  334. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js.map +1 -1
  335. package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
  336. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +75 -9
  337. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
  338. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts +1 -1
  339. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts.map +1 -1
  340. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +34 -20
  341. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js.map +1 -1
  342. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
  343. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +28 -9
  344. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
  345. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +1 -1
  346. package/dist/fingerprinting/hardware-realism.d.ts +74 -0
  347. package/dist/fingerprinting/hardware-realism.d.ts.map +1 -0
  348. package/dist/fingerprinting/hardware-realism.js +155 -0
  349. package/dist/fingerprinting/hardware-realism.js.map +1 -0
  350. package/dist/fingerprinting/injection-planner.d.ts +133 -0
  351. package/dist/fingerprinting/injection-planner.d.ts.map +1 -0
  352. package/dist/fingerprinting/injection-planner.js +497 -0
  353. package/dist/fingerprinting/injection-planner.js.map +1 -0
  354. package/dist/fingerprinting/locale-resolver.d.ts +8 -1
  355. package/dist/fingerprinting/locale-resolver.d.ts.map +1 -1
  356. package/dist/fingerprinting/locale-resolver.js +26 -3
  357. package/dist/fingerprinting/locale-resolver.js.map +1 -1
  358. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts +4 -4
  359. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts.map +1 -1
  360. package/dist/fingerprinting/non-apify-fingerprint-generator.js +35 -69
  361. package/dist/fingerprinting/non-apify-fingerprint-generator.js.map +1 -1
  362. package/dist/fingerprinting/non-apify-profiles.json +10515 -8494
  363. package/dist/fingerprinting/os-consistency.d.ts +28 -0
  364. package/dist/fingerprinting/os-consistency.d.ts.map +1 -0
  365. package/dist/fingerprinting/os-consistency.js +45 -0
  366. package/dist/fingerprinting/os-consistency.js.map +1 -0
  367. package/dist/fingerprinting/profile-quality.d.ts +25 -0
  368. package/dist/fingerprinting/profile-quality.d.ts.map +1 -0
  369. package/dist/fingerprinting/profile-quality.js +310 -0
  370. package/dist/fingerprinting/profile-quality.js.map +1 -0
  371. package/dist/fingerprinting/profile-selector.d.ts +102 -0
  372. package/dist/fingerprinting/profile-selector.d.ts.map +1 -0
  373. package/dist/fingerprinting/profile-selector.js +168 -0
  374. package/dist/fingerprinting/profile-selector.js.map +1 -0
  375. package/dist/fingerprinting/ua-alignment.d.ts +83 -0
  376. package/dist/fingerprinting/ua-alignment.d.ts.map +1 -0
  377. package/dist/fingerprinting/ua-alignment.js +197 -0
  378. package/dist/fingerprinting/ua-alignment.js.map +1 -0
  379. package/dist/fingerprinting/ua-ch-brands.d.ts +88 -0
  380. package/dist/fingerprinting/ua-ch-brands.d.ts.map +1 -0
  381. package/dist/fingerprinting/ua-ch-brands.js +174 -0
  382. package/dist/fingerprinting/ua-ch-brands.js.map +1 -0
  383. package/dist/index.d.ts +5 -0
  384. package/dist/index.d.ts.map +1 -1
  385. package/dist/index.js +6 -0
  386. package/dist/index.js.map +1 -1
  387. package/dist/input/dropdown-selector.d.ts +90 -0
  388. package/dist/input/dropdown-selector.d.ts.map +1 -0
  389. package/dist/input/dropdown-selector.js +394 -0
  390. package/dist/input/dropdown-selector.js.map +1 -0
  391. package/dist/input/element-target.d.ts +152 -0
  392. package/dist/input/element-target.d.ts.map +1 -0
  393. package/dist/input/element-target.js +461 -0
  394. package/dist/input/element-target.js.map +1 -0
  395. package/dist/input/input-emulator.d.ts +85 -0
  396. package/dist/input/input-emulator.d.ts.map +1 -0
  397. package/dist/input/input-emulator.js +325 -0
  398. package/dist/input/input-emulator.js.map +1 -0
  399. package/dist/input/input-transport.d.ts +60 -0
  400. package/dist/input/input-transport.d.ts.map +1 -0
  401. package/dist/input/input-transport.js +28 -0
  402. package/dist/input/input-transport.js.map +1 -0
  403. package/dist/input/recording-transport.d.ts +32 -0
  404. package/dist/input/recording-transport.d.ts.map +1 -0
  405. package/dist/input/recording-transport.js +43 -0
  406. package/dist/input/recording-transport.js.map +1 -0
  407. package/dist/keyboard-layout.d.ts +2 -2
  408. package/dist/keyboard-layout.js +2 -2
  409. package/dist/navigation/page-navigation.d.ts +67 -0
  410. package/dist/navigation/page-navigation.d.ts.map +1 -0
  411. package/dist/navigation/page-navigation.js +122 -0
  412. package/dist/navigation/page-navigation.js.map +1 -0
  413. package/dist/network/network-watch.d.ts +110 -0
  414. package/dist/network/network-watch.d.ts.map +1 -0
  415. package/dist/network/network-watch.js +223 -0
  416. package/dist/network/network-watch.js.map +1 -0
  417. package/dist/page.d.ts +123 -104
  418. package/dist/page.d.ts.map +1 -1
  419. package/dist/page.js +348 -1129
  420. package/dist/page.js.map +1 -1
  421. package/dist/session/inject-hook.d.ts +24 -0
  422. package/dist/session/inject-hook.d.ts.map +1 -0
  423. package/dist/session/inject-hook.js +80 -0
  424. package/dist/session/inject-hook.js.map +1 -0
  425. package/dist/session/save.d.ts +21 -0
  426. package/dist/session/save.d.ts.map +1 -0
  427. package/dist/session/save.js +163 -0
  428. package/dist/session/save.js.map +1 -0
  429. package/dist/session/tar-data-dir.d.ts +18 -0
  430. package/dist/session/tar-data-dir.d.ts.map +1 -0
  431. package/dist/session/tar-data-dir.js +105 -0
  432. package/dist/session/tar-data-dir.js.map +1 -0
  433. package/dist/session/types.d.ts +80 -0
  434. package/dist/session/types.d.ts.map +1 -0
  435. package/dist/session/types.js +29 -0
  436. package/dist/session/types.js.map +1 -0
  437. package/dist/session-profile.d.ts +102 -0
  438. package/dist/session-profile.d.ts.map +1 -0
  439. package/dist/session-profile.js +163 -0
  440. package/dist/session-profile.js.map +1 -0
  441. package/dist/tsconfig.build.tsbuildinfo +1 -1
  442. package/package.json +15 -6
  443. package/dist/fingerprinting/custom-fingerprint-injector.d.ts +0 -87
  444. package/dist/fingerprinting/custom-fingerprint-injector.d.ts.map +0 -1
  445. package/dist/fingerprinting/custom-fingerprint-injector.js +0 -342
  446. package/dist/fingerprinting/custom-fingerprint-injector.js.map +0 -1
  447. package/dist/launcher-wrap.d.ts +0 -10
  448. package/dist/launcher-wrap.d.ts.map +0 -1
  449. package/dist/launcher-wrap.js +0 -11
  450. package/dist/launcher-wrap.js.map +0 -1
@@ -0,0 +1,480 @@
1
+ /**
2
+ * Per-GPU-family WebGL profile knowledge (M1–M7): the seven families the C++
3
+ * EmulatedConfig understands, the per-family constants table, and the
4
+ * renderer-string classifier. `deriveWebglFamilyProfile(renderer)` is the
5
+ * single seam `generateFingerprintConfig` consumes - config assembly never
6
+ * touches the table or the classification rules directly.
7
+ *
8
+ * Family ids must stay identical to the C++ `BaselineData::ForFamily(GpuFamily)`
9
+ * ids (third_party/blink/renderer/platform/graphics/emulated/baseline_data.cc).
10
+ */
11
+ const PLATFORM_GPU_TABLE = {
12
+ // Apple Silicon (M1/M2/M3/M4) via ANGLE Metal backend. Verified against
13
+ // 2026-05 harvest on real M3 Pro running Chromium 147.
14
+ apple_metal: {
15
+ maxTextureSize: 16384,
16
+ maxViewportDim: 16384,
17
+ maxDrawBuffers: 8,
18
+ maxSamples: 4,
19
+ max3dTextureSize: 16384,
20
+ maxArrayTextureLayers: 2048,
21
+ subpixelBits: 4,
22
+ maxTransformFeedbackInterleavedComponents: 64,
23
+ aliasedLineWidthRange: [1, 1],
24
+ aliasedPointSizeRange: [1, 511],
25
+ extensions: [
26
+ // TWO namespaces in one field, by design of the C++ consumers:
27
+ // GL_* -> the emulated GLES2 GL_EXTENSIONS string (context creation)
28
+ // rest -> the allowlist getSupportedExtensions() filters against
29
+ // The GL_ set is derived from what each WebGL extension Supported()
30
+ // check requires in blink/renderer/modules/webgl/*.cc; the WebGL set is
31
+ // the exact 36 real Chrome 151 reports on macOS 26.5.2.
32
+ 'GL_ANGLE_clip_cull_distance',
33
+ 'GL_ANGLE_compressed_texture_etc',
34
+ 'GL_ANGLE_instanced_arrays',
35
+ 'GL_ANGLE_multi_draw',
36
+ 'GL_ANGLE_polygon_mode',
37
+ 'GL_ANGLE_provoking_vertex',
38
+ 'GL_ANGLE_stencil_texturing',
39
+ 'GL_ANGLE_texture_compression_dxt1',
40
+ 'GL_ANGLE_texture_compression_dxt3',
41
+ 'GL_ANGLE_texture_compression_dxt5',
42
+ 'GL_ANGLE_translated_shader_source',
43
+ 'GL_EXT_blend_func_extended',
44
+ 'GL_EXT_clip_control',
45
+ 'GL_EXT_color_buffer_float',
46
+ 'GL_EXT_color_buffer_half_float',
47
+ 'GL_EXT_conservative_depth',
48
+ 'GL_EXT_depth_clamp',
49
+ 'GL_EXT_disjoint_timer_query',
50
+ 'GL_EXT_disjoint_timer_query_webgl2',
51
+ 'GL_EXT_float_blend',
52
+ 'GL_EXT_polygon_offset_clamp',
53
+ 'GL_EXT_render_snorm',
54
+ 'GL_EXT_texture_compression_bptc',
55
+ 'GL_EXT_texture_compression_dxt1',
56
+ 'GL_EXT_texture_compression_rgtc',
57
+ 'GL_EXT_texture_compression_s3tc',
58
+ 'GL_EXT_texture_compression_s3tc_srgb',
59
+ 'GL_EXT_texture_filter_anisotropic',
60
+ 'GL_EXT_texture_mirror_clamp_to_edge',
61
+ 'GL_EXT_texture_norm16',
62
+ 'GL_IMG_texture_compression_pvrtc',
63
+ 'GL_KHR_parallel_shader_compile',
64
+ 'GL_KHR_texture_compression_astc_hdr',
65
+ 'GL_KHR_texture_compression_astc_ldr',
66
+ 'GL_NV_shader_noperspective_interpolation',
67
+ 'GL_OES_compressed_ETC1_RGB8_texture',
68
+ 'GL_OES_draw_buffers_indexed',
69
+ 'GL_OES_packed_depth_stencil',
70
+ 'GL_OES_sample_variables',
71
+ 'GL_OES_shader_multisample_interpolation',
72
+ 'GL_OES_texture_float_linear',
73
+ 'GL_OES_texture_half_float',
74
+ 'GL_QCOM_render_shared_exponent',
75
+ 'GL_WEBGL_multi_draw',
76
+ 'EXT_clip_control',
77
+ 'EXT_color_buffer_float',
78
+ 'EXT_color_buffer_half_float',
79
+ 'EXT_conservative_depth',
80
+ 'EXT_depth_clamp',
81
+ 'EXT_disjoint_timer_query_webgl2',
82
+ 'EXT_float_blend',
83
+ 'EXT_polygon_offset_clamp',
84
+ 'EXT_render_snorm',
85
+ 'EXT_texture_compression_bptc',
86
+ 'EXT_texture_compression_rgtc',
87
+ 'EXT_texture_filter_anisotropic',
88
+ 'EXT_texture_mirror_clamp_to_edge',
89
+ 'EXT_texture_norm16',
90
+ 'KHR_parallel_shader_compile',
91
+ 'NV_shader_noperspective_interpolation',
92
+ 'OES_draw_buffers_indexed',
93
+ 'OES_sample_variables',
94
+ 'OES_shader_multisample_interpolation',
95
+ 'OES_texture_float_linear',
96
+ 'WEBGL_blend_func_extended',
97
+ 'WEBGL_clip_cull_distance',
98
+ 'WEBGL_compressed_texture_astc',
99
+ 'WEBGL_compressed_texture_etc',
100
+ 'WEBGL_compressed_texture_etc1',
101
+ 'WEBGL_compressed_texture_pvrtc',
102
+ 'WEBGL_compressed_texture_s3tc',
103
+ 'WEBGL_compressed_texture_s3tc_srgb',
104
+ 'WEBGL_debug_renderer_info',
105
+ 'WEBGL_debug_shaders',
106
+ 'WEBGL_lose_context',
107
+ 'WEBGL_multi_draw',
108
+ 'WEBGL_polygon_mode',
109
+ 'WEBGL_provoking_vertex',
110
+ 'WEBGL_render_shared_exponent',
111
+ 'WEBGL_stencil_texturing',
112
+ ],
113
+ },
114
+ // Linux + Mesa AMD radeonsi (radeon Vega/RDNA on a recent kernel + Mesa).
115
+ // Calibration: ANGLE OpenGL backend reports the underlying GLES strings.
116
+ linux_mesa_amd: {
117
+ maxTextureSize: 16384,
118
+ maxViewportDim: 16384,
119
+ maxDrawBuffers: 8,
120
+ maxSamples: 8,
121
+ max3dTextureSize: 16384,
122
+ maxArrayTextureLayers: 2048,
123
+ subpixelBits: 8, // Mesa typically advertises 8-bit subpixel precision
124
+ maxTransformFeedbackInterleavedComponents: 128,
125
+ aliasedLineWidthRange: [1, 16],
126
+ aliasedPointSizeRange: [1, 2047],
127
+ extensions: [
128
+ 'GL_OES_packed_depth_stencil',
129
+ 'GL_OES_texture_float',
130
+ 'GL_OES_texture_float_linear',
131
+ 'GL_OES_texture_half_float',
132
+ 'GL_OES_texture_half_float_linear',
133
+ 'GL_OES_element_index_uint',
134
+ 'GL_OES_vertex_array_object',
135
+ 'GL_OES_standard_derivatives',
136
+ 'GL_OES_fbo_render_mipmap',
137
+ 'GL_EXT_blend_minmax',
138
+ 'GL_EXT_color_buffer_float',
139
+ 'GL_EXT_color_buffer_half_float',
140
+ 'GL_EXT_disjoint_timer_query',
141
+ 'GL_EXT_float_blend',
142
+ 'GL_EXT_frag_depth',
143
+ 'GL_EXT_shader_texture_lod',
144
+ 'GL_EXT_sRGB',
145
+ 'GL_EXT_texture_compression_bptc',
146
+ 'GL_EXT_texture_compression_rgtc',
147
+ 'GL_EXT_texture_filter_anisotropic',
148
+ 'GL_KHR_parallel_shader_compile',
149
+ 'GL_WEBGL_color_buffer_float',
150
+ 'GL_WEBGL_compressed_texture_s3tc',
151
+ 'GL_WEBGL_compressed_texture_s3tc_srgb',
152
+ 'GL_WEBGL_debug_renderer_info',
153
+ 'GL_WEBGL_debug_shaders',
154
+ 'GL_WEBGL_depth_texture',
155
+ 'GL_WEBGL_draw_buffers',
156
+ 'GL_WEBGL_lose_context',
157
+ 'GL_WEBGL_multi_draw',
158
+ ],
159
+ },
160
+ // Linux + Mesa NVIDIA (open-source nouveau driver). Less common than the
161
+ // proprietary driver but a real population (Debian default w/o nonfree).
162
+ linux_mesa_nvidia: {
163
+ maxTextureSize: 16384,
164
+ maxViewportDim: 16384,
165
+ maxDrawBuffers: 8,
166
+ maxSamples: 8,
167
+ max3dTextureSize: 16384,
168
+ maxArrayTextureLayers: 2048,
169
+ subpixelBits: 8,
170
+ maxTransformFeedbackInterleavedComponents: 128,
171
+ aliasedLineWidthRange: [1, 10.4375],
172
+ aliasedPointSizeRange: [1, 63.375],
173
+ extensions: [
174
+ 'GL_OES_packed_depth_stencil',
175
+ 'GL_OES_texture_float',
176
+ 'GL_OES_texture_float_linear',
177
+ 'GL_OES_texture_half_float',
178
+ 'GL_OES_texture_half_float_linear',
179
+ 'GL_OES_element_index_uint',
180
+ 'GL_OES_vertex_array_object',
181
+ 'GL_OES_standard_derivatives',
182
+ 'GL_OES_fbo_render_mipmap',
183
+ 'GL_EXT_blend_minmax',
184
+ 'GL_EXT_color_buffer_float',
185
+ 'GL_EXT_color_buffer_half_float',
186
+ 'GL_EXT_disjoint_timer_query',
187
+ 'GL_EXT_float_blend',
188
+ 'GL_EXT_frag_depth',
189
+ 'GL_EXT_shader_texture_lod',
190
+ 'GL_EXT_sRGB',
191
+ 'GL_EXT_texture_compression_bptc',
192
+ 'GL_EXT_texture_compression_rgtc',
193
+ 'GL_EXT_texture_filter_anisotropic',
194
+ 'GL_KHR_parallel_shader_compile',
195
+ 'GL_WEBGL_color_buffer_float',
196
+ 'GL_WEBGL_compressed_texture_s3tc',
197
+ 'GL_WEBGL_compressed_texture_s3tc_srgb',
198
+ 'GL_WEBGL_debug_renderer_info',
199
+ 'GL_WEBGL_debug_shaders',
200
+ 'GL_WEBGL_depth_texture',
201
+ 'GL_WEBGL_draw_buffers',
202
+ 'GL_WEBGL_lose_context',
203
+ 'GL_WEBGL_multi_draw',
204
+ ],
205
+ },
206
+ // Linux + Mesa Intel (most common Linux laptop config - UHD/Iris/Iris Xe).
207
+ linux_mesa_intel: {
208
+ maxTextureSize: 16384,
209
+ maxViewportDim: 16384,
210
+ maxDrawBuffers: 8,
211
+ maxSamples: 8, // Intel UHD typically 8; older HD 4000 family = 4
212
+ max3dTextureSize: 2048, // Intel HD class iGPU is limited here vs discrete
213
+ maxArrayTextureLayers: 2048,
214
+ subpixelBits: 8,
215
+ maxTransformFeedbackInterleavedComponents: 128,
216
+ aliasedLineWidthRange: [1, 7.375],
217
+ aliasedPointSizeRange: [1, 255],
218
+ extensions: [
219
+ 'GL_OES_packed_depth_stencil',
220
+ 'GL_OES_texture_float',
221
+ 'GL_OES_texture_float_linear',
222
+ 'GL_OES_texture_half_float',
223
+ 'GL_OES_texture_half_float_linear',
224
+ 'GL_OES_element_index_uint',
225
+ 'GL_OES_vertex_array_object',
226
+ 'GL_OES_standard_derivatives',
227
+ 'GL_OES_fbo_render_mipmap',
228
+ 'GL_EXT_blend_minmax',
229
+ 'GL_EXT_color_buffer_float',
230
+ 'GL_EXT_color_buffer_half_float',
231
+ 'GL_EXT_disjoint_timer_query',
232
+ 'GL_EXT_float_blend',
233
+ 'GL_EXT_frag_depth',
234
+ 'GL_EXT_shader_texture_lod',
235
+ 'GL_EXT_sRGB',
236
+ 'GL_EXT_texture_compression_bptc',
237
+ 'GL_EXT_texture_compression_rgtc',
238
+ 'GL_EXT_texture_filter_anisotropic',
239
+ 'GL_KHR_parallel_shader_compile',
240
+ 'GL_WEBGL_color_buffer_float',
241
+ 'GL_WEBGL_compressed_texture_s3tc',
242
+ 'GL_WEBGL_compressed_texture_s3tc_srgb',
243
+ 'GL_WEBGL_debug_renderer_info',
244
+ 'GL_WEBGL_debug_shaders',
245
+ 'GL_WEBGL_depth_texture',
246
+ 'GL_WEBGL_draw_buffers',
247
+ 'GL_WEBGL_lose_context',
248
+ 'GL_WEBGL_multi_draw',
249
+ ],
250
+ },
251
+ // Windows + D3D11 NVIDIA - calibrated against a real GeForce RTX session.
252
+ // Notable D3D quirks: ALIASED_LINE_WIDTH_RANGE = [1, 7.375], MAX_SAMPLES = 8.
253
+ windows_d3d_nvidia: {
254
+ maxTextureSize: 16384,
255
+ maxViewportDim: 16384,
256
+ maxDrawBuffers: 8,
257
+ maxSamples: 8,
258
+ max3dTextureSize: 2048,
259
+ maxArrayTextureLayers: 2048,
260
+ subpixelBits: 4,
261
+ maxTransformFeedbackInterleavedComponents: 128,
262
+ aliasedLineWidthRange: [1, 7.375],
263
+ aliasedPointSizeRange: [1, 1023],
264
+ extensions: [
265
+ 'GL_OES_packed_depth_stencil',
266
+ 'GL_OES_texture_float',
267
+ 'GL_OES_texture_float_linear',
268
+ 'GL_OES_texture_half_float',
269
+ 'GL_OES_texture_half_float_linear',
270
+ 'GL_OES_element_index_uint',
271
+ 'GL_OES_vertex_array_object',
272
+ 'GL_OES_standard_derivatives',
273
+ 'GL_OES_fbo_render_mipmap',
274
+ 'GL_EXT_blend_minmax',
275
+ 'GL_EXT_color_buffer_float',
276
+ 'GL_EXT_color_buffer_half_float',
277
+ 'GL_EXT_disjoint_timer_query',
278
+ 'GL_EXT_float_blend',
279
+ 'GL_EXT_frag_depth',
280
+ 'GL_EXT_shader_texture_lod',
281
+ 'GL_EXT_sRGB',
282
+ 'GL_EXT_texture_compression_bptc',
283
+ 'GL_EXT_texture_compression_rgtc',
284
+ 'GL_EXT_texture_filter_anisotropic',
285
+ 'GL_KHR_parallel_shader_compile',
286
+ 'GL_WEBGL_color_buffer_float',
287
+ 'GL_WEBGL_compressed_texture_s3tc',
288
+ 'GL_WEBGL_compressed_texture_s3tc_srgb',
289
+ 'GL_WEBGL_debug_renderer_info',
290
+ 'GL_WEBGL_debug_shaders',
291
+ 'GL_WEBGL_depth_texture',
292
+ 'GL_WEBGL_draw_buffers',
293
+ 'GL_WEBGL_lose_context',
294
+ 'GL_WEBGL_multi_draw',
295
+ ],
296
+ },
297
+ // Windows + D3D11 AMD Radeon - calibrated against a real Radeon RX session.
298
+ windows_d3d_amd: {
299
+ maxTextureSize: 16384,
300
+ maxViewportDim: 16384,
301
+ maxDrawBuffers: 8,
302
+ maxSamples: 8,
303
+ max3dTextureSize: 2048,
304
+ maxArrayTextureLayers: 2048,
305
+ subpixelBits: 4,
306
+ maxTransformFeedbackInterleavedComponents: 128,
307
+ aliasedLineWidthRange: [1, 7.375],
308
+ aliasedPointSizeRange: [1, 1023],
309
+ extensions: [
310
+ 'GL_OES_packed_depth_stencil',
311
+ 'GL_OES_texture_float',
312
+ 'GL_OES_texture_float_linear',
313
+ 'GL_OES_texture_half_float',
314
+ 'GL_OES_texture_half_float_linear',
315
+ 'GL_OES_element_index_uint',
316
+ 'GL_OES_vertex_array_object',
317
+ 'GL_OES_standard_derivatives',
318
+ 'GL_OES_fbo_render_mipmap',
319
+ 'GL_EXT_blend_minmax',
320
+ 'GL_EXT_color_buffer_float',
321
+ 'GL_EXT_color_buffer_half_float',
322
+ 'GL_EXT_disjoint_timer_query',
323
+ 'GL_EXT_float_blend',
324
+ 'GL_EXT_frag_depth',
325
+ 'GL_EXT_shader_texture_lod',
326
+ 'GL_EXT_sRGB',
327
+ 'GL_EXT_texture_compression_bptc',
328
+ 'GL_EXT_texture_compression_rgtc',
329
+ 'GL_EXT_texture_filter_anisotropic',
330
+ 'GL_KHR_parallel_shader_compile',
331
+ 'GL_WEBGL_color_buffer_float',
332
+ 'GL_WEBGL_compressed_texture_s3tc',
333
+ 'GL_WEBGL_compressed_texture_s3tc_srgb',
334
+ 'GL_WEBGL_debug_renderer_info',
335
+ 'GL_WEBGL_debug_shaders',
336
+ 'GL_WEBGL_depth_texture',
337
+ 'GL_WEBGL_draw_buffers',
338
+ 'GL_WEBGL_lose_context',
339
+ 'GL_WEBGL_multi_draw',
340
+ ],
341
+ },
342
+ // Windows + D3D11 Intel - UHD 620/630/770 + Iris Xe. Notably lower
343
+ // max3dTextureSize on older HD class. Iris Xe in practice matches modern
344
+ // limits; we use the conservative iGPU values here.
345
+ windows_d3d_intel: {
346
+ maxTextureSize: 16384,
347
+ maxViewportDim: 16384,
348
+ maxDrawBuffers: 8,
349
+ maxSamples: 8,
350
+ max3dTextureSize: 2048,
351
+ maxArrayTextureLayers: 2048,
352
+ subpixelBits: 4,
353
+ maxTransformFeedbackInterleavedComponents: 64,
354
+ aliasedLineWidthRange: [1, 7.375],
355
+ aliasedPointSizeRange: [1, 255],
356
+ extensions: [
357
+ 'GL_OES_packed_depth_stencil',
358
+ 'GL_OES_texture_float',
359
+ 'GL_OES_texture_float_linear',
360
+ 'GL_OES_texture_half_float',
361
+ 'GL_OES_texture_half_float_linear',
362
+ 'GL_OES_element_index_uint',
363
+ 'GL_OES_vertex_array_object',
364
+ 'GL_OES_standard_derivatives',
365
+ 'GL_OES_fbo_render_mipmap',
366
+ 'GL_EXT_blend_minmax',
367
+ 'GL_EXT_color_buffer_float',
368
+ 'GL_EXT_color_buffer_half_float',
369
+ 'GL_EXT_disjoint_timer_query',
370
+ 'GL_EXT_float_blend',
371
+ 'GL_EXT_frag_depth',
372
+ 'GL_EXT_shader_texture_lod',
373
+ 'GL_EXT_sRGB',
374
+ 'GL_EXT_texture_compression_bptc',
375
+ 'GL_EXT_texture_compression_rgtc',
376
+ 'GL_EXT_texture_filter_anisotropic',
377
+ 'GL_KHR_parallel_shader_compile',
378
+ 'GL_WEBGL_color_buffer_float',
379
+ 'GL_WEBGL_compressed_texture_s3tc',
380
+ 'GL_WEBGL_compressed_texture_s3tc_srgb',
381
+ 'GL_WEBGL_debug_renderer_info',
382
+ 'GL_WEBGL_debug_shaders',
383
+ 'GL_WEBGL_depth_texture',
384
+ 'GL_WEBGL_draw_buffers',
385
+ 'GL_WEBGL_lose_context',
386
+ 'GL_WEBGL_multi_draw',
387
+ ],
388
+ },
389
+ };
390
+ /**
391
+ * Classify the renderer string emitted by fingerprint-generator into one of the
392
+ * seven GPU families known to the C++ EmulatedConfig. Returns undefined when
393
+ * the renderer doesn't match a known family (e.g. SwiftShader / llvmpipe ANGLE
394
+ * fallback) - the caller should not write a familyHint in that case so the
395
+ * binary falls through to its current Mac-realistic defaults.
396
+ *
397
+ * The match order matters: more specific patterns (D3D11 vs OpenGL ES) must
398
+ * come before broader ones (vendor-only) so e.g. "ANGLE (NVIDIA, ... Direct3D11"
399
+ * is classified as windows_d3d_nvidia rather than linux_mesa_nvidia.
400
+ */
401
+ export function classifyWebglRenderer(renderer) {
402
+ const r = renderer.toLowerCase();
403
+ // Windows + D3D11 backend - distinctive substring "direct3d11" or " d3d11"
404
+ // (ANGLE renderer strings on Windows always contain Direct3D11).
405
+ if (r.includes('direct3d11') || r.includes('d3d11')) {
406
+ if (r.includes('nvidia'))
407
+ return 'windows_d3d_nvidia';
408
+ if (r.includes('amd') || r.includes('radeon') || r.includes('ati '))
409
+ return 'windows_d3d_amd';
410
+ if (r.includes('intel'))
411
+ return 'windows_d3d_intel';
412
+ // Unknown vendor on D3D11 - fall through to default
413
+ return undefined;
414
+ }
415
+ // Apple Metal - "ANGLE Metal Renderer:" or "Apple M[0-9]"
416
+ if (r.includes('apple metal') || r.includes('angle metal') || /apple m[0-9]/i.test(r) || r.includes('apple silicon')) {
417
+ return 'apple_metal';
418
+ }
419
+ // Linux + Mesa - distinctive substrings: "mesa ", "(radeonsi", "(nouveau"
420
+ // or "OpenGL ES" or "OpenGL 4." outside of an Apple/D3D context.
421
+ if (r.includes('mesa') || r.includes('radeonsi') || r.includes('nouveau') || r.includes('llvmpipe')) {
422
+ if (r.includes('nvidia') || r.includes('nouveau'))
423
+ return 'linux_mesa_nvidia';
424
+ if (r.includes('amd') || r.includes('radeon') || r.includes('radeonsi') || r.includes('ati '))
425
+ return 'linux_mesa_amd';
426
+ if (r.includes('intel'))
427
+ return 'linux_mesa_intel';
428
+ return undefined;
429
+ }
430
+ // Bare "OpenGL ES" with a vendor - common Mesa shape that doesn't include
431
+ // the word "mesa" in the renderer string (e.g. "ANGLE (NVIDIA, ..., OpenGL ES 3.2)").
432
+ if (r.includes('opengl es') || r.includes(', opengl 4.')) {
433
+ if (r.includes('nvidia'))
434
+ return 'linux_mesa_nvidia';
435
+ if (r.includes('amd') || r.includes('radeon'))
436
+ return 'linux_mesa_amd';
437
+ if (r.includes('intel'))
438
+ return 'linux_mesa_intel';
439
+ }
440
+ return undefined;
441
+ }
442
+ /**
443
+ * Default GPU family for a navigator.platform when the renderer string itself
444
+ * didn't classify (SwiftShader / llvmpipe / exotic strings). Picking the
445
+ * platform's most common iGPU family keeps the emulated WebGL *parameters*
446
+ * (max_samples, aliased_*_range, extensions, …) coherent with the OS instead
447
+ * of leaking Apple-Silicon param values onto a Linux/Windows profile.
448
+ *
449
+ * Returns undefined for an unknown/absent platform so the caller preserves the
450
+ * historical apple_metal fallback (back-compat for callers that don't thread a
451
+ * platform through).
452
+ */
453
+ function defaultFamilyForPlatform(platform) {
454
+ if (!platform)
455
+ return undefined;
456
+ if (platform === 'Linux x86_64' || /linux/i.test(platform))
457
+ return 'linux_mesa_intel';
458
+ if (platform === 'Win32' || /win/i.test(platform))
459
+ return 'windows_d3d_intel';
460
+ if (platform === 'MacIntel' || /mac/i.test(platform))
461
+ return 'apple_metal';
462
+ return undefined;
463
+ }
464
+ /**
465
+ * Resolve the WebglFamilyProfile to use for a given renderer string.
466
+ *
467
+ * Priority: classify the renderer → else a platform-appropriate default family
468
+ * (so emulated WebGL params stay OS-coherent) → else the apple_metal profile
469
+ * (the C++ EmulatedConfig's historical hardcoded default) when neither the
470
+ * renderer nor the platform is known.
471
+ *
472
+ * Threading `platform` is what stops a Linux/Windows profile whose renderer the
473
+ * classifier missed from inheriting Apple-Silicon WebGL parameters.
474
+ */
475
+ export function deriveWebglFamilyProfile(renderer, platform) {
476
+ const family = classifyWebglRenderer(renderer) ?? defaultFamilyForPlatform(platform);
477
+ const profile = family ? PLATFORM_GPU_TABLE[family] : PLATFORM_GPU_TABLE.apple_metal;
478
+ return { family, profile };
479
+ }
480
+ //# sourceMappingURL=gpu-family-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu-family-profiles.js","sourceRoot":"","sources":["../../src/browser-process/gpu-family-profiles.ts"],"names":[],"mappings":"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"}