@oomol-lab/open-connector 1.9.1 → 1.9.2

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 (461) hide show
  1. package/assets/open-connector/catalog/apps/aisa.json +1946 -56
  2. package/assets/open-connector/catalog/apps/akta.json +1181 -0
  3. package/assets/open-connector/catalog/apps/asana.json +110 -0
  4. package/assets/open-connector/catalog/apps/calendly.json +103 -0
  5. package/assets/open-connector/catalog/apps/clickup.json +104 -0
  6. package/assets/open-connector/catalog/apps/cloro.json +9289 -0
  7. package/assets/open-connector/catalog/apps/contextdev.json +20670 -0
  8. package/assets/open-connector/catalog/apps/deepseek.json +177 -0
  9. package/assets/open-connector/catalog/apps/defillama.json +23747 -0
  10. package/assets/open-connector/catalog/apps/fireflies.json +103 -0
  11. package/assets/open-connector/catalog/apps/fundable.json +7926 -0
  12. package/assets/open-connector/catalog/apps/intercom.json +110 -0
  13. package/assets/open-connector/catalog/apps/jira.json +110 -0
  14. package/assets/open-connector/catalog/apps/keenable.json +235 -0
  15. package/assets/open-connector/catalog/apps/kolsprite_mcp.json +1227 -0
  16. package/assets/open-connector/catalog/apps/litescrape.json +52514 -0
  17. package/assets/open-connector/catalog/apps/magichour.json +5926 -0
  18. package/assets/open-connector/catalog/apps/minimax.json +24 -14
  19. package/assets/open-connector/catalog/apps/notion.json +731 -76
  20. package/assets/open-connector/catalog/apps/octen.json +5248 -0
  21. package/assets/open-connector/catalog/apps/openrouter.json +10 -0
  22. package/assets/open-connector/catalog/apps/orbit.json +3574 -0
  23. package/assets/open-connector/catalog/apps/pandadoc.json +68 -0
  24. package/assets/open-connector/catalog/apps/pipedrive.json +86 -0
  25. package/assets/open-connector/catalog/apps/ploid.json +9802 -0
  26. package/assets/open-connector/catalog/apps/resend.json +100 -0
  27. package/assets/open-connector/catalog/apps/salesforce.json +2487 -119
  28. package/assets/open-connector/catalog/apps/saperly.json +7056 -0
  29. package/assets/open-connector/catalog/apps/search1api.json +2382 -0
  30. package/assets/open-connector/catalog/apps/sentry.json +129 -0
  31. package/assets/open-connector/catalog/apps/slackbot.json +230 -1
  32. package/assets/open-connector/catalog/apps/surf.json +11378 -0
  33. package/assets/open-connector/catalog/apps/tally.json +113 -0
  34. package/assets/open-connector/catalog/apps/tinyfish.json +6154 -0
  35. package/assets/open-connector/catalog/apps/typeform.json +90 -1
  36. package/assets/open-connector/catalog/apps/vaquill.json +5944 -0
  37. package/assets/open-connector/catalog/apps/vercel.json +110 -0
  38. package/assets/open-connector/catalog/apps/weixin_store.json +1256 -7
  39. package/assets/open-connector/catalog/apps/zoom.json +112 -0
  40. package/assets/open-connector/catalog/apps-index.json +1 -1
  41. package/package.json +1 -1
  42. package/src/core/json-schema.d.ts +11 -3
  43. package/src/core/json-schema.js +13 -3
  44. package/src/providers/action-contracts.generated.d.ts +23 -6
  45. package/src/providers/aisa/executors.js +238 -6
  46. package/src/providers/aisa/firecrawl-actions.d.ts +9 -0
  47. package/src/providers/aisa/firecrawl-actions.js +115 -0
  48. package/src/providers/akta/actions.d.ts +9 -0
  49. package/src/providers/akta/actions.js +420 -0
  50. package/src/providers/akta/executors.d.ts +4 -0
  51. package/src/providers/akta/executors.js +103 -0
  52. package/src/providers/asana/executors.d.ts +2 -0
  53. package/src/providers/asana/executors.js +2 -0
  54. package/src/providers/asana/trigger-on-task-event.d.ts +2 -0
  55. package/src/providers/asana/trigger-on-task-event.definition.d.ts +4 -0
  56. package/src/providers/asana/trigger-on-task-event.definition.js +42 -0
  57. package/src/providers/asana/trigger-on-task-event.js +160 -0
  58. package/src/providers/calendly/executors.d.ts +2 -0
  59. package/src/providers/calendly/executors.js +2 -0
  60. package/src/providers/calendly/trigger-on-booking-event.d.ts +2 -0
  61. package/src/providers/calendly/trigger-on-booking-event.definition.d.ts +5 -0
  62. package/src/providers/calendly/trigger-on-booking-event.definition.js +42 -0
  63. package/src/providers/calendly/trigger-on-booking-event.js +144 -0
  64. package/src/providers/clickup/executors.d.ts +2 -0
  65. package/src/providers/clickup/executors.js +2 -0
  66. package/src/providers/clickup/trigger-on-task-event.d.ts +2 -0
  67. package/src/providers/clickup/trigger-on-task-event.definition.d.ts +4 -0
  68. package/src/providers/clickup/trigger-on-task-event.definition.js +41 -0
  69. package/src/providers/clickup/trigger-on-task-event.js +94 -0
  70. package/src/providers/cloro/actions.d.ts +12 -0
  71. package/src/providers/cloro/actions.js +155 -0
  72. package/src/providers/cloro/executors.d.ts +4 -0
  73. package/src/providers/cloro/executors.js +67 -0
  74. package/src/providers/cloro/inputs.d.ts +10 -0
  75. package/src/providers/cloro/inputs.js +680 -0
  76. package/src/providers/contextdev/actions.d.ts +14 -0
  77. package/src/providers/contextdev/actions.js +647 -0
  78. package/src/providers/contextdev/executors.d.ts +4 -0
  79. package/src/providers/contextdev/executors.js +109 -0
  80. package/src/providers/contextdev/files.d.ts +3 -0
  81. package/src/providers/contextdev/files.js +49 -0
  82. package/src/providers/contextdev/input-schemas.d.ts +49 -0
  83. package/src/providers/contextdev/input-schemas.js +3082 -0
  84. package/src/providers/contextdev/output-schemas.d.ts +49 -0
  85. package/src/providers/contextdev/output-schemas.js +1599 -0
  86. package/src/providers/deepseek/executors.d.ts +0 -5
  87. package/src/providers/deepseek/executors.js +38 -25
  88. package/src/providers/defillama/actions.d.ts +24 -0
  89. package/src/providers/defillama/actions.js +24 -0
  90. package/src/providers/defillama/dimensions-definitions.d.ts +2 -0
  91. package/src/providers/defillama/dimensions-definitions.js +1387 -0
  92. package/src/providers/defillama/ecosystem-definitions.d.ts +2 -0
  93. package/src/providers/defillama/ecosystem-definitions.js +758 -0
  94. package/src/providers/defillama/equities-definitions.d.ts +2 -0
  95. package/src/providers/defillama/equities-definitions.js +733 -0
  96. package/src/providers/defillama/executors.d.ts +4 -0
  97. package/src/providers/defillama/executors.js +196 -0
  98. package/src/providers/defillama/markets-definitions.d.ts +2 -0
  99. package/src/providers/defillama/markets-definitions.js +624 -0
  100. package/src/providers/defillama/shared-schemas.d.ts +71 -0
  101. package/src/providers/defillama/shared-schemas.js +157 -0
  102. package/src/providers/defillama/tvl-definitions.d.ts +2 -0
  103. package/src/providers/defillama/tvl-definitions.js +546 -0
  104. package/src/providers/defillama/yields-definitions.d.ts +2 -0
  105. package/src/providers/defillama/yields-definitions.js +766 -0
  106. package/src/providers/feishu_app_bot/trigger-on-event.js +2 -0
  107. package/src/providers/fireflies/executors.d.ts +2 -0
  108. package/src/providers/fireflies/executors.js +2 -0
  109. package/src/providers/fireflies/trigger-on-meeting-ready.d.ts +2 -0
  110. package/src/providers/fireflies/trigger-on-meeting-ready.definition.d.ts +4 -0
  111. package/src/providers/fireflies/trigger-on-meeting-ready.definition.js +44 -0
  112. package/src/providers/fireflies/trigger-on-meeting-ready.js +60 -0
  113. package/src/providers/fundable/actions.d.ts +8 -0
  114. package/src/providers/fundable/actions.js +1515 -0
  115. package/src/providers/fundable/executors.d.ts +4 -0
  116. package/src/providers/fundable/executors.js +74 -0
  117. package/src/providers/gmail/message.d.ts +1 -6
  118. package/src/providers/gmail/message.js +1 -1
  119. package/src/providers/intercom/executors.d.ts +2 -0
  120. package/src/providers/intercom/executors.js +2 -0
  121. package/src/providers/intercom/trigger-on-conversation-event.d.ts +2 -0
  122. package/src/providers/intercom/trigger-on-conversation-event.definition.d.ts +4 -0
  123. package/src/providers/intercom/trigger-on-conversation-event.definition.js +42 -0
  124. package/src/providers/intercom/trigger-on-conversation-event.js +23 -0
  125. package/src/providers/jira/executors.d.ts +2 -0
  126. package/src/providers/jira/executors.js +2 -0
  127. package/src/providers/jira/trigger-on-issue-event.d.ts +2 -0
  128. package/src/providers/jira/trigger-on-issue-event.definition.d.ts +4 -0
  129. package/src/providers/jira/trigger-on-issue-event.definition.js +44 -0
  130. package/src/providers/jira/trigger-on-issue-event.js +116 -0
  131. package/src/providers/jira/trigger-resource.d.ts +4 -0
  132. package/src/providers/jira/trigger-resource.js +141 -0
  133. package/src/providers/keenable/executors.d.ts +4 -0
  134. package/src/providers/keenable/executors.js +20 -0
  135. package/src/providers/keenable/runtime.d.ts +26 -0
  136. package/src/providers/keenable/runtime.js +89 -0
  137. package/src/providers/kolsprite_mcp/actions.d.ts +2 -0
  138. package/src/providers/kolsprite_mcp/actions.js +519 -0
  139. package/src/providers/kolsprite_mcp/executors.d.ts +4 -0
  140. package/src/providers/kolsprite_mcp/executors.js +89 -0
  141. package/src/providers/litescrape/actions.d.ts +12 -0
  142. package/src/providers/litescrape/actions.js +124 -0
  143. package/src/providers/litescrape/airbnb-schemas.d.ts +2 -0
  144. package/src/providers/litescrape/airbnb-schemas.js +72 -0
  145. package/src/providers/litescrape/aliexpress-schemas.d.ts +2 -0
  146. package/src/providers/litescrape/aliexpress-schemas.js +52 -0
  147. package/src/providers/litescrape/amazon-schemas.d.ts +2 -0
  148. package/src/providers/litescrape/amazon-schemas.js +358 -0
  149. package/src/providers/litescrape/apartments-schemas.d.ts +2 -0
  150. package/src/providers/litescrape/apartments-schemas.js +45 -0
  151. package/src/providers/litescrape/apple-schemas.d.ts +2 -0
  152. package/src/providers/litescrape/apple-schemas.js +215 -0
  153. package/src/providers/litescrape/ashby-schemas.d.ts +2 -0
  154. package/src/providers/litescrape/ashby-schemas.js +82 -0
  155. package/src/providers/litescrape/baidu-schemas.d.ts +2 -0
  156. package/src/providers/litescrape/baidu-schemas.js +31 -0
  157. package/src/providers/litescrape/bestbuy-schemas.d.ts +2 -0
  158. package/src/providers/litescrape/bestbuy-schemas.js +56 -0
  159. package/src/providers/litescrape/bing-schemas.d.ts +2 -0
  160. package/src/providers/litescrape/bing-schemas.js +315 -0
  161. package/src/providers/litescrape/brave-schemas.d.ts +2 -0
  162. package/src/providers/litescrape/brave-schemas.js +101 -0
  163. package/src/providers/litescrape/copilot-schemas.d.ts +2 -0
  164. package/src/providers/litescrape/copilot-schemas.js +590 -0
  165. package/src/providers/litescrape/duckduckgo-schemas.d.ts +2 -0
  166. package/src/providers/litescrape/duckduckgo-schemas.js +64 -0
  167. package/src/providers/litescrape/ebay-schemas.d.ts +2 -0
  168. package/src/providers/litescrape/ebay-schemas.js +300 -0
  169. package/src/providers/litescrape/etsy-schemas.d.ts +2 -0
  170. package/src/providers/litescrape/etsy-schemas.js +52 -0
  171. package/src/providers/litescrape/eventbrite-schemas.d.ts +2 -0
  172. package/src/providers/litescrape/eventbrite-schemas.js +43 -0
  173. package/src/providers/litescrape/executors.d.ts +4 -0
  174. package/src/providers/litescrape/executors.js +138 -0
  175. package/src/providers/litescrape/facebook-schemas.d.ts +2 -0
  176. package/src/providers/litescrape/facebook-schemas.js +283 -0
  177. package/src/providers/litescrape/glassdoor-schemas.d.ts +2 -0
  178. package/src/providers/litescrape/glassdoor-schemas.js +147 -0
  179. package/src/providers/litescrape/google-schemas.d.ts +2 -0
  180. package/src/providers/litescrape/google-schemas.js +1686 -0
  181. package/src/providers/litescrape/homedepot-schemas.d.ts +2 -0
  182. package/src/providers/litescrape/homedepot-schemas.js +58 -0
  183. package/src/providers/litescrape/homes-schemas.d.ts +2 -0
  184. package/src/providers/litescrape/homes-schemas.js +45 -0
  185. package/src/providers/litescrape/ikea-schemas.d.ts +2 -0
  186. package/src/providers/litescrape/ikea-schemas.js +56 -0
  187. package/src/providers/litescrape/indeed-schemas.d.ts +2 -0
  188. package/src/providers/litescrape/indeed-schemas.js +141 -0
  189. package/src/providers/litescrape/instagram-schemas.d.ts +2 -0
  190. package/src/providers/litescrape/instagram-schemas.js +234 -0
  191. package/src/providers/litescrape/kroger-schemas.d.ts +2 -0
  192. package/src/providers/litescrape/kroger-schemas.js +62 -0
  193. package/src/providers/litescrape/levels-schemas.d.ts +2 -0
  194. package/src/providers/litescrape/levels-schemas.js +153 -0
  195. package/src/providers/litescrape/naver-schemas.d.ts +2 -0
  196. package/src/providers/litescrape/naver-schemas.js +107 -0
  197. package/src/providers/litescrape/realtor-schemas.d.ts +2 -0
  198. package/src/providers/litescrape/realtor-schemas.js +47 -0
  199. package/src/providers/litescrape/redfin-schemas.d.ts +2 -0
  200. package/src/providers/litescrape/redfin-schemas.js +112 -0
  201. package/src/providers/litescrape/shared.d.ts +9 -0
  202. package/src/providers/litescrape/shared.js +1 -0
  203. package/src/providers/litescrape/sprouts-schemas.d.ts +2 -0
  204. package/src/providers/litescrape/sprouts-schemas.js +72 -0
  205. package/src/providers/litescrape/target-schemas.d.ts +2 -0
  206. package/src/providers/litescrape/target-schemas.js +56 -0
  207. package/src/providers/litescrape/tiktok-schemas.d.ts +2 -0
  208. package/src/providers/litescrape/tiktok-schemas.js +625 -0
  209. package/src/providers/litescrape/tools.d.ts +2 -0
  210. package/src/providers/litescrape/tools.js +88 -0
  211. package/src/providers/litescrape/tripadvisor-schemas.d.ts +2 -0
  212. package/src/providers/litescrape/tripadvisor-schemas.js +119 -0
  213. package/src/providers/litescrape/walmart-schemas.d.ts +2 -0
  214. package/src/providers/litescrape/walmart-schemas.js +52 -0
  215. package/src/providers/litescrape/wayfair-schemas.d.ts +2 -0
  216. package/src/providers/litescrape/wayfair-schemas.js +52 -0
  217. package/src/providers/litescrape/web-schemas.d.ts +2 -0
  218. package/src/providers/litescrape/web-schemas.js +463 -0
  219. package/src/providers/litescrape/wholefoods-schemas.d.ts +2 -0
  220. package/src/providers/litescrape/wholefoods-schemas.js +56 -0
  221. package/src/providers/litescrape/x-schemas.d.ts +2 -0
  222. package/src/providers/litescrape/x-schemas.js +128 -0
  223. package/src/providers/litescrape/yahoo-schemas.d.ts +2 -0
  224. package/src/providers/litescrape/yahoo-schemas.js +234 -0
  225. package/src/providers/litescrape/yandex-schemas.d.ts +2 -0
  226. package/src/providers/litescrape/yandex-schemas.js +179 -0
  227. package/src/providers/litescrape/yelp-schemas.d.ts +2 -0
  228. package/src/providers/litescrape/yelp-schemas.js +130 -0
  229. package/src/providers/litescrape/youtube-schemas.d.ts +2 -0
  230. package/src/providers/litescrape/youtube-schemas.js +128 -0
  231. package/src/providers/litescrape/zillow-schemas.d.ts +2 -0
  232. package/src/providers/litescrape/zillow-schemas.js +128 -0
  233. package/src/providers/litescrape/ziprecruiter-schemas.d.ts +2 -0
  234. package/src/providers/litescrape/ziprecruiter-schemas.js +96 -0
  235. package/src/providers/magichour/actions.d.ts +22 -0
  236. package/src/providers/magichour/actions.js +308 -0
  237. package/src/providers/magichour/audio-schemas.d.ts +2 -0
  238. package/src/providers/magichour/audio-schemas.js +54 -0
  239. package/src/providers/magichour/executors.d.ts +4 -0
  240. package/src/providers/magichour/executors.js +115 -0
  241. package/src/providers/magichour/image-schemas.d.ts +2 -0
  242. package/src/providers/magichour/image-schemas.js +443 -0
  243. package/src/providers/magichour/project-schemas.d.ts +8 -0
  244. package/src/providers/magichour/project-schemas.js +65 -0
  245. package/src/providers/magichour/shared-schemas.d.ts +8 -0
  246. package/src/providers/magichour/shared-schemas.js +18 -0
  247. package/src/providers/magichour/utility-schemas.d.ts +11 -0
  248. package/src/providers/magichour/utility-schemas.js +150 -0
  249. package/src/providers/magichour/video-schemas.d.ts +2 -0
  250. package/src/providers/magichour/video-schemas.js +629 -0
  251. package/src/providers/magichour/voices.d.ts +1 -0
  252. package/src/providers/magichour/voices.js +1268 -0
  253. package/src/providers/minimax/executors.js +19 -4
  254. package/src/providers/minimax/text-models.d.ts +2 -0
  255. package/src/providers/minimax/text-models.js +34 -0
  256. package/src/providers/moneyforward_mcp/manifest.d.ts +0 -2
  257. package/src/providers/moneyforward_mcp/manifest.js +1 -1
  258. package/src/providers/notion/executors.js +36 -3
  259. package/src/providers/octen/actions.d.ts +6 -0
  260. package/src/providers/octen/actions.js +919 -0
  261. package/src/providers/octen/executors.d.ts +4 -0
  262. package/src/providers/octen/executors.js +125 -0
  263. package/src/providers/octen/inputs.d.ts +2 -0
  264. package/src/providers/octen/inputs.js +2434 -0
  265. package/src/providers/octen/research.d.ts +1 -0
  266. package/src/providers/octen/research.js +86 -0
  267. package/src/providers/openrouter/executors.js +7 -4
  268. package/src/providers/orbit/actions.d.ts +2 -0
  269. package/src/providers/orbit/actions.js +3030 -0
  270. package/src/providers/orbit/executors.d.ts +4 -0
  271. package/src/providers/orbit/executors.js +106 -0
  272. package/src/providers/orbit/routes.d.ts +9 -0
  273. package/src/providers/orbit/routes.js +170 -0
  274. package/src/providers/pandadoc/executors.d.ts +2 -0
  275. package/src/providers/pandadoc/executors.js +2 -0
  276. package/src/providers/pandadoc/trigger-on-document-event.d.ts +2 -0
  277. package/src/providers/pandadoc/trigger-on-document-event.definition.d.ts +4 -0
  278. package/src/providers/pandadoc/trigger-on-document-event.definition.js +33 -0
  279. package/src/providers/pandadoc/trigger-on-document-event.js +96 -0
  280. package/src/providers/pipedrive/executors.d.ts +2 -0
  281. package/src/providers/pipedrive/executors.js +2 -0
  282. package/src/providers/pipedrive/trigger-on-crm-event.d.ts +2 -0
  283. package/src/providers/pipedrive/trigger-on-crm-event.definition.d.ts +4 -0
  284. package/src/providers/pipedrive/trigger-on-crm-event.definition.js +30 -0
  285. package/src/providers/pipedrive/trigger-on-crm-event.js +101 -0
  286. package/src/providers/ploid/actions.d.ts +16 -0
  287. package/src/providers/ploid/actions.js +23 -0
  288. package/src/providers/ploid/endpoints.json +8440 -0
  289. package/src/providers/ploid/executors.d.ts +4 -0
  290. package/src/providers/ploid/executors.js +119 -0
  291. package/src/providers/provider-runtime.d.ts +13 -0
  292. package/src/providers/provider-runtime.js +37 -4
  293. package/src/providers/registry.generated.js +17 -0
  294. package/src/providers/resend/executors.d.ts +2 -0
  295. package/src/providers/resend/executors.js +2 -0
  296. package/src/providers/resend/trigger-on-email-event.d.ts +2 -0
  297. package/src/providers/resend/trigger-on-email-event.definition.d.ts +4 -0
  298. package/src/providers/resend/trigger-on-email-event.definition.js +37 -0
  299. package/src/providers/resend/trigger-on-email-event.js +125 -0
  300. package/src/providers/salesforce/chatter-routes.d.ts +107 -0
  301. package/src/providers/salesforce/chatter-routes.js +140 -0
  302. package/src/providers/salesforce/context.d.ts +2 -2
  303. package/src/providers/salesforce/context.js +7 -4
  304. package/src/providers/salesforce/executors.js +10 -0
  305. package/src/providers/salesforce/runtime-approvals.d.ts +2 -0
  306. package/src/providers/salesforce/runtime-approvals.js +52 -0
  307. package/src/providers/salesforce/runtime-base.js +14 -3
  308. package/src/providers/salesforce/runtime-chatter.d.ts +2 -0
  309. package/src/providers/salesforce/runtime-chatter.js +78 -0
  310. package/src/providers/salesforce/runtime-knowledge.d.ts +2 -0
  311. package/src/providers/salesforce/runtime-knowledge.js +34 -0
  312. package/src/providers/salesforce/runtime-leads.d.ts +2 -0
  313. package/src/providers/salesforce/runtime-leads.js +117 -0
  314. package/src/providers/salesforce/runtime-platform.d.ts +2 -0
  315. package/src/providers/salesforce/runtime-platform.js +67 -0
  316. package/src/providers/saperly/actions.d.ts +17 -0
  317. package/src/providers/saperly/actions.js +869 -0
  318. package/src/providers/saperly/executors.d.ts +4 -0
  319. package/src/providers/saperly/executors.js +113 -0
  320. package/src/providers/saperly/schemas.d.ts +33 -0
  321. package/src/providers/saperly/schemas.js +601 -0
  322. package/src/providers/search1api/actions.d.ts +2 -0
  323. package/src/providers/search1api/actions.js +39 -0
  324. package/src/providers/search1api/executors.d.ts +4 -0
  325. package/src/providers/search1api/executors.js +72 -0
  326. package/src/providers/search1api/runtime.d.ts +3 -0
  327. package/src/providers/search1api/runtime.js +44 -0
  328. package/src/providers/search1api/schemas.d.ts +3 -0
  329. package/src/providers/search1api/schemas.js +1834 -0
  330. package/src/providers/sentry/executors.d.ts +2 -0
  331. package/src/providers/sentry/executors.js +2 -0
  332. package/src/providers/sentry/trigger-on-issue-alert.d.ts +2 -0
  333. package/src/providers/sentry/trigger-on-issue-alert.definition.d.ts +4 -0
  334. package/src/providers/sentry/trigger-on-issue-alert.definition.js +64 -0
  335. package/src/providers/sentry/trigger-on-issue-alert.js +80 -0
  336. package/src/providers/sf_express/runtime.d.ts +0 -16
  337. package/src/providers/sf_express/runtime.js +2 -2
  338. package/src/providers/slack/runtime.d.ts +6 -1
  339. package/src/providers/slack/runtime.js +21 -0
  340. package/src/providers/slackbot/actions.js +17 -1
  341. package/src/providers/slackbot/executors.d.ts +2 -0
  342. package/src/providers/slackbot/executors.js +5 -1
  343. package/src/providers/slackbot/trigger-on-event.d.ts +2 -0
  344. package/src/providers/slackbot/trigger-on-event.definition.d.ts +4 -0
  345. package/src/providers/slackbot/trigger-on-event.definition.js +57 -0
  346. package/src/providers/slackbot/trigger-on-event.js +23 -0
  347. package/src/providers/surf/actions.d.ts +21 -0
  348. package/src/providers/surf/actions.js +26 -0
  349. package/src/providers/surf/discovery-definitions.d.ts +2 -0
  350. package/src/providers/surf/discovery-definitions.js +871 -0
  351. package/src/providers/surf/equity-definitions.d.ts +2 -0
  352. package/src/providers/surf/equity-definitions.js +322 -0
  353. package/src/providers/surf/executors.d.ts +4 -0
  354. package/src/providers/surf/executors.js +131 -0
  355. package/src/providers/surf/market-definitions.d.ts +2 -0
  356. package/src/providers/surf/market-definitions.js +885 -0
  357. package/src/providers/surf/onchain-definitions.d.ts +2 -0
  358. package/src/providers/surf/onchain-definitions.js +901 -0
  359. package/src/providers/surf/prediction-definitions.d.ts +2 -0
  360. package/src/providers/surf/prediction-definitions.js +683 -0
  361. package/src/providers/surf/shared-schemas.d.ts +18 -0
  362. package/src/providers/surf/shared-schemas.js +37 -0
  363. package/src/providers/tally/executors.d.ts +2 -0
  364. package/src/providers/tally/executors.js +2 -0
  365. package/src/providers/tally/trigger-on-form-response.d.ts +2 -0
  366. package/src/providers/tally/trigger-on-form-response.definition.d.ts +4 -0
  367. package/src/providers/tally/trigger-on-form-response.definition.js +54 -0
  368. package/src/providers/tally/trigger-on-form-response.js +166 -0
  369. package/src/providers/tinyfish/actions.d.ts +6 -0
  370. package/src/providers/tinyfish/actions.js +19 -0
  371. package/src/providers/tinyfish/agent-actions.d.ts +2 -0
  372. package/src/providers/tinyfish/agent-actions.js +268 -0
  373. package/src/providers/tinyfish/data-actions.d.ts +2 -0
  374. package/src/providers/tinyfish/data-actions.js +186 -0
  375. package/src/providers/tinyfish/data-schemas.d.ts +7 -0
  376. package/src/providers/tinyfish/data-schemas.js +103 -0
  377. package/src/providers/tinyfish/endpoints.d.ts +14 -0
  378. package/src/providers/tinyfish/endpoints.js +1 -0
  379. package/src/providers/tinyfish/executors.d.ts +4 -0
  380. package/src/providers/tinyfish/executors.js +133 -0
  381. package/src/providers/tinyfish/management-actions.d.ts +2 -0
  382. package/src/providers/tinyfish/management-actions.js +524 -0
  383. package/src/providers/tinyfish/monitor-schemas.d.ts +5 -0
  384. package/src/providers/tinyfish/monitor-schemas.js +65 -0
  385. package/src/providers/tinyfish/research-schemas.d.ts +6 -0
  386. package/src/providers/tinyfish/research-schemas.js +71 -0
  387. package/src/providers/trello/executors.js +5 -2
  388. package/src/providers/typeform/executors.d.ts +2 -0
  389. package/src/providers/typeform/executors.js +2 -0
  390. package/src/providers/typeform/trigger-on-form-response.d.ts +2 -0
  391. package/src/providers/typeform/trigger-on-form-response.definition.d.ts +4 -0
  392. package/src/providers/typeform/trigger-on-form-response.definition.js +40 -0
  393. package/src/providers/typeform/trigger-on-form-response.js +68 -0
  394. package/src/providers/vaquill/actions.d.ts +13 -0
  395. package/src/providers/vaquill/actions.js +529 -0
  396. package/src/providers/vaquill/executors.d.ts +4 -0
  397. package/src/providers/vaquill/executors.js +141 -0
  398. package/src/providers/vaquill/schemas.d.ts +67 -0
  399. package/src/providers/vaquill/schemas.js +4953 -0
  400. package/src/providers/vercel/executors.d.ts +2 -0
  401. package/src/providers/vercel/executors.js +2 -0
  402. package/src/providers/vercel/trigger-on-deployment-event.d.ts +2 -0
  403. package/src/providers/vercel/trigger-on-deployment-event.definition.d.ts +5 -0
  404. package/src/providers/vercel/trigger-on-deployment-event.definition.js +41 -0
  405. package/src/providers/vercel/trigger-on-deployment-event.js +102 -0
  406. package/src/providers/weixin_bot/runtime.d.ts +0 -1
  407. package/src/providers/weixin_bot/runtime.js +1 -1
  408. package/src/providers/weixin_store/access-token.d.ts +3 -3
  409. package/src/providers/weixin_store/access-token.js +15 -7
  410. package/src/providers/weixin_store/executors.js +214 -1
  411. package/src/providers/zoom/executors.d.ts +2 -0
  412. package/src/providers/zoom/executors.js +2 -0
  413. package/src/providers/zoom/trigger-on-recording-ready.d.ts +2 -0
  414. package/src/providers/zoom/trigger-on-recording-ready.definition.d.ts +4 -0
  415. package/src/providers/zoom/trigger-on-recording-ready.definition.js +44 -0
  416. package/src/providers/zoom/trigger-on-recording-ready.js +39 -0
  417. package/src/server/api/action-example.js +12 -1
  418. package/src/server/api/pattern-example.js +35 -1
  419. package/src/server/api/trigger-routes.js +1 -1
  420. package/src/server/connect-app.js +1 -0
  421. package/src/triggers/common/integration.d.ts +15 -3
  422. package/src/triggers/common/integration.js +5 -0
  423. package/src/triggers/common/proxy.d.ts +7 -0
  424. package/src/triggers/managed-webhook.d.ts +13 -0
  425. package/src/triggers/managed-webhook.js +48 -0
  426. package/src/triggers/request.d.ts +5 -1
  427. package/src/triggers/request.js +2 -0
  428. package/src/triggers/resources.d.ts +8 -2
  429. package/src/triggers/resources.js +31 -0
  430. package/src/triggers/signature.d.ts +3 -3
  431. package/src/triggers/signature.js +4 -6
  432. package/src/triggers/sources/configuration-schema.d.ts +5 -0
  433. package/src/triggers/sources/configuration-schema.js +118 -0
  434. package/src/triggers/sources/configuration.d.ts +115 -0
  435. package/src/triggers/sources/configuration.js +1 -0
  436. package/src/triggers/sources/definition.d.ts +61 -0
  437. package/src/triggers/sources/definition.js +3 -0
  438. package/src/triggers/sources/feishu-demands.d.ts +6 -0
  439. package/src/triggers/sources/feishu-demands.js +24 -0
  440. package/src/triggers/sources/feishu-events.d.ts +19 -0
  441. package/src/triggers/sources/feishu-events.js +108 -0
  442. package/src/triggers/sources/feishu.d.ts +3 -0
  443. package/src/triggers/sources/feishu.js +85 -0
  444. package/src/triggers/sources/fireflies.d.ts +3 -0
  445. package/src/triggers/sources/fireflies.js +100 -0
  446. package/src/triggers/sources/intercom.d.ts +3 -0
  447. package/src/triggers/sources/intercom.js +86 -0
  448. package/src/triggers/sources/jira.d.ts +3 -0
  449. package/src/triggers/sources/jira.js +120 -0
  450. package/src/triggers/sources/operation.d.ts +42 -0
  451. package/src/triggers/sources/operation.js +146 -0
  452. package/src/triggers/sources/sentry.d.ts +3 -0
  453. package/src/triggers/sources/sentry.js +125 -0
  454. package/src/triggers/sources/signature.d.ts +1 -0
  455. package/src/triggers/sources/signature.js +10 -0
  456. package/src/triggers/sources/slack.d.ts +3 -0
  457. package/src/triggers/sources/slack.js +127 -0
  458. package/src/triggers/sources/zoom.d.ts +3 -0
  459. package/src/triggers/sources/zoom.js +113 -0
  460. package/src/triggers/trigger-runner.d.ts +2 -0
  461. package/src/triggers/trigger-runner.js +52 -16
@@ -0,0 +1,4 @@
1
+ import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
2
+ export declare const credentialValidators: CredentialValidators;
3
+ export declare const executors: ProviderExecutors;
4
+ export declare const proxy: ProviderProxyExecutor;
@@ -0,0 +1,119 @@
1
+ import { optionalRecord, optionalString } from "../../core/cast.js";
2
+ import { requiredResponseRecord, runProviderRequest, ProviderRequestError, providerInputError, providerResponseError, defineApiKeyProviderExecutors, defineProviderProxy, } from "../provider-runtime.js";
3
+ import { ploidActions } from "./actions.js";
4
+ import { ploidEndpointByName } from "./actions.js";
5
+ const baseUrl = "https://api.ploid.com";
6
+ async function request(apiKey, name, input, fetcher, parentSignal) {
7
+ const endpoint = ploidEndpointByName.get(name);
8
+ let path = endpoint.path;
9
+ for (const key of endpoint.pathKeys) {
10
+ const value = String(input[key]);
11
+ if (value === "." || value === "..")
12
+ throw providerInputError(`${key} must not be a dot path segment`);
13
+ path = path.replace(`{${key}}`, encodeURIComponent(value));
14
+ }
15
+ const url = new URL(path, baseUrl);
16
+ for (const key of endpoint.queryKeys) {
17
+ if (input[key] !== undefined)
18
+ url.searchParams.set(key, String(input[key]));
19
+ }
20
+ if (name === "export_set")
21
+ url.searchParams.set("format", "json");
22
+ const body = optionalRecord(input.body);
23
+ const data = name === "start_dataset" ? { ...body, mode: "async" } : body;
24
+ const timeoutMs = name === "sync_people_search"
25
+ ? 150000
26
+ : name === "create_harness_chat_completion"
27
+ ? 100000
28
+ : name === "enrich_person"
29
+ ? 90000
30
+ : name === "create_dataset"
31
+ ? 70000
32
+ : undefined;
33
+ return runProviderRequest({ label: "Ploid", timeoutMs, signal: parentSignal }, async (signal) => {
34
+ const headers = new Headers({ authorization: `Bearer ${apiKey}`, accept: "application/json" });
35
+ if (data !== undefined)
36
+ headers.set("content-type", "application/json");
37
+ const idempotencyKey = optionalString(input.idempotencyKey);
38
+ if (idempotencyKey !== undefined)
39
+ headers.set("Idempotency-Key", idempotencyKey);
40
+ const response = await fetcher(url, {
41
+ method: endpoint.method,
42
+ headers,
43
+ body: data === undefined ? undefined : JSON.stringify(data),
44
+ signal,
45
+ });
46
+ const text = await response.text();
47
+ let payload;
48
+ if (text.trim()) {
49
+ try {
50
+ payload = JSON.parse(text);
51
+ }
52
+ catch { }
53
+ }
54
+ if (!response.ok) {
55
+ const error = optionalRecord(optionalRecord(payload)?.error);
56
+ const code = optionalString(error?.code);
57
+ const message = optionalString(error?.message);
58
+ const requestId = optionalString(error?.request_id);
59
+ const detail = [code, message, requestId ? `request_id=${requestId}` : undefined].filter(Boolean).join(": ");
60
+ throw new ProviderRequestError(response.status, `Ploid request failed (${response.status})${detail ? `: ${detail}` : ""}`, undefined, code && ["invalid_api_key", "expired_api_key", "revoked_api_key"].includes(code)
61
+ ? "authorization_failed"
62
+ : code === "insufficient_scope"
63
+ ? "authorization_failed"
64
+ : "provider_error");
65
+ }
66
+ if (name === "enrich_person" &&
67
+ body?.response_format === "markdown" &&
68
+ response.headers.get("content-type")?.includes("text/markdown"))
69
+ return { markdown: text };
70
+ if (name === "delete_monitor" && !text.trim())
71
+ return { success: true };
72
+ if (name === "export_set" && Array.isArray(payload))
73
+ return { items: payload };
74
+ const result = requiredResponseRecord(payload, "Ploid response");
75
+ if (name === "get_person" || name === "get_person_run") {
76
+ if (!("data" in result))
77
+ throw providerResponseError("Ploid person response is missing data");
78
+ const person = optionalRecord(result.data);
79
+ const runId = optionalString(person?.run_id);
80
+ const pendingStatus = optionalString(person?.status);
81
+ if (runId && !pendingStatus)
82
+ throw providerResponseError("Ploid person run is missing status");
83
+ return {
84
+ ...result,
85
+ status: runId ? pendingStatus : "completed",
86
+ run_id: runId ?? (name === "get_person_run" ? String(input.id) : undefined),
87
+ };
88
+ }
89
+ return result;
90
+ });
91
+ }
92
+ async function execute(actionName, values, context) {
93
+ const { apiKey, fetcher } = context;
94
+ return request(apiKey, actionName, values, fetcher, context.signal);
95
+ }
96
+ export const credentialValidators = {
97
+ async apiKey(input, { fetcher, signal }) {
98
+ const result = await request(input.apiKey, "get_account_profile", {}, fetcher, signal);
99
+ const profile = requiredResponseRecord(result.data, "Ploid account profile");
100
+ const name = [optionalString(profile.first_name), optionalString(profile.last_name)]
101
+ .filter(Boolean)
102
+ .join(" ")
103
+ .trim();
104
+ return {
105
+ profile: { displayName: name || optionalString(profile.email) || "Ploid API Key" },
106
+ grantedScopes: [],
107
+ metadata: { apiBaseUrl: baseUrl },
108
+ };
109
+ },
110
+ };
111
+ export const executors = defineApiKeyProviderExecutors("ploid", Object.fromEntries(ploidActions.map((action) => [action.name, (values, context) => execute(action.name, values, context)])));
112
+ export const proxy = defineProviderProxy({
113
+ service: "ploid",
114
+ baseUrl: baseUrl,
115
+ auth: { type: "api_key_authorization", prefix: "Bearer " },
116
+ customizeRequest({ headers }) {
117
+ headers.set("accept", "application/json");
118
+ },
119
+ });
@@ -419,6 +419,19 @@ export declare function readProviderJsonBody(response: Response, options: ReadPr
419
419
  * Parse an already-read provider response body as JSON.
420
420
  */
421
421
  export declare function parseProviderJsonBodyText(text: string, options: ReadProviderJsonBodyOptions): unknown;
422
+ interface UploadSourceInput {
423
+ url: string;
424
+ fetcher: typeof fetch;
425
+ fieldName: string;
426
+ maximumBytes?: number;
427
+ timeoutMs?: number;
428
+ signal?: AbortSignal;
429
+ }
430
+ /** Download an upload source through public-only egress with a bounded body. */
431
+ export declare function downloadUploadSource(input: UploadSourceInput): Promise<{
432
+ bytes: Uint8Array;
433
+ contentType?: string;
434
+ }>;
422
435
  /**
423
436
  * Store a provider-hosted file in the local transit file service when enabled.
424
437
  */
@@ -262,7 +262,7 @@ export async function readProviderProxyResponse(response, options = {}) {
262
262
  createError: (message) => new ProviderRequestError(413, message),
263
263
  });
264
264
  const contentType = response.headers.get("content-type") ?? "";
265
- const normalizedContentType = contentType.toLowerCase();
265
+ const normalizedContentType = contentType.split(";", 1)[0].trim().toLowerCase();
266
266
  if (bytes.byteLength === 0) {
267
267
  return {
268
268
  status: response.status,
@@ -270,7 +270,19 @@ export async function readProviderProxyResponse(response, options = {}) {
270
270
  data: null,
271
271
  };
272
272
  }
273
- if (normalizedContentType.includes("json")) {
273
+ if (!normalizedContentType) {
274
+ try {
275
+ return {
276
+ status: response.status,
277
+ headers,
278
+ data: new TextDecoder("utf-8", { fatal: true }).decode(bytes),
279
+ };
280
+ }
281
+ catch {
282
+ // Preserve invalid UTF-8 bytes through the base64 fallback.
283
+ }
284
+ }
285
+ if (normalizedContentType === "application/json" || normalizedContentType.endsWith("+json")) {
274
286
  return {
275
287
  status: response.status,
276
288
  headers,
@@ -303,9 +315,13 @@ export async function readProviderProxyErrorMessage(response, fallbackMessage) {
303
315
  return (await readProviderErrorTextBody(response, "proxy error response")) || fallbackMessage;
304
316
  }
305
317
  function isTextProxyContentType(contentType) {
306
- const normalized = contentType.toLowerCase();
318
+ const normalized = contentType.split(";", 1)[0].trim().toLowerCase();
307
319
  return (normalized.startsWith("text/") ||
308
- normalized.includes("xml") ||
320
+ normalized === "application/x-ndjson" ||
321
+ normalized === "application/xml" ||
322
+ normalized === "application/xml-external-parsed-entity" ||
323
+ normalized === "application/xml-dtd" ||
324
+ normalized.endsWith("+xml") ||
309
325
  normalized.includes("javascript") ||
310
326
  normalized.includes("x-www-form-urlencoded"));
311
327
  }
@@ -814,6 +830,23 @@ export function parseProviderJsonBodyText(text, options) {
814
830
  throw new ProviderRequestError(options.invalidJsonStatus ?? 502, options.invalidJsonMessage, error);
815
831
  }
816
832
  }
833
+ /** Download an upload source through public-only egress with a bounded body. */
834
+ export async function downloadUploadSource(input) {
835
+ return runProviderRequest({ label: input.fieldName, timeoutMs: input.timeoutMs ?? 15_000, signal: input.signal }, async (signal) => {
836
+ const response = await createProviderFetch({ fetch: input.fetcher })(input.url, { signal });
837
+ if (!response.ok) {
838
+ void response.body?.cancel().catch(() => undefined);
839
+ throw providerInputError(`${input.fieldName} download failed with HTTP ${response.status}`);
840
+ }
841
+ const bytes = await readBoundedResponseBytes(response, {
842
+ maxBytes: input.maximumBytes ?? 20 * 1024 * 1024,
843
+ fieldName: input.fieldName,
844
+ createError: providerInputError,
845
+ signal,
846
+ });
847
+ return { bytes, contentType: response.headers.get("content-type") ?? undefined };
848
+ });
849
+ }
817
850
  /**
818
851
  * Store a provider-hosted file in the local transit file service when enabled.
819
852
  */
@@ -44,6 +44,7 @@ export const executorModules = {
44
44
  aisa: () => import("./aisa/executors.js"),
45
45
  aitable_ai: () => import("./aitable_ai/executors.js"),
46
46
  aivoov: () => import("./aivoov/executors.js"),
47
+ akta: () => import("./akta/executors.js"),
47
48
  alchemy: () => import("./alchemy/executors.js"),
48
49
  algo_docs: () => import("./algo_docs/executors.js"),
49
50
  algolia: () => import("./algolia/executors.js"),
@@ -272,6 +273,7 @@ export const executorModules = {
272
273
  clinicalkey: () => import("./clinicalkey/executors.js"),
273
274
  clinicaltrials_gov: () => import("./clinicaltrials_gov/executors.js"),
274
275
  clockify: () => import("./clockify/executors.js"),
276
+ cloro: () => import("./cloro/executors.js"),
275
277
  close: () => import("./close/executors.js"),
276
278
  cloudconvert: () => import("./cloudconvert/executors.js"),
277
279
  cloudflare_browser_rendering: () => import("./cloudflare_browser_rendering/executors.js"),
@@ -316,6 +318,7 @@ export const executorModules = {
316
318
  contentstack_content_delivery: () => import("./contentstack_content_delivery/executors.js"),
317
319
  contentstack_content_management: () => import("./contentstack_content_management/executors.js"),
318
320
  context7: () => import("./context7/executors.js"),
321
+ contextdev: () => import("./contextdev/executors.js"),
319
322
  control_d: () => import("./control_d/executors.js"),
320
323
  convertapi: () => import("./convertapi/executors.js"),
321
324
  convex: () => import("./convex/executors.js"),
@@ -376,6 +379,7 @@ export const executorModules = {
376
379
  deepgram: () => import("./deepgram/executors.js"),
377
380
  deepl: () => import("./deepl/executors.js"),
378
381
  deepseek: () => import("./deepseek/executors.js"),
382
+ defillama: () => import("./defillama/executors.js"),
379
383
  delighted: () => import("./delighted/executors.js"),
380
384
  demio: () => import("./demio/executors.js"),
381
385
  demodesk: () => import("./demodesk/executors.js"),
@@ -547,6 +551,7 @@ export const executorModules = {
547
551
  ftshare: () => import("./ftshare/executors.js"),
548
552
  full_contact: () => import("./full_contact/executors.js"),
549
553
  fullenrich: () => import("./fullenrich/executors.js"),
554
+ fundable: () => import("./fundable/executors.js"),
550
555
  fundzwatch: () => import("./fundzwatch/executors.js"),
551
556
  "fusion-api": () => import("./fusion-api/executors.js"),
552
557
  futunn: () => import("./futunn/executors.js"),
@@ -753,6 +758,7 @@ export const executorModules = {
753
758
  kaonavi: () => import("./kaonavi/executors.js"),
754
759
  karakeep: () => import("./karakeep/executors.js"),
755
760
  keen_io: () => import("./keen_io/executors.js"),
761
+ keenable: () => import("./keenable/executors.js"),
756
762
  keepa: () => import("./keepa/executors.js"),
757
763
  keeper_scim: () => import("./keeper_scim/executors.js"),
758
764
  kenjo: () => import("./kenjo/executors.js"),
@@ -776,6 +782,7 @@ export const executorModules = {
776
782
  knock: () => import("./knock/executors.js"),
777
783
  knowbe4: () => import("./knowbe4/executors.js"),
778
784
  kobotoolbox: () => import("./kobotoolbox/executors.js"),
785
+ kolsprite_mcp: () => import("./kolsprite_mcp/executors.js"),
779
786
  komari: () => import("./komari/executors.js"),
780
787
  kommo: () => import("./kommo/executors.js"),
781
788
  kontent_ai: () => import("./kontent_ai/executors.js"),
@@ -827,6 +834,7 @@ export const executorModules = {
827
834
  listinggood: () => import("./listinggood/executors.js"),
828
835
  listmonk: () => import("./listmonk/executors.js"),
829
836
  litellm: () => import("./litellm/executors.js"),
837
+ litescrape: () => import("./litescrape/executors.js"),
830
838
  liveagent: () => import("./liveagent/executors.js"),
831
839
  livesession: () => import("./livesession/executors.js"),
832
840
  livespace: () => import("./livespace/executors.js"),
@@ -847,6 +855,7 @@ export const executorModules = {
847
855
  lumos: () => import("./lumos/executors.js"),
848
856
  luno: () => import("./luno/executors.js"),
849
857
  lusha: () => import("./lusha/executors.js"),
858
+ magichour: () => import("./magichour/executors.js"),
850
859
  magileads: () => import("./magileads/executors.js"),
851
860
  mailbluster: () => import("./mailbluster/executors.js"),
852
861
  mailbox_validator: () => import("./mailbox_validator/executors.js"),
@@ -984,6 +993,7 @@ export const executorModules = {
984
993
  ocr_web_service: () => import("./ocr_web_service/executors.js"),
985
994
  ocrspace: () => import("./ocrspace/executors.js"),
986
995
  octave: () => import("./octave/executors.js"),
996
+ octen: () => import("./octen/executors.js"),
987
997
  octopus_deploy: () => import("./octopus_deploy/executors.js"),
988
998
  odoo: () => import("./odoo/executors.js"),
989
999
  oksign: () => import("./oksign/executors.js"),
@@ -1019,6 +1029,7 @@ export const executorModules = {
1019
1029
  opsgenie: () => import("./opsgenie/executors.js"),
1020
1030
  optimoroute: () => import("./optimoroute/executors.js"),
1021
1031
  oracle_cloud: () => import("./oracle_cloud/executors.js"),
1032
+ orbit: () => import("./orbit/executors.js"),
1022
1033
  orcarouter: () => import("./orcarouter/executors.js"),
1023
1034
  orcid: () => import("./orcid/executors.js"),
1024
1035
  ordinal: () => import("./ordinal/executors.js"),
@@ -1099,6 +1110,7 @@ export const executorModules = {
1099
1110
  platerecognizer: () => import("./platerecognizer/executors.js"),
1100
1111
  plausible_analytics: () => import("./plausible_analytics/executors.js"),
1101
1112
  plisio: () => import("./plisio/executors.js"),
1113
+ ploid: () => import("./ploid/executors.js"),
1102
1114
  plunk: () => import("./plunk/executors.js"),
1103
1115
  pod_ai: () => import("./pod_ai/executors.js"),
1104
1116
  podscribe: () => import("./podscribe/executors.js"),
@@ -1235,6 +1247,7 @@ export const executorModules = {
1235
1247
  samcart: () => import("./samcart/executors.js"),
1236
1248
  sanity: () => import("./sanity/executors.js"),
1237
1249
  sansan: () => import("./sansan/executors.js"),
1250
+ saperly: () => import("./saperly/executors.js"),
1238
1251
  satismeter: () => import("./satismeter/executors.js"),
1239
1252
  saucelabs: () => import("./saucelabs/executors.js"),
1240
1253
  scanmalware: () => import("./scanmalware/executors.js"),
@@ -1252,6 +1265,7 @@ export const executorModules = {
1252
1265
  screenshotbase: () => import("./screenshotbase/executors.js"),
1253
1266
  screenshotone: () => import("./screenshotone/executors.js"),
1254
1267
  search_api: () => import("./search_api/executors.js"),
1268
+ search1api: () => import("./search1api/executors.js"),
1255
1269
  seatable: () => import("./seatable/executors.js"),
1256
1270
  securitytrails: () => import("./securitytrails/executors.js"),
1257
1271
  seedance: () => import("./seedance/executors.js"),
@@ -1386,6 +1400,7 @@ export const executorModules = {
1386
1400
  supervisely: () => import("./supervisely/executors.js"),
1387
1401
  supportbee: () => import("./supportbee/executors.js"),
1388
1402
  surecontact: () => import("./surecontact/executors.js"),
1403
+ surf: () => import("./surf/executors.js"),
1389
1404
  survey_monkey: () => import("./survey_monkey/executors.js"),
1390
1405
  surveymethods: () => import("./surveymethods/executors.js"),
1391
1406
  svix: () => import("./svix/executors.js"),
@@ -1452,6 +1467,7 @@ export const executorModules = {
1452
1467
  timelink: () => import("./timelink/executors.js"),
1453
1468
  timem_space: () => import("./timem_space/executors.js"),
1454
1469
  tinybird: () => import("./tinybird/executors.js"),
1470
+ tinyfish: () => import("./tinyfish/executors.js"),
1455
1471
  tinypng: () => import("./tinypng/executors.js"),
1456
1472
  tinyurl: () => import("./tinyurl/executors.js"),
1457
1473
  tisane: () => import("./tisane/executors.js"),
@@ -1520,6 +1536,7 @@ export const executorModules = {
1520
1536
  validemail: () => import("./validemail/executors.js"),
1521
1537
  valyu: () => import("./valyu/executors.js"),
1522
1538
  vapi: () => import("./vapi/executors.js"),
1539
+ vaquill: () => import("./vaquill/executors.js"),
1523
1540
  vatlayer: () => import("./vatlayer/executors.js"),
1524
1541
  vbout: () => import("./vbout/executors.js"),
1525
1542
  vectera: () => import("./vectera/executors.js"),
@@ -1,4 +1,6 @@
1
1
  import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
2
+ import type { IntegrationDefinition } from "../../triggers/common/integration.ts";
2
3
  export declare const executors: ProviderExecutors;
3
4
  export declare const proxy: ProviderProxyExecutor;
4
5
  export declare const credentialValidators: CredentialValidators;
6
+ export declare const triggers: readonly IntegrationDefinition[];
@@ -1,5 +1,6 @@
1
1
  import { defineApiKeyProviderExecutors, defineProviderProxy } from "../provider-runtime.js";
2
2
  import { resendActionHandlers, resendApiBaseUrl, validateResendCredential } from "./runtime.js";
3
+ import { resendEmailEvent } from "./trigger-on-email-event.js";
3
4
  const service = "resend";
4
5
  export const executors = defineApiKeyProviderExecutors(service, resendActionHandlers);
5
6
  export const proxy = defineProviderProxy({
@@ -13,3 +14,4 @@ export const credentialValidators = {
13
14
  return validateResendCredential(input.apiKey, fetcher, signal);
14
15
  },
15
16
  };
17
+ export const triggers = [resendEmailEvent];
@@ -0,0 +1,2 @@
1
+ import type { IntegrationDefinition } from "../../triggers/common/integration.ts";
2
+ export declare const resendEmailEvent: IntegrationDefinition;
@@ -0,0 +1,4 @@
1
+ import type { TriggerKeySnapshot } from "../../triggers/common/types.ts";
2
+ export declare const snapshot: TriggerKeySnapshot & {
3
+ readonly type: "integration";
4
+ };
@@ -0,0 +1,37 @@
1
+ import { jsonSchema as s } from "../../core/json-schema.js";
2
+ const events = ["email.received", "email.bounced", "email.complained"];
3
+ export const snapshot = {
4
+ key: "resend.on_email_event",
5
+ provider: "resend",
6
+ name: "on_email_event",
7
+ displayName: "Email Received, Bounced or Complained",
8
+ description: "Receives inbound email, bounce, and complaint notifications. Read message bodies and attachments with Actions.",
9
+ definitionVersion: 2,
10
+ type: "integration",
11
+ endpoint: {
12
+ methods: ["POST"],
13
+ body: { formats: ["json"], allowArray: false, allowEmpty: false },
14
+ successStatus: 200,
15
+ },
16
+ configInputs: [
17
+ {
18
+ handle: "eventTypes",
19
+ jsonSchema: {
20
+ type: "array",
21
+ items: { type: "string", enum: events },
22
+ minItems: 1,
23
+ uniqueItems: true,
24
+ title: "Events",
25
+ },
26
+ nullable: false,
27
+ value: events,
28
+ },
29
+ ],
30
+ outputs: [
31
+ { handle: "event", jsonSchema: { type: "string", enum: events }, nullable: false },
32
+ { handle: "deliveryId", jsonSchema: s.string(), nullable: false },
33
+ { handle: "emailId", jsonSchema: s.string(), nullable: false },
34
+ { handle: "createdAt", jsonSchema: s.string(), nullable: false },
35
+ { handle: "body", jsonSchema: { type: "object" }, nullable: false },
36
+ ],
37
+ };
@@ -0,0 +1,125 @@
1
+ import { PermanentIntegrationError, TransientIntegrationError } from "../../triggers/common/integration.js";
2
+ import { isJsonObject } from "../../triggers/common/json.js";
3
+ import { reconcileManagedWebhook, webhookRequest } from "../../triggers/managed-webhook.js";
4
+ import { bytes, verifyBase64Hmac } from "../../triggers/signature.js";
5
+ import { snapshot } from "./trigger-on-email-event.definition.js";
6
+ function webhook(value) {
7
+ if (!isJsonObject(value) ||
8
+ typeof value.id != "string" ||
9
+ !value.id ||
10
+ typeof value.signing_secret != "string" ||
11
+ !value.signing_secret.startsWith("whsec_"))
12
+ throw new TransientIntegrationError("Resend returned an invalid webhook identity or signing secret.");
13
+ try {
14
+ if (!atob(value.signing_secret.slice(6)).length)
15
+ throw new Error();
16
+ }
17
+ catch {
18
+ throw new TransientIntegrationError("Resend returned an invalid webhook signing secret.");
19
+ }
20
+ return { id: value.id, secret: value.signing_secret };
21
+ }
22
+ export const resendEmailEvent = {
23
+ snapshot,
24
+ initialState: { checkpoint: null, subscription: {} },
25
+ async reconcile(context) {
26
+ return reconcileManagedWebhook(context, {
27
+ async find() {
28
+ const found = [];
29
+ let after;
30
+ for (let page = 0; page < 100; page++) {
31
+ const result = await webhookRequest(context, {
32
+ endpoint: "/webhooks",
33
+ method: "GET",
34
+ query: after == null ? { limit: 100 } : { limit: 100, after },
35
+ });
36
+ if (!isJsonObject(result.data) ||
37
+ !Array.isArray(result.data.data) ||
38
+ typeof result.data.has_more != "boolean")
39
+ throw new TransientIntegrationError("Resend returned an invalid webhook page.");
40
+ for (const item of result.data.data) {
41
+ if (!isJsonObject(item) || typeof item.id != "string" || !item.id || typeof item.endpoint != "string")
42
+ throw new TransientIntegrationError("Resend returned an invalid webhook.");
43
+ if (item.endpoint == context.endpointUrl) {
44
+ const detail = await webhookRequest(context, {
45
+ endpoint: `/webhooks/${encodeURIComponent(item.id)}`,
46
+ method: "GET",
47
+ });
48
+ found.push(webhook(detail.data));
49
+ }
50
+ }
51
+ if (!result.data.has_more)
52
+ return found;
53
+ const last = result.data.data.at(-1);
54
+ if (!isJsonObject(last) || typeof last.id != "string" || !last.id || last.id == after)
55
+ throw new TransientIntegrationError("Resend webhook pagination did not advance.");
56
+ after = last.id;
57
+ }
58
+ throw new PermanentIntegrationError("The Resend webhook list exceeds 10000 entries.");
59
+ },
60
+ async create() {
61
+ const result = await webhookRequest(context, {
62
+ endpoint: "/webhooks",
63
+ method: "POST",
64
+ body: { endpoint: context.endpointUrl, events: context.config.eventTypes },
65
+ });
66
+ return webhook(result.data);
67
+ },
68
+ async align(id) {
69
+ await webhookRequest(context, {
70
+ endpoint: `/webhooks/${encodeURIComponent(id)}`,
71
+ method: "PATCH",
72
+ body: { endpoint: context.endpointUrl, events: context.config.eventTypes, status: "enabled" },
73
+ });
74
+ },
75
+ async remove(id) {
76
+ await webhookRequest(context, { endpoint: `/webhooks/${encodeURIComponent(id)}`, method: "DELETE" });
77
+ },
78
+ });
79
+ },
80
+ async receive(context) {
81
+ const secret = context.state?.subscription.secret;
82
+ if (typeof secret != "string")
83
+ return { outcome: "respond", status: 503, body: "", contentType: "text/plain" };
84
+ const id = context.header("svix-id");
85
+ const timestamp = context.header("svix-timestamp");
86
+ const signatures = context.header("svix-signature")?.split(" ") ?? [];
87
+ let valid = false;
88
+ if (id &&
89
+ timestamp &&
90
+ Number.isInteger(Number(timestamp)) &&
91
+ Math.abs(context.now.getTime() / 1000 - Number(timestamp)) <= 300) {
92
+ const key = Uint8Array.from(atob(secret.slice(6)), (character) => character.charCodeAt(0));
93
+ for (const signature of signatures) {
94
+ if (signature.startsWith("v1,") &&
95
+ (await verifyBase64Hmac(key, [bytes(`${id}.${timestamp}.`), context.rawBody], signature.slice(3)))) {
96
+ valid = true;
97
+ break;
98
+ }
99
+ }
100
+ }
101
+ if (!valid)
102
+ return { outcome: "respond", status: 401, body: "", contentType: "text/plain" };
103
+ const body = context.payload;
104
+ if (!isJsonObject(body) ||
105
+ typeof body.type != "string" ||
106
+ !context.config.eventTypes.includes(body.type))
107
+ return { outcome: "ignored", reason: "Resend event does not match." };
108
+ if (!isJsonObject(body.data) ||
109
+ typeof body.data.email_id != "string" ||
110
+ !body.data.email_id ||
111
+ typeof body.created_at != "string")
112
+ return { outcome: "respond", status: 400, body: "", contentType: "text/plain" };
113
+ return {
114
+ outcome: "event",
115
+ dedupeKey: id,
116
+ outputs: {
117
+ event: body.type,
118
+ deliveryId: id,
119
+ emailId: body.data.email_id,
120
+ createdAt: body.created_at,
121
+ body: body.data,
122
+ },
123
+ };
124
+ },
125
+ };
@@ -0,0 +1,107 @@
1
+ export declare const chatterFeedRoutes: {
2
+ readonly favorites: {
3
+ readonly path: "/chatter/feeds/favorites/{userId}/{favoriteId}/feed-elements";
4
+ readonly communityRequired: false;
5
+ readonly parameters: readonly ["elementsPerBundle", "page", "pageSize", "recentCommentCount", "sort"];
6
+ };
7
+ readonly filter: {
8
+ readonly path: "/chatter/feeds/filter/{userId}/{keyPrefix}/feed-elements";
9
+ readonly communityRequired: false;
10
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"];
11
+ };
12
+ readonly bookmarks: {
13
+ readonly path: "/chatter/feeds/bookmarks/{userId}/feed-elements";
14
+ readonly communityRequired: false;
15
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"];
16
+ };
17
+ readonly company: {
18
+ readonly path: "/chatter/feeds/company/feed-elements";
19
+ readonly communityRequired: false;
20
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"];
21
+ };
22
+ readonly "direct-messages": {
23
+ readonly path: "/chatter/feeds/direct-messages/feed-elements";
24
+ readonly communityRequired: false;
25
+ readonly parameters: readonly ["page", "pageSize", "recentCommentCount", "sort"];
26
+ };
27
+ readonly draft: {
28
+ readonly path: "/chatter/feeds/draft/{userId}/feed-elements";
29
+ readonly communityRequired: false;
30
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"];
31
+ };
32
+ readonly files: {
33
+ readonly path: "/chatter/feeds/files/{userId}/feed-elements";
34
+ readonly communityRequired: false;
35
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"];
36
+ };
37
+ readonly groups: {
38
+ readonly path: "/chatter/feeds/groups/{userId}/feed-elements";
39
+ readonly communityRequired: false;
40
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"];
41
+ };
42
+ readonly isolated: {
43
+ readonly path: "/chatter/feeds/isolated/feed-elements";
44
+ readonly communityRequired: false;
45
+ readonly parameters: readonly ["page", "pageSize", "q", "sort"];
46
+ };
47
+ readonly mute: {
48
+ readonly path: "/chatter/feeds/mute/{userId}/feed-elements";
49
+ readonly communityRequired: false;
50
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"];
51
+ };
52
+ readonly news: {
53
+ readonly path: "/chatter/feeds/news/{userId}/feed-elements";
54
+ readonly communityRequired: false;
55
+ readonly parameters: readonly ["density", "elementsPerBundle", "filter", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"];
56
+ };
57
+ readonly "pending-review": {
58
+ readonly path: "/chatter/feeds/pending-review/feed-elements";
59
+ readonly communityRequired: false;
60
+ readonly parameters: readonly ["page", "pageSize", "q", "sort"];
61
+ };
62
+ readonly people: {
63
+ readonly path: "/chatter/feeds/people/{userId}/feed-elements";
64
+ readonly communityRequired: false;
65
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"];
66
+ };
67
+ readonly record: {
68
+ readonly path: "/chatter/feeds/record/{recordId}/feed-elements";
69
+ readonly communityRequired: false;
70
+ readonly parameters: readonly ["customFilter", "density", "elementsPerBundle", "filter", "page", "pageSize", "q", "recentCommentCount", "showInternalOnly", "sort", "threadedCommentsCollapsed", "updatedSince"];
71
+ };
72
+ readonly streams: {
73
+ readonly path: "/chatter/feeds/streams/{streamId}/feed-elements";
74
+ readonly communityRequired: false;
75
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "recentCommentCount", "sort", "updatedSince"];
76
+ };
77
+ readonly to: {
78
+ readonly path: "/chatter/feeds/to/{userId}/feed-elements";
79
+ readonly communityRequired: false;
80
+ readonly parameters: readonly ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"];
81
+ };
82
+ readonly topics: {
83
+ readonly path: "/chatter/feeds/topics/{topicId}/feed-elements";
84
+ readonly communityRequired: false;
85
+ readonly parameters: readonly ["filter", "page", "pageSize", "sort"];
86
+ };
87
+ readonly "user-profile": {
88
+ readonly path: "/chatter/feeds/user-profile/{userId}/feed-elements";
89
+ readonly communityRequired: false;
90
+ readonly parameters: readonly ["density", "elementsPerBundle", "filter", "page", "pageSize", "q", "recentCommentCount", "sort", "threadedCommentsCollapsed"];
91
+ };
92
+ readonly "direct-message-moderation": {
93
+ readonly path: "/chatter/feeds/direct-message-moderation/feed-elements";
94
+ readonly communityRequired: true;
95
+ readonly parameters: readonly ["page", "pageSize", "q", "sort"];
96
+ };
97
+ readonly home: {
98
+ readonly path: "/chatter/feeds/home/feed-elements";
99
+ readonly communityRequired: true;
100
+ readonly parameters: readonly ["filter", "page", "pageSize", "q", "sort", "threadedCommentsCollapsed"];
101
+ };
102
+ readonly moderation: {
103
+ readonly path: "/chatter/feeds/moderation/feed-elements";
104
+ readonly communityRequired: true;
105
+ readonly parameters: readonly ["page", "pageSize", "q", "sort"];
106
+ };
107
+ };