@oomol-lab/open-connector 1.9.2 → 1.9.3

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 (486) hide show
  1. package/README.md +4 -2
  2. package/assets/open-connector/catalog/apps/allratestoday.json +174 -0
  3. package/assets/open-connector/catalog/apps/slackbot.json +20 -1
  4. package/assets/open-connector/catalog/apps-index.json +1 -1
  5. package/package.json +1 -1
  6. package/src/connection-error.d.ts +7 -0
  7. package/src/connection-error.js +10 -0
  8. package/src/connection-service.d.ts +2 -50
  9. package/src/connection-service.js +6 -130
  10. package/src/connection-store.d.ts +41 -0
  11. package/src/connection-store.js +1 -0
  12. package/src/core/guarded-fetch.d.ts +3 -0
  13. package/src/core/guarded-fetch.js +8 -1
  14. package/src/core/provider-network-policy.d.ts +15 -0
  15. package/src/core/provider-network-policy.js +11 -0
  16. package/src/core/request.d.ts +18 -14
  17. package/src/core/request.js +11 -35
  18. package/src/credential-resolver.d.ts +24 -0
  19. package/src/credential-resolver.js +131 -0
  20. package/src/mcp.js +1 -1
  21. package/src/oauth/oauth-client-config-service.d.ts +1 -1
  22. package/src/oauth/oauth-client-config-service.js +14 -2
  23. package/src/oauth/oauth-credential-refresh-service.js +1 -1
  24. package/src/oauth/oauth-flow-service.d.ts +9 -1
  25. package/src/oauth/oauth-flow-service.js +11 -1
  26. package/src/providers/abuseipdb/executors.js +3 -4
  27. package/src/providers/action-contracts.generated.d.ts +1 -0
  28. package/src/providers/addressfinder/executors.js +2 -3
  29. package/src/providers/aeroleads/executors.js +3 -3
  30. package/src/providers/affinity/runtime.js +6 -7
  31. package/src/providers/aftership/executors.js +2 -2
  32. package/src/providers/agent_mail/runtime.js +2 -2
  33. package/src/providers/agentql/runtime.js +2 -2
  34. package/src/providers/agenty/runtime.js +5 -6
  35. package/src/providers/agiled/runtime.d.ts +0 -1
  36. package/src/providers/agiled/runtime.js +2 -3
  37. package/src/providers/agility/runtime.js +2 -3
  38. package/src/providers/ahrefs/runtime.js +3 -3
  39. package/src/providers/aifinmarket/runtime.js +6 -7
  40. package/src/providers/airtable/executors.js +3 -3
  41. package/src/providers/alchemy/runtime.js +2 -2
  42. package/src/providers/algolia/runtime.js +3 -3
  43. package/src/providers/aliyun_oss/executors.js +7 -7
  44. package/src/providers/allratestoday/executors.d.ts +3 -0
  45. package/src/providers/allratestoday/executors.js +18 -0
  46. package/src/providers/allratestoday/runtime.d.ts +17 -0
  47. package/src/providers/allratestoday/runtime.js +104 -0
  48. package/src/providers/alpaca/runtime.js +2 -3
  49. package/src/providers/alpha_vantage/runtime.js +2 -2
  50. package/src/providers/alt_text_ai/runtime.js +2 -2
  51. package/src/providers/altiria/executors.js +3 -3
  52. package/src/providers/amap/runtime.js +3 -3
  53. package/src/providers/ambee/runtime.js +2 -2
  54. package/src/providers/ambivo/executors.js +3 -3
  55. package/src/providers/amilia/runtime.js +1 -1
  56. package/src/providers/amplemarket/runtime.js +2 -2
  57. package/src/providers/amplitude/runtime.js +3 -3
  58. package/src/providers/anysearch/runtime.js +4 -4
  59. package/src/providers/apaleo/runtime.js +2 -2
  60. package/src/providers/api_sports/executors.js +3 -4
  61. package/src/providers/apiverve/executors.js +2 -3
  62. package/src/providers/apollo/executors.js +2 -3
  63. package/src/providers/appcircle/runtime.js +5 -5
  64. package/src/providers/appdrag/executors.js +2 -3
  65. package/src/providers/arcgis_online/executors.js +2 -2
  66. package/src/providers/auth0_management/runtime.js +2 -3
  67. package/src/providers/autoblogger/executors.js +3 -3
  68. package/src/providers/baidu_maps/runtime.js +3 -3
  69. package/src/providers/baidu_netdisk/runtime-mcp.js +3 -4
  70. package/src/providers/bark/executors.js +5 -5
  71. package/src/providers/bitrise/runtime.js +3 -3
  72. package/src/providers/bouncer/executors.js +3 -4
  73. package/src/providers/browse_ai/runtime.js +3 -4
  74. package/src/providers/browserstack/executors.js +6 -7
  75. package/src/providers/buildkite/runtime.js +3 -3
  76. package/src/providers/bunnycdn/runtime.js +3 -3
  77. package/src/providers/businessmap/runtime.js +6 -7
  78. package/src/providers/buttondown/runtime.js +2 -2
  79. package/src/providers/byteforms/runtime.js +2 -2
  80. package/src/providers/calendly/runtime.js +2 -2
  81. package/src/providers/captainbi/runtime.js +6 -6
  82. package/src/providers/castingwords/runtime.js +1 -1
  83. package/src/providers/chatpdf/runtime.js +4 -4
  84. package/src/providers/check/executors.js +3 -4
  85. package/src/providers/checkly/executors.js +3 -4
  86. package/src/providers/chengxin/runtime.js +3 -3
  87. package/src/providers/cincopa/executors.js +3 -4
  88. package/src/providers/circle/executors.js +3 -4
  89. package/src/providers/clearout/executors.js +1 -2
  90. package/src/providers/clickhelp/runtime.js +5 -5
  91. package/src/providers/clickhouse/runtime.js +4 -4
  92. package/src/providers/clinicalkey/runtime.js +3 -3
  93. package/src/providers/clinicaltrials_gov/runtime.js +4 -5
  94. package/src/providers/clockify/runtime.js +4 -4
  95. package/src/providers/close/runtime.js +3 -3
  96. package/src/providers/cloudconvert/runtime.js +8 -9
  97. package/src/providers/cloudflare_dns/runtime.js +2 -2
  98. package/src/providers/cloudflare_email_routing/runtime.js +2 -2
  99. package/src/providers/cloudflare_r2/runtime.js +5 -5
  100. package/src/providers/cloudflare_worker/runtime.js +10 -10
  101. package/src/providers/cloudinary/runtime.js +4 -4
  102. package/src/providers/cloudlayer/runtime.js +5 -5
  103. package/src/providers/codacy/runtime.js +2 -2
  104. package/src/providers/codemagic/runtime.js +2 -2
  105. package/src/providers/confluence/executors.js +4 -4
  106. package/src/providers/confluence/runtime.d.ts +0 -1
  107. package/src/providers/confluence/runtime.js +6 -7
  108. package/src/providers/contactout/runtime.js +5 -5
  109. package/src/providers/contentful/runtime.js +2 -2
  110. package/src/providers/contentstack_content_delivery/runtime.js +1 -1
  111. package/src/providers/cronly/runtime.js +2 -2
  112. package/src/providers/crossref/runtime.js +3 -3
  113. package/src/providers/cutt_ly/runtime.js +3 -3
  114. package/src/providers/cyberimpact/runtime.js +3 -3
  115. package/src/providers/dachser/executors.js +2 -2
  116. package/src/providers/dailybot/runtime.js +1 -1
  117. package/src/providers/databox/runtime.js +2 -2
  118. package/src/providers/databricks/runtime.js +2 -2
  119. package/src/providers/datacite/runtime.js +1 -1
  120. package/src/providers/datadog/executors.js +3 -4
  121. package/src/providers/datascope/runtime.js +2 -2
  122. package/src/providers/daytona/executors.js +3 -3
  123. package/src/providers/deepgram/runtime.js +2 -2
  124. package/src/providers/deepl/runtime.js +4 -4
  125. package/src/providers/detrack/executors.js +5 -5
  126. package/src/providers/deutschlandgpt/runtime.js +2 -2
  127. package/src/providers/dialmycalls/runtime.js +4 -4
  128. package/src/providers/diffbot/executors.js +4 -4
  129. package/src/providers/digistore24/executors.js +3 -3
  130. package/src/providers/dingtalk_bot/executors.js +1 -1
  131. package/src/providers/discourse/executors.d.ts +0 -1
  132. package/src/providers/discourse/executors.js +6 -7
  133. package/src/providers/docugenerate/runtime.js +3 -3
  134. package/src/providers/doppler/runtime.shared.js +3 -3
  135. package/src/providers/doppler_marketing_automation/runtime.js +4 -4
  136. package/src/providers/dovetail/runtime.js +2 -2
  137. package/src/providers/dropcontact/runtime.js +3 -3
  138. package/src/providers/dub/executors.js +6 -6
  139. package/src/providers/dumplingai/runtime.js +2 -2
  140. package/src/providers/elevenlabs/executors.js +4 -4
  141. package/src/providers/elevenreader/runtime.js +1 -1
  142. package/src/providers/emailoctopus/runtime.js +4 -4
  143. package/src/providers/embase/runtime.js +3 -3
  144. package/src/providers/emelia/executors.js +2 -2
  145. package/src/providers/enigma/executors.js +3 -3
  146. package/src/providers/eodhd_apis/executors.js +2 -2
  147. package/src/providers/eventzilla/runtime.js +3 -4
  148. package/src/providers/evervault/runtime.js +1 -1
  149. package/src/providers/excalidraw_mcp/runtime.js +3 -4
  150. package/src/providers/excel/runtime.js +6 -6
  151. package/src/providers/expofp/runtime.js +2 -2
  152. package/src/providers/faktoora/runtime.js +5 -5
  153. package/src/providers/fast_note_sync/runtime.js +2 -2
  154. package/src/providers/feathery/executors.js +2 -3
  155. package/src/providers/feishu_app_bot/executors.js +2 -3
  156. package/src/providers/feishu_custom_bot/executors.js +2 -3
  157. package/src/providers/ffhub/executors.js +2 -3
  158. package/src/providers/fidel_api/executors.js +2 -3
  159. package/src/providers/files_com/executors.js +2 -3
  160. package/src/providers/fireberry/runtime.d.ts +0 -1
  161. package/src/providers/fireberry/runtime.js +3 -4
  162. package/src/providers/firehydrant/executors.js +2 -3
  163. package/src/providers/float/executors.js +2 -3
  164. package/src/providers/flomo/executors.js +5 -6
  165. package/src/providers/flowiseai/executors.js +2 -3
  166. package/src/providers/fluxguard/executors.js +2 -3
  167. package/src/providers/folk/executors.js +2 -3
  168. package/src/providers/football_data/executors.js +2 -3
  169. package/src/providers/forem/executors.js +2 -3
  170. package/src/providers/formbricks/executors.js +2 -3
  171. package/src/providers/formsite/executors.js +3 -4
  172. package/src/providers/formspree/executors.js +2 -2
  173. package/src/providers/freshdesk/executors.js +3 -4
  174. package/src/providers/freshservice/executors.js +3 -4
  175. package/src/providers/freshteam/runtime.js +3 -4
  176. package/src/providers/full_contact/executors.js +3 -3
  177. package/src/providers/fusion-api/runtime.js +2 -3
  178. package/src/providers/gagelist/executors.js +3 -3
  179. package/src/providers/gainsight_nxt/executors.js +2 -2
  180. package/src/providers/gamma/executors.js +4 -3
  181. package/src/providers/gangtise/runtime.js +3 -4
  182. package/src/providers/gatherup/runtime.js +1 -1
  183. package/src/providers/geckoboard/executors.js +2 -3
  184. package/src/providers/gemini/runtime.d.ts +0 -1
  185. package/src/providers/gemini/runtime.js +5 -6
  186. package/src/providers/genpage/runtime.js +2 -2
  187. package/src/providers/geokeo/executors.js +4 -4
  188. package/src/providers/getnote/runtime.js +2 -3
  189. package/src/providers/github/runtime-shared.js +2 -2
  190. package/src/providers/glyphic/runtime.js +3 -4
  191. package/src/providers/gmail/executors.js +125 -27
  192. package/src/providers/gong/runtime.js +6 -7
  193. package/src/providers/googlecalendar/runtime-shared.js +3 -4
  194. package/src/providers/googledrive/runtime-request.js +2 -3
  195. package/src/providers/googlesheets/runtime-shared.js +3 -4
  196. package/src/providers/gorgias/runtime.js +4 -4
  197. package/src/providers/gotify/executors.js +7 -8
  198. package/src/providers/greenhouse/executors.js +3 -3
  199. package/src/providers/gumloop/executors.js +2 -3
  200. package/src/providers/gumroad/executors.js +2 -3
  201. package/src/providers/habitica/executors.js +2 -3
  202. package/src/providers/hackerrank_work/executors.js +2 -3
  203. package/src/providers/harvest/executors.js +3 -4
  204. package/src/providers/haveibeenpwned/executors.js +2 -3
  205. package/src/providers/headout/executors.js +3 -4
  206. package/src/providers/healthchecks_io/executors.js +2 -3
  207. package/src/providers/helium10/runtime.js +4 -5
  208. package/src/providers/helpdesk/runtime.js +4 -4
  209. package/src/providers/home_assistant/runtime-ws.js +9 -10
  210. package/src/providers/hotjar/executors.js +4 -4
  211. package/src/providers/httpsms/runtime.js +3 -4
  212. package/src/providers/hub_planner/executors.js +3 -3
  213. package/src/providers/hubspot/runtime.js +3 -4
  214. package/src/providers/humaans/runtime.js +3 -3
  215. package/src/providers/hunter/runtime.js +3 -3
  216. package/src/providers/icypeas/executors.js +3 -4
  217. package/src/providers/ima/runtime.js +7 -7
  218. package/src/providers/infolobby/runtime.js +6 -6
  219. package/src/providers/instabot/runtime.js +6 -6
  220. package/src/providers/instatus/runtime.js +4 -4
  221. package/src/providers/intuiface/executors.js +3 -3
  222. package/src/providers/iplocate/runtime.js +4 -5
  223. package/src/providers/ipregistry/executors.js +2 -2
  224. package/src/providers/jiminny/runtime.js +4 -4
  225. package/src/providers/jin10/executors.js +4 -5
  226. package/src/providers/jira/executors.js +4 -4
  227. package/src/providers/kaleido/runtime.js +2 -2
  228. package/src/providers/kandji/runtime.js +2 -2
  229. package/src/providers/keygen/executors.js +4 -4
  230. package/src/providers/keyword/runtime.js +2 -2
  231. package/src/providers/kie_ai/executors.js +1 -1
  232. package/src/providers/kintone/runtime.js +1 -1
  233. package/src/providers/kit/runtime.js +2 -2
  234. package/src/providers/klangio/runtime.js +4 -4
  235. package/src/providers/klaviyo/executors.js +1 -1
  236. package/src/providers/klazify/executors.js +3 -3
  237. package/src/providers/klipfolio/runtime.js +3 -3
  238. package/src/providers/knack/executors.js +1 -1
  239. package/src/providers/kommo/runtime.js +2 -2
  240. package/src/providers/kontent_ai/executors.js +3 -4
  241. package/src/providers/l2s/executors.js +3 -4
  242. package/src/providers/latchshot/executors.js +2 -2
  243. package/src/providers/leadboxer/runtime.js +4 -4
  244. package/src/providers/leadiq/runtime.js +4 -4
  245. package/src/providers/linguapop/runtime.js +1 -1
  246. package/src/providers/lingvanex_translation_api/runtime.js +5 -6
  247. package/src/providers/lingxing_mcp/runtime.js +3 -4
  248. package/src/providers/linkup/runtime.js +5 -6
  249. package/src/providers/liveagent/executors.js +6 -6
  250. package/src/providers/loops/executors.js +2 -2
  251. package/src/providers/loyjoy/runtime.js +2 -2
  252. package/src/providers/loyverse/executors.js +4 -4
  253. package/src/providers/lusha/runtime.js +3 -3
  254. package/src/providers/mailbluster/runtime.js +3 -4
  255. package/src/providers/mailcoach/runtime.js +4 -4
  256. package/src/providers/mailgenius/executors.js +3 -4
  257. package/src/providers/mailjet/runtime.js +3 -3
  258. package/src/providers/mails_so/runtime.js +1 -1
  259. package/src/providers/mailsoftly/runtime.js +5 -5
  260. package/src/providers/mailtrap/runtime.js +4 -5
  261. package/src/providers/manus/runtime.js +3 -3
  262. package/src/providers/mautic/runtime.js +3 -3
  263. package/src/providers/megaventory/runtime.js +3 -3
  264. package/src/providers/memberstack/runtime.js +2 -2
  265. package/src/providers/mendeley/executors.js +2 -3
  266. package/src/providers/mindbody/runtime.js +3 -3
  267. package/src/providers/minerstat/executors.js +3 -3
  268. package/src/providers/mintlify/runtime.js +3 -3
  269. package/src/providers/missive/executors.js +3 -5
  270. package/src/providers/mixpanel/executors.js +3 -3
  271. package/src/providers/mobile_text_alerts/runtime.js +3 -3
  272. package/src/providers/mocean/executors.js +3 -3
  273. package/src/providers/moco/executors.js +5 -5
  274. package/src/providers/moesif/runtime.js +4 -4
  275. package/src/providers/monday/runtime-common.js +3 -3
  276. package/src/providers/monica_crm/runtime.js +4 -4
  277. package/src/providers/moorcheh/runtime.js +3 -3
  278. package/src/providers/more_trees/runtime.d.ts +0 -1
  279. package/src/providers/more_trees/runtime.js +7 -8
  280. package/src/providers/moxie/runtime.js +2 -2
  281. package/src/providers/msg91/runtime.js +4 -4
  282. package/src/providers/mx/runtime.js +1 -1
  283. package/src/providers/needle/runtime.js +3 -4
  284. package/src/providers/netlify/runtime.js +2 -3
  285. package/src/providers/niftyimages/executors.js +2 -2
  286. package/src/providers/northbeam/runtime.js +1 -1
  287. package/src/providers/nozbe_teams/executors.js +4 -4
  288. package/src/providers/npm/runtime.js +4 -4
  289. package/src/providers/nusii_proposals/runtime.js +2 -2
  290. package/src/providers/ocr_web_service/executors.js +4 -4
  291. package/src/providers/octopus_deploy/executors.js +3 -3
  292. package/src/providers/oksign/runtime.js +3 -4
  293. package/src/providers/one_drive/executors.js +6 -6
  294. package/src/providers/one_password_events/runtime.js +1 -1
  295. package/src/providers/onfleet/runtime.js +3 -3
  296. package/src/providers/onlyoffice_docspace/runtime.js +4 -4
  297. package/src/providers/oomnitza/runtime.js +3 -4
  298. package/src/providers/otter_ai/executors.js +2 -2
  299. package/src/providers/oura/runtime.js +1 -1
  300. package/src/providers/paddle/executors.js +3 -3
  301. package/src/providers/pagerduty/runtime.js +2 -2
  302. package/src/providers/paradym/runtime.js +4 -4
  303. package/src/providers/parallel/runtime.js +3 -3
  304. package/src/providers/partner_stack_partner/runtime.js +1 -1
  305. package/src/providers/payrexx/runtime.js +5 -6
  306. package/src/providers/permit_io/runtime.js +2 -2
  307. package/src/providers/pinboard/executors.js +5 -6
  308. package/src/providers/pinpoint/runtime.js +2 -2
  309. package/src/providers/placid/runtime.js +3 -3
  310. package/src/providers/plain/runtime.js +5 -5
  311. package/src/providers/planetscale/runtime.js +2 -2
  312. package/src/providers/planhat/executors.js +6 -6
  313. package/src/providers/plausible_analytics/runtime.js +3 -3
  314. package/src/providers/posthog/runtime.js +3 -3
  315. package/src/providers/predis_ai/executors.js +3 -3
  316. package/src/providers/printavo/runtime.js +2 -2
  317. package/src/providers/prospeo/runtime.js +2 -3
  318. package/src/providers/provider-runtime.d.ts +13 -1
  319. package/src/providers/provider-runtime.js +25 -10
  320. package/src/providers/push_by_techulus/executors.js +3 -4
  321. package/src/providers/pushover/runtime.js +4 -5
  322. package/src/providers/pushsafer/runtime.js +4 -5
  323. package/src/providers/pylon/runtime.js +2 -2
  324. package/src/providers/qase/runtime.js +3 -3
  325. package/src/providers/qdrant/runtime.js +1 -1
  326. package/src/providers/qichacha/runtime.js +2 -2
  327. package/src/providers/qingflow/runtime.js +2 -2
  328. package/src/providers/quickchart/runtime.js +2 -2
  329. package/src/providers/quintadb/runtime.js +2 -2
  330. package/src/providers/quo/runtime.js +2 -2
  331. package/src/providers/rawg/runtime.js +4 -4
  332. package/src/providers/razorpay/runtime.js +4 -5
  333. package/src/providers/readme/runtime.js +6 -6
  334. package/src/providers/referralhero/runtime.js +3 -3
  335. package/src/providers/registry.generated.js +1 -0
  336. package/src/providers/render/executors.js +3 -3
  337. package/src/providers/respond_io/executors.js +3 -3
  338. package/src/providers/reversecontact/runtime.js +3 -3
  339. package/src/providers/ritekit/executors.js +2 -2
  340. package/src/providers/riveter/executors.js +2 -3
  341. package/src/providers/rocket_chat/executors.js +3 -4
  342. package/src/providers/rocket_reach/executors.js +3 -4
  343. package/src/providers/saucelabs/runtime.js +4 -4
  344. package/src/providers/scopus/runtime.js +3 -3
  345. package/src/providers/scrape_do/executors.js +2 -2
  346. package/src/providers/scraperapi/runtime.js +4 -4
  347. package/src/providers/scrapfly/executors.js +2 -2
  348. package/src/providers/scrapingant/executors.js +6 -7
  349. package/src/providers/scrapingbee/executors.js +3 -3
  350. package/src/providers/scrapingdog/executors.js +1 -1
  351. package/src/providers/screenshot_fyi/executors.js +3 -4
  352. package/src/providers/screenshotbase/runtime.js +3 -3
  353. package/src/providers/search_api/runtime.js +2 -2
  354. package/src/providers/securitytrails/executors.js +2 -2
  355. package/src/providers/semantic_scholar/executors.js +2 -2
  356. package/src/providers/sendbird/executors.js +2 -2
  357. package/src/providers/sendfox/executors.js +3 -3
  358. package/src/providers/sendgrid/executors.js +5 -5
  359. package/src/providers/sendmator/runtime.js +3 -4
  360. package/src/providers/seqera/runtime.js +3 -4
  361. package/src/providers/serveravatar/executors.js +3 -3
  362. package/src/providers/sheetdb/runtime.js +2 -2
  363. package/src/providers/short_menu/runtime.js +3 -3
  364. package/src/providers/shortcut/runtime.js +3 -3
  365. package/src/providers/shortpixel/runtime.js +2 -2
  366. package/src/providers/shotstack/runtime.js +4 -4
  367. package/src/providers/signpath/runtime.js +2 -2
  368. package/src/providers/signwell/runtime.js +5 -6
  369. package/src/providers/similarweb_digitalrank_api/runtime.js +3 -3
  370. package/src/providers/simla/runtime.js +5 -5
  371. package/src/providers/simplybook_me/executors.js +6 -6
  372. package/src/providers/sitespeakai/runtime.js +3 -3
  373. package/src/providers/slickdeals/runtime.js +2 -3
  374. package/src/providers/smartsuite/runtime.js +3 -3
  375. package/src/providers/sonarcloud/runtime.js +5 -5
  376. package/src/providers/sorftime/runtime.js +8 -8
  377. package/src/providers/spider/runtime.js +2 -2
  378. package/src/providers/splunk_http_event_collector/runtime.js +7 -8
  379. package/src/providers/sportsdata/runtime.js +4 -4
  380. package/src/providers/spyfu/runtime.js +4 -5
  381. package/src/providers/square/runtime.js +4 -4
  382. package/src/providers/stannp/runtime.js +2 -2
  383. package/src/providers/stripe/executors.js +2 -2
  384. package/src/providers/supermemory/runtime.js +3 -3
  385. package/src/providers/survey_monkey/runtime.js +3 -3
  386. package/src/providers/taiga/runtime.js +4 -4
  387. package/src/providers/talenox/executors.js +4 -4
  388. package/src/providers/tally/runtime.js +3 -3
  389. package/src/providers/tavily/runtime.js +3 -4
  390. package/src/providers/teamcamp/executors.js +2 -2
  391. package/src/providers/teamtailor/executors.js +2 -2
  392. package/src/providers/telegram/executors.js +6 -7
  393. package/src/providers/teltel/executors.js +2 -2
  394. package/src/providers/templated/executors.js +3 -3
  395. package/src/providers/tencent_docs/runtime.js +4 -4
  396. package/src/providers/tencent_maps/runtime.js +3 -3
  397. package/src/providers/textcortex/runtime.js +3 -3
  398. package/src/providers/the_cat_api/runtime.js +3 -3
  399. package/src/providers/the_colony/runtime.js +3 -3
  400. package/src/providers/the_odds_api/runtime.js +3 -4
  401. package/src/providers/the_official_board/runtime.js +4 -4
  402. package/src/providers/thehive/runtime.js +1 -1
  403. package/src/providers/tikhub/endpoint-catalog.js +2 -3
  404. package/src/providers/tiktok_business/runtime.js +2 -2
  405. package/src/providers/timecamp/runtime.js +2 -2
  406. package/src/providers/timelink/runtime.js +2 -2
  407. package/src/providers/totp/runtime.js +4 -5
  408. package/src/providers/trawlingweb/runtime.js +2 -2
  409. package/src/providers/trilium/runtime.js +2 -2
  410. package/src/providers/triple_whale/runtime.js +3 -3
  411. package/src/providers/truvera/runtime.js +2 -2
  412. package/src/providers/tuskr/runtime.js +2 -2
  413. package/src/providers/typebot/runtime.js +2 -2
  414. package/src/providers/typeform/runtime.js +2 -2
  415. package/src/providers/uptimerobot/executors.js +3 -4
  416. package/src/providers/v2ex/runtime.js +8 -9
  417. package/src/providers/valyu/runtime.js +3 -3
  418. package/src/providers/vapi/runtime.js +4 -4
  419. package/src/providers/vectorshift/runtime.js +3 -3
  420. package/src/providers/venafitlsprotectcloud/runtime.js +2 -3
  421. package/src/providers/venafitlsprotectdatacenter/runtime.js +2 -3
  422. package/src/providers/vida/runtime.js +4 -4
  423. package/src/providers/vonage/runtime.js +3 -3
  424. package/src/providers/walmart_marketplace/runtime.js +5 -5
  425. package/src/providers/weatherapi/executors.js +3 -4
  426. package/src/providers/web_of_science/runtime.js +4 -4
  427. package/src/providers/web_of_science_expanded/runtime.js +9 -9
  428. package/src/providers/webex/runtime.js +3 -3
  429. package/src/providers/webinarjam/runtime.js +4 -4
  430. package/src/providers/webscraping_ai/runtime.js +3 -3
  431. package/src/providers/webvizio/runtime.js +3 -4
  432. package/src/providers/wecom_bot/smart-runtime.js +4 -5
  433. package/src/providers/wecom_mcp/runtime.js +3 -4
  434. package/src/providers/wejam_ai/runtime.js +3 -3
  435. package/src/providers/wolfram_alpha_api/runtime.js +3 -3
  436. package/src/providers/woocommerce/runtime.js +1 -1
  437. package/src/providers/woodpecker_co/executors.js +3 -4
  438. package/src/providers/woot/runtime.js +6 -6
  439. package/src/providers/workable/runtime.js +3 -3
  440. package/src/providers/workday/runtime.js +4 -4
  441. package/src/providers/workiom/runtime.js +2 -2
  442. package/src/providers/workiz/runtime.js +2 -2
  443. package/src/providers/workpath/executors.js +3 -4
  444. package/src/providers/worksnaps/executors.js +2 -2
  445. package/src/providers/y_gy/runtime.js +2 -2
  446. package/src/providers/zenscrape/runtime.js +3 -3
  447. package/src/providers/zep/runtime.js +4 -4
  448. package/src/providers/zeplin/runtime.js +2 -2
  449. package/src/providers/zhihu/executors.js +6 -6
  450. package/src/providers/zylvie/runtime.js +4 -4
  451. package/src/saas/saas-cleanup-service.d.ts +2 -0
  452. package/src/saas/saas-cleanup-service.js +2 -1
  453. package/src/saas/saas-execution-service.d.ts +1 -1
  454. package/src/server/actions/action-runner.js +1 -1
  455. package/src/server/api/auth.js +3 -0
  456. package/src/server/api/connection-routes.js +1 -1
  457. package/src/server/api/console-catalog-routes.js +1 -1
  458. package/src/server/api/console-oauth-routes.d.ts +3 -1
  459. package/src/server/api/console-oauth-routes.js +22 -9
  460. package/src/server/api/oauth-completion-page.d.ts +57 -0
  461. package/src/server/api/oauth-completion-page.js +135 -10
  462. package/src/server/api/openapi.d.ts +5 -0
  463. package/src/server/api/openapi.js +62 -2
  464. package/src/server/api/runtime-api.d.ts +2 -1
  465. package/src/server/api/runtime-app-routes.js +1 -1
  466. package/src/server/api/runtime-execution-routes.js +2 -1
  467. package/src/server/connect-app.d.ts +4 -0
  468. package/src/server/connect-app.js +14 -1
  469. package/src/server/connect-server.d.ts +6 -0
  470. package/src/server/connect-server.js +114 -4
  471. package/src/server/connector-runtime.d.ts +6 -8
  472. package/src/server/connector-runtime.js +8 -28
  473. package/src/server/proxy/proxy-runner.js +1 -1
  474. package/src/server/slack-event-verification.d.ts +37 -0
  475. package/src/server/slack-event-verification.js +91 -0
  476. package/src/server/storage/connection-request-store.d.ts +1 -1
  477. package/src/server/storage/connection-store.d.ts +1 -1
  478. package/src/server/storage/postgres/runtime-store.d.ts +1 -1
  479. package/src/server/storage/runtime-database.d.ts +1 -1
  480. package/src/server/storage/saas-project-store.d.ts +1 -1
  481. package/src/triggers/maintenance.d.ts +2 -0
  482. package/src/triggers/maintenance.js +2 -1
  483. package/src/triggers/sources/slack-signature.d.ts +10 -0
  484. package/src/triggers/sources/slack-signature.js +13 -0
  485. package/src/triggers/sources/slack.js +9 -11
  486. package/src/triggers/trigger-runner.js +1 -1
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { createProviderTimeout, isAbortLikeError, ProviderRequestError, providerUserAgent, readProviderTextBody, requiredInputString, setSearchParams, } from "../provider-runtime.js";
2
+ import { createProviderTimeout, isAbortLikeError, ProviderRequestError, providerUserAgent, readProviderTextBody, requiredInputString, setSearchParams, providerInputError, providerResponseError, } from "../provider-runtime.js";
3
3
  export const scopusApiBaseUrl = "https://api.elsevier.com/content";
4
4
  export const scopusActionHandlers = {
5
5
  async search_documents(input, context) {
@@ -229,7 +229,7 @@ function createScopusError(status, payload, phase) {
229
229
  return new ProviderRequestError(429, message);
230
230
  }
231
231
  if (phase === "validate" && status >= 400 && status < 500) {
232
- return new ProviderRequestError(400, message);
232
+ return providerInputError(message);
233
233
  }
234
234
  if (status === 401 || status === 403) {
235
235
  return new ProviderRequestError(status, message);
@@ -237,7 +237,7 @@ function createScopusError(status, payload, phase) {
237
237
  if (status >= 400 && status < 500) {
238
238
  return new ProviderRequestError(status, message);
239
239
  }
240
- return new ProviderRequestError(502, message);
240
+ return providerResponseError(message);
241
241
  }
242
242
  function extractScopusErrorMessage(payload) {
243
243
  if (typeof payload === "string") {
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, providerInputError, } from "../provider-runtime.js";
3
3
  const service = "scrape_do";
4
4
  const scrapeDoApiBaseUrl = "https://api.scrape.do";
5
5
  const scrapeDoInfoUrl = `${scrapeDoApiBaseUrl}/info`;
@@ -220,7 +220,7 @@ function createScrapeDoError(status, body, phase) {
220
220
  return new ProviderRequestError(429, message);
221
221
  }
222
222
  if (phase === "validate" && status >= 400 && status < 500) {
223
- return new ProviderRequestError(400, message);
223
+ return providerInputError(message);
224
224
  }
225
225
  return new ProviderRequestError(status || 500, message);
226
226
  }
@@ -1,6 +1,6 @@
1
1
  import { compactObject, optionalBoolean, optionalNumber, optionalRecord, optionalRawString, optionalString, } from "../../core/cast.js";
2
2
  import { assertPublicHttpUrl, readBoundedResponseBytes } from "../../core/request.js";
3
- import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
3
+ import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
4
4
  export const scraperapiApiBaseUrl = "https://api.scraperapi.com/";
5
5
  const scraperapiAccountUrl = "https://api.scraperapi.com/account";
6
6
  const scraperapiRequestTimeoutMs = 80_000;
@@ -102,7 +102,7 @@ async function requestScraperapiUrl(url, query, init, context, phase) {
102
102
  function buildScraperapiUrl(url, query, apiKey) {
103
103
  const requestUrl = assertPublicHttpUrl(url, {
104
104
  fieldName: "url",
105
- createError: (message) => new ProviderRequestError(400, message),
105
+ createError: providerInputError,
106
106
  });
107
107
  requestUrl.searchParams.set("api_key", apiKey);
108
108
  for (const [key, value] of Object.entries(query)) {
@@ -190,13 +190,13 @@ function createScraperapiError(status, body, phase) {
190
190
  return new ProviderRequestError(429, message);
191
191
  }
192
192
  if (phase === "validate" && status >= 400 && status < 500) {
193
- return new ProviderRequestError(400, message);
193
+ return providerInputError(message);
194
194
  }
195
195
  if (phase === "execute" && status === 401) {
196
196
  return new ProviderRequestError(401, message);
197
197
  }
198
198
  if (phase === "execute" && status === 400) {
199
- return new ProviderRequestError(400, message);
199
+ return providerInputError(message);
200
200
  }
201
201
  return new ProviderRequestError(status || 500, message);
202
202
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalBoolean, optionalInteger, optionalRawString, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, providerInputError, } from "../provider-runtime.js";
3
3
  const service = "scrapfly";
4
4
  const scrapflyApiBaseUrl = "https://api.scrapfly.io";
5
5
  const scrapflyScrapeApiUrl = `${scrapflyApiBaseUrl}/scrape`;
@@ -203,7 +203,7 @@ function createScrapflyError(status, body, headers, phase) {
203
203
  return new ProviderRequestError(429, message);
204
204
  }
205
205
  if (phase === "validate" && status >= 400 && status < 500) {
206
- return new ProviderRequestError(400, message);
206
+ return providerInputError(message);
207
207
  }
208
208
  return new ProviderRequestError(status || 500, message);
209
209
  }
@@ -1,9 +1,8 @@
1
1
  import { compactObject, optionalBoolean, optionalInteger, optionalRawString, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
3
3
  const service = "scrapingant";
4
4
  const scrapingantApiOrigin = "https://api.scrapingant.com";
5
5
  const scrapingantApiBaseUrl = `${scrapingantApiOrigin}/v2`;
6
- const scrapingantDefaultTimeoutMs = 30_000;
7
6
  export const scrapingantActionHandlers = {
8
7
  scrape_with_extended_json_output(input, context) {
9
8
  return requestScrapingantExtended(input, context);
@@ -138,15 +137,15 @@ function buildScrapingantBody(input) {
138
137
  function buildConnectorTimeoutMs(input) {
139
138
  const timeoutSeconds = optionalInteger(input.timeout);
140
139
  return timeoutSeconds === undefined
141
- ? scrapingantDefaultTimeoutMs
142
- : Math.max(scrapingantDefaultTimeoutMs, timeoutSeconds * 1000 + 10_000);
140
+ ? defaultProviderRequestTimeoutMs
141
+ : Math.max(defaultProviderRequestTimeoutMs, timeoutSeconds * 1000 + 10_000);
143
142
  }
144
143
  function resolveScrapingantMethod(input) {
145
144
  return optionalString(input.method) ?? "GET";
146
145
  }
147
146
  async function requestScrapingantJson(input) {
148
147
  const controller = new AbortController();
149
- const timeout = setTimeout(() => controller.abort(), input.timeoutMs ?? scrapingantDefaultTimeoutMs);
148
+ const timeout = setTimeout(() => controller.abort(), input.timeoutMs ?? defaultProviderRequestTimeoutMs);
150
149
  const signal = mergeAbortSignals(controller.signal, input.context.signal);
151
150
  try {
152
151
  const response = await input.context.fetcher(buildScrapingantUrl(input.path, input.query), {
@@ -291,13 +290,13 @@ function createScrapingantError(status, payload, phase) {
291
290
  return new ProviderRequestError(429, message);
292
291
  }
293
292
  if (phase === "validate" && status >= 400 && status < 500) {
294
- return new ProviderRequestError(400, message);
293
+ return providerInputError(message);
295
294
  }
296
295
  if (phase === "execute" && status === 403) {
297
296
  return new ProviderRequestError(403, message);
298
297
  }
299
298
  if (phase === "execute" && (status === 400 || status === 404 || status === 405 || status === 422)) {
300
- return new ProviderRequestError(400, message);
299
+ return providerInputError(message);
301
300
  }
302
301
  return new ProviderRequestError(status || 500, message);
303
302
  }
@@ -1,5 +1,5 @@
1
1
  import { booleanString, compactObject, optionalRecord, requiredString } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerInputError, providerResponseError, } from "../provider-runtime.js";
3
3
  const service = "scrapingbee";
4
4
  const scrapingbeeApiOrigin = "https://app.scrapingbee.com";
5
5
  const scrapingbeeApiBasePath = "/api/v1/";
@@ -140,7 +140,7 @@ function parseScrapingbeeUsage(payload) {
140
140
  function createScrapingbeeError(status, body, phase) {
141
141
  const message = extractErrorMessage(body) ?? `ScrapingBee request failed with status ${status}`;
142
142
  if (phase === "validate" && [400, 401, 403].includes(status)) {
143
- return new ProviderRequestError(400, message);
143
+ return providerInputError(message);
144
144
  }
145
145
  return new ProviderRequestError(status || 500, message);
146
146
  }
@@ -168,7 +168,7 @@ function parseScrapingbeeJson(body, invalidMessage) {
168
168
  return JSON.parse(body);
169
169
  }
170
170
  catch {
171
- throw new ProviderRequestError(502, invalidMessage);
171
+ throw providerResponseError(invalidMessage);
172
172
  }
173
173
  }
174
174
  function readRequiredUrl(value) {
@@ -169,7 +169,7 @@ function buildScrapingdogUrl(path, query, apiKey) {
169
169
  function createScrapingdogError(status, body, phase) {
170
170
  const message = extractScrapingdogMessage(body) ?? `Scrapingdog request failed with ${status}`;
171
171
  if (phase === "validate" && [400, 401, 403].includes(status)) {
172
- return new ProviderRequestError(400, message);
172
+ return providerInputError(message);
173
173
  }
174
174
  if (status === 403) {
175
175
  return new ProviderRequestError(429, message);
@@ -1,9 +1,8 @@
1
1
  import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
3
3
  const service = "screenshot_fyi";
4
4
  const screenshotFyiApiBaseUrl = "https://www.screenshot.fyi";
5
5
  const screenshotFyiCapturePath = "/api/take";
6
- const screenshotFyiDefaultRequestTimeoutMs = 30_000;
7
6
  const screenshotFyiValidationUrl = "https://example.com";
8
7
  export const screenshotFyiActionHandlers = {
9
8
  async take_screenshot(input, context) {
@@ -68,7 +67,7 @@ function buildTakeScreenshotQuery(input) {
68
67
  });
69
68
  }
70
69
  async function requestScreenshotFyiJson(input) {
71
- const timeout = createTimeoutSignal(input.context.signal, screenshotFyiDefaultRequestTimeoutMs);
70
+ const timeout = createTimeoutSignal(input.context.signal, defaultProviderRequestTimeoutMs);
72
71
  try {
73
72
  const response = await input.context.fetcher(buildScreenshotFyiUrl(input.apiKey, input.query), {
74
73
  method: "GET",
@@ -131,7 +130,7 @@ function parseScreenshotFyiCapturePayload(payload) {
131
130
  function createScreenshotFyiError(response, payload, phase) {
132
131
  const message = extractScreenshotFyiErrorMessage(payload) ?? `screenshot.fyi request failed with status ${response.status}`;
133
132
  if (phase === "validate" && response.status >= 400 && response.status < 500) {
134
- return new ProviderRequestError(400, message);
133
+ return providerInputError(message);
135
134
  }
136
135
  return new ProviderRequestError(response.status || 500, message);
137
136
  }
@@ -1,5 +1,5 @@
1
1
  import { optionalBoolean, optionalInteger, optionalNumber, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { createProviderTimeout, ProviderRequestError, providerUserAgent, requiredResponseRecord, } from "../provider-runtime.js";
2
+ import { createProviderTimeout, ProviderRequestError, providerUserAgent, requiredResponseRecord, providerInputError, } from "../provider-runtime.js";
3
3
  export const screenshotbaseApiBaseUrl = "https://api.screenshotbase.com";
4
4
  const screenshotbaseStatusPath = "/v1/status";
5
5
  const screenshotbaseTakePath = "/v1/take";
@@ -144,13 +144,13 @@ function createScreenshotbaseError(status, payload, phase) {
144
144
  return new ProviderRequestError(429, message);
145
145
  }
146
146
  if (phase === "validate" && (status === 401 || status === 403)) {
147
- return new ProviderRequestError(400, message);
147
+ return providerInputError(message);
148
148
  }
149
149
  if (phase === "execute" && (status === 401 || status === 403)) {
150
150
  return new ProviderRequestError(401, message);
151
151
  }
152
152
  if (status === 400 || status === 422) {
153
- return new ProviderRequestError(400, message);
153
+ return providerInputError(message);
154
154
  }
155
155
  if (status === 408) {
156
156
  return new ProviderRequestError(504, message);
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalBoolean, optionalNumber, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
2
+ import { providerUserAgent, ProviderRequestError, providerInputError } from "../provider-runtime.js";
3
3
  const searchApiOrigin = "https://www.searchapi.io";
4
4
  const searchApiBasePath = "/api/v1/";
5
5
  export const searchApiBaseUrl = "https://www.searchapi.io/api/v1";
@@ -201,7 +201,7 @@ async function readJsonPayload(response) {
201
201
  function createSearchApiError(status, payload, phase) {
202
202
  const message = extractSearchApiMessage(payload) ?? `SearchApi request failed with ${status || 500}`;
203
203
  if (phase === "validate" && (status === 401 || status === 403)) {
204
- return new ProviderRequestError(400, message);
204
+ return providerInputError(message);
205
205
  }
206
206
  return new ProviderRequestError(status || 500, message);
207
207
  }
@@ -1,5 +1,5 @@
1
1
  import { optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
3
3
  const service = "securitytrails";
4
4
  const securitytrailsApiBaseUrl = "https://api.securitytrails.com";
5
5
  export const securitytrailsActionHandlers = {
@@ -117,7 +117,7 @@ async function readSecuritytrailsPayload(response) {
117
117
  function buildSecuritytrailsError(status, payload, phase) {
118
118
  const message = readSecuritytrailsMessage(payload) ?? `SecurityTrails request failed with ${status || 500}`;
119
119
  if (phase === "validate" && status >= 400 && status < 500) {
120
- return new ProviderRequestError(400, message);
120
+ return providerInputError(message);
121
121
  }
122
122
  return new ProviderRequestError(status || 500, message);
123
123
  }
@@ -1,6 +1,6 @@
1
1
  import { compactObject, looseArray, optionalRawString, optionalRecord, rawStringOrNull, recordOrEmpty, } from "../../core/cast.js";
2
2
  import { encodePathSegment } from "../../core/request.js";
3
- import { defineProviderExecutors, defineProviderProxy, mapProviderActionSources, providerProxyEndpointPrefixes, ProviderRequestError, providerUserAgent, requireApiKeyCredential, runProviderRequest, } from "../provider-runtime.js";
3
+ import { defineProviderExecutors, defineProviderProxy, mapProviderActionSources, providerProxyEndpointPrefixes, ProviderRequestError, providerUserAgent, requireApiKeyCredential, runProviderRequest, providerInputError, } from "../provider-runtime.js";
4
4
  const service = "semantic_scholar";
5
5
  const graphApiBaseUrl = "https://api.semanticscholar.org/graph/v1";
6
6
  const recommendationsApiBaseUrl = "https://api.semanticscholar.org/recommendations/v1";
@@ -331,7 +331,7 @@ function createSemanticScholarError(status, payload, phase) {
331
331
  return new ProviderRequestError(429, message);
332
332
  }
333
333
  if (phase === "validate" && status >= 400 && status < 500) {
334
- return new ProviderRequestError(400, message);
334
+ return providerInputError(message);
335
335
  }
336
336
  if (phase === "execute" && (status === 401 || status === 403)) {
337
337
  return new ProviderRequestError(401, message);
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalBoolean, optionalRawString, pickOptionalString } from "../../core/cast.js";
2
- import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
2
+ import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, providerInputError, } from "../provider-runtime.js";
3
3
  const sendbirdUserAgent = providerUserAgent;
4
4
  const sendbirdValidationPath = "/applications/settings_global";
5
5
  export const sendbirdActionHandlers = {
@@ -510,7 +510,7 @@ function createSendbirdError(response, payload, phase) {
510
510
  return new ProviderRequestError(429, message);
511
511
  }
512
512
  if (phase === "validate" && (response.status === 401 || response.status === 403)) {
513
- return new ProviderRequestError(400, message);
513
+ return providerInputError(message);
514
514
  }
515
515
  if (response.status === 400 || response.status === 404) {
516
516
  return new ProviderRequestError(response.status, message);
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalBoolean, optionalNumber, optionalRawString, optionalRecord } from "../../core/cast.js";
2
- import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
3
3
  const sendfoxApiBaseUrl = "https://api.sendfox.com";
4
4
  export const sendfoxActionHandlers = {
5
5
  list_contacts(input, context) {
@@ -235,7 +235,7 @@ function createSendfoxError(response, payload, phase) {
235
235
  return new ProviderRequestError(429, message);
236
236
  }
237
237
  if (phase === "validate" && (response.status === 401 || response.status === 403)) {
238
- return new ProviderRequestError(400, message);
238
+ return providerInputError(message);
239
239
  }
240
240
  if (response.status === 401) {
241
241
  return new ProviderRequestError(401, message);
@@ -244,7 +244,7 @@ function createSendfoxError(response, payload, phase) {
244
244
  return new ProviderRequestError(403, message);
245
245
  }
246
246
  if (response.status === 404 || response.status === 400 || response.status === 409 || response.status === 422) {
247
- return new ProviderRequestError(400, message);
247
+ return providerInputError(message);
248
248
  }
249
249
  return new ProviderRequestError(response.status >= 500 ? 502 : response.status, message);
250
250
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalNumber, optionalRawString, optionalRecord } from "../../core/cast.js";
2
- import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
2
+ import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, providerInputError, providerResponseError, } from "../provider-runtime.js";
3
3
  const sendgridDefaultBaseUrl = "https://api.sendgrid.com";
4
4
  const sendgridTemplatesPath = "/v3/templates";
5
5
  const sendgridMailSendPath = "/v3/mail/send";
@@ -363,13 +363,13 @@ function sendgridHeaders(apiKey, hasBody) {
363
363
  function mapSendgridError(status, message, mode) {
364
364
  if (status === 401) {
365
365
  if (mode === "validate") {
366
- return new ProviderRequestError(400, message);
366
+ return providerInputError(message);
367
367
  }
368
368
  return new ProviderRequestError(401, message);
369
369
  }
370
370
  if (status === 403) {
371
371
  if (mode === "validate") {
372
- return new ProviderRequestError(400, message);
372
+ return providerInputError(message);
373
373
  }
374
374
  return new ProviderRequestError(403, message);
375
375
  }
@@ -377,9 +377,9 @@ function mapSendgridError(status, message, mode) {
377
377
  return new ProviderRequestError(429, message);
378
378
  }
379
379
  if (status === 400 || status === 404) {
380
- return new ProviderRequestError(400, message);
380
+ return providerInputError(message);
381
381
  }
382
- return new ProviderRequestError(502, message);
382
+ return providerResponseError(message);
383
383
  }
384
384
  async function readSendgridError(response) {
385
385
  try {
@@ -1,7 +1,6 @@
1
1
  import { compactObject, optionalBoolean, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
2
- import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
2
+ import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
3
3
  export const sendmatorApiBaseUrl = "https://api.sendmator.com/api/v1";
4
- const sendmatorDefaultRequestTimeoutMs = 30_000;
5
4
  export const sendmatorActionHandlers = {
6
5
  list_contacts(input, context) {
7
6
  return executeListContacts(input, context);
@@ -126,7 +125,7 @@ async function requestSendmatorJson(input) {
126
125
  if (input.body) {
127
126
  headers["content-type"] = "application/json";
128
127
  }
129
- const timeout = createProviderTimeout(input.signal, sendmatorDefaultRequestTimeoutMs);
128
+ const timeout = createProviderTimeout(input.signal);
130
129
  let response;
131
130
  try {
132
131
  response = await input.fetcher(url.toString(), {
@@ -138,7 +137,7 @@ async function requestSendmatorJson(input) {
138
137
  }
139
138
  catch (error) {
140
139
  throw new ProviderRequestError(502, timeout.didTimeout() || isAbortLikeError(error)
141
- ? `sendmator request timed out after ${sendmatorDefaultRequestTimeoutMs}ms`
140
+ ? `sendmator request timed out after ${defaultProviderRequestTimeoutMs}ms`
142
141
  : `sendmator request failed: ${error instanceof Error ? error.message : "Unknown transport error"}`);
143
142
  }
144
143
  finally {
@@ -1,9 +1,8 @@
1
1
  import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
2
2
  import { assertPublicHttpUrl, isPrivateNetworkAccessAllowed } from "../../core/request.js";
3
- import { createProviderTimeout, defineProviderExecutors, isAbortLikeError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredResponseRecord, } from "../provider-runtime.js";
3
+ import { createProviderTimeout, defineProviderExecutors, isAbortLikeError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredResponseRecord, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
4
4
  const service = "seqera";
5
5
  const defaultSeqeraApiBaseUrl = "https://api.cloud.seqera.io";
6
- const seqeraRequestTimeoutMs = 30_000;
7
6
  const seqeraValidationEndpoint = "/user-info";
8
7
  export const seqeraActionHandlers = {
9
8
  get_current_user(_input, context) {
@@ -263,7 +262,7 @@ async function seqeraFetch(input) {
263
262
  headers.set("Content-Type", "application/json");
264
263
  body = JSON.stringify(input.body);
265
264
  }
266
- const timeout = createProviderTimeout(input.signal, seqeraRequestTimeoutMs);
265
+ const timeout = createProviderTimeout(input.signal);
267
266
  try {
268
267
  return await input.fetcher(url, {
269
268
  method: input.method ?? "GET",
@@ -274,7 +273,7 @@ async function seqeraFetch(input) {
274
273
  }
275
274
  catch (error) {
276
275
  if (timeout.didTimeout() || isAbortLikeError(error)) {
277
- throw new ProviderRequestError(502, `seqera ${input.path} request timed out after ${Math.max(1, Math.ceil(seqeraRequestTimeoutMs / 1000))} seconds`);
276
+ throw new ProviderRequestError(502, `seqera ${input.path} request timed out after ${Math.max(1, Math.ceil(defaultProviderRequestTimeoutMs / 1000))} seconds`);
278
277
  }
279
278
  throw new ProviderRequestError(502, error instanceof Error ? error.message : "Seqera request failed");
280
279
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { createProviderTimeout, defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, readProviderJsonBody, } from "../provider-runtime.js";
2
+ import { createProviderTimeout, defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, readProviderJsonBody, providerInputError, providerResponseError, } from "../provider-runtime.js";
3
3
  const service = "serveravatar";
4
4
  const serverAvatarApiBaseUrl = "https://api.serveravatar.com";
5
5
  export const serverAvatarActionHandlers = {
@@ -140,12 +140,12 @@ function mapServerAvatarError(status, payload, phase) {
140
140
  return new ProviderRequestError(401, message);
141
141
  }
142
142
  if (status === 400 || status === 404 || status === 422) {
143
- return new ProviderRequestError(400, message);
143
+ return providerInputError(message);
144
144
  }
145
145
  if (status === 429) {
146
146
  return new ProviderRequestError(429, message);
147
147
  }
148
- return new ProviderRequestError(502, message);
148
+ return providerResponseError(message);
149
149
  }
150
150
  function extractServerAvatarErrorMessage(payload) {
151
151
  if (typeof payload === "string" && payload.trim()) {
@@ -1,5 +1,5 @@
1
1
  import { optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { createProviderTimeout, providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
2
+ import { createProviderTimeout, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
3
3
  export const sheetDbApiBaseUrl = "https://sheetdb.io";
4
4
  export const sheetDbActionHandlers = {
5
5
  list_rows(input, context) {
@@ -252,7 +252,7 @@ function mapSheetDbError(status, payload, phase) {
252
252
  return new ProviderRequestError(429, message);
253
253
  }
254
254
  if (status === 400 || status === 404 || status === 422) {
255
- return new ProviderRequestError(400, message);
255
+ return providerInputError(message);
256
256
  }
257
257
  return new ProviderRequestError(status >= 500 ? status : 502, message);
258
258
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
2
- import { ProviderRequestError, providerUserAgent } from "../provider-runtime.js";
2
+ import { ProviderRequestError, providerUserAgent, providerInputError } from "../provider-runtime.js";
3
3
  const shortMenuApiBaseUrl = "https://api.shortmenu.com";
4
4
  const shortMenuValidationPath = "/links";
5
5
  export const shortMenuActionHandlers = {
@@ -145,13 +145,13 @@ async function toShortMenuError(response, phase, notFoundAsInvalidInput) {
145
145
  return new ProviderRequestError(phase === "validate" ? 400 : 401, message);
146
146
  }
147
147
  if (response.status === 404 && notFoundAsInvalidInput) {
148
- return new ProviderRequestError(400, message);
148
+ return providerInputError(message);
149
149
  }
150
150
  if (response.status === 400 && errorCode === "LINK_LIMIT_REACHED") {
151
151
  return new ProviderRequestError(429, message);
152
152
  }
153
153
  if (response.status === 400) {
154
- return new ProviderRequestError(400, message);
154
+ return providerInputError(message);
155
155
  }
156
156
  return new ProviderRequestError(response.status || 502, message);
157
157
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { providerFetch, ProviderRequestError, providerUserAgent, requiredResponseRecord } from "../provider-runtime.js";
2
+ import { providerFetch, ProviderRequestError, providerUserAgent, requiredResponseRecord, providerInputError, } from "../provider-runtime.js";
3
3
  export const shortcutApiBaseUrl = "https://api.app.shortcut.com/api/v3/";
4
4
  const shortcutValidatePath = "member";
5
5
  export const shortcutActionHandlers = {
@@ -297,13 +297,13 @@ function createShortcutError(status, payload, phase) {
297
297
  return new ProviderRequestError(429, message);
298
298
  }
299
299
  if (phase === "validate" && [400, 401, 403, 404].includes(status)) {
300
- return new ProviderRequestError(400, message);
300
+ return providerInputError(message);
301
301
  }
302
302
  if (phase === "execute" && (status === 401 || status === 403)) {
303
303
  return new ProviderRequestError(401, message);
304
304
  }
305
305
  if (phase === "execute" && [400, 404, 422].includes(status)) {
306
- return new ProviderRequestError(400, message);
306
+ return providerInputError(message);
307
307
  }
308
308
  return new ProviderRequestError(status >= 500 ? status : 502, message);
309
309
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
2
- import { ProviderRequestError, providerUserAgent, runProviderRequest } from "../provider-runtime.js";
2
+ import { ProviderRequestError, providerUserAgent, runProviderRequest, providerInputError, } from "../provider-runtime.js";
3
3
  const shortpixelAccountApiBaseUrl = "https://api.shortpixel.com/v2";
4
4
  const shortpixelCdnApiBaseUrl = "https://no-cdn.shortpixel.ai";
5
5
  export const shortpixelActionHandlers = {
@@ -110,7 +110,7 @@ function createShortpixelHttpError(status, payload, phase) {
110
110
  return new ProviderRequestError(429, message);
111
111
  }
112
112
  if (phase === "validate" && (status === 401 || status === 403)) {
113
- return new ProviderRequestError(400, message);
113
+ return providerInputError(message);
114
114
  }
115
115
  return new ProviderRequestError(status >= 500 ? status : 502, message);
116
116
  }
@@ -1,6 +1,6 @@
1
1
  import { optionalBoolean, optionalNumber, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
2
2
  import { jsonObject } from "../../core/request.js";
3
- import { createProviderTimeout, providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
3
+ import { createProviderTimeout, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
4
4
  const shotstackApiBaseUrl = "https://api.shotstack.io/edit/v1";
5
5
  export const shotstackProxyBaseUrl = "https://api.shotstack.io";
6
6
  export const shotstackActionHandlers = {
@@ -54,7 +54,7 @@ async function renderEdit(input, context) {
54
54
  return { render: { id, message } };
55
55
  }
56
56
  async function getRender(input, context) {
57
- const id = requiredString(input.id, "id", (message) => new ProviderRequestError(400, message));
57
+ const id = requiredString(input.id, "id", providerInputError);
58
58
  const query = new URLSearchParams();
59
59
  const data = optionalBoolean(input.data);
60
60
  const merged = optionalBoolean(input.merged);
@@ -164,13 +164,13 @@ function createShotstackError(response, payload, phase) {
164
164
  return new ProviderRequestError(429, message);
165
165
  }
166
166
  if (phase === "validate" && response.status >= 400 && response.status < 500) {
167
- return new ProviderRequestError(400, message);
167
+ return providerInputError(message);
168
168
  }
169
169
  if (phase === "execute" && (response.status === 401 || response.status === 403)) {
170
170
  return new ProviderRequestError(401, message);
171
171
  }
172
172
  if (response.status >= 400 && response.status < 500) {
173
- return new ProviderRequestError(400, message);
173
+ return providerInputError(message);
174
174
  }
175
175
  return new ProviderRequestError(response.status || 502, message);
176
176
  }
@@ -1,5 +1,5 @@
1
1
  import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
2
- import { createProviderTimeout, defineProviderExecutors, ProviderRequestError, providerUserAgent, requireApiKeyCredential, } from "../provider-runtime.js";
2
+ import { createProviderTimeout, defineProviderExecutors, ProviderRequestError, providerUserAgent, requireApiKeyCredential, providerInputError, } from "../provider-runtime.js";
3
3
  export const signpathApiBaseUrl = "https://app.signpath.io/api/v1";
4
4
  export const signpathActionHandlers = {
5
5
  async list_signing_policies(input, context) {
@@ -152,7 +152,7 @@ function createSignpathError(status, payload, phase) {
152
152
  return new ProviderRequestError(429, message);
153
153
  }
154
154
  if (status >= 400 && status < 500) {
155
- return new ProviderRequestError(400, message);
155
+ return providerInputError(message);
156
156
  }
157
157
  return new ProviderRequestError(status || 502, message);
158
158
  }
@@ -1,8 +1,7 @@
1
1
  import { compactObject, optionalBoolean, optionalRecord, optionalString } from "../../core/cast.js";
2
- import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
2
+ import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
3
3
  const signwellApiBaseUrl = "https://www.signwell.com";
4
4
  const signwellValidationPath = "/api/v1/me";
5
- const signwellDefaultTimeoutMs = 30_000;
6
5
  export const signwellActionHandlers = {
7
6
  get_me(_input, context) {
8
7
  return getMe(context);
@@ -205,7 +204,7 @@ function buildReminderRequestBody(input) {
205
204
  });
206
205
  }
207
206
  async function requestSignwellJson(input) {
208
- const timeoutHandle = createProviderTimeout(input.signal, signwellDefaultTimeoutMs);
207
+ const timeoutHandle = createProviderTimeout(input.signal);
209
208
  try {
210
209
  const response = await input.fetcher(new URL(input.path, signwellApiBaseUrl), {
211
210
  method: input.method ?? "GET",
@@ -231,7 +230,7 @@ async function requestSignwellJson(input) {
231
230
  throw error;
232
231
  }
233
232
  if (timeoutHandle.didTimeout() || isAbortLikeError(error)) {
234
- throw new ProviderRequestError(504, `SignWell request timed out after ${Math.max(1, Math.ceil(signwellDefaultTimeoutMs / 1000))} seconds`);
233
+ throw new ProviderRequestError(504, `SignWell request timed out after ${Math.max(1, Math.ceil(defaultProviderRequestTimeoutMs / 1000))} seconds`);
235
234
  }
236
235
  throw new ProviderRequestError(502, error instanceof Error ? `SignWell request failed: ${error.message}` : "SignWell request failed");
237
236
  }
@@ -265,13 +264,13 @@ function createSignwellError(status, payload, phase) {
265
264
  return new ProviderRequestError(429, message);
266
265
  }
267
266
  if (phase === "validate" && (status === 401 || status === 403)) {
268
- return new ProviderRequestError(400, message);
267
+ return providerInputError(message);
269
268
  }
270
269
  if (phase === "execute" && (status === 401 || status === 403)) {
271
270
  return new ProviderRequestError(401, message);
272
271
  }
273
272
  if (status === 404 || status === 400 || status === 422) {
274
- return new ProviderRequestError(400, message);
273
+ return providerInputError(message);
275
274
  }
276
275
  if (status >= 400 && status < 500) {
277
276
  return new ProviderRequestError(status, message);