recker 1.0.15-next.0dab95d → 1.0.15-next.0eabd39

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 (108) hide show
  1. package/README.md +10 -1
  2. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  3. package/dist/ai/providers/anthropic.js +4 -1
  4. package/dist/ai/providers/base.d.ts.map +1 -1
  5. package/dist/ai/providers/base.js +7 -2
  6. package/dist/ai/rate-limiter.d.ts.map +1 -1
  7. package/dist/ai/rate-limiter.js +4 -1
  8. package/dist/bench/generator.d.ts.map +1 -1
  9. package/dist/bench/generator.js +7 -3
  10. package/dist/bench/stats.d.ts.map +1 -1
  11. package/dist/bench/stats.js +43 -10
  12. package/dist/cache/memory-storage.d.ts.map +1 -1
  13. package/dist/cache/memory-storage.js +3 -2
  14. package/dist/cli/handler.js +14 -14
  15. package/dist/cli/index.js +582 -49
  16. package/dist/cli/presets.js +5 -5
  17. package/dist/cli/tui/ai-chat.js +10 -10
  18. package/dist/cli/tui/load-dashboard.d.ts.map +1 -1
  19. package/dist/cli/tui/load-dashboard.js +96 -55
  20. package/dist/cli/tui/scroll-buffer.d.ts +1 -1
  21. package/dist/cli/tui/scroll-buffer.d.ts.map +1 -1
  22. package/dist/cli/tui/scroll-buffer.js +2 -2
  23. package/dist/cli/tui/shell.d.ts +3 -0
  24. package/dist/cli/tui/shell.d.ts.map +1 -1
  25. package/dist/cli/tui/shell.js +188 -6
  26. package/dist/cli/tui/websocket.js +17 -17
  27. package/dist/core/client.d.ts.map +1 -1
  28. package/dist/core/client.js +18 -26
  29. package/dist/core/errors.d.ts +109 -1
  30. package/dist/core/errors.d.ts.map +1 -1
  31. package/dist/core/errors.js +214 -1
  32. package/dist/core/request-promise.d.ts.map +1 -1
  33. package/dist/core/request-promise.js +5 -6
  34. package/dist/core/response.d.ts.map +1 -1
  35. package/dist/core/response.js +5 -6
  36. package/dist/dns/propagation.d.ts +3 -1
  37. package/dist/dns/propagation.d.ts.map +1 -1
  38. package/dist/dns/propagation.js +99 -59
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +1 -0
  42. package/dist/mcp/client.d.ts.map +1 -1
  43. package/dist/mcp/client.js +10 -11
  44. package/dist/mcp/embeddings-loader.d.ts.map +1 -1
  45. package/dist/mcp/embeddings-loader.js +12 -2
  46. package/dist/mcp/geoip-loader.d.ts +11 -0
  47. package/dist/mcp/geoip-loader.d.ts.map +1 -0
  48. package/dist/mcp/geoip-loader.js +107 -0
  49. package/dist/mcp/ip-intel.d.ts +28 -0
  50. package/dist/mcp/ip-intel.d.ts.map +1 -0
  51. package/dist/mcp/ip-intel.js +209 -0
  52. package/dist/mcp/search/hybrid-search.d.ts.map +1 -1
  53. package/dist/mcp/search/hybrid-search.js +5 -1
  54. package/dist/mcp/search/math.d.ts.map +1 -1
  55. package/dist/mcp/search/math.js +5 -1
  56. package/dist/mcp/server.d.ts +4 -0
  57. package/dist/mcp/server.d.ts.map +1 -1
  58. package/dist/mcp/server.js +114 -1
  59. package/dist/plugins/compression.js +4 -2
  60. package/dist/plugins/har-player.d.ts.map +1 -1
  61. package/dist/plugins/har-player.js +8 -11
  62. package/dist/plugins/odata.d.ts.map +1 -1
  63. package/dist/plugins/odata.js +5 -2
  64. package/dist/protocols/ftp.d.ts.map +1 -1
  65. package/dist/protocols/ftp.js +69 -16
  66. package/dist/protocols/sftp.d.ts.map +1 -1
  67. package/dist/protocols/sftp.js +13 -3
  68. package/dist/protocols/telnet.d.ts.map +1 -1
  69. package/dist/protocols/telnet.js +25 -6
  70. package/dist/transport/base-udp.d.ts.map +1 -1
  71. package/dist/transport/base-udp.js +7 -4
  72. package/dist/transport/udp-response.d.ts.map +1 -1
  73. package/dist/transport/udp-response.js +10 -3
  74. package/dist/transport/udp.d.ts.map +1 -1
  75. package/dist/transport/udp.js +5 -1
  76. package/dist/transport/undici.d.ts.map +1 -1
  77. package/dist/transport/undici.js +75 -63
  78. package/dist/utils/agent-manager.d.ts +1 -0
  79. package/dist/utils/agent-manager.d.ts.map +1 -1
  80. package/dist/utils/agent-manager.js +11 -0
  81. package/dist/utils/client-pool.d.ts.map +1 -1
  82. package/dist/utils/client-pool.js +4 -1
  83. package/dist/utils/dns-toolkit.d.ts +88 -1
  84. package/dist/utils/dns-toolkit.d.ts.map +1 -1
  85. package/dist/utils/dns-toolkit.js +704 -6
  86. package/dist/utils/doh.d.ts.map +1 -1
  87. package/dist/utils/doh.js +13 -16
  88. package/dist/utils/download.d.ts.map +1 -1
  89. package/dist/utils/download.js +10 -11
  90. package/dist/utils/rdap.d.ts +9 -0
  91. package/dist/utils/rdap.d.ts.map +1 -1
  92. package/dist/utils/rdap.js +78 -9
  93. package/dist/utils/security-grader.d.ts +47 -0
  94. package/dist/utils/security-grader.d.ts.map +1 -0
  95. package/dist/utils/security-grader.js +637 -0
  96. package/dist/utils/sparkline.d.ts +18 -0
  97. package/dist/utils/sparkline.d.ts.map +1 -0
  98. package/dist/utils/sparkline.js +55 -0
  99. package/dist/utils/sse.d.ts.map +1 -1
  100. package/dist/utils/sse.js +5 -6
  101. package/dist/utils/system-metrics.d.ts +26 -0
  102. package/dist/utils/system-metrics.d.ts.map +1 -0
  103. package/dist/utils/system-metrics.js +81 -0
  104. package/dist/webrtc/index.d.ts.map +1 -1
  105. package/dist/webrtc/index.js +21 -7
  106. package/dist/websocket/client.d.ts.map +1 -1
  107. package/dist/websocket/client.js +13 -16
  108. package/package.json +3 -2
@@ -92,7 +92,7 @@ export class RekShell {
92
92
  const commands = [
93
93
  'get', 'post', 'put', 'delete', 'patch', 'head', 'options',
94
94
  'ws', 'udp', 'load', 'chat', 'ai',
95
- 'whois', 'tls', 'ssl', 'dns', 'dns:propagate', 'rdap', 'ping',
95
+ 'whois', 'tls', 'ssl', 'security', 'ip', 'dns', 'dns:propagate', 'dns:email', 'rdap', 'ping',
96
96
  'scrap', '$', '$text', '$attr', '$html', '$links', '$images', '$scripts', '$css', '$sourcemaps', '$unmap', '$unmap:view', '$unmap:save', '$beautify', '$beautify:save', '$table',
97
97
  '?', 'search', 'suggest', 'example',
98
98
  'help', 'clear', 'exit', 'set', 'url', 'vars', 'env'
@@ -157,16 +157,36 @@ export class RekShell {
157
157
  process.stdin.emit = function (event, ...args) {
158
158
  if (event === 'data') {
159
159
  const data = args[0];
160
- const mouseScroll = parseMouseScroll(data);
161
- if (mouseScroll) {
162
- self.handleScrollKey(mouseScroll);
160
+ const str = data.toString();
161
+ if (str.includes('\x1b[<')) {
162
+ const mouseScroll = parseMouseScroll(data);
163
+ if (mouseScroll) {
164
+ self.handleScrollKey(mouseScroll);
165
+ }
166
+ return true;
167
+ }
168
+ if (data.length >= 6 && data[0] === 0x1b && data[1] === 0x5b && data[2] === 0x4d) {
169
+ const mouseScroll = parseMouseScroll(data);
170
+ if (mouseScroll) {
171
+ self.handleScrollKey(mouseScroll);
172
+ }
163
173
  return true;
164
174
  }
165
175
  const scrollKey = parseScrollKey(data);
166
176
  if (scrollKey) {
177
+ if (scrollKey === 'quit') {
178
+ if (self.inScrollMode) {
179
+ self.exitScrollMode();
180
+ return true;
181
+ }
182
+ return originalEmit(event, ...args);
183
+ }
167
184
  self.handleScrollKey(scrollKey);
168
185
  return true;
169
186
  }
187
+ if (self.inScrollMode) {
188
+ return true;
189
+ }
170
190
  }
171
191
  return originalEmit(event, ...args);
172
192
  };
@@ -215,7 +235,7 @@ export class RekShell {
215
235
  return;
216
236
  }
217
237
  break;
218
- case 'escape':
238
+ case 'quit':
219
239
  if (this.inScrollMode) {
220
240
  this.exitScrollMode();
221
241
  return;
@@ -267,7 +287,7 @@ export class RekShell {
267
287
  const scrollInfo = this.scrollBuffer.isScrolledUp
268
288
  ? colors.yellow(`↑ ${this.scrollBuffer.position} lines | ${info.percent}% | `)
269
289
  : '';
270
- const helpText = colors.gray('Page Up/Down • Home/End • Esc to exit');
290
+ const helpText = colors.gray('Page Up/Down • Home/End • Q to exit');
271
291
  const statusBar = `\x1b[${rows};1H\x1b[7m ${scrollInfo}${helpText} \x1b[0m`;
272
292
  this.originalStdoutWrite(statusBar);
273
293
  }
@@ -321,12 +341,21 @@ export class RekShell {
321
341
  case 'ssl':
322
342
  await this.runTLS(parts[1], parts[2] ? parseInt(parts[2]) : 443);
323
343
  return;
344
+ case 'security':
345
+ await this.runSecurityGrader(parts[1]);
346
+ return;
347
+ case 'ip':
348
+ await this.runIpIntelligence(parts[1]);
349
+ return;
324
350
  case 'dns':
325
351
  await this.runDNS(parts[1]);
326
352
  return;
327
353
  case 'dns:propagate':
328
354
  await this.runDNSPropagation(parts[1], parts[2]);
329
355
  return;
356
+ case 'dns:email':
357
+ await this.runDnsEmailCheck(parts[1], parts[2]);
358
+ return;
330
359
  case 'rdap':
331
360
  await this.runRDAP(parts[1]);
332
361
  return;
@@ -869,6 +898,96 @@ export class RekShell {
869
898
  }
870
899
  console.log('');
871
900
  }
901
+ async runSecurityGrader(url) {
902
+ if (!url) {
903
+ url = this.baseUrl || '';
904
+ if (!url) {
905
+ console.log(colors.yellow('Usage: security <url>'));
906
+ console.log(colors.gray(' Examples: security google.com | security https://example.com'));
907
+ console.log(colors.gray(' Or set a base URL first: url https://example.com'));
908
+ return;
909
+ }
910
+ }
911
+ else if (!url.startsWith('http')) {
912
+ url = `https://${url}`;
913
+ }
914
+ console.log(colors.gray(`Analyzing security headers for ${url}...`));
915
+ try {
916
+ const { analyzeSecurityHeaders } = await import('../../utils/security-grader.js');
917
+ const res = await this.client.get(url);
918
+ const report = analyzeSecurityHeaders(res.headers);
919
+ let gradeColor = colors.red;
920
+ if (report.grade.startsWith('A'))
921
+ gradeColor = colors.green;
922
+ else if (report.grade.startsWith('B'))
923
+ gradeColor = colors.blue;
924
+ else if (report.grade.startsWith('C'))
925
+ gradeColor = colors.yellow;
926
+ console.log(`
927
+ ${colors.bold(colors.cyan('🛡️ Security Headers Report'))}
928
+ Grade: ${gradeColor(colors.bold(report.grade))} (${report.score}/100)
929
+
930
+ ${colors.bold('Details:')}`);
931
+ report.details.forEach(item => {
932
+ const icon = item.status === 'pass' ? colors.green('✔') : item.status === 'warn' ? colors.yellow('⚠') : colors.red('✖');
933
+ const headerName = colors.bold(item.header);
934
+ const value = item.value ? colors.gray(`= ${item.value.length > 50 ? item.value.slice(0, 47) + '...' : item.value}`) : colors.gray('(missing)');
935
+ console.log(` ${icon} ${headerName} ${value}`);
936
+ if (item.status !== 'pass') {
937
+ console.log(` ${colors.red('→')} ${item.message}`);
938
+ }
939
+ });
940
+ console.log('');
941
+ this.lastResponse = report;
942
+ }
943
+ catch (error) {
944
+ console.error(colors.red(`Analysis failed: ${error.message}`));
945
+ }
946
+ console.log('');
947
+ }
948
+ async runIpIntelligence(address) {
949
+ if (!address) {
950
+ console.log(colors.yellow('Usage: ip <address>'));
951
+ console.log(colors.gray(' Examples: ip 8.8.8.8 | ip 192.168.1.1'));
952
+ return;
953
+ }
954
+ console.log(colors.gray(`Looking up ${address} using local GeoLite2 database...`));
955
+ try {
956
+ const { getIpInfo, isGeoIPAvailable } = await import('../../mcp/ip-intel.js');
957
+ if (!isGeoIPAvailable()) {
958
+ console.log(colors.gray(`Downloading GeoLite2 database...`));
959
+ }
960
+ const info = await getIpInfo(address);
961
+ if (info.bogon) {
962
+ console.log(colors.yellow(`\n⚠ ${address} is a Bogon/Private IP.`));
963
+ console.log(colors.gray(` Type: ${info.bogonType}`));
964
+ this.lastResponse = info;
965
+ return;
966
+ }
967
+ console.log(`
968
+ ${colors.bold(colors.cyan('🌍 IP Intelligence Report'))}
969
+
970
+ ${colors.bold('Location:')}
971
+ ${colors.gray('City:')} ${info.city || 'N/A'}
972
+ ${colors.gray('Region:')} ${info.region || 'N/A'}
973
+ ${colors.gray('Country:')} ${info.country || 'N/A'} ${info.countryCode ? `(${info.countryCode})` : ''}
974
+ ${colors.gray('Continent:')} ${info.continent || 'N/A'}
975
+ ${colors.gray('Timezone:')} ${info.timezone || 'N/A'}
976
+ ${colors.gray('Coords:')} ${info.loc ? colors.cyan(info.loc) : 'N/A'}
977
+ ${colors.gray('Accuracy:')} ${info.accuracy ? `~${info.accuracy} km` : 'N/A'}
978
+
979
+ ${colors.bold('Network:')}
980
+ ${colors.gray('IP:')} ${info.ip}
981
+ ${colors.gray('Type:')} ${info.isIPv6 ? 'IPv6' : 'IPv4'}
982
+ ${colors.gray('Postal:')} ${info.postal || 'N/A'}
983
+ `);
984
+ this.lastResponse = info;
985
+ }
986
+ catch (error) {
987
+ console.error(colors.red(`IP Lookup Failed: ${error.message}`));
988
+ }
989
+ console.log('');
990
+ }
872
991
  async runDNS(domain) {
873
992
  if (!domain) {
874
993
  domain = this.getBaseDomain() || '';
@@ -950,6 +1069,69 @@ export class RekShell {
950
1069
  console.error(colors.red(`Propagation check failed: ${error.message}`));
951
1070
  }
952
1071
  }
1072
+ async runDnsEmailCheck(domain, selector) {
1073
+ if (!domain) {
1074
+ domain = this.getBaseDomain() || '';
1075
+ if (!domain) {
1076
+ console.log(colors.yellow('Usage: dns:email <domain> [dkim-selector]'));
1077
+ console.log(colors.gray(' Examples: dns:email google.com | dns:email github.com google'));
1078
+ console.log(colors.gray(' Or set a base URL first: url https://example.com'));
1079
+ return;
1080
+ }
1081
+ }
1082
+ console.log(colors.gray(`Checking email security for ${domain}...`));
1083
+ const startTime = performance.now();
1084
+ try {
1085
+ const { validateSpf, validateDmarc, checkDkim } = await import('../../utils/dns-toolkit.js');
1086
+ const [spf, dmarc, dkim] = await Promise.all([
1087
+ validateSpf(domain),
1088
+ validateDmarc(domain),
1089
+ checkDkim(domain, selector || 'default')
1090
+ ]);
1091
+ const duration = Math.round(performance.now() - startTime);
1092
+ console.log(colors.green(`✔ Email security check completed`) + colors.gray(` (${duration}ms)\n`));
1093
+ console.log(colors.bold('SPF:'));
1094
+ if (spf.valid) {
1095
+ console.log(` ${colors.green('✔')} ${spf.record || 'No record'}`);
1096
+ }
1097
+ else {
1098
+ console.log(` ${colors.red('✖')} ${spf.errors?.join(', ') || 'Invalid'}`);
1099
+ }
1100
+ if (spf.warnings?.length) {
1101
+ spf.warnings.forEach((w) => console.log(` ${colors.yellow('⚠')} ${w}`));
1102
+ }
1103
+ console.log(colors.bold('\nDMARC:'));
1104
+ if (dmarc.valid) {
1105
+ console.log(` ${colors.green('✔')} Policy: ${dmarc.policy || 'none'}`);
1106
+ if (dmarc.percentage !== undefined && dmarc.percentage < 100) {
1107
+ console.log(` ${colors.yellow('⚠')} Only ${dmarc.percentage}% of emails affected`);
1108
+ }
1109
+ }
1110
+ else {
1111
+ console.log(` ${colors.red('✖')} No DMARC record found`);
1112
+ }
1113
+ if (dmarc.warnings?.length) {
1114
+ dmarc.warnings.forEach((w) => console.log(` ${colors.yellow('⚠')} ${w}`));
1115
+ }
1116
+ console.log(colors.bold(`\nDKIM (${selector || 'default'}):`));
1117
+ if (dkim.found) {
1118
+ console.log(` ${colors.green('✔')} Record found`);
1119
+ if (dkim.publicKey) {
1120
+ const keyPreview = dkim.publicKey.substring(0, 40) + '...';
1121
+ console.log(` ${colors.gray('Key:')} ${keyPreview}`);
1122
+ }
1123
+ }
1124
+ else {
1125
+ console.log(` ${colors.yellow('⚠')} No DKIM record for selector "${selector || 'default'}"`);
1126
+ console.log(` ${colors.gray('Try: dns:email ' + domain + ' <selector>')}`);
1127
+ }
1128
+ console.log('');
1129
+ this.lastResponse = { spf, dmarc, dkim };
1130
+ }
1131
+ catch (error) {
1132
+ console.error(colors.red(`Email security check failed: ${error.message}`));
1133
+ }
1134
+ }
953
1135
  async runRDAP(domain) {
954
1136
  if (!domain) {
955
1137
  domain = this.getRootDomain() || '';
@@ -1,24 +1,24 @@
1
1
  import readline from 'node:readline';
2
2
  import { createClient } from '../../core/client.js';
3
- import pc from '../../utils/colors.js';
3
+ import colors from '../../utils/colors.js';
4
4
  export async function startInteractiveWebSocket(url, headers) {
5
- console.log(pc.gray('--------------------------------------------------'));
6
- console.log(pc.cyan(`Connecting to ${pc.bold(url)}...`));
7
- console.log(pc.gray('Commands: /quit to exit, /ping to send heartbeat'));
8
- console.log(pc.gray('--------------------------------------------------\n'));
5
+ console.log(colors.gray('--------------------------------------------------'));
6
+ console.log(colors.cyan(`Connecting to ${colors.bold(url)}...`));
7
+ console.log(colors.gray('Commands: /quit to exit, /ping to send heartbeat'));
8
+ console.log(colors.gray('--------------------------------------------------\n'));
9
9
  const client = createClient();
10
10
  let ws;
11
11
  try {
12
12
  ws = client.websocket(url, { headers });
13
13
  }
14
14
  catch (error) {
15
- console.error(pc.red(`Error creating WebSocket: ${error.message}`));
15
+ console.error(colors.red(`Error creating WebSocket: ${error.message}`));
16
16
  return;
17
17
  }
18
18
  const rl = readline.createInterface({
19
19
  input: process.stdin,
20
20
  output: process.stdout,
21
- prompt: pc.green('>> '),
21
+ prompt: colors.green('>> '),
22
22
  });
23
23
  const printIncoming = (text) => {
24
24
  readline.cursorTo(process.stdout, 0);
@@ -27,37 +27,37 @@ export async function startInteractiveWebSocket(url, headers) {
27
27
  rl.prompt(true);
28
28
  };
29
29
  ws.on('open', () => {
30
- printIncoming(pc.green('✔ Connected!'));
30
+ printIncoming(colors.green('✔ Connected!'));
31
31
  rl.prompt();
32
32
  });
33
33
  ws.on('close', (code, reason) => {
34
- printIncoming(pc.red(`✖ Disconnected (Code: ${code}${reason ? `, Reason: ${reason}` : ''})`));
34
+ printIncoming(colors.red(`✖ Disconnected (Code: ${code}${reason ? `, Reason: ${reason}` : ''})`));
35
35
  rl.close();
36
36
  process.exit(0);
37
37
  });
38
38
  ws.on('error', (err) => {
39
- printIncoming(pc.red(`⚠ Error: ${err.message}`));
39
+ printIncoming(colors.red(`⚠ Error: ${err.message}`));
40
40
  });
41
41
  ws.on('message', (msg) => {
42
42
  const content = msg.isBinary
43
- ? pc.yellow(`<Binary ${msg.data.length} bytes>`)
43
+ ? colors.yellow(`<Binary ${msg.data.length} bytes>`)
44
44
  : msg.data.toString();
45
- printIncoming(`${pc.cyan('<<')} ${content}`);
45
+ printIncoming(`${colors.cyan('<<')} ${content}`);
46
46
  });
47
47
  rl.on('line', (line) => {
48
48
  const input = line.trim();
49
49
  readline.moveCursor(process.stdout, 0, -1);
50
50
  readline.clearLine(process.stdout, 0);
51
- console.log(`${pc.green('>>')} ${input}`);
51
+ console.log(`${colors.green('>>')} ${input}`);
52
52
  if (input === '/quit' || input === '/exit') {
53
- console.log(pc.gray('Closing connection...'));
53
+ console.log(colors.gray('Closing connection...'));
54
54
  ws.close();
55
55
  rl.close();
56
56
  return;
57
57
  }
58
58
  if (input === '/ping') {
59
59
  ws.ping();
60
- console.log(pc.gray('(ping sent)'));
60
+ console.log(colors.gray('(ping sent)'));
61
61
  rl.prompt();
62
62
  return;
63
63
  }
@@ -66,11 +66,11 @@ export async function startInteractiveWebSocket(url, headers) {
66
66
  ws.send(input);
67
67
  }
68
68
  catch (err) {
69
- console.error(pc.red(`Failed to send: ${err.message}`));
69
+ console.error(colors.red(`Failed to send: ${err.message}`));
70
70
  }
71
71
  }
72
72
  else if (input && !ws.isConnected) {
73
- console.log(pc.yellow('Not connected.'));
73
+ console.log(colors.yellow('Not connected.'));
74
74
  }
75
75
  rl.prompt();
76
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { consoleLogger } from '../types/index.js';
2
2
  import { HttpRequest } from './request.js';
3
3
  import { UndiciTransport } from '../transport/undici.js';
4
4
  import { RequestPromise } from './request-promise.js';
5
- import { HttpError, MaxSizeExceededError, ReckerError } from '../core/errors.js';
5
+ import { HttpError, MaxSizeExceededError, ConfigurationError, ValidationError, TimeoutError } from '../core/errors.js';
6
6
  import { processBody, createFormData, isPlainObject } from '../utils/body.js';
7
7
  import { AgentManager } from '../utils/agent-manager.js';
8
8
  import { RequestPool } from '../utils/request-pool.js';
@@ -94,11 +94,9 @@ export class Client {
94
94
  });
95
95
  }
96
96
  else {
97
- throw new ReckerError('baseUrl is required for default UndiciTransport, or provide a custom transport.', undefined, undefined, [
98
- 'Set baseUrl when using the built-in Undici transport.',
99
- 'Pass an absolute URL to each request.',
100
- 'Provide a custom transport if you need to handle relative paths differently.'
101
- ]);
97
+ throw new ConfigurationError('baseUrl is required for default UndiciTransport, or provide a custom transport.', {
98
+ configKey: 'baseUrl',
99
+ });
102
100
  }
103
101
  if (options.retry) {
104
102
  retry(options.retry)(this);
@@ -375,11 +373,10 @@ export class Client {
375
373
  usedParams.add(paramName);
376
374
  return encodeURIComponent(String(mergedParams[paramName]));
377
375
  }
378
- throw new ReckerError(`Missing required path parameter: ${paramName}`, undefined, undefined, [
379
- `Provide '${paramName}' in request params or defaults.`,
380
- 'Ensure the path template matches the provided params.',
381
- 'If optional, remove the placeholder from the path.'
382
- ]);
376
+ throw new ValidationError(`Missing required path parameter: ${paramName}`, {
377
+ field: paramName,
378
+ value: undefined,
379
+ });
383
380
  });
384
381
  }
385
382
  let finalUrl;
@@ -392,11 +389,9 @@ export class Client {
392
389
  finalUrl = base + p;
393
390
  }
394
391
  else {
395
- throw new ReckerError('Relative path provided without a baseUrl or explicit transport.', undefined, undefined, [
396
- 'Set baseUrl when creating the client.',
397
- 'Use an absolute URL in request().',
398
- 'Provide a custom transport that resolves relative paths.'
399
- ]);
392
+ throw new ConfigurationError('Relative path provided without a baseUrl or explicit transport.', {
393
+ configKey: 'baseUrl',
394
+ });
400
395
  }
401
396
  const remainingKeys = Object.keys(mergedParams).filter((k) => !usedParams.has(k));
402
397
  if (remainingKeys.length > 0) {
@@ -446,11 +441,10 @@ export class Client {
446
441
  if (timeout) {
447
442
  const totalTimeout = typeof timeout === 'number' ? timeout : timeout.request;
448
443
  if (totalTimeout) {
449
- timeoutId = setTimeout(() => controller.abort(new ReckerError('Request timed out (total timeout reached)', req, undefined, [
450
- 'Increase the timeout value for long-running requests.',
451
- 'Check upstream performance or network latency.',
452
- 'Use per-phase timeouts to pinpoint where the delay occurs.'
453
- ])), totalTimeout);
444
+ timeoutId = setTimeout(() => controller.abort(new TimeoutError(req, {
445
+ phase: 'request',
446
+ timeout: totalTimeout,
447
+ })), totalTimeout);
454
448
  }
455
449
  }
456
450
  }
@@ -645,11 +639,9 @@ export class Client {
645
639
  wsUrl = new URL(path, base).toString();
646
640
  }
647
641
  else {
648
- throw new ReckerError('WebSocket requires either a full ws:// URL or a baseUrl', undefined, undefined, [
649
- 'Pass a full ws:// or wss:// URL to websocket().',
650
- 'Configure baseUrl so relative websocket paths can be resolved.',
651
- 'Ensure the baseUrl uses http/https so it can be converted to ws/wss.'
652
- ]);
642
+ throw new ConfigurationError('WebSocket requires either a full ws:// URL or a baseUrl', {
643
+ configKey: 'baseUrl',
644
+ });
653
645
  }
654
646
  const headersObj = {};
655
647
  if (this.defaultHeaders) {
@@ -11,7 +11,7 @@ export declare class HttpError extends ReckerError {
11
11
  statusText: string;
12
12
  constructor(response: ReckerResponse, request?: ReckerRequest);
13
13
  }
14
- export type TimeoutPhase = 'lookup' | 'connect' | 'secureConnect' | 'socket' | 'send' | 'response' | 'request';
14
+ export type TimeoutPhase = 'lookup' | 'connect' | 'secureConnect' | 'socket' | 'send' | 'response' | 'request' | 'webrtc-connect';
15
15
  export declare class TimeoutError extends ReckerError {
16
16
  phase: TimeoutPhase;
17
17
  timeout: number;
@@ -32,4 +32,112 @@ export declare class MaxSizeExceededError extends ReckerError {
32
32
  actualSize?: number;
33
33
  constructor(maxSize: number, actualSize?: number, request?: ReckerRequest);
34
34
  }
35
+ export declare class AbortError extends ReckerError {
36
+ reason?: string;
37
+ constructor(reason?: string, request?: ReckerRequest);
38
+ }
39
+ export declare class ConnectionError extends ReckerError {
40
+ host?: string;
41
+ port?: number;
42
+ code?: string;
43
+ constructor(message: string, options?: {
44
+ host?: string;
45
+ port?: number;
46
+ code?: string;
47
+ retriable?: boolean;
48
+ request?: ReckerRequest;
49
+ });
50
+ }
51
+ export declare class AuthenticationError extends ReckerError {
52
+ authType?: string;
53
+ constructor(message: string, options?: {
54
+ authType?: string;
55
+ request?: ReckerRequest;
56
+ });
57
+ }
58
+ export declare class ProtocolError extends ReckerError {
59
+ protocol: string;
60
+ code?: string | number;
61
+ phase?: string;
62
+ constructor(message: string, options: {
63
+ protocol: string;
64
+ code?: string | number;
65
+ phase?: string;
66
+ retriable?: boolean;
67
+ request?: ReckerRequest;
68
+ });
69
+ }
70
+ export declare class NotFoundError extends ReckerError {
71
+ resource?: string;
72
+ constructor(message: string, options?: {
73
+ resource?: string;
74
+ request?: ReckerRequest;
75
+ });
76
+ }
77
+ export declare class StateError extends ReckerError {
78
+ expectedState?: string;
79
+ actualState?: string;
80
+ constructor(message: string, options?: {
81
+ expectedState?: string;
82
+ actualState?: string;
83
+ request?: ReckerRequest;
84
+ });
85
+ }
86
+ export declare class ValidationError extends ReckerError {
87
+ field?: string;
88
+ value?: unknown;
89
+ constructor(message: string, options?: {
90
+ field?: string;
91
+ value?: unknown;
92
+ request?: ReckerRequest;
93
+ });
94
+ }
95
+ export declare class ConfigurationError extends ReckerError {
96
+ configKey?: string;
97
+ constructor(message: string, options?: {
98
+ configKey?: string;
99
+ request?: ReckerRequest;
100
+ });
101
+ }
102
+ export declare class UnsupportedError extends ReckerError {
103
+ feature?: string;
104
+ constructor(message: string, options?: {
105
+ feature?: string;
106
+ request?: ReckerRequest;
107
+ });
108
+ }
109
+ export declare class ParseError extends ReckerError {
110
+ format?: string;
111
+ position?: number;
112
+ constructor(message: string, options?: {
113
+ format?: string;
114
+ position?: number;
115
+ request?: ReckerRequest;
116
+ });
117
+ }
118
+ export declare class QueueCancelledError extends ReckerError {
119
+ queueName?: string;
120
+ constructor(message?: string, options?: {
121
+ queueName?: string;
122
+ request?: ReckerRequest;
123
+ });
124
+ }
125
+ export declare class StreamError extends ReckerError {
126
+ streamType?: string;
127
+ constructor(message: string, options?: {
128
+ streamType?: string;
129
+ retriable?: boolean;
130
+ request?: ReckerRequest;
131
+ });
132
+ }
133
+ export declare class DownloadError extends ReckerError {
134
+ url?: string;
135
+ statusCode?: number;
136
+ constructor(message: string, options?: {
137
+ url?: string;
138
+ statusCode?: number;
139
+ retriable?: boolean;
140
+ request?: ReckerRequest;
141
+ });
142
+ }
35
143
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAElE,qBAAa,WAAY,SAAQ,KAAK;IACpC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,EACvB,QAAQ,CAAC,EAAE,cAAc,EACzB,WAAW,GAAE,MAAM,EAAO,EAC1B,SAAS,UAAQ;CASpB;AAED,qBAAa,SAAU,SAAQ,WAAW;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;gBAEP,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa;CAY9D;AAKD,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,eAAe,GACf,QAAQ,GACR,MAAM,GACN,UAAU,GACV,SAAS,CAAC;AAMd,qBAAa,YAAa,SAAQ,WAAW;IAI3C,KAAK,EAAE,YAAY,CAAC;IAKpB,OAAO,EAAE,MAAM,CAAC;IAKhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAKjB,KAAK,EAAE,MAAM,CAAC;gBAGZ,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;CAqCJ;AAED,qBAAa,YAAa,SAAQ,WAAW;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;CAUpE;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;CAmB1E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}