@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,2 @@
1
+ import type { SurfActionDefinition } from "./actions.ts";
2
+ export declare const equityDefinitions: SurfActionDefinition[];
@@ -0,0 +1,322 @@
1
+ import { s } from "../../core/json-schema.js";
2
+ import { arrayResponseSchema, endDateSchema, financialPeriodLimitSchema, objectResponseSchema, } from "./shared-schemas.js";
3
+ export const equityDefinitions = [
4
+ {
5
+ name: "equity_balance_sheet",
6
+ description: "Equity Balance Sheet.",
7
+ operationType: "read",
8
+ route: {
9
+ path: "/gateway/v1/equity/balance-sheet",
10
+ method: "GET",
11
+ parameters: [
12
+ { name: "symbol", in: "query", field: "symbol" },
13
+ { name: "period", in: "query", field: "period" },
14
+ { name: "end_date", in: "query", field: "end_date" },
15
+ { name: "limit", in: "query", field: "limit" },
16
+ ],
17
+ body: false,
18
+ },
19
+ inputSchema: s.object("Parameters for Equity Balance Sheet.", {
20
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
21
+ period: s.withEnum(s.string('Financial period Default: "annual".'), ["quarterly", "annual"]),
22
+ end_date: endDateSchema,
23
+ limit: financialPeriodLimitSchema,
24
+ }, { required: ["symbol"], additionalProperties: false }),
25
+ outputSchema: arrayResponseSchema,
26
+ },
27
+ {
28
+ name: "equity_candles",
29
+ description: "Equity Price Candles.",
30
+ operationType: "read",
31
+ route: {
32
+ path: "/gateway/v1/equity/candles",
33
+ method: "GET",
34
+ parameters: [
35
+ { name: "symbol", in: "query", field: "symbol" },
36
+ { name: "interval", in: "query", field: "interval" },
37
+ { name: "interval_multiplier", in: "query", field: "interval_multiplier" },
38
+ { name: "start_date", in: "query", field: "start_date" },
39
+ { name: "end_date", in: "query", field: "end_date" },
40
+ ],
41
+ body: false,
42
+ },
43
+ inputSchema: s.object("Parameters for Equity Price Candles.", {
44
+ symbol: s.withExamples(s.string("US equity ticker symbol", { minLength: 1, maxLength: 20 }), ["AAPL"]),
45
+ interval: s.withEnum(s.string('Candle interval Default: "day".'), ["day", "week", "month", "year"]),
46
+ interval_multiplier: s.integer("Number of intervals represented by each candle Default: 1.", {
47
+ minimum: 1,
48
+ maximum: 100,
49
+ }),
50
+ start_date: s.withExamples(s.string("Inclusive start date in YYYY-MM-DD format; defaults to one year before end_date"), ["2025-01-01"]),
51
+ end_date: s.withExamples(s.string("Inclusive end date in YYYY-MM-DD format; defaults to the current date in US Eastern time"), ["2025-12-31"]),
52
+ }, { required: ["symbol"], additionalProperties: false }),
53
+ outputSchema: objectResponseSchema,
54
+ },
55
+ {
56
+ name: "equity_cash_flow",
57
+ description: "Equity Cash Flow.",
58
+ operationType: "read",
59
+ route: {
60
+ path: "/gateway/v1/equity/cash-flow",
61
+ method: "GET",
62
+ parameters: [
63
+ { name: "symbol", in: "query", field: "symbol" },
64
+ { name: "period", in: "query", field: "period" },
65
+ { name: "end_date", in: "query", field: "end_date" },
66
+ { name: "limit", in: "query", field: "limit" },
67
+ ],
68
+ body: false,
69
+ },
70
+ inputSchema: s.object("Parameters for Equity Cash Flow.", {
71
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
72
+ period: s.withEnum(s.string('Financial period Default: "annual".'), ["quarterly", "ytd", "annual", "ttm"]),
73
+ end_date: endDateSchema,
74
+ limit: financialPeriodLimitSchema,
75
+ }, { required: ["symbol"], additionalProperties: false }),
76
+ outputSchema: arrayResponseSchema,
77
+ },
78
+ {
79
+ name: "equity_etf_holdings",
80
+ description: "ETF Holdings.",
81
+ operationType: "read",
82
+ route: {
83
+ path: "/gateway/v1/equity/etf/holdings",
84
+ method: "GET",
85
+ parameters: [
86
+ { name: "symbol", in: "query", field: "symbol" },
87
+ { name: "as_of", in: "query", field: "as_of" },
88
+ { name: "asset_class", in: "query", field: "asset_class" },
89
+ { name: "limit", in: "query", field: "limit" },
90
+ { name: "offset", in: "query", field: "offset" },
91
+ ],
92
+ body: false,
93
+ },
94
+ inputSchema: s.object("Parameters for ETF Holdings.", {
95
+ symbol: s.withExamples(s.string("US-listed ETF or index-fund ticker symbol", { minLength: 1, maxLength: 20 }), [
96
+ "SPY",
97
+ ]),
98
+ as_of: s.withExamples(s.string("Select the composition effective on or before this YYYY-MM-DD date; the response also includes its immediately previous snapshot"), ["2026-03-31"]),
99
+ asset_class: s.withEnum(s.string("Filter holdings by instrument type"), ["equity", "bond"]),
100
+ limit: s.integer("Maximum holdings to return Default: 50.", { minimum: 1, maximum: 1000 }),
101
+ offset: s.integer("Number of holdings to skip Default: 0.", { minimum: 0 }),
102
+ }, { required: ["symbol"], additionalProperties: false }),
103
+ outputSchema: objectResponseSchema,
104
+ },
105
+ {
106
+ name: "equity_filings",
107
+ description: "Equity SEC Filings.",
108
+ operationType: "read",
109
+ route: {
110
+ path: "/gateway/v1/equity/filings",
111
+ method: "GET",
112
+ parameters: [
113
+ { name: "symbol", in: "query", field: "symbol" },
114
+ { name: "limit", in: "query", field: "limit" },
115
+ { name: "offset", in: "query", field: "offset" },
116
+ ],
117
+ body: false,
118
+ },
119
+ inputSchema: s.object("Parameters for Equity SEC Filings.", {
120
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
121
+ limit: s.integer("Results per page Default: 20.", { minimum: 1, maximum: 100 }),
122
+ offset: s.integer("Pagination offset Default: 0.", { minimum: 0 }),
123
+ }, { required: ["symbol"], additionalProperties: false }),
124
+ outputSchema: arrayResponseSchema,
125
+ },
126
+ {
127
+ name: "equity_income_statement",
128
+ description: "Equity Income Statement.",
129
+ operationType: "read",
130
+ route: {
131
+ path: "/gateway/v1/equity/income-statement",
132
+ method: "GET",
133
+ parameters: [
134
+ { name: "symbol", in: "query", field: "symbol" },
135
+ { name: "period", in: "query", field: "period" },
136
+ { name: "end_date", in: "query", field: "end_date" },
137
+ { name: "limit", in: "query", field: "limit" },
138
+ ],
139
+ body: false,
140
+ },
141
+ inputSchema: s.object("Parameters for Equity Income Statement.", {
142
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
143
+ period: s.withEnum(s.string('Financial period Default: "annual".'), ["quarterly", "ytd", "annual", "ttm"]),
144
+ end_date: endDateSchema,
145
+ limit: financialPeriodLimitSchema,
146
+ }, { required: ["symbol"], additionalProperties: false }),
147
+ outputSchema: arrayResponseSchema,
148
+ },
149
+ {
150
+ name: "equity_latest_filings",
151
+ description: "Latest Equity Filings.",
152
+ operationType: "read",
153
+ route: {
154
+ path: "/gateway/v1/equity/latest-filings",
155
+ method: "GET",
156
+ parameters: [{ name: "limit", in: "query", field: "limit" }],
157
+ body: false,
158
+ },
159
+ inputSchema: s.object("Parameters for Latest Equity Filings.", { limit: s.integer("Maximum filings to return Default: 4.", { minimum: 1, maximum: 20 }) }, { required: [], additionalProperties: false }),
160
+ outputSchema: arrayResponseSchema,
161
+ },
162
+ {
163
+ name: "equity_latest_financials",
164
+ description: "Latest Equity Financials.",
165
+ operationType: "read",
166
+ route: {
167
+ path: "/gateway/v1/equity/latest-financials",
168
+ method: "GET",
169
+ parameters: [
170
+ { name: "limit", in: "query", field: "limit" },
171
+ { name: "market_cap_min", in: "query", field: "market_cap_min" },
172
+ ],
173
+ body: false,
174
+ },
175
+ inputSchema: s.object("Parameters for Latest Equity Financials.", {
176
+ limit: s.integer("Maximum companies to return Default: 4.", { minimum: 1, maximum: 20 }),
177
+ market_cap_min: s.nullable(s.number("Optional minimum current market capitalization in USD; omit to disable this filter", {
178
+ minimum: 0,
179
+ })),
180
+ }, { required: [], additionalProperties: false }),
181
+ outputSchema: arrayResponseSchema,
182
+ },
183
+ {
184
+ name: "equity_listings",
185
+ description: "Equity Listings.",
186
+ operationType: "read",
187
+ route: {
188
+ path: "/gateway/v1/equity/listings",
189
+ method: "GET",
190
+ parameters: [
191
+ { name: "symbol", in: "query", field: "symbol" },
192
+ { name: "limit", in: "query", field: "limit" },
193
+ { name: "offset", in: "query", field: "offset" },
194
+ ],
195
+ body: false,
196
+ },
197
+ inputSchema: s.object("Parameters for Equity Listings.", {
198
+ symbol: s.withExamples(s.string("Ticker used to resolve the issuer whose current verified stock listings are returned"), ["AAPL"]),
199
+ limit: s.integer("Results per page Default: 20.", { minimum: 1, maximum: 100 }),
200
+ offset: s.integer("Pagination offset Default: 0.", { minimum: 0 }),
201
+ }, { required: ["symbol"], additionalProperties: false }),
202
+ outputSchema: arrayResponseSchema,
203
+ },
204
+ {
205
+ name: "equity_meta",
206
+ description: "Equity Metadata.",
207
+ operationType: "read",
208
+ route: {
209
+ path: "/gateway/v1/equity/meta",
210
+ method: "GET",
211
+ parameters: [
212
+ { name: "symbol", in: "query", field: "symbol" },
213
+ { name: "include_tokenized", in: "query", field: "include_tokenized" },
214
+ ],
215
+ body: false,
216
+ },
217
+ inputSchema: s.object("Parameters for Equity Metadata.", {
218
+ symbol: s.withExamples(s.string("One or more comma-separated US stock or ETF ticker symbols; at most 20 unique symbols", {
219
+ minLength: 1,
220
+ maxLength: 419,
221
+ }), ["AAPL,NVDA,SPY"]),
222
+ include_tokenized: s.boolean("Include tokenized counterparts of each stock — issuer-minted crypto tokens tracking the equity, with their chains and contract addresses. Off by default: most symbols have none, and the payload grows with a 20-symbol request."),
223
+ }, { required: ["symbol"], additionalProperties: false }),
224
+ outputSchema: arrayResponseSchema,
225
+ },
226
+ {
227
+ name: "equity_financial_metrics",
228
+ description: "Equity Financial Metrics.",
229
+ operationType: "read",
230
+ route: {
231
+ path: "/gateway/v1/equity/metrics",
232
+ method: "GET",
233
+ parameters: [
234
+ { name: "symbol", in: "query", field: "symbol" },
235
+ { name: "period", in: "query", field: "period" },
236
+ { name: "end_date", in: "query", field: "end_date" },
237
+ { name: "limit", in: "query", field: "limit" },
238
+ ],
239
+ body: false,
240
+ },
241
+ inputSchema: s.object("Parameters for Equity Financial Metrics.", {
242
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
243
+ period: s.withEnum(s.string('Financial metric period Default: "ttm".'), ["quarterly", "annual", "ttm"]),
244
+ end_date: endDateSchema,
245
+ limit: financialPeriodLimitSchema,
246
+ }, { required: ["symbol"], additionalProperties: false }),
247
+ outputSchema: arrayResponseSchema,
248
+ },
249
+ {
250
+ name: "equity_overview",
251
+ description: "Equity Financial Overview.",
252
+ operationType: "read",
253
+ route: {
254
+ path: "/gateway/v1/equity/overview",
255
+ method: "GET",
256
+ parameters: [
257
+ { name: "symbol", in: "query", field: "symbol" },
258
+ { name: "period", in: "query", field: "period" },
259
+ { name: "end_date", in: "query", field: "end_date" },
260
+ { name: "limit", in: "query", field: "limit" },
261
+ ],
262
+ body: false,
263
+ },
264
+ inputSchema: s.object("Parameters for Equity Financial Overview.", {
265
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
266
+ period: s.withEnum(s.string('Financial period Default: "ttm".'), ["quarterly", "ytd", "annual", "ttm"]),
267
+ end_date: endDateSchema,
268
+ limit: financialPeriodLimitSchema,
269
+ }, { required: ["symbol"], additionalProperties: false }),
270
+ outputSchema: arrayResponseSchema,
271
+ },
272
+ {
273
+ name: "equity_company_profile",
274
+ description: "Equity Profile.",
275
+ operationType: "read",
276
+ route: {
277
+ path: "/gateway/v1/equity/profile",
278
+ method: "GET",
279
+ parameters: [{ name: "symbol", in: "query", field: "symbol" }],
280
+ body: false,
281
+ },
282
+ inputSchema: s.object("Parameters for Equity Profile.", { symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]) }, { required: ["symbol"], additionalProperties: false }),
283
+ outputSchema: objectResponseSchema,
284
+ },
285
+ {
286
+ name: "equity_segments",
287
+ description: "Equity Segment Financials.",
288
+ operationType: "read",
289
+ route: {
290
+ path: "/gateway/v1/equity/segments",
291
+ method: "GET",
292
+ parameters: [
293
+ { name: "symbol", in: "query", field: "symbol" },
294
+ { name: "period", in: "query", field: "period" },
295
+ { name: "statement_type", in: "query", field: "statement_type" },
296
+ { name: "metric_code", in: "query", field: "metric_code" },
297
+ { name: "dimension_type", in: "query", field: "dimension_type" },
298
+ { name: "label", in: "query", field: "label" },
299
+ { name: "start_date", in: "query", field: "start_date" },
300
+ { name: "end_date", in: "query", field: "end_date" },
301
+ { name: "limit", in: "query", field: "limit" },
302
+ { name: "offset", in: "query", field: "offset" },
303
+ ],
304
+ body: false,
305
+ },
306
+ inputSchema: s.object("Parameters for Equity Segment Financials.", {
307
+ symbol: s.withExamples(s.string("US equity ticker symbol"), ["AAPL"]),
308
+ period: s.withEnum(s.string('Financial period Default: "annual".'), ["quarterly", "annual"]),
309
+ statement_type: s.withEnum(s.string("Optional statement family"), ["income", "balance_sheet", "cash_flow"]),
310
+ metric_code: s.string("Optional normalized metric code"),
311
+ dimension_type: s.string("Optional provider dimension key", {
312
+ pattern: "^[a-z][a-z0-9_]*$",
313
+ }),
314
+ label: s.string("Optional provider segment label"),
315
+ start_date: s.string("Inclusive period start", { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }),
316
+ end_date: s.string("Inclusive period end", { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }),
317
+ limit: s.integer("Maximum facts to return Default: 20.", { minimum: 1, maximum: 100 }),
318
+ offset: s.integer("Number of facts to skip Default: 0.", { minimum: 0 }),
319
+ }, { required: ["symbol"], additionalProperties: false }),
320
+ outputSchema: arrayResponseSchema,
321
+ },
322
+ ];
@@ -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,131 @@
1
+ import { optionalRecord, optionalString, optionalNumber } from "../../core/cast.js";
2
+ import { requiredResponseRecord, runProviderRequest, providerUserAgent, ProviderRequestError, providerInputError, providerResponseError, defineApiKeyProviderExecutors, defineProviderProxy, } from "../provider-runtime.js";
3
+ import { surfActions } from "./actions.js";
4
+ import { surfRoutes } from "./actions.js";
5
+ const baseUrl = "https://api.asksurf.ai";
6
+ const validationEndpoint = "/gateway/v1/me/credit-balance";
7
+ function requestSurf(request, fetcher, parentSignal) {
8
+ return runProviderRequest({ label: "Surf", timeoutMs: request.timeoutMs, signal: parentSignal }, async (signal) => {
9
+ const response = await fetcher(request.url, {
10
+ method: request.method,
11
+ headers: request.headers,
12
+ body: request.body,
13
+ signal,
14
+ });
15
+ const text = await response.text();
16
+ if (response.ok && request.csv)
17
+ return { csv: text };
18
+ let payload;
19
+ try {
20
+ payload = JSON.parse(text);
21
+ }
22
+ catch {
23
+ throw new ProviderRequestError(response.ok ? 502 : response.status, response.ok ? "Surf returned invalid JSON" : `Surf request failed (HTTP ${response.status})`, undefined, "provider_error");
24
+ }
25
+ if (!response.ok) {
26
+ const error = optionalRecord(optionalRecord(payload)?.error);
27
+ const code = optionalString(error?.code);
28
+ const message = optionalString(error?.message) ?? `Surf request failed (HTTP ${response.status})`;
29
+ throw new ProviderRequestError(request.validation && code === "UNAUTHORIZED" ? 400 : response.status, code ? `${code}: ${message}` : message, undefined, code === "UNAUTHORIZED"
30
+ ? request.validation
31
+ ? "invalid_input"
32
+ : "authorization_failed"
33
+ : code === "RATE_LIMITED"
34
+ ? "rate_limited"
35
+ : "provider_error");
36
+ }
37
+ return requiredResponseRecord(payload, "Surf response");
38
+ });
39
+ }
40
+ function requestHeaders(apiKey) {
41
+ return new Headers({
42
+ authorization: `Bearer ${apiKey}`,
43
+ accept: "application/json",
44
+ "user-agent": providerUserAgent,
45
+ });
46
+ }
47
+ async function execute(actionName, values, context) {
48
+ const { apiKey, fetcher } = context;
49
+ const route = surfRoutes[actionName];
50
+ if (!route)
51
+ throw providerInputError("Unknown action route");
52
+ let pathname = route.path;
53
+ const headers = requestHeaders(apiKey);
54
+ const query = new URLSearchParams();
55
+ const body = { ...values };
56
+ for (const parameter of route.parameters) {
57
+ const field = parameter.in === "header" ? parameter.name.toLowerCase().replaceAll("-", "_") : parameter.name;
58
+ const value = values[field];
59
+ delete body[field];
60
+ if (value === undefined || value === null)
61
+ continue;
62
+ if (parameter.in === "path") {
63
+ const segment = String(value);
64
+ if (segment === "." || segment === "..") {
65
+ throw providerInputError(`${field} must not be a dot path segment`);
66
+ }
67
+ pathname = pathname.replace(`{${parameter.name}}`, encodeURIComponent(segment));
68
+ }
69
+ else if (parameter.in === "header") {
70
+ headers.set(parameter.name, String(value));
71
+ }
72
+ else {
73
+ query.set(parameter.name, Array.isArray(value) ? value.join(",") : String(value));
74
+ }
75
+ }
76
+ if (actionName === "research")
77
+ body.stream = false;
78
+ if (route.body)
79
+ headers.set("content-type", "application/json");
80
+ const csv = actionName === "onchain_sql_job_results" && values.format === "csv";
81
+ if (csv)
82
+ headers.set("accept", "text/csv");
83
+ const url = new URL(pathname, baseUrl);
84
+ url.search = query.toString();
85
+ const result = await requestSurf({
86
+ url,
87
+ method: route.method.toUpperCase(),
88
+ headers,
89
+ body: route.body ? JSON.stringify(body) : undefined,
90
+ csv,
91
+ timeoutMs: actionName === "web_fetch"
92
+ ? (optionalNumber(values.timeout) ?? 30000) + 5000
93
+ : actionName === "research"
94
+ ? 300000
95
+ : actionName === "onchain_sql"
96
+ ? 45000
97
+ : undefined,
98
+ }, fetcher, context.signal);
99
+ if (["onchain_sql", "onchain_sql_job_create", "onchain_sql_job_get", "onchain_sql_job_cancel"].includes(actionName)) {
100
+ const data = optionalRecord(result.data);
101
+ const jobId = optionalString(data?.job_id);
102
+ const status = optionalString(data?.status);
103
+ if (jobId && status)
104
+ return { ...result, job_id: jobId, status };
105
+ if (actionName !== "onchain_sql") {
106
+ throw providerResponseError("Surf SQL job response is missing job_id or status");
107
+ }
108
+ }
109
+ return result;
110
+ }
111
+ export const credentialValidators = {
112
+ async apiKey(input, { fetcher, signal }) {
113
+ await requestSurf({
114
+ url: new URL(validationEndpoint, baseUrl),
115
+ method: "GET",
116
+ headers: requestHeaders(input.apiKey),
117
+ validation: true,
118
+ }, fetcher, signal);
119
+ return { profile: { displayName: "Surf API Key" }, grantedScopes: [], metadata: { validationEndpoint } };
120
+ },
121
+ };
122
+ export const executors = defineApiKeyProviderExecutors("surf", Object.fromEntries(surfActions.map((action) => [action.name, (values, context) => execute(action.name, values, context)])));
123
+ export const proxy = defineProviderProxy({
124
+ service: "surf",
125
+ baseUrl: baseUrl,
126
+ auth: { type: "api_key_authorization", prefix: "Bearer " },
127
+ customizeRequest({ headers }) {
128
+ headers.set("accept", "application/json");
129
+ headers.set("user-agent", providerUserAgent);
130
+ },
131
+ });
@@ -0,0 +1,2 @@
1
+ import type { SurfActionDefinition } from "./actions.ts";
2
+ export declare const marketDefinitions: SurfActionDefinition[];