@dealcrawl/sdk 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +47 -2
  2. package/dist/{sdk/src/client.d.ts → client.d.ts} +6 -6
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/{sdk/src/client.js → client.js} +8 -8
  5. package/dist/client.js.map +1 -0
  6. package/dist/{sdk/src/error.d.ts → error.d.ts} +3 -2
  7. package/dist/error.d.ts.map +1 -0
  8. package/dist/{sdk/src/error.js → error.js} +15 -2
  9. package/dist/error.js.map +1 -0
  10. package/dist/{sdk/src/index.d.ts → index.d.ts} +3 -3
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/resources/account.d.ts.map +1 -0
  14. package/dist/resources/account.js.map +1 -0
  15. package/dist/{sdk/src/resources → resources}/crawl.d.ts +19 -5
  16. package/dist/resources/crawl.d.ts.map +1 -0
  17. package/dist/{sdk/src/resources → resources}/crawl.js +44 -15
  18. package/dist/resources/crawl.js.map +1 -0
  19. package/dist/{sdk/src/resources → resources}/data.d.ts +2 -2
  20. package/dist/resources/data.d.ts.map +1 -0
  21. package/dist/{sdk/src/resources → resources}/data.js +6 -0
  22. package/dist/resources/data.js.map +1 -0
  23. package/dist/resources/dork.d.ts.map +1 -0
  24. package/dist/{sdk/src/resources → resources}/dork.js +6 -6
  25. package/dist/resources/dork.js.map +1 -0
  26. package/dist/resources/extract.d.ts.map +1 -0
  27. package/dist/resources/extract.js.map +1 -0
  28. package/dist/resources/index.d.ts.map +1 -0
  29. package/dist/resources/index.js.map +1 -0
  30. package/dist/{sdk/src/resources → resources}/keys.d.ts +1 -1
  31. package/dist/resources/keys.d.ts.map +1 -0
  32. package/dist/{sdk/src/resources → resources}/keys.js +1 -1
  33. package/dist/resources/keys.js.map +1 -0
  34. package/dist/resources/scrape.d.ts.map +1 -0
  35. package/dist/resources/scrape.js.map +1 -0
  36. package/dist/resources/status.d.ts.map +1 -0
  37. package/dist/resources/status.js.map +1 -0
  38. package/dist/resources/webhooks.d.ts.map +1 -0
  39. package/dist/resources/webhooks.js.map +1 -0
  40. package/dist/{sdk/src/types → types}/config.d.ts +1 -1
  41. package/dist/types/config.d.ts.map +1 -0
  42. package/dist/types/config.js.map +1 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/index.js.map +1 -0
  45. package/dist/{sdk/src/types → types}/options.d.ts +45 -3
  46. package/dist/types/options.d.ts.map +1 -0
  47. package/dist/types/options.js.map +1 -0
  48. package/dist/{sdk/src/types → types}/responses.d.ts +38 -1
  49. package/dist/types/responses.d.ts.map +1 -0
  50. package/dist/types/responses.js.map +1 -0
  51. package/dist/types/shared.d.ts +234 -0
  52. package/dist/types/shared.d.ts.map +1 -0
  53. package/dist/{shared/src/constants/errors.js → types/shared.js} +8 -10
  54. package/dist/types/shared.js.map +1 -0
  55. package/dist/utils/polling.d.ts.map +1 -0
  56. package/dist/utils/polling.js.map +1 -0
  57. package/dist/{sdk/src/utils → utils}/request.d.ts +1 -1
  58. package/dist/utils/request.d.ts.map +1 -0
  59. package/dist/{sdk/src/utils → utils}/request.js +39 -8
  60. package/dist/utils/request.js.map +1 -0
  61. package/package.json +6 -6
  62. package/dist/sdk/src/client.d.ts.map +0 -1
  63. package/dist/sdk/src/client.js.map +0 -1
  64. package/dist/sdk/src/error.d.ts.map +0 -1
  65. package/dist/sdk/src/error.js.map +0 -1
  66. package/dist/sdk/src/index.d.ts.map +0 -1
  67. package/dist/sdk/src/index.js.map +0 -1
  68. package/dist/sdk/src/resources/account.d.ts.map +0 -1
  69. package/dist/sdk/src/resources/account.js.map +0 -1
  70. package/dist/sdk/src/resources/crawl.d.ts.map +0 -1
  71. package/dist/sdk/src/resources/crawl.js.map +0 -1
  72. package/dist/sdk/src/resources/data.d.ts.map +0 -1
  73. package/dist/sdk/src/resources/data.js.map +0 -1
  74. package/dist/sdk/src/resources/dork.d.ts.map +0 -1
  75. package/dist/sdk/src/resources/dork.js.map +0 -1
  76. package/dist/sdk/src/resources/extract.d.ts.map +0 -1
  77. package/dist/sdk/src/resources/extract.js.map +0 -1
  78. package/dist/sdk/src/resources/index.d.ts.map +0 -1
  79. package/dist/sdk/src/resources/index.js.map +0 -1
  80. package/dist/sdk/src/resources/keys.d.ts.map +0 -1
  81. package/dist/sdk/src/resources/keys.js.map +0 -1
  82. package/dist/sdk/src/resources/scrape.d.ts.map +0 -1
  83. package/dist/sdk/src/resources/scrape.js.map +0 -1
  84. package/dist/sdk/src/resources/status.d.ts.map +0 -1
  85. package/dist/sdk/src/resources/status.js.map +0 -1
  86. package/dist/sdk/src/resources/webhooks.d.ts.map +0 -1
  87. package/dist/sdk/src/resources/webhooks.js.map +0 -1
  88. package/dist/sdk/src/types/config.d.ts.map +0 -1
  89. package/dist/sdk/src/types/config.js.map +0 -1
  90. package/dist/sdk/src/types/index.d.ts.map +0 -1
  91. package/dist/sdk/src/types/index.js.map +0 -1
  92. package/dist/sdk/src/types/options.d.ts.map +0 -1
  93. package/dist/sdk/src/types/options.js.map +0 -1
  94. package/dist/sdk/src/types/responses.d.ts.map +0 -1
  95. package/dist/sdk/src/types/responses.js.map +0 -1
  96. package/dist/sdk/src/utils/polling.d.ts.map +0 -1
  97. package/dist/sdk/src/utils/polling.js.map +0 -1
  98. package/dist/sdk/src/utils/request.d.ts.map +0 -1
  99. package/dist/sdk/src/utils/request.js.map +0 -1
  100. package/dist/shared/src/constants/errors.d.ts +0 -26
  101. package/dist/shared/src/constants/errors.d.ts.map +0 -1
  102. package/dist/shared/src/constants/errors.js.map +0 -1
  103. package/dist/shared/src/constants/http.d.ts +0 -26
  104. package/dist/shared/src/constants/http.d.ts.map +0 -1
  105. package/dist/shared/src/constants/http.js +0 -26
  106. package/dist/shared/src/constants/http.js.map +0 -1
  107. package/dist/shared/src/constants/index.d.ts +0 -4
  108. package/dist/shared/src/constants/index.d.ts.map +0 -1
  109. package/dist/shared/src/constants/index.js +0 -5
  110. package/dist/shared/src/constants/index.js.map +0 -1
  111. package/dist/shared/src/constants/limits.d.ts +0 -52
  112. package/dist/shared/src/constants/limits.d.ts.map +0 -1
  113. package/dist/shared/src/constants/limits.js +0 -43
  114. package/dist/shared/src/constants/limits.js.map +0 -1
  115. package/dist/shared/src/index.d.ts +0 -5
  116. package/dist/shared/src/index.d.ts.map +0 -1
  117. package/dist/shared/src/index.js +0 -11
  118. package/dist/shared/src/index.js.map +0 -1
  119. package/dist/shared/src/lib/index.d.ts +0 -2
  120. package/dist/shared/src/lib/index.d.ts.map +0 -1
  121. package/dist/shared/src/lib/index.js +0 -2
  122. package/dist/shared/src/lib/index.js.map +0 -1
  123. package/dist/shared/src/lib/redis.d.ts +0 -14
  124. package/dist/shared/src/lib/redis.d.ts.map +0 -1
  125. package/dist/shared/src/lib/redis.js +0 -60
  126. package/dist/shared/src/lib/redis.js.map +0 -1
  127. package/dist/shared/src/types/api-key.types.d.ts +0 -94
  128. package/dist/shared/src/types/api-key.types.d.ts.map +0 -1
  129. package/dist/shared/src/types/api-key.types.js +0 -30
  130. package/dist/shared/src/types/api-key.types.js.map +0 -1
  131. package/dist/shared/src/types/api.types.d.ts +0 -38
  132. package/dist/shared/src/types/api.types.d.ts.map +0 -1
  133. package/dist/shared/src/types/api.types.js +0 -2
  134. package/dist/shared/src/types/api.types.js.map +0 -1
  135. package/dist/shared/src/types/client.types.d.ts +0 -73
  136. package/dist/shared/src/types/client.types.d.ts.map +0 -1
  137. package/dist/shared/src/types/client.types.js +0 -9
  138. package/dist/shared/src/types/client.types.js.map +0 -1
  139. package/dist/shared/src/types/crawl.types.d.ts +0 -65
  140. package/dist/shared/src/types/crawl.types.d.ts.map +0 -1
  141. package/dist/shared/src/types/crawl.types.js +0 -2
  142. package/dist/shared/src/types/crawl.types.js.map +0 -1
  143. package/dist/shared/src/types/deal.types.d.ts +0 -210
  144. package/dist/shared/src/types/deal.types.d.ts.map +0 -1
  145. package/dist/shared/src/types/deal.types.js +0 -6
  146. package/dist/shared/src/types/deal.types.js.map +0 -1
  147. package/dist/shared/src/types/dork.types.d.ts +0 -29
  148. package/dist/shared/src/types/dork.types.d.ts.map +0 -1
  149. package/dist/shared/src/types/dork.types.js +0 -2
  150. package/dist/shared/src/types/dork.types.js.map +0 -1
  151. package/dist/shared/src/types/index.d.ts +0 -8
  152. package/dist/shared/src/types/index.d.ts.map +0 -1
  153. package/dist/shared/src/types/index.js +0 -9
  154. package/dist/shared/src/types/index.js.map +0 -1
  155. package/dist/shared/src/types/scrape.types.d.ts +0 -151
  156. package/dist/shared/src/types/scrape.types.d.ts.map +0 -1
  157. package/dist/shared/src/types/scrape.types.js +0 -2
  158. package/dist/shared/src/types/scrape.types.js.map +0 -1
  159. package/dist/shared/src/utils/date.d.ts +0 -7
  160. package/dist/shared/src/utils/date.d.ts.map +0 -1
  161. package/dist/shared/src/utils/date.js +0 -25
  162. package/dist/shared/src/utils/date.js.map +0 -1
  163. package/dist/shared/src/utils/hash.d.ts +0 -4
  164. package/dist/shared/src/utils/hash.d.ts.map +0 -1
  165. package/dist/shared/src/utils/hash.js +0 -21
  166. package/dist/shared/src/utils/hash.js.map +0 -1
  167. package/dist/shared/src/utils/index.d.ts +0 -7
  168. package/dist/shared/src/utils/index.d.ts.map +0 -1
  169. package/dist/shared/src/utils/index.js +0 -8
  170. package/dist/shared/src/utils/index.js.map +0 -1
  171. package/dist/shared/src/utils/logger.d.ts +0 -66
  172. package/dist/shared/src/utils/logger.d.ts.map +0 -1
  173. package/dist/shared/src/utils/logger.js +0 -268
  174. package/dist/shared/src/utils/logger.js.map +0 -1
  175. package/dist/shared/src/utils/retry.d.ts +0 -11
  176. package/dist/shared/src/utils/retry.d.ts.map +0 -1
  177. package/dist/shared/src/utils/retry.js +0 -36
  178. package/dist/shared/src/utils/retry.js.map +0 -1
  179. package/dist/shared/src/utils/url-validator.d.ts +0 -37
  180. package/dist/shared/src/utils/url-validator.d.ts.map +0 -1
  181. package/dist/shared/src/utils/url-validator.js +0 -179
  182. package/dist/shared/src/utils/url-validator.js.map +0 -1
  183. package/dist/shared/src/utils/url.d.ts +0 -6
  184. package/dist/shared/src/utils/url.d.ts.map +0 -1
  185. package/dist/shared/src/utils/url.js +0 -56
  186. package/dist/shared/src/utils/url.js.map +0 -1
  187. /package/dist/{sdk/src/index.js → index.js} +0 -0
  188. /package/dist/{sdk/src/resources → resources}/account.d.ts +0 -0
  189. /package/dist/{sdk/src/resources → resources}/account.js +0 -0
  190. /package/dist/{sdk/src/resources → resources}/dork.d.ts +0 -0
  191. /package/dist/{sdk/src/resources → resources}/extract.d.ts +0 -0
  192. /package/dist/{sdk/src/resources → resources}/extract.js +0 -0
  193. /package/dist/{sdk/src/resources → resources}/index.d.ts +0 -0
  194. /package/dist/{sdk/src/resources → resources}/index.js +0 -0
  195. /package/dist/{sdk/src/resources → resources}/scrape.d.ts +0 -0
  196. /package/dist/{sdk/src/resources → resources}/scrape.js +0 -0
  197. /package/dist/{sdk/src/resources → resources}/status.d.ts +0 -0
  198. /package/dist/{sdk/src/resources → resources}/status.js +0 -0
  199. /package/dist/{sdk/src/resources → resources}/webhooks.d.ts +0 -0
  200. /package/dist/{sdk/src/resources → resources}/webhooks.js +0 -0
  201. /package/dist/{sdk/src/types → types}/config.js +0 -0
  202. /package/dist/{sdk/src/types → types}/index.d.ts +0 -0
  203. /package/dist/{sdk/src/types → types}/index.js +0 -0
  204. /package/dist/{sdk/src/types → types}/options.js +0 -0
  205. /package/dist/{sdk/src/types → types}/responses.js +0 -0
  206. /package/dist/{sdk/src/utils → utils}/polling.d.ts +0 -0
  207. /package/dist/{sdk/src/utils → utils}/polling.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,cAAc;IAEvC;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAY3E;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAK3C;;;;;;;;OAQG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQlD;;;;;;;;;;OAUG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAejC;;;;;;;OAOG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQ/D;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ3D;;;;;;;;OAQG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI/D;;;;;;;;OAQG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhE;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAKzC;;;;;;;OAOG;IACG,UAAU,CACd,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,GACnC,OAAO,CAAC,WAAW,EAAE,CAAC;CAI1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,GAAmB;QAAnB,QAAG,GAAH,GAAG,CAAgB;IAAG,CAAC;IAE3C;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CAAC,OAA6B;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAwB,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE;YACzE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,GAAG,CAAuB,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,GAAG,EACR,gBAAgB,SAAS,EAAE,CAC5B,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CACV,SAAiB,EACjB,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,IAAI,CAAC,GAAG,EACR,gBAAgB,SAAS,EAAE,EAC3B;YACE,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,GAAG,EACR,gBAAgB,SAAS,EAAE,CAC5B,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,IAAI,CAAC,GAAG,EACR,gBAAgB,SAAS,OAAO,CACjC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CACd,KAAoC;QAEpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { RateLimitInfo } from "@dealcrawl/shared";
1
+ import type { RateLimitInfo } from "./shared";
2
2
  /**
3
3
  * SDK Configuration options
4
4
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IAEf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAgDA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,IAAI;CACR,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -44,6 +44,17 @@ export interface ScrapeOptions {
44
44
  /** Timeout in milliseconds (default: 30000, max: 120000) */
45
45
  timeout?: number;
46
46
  }
47
+ /** Product category for filtering */
48
+ export type CrawlCategory = "courses" | "software" | "physical" | "services" | "other";
49
+ /** Price range filter */
50
+ export interface PriceRange {
51
+ /** Minimum price */
52
+ min?: number;
53
+ /** Maximum price */
54
+ max?: number;
55
+ }
56
+ /** Crawl priority level (enterprise only for override) */
57
+ export type CrawlPriority = "high" | "medium" | "low";
47
58
  /** Options for crawling a website */
48
59
  export interface CrawlOptions {
49
60
  /** Starting URL for the crawl (required) */
@@ -64,7 +75,7 @@ export interface CrawlOptions {
64
75
  extractWithAI?: boolean;
65
76
  /** Extract deal-specific information from each page */
66
77
  extractDeal?: boolean;
67
- /** Minimum deal score threshold (0-100) */
78
+ /** Minimum deal score threshold (0-100, default: 30) */
68
79
  minDealScore?: number;
69
80
  /** Prioritize pages likely to contain deals (default: true) */
70
81
  prioritizeDealPages?: boolean;
@@ -74,6 +85,34 @@ export interface CrawlOptions {
74
85
  allowedDomains?: string[];
75
86
  /** URL patterns to exclude from crawling */
76
87
  excludePatterns?: string[];
88
+ /** Filter by product categories */
89
+ categories?: CrawlCategory[];
90
+ /** Filter deals by price range */
91
+ priceRange?: PriceRange;
92
+ /** Prefer static HTTP fetch over browser (default: true, faster) */
93
+ preferStatic?: boolean;
94
+ /** Force browser rendering for JS-heavy sites (default: false) */
95
+ requireJS?: boolean;
96
+ /** Enable anti-bot bypass techniques (default: false) */
97
+ bypassAntiBot?: boolean;
98
+ /** Only process pages with high deal scores (default: false) */
99
+ onlyHighQuality?: boolean;
100
+ /** Whitelist of allowed merchants */
101
+ allowedMerchants?: string[];
102
+ /** Blacklist of blocked merchants */
103
+ blockedMerchants?: string[];
104
+ /** Webhook URL for real-time notifications */
105
+ webhookUrl?: string;
106
+ /** Sync discovered deals to DealUp (pro/enterprise only, default: false) */
107
+ syncToDealup?: boolean;
108
+ /** Priority queue override (enterprise only) */
109
+ priority?: CrawlPriority;
110
+ /** Site-specific configuration name from registry */
111
+ siteConfig?: string;
112
+ /** Job template to use (auto-detected if not provided) */
113
+ template?: string;
114
+ /** Use smart job routing to auto-detect best template/settings (default: true) */
115
+ useSmartRouting?: boolean;
77
116
  }
78
117
  /** Crawl template identifier */
79
118
  export type CrawlTemplateId = "ecommerce" | "blog" | "docs" | "marketplace" | "custom";
@@ -242,8 +281,11 @@ export interface UpdateWebhookOptions {
242
281
  /** Active status */
243
282
  active?: boolean;
244
283
  }
245
- /** API key scope */
246
- export type ApiKeyScope = "scrape:read" | "scrape:write" | "crawl:read" | "crawl:write" | "dork:read" | "dork:write" | "data:read" | "data:write" | "webhooks:manage" | "keys:manage" | "account:read" | "account:write";
284
+ /**
285
+ * API key scope - Must match @dealcrawl/shared/src/types/api-key.types.ts
286
+ * These are the actual scopes enforced by the backend via requireScope() middleware
287
+ */
288
+ export type ApiKeyScope = "scrape" | "crawl" | "dork" | "extract" | "status" | "data:read" | "data:export" | "keys:manage" | "webhooks:manage";
247
289
  /** Options for creating an API key */
248
290
  export interface CreateApiKeyOptions {
249
291
  /** Key name/description */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -2,7 +2,7 @@
2
2
  * SDK Response Types
3
3
  * Types for API responses
4
4
  */
5
- import type { JobStatus, RateLimitInfo, PaginatedResponse } from "@dealcrawl/shared";
5
+ import type { JobStatus, RateLimitInfo, PaginatedResponse } from "./shared";
6
6
  /** Base job response from API */
7
7
  export interface JobResponse {
8
8
  /** Unique job identifier */
@@ -25,8 +25,45 @@ export interface PaginationInfo {
25
25
  /** Scrape job creation response */
26
26
  export interface ScrapeJobResponse extends JobResponse {
27
27
  }
28
+ /** Crawl template info in response */
29
+ export interface CrawlTemplateInfo {
30
+ /** Template name/id */
31
+ name: string;
32
+ /** Human-readable description */
33
+ description?: string;
34
+ /** Estimated duration in minutes */
35
+ estimatedDuration?: number;
36
+ }
37
+ /** Crawl features enabled for the job */
38
+ export interface CrawlFeatures {
39
+ /** Deal-focused crawling enabled */
40
+ dealFocused: boolean;
41
+ /** Smart routing auto-detection enabled */
42
+ smartRouting: boolean;
43
+ /** Minimum deal score threshold */
44
+ minDealScore: number;
45
+ /** Category filters applied */
46
+ categories?: string[];
47
+ /** Price range filter applied */
48
+ priceRange?: {
49
+ min?: number;
50
+ max?: number;
51
+ };
52
+ /** DealUp sync enabled */
53
+ syncToDealup: boolean;
54
+ /** Webhook notifications enabled */
55
+ webhookEnabled: boolean;
56
+ }
57
+ /** Crawl priority level */
58
+ export type CrawlPriorityLevel = "high" | "medium" | "low";
28
59
  /** Crawl job creation response */
29
60
  export interface CrawlJobResponse extends JobResponse {
61
+ /** Priority queue assigned (high/medium/low) */
62
+ priority: CrawlPriorityLevel;
63
+ /** Template used (if any) */
64
+ template: CrawlTemplateInfo | null;
65
+ /** Features enabled for this crawl */
66
+ features: CrawlFeatures;
30
67
  }
31
68
  /** Crawl analysis response */
32
69
  export interface CrawlAnalysisResponse {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/types/responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/types/responses.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Types imported from @dealcrawl/shared
3
+ * Bundled here to make SDK self-contained (no external dependency)
4
+ */
5
+ export declare const ERROR_CODES: {
6
+ readonly INVALID_API_KEY: "INVALID_API_KEY";
7
+ readonly MISSING_API_KEY: "MISSING_API_KEY";
8
+ readonly API_KEY_EXPIRED: "API_KEY_EXPIRED";
9
+ readonly ACCOUNT_SUSPENDED: "ACCOUNT_SUSPENDED";
10
+ readonly RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED";
11
+ readonly QUOTA_EXCEEDED: "QUOTA_EXCEEDED";
12
+ readonly INVALID_URL: "INVALID_URL";
13
+ readonly INVALID_REQUEST: "INVALID_REQUEST";
14
+ readonly MISSING_REQUIRED_FIELD: "MISSING_REQUIRED_FIELD";
15
+ readonly JOB_NOT_FOUND: "JOB_NOT_FOUND";
16
+ readonly JOB_FAILED: "JOB_FAILED";
17
+ readonly JOB_TIMEOUT: "JOB_TIMEOUT";
18
+ readonly FETCH_FAILED: "FETCH_FAILED";
19
+ readonly PARSE_FAILED: "PARSE_FAILED";
20
+ readonly BLOCKED_BY_ROBOTS: "BLOCKED_BY_ROBOTS";
21
+ readonly CAPTCHA_DETECTED: "CAPTCHA_DETECTED";
22
+ readonly SITE_UNREACHABLE: "SITE_UNREACHABLE";
23
+ readonly INTERNAL_ERROR: "INTERNAL_ERROR";
24
+ readonly SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
25
+ readonly REDIS_ERROR: "REDIS_ERROR";
26
+ readonly DATABASE_ERROR: "DATABASE_ERROR";
27
+ };
28
+ export type LegacyErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
29
+ export interface ApiResponse<T = unknown> {
30
+ success: boolean;
31
+ data?: T;
32
+ error?: ApiError;
33
+ meta?: ResponseMeta;
34
+ }
35
+ export interface ApiError {
36
+ code: string;
37
+ message: string;
38
+ details?: Record<string, unknown>;
39
+ }
40
+ export interface ResponseMeta {
41
+ requestId: string;
42
+ timestamp: string;
43
+ duration?: number;
44
+ }
45
+ export type JobStatus = "pending" | "active" | "completed" | "failed" | "delayed" | "paused";
46
+ export interface PaginatedResponse<T> {
47
+ data: T[];
48
+ pagination: {
49
+ page: number;
50
+ limit: number;
51
+ total: number;
52
+ hasMore: boolean;
53
+ };
54
+ }
55
+ export interface RateLimitInfo {
56
+ limit: number;
57
+ remaining: number;
58
+ reset: number;
59
+ }
60
+ export interface Signal {
61
+ type: string;
62
+ value: string;
63
+ confidence: number;
64
+ metadata?: Record<string, unknown>;
65
+ }
66
+ export interface PriceSignal extends Signal {
67
+ type: "price" | "original_price";
68
+ metadata: {
69
+ currency: string;
70
+ raw: string;
71
+ source: "json-ld" | "og-meta" | "microdata" | "regex" | "css-selector";
72
+ };
73
+ }
74
+ export interface DiscountSignal extends Signal {
75
+ type: "discount" | "discount_amount";
76
+ metadata: {
77
+ percent?: number;
78
+ amount?: number;
79
+ currency?: string;
80
+ raw?: string;
81
+ calculated?: boolean;
82
+ source: string;
83
+ };
84
+ }
85
+ export interface LinkMetadata {
86
+ total: number;
87
+ internal: string[];
88
+ external: string[];
89
+ }
90
+ export interface ImageMetadata {
91
+ total: number;
92
+ urls: string[];
93
+ }
94
+ export interface OpenGraphMetadata {
95
+ title?: string;
96
+ description?: string;
97
+ image?: string;
98
+ url?: string;
99
+ siteName?: string;
100
+ type?: string;
101
+ locale?: string;
102
+ localeAlternate?: string[];
103
+ }
104
+ export interface ParsedPage {
105
+ url: string;
106
+ depth?: number;
107
+ title?: string;
108
+ description?: string;
109
+ content?: string;
110
+ language?: string;
111
+ links?: string[];
112
+ linksMetadata?: LinkMetadata;
113
+ images?: string[];
114
+ imagesMetadata?: ImageMetadata;
115
+ openGraph?: OpenGraphMetadata;
116
+ metadata?: Record<string, unknown>;
117
+ statusCode?: number;
118
+ crawlDurationMs?: number;
119
+ signals?: Signal[];
120
+ }
121
+ export interface DealScoreSummary {
122
+ score: number;
123
+ quality: "excellent" | "good" | "average" | "poor" | "very_poor";
124
+ recommendation: "highly_recommended" | "recommended" | "consider" | "skip";
125
+ breakdown: {
126
+ discount: number;
127
+ urgency: number;
128
+ legitimacy: number;
129
+ priceClarity: number;
130
+ productInfo: number;
131
+ };
132
+ }
133
+ export interface ScreenshotResult {
134
+ url: string;
135
+ width: number;
136
+ height: number;
137
+ format: "png" | "jpeg" | "webp";
138
+ sizeBytes: number;
139
+ }
140
+ export interface AIExtraction {
141
+ summary?: string;
142
+ entities?: Entity[];
143
+ sentiment?: "positive" | "negative" | "neutral";
144
+ topics?: string[];
145
+ raw?: Record<string, unknown>;
146
+ }
147
+ export interface Entity {
148
+ type: "person" | "organization" | "location" | "product" | "other";
149
+ value: string;
150
+ confidence: number;
151
+ }
152
+ export interface ScrapeResult {
153
+ url: string;
154
+ parsed: ParsedPage;
155
+ signals: Signal[];
156
+ aiExtraction?: AIExtraction;
157
+ dealExtraction?: ExtractedDeal;
158
+ dealScore?: DealScoreSummary;
159
+ screenshot?: string;
160
+ screenshotMetadata?: ScreenshotResult;
161
+ scrapedAt: string;
162
+ }
163
+ export interface CrawlError {
164
+ url: string;
165
+ error: string;
166
+ timestamp: string;
167
+ }
168
+ export interface CrawlStats {
169
+ totalUrlsDiscovered?: number;
170
+ urlsSkipped?: number;
171
+ avgDealScore?: number;
172
+ highValuePages?: number;
173
+ pagesScraped?: number;
174
+ totalPagesFound?: number;
175
+ linksFound?: number;
176
+ depth?: number;
177
+ errors?: number;
178
+ }
179
+ export interface CrawlResult {
180
+ startUrl: string;
181
+ pagesFound: number;
182
+ pages: ParsedPage[];
183
+ crawledAt: string;
184
+ duration?: number;
185
+ errors?: CrawlError[];
186
+ stats?: CrawlStats;
187
+ }
188
+ export interface DorkSearchResult {
189
+ url: string;
190
+ title: string;
191
+ snippet: string;
192
+ position: number;
193
+ metadata?: Record<string, unknown>;
194
+ }
195
+ export interface DorkResult {
196
+ query: string;
197
+ site?: string;
198
+ results: DorkSearchResult[];
199
+ totalResults?: number;
200
+ searchedAt: string;
201
+ }
202
+ export type UrgencyLevel = "none" | "low" | "medium" | "high" | "critical";
203
+ export interface ExtractedDeal {
204
+ id: string;
205
+ sourceUrl: string;
206
+ product: {
207
+ name: string;
208
+ brand?: string;
209
+ category?: string;
210
+ description?: string;
211
+ imageUrl?: string;
212
+ sku?: string;
213
+ };
214
+ pricing: {
215
+ currentPrice: number;
216
+ originalPrice?: number;
217
+ discountPercent?: number;
218
+ savedAmount?: number;
219
+ currency: string;
220
+ priceConfidence: number;
221
+ };
222
+ quality: {
223
+ dealScore: number;
224
+ urgencyLevel: UrgencyLevel;
225
+ isLegitDeal: boolean;
226
+ legitimacyScore: number;
227
+ };
228
+ merchant: string;
229
+ affiliateEligible?: boolean;
230
+ expiresAt?: string;
231
+ crawledAt: string;
232
+ rawSignals?: Signal[];
233
+ }
234
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Types imported from @dealcrawl/shared
3
+ * Bundled here to make SDK self-contained (no external dependency)
4
+ */
5
+ // ============================================
6
+ // ERROR CODES
7
+ // ============================================
1
8
  export const ERROR_CODES = {
2
9
  // Authentication
3
10
  INVALID_API_KEY: "INVALID_API_KEY",
@@ -27,13 +34,4 @@ export const ERROR_CODES = {
27
34
  REDIS_ERROR: "REDIS_ERROR",
28
35
  DATABASE_ERROR: "DATABASE_ERROR",
29
36
  };
30
- export const ERROR_MESSAGES = {
31
- [ERROR_CODES.INVALID_API_KEY]: "The provided API key is invalid",
32
- [ERROR_CODES.MISSING_API_KEY]: "API key is required in Authorization header",
33
- [ERROR_CODES.RATE_LIMIT_EXCEEDED]: "Rate limit exceeded. Please try again later",
34
- [ERROR_CODES.QUOTA_EXCEEDED]: "Monthly quota exceeded. Upgrade your plan for more",
35
- [ERROR_CODES.INVALID_URL]: "The provided URL is not valid",
36
- [ERROR_CODES.JOB_NOT_FOUND]: "Job not found",
37
- [ERROR_CODES.INTERNAL_ERROR]: "An internal error occurred",
38
- };
39
- //# sourceMappingURL=errors.js.map
37
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB;IACjB,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IAEtC,gBAAgB;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,cAAc,EAAE,gBAAgB;IAEhC,aAAa;IACb,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,sBAAsB,EAAE,wBAAwB;IAEhD,aAAa;IACb,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAE1B,kBAAkB;IAClB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IAEpC,gBAAgB;IAChB,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;CACxB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../../src/utils/polling.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,gCAAgC;IAChC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,iCAAiC;IACjC,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAwExB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAG1B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAGxB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EACjC,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB,GACL,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../src/utils/polling.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RateLimitInfo } from "@dealcrawl/shared";
1
+ import type { RateLimitInfo } from "../types/shared";
2
2
  import type { RequestContext } from "../types/config";
3
3
  /**
4
4
  * Request options for the HTTP helper
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAE7C,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAE9D,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC;IAER,0CAA0C;IAC1C,SAAS,EAAE,aAAa,CAAC;CAC1B;AAoCD;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CA4K3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EACnB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAE3B;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAE3B;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAE3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EACnB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAE3B"}
@@ -32,17 +32,41 @@ export async function request(ctx, path, options = {}) {
32
32
  // Build URL with query string
33
33
  const queryString = query ? buildQueryString(query) : "";
34
34
  const url = `${ctx.baseUrl}${path}${queryString}`;
35
- // Create abort controller for timeout
36
- const controller = new AbortController();
37
35
  const timeoutMs = timeout ?? ctx.timeout;
38
- const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
39
- // Combine with external signal if provided
36
+ // Track current controller for external signal handling
37
+ let currentController = null;
38
+ // Named handler for external abort signal
39
+ const onAbort = () => {
40
+ if (currentController) {
41
+ currentController.abort();
42
+ }
43
+ };
44
+ // Attach external signal listener once (if provided)
40
45
  if (signal) {
41
- signal.addEventListener("abort", () => controller.abort());
46
+ signal.addEventListener("abort", onAbort);
42
47
  }
48
+ // Cleanup external signal listener (called at end of all retries)
49
+ const cleanupExternalSignal = () => {
50
+ if (signal) {
51
+ signal.removeEventListener("abort", onAbort);
52
+ }
53
+ };
43
54
  let lastError = null;
44
55
  let attempt = 0;
45
56
  while (attempt <= ctx.maxRetries) {
57
+ // Create a new AbortController and timeout for each attempt
58
+ const controller = new AbortController();
59
+ currentController = controller;
60
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
61
+ // Cleanup function for this specific attempt - idempotent
62
+ let attemptCleanupDone = false;
63
+ const cleanupAttempt = () => {
64
+ if (attemptCleanupDone)
65
+ return;
66
+ attemptCleanupDone = true;
67
+ clearTimeout(timeoutId);
68
+ currentController = null;
69
+ };
46
70
  try {
47
71
  const response = await fetch(url, {
48
72
  method,
@@ -53,7 +77,7 @@ export async function request(ctx, path, options = {}) {
53
77
  body: body ? JSON.stringify(body) : undefined,
54
78
  signal: controller.signal,
55
79
  });
56
- clearTimeout(timeoutId);
80
+ cleanupAttempt();
57
81
  // Parse rate limit headers
58
82
  const rateLimit = parseRateLimitHeaders(response.headers);
59
83
  // Handle rate limiting
@@ -80,7 +104,9 @@ export async function request(ctx, path, options = {}) {
80
104
  catch {
81
105
  // Response might not be JSON
82
106
  }
83
- throw DealCrawlError.fromResponse(response.status, errorBody);
107
+ // Extract Retry-After header if present
108
+ const retryAfterHeader = response.headers.get("Retry-After");
109
+ throw DealCrawlError.fromResponse(response.status, errorBody, retryAfterHeader);
84
110
  }
85
111
  // Parse response
86
112
  let data;
@@ -95,12 +121,14 @@ export async function request(ctx, path, options = {}) {
95
121
  else {
96
122
  data = (await response.json());
97
123
  }
124
+ cleanupExternalSignal();
98
125
  return { data, rateLimit };
99
126
  }
100
127
  catch (error) {
101
- clearTimeout(timeoutId);
128
+ cleanupAttempt();
102
129
  // Handle abort/timeout
103
130
  if (error instanceof Error && error.name === "AbortError") {
131
+ cleanupExternalSignal();
104
132
  throw new DealCrawlError({
105
133
  code: ERROR_CODES.JOB_TIMEOUT,
106
134
  message: `Request timeout after ${timeoutMs}ms`,
@@ -116,9 +144,11 @@ export async function request(ctx, path, options = {}) {
116
144
  await sleep(ctx.retryDelay * attempt); // Exponential backoff
117
145
  continue;
118
146
  }
147
+ cleanupExternalSignal();
119
148
  throw error;
120
149
  }
121
150
  // Handle network errors
151
+ cleanupExternalSignal();
122
152
  throw new DealCrawlError({
123
153
  code: ERROR_CODES.FETCH_FAILED,
124
154
  message: error instanceof Error ? error.message : "Network request failed",
@@ -127,6 +157,7 @@ export async function request(ctx, path, options = {}) {
127
157
  }
128
158
  }
129
159
  // Should not reach here, but throw last error if we do
160
+ cleanupExternalSignal();
130
161
  throw (lastError ??
131
162
  new DealCrawlError({
132
163
  code: ERROR_CODES.INTERNAL_ERROR,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"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"}