nlcurl 0.3.1 → 0.5.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 (187) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +84 -90
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/index.js +25 -25
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/output.d.ts +2 -2
  8. package/dist/cli/output.d.ts.map +1 -1
  9. package/dist/cli/output.js +55 -55
  10. package/dist/cli/output.js.map +1 -1
  11. package/dist/cookies/jar.d.ts +1 -1
  12. package/dist/cookies/jar.d.ts.map +1 -1
  13. package/dist/cookies/jar.js +20 -22
  14. package/dist/cookies/jar.js.map +1 -1
  15. package/dist/cookies/parser.d.ts +1 -1
  16. package/dist/cookies/parser.d.ts.map +1 -1
  17. package/dist/cookies/parser.js +20 -22
  18. package/dist/cookies/parser.js.map +1 -1
  19. package/dist/core/client.d.ts +3 -3
  20. package/dist/core/client.d.ts.map +1 -1
  21. package/dist/core/client.js +9 -8
  22. package/dist/core/client.js.map +1 -1
  23. package/dist/core/errors.d.ts +64 -21
  24. package/dist/core/errors.d.ts.map +1 -1
  25. package/dist/core/errors.js +112 -36
  26. package/dist/core/errors.js.map +1 -1
  27. package/dist/core/request.d.ts +10 -5
  28. package/dist/core/request.d.ts.map +1 -1
  29. package/dist/core/response.d.ts +2 -2
  30. package/dist/core/response.d.ts.map +1 -1
  31. package/dist/core/response.js +6 -8
  32. package/dist/core/response.js.map +1 -1
  33. package/dist/core/session.d.ts +7 -6
  34. package/dist/core/session.d.ts.map +1 -1
  35. package/dist/core/session.js +58 -43
  36. package/dist/core/session.js.map +1 -1
  37. package/dist/core/validation.d.ts +96 -0
  38. package/dist/core/validation.d.ts.map +1 -0
  39. package/dist/core/validation.js +246 -0
  40. package/dist/core/validation.js.map +1 -0
  41. package/dist/fingerprints/akamai.d.ts +1 -1
  42. package/dist/fingerprints/akamai.d.ts.map +1 -1
  43. package/dist/fingerprints/akamai.js +3 -7
  44. package/dist/fingerprints/akamai.js.map +1 -1
  45. package/dist/fingerprints/database.d.ts +7 -7
  46. package/dist/fingerprints/database.d.ts.map +1 -1
  47. package/dist/fingerprints/database.js +12 -18
  48. package/dist/fingerprints/database.js.map +1 -1
  49. package/dist/fingerprints/extensions.d.ts.map +1 -1
  50. package/dist/fingerprints/extensions.js +4 -4
  51. package/dist/fingerprints/extensions.js.map +1 -1
  52. package/dist/fingerprints/ja3.d.ts +1 -1
  53. package/dist/fingerprints/ja3.d.ts.map +1 -1
  54. package/dist/fingerprints/ja3.js +12 -12
  55. package/dist/fingerprints/ja3.js.map +1 -1
  56. package/dist/fingerprints/profiles/chrome.d.ts +1 -1
  57. package/dist/fingerprints/profiles/chrome.d.ts.map +1 -1
  58. package/dist/fingerprints/profiles/chrome.js +59 -100
  59. package/dist/fingerprints/profiles/chrome.js.map +1 -1
  60. package/dist/fingerprints/profiles/edge.d.ts +1 -1
  61. package/dist/fingerprints/profiles/edge.d.ts.map +1 -1
  62. package/dist/fingerprints/profiles/edge.js +26 -26
  63. package/dist/fingerprints/profiles/edge.js.map +1 -1
  64. package/dist/fingerprints/profiles/firefox.d.ts +1 -1
  65. package/dist/fingerprints/profiles/firefox.d.ts.map +1 -1
  66. package/dist/fingerprints/profiles/firefox.js +35 -85
  67. package/dist/fingerprints/profiles/firefox.js.map +1 -1
  68. package/dist/fingerprints/profiles/safari.d.ts +1 -1
  69. package/dist/fingerprints/profiles/safari.d.ts.map +1 -1
  70. package/dist/fingerprints/profiles/safari.js +35 -68
  71. package/dist/fingerprints/profiles/safari.js.map +1 -1
  72. package/dist/fingerprints/profiles/tor.d.ts +1 -1
  73. package/dist/fingerprints/profiles/tor.d.ts.map +1 -1
  74. package/dist/fingerprints/profiles/tor.js +24 -57
  75. package/dist/fingerprints/profiles/tor.js.map +1 -1
  76. package/dist/fingerprints/types.d.ts +1 -1
  77. package/dist/fingerprints/types.d.ts.map +1 -1
  78. package/dist/http/h1/client.d.ts +4 -4
  79. package/dist/http/h1/client.d.ts.map +1 -1
  80. package/dist/http/h1/client.js +31 -31
  81. package/dist/http/h1/client.js.map +1 -1
  82. package/dist/http/h1/encoder.d.ts +1 -1
  83. package/dist/http/h1/encoder.d.ts.map +1 -1
  84. package/dist/http/h1/encoder.js +21 -20
  85. package/dist/http/h1/encoder.js.map +1 -1
  86. package/dist/http/h1/parser.d.ts +1 -1
  87. package/dist/http/h1/parser.d.ts.map +1 -1
  88. package/dist/http/h1/parser.js +29 -33
  89. package/dist/http/h1/parser.js.map +1 -1
  90. package/dist/http/h2/client.d.ts +5 -4
  91. package/dist/http/h2/client.d.ts.map +1 -1
  92. package/dist/http/h2/client.js +88 -76
  93. package/dist/http/h2/client.js.map +1 -1
  94. package/dist/http/h2/frames.d.ts +7 -3
  95. package/dist/http/h2/frames.d.ts.map +1 -1
  96. package/dist/http/h2/frames.js +16 -12
  97. package/dist/http/h2/frames.js.map +1 -1
  98. package/dist/http/h2/hpack.d.ts.map +1 -1
  99. package/dist/http/h2/hpack.js +331 -130
  100. package/dist/http/h2/hpack.js.map +1 -1
  101. package/dist/http/negotiator.d.ts +4 -4
  102. package/dist/http/negotiator.d.ts.map +1 -1
  103. package/dist/http/negotiator.js +45 -48
  104. package/dist/http/negotiator.js.map +1 -1
  105. package/dist/http/pool.d.ts +5 -5
  106. package/dist/http/pool.d.ts.map +1 -1
  107. package/dist/http/pool.js +5 -5
  108. package/dist/http/pool.js.map +1 -1
  109. package/dist/index.d.ts +16 -14
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +10 -9
  112. package/dist/index.js.map +1 -1
  113. package/dist/middleware/interceptor.d.ts +2 -2
  114. package/dist/middleware/interceptor.d.ts.map +1 -1
  115. package/dist/middleware/interceptor.js.map +1 -1
  116. package/dist/middleware/rate-limiter.d.ts.map +1 -1
  117. package/dist/middleware/rate-limiter.js +2 -0
  118. package/dist/middleware/rate-limiter.js.map +1 -1
  119. package/dist/middleware/retry.d.ts +6 -4
  120. package/dist/middleware/retry.d.ts.map +1 -1
  121. package/dist/middleware/retry.js +9 -7
  122. package/dist/middleware/retry.js.map +1 -1
  123. package/dist/proxy/http-proxy.d.ts +1 -1
  124. package/dist/proxy/http-proxy.d.ts.map +1 -1
  125. package/dist/proxy/http-proxy.js +14 -14
  126. package/dist/proxy/http-proxy.js.map +1 -1
  127. package/dist/proxy/socks.d.ts +1 -1
  128. package/dist/proxy/socks.d.ts.map +1 -1
  129. package/dist/proxy/socks.js +57 -28
  130. package/dist/proxy/socks.js.map +1 -1
  131. package/dist/tls/constants.d.ts.map +1 -1
  132. package/dist/tls/constants.js +1 -4
  133. package/dist/tls/constants.js.map +1 -1
  134. package/dist/tls/node-engine.d.ts +2 -2
  135. package/dist/tls/node-engine.d.ts.map +1 -1
  136. package/dist/tls/node-engine.js +58 -58
  137. package/dist/tls/node-engine.js.map +1 -1
  138. package/dist/tls/stealth/client-hello.d.ts +1 -1
  139. package/dist/tls/stealth/client-hello.d.ts.map +1 -1
  140. package/dist/tls/stealth/client-hello.js +8 -14
  141. package/dist/tls/stealth/client-hello.js.map +1 -1
  142. package/dist/tls/stealth/engine.d.ts +2 -2
  143. package/dist/tls/stealth/engine.d.ts.map +1 -1
  144. package/dist/tls/stealth/engine.js +23 -26
  145. package/dist/tls/stealth/engine.js.map +1 -1
  146. package/dist/tls/stealth/handshake.d.ts +3 -3
  147. package/dist/tls/stealth/handshake.d.ts.map +1 -1
  148. package/dist/tls/stealth/handshake.js +62 -74
  149. package/dist/tls/stealth/handshake.js.map +1 -1
  150. package/dist/tls/stealth/key-schedule.d.ts +2 -2
  151. package/dist/tls/stealth/key-schedule.d.ts.map +1 -1
  152. package/dist/tls/stealth/key-schedule.js +20 -20
  153. package/dist/tls/stealth/key-schedule.js.map +1 -1
  154. package/dist/tls/stealth/record-layer.d.ts +1 -1
  155. package/dist/tls/stealth/record-layer.d.ts.map +1 -1
  156. package/dist/tls/stealth/record-layer.js +13 -13
  157. package/dist/tls/stealth/record-layer.js.map +1 -1
  158. package/dist/tls/types.d.ts +4 -4
  159. package/dist/tls/types.d.ts.map +1 -1
  160. package/dist/utils/buffer-reader.d.ts.map +1 -1
  161. package/dist/utils/buffer-reader.js.map +1 -1
  162. package/dist/utils/buffer-writer.d.ts.map +1 -1
  163. package/dist/utils/buffer-writer.js +6 -0
  164. package/dist/utils/buffer-writer.js.map +1 -1
  165. package/dist/utils/encoding.d.ts +1 -1
  166. package/dist/utils/encoding.d.ts.map +1 -1
  167. package/dist/utils/encoding.js +23 -25
  168. package/dist/utils/encoding.js.map +1 -1
  169. package/dist/utils/happy-eyeballs.d.ts +26 -0
  170. package/dist/utils/happy-eyeballs.d.ts.map +1 -0
  171. package/dist/utils/happy-eyeballs.js +201 -0
  172. package/dist/utils/happy-eyeballs.js.map +1 -0
  173. package/dist/utils/logger.d.ts +48 -7
  174. package/dist/utils/logger.d.ts.map +1 -1
  175. package/dist/utils/logger.js +61 -13
  176. package/dist/utils/logger.js.map +1 -1
  177. package/dist/utils/url.d.ts.map +1 -1
  178. package/dist/utils/url.js +2 -2
  179. package/dist/utils/url.js.map +1 -1
  180. package/dist/ws/client.d.ts +2 -2
  181. package/dist/ws/client.d.ts.map +1 -1
  182. package/dist/ws/client.js +76 -71
  183. package/dist/ws/client.js.map +1 -1
  184. package/dist/ws/frame.d.ts.map +1 -1
  185. package/dist/ws/frame.js +8 -8
  186. package/dist/ws/frame.js.map +1 -1
  187. package/package.json +61 -57
@@ -1,7 +1,7 @@
1
- import { createCipheriv, createDecipheriv, } from 'node:crypto';
2
- import { BufferWriter } from '../../utils/buffer-writer.js';
3
- import { RecordType, ProtocolVersion } from '../constants.js';
4
- import { TLSError } from '../../core/errors.js';
1
+ import { createCipheriv, createDecipheriv } from "node:crypto";
2
+ import { BufferWriter } from "../../utils/buffer-writer.js";
3
+ import { RecordType, ProtocolVersion } from "../constants.js";
4
+ import { TLSError } from "../../core/errors.js";
5
5
  const MAX_RECORD_PAYLOAD = 16384;
6
6
  const MAX_CIPHERTEXT_OVERHEAD = 256;
7
7
  /**
@@ -52,14 +52,14 @@ export function writeRecord(type, version, payload) {
52
52
  * @throws {TLSError} If the cipher name does not correspond to a supported AEAD algorithm.
53
53
  */
54
54
  export function aeadFromCipher(cipherName) {
55
- if (cipherName.includes('AES_128_GCM') || cipherName.includes('aes-128-gcm')) {
56
- return 'aes-128-gcm';
55
+ if (cipherName.includes("AES_128_GCM") || cipherName.includes("aes-128-gcm")) {
56
+ return "aes-128-gcm";
57
57
  }
58
- if (cipherName.includes('AES_256_GCM') || cipherName.includes('aes-256-gcm')) {
59
- return 'aes-256-gcm';
58
+ if (cipherName.includes("AES_256_GCM") || cipherName.includes("aes-256-gcm")) {
59
+ return "aes-256-gcm";
60
60
  }
61
- if (cipherName.includes('CHACHA20') || cipherName.includes('chacha20')) {
62
- return 'chacha20-poly1305';
61
+ if (cipherName.includes("CHACHA20") || cipherName.includes("chacha20")) {
62
+ return "chacha20-poly1305";
63
63
  }
64
64
  throw new TLSError(`Unsupported cipher: ${cipherName}`);
65
65
  }
@@ -114,7 +114,7 @@ export function encryptRecord(algorithm, key, nonce, plaintext, additionalData)
114
114
  */
115
115
  export function decryptRecord(algorithm, key, nonce, ciphertext, additionalData) {
116
116
  if (ciphertext.length < TAG_SIZE) {
117
- throw new TLSError('Record too short for AEAD tag');
117
+ throw new TLSError("Record too short for AEAD tag");
118
118
  }
119
119
  const encryptedData = ciphertext.subarray(0, ciphertext.length - TAG_SIZE);
120
120
  const tag = ciphertext.subarray(ciphertext.length - TAG_SIZE);
@@ -127,7 +127,7 @@ export function decryptRecord(algorithm, key, nonce, ciphertext, additionalData)
127
127
  return Buffer.concat([decrypted, final]);
128
128
  }
129
129
  catch {
130
- throw new TLSError('AEAD decryption failed');
130
+ throw new TLSError("AEAD decryption failed");
131
131
  }
132
132
  }
133
133
  /**
@@ -188,7 +188,7 @@ export function unwrapEncryptedRecord(algorithm, key, iv, sequenceNumber, record
188
188
  while (i >= 0 && inner[i] === 0)
189
189
  i--;
190
190
  if (i < 0) {
191
- throw new TLSError('Empty decrypted record');
191
+ throw new TLSError("Empty decrypted record");
192
192
  }
193
193
  const contentType = inner[i];
194
194
  const plaintext = inner.subarray(0, i);
@@ -1 +1 @@
1
- {"version":3,"file":"record-layer.js","sourceRoot":"","sources":["../../../src/tls/stealth/record-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-layer.js","sourceRoot":"","sources":["../../../src/tls/stealth/record-layer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { Socket } from 'node:net';
2
- import type { Duplex } from 'node:stream';
3
- import type { BrowserProfile } from '../fingerprints/types.js';
4
- import type { Logger } from '../utils/logger.js';
1
+ import type { Socket } from "node:net";
2
+ import type { Duplex } from "node:stream";
3
+ import type { BrowserProfile } from "../fingerprints/types.js";
4
+ import type { Logger } from "../utils/logger.js";
5
5
  /**
6
6
  * Options required to establish a TLS connection to a remote server.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tls/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,cAAc,EAAE,iBAAiB,CAAC;IAClC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACnF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tls/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,cAAc,EAAE,iBAAiB,CAAC;IAClC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-reader.d.ts","sourceRoot":"","sources":["../../src/utils/buffer-reader.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IAErB;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU;IAK3C,8CAA8C;IAC9C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,mEAAmE;IACnE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,6CAA6C;IAC7C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK5B;;;;;OAKG;IACH,SAAS,IAAI,MAAM;IAOnB;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAOpB;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IASpB;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAOpB;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOjC;;;;;;OAMG;IACH,WAAW,IAAI,MAAM;IAKrB;;;;;;OAMG;IACH,YAAY,IAAI,MAAM;IAKtB;;;;;;OAMG;IACH,YAAY,IAAI,MAAM;IAKtB;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO5B;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAOvC,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"buffer-reader.d.ts","sourceRoot":"","sources":["../../src/utils/buffer-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IAErB;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU;IAK3C,8CAA8C;IAC9C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,mEAAmE;IACnE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,6CAA6C;IAC7C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK5B;;;;;OAKG;IACH,SAAS,IAAI,MAAM;IAOnB;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAOpB;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IASpB;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAOpB;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOjC;;;;;;OAMG;IACH,WAAW,IAAI,MAAM;IAKrB;;;;;;OAMG;IACH,YAAY,IAAI,MAAM;IAKtB;;;;;;OAMG;IACH,YAAY,IAAI,MAAM;IAKtB;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO5B;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAOvC,OAAO,CAAC,eAAe;CAKxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-reader.js","sourceRoot":"","sources":["../../src/utils/buffer-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffer-reader.js","sourceRoot":"","sources":["../../src/utils/buffer-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAY;IACf,IAAI,CAAS;IACb,IAAI,CAAS;IAErB;;;;;OAKG;IACH,YAAY,GAAW,EAAE,SAAiB,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,8CAA8C;IAC9C,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,mEAAmE;IACnE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QAChC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,WAAW;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAgB;QACnB,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,UAAU,CAAC,iBAAiB,QAAQ,sBAAsB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,eAAe,CAAC,CAAS;QAC/B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CAAC,0BAA0B,CAAC,oBAAoB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-writer.d.ts","sourceRoot":"","sources":["../../src/utils/buffer-writer.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IAErB;;;;OAIG;gBACS,QAAQ,GAAE,MAAyB;IAK/C,0EAA0E;IAC1E,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,wFAAwF;IACxF,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO/B;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAShC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAW3C;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS7C;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS9C;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS9C;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhD,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"buffer-writer.d.ts","sourceRoot":"","sources":["../../src/utils/buffer-writer.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IAErB;;;;OAIG;gBACS,QAAQ,GAAE,MAAyB;IAK/C,0EAA0E;IAC1E,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,wFAAwF;IACxF,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO/B;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAShC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAW3C;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS7C;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS9C;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS9C;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhD,OAAO,CAAC,cAAc;CAevB"}
@@ -1,5 +1,6 @@
1
1
  const INITIAL_CAPACITY = 1024;
2
2
  const GROWTH_FACTOR = 2;
3
+ const MAX_CAPACITY = 256 * 1024 * 1024;
3
4
  /**
4
5
  * Growable binary buffer writer that serializes typed values in big-endian byte
5
6
  * order. The internal buffer doubles in capacity as needed. Call
@@ -198,10 +199,15 @@ export class BufferWriter {
198
199
  const required = this._pos + needed;
199
200
  if (required <= this._buf.length)
200
201
  return;
202
+ if (required > MAX_CAPACITY) {
203
+ throw new Error(`BufferWriter: requested capacity ${required} exceeds ${MAX_CAPACITY} byte limit`);
204
+ }
201
205
  let newCap = this._buf.length;
202
206
  while (newCap < required) {
203
207
  newCap *= GROWTH_FACTOR;
204
208
  }
209
+ if (newCap > MAX_CAPACITY)
210
+ newCap = MAX_CAPACITY;
205
211
  const newBuf = Buffer.allocUnsafe(newCap);
206
212
  this._buf.copy(newBuf, 0, 0, this._pos);
207
213
  this._buf = newBuf;
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-writer.js","sourceRoot":"","sources":["../../src/utils/buffer-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffer-writer.js","sourceRoot":"","sources":["../../src/utils/buffer-writer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Transform } from 'node:stream';
1
+ import { Transform } from "node:stream";
2
2
  /**
3
3
  * `true` when the current Node.js runtime provides native Zstandard
4
4
  * decompression support (`zlib.zstdDecompress`). `false` on older Node.js
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAYvD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,OAAsC,CAAC;AAElE;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,SAAS,GAAG,IAAI,CA8BlB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO5D"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AASvD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,OAAsC,CAAC;AAElE;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BvG;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CA8B5F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO5D"}
@@ -1,12 +1,10 @@
1
- import * as zlib from 'node:zlib';
2
- import { promisify } from 'node:util';
1
+ import * as zlib from "node:zlib";
2
+ import { promisify } from "node:util";
3
3
  const gunzipAsync = promisify(zlib.gunzip);
4
4
  const inflateAsync = promisify(zlib.inflate);
5
5
  const brotliDecompressAsync = promisify(zlib.brotliDecompress);
6
- const _zstdFn = zlib['zstdDecompress'];
7
- const zstdDecompressAsync = typeof _zstdFn === 'function'
8
- ? promisify(_zstdFn)
9
- : null;
6
+ const _zstdFn = zlib["zstdDecompress"];
7
+ const zstdDecompressAsync = typeof _zstdFn === "function" ? promisify(_zstdFn) : null;
10
8
  /**
11
9
  * `true` when the current Node.js runtime provides native Zstandard
12
10
  * decompression support (`zlib.zstdDecompress`). `false` on older Node.js
@@ -28,19 +26,19 @@ export async function decompressBody(body, contentEncoding) {
28
26
  return body;
29
27
  const encoding = contentEncoding.trim().toLowerCase();
30
28
  switch (encoding) {
31
- case 'gzip':
32
- case 'x-gzip':
29
+ case "gzip":
30
+ case "x-gzip":
33
31
  return gunzipAsync(body);
34
- case 'deflate':
32
+ case "deflate":
35
33
  return inflateAsync(body);
36
- case 'br':
34
+ case "br":
37
35
  return brotliDecompressAsync(body);
38
- case 'zstd':
36
+ case "zstd":
39
37
  if (zstdDecompressAsync) {
40
38
  return zstdDecompressAsync(body);
41
39
  }
42
40
  return body;
43
- case 'identity':
41
+ case "identity":
44
42
  return body;
45
43
  default:
46
44
  return body;
@@ -59,21 +57,21 @@ export function createDecompressStream(contentEncoding) {
59
57
  return null;
60
58
  const encoding = contentEncoding.trim().toLowerCase();
61
59
  switch (encoding) {
62
- case 'gzip':
63
- case 'x-gzip':
60
+ case "gzip":
61
+ case "x-gzip":
64
62
  return zlib.createGunzip();
65
- case 'deflate':
63
+ case "deflate":
66
64
  return zlib.createInflate();
67
- case 'br':
65
+ case "br":
68
66
  return zlib.createBrotliDecompress();
69
- case 'zstd': {
70
- const factory = zlib['createZstdDecompress'];
71
- if (typeof factory === 'function') {
67
+ case "zstd": {
68
+ const factory = zlib["createZstdDecompress"];
69
+ if (typeof factory === "function") {
72
70
  return factory();
73
71
  }
74
72
  return null;
75
73
  }
76
- case 'identity':
74
+ case "identity":
77
75
  return null;
78
76
  default:
79
77
  return null;
@@ -86,7 +84,7 @@ export function createDecompressStream(contentEncoding) {
86
84
  * @returns {string} E.g. `"gzip, deflate, br, zstd"` or `"gzip, deflate, br"`.
87
85
  */
88
86
  export function defaultAcceptEncoding() {
89
- return supportsZstd ? 'gzip, deflate, br, zstd' : 'gzip, deflate, br';
87
+ return supportsZstd ? "gzip, deflate, br, zstd" : "gzip, deflate, br";
90
88
  }
91
89
  /**
92
90
  * Filters `zstd` from a caller-supplied `Accept-Encoding` value when the
@@ -100,9 +98,9 @@ export function sanitizeAcceptEncoding(value) {
100
98
  if (supportsZstd)
101
99
  return value;
102
100
  return value
103
- .split(',')
104
- .map(s => s.trim())
105
- .filter(s => !s.startsWith('zstd'))
106
- .join(', ');
101
+ .split(",")
102
+ .map((s) => s.trim())
103
+ .filter((s) => !s.startsWith("zstd"))
104
+ .join(", ");
107
105
  }
108
106
  //# sourceMappingURL=encoding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as net from "node:net";
2
+ export interface HappyEyeballsOptions {
3
+ host: string;
4
+ port: number;
5
+ family?: 4 | 6;
6
+ timeout?: number;
7
+ signal?: AbortSignal;
8
+ }
9
+ export interface HappyEyeballsResult {
10
+ socket: net.Socket;
11
+ address: string;
12
+ family: number;
13
+ dnsTimeMs: number;
14
+ }
15
+ /**
16
+ * Establish a TCP connection using the Happy Eyeballs algorithm (RFC 8305).
17
+ *
18
+ * 1. Resolves ALL addresses for the hostname (both A and AAAA).
19
+ * 2. Interleaves IPv6 and IPv4 addresses (IPv6 first).
20
+ * 3. Starts connecting to the first address.
21
+ * 4. After 250 ms (or immediately on a synchronous error like ENETUNREACH),
22
+ * starts the next address in parallel.
23
+ * 5. Returns the first socket that connects; destroys all others.
24
+ */
25
+ export declare function happyEyeballsConnect(options: HappyEyeballsOptions): Promise<HappyEyeballsResult>;
26
+ //# sourceMappingURL=happy-eyeballs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happy-eyeballs.d.ts","sourceRoot":"","sources":["../../src/utils/happy-eyeballs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAWhC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuBtG"}
@@ -0,0 +1,201 @@
1
+ import * as net from "node:net";
2
+ import { lookup } from "node:dns/promises";
3
+ /** Connection Attempt Delay per RFC 8305 §5 — 250 ms. */
4
+ const ATTEMPT_DELAY_MS = 250;
5
+ /**
6
+ * Establish a TCP connection using the Happy Eyeballs algorithm (RFC 8305).
7
+ *
8
+ * 1. Resolves ALL addresses for the hostname (both A and AAAA).
9
+ * 2. Interleaves IPv6 and IPv4 addresses (IPv6 first).
10
+ * 3. Starts connecting to the first address.
11
+ * 4. After 250 ms (or immediately on a synchronous error like ENETUNREACH),
12
+ * starts the next address in parallel.
13
+ * 5. Returns the first socket that connects; destroys all others.
14
+ */
15
+ export async function happyEyeballsConnect(options) {
16
+ const { host, port, family, timeout, signal } = options;
17
+ const ipVersion = net.isIP(host);
18
+ if (ipVersion) {
19
+ const socket = await raceTcpConnections([{ address: host, family: ipVersion }], port, timeout, signal);
20
+ return { socket: socket.socket, address: host, family: ipVersion, dnsTimeMs: 0 };
21
+ }
22
+ const dnsStart = Date.now();
23
+ const addresses = await lookup(host, { all: true, family: family ?? 0 });
24
+ const dnsTimeMs = Date.now() - dnsStart;
25
+ if (!addresses.length) {
26
+ const err = new Error(`getaddrinfo ENOTFOUND ${host}`);
27
+ err.code = "ENOTFOUND";
28
+ throw err;
29
+ }
30
+ const sorted = family ? addresses : interleaveAddressFamilies(addresses);
31
+ const result = await raceTcpConnections(sorted, port, timeout, signal);
32
+ return { socket: result.socket, address: result.address, family: result.family, dnsTimeMs };
33
+ }
34
+ /**
35
+ * Interleave IPv6 and IPv4 addresses per RFC 8305 §4.
36
+ * The first address family returned by the resolver leads.
37
+ */
38
+ function interleaveAddressFamilies(addresses) {
39
+ const ipv6 = [];
40
+ const ipv4 = [];
41
+ for (const a of addresses) {
42
+ if (a.family === 6)
43
+ ipv6.push(a);
44
+ else
45
+ ipv4.push(a);
46
+ }
47
+ const lead = addresses[0];
48
+ const primary = lead.family === 4 ? ipv4 : ipv6;
49
+ const secondary = lead.family === 4 ? ipv6 : ipv4;
50
+ const out = [];
51
+ const max = Math.max(primary.length, secondary.length);
52
+ for (let i = 0; i < max; i++) {
53
+ const p = primary[i];
54
+ const s = secondary[i];
55
+ if (p)
56
+ out.push(p);
57
+ if (s)
58
+ out.push(s);
59
+ }
60
+ return out;
61
+ }
62
+ /**
63
+ * Race TCP connections across the sorted address list.
64
+ * Each new attempt starts after ATTEMPT_DELAY_MS or immediately after
65
+ * the previous attempt fails — whichever comes first.
66
+ */
67
+ function raceTcpConnections(addresses, port, timeout, signal) {
68
+ if (addresses.length === 1) {
69
+ return singleConnect(addresses[0], port, timeout, signal);
70
+ }
71
+ return new Promise((resolve, reject) => {
72
+ const sockets = [];
73
+ const errors = [];
74
+ let settled = false;
75
+ let attemptIndex = 0;
76
+ let delayTimer;
77
+ let overallTimer;
78
+ let abortHandler;
79
+ const cleanup = (winner) => {
80
+ if (delayTimer)
81
+ clearTimeout(delayTimer);
82
+ if (overallTimer)
83
+ clearTimeout(overallTimer);
84
+ if (signal && abortHandler)
85
+ signal.removeEventListener("abort", abortHandler);
86
+ for (const s of sockets) {
87
+ if (s !== winner && !s.destroyed)
88
+ s.destroy();
89
+ }
90
+ };
91
+ const onSettled = (socket, address, family) => {
92
+ if (settled) {
93
+ socket.destroy();
94
+ return;
95
+ }
96
+ settled = true;
97
+ cleanup(socket);
98
+ resolve({ socket, address, family });
99
+ };
100
+ const onAttemptError = (err) => {
101
+ errors.push(err);
102
+ if (settled)
103
+ return;
104
+ if (errors.length >= sockets.length && attemptIndex >= addresses.length) {
105
+ settled = true;
106
+ cleanup();
107
+ reject(errors[0]);
108
+ return;
109
+ }
110
+ if (attemptIndex < addresses.length) {
111
+ if (delayTimer)
112
+ clearTimeout(delayTimer);
113
+ startNextAttempt();
114
+ }
115
+ };
116
+ const startNextAttempt = () => {
117
+ if (settled || attemptIndex >= addresses.length)
118
+ return;
119
+ const entry = addresses[attemptIndex++];
120
+ const socket = net.createConnection({ host: entry.address, port, family: entry.family });
121
+ sockets.push(socket);
122
+ socket.once("connect", () => onSettled(socket, entry.address, entry.family));
123
+ socket.once("error", onAttemptError);
124
+ if (attemptIndex < addresses.length) {
125
+ delayTimer = setTimeout(startNextAttempt, ATTEMPT_DELAY_MS);
126
+ }
127
+ };
128
+ const timeoutMs = timeout ?? 30_000;
129
+ if (timeoutMs > 0) {
130
+ overallTimer = setTimeout(() => {
131
+ if (!settled) {
132
+ settled = true;
133
+ cleanup();
134
+ const err = new Error("TCP connection timed out");
135
+ err.code = "ETIMEDOUT";
136
+ reject(err);
137
+ }
138
+ }, timeoutMs);
139
+ }
140
+ if (signal) {
141
+ if (signal.aborted) {
142
+ reject(new Error("Connection aborted"));
143
+ return;
144
+ }
145
+ abortHandler = () => {
146
+ if (!settled) {
147
+ settled = true;
148
+ cleanup();
149
+ reject(new Error("Connection aborted"));
150
+ }
151
+ };
152
+ signal.addEventListener("abort", abortHandler, { once: true });
153
+ }
154
+ startNextAttempt();
155
+ });
156
+ }
157
+ /** Direct single-address connect, used when there is only one candidate. */
158
+ function singleConnect(entry, port, timeout, signal) {
159
+ return new Promise((resolve, reject) => {
160
+ let settled = false;
161
+ const socket = net.createConnection({ host: entry.address, port, family: entry.family });
162
+ let timer;
163
+ let abortHandler;
164
+ const finish = (err) => {
165
+ if (settled)
166
+ return;
167
+ settled = true;
168
+ if (timer)
169
+ clearTimeout(timer);
170
+ if (signal && abortHandler)
171
+ signal.removeEventListener("abort", abortHandler);
172
+ if (err) {
173
+ socket.destroy();
174
+ reject(err);
175
+ }
176
+ else {
177
+ resolve({ socket, address: entry.address, family: entry.family });
178
+ }
179
+ };
180
+ const timeoutMs = timeout ?? 30_000;
181
+ if (timeoutMs > 0) {
182
+ timer = setTimeout(() => {
183
+ const err = new Error("TCP connection timed out");
184
+ err.code = "ETIMEDOUT";
185
+ finish(err);
186
+ }, timeoutMs);
187
+ }
188
+ if (signal) {
189
+ if (signal.aborted) {
190
+ socket.destroy();
191
+ reject(new Error("Connection aborted"));
192
+ return;
193
+ }
194
+ abortHandler = () => finish(new Error("Connection aborted"));
195
+ signal.addEventListener("abort", abortHandler, { once: true });
196
+ }
197
+ socket.once("connect", () => finish());
198
+ socket.once("error", (err) => finish(err));
199
+ });
200
+ }
201
+ //# sourceMappingURL=happy-eyeballs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happy-eyeballs.js","sourceRoot":"","sources":["../../src/utils/happy-eyeballs.ts"],"names":[],"mappings":"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"}