recker 1.0.15 → 1.0.17-next.9570ed5

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 (142) hide show
  1. package/README.md +86 -97
  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 +8 -3
  10. package/dist/bench/stats.d.ts +15 -1
  11. package/dist/bench/stats.d.ts.map +1 -1
  12. package/dist/bench/stats.js +117 -5
  13. package/dist/cache/memory-storage.d.ts.map +1 -1
  14. package/dist/cache/memory-storage.js +3 -2
  15. package/dist/cli/handler.js +14 -14
  16. package/dist/cli/index.js +602 -48
  17. package/dist/cli/presets.js +5 -5
  18. package/dist/cli/tui/ai-chat.js +10 -10
  19. package/dist/cli/tui/load-dashboard.d.ts.map +1 -1
  20. package/dist/cli/tui/load-dashboard.js +127 -32
  21. package/dist/cli/tui/scroll-buffer.d.ts +43 -0
  22. package/dist/cli/tui/scroll-buffer.d.ts.map +1 -0
  23. package/dist/cli/tui/scroll-buffer.js +162 -0
  24. package/dist/cli/tui/search-panel.d.ts +41 -0
  25. package/dist/cli/tui/search-panel.d.ts.map +1 -0
  26. package/dist/cli/tui/search-panel.js +420 -0
  27. package/dist/cli/tui/shell.d.ts +14 -0
  28. package/dist/cli/tui/shell.d.ts.map +1 -1
  29. package/dist/cli/tui/shell.js +424 -46
  30. package/dist/cli/tui/websocket.js +17 -17
  31. package/dist/contract/index.d.ts.map +1 -1
  32. package/dist/contract/index.js +3 -2
  33. package/dist/core/client.d.ts.map +1 -1
  34. package/dist/core/client.js +18 -26
  35. package/dist/core/errors.d.ts +109 -1
  36. package/dist/core/errors.d.ts.map +1 -1
  37. package/dist/core/errors.js +214 -1
  38. package/dist/core/request-promise.d.ts.map +1 -1
  39. package/dist/core/request-promise.js +5 -6
  40. package/dist/core/response.d.ts.map +1 -1
  41. package/dist/core/response.js +5 -6
  42. package/dist/dns/index.d.ts +1 -0
  43. package/dist/dns/index.d.ts.map +1 -1
  44. package/dist/dns/index.js +1 -0
  45. package/dist/dns/propagation.d.ts +21 -0
  46. package/dist/dns/propagation.d.ts.map +1 -0
  47. package/dist/dns/propagation.js +169 -0
  48. package/dist/index.d.ts +3 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +3 -0
  51. package/dist/mcp/client.d.ts.map +1 -1
  52. package/dist/mcp/client.js +10 -11
  53. package/dist/mcp/embeddings-loader.d.ts +18 -0
  54. package/dist/mcp/embeddings-loader.d.ts.map +1 -0
  55. package/dist/mcp/embeddings-loader.js +162 -0
  56. package/dist/mcp/geoip-loader.d.ts +11 -0
  57. package/dist/mcp/geoip-loader.d.ts.map +1 -0
  58. package/dist/mcp/geoip-loader.js +107 -0
  59. package/dist/mcp/index.d.ts +1 -0
  60. package/dist/mcp/index.d.ts.map +1 -1
  61. package/dist/mcp/index.js +1 -0
  62. package/dist/mcp/ip-intel.d.ts +28 -0
  63. package/dist/mcp/ip-intel.d.ts.map +1 -0
  64. package/dist/mcp/ip-intel.js +209 -0
  65. package/dist/mcp/search/hybrid-search.d.ts.map +1 -1
  66. package/dist/mcp/search/hybrid-search.js +59 -38
  67. package/dist/mcp/search/math.d.ts.map +1 -1
  68. package/dist/mcp/search/math.js +5 -1
  69. package/dist/mcp/server.d.ts +6 -0
  70. package/dist/mcp/server.d.ts.map +1 -1
  71. package/dist/mcp/server.js +122 -2
  72. package/dist/plugins/compression.js +4 -2
  73. package/dist/plugins/har-player.d.ts.map +1 -1
  74. package/dist/plugins/har-player.js +8 -11
  75. package/dist/plugins/odata.d.ts.map +1 -1
  76. package/dist/plugins/odata.js +5 -2
  77. package/dist/presets/index.d.ts +2 -0
  78. package/dist/presets/index.d.ts.map +1 -1
  79. package/dist/presets/index.js +2 -0
  80. package/dist/presets/mailgun.d.ts +8 -0
  81. package/dist/presets/mailgun.d.ts.map +1 -0
  82. package/dist/presets/mailgun.js +20 -0
  83. package/dist/presets/registry.d.ts.map +1 -1
  84. package/dist/presets/registry.js +20 -0
  85. package/dist/presets/sinch.d.ts +10 -0
  86. package/dist/presets/sinch.d.ts.map +1 -0
  87. package/dist/presets/sinch.js +39 -0
  88. package/dist/protocols/ftp.d.ts.map +1 -1
  89. package/dist/protocols/ftp.js +69 -16
  90. package/dist/protocols/sftp.d.ts.map +1 -1
  91. package/dist/protocols/sftp.js +13 -3
  92. package/dist/protocols/telnet.d.ts.map +1 -1
  93. package/dist/protocols/telnet.js +25 -6
  94. package/dist/recker.d.ts +47 -0
  95. package/dist/recker.d.ts.map +1 -0
  96. package/dist/recker.js +99 -0
  97. package/dist/transport/base-udp.d.ts.map +1 -1
  98. package/dist/transport/base-udp.js +7 -4
  99. package/dist/transport/udp-response.d.ts.map +1 -1
  100. package/dist/transport/udp-response.js +10 -3
  101. package/dist/transport/udp.d.ts.map +1 -1
  102. package/dist/transport/udp.js +5 -1
  103. package/dist/transport/undici.d.ts.map +1 -1
  104. package/dist/transport/undici.js +75 -63
  105. package/dist/utils/agent-manager.d.ts +1 -0
  106. package/dist/utils/agent-manager.d.ts.map +1 -1
  107. package/dist/utils/agent-manager.js +11 -0
  108. package/dist/utils/client-pool.d.ts.map +1 -1
  109. package/dist/utils/client-pool.js +4 -1
  110. package/dist/utils/colors.d.ts +16 -0
  111. package/dist/utils/colors.d.ts.map +1 -1
  112. package/dist/utils/colors.js +16 -0
  113. package/dist/utils/dns-toolkit.d.ts +88 -1
  114. package/dist/utils/dns-toolkit.d.ts.map +1 -1
  115. package/dist/utils/dns-toolkit.js +704 -6
  116. package/dist/utils/doh.d.ts.map +1 -1
  117. package/dist/utils/doh.js +13 -16
  118. package/dist/utils/download.d.ts.map +1 -1
  119. package/dist/utils/download.js +10 -11
  120. package/dist/utils/rdap.d.ts +9 -0
  121. package/dist/utils/rdap.d.ts.map +1 -1
  122. package/dist/utils/rdap.js +78 -9
  123. package/dist/utils/security-grader.d.ts +47 -0
  124. package/dist/utils/security-grader.d.ts.map +1 -0
  125. package/dist/utils/security-grader.js +637 -0
  126. package/dist/utils/sparkline.d.ts +18 -0
  127. package/dist/utils/sparkline.d.ts.map +1 -0
  128. package/dist/utils/sparkline.js +55 -0
  129. package/dist/utils/sse.d.ts.map +1 -1
  130. package/dist/utils/sse.js +5 -6
  131. package/dist/utils/system-metrics.d.ts +26 -0
  132. package/dist/utils/system-metrics.d.ts.map +1 -0
  133. package/dist/utils/system-metrics.js +81 -0
  134. package/dist/utils/tls-inspector.d.ts +6 -0
  135. package/dist/utils/tls-inspector.d.ts.map +1 -1
  136. package/dist/utils/tls-inspector.js +35 -1
  137. package/dist/webrtc/index.d.ts.map +1 -1
  138. package/dist/webrtc/index.js +21 -7
  139. package/dist/websocket/client.d.ts.map +1 -1
  140. package/dist/websocket/client.js +13 -16
  141. package/package.json +4 -3
  142. package/dist/mcp/data/embeddings.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"odata.d.ts","sourceRoot":"","sources":["../../src/plugins/odata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odata.d.ts","sourceRoot":"","sources":["../../src/plugins/odata.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { UnsupportedError, HttpError } from '../core/errors.js';
1
2
  export class ODataException extends Error {
2
3
  code;
3
4
  target;
@@ -360,7 +361,9 @@ export class ODataClient {
360
361
  response = await this.client.delete(url, options);
361
362
  break;
362
363
  default:
363
- throw new Error(`Unsupported method: ${method}`);
364
+ throw new UnsupportedError(`Unsupported HTTP method: ${method}`, {
365
+ feature: method,
366
+ });
364
367
  }
365
368
  return this.handleResponse(response);
366
369
  }
@@ -374,7 +377,7 @@ export class ODataClient {
374
377
  if (error.error) {
375
378
  throw new ODataException(error.error);
376
379
  }
377
- throw new Error(`OData request failed: ${response.status}`);
380
+ throw new HttpError(response);
378
381
  }
379
382
  return data;
380
383
  }
@@ -20,6 +20,8 @@ export * from './supabase.js';
20
20
  export * from './digitalocean.js';
21
21
  export * from './stripe.js';
22
22
  export * from './twilio.js';
23
+ export * from './mailgun.js';
24
+ export * from './sinch.js';
23
25
  export * from './linear.js';
24
26
  export * from './notion.js';
25
27
  export * from './slack.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC"}
@@ -20,6 +20,8 @@ export * from './supabase.js';
20
20
  export * from './digitalocean.js';
21
21
  export * from './stripe.js';
22
22
  export * from './twilio.js';
23
+ export * from './mailgun.js';
24
+ export * from './sinch.js';
23
25
  export * from './linear.js';
24
26
  export * from './notion.js';
25
27
  export * from './slack.js';
@@ -0,0 +1,8 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface MailgunPresetOptions {
3
+ apiKey: string;
4
+ domain?: string;
5
+ region?: 'us' | 'eu';
6
+ }
7
+ export declare function mailgun(options: MailgunPresetOptions): ClientOptions;
8
+ //# sourceMappingURL=mailgun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailgun.d.ts","sourceRoot":"","sources":["../../src/presets/mailgun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IAInC,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAMD,wBAAgB,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAoBpE"}
@@ -0,0 +1,20 @@
1
+ export function mailgun(options) {
2
+ const credentials = Buffer.from(`api:${options.apiKey}`).toString('base64');
3
+ const baseHost = options.region === 'eu' ? 'api.eu.mailgun.net' : 'api.mailgun.net';
4
+ const baseUrl = options.domain
5
+ ? `https://${baseHost}/v3/${options.domain}`
6
+ : `https://${baseHost}/v3`;
7
+ return {
8
+ baseUrl,
9
+ headers: {
10
+ 'Authorization': `Basic ${credentials}`,
11
+ },
12
+ timeout: 30 * 1000,
13
+ retry: {
14
+ maxAttempts: 3,
15
+ backoff: 'exponential',
16
+ delay: 1000,
17
+ statusCodes: [408, 429, 500, 502, 503, 504]
18
+ }
19
+ };
20
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/presets/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAiClD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,aAAa,CAAC;AAK5D,MAAM,WAAW,UAAU;IAEzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,OAAO,EAAE,aAAa,CAAC;IAEvB,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAE/C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,eAAO,MAAM,cAAc,EAAE,UAAU,EAgQtC,CAAC;AAiBF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAShE;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE9D;AAQD,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,CAKzF;AAKD,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAE5C;AAKD,wBAAgB,gBAAgB,IAAI,UAAU,EAAE,CAE/C;AAKD,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAKD,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,CAElD"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/presets/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAmClD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,aAAa,CAAC;AAK5D,MAAM,WAAW,UAAU;IAEzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,OAAO,EAAE,aAAa,CAAC;IAEvB,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAE/C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,eAAO,MAAM,cAAc,EAAE,UAAU,EAkRtC,CAAC;AAiBF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAShE;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE9D;AAQD,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,CAKzF;AAKD,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAE5C;AAKD,wBAAgB,gBAAgB,IAAI,UAAU,EAAE,CAE/C;AAKD,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAKD,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,CAElD"}
@@ -19,6 +19,8 @@ import { vercel } from './vercel.js';
19
19
  import { supabase } from './supabase.js';
20
20
  import { stripe } from './stripe.js';
21
21
  import { twilio } from './twilio.js';
22
+ import { mailgun } from './mailgun.js';
23
+ import { sinch } from './sinch.js';
22
24
  import { digitalocean } from './digitalocean.js';
23
25
  import { linear } from './linear.js';
24
26
  import { notion } from './notion.js';
@@ -232,6 +234,24 @@ export const presetRegistry = [
232
234
  requiredAuth: ['accountSid', 'authToken'],
233
235
  docsUrl: 'https://www.twilio.com/docs/usage/api',
234
236
  },
237
+ {
238
+ name: 'mailgun',
239
+ displayName: 'Mailgun',
240
+ patterns: [/api\.mailgun\.net/, /api\.eu\.mailgun\.net/],
241
+ factory: mailgun,
242
+ category: 'saas',
243
+ requiredAuth: ['apiKey'],
244
+ docsUrl: 'https://documentation.mailgun.com/docs/mailgun/api-reference/',
245
+ },
246
+ {
247
+ name: 'sinch',
248
+ displayName: 'Sinch',
249
+ patterns: [/\.api\.sinch\.com/, /sms\.api\.sinch\.com/, /calling\.api\.sinch\.com/],
250
+ factory: sinch,
251
+ category: 'saas',
252
+ requiredAuth: ['projectId', 'keyId', 'keySecret'],
253
+ docsUrl: 'https://developers.sinch.com/docs/',
254
+ },
235
255
  {
236
256
  name: 'digitalocean',
237
257
  displayName: 'DigitalOcean',
@@ -0,0 +1,10 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface SinchPresetOptions {
3
+ projectId: string;
4
+ keyId: string;
5
+ keySecret: string;
6
+ product?: 'sms' | 'voice' | 'conversation' | 'numbers' | 'verification';
7
+ region?: 'us' | 'eu' | 'au' | 'br' | 'ca';
8
+ }
9
+ export declare function sinch(options: SinchPresetOptions): ClientOptions;
10
+ //# sourceMappingURL=sinch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sinch.d.ts","sourceRoot":"","sources":["../../src/presets/sinch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,kBAAkB;IAIjC,SAAS,EAAE,MAAM,CAAC;IAIlB,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;IAKxE,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3C;AAqBD,wBAAgB,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa,CA0BhE"}
@@ -0,0 +1,39 @@
1
+ const SMS_REGIONS = {
2
+ us: 'https://us.sms.api.sinch.com',
3
+ eu: 'https://eu.sms.api.sinch.com',
4
+ au: 'https://au.sms.api.sinch.com',
5
+ br: 'https://br.sms.api.sinch.com',
6
+ ca: 'https://ca.sms.api.sinch.com',
7
+ };
8
+ const PRODUCT_URLS = {
9
+ voice: 'https://calling.api.sinch.com',
10
+ conversation: 'https://us.conversation.api.sinch.com',
11
+ numbers: 'https://numbers.api.sinch.com',
12
+ verification: 'https://verification.api.sinch.com',
13
+ };
14
+ export function sinch(options) {
15
+ const credentials = Buffer.from(`${options.keyId}:${options.keySecret}`).toString('base64');
16
+ const product = options.product ?? 'sms';
17
+ const region = options.region ?? 'us';
18
+ let baseUrl;
19
+ if (product === 'sms') {
20
+ baseUrl = `${SMS_REGIONS[region]}/xms/v1/${options.projectId}`;
21
+ }
22
+ else {
23
+ baseUrl = `${PRODUCT_URLS[product]}/v1/projects/${options.projectId}`;
24
+ }
25
+ return {
26
+ baseUrl,
27
+ headers: {
28
+ 'Authorization': `Basic ${credentials}`,
29
+ 'Content-Type': 'application/json',
30
+ },
31
+ timeout: 30 * 1000,
32
+ retry: {
33
+ maxAttempts: 3,
34
+ backoff: 'exponential',
35
+ delay: 1000,
36
+ statusCodes: [408, 429, 500, 502, 503, 504]
37
+ }
38
+ };
39
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ftp.d.ts","sourceRoot":"","sources":["../../src/protocols/ftp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ftp.d.ts","sourceRoot":"","sources":["../../src/protocols/ftp.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { connect as tlsConnect } from 'node:tls';
3
3
  import { Readable, Writable } from 'node:stream';
4
4
  import { createWriteStream, createReadStream } from 'node:fs';
5
5
  import { EventEmitter } from 'node:events';
6
+ import { ProtocolError, StateError, AuthenticationError, ConnectionError, TimeoutError, ParseError, } from '../core/errors.js';
6
7
  const ResponseCode = {
7
8
  RESTART_MARKER: 110,
8
9
  SERVICE_READY_IN: 120,
@@ -88,7 +89,11 @@ export class FTP extends EventEmitter {
88
89
  const welcome = await this.readResponse();
89
90
  this.debug('Welcome: %s', welcome.message);
90
91
  if (welcome.code !== ResponseCode.SERVICE_READY) {
91
- throw new Error(`Server not ready: ${welcome.message}`);
92
+ throw new ProtocolError(`Server not ready: ${welcome.message}`, {
93
+ protocol: 'ftp',
94
+ code: welcome.code,
95
+ phase: 'connect',
96
+ });
92
97
  }
93
98
  await this.authenticate();
94
99
  await this.sendCommand('TYPE I');
@@ -173,7 +178,11 @@ export class FTP extends EventEmitter {
173
178
  const response = await this.readResponse();
174
179
  if (response.code !== ResponseCode.CLOSING_DATA_CONNECTION &&
175
180
  response.code !== ResponseCode.FILE_ACTION_OK) {
176
- throw new Error(response.message);
181
+ throw new ProtocolError(response.message, {
182
+ protocol: 'ftp',
183
+ code: response.code,
184
+ phase: 'transfer',
185
+ });
177
186
  }
178
187
  return {
179
188
  success: true,
@@ -259,7 +268,11 @@ export class FTP extends EventEmitter {
259
268
  const response = await this.readResponse();
260
269
  if (response.code !== ResponseCode.CLOSING_DATA_CONNECTION &&
261
270
  response.code !== ResponseCode.FILE_ACTION_OK) {
262
- throw new Error(response.message);
271
+ throw new ProtocolError(response.message, {
272
+ protocol: 'ftp',
273
+ code: response.code,
274
+ phase: 'transfer',
275
+ });
263
276
  }
264
277
  return {
265
278
  success: true,
@@ -356,7 +369,11 @@ export class FTP extends EventEmitter {
356
369
  try {
357
370
  const rnfrResponse = await this.sendCommand(`RNFR ${oldPath}`);
358
371
  if (rnfrResponse.code !== ResponseCode.FILE_ACTION_PENDING) {
359
- throw new Error(rnfrResponse.message);
372
+ throw new ProtocolError(rnfrResponse.message, {
373
+ protocol: 'ftp',
374
+ code: rnfrResponse.code,
375
+ phase: 'rename',
376
+ });
360
377
  }
361
378
  const rntoResponse = await this.sendCommand(`RNTO ${newPath}`);
362
379
  return {
@@ -459,7 +476,10 @@ export class FTP extends EventEmitter {
459
476
  }
460
477
  getSocket() {
461
478
  if (!this.controlSocket) {
462
- throw new Error('Not connected. Call connect() first.');
479
+ throw new StateError('Not connected. Call connect() first.', {
480
+ expectedState: 'connected',
481
+ actualState: 'disconnected',
482
+ });
463
483
  }
464
484
  return this.controlSocket;
465
485
  }
@@ -476,7 +496,10 @@ export class FTP extends EventEmitter {
476
496
  });
477
497
  socket.on('timeout', () => {
478
498
  socket.destroy();
479
- reject(new Error('Connection timeout'));
499
+ reject(new TimeoutError(undefined, {
500
+ phase: 'connect',
501
+ timeout: this.config.timeout,
502
+ }));
480
503
  });
481
504
  socket.connect(this.config.port, this.config.host);
482
505
  });
@@ -499,14 +522,21 @@ export class FTP extends EventEmitter {
499
522
  socket.setTimeout(this.config.timeout);
500
523
  socket.on('timeout', () => {
501
524
  socket.destroy();
502
- reject(new Error('Connection timeout'));
525
+ reject(new TimeoutError(undefined, {
526
+ phase: 'secureConnect',
527
+ timeout: this.config.timeout,
528
+ }));
503
529
  });
504
530
  });
505
531
  }
506
532
  async upgradeToTLS() {
507
533
  const authResponse = await this.sendCommand('AUTH TLS');
508
534
  if (authResponse.code !== ResponseCode.AUTH_OK) {
509
- throw new Error(`AUTH TLS failed: ${authResponse.message}`);
535
+ throw new ProtocolError(`AUTH TLS failed: ${authResponse.message}`, {
536
+ protocol: 'ftp',
537
+ code: authResponse.code,
538
+ phase: 'tls-upgrade',
539
+ });
510
540
  }
511
541
  return new Promise((resolve, reject) => {
512
542
  const options = {
@@ -528,11 +558,15 @@ export class FTP extends EventEmitter {
528
558
  return;
529
559
  }
530
560
  if (userResponse.code !== ResponseCode.NEED_PASSWORD) {
531
- throw new Error(`Authentication failed: ${userResponse.message}`);
561
+ throw new AuthenticationError(`Authentication failed: ${userResponse.message}`, {
562
+ authType: 'ftp-user',
563
+ });
532
564
  }
533
565
  const passResponse = await this.sendCommand(`PASS ${this.config.password}`);
534
566
  if (passResponse.code !== ResponseCode.USER_LOGGED_IN) {
535
- throw new Error(`Authentication failed: ${passResponse.message}`);
567
+ throw new AuthenticationError(`Authentication failed: ${passResponse.message}`, {
568
+ authType: 'ftp-password',
569
+ });
536
570
  }
537
571
  if (this.secureConnection) {
538
572
  await this.sendCommand('PBSZ 0');
@@ -542,11 +576,17 @@ export class FTP extends EventEmitter {
542
576
  async openDataConnection() {
543
577
  const pasvResponse = await this.sendCommand('PASV');
544
578
  if (pasvResponse.code !== ResponseCode.ENTERING_PASSIVE) {
545
- throw new Error(`PASV failed: ${pasvResponse.message}`);
579
+ throw new ProtocolError(`PASV failed: ${pasvResponse.message}`, {
580
+ protocol: 'ftp',
581
+ code: pasvResponse.code,
582
+ phase: 'pasv',
583
+ });
546
584
  }
547
585
  const match = pasvResponse.message.match(/\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)/);
548
586
  if (!match) {
549
- throw new Error('Failed to parse PASV response');
587
+ throw new ParseError('Failed to parse PASV response', {
588
+ format: 'pasv',
589
+ });
550
590
  }
551
591
  const host = `${match[1]}.${match[2]}.${match[3]}.${match[4]}`;
552
592
  const port = parseInt(match[5], 10) * 256 + parseInt(match[6], 10);
@@ -584,7 +624,11 @@ export class FTP extends EventEmitter {
584
624
  const response = await this.readResponse();
585
625
  if (response.code !== ResponseCode.CLOSING_DATA_CONNECTION &&
586
626
  response.code !== ResponseCode.FILE_ACTION_OK) {
587
- reject(new Error(response.message));
627
+ reject(new ProtocolError(response.message, {
628
+ protocol: 'ftp',
629
+ code: response.code,
630
+ phase: 'data-transfer',
631
+ }));
588
632
  }
589
633
  else {
590
634
  resolve(data);
@@ -599,7 +643,10 @@ export class FTP extends EventEmitter {
599
643
  }
600
644
  async sendCommand(command) {
601
645
  if (!this.controlSocket) {
602
- throw new Error('Not connected');
646
+ throw new StateError('Not connected', {
647
+ expectedState: 'connected',
648
+ actualState: 'disconnected',
649
+ });
603
650
  }
604
651
  const displayCommand = command.startsWith('PASS ')
605
652
  ? 'PASS ****'
@@ -765,7 +812,10 @@ export class FTP extends EventEmitter {
765
812
  }
766
813
  ensureConnected() {
767
814
  if (!this.connected || !this.controlSocket || this.controlSocket.destroyed) {
768
- throw new Error('Not connected to FTP server. Call connect() first.');
815
+ throw new StateError('Not connected to FTP server. Call connect() first.', {
816
+ expectedState: 'connected',
817
+ actualState: 'disconnected',
818
+ });
769
819
  }
770
820
  }
771
821
  cleanup() {
@@ -791,7 +841,10 @@ export async function ftp(config, operation) {
791
841
  try {
792
842
  const result = await client.connect();
793
843
  if (!result.success) {
794
- throw new Error(result.message || 'Failed to connect to FTP server');
844
+ throw new ConnectionError(result.message || 'Failed to connect to FTP server', {
845
+ host: config.host,
846
+ port: config.port,
847
+ });
795
848
  }
796
849
  return await operation(client);
797
850
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sftp.d.ts","sourceRoot":"","sources":["../../src/protocols/sftp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sftp.d.ts","sourceRoot":"","sources":["../../src/protocols/sftp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { requireOptional } from '../utils/optional-require.js';
2
+ import { StateError, ConnectionError } from '../core/errors.js';
2
3
  async function loadSFTP() {
3
4
  return requireOptional('ssh2-sftp-client', 'recker/protocols/sftp');
4
5
  }
@@ -320,13 +321,19 @@ export class SFTP {
320
321
  }
321
322
  getClient() {
322
323
  if (!this.initialized) {
323
- throw new Error('Client not initialized. Call connect() first.');
324
+ throw new StateError('Client not initialized. Call connect() first.', {
325
+ expectedState: 'initialized',
326
+ actualState: 'not-initialized',
327
+ });
324
328
  }
325
329
  return this.client;
326
330
  }
327
331
  ensureConnected() {
328
332
  if (!this.connected) {
329
- throw new Error('Not connected to SFTP server. Call connect() first.');
333
+ throw new StateError('Not connected to SFTP server. Call connect() first.', {
334
+ expectedState: 'connected',
335
+ actualState: 'disconnected',
336
+ });
330
337
  }
331
338
  }
332
339
  mapFileType(type) {
@@ -350,7 +357,10 @@ export async function sftp(config, operation) {
350
357
  try {
351
358
  const result = await client.connect();
352
359
  if (!result.success) {
353
- throw new Error(result.message || 'Failed to connect to SFTP server');
360
+ throw new ConnectionError(result.message || 'Failed to connect to SFTP server', {
361
+ host: config.host,
362
+ port: config.port,
363
+ });
354
364
  }
355
365
  return await operation(client);
356
366
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telnet.d.ts","sourceRoot":"","sources":["../../src/protocols/telnet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telnet.d.ts","sourceRoot":"","sources":["../../src/protocols/telnet.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Socket } from 'node:net';
2
2
  import { EventEmitter } from 'node:events';
3
+ import { StateError, TimeoutError, ConnectionError } from '../core/errors.js';
3
4
  const IAC = 255;
4
5
  const CMD = {
5
6
  SE: 240,
@@ -209,7 +210,10 @@ export class Telnet extends EventEmitter {
209
210
  }
210
211
  getSocket() {
211
212
  if (!this.socket) {
212
- throw new Error('Not connected. Call connect() first.');
213
+ throw new StateError('Not connected. Call connect() first.', {
214
+ expectedState: 'connected',
215
+ actualState: 'disconnected',
216
+ });
213
217
  }
214
218
  return this.socket;
215
219
  }
@@ -414,7 +418,10 @@ export class Telnet extends EventEmitter {
414
418
  return new Promise((resolve, reject) => {
415
419
  const check = () => {
416
420
  if (Date.now() - start > timeout) {
417
- reject(new Error('Timeout waiting for prompt'));
421
+ reject(new TimeoutError(undefined, {
422
+ phase: 'response',
423
+ timeout,
424
+ }));
418
425
  return;
419
426
  }
420
427
  if (this.matchPattern(this.dataBuffer, this.config.shellPrompt)) {
@@ -429,7 +436,10 @@ export class Telnet extends EventEmitter {
429
436
  }
430
437
  write(data) {
431
438
  if (!this.socket || !this.connected) {
432
- throw new Error('Not connected');
439
+ throw new StateError('Not connected', {
440
+ expectedState: 'connected',
441
+ actualState: 'disconnected',
442
+ });
433
443
  }
434
444
  const buffer = typeof data === 'string' ? Buffer.from(data) : data;
435
445
  this.debug('Sending: %s', buffer.toString().replace(/\r\n/g, '\\r\\n'));
@@ -441,7 +451,10 @@ export class Telnet extends EventEmitter {
441
451
  const startBuffer = this.dataBuffer;
442
452
  const check = () => {
443
453
  if (Date.now() - start > timeout) {
444
- reject(new Error(`Timeout waiting for pattern: ${pattern}`));
454
+ reject(new TimeoutError(undefined, {
455
+ phase: 'response',
456
+ timeout,
457
+ }));
445
458
  return;
446
459
  }
447
460
  if (this.matchPattern(this.dataBuffer, pattern)) {
@@ -479,7 +492,10 @@ export class Telnet extends EventEmitter {
479
492
  }
480
493
  ensureConnected() {
481
494
  if (!this.connected || !this.socket) {
482
- throw new Error('Not connected to Telnet server. Call connect() first.');
495
+ throw new StateError('Not connected to Telnet server. Call connect() first.', {
496
+ expectedState: 'connected',
497
+ actualState: 'disconnected',
498
+ });
483
499
  }
484
500
  }
485
501
  cmdName(cmd) {
@@ -505,7 +521,10 @@ export async function telnet(config, operation) {
505
521
  try {
506
522
  const result = await client.connect();
507
523
  if (!result.success) {
508
- throw new Error(result.message || 'Failed to connect to Telnet server');
524
+ throw new ConnectionError(result.message || 'Failed to connect to Telnet server', {
525
+ host: config.host,
526
+ port: config.port,
527
+ });
509
528
  }
510
529
  return await operation(client);
511
530
  }
@@ -0,0 +1,47 @@
1
+ import { Client, type ExtendedClientOptions } from './core/client.js';
2
+ import { type RequestPromise } from './core/request-promise.js';
3
+ import type { RequestOptions } from './types/index.js';
4
+ import { type WebSocketOptions, type ReckerWebSocket } from './websocket/client.js';
5
+ import { createWhois, type WhoisResult, type WhoisOptions } from './utils/whois.js';
6
+ import { type DNSClientOptions, type DNSClient } from './dns/index.js';
7
+ import type { AIClientConfig } from './types/ai.js';
8
+ export declare function get(url: string, options?: RequestOptions): RequestPromise;
9
+ export declare function post(url: string, options?: RequestOptions): RequestPromise;
10
+ export declare function put(url: string, options?: RequestOptions): RequestPromise;
11
+ export declare function patch(url: string, options?: RequestOptions): RequestPromise;
12
+ export declare function del(url: string, options?: RequestOptions): RequestPromise;
13
+ export declare function head(url: string, options?: RequestOptions): RequestPromise;
14
+ export declare function options(url: string, options?: RequestOptions): RequestPromise;
15
+ export declare function whois(query: string, options?: WhoisOptions): Promise<WhoisResult>;
16
+ export declare function whoisAvailable(domain: string): Promise<boolean>;
17
+ export declare function dns(hostname: string, type?: 'A' | 'AAAA' | 'MX' | 'TXT' | 'NS' | 'CNAME'): Promise<string[]>;
18
+ export declare function dnsSecurity(domain: string): Promise<import("./utils/dns-toolkit.js").DnsSecurityRecords>;
19
+ export declare function ws(url: string, options?: WebSocketOptions): ReckerWebSocket;
20
+ export declare const recker: {
21
+ get: typeof get;
22
+ post: typeof post;
23
+ put: typeof put;
24
+ patch: typeof patch;
25
+ delete: typeof del;
26
+ head: typeof head;
27
+ options: typeof options;
28
+ whois: typeof whois;
29
+ whoisAvailable: typeof whoisAvailable;
30
+ dns: typeof dns;
31
+ dnsSecurity: typeof dnsSecurity;
32
+ ws: typeof ws;
33
+ ai: {
34
+ chat: (optionsOrPrompt: string | import("./types/ai.js").ChatOptions) => Promise<import("./types/ai.js").AIResponse<string>>;
35
+ stream: (options: import("./types/ai.js").ChatOptions) => Promise<import("./types/ai.js").AIStream>;
36
+ embed: (options: import("./types/ai.js").EmbedOptions) => Promise<import("./types/ai.js").EmbedResponse>;
37
+ extend: (defaults: Partial<import("./types/ai.js").ChatOptions>) => import("./types/ai.js").AIClient;
38
+ readonly metrics: import("./types/ai.js").AIMetrics;
39
+ };
40
+ client: (options?: ExtendedClientOptions) => Client;
41
+ dnsClient: (options?: DNSClientOptions) => DNSClient;
42
+ whoisClient: typeof createWhois;
43
+ aiClient: (options?: AIClientConfig) => import("./types/ai.js").AIClient;
44
+ reset: () => void;
45
+ };
46
+ export default recker;
47
+ //# sourceMappingURL=recker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recker.d.ts","sourceRoot":"","sources":["../src/recker.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,MAAM,EAAgB,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAmB,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAA2C,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7H,OAAO,EAAa,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0CpD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAEzE;AAMD,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAE1E;AAKD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAEzE;AAKD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAE3E;AAKD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAEzE;AAKD,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAE1E;AAKD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAE7E;AAUD,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAEvF;AAMD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAErE;AAMD,wBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,OAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEvH;AAMD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,gEAE/C;AAMD,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAE3E;AA8DD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;uBAgDE,qBAAqB;0BAKlB,gBAAgB;;yBAUjB,cAAc;;CAUpC,CAAC;AAGF,eAAe,MAAM,CAAC"}