@hooklink/cli 0.1.51 → 0.1.53
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.
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +112 -105
- package/dist/commands/connect.js.map +1 -1
- package/dist/core/http-forwarder.d.ts +9 -7
- package/dist/core/http-forwarder.d.ts.map +1 -1
- package/dist/core/http-forwarder.js +216 -103
- package/dist/core/http-forwarder.js.map +1 -1
- package/dist/core/websocket-client.d.ts +26 -6
- package/dist/core/websocket-client.d.ts.map +1 -1
- package/dist/core/websocket-client.js +184 -15
- package/dist/core/websocket-client.js.map +1 -1
- package/dist/types/index.d.ts +6 -12
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8DpC,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8DpC,eAAO,MAAM,cAAc,SAmevB,CAAC"}
|
package/dist/commands/connect.js
CHANGED
|
@@ -67,7 +67,6 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
67
67
|
.option('-t, --target <url>', 'Override local target URL (uses endpoint\'s configured URL by default)')
|
|
68
68
|
.option('-p, --port <port>', 'Override local port (alternative to --target)', parseInt)
|
|
69
69
|
.option('--echo', 'Echo mode: respond to webhooks with a JSON echo instead of forwarding')
|
|
70
|
-
.option('--connections <count>', 'Number of parallel WebSocket connections for tunnel endpoints (default: 4, max: 8)', parseInt)
|
|
71
70
|
.action(async (endpointKeyword, options) => {
|
|
72
71
|
// Check authentication
|
|
73
72
|
let apiKey = config_1.config.get('apiKey');
|
|
@@ -290,13 +289,74 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
290
289
|
const maxKeywordLen = Math.max(...selectedEndpoints.map((ep) => ep.keyword.length));
|
|
291
290
|
// Build endpoint lookup by ID
|
|
292
291
|
const endpointById = new Map(selectedEndpoints.map((ep) => [ep.id, ep]));
|
|
293
|
-
// Determine if
|
|
294
|
-
const
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
292
|
+
// Determine if any endpoint is a tunnel (enables streaming + connection pooling)
|
|
293
|
+
const hasTunnelEndpoint = selectedEndpoints.some((ep) => ep.endpoint_type === 'tunnel');
|
|
294
|
+
// Build streaming request handler for tunnel endpoints
|
|
295
|
+
const onStreamingRequest = hasTunnelEndpoint
|
|
296
|
+
? async (request, callbacks) => {
|
|
297
|
+
const ep = request.endpointId
|
|
298
|
+
? endpointById.get(request.endpointId)
|
|
299
|
+
: selectedEndpoints[0];
|
|
300
|
+
const keyword = ep?.keyword || 'unknown';
|
|
301
|
+
if (forwarderMap) {
|
|
302
|
+
const forwarder = request.endpointId ? forwarderMap.get(request.endpointId) : null;
|
|
303
|
+
if (forwarder) {
|
|
304
|
+
await forwarder.forwardStreaming(request, {
|
|
305
|
+
...callbacks,
|
|
306
|
+
onEnd: (responseTime) => {
|
|
307
|
+
logger_1.Logger.tunnelRequest(keyword, request.method, request.path, 200, maxKeywordLen);
|
|
308
|
+
callbacks.onEnd(responseTime);
|
|
309
|
+
},
|
|
310
|
+
});
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
if (singleForwarder && singleForwarder instanceof http_forwarder_1.HttpForwarder) {
|
|
315
|
+
await singleForwarder.forwardStreaming(request, {
|
|
316
|
+
...callbacks,
|
|
317
|
+
onEnd: (responseTime) => {
|
|
318
|
+
logger_1.Logger.tunnelRequest(keyword, request.method, request.path, 200, maxKeywordLen);
|
|
319
|
+
callbacks.onEnd(responseTime);
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
throw new Error('No forwarder available for streaming');
|
|
325
|
+
}
|
|
326
|
+
: undefined;
|
|
327
|
+
// Create WebSocket client (use pool for tunnel endpoints, single connection for webhooks)
|
|
328
|
+
const wsUrl = config_1.config.get('wsUrl');
|
|
329
|
+
logger_1.Logger.info(`Connecting to ${chalk_1.default.cyan(wsUrl)}...`);
|
|
330
|
+
if (hasTunnelEndpoint) {
|
|
331
|
+
logger_1.Logger.info(`Tunnel mode: using ${chalk_1.default.cyan('4')} parallel WebSocket connections`);
|
|
332
|
+
}
|
|
333
|
+
const wsClient = hasTunnelEndpoint
|
|
334
|
+
? new websocket_client_1.WebSocketPool({
|
|
335
|
+
wsUrl,
|
|
336
|
+
apiKey: apiKey,
|
|
337
|
+
poolSize: 4,
|
|
338
|
+
...(isMultiTarget
|
|
339
|
+
? { endpointIds: selectedEndpoints.map((ep) => ep.id) }
|
|
340
|
+
: { endpointId: selectedEndpoints[0].id }),
|
|
341
|
+
onRequest: async (request) => {
|
|
342
|
+
// Fallback buffered path (used for text/html that needs URL rewriting)
|
|
343
|
+
return handleBufferedRequest(request);
|
|
344
|
+
},
|
|
345
|
+
onStreamingRequest,
|
|
346
|
+
})
|
|
347
|
+
: new websocket_client_1.WebSocketClient({
|
|
348
|
+
wsUrl,
|
|
349
|
+
apiKey: apiKey,
|
|
350
|
+
...(isMultiTarget
|
|
351
|
+
? { endpointIds: selectedEndpoints.map((ep) => ep.id) }
|
|
352
|
+
: { endpointId: selectedEndpoints[0].id }),
|
|
353
|
+
onRequest: async (request) => {
|
|
354
|
+
return handleBufferedRequest(request);
|
|
355
|
+
},
|
|
356
|
+
});
|
|
357
|
+
// Buffered request handler (shared between pool and single client)
|
|
358
|
+
async function handleBufferedRequest(request) {
|
|
359
|
+
// Resolve endpoint for this request
|
|
300
360
|
const ep = request.endpointId
|
|
301
361
|
? endpointById.get(request.endpointId)
|
|
302
362
|
: selectedEndpoints[0];
|
|
@@ -312,6 +372,7 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
312
372
|
return response;
|
|
313
373
|
}
|
|
314
374
|
if (forwarderMap) {
|
|
375
|
+
// Multi-target: route by endpointId
|
|
315
376
|
const endpointId = request.endpointId;
|
|
316
377
|
const forwarder = endpointId ? forwarderMap.get(endpointId) : null;
|
|
317
378
|
if (forwarder) {
|
|
@@ -324,7 +385,8 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
324
385
|
const response = await forwarder.forward(request);
|
|
325
386
|
const duration = Date.now() - startTime;
|
|
326
387
|
if (response.statusCode === 502) {
|
|
327
|
-
|
|
388
|
+
const errMsg = 'connection refused';
|
|
389
|
+
logger_1.Logger.webhookError(keyword, request.method, errMsg, duration, maxKeywordLen);
|
|
328
390
|
}
|
|
329
391
|
else {
|
|
330
392
|
logger_1.Logger.webhookOut(keyword, request.method, response.statusCode, duration, maxKeywordLen);
|
|
@@ -338,11 +400,15 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
338
400
|
}
|
|
339
401
|
}
|
|
340
402
|
else {
|
|
403
|
+
// Tunnel
|
|
404
|
+
const startTime = Date.now();
|
|
341
405
|
const response = await forwarder.forward(request);
|
|
406
|
+
const _duration = Date.now() - startTime;
|
|
342
407
|
logger_1.Logger.tunnelRequest(keyword, request.method, request.path, response.statusCode, maxKeywordLen);
|
|
343
408
|
return response;
|
|
344
409
|
}
|
|
345
410
|
}
|
|
411
|
+
// Backward compat: if no endpointId and only one endpoint, use it
|
|
346
412
|
if (!endpointId && forwarderMap.size === 1) {
|
|
347
413
|
logger_1.Logger.debug('No endpointId in request, using single forwarder fallback');
|
|
348
414
|
const [, onlyForwarder] = [...forwarderMap.entries()][0];
|
|
@@ -359,6 +425,7 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
359
425
|
}
|
|
360
426
|
return response;
|
|
361
427
|
}
|
|
428
|
+
// Find keyword for logging
|
|
362
429
|
const epKeyword = endpointId
|
|
363
430
|
? selectedEndpoints.find((e) => e.id === endpointId)?.keyword
|
|
364
431
|
: undefined;
|
|
@@ -373,7 +440,8 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
373
440
|
const response = await singleForwarder.forward(request);
|
|
374
441
|
const duration = Date.now() - startTime;
|
|
375
442
|
if (response.statusCode === 502) {
|
|
376
|
-
|
|
443
|
+
const errMsg = 'connection refused';
|
|
444
|
+
logger_1.Logger.webhookError(keyword, request.method, errMsg, duration, maxKeywordLen);
|
|
377
445
|
}
|
|
378
446
|
else {
|
|
379
447
|
logger_1.Logger.webhookOut(keyword, request.method, response.statusCode, duration, maxKeywordLen);
|
|
@@ -387,115 +455,54 @@ exports.connectCommand = new commander_1.Command('connect')
|
|
|
387
455
|
}
|
|
388
456
|
}
|
|
389
457
|
else {
|
|
458
|
+
// Tunnel single endpoint
|
|
459
|
+
const startTime = Date.now();
|
|
390
460
|
const response = await singleForwarder.forward(request);
|
|
461
|
+
const _duration = Date.now() - startTime;
|
|
391
462
|
logger_1.Logger.tunnelRequest(keyword, request.method, request.path, response.statusCode, maxKeywordLen);
|
|
392
463
|
return response;
|
|
393
464
|
}
|
|
394
|
-
};
|
|
395
|
-
// Build streaming handler for tunnel endpoints
|
|
396
|
-
const onRequestStreaming = hasTunnelEndpoints && !echoMode
|
|
397
|
-
? async (request, callbacks) => {
|
|
398
|
-
const ep = request.endpointId
|
|
399
|
-
? endpointById.get(request.endpointId)
|
|
400
|
-
: selectedEndpoints[0];
|
|
401
|
-
const keyword = ep?.keyword || 'unknown';
|
|
402
|
-
const isWebhook = !ep || ep.endpoint_type === 'webhook';
|
|
403
|
-
// Only stream tunnel requests; webhooks use buffered path
|
|
404
|
-
if (isWebhook) {
|
|
405
|
-
const response = await onRequest(request);
|
|
406
|
-
const body = response.bodyEncoding === 'base64'
|
|
407
|
-
? Buffer.from(response.body || '', 'base64')
|
|
408
|
-
: Buffer.from(response.body || '', 'utf8');
|
|
409
|
-
const flatHeaders = {};
|
|
410
|
-
for (const [k, v] of Object.entries(response.headers)) {
|
|
411
|
-
flatHeaders[k] = Array.isArray(v) ? v.join(', ') : v;
|
|
412
|
-
}
|
|
413
|
-
callbacks.onHeader(response.statusCode, flatHeaders);
|
|
414
|
-
callbacks.onChunk(body, true);
|
|
415
|
-
return;
|
|
416
|
-
}
|
|
417
|
-
// Tunnel streaming
|
|
418
|
-
const forwarder = forwarderMap
|
|
419
|
-
? (request.endpointId ? forwarderMap.get(request.endpointId) : null) || (forwarderMap.size === 1 ? [...forwarderMap.values()][0] : null)
|
|
420
|
-
: singleForwarder;
|
|
421
|
-
if (!forwarder || !(forwarder instanceof http_forwarder_1.HttpForwarder)) {
|
|
422
|
-
throw new Error('No forwarder available for streaming');
|
|
423
|
-
}
|
|
424
|
-
let statusCode = 200;
|
|
425
|
-
await forwarder.forwardStreaming(request, {
|
|
426
|
-
onHeader: (sc, headers) => {
|
|
427
|
-
statusCode = sc;
|
|
428
|
-
callbacks.onHeader(sc, headers);
|
|
429
|
-
},
|
|
430
|
-
onChunk: callbacks.onChunk,
|
|
431
|
-
});
|
|
432
|
-
logger_1.Logger.tunnelRequest(keyword, request.method, request.path, statusCode, maxKeywordLen);
|
|
433
|
-
}
|
|
434
|
-
: undefined;
|
|
435
|
-
// Create WebSocket client(s)
|
|
436
|
-
const wsUrl = config_1.config.get('wsUrl');
|
|
437
|
-
const wsClients = [];
|
|
438
|
-
const endpointIdConfig = isMultiTarget
|
|
439
|
-
? { endpointIds: selectedEndpoints.map((ep) => ep.id) }
|
|
440
|
-
: { endpointId: selectedEndpoints[0].id };
|
|
441
|
-
if (connectionCount > 1) {
|
|
442
|
-
logger_1.Logger.info(`Opening ${chalk_1.default.cyan(String(connectionCount))} parallel connections to ${chalk_1.default.cyan(wsUrl)}...`);
|
|
443
|
-
}
|
|
444
|
-
else {
|
|
445
|
-
logger_1.Logger.info(`Connecting to ${chalk_1.default.cyan(wsUrl)}...`);
|
|
446
|
-
}
|
|
447
|
-
for (let i = 0; i < connectionCount; i++) {
|
|
448
|
-
const wsClient = new websocket_client_1.WebSocketClient({
|
|
449
|
-
wsUrl,
|
|
450
|
-
apiKey: apiKey,
|
|
451
|
-
...endpointIdConfig,
|
|
452
|
-
onRequest,
|
|
453
|
-
onRequestStreaming,
|
|
454
|
-
});
|
|
455
|
-
// Only the first client emits user-facing events
|
|
456
|
-
if (i === 0) {
|
|
457
|
-
wsClient.on('connected', () => {
|
|
458
|
-
logger_1.Logger.success(connectionCount > 1
|
|
459
|
-
? `WebSocket connected (${connectionCount} connections)`
|
|
460
|
-
: 'WebSocket connected');
|
|
461
|
-
});
|
|
462
|
-
wsClient.on('reconnected', () => logger_1.Logger.success('WebSocket reconnected'));
|
|
463
|
-
wsClient.on('disconnected', () => logger_1.Logger.warning('WebSocket disconnected'));
|
|
464
|
-
wsClient.on('error', (error) => {
|
|
465
|
-
(0, sentry_1.captureException)(error);
|
|
466
|
-
logger_1.Logger.error(`WebSocket error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
467
|
-
});
|
|
468
|
-
wsClient.on('reconnect_exhausted', () => {
|
|
469
|
-
logger_1.Logger.error('All reconnect attempts failed. Process will exit.');
|
|
470
|
-
process.exit(1);
|
|
471
|
-
});
|
|
472
|
-
wsClient.on('fatal_close', (code) => {
|
|
473
|
-
const messages = {
|
|
474
|
-
4001: 'Authentication failed. Check your API key with: hooklink login',
|
|
475
|
-
4002: 'Trial session expired.',
|
|
476
|
-
4003: 'Connection limit reached or no active endpoints. Check your plan and endpoints.',
|
|
477
|
-
};
|
|
478
|
-
logger_1.Logger.error(messages[code] || `Connection rejected by server (code ${code})`);
|
|
479
|
-
process.exit(1);
|
|
480
|
-
});
|
|
481
|
-
}
|
|
482
|
-
wsClients.push(wsClient);
|
|
483
465
|
}
|
|
466
|
+
// Handle events
|
|
467
|
+
wsClient.on('connected', () => {
|
|
468
|
+
logger_1.Logger.success('WebSocket connected');
|
|
469
|
+
});
|
|
470
|
+
wsClient.on('reconnected', () => {
|
|
471
|
+
logger_1.Logger.success('WebSocket reconnected');
|
|
472
|
+
});
|
|
473
|
+
wsClient.on('disconnected', () => {
|
|
474
|
+
logger_1.Logger.warning('WebSocket disconnected');
|
|
475
|
+
});
|
|
476
|
+
wsClient.on('error', (error) => {
|
|
477
|
+
(0, sentry_1.captureException)(error);
|
|
478
|
+
logger_1.Logger.error(`WebSocket error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
479
|
+
});
|
|
480
|
+
wsClient.on('reconnect_exhausted', () => {
|
|
481
|
+
logger_1.Logger.error('All reconnect attempts failed. Process will exit.');
|
|
482
|
+
process.exit(1);
|
|
483
|
+
});
|
|
484
|
+
wsClient.on('fatal_close', (code) => {
|
|
485
|
+
const messages = {
|
|
486
|
+
4001: 'Authentication failed. Check your API key with: hooklink login',
|
|
487
|
+
4002: 'Trial session expired.',
|
|
488
|
+
4003: 'Connection limit reached or no active endpoints. Check your plan and endpoints.',
|
|
489
|
+
};
|
|
490
|
+
logger_1.Logger.error(messages[code] || `Connection rejected by server (code ${code})`);
|
|
491
|
+
process.exit(1);
|
|
492
|
+
});
|
|
484
493
|
// Handle graceful shutdown
|
|
485
494
|
process.on('SIGINT', () => {
|
|
486
495
|
logger_1.Logger.log('');
|
|
487
496
|
logger_1.Logger.info('Shutting down...');
|
|
488
|
-
|
|
489
|
-
client.disconnect();
|
|
497
|
+
wsClient.disconnect();
|
|
490
498
|
process.exit(0);
|
|
491
499
|
});
|
|
492
500
|
process.on('SIGTERM', () => {
|
|
493
|
-
|
|
494
|
-
client.disconnect();
|
|
501
|
+
wsClient.disconnect();
|
|
495
502
|
process.exit(0);
|
|
496
503
|
});
|
|
497
|
-
// Connect
|
|
498
|
-
await
|
|
504
|
+
// Connect
|
|
505
|
+
await wsClient.connect();
|
|
499
506
|
}
|
|
500
507
|
catch (error) {
|
|
501
508
|
(0, sentry_1.captureException)(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WSRequestMessage, WSResponseMessage } from '../types';
|
|
1
|
+
import { WSRequestMessage, WSResponseMessage, StreamCallbacks } from '../types';
|
|
2
2
|
export declare class HttpForwarder {
|
|
3
3
|
private targetUrl;
|
|
4
4
|
private peerOriginMap;
|
|
@@ -17,13 +17,15 @@ export declare class HttpForwarder {
|
|
|
17
17
|
private rewriteUrls;
|
|
18
18
|
private rewriteUrl;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* Stream the upstream HTTP response chunk-by-chunk via callbacks.
|
|
21
|
+
* Binary content and non-tunnel responses stream directly.
|
|
22
|
+
* Text content that needs URL rewriting falls back to the buffered forward() path.
|
|
22
23
|
*/
|
|
23
|
-
forwardStreaming(request: WSRequestMessage, callbacks:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
forwardStreaming(request: WSRequestMessage, callbacks: StreamCallbacks): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the target URL from a request (shared logic between forward and forwardStreaming)
|
|
27
|
+
*/
|
|
28
|
+
private resolveUrl;
|
|
27
29
|
setTargetUrl(url: string): void;
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=http-forwarder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-forwarder.d.ts","sourceRoot":"","sources":["../../src/core/http-forwarder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"http-forwarder.d.ts","sourceRoot":"","sources":["../../src/core/http-forwarder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA8DhF,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAkC;gBAE3C,SAAS,EAAE,MAAM;IAI7B;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI1C,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiRpE,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,UAAU;IAkClB;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAyQ5F;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGhC"}
|