@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
@@ -4,6 +4,7 @@ import { ActionPolicyService } from "../core/action-policy.js";
4
4
  import { createActionSearchIndexProvider } from "../core/action-search.js";
5
5
  import { optionalRecord } from "../core/cast.js";
6
6
  import { withProviderHttpDispatch } from "../core/provider-http-dispatch.js";
7
+ import { withProviderNetworkPolicy } from "../core/provider-network-policy.js";
7
8
  import { ProviderDispatchRequestError, toProviderExecutionError } from "../providers/provider-runtime.js";
8
9
  import { SaasError } from "../saas/saas-client.js";
9
10
  import { ActionRunner } from "./actions/action-runner.js";
@@ -28,6 +29,7 @@ import { createSaasProjectRoutes } from "./api/saas-project-routes.js";
28
29
  import { createTransitFileRoutes } from "./api/transit-file-routes.js";
29
30
  import { createTriggerRoutes } from "./api/trigger-routes.js";
30
31
  import { ProxyRunner } from "./proxy/proxy-runner.js";
32
+ import { readSlackEventRequestBody, verifySlackEventRequest } from "./slack-event-verification.js";
31
33
  /**
32
34
  * Import and evaluate the modules the /mcp and /docs routes defer to their first request. The Node server never
33
35
  * calls this, so its startup graph stays small; Cloudflare Workers call it at app creation so an isolate keeps
@@ -68,7 +70,7 @@ export class ConnectServer {
68
70
  const app = new Hono();
69
71
  const auth = this.options.auth ?? {};
70
72
  app.use("*", async (_context, next) => {
71
- await withProviderHttpDispatch({ operation: "runtime" }, next, this.options.providerHttpDispatch);
73
+ await withProviderNetworkPolicy(this.options.network ?? {}, () => withProviderHttpDispatch({ operation: "runtime" }, next, this.options.providerHttpDispatch));
72
74
  });
73
75
  app.use("*", async (context, next) => {
74
76
  await next();
@@ -92,6 +94,84 @@ export class ConnectServer {
92
94
  app.use("/api/*", compress());
93
95
  }
94
96
  app.use("*", createLocalAuthMiddleware(auth));
97
+ // Inbound provider event verification. This route authenticates with a dedicated token
98
+ // so a host ingress can delegate signature verification without receiving the admin token.
99
+ app.post("/v1/providers/slackbot/events/verify", async (context) => {
100
+ const expected = this.options.eventVerifyToken?.trim();
101
+ if (!expected)
102
+ return writeRuntimeFailure(context, {
103
+ status: 404,
104
+ errorCode: "event_verification_disabled",
105
+ message: "Event verification is disabled.",
106
+ });
107
+ const authorization = context.req.header("authorization") ?? "";
108
+ const provided = authorization.startsWith("Bearer ") ? authorization.slice(7).trim() : "";
109
+ if (!(await sameSecret(provided, expected)))
110
+ return writeRuntimeFailure(context, {
111
+ status: 401,
112
+ errorCode: "unauthorized",
113
+ message: "A valid event verification token is required.",
114
+ });
115
+ const config = await this.options.oauthClientConfigs.getConfig("slackbot");
116
+ const appId = String(config?.extra?.appId ?? "").trim();
117
+ const signingSecret = String(config?.secretExtra?.signingSecret ?? "").trim();
118
+ if (!appId || !signingSecret)
119
+ return writeRuntimeFailure(context, {
120
+ status: 409,
121
+ errorCode: "event_verification_not_configured",
122
+ message: "Configure the default Slack App ID and Signing Secret.",
123
+ });
124
+ const rawBody = await readSlackEventRequestBody(context.req.raw);
125
+ if (!rawBody)
126
+ return writeRuntimeFailure(context, {
127
+ status: 413,
128
+ errorCode: "webhook_request_too_large",
129
+ message: "Slack request body exceeds 64 KiB.",
130
+ });
131
+ const result = await verifySlackEventRequest({
132
+ timestamp: context.req.header("x-slack-request-timestamp") ?? "",
133
+ signature: context.req.header("x-slack-signature") ?? "",
134
+ rawBody,
135
+ configuredAppId: appId,
136
+ signingSecret,
137
+ contentType: context.req.header("content-type") ?? "",
138
+ });
139
+ if (!result.valid) {
140
+ switch (result.reason) {
141
+ case "body_too_large":
142
+ return writeRuntimeFailure(context, {
143
+ status: 413,
144
+ errorCode: "webhook_request_too_large",
145
+ message: "Slack request body exceeds 64 KiB.",
146
+ });
147
+ case "payload":
148
+ return writeRuntimeFailure(context, {
149
+ status: 400,
150
+ errorCode: "invalid_event_payload",
151
+ message: "Invalid Slack event envelope.",
152
+ });
153
+ case "app":
154
+ return writeRuntimeFailure(context, {
155
+ status: 403,
156
+ errorCode: "webhook_app_mismatch",
157
+ message: "Slack App ID does not match the configured application.",
158
+ });
159
+ case "timestamp":
160
+ return writeRuntimeFailure(context, {
161
+ status: 401,
162
+ errorCode: "invalid_webhook_timestamp",
163
+ message: "Invalid or expired Slack request timestamp.",
164
+ });
165
+ case "signature":
166
+ return writeRuntimeFailure(context, {
167
+ status: 401,
168
+ errorCode: "invalid_webhook_signature",
169
+ message: "Invalid Slack request signature.",
170
+ });
171
+ }
172
+ }
173
+ return writeRuntimeSuccess(context, result);
174
+ });
95
175
  // Health and runtime discovery / execution endpoints
96
176
  app.get("/v1/health", (context) => writeRuntimeSuccess(context, { ok: true, runtime: "oomol-connect" }));
97
177
  app.route("/v1", createRuntimeCatalogRoutes({
@@ -162,7 +242,10 @@ export class ConnectServer {
162
242
  app.route("/api", createSaasProjectRoutes({ saasProject: saas }));
163
243
  }
164
244
  if (saas && this.options.saasOAuth) {
165
- app.route("/", createSaasOAuthRoutes({ saasProject: saas, saasOAuth: this.options.saasOAuth }));
245
+ app.route("/", createSaasOAuthRoutes({
246
+ saasProject: saas,
247
+ saasOAuth: this.options.saasOAuth,
248
+ }));
166
249
  }
167
250
  app.route("/", createConsoleOAuthRoutes({
168
251
  connections: this.options.connections,
@@ -171,6 +254,7 @@ export class ConnectServer {
171
254
  saasProject: this.options.saasProject,
172
255
  logger: this.options.logger,
173
256
  oauthCloseDelaySeconds: this.options.oauthCloseDelaySeconds,
257
+ oauthResultOrigins: this.options.oauthResultOrigins,
174
258
  }));
175
259
  // Without a console the API owns every unknown path; a console host layers its fallback over these 404s.
176
260
  if (this.options.registerStaticRoutes)
@@ -202,8 +286,18 @@ export class ConnectServer {
202
286
  if (error.retryAfter)
203
287
  context.header("Retry-After", error.retryAfter);
204
288
  if (context.req.path.startsWith("/v1/"))
205
- return writeRuntimeFailure(context, { status: error.status, errorCode: error.code, message: error.message });
206
- return context.json({ error: { code: error.code, message: error.message, reason: error.reason } }, error.status);
289
+ return writeRuntimeFailure(context, {
290
+ status: error.status,
291
+ errorCode: error.code,
292
+ message: error.message,
293
+ });
294
+ return context.json({
295
+ error: {
296
+ code: error.code,
297
+ message: error.message,
298
+ reason: error.reason,
299
+ },
300
+ }, error.status);
207
301
  }
208
302
  if (error instanceof HttpRequestError) {
209
303
  if (context.req.path.startsWith("/v1/")) {
@@ -232,3 +326,19 @@ export class ConnectServer {
232
326
  return app;
233
327
  }
234
328
  }
329
+ /** Hash both values before a constant-time comparison so length never leaks. */
330
+ async function sameSecret(provided, expected) {
331
+ if (!provided || !expected)
332
+ return false;
333
+ const encoder = new TextEncoder();
334
+ const [left, right] = await Promise.all([
335
+ crypto.subtle.digest("SHA-256", encoder.encode(provided)),
336
+ crypto.subtle.digest("SHA-256", encoder.encode(expected)),
337
+ ]);
338
+ const a = new Uint8Array(left);
339
+ const b = new Uint8Array(right);
340
+ let difference = 0;
341
+ for (let index = 0; index < a.length; index += 1)
342
+ difference |= a[index] ^ b[index];
343
+ return difference === 0;
344
+ }
@@ -1,5 +1,6 @@
1
1
  import type { ActionPolicyConfig } from "../core/action-policy.ts";
2
2
  import type { ProviderHttpDispatchOptions } from "../core/provider-http-dispatch.ts";
3
+ import type { ProviderNetworkPolicy } from "../core/provider-network-policy.ts";
3
4
  import type { RuntimeLogger } from "../core/types.ts";
4
5
  import type { RuntimeJwtConfig } from "./api/runtime-jwt.ts";
5
6
  import type { S3TransitClientOptions } from "./files/s3-transit-files.ts";
@@ -20,13 +21,6 @@ export interface ConnectorPostgresOptions {
20
21
  /** Time allowed to establish one connection. */
21
22
  connectionTimeoutMs?: number;
22
23
  }
23
- /** Provider egress policy. It is process-wide, which is why one runtime may be active per process. */
24
- export interface ConnectorNetworkOptions {
25
- /** Let self-hosted providers reach instance hosts on private networks; loopback, link-local and cloud metadata stay blocked. */
26
- allowPrivateNetwork?: boolean;
27
- /** Hosts exempt from resolved-address validation, for domains a corporate VPN resolves to placeholder addresses. */
28
- trustedHosts?: readonly string[];
29
- }
30
24
  export interface ConnectorS3Options extends S3TransitClientOptions {
31
25
  bucket: string;
32
26
  }
@@ -53,10 +47,12 @@ export interface ConnectorRuntimeOptions {
53
47
  adminToken?: string;
54
48
  /** Static bearer token for the /v1 and /mcp execution API. JWT verification and console-issued tokens are the alternatives. */
55
49
  runtimeToken?: string;
50
+ /** Dedicated bearer token for inbound provider event verification. Kept separate from the admin token. */
51
+ eventVerifyToken?: string;
56
52
  /** Verify /v1 bearer tokens as JWTs against a JWKS endpoint. */
57
53
  jwt?: RuntimeJwtConfig;
58
54
  postgres?: ConnectorPostgresOptions;
59
- network?: ConnectorNetworkOptions;
55
+ network?: ProviderNetworkPolicy;
60
56
  /** Opt-in admission and result feedback for every provider HTTP transport attempt. */
61
57
  providerHttpDispatch?: ProviderHttpDispatchOptions;
62
58
  /** Allow or block actions, proxies and Triggers by name. */
@@ -78,6 +74,8 @@ export interface ConnectorRuntimeOptions {
78
74
  apiReference?: boolean;
79
75
  /** Seconds the OAuth completion page waits before closing its window. Defaults to 5; `0` closes it as soon as it loads. */
80
76
  oauthCloseDelaySeconds?: number;
77
+ /** Exact origins a provider-refusal callback page may post its result to. Never `*`. */
78
+ oauthResultOrigins?: string[];
81
79
  }
82
80
  /** Standard web requests are the host boundary; credentials, databases and framework objects stay private. */
83
81
  export interface ConnectorRuntime {
@@ -2,10 +2,9 @@ import { mkdir } from "node:fs/promises";
2
2
  import { join, resolve } from "node:path";
3
3
  import { loadCatalog } from "../catalog-store.js";
4
4
  import { ActionPolicyService } from "../core/action-policy.js";
5
- import { setEgressTrustedHosts, setPrivateNetworkAccessAllowed } from "../core/request.js";
6
5
  import { ProviderLoader } from "../providers/provider-loader.js";
7
6
  import { executorModules } from "../providers/registry.generated.js";
8
- import { DEFAULT_OAUTH_CLOSE_DELAY_SECONDS } from "./api/oauth-completion-page.js";
7
+ import { DEFAULT_OAUTH_CLOSE_DELAY_SECONDS, normalizeOAuthResultOrigins } from "./api/oauth-completion-page.js";
9
8
  import { createRuntimeJwtVerifier } from "./api/runtime-jwt.js";
10
9
  import { createConnectApp } from "./connect-app.js";
11
10
  import { getConnectorAssetDirectory } from "./connector-assets.js";
@@ -15,22 +14,9 @@ import { createSecretCodec } from "./secrets/secret-codec.js";
15
14
  import { createDirectoryMigrationSource } from "./storage/migration-source.js";
16
15
  import { createNodeRuntimeDatabase } from "./storage/node-runtime-database.js";
17
16
  import { DEFAULT_RUN_LIMIT } from "./storage/runtime-store.js";
18
- let runtimeActive = false;
19
17
  export { getConnectorAssetDirectory } from "./connector-assets.js";
20
18
  /** Create a headless runtime without opening a listener or installing process signal handlers. */
21
19
  export async function createConnectorRuntime(options) {
22
- if (runtimeActive)
23
- throw new Error("Only one Open Connector runtime may be active per process. Close it before creating another.");
24
- runtimeActive = true;
25
- try {
26
- return await openRuntime(options);
27
- }
28
- catch (error) {
29
- releaseRuntime();
30
- throw error;
31
- }
32
- }
33
- async function openRuntime(options) {
34
20
  const publicUrl = new URL(options.publicOrigin);
35
21
  if (!["http:", "https:"].includes(publicUrl.protocol) ||
36
22
  publicUrl.username ||
@@ -52,14 +38,15 @@ async function openRuntime(options) {
52
38
  const oauthCloseDelaySeconds = options.oauthCloseDelaySeconds ?? DEFAULT_OAUTH_CLOSE_DELAY_SECONDS;
53
39
  if (!Number.isInteger(oauthCloseDelaySeconds) || oauthCloseDelaySeconds < 0)
54
40
  throw new Error("oauthCloseDelaySeconds must be a non-negative integer of seconds.");
41
+ // The same rules as `OOMOL_CONNECT_OAUTH_RESULT_ORIGINS`: a host passing the option directly must not be able
42
+ // to make the refusal page post OAuth state to `*` or to a value that is not an origin.
43
+ const oauthResultOrigins = normalizeOAuthResultOrigins(options.oauthResultOrigins ?? []);
55
44
  const assetDirectory = getConnectorAssetDirectory();
56
45
  const assets = options.assets ?? {
57
46
  catalogDir: join(assetDirectory, "catalog/apps"),
58
47
  catalogIndexFile: join(assetDirectory, "catalog/apps-index.json"),
59
48
  migrationDirectory: join(assetDirectory, "migrations"),
60
49
  };
61
- setPrivateNetworkAccessAllowed(options.network?.allowPrivateNetwork ?? false);
62
- setEgressTrustedHosts(options.network?.trustedHosts ?? []);
63
50
  const secretCodec = createSecretCodec(options.encryptionKey);
64
51
  const verifyRuntimeJwt = await createRuntimeJwtVerifier(options.jwt ?? {});
65
52
  const lazySchemas = options.lazySchemas ?? true;
@@ -110,6 +97,7 @@ async function openRuntime(options) {
110
97
  await cleanupStagedTransitFiles(tempDir, ttlSeconds * 1000);
111
98
  const { app, runtimeAuthConfigured, saasCleanup, triggerMaintenance } = await createConnectApp({
112
99
  catalog,
100
+ network: options.network,
113
101
  providerLoader: new ProviderLoader(executorModules),
114
102
  providerHttpDispatch: options.providerHttpDispatch,
115
103
  runtimeDatabase: database,
@@ -120,12 +108,14 @@ async function openRuntime(options) {
120
108
  secretCodec,
121
109
  adminToken: options.adminToken,
122
110
  runtimeToken: options.runtimeToken,
111
+ eventVerifyToken: options.eventVerifyToken,
123
112
  verifyRuntimeJwt,
124
113
  actionPolicy: new ActionPolicyService(options.actionPolicy),
125
114
  allowedCustomOAuth: options.allowedCustomOAuth,
126
115
  logger: options.logger,
127
116
  serveDocumentation: options.apiReference ?? false,
128
117
  oauthCloseDelaySeconds,
118
+ oauthResultOrigins,
129
119
  });
130
120
  saasCleanup.start();
131
121
  triggerMaintenance.start();
@@ -156,12 +146,7 @@ async function openRuntime(options) {
156
146
  await database.close();
157
147
  }
158
148
  finally {
159
- try {
160
- closeFiles();
161
- }
162
- finally {
163
- releaseRuntime();
164
- }
149
+ closeFiles();
165
150
  }
166
151
  });
167
152
  }
@@ -179,8 +164,3 @@ async function openRuntime(options) {
179
164
  throw error;
180
165
  }
181
166
  }
182
- function releaseRuntime() {
183
- setPrivateNetworkAccessAllowed(false);
184
- setEgressTrustedHosts([]);
185
- runtimeActive = false;
186
- }
@@ -1,4 +1,4 @@
1
- import { ConnectionError } from "../../connection-service.js";
1
+ import { ConnectionError } from "../../connection-error.js";
2
2
  import { optionalInteger, optionalRecord, requiredRecord, requiredString } from "../../core/cast.js";
3
3
  import { withProviderHttpDispatch } from "../../core/provider-http-dispatch.js";
4
4
  import { ProviderDispatchRequestError, toProviderExecutionError, withProviderHttpDispatchResult, } from "../../providers/provider-runtime.js";
@@ -0,0 +1,37 @@
1
+ export interface SlackEventVerificationInput {
2
+ /** Value of the X-Slack-Request-Timestamp header. */
3
+ timestamp: string;
4
+ /** Value of the X-Slack-Signature header. */
5
+ signature: string;
6
+ /** Raw request body bytes; they must not be re-serialized. */
7
+ rawBody: Uint8Array;
8
+ /** App ID of the Slack application configured in this runtime. */
9
+ configuredAppId: string;
10
+ /** Signing secret of the Slack application configured in this runtime. */
11
+ signingSecret: string;
12
+ /** Request Content-Type. Form-urlencoded Slack interactions are verified without parsing. */
13
+ contentType?: string;
14
+ /** Current time in milliseconds; injectable for tests. */
15
+ now?: number;
16
+ }
17
+ export type SlackEventVerificationResult = {
18
+ valid: true;
19
+ appId: string;
20
+ challenge: string | null;
21
+ } | {
22
+ valid: false;
23
+ reason: "signature" | "timestamp" | "payload" | "app" | "body_too_large";
24
+ };
25
+ /**
26
+ * Reads a request body without buffering more than the Slack event limit.
27
+ *
28
+ * Returns undefined when the request exceeds the limit. The actual stream size is
29
+ * enforced even when Content-Length is absent or understated.
30
+ */
31
+ export declare function readSlackEventRequestBody(request: Request): Promise<Uint8Array | undefined>;
32
+ /**
33
+ * Verifies the signature, timestamp window, and App ID of an inbound Slack request.
34
+ *
35
+ * Verification only: this function does not persist, deduplicate, or schedule events.
36
+ */
37
+ export declare function verifySlackEventRequest(input: SlackEventVerificationInput): Promise<SlackEventVerificationResult>;
@@ -0,0 +1,91 @@
1
+ import { verifySlackSignature } from "../triggers/sources/slack-signature.js";
2
+ /** Maximum request body size, consistent with existing event sources. */
3
+ const slackEventMaximumBodyBytes = 64 * 1024;
4
+ /**
5
+ * Reads a request body without buffering more than the Slack event limit.
6
+ *
7
+ * Returns undefined when the request exceeds the limit. The actual stream size is
8
+ * enforced even when Content-Length is absent or understated.
9
+ */
10
+ export async function readSlackEventRequestBody(request) {
11
+ const declaredLength = request.headers.get("content-length");
12
+ if (declaredLength && /^\d+$/.test(declaredLength) && Number(declaredLength) > slackEventMaximumBodyBytes) {
13
+ return undefined;
14
+ }
15
+ if (!request.body)
16
+ return new Uint8Array();
17
+ const reader = request.body.getReader();
18
+ const chunks = [];
19
+ let totalBytes = 0;
20
+ try {
21
+ while (true) {
22
+ const { done, value } = await reader.read();
23
+ if (done)
24
+ break;
25
+ if (!value)
26
+ continue;
27
+ totalBytes += value.byteLength;
28
+ if (totalBytes > slackEventMaximumBodyBytes) {
29
+ await reader.cancel().catch(() => undefined);
30
+ return undefined;
31
+ }
32
+ chunks.push(value);
33
+ }
34
+ }
35
+ finally {
36
+ reader.releaseLock();
37
+ }
38
+ const body = new Uint8Array(totalBytes);
39
+ let offset = 0;
40
+ for (const chunk of chunks) {
41
+ body.set(chunk, offset);
42
+ offset += chunk.byteLength;
43
+ }
44
+ return body;
45
+ }
46
+ /**
47
+ * Verifies the signature, timestamp window, and App ID of an inbound Slack request.
48
+ *
49
+ * Verification only: this function does not persist, deduplicate, or schedule events.
50
+ */
51
+ export async function verifySlackEventRequest(input) {
52
+ const now = input.now ?? Date.now();
53
+ if (input.rawBody.byteLength > slackEventMaximumBodyBytes) {
54
+ return { valid: false, reason: "body_too_large" };
55
+ }
56
+ const reason = await verifySlackSignature({ ...input, now });
57
+ if (reason)
58
+ return { valid: false, reason };
59
+ // Slack interaction callbacks are form-urlencoded and do not contain api_app_id.
60
+ // The app-scoped signing secret already proves which application sent the request.
61
+ if (contentType(input.contentType) === "application/x-www-form-urlencoded") {
62
+ return { valid: true, appId: input.configuredAppId, challenge: null };
63
+ }
64
+ // Only parse the body after its signature is trusted.
65
+ let payload;
66
+ try {
67
+ payload = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(input.rawBody));
68
+ }
69
+ catch {
70
+ return { valid: false, reason: "payload" };
71
+ }
72
+ if (payload === null || typeof payload !== "object" || Array.isArray(payload)) {
73
+ return { valid: false, reason: "payload" };
74
+ }
75
+ const record = payload;
76
+ const isChallenge = record.type === "url_verification";
77
+ if (!isChallenge && record.type !== "event_callback")
78
+ return { valid: false, reason: "payload" };
79
+ if ((!isChallenge || record.api_app_id !== undefined) && record.api_app_id !== input.configuredAppId)
80
+ return { valid: false, reason: "app" };
81
+ if (isChallenge && (typeof record.challenge !== "string" || !record.challenge || record.challenge.length > 1024))
82
+ return { valid: false, reason: "payload" };
83
+ return {
84
+ valid: true,
85
+ appId: input.configuredAppId,
86
+ challenge: isChallenge ? record.challenge : null,
87
+ };
88
+ }
89
+ function contentType(value) {
90
+ return value?.split(";", 1)[0]?.trim().toLowerCase() ?? "";
91
+ }
@@ -1,4 +1,4 @@
1
- import type { StoredConnection, StoredSaasConnection } from "../../connection-service.ts";
1
+ import type { StoredConnection, StoredSaasConnection } from "../../connection-store.ts";
2
2
  import type { ResolvedCredential } from "../../core/types.ts";
3
3
  import type { OAuthAuthorizationState } from "../../oauth/oauth-flow-service.ts";
4
4
  import type { ISecretCodec } from "../secrets/secret-codec-core.ts";
@@ -1,4 +1,4 @@
1
- import type { IConnectionStore, StoredConnection, StoredLocalConnection } from "../../connection-service.ts";
1
+ import type { IConnectionStore, StoredConnection, StoredLocalConnection } from "../../connection-store.ts";
2
2
  import type { ResolvedCredential } from "../../core/types.ts";
3
3
  import type { ISecretCodec } from "../secrets/secret-codec-core.ts";
4
4
  import type { RequestTransaction } from "./connection-request-store.ts";
@@ -1,4 +1,4 @@
1
- import type { IConnectionStore } from "../../../connection-service.ts";
1
+ import type { IConnectionStore } from "../../../connection-store.ts";
2
2
  import type { RuntimeLogger } from "../../../core/types.ts";
3
3
  import type { IMarketplaceStore } from "../../../marketplace/marketplace-service.ts";
4
4
  import type { IOAuthClientConfigStore } from "../../../oauth/oauth-client-config-service.ts";
@@ -1,4 +1,4 @@
1
- import type { IConnectionStore } from "../../connection-service.ts";
1
+ import type { IConnectionStore } from "../../connection-store.ts";
2
2
  import type { IMarketplaceStore } from "../../marketplace/marketplace-service.ts";
3
3
  import type { IOAuthClientConfigStore } from "../../oauth/oauth-client-config-service.ts";
4
4
  import type { IOAuthStateStore } from "../../oauth/oauth-flow-service.ts";
@@ -1,4 +1,4 @@
1
- import type { StoredSaasConnection } from "../../connection-service.ts";
1
+ import type { StoredSaasConnection } from "../../connection-store.ts";
2
2
  import type { ISecretCodec } from "../secrets/secret-codec-core.ts";
3
3
  import type { RequestStatement, RequestTransaction } from "./connection-request-store.ts";
4
4
  import type { RuntimeRow } from "./runtime-sql.ts";
@@ -1,3 +1,5 @@
1
+ import type { CreateEventSource, UpdateEventSource, EventSource } from "../sources/configuration.ts";
2
+ import type { EventSourceDefinition } from "../sources/definition.ts";
1
3
  import type { TriggerConfigOption, TriggerConfigOptionsContext } from "./configOptions.ts";
2
4
  import type { ConnectorProxyRequest, ConnectorProxyResult, ConnectorProxy } from "./proxy.ts";
3
5
  import type { IntegrationEndpointMethod, JsonValue, TriggerKeySnapshot } from "./types.ts";
@@ -85,13 +87,21 @@ export interface ResourceSubscription {
85
87
  readonly unsubscribe: ConnectorProxyRequest;
86
88
  readonly inspect?: ConnectorProxyRequest;
87
89
  }
88
- export interface ResourceDefinition {
90
+ export type ResourceDefinition = {
89
91
  readonly subscriptions: (config: Readonly<Record<string, JsonValue>>) => readonly ResourceSubscription[];
90
92
  readonly response: (result: ConnectorProxyResult) => Readonly<Record<string, JsonValue>>;
91
- }
93
+ } | {
94
+ readonly reconcile: (context: IntegrationReconcileContext) => Promise<IntegrationReconcileResult>;
95
+ };
92
96
  export interface IntegrationDefinition {
97
+ readonly source?: EventSourceDefinition<CreateEventSource, UpdateEventSource, Partial<EventSource>>;
98
+ readonly sourceReceive?: (context: Omit<ListenerReadContext, "checkpoint"> & {
99
+ readonly headers: Readonly<Record<string, string>>;
100
+ readonly rawBody: string;
101
+ }) => Promise<Readonly<Record<string, JsonValue>>>;
102
+ readonly sourceIdentity?: (context: Omit<ListenerReadContext, "checkpoint">) => Promise<Readonly<Record<string, JsonValue>>>;
93
103
  readonly resources?: ResourceDefinition;
94
- readonly eventSource?: "feishu";
104
+ readonly eventSource?: "feishu" | "slack" | "intercom" | "sentry" | "zoom" | "fireflies" | "jira";
95
105
  readonly configOptions?: (context: TriggerConfigOptionsContext) => Promise<readonly TriggerConfigOption[]>;
96
106
  readonly listener?: ListenerSource;
97
107
  readonly initialState?: {
@@ -109,6 +119,8 @@ export declare class IntegrationConnectionError extends Error {
109
119
  }
110
120
  export declare class PermanentIntegrationError extends Error {
111
121
  readonly name = "PermanentIntegrationError";
122
+ readonly reason: "trigger_quota_exceeded" | "trigger_subscription_uncertain" | undefined;
123
+ constructor(message: string, reason?: "trigger_quota_exceeded" | "trigger_subscription_uncertain");
112
124
  }
113
125
  export declare class TransientIntegrationError extends Error {
114
126
  readonly name = "TransientIntegrationError";
@@ -25,6 +25,11 @@ export class IntegrationConnectionError extends Error {
25
25
  }
26
26
  export class PermanentIntegrationError extends Error {
27
27
  name = "PermanentIntegrationError";
28
+ reason;
29
+ constructor(message, reason) {
30
+ super(message);
31
+ this.reason = reason;
32
+ }
28
33
  }
29
34
  export class TransientIntegrationError extends Error {
30
35
  name = "TransientIntegrationError";
@@ -6,9 +6,16 @@ export interface ConnectorProxyRequest {
6
6
  readonly query?: Readonly<Record<string, boolean | number | string | null>>;
7
7
  }
8
8
  export interface ConnectorProxyResult {
9
+ readonly headers?: Readonly<Record<string, string>>;
9
10
  readonly data: unknown;
10
11
  readonly status: number;
11
12
  }
12
13
  export interface ConnectorProxy {
14
+ readonly oauthClientConfig?: {
15
+ readonly clientId: string;
16
+ readonly clientSecret?: string;
17
+ };
18
+ readonly providerAccountId?: string;
19
+ readonly authType?: string;
13
20
  execute(request: ConnectorProxyRequest, signal?: AbortSignal): Promise<ConnectorProxyResult>;
14
21
  }
@@ -1,4 +1,5 @@
1
1
  import type { ActionPolicyService } from "../core/action-policy.ts";
2
+ import type { ProviderNetworkPolicy } from "../core/provider-network-policy.ts";
2
3
  import type { RuntimeLogger } from "../core/types.ts";
3
4
  import type { IRuntimePolicyStore } from "../server/storage/runtime-policy-store.ts";
4
5
  import type { IRuntimeTokenStore } from "../server/storage/runtime-token-service.ts";
@@ -16,6 +17,7 @@ export interface TriggerSubscriptionSummary {
16
17
  reconcileAt: number;
17
18
  }
18
19
  interface TriggerMaintenanceOptions {
20
+ network?: ProviderNetworkPolicy;
19
21
  store: TriggerStore;
20
22
  runner: TriggerRunner;
21
23
  tokens: IRuntimeTokenStore;
@@ -1,3 +1,4 @@
1
+ import { withProviderNetworkPolicy } from "../core/provider-network-policy.js";
1
2
  import { HttpRequestError } from "../server/api/http-utils.js";
2
3
  import { withSubscription } from "./subscriptions.js";
3
4
  export class TriggerMaintenance {
@@ -49,7 +50,7 @@ export class TriggerMaintenance {
49
50
  run() {
50
51
  if (this.shutdown.signal.aborted)
51
52
  return Promise.resolve();
52
- this.pending ??= this.runBatch()
53
+ this.pending ??= withProviderNetworkPolicy(this.options.network ?? {}, () => this.runBatch())
53
54
  .catch(() => {
54
55
  this.options.logger?.warn({ errorCode: "trigger_cleanup_failed" }, "Trigger cleanup batch failed; pending work is retained");
55
56
  })
@@ -0,0 +1,13 @@
1
+ import type { IntegrationReconcileContext, IntegrationReconcileResult } from "./common/integration.ts";
2
+ import type { ConnectorProxyRequest, ConnectorProxyResult } from "./common/proxy.ts";
3
+ export interface ManagedWebhook {
4
+ readonly id: string;
5
+ readonly secret: string;
6
+ }
7
+ export declare function webhookRequest(context: Pick<IntegrationReconcileContext, "connector" | "signal">, request: ConnectorProxyRequest): Promise<ConnectorProxyResult>;
8
+ export declare function reconcileManagedWebhook(context: IntegrationReconcileContext, operations: {
9
+ readonly find: () => Promise<readonly ManagedWebhook[]>;
10
+ readonly create: () => Promise<ManagedWebhook>;
11
+ readonly remove: (id: string) => Promise<void>;
12
+ readonly align?: (id: string) => Promise<void>;
13
+ }): Promise<IntegrationReconcileResult>;
@@ -0,0 +1,48 @@
1
+ import { PermanentIntegrationError, TransientIntegrationError } from "./common/integration.js";
2
+ export async function webhookRequest(context, request) {
3
+ context.signal?.throwIfAborted();
4
+ const result = await context.connector.execute(request, context.signal);
5
+ context.signal?.throwIfAborted();
6
+ if ((result.status >= 200 && result.status < 300) || (request.method == "DELETE" && result.status == 404))
7
+ return result;
8
+ const message = `Webhook ${request.method} request failed (HTTP ${result.status}). Check resource access and webhook permissions.`;
9
+ if (result.status >= 400 && result.status < 500 && result.status != 429)
10
+ throw new PermanentIntegrationError(message);
11
+ throw new TransientIntegrationError(message);
12
+ }
13
+ export async function reconcileManagedWebhook(context, operations) {
14
+ const state = context.state;
15
+ if (state == null)
16
+ throw new PermanentIntegrationError("Webhook subscription state is missing.");
17
+ const matches = await operations.find();
18
+ if (matches.length > 1)
19
+ throw new PermanentIntegrationError("Multiple webhooks match this subscription. Remove duplicates before retrying.");
20
+ let hook = matches[0];
21
+ if (!context.active) {
22
+ if (hook != null)
23
+ await operations.remove(hook.id);
24
+ else if (state.subscription.creating === true)
25
+ throw new PermanentIntegrationError("Webhook creation has an uncertain outcome. Verify the remote subscription before cleanup.");
26
+ await state.saveSubscription({}, new Date(context.now.getTime() + 86_400_000));
27
+ return { outcome: "ready" };
28
+ }
29
+ if (hook == null) {
30
+ if (state.subscription.creating === true)
31
+ throw new PermanentIntegrationError("Webhook creation has an uncertain outcome. Verify the remote subscription before retrying.");
32
+ await state.saveSubscription({ creating: true }, context.now);
33
+ try {
34
+ hook = await operations.create();
35
+ }
36
+ catch (error) {
37
+ // A definite rejection did not create a resource; transport and malformed-response errors remain uncertain.
38
+ if (error instanceof PermanentIntegrationError)
39
+ await state.saveSubscription({}, context.now);
40
+ throw error;
41
+ }
42
+ }
43
+ const subscription = { hookId: hook.id, secret: hook.secret };
44
+ await state.saveSubscription(subscription, context.now);
45
+ await operations.align?.(hook.id);
46
+ await state.saveSubscription(subscription, new Date(context.now.getTime() + 86_400_000));
47
+ return { outcome: "ready" };
48
+ }