recker 1.0.43 → 1.0.44

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 (459) hide show
  1. package/README.md +47 -0
  2. package/dist/bin/recker-linux-x64 +0 -0
  3. package/dist/bin/recker-macos-x64 +0 -0
  4. package/dist/bin/recker-win-x64.exe +0 -0
  5. package/dist/bin/rek.cjs +85152 -100207
  6. package/dist/browser/ai/adaptive-timeout.d.ts +50 -0
  7. package/dist/browser/ai/adaptive-timeout.js +208 -0
  8. package/dist/browser/ai/client.d.ts +22 -0
  9. package/dist/browser/ai/client.js +294 -0
  10. package/dist/browser/ai/index.d.ts +14 -0
  11. package/dist/browser/ai/index.js +11 -0
  12. package/dist/browser/ai/providers/anthropic.d.ts +63 -0
  13. package/dist/browser/ai/providers/anthropic.js +370 -0
  14. package/dist/browser/ai/providers/base.d.ts +48 -0
  15. package/dist/browser/ai/providers/base.js +150 -0
  16. package/dist/browser/ai/providers/google.d.ts +59 -0
  17. package/dist/browser/ai/providers/google.js +305 -0
  18. package/dist/browser/ai/providers/ollama.d.ts +44 -0
  19. package/dist/browser/ai/providers/ollama.js +240 -0
  20. package/dist/browser/ai/providers/openai.d.ts +64 -0
  21. package/dist/browser/ai/providers/openai.js +298 -0
  22. package/dist/browser/ai/rate-limiter.d.ts +43 -0
  23. package/dist/browser/ai/rate-limiter.js +215 -0
  24. package/dist/browser/ai/vector/index.d.ts +2 -0
  25. package/dist/browser/ai/vector/index.js +2 -0
  26. package/dist/browser/ai/vector/similarity.d.ts +2 -0
  27. package/dist/browser/ai/vector/similarity.js +27 -0
  28. package/dist/browser/ai/vector/store.d.ts +27 -0
  29. package/dist/browser/ai/vector/store.js +82 -0
  30. package/dist/browser/browser/cache.d.ts +2 -40
  31. package/dist/browser/browser/cache.js +2 -199
  32. package/dist/browser/browser/index.d.ts +8 -0
  33. package/dist/browser/browser/index.js +8 -0
  34. package/dist/browser/browser/recker.d.ts +8 -1
  35. package/dist/browser/browser/recker.js +8 -2
  36. package/dist/browser/cache/indexed-db.d.ts +10 -0
  37. package/dist/browser/cache/indexed-db.js +88 -0
  38. package/dist/browser/cache/service-worker-cache.d.ts +18 -0
  39. package/dist/browser/cache/service-worker-cache.js +103 -0
  40. package/dist/browser/cache.d.ts +2 -40
  41. package/dist/browser/cache.js +2 -199
  42. package/dist/browser/constants/user-agents.d.ts +7 -0
  43. package/dist/browser/constants/user-agents.js +7 -0
  44. package/dist/browser/core/client.d.ts +2 -0
  45. package/dist/browser/core/client.js +19 -1
  46. package/dist/browser/index.d.ts +8 -0
  47. package/dist/browser/index.js +8 -0
  48. package/dist/browser/plugins/har-recorder.d.ts +40 -0
  49. package/dist/browser/plugins/har-recorder.js +120 -0
  50. package/dist/browser/plugins/network-simulation.d.ts +7 -0
  51. package/dist/browser/plugins/network-simulation.js +13 -0
  52. package/dist/browser/presets/android.d.ts +2 -0
  53. package/dist/browser/presets/android.js +16 -0
  54. package/dist/browser/presets/anthropic.d.ts +8 -0
  55. package/dist/browser/presets/anthropic.js +27 -0
  56. package/dist/browser/presets/aws.d.ts +19 -0
  57. package/dist/browser/presets/aws.js +68 -0
  58. package/dist/browser/presets/azure-openai.d.ts +10 -0
  59. package/dist/browser/presets/azure-openai.js +35 -0
  60. package/dist/browser/presets/azure.d.ts +41 -0
  61. package/dist/browser/presets/azure.js +104 -0
  62. package/dist/browser/presets/chaturbate.d.ts +2 -0
  63. package/dist/browser/presets/chaturbate.js +17 -0
  64. package/dist/browser/presets/cloudflare.d.ts +12 -0
  65. package/dist/browser/presets/cloudflare.js +39 -0
  66. package/dist/browser/presets/cohere.d.ts +7 -0
  67. package/dist/browser/presets/cohere.js +22 -0
  68. package/dist/browser/presets/deepseek.d.ts +7 -0
  69. package/dist/browser/presets/deepseek.js +22 -0
  70. package/dist/browser/presets/digitalocean.d.ts +5 -0
  71. package/dist/browser/presets/digitalocean.js +16 -0
  72. package/dist/browser/presets/discord.d.ts +6 -0
  73. package/dist/browser/presets/discord.js +17 -0
  74. package/dist/browser/presets/elevenlabs.d.ts +6 -0
  75. package/dist/browser/presets/elevenlabs.js +20 -0
  76. package/dist/browser/presets/enhancers.d.ts +20 -0
  77. package/dist/browser/presets/enhancers.js +85 -0
  78. package/dist/browser/presets/fireworks.d.ts +7 -0
  79. package/dist/browser/presets/fireworks.js +22 -0
  80. package/dist/browser/presets/gcp.d.ts +34 -0
  81. package/dist/browser/presets/gcp.js +91 -0
  82. package/dist/browser/presets/gemini.d.ts +7 -0
  83. package/dist/browser/presets/gemini.js +23 -0
  84. package/dist/browser/presets/github.d.ts +6 -0
  85. package/dist/browser/presets/github.js +17 -0
  86. package/dist/browser/presets/gitlab.d.ts +6 -0
  87. package/dist/browser/presets/gitlab.js +16 -0
  88. package/dist/browser/presets/groq.d.ts +7 -0
  89. package/dist/browser/presets/groq.js +22 -0
  90. package/dist/browser/presets/hubspot.d.ts +9 -0
  91. package/dist/browser/presets/hubspot.js +28 -0
  92. package/dist/browser/presets/huggingface.d.ts +7 -0
  93. package/dist/browser/presets/huggingface.js +23 -0
  94. package/dist/browser/presets/index.d.ts +47 -0
  95. package/dist/browser/presets/index.js +47 -0
  96. package/dist/browser/presets/ios.d.ts +2 -0
  97. package/dist/browser/presets/ios.js +13 -0
  98. package/dist/browser/presets/linear.d.ts +5 -0
  99. package/dist/browser/presets/linear.js +16 -0
  100. package/dist/browser/presets/mailgun.d.ts +7 -0
  101. package/dist/browser/presets/mailgun.js +20 -0
  102. package/dist/browser/presets/meta.d.ts +10 -0
  103. package/dist/browser/presets/meta.js +33 -0
  104. package/dist/browser/presets/mistral.d.ts +7 -0
  105. package/dist/browser/presets/mistral.js +22 -0
  106. package/dist/browser/presets/notion.d.ts +6 -0
  107. package/dist/browser/presets/notion.js +17 -0
  108. package/dist/browser/presets/openai.d.ts +9 -0
  109. package/dist/browser/presets/openai.js +30 -0
  110. package/dist/browser/presets/oracle.d.ts +19 -0
  111. package/dist/browser/presets/oracle.js +117 -0
  112. package/dist/browser/presets/perplexity.d.ts +7 -0
  113. package/dist/browser/presets/perplexity.js +22 -0
  114. package/dist/browser/presets/pinecone.d.ts +8 -0
  115. package/dist/browser/presets/pinecone.js +42 -0
  116. package/dist/browser/presets/registry.d.ts +23 -0
  117. package/dist/browser/presets/registry.js +519 -0
  118. package/dist/browser/presets/replicate.d.ts +7 -0
  119. package/dist/browser/presets/replicate.js +23 -0
  120. package/dist/browser/presets/sendgrid.d.ts +6 -0
  121. package/dist/browser/presets/sendgrid.js +20 -0
  122. package/dist/browser/presets/sentry.d.ts +11 -0
  123. package/dist/browser/presets/sentry.js +48 -0
  124. package/dist/browser/presets/sinch.d.ts +9 -0
  125. package/dist/browser/presets/sinch.js +39 -0
  126. package/dist/browser/presets/slack.d.ts +5 -0
  127. package/dist/browser/presets/slack.js +16 -0
  128. package/dist/browser/presets/square.d.ts +10 -0
  129. package/dist/browser/presets/square.js +33 -0
  130. package/dist/browser/presets/stripe.d.ts +7 -0
  131. package/dist/browser/presets/stripe.js +23 -0
  132. package/dist/browser/presets/supabase.d.ts +6 -0
  133. package/dist/browser/presets/supabase.js +18 -0
  134. package/dist/browser/presets/tiktok.d.ts +10 -0
  135. package/dist/browser/presets/tiktok.js +38 -0
  136. package/dist/browser/presets/together.d.ts +7 -0
  137. package/dist/browser/presets/together.js +22 -0
  138. package/dist/browser/presets/twilio.d.ts +6 -0
  139. package/dist/browser/presets/twilio.js +17 -0
  140. package/dist/browser/presets/vercel.d.ts +6 -0
  141. package/dist/browser/presets/vercel.js +23 -0
  142. package/dist/browser/presets/vultr.d.ts +5 -0
  143. package/dist/browser/presets/vultr.js +16 -0
  144. package/dist/browser/presets/xai.d.ts +8 -0
  145. package/dist/browser/presets/xai.js +23 -0
  146. package/dist/browser/presets/youtube.d.ts +5 -0
  147. package/dist/browser/presets/youtube.js +20 -0
  148. package/dist/browser/recker.d.ts +8 -1
  149. package/dist/browser/recker.js +8 -2
  150. package/dist/browser/scrape/document.d.ts +5 -4
  151. package/dist/browser/scrape/document.js +89 -76
  152. package/dist/browser/scrape/element.d.ts +10 -8
  153. package/dist/browser/scrape/element.js +295 -81
  154. package/dist/browser/scrape/extractors.d.ts +11 -11
  155. package/dist/browser/scrape/extractors.js +145 -113
  156. package/dist/browser/scrape/parser/back.d.ts +1 -0
  157. package/dist/browser/scrape/parser/back.js +3 -0
  158. package/dist/browser/scrape/parser/index.d.ts +20 -0
  159. package/dist/browser/scrape/parser/index.js +19 -0
  160. package/dist/browser/scrape/parser/matcher.d.ts +30 -0
  161. package/dist/browser/scrape/parser/matcher.js +99 -0
  162. package/dist/browser/scrape/parser/nodes/comment.d.ts +12 -0
  163. package/dist/browser/scrape/parser/nodes/comment.js +21 -0
  164. package/dist/browser/scrape/parser/nodes/html.d.ts +110 -0
  165. package/dist/browser/scrape/parser/nodes/html.js +978 -0
  166. package/dist/browser/scrape/parser/nodes/node.d.ts +18 -0
  167. package/dist/browser/scrape/parser/nodes/node.js +31 -0
  168. package/dist/browser/scrape/parser/nodes/text.d.ts +14 -0
  169. package/dist/browser/scrape/parser/nodes/text.js +30 -0
  170. package/dist/browser/scrape/parser/nodes/type.d.ts +6 -0
  171. package/dist/browser/scrape/parser/nodes/type.js +7 -0
  172. package/dist/browser/scrape/parser/parse.d.ts +1 -0
  173. package/dist/browser/scrape/parser/parse.js +1 -0
  174. package/dist/browser/scrape/parser/valid.d.ts +2 -0
  175. package/dist/browser/scrape/parser/valid.js +5 -0
  176. package/dist/browser/scrape/parser/void-tag.d.ts +7 -0
  177. package/dist/browser/scrape/parser/void-tag.js +43 -0
  178. package/dist/browser/scrape/types.d.ts +7 -0
  179. package/dist/browser/seo/analyzer.d.ts +59 -0
  180. package/dist/browser/seo/analyzer.js +1399 -0
  181. package/dist/browser/seo/keywords.d.ts +16 -0
  182. package/dist/browser/seo/keywords.js +55 -0
  183. package/dist/browser/seo/rules/accessibility.d.ts +2 -0
  184. package/dist/browser/seo/rules/accessibility.js +733 -0
  185. package/dist/browser/seo/rules/ai-search.d.ts +2 -0
  186. package/dist/browser/seo/rules/ai-search.js +436 -0
  187. package/dist/browser/seo/rules/analytics.d.ts +2 -0
  188. package/dist/browser/seo/rules/analytics.js +306 -0
  189. package/dist/browser/seo/rules/best-practices.d.ts +2 -0
  190. package/dist/browser/seo/rules/best-practices.js +195 -0
  191. package/dist/browser/seo/rules/canonical.d.ts +12 -0
  192. package/dist/browser/seo/rules/canonical.js +270 -0
  193. package/dist/browser/seo/rules/content.d.ts +2 -0
  194. package/dist/browser/seo/rules/content.js +522 -0
  195. package/dist/browser/seo/rules/crawl.d.ts +2 -0
  196. package/dist/browser/seo/rules/crawl.js +435 -0
  197. package/dist/browser/seo/rules/cwv.d.ts +2 -0
  198. package/dist/browser/seo/rules/cwv.js +248 -0
  199. package/dist/browser/seo/rules/ecommerce.d.ts +2 -0
  200. package/dist/browser/seo/rules/ecommerce.js +312 -0
  201. package/dist/browser/seo/rules/i18n.d.ts +2 -0
  202. package/dist/browser/seo/rules/i18n.js +288 -0
  203. package/dist/browser/seo/rules/images.d.ts +2 -0
  204. package/dist/browser/seo/rules/images.js +255 -0
  205. package/dist/browser/seo/rules/index.d.ts +52 -0
  206. package/dist/browser/seo/rules/index.js +159 -0
  207. package/dist/browser/seo/rules/internal-linking.d.ts +2 -0
  208. package/dist/browser/seo/rules/internal-linking.js +394 -0
  209. package/dist/browser/seo/rules/links.d.ts +2 -0
  210. package/dist/browser/seo/rules/links.js +498 -0
  211. package/dist/browser/seo/rules/local.d.ts +2 -0
  212. package/dist/browser/seo/rules/local.js +289 -0
  213. package/dist/browser/seo/rules/meta.d.ts +2 -0
  214. package/dist/browser/seo/rules/meta.js +805 -0
  215. package/dist/browser/seo/rules/mobile.d.ts +2 -0
  216. package/dist/browser/seo/rules/mobile.js +161 -0
  217. package/dist/browser/seo/rules/performance.d.ts +2 -0
  218. package/dist/browser/seo/rules/performance.js +738 -0
  219. package/dist/browser/seo/rules/pwa.d.ts +2 -0
  220. package/dist/browser/seo/rules/pwa.js +299 -0
  221. package/dist/browser/seo/rules/readability.d.ts +2 -0
  222. package/dist/browser/seo/rules/readability.js +264 -0
  223. package/dist/browser/seo/rules/redirects.d.ts +16 -0
  224. package/dist/browser/seo/rules/redirects.js +199 -0
  225. package/dist/browser/seo/rules/resources.d.ts +2 -0
  226. package/dist/browser/seo/rules/resources.js +390 -0
  227. package/dist/browser/seo/rules/schema.d.ts +2 -0
  228. package/dist/browser/seo/rules/schema.js +379 -0
  229. package/dist/browser/seo/rules/security.d.ts +2 -0
  230. package/dist/browser/seo/rules/security.js +877 -0
  231. package/dist/browser/seo/rules/social.d.ts +2 -0
  232. package/dist/browser/seo/rules/social.js +603 -0
  233. package/dist/browser/seo/rules/structural.d.ts +2 -0
  234. package/dist/browser/seo/rules/structural.js +223 -0
  235. package/dist/browser/seo/rules/technical-advanced.d.ts +10 -0
  236. package/dist/browser/seo/rules/technical-advanced.js +289 -0
  237. package/dist/browser/seo/rules/technical.d.ts +2 -0
  238. package/dist/browser/seo/rules/technical.js +480 -0
  239. package/dist/browser/seo/rules/thresholds.d.ts +196 -0
  240. package/dist/browser/seo/rules/thresholds.js +118 -0
  241. package/dist/browser/seo/rules/types.d.ts +498 -0
  242. package/dist/browser/seo/rules/types.js +11 -0
  243. package/dist/browser/seo/types.d.ts +211 -0
  244. package/dist/browser/seo/types.js +1 -0
  245. package/dist/browser/transport/curl.d.ts +4 -0
  246. package/dist/browser/transport/curl.js +101 -0
  247. package/dist/browser/transport/undici.js +1 -2
  248. package/dist/browser/transport/worker.d.ts +18 -0
  249. package/dist/browser/transport/worker.js +278 -0
  250. package/dist/browser/types/index.d.ts +4 -1
  251. package/dist/browser/utils/binary-manager.d.ts +4 -0
  252. package/dist/browser/utils/binary-manager.js +72 -0
  253. package/dist/browser/utils/user-agent.js +2 -13
  254. package/dist/cache/indexed-db.d.ts +10 -0
  255. package/dist/cache/indexed-db.js +88 -0
  256. package/dist/cache/service-worker-cache.d.ts +18 -0
  257. package/dist/cache/service-worker-cache.js +103 -0
  258. package/dist/cli/commands/ai.d.ts +2 -0
  259. package/dist/cli/commands/ai.js +162 -0
  260. package/dist/cli/commands/bench.d.ts +2 -0
  261. package/dist/cli/commands/bench.js +51 -0
  262. package/dist/cli/commands/dns.d.ts +2 -0
  263. package/dist/cli/commands/dns.js +295 -0
  264. package/dist/cli/commands/har.d.ts +2 -0
  265. package/dist/cli/commands/har.js +171 -0
  266. package/dist/cli/commands/hls.d.ts +2 -0
  267. package/dist/cli/commands/hls.js +192 -0
  268. package/dist/cli/commands/network.d.ts +2 -0
  269. package/dist/cli/commands/network.js +288 -0
  270. package/dist/cli/commands/protocols.d.ts +2 -0
  271. package/dist/cli/commands/protocols.js +344 -0
  272. package/dist/cli/commands/scrape.d.ts +2 -0
  273. package/dist/cli/commands/scrape.js +176 -0
  274. package/dist/cli/commands/security.d.ts +2 -0
  275. package/dist/cli/commands/security.js +57 -0
  276. package/dist/cli/commands/seo.d.ts +2 -0
  277. package/dist/cli/commands/seo.js +125 -0
  278. package/dist/cli/commands/serve.d.ts +2 -0
  279. package/dist/cli/commands/serve.js +531 -0
  280. package/dist/cli/commands/spider.d.ts +3 -0
  281. package/dist/cli/commands/spider.js +456 -0
  282. package/dist/cli/commands/utils.d.ts +2 -0
  283. package/dist/cli/commands/utils.js +176 -0
  284. package/dist/cli/commands/vector.d.ts +2 -0
  285. package/dist/cli/commands/vector.js +158 -0
  286. package/dist/cli/handler.d.ts +2 -2
  287. package/dist/cli/handler.js +6 -6
  288. package/dist/cli/helpers.d.ts +7 -0
  289. package/dist/cli/helpers.js +128 -0
  290. package/dist/cli/index.js +96 -5228
  291. package/dist/cli/parser/help.d.ts +2 -0
  292. package/dist/cli/parser/help.js +52 -0
  293. package/dist/cli/parser/index.d.ts +3 -0
  294. package/dist/cli/parser/index.js +3 -0
  295. package/dist/cli/parser/parser.d.ts +4 -0
  296. package/dist/cli/parser/parser.js +146 -0
  297. package/dist/cli/parser/types.d.ts +41 -0
  298. package/dist/cli/parser/types.js +1 -0
  299. package/dist/cli/presets.d.ts +1 -1
  300. package/dist/cli/presets.js +1 -1
  301. package/dist/cli/router.d.ts +36 -0
  302. package/dist/cli/router.js +195 -0
  303. package/dist/cli/tui/ai-chat.js +1 -1
  304. package/dist/cli/tui/commands/context.d.ts +9 -0
  305. package/dist/cli/tui/commands/context.js +1 -0
  306. package/dist/cli/tui/commands/dns.d.ts +10 -0
  307. package/dist/cli/tui/commands/dns.js +461 -0
  308. package/dist/cli/tui/commands/hls.d.ts +2 -0
  309. package/dist/cli/tui/commands/hls.js +162 -0
  310. package/dist/cli/tui/commands/ip.d.ts +2 -0
  311. package/dist/cli/tui/commands/ip.js +45 -0
  312. package/dist/cli/tui/commands/network.d.ts +3 -0
  313. package/dist/cli/tui/commands/network.js +81 -0
  314. package/dist/cli/tui/commands/protocols.d.ts +6 -0
  315. package/dist/cli/tui/commands/protocols.js +531 -0
  316. package/dist/cli/tui/commands/security.d.ts +2 -0
  317. package/dist/cli/tui/commands/security.js +48 -0
  318. package/dist/cli/tui/commands/seo.d.ts +2 -0
  319. package/dist/cli/tui/commands/seo.js +74 -0
  320. package/dist/cli/tui/context.d.ts +12 -0
  321. package/dist/cli/tui/context.js +1 -0
  322. package/dist/cli/tui/shell.d.ts +11 -20
  323. package/dist/cli/tui/shell.js +216 -1873
  324. package/dist/constants/user-agents.d.ts +7 -0
  325. package/dist/constants/user-agents.js +7 -0
  326. package/dist/core/client.d.ts +2 -0
  327. package/dist/core/client.js +19 -1
  328. package/dist/index.d.ts +1 -0
  329. package/dist/index.js +1 -0
  330. package/dist/mcp/cli.js +2 -3
  331. package/dist/mcp/data/embeddings.json +1 -1
  332. package/dist/mcp/tools/network.js +298 -158
  333. package/dist/plugins/har-player.d.ts +23 -0
  334. package/dist/plugins/har-player.js +49 -0
  335. package/dist/plugins/har-recorder.d.ts +37 -3
  336. package/dist/plugins/har-recorder.js +116 -63
  337. package/dist/plugins/network-simulation.d.ts +7 -0
  338. package/dist/plugins/network-simulation.js +13 -0
  339. package/dist/presets/android.d.ts +2 -0
  340. package/dist/presets/android.js +16 -0
  341. package/dist/presets/chaturbate.d.ts +2 -0
  342. package/dist/presets/chaturbate.js +17 -0
  343. package/dist/presets/elevenlabs.d.ts +6 -0
  344. package/dist/presets/elevenlabs.js +20 -0
  345. package/dist/presets/enhancers.d.ts +20 -0
  346. package/dist/presets/enhancers.js +85 -0
  347. package/dist/presets/hubspot.d.ts +9 -0
  348. package/dist/presets/hubspot.js +28 -0
  349. package/dist/presets/index.d.ts +10 -0
  350. package/dist/presets/index.js +10 -0
  351. package/dist/presets/ios.d.ts +2 -0
  352. package/dist/presets/ios.js +13 -0
  353. package/dist/presets/pinecone.d.ts +8 -0
  354. package/dist/presets/pinecone.js +42 -0
  355. package/dist/presets/registry.js +60 -0
  356. package/dist/presets/sendgrid.d.ts +6 -0
  357. package/dist/presets/sendgrid.js +20 -0
  358. package/dist/presets/sentry.d.ts +11 -0
  359. package/dist/presets/sentry.js +48 -0
  360. package/dist/presets/square.d.ts +10 -0
  361. package/dist/presets/square.js +33 -0
  362. package/dist/recker.d.ts +3 -0
  363. package/dist/recker.js +4 -0
  364. package/dist/scrape/document.d.ts +5 -4
  365. package/dist/scrape/document.js +89 -76
  366. package/dist/scrape/element.d.ts +10 -8
  367. package/dist/scrape/element.js +295 -81
  368. package/dist/scrape/extractors.d.ts +11 -11
  369. package/dist/scrape/extractors.js +145 -113
  370. package/dist/scrape/index.d.ts +2 -0
  371. package/dist/scrape/index.js +1 -0
  372. package/dist/scrape/parser/back.d.ts +1 -0
  373. package/dist/scrape/parser/back.js +3 -0
  374. package/dist/scrape/parser/index.d.ts +20 -0
  375. package/dist/scrape/parser/index.js +19 -0
  376. package/dist/scrape/parser/matcher.d.ts +30 -0
  377. package/dist/scrape/parser/matcher.js +99 -0
  378. package/dist/scrape/parser/nodes/comment.d.ts +12 -0
  379. package/dist/scrape/parser/nodes/comment.js +21 -0
  380. package/dist/scrape/parser/nodes/html.d.ts +110 -0
  381. package/dist/scrape/parser/nodes/html.js +978 -0
  382. package/dist/scrape/parser/nodes/node.d.ts +18 -0
  383. package/dist/scrape/parser/nodes/node.js +31 -0
  384. package/dist/scrape/parser/nodes/text.d.ts +14 -0
  385. package/dist/scrape/parser/nodes/text.js +30 -0
  386. package/dist/scrape/parser/nodes/type.d.ts +6 -0
  387. package/dist/scrape/parser/nodes/type.js +7 -0
  388. package/dist/scrape/parser/parse.d.ts +1 -0
  389. package/dist/scrape/parser/parse.js +1 -0
  390. package/dist/scrape/parser/valid.d.ts +2 -0
  391. package/dist/scrape/parser/valid.js +5 -0
  392. package/dist/scrape/parser/void-tag.d.ts +7 -0
  393. package/dist/scrape/parser/void-tag.js +43 -0
  394. package/dist/scrape/spider.d.ts +19 -0
  395. package/dist/scrape/spider.js +28 -3
  396. package/dist/scrape/types.d.ts +7 -0
  397. package/dist/seo/analyzer.d.ts +15 -5
  398. package/dist/seo/analyzer.js +636 -175
  399. package/dist/seo/formatter.d.ts +16 -0
  400. package/dist/seo/formatter.js +228 -0
  401. package/dist/seo/index.d.ts +2 -0
  402. package/dist/seo/index.js +1 -0
  403. package/dist/seo/keywords.d.ts +16 -0
  404. package/dist/seo/keywords.js +55 -0
  405. package/dist/seo/rules/accessibility.js +96 -57
  406. package/dist/seo/rules/ai-search.js +44 -31
  407. package/dist/seo/rules/analytics.d.ts +2 -0
  408. package/dist/seo/rules/analytics.js +306 -0
  409. package/dist/seo/rules/best-practices.js +21 -14
  410. package/dist/seo/rules/canonical.js +53 -32
  411. package/dist/seo/rules/content.js +317 -31
  412. package/dist/seo/rules/crawl.js +55 -40
  413. package/dist/seo/rules/cwv.js +21 -15
  414. package/dist/seo/rules/ecommerce.js +82 -22
  415. package/dist/seo/rules/i18n.js +75 -36
  416. package/dist/seo/rules/images.js +109 -30
  417. package/dist/seo/rules/index.js +2 -0
  418. package/dist/seo/rules/internal-linking.js +58 -39
  419. package/dist/seo/rules/links.js +79 -52
  420. package/dist/seo/rules/local.js +49 -25
  421. package/dist/seo/rules/meta.js +339 -81
  422. package/dist/seo/rules/mobile.js +112 -2
  423. package/dist/seo/rules/performance.js +434 -66
  424. package/dist/seo/rules/pwa.js +36 -39
  425. package/dist/seo/rules/readability.js +31 -22
  426. package/dist/seo/rules/redirects.js +21 -15
  427. package/dist/seo/rules/resources.js +59 -42
  428. package/dist/seo/rules/schema.js +333 -8
  429. package/dist/seo/rules/security.js +142 -80
  430. package/dist/seo/rules/social.js +277 -47
  431. package/dist/seo/rules/structural.js +87 -19
  432. package/dist/seo/rules/technical-advanced.js +30 -24
  433. package/dist/seo/rules/technical.js +243 -42
  434. package/dist/seo/rules/types.d.ts +53 -1
  435. package/dist/seo/seo-spider.d.ts +22 -0
  436. package/dist/seo/seo-spider.js +77 -13
  437. package/dist/seo/types.d.ts +8 -1
  438. package/dist/seo/validators/llms-txt.js +19 -0
  439. package/dist/seo/validators/rss.d.ts +11 -0
  440. package/dist/seo/validators/rss.js +93 -0
  441. package/dist/seo/validators/sitemap.js +36 -26
  442. package/dist/transport/curl.d.ts +4 -0
  443. package/dist/transport/curl.js +101 -0
  444. package/dist/transport/udp.js +0 -1
  445. package/dist/transport/undici.js +1 -2
  446. package/dist/transport/worker.d.ts +18 -0
  447. package/dist/transport/worker.js +278 -0
  448. package/dist/types/index.d.ts +4 -1
  449. package/dist/utils/binary-manager.d.ts +4 -0
  450. package/dist/utils/binary-manager.js +72 -0
  451. package/dist/utils/optional-require.d.ts +7 -8
  452. package/dist/utils/optional-require.js +2 -21
  453. package/dist/utils/upload.d.ts +6 -0
  454. package/dist/utils/upload.js +11 -0
  455. package/dist/utils/user-agent.js +2 -13
  456. package/dist/version.js +1 -1
  457. package/package.json +12 -6
  458. package/dist/browser/utils/optional-require.d.ts +0 -19
  459. package/dist/browser/utils/optional-require.js +0 -105
@@ -0,0 +1,68 @@
1
+ import { awsSignatureV4Plugin } from '../plugins/auth.js';
2
+ function getServiceEndpoint(service, region) {
3
+ const globalServices = ['iam', 'sts', 'cloudfront', 'route53'];
4
+ if (globalServices.includes(service)) {
5
+ return `https://${service}.amazonaws.com`;
6
+ }
7
+ const specialEndpoints = {
8
+ 's3': `https://s3.${region}.amazonaws.com`,
9
+ 'execute-api': `https://${region}.execute-api.amazonaws.com`,
10
+ 'logs': `https://logs.${region}.amazonaws.com`,
11
+ 'events': `https://events.${region}.amazonaws.com`,
12
+ 'states': `https://states.${region}.amazonaws.com`,
13
+ 'bedrock-runtime': `https://bedrock-runtime.${region}.amazonaws.com`,
14
+ };
15
+ if (specialEndpoints[service]) {
16
+ return specialEndpoints[service];
17
+ }
18
+ return `https://${service}.${region}.amazonaws.com`;
19
+ }
20
+ export function aws(options) {
21
+ const baseUrl = options.endpoint ?? getServiceEndpoint(options.service, options.region);
22
+ return {
23
+ baseUrl,
24
+ headers: {
25
+ 'Content-Type': 'application/json',
26
+ },
27
+ timeout: 30 * 1000,
28
+ retry: {
29
+ maxAttempts: 3,
30
+ backoff: 'exponential',
31
+ delay: 1000,
32
+ statusCodes: [408, 429, 500, 502, 503, 504]
33
+ },
34
+ plugins: [
35
+ awsSignatureV4Plugin({
36
+ accessKeyId: options.accessKeyId,
37
+ secretAccessKey: options.secretAccessKey,
38
+ region: options.region,
39
+ service: options.service,
40
+ sessionToken: options.sessionToken,
41
+ })
42
+ ]
43
+ };
44
+ }
45
+ export function awsS3(options) {
46
+ return aws({ ...options, service: 's3' });
47
+ }
48
+ export function awsDynamoDB(options) {
49
+ return aws({ ...options, service: 'dynamodb' });
50
+ }
51
+ export function awsLambda(options) {
52
+ return aws({ ...options, service: 'lambda' });
53
+ }
54
+ export function awsSQS(options) {
55
+ return aws({ ...options, service: 'sqs' });
56
+ }
57
+ export function awsSNS(options) {
58
+ return aws({ ...options, service: 'sns' });
59
+ }
60
+ export function awsSES(options) {
61
+ return aws({ ...options, service: 'ses' });
62
+ }
63
+ export function awsSecretsManager(options) {
64
+ return aws({ ...options, service: 'secretsmanager' });
65
+ }
66
+ export function awsBedrock(options) {
67
+ return aws({ ...options, service: 'bedrock-runtime' });
68
+ }
@@ -0,0 +1,10 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ import type { ClientOptionsWithAI } from '../types/ai-client.js';
3
+ export interface AzureOpenAIPresetOptions {
4
+ resourceName: string;
5
+ apiKey: string;
6
+ apiVersion?: string;
7
+ deploymentName?: string;
8
+ model?: string;
9
+ }
10
+ export declare function azureOpenai(options: AzureOpenAIPresetOptions): ClientOptions & ClientOptionsWithAI;
@@ -0,0 +1,35 @@
1
+ export function azureOpenai(options) {
2
+ const apiVersion = options.apiVersion || '2024-02-15-preview';
3
+ const baseUrl = options.deploymentName
4
+ ? `https://${options.resourceName}.openai.azure.com/openai/deployments/${options.deploymentName}`
5
+ : `https://${options.resourceName}.openai.azure.com/openai`;
6
+ const _aiConfig = {
7
+ provider: 'azure-openai',
8
+ apiKey: options.apiKey,
9
+ model: options.model ?? options.deploymentName ?? 'gpt-4o',
10
+ resourceName: options.resourceName,
11
+ deploymentName: options.deploymentName,
12
+ apiVersion,
13
+ memory: { maxPairs: 12 },
14
+ };
15
+ return {
16
+ baseUrl,
17
+ headers: {
18
+ 'api-key': options.apiKey,
19
+ 'Content-Type': 'application/json',
20
+ },
21
+ defaults: {
22
+ params: {
23
+ 'api-version': apiVersion,
24
+ }
25
+ },
26
+ timeout: 10 * 60 * 1000,
27
+ retry: {
28
+ maxAttempts: 5,
29
+ backoff: 'exponential',
30
+ delay: 1000,
31
+ statusCodes: [408, 429, 500, 502, 503, 504]
32
+ },
33
+ _aiConfig,
34
+ };
35
+ }
@@ -0,0 +1,41 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface AzurePresetOptions {
3
+ subscriptionId?: string;
4
+ resourceGroup?: string;
5
+ auth: AzureAuthOptions;
6
+ }
7
+ export type AzureAuthOptions = {
8
+ type: 'bearer';
9
+ token: string | (() => string | Promise<string>);
10
+ } | {
11
+ type: 'shared-key';
12
+ accountName: string;
13
+ accountKey: string;
14
+ } | {
15
+ type: 'sas';
16
+ sasToken: string;
17
+ };
18
+ export type AzureService = 'management' | 'storage-blob' | 'storage-queue' | 'storage-table' | 'storage-file' | 'cosmos-db' | 'keyvault' | 'servicebus' | 'eventhubs' | 'functions' | 'cognitive' | 'devops' | 'graph' | 'monitor' | 'containerregistry';
19
+ export interface AzureFullPresetOptions extends AzurePresetOptions {
20
+ service: AzureService;
21
+ accountName?: string;
22
+ region?: string;
23
+ }
24
+ export declare function azure(options: AzureFullPresetOptions): ClientOptions;
25
+ export declare function azureResourceManager(options: Omit<AzurePresetOptions, 'service'> & {
26
+ subscriptionId: string;
27
+ }): ClientOptions;
28
+ export declare function azureBlobStorage(options: Omit<AzurePresetOptions, 'service'> & {
29
+ accountName: string;
30
+ }): ClientOptions;
31
+ export declare function azureKeyVault(options: Omit<AzurePresetOptions, 'service'> & {
32
+ accountName: string;
33
+ }): ClientOptions;
34
+ export declare function azureCosmosDB(options: Omit<AzurePresetOptions, 'service'> & {
35
+ accountName: string;
36
+ }): ClientOptions;
37
+ export declare function microsoftGraph(options: Omit<AzurePresetOptions, 'service'>): ClientOptions;
38
+ export declare function azureDevOps(options: Omit<AzurePresetOptions, 'service'>): ClientOptions;
39
+ export declare function azureCognitiveServices(options: Omit<AzurePresetOptions, 'service'> & {
40
+ region: string;
41
+ }): ClientOptions;
@@ -0,0 +1,104 @@
1
+ function getAzureServiceUrl(service, options) {
2
+ const { subscriptionId, accountName, region } = options;
3
+ switch (service) {
4
+ case 'management':
5
+ return 'https://management.azure.com';
6
+ case 'storage-blob':
7
+ return `https://${accountName}.blob.core.windows.net`;
8
+ case 'storage-queue':
9
+ return `https://${accountName}.queue.core.windows.net`;
10
+ case 'storage-table':
11
+ return `https://${accountName}.table.core.windows.net`;
12
+ case 'storage-file':
13
+ return `https://${accountName}.file.core.windows.net`;
14
+ case 'cosmos-db':
15
+ return `https://${accountName}.documents.azure.com`;
16
+ case 'keyvault':
17
+ return `https://${accountName}.vault.azure.net`;
18
+ case 'servicebus':
19
+ return `https://${accountName}.servicebus.windows.net`;
20
+ case 'eventhubs':
21
+ return `https://${accountName}.servicebus.windows.net`;
22
+ case 'cognitive':
23
+ return `https://${region || 'eastus'}.api.cognitive.microsoft.com`;
24
+ case 'devops':
25
+ return 'https://dev.azure.com';
26
+ case 'graph':
27
+ return 'https://graph.microsoft.com/v1.0';
28
+ case 'monitor':
29
+ return 'https://management.azure.com';
30
+ case 'containerregistry':
31
+ return `https://${accountName}.azurecr.io`;
32
+ default:
33
+ return 'https://management.azure.com';
34
+ }
35
+ }
36
+ function createAzureAuthMiddleware(auth) {
37
+ return async (req, next) => {
38
+ let newReq = req;
39
+ if (auth.type === 'bearer') {
40
+ const token = typeof auth.token === 'function'
41
+ ? await auth.token()
42
+ : auth.token;
43
+ newReq = req.withHeader('Authorization', `Bearer ${token}`);
44
+ }
45
+ else if (auth.type === 'sas') {
46
+ const url = new URL(req.url);
47
+ const sasParams = new URLSearchParams(auth.sasToken.startsWith('?') ? auth.sasToken.slice(1) : auth.sasToken);
48
+ sasParams.forEach((value, key) => url.searchParams.set(key, value));
49
+ newReq = { ...req, url: url.toString() };
50
+ }
51
+ else if (auth.type === 'shared-key') {
52
+ const authHeader = `SharedKey ${auth.accountName}:${auth.accountKey}`;
53
+ newReq = req.withHeader('Authorization', authHeader);
54
+ }
55
+ return next(newReq);
56
+ };
57
+ }
58
+ export function azure(options) {
59
+ const baseUrl = getAzureServiceUrl(options.service, {
60
+ subscriptionId: options.subscriptionId,
61
+ resourceGroup: options.resourceGroup,
62
+ accountName: options.accountName,
63
+ region: options.region,
64
+ });
65
+ const headers = {
66
+ 'Content-Type': 'application/json',
67
+ };
68
+ if (options.service === 'management' || options.service === 'monitor') {
69
+ headers['x-ms-version'] = '2023-01-01';
70
+ }
71
+ return {
72
+ baseUrl,
73
+ headers,
74
+ timeout: 60 * 1000,
75
+ retry: {
76
+ maxAttempts: 3,
77
+ backoff: 'exponential',
78
+ delay: 1000,
79
+ statusCodes: [408, 429, 500, 502, 503, 504]
80
+ },
81
+ middlewares: [createAzureAuthMiddleware(options.auth)]
82
+ };
83
+ }
84
+ export function azureResourceManager(options) {
85
+ return azure({ ...options, service: 'management' });
86
+ }
87
+ export function azureBlobStorage(options) {
88
+ return azure({ ...options, service: 'storage-blob' });
89
+ }
90
+ export function azureKeyVault(options) {
91
+ return azure({ ...options, service: 'keyvault' });
92
+ }
93
+ export function azureCosmosDB(options) {
94
+ return azure({ ...options, service: 'cosmos-db' });
95
+ }
96
+ export function microsoftGraph(options) {
97
+ return azure({ ...options, service: 'graph' });
98
+ }
99
+ export function azureDevOps(options) {
100
+ return azure({ ...options, service: 'devops' });
101
+ }
102
+ export function azureCognitiveServices(options) {
103
+ return azure({ ...options, service: 'cognitive' });
104
+ }
@@ -0,0 +1,2 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export default function chaturbate(): ClientOptions;
@@ -0,0 +1,17 @@
1
+ export default function chaturbate() {
2
+ return {
3
+ useCurl: true,
4
+ headers: {
5
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
6
+ 'Referer': 'https://chaturbate.com/',
7
+ 'Origin': 'https://chaturbate.com',
8
+ 'Accept': '*/*',
9
+ 'Sec-Fetch-Dest': 'empty',
10
+ 'Sec-Fetch-Mode': 'cors',
11
+ 'Sec-Fetch-Site': 'cross-site',
12
+ 'Connection': 'keep-alive',
13
+ 'Pragma': 'no-cache',
14
+ 'Cache-Control': 'no-cache'
15
+ }
16
+ };
17
+ }
@@ -0,0 +1,12 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface CloudflarePresetOptions {
3
+ apiToken?: string;
4
+ apiKey?: string;
5
+ email?: string;
6
+ }
7
+ export declare function cloudflare(options: CloudflarePresetOptions): ClientOptions;
8
+ export interface CloudflareWorkersAIPresetOptions {
9
+ accountId: string;
10
+ apiToken: string;
11
+ }
12
+ export declare function cloudflareWorkersAI(options: CloudflareWorkersAIPresetOptions): ClientOptions;
@@ -0,0 +1,39 @@
1
+ export function cloudflare(options) {
2
+ const headers = {
3
+ 'Content-Type': 'application/json',
4
+ };
5
+ if (options.apiToken) {
6
+ headers['Authorization'] = `Bearer ${options.apiToken}`;
7
+ }
8
+ else if (options.apiKey && options.email) {
9
+ headers['X-Auth-Key'] = options.apiKey;
10
+ headers['X-Auth-Email'] = options.email;
11
+ }
12
+ return {
13
+ baseUrl: 'https://api.cloudflare.com/client/v4',
14
+ headers,
15
+ timeout: 30 * 1000,
16
+ retry: {
17
+ maxAttempts: 3,
18
+ backoff: 'exponential',
19
+ delay: 1000,
20
+ statusCodes: [408, 429, 500, 502, 503, 504]
21
+ }
22
+ };
23
+ }
24
+ export function cloudflareWorkersAI(options) {
25
+ return {
26
+ baseUrl: `https://api.cloudflare.com/client/v4/accounts/${options.accountId}/ai`,
27
+ headers: {
28
+ 'Authorization': `Bearer ${options.apiToken}`,
29
+ 'Content-Type': 'application/json',
30
+ },
31
+ timeout: 5 * 60 * 1000,
32
+ retry: {
33
+ maxAttempts: 3,
34
+ backoff: 'exponential',
35
+ delay: 1000,
36
+ statusCodes: [408, 429, 500, 502, 503, 504]
37
+ }
38
+ };
39
+ }
@@ -0,0 +1,7 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ import type { ClientOptionsWithAI } from '../types/ai-client.js';
3
+ export interface CoherePresetOptions {
4
+ apiKey: string;
5
+ model?: string;
6
+ }
7
+ export declare function cohere(options: CoherePresetOptions): ClientOptions & ClientOptionsWithAI;
@@ -0,0 +1,22 @@
1
+ export function cohere(options) {
2
+ const _aiConfig = {
3
+ provider: 'cohere',
4
+ apiKey: options.apiKey,
5
+ model: options.model ?? 'command-a-03-2025',
6
+ memory: { maxPairs: 12 },
7
+ };
8
+ return {
9
+ baseUrl: 'https://api.cohere.ai/v1',
10
+ headers: {
11
+ 'Authorization': `Bearer ${options.apiKey}`,
12
+ },
13
+ timeout: 5 * 60 * 1000,
14
+ retry: {
15
+ maxAttempts: 5,
16
+ backoff: 'exponential',
17
+ delay: 1000,
18
+ statusCodes: [408, 429, 500, 502, 503, 504]
19
+ },
20
+ _aiConfig,
21
+ };
22
+ }
@@ -0,0 +1,7 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ import type { ClientOptionsWithAI } from '../types/ai-client.js';
3
+ export interface DeepSeekPresetOptions {
4
+ apiKey: string;
5
+ model?: string;
6
+ }
7
+ export declare function deepseek(options: DeepSeekPresetOptions): ClientOptions & ClientOptionsWithAI;
@@ -0,0 +1,22 @@
1
+ export function deepseek(options) {
2
+ const _aiConfig = {
3
+ provider: 'deepseek',
4
+ apiKey: options.apiKey,
5
+ model: options.model ?? 'deepseek-v3.2',
6
+ memory: { maxPairs: 12 },
7
+ };
8
+ return {
9
+ baseUrl: 'https://api.deepseek.com/v1',
10
+ headers: {
11
+ 'Authorization': `Bearer ${options.apiKey}`,
12
+ },
13
+ timeout: 10 * 60 * 1000,
14
+ retry: {
15
+ maxAttempts: 5,
16
+ backoff: 'exponential',
17
+ delay: 1000,
18
+ statusCodes: [408, 429, 500, 502, 503, 504]
19
+ },
20
+ _aiConfig,
21
+ };
22
+ }
@@ -0,0 +1,5 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface DigitalOceanPresetOptions {
3
+ token: string;
4
+ }
5
+ export declare function digitalocean(options: DigitalOceanPresetOptions): ClientOptions;
@@ -0,0 +1,16 @@
1
+ export function digitalocean(options) {
2
+ return {
3
+ baseUrl: 'https://api.digitalocean.com/v2',
4
+ headers: {
5
+ 'Authorization': `Bearer ${options.token}`,
6
+ 'Content-Type': 'application/json',
7
+ },
8
+ timeout: 30 * 1000,
9
+ retry: {
10
+ maxAttempts: 3,
11
+ backoff: 'exponential',
12
+ delay: 1000,
13
+ statusCodes: [408, 429, 500, 502, 503, 504]
14
+ }
15
+ };
16
+ }
@@ -0,0 +1,6 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface DiscordPresetOptions {
3
+ token: string;
4
+ tokenType?: 'Bot' | 'Bearer';
5
+ }
6
+ export declare function discord(options: DiscordPresetOptions): ClientOptions;
@@ -0,0 +1,17 @@
1
+ export function discord(options) {
2
+ const tokenType = options.tokenType || 'Bot';
3
+ return {
4
+ baseUrl: 'https://discord.com/api/v10',
5
+ headers: {
6
+ 'Authorization': `${tokenType} ${options.token}`,
7
+ 'Content-Type': 'application/json',
8
+ },
9
+ timeout: 30 * 1000,
10
+ retry: {
11
+ maxAttempts: 5,
12
+ backoff: 'exponential',
13
+ delay: 1000,
14
+ statusCodes: [408, 429, 500, 502, 503, 504]
15
+ }
16
+ };
17
+ }
@@ -0,0 +1,6 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface ElevenLabsPresetOptions {
3
+ apiKey: string;
4
+ }
5
+ export declare function elevenlabs(options: ElevenLabsPresetOptions): ClientOptions;
6
+ export declare const elevenlabsVoices: (options: ElevenLabsPresetOptions) => ClientOptions;
@@ -0,0 +1,20 @@
1
+ export function elevenlabs(options) {
2
+ return {
3
+ baseUrl: 'https://api.elevenlabs.io/v1',
4
+ headers: {
5
+ 'xi-api-key': options.apiKey,
6
+ 'Content-Type': 'application/json',
7
+ },
8
+ timeout: 3 * 60 * 1000,
9
+ retry: {
10
+ maxAttempts: 2,
11
+ backoff: 'exponential',
12
+ delay: 2000,
13
+ statusCodes: [408, 429, 500, 502, 503, 504],
14
+ }
15
+ };
16
+ }
17
+ export const elevenlabsVoices = (options) => ({
18
+ ...elevenlabs(options),
19
+ baseUrl: 'https://api.elevenlabs.io/v1/voices',
20
+ });
@@ -0,0 +1,20 @@
1
+ import type { ClientOptions } from '../types/index.js';
2
+ export declare const mobile: () => ClientOptions;
3
+ export declare const desktop: () => ClientOptions;
4
+ export declare const chrome: () => ClientOptions;
5
+ export declare const bot: () => ClientOptions;
6
+ export declare const google: () => ClientOptions;
7
+ export declare const curl: () => ClientOptions;
8
+ export declare const retry: () => ClientOptions;
9
+ export declare const insecure: () => ClientOptions;
10
+ export declare const failfast: () => ClientOptions;
11
+ export declare const nocache: () => ClientOptions;
12
+ export declare const json: () => ClientOptions;
13
+ export declare const xml: () => ClientOptions;
14
+ export declare const csv: () => ClientOptions;
15
+ export declare const text: () => ClientOptions;
16
+ export declare const html: () => ClientOptions;
17
+ export declare const image: () => ClientOptions;
18
+ export declare const local: () => ClientOptions;
19
+ export declare const local8000: () => ClientOptions;
20
+ export declare const local8080: () => ClientOptions;
@@ -0,0 +1,85 @@
1
+ export const mobile = () => ({
2
+ headers: {
3
+ 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
4
+ }
5
+ });
6
+ export const desktop = () => ({
7
+ headers: {
8
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
9
+ }
10
+ });
11
+ export const chrome = desktop;
12
+ export const bot = () => ({
13
+ headers: {
14
+ 'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
15
+ }
16
+ });
17
+ export const google = bot;
18
+ export const curl = () => ({
19
+ headers: {
20
+ 'User-Agent': 'curl/8.5.0',
21
+ 'Accept': '*/*'
22
+ }
23
+ });
24
+ export const retry = () => ({
25
+ retry: {
26
+ maxAttempts: 3,
27
+ delay: 1000,
28
+ backoff: 'exponential',
29
+ statusCodes: [408, 429, 500, 502, 503, 504]
30
+ }
31
+ });
32
+ export const insecure = () => ({
33
+ tls: {
34
+ rejectUnauthorized: false
35
+ }
36
+ });
37
+ export const failfast = () => ({
38
+ timeout: 2000,
39
+ retry: { maxAttempts: 0 }
40
+ });
41
+ export const nocache = () => ({
42
+ headers: {
43
+ 'Cache-Control': 'no-cache, no-store',
44
+ 'Pragma': 'no-cache'
45
+ }
46
+ });
47
+ export const json = () => ({
48
+ headers: {
49
+ 'Accept': 'application/json'
50
+ }
51
+ });
52
+ export const xml = () => ({
53
+ headers: {
54
+ 'Accept': 'application/xml, text/xml'
55
+ }
56
+ });
57
+ export const csv = () => ({
58
+ headers: {
59
+ 'Accept': 'text/csv'
60
+ }
61
+ });
62
+ export const text = () => ({
63
+ headers: {
64
+ 'Accept': 'text/plain'
65
+ }
66
+ });
67
+ export const html = () => ({
68
+ headers: {
69
+ 'Accept': 'text/html'
70
+ }
71
+ });
72
+ export const image = () => ({
73
+ headers: {
74
+ 'Accept': 'image/*'
75
+ }
76
+ });
77
+ export const local = () => ({
78
+ baseUrl: 'http://localhost:3000'
79
+ });
80
+ export const local8000 = () => ({
81
+ baseUrl: 'http://localhost:8000'
82
+ });
83
+ export const local8080 = () => ({
84
+ baseUrl: 'http://localhost:8080'
85
+ });
@@ -0,0 +1,7 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ import type { ClientOptionsWithAI } from '../types/ai-client.js';
3
+ export interface FireworksPresetOptions {
4
+ apiKey: string;
5
+ model?: string;
6
+ }
7
+ export declare function fireworks(options: FireworksPresetOptions): ClientOptions & ClientOptionsWithAI;
@@ -0,0 +1,22 @@
1
+ export function fireworks(options) {
2
+ const _aiConfig = {
3
+ provider: 'fireworks',
4
+ apiKey: options.apiKey,
5
+ model: options.model ?? 'accounts/fireworks/models/llama-v3p3-70b-instruct',
6
+ memory: { maxPairs: 12 },
7
+ };
8
+ return {
9
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
10
+ headers: {
11
+ 'Authorization': `Bearer ${options.apiKey}`,
12
+ },
13
+ timeout: 5 * 60 * 1000,
14
+ retry: {
15
+ maxAttempts: 3,
16
+ backoff: 'exponential',
17
+ delay: 500,
18
+ statusCodes: [408, 429, 500, 502, 503, 504]
19
+ },
20
+ _aiConfig,
21
+ };
22
+ }
@@ -0,0 +1,34 @@
1
+ import { ClientOptions } from '../types/index.js';
2
+ export interface GCPPresetOptions {
3
+ projectId: string;
4
+ auth: GCPAuthOptions;
5
+ region?: string;
6
+ }
7
+ export type GCPAuthOptions = {
8
+ type: 'api-key';
9
+ apiKey: string;
10
+ } | {
11
+ type: 'oauth';
12
+ accessToken: string | (() => string | Promise<string>);
13
+ } | {
14
+ type: 'service-account';
15
+ keyFile?: string;
16
+ credentials?: GCPServiceAccountCredentials;
17
+ };
18
+ export interface GCPServiceAccountCredentials {
19
+ client_email: string;
20
+ private_key: string;
21
+ token_uri?: string;
22
+ }
23
+ export type GCPService = 'compute' | 'storage' | 'bigquery' | 'pubsub' | 'firestore' | 'functions' | 'run' | 'cloudsql' | 'kubernetes' | 'aiplatform' | 'translate' | 'vision' | 'speech' | 'language' | 'secretmanager' | 'iam' | 'logging' | 'monitoring';
24
+ export declare function gcp(options: GCPPresetOptions & {
25
+ service: GCPService;
26
+ }): ClientOptions;
27
+ export declare function gcpStorage(options: GCPPresetOptions): ClientOptions;
28
+ export declare function gcpCompute(options: GCPPresetOptions): ClientOptions;
29
+ export declare function gcpBigQuery(options: GCPPresetOptions): ClientOptions;
30
+ export declare function gcpPubSub(options: GCPPresetOptions): ClientOptions;
31
+ export declare function gcpCloudRun(options: GCPPresetOptions): ClientOptions;
32
+ export declare function gcpVertexAI(options: GCPPresetOptions): ClientOptions;
33
+ export declare function gcpFirestore(options: GCPPresetOptions): ClientOptions;
34
+ export declare function gcpSecretManager(options: GCPPresetOptions): ClientOptions;