@oomol-lab/open-connector 1.9.1 → 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 (936) hide show
  1. package/README.md +4 -2
  2. package/assets/open-connector/catalog/apps/aisa.json +1946 -56
  3. package/assets/open-connector/catalog/apps/akta.json +1181 -0
  4. package/assets/open-connector/catalog/apps/allratestoday.json +174 -0
  5. package/assets/open-connector/catalog/apps/asana.json +110 -0
  6. package/assets/open-connector/catalog/apps/calendly.json +103 -0
  7. package/assets/open-connector/catalog/apps/clickup.json +104 -0
  8. package/assets/open-connector/catalog/apps/cloro.json +9289 -0
  9. package/assets/open-connector/catalog/apps/contextdev.json +20670 -0
  10. package/assets/open-connector/catalog/apps/deepseek.json +177 -0
  11. package/assets/open-connector/catalog/apps/defillama.json +23747 -0
  12. package/assets/open-connector/catalog/apps/fireflies.json +103 -0
  13. package/assets/open-connector/catalog/apps/fundable.json +7926 -0
  14. package/assets/open-connector/catalog/apps/intercom.json +110 -0
  15. package/assets/open-connector/catalog/apps/jira.json +110 -0
  16. package/assets/open-connector/catalog/apps/keenable.json +235 -0
  17. package/assets/open-connector/catalog/apps/kolsprite_mcp.json +1227 -0
  18. package/assets/open-connector/catalog/apps/litescrape.json +52514 -0
  19. package/assets/open-connector/catalog/apps/magichour.json +5926 -0
  20. package/assets/open-connector/catalog/apps/minimax.json +24 -14
  21. package/assets/open-connector/catalog/apps/notion.json +731 -76
  22. package/assets/open-connector/catalog/apps/octen.json +5248 -0
  23. package/assets/open-connector/catalog/apps/openrouter.json +10 -0
  24. package/assets/open-connector/catalog/apps/orbit.json +3574 -0
  25. package/assets/open-connector/catalog/apps/pandadoc.json +68 -0
  26. package/assets/open-connector/catalog/apps/pipedrive.json +86 -0
  27. package/assets/open-connector/catalog/apps/ploid.json +9802 -0
  28. package/assets/open-connector/catalog/apps/resend.json +100 -0
  29. package/assets/open-connector/catalog/apps/salesforce.json +2487 -119
  30. package/assets/open-connector/catalog/apps/saperly.json +7056 -0
  31. package/assets/open-connector/catalog/apps/search1api.json +2382 -0
  32. package/assets/open-connector/catalog/apps/sentry.json +129 -0
  33. package/assets/open-connector/catalog/apps/slackbot.json +250 -2
  34. package/assets/open-connector/catalog/apps/surf.json +11378 -0
  35. package/assets/open-connector/catalog/apps/tally.json +113 -0
  36. package/assets/open-connector/catalog/apps/tinyfish.json +6154 -0
  37. package/assets/open-connector/catalog/apps/typeform.json +90 -1
  38. package/assets/open-connector/catalog/apps/vaquill.json +5944 -0
  39. package/assets/open-connector/catalog/apps/vercel.json +110 -0
  40. package/assets/open-connector/catalog/apps/weixin_store.json +1256 -7
  41. package/assets/open-connector/catalog/apps/zoom.json +112 -0
  42. package/assets/open-connector/catalog/apps-index.json +1 -1
  43. package/package.json +1 -1
  44. package/src/connection-error.d.ts +7 -0
  45. package/src/connection-error.js +10 -0
  46. package/src/connection-service.d.ts +2 -50
  47. package/src/connection-service.js +6 -130
  48. package/src/connection-store.d.ts +41 -0
  49. package/src/connection-store.js +1 -0
  50. package/src/core/guarded-fetch.d.ts +3 -0
  51. package/src/core/guarded-fetch.js +8 -1
  52. package/src/core/json-schema.d.ts +11 -3
  53. package/src/core/json-schema.js +13 -3
  54. package/src/core/provider-network-policy.d.ts +15 -0
  55. package/src/core/provider-network-policy.js +11 -0
  56. package/src/core/request.d.ts +18 -14
  57. package/src/core/request.js +11 -35
  58. package/src/credential-resolver.d.ts +24 -0
  59. package/src/credential-resolver.js +131 -0
  60. package/src/mcp.js +1 -1
  61. package/src/oauth/oauth-client-config-service.d.ts +1 -1
  62. package/src/oauth/oauth-client-config-service.js +14 -2
  63. package/src/oauth/oauth-credential-refresh-service.js +1 -1
  64. package/src/oauth/oauth-flow-service.d.ts +9 -1
  65. package/src/oauth/oauth-flow-service.js +11 -1
  66. package/src/providers/abuseipdb/executors.js +3 -4
  67. package/src/providers/action-contracts.generated.d.ts +24 -6
  68. package/src/providers/addressfinder/executors.js +2 -3
  69. package/src/providers/aeroleads/executors.js +3 -3
  70. package/src/providers/affinity/runtime.js +6 -7
  71. package/src/providers/aftership/executors.js +2 -2
  72. package/src/providers/agent_mail/runtime.js +2 -2
  73. package/src/providers/agentql/runtime.js +2 -2
  74. package/src/providers/agenty/runtime.js +5 -6
  75. package/src/providers/agiled/runtime.d.ts +0 -1
  76. package/src/providers/agiled/runtime.js +2 -3
  77. package/src/providers/agility/runtime.js +2 -3
  78. package/src/providers/ahrefs/runtime.js +3 -3
  79. package/src/providers/aifinmarket/runtime.js +6 -7
  80. package/src/providers/airtable/executors.js +3 -3
  81. package/src/providers/aisa/executors.js +238 -6
  82. package/src/providers/aisa/firecrawl-actions.d.ts +9 -0
  83. package/src/providers/aisa/firecrawl-actions.js +115 -0
  84. package/src/providers/akta/actions.d.ts +9 -0
  85. package/src/providers/akta/actions.js +420 -0
  86. package/src/providers/akta/executors.d.ts +4 -0
  87. package/src/providers/akta/executors.js +103 -0
  88. package/src/providers/alchemy/runtime.js +2 -2
  89. package/src/providers/algolia/runtime.js +3 -3
  90. package/src/providers/aliyun_oss/executors.js +7 -7
  91. package/src/providers/allratestoday/executors.d.ts +3 -0
  92. package/src/providers/allratestoday/executors.js +18 -0
  93. package/src/providers/allratestoday/runtime.d.ts +17 -0
  94. package/src/providers/allratestoday/runtime.js +104 -0
  95. package/src/providers/alpaca/runtime.js +2 -3
  96. package/src/providers/alpha_vantage/runtime.js +2 -2
  97. package/src/providers/alt_text_ai/runtime.js +2 -2
  98. package/src/providers/altiria/executors.js +3 -3
  99. package/src/providers/amap/runtime.js +3 -3
  100. package/src/providers/ambee/runtime.js +2 -2
  101. package/src/providers/ambivo/executors.js +3 -3
  102. package/src/providers/amilia/runtime.js +1 -1
  103. package/src/providers/amplemarket/runtime.js +2 -2
  104. package/src/providers/amplitude/runtime.js +3 -3
  105. package/src/providers/anysearch/runtime.js +4 -4
  106. package/src/providers/apaleo/runtime.js +2 -2
  107. package/src/providers/api_sports/executors.js +3 -4
  108. package/src/providers/apiverve/executors.js +2 -3
  109. package/src/providers/apollo/executors.js +2 -3
  110. package/src/providers/appcircle/runtime.js +5 -5
  111. package/src/providers/appdrag/executors.js +2 -3
  112. package/src/providers/arcgis_online/executors.js +2 -2
  113. package/src/providers/asana/executors.d.ts +2 -0
  114. package/src/providers/asana/executors.js +2 -0
  115. package/src/providers/asana/trigger-on-task-event.d.ts +2 -0
  116. package/src/providers/asana/trigger-on-task-event.definition.d.ts +4 -0
  117. package/src/providers/asana/trigger-on-task-event.definition.js +42 -0
  118. package/src/providers/asana/trigger-on-task-event.js +160 -0
  119. package/src/providers/auth0_management/runtime.js +2 -3
  120. package/src/providers/autoblogger/executors.js +3 -3
  121. package/src/providers/baidu_maps/runtime.js +3 -3
  122. package/src/providers/baidu_netdisk/runtime-mcp.js +3 -4
  123. package/src/providers/bark/executors.js +5 -5
  124. package/src/providers/bitrise/runtime.js +3 -3
  125. package/src/providers/bouncer/executors.js +3 -4
  126. package/src/providers/browse_ai/runtime.js +3 -4
  127. package/src/providers/browserstack/executors.js +6 -7
  128. package/src/providers/buildkite/runtime.js +3 -3
  129. package/src/providers/bunnycdn/runtime.js +3 -3
  130. package/src/providers/businessmap/runtime.js +6 -7
  131. package/src/providers/buttondown/runtime.js +2 -2
  132. package/src/providers/byteforms/runtime.js +2 -2
  133. package/src/providers/calendly/executors.d.ts +2 -0
  134. package/src/providers/calendly/executors.js +2 -0
  135. package/src/providers/calendly/runtime.js +2 -2
  136. package/src/providers/calendly/trigger-on-booking-event.d.ts +2 -0
  137. package/src/providers/calendly/trigger-on-booking-event.definition.d.ts +5 -0
  138. package/src/providers/calendly/trigger-on-booking-event.definition.js +42 -0
  139. package/src/providers/calendly/trigger-on-booking-event.js +144 -0
  140. package/src/providers/captainbi/runtime.js +6 -6
  141. package/src/providers/castingwords/runtime.js +1 -1
  142. package/src/providers/chatpdf/runtime.js +4 -4
  143. package/src/providers/check/executors.js +3 -4
  144. package/src/providers/checkly/executors.js +3 -4
  145. package/src/providers/chengxin/runtime.js +3 -3
  146. package/src/providers/cincopa/executors.js +3 -4
  147. package/src/providers/circle/executors.js +3 -4
  148. package/src/providers/clearout/executors.js +1 -2
  149. package/src/providers/clickhelp/runtime.js +5 -5
  150. package/src/providers/clickhouse/runtime.js +4 -4
  151. package/src/providers/clickup/executors.d.ts +2 -0
  152. package/src/providers/clickup/executors.js +2 -0
  153. package/src/providers/clickup/trigger-on-task-event.d.ts +2 -0
  154. package/src/providers/clickup/trigger-on-task-event.definition.d.ts +4 -0
  155. package/src/providers/clickup/trigger-on-task-event.definition.js +41 -0
  156. package/src/providers/clickup/trigger-on-task-event.js +94 -0
  157. package/src/providers/clinicalkey/runtime.js +3 -3
  158. package/src/providers/clinicaltrials_gov/runtime.js +4 -5
  159. package/src/providers/clockify/runtime.js +4 -4
  160. package/src/providers/cloro/actions.d.ts +12 -0
  161. package/src/providers/cloro/actions.js +155 -0
  162. package/src/providers/cloro/executors.d.ts +4 -0
  163. package/src/providers/cloro/executors.js +67 -0
  164. package/src/providers/cloro/inputs.d.ts +10 -0
  165. package/src/providers/cloro/inputs.js +680 -0
  166. package/src/providers/close/runtime.js +3 -3
  167. package/src/providers/cloudconvert/runtime.js +8 -9
  168. package/src/providers/cloudflare_dns/runtime.js +2 -2
  169. package/src/providers/cloudflare_email_routing/runtime.js +2 -2
  170. package/src/providers/cloudflare_r2/runtime.js +5 -5
  171. package/src/providers/cloudflare_worker/runtime.js +10 -10
  172. package/src/providers/cloudinary/runtime.js +4 -4
  173. package/src/providers/cloudlayer/runtime.js +5 -5
  174. package/src/providers/codacy/runtime.js +2 -2
  175. package/src/providers/codemagic/runtime.js +2 -2
  176. package/src/providers/confluence/executors.js +4 -4
  177. package/src/providers/confluence/runtime.d.ts +0 -1
  178. package/src/providers/confluence/runtime.js +6 -7
  179. package/src/providers/contactout/runtime.js +5 -5
  180. package/src/providers/contentful/runtime.js +2 -2
  181. package/src/providers/contentstack_content_delivery/runtime.js +1 -1
  182. package/src/providers/contextdev/actions.d.ts +14 -0
  183. package/src/providers/contextdev/actions.js +647 -0
  184. package/src/providers/contextdev/executors.d.ts +4 -0
  185. package/src/providers/contextdev/executors.js +109 -0
  186. package/src/providers/contextdev/files.d.ts +3 -0
  187. package/src/providers/contextdev/files.js +49 -0
  188. package/src/providers/contextdev/input-schemas.d.ts +49 -0
  189. package/src/providers/contextdev/input-schemas.js +3082 -0
  190. package/src/providers/contextdev/output-schemas.d.ts +49 -0
  191. package/src/providers/contextdev/output-schemas.js +1599 -0
  192. package/src/providers/cronly/runtime.js +2 -2
  193. package/src/providers/crossref/runtime.js +3 -3
  194. package/src/providers/cutt_ly/runtime.js +3 -3
  195. package/src/providers/cyberimpact/runtime.js +3 -3
  196. package/src/providers/dachser/executors.js +2 -2
  197. package/src/providers/dailybot/runtime.js +1 -1
  198. package/src/providers/databox/runtime.js +2 -2
  199. package/src/providers/databricks/runtime.js +2 -2
  200. package/src/providers/datacite/runtime.js +1 -1
  201. package/src/providers/datadog/executors.js +3 -4
  202. package/src/providers/datascope/runtime.js +2 -2
  203. package/src/providers/daytona/executors.js +3 -3
  204. package/src/providers/deepgram/runtime.js +2 -2
  205. package/src/providers/deepl/runtime.js +4 -4
  206. package/src/providers/deepseek/executors.d.ts +0 -5
  207. package/src/providers/deepseek/executors.js +38 -25
  208. package/src/providers/defillama/actions.d.ts +24 -0
  209. package/src/providers/defillama/actions.js +24 -0
  210. package/src/providers/defillama/dimensions-definitions.d.ts +2 -0
  211. package/src/providers/defillama/dimensions-definitions.js +1387 -0
  212. package/src/providers/defillama/ecosystem-definitions.d.ts +2 -0
  213. package/src/providers/defillama/ecosystem-definitions.js +758 -0
  214. package/src/providers/defillama/equities-definitions.d.ts +2 -0
  215. package/src/providers/defillama/equities-definitions.js +733 -0
  216. package/src/providers/defillama/executors.d.ts +4 -0
  217. package/src/providers/defillama/executors.js +196 -0
  218. package/src/providers/defillama/markets-definitions.d.ts +2 -0
  219. package/src/providers/defillama/markets-definitions.js +624 -0
  220. package/src/providers/defillama/shared-schemas.d.ts +71 -0
  221. package/src/providers/defillama/shared-schemas.js +157 -0
  222. package/src/providers/defillama/tvl-definitions.d.ts +2 -0
  223. package/src/providers/defillama/tvl-definitions.js +546 -0
  224. package/src/providers/defillama/yields-definitions.d.ts +2 -0
  225. package/src/providers/defillama/yields-definitions.js +766 -0
  226. package/src/providers/detrack/executors.js +5 -5
  227. package/src/providers/deutschlandgpt/runtime.js +2 -2
  228. package/src/providers/dialmycalls/runtime.js +4 -4
  229. package/src/providers/diffbot/executors.js +4 -4
  230. package/src/providers/digistore24/executors.js +3 -3
  231. package/src/providers/dingtalk_bot/executors.js +1 -1
  232. package/src/providers/discourse/executors.d.ts +0 -1
  233. package/src/providers/discourse/executors.js +6 -7
  234. package/src/providers/docugenerate/runtime.js +3 -3
  235. package/src/providers/doppler/runtime.shared.js +3 -3
  236. package/src/providers/doppler_marketing_automation/runtime.js +4 -4
  237. package/src/providers/dovetail/runtime.js +2 -2
  238. package/src/providers/dropcontact/runtime.js +3 -3
  239. package/src/providers/dub/executors.js +6 -6
  240. package/src/providers/dumplingai/runtime.js +2 -2
  241. package/src/providers/elevenlabs/executors.js +4 -4
  242. package/src/providers/elevenreader/runtime.js +1 -1
  243. package/src/providers/emailoctopus/runtime.js +4 -4
  244. package/src/providers/embase/runtime.js +3 -3
  245. package/src/providers/emelia/executors.js +2 -2
  246. package/src/providers/enigma/executors.js +3 -3
  247. package/src/providers/eodhd_apis/executors.js +2 -2
  248. package/src/providers/eventzilla/runtime.js +3 -4
  249. package/src/providers/evervault/runtime.js +1 -1
  250. package/src/providers/excalidraw_mcp/runtime.js +3 -4
  251. package/src/providers/excel/runtime.js +6 -6
  252. package/src/providers/expofp/runtime.js +2 -2
  253. package/src/providers/faktoora/runtime.js +5 -5
  254. package/src/providers/fast_note_sync/runtime.js +2 -2
  255. package/src/providers/feathery/executors.js +2 -3
  256. package/src/providers/feishu_app_bot/executors.js +2 -3
  257. package/src/providers/feishu_app_bot/trigger-on-event.js +2 -0
  258. package/src/providers/feishu_custom_bot/executors.js +2 -3
  259. package/src/providers/ffhub/executors.js +2 -3
  260. package/src/providers/fidel_api/executors.js +2 -3
  261. package/src/providers/files_com/executors.js +2 -3
  262. package/src/providers/fireberry/runtime.d.ts +0 -1
  263. package/src/providers/fireberry/runtime.js +3 -4
  264. package/src/providers/fireflies/executors.d.ts +2 -0
  265. package/src/providers/fireflies/executors.js +2 -0
  266. package/src/providers/fireflies/trigger-on-meeting-ready.d.ts +2 -0
  267. package/src/providers/fireflies/trigger-on-meeting-ready.definition.d.ts +4 -0
  268. package/src/providers/fireflies/trigger-on-meeting-ready.definition.js +44 -0
  269. package/src/providers/fireflies/trigger-on-meeting-ready.js +60 -0
  270. package/src/providers/firehydrant/executors.js +2 -3
  271. package/src/providers/float/executors.js +2 -3
  272. package/src/providers/flomo/executors.js +5 -6
  273. package/src/providers/flowiseai/executors.js +2 -3
  274. package/src/providers/fluxguard/executors.js +2 -3
  275. package/src/providers/folk/executors.js +2 -3
  276. package/src/providers/football_data/executors.js +2 -3
  277. package/src/providers/forem/executors.js +2 -3
  278. package/src/providers/formbricks/executors.js +2 -3
  279. package/src/providers/formsite/executors.js +3 -4
  280. package/src/providers/formspree/executors.js +2 -2
  281. package/src/providers/freshdesk/executors.js +3 -4
  282. package/src/providers/freshservice/executors.js +3 -4
  283. package/src/providers/freshteam/runtime.js +3 -4
  284. package/src/providers/full_contact/executors.js +3 -3
  285. package/src/providers/fundable/actions.d.ts +8 -0
  286. package/src/providers/fundable/actions.js +1515 -0
  287. package/src/providers/fundable/executors.d.ts +4 -0
  288. package/src/providers/fundable/executors.js +74 -0
  289. package/src/providers/fusion-api/runtime.js +2 -3
  290. package/src/providers/gagelist/executors.js +3 -3
  291. package/src/providers/gainsight_nxt/executors.js +2 -2
  292. package/src/providers/gamma/executors.js +4 -3
  293. package/src/providers/gangtise/runtime.js +3 -4
  294. package/src/providers/gatherup/runtime.js +1 -1
  295. package/src/providers/geckoboard/executors.js +2 -3
  296. package/src/providers/gemini/runtime.d.ts +0 -1
  297. package/src/providers/gemini/runtime.js +5 -6
  298. package/src/providers/genpage/runtime.js +2 -2
  299. package/src/providers/geokeo/executors.js +4 -4
  300. package/src/providers/getnote/runtime.js +2 -3
  301. package/src/providers/github/runtime-shared.js +2 -2
  302. package/src/providers/glyphic/runtime.js +3 -4
  303. package/src/providers/gmail/executors.js +125 -27
  304. package/src/providers/gmail/message.d.ts +1 -6
  305. package/src/providers/gmail/message.js +1 -1
  306. package/src/providers/gong/runtime.js +6 -7
  307. package/src/providers/googlecalendar/runtime-shared.js +3 -4
  308. package/src/providers/googledrive/runtime-request.js +2 -3
  309. package/src/providers/googlesheets/runtime-shared.js +3 -4
  310. package/src/providers/gorgias/runtime.js +4 -4
  311. package/src/providers/gotify/executors.js +7 -8
  312. package/src/providers/greenhouse/executors.js +3 -3
  313. package/src/providers/gumloop/executors.js +2 -3
  314. package/src/providers/gumroad/executors.js +2 -3
  315. package/src/providers/habitica/executors.js +2 -3
  316. package/src/providers/hackerrank_work/executors.js +2 -3
  317. package/src/providers/harvest/executors.js +3 -4
  318. package/src/providers/haveibeenpwned/executors.js +2 -3
  319. package/src/providers/headout/executors.js +3 -4
  320. package/src/providers/healthchecks_io/executors.js +2 -3
  321. package/src/providers/helium10/runtime.js +4 -5
  322. package/src/providers/helpdesk/runtime.js +4 -4
  323. package/src/providers/home_assistant/runtime-ws.js +9 -10
  324. package/src/providers/hotjar/executors.js +4 -4
  325. package/src/providers/httpsms/runtime.js +3 -4
  326. package/src/providers/hub_planner/executors.js +3 -3
  327. package/src/providers/hubspot/runtime.js +3 -4
  328. package/src/providers/humaans/runtime.js +3 -3
  329. package/src/providers/hunter/runtime.js +3 -3
  330. package/src/providers/icypeas/executors.js +3 -4
  331. package/src/providers/ima/runtime.js +7 -7
  332. package/src/providers/infolobby/runtime.js +6 -6
  333. package/src/providers/instabot/runtime.js +6 -6
  334. package/src/providers/instatus/runtime.js +4 -4
  335. package/src/providers/intercom/executors.d.ts +2 -0
  336. package/src/providers/intercom/executors.js +2 -0
  337. package/src/providers/intercom/trigger-on-conversation-event.d.ts +2 -0
  338. package/src/providers/intercom/trigger-on-conversation-event.definition.d.ts +4 -0
  339. package/src/providers/intercom/trigger-on-conversation-event.definition.js +42 -0
  340. package/src/providers/intercom/trigger-on-conversation-event.js +23 -0
  341. package/src/providers/intuiface/executors.js +3 -3
  342. package/src/providers/iplocate/runtime.js +4 -5
  343. package/src/providers/ipregistry/executors.js +2 -2
  344. package/src/providers/jiminny/runtime.js +4 -4
  345. package/src/providers/jin10/executors.js +4 -5
  346. package/src/providers/jira/executors.d.ts +2 -0
  347. package/src/providers/jira/executors.js +6 -4
  348. package/src/providers/jira/trigger-on-issue-event.d.ts +2 -0
  349. package/src/providers/jira/trigger-on-issue-event.definition.d.ts +4 -0
  350. package/src/providers/jira/trigger-on-issue-event.definition.js +44 -0
  351. package/src/providers/jira/trigger-on-issue-event.js +116 -0
  352. package/src/providers/jira/trigger-resource.d.ts +4 -0
  353. package/src/providers/jira/trigger-resource.js +141 -0
  354. package/src/providers/kaleido/runtime.js +2 -2
  355. package/src/providers/kandji/runtime.js +2 -2
  356. package/src/providers/keenable/executors.d.ts +4 -0
  357. package/src/providers/keenable/executors.js +20 -0
  358. package/src/providers/keenable/runtime.d.ts +26 -0
  359. package/src/providers/keenable/runtime.js +89 -0
  360. package/src/providers/keygen/executors.js +4 -4
  361. package/src/providers/keyword/runtime.js +2 -2
  362. package/src/providers/kie_ai/executors.js +1 -1
  363. package/src/providers/kintone/runtime.js +1 -1
  364. package/src/providers/kit/runtime.js +2 -2
  365. package/src/providers/klangio/runtime.js +4 -4
  366. package/src/providers/klaviyo/executors.js +1 -1
  367. package/src/providers/klazify/executors.js +3 -3
  368. package/src/providers/klipfolio/runtime.js +3 -3
  369. package/src/providers/knack/executors.js +1 -1
  370. package/src/providers/kolsprite_mcp/actions.d.ts +2 -0
  371. package/src/providers/kolsprite_mcp/actions.js +519 -0
  372. package/src/providers/kolsprite_mcp/executors.d.ts +4 -0
  373. package/src/providers/kolsprite_mcp/executors.js +89 -0
  374. package/src/providers/kommo/runtime.js +2 -2
  375. package/src/providers/kontent_ai/executors.js +3 -4
  376. package/src/providers/l2s/executors.js +3 -4
  377. package/src/providers/latchshot/executors.js +2 -2
  378. package/src/providers/leadboxer/runtime.js +4 -4
  379. package/src/providers/leadiq/runtime.js +4 -4
  380. package/src/providers/linguapop/runtime.js +1 -1
  381. package/src/providers/lingvanex_translation_api/runtime.js +5 -6
  382. package/src/providers/lingxing_mcp/runtime.js +3 -4
  383. package/src/providers/linkup/runtime.js +5 -6
  384. package/src/providers/litescrape/actions.d.ts +12 -0
  385. package/src/providers/litescrape/actions.js +124 -0
  386. package/src/providers/litescrape/airbnb-schemas.d.ts +2 -0
  387. package/src/providers/litescrape/airbnb-schemas.js +72 -0
  388. package/src/providers/litescrape/aliexpress-schemas.d.ts +2 -0
  389. package/src/providers/litescrape/aliexpress-schemas.js +52 -0
  390. package/src/providers/litescrape/amazon-schemas.d.ts +2 -0
  391. package/src/providers/litescrape/amazon-schemas.js +358 -0
  392. package/src/providers/litescrape/apartments-schemas.d.ts +2 -0
  393. package/src/providers/litescrape/apartments-schemas.js +45 -0
  394. package/src/providers/litescrape/apple-schemas.d.ts +2 -0
  395. package/src/providers/litescrape/apple-schemas.js +215 -0
  396. package/src/providers/litescrape/ashby-schemas.d.ts +2 -0
  397. package/src/providers/litescrape/ashby-schemas.js +82 -0
  398. package/src/providers/litescrape/baidu-schemas.d.ts +2 -0
  399. package/src/providers/litescrape/baidu-schemas.js +31 -0
  400. package/src/providers/litescrape/bestbuy-schemas.d.ts +2 -0
  401. package/src/providers/litescrape/bestbuy-schemas.js +56 -0
  402. package/src/providers/litescrape/bing-schemas.d.ts +2 -0
  403. package/src/providers/litescrape/bing-schemas.js +315 -0
  404. package/src/providers/litescrape/brave-schemas.d.ts +2 -0
  405. package/src/providers/litescrape/brave-schemas.js +101 -0
  406. package/src/providers/litescrape/copilot-schemas.d.ts +2 -0
  407. package/src/providers/litescrape/copilot-schemas.js +590 -0
  408. package/src/providers/litescrape/duckduckgo-schemas.d.ts +2 -0
  409. package/src/providers/litescrape/duckduckgo-schemas.js +64 -0
  410. package/src/providers/litescrape/ebay-schemas.d.ts +2 -0
  411. package/src/providers/litescrape/ebay-schemas.js +300 -0
  412. package/src/providers/litescrape/etsy-schemas.d.ts +2 -0
  413. package/src/providers/litescrape/etsy-schemas.js +52 -0
  414. package/src/providers/litescrape/eventbrite-schemas.d.ts +2 -0
  415. package/src/providers/litescrape/eventbrite-schemas.js +43 -0
  416. package/src/providers/litescrape/executors.d.ts +4 -0
  417. package/src/providers/litescrape/executors.js +138 -0
  418. package/src/providers/litescrape/facebook-schemas.d.ts +2 -0
  419. package/src/providers/litescrape/facebook-schemas.js +283 -0
  420. package/src/providers/litescrape/glassdoor-schemas.d.ts +2 -0
  421. package/src/providers/litescrape/glassdoor-schemas.js +147 -0
  422. package/src/providers/litescrape/google-schemas.d.ts +2 -0
  423. package/src/providers/litescrape/google-schemas.js +1686 -0
  424. package/src/providers/litescrape/homedepot-schemas.d.ts +2 -0
  425. package/src/providers/litescrape/homedepot-schemas.js +58 -0
  426. package/src/providers/litescrape/homes-schemas.d.ts +2 -0
  427. package/src/providers/litescrape/homes-schemas.js +45 -0
  428. package/src/providers/litescrape/ikea-schemas.d.ts +2 -0
  429. package/src/providers/litescrape/ikea-schemas.js +56 -0
  430. package/src/providers/litescrape/indeed-schemas.d.ts +2 -0
  431. package/src/providers/litescrape/indeed-schemas.js +141 -0
  432. package/src/providers/litescrape/instagram-schemas.d.ts +2 -0
  433. package/src/providers/litescrape/instagram-schemas.js +234 -0
  434. package/src/providers/litescrape/kroger-schemas.d.ts +2 -0
  435. package/src/providers/litescrape/kroger-schemas.js +62 -0
  436. package/src/providers/litescrape/levels-schemas.d.ts +2 -0
  437. package/src/providers/litescrape/levels-schemas.js +153 -0
  438. package/src/providers/litescrape/naver-schemas.d.ts +2 -0
  439. package/src/providers/litescrape/naver-schemas.js +107 -0
  440. package/src/providers/litescrape/realtor-schemas.d.ts +2 -0
  441. package/src/providers/litescrape/realtor-schemas.js +47 -0
  442. package/src/providers/litescrape/redfin-schemas.d.ts +2 -0
  443. package/src/providers/litescrape/redfin-schemas.js +112 -0
  444. package/src/providers/litescrape/shared.d.ts +9 -0
  445. package/src/providers/litescrape/shared.js +1 -0
  446. package/src/providers/litescrape/sprouts-schemas.d.ts +2 -0
  447. package/src/providers/litescrape/sprouts-schemas.js +72 -0
  448. package/src/providers/litescrape/target-schemas.d.ts +2 -0
  449. package/src/providers/litescrape/target-schemas.js +56 -0
  450. package/src/providers/litescrape/tiktok-schemas.d.ts +2 -0
  451. package/src/providers/litescrape/tiktok-schemas.js +625 -0
  452. package/src/providers/litescrape/tools.d.ts +2 -0
  453. package/src/providers/litescrape/tools.js +88 -0
  454. package/src/providers/litescrape/tripadvisor-schemas.d.ts +2 -0
  455. package/src/providers/litescrape/tripadvisor-schemas.js +119 -0
  456. package/src/providers/litescrape/walmart-schemas.d.ts +2 -0
  457. package/src/providers/litescrape/walmart-schemas.js +52 -0
  458. package/src/providers/litescrape/wayfair-schemas.d.ts +2 -0
  459. package/src/providers/litescrape/wayfair-schemas.js +52 -0
  460. package/src/providers/litescrape/web-schemas.d.ts +2 -0
  461. package/src/providers/litescrape/web-schemas.js +463 -0
  462. package/src/providers/litescrape/wholefoods-schemas.d.ts +2 -0
  463. package/src/providers/litescrape/wholefoods-schemas.js +56 -0
  464. package/src/providers/litescrape/x-schemas.d.ts +2 -0
  465. package/src/providers/litescrape/x-schemas.js +128 -0
  466. package/src/providers/litescrape/yahoo-schemas.d.ts +2 -0
  467. package/src/providers/litescrape/yahoo-schemas.js +234 -0
  468. package/src/providers/litescrape/yandex-schemas.d.ts +2 -0
  469. package/src/providers/litescrape/yandex-schemas.js +179 -0
  470. package/src/providers/litescrape/yelp-schemas.d.ts +2 -0
  471. package/src/providers/litescrape/yelp-schemas.js +130 -0
  472. package/src/providers/litescrape/youtube-schemas.d.ts +2 -0
  473. package/src/providers/litescrape/youtube-schemas.js +128 -0
  474. package/src/providers/litescrape/zillow-schemas.d.ts +2 -0
  475. package/src/providers/litescrape/zillow-schemas.js +128 -0
  476. package/src/providers/litescrape/ziprecruiter-schemas.d.ts +2 -0
  477. package/src/providers/litescrape/ziprecruiter-schemas.js +96 -0
  478. package/src/providers/liveagent/executors.js +6 -6
  479. package/src/providers/loops/executors.js +2 -2
  480. package/src/providers/loyjoy/runtime.js +2 -2
  481. package/src/providers/loyverse/executors.js +4 -4
  482. package/src/providers/lusha/runtime.js +3 -3
  483. package/src/providers/magichour/actions.d.ts +22 -0
  484. package/src/providers/magichour/actions.js +308 -0
  485. package/src/providers/magichour/audio-schemas.d.ts +2 -0
  486. package/src/providers/magichour/audio-schemas.js +54 -0
  487. package/src/providers/magichour/executors.d.ts +4 -0
  488. package/src/providers/magichour/executors.js +115 -0
  489. package/src/providers/magichour/image-schemas.d.ts +2 -0
  490. package/src/providers/magichour/image-schemas.js +443 -0
  491. package/src/providers/magichour/project-schemas.d.ts +8 -0
  492. package/src/providers/magichour/project-schemas.js +65 -0
  493. package/src/providers/magichour/shared-schemas.d.ts +8 -0
  494. package/src/providers/magichour/shared-schemas.js +18 -0
  495. package/src/providers/magichour/utility-schemas.d.ts +11 -0
  496. package/src/providers/magichour/utility-schemas.js +150 -0
  497. package/src/providers/magichour/video-schemas.d.ts +2 -0
  498. package/src/providers/magichour/video-schemas.js +629 -0
  499. package/src/providers/magichour/voices.d.ts +1 -0
  500. package/src/providers/magichour/voices.js +1268 -0
  501. package/src/providers/mailbluster/runtime.js +3 -4
  502. package/src/providers/mailcoach/runtime.js +4 -4
  503. package/src/providers/mailgenius/executors.js +3 -4
  504. package/src/providers/mailjet/runtime.js +3 -3
  505. package/src/providers/mails_so/runtime.js +1 -1
  506. package/src/providers/mailsoftly/runtime.js +5 -5
  507. package/src/providers/mailtrap/runtime.js +4 -5
  508. package/src/providers/manus/runtime.js +3 -3
  509. package/src/providers/mautic/runtime.js +3 -3
  510. package/src/providers/megaventory/runtime.js +3 -3
  511. package/src/providers/memberstack/runtime.js +2 -2
  512. package/src/providers/mendeley/executors.js +2 -3
  513. package/src/providers/mindbody/runtime.js +3 -3
  514. package/src/providers/minerstat/executors.js +3 -3
  515. package/src/providers/minimax/executors.js +19 -4
  516. package/src/providers/minimax/text-models.d.ts +2 -0
  517. package/src/providers/minimax/text-models.js +34 -0
  518. package/src/providers/mintlify/runtime.js +3 -3
  519. package/src/providers/missive/executors.js +3 -5
  520. package/src/providers/mixpanel/executors.js +3 -3
  521. package/src/providers/mobile_text_alerts/runtime.js +3 -3
  522. package/src/providers/mocean/executors.js +3 -3
  523. package/src/providers/moco/executors.js +5 -5
  524. package/src/providers/moesif/runtime.js +4 -4
  525. package/src/providers/monday/runtime-common.js +3 -3
  526. package/src/providers/moneyforward_mcp/manifest.d.ts +0 -2
  527. package/src/providers/moneyforward_mcp/manifest.js +1 -1
  528. package/src/providers/monica_crm/runtime.js +4 -4
  529. package/src/providers/moorcheh/runtime.js +3 -3
  530. package/src/providers/more_trees/runtime.d.ts +0 -1
  531. package/src/providers/more_trees/runtime.js +7 -8
  532. package/src/providers/moxie/runtime.js +2 -2
  533. package/src/providers/msg91/runtime.js +4 -4
  534. package/src/providers/mx/runtime.js +1 -1
  535. package/src/providers/needle/runtime.js +3 -4
  536. package/src/providers/netlify/runtime.js +2 -3
  537. package/src/providers/niftyimages/executors.js +2 -2
  538. package/src/providers/northbeam/runtime.js +1 -1
  539. package/src/providers/notion/executors.js +36 -3
  540. package/src/providers/nozbe_teams/executors.js +4 -4
  541. package/src/providers/npm/runtime.js +4 -4
  542. package/src/providers/nusii_proposals/runtime.js +2 -2
  543. package/src/providers/ocr_web_service/executors.js +4 -4
  544. package/src/providers/octen/actions.d.ts +6 -0
  545. package/src/providers/octen/actions.js +919 -0
  546. package/src/providers/octen/executors.d.ts +4 -0
  547. package/src/providers/octen/executors.js +125 -0
  548. package/src/providers/octen/inputs.d.ts +2 -0
  549. package/src/providers/octen/inputs.js +2434 -0
  550. package/src/providers/octen/research.d.ts +1 -0
  551. package/src/providers/octen/research.js +86 -0
  552. package/src/providers/octopus_deploy/executors.js +3 -3
  553. package/src/providers/oksign/runtime.js +3 -4
  554. package/src/providers/one_drive/executors.js +6 -6
  555. package/src/providers/one_password_events/runtime.js +1 -1
  556. package/src/providers/onfleet/runtime.js +3 -3
  557. package/src/providers/onlyoffice_docspace/runtime.js +4 -4
  558. package/src/providers/oomnitza/runtime.js +3 -4
  559. package/src/providers/openrouter/executors.js +7 -4
  560. package/src/providers/orbit/actions.d.ts +2 -0
  561. package/src/providers/orbit/actions.js +3030 -0
  562. package/src/providers/orbit/executors.d.ts +4 -0
  563. package/src/providers/orbit/executors.js +106 -0
  564. package/src/providers/orbit/routes.d.ts +9 -0
  565. package/src/providers/orbit/routes.js +170 -0
  566. package/src/providers/otter_ai/executors.js +2 -2
  567. package/src/providers/oura/runtime.js +1 -1
  568. package/src/providers/paddle/executors.js +3 -3
  569. package/src/providers/pagerduty/runtime.js +2 -2
  570. package/src/providers/pandadoc/executors.d.ts +2 -0
  571. package/src/providers/pandadoc/executors.js +2 -0
  572. package/src/providers/pandadoc/trigger-on-document-event.d.ts +2 -0
  573. package/src/providers/pandadoc/trigger-on-document-event.definition.d.ts +4 -0
  574. package/src/providers/pandadoc/trigger-on-document-event.definition.js +33 -0
  575. package/src/providers/pandadoc/trigger-on-document-event.js +96 -0
  576. package/src/providers/paradym/runtime.js +4 -4
  577. package/src/providers/parallel/runtime.js +3 -3
  578. package/src/providers/partner_stack_partner/runtime.js +1 -1
  579. package/src/providers/payrexx/runtime.js +5 -6
  580. package/src/providers/permit_io/runtime.js +2 -2
  581. package/src/providers/pinboard/executors.js +5 -6
  582. package/src/providers/pinpoint/runtime.js +2 -2
  583. package/src/providers/pipedrive/executors.d.ts +2 -0
  584. package/src/providers/pipedrive/executors.js +2 -0
  585. package/src/providers/pipedrive/trigger-on-crm-event.d.ts +2 -0
  586. package/src/providers/pipedrive/trigger-on-crm-event.definition.d.ts +4 -0
  587. package/src/providers/pipedrive/trigger-on-crm-event.definition.js +30 -0
  588. package/src/providers/pipedrive/trigger-on-crm-event.js +101 -0
  589. package/src/providers/placid/runtime.js +3 -3
  590. package/src/providers/plain/runtime.js +5 -5
  591. package/src/providers/planetscale/runtime.js +2 -2
  592. package/src/providers/planhat/executors.js +6 -6
  593. package/src/providers/plausible_analytics/runtime.js +3 -3
  594. package/src/providers/ploid/actions.d.ts +16 -0
  595. package/src/providers/ploid/actions.js +23 -0
  596. package/src/providers/ploid/endpoints.json +8440 -0
  597. package/src/providers/ploid/executors.d.ts +4 -0
  598. package/src/providers/ploid/executors.js +119 -0
  599. package/src/providers/posthog/runtime.js +3 -3
  600. package/src/providers/predis_ai/executors.js +3 -3
  601. package/src/providers/printavo/runtime.js +2 -2
  602. package/src/providers/prospeo/runtime.js +2 -3
  603. package/src/providers/provider-runtime.d.ts +26 -1
  604. package/src/providers/provider-runtime.js +62 -14
  605. package/src/providers/push_by_techulus/executors.js +3 -4
  606. package/src/providers/pushover/runtime.js +4 -5
  607. package/src/providers/pushsafer/runtime.js +4 -5
  608. package/src/providers/pylon/runtime.js +2 -2
  609. package/src/providers/qase/runtime.js +3 -3
  610. package/src/providers/qdrant/runtime.js +1 -1
  611. package/src/providers/qichacha/runtime.js +2 -2
  612. package/src/providers/qingflow/runtime.js +2 -2
  613. package/src/providers/quickchart/runtime.js +2 -2
  614. package/src/providers/quintadb/runtime.js +2 -2
  615. package/src/providers/quo/runtime.js +2 -2
  616. package/src/providers/rawg/runtime.js +4 -4
  617. package/src/providers/razorpay/runtime.js +4 -5
  618. package/src/providers/readme/runtime.js +6 -6
  619. package/src/providers/referralhero/runtime.js +3 -3
  620. package/src/providers/registry.generated.js +18 -0
  621. package/src/providers/render/executors.js +3 -3
  622. package/src/providers/resend/executors.d.ts +2 -0
  623. package/src/providers/resend/executors.js +2 -0
  624. package/src/providers/resend/trigger-on-email-event.d.ts +2 -0
  625. package/src/providers/resend/trigger-on-email-event.definition.d.ts +4 -0
  626. package/src/providers/resend/trigger-on-email-event.definition.js +37 -0
  627. package/src/providers/resend/trigger-on-email-event.js +125 -0
  628. package/src/providers/respond_io/executors.js +3 -3
  629. package/src/providers/reversecontact/runtime.js +3 -3
  630. package/src/providers/ritekit/executors.js +2 -2
  631. package/src/providers/riveter/executors.js +2 -3
  632. package/src/providers/rocket_chat/executors.js +3 -4
  633. package/src/providers/rocket_reach/executors.js +3 -4
  634. package/src/providers/salesforce/chatter-routes.d.ts +107 -0
  635. package/src/providers/salesforce/chatter-routes.js +140 -0
  636. package/src/providers/salesforce/context.d.ts +2 -2
  637. package/src/providers/salesforce/context.js +7 -4
  638. package/src/providers/salesforce/executors.js +10 -0
  639. package/src/providers/salesforce/runtime-approvals.d.ts +2 -0
  640. package/src/providers/salesforce/runtime-approvals.js +52 -0
  641. package/src/providers/salesforce/runtime-base.js +14 -3
  642. package/src/providers/salesforce/runtime-chatter.d.ts +2 -0
  643. package/src/providers/salesforce/runtime-chatter.js +78 -0
  644. package/src/providers/salesforce/runtime-knowledge.d.ts +2 -0
  645. package/src/providers/salesforce/runtime-knowledge.js +34 -0
  646. package/src/providers/salesforce/runtime-leads.d.ts +2 -0
  647. package/src/providers/salesforce/runtime-leads.js +117 -0
  648. package/src/providers/salesforce/runtime-platform.d.ts +2 -0
  649. package/src/providers/salesforce/runtime-platform.js +67 -0
  650. package/src/providers/saperly/actions.d.ts +17 -0
  651. package/src/providers/saperly/actions.js +869 -0
  652. package/src/providers/saperly/executors.d.ts +4 -0
  653. package/src/providers/saperly/executors.js +113 -0
  654. package/src/providers/saperly/schemas.d.ts +33 -0
  655. package/src/providers/saperly/schemas.js +601 -0
  656. package/src/providers/saucelabs/runtime.js +4 -4
  657. package/src/providers/scopus/runtime.js +3 -3
  658. package/src/providers/scrape_do/executors.js +2 -2
  659. package/src/providers/scraperapi/runtime.js +4 -4
  660. package/src/providers/scrapfly/executors.js +2 -2
  661. package/src/providers/scrapingant/executors.js +6 -7
  662. package/src/providers/scrapingbee/executors.js +3 -3
  663. package/src/providers/scrapingdog/executors.js +1 -1
  664. package/src/providers/screenshot_fyi/executors.js +3 -4
  665. package/src/providers/screenshotbase/runtime.js +3 -3
  666. package/src/providers/search1api/actions.d.ts +2 -0
  667. package/src/providers/search1api/actions.js +39 -0
  668. package/src/providers/search1api/executors.d.ts +4 -0
  669. package/src/providers/search1api/executors.js +72 -0
  670. package/src/providers/search1api/runtime.d.ts +3 -0
  671. package/src/providers/search1api/runtime.js +44 -0
  672. package/src/providers/search1api/schemas.d.ts +3 -0
  673. package/src/providers/search1api/schemas.js +1834 -0
  674. package/src/providers/search_api/runtime.js +2 -2
  675. package/src/providers/securitytrails/executors.js +2 -2
  676. package/src/providers/semantic_scholar/executors.js +2 -2
  677. package/src/providers/sendbird/executors.js +2 -2
  678. package/src/providers/sendfox/executors.js +3 -3
  679. package/src/providers/sendgrid/executors.js +5 -5
  680. package/src/providers/sendmator/runtime.js +3 -4
  681. package/src/providers/sentry/executors.d.ts +2 -0
  682. package/src/providers/sentry/executors.js +2 -0
  683. package/src/providers/sentry/trigger-on-issue-alert.d.ts +2 -0
  684. package/src/providers/sentry/trigger-on-issue-alert.definition.d.ts +4 -0
  685. package/src/providers/sentry/trigger-on-issue-alert.definition.js +64 -0
  686. package/src/providers/sentry/trigger-on-issue-alert.js +80 -0
  687. package/src/providers/seqera/runtime.js +3 -4
  688. package/src/providers/serveravatar/executors.js +3 -3
  689. package/src/providers/sf_express/runtime.d.ts +0 -16
  690. package/src/providers/sf_express/runtime.js +2 -2
  691. package/src/providers/sheetdb/runtime.js +2 -2
  692. package/src/providers/short_menu/runtime.js +3 -3
  693. package/src/providers/shortcut/runtime.js +3 -3
  694. package/src/providers/shortpixel/runtime.js +2 -2
  695. package/src/providers/shotstack/runtime.js +4 -4
  696. package/src/providers/signpath/runtime.js +2 -2
  697. package/src/providers/signwell/runtime.js +5 -6
  698. package/src/providers/similarweb_digitalrank_api/runtime.js +3 -3
  699. package/src/providers/simla/runtime.js +5 -5
  700. package/src/providers/simplybook_me/executors.js +6 -6
  701. package/src/providers/sitespeakai/runtime.js +3 -3
  702. package/src/providers/slack/runtime.d.ts +6 -1
  703. package/src/providers/slack/runtime.js +21 -0
  704. package/src/providers/slackbot/actions.js +17 -1
  705. package/src/providers/slackbot/executors.d.ts +2 -0
  706. package/src/providers/slackbot/executors.js +5 -1
  707. package/src/providers/slackbot/trigger-on-event.d.ts +2 -0
  708. package/src/providers/slackbot/trigger-on-event.definition.d.ts +4 -0
  709. package/src/providers/slackbot/trigger-on-event.definition.js +57 -0
  710. package/src/providers/slackbot/trigger-on-event.js +23 -0
  711. package/src/providers/slickdeals/runtime.js +2 -3
  712. package/src/providers/smartsuite/runtime.js +3 -3
  713. package/src/providers/sonarcloud/runtime.js +5 -5
  714. package/src/providers/sorftime/runtime.js +8 -8
  715. package/src/providers/spider/runtime.js +2 -2
  716. package/src/providers/splunk_http_event_collector/runtime.js +7 -8
  717. package/src/providers/sportsdata/runtime.js +4 -4
  718. package/src/providers/spyfu/runtime.js +4 -5
  719. package/src/providers/square/runtime.js +4 -4
  720. package/src/providers/stannp/runtime.js +2 -2
  721. package/src/providers/stripe/executors.js +2 -2
  722. package/src/providers/supermemory/runtime.js +3 -3
  723. package/src/providers/surf/actions.d.ts +21 -0
  724. package/src/providers/surf/actions.js +26 -0
  725. package/src/providers/surf/discovery-definitions.d.ts +2 -0
  726. package/src/providers/surf/discovery-definitions.js +871 -0
  727. package/src/providers/surf/equity-definitions.d.ts +2 -0
  728. package/src/providers/surf/equity-definitions.js +322 -0
  729. package/src/providers/surf/executors.d.ts +4 -0
  730. package/src/providers/surf/executors.js +131 -0
  731. package/src/providers/surf/market-definitions.d.ts +2 -0
  732. package/src/providers/surf/market-definitions.js +885 -0
  733. package/src/providers/surf/onchain-definitions.d.ts +2 -0
  734. package/src/providers/surf/onchain-definitions.js +901 -0
  735. package/src/providers/surf/prediction-definitions.d.ts +2 -0
  736. package/src/providers/surf/prediction-definitions.js +683 -0
  737. package/src/providers/surf/shared-schemas.d.ts +18 -0
  738. package/src/providers/surf/shared-schemas.js +37 -0
  739. package/src/providers/survey_monkey/runtime.js +3 -3
  740. package/src/providers/taiga/runtime.js +4 -4
  741. package/src/providers/talenox/executors.js +4 -4
  742. package/src/providers/tally/executors.d.ts +2 -0
  743. package/src/providers/tally/executors.js +2 -0
  744. package/src/providers/tally/runtime.js +3 -3
  745. package/src/providers/tally/trigger-on-form-response.d.ts +2 -0
  746. package/src/providers/tally/trigger-on-form-response.definition.d.ts +4 -0
  747. package/src/providers/tally/trigger-on-form-response.definition.js +54 -0
  748. package/src/providers/tally/trigger-on-form-response.js +166 -0
  749. package/src/providers/tavily/runtime.js +3 -4
  750. package/src/providers/teamcamp/executors.js +2 -2
  751. package/src/providers/teamtailor/executors.js +2 -2
  752. package/src/providers/telegram/executors.js +6 -7
  753. package/src/providers/teltel/executors.js +2 -2
  754. package/src/providers/templated/executors.js +3 -3
  755. package/src/providers/tencent_docs/runtime.js +4 -4
  756. package/src/providers/tencent_maps/runtime.js +3 -3
  757. package/src/providers/textcortex/runtime.js +3 -3
  758. package/src/providers/the_cat_api/runtime.js +3 -3
  759. package/src/providers/the_colony/runtime.js +3 -3
  760. package/src/providers/the_odds_api/runtime.js +3 -4
  761. package/src/providers/the_official_board/runtime.js +4 -4
  762. package/src/providers/thehive/runtime.js +1 -1
  763. package/src/providers/tikhub/endpoint-catalog.js +2 -3
  764. package/src/providers/tiktok_business/runtime.js +2 -2
  765. package/src/providers/timecamp/runtime.js +2 -2
  766. package/src/providers/timelink/runtime.js +2 -2
  767. package/src/providers/tinyfish/actions.d.ts +6 -0
  768. package/src/providers/tinyfish/actions.js +19 -0
  769. package/src/providers/tinyfish/agent-actions.d.ts +2 -0
  770. package/src/providers/tinyfish/agent-actions.js +268 -0
  771. package/src/providers/tinyfish/data-actions.d.ts +2 -0
  772. package/src/providers/tinyfish/data-actions.js +186 -0
  773. package/src/providers/tinyfish/data-schemas.d.ts +7 -0
  774. package/src/providers/tinyfish/data-schemas.js +103 -0
  775. package/src/providers/tinyfish/endpoints.d.ts +14 -0
  776. package/src/providers/tinyfish/endpoints.js +1 -0
  777. package/src/providers/tinyfish/executors.d.ts +4 -0
  778. package/src/providers/tinyfish/executors.js +133 -0
  779. package/src/providers/tinyfish/management-actions.d.ts +2 -0
  780. package/src/providers/tinyfish/management-actions.js +524 -0
  781. package/src/providers/tinyfish/monitor-schemas.d.ts +5 -0
  782. package/src/providers/tinyfish/monitor-schemas.js +65 -0
  783. package/src/providers/tinyfish/research-schemas.d.ts +6 -0
  784. package/src/providers/tinyfish/research-schemas.js +71 -0
  785. package/src/providers/totp/runtime.js +4 -5
  786. package/src/providers/trawlingweb/runtime.js +2 -2
  787. package/src/providers/trello/executors.js +5 -2
  788. package/src/providers/trilium/runtime.js +2 -2
  789. package/src/providers/triple_whale/runtime.js +3 -3
  790. package/src/providers/truvera/runtime.js +2 -2
  791. package/src/providers/tuskr/runtime.js +2 -2
  792. package/src/providers/typebot/runtime.js +2 -2
  793. package/src/providers/typeform/executors.d.ts +2 -0
  794. package/src/providers/typeform/executors.js +2 -0
  795. package/src/providers/typeform/runtime.js +2 -2
  796. package/src/providers/typeform/trigger-on-form-response.d.ts +2 -0
  797. package/src/providers/typeform/trigger-on-form-response.definition.d.ts +4 -0
  798. package/src/providers/typeform/trigger-on-form-response.definition.js +40 -0
  799. package/src/providers/typeform/trigger-on-form-response.js +68 -0
  800. package/src/providers/uptimerobot/executors.js +3 -4
  801. package/src/providers/v2ex/runtime.js +8 -9
  802. package/src/providers/valyu/runtime.js +3 -3
  803. package/src/providers/vapi/runtime.js +4 -4
  804. package/src/providers/vaquill/actions.d.ts +13 -0
  805. package/src/providers/vaquill/actions.js +529 -0
  806. package/src/providers/vaquill/executors.d.ts +4 -0
  807. package/src/providers/vaquill/executors.js +141 -0
  808. package/src/providers/vaquill/schemas.d.ts +67 -0
  809. package/src/providers/vaquill/schemas.js +4953 -0
  810. package/src/providers/vectorshift/runtime.js +3 -3
  811. package/src/providers/venafitlsprotectcloud/runtime.js +2 -3
  812. package/src/providers/venafitlsprotectdatacenter/runtime.js +2 -3
  813. package/src/providers/vercel/executors.d.ts +2 -0
  814. package/src/providers/vercel/executors.js +2 -0
  815. package/src/providers/vercel/trigger-on-deployment-event.d.ts +2 -0
  816. package/src/providers/vercel/trigger-on-deployment-event.definition.d.ts +5 -0
  817. package/src/providers/vercel/trigger-on-deployment-event.definition.js +41 -0
  818. package/src/providers/vercel/trigger-on-deployment-event.js +102 -0
  819. package/src/providers/vida/runtime.js +4 -4
  820. package/src/providers/vonage/runtime.js +3 -3
  821. package/src/providers/walmart_marketplace/runtime.js +5 -5
  822. package/src/providers/weatherapi/executors.js +3 -4
  823. package/src/providers/web_of_science/runtime.js +4 -4
  824. package/src/providers/web_of_science_expanded/runtime.js +9 -9
  825. package/src/providers/webex/runtime.js +3 -3
  826. package/src/providers/webinarjam/runtime.js +4 -4
  827. package/src/providers/webscraping_ai/runtime.js +3 -3
  828. package/src/providers/webvizio/runtime.js +3 -4
  829. package/src/providers/wecom_bot/smart-runtime.js +4 -5
  830. package/src/providers/wecom_mcp/runtime.js +3 -4
  831. package/src/providers/weixin_bot/runtime.d.ts +0 -1
  832. package/src/providers/weixin_bot/runtime.js +1 -1
  833. package/src/providers/weixin_store/access-token.d.ts +3 -3
  834. package/src/providers/weixin_store/access-token.js +15 -7
  835. package/src/providers/weixin_store/executors.js +214 -1
  836. package/src/providers/wejam_ai/runtime.js +3 -3
  837. package/src/providers/wolfram_alpha_api/runtime.js +3 -3
  838. package/src/providers/woocommerce/runtime.js +1 -1
  839. package/src/providers/woodpecker_co/executors.js +3 -4
  840. package/src/providers/woot/runtime.js +6 -6
  841. package/src/providers/workable/runtime.js +3 -3
  842. package/src/providers/workday/runtime.js +4 -4
  843. package/src/providers/workiom/runtime.js +2 -2
  844. package/src/providers/workiz/runtime.js +2 -2
  845. package/src/providers/workpath/executors.js +3 -4
  846. package/src/providers/worksnaps/executors.js +2 -2
  847. package/src/providers/y_gy/runtime.js +2 -2
  848. package/src/providers/zenscrape/runtime.js +3 -3
  849. package/src/providers/zep/runtime.js +4 -4
  850. package/src/providers/zeplin/runtime.js +2 -2
  851. package/src/providers/zhihu/executors.js +6 -6
  852. package/src/providers/zoom/executors.d.ts +2 -0
  853. package/src/providers/zoom/executors.js +2 -0
  854. package/src/providers/zoom/trigger-on-recording-ready.d.ts +2 -0
  855. package/src/providers/zoom/trigger-on-recording-ready.definition.d.ts +4 -0
  856. package/src/providers/zoom/trigger-on-recording-ready.definition.js +44 -0
  857. package/src/providers/zoom/trigger-on-recording-ready.js +39 -0
  858. package/src/providers/zylvie/runtime.js +4 -4
  859. package/src/saas/saas-cleanup-service.d.ts +2 -0
  860. package/src/saas/saas-cleanup-service.js +2 -1
  861. package/src/saas/saas-execution-service.d.ts +1 -1
  862. package/src/server/actions/action-runner.js +1 -1
  863. package/src/server/api/action-example.js +12 -1
  864. package/src/server/api/auth.js +3 -0
  865. package/src/server/api/connection-routes.js +1 -1
  866. package/src/server/api/console-catalog-routes.js +1 -1
  867. package/src/server/api/console-oauth-routes.d.ts +3 -1
  868. package/src/server/api/console-oauth-routes.js +22 -9
  869. package/src/server/api/oauth-completion-page.d.ts +57 -0
  870. package/src/server/api/oauth-completion-page.js +135 -10
  871. package/src/server/api/openapi.d.ts +5 -0
  872. package/src/server/api/openapi.js +62 -2
  873. package/src/server/api/pattern-example.js +35 -1
  874. package/src/server/api/runtime-api.d.ts +2 -1
  875. package/src/server/api/runtime-app-routes.js +1 -1
  876. package/src/server/api/runtime-execution-routes.js +2 -1
  877. package/src/server/api/trigger-routes.js +1 -1
  878. package/src/server/connect-app.d.ts +4 -0
  879. package/src/server/connect-app.js +15 -1
  880. package/src/server/connect-server.d.ts +6 -0
  881. package/src/server/connect-server.js +114 -4
  882. package/src/server/connector-runtime.d.ts +6 -8
  883. package/src/server/connector-runtime.js +8 -28
  884. package/src/server/proxy/proxy-runner.js +1 -1
  885. package/src/server/slack-event-verification.d.ts +37 -0
  886. package/src/server/slack-event-verification.js +91 -0
  887. package/src/server/storage/connection-request-store.d.ts +1 -1
  888. package/src/server/storage/connection-store.d.ts +1 -1
  889. package/src/server/storage/postgres/runtime-store.d.ts +1 -1
  890. package/src/server/storage/runtime-database.d.ts +1 -1
  891. package/src/server/storage/saas-project-store.d.ts +1 -1
  892. package/src/triggers/common/integration.d.ts +15 -3
  893. package/src/triggers/common/integration.js +5 -0
  894. package/src/triggers/common/proxy.d.ts +7 -0
  895. package/src/triggers/maintenance.d.ts +2 -0
  896. package/src/triggers/maintenance.js +2 -1
  897. package/src/triggers/managed-webhook.d.ts +13 -0
  898. package/src/triggers/managed-webhook.js +48 -0
  899. package/src/triggers/request.d.ts +5 -1
  900. package/src/triggers/request.js +2 -0
  901. package/src/triggers/resources.d.ts +8 -2
  902. package/src/triggers/resources.js +31 -0
  903. package/src/triggers/signature.d.ts +3 -3
  904. package/src/triggers/signature.js +4 -6
  905. package/src/triggers/sources/configuration-schema.d.ts +5 -0
  906. package/src/triggers/sources/configuration-schema.js +118 -0
  907. package/src/triggers/sources/configuration.d.ts +115 -0
  908. package/src/triggers/sources/configuration.js +1 -0
  909. package/src/triggers/sources/definition.d.ts +61 -0
  910. package/src/triggers/sources/definition.js +3 -0
  911. package/src/triggers/sources/feishu-demands.d.ts +6 -0
  912. package/src/triggers/sources/feishu-demands.js +24 -0
  913. package/src/triggers/sources/feishu-events.d.ts +19 -0
  914. package/src/triggers/sources/feishu-events.js +108 -0
  915. package/src/triggers/sources/feishu.d.ts +3 -0
  916. package/src/triggers/sources/feishu.js +85 -0
  917. package/src/triggers/sources/fireflies.d.ts +3 -0
  918. package/src/triggers/sources/fireflies.js +100 -0
  919. package/src/triggers/sources/intercom.d.ts +3 -0
  920. package/src/triggers/sources/intercom.js +86 -0
  921. package/src/triggers/sources/jira.d.ts +3 -0
  922. package/src/triggers/sources/jira.js +120 -0
  923. package/src/triggers/sources/operation.d.ts +42 -0
  924. package/src/triggers/sources/operation.js +146 -0
  925. package/src/triggers/sources/sentry.d.ts +3 -0
  926. package/src/triggers/sources/sentry.js +125 -0
  927. package/src/triggers/sources/signature.d.ts +1 -0
  928. package/src/triggers/sources/signature.js +10 -0
  929. package/src/triggers/sources/slack-signature.d.ts +10 -0
  930. package/src/triggers/sources/slack-signature.js +13 -0
  931. package/src/triggers/sources/slack.d.ts +3 -0
  932. package/src/triggers/sources/slack.js +125 -0
  933. package/src/triggers/sources/zoom.d.ts +3 -0
  934. package/src/triggers/sources/zoom.js +113 -0
  935. package/src/triggers/trigger-runner.d.ts +2 -0
  936. package/src/triggers/trigger-runner.js +53 -17
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oomol-lab/open-connector",
3
- "version": "1.9.1",
3
+ "version": "1.9.3",
4
4
  "description": "Embeddable Open Connector runtime for Node.js and Bun.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Error with a stable code suitable for HTTP responses.
3
+ */
4
+ export declare class ConnectionError extends Error {
5
+ readonly code: string;
6
+ constructor(code: string, message: string);
7
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Error with a stable code suitable for HTTP responses.
3
+ */
4
+ export class ConnectionError extends Error {
5
+ code;
6
+ constructor(code, message) {
7
+ super(message);
8
+ this.code = code;
9
+ }
10
+ }
@@ -1,4 +1,5 @@
1
1
  import type { CatalogStore } from "./catalog-store.ts";
2
+ import type { IConnectionStore, StoredConnection, StoredSaasConnection, SaasConnectionReference } from "./connection-store.ts";
2
3
  import type { ProviderHttpDispatchOptions } from "./core/provider-http-dispatch.ts";
3
4
  import type { AuthType, CredentialProfile, ResolvedCredential, RuntimeLogger } from "./core/types.ts";
4
5
  import type { MarketplacePricing, MarketplaceService } from "./marketplace/marketplace-service.ts";
@@ -51,34 +52,6 @@ export interface ConnectionServiceOptions {
51
52
  logger?: RuntimeLogger;
52
53
  marketplace?: MarketplaceService;
53
54
  }
54
- export interface SaasConnectionReference {
55
- managedProjectId: string;
56
- providerConfigId: string;
57
- externalUserId: string;
58
- connectedAccountId: string;
59
- localRequestId: string;
60
- }
61
- export interface StoredSaasConnection {
62
- source: "saas";
63
- credential?: never;
64
- id: string;
65
- revision: string;
66
- service: string;
67
- connectionName: string;
68
- reference: SaasConnectionReference;
69
- profile: CredentialProfile;
70
- status: "active" | "reauth_required";
71
- comment: string | null;
72
- }
73
- export type StoredConnection = StoredLocalConnection | StoredSaasConnection;
74
- export interface StoredLocalConnection {
75
- source?: "local";
76
- id: string;
77
- revision: string;
78
- service: string;
79
- connectionName: string;
80
- credential: ResolvedCredential;
81
- }
82
55
  export interface DisconnectOptions {
83
56
  /**
84
57
  * `true` also revokes the OAuth grant at the provider once the credential is
@@ -111,18 +84,6 @@ interface SaasExecutionConnection {
111
84
  summary: ManagedConnectionSummary;
112
85
  reference: SaasConnectionReference;
113
86
  }
114
- /**
115
- * Storage contract for local provider connections.
116
- */
117
- export interface IConnectionStore {
118
- get(service: string, connectionName: string): Promise<StoredConnection | undefined>;
119
- getRetirementGeneration(service: string, connectionName: string): Promise<string>;
120
- setIfCurrentGeneration(service: string, connectionName: string, credential: ResolvedCredential, retirementGeneration: string): Promise<StoredLocalConnection | undefined>;
121
- set(service: string, connectionName: string, credential: ResolvedCredential): Promise<StoredLocalConnection>;
122
- updateCredential(input: StoredLocalConnection, refresh?: boolean): Promise<boolean>;
123
- delete(service: string, connectionName: string): Promise<void>;
124
- list(): Promise<StoredConnection[]>;
125
- }
126
87
  type OAuthCredential = Extract<ResolvedCredential, {
127
88
  authType: "oauth2";
128
89
  }>;
@@ -135,7 +96,7 @@ type OAuthCredential = Extract<ResolvedCredential, {
135
96
  export declare class ConnectionService {
136
97
  private readonly providerHttpDispatch?;
137
98
  private readonly catalog;
138
- private readonly oauthCredentialRefreshes;
99
+ private readonly credentials;
139
100
  private readonly oauthCredentials?;
140
101
  private readonly providerLoader;
141
102
  private readonly store;
@@ -208,8 +169,6 @@ export declare class ConnectionService {
208
169
  private validateCustomCredential;
209
170
  private validateOAuthCredential;
210
171
  private createValidatorOptions;
211
- private resolveOAuthCredential;
212
- private refreshOAuthCredential;
213
172
  private runCredentialValidator;
214
173
  private assertNotCancelled;
215
174
  private buildCredentialRuntimeData;
@@ -220,11 +179,4 @@ export declare class ConnectionService {
220
179
  private createDefaultDisplayName;
221
180
  }
222
181
  export declare function normalizeConnectionName(value: string | undefined): string;
223
- /**
224
- * Error with a stable code suitable for HTTP responses.
225
- */
226
- export declare class ConnectionError extends Error {
227
- readonly code: string;
228
- constructor(code: string, message: string);
229
- }
230
182
  export {};
@@ -1,32 +1,10 @@
1
+ import { ConnectionError } from "./connection-error.js";
1
2
  import { normalizeCredentialValues } from "./core/credential-fields.js";
2
3
  import { apiKeyCredentialFields } from "./core/provider-setup.js";
4
+ import { CredentialResolver, isOAuthCredentialExpired } from "./credential-resolver.js";
3
5
  import { providerFetch, ProviderDispatchRequestError, withProviderHttpDispatchResult, } from "./providers/provider-runtime.js";
4
6
  export const defaultConnectionName = "default";
5
7
  const connectionNamePattern = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/;
6
- const OAUTH_REFRESH_PERSIST_ATTEMPTS = 3;
7
- /**
8
- * Lays a refresh result onto the connection's current credential. A refresh owns the token
9
- * fields and the metadata keys it changed; everything else on `current` belongs to whoever
10
- * bumped the revision and is kept.
11
- */
12
- function mergeRefreshedOAuthCredential(current, spent, refreshed) {
13
- const metadata = { ...current.metadata };
14
- for (const [key, value] of Object.entries(refreshed.metadata)) {
15
- if (JSON.stringify(value) !== JSON.stringify(spent.metadata[key]))
16
- metadata[key] = value;
17
- }
18
- // A successful refresh proves the authorization is live, so a concurrent refusal's mark is stale.
19
- delete metadata.oauthReauthRequired;
20
- return {
21
- ...current,
22
- accessToken: refreshed.accessToken,
23
- tokenType: refreshed.tokenType,
24
- expiresAt: refreshed.expiresAt,
25
- refreshToken: refreshed.refreshToken,
26
- providerSecret: refreshed.providerSecret,
27
- metadata,
28
- };
29
- }
30
8
  /**
31
9
  * Coordinates local provider connection state.
32
10
  *
@@ -36,7 +14,7 @@ function mergeRefreshedOAuthCredential(current, spent, refreshed) {
36
14
  export class ConnectionService {
37
15
  providerHttpDispatch;
38
16
  catalog;
39
- oauthCredentialRefreshes = new Map();
17
+ credentials;
40
18
  oauthCredentials;
41
19
  providerLoader;
42
20
  store;
@@ -48,6 +26,7 @@ export class ConnectionService {
48
26
  this.oauthCredentials = input.oauthCredentials;
49
27
  this.providerLoader = input.providerLoader;
50
28
  this.store = input.store;
29
+ this.credentials = new CredentialResolver(input);
51
30
  this.logger = input.logger;
52
31
  this.marketplace = input.marketplace;
53
32
  }
@@ -138,10 +117,7 @@ export class ConnectionService {
138
117
  }
139
118
  if (stored?.source === "saas")
140
119
  return { kind: "saas", summary: this.createManagedConnectionSummary(stored), reference: stored.reference };
141
- let credential = stored?.credential;
142
- if (stored?.credential.authType === "oauth2") {
143
- credential = await this.resolveOAuthCredential(stored, stored.credential);
144
- }
120
+ let credential = stored ? await this.credentials.resolve(stored) : undefined;
145
121
  credential ??= this.supportsAuth(provider, "no_auth") ? { authType: "no_auth" } : undefined;
146
122
  const summary = stored
147
123
  ? this.createConfiguredConnectionSummary(provider, stored.id, name, credential)
@@ -161,9 +137,7 @@ export class ConnectionService {
161
137
  if (stored?.source === "saas")
162
138
  throw new ConnectionError("unsupported_auth_type", "SaaS credentials are not available locally.");
163
139
  if (stored) {
164
- return stored.credential.authType === "oauth2"
165
- ? await this.resolveOAuthCredential(stored, stored.credential)
166
- : stored.credential;
140
+ return this.credentials.resolve(stored);
167
141
  }
168
142
  if (connectionName && !this.supportsAuth(provider, "no_auth")) {
169
143
  throw new ConnectionError("connection_not_found", `${service} connection not found: ${name}.`);
@@ -514,87 +488,6 @@ export class ConnectionService {
514
488
  signal,
515
489
  };
516
490
  }
517
- async resolveOAuthCredential(connection, credential) {
518
- const service = connection.service;
519
- if (credential.metadata.oauthReauthRequired === true) {
520
- throw new ConnectionError("oauth_reauth_required", `OAuth authorization is no longer valid. Reconnect ${service}.`);
521
- }
522
- if (!isOAuthCredentialExpired(credential)) {
523
- return credential;
524
- }
525
- if (!credential.refreshToken) {
526
- throw new ConnectionError("oauth_token_expired", `${service} OAuth access token expired and no refresh token is available. Reconnect ${service}.`);
527
- }
528
- if (!this.oauthCredentials) {
529
- throw new ConnectionError("oauth_refresh_unavailable", `${service} OAuth access token expired and this runtime cannot refresh it.`);
530
- }
531
- // Single-flight on the refresh token being spent, not the row revision: a single-use
532
- // (rotating) refresh token must reach the provider once even when an unrelated write
533
- // bumps the revision mid-refresh. A new authorization must refresh independently,
534
- // even when the provider reuses the same refresh token across reconnects.
535
- const refreshKey = JSON.stringify([
536
- connection.id,
537
- credential.refreshToken,
538
- credential.metadata.oauthAuthorizationId,
539
- ]);
540
- const currentRefresh = this.oauthCredentialRefreshes.get(refreshKey);
541
- if (currentRefresh) {
542
- return currentRefresh;
543
- }
544
- const refresh = this.refreshOAuthCredential(connection, credential, this.oauthCredentials);
545
- this.oauthCredentialRefreshes.set(refreshKey, refresh);
546
- try {
547
- return await refresh;
548
- }
549
- finally {
550
- if (this.oauthCredentialRefreshes.get(refreshKey) === refresh) {
551
- this.oauthCredentialRefreshes.delete(refreshKey);
552
- }
553
- }
554
- }
555
- async refreshOAuthCredential(connection, credential, refresher) {
556
- const { id, revision, service, connectionName } = connection;
557
- let nextCredential;
558
- try {
559
- nextCredential = await withProviderHttpDispatchResult({ operation: "oauth", service, connectionId: id, connectionName }, () => refresher.refresh(service, credential), this.providerHttpDispatch);
560
- }
561
- catch (error) {
562
- if (error instanceof ConnectionError && error.code === "oauth_reauth_required") {
563
- // The revision fence prevents a late refusal from marking a replacement authorization as expired.
564
- await this.store.updateCredential({
565
- id,
566
- revision,
567
- service,
568
- connectionName,
569
- credential: { ...credential, metadata: { ...credential.metadata, oauthReauthRequired: true } },
570
- }, true);
571
- }
572
- throw error;
573
- }
574
- // The provider has now spent the old refresh token. With rotating single-use refresh
575
- // tokens, discarding `nextCredential` loses the connection for good, so a lost
576
- // revision race re-reads the row and lands the refreshed token fields on the latest
577
- // revision, as long as that row still holds the credential this refresh spent.
578
- let target = { ...connection, source: "local", credential: nextCredential };
579
- for (let attempt = 0; attempt < OAUTH_REFRESH_PERSIST_ATTEMPTS; attempt++) {
580
- if (await this.store.updateCredential(target, true))
581
- return target.credential;
582
- const current = await this.store.get(service, connectionName);
583
- if (current?.source === "saas" ||
584
- current?.id !== id ||
585
- current.credential.authType !== "oauth2" ||
586
- current.credential.refreshToken !== credential.refreshToken ||
587
- current.credential.metadata.oauthAuthorizationId !== credential.metadata.oauthAuthorizationId) {
588
- // Deleted, converted, reconnected, or already rotated elsewhere: never overwrite it.
589
- break;
590
- }
591
- target = {
592
- ...current,
593
- credential: mergeRefreshedOAuthCredential(current.credential, credential, nextCredential),
594
- };
595
- }
596
- throw new ConnectionError("connection_not_found", `${service} connection changed while its OAuth credential was refreshing. Retry the action.`);
597
- }
598
491
  async runCredentialValidator(service, validate, signal) {
599
492
  this.assertNotCancelled(signal);
600
493
  try {
@@ -686,13 +579,6 @@ export class ConnectionService {
686
579
  return `${provider.displayName} ${authType === "api_key" ? "API Key" : "Credential"}`;
687
580
  }
688
581
  }
689
- function isOAuthCredentialExpired(credential) {
690
- if (!credential.expiresAt) {
691
- return false;
692
- }
693
- const expiresAt = Date.parse(credential.expiresAt);
694
- return Number.isFinite(expiresAt) && expiresAt <= Date.now() + 60_000;
695
- }
696
582
  export function normalizeConnectionName(value) {
697
583
  const name = value?.trim() || defaultConnectionName;
698
584
  if (!connectionNamePattern.test(name)) {
@@ -710,16 +596,6 @@ function readLegacyString(metadata, key) {
710
596
  const value = metadata?.[key];
711
597
  return typeof value === "string" && value.trim() ? value.trim() : undefined;
712
598
  }
713
- /**
714
- * Error with a stable code suitable for HTTP responses.
715
- */
716
- export class ConnectionError extends Error {
717
- code;
718
- constructor(code, message) {
719
- super(message);
720
- this.code = code;
721
- }
722
- }
723
599
  function describeError(error) {
724
600
  return error instanceof Error ? error.message : String(error);
725
601
  }
@@ -0,0 +1,41 @@
1
+ import type { CredentialProfile, ResolvedCredential } from "./core/types.ts";
2
+ export interface SaasConnectionReference {
3
+ managedProjectId: string;
4
+ providerConfigId: string;
5
+ externalUserId: string;
6
+ connectedAccountId: string;
7
+ localRequestId: string;
8
+ }
9
+ export interface StoredSaasConnection {
10
+ source: "saas";
11
+ credential?: never;
12
+ id: string;
13
+ revision: string;
14
+ service: string;
15
+ connectionName: string;
16
+ reference: SaasConnectionReference;
17
+ profile: CredentialProfile;
18
+ status: "active" | "reauth_required";
19
+ comment: string | null;
20
+ }
21
+ export type StoredConnection = StoredLocalConnection | StoredSaasConnection;
22
+ export interface StoredLocalConnection {
23
+ source?: "local";
24
+ id: string;
25
+ revision: string;
26
+ service: string;
27
+ connectionName: string;
28
+ credential: ResolvedCredential;
29
+ }
30
+ /**
31
+ * Storage contract for local and SaaS provider connections.
32
+ */
33
+ export interface IConnectionStore {
34
+ get(service: string, connectionName: string): Promise<StoredConnection | undefined>;
35
+ getRetirementGeneration(service: string, connectionName: string): Promise<string>;
36
+ setIfCurrentGeneration(service: string, connectionName: string, credential: ResolvedCredential, retirementGeneration: string): Promise<StoredLocalConnection | undefined>;
37
+ set(service: string, connectionName: string, credential: ResolvedCredential): Promise<StoredLocalConnection>;
38
+ updateCredential(input: StoredLocalConnection, refresh?: boolean): Promise<boolean>;
39
+ delete(service: string, connectionName: string): Promise<void>;
40
+ list(): Promise<StoredConnection[]>;
41
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,5 @@
1
1
  import type { GuardedHttpDispatcher } from "./provider-http-dispatch.ts";
2
+ import type { ProviderNetworkPolicy } from "./provider-network-policy.ts";
2
3
  /**
3
4
  * Single resolved address returned by a DNS lookup, mirroring the shape of
4
5
  * `node:dns` `lookup(hostname, { all: true })` entries.
@@ -13,6 +14,8 @@ export interface ResolvedAddress {
13
14
  */
14
15
  export type GuardedFetchDnsLookup = (hostname: string) => Promise<ResolvedAddress[]>;
15
16
  export interface GuardedFetchOptions {
17
+ /** Bind runtime policy; private targets still require the transport's allowPrivateNetwork opt-in. */
18
+ network?: ProviderNetworkPolicy;
16
19
  /** Optional dispatcher at the screened raw-transport seam; every redirect hop passes through it. */
17
20
  dispatchAttempt?: GuardedHttpDispatcher;
18
21
  /**
@@ -1,3 +1,4 @@
1
+ import { withProviderNetworkPolicy } from "./provider-network-policy.js";
1
2
  import { assertPublicHttpUrl, classifyIpAddress, isEgressTrustedHost, isIpAddress, isIpv4Address } from "./request.js";
2
3
  // Match the platform default for `redirect: "follow"` (undici/browsers follow up
3
4
  // to 20 hops) so wrapping the transport does not fail legitimate long redirect
@@ -77,6 +78,8 @@ export const crossOriginSafeHeaders = new Set([
77
78
  const bodyHeaders = ["content-encoding", "content-language", "content-length", "content-location", "content-type"];
78
79
  /** Base transport behind each guarded fetch (undefined = global fetch) so re-wrapping never stacks guards. */
79
80
  const guardedFetchBases = new WeakMap();
81
+ /** Preserve an explicitly bound runtime policy when a provider rewraps its transport. */
82
+ const guardedFetchPolicies = new WeakMap();
80
83
  /** Retain admission when a caller replaces the egress policy without stacking guards. */
81
84
  const guardedFetchDispatchers = new WeakMap();
82
85
  let defaultLookupOverridden = false;
@@ -136,10 +139,11 @@ export function unwrapGuardedFetch(fetcher) {
136
139
  */
137
140
  export function createGuardedFetch(options = {}) {
138
141
  const baseFetch = unwrapGuardedFetch(options.fetch);
142
+ const network = options.network ?? (options.fetch && guardedFetchPolicies.get(options.fetch));
139
143
  const dispatchAttempt = options.dispatchAttempt ?? (options.fetch && guardedFetchDispatchers.get(options.fetch));
140
144
  const createError = options.createError ?? ((message) => new TypeError(message));
141
145
  const maxRedirects = options.maxRedirects ?? defaultMaxRedirects;
142
- const guardedFetch = (async (input, init) => {
146
+ const performFetch = (async (input, init) => {
143
147
  const transport = baseFetch ?? globalThis.fetch;
144
148
  const requestId = dispatchAttempt ? crypto.randomUUID() : "";
145
149
  let redirectHop = 0;
@@ -251,6 +255,9 @@ export function createGuardedFetch(options = {}) {
251
255
  url = guardedNext;
252
256
  }
253
257
  });
258
+ const guardedFetch = (network ? (input, init) => withProviderNetworkPolicy(network, () => performFetch(input, init)) : performFetch);
259
+ if (network)
260
+ guardedFetchPolicies.set(guardedFetch, network);
254
261
  guardedFetchBases.set(guardedFetch, baseFetch);
255
262
  guardedFetchDispatchers.set(guardedFetch, dispatchAttempt);
256
263
  return guardedFetch;
@@ -6,12 +6,19 @@ export type JsonSchemaOptions = {
6
6
  description?: string;
7
7
  default?: unknown;
8
8
  format?: string;
9
+ not?: JsonSchema;
9
10
  };
10
11
  type ObjectOptions = JsonSchemaOptions & {
11
12
  required?: string[];
12
13
  optional?: readonly string[];
13
14
  additionalProperties?: boolean | JsonSchema;
14
15
  defs?: Record<string, JsonSchema>;
16
+ minProperties?: number;
17
+ maxProperties?: number;
18
+ propertyNames?: JsonSchema;
19
+ allOf?: JsonSchema[];
20
+ anyOf?: JsonSchema[];
21
+ oneOf?: JsonSchema[];
15
22
  };
16
23
  type ArrayOptions = JsonSchemaOptions & {
17
24
  minItems?: number;
@@ -28,6 +35,7 @@ type NumberOptions = JsonSchemaOptions & {
28
35
  minimum?: number;
29
36
  maximum?: number;
30
37
  exclusiveMinimum?: number;
38
+ multipleOf?: number;
31
39
  };
32
40
  /**
33
41
  * JSON Schema helpers for provider action contracts.
@@ -48,7 +56,7 @@ export declare const jsonSchema: {
48
56
  unknown(description: string): JsonSchema;
49
57
  url(description: string): JsonSchema;
50
58
  email(description: string, options?: Omit<StringOptions, "description" | "format">): JsonSchema;
51
- nullableString(description: string, options?: Omit<JsonSchemaOptions, "description">): JsonSchema;
59
+ nullableString(description: string, options?: Omit<StringOptions, "description">): JsonSchema;
52
60
  nullableInteger(description: string, options?: Omit<NumberOptions, "description">): JsonSchema;
53
61
  nullableNumber(description: string, options?: Omit<NumberOptions, "description">): JsonSchema;
54
62
  nullableBoolean(description: string, options?: Omit<JsonSchemaOptions, "description">): JsonSchema;
@@ -56,13 +64,13 @@ export declare const jsonSchema: {
56
64
  date(description: string, options?: Omit<StringOptions, "description" | "format">): JsonSchema;
57
65
  uuid(description: string): JsonSchema;
58
66
  stringPattern(pattern: string, options?: JsonSchemaOptions): JsonSchema;
59
- stringEnum(valuesOrDescription: readonly string[] | string, optionsOrValues?: JsonSchemaOptions | readonly string[]): JsonSchema;
67
+ stringEnum(valuesOrDescription: readonly string[] | string, optionsOrValues?: JsonSchemaOptions | readonly string[], maybeOptions?: JsonSchemaOptions): JsonSchema;
60
68
  integer(optionsOrDescription?: NumberOptions | string, maybeOptions?: Omit<NumberOptions, "description">): JsonSchema;
61
69
  positiveInteger(description: string, options?: Omit<NumberOptions, "description" | "minimum">): JsonSchema;
62
70
  nonNegativeInteger(description: string, options?: Omit<NumberOptions, "description" | "minimum">): JsonSchema;
63
71
  number(optionsOrDescription?: NumberOptions | string, maybeOptions?: Omit<NumberOptions, "description">): JsonSchema;
64
72
  boolean(optionsOrDescription?: JsonSchemaOptions | string): JsonSchema;
65
- literal(value: string | number | boolean, options?: JsonSchemaOptions): JsonSchema;
73
+ literal(value: string | number | boolean | null, options?: JsonSchemaOptions): JsonSchema;
66
74
  optional(schema: JsonSchema): JsonSchema;
67
75
  describe(schema: JsonSchema, description: string): JsonSchema;
68
76
  withDefault(schema: JsonSchema, defaultValue: unknown): JsonSchema;
@@ -28,6 +28,10 @@ export const jsonSchema = {
28
28
  schema.required = required;
29
29
  if (options.defs)
30
30
  schema.$defs = options.defs;
31
+ for (const key of ["minProperties", "maxProperties", "propertyNames", "allOf", "anyOf", "oneOf"]) {
32
+ if (options[key] !== undefined)
33
+ schema[key] = options[key];
34
+ }
31
35
  return withOptions(schema, options);
32
36
  },
33
37
  requiredObject(description, properties) {
@@ -110,10 +114,10 @@ export const jsonSchema = {
110
114
  stringPattern(pattern, options = {}) {
111
115
  return withOptions({ type: "string", pattern }, options);
112
116
  },
113
- stringEnum(valuesOrDescription, optionsOrValues = {}) {
117
+ stringEnum(valuesOrDescription, optionsOrValues = {}, maybeOptions = {}) {
114
118
  const values = typeof valuesOrDescription === "string" ? optionsOrValues : valuesOrDescription;
115
119
  const options = typeof valuesOrDescription === "string"
116
- ? { description: valuesOrDescription }
120
+ ? { ...maybeOptions, description: valuesOrDescription }
117
121
  : optionsOrValues;
118
122
  return withOptions({ type: "string", enum: values }, options);
119
123
  },
@@ -128,6 +132,8 @@ export const jsonSchema = {
128
132
  schema.maximum = options.maximum;
129
133
  if (options.exclusiveMinimum != null)
130
134
  schema.exclusiveMinimum = options.exclusiveMinimum;
135
+ if (options.multipleOf != null)
136
+ schema.multipleOf = options.multipleOf;
131
137
  return withOptions(schema, options);
132
138
  },
133
139
  positiveInteger(description, options = {}) {
@@ -147,6 +153,8 @@ export const jsonSchema = {
147
153
  schema.maximum = options.maximum;
148
154
  if (options.exclusiveMinimum != null)
149
155
  schema.exclusiveMinimum = options.exclusiveMinimum;
156
+ if (options.multipleOf != null)
157
+ schema.multipleOf = options.multipleOf;
150
158
  return withOptions(schema, options);
151
159
  },
152
160
  boolean(optionsOrDescription = {}) {
@@ -154,7 +162,7 @@ export const jsonSchema = {
154
162
  return withOptions({ type: "boolean" }, options);
155
163
  },
156
164
  literal(value, options = {}) {
157
- return withOptions({ const: value, type: typeof value }, options);
165
+ return withOptions({ const: value, type: value === null ? "null" : typeof value }, options);
158
166
  },
159
167
  optional(schema) {
160
168
  const optionalSchema = { ...schema };
@@ -313,5 +321,7 @@ function withOptions(schema, options) {
313
321
  schema.default = options.default;
314
322
  if (options.format)
315
323
  schema.format = options.format;
324
+ if (options.not !== undefined)
325
+ schema.not = options.not;
316
326
  return schema;
317
327
  }
@@ -0,0 +1,15 @@
1
+ /** Runtime-owned egress permissions; never populate them from provider input. */
2
+ export interface ProviderNetworkPolicy {
3
+ /**
4
+ * Runtime permission read by isPrivateNetworkAccessAllowed(). Binding this policy
5
+ * alone does not relax fetch targets: the provider must also opt in through its
6
+ * transport's allowPrivateNetwork callback. Reserved targets stay blocked.
7
+ */
8
+ readonly allowPrivateNetwork?: boolean;
9
+ /** Hosts whose DNS answers may use private or VPN-mapped ranges. */
10
+ readonly trustedHosts?: readonly string[];
11
+ }
12
+ /** The active runtime's policy, or public-only access outside a runtime. */
13
+ export declare function getProviderNetworkPolicy(): ProviderNetworkPolicy;
14
+ /** Bind policy to asynchronous work, including provider callbacks and non-HTTP transports. */
15
+ export declare function withProviderNetworkPolicy<T>(policy: ProviderNetworkPolicy, work: () => T): T;
@@ -0,0 +1,11 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ const scopes = new AsyncLocalStorage();
3
+ const publicNetworkPolicy = Object.freeze({});
4
+ /** The active runtime's policy, or public-only access outside a runtime. */
5
+ export function getProviderNetworkPolicy() {
6
+ return scopes.getStore() ?? publicNetworkPolicy;
7
+ }
8
+ /** Bind policy to asynchronous work, including provider callbacks and non-HTTP transports. */
9
+ export function withProviderNetworkPolicy(policy, work) {
10
+ return scopes.run(policy, work);
11
+ }
@@ -65,25 +65,29 @@ export interface PublicHttpUrlOptions {
65
65
  /** Allow RFC 1918, shared-address-space, and private hostname targets while retaining reserved-target guards. */
66
66
  allowPrivateNetwork?: boolean;
67
67
  }
68
- /** Configure whether opted-in providers may target private networks (called once at deployment bootstrap). */
69
- export declare function setPrivateNetworkAccessAllowed(allowed: boolean): void;
70
- /** Whether the current deployment allows opted-in providers to target private networks. */
68
+ /**
69
+ * Read the active asynchronous runtime context’s private-network permission.
70
+ * Self-hosted providers opt into this permission through their URL and transport guards.
71
+ *
72
+ * Off by default so a shared/multi-tenant runtime keeps a public-only SSRF guard
73
+ * and a tenant cannot turn a self-hosted connection into an SSRF pivot into the
74
+ * operator's internal network. Single-tenant, self-hosted operators enable it
75
+ * through the `OOMOL_CONNECT_ALLOW_PRIVATE_NETWORK` environment variable.
76
+ *
77
+ * Even when enabled, reserved, loopback, link-local, cloud-metadata, multicast,
78
+ * and IPv6 targets remain blocked by {@link assertPublicHttpUrl}.
79
+ */
71
80
  export declare function isPrivateNetworkAccessAllowed(): boolean;
72
81
  /** Parse the `OOMOL_CONNECT_ALLOW_PRIVATE_NETWORK` flag; only explicit truthy values enable it. */
73
82
  export declare function parsePrivateNetworkAccessFlag(value: string | undefined): boolean;
74
83
  /**
75
- * Configure the hosts that may resolve through private or VPN-mapped ranges
76
- * (called once at deployment bootstrap).
77
- */
78
- export declare function setEgressTrustedHosts(hosts: readonly string[]): void;
79
- /**
80
- * Whether `hostname` may resolve through private or VPN-mapped ranges.
84
+ * Whether the active runtime trusts this hostname's private or VPN-mapped DNS answers.
85
+ * No hosts are trusted outside a configured runtime context.
81
86
  *
82
- * An entry starting with `.` matches that domain and its subdomains
83
- * (`.feishu.cn` covers `feishu.cn` and `open.feishu.cn`); any other entry must
84
- * match the host exactly. Only affects addresses a hostname resolves to — a URL
85
- * whose host is already a literal private or reserved IP is rejected earlier by
86
- * {@link assertPublicHttpUrl} and this list does not reach it.
87
+ * An entry starting with `.` matches the domain and its subdomains; other entries
88
+ * match exactly. The exception applies only to DNS answers, not literal IP URLs.
89
+ * It supports corporate VPNs that map public domains into private or benchmark
90
+ * ranges. Loopback, link-local, cloud-metadata and other unsafe addresses remain blocked.
87
91
  */
88
92
  export declare function isEgressTrustedHost(hostname: string): boolean;
89
93
  /**