@browsercore/testing 0.1.3 → 0.2.1

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 (201) hide show
  1. package/README.md +5 -0
  2. package/bin/coverage-md.mjs +99 -0
  3. package/captures/DIVERGENCE_REPORT.md +325 -0
  4. package/captures/IMPERSIONATION_GAPS_REPORT.md +367 -0
  5. package/captures/README.md +56 -0
  6. package/captures/REVIEW_FINDINGS.md +71 -0
  7. package/captures/_probe/analyze.py +67 -0
  8. package/captures/_probe/capture_bytes.py +127 -0
  9. package/captures/_probe/chrome131_determinism.py +32 -0
  10. package/captures/_probe/diagnose_capture.py +59 -0
  11. package/captures/_probe/golden_analysis.py +91 -0
  12. package/captures/_probe/inspect_golden.py +55 -0
  13. package/captures/_probe/inspect_sv.py +16 -0
  14. package/captures/_probe/make_golden.py +170 -0
  15. package/captures/_probe/output/chrome100.json +219 -0
  16. package/captures/_probe/output/chrome101.json +219 -0
  17. package/captures/_probe/output/chrome104.json +219 -0
  18. package/captures/_probe/output/chrome107.json +220 -0
  19. package/captures/_probe/output/chrome110.json +220 -0
  20. package/captures/_probe/output/chrome116.json +220 -0
  21. package/captures/_probe/output/chrome119.json +219 -0
  22. package/captures/_probe/output/chrome120.json +219 -0
  23. package/captures/_probe/output/chrome123.json +223 -0
  24. package/captures/_probe/output/chrome124.json +224 -0
  25. package/captures/_probe/output/chrome131.json +224 -0
  26. package/captures/_probe/output/chrome131_fresh.json +224 -0
  27. package/captures/_probe/output/chrome133a.json +224 -0
  28. package/captures/_probe/output/chrome136.json +224 -0
  29. package/captures/_probe/output/chrome99.json +219 -0
  30. package/captures/_probe/output/edge101.json +219 -0
  31. package/captures/_probe/output/edge99.json +219 -0
  32. package/captures/_probe/output/firefox133.json +227 -0
  33. package/captures/_probe/output/firefox135.json +230 -0
  34. package/captures/_probe/output/safari155.json +210 -0
  35. package/captures/_probe/output/safari170.json +214 -0
  36. package/captures/_probe/output/safari170_fresh.json +214 -0
  37. package/captures/_probe/output/safari180.json +216 -0
  38. package/captures/_probe/output/safari180_ios.json +216 -0
  39. package/captures/_probe/output/safari184.json +215 -0
  40. package/captures/_probe/output/safari260.json +211 -0
  41. package/captures/_probe/output/summary.json +2520 -0
  42. package/captures/_probe/parse_existing_settings.py +15 -0
  43. package/captures/_probe/peetprint.py +39 -0
  44. package/captures/_probe/probe.py +137 -0
  45. package/captures/_probe/raw_bytes/chrome-131_client_hello.bin +0 -0
  46. package/captures/_probe/raw_bytes/chrome-131_client_hello.hex +32 -0
  47. package/captures/_probe/raw_bytes/firefox-133_client_hello.bin +0 -0
  48. package/captures/_probe/raw_bytes/firefox-133_client_hello.hex +32 -0
  49. package/captures/_probe/raw_bytes/safari-17_client_hello.bin +0 -0
  50. package/captures/_probe/raw_bytes/safari-17_client_hello.hex +32 -0
  51. package/captures/_probe/relay_capture.py +137 -0
  52. package/captures/_probe/socks_capture.py +138 -0
  53. package/captures/_probe/validate_fresh.py +66 -0
  54. package/captures/_probe/validate_golden.py +97 -0
  55. package/captures/_probe/verify_capture.py +68 -0
  56. package/captures/chrome-131/http2/settings.bin +0 -0
  57. package/captures/chrome-131/http2/settings.meta.json +9 -0
  58. package/captures/chrome-131/oracle_capture.reference.json +224 -0
  59. package/captures/chrome-131/tls/client_hello.bin +0 -0
  60. package/captures/chrome-131/tls/client_hello.meta.json +20 -0
  61. package/captures/chrome-140/http2/settings.bin +0 -0
  62. package/captures/chrome-140/http2/settings.meta.json +9 -0
  63. package/captures/chrome-140/tls/client_hello.bin +0 -0
  64. package/captures/chrome-140/tls/client_hello.meta.json +12 -0
  65. package/captures/firefox-128/tls/client_hello.bin +0 -0
  66. package/captures/firefox-128/tls/client_hello.meta.json +12 -0
  67. package/captures/firefox-133/http2/settings.bin +0 -0
  68. package/captures/firefox-133/http2/settings.meta.json +9 -0
  69. package/captures/firefox-133/oracle_capture.reference.json +227 -0
  70. package/captures/firefox-133/tls/client_hello.bin +0 -0
  71. package/captures/firefox-133/tls/client_hello.meta.json +20 -0
  72. package/captures/safari-17/http2/settings.bin +0 -0
  73. package/captures/safari-17/http2/settings.meta.json +9 -0
  74. package/captures/safari-17/oracle_capture.reference.json +214 -0
  75. package/captures/safari-17/tls/client_hello.bin +0 -0
  76. package/captures/safari-17/tls/client_hello.meta.json +20 -0
  77. package/captures/test-malformed/http2/settings.bin +0 -0
  78. package/captures/test-malformed/http2/settings.meta.json +9 -0
  79. package/captures/test-no-extensions/tls/client_hello.bin +0 -0
  80. package/captures/test-no-extensions/tls/client_hello.meta.json +9 -0
  81. package/captures/test-wrong-type/http2/settings.bin +0 -0
  82. package/captures/test-wrong-type/http2/settings.meta.json +9 -0
  83. package/dist/bench/bench.d.ts +24 -6
  84. package/dist/bench/bench.d.ts.map +1 -1
  85. package/dist/bench/bench.js +110 -10
  86. package/dist/bench/bench.js.map +1 -1
  87. package/dist/captures/manifest.d.ts.map +1 -1
  88. package/dist/captures/manifest.js +7 -7
  89. package/dist/captures/manifest.js.map +1 -1
  90. package/dist/categories/compression.d.ts +6 -4
  91. package/dist/categories/compression.d.ts.map +1 -1
  92. package/dist/categories/compression.js +56 -6
  93. package/dist/categories/compression.js.map +1 -1
  94. package/dist/categories/cookies.d.ts +3 -2
  95. package/dist/categories/cookies.d.ts.map +1 -1
  96. package/dist/categories/cookies.js +216 -11
  97. package/dist/categories/cookies.js.map +1 -1
  98. package/dist/categories/redirects.d.ts +8 -2
  99. package/dist/categories/redirects.d.ts.map +1 -1
  100. package/dist/categories/redirects.js +97 -12
  101. package/dist/categories/redirects.js.map +1 -1
  102. package/dist/e2e/cert-gen.d.ts +31 -0
  103. package/dist/e2e/cert-gen.d.ts.map +1 -0
  104. package/dist/e2e/cert-gen.js +158 -0
  105. package/dist/e2e/cert-gen.js.map +1 -0
  106. package/dist/e2e/parse-clienthello.d.ts +177 -0
  107. package/dist/e2e/parse-clienthello.d.ts.map +1 -0
  108. package/dist/e2e/parse-clienthello.js +343 -0
  109. package/dist/e2e/parse-clienthello.js.map +1 -0
  110. package/dist/e2e/sink-server.d.ts +109 -0
  111. package/dist/e2e/sink-server.d.ts.map +1 -0
  112. package/dist/e2e/sink-server.js +292 -0
  113. package/dist/e2e/sink-server.js.map +1 -0
  114. package/dist/e2e/traffic-server.d.ts +48 -0
  115. package/dist/e2e/traffic-server.d.ts.map +1 -0
  116. package/dist/e2e/traffic-server.js +162 -0
  117. package/dist/e2e/traffic-server.js.map +1 -0
  118. package/dist/errors.d.ts.map +1 -1
  119. package/dist/errors.js.map +1 -1
  120. package/dist/fingerprint/index.d.ts +5 -2
  121. package/dist/fingerprint/index.d.ts.map +1 -1
  122. package/dist/fingerprint/index.js +3 -2
  123. package/dist/fingerprint/index.js.map +1 -1
  124. package/dist/fingerprint/ja3.d.ts.map +1 -1
  125. package/dist/fingerprint/ja3.js +33 -4
  126. package/dist/fingerprint/ja3.js.map +1 -1
  127. package/dist/fingerprint/ja4-errors.d.ts +17 -0
  128. package/dist/fingerprint/ja4-errors.d.ts.map +1 -0
  129. package/dist/fingerprint/ja4-errors.js +20 -0
  130. package/dist/fingerprint/ja4-errors.js.map +1 -0
  131. package/dist/fingerprint/ja4-reader.d.ts +44 -0
  132. package/dist/fingerprint/ja4-reader.d.ts.map +1 -0
  133. package/dist/fingerprint/ja4-reader.js +112 -0
  134. package/dist/fingerprint/ja4-reader.js.map +1 -0
  135. package/dist/fingerprint/ja4.d.ts +11 -43
  136. package/dist/fingerprint/ja4.d.ts.map +1 -1
  137. package/dist/fingerprint/ja4.js +54 -141
  138. package/dist/fingerprint/ja4.js.map +1 -1
  139. package/dist/fingerprint/ja4h.d.ts +46 -0
  140. package/dist/fingerprint/ja4h.d.ts.map +1 -0
  141. package/dist/fingerprint/ja4h.js +50 -0
  142. package/dist/fingerprint/ja4h.js.map +1 -0
  143. package/dist/golden/golden.d.ts +15 -1
  144. package/dist/golden/golden.d.ts.map +1 -1
  145. package/dist/golden/golden.js +42 -28
  146. package/dist/golden/golden.js.map +1 -1
  147. package/dist/index.d.ts +21 -1
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +36 -1
  150. package/dist/index.js.map +1 -1
  151. package/dist/node-provider.d.ts +42 -0
  152. package/dist/node-provider.d.ts.map +1 -0
  153. package/dist/node-provider.js +53 -0
  154. package/dist/node-provider.js.map +1 -0
  155. package/dist/provider.d.ts +52 -0
  156. package/dist/provider.d.ts.map +1 -0
  157. package/dist/provider.js +14 -0
  158. package/dist/provider.js.map +1 -0
  159. package/dist/reference/browser-provider.d.ts +33 -0
  160. package/dist/reference/browser-provider.d.ts.map +1 -0
  161. package/dist/reference/browser-provider.js +61 -0
  162. package/dist/reference/browser-provider.js.map +1 -0
  163. package/dist/reference/curl-provider.d.ts +40 -0
  164. package/dist/reference/curl-provider.d.ts.map +1 -0
  165. package/dist/reference/curl-provider.js +96 -0
  166. package/dist/reference/curl-provider.js.map +1 -0
  167. package/dist/reference/dump.d.ts +42 -0
  168. package/dist/reference/dump.d.ts.map +1 -0
  169. package/dist/reference/dump.js +102 -0
  170. package/dist/reference/dump.js.map +1 -0
  171. package/dist/reference/node-crypto-provider.d.ts +31 -0
  172. package/dist/reference/node-crypto-provider.d.ts.map +1 -0
  173. package/dist/reference/node-crypto-provider.js +199 -0
  174. package/dist/reference/node-crypto-provider.js.map +1 -0
  175. package/dist/reference/node-reference.d.ts.map +1 -1
  176. package/dist/reference/node-reference.js +2 -5
  177. package/dist/reference/node-reference.js.map +1 -1
  178. package/dist/reference/reference-errors.d.ts +36 -0
  179. package/dist/reference/reference-errors.d.ts.map +1 -0
  180. package/dist/reference/reference-errors.js +43 -0
  181. package/dist/reference/reference-errors.js.map +1 -0
  182. package/dist/reference/reference-types.d.ts +33 -0
  183. package/dist/reference/reference-types.d.ts.map +1 -0
  184. package/dist/reference/reference-types.js +9 -0
  185. package/dist/reference/reference-types.js.map +1 -0
  186. package/dist/reference/reference.d.ts +14 -77
  187. package/dist/reference/reference.d.ts.map +1 -1
  188. package/dist/reference/reference.js +43 -207
  189. package/dist/reference/reference.js.map +1 -1
  190. package/dist/rfc/rfcTests.d.ts +46 -8
  191. package/dist/rfc/rfcTests.d.ts.map +1 -1
  192. package/dist/rfc/rfcTests.js +203 -16
  193. package/dist/rfc/rfcTests.js.map +1 -1
  194. package/dist/types.d.ts +2 -1
  195. package/dist/types.d.ts.map +1 -1
  196. package/dist/types.js.map +1 -1
  197. package/dist/utils.d.ts +3 -0
  198. package/dist/utils.d.ts.map +1 -1
  199. package/dist/utils.js +11 -5
  200. package/dist/utils.js.map +1 -1
  201. package/package.json +68 -55
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-crypto-provider.js","sourceRoot":"","sources":["../../src/reference/node-crypto-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-reference.d.ts","sourceRoot":"","sources":["../../src/reference/node-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAA4B,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAqBjF,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAGhD,iFAAiF;AACjF,eAAO,MAAM,UAAU;IACnB,iEAAiE;4BACpD,UAAU,KAAG,UAAU;IAIpC,iEAAiE;4BACpD,UAAU,KAAG,UAAU;IAIpC;;;OAGG;+BAEY,aAAa,QAClB,UAAU,OACX,UAAU,QACT,UAAU,UACR,MAAM,KACf,UAAU;IAOb,qDAAqD;+BACrC,aAAa,OAAO,UAAU,QAAQ,UAAU,KAAG,UAAU;IAK7E,6DAA6D;mCACzC,MAAM,KAAG,UAAU;IAIvC,yDAAyD;uCACjC,aAAa,KAAG,MAAM;CAGxC,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,OAAO;IAChB,0EAA0E;4BAEhE,MAAM,QACN,OAAO,KACd,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC;CAY1D,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,QAAQ;0BACN,UAAU,KAAG,UAAU;4BAGrB,UAAU,KAAG,UAAU;6BAGtB,UAAU,KAAG,UAAU;6BAGvB,UAAU,KAAG,UAAU;oCAGhB,UAAU,KAAG,UAAU;sCAGrB,UAAU,KAAG,UAAU;IAG9C,8EAA8E;4BACzD,OAAO,aAAa;CAGnC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;IACjB;;;;OAIG;sDAES,MAAM,OACT,MAAM,WACF,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KACrC,UAAU;CAQP,CAAC;AAEX,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAKzC;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GACpB;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,cAAc,CAUhF"}
1
+ {"version":3,"file":"node-reference.d.ts","sourceRoot":"","sources":["../../src/reference/node-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAOH,SAAS,IAAI,aAAa,EAC7B,MAAM,WAAW,CAAC;AAqBnB,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAGhD,iFAAiF;AACjF,eAAO,MAAM,UAAU;IACnB,iEAAiE;aACjE,MAAM,SAAO,UAAU,KAAG,UAAU;IAIpC,iEAAiE;aACjE,MAAM,SAAO,UAAU,KAAG,UAAU;IAIpC;;;OAGG;aACH,IAAI,cACW,aAAa,QAClB,UAAU,OACX,UAAU,QACT,UAAU,UACR,MAAM,KACf,UAAU;IAOb,qDAAqD;aACrD,IAAI,cAAY,aAAa,OAAO,UAAU,QAAQ,UAAU,KAAG,UAAU;IAK7E,6DAA6D;aAC7D,WAAW,WAAS,MAAM,KAAG,UAAU;IAIvC,yDAAyD;aACzD,YAAY,cAAY,aAAa,KAAG,MAAM;CAGxC,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,OAAO;IAChB,0EAA0E;aAC1E,MAAM,SACI,MAAM,QACN,OAAO,KACd,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC;CAY1D,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,QAAQ;aACjB,IAAI,SAAO,UAAU,KAAG,UAAU;aAGlC,MAAM,SAAO,UAAU,KAAG,UAAU;aAGpC,OAAO,SAAO,UAAU,KAAG,UAAU;aAGrC,OAAO,SAAO,UAAU,KAAG,UAAU;aAGrC,cAAc,SAAO,UAAU,KAAG,UAAU;aAG5C,gBAAgB,SAAO,UAAU,KAAG,UAAU;IAG9C,8EAA8E;aAC1E,aAAa,EAAI,OAAO,aAAa;CAGnC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;IACjB;;;;OAIG;aACH,8BAA8B,WAClB,MAAM,OACT,MAAM,WACF,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KACrC,UAAU;CAQP,CAAC;AAEX,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAKzC;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GACpB;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,cAAc,CAUhF"}
@@ -16,10 +16,8 @@
16
16
  * for comparison with our packages' Uint8Array-centric APIs.
17
17
  */
18
18
  import { createHash, createHmac, hkdfSync, randomBytes } from "node:crypto";
19
- import { gunzipSync, gzipSync, brotliCompressSync, brotliDecompressSync } from "node:zlib";
19
+ import { deflateSync, inflateSync, gunzipSync, gzipSync, brotliCompressSync, brotliDecompressSync, constants as zlibConstants, } from "node:zlib";
20
20
  import { lookup as dnsLookup } from "node:dns";
21
- import { deflateSync, inflateSync, constants as zlibConstants } from "node:zlib";
22
- import { assertNever } from "../utils.js";
23
21
  /** Normalize a Node Buffer / Uint8Array / readonly Uint8Array to a fresh Uint8Array. */
24
22
  function toBytes(data) {
25
23
  return new Uint8Array(data);
@@ -72,7 +70,7 @@ export const nodeCrypto = {
72
70
  /** DNS resolution oracle (mirrors our `resolveHost`). */
73
71
  export const nodeDns = {
74
72
  /** Resolve a host to an address, matching our `resolveHost` semantics. */
75
- async lookup(host, ipv6) {
73
+ lookup(host, ipv6) {
76
74
  return new Promise((resolve, reject) => {
77
75
  const options = { family: ipv6 ? 6 : 4 };
78
76
  dnsLookup(host, options, (err, address, family) => {
@@ -157,5 +155,4 @@ function firstDiff(a, b) {
157
155
  }
158
156
  return len;
159
157
  }
160
- void assertNever;
161
158
  //# sourceMappingURL=node-reference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-reference.js","sourceRoot":"","sources":["../../src/reference/node-reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-reference.js","sourceRoot":"","sources":["../../src/reference/node-reference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Typed errors for the reference provider (docs/TEST-SUITE.md, Cat 3/4/14).
3
+ *
4
+ * Mirrors the transport pattern: errors carry a `kind` discriminator so callers
5
+ * can match on type instead of parsing message text. `ReferenceError` is the
6
+ * base failure for capture / fingerprint; `DumpParseError` covers the
7
+ * curl-impersonate dump-format failures specifically.
8
+ */
9
+ import { TestingError } from "../errors.js";
10
+ /**
11
+ * Raised when a reference provider cannot capture or fingerprint a profile.
12
+ *
13
+ * Extends {@link TestingError} (the package-wide base) so it inherits the
14
+ * `"TestingError"` discriminator; callers can `instanceof ReferenceError` for
15
+ * the narrower match.
16
+ */
17
+ export declare class ReferenceError extends TestingError {
18
+ constructor(message: string, options?: {
19
+ cause?: Error;
20
+ });
21
+ }
22
+ /**
23
+ * Raised when curl-impersonate `--dump-traffic` output cannot be parsed.
24
+ *
25
+ * Discriminated by {@link dumpKind}: `"no_hex"` (no hex bytes after the
26
+ * marker) or `"odd_length"` (an odd number of hex digits cannot form whole
27
+ * bytes).
28
+ */
29
+ export declare class DumpParseError extends ReferenceError {
30
+ readonly dumpKind: DumpParseKind;
31
+ readonly hexLength: number;
32
+ constructor(dumpKind: DumpParseKind, hexLength: number);
33
+ }
34
+ /** Why a dump could not be parsed. */
35
+ export type DumpParseKind = "no_hex" | "odd_length";
36
+ //# sourceMappingURL=reference-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-errors.d.ts","sourceRoot":"","sources":["../../src/reference/reference-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC5C,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,EAGvD;CACJ;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAC9C,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,YAAY,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EASrD;CACJ;AAED,sCAAsC;AACtC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Typed errors for the reference provider (docs/TEST-SUITE.md, Cat 3/4/14).
3
+ *
4
+ * Mirrors the transport pattern: errors carry a `kind` discriminator so callers
5
+ * can match on type instead of parsing message text. `ReferenceError` is the
6
+ * base failure for capture / fingerprint; `DumpParseError` covers the
7
+ * curl-impersonate dump-format failures specifically.
8
+ */
9
+ import { TestingError } from "../errors.js";
10
+ /**
11
+ * Raised when a reference provider cannot capture or fingerprint a profile.
12
+ *
13
+ * Extends {@link TestingError} (the package-wide base) so it inherits the
14
+ * `"TestingError"` discriminator; callers can `instanceof ReferenceError` for
15
+ * the narrower match.
16
+ */
17
+ export class ReferenceError extends TestingError {
18
+ constructor(message, options) {
19
+ super(message, options);
20
+ this.name = "ReferenceError";
21
+ }
22
+ }
23
+ /**
24
+ * Raised when curl-impersonate `--dump-traffic` output cannot be parsed.
25
+ *
26
+ * Discriminated by {@link dumpKind}: `"no_hex"` (no hex bytes after the
27
+ * marker) or `"odd_length"` (an odd number of hex digits cannot form whole
28
+ * bytes).
29
+ */
30
+ export class DumpParseError extends ReferenceError {
31
+ dumpKind;
32
+ hexLength;
33
+ constructor(dumpKind, hexLength) {
34
+ const message = dumpKind === "no_hex"
35
+ ? "curl-impersonate dump produced no hex bytes"
36
+ : `curl-impersonate dump produced odd-length hex (${hexLength})`;
37
+ super(message);
38
+ this.name = "DumpParseError";
39
+ this.dumpKind = dumpKind;
40
+ this.hexLength = hexLength;
41
+ }
42
+ }
43
+ //# sourceMappingURL=reference-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-errors.js","sourceRoot":"","sources":["../../src/reference/reference-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC5C,YAAY,OAAe,EAAE,OAA2B;QACpD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAc;IAC9B,QAAQ,CAAgB;IACxB,SAAS,CAAS;IAElC,YAAY,QAAuB,EAAE,SAAiB;QAClD,MAAM,OAAO,GACT,QAAQ,KAAK,QAAQ;YACjB,CAAC,CAAC,6CAA6C;YAC/C,CAAC,CAAC,kDAAkD,SAAS,GAAG,CAAC;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Shared types for the reference provider layer.
3
+ *
4
+ * Lives in its own module so the providers (`curl-provider.ts`,
5
+ * `browser-provider.ts`), the dump helpers (`dump.ts`), and the facade
6
+ * (`reference.ts`) all import from one place without forming an import cycle.
7
+ */
8
+ import type { ProfileId } from "@browsercore/profiles";
9
+ import type { GoldenCapture } from "../types.js";
10
+ /** Which reference backend to use. Discriminated union — no bare string. */
11
+ export type ReferenceProviderKind = {
12
+ readonly kind: "curl-impersonate";
13
+ } | {
14
+ readonly kind: "real-browser";
15
+ };
16
+ /** Observable TLS/HTTP fingerprint of a captured reference exchange. */
17
+ export interface Fingerprint {
18
+ readonly ja3: string;
19
+ readonly ja4: string;
20
+ readonly alpn: readonly string[];
21
+ readonly cipherSuite: string;
22
+ readonly protocolVersion: string;
23
+ readonly signatureAlgorithms: readonly string[];
24
+ readonly ellipticCurves: readonly string[];
25
+ }
26
+ /** A source of truth for a browser profile's wire behavior. */
27
+ export interface ReferenceProvider {
28
+ readonly kind: ReferenceProviderKind;
29
+ capture(profile: ProfileId, url: string): Promise<GoldenCapture>;
30
+ fingerprint(profile: ProfileId): Promise<Fingerprint>;
31
+ availableProfiles(): ProfileId[];
32
+ }
33
+ //# sourceMappingURL=reference-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-types.d.ts","sourceRoot":"","sources":["../../src/reference/reference-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACrC;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAExC,wEAAwE;AACxE,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,IAAI,SAAS,EAAE,CAAC;CACpC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Shared types for the reference provider layer.
3
+ *
4
+ * Lives in its own module so the providers (`curl-provider.ts`,
5
+ * `browser-provider.ts`), the dump helpers (`dump.ts`), and the facade
6
+ * (`reference.ts`) all import from one place without forming an import cycle.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=reference-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-types.js","sourceRoot":"","sources":["../../src/reference/reference-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Pluggable layered reference provider.
2
+ * Pluggable layered reference provider — facade + factory.
3
3
  *
4
4
  * The reference implementation is the source of truth for what a given browser
5
5
  * profile SHOULD produce on the wire. Three backends are wrapped behind one
@@ -17,90 +17,27 @@
17
17
  * primary then secondary; fingerprint is derived from the captured bytes; the
18
18
  * node-reference oracle is exposed for primitive-layer comparisons.
19
19
  *
20
- * See docs/TEST-SUITE.md (Cat 3, 4, 14) for how references feed comparison.
20
+ * The providers and dump helpers live in their own modules; this file owns the
21
+ * facade + factory dispatch. See docs/TEST-SUITE.md (Cat 3, 4, 14).
21
22
  */
22
23
  import type { ProfileId } from "@browsercore/profiles";
23
24
  import type { GoldenCapture } from "../types.js";
24
- import { TestingError } from "../errors.js";
25
- /** Which reference backend to use. Discriminated union — no bare string. */
26
- export type ReferenceProviderKind = {
27
- readonly kind: "curl-impersonate";
28
- } | {
29
- readonly kind: "real-browser";
30
- };
31
- /** Observable TLS/HTTP fingerprint of a captured reference exchange. */
32
- export interface Fingerprint {
33
- readonly ja3: string;
34
- readonly ja4: string;
35
- readonly alpn: readonly string[];
36
- readonly cipherSuite: string;
37
- readonly protocolVersion: string;
38
- readonly signatureAlgorithms: readonly string[];
39
- readonly ellipticCurves: readonly string[];
40
- }
41
- /** Options for the curl-impersonate provider. */
42
- export interface CurlImpersonateOptions {
43
- /** Path / name of the curl-impersonate binary. Default "curl-impersonate". */
44
- readonly command: string;
45
- /** Extra argv passed to the binary. */
46
- readonly extraArgs?: readonly string[];
47
- }
48
- /** Options for the real-browser (pre-recorded capture) provider. */
49
- export interface RealBrowserOptions {
50
- readonly command?: undefined;
51
- /** Override captures directory. Defaults to the in-repo `captures/` dir. */
52
- readonly capturesDir?: string;
53
- }
25
+ import type { Fingerprint, ReferenceProvider, ReferenceProviderKind } from "./reference-types.js";
26
+ import { type CurlImpersonateOptions } from "./curl-provider.js";
27
+ import { type RealBrowserOptions } from "./browser-provider.js";
28
+ export { CurlImpersonateProvider } from "./curl-provider.js";
29
+ export type { CurlImpersonateOptions } from "./curl-provider.js";
30
+ export { RealBrowserCaptureProvider } from "./browser-provider.js";
31
+ export type { RealBrowserOptions } from "./browser-provider.js";
32
+ export { ReferenceError, DumpParseError } from "./reference-errors.js";
33
+ export type { DumpParseKind } from "./reference-errors.js";
34
+ export { parseDumpOutput, fingerprintFromTlsCapture, cipherSuiteName } from "./dump.js";
35
+ export type { Fingerprint, ReferenceProvider, ReferenceProviderKind, } from "./reference-types.js";
54
36
  /** Options for the {@link ReferenceProviderFacade}. */
55
37
  export interface ReferenceFacadeOptions {
56
38
  readonly curl?: CurlImpersonateOptions;
57
39
  readonly browser?: RealBrowserOptions;
58
40
  }
59
- /** A source of truth for a browser profile's wire behavior. */
60
- export interface ReferenceProvider {
61
- readonly kind: ReferenceProviderKind;
62
- capture(profile: ProfileId, url: string): Promise<GoldenCapture>;
63
- fingerprint(profile: ProfileId): Promise<Fingerprint>;
64
- availableProfiles(): ProfileId[];
65
- }
66
- /** Raised when a reference provider cannot capture or fingerprint a profile. */
67
- export declare class ReferenceError extends TestingError {
68
- constructor(message: string, options?: {
69
- cause?: Error;
70
- });
71
- }
72
- /**
73
- * PRIMARY provider — shells out to curl-impersonate.
74
- *
75
- * `capture()` invokes the curl-impersonate binary against `url`, impersonating
76
- * `profile`, and returns the raw bytes it observed on the wire. The binary
77
- * must be on PATH (or in `command`); if it is missing, the call throws
78
- * {@link ReferenceError} so the facade can fall back to the secondary.
79
- */
80
- export declare class CurlImpersonateProvider implements ReferenceProvider {
81
- readonly kind: ReferenceProviderKind;
82
- readonly command: string;
83
- readonly extraArgs: readonly string[];
84
- constructor(options?: CurlImpersonateOptions);
85
- availableProfiles(): ProfileId[];
86
- capture(profile: ProfileId, url: string): Promise<GoldenCapture>;
87
- fingerprint(profile: ProfileId): Promise<Fingerprint>;
88
- }
89
- /**
90
- * SECONDARY provider — loads pre-recorded captures from the `captures/` dir.
91
- *
92
- * `capture()` resolves a stored capture for the profile; `fingerprint()`
93
- * derives a {@link Fingerprint} from the captured bytes (only TLS
94
- * ClientHellos are fingerprinted — other protocols return a stub).
95
- */
96
- export declare class RealBrowserCaptureProvider implements ReferenceProvider {
97
- readonly kind: ReferenceProviderKind;
98
- readonly capturesDir: string;
99
- constructor(options?: RealBrowserOptions);
100
- availableProfiles(): ProfileId[];
101
- capture(profile: ProfileId, _url: string): Promise<GoldenCapture>;
102
- fingerprint(profile: ProfileId): Promise<Fingerprint>;
103
- }
104
41
  /**
105
42
  * Facade wrapping the node-reference oracle + primary (curl-impersonate) and
106
43
  * secondary (real-browser) providers behind a single {@link ReferenceProvider}.
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/reference/reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/reference/reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EACR,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxF,YAAY,EACR,WAAW,EACX,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC7D,SAAgB,IAAI,EAAE,qBAAqB,CAAyC;IACpF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,YAAY,OAAO,CAAC,EAAE,sBAAsB,EAG3C;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,OAAO,UAAU,CAElC;IAED,iBAAiB,IAAI,SAAS,EAAE,CAa/B;IAEK,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAiBrE;IAEK,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAgB1D;CACJ;AAED;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAElD,sFAAsF;AACtF,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,CAAC,EAAE,sBAAsB,GAAG,kBAAkB,GACtD,iBAAiB,CAWnB;AAmCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,uBAAuB,CAE/F"}