@hooklink/cli 0.1.55 → 0.1.56

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 (40) hide show
  1. package/dist/commands/config.d.ts.map +1 -1
  2. package/dist/commands/config.js +4 -2
  3. package/dist/commands/config.js.map +1 -1
  4. package/dist/commands/connect.d.ts.map +1 -1
  5. package/dist/commands/connect.js +124 -105
  6. package/dist/commands/connect.js.map +1 -1
  7. package/dist/commands/login.d.ts.map +1 -1
  8. package/dist/commands/login.js +7 -3
  9. package/dist/commands/login.js.map +1 -1
  10. package/dist/commands/logout.d.ts.map +1 -1
  11. package/dist/commands/logout.js +6 -1
  12. package/dist/commands/logout.js.map +1 -1
  13. package/dist/commands/tunnel.d.ts.map +1 -1
  14. package/dist/commands/tunnel.js +9 -7
  15. package/dist/commands/tunnel.js.map +1 -1
  16. package/dist/core/http-forwarder.d.ts +13 -3
  17. package/dist/core/http-forwarder.d.ts.map +1 -1
  18. package/dist/core/http-forwarder.js +95 -54
  19. package/dist/core/http-forwarder.js.map +1 -1
  20. package/dist/core/websocket-client.d.ts +7 -2
  21. package/dist/core/websocket-client.d.ts.map +1 -1
  22. package/dist/core/websocket-client.js +58 -1
  23. package/dist/core/websocket-client.js.map +1 -1
  24. package/dist/core/websocket-pool.d.ts +40 -0
  25. package/dist/core/websocket-pool.d.ts.map +1 -0
  26. package/dist/core/websocket-pool.js +129 -0
  27. package/dist/core/websocket-pool.js.map +1 -0
  28. package/dist/index.js +38 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/types/index.d.ts +17 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/utils/api.d.ts +6 -4
  33. package/dist/utils/api.d.ts.map +1 -1
  34. package/dist/utils/api.js +30 -24
  35. package/dist/utils/api.js.map +1 -1
  36. package/dist/utils/config.d.ts +10 -1
  37. package/dist/utils/config.d.ts.map +1 -1
  38. package/dist/utils/config.js +82 -7
  39. package/dist/utils/config.js.map +1 -1
  40. package/package.json +1 -1
@@ -63,6 +63,25 @@ function isTextContentType(contentType) {
63
63
  const ct = contentType.toLowerCase().split(';')[0].trim();
64
64
  return TEXT_CONTENT_TYPE_PATTERNS.some((pattern) => pattern.test(ct));
65
65
  }
66
+ /**
67
+ * Determine whether a response can be streamed directly (no buffering needed).
68
+ *
69
+ * Streamable when:
70
+ * - Binary content type (images, fonts, wasm, etc.) -- no URL rewriting needed
71
+ * - Already compressed by origin (content-encoding: gzip/br/etc.) -- can't rewrite anyway
72
+ *
73
+ * Must buffer when:
74
+ * - Uncompressed text (HTML, JS, CSS, JSON) -- needs URL rewriting for tunnel mode
75
+ */
76
+ function canStreamResponse(contentType, contentEncoding) {
77
+ // Already compressed by origin server -- can't rewrite, stream directly
78
+ if (contentEncoding && contentEncoding !== 'identity')
79
+ return true;
80
+ // Binary content types don't need URL rewriting
81
+ if (isBinaryContentType(contentType))
82
+ return true;
83
+ return false;
84
+ }
66
85
  class HttpForwarder {
67
86
  constructor(targetUrl) {
68
87
  // Peer mappings: localOrigin → remoteOrigin for cross-endpoint URL rewriting
@@ -72,29 +91,35 @@ class HttpForwarder {
72
91
  /**
73
92
  * Register peer endpoint mappings for cross-endpoint URL rewriting.
74
93
  * In multi-target tunnel mode, a page from endpoint A may reference
75
- * assets served by endpoint B this map enables rewriting those URLs.
94
+ * assets served by endpoint B -- this map enables rewriting those URLs.
76
95
  */
77
96
  setPeerOriginMap(map) {
78
97
  this.peerOriginMap = map;
79
98
  }
80
- async forward(request) {
99
+ /**
100
+ * Forward a request to the local server.
101
+ *
102
+ * When streamCtx is provided and the response is binary or pre-compressed,
103
+ * chunks are sent directly over WebSocket as they arrive from the origin.
104
+ * Text responses that need URL rewriting are still fully buffered.
105
+ *
106
+ * Returns a WSResponseMessage for buffered responses, or a StreamedResult
107
+ * when the response was streamed via streamCtx.
108
+ */
109
+ async forward(request, streamCtx) {
81
110
  try {
82
111
  // Build full URL: prefer server-provided targetUrl (accounts for canonical_target
83
112
  // and basePath), fall back to constructing from this.targetUrl + request.path.
84
- // When server has canonical_target, targetUrl is a full URL with path+query.
85
- // When server falls back to local_target_url, targetUrl is just a base URL.
86
113
  let url;
87
114
  if (request.targetUrl) {
88
115
  const parsed = new URL(request.targetUrl);
89
116
  if (parsed.pathname === '/') {
90
- // Base URL only (legacy endpoint) — append request path and query
91
117
  url = new URL(request.path, request.targetUrl);
92
118
  Object.entries(request.query).forEach(([key, value]) => {
93
119
  url.searchParams.append(key, value);
94
120
  });
95
121
  }
96
122
  else {
97
- // Full URL from server (from buildForwardingUrl) — use directly
98
123
  url = parsed;
99
124
  }
100
125
  }
@@ -110,21 +135,18 @@ class HttpForwarder {
110
135
  requestData = Buffer.from(request.body, 'base64');
111
136
  }
112
137
  // Follow same-origin redirects internally to avoid tunnel roundtrip latency.
113
- // Apps like WordPress use redirect-based cron (ALTERNATE_WP_CRON) that loops
114
- // when the redirect goes back through the tunnel due to added latency.
115
138
  let currentUrl = url.toString();
116
139
  const currentMethod = request.method;
117
140
  const currentData = requestData;
118
141
  let currentHeaders = this.filterHeaders(request.headers);
119
- // For tunnel mode: set Host to the public tunnel hostname so apps like
120
- // WordPress/Jetpack see the correct domain in $_SERVER['HTTP_HOST'].
121
- // This matches ngrok/Cloudflare Tunnel behavior.
142
+ // For tunnel mode: set Host to the public tunnel hostname
122
143
  const forwardedHost = request.headers['x-forwarded-host'] ||
123
144
  request.headers['X-Forwarded-Host'];
124
145
  if (forwardedHost) {
125
146
  currentHeaders['host'] = String(forwardedHost);
126
147
  }
127
148
  const collectedCookies = [];
149
+ // Use 'stream' responseType so we can decide to stream or buffer after reading headers
128
150
  let response;
129
151
  let redirectCount = 0;
130
152
  const localOrigin = new URL(currentUrl).origin;
@@ -139,7 +161,7 @@ class HttpForwarder {
139
161
  timeout: 120000,
140
162
  maxBodyLength: 150 * 1024 * 1024,
141
163
  maxContentLength: 150 * 1024 * 1024,
142
- responseType: 'arraybuffer',
164
+ responseType: 'stream',
143
165
  httpAgent,
144
166
  httpsAgent,
145
167
  };
@@ -160,8 +182,7 @@ class HttpForwarder {
160
182
  const cookies = Array.isArray(hopCookies) ? hopCookies : [hopCookies];
161
183
  collectedCookies.push(...cookies);
162
184
  }
163
- // Follow same-origin GET/HEAD redirects internally. POST/PUT/DELETE redirects
164
- // are passed back to the browser so it can update its URL bar (PRG pattern).
185
+ // Follow same-origin GET/HEAD redirects internally
165
186
  const status = response.status;
166
187
  const location = response.headers['location'];
167
188
  const isGetOrHead = currentMethod === 'GET' || currentMethod === 'HEAD';
@@ -169,13 +190,12 @@ class HttpForwarder {
169
190
  location &&
170
191
  status >= 300 && status < 400 &&
171
192
  redirectCount < MAX_INTERNAL_REDIRECTS) {
172
- // Resolve relative Location against current URL
173
193
  const resolved = new URL(location, currentUrl);
174
- // Only follow same-origin redirects (security: never leave localhost)
175
194
  if (resolved.origin === localOrigin) {
176
195
  redirectCount++;
177
196
  currentUrl = resolved.toString();
178
- // Forward cookies from this hop to the next request
197
+ // Discard the redirect response body
198
+ response.data.resume();
179
199
  if (collectedCookies.length > 0) {
180
200
  const cookieValues = collectedCookies.map(c => c.split(';')[0]);
181
201
  const existing = currentHeaders['cookie'] || '';
@@ -195,11 +215,60 @@ class HttpForwarder {
195
215
  : [];
196
216
  response.headers['set-cookie'] = [...collectedCookies, ...finalCookieArr];
197
217
  }
198
- // Determine if response is binary
199
218
  const responseContentType = response.headers['content-type'];
200
- const responseBuffer = Buffer.isBuffer(response.data)
201
- ? response.data
202
- : Buffer.from(response.data);
219
+ const responseContentEncoding = response.headers['content-encoding'];
220
+ // ─── Streaming path: binary or pre-compressed responses ───────────
221
+ // Send chunks directly over WebSocket as they arrive from origin.
222
+ // No buffering, no URL rewriting, no re-compression.
223
+ if (streamCtx && canStreamResponse(responseContentType, responseContentEncoding)) {
224
+ const sanitizedHeaders = this.sanitizeHeaders(response.headers);
225
+ // Strip security headers incompatible with tunnel proxying
226
+ delete sanitizedHeaders['content-security-policy'];
227
+ delete sanitizedHeaders['content-security-policy-report-only'];
228
+ delete sanitizedHeaders['x-frame-options'];
229
+ delete sanitizedHeaders['cross-origin-opener-policy'];
230
+ delete sanitizedHeaders['cross-origin-embedder-policy'];
231
+ delete sanitizedHeaders['cross-origin-resource-policy'];
232
+ // Rewrite Location/Link/Cookie headers (these are in headers, not body)
233
+ const remoteHost = request.headers['x-forwarded-host'] ||
234
+ request.headers['X-Forwarded-Host'];
235
+ const remoteProto = request.headers['x-forwarded-proto'] ||
236
+ request.headers['X-Forwarded-Proto'] ||
237
+ 'https';
238
+ const remoteOrigin = remoteHost ? `${remoteProto}://${remoteHost}` : null;
239
+ const effectiveBaseUrl = request.targetUrl
240
+ ? new URL(request.targetUrl).origin
241
+ : this.targetUrl;
242
+ if (remoteOrigin && typeof sanitizedHeaders['location'] === 'string') {
243
+ sanitizedHeaders['location'] = this.rewriteUrl(sanitizedHeaders['location'], remoteOrigin, effectiveBaseUrl);
244
+ }
245
+ if (remoteOrigin && typeof sanitizedHeaders['link'] === 'string') {
246
+ sanitizedHeaders['link'] = this.rewriteUrls(sanitizedHeaders['link'], remoteOrigin, effectiveBaseUrl);
247
+ }
248
+ if (remoteHost && sanitizedHeaders['set-cookie']) {
249
+ sanitizedHeaders['set-cookie'] = this.rewriteCookieDomains(sanitizedHeaders['set-cookie'], remoteHost, effectiveBaseUrl);
250
+ }
251
+ // Send headers immediately -- browser can start processing
252
+ streamCtx.sendStart(request.requestId, response.status, sanitizedHeaders);
253
+ // Pipe body chunks directly.
254
+ // Awaiting sendChunk applies backpressure: if the WS send buffer is
255
+ // full, the await blocks, which stops reading from the HTTP stream,
256
+ // which causes TCP backpressure on the local server connection.
257
+ const stream = response.data;
258
+ for await (const chunk of stream) {
259
+ const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
260
+ await streamCtx.sendChunk(request.requestId, buf);
261
+ }
262
+ streamCtx.sendEnd(request.requestId);
263
+ return { streamed: true, statusCode: response.status };
264
+ }
265
+ // ─── Buffered path: text responses needing URL rewriting ──────────
266
+ // Collect the full body, rewrite URLs, strip CSP, optionally compress.
267
+ const chunks = [];
268
+ for await (const chunk of response.data) {
269
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
270
+ }
271
+ const responseBuffer = Buffer.concat(chunks);
203
272
  const binary = isBinaryContentType(responseContentType);
204
273
  // Build remote origin from proxy headers for URL rewriting
205
274
  const remoteHost = request.headers['x-forwarded-host'] ||
@@ -208,8 +277,6 @@ class HttpForwarder {
208
277
  request.headers['X-Forwarded-Proto'] ||
209
278
  'https';
210
279
  const remoteOrigin = remoteHost ? `${remoteProto}://${remoteHost}` : null;
211
- // Derive the effective local base URL for URL rewriting
212
- // When server provides targetUrl, extract its origin (may differ from this.targetUrl)
213
280
  const effectiveBaseUrl = request.targetUrl
214
281
  ? new URL(request.targetUrl).origin
215
282
  : this.targetUrl;
@@ -218,38 +285,31 @@ class HttpForwarder {
218
285
  if (!binary && remoteOrigin && isTextContentType(responseContentType)) {
219
286
  bodyStr = this.rewriteUrls(bodyStr, remoteOrigin, effectiveBaseUrl);
220
287
  }
221
- // Strip CSP-related meta tags from HTML — CSP breaks when origin changes in tunnels
288
+ // Strip CSP-related meta tags from HTML
222
289
  if (!binary &&
223
290
  typeof responseContentType === 'string' &&
224
291
  responseContentType.toLowerCase().includes('text/html')) {
225
- // Remove ALL CSP meta variations (case + attribute order safe)
226
292
  bodyStr = bodyStr.replace(/<meta\b[^>]*http-equiv\s*=\s*["']?\s*content-security-policy(?:-report-only)?\s*["']?[^>]*>/gi, '');
227
- // Some frameworks inject CSP via <meta content="..." http-equiv="...">
228
293
  bodyStr = bodyStr.replace(/<meta\b[^>]*content\s*=\s*["'][^"']*content-security-policy[^"']*["'][^>]*>/gi, '');
229
- // Do NOT inject a replacement CSP — if the local app had none, adding one
230
- // would be more restrictive than the default (no CSP = everything allowed).
231
294
  }
232
- // Strip CSP headers — incompatible with domain-changing tunnel proxies
295
+ // Strip security headers
233
296
  delete response.headers['content-security-policy'];
234
297
  delete response.headers['content-security-policy-report-only'];
235
298
  delete response.headers['x-frame-options'];
236
299
  delete response.headers['cross-origin-opener-policy'];
237
300
  delete response.headers['cross-origin-embedder-policy'];
238
301
  delete response.headers['cross-origin-resource-policy'];
239
- // Remove Subresource Integrity (SRI) attributes — proxying changes bytes and breaks hashes
302
+ // Remove SRI attributes
240
303
  bodyStr = bodyStr.replace(/\sintegrity\s*=\s*["'][^"']*["']/gi, '');
241
- // crossorigin without integrity is useless and may trigger CORS issues
242
304
  bodyStr = bodyStr.replace(/\scrossorigin\s*=\s*["'][^"']*["']/gi, '');
243
- // Rewrite Location header for redirects
305
+ // Rewrite headers
244
306
  const sanitizedHeaders = this.sanitizeHeaders(response.headers);
245
307
  if (remoteOrigin && typeof sanitizedHeaders['location'] === 'string') {
246
308
  sanitizedHeaders['location'] = this.rewriteUrl(sanitizedHeaders['location'], remoteOrigin, effectiveBaseUrl);
247
309
  }
248
- // Rewrite Link header URLs (e.g. WordPress REST API discovery)
249
310
  if (remoteOrigin && typeof sanitizedHeaders['link'] === 'string') {
250
311
  sanitizedHeaders['link'] = this.rewriteUrls(sanitizedHeaders['link'], remoteOrigin, effectiveBaseUrl);
251
312
  }
252
- // Rewrite Set-Cookie domain attributes to match the tunnel host
253
313
  if (remoteHost && sanitizedHeaders['set-cookie']) {
254
314
  sanitizedHeaders['set-cookie'] = this.rewriteCookieDomains(sanitizedHeaders['set-cookie'], remoteHost, effectiveBaseUrl);
255
315
  }
@@ -267,7 +327,6 @@ class HttpForwarder {
267
327
  bodyEncoding: 'base64',
268
328
  };
269
329
  }
270
- // Return response with appropriate encoding
271
330
  return {
272
331
  type: 'response',
273
332
  requestId: request.requestId,
@@ -278,14 +337,12 @@ class HttpForwarder {
278
337
  };
279
338
  }
280
339
  catch (error) {
281
- // Only report unexpected errors to Sentry; local connection failures are expected
282
340
  const code = error.code;
283
341
  const isLocalError = (code && LOCAL_ERROR_CODES.has(code)) ||
284
342
  (error instanceof Error && LOCAL_ERROR_MESSAGES.some((msg) => error.message.includes(msg)));
285
343
  if (!isLocalError) {
286
344
  (0, sentry_1.captureException)(error);
287
345
  }
288
- // Return error response
289
346
  return {
290
347
  type: 'response',
291
348
  requestId: request.requestId,
@@ -325,7 +382,6 @@ class HttpForwarder {
325
382
  sanitized[key] = value;
326
383
  }
327
384
  else if (Array.isArray(value)) {
328
- // Keep set-cookie as array — joining with ", " breaks cookies
329
385
  if (key.toLowerCase() === 'set-cookie') {
330
386
  sanitized[key] = value.map(String);
331
387
  }
@@ -339,11 +395,9 @@ class HttpForwarder {
339
395
  rewriteCookieDomains(cookies, remoteHost, baseUrl) {
340
396
  const cookieArray = Array.isArray(cookies) ? cookies : [cookies];
341
397
  const localHost = new URL(baseUrl || this.targetUrl).hostname;
342
- // Remote host without port (cookie domain must not have port)
343
398
  const remoteDomain = remoteHost.split(':')[0];
344
399
  return cookieArray.map((cookie) => {
345
- // Replace domain=localhost (or the local hostname) with the tunnel domain
346
- const rewritten = cookie.replace(/domain=([^;,\s]+)/gi, (_match, domain) => {
400
+ return cookie.replace(/domain=([^;,\s]+)/gi, (_match, domain) => {
347
401
  const d = domain.toLowerCase();
348
402
  if (d === localHost ||
349
403
  d === `.${localHost}` ||
@@ -353,18 +407,11 @@ class HttpForwarder {
353
407
  }
354
408
  return _match;
355
409
  });
356
- // If cookie has no domain attribute, it defaults to the request host — which is
357
- // already the tunnel host on the browser side, so no change needed.
358
- // Remove Secure flag if tunnel is not HTTPS (rare but safe)
359
- // Keep Secure flag if it was set — the tunnel typically uses HTTPS.
360
- return rewritten;
361
410
  });
362
411
  }
363
412
  getLocalOrigins(baseUrl) {
364
413
  const parsed = new URL(baseUrl || this.targetUrl);
365
414
  const origins = [parsed.origin];
366
- // Also match the opposite protocol variant (http↔https)
367
- // WordPress and other apps may hardcode https://localhost in their output
368
415
  const altProtocol = parsed.protocol === 'https:' ? 'http:' : 'https:';
369
416
  const altOrigin = `${altProtocol}//${parsed.host}`;
370
417
  origins.push(altOrigin);
@@ -376,16 +423,12 @@ class HttpForwarder {
376
423
  const encodedRemoteOrigin = encodeURIComponent(remoteOrigin);
377
424
  let result = body;
378
425
  for (const origin of origins) {
379
- // Replace plain URLs: http://localhost:9001
380
426
  result = result.split(origin).join(remoteOrigin);
381
- // Replace JSON-escaped URLs: http:\/\/localhost:9001
382
427
  const escapedOrigin = origin.replace(/\//g, '\\/');
383
428
  result = result.split(escapedOrigin).join(escapedRemoteOrigin);
384
- // Replace URL-encoded URLs: http%3A%2F%2Flocalhost%3A9001
385
429
  const encodedOrigin = encodeURIComponent(origin);
386
430
  result = result.split(encodedOrigin).join(encodedRemoteOrigin);
387
431
  }
388
- // Cross-endpoint rewriting: replace peer local origins with their remote origins
389
432
  for (const [peerLocal, peerRemote] of this.peerOriginMap) {
390
433
  const peerOrigins = this.getLocalOrigins(peerLocal);
391
434
  const escapedPeerRemote = peerRemote.replace(/\//g, '\\/');
@@ -407,7 +450,6 @@ class HttpForwarder {
407
450
  return remoteOrigin + url.slice(origin.length);
408
451
  }
409
452
  }
410
- // Check peer origins for cross-endpoint redirects
411
453
  for (const [peerLocal, peerRemote] of this.peerOriginMap) {
412
454
  const peerOrigins = this.getLocalOrigins(peerLocal);
413
455
  for (const peerOrigin of peerOrigins) {
@@ -416,7 +458,6 @@ class HttpForwarder {
416
458
  }
417
459
  }
418
460
  }
419
- // Also rewrite URL-encoded origins inside query strings
420
461
  const encodedRemoteOrigin = encodeURIComponent(remoteOrigin);
421
462
  let result = url;
422
463
  for (const origin of origins) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-forwarder.js","sourceRoot":"","sources":["../../src/core/http-forwarder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-forwarder.js","sourceRoot":"","sources":["../../src/core/http-forwarder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'events';
2
- import { WSRequestMessage, WSResponseMessage } from '../types';
2
+ import { WSRequestMessage, StreamContext, ForwardResult } from '../types';
3
3
  export interface WebSocketClientOptions {
4
4
  wsUrl: string;
5
5
  apiKey: string;
@@ -8,7 +8,10 @@ export interface WebSocketClientOptions {
8
8
  trialToken?: string;
9
9
  sessionId?: string;
10
10
  maxReconnectAttempts?: number;
11
- onRequest: (request: WSRequestMessage) => Promise<WSResponseMessage>;
11
+ /** Pool ID for connection pooling. Multiple connections sharing a poolId
12
+ * count as one logical connection for plan limits. */
13
+ poolId?: string;
14
+ onRequest: (request: WSRequestMessage, streamCtx?: StreamContext) => Promise<ForwardResult>;
12
15
  }
13
16
  export declare class WebSocketClient extends EventEmitter {
14
17
  private ws;
@@ -32,6 +35,8 @@ export declare class WebSocketClient extends EventEmitter {
32
35
  private handleMessage;
33
36
  private handleRequest;
34
37
  private sendRaw;
38
+ private static WS_HWM;
39
+ private sendBinary;
35
40
  disconnect(): void;
36
41
  isConnected(): boolean;
37
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../src/core/websocket-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI/D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtE;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAM;IAClC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,mBAAmB,CAA+B;IAG1D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAI7B;gBAES,OAAO,EAAE,sBAAsB;IAQrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmG9B,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;YA0BX,aAAa;YAuCb,aAAa;IA4B3B,OAAO,CAAC,OAAO;IAMf,UAAU,IAAI,IAAI;IAalB,WAAW,IAAI,OAAO;CAGvB"}
1
+ {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../src/core/websocket-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAqB,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI7F,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;2DACuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAM;IAClC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,mBAAmB,CAA+B;IAG1D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAI7B;gBAES,OAAO,EAAE,sBAAsB;IAQrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmG9B,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;YA0BX,aAAa;YAuCb,aAAa;IA0D3B,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,MAAM,CAAC,MAAM,CAAc;IAEnC,OAAO,CAAC,UAAU;IAqBlB,UAAU,IAAI,IAAI;IAalB,WAAW,IAAI,OAAO;CAGvB"}
@@ -123,6 +123,9 @@ class WebSocketClient extends events_1.EventEmitter {
123
123
  else if (this.options.endpointId) {
124
124
  payload.endpointId = this.options.endpointId;
125
125
  }
126
+ if (this.options.poolId) {
127
+ payload.poolId = this.options.poolId;
128
+ }
126
129
  this.sendRaw({ type: 'auth', payload });
127
130
  }
128
131
  startHeartbeat() {
@@ -190,7 +193,34 @@ class WebSocketClient extends events_1.EventEmitter {
190
193
  }
191
194
  async handleRequest(payload) {
192
195
  try {
193
- const response = await this.options.onRequest(payload);
196
+ // Build a StreamContext that sends chunks as binary WS frames.
197
+ // Binary frame format: 36-byte ASCII requestId + raw chunk data.
198
+ const streamCtx = {
199
+ sendStart: (requestId, statusCode, headers) => {
200
+ this.sendRaw({
201
+ type: 'response_start',
202
+ payload: { requestId, statusCode, headers },
203
+ });
204
+ },
205
+ sendChunk: async (requestId, data) => {
206
+ const idBuf = Buffer.from(requestId.padEnd(36, '\0'));
207
+ const frame = Buffer.concat([idBuf, data]);
208
+ await this.sendBinary(frame);
209
+ },
210
+ sendEnd: (requestId) => {
211
+ this.sendRaw({
212
+ type: 'response_end',
213
+ payload: { requestId },
214
+ });
215
+ },
216
+ };
217
+ const result = await this.options.onRequest(payload, streamCtx);
218
+ // If the response was streamed, chunks were already sent via streamCtx
219
+ if ('streamed' in result && result.streamed) {
220
+ return;
221
+ }
222
+ // Buffered path: send the full response as a single message
223
+ const response = result;
194
224
  this.sendRaw({
195
225
  type: 'response',
196
226
  payload: {
@@ -219,6 +249,30 @@ class WebSocketClient extends events_1.EventEmitter {
219
249
  this.ws.send(JSON.stringify(message));
220
250
  }
221
251
  }
252
+ sendBinary(data) {
253
+ return new Promise((resolve, reject) => {
254
+ if (!this.ws || this.ws.readyState !== ws_1.default.OPEN) {
255
+ resolve();
256
+ return;
257
+ }
258
+ this.ws.send(data, (err) => {
259
+ if (err) {
260
+ reject(err);
261
+ return;
262
+ }
263
+ // If the WS send buffer is above the high-water mark, wait for it
264
+ // to drain before letting the caller send the next chunk.
265
+ // This propagates backpressure to the upstream HTTP stream.
266
+ if (this.ws && this.ws.bufferedAmount > WebSocketClient.WS_HWM) {
267
+ const onDrain = () => resolve();
268
+ this.ws.once('drain', onDrain);
269
+ }
270
+ else {
271
+ resolve();
272
+ }
273
+ });
274
+ });
275
+ }
222
276
  disconnect() {
223
277
  this.shouldReconnect = false;
224
278
  this.stopHeartbeat();
@@ -242,4 +296,7 @@ WebSocketClient.FATAL_CLOSE_CODES = new Set([
242
296
  4002, // Trial expired
243
297
  4003, // Connection limit / no active endpoints
244
298
  ]);
299
+ // High-water mark for WS send buffer backpressure (256KB).
300
+ // When bufferedAmount exceeds this, we wait for drain before sending more.
301
+ WebSocketClient.WS_HWM = 256 * 1024;
245
302
  //# sourceMappingURL=websocket-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../../src/core/websocket-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../../src/core/websocket-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { EventEmitter } from 'events';
2
+ import { WSRequestMessage, StreamContext, ForwardResult } from '../types';
3
+ export interface WebSocketPoolOptions {
4
+ /** Number of parallel WebSocket connections (default: 4) */
5
+ poolSize?: number;
6
+ wsUrl: string;
7
+ apiKey: string;
8
+ endpointId?: string;
9
+ endpointIds?: string[];
10
+ trialToken?: string;
11
+ sessionId?: string;
12
+ maxReconnectAttempts?: number;
13
+ onRequest: (request: WSRequestMessage, streamCtx?: StreamContext) => Promise<ForwardResult>;
14
+ }
15
+ /**
16
+ * Pool of WebSocket connections to the same server.
17
+ *
18
+ * The server dispatches incoming requests round-robin across all
19
+ * connections in the pool, so parallel HTTP requests (JS, CSS, images)
20
+ * travel over separate TCP streams and no longer block each other.
21
+ *
22
+ * All connections share the same poolId so the server counts them
23
+ * as a single logical connection for plan-limit purposes.
24
+ */
25
+ export declare class WebSocketPool extends EventEmitter {
26
+ private clients;
27
+ private options;
28
+ private poolSize;
29
+ private poolId;
30
+ private connectedCount;
31
+ private hasEmittedConnected;
32
+ private hasEmittedReconnected;
33
+ constructor(options: WebSocketPoolOptions);
34
+ connect(): Promise<void>;
35
+ disconnect(): void;
36
+ isConnected(): boolean;
37
+ getActiveCount(): number;
38
+ getPoolSize(): number;
39
+ }
40
+ //# sourceMappingURL=websocket-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-pool.d.ts","sourceRoot":"","sources":["../../src/core/websocket-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG1E,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,OAAO,EAAE,oBAAoB;IAOnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2F9B,UAAU,IAAI,IAAI;IAQlB,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,MAAM;CAGtB"}