@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,130 @@
1
+ import { s } from "../../core/json-schema.js";
2
+ export const yelpTools = [
3
+ {
4
+ name: "yelp_place",
5
+ path: "/api/yelp/place",
6
+ description: "Get a Yelp business's details and menu.",
7
+ input: s.object("Yelp Place parameters.", {
8
+ place_id: s.string("Required Yelp encoded business ID or business alias."),
9
+ yelp_domain: s.string("Supported localized Yelp hostname."),
10
+ business_alert: s.boolean("Include business alert information when available."),
11
+ full_menu: s.boolean("Fetch the full menu when available; otherwise return place details with an explanation."),
12
+ menu_name: s.nullable(s.string("Select a named menu when more than one is available. Requires full_menu=true.")),
13
+ }, { required: ["place_id"] }),
14
+ asyncInput: s.object("Yelp Place asynchronous parameters.", {
15
+ place_id: s.string("Required Yelp encoded business ID or business alias."),
16
+ yelp_domain: s.string("Supported localized Yelp hostname."),
17
+ business_alert: s.boolean("Include business alert information when available."),
18
+ full_menu: s.boolean("Fetch the full menu when available; otherwise return place details with an explanation."),
19
+ menu_name: s.string("Select a named menu when more than one is available. Requires full_menu=true."),
20
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
21
+ }, { required: ["place_id"] }),
22
+ output: s.looseObject("Yelp Place response.", {
23
+ search_metadata: s.nullable(s.looseObject("search metadata value.", {})),
24
+ search_parameters: s.nullable(s.looseObject("search parameters value.", {})),
25
+ search_information: s.nullable(s.looseObject("search information value.", {})),
26
+ place_results: s.nullable(s.looseObject("place results value.", {})),
27
+ full_menu_results: s.nullable(s.looseObject("full menu results value.", {})),
28
+ error: s.nullable(s.string("error value.")),
29
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
30
+ format: "uri",
31
+ }),
32
+ }),
33
+ },
34
+ {
35
+ name: "yelp_reviews",
36
+ path: "/api/yelp/reviews",
37
+ description: "Get reviews for a Yelp business.",
38
+ input: s.object("Yelp Reviews parameters.", {
39
+ place_id: s.string("Required encoded Yelp business identifier."),
40
+ yelp_domain: s.string("Supported localized Yelp hostname."),
41
+ hl: s.string("Review language such as en or fr-FR."),
42
+ q: s.nullable(s.string("Search review text for these terms.")),
43
+ sortby: s.withEnum(s.unknown("Yelp review ordering."), [
44
+ "relevance_desc",
45
+ "date_desc",
46
+ "date_asc",
47
+ "rating_desc",
48
+ "rating_asc",
49
+ "elites_desc",
50
+ ]),
51
+ rating: s.nullable(s.string("Comma-separated ratings from 1 through 5.")),
52
+ not_recommended: s.boolean("Fetch reviews that Yelp does not recommend."),
53
+ not_recommended_start: s.nullable(s.integer("Offset within not-recommended reviews. Requires not_recommended=true.")),
54
+ start: s.integer("Review offset from 0 through 10,000."),
55
+ num: s.integer("Review count from 1 through 49."),
56
+ }, { required: ["place_id"] }),
57
+ asyncInput: s.object("Yelp Reviews asynchronous parameters.", {
58
+ place_id: s.string("Required encoded Yelp business identifier."),
59
+ yelp_domain: s.string("Supported localized Yelp hostname."),
60
+ hl: s.string("Review language such as en or fr-FR."),
61
+ q: s.string("Search review text for these terms."),
62
+ sortby: s.withEnum(s.unknown("Yelp review ordering."), [
63
+ "relevance_desc",
64
+ "date_desc",
65
+ "date_asc",
66
+ "rating_desc",
67
+ "rating_asc",
68
+ "elites_desc",
69
+ ]),
70
+ rating: s.string("Comma-separated ratings from 1 through 5."),
71
+ not_recommended: s.boolean("Fetch reviews that Yelp does not recommend."),
72
+ not_recommended_start: s.integer("Offset within not-recommended reviews. Requires not_recommended=true."),
73
+ start: s.integer("Review offset from 0 through 10,000."),
74
+ num: s.integer("Review count from 1 through 49."),
75
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
76
+ }, { required: ["place_id"] }),
77
+ output: s.looseObject("Yelp Reviews response.", {
78
+ search_metadata: s.nullable(s.looseObject("search metadata value.", {})),
79
+ search_parameters: s.nullable(s.looseObject("search parameters value.", {})),
80
+ search_information: s.nullable(s.looseObject("search information value.", {})),
81
+ review_languages: s.nullable(s.array("review languages value.", s.looseObject("review languages value. item.", {}))),
82
+ reviews: s.nullable(s.array("reviews value.", s.looseObject("reviews value. item.", {}))),
83
+ pagination: s.nullable(s.looseObject("pagination value.", {})),
84
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
85
+ format: "uri",
86
+ }),
87
+ }),
88
+ },
89
+ {
90
+ name: "yelp_search",
91
+ path: "/api/yelp/search",
92
+ description: "Search Yelp businesses by location and category.",
93
+ input: s.object("Yelp Search parameters.", {
94
+ find_desc: s.nullable(s.string("Business name, category, or search terms.")),
95
+ find_loc: s.string("Required Yelp search location."),
96
+ yelp_domain: s.string("Supported Yelp hostname. Results use the language of the selected domain."),
97
+ l: s.nullable(s.string("Optional Yelp-native map bounds token.")),
98
+ cflt: s.nullable(s.string("Yelp category identifier containing letters, numbers, _ or -.")),
99
+ sortby: s.withEnum(s.unknown("Native Yelp ordering."), ["recommended", "rating", "review_count"]),
100
+ attrs: s.nullable(s.string("Yelp-native comma-separated attribute filters.")),
101
+ start: s.integer("Result offset from 0 through 10,000."),
102
+ }, { required: ["find_loc"] }),
103
+ asyncInput: s.object("Yelp Search asynchronous parameters.", {
104
+ find_desc: s.string("Business name, category, or search terms."),
105
+ find_loc: s.string("Required Yelp search location."),
106
+ yelp_domain: s.string("Supported Yelp hostname. Results use the language of the selected domain."),
107
+ l: s.string("Optional Yelp-native map bounds token."),
108
+ cflt: s.string("Yelp category identifier containing letters, numbers, _ or -."),
109
+ sortby: s.withEnum(s.unknown("Native Yelp ordering."), ["recommended", "rating", "review_count"]),
110
+ attrs: s.string("Yelp-native comma-separated attribute filters."),
111
+ start: s.integer("Result offset from 0 through 10,000."),
112
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
113
+ }, { required: ["find_loc"] }),
114
+ output: s.looseObject("Yelp Search response.", {
115
+ search_metadata: s.nullable(s.looseObject("search metadata value.", {})),
116
+ search_parameters: s.nullable(s.looseObject("search parameters value.", {})),
117
+ search_information: s.nullable(s.looseObject("search information value.", {})),
118
+ filters: s.nullable(s.looseObject("filters value.", {})),
119
+ ads_results: s.nullable(s.array("ads results value.", s.looseObject("ads results value. item.", {}))),
120
+ organic_results: s.nullable(s.array("organic results value.", s.looseObject("organic results value. item.", {}))),
121
+ pagination: s.nullable(s.looseObject("pagination value.", {})),
122
+ litescrape_pagination: s.nullable(s.looseObject("litescrape pagination value.", {})),
123
+ related_links: s.nullable(s.array("related links value.", s.looseObject("related links value. item.", {}))),
124
+ faqs: s.nullable(s.array("faqs value.", s.looseObject("faqs value. item.", {}))),
125
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
126
+ format: "uri",
127
+ }),
128
+ }),
129
+ },
130
+ ];
@@ -0,0 +1,2 @@
1
+ import type { DataTool } from "./shared.ts";
2
+ export declare const youtubeTools: DataTool[];
@@ -0,0 +1,128 @@
1
+ import { s } from "../../core/json-schema.js";
2
+ export const youtubeTools = [
3
+ {
4
+ name: "youtube_channel",
5
+ path: "/api/youtube/channel",
6
+ description: "Get a YouTube channel's profile, videos, Shorts, playlists and posts.",
7
+ input: s.object("YouTube Channel parameters.", {
8
+ channel_id: s.nullable(s.string("Channel handle (with or without @) or a UC channel ID. Required on the first page; omit with next_page_token.\n\nRequired on the first page. Use a handle such as @veritasium or a UC channel ID; full URLs are not accepted.", { minLength: 1, maxLength: 100 })),
9
+ tab: s.nullable(s.withEnum(s.unknown("Channel content tab. Defaults to videos. Omit when using search_query or next_page_token. Not every channel offers every tab.\n\nA channel without the requested tab returns an empty content group with search_information.tab_available set to false."), ["videos", "shorts", "streams", "podcasts", "playlists", "posts"])),
10
+ sort: s.nullable(s.withEnum(s.unknown("videos, shorts and streams accept latest, popular or oldest; playlists accept dd (newest playlist) or lad (last video added). Omit with podcasts, posts, search_query or next_page_token.\n\nVideos, Shorts and streams default to latest. Playlists default to dd. Sorting uses the choices offered by YouTube."), ["latest", "popular", "oldest", "dd", "lad"])),
11
+ search_query: s.nullable(s.string("Search within this channel for matching videos and playlists. Cannot be combined with tab or sort. Omit with next_page_token.\n\nOmit tab and sort when searching. Matching videos and playlists appear in search_results.", { minLength: 1, maxLength: 2048 })),
12
+ hl: s.nullable(s.string("Interface language, such as en or pt-BR. Defaults to en. Omit with next_page_token.", {
13
+ pattern: "^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8}){0,2}$",
14
+ })),
15
+ gl: s.nullable(s.string("Two-letter country code. Defaults to US. Omit with next_page_token.", {
16
+ pattern: "^[A-Za-z]{2}$",
17
+ })),
18
+ about: s.nullable(s.boolean("Include additional public channel details, such as country, join date, total views and links. Defaults to false. Omit with next_page_token.\n\nChannel profile data is returned on the first page. about=true includes additional public details. Continuation pages return content only.")),
19
+ next_page_token: s.nullable(s.string("Opaque pagination.next_page_token from this endpoint. Send it alone to continue the channel feed with its original settings. Tokens expire after one hour.\n\nSend next_page_token alone. The token preserves the channel, selected tab or search, sorting and locale. Use POST for long tokens. Stop when pagination.next_page_token is absent.", { minLength: 1, maxLength: 32768, pattern: "^ct2_[A-Za-z0-9_-]{100,}$" })),
20
+ }, { required: [] }),
21
+ asyncInput: s.object("YouTube Channel asynchronous parameters.", {
22
+ channel_id: s.string("Channel handle (with or without @) or a UC channel ID. Required on the first page; omit with next_page_token.\n\nRequired on the first page. Use a handle such as @veritasium or a UC channel ID; full URLs are not accepted.", { minLength: 1, maxLength: 100 }),
23
+ tab: s.withEnum(s.unknown("Channel content tab. Defaults to videos. Omit when using search_query or next_page_token. Not every channel offers every tab.\n\nA channel without the requested tab returns an empty content group with search_information.tab_available set to false."), ["videos", "shorts", "streams", "podcasts", "playlists", "posts"]),
24
+ sort: s.withEnum(s.unknown("videos, shorts and streams accept latest, popular or oldest; playlists accept dd (newest playlist) or lad (last video added). Omit with podcasts, posts, search_query or next_page_token.\n\nVideos, Shorts and streams default to latest. Playlists default to dd. Sorting uses the choices offered by YouTube."), ["latest", "popular", "oldest", "dd", "lad"]),
25
+ search_query: s.string("Search within this channel for matching videos and playlists. Cannot be combined with tab or sort. Omit with next_page_token.\n\nOmit tab and sort when searching. Matching videos and playlists appear in search_results.", { minLength: 1, maxLength: 2048 }),
26
+ hl: s.string("Interface language, such as en or pt-BR. Defaults to en. Omit with next_page_token.", {
27
+ pattern: "^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8}){0,2}$",
28
+ }),
29
+ gl: s.string("Two-letter country code. Defaults to US. Omit with next_page_token.", {
30
+ pattern: "^[A-Za-z]{2}$",
31
+ }),
32
+ about: s.boolean("Include additional public channel details, such as country, join date, total views and links. Defaults to false. Omit with next_page_token.\n\nChannel profile data is returned on the first page. about=true includes additional public details. Continuation pages return content only."),
33
+ next_page_token: s.string("Opaque pagination.next_page_token from this endpoint. Send it alone to continue the channel feed with its original settings. Tokens expire after one hour.\n\nSend next_page_token alone. The token preserves the channel, selected tab or search, sorting and locale. Use POST for long tokens. Stop when pagination.next_page_token is absent.", { minLength: 1, maxLength: 32768, pattern: "^ct2_[A-Za-z0-9_-]{100,}$" }),
34
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
35
+ }, { required: [] }),
36
+ output: s.looseObject("YouTube Channel response.", {
37
+ search_metadata: s.looseObject("search metadata value.", {}),
38
+ search_parameters: s.looseObject("search parameters value.", {}),
39
+ search_information: s.looseObject("search information value.", {}),
40
+ channel_results: s.nullable(s.looseObject("channel results value.", {})),
41
+ videos_results: s.nullable(s.array("videos results value.", s.looseObject("videos results value. item.", {}))),
42
+ shorts_results: s.nullable(s.array("shorts results value.", s.looseObject("shorts results value. item.", {}))),
43
+ streams_results: s.nullable(s.array("streams results value.", s.looseObject("streams results value. item.", {}))),
44
+ podcasts_results: s.nullable(s.array("podcasts results value.", s.looseObject("podcasts results value. item.", {}))),
45
+ playlists_results: s.nullable(s.array("playlists results value.", s.looseObject("playlists results value. item.", {}))),
46
+ posts_results: s.nullable(s.array("posts results value.", s.looseObject("posts results value. item.", {}))),
47
+ search_results: s.nullable(s.array("search results value.", s.anyOf("search results value. item.", [
48
+ s.looseObject("search results value. item.", {}),
49
+ s.looseObject("search results value. item.", {}),
50
+ ]))),
51
+ filters: s.nullable(s.array("filters value.", s.looseObject("filters value. item.", {}))),
52
+ pagination: s.looseObject("pagination value.", {}),
53
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
54
+ format: "uri",
55
+ }),
56
+ }),
57
+ },
58
+ {
59
+ name: "youtube_search",
60
+ path: "/api/youtube/search",
61
+ description: "Search YouTube videos, channels, playlists and Shorts.",
62
+ input: s.object("YouTube Search parameters.", {
63
+ type: s.nullable(s.withEnum(s.unknown("Result type. Omit for mixed results. Movies appear in video_results.\n\nChannels and playlists cannot use upload_date, duration or features. Shorts cannot use duration. Movies cannot use live, subtitles, creative_commons or 3d features."), ["video", "shorts", "channel", "playlist", "movie"])),
64
+ upload_date: s.nullable(s.withEnum(s.unknown("Limit results by upload date."), ["today", "this_week", "this_month", "this_year"])),
65
+ duration: s.nullable(s.withEnum(s.unknown("Video duration: under 3 minutes, 3–20 minutes, or over 20 minutes."), [
66
+ "under_3_min",
67
+ "between_3_and_20_min",
68
+ "over_20_min",
69
+ ])),
70
+ features: s.nullable(s.string("Comma-separated features: live, 4k, hd, subtitles, creative_commons, 360, vr180, 3d, hdr, location. Combined features must all match.", { minLength: 1, maxLength: 160 })),
71
+ sort_by: s.nullable(s.withEnum(s.unknown("YouTube ranking: relevance (default) or popularity. Popularity is not a strict numerical view-count sort.\n\nUses YouTube's current ranking choices. The removed upload-date/rating sorts and last-hour upload filter are not supported named values."), ["relevance", "popularity"])),
72
+ q: s.nullable(s.string("Search query. Required for the first page; omit with page_token.\n\nRequired on the first page.", {
73
+ minLength: 1,
74
+ maxLength: 2048,
75
+ })),
76
+ hl: s.nullable(s.string("YouTube interface language, such as en or pt-BR. Defaults to en. Omit with page_token.", {
77
+ pattern: "^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8}){0,2}$",
78
+ })),
79
+ gl: s.nullable(s.string("Two-letter country code. Defaults to US. Omit with page_token.", {
80
+ pattern: "^[A-Za-z]{2}$",
81
+ })),
82
+ sp: s.nullable(s.string("Advanced YouTube filter token from a results URL. Use either sp or named filters, never both. Omit with page_token.\n\nUse either sp or named filters, never both. Raw or once-URL-encoded values from a YouTube results URL are accepted.", { minLength: 1, maxLength: 2048, pattern: "^[a-zA-Z0-9_+/=%-]+$" })),
83
+ page_token: s.nullable(s.string("Opaque next_page_token from the preceding response. Send it alone to continue the same search; tokens expire after one hour.\n\nSend page_token alone, without query, locale or filter parameters. It preserves all filters. Use POST for long tokens. Pagination ends when pagination.next_page_token is absent.", { minLength: 1, maxLength: 32768, pattern: "^ct2_[A-Za-z0-9_-]{100,}$" })),
84
+ }, { required: [] }),
85
+ asyncInput: s.object("YouTube Search asynchronous parameters.", {
86
+ type: s.withEnum(s.unknown("Result type. Omit for mixed results. Movies appear in video_results.\n\nChannels and playlists cannot use upload_date, duration or features. Shorts cannot use duration. Movies cannot use live, subtitles, creative_commons or 3d features."), ["video", "shorts", "channel", "playlist", "movie"]),
87
+ upload_date: s.withEnum(s.unknown("Limit results by upload date."), [
88
+ "today",
89
+ "this_week",
90
+ "this_month",
91
+ "this_year",
92
+ ]),
93
+ duration: s.withEnum(s.unknown("Video duration: under 3 minutes, 3–20 minutes, or over 20 minutes."), [
94
+ "under_3_min",
95
+ "between_3_and_20_min",
96
+ "over_20_min",
97
+ ]),
98
+ features: s.string("Comma-separated features: live, 4k, hd, subtitles, creative_commons, 360, vr180, 3d, hdr, location. Combined features must all match.", { minLength: 1, maxLength: 160 }),
99
+ sort_by: s.withEnum(s.unknown("YouTube ranking: relevance (default) or popularity. Popularity is not a strict numerical view-count sort.\n\nUses YouTube's current ranking choices. The removed upload-date/rating sorts and last-hour upload filter are not supported named values."), ["relevance", "popularity"]),
100
+ q: s.string("Search query. Required for the first page; omit with page_token.\n\nRequired on the first page.", {
101
+ minLength: 1,
102
+ maxLength: 2048,
103
+ }),
104
+ hl: s.string("YouTube interface language, such as en or pt-BR. Defaults to en. Omit with page_token.", {
105
+ pattern: "^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8}){0,2}$",
106
+ }),
107
+ gl: s.string("Two-letter country code. Defaults to US. Omit with page_token.", {
108
+ pattern: "^[A-Za-z]{2}$",
109
+ }),
110
+ sp: s.string("Advanced YouTube filter token from a results URL. Use either sp or named filters, never both. Omit with page_token.\n\nUse either sp or named filters, never both. Raw or once-URL-encoded values from a YouTube results URL are accepted.", { minLength: 1, maxLength: 2048, pattern: "^[a-zA-Z0-9_+/=%-]+$" }),
111
+ page_token: s.string("Opaque next_page_token from the preceding response. Send it alone to continue the same search; tokens expire after one hour.\n\nSend page_token alone, without query, locale or filter parameters. It preserves all filters. Use POST for long tokens. Pagination ends when pagination.next_page_token is absent.", { minLength: 1, maxLength: 32768, pattern: "^ct2_[A-Za-z0-9_-]{100,}$" }),
112
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
113
+ }, { required: [] }),
114
+ output: s.looseObject("YouTube Search response.", {
115
+ search_metadata: s.looseObject("search metadata value.", {}),
116
+ search_parameters: s.looseObject("search parameters value.", {}),
117
+ search_information: s.looseObject("search information value.", {}),
118
+ video_results: s.array("video results value.", s.looseObject("video results value. item.", {})),
119
+ channel_results: s.array("channel results value.", s.looseObject("channel results value. item.", {})),
120
+ playlist_results: s.array("playlist results value.", s.looseObject("playlist results value. item.", {})),
121
+ shorts_results: s.array("shorts results value.", s.looseObject("shorts results value. item.", {})),
122
+ pagination: s.looseObject("pagination value.", {}),
123
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
124
+ format: "uri",
125
+ }),
126
+ }),
127
+ },
128
+ ];
@@ -0,0 +1,2 @@
1
+ import type { DataTool } from "./shared.ts";
2
+ export declare const zillowTools: DataTool[];
@@ -0,0 +1,128 @@
1
+ import { s } from "../../core/json-schema.js";
2
+ export const zillowTools = [
3
+ {
4
+ name: "zillow_locations",
5
+ path: "/api/zillow/locations",
6
+ description: "Get Zillow region and address suggestions.",
7
+ input: s.object("Zillow Locations parameters.", {
8
+ q: s.nullable(s.string("City, ZIP code, neighborhood or street address. Required on the first page; omit with page_token.", { minLength: 1, maxLength: 200 })),
9
+ type: s.nullable(s.withEnum(s.unknown("Find regions or addresses. Defaults to regions; omit with page_token.\n\nRegion suggestions include Zillow region IDs. Address suggestions return names; this route does not return property ZPIDs or coordinates."), ["regions", "addresses"])),
10
+ limit: s.nullable(s.integer("Suggestions per page, from 1 to 100. Defaults to 10; omit with page_token.\n\nFollow pagination.next or send pagination.next_page_token as page_token. Each lookup supports up to 1,000 suggestions; if pagination.possibly_truncated is true, refine q.", { minimum: 1, maximum: 100 })),
11
+ page_token: s.nullable(s.string("Opaque next_page_token from the preceding response. Send it alone to continue the same lookup.\n\nContinue the same query, suggestion type and page size without repeating previously returned suggestions. If pagination.next is null while has_more is true, send page_token through POST JSON.", { minLength: 1, maxLength: 32768 })),
12
+ }, { required: [] }),
13
+ asyncInput: s.object("Zillow Locations asynchronous parameters.", {
14
+ q: s.string("City, ZIP code, neighborhood or street address. Required on the first page; omit with page_token.", { minLength: 1, maxLength: 200 }),
15
+ type: s.withEnum(s.unknown("Find regions or addresses. Defaults to regions; omit with page_token.\n\nRegion suggestions include Zillow region IDs. Address suggestions return names; this route does not return property ZPIDs or coordinates."), ["regions", "addresses"]),
16
+ limit: s.integer("Suggestions per page, from 1 to 100. Defaults to 10; omit with page_token.\n\nFollow pagination.next or send pagination.next_page_token as page_token. Each lookup supports up to 1,000 suggestions; if pagination.possibly_truncated is true, refine q.", { minimum: 1, maximum: 100 }),
17
+ page_token: s.string("Opaque next_page_token from the preceding response. Send it alone to continue the same lookup.\n\nContinue the same query, suggestion type and page size without repeating previously returned suggestions. If pagination.next is null while has_more is true, send page_token through POST JSON.", { minLength: 1, maxLength: 32768 }),
18
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
19
+ }, { required: [] }),
20
+ output: s.looseObject("Zillow Locations response.", {
21
+ search_metadata: s.looseObject("search metadata value.", {}),
22
+ search_parameters: s.looseObject("search parameters value.", {}),
23
+ locations: s.array("locations value.", s.looseObject("locations value. item.", {})),
24
+ pagination: s.looseObject("pagination value.", {}),
25
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
26
+ format: "uri",
27
+ }),
28
+ }),
29
+ },
30
+ {
31
+ name: "zillow_property",
32
+ path: "/api/zillow/property",
33
+ description: "Get a Zillow property by ID or URL.",
34
+ input: s.object("Zillow Property parameters.", {
35
+ zpid: s.nullable(s.integer("Zillow property identifier. Supply zpid or url.", { exclusiveMinimum: 0 })),
36
+ url: s.nullable(s.string("Zillow homedetails URL. Supply url or zpid.\n\nSupply exactly one of url or zpid. Apartment building URLs are not property-detail URLs.", { maxLength: 2048 })),
37
+ }, { required: [] }),
38
+ asyncInput: s.object("Zillow Property asynchronous parameters.", {
39
+ zpid: s.integer("Zillow property identifier. Supply zpid or url.", { exclusiveMinimum: 0 }),
40
+ url: s.string("Zillow homedetails URL. Supply url or zpid.\n\nSupply exactly one of url or zpid. Apartment building URLs are not property-detail URLs.", { maxLength: 2048 }),
41
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
42
+ }, { required: [] }),
43
+ output: s.looseObject("Zillow Property response.", {
44
+ search_metadata: s.looseObject("search metadata value.", {}),
45
+ search_parameters: s.looseObject("search parameters value.", {}),
46
+ property: s.looseObject("property value.", {}),
47
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
48
+ format: "uri",
49
+ }),
50
+ }),
51
+ },
52
+ {
53
+ name: "zillow_search",
54
+ path: "/api/zillow/search",
55
+ description: "Search Zillow homes for sale, for rent or recently sold.",
56
+ input: s.object("Zillow Search parameters.", {
57
+ min_price: s.nullable(s.integer("Minimum listing price in US dollars.\n\nFor rental searches, prices are monthly rent in US dollars.", { minimum: 0 })),
58
+ max_price: s.nullable(s.integer("Maximum listing price in US dollars.", { minimum: 0 })),
59
+ min_beds: s.nullable(s.integer("Minimum number of bedrooms.", { minimum: 0, maximum: 20 })),
60
+ max_beds: s.nullable(s.integer("Maximum number of bedrooms.", { minimum: 0, maximum: 20 })),
61
+ min_baths: s.nullable(s.number("Minimum number of bathrooms.", { minimum: 0, maximum: 20 })),
62
+ min_sqft: s.nullable(s.integer("Minimum interior area in square feet.", { minimum: 0 })),
63
+ max_sqft: s.nullable(s.integer("Maximum interior area in square feet.", { minimum: 0 })),
64
+ q: s.nullable(s.string("City, ZIP code, neighborhood or address. Supply q or map_bounds.\n\nSupply exactly one of q or map_bounds.", { minLength: 1, maxLength: 200 })),
65
+ map_bounds: s.nullable(s.string("Map rectangle as north,east,south,west.")),
66
+ status: s.withEnum(s.unknown("Listing status."), ["for_sale", "for_rent", "sold"]),
67
+ property_type: s.nullable(s.withEnum(s.unknown("Restrict results to one property type."), [
68
+ "house",
69
+ "condo",
70
+ "townhouse",
71
+ "multi_family",
72
+ "land",
73
+ "manufactured",
74
+ "apartment",
75
+ ])),
76
+ sort: s.withEnum(s.unknown("Order of matching listings."), [
77
+ "recommended",
78
+ "newest",
79
+ "price_asc",
80
+ "price_desc",
81
+ "beds",
82
+ "sqft",
83
+ ]),
84
+ page: s.integer("Result page, starting at 1; Zillow caps searches at 20 pages.\n\nFollow pagination.next for another page. A search exposes at most 20 pages.", { minimum: 1, maximum: 20 }),
85
+ }, { required: [] }),
86
+ asyncInput: s.object("Zillow Search asynchronous parameters.", {
87
+ min_price: s.integer("Minimum listing price in US dollars.\n\nFor rental searches, prices are monthly rent in US dollars.", { minimum: 0 }),
88
+ max_price: s.integer("Maximum listing price in US dollars.", { minimum: 0 }),
89
+ min_beds: s.integer("Minimum number of bedrooms.", { minimum: 0, maximum: 20 }),
90
+ max_beds: s.integer("Maximum number of bedrooms.", { minimum: 0, maximum: 20 }),
91
+ min_baths: s.number("Minimum number of bathrooms.", { minimum: 0, maximum: 20 }),
92
+ min_sqft: s.integer("Minimum interior area in square feet.", { minimum: 0 }),
93
+ max_sqft: s.integer("Maximum interior area in square feet.", { minimum: 0 }),
94
+ q: s.string("City, ZIP code, neighborhood or address. Supply q or map_bounds.\n\nSupply exactly one of q or map_bounds.", { minLength: 1, maxLength: 200 }),
95
+ map_bounds: s.string("Map rectangle as north,east,south,west."),
96
+ status: s.withEnum(s.unknown("Listing status."), ["for_sale", "for_rent", "sold"]),
97
+ property_type: s.withEnum(s.unknown("Restrict results to one property type."), [
98
+ "house",
99
+ "condo",
100
+ "townhouse",
101
+ "multi_family",
102
+ "land",
103
+ "manufactured",
104
+ "apartment",
105
+ ]),
106
+ sort: s.withEnum(s.unknown("Order of matching listings."), [
107
+ "recommended",
108
+ "newest",
109
+ "price_asc",
110
+ "price_desc",
111
+ "beds",
112
+ "sqft",
113
+ ]),
114
+ page: s.integer("Result page, starting at 1; Zillow caps searches at 20 pages.\n\nFollow pagination.next for another page. A search exposes at most 20 pages.", { minimum: 1, maximum: 20 }),
115
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
116
+ }, { required: [] }),
117
+ output: s.looseObject("Zillow Search response.", {
118
+ search_metadata: s.looseObject("search metadata value.", {}),
119
+ search_parameters: s.looseObject("search parameters value.", {}),
120
+ properties: s.array("properties value.", s.looseObject("properties value. item.", {})),
121
+ search_information: s.looseObject("search information value.", {}),
122
+ pagination: s.looseObject("pagination value.", {}),
123
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
124
+ format: "uri",
125
+ }),
126
+ }),
127
+ },
128
+ ];
@@ -0,0 +1,2 @@
1
+ import type { DataTool } from "./shared.ts";
2
+ export declare const ziprecruiterTools: DataTool[];
@@ -0,0 +1,96 @@
1
+ import { s } from "../../core/json-schema.js";
2
+ export const ziprecruiterTools = [
3
+ {
4
+ name: "ziprecruiter_search",
5
+ path: "/api/ziprecruiter/search",
6
+ description: "Search ZipRecruiter jobs in the US and Canada by keyword and location.",
7
+ input: s.object("ZipRecruiter Search parameters.", {
8
+ q: s.string("Job title, keywords, or company to search for.", {
9
+ minLength: 1,
10
+ maxLength: 512,
11
+ }),
12
+ page: s.integer("One-based results page. Use next_page from the response to continue.", {
13
+ minimum: 1,
14
+ }),
15
+ location: s.string("City and state or ZIP code, for example New York, NY.", {
16
+ minLength: 1,
17
+ maxLength: 512,
18
+ }),
19
+ radius: s.nullable(s.integer("Search radius in miles. Use 5000 for any distance.", {
20
+ minimum: 0,
21
+ maximum: 5000,
22
+ })),
23
+ days: s.nullable(s.integer("Maximum posting age in days.", { minimum: 1 })),
24
+ employment_types: s.nullable(s.array("Employment types as a JSON array.", s.withEnum(s.unknown("employment types value. item."), [
25
+ "full_time",
26
+ "part_time",
27
+ "contract",
28
+ "contract_to_hire",
29
+ "temporary",
30
+ "as_needed",
31
+ "other",
32
+ ]), { minItems: 1, maxItems: 100 })),
33
+ location_type: s.nullable(s.withEnum(s.unknown("On-site, remote-only, or hybrid jobs."), ["no_remote", "only_remote", "hybrid"])),
34
+ salary_min: s.nullable(s.integer("Lower bound for the job's maximum annualized pay, in the location's currency.", { minimum: 0 })),
35
+ salary_max: s.nullable(s.integer("Upper bound for the job's maximum annualized pay.", { minimum: 0 })),
36
+ experience_level: s.nullable(s.withEnum(s.unknown("Experience/seniority class."), ["no_experience", "junior", "mid", "senior"])),
37
+ easy_apply: s.boolean("Require ZipRecruiter's quick application."),
38
+ }, { required: ["q", "location"] }),
39
+ asyncInput: s.object("ZipRecruiter Search asynchronous parameters.", {
40
+ q: s.string("Job title, keywords, or company to search for.", {
41
+ minLength: 1,
42
+ maxLength: 512,
43
+ }),
44
+ page: s.integer("One-based results page. Use next_page from the response to continue.", {
45
+ minimum: 1,
46
+ }),
47
+ location: s.string("City and state or ZIP code, for example New York, NY.", {
48
+ minLength: 1,
49
+ maxLength: 512,
50
+ }),
51
+ radius: s.integer("Search radius in miles. Use 5000 for any distance.", {
52
+ minimum: 0,
53
+ maximum: 5000,
54
+ }),
55
+ days: s.integer("Maximum posting age in days.", { minimum: 1 }),
56
+ employment_types: s.array("Employment types as a JSON array.", s.withEnum(s.unknown("employment types value. item."), [
57
+ "full_time",
58
+ "part_time",
59
+ "contract",
60
+ "contract_to_hire",
61
+ "temporary",
62
+ "as_needed",
63
+ "other",
64
+ ]), { minItems: 1, maxItems: 100 }),
65
+ location_type: s.withEnum(s.unknown("On-site, remote-only, or hybrid jobs."), [
66
+ "no_remote",
67
+ "only_remote",
68
+ "hybrid",
69
+ ]),
70
+ salary_min: s.integer("Lower bound for the job's maximum annualized pay, in the location's currency.", {
71
+ minimum: 0,
72
+ }),
73
+ salary_max: s.integer("Upper bound for the job's maximum annualized pay.", { minimum: 0 }),
74
+ experience_level: s.withEnum(s.unknown("Experience/seniority class."), [
75
+ "no_experience",
76
+ "junior",
77
+ "mid",
78
+ "senior",
79
+ ]),
80
+ easy_apply: s.boolean("Require ZipRecruiter's quick application."),
81
+ timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
82
+ }, { required: ["q", "location"] }),
83
+ output: s.looseObject("ZipRecruiter Search response.", {
84
+ search_metadata: s.looseObject("search metadata value.", {}),
85
+ search_parameters: s.looseObject("search parameters value.", {}),
86
+ jobs_results: s.array("jobs results value.", s.looseObject("jobs results value. item.", {})),
87
+ search_information: s.looseObject("search information value.", {}),
88
+ pagination: s.looseObject("pagination value.", {}),
89
+ litescrape_pagination: s.looseObject("litescrape pagination value.", {}),
90
+ available_filters: s.nullable(s.array("available filters value.", s.looseObject("available filters value. item.", {}))),
91
+ submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
92
+ format: "uri",
93
+ }),
94
+ }),
95
+ },
96
+ ];
@@ -0,0 +1,22 @@
1
+ import type { ActionDefinition, JsonSchema } from "../../core/types.ts";
2
+ export interface MagicHourRoute {
3
+ path: string;
4
+ method: string;
5
+ parameters: Array<{
6
+ name: string;
7
+ in: string;
8
+ }>;
9
+ body: boolean;
10
+ }
11
+ interface MagicHourDefinition {
12
+ name: string;
13
+ description: string;
14
+ operationType: ActionDefinition["operationType"];
15
+ route: MagicHourRoute;
16
+ inputSchema: JsonSchema;
17
+ outputSchema: JsonSchema;
18
+ }
19
+ declare const definitions: MagicHourDefinition[];
20
+ export declare const magicHourRoutes: Map<string, (typeof definitions)[number]["route"]>;
21
+ export declare const magicHourActions: ActionDefinition[];
22
+ export {};