@oomol-lab/open-connector 1.9.0 → 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.
- package/assets/open-connector/catalog/apps/agentearth.json +441 -0
- package/assets/open-connector/catalog/apps/aisa.json +1946 -56
- package/assets/open-connector/catalog/apps/akta.json +1181 -0
- package/assets/open-connector/catalog/apps/appgrowing_mcp.json +863 -0
- package/assets/open-connector/catalog/apps/arcmira.json +610 -0
- package/assets/open-connector/catalog/apps/asana.json +110 -0
- package/assets/open-connector/catalog/apps/bainiu.json +654 -0
- package/assets/open-connector/catalog/apps/calendly.json +103 -0
- package/assets/open-connector/catalog/apps/chaport.json +331 -0
- package/assets/open-connector/catalog/apps/clickup.json +104 -0
- package/assets/open-connector/catalog/apps/cloro.json +9289 -0
- package/assets/open-connector/catalog/apps/cnb.json +1408 -0
- package/assets/open-connector/catalog/apps/contextdev.json +20670 -0
- package/assets/open-connector/catalog/apps/crtsh.json +123 -0
- package/assets/open-connector/catalog/apps/deepseek.json +177 -0
- package/assets/open-connector/catalog/apps/defillama.json +23747 -0
- package/assets/open-connector/catalog/apps/eastmoney_miaoxiang.json +406 -0
- package/assets/open-connector/catalog/apps/fastmoss_mcp.json +876 -876
- package/assets/open-connector/catalog/apps/fireflies.json +103 -0
- package/assets/open-connector/catalog/apps/ftshare.json +1162 -0
- package/assets/open-connector/catalog/apps/fundable.json +7926 -0
- package/assets/open-connector/catalog/apps/fusion-api.json +143 -0
- package/assets/open-connector/catalog/apps/fxbaogao.json +308 -0
- package/assets/open-connector/catalog/apps/github.json +38 -3
- package/assets/open-connector/catalog/apps/hrmos_kintai.json +7519 -0
- package/assets/open-connector/catalog/apps/humor_api.json +351 -0
- package/assets/open-connector/catalog/apps/intercom.json +110 -0
- package/assets/open-connector/catalog/apps/jira.json +110 -0
- package/assets/open-connector/catalog/apps/kaonavi.json +1723 -0
- package/assets/open-connector/catalog/apps/keenable.json +235 -0
- package/assets/open-connector/catalog/apps/kolsprite_mcp.json +1227 -0
- package/assets/open-connector/catalog/apps/linear_mcp.json +882 -22
- package/assets/open-connector/catalog/apps/listinggood.json +362 -0
- package/assets/open-connector/catalog/apps/litescrape.json +52514 -0
- package/assets/open-connector/catalog/apps/magichour.json +5926 -0
- package/assets/open-connector/catalog/apps/minimax.json +24 -14
- package/assets/open-connector/catalog/apps/notion.json +731 -76
- package/assets/open-connector/catalog/apps/notion_mcp.json +338 -1
- package/assets/open-connector/catalog/apps/octen.json +5248 -0
- package/assets/open-connector/catalog/apps/openrouter.json +10 -0
- package/assets/open-connector/catalog/apps/orbit.json +3574 -0
- package/assets/open-connector/catalog/apps/outlook.json +414 -0
- package/assets/open-connector/catalog/apps/pandadoc.json +68 -0
- package/assets/open-connector/catalog/apps/pipedrive.json +86 -0
- package/assets/open-connector/catalog/apps/ploid.json +9802 -0
- package/assets/open-connector/catalog/apps/porteden.json +1258 -0
- package/assets/open-connector/catalog/apps/qiuxiaoce.json +915 -0
- package/assets/open-connector/catalog/apps/qqmusic.json +1834 -0
- package/assets/open-connector/catalog/apps/rakuraku_seisan.json +217 -0
- package/assets/open-connector/catalog/apps/redfox.json +9661 -897
- package/assets/open-connector/catalog/apps/resend.json +100 -0
- package/assets/open-connector/catalog/apps/salesforce.json +7275 -0
- package/assets/open-connector/catalog/apps/sansan.json +4594 -0
- package/assets/open-connector/catalog/apps/saperly.json +7056 -0
- package/assets/open-connector/catalog/apps/search1api.json +2382 -0
- package/assets/open-connector/catalog/apps/sentry.json +129 -0
- package/assets/open-connector/catalog/apps/slackbot.json +230 -1
- package/assets/open-connector/catalog/apps/smarthr.json +8071 -0
- package/assets/open-connector/catalog/apps/smooth.json +914 -0
- package/assets/open-connector/catalog/apps/surf.json +11378 -0
- package/assets/open-connector/catalog/apps/tally.json +113 -0
- package/assets/open-connector/catalog/apps/tapd.json +727 -0
- package/assets/open-connector/catalog/apps/tencent_meeting_mcp.json +1301 -0
- package/assets/open-connector/catalog/apps/threatfox.json +203 -0
- package/assets/open-connector/catalog/apps/tinyfish.json +6154 -0
- package/assets/open-connector/catalog/apps/tradebee.json +915 -0
- package/assets/open-connector/catalog/apps/twittrapi.json +4914 -0
- package/assets/open-connector/catalog/apps/typeform.json +90 -1
- package/assets/open-connector/catalog/apps/urlhaus.json +246 -0
- package/assets/open-connector/catalog/apps/vaquill.json +5944 -0
- package/assets/open-connector/catalog/apps/vercel.json +110 -0
- package/assets/open-connector/catalog/apps/weixin_store.json +1256 -7
- package/assets/open-connector/catalog/apps/weread.json +1514 -0
- package/assets/open-connector/catalog/apps/whatsapp.json +12 -0
- package/assets/open-connector/catalog/apps/zhiliaobiaoxun.json +812 -0
- package/assets/open-connector/catalog/apps/zoom.json +112 -0
- package/assets/open-connector/catalog/apps-index.json +1 -1
- package/package.json +2 -1
- package/src/connection-service.js +55 -11
- package/src/core/json-schema.d.ts +11 -3
- package/src/core/json-schema.js +13 -3
- package/src/core/provider-error-codes.d.ts +9 -0
- package/src/core/provider-error-codes.js +13 -0
- package/src/core/request.d.ts +2 -0
- package/src/core/request.js +11 -2
- package/src/mail/imap-smtp/protocol.js +4 -3
- package/src/oauth/oauth-flow-service.js +1 -0
- package/src/oauth/oauth-token.d.ts +2 -0
- package/src/providers/17track/runtime.js +17 -20
- package/src/providers/action-contracts.generated.d.ts +58 -11
- package/src/providers/agentearth/actions.d.ts +2 -0
- package/src/providers/agentearth/actions.js +100 -0
- package/src/providers/agentearth/executors.d.ts +4 -0
- package/src/providers/agentearth/executors.js +109 -0
- package/src/providers/aisa/executors.js +238 -6
- package/src/providers/aisa/firecrawl-actions.d.ts +9 -0
- package/src/providers/aisa/firecrawl-actions.js +115 -0
- package/src/providers/akta/actions.d.ts +9 -0
- package/src/providers/akta/actions.js +420 -0
- package/src/providers/akta/executors.d.ts +4 -0
- package/src/providers/akta/executors.js +103 -0
- package/src/providers/appgrowing_mcp/actions.d.ts +2 -0
- package/src/providers/appgrowing_mcp/actions.js +175 -0
- package/src/providers/appgrowing_mcp/executors.d.ts +4 -0
- package/src/providers/appgrowing_mcp/executors.js +66 -0
- package/src/providers/arcmira/executors.d.ts +3 -0
- package/src/providers/arcmira/executors.js +8 -0
- package/src/providers/arcmira/runtime.d.ts +6 -0
- package/src/providers/arcmira/runtime.js +41 -0
- package/src/providers/asana/executors.d.ts +2 -0
- package/src/providers/asana/executors.js +2 -0
- package/src/providers/asana/trigger-on-task-event.d.ts +2 -0
- package/src/providers/asana/trigger-on-task-event.definition.d.ts +4 -0
- package/src/providers/asana/trigger-on-task-event.definition.js +42 -0
- package/src/providers/asana/trigger-on-task-event.js +160 -0
- package/src/providers/bainiu/actions.d.ts +2 -0
- package/src/providers/bainiu/actions.js +108 -0
- package/src/providers/bainiu/executors.d.ts +4 -0
- package/src/providers/bainiu/executors.js +113 -0
- package/src/providers/baixiao/executors.js +1 -1
- package/src/providers/bing_webmaster/executors.js +1 -1
- package/src/providers/calendly/executors.d.ts +2 -0
- package/src/providers/calendly/executors.js +2 -0
- package/src/providers/calendly/trigger-on-booking-event.d.ts +2 -0
- package/src/providers/calendly/trigger-on-booking-event.definition.d.ts +5 -0
- package/src/providers/calendly/trigger-on-booking-event.definition.js +42 -0
- package/src/providers/calendly/trigger-on-booking-event.js +144 -0
- package/src/providers/chaport/actions.d.ts +2 -0
- package/src/providers/chaport/actions.js +70 -0
- package/src/providers/chaport/executors.d.ts +4 -0
- package/src/providers/chaport/executors.js +128 -0
- package/src/providers/clickup/executors.d.ts +2 -0
- package/src/providers/clickup/executors.js +2 -0
- package/src/providers/clickup/runtime.js +49 -52
- package/src/providers/clickup/trigger-on-task-event.d.ts +2 -0
- package/src/providers/clickup/trigger-on-task-event.definition.d.ts +4 -0
- package/src/providers/clickup/trigger-on-task-event.definition.js +41 -0
- package/src/providers/clickup/trigger-on-task-event.js +94 -0
- package/src/providers/cloro/actions.d.ts +12 -0
- package/src/providers/cloro/actions.js +155 -0
- package/src/providers/cloro/executors.d.ts +4 -0
- package/src/providers/cloro/executors.js +67 -0
- package/src/providers/cloro/inputs.d.ts +10 -0
- package/src/providers/cloro/inputs.js +680 -0
- package/src/providers/cnb/actions.d.ts +2 -0
- package/src/providers/cnb/actions.js +341 -0
- package/src/providers/cnb/executors.d.ts +4 -0
- package/src/providers/cnb/executors.js +135 -0
- package/src/providers/contextdev/actions.d.ts +14 -0
- package/src/providers/contextdev/actions.js +647 -0
- package/src/providers/contextdev/executors.d.ts +4 -0
- package/src/providers/contextdev/executors.js +109 -0
- package/src/providers/contextdev/files.d.ts +3 -0
- package/src/providers/contextdev/files.js +49 -0
- package/src/providers/contextdev/input-schemas.d.ts +49 -0
- package/src/providers/contextdev/input-schemas.js +3082 -0
- package/src/providers/contextdev/output-schemas.d.ts +49 -0
- package/src/providers/contextdev/output-schemas.js +1599 -0
- package/src/providers/coupontools/runtime.js +11 -14
- package/src/providers/crtsh/executors.d.ts +3 -0
- package/src/providers/crtsh/executors.js +19 -0
- package/src/providers/crtsh/runtime.d.ts +17 -0
- package/src/providers/crtsh/runtime.js +84 -0
- package/src/providers/deepseek/executors.d.ts +0 -5
- package/src/providers/deepseek/executors.js +38 -25
- package/src/providers/defillama/actions.d.ts +24 -0
- package/src/providers/defillama/actions.js +24 -0
- package/src/providers/defillama/dimensions-definitions.d.ts +2 -0
- package/src/providers/defillama/dimensions-definitions.js +1387 -0
- package/src/providers/defillama/ecosystem-definitions.d.ts +2 -0
- package/src/providers/defillama/ecosystem-definitions.js +758 -0
- package/src/providers/defillama/equities-definitions.d.ts +2 -0
- package/src/providers/defillama/equities-definitions.js +733 -0
- package/src/providers/defillama/executors.d.ts +4 -0
- package/src/providers/defillama/executors.js +196 -0
- package/src/providers/defillama/markets-definitions.d.ts +2 -0
- package/src/providers/defillama/markets-definitions.js +624 -0
- package/src/providers/defillama/shared-schemas.d.ts +71 -0
- package/src/providers/defillama/shared-schemas.js +157 -0
- package/src/providers/defillama/tvl-definitions.d.ts +2 -0
- package/src/providers/defillama/tvl-definitions.js +546 -0
- package/src/providers/defillama/yields-definitions.d.ts +2 -0
- package/src/providers/defillama/yields-definitions.js +766 -0
- package/src/providers/eastmoney_miaoxiang/actions.d.ts +2 -0
- package/src/providers/eastmoney_miaoxiang/actions.js +95 -0
- package/src/providers/eastmoney_miaoxiang/executors.d.ts +4 -0
- package/src/providers/eastmoney_miaoxiang/executors.js +81 -0
- package/src/providers/fastmoss_mcp/actions-content.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-content.js +140 -0
- package/src/providers/fastmoss_mcp/actions-creator.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-creator.js +154 -0
- package/src/providers/fastmoss_mcp/actions-product.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-product.js +167 -0
- package/src/providers/fastmoss_mcp/actions-research.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-research.js +174 -0
- package/src/providers/fastmoss_mcp/actions-shop.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-shop.js +142 -0
- package/src/providers/fastmoss_mcp/actions.js +11 -12
- package/src/providers/fastmoss_mcp/schemas.d.ts +51 -0
- package/src/providers/fastmoss_mcp/schemas.js +52 -0
- package/src/providers/feishu_app_bot/trigger-on-event.js +2 -0
- package/src/providers/fireflies/executors.d.ts +2 -0
- package/src/providers/fireflies/executors.js +2 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.d.ts +2 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.definition.d.ts +4 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.definition.js +44 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.js +60 -0
- package/src/providers/ftshare/actions.d.ts +2 -0
- package/src/providers/ftshare/actions.js +124 -0
- package/src/providers/ftshare/executors.d.ts +4 -0
- package/src/providers/ftshare/executors.js +102 -0
- package/src/providers/fundable/actions.d.ts +8 -0
- package/src/providers/fundable/actions.js +1515 -0
- package/src/providers/fundable/executors.d.ts +4 -0
- package/src/providers/fundable/executors.js +74 -0
- package/src/providers/fusion-api/operations.js +37 -0
- package/src/providers/fxbaogao/actions.d.ts +2 -0
- package/src/providers/fxbaogao/actions.js +74 -0
- package/src/providers/fxbaogao/executors.d.ts +4 -0
- package/src/providers/fxbaogao/executors.js +155 -0
- package/src/providers/github/app-installation.d.ts +37 -0
- package/src/providers/github/app-installation.js +233 -0
- package/src/providers/github/executors.js +93 -15
- package/src/providers/github/runtime-repository.js +21 -1
- package/src/providers/github/runtime-shared.d.ts +2 -0
- package/src/providers/github/runtime-shared.js +1 -0
- package/src/providers/gmail/message.d.ts +1 -6
- package/src/providers/gmail/message.js +1 -1
- package/src/providers/googledrive/runtime-request.js +3 -3
- package/src/providers/hrmos_kintai/actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/actions.js +139 -0
- package/src/providers/hrmos_kintai/attendance-actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/attendance-actions.js +276 -0
- package/src/providers/hrmos_kintai/business-actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/business-actions.js +143 -0
- package/src/providers/hrmos_kintai/business-schemas.d.ts +4 -0
- package/src/providers/hrmos_kintai/business-schemas.js +320 -0
- package/src/providers/hrmos_kintai/executors.d.ts +4 -0
- package/src/providers/hrmos_kintai/executors.js +61 -0
- package/src/providers/hrmos_kintai/export-actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/export-actions.js +58 -0
- package/src/providers/hrmos_kintai/operations.d.ts +9 -0
- package/src/providers/hrmos_kintai/operations.js +278 -0
- package/src/providers/hrmos_kintai/runtime.d.ts +10 -0
- package/src/providers/hrmos_kintai/runtime.js +217 -0
- package/src/providers/hrmos_kintai/schemas.d.ts +10 -0
- package/src/providers/hrmos_kintai/schemas.js +70 -0
- package/src/providers/humor_api/actions.d.ts +2 -0
- package/src/providers/humor_api/actions.js +96 -0
- package/src/providers/humor_api/executors.d.ts +4 -0
- package/src/providers/humor_api/executors.js +76 -0
- package/src/providers/intercom/executors.d.ts +2 -0
- package/src/providers/intercom/executors.js +2 -0
- package/src/providers/intercom/trigger-on-conversation-event.d.ts +2 -0
- package/src/providers/intercom/trigger-on-conversation-event.definition.d.ts +4 -0
- package/src/providers/intercom/trigger-on-conversation-event.definition.js +42 -0
- package/src/providers/intercom/trigger-on-conversation-event.js +23 -0
- package/src/providers/jira/executors.d.ts +2 -0
- package/src/providers/jira/executors.js +2 -0
- package/src/providers/jira/trigger-on-issue-event.d.ts +2 -0
- package/src/providers/jira/trigger-on-issue-event.definition.d.ts +4 -0
- package/src/providers/jira/trigger-on-issue-event.definition.js +44 -0
- package/src/providers/jira/trigger-on-issue-event.js +116 -0
- package/src/providers/jira/trigger-resource.d.ts +4 -0
- package/src/providers/jira/trigger-resource.js +141 -0
- package/src/providers/kaonavi/actions.d.ts +4 -0
- package/src/providers/kaonavi/actions.js +144 -0
- package/src/providers/kaonavi/additional-actions.d.ts +10 -0
- package/src/providers/kaonavi/additional-actions.js +203 -0
- package/src/providers/kaonavi/executors.d.ts +4 -0
- package/src/providers/kaonavi/executors.js +69 -0
- package/src/providers/kaonavi/runtime.d.ts +4 -0
- package/src/providers/kaonavi/runtime.js +69 -0
- package/src/providers/keenable/executors.d.ts +4 -0
- package/src/providers/keenable/executors.js +20 -0
- package/src/providers/keenable/runtime.d.ts +26 -0
- package/src/providers/keenable/runtime.js +89 -0
- package/src/providers/kolsprite_mcp/actions.d.ts +2 -0
- package/src/providers/kolsprite_mcp/actions.js +519 -0
- package/src/providers/kolsprite_mcp/executors.d.ts +4 -0
- package/src/providers/kolsprite_mcp/executors.js +89 -0
- package/src/providers/linear_mcp/actions.d.ts +14 -0
- package/src/providers/linear_mcp/actions.js +134 -0
- package/src/providers/linear_mcp/runtime-mcp.d.ts +7 -1
- package/src/providers/linear_mcp/runtime-mcp.js +140 -28
- package/src/providers/linkfox/runtime.js +48 -51
- package/src/providers/listinggood/actions.d.ts +2 -0
- package/src/providers/listinggood/actions.js +95 -0
- package/src/providers/listinggood/executors.d.ts +4 -0
- package/src/providers/listinggood/executors.js +99 -0
- package/src/providers/litescrape/actions.d.ts +12 -0
- package/src/providers/litescrape/actions.js +124 -0
- package/src/providers/litescrape/airbnb-schemas.d.ts +2 -0
- package/src/providers/litescrape/airbnb-schemas.js +72 -0
- package/src/providers/litescrape/aliexpress-schemas.d.ts +2 -0
- package/src/providers/litescrape/aliexpress-schemas.js +52 -0
- package/src/providers/litescrape/amazon-schemas.d.ts +2 -0
- package/src/providers/litescrape/amazon-schemas.js +358 -0
- package/src/providers/litescrape/apartments-schemas.d.ts +2 -0
- package/src/providers/litescrape/apartments-schemas.js +45 -0
- package/src/providers/litescrape/apple-schemas.d.ts +2 -0
- package/src/providers/litescrape/apple-schemas.js +215 -0
- package/src/providers/litescrape/ashby-schemas.d.ts +2 -0
- package/src/providers/litescrape/ashby-schemas.js +82 -0
- package/src/providers/litescrape/baidu-schemas.d.ts +2 -0
- package/src/providers/litescrape/baidu-schemas.js +31 -0
- package/src/providers/litescrape/bestbuy-schemas.d.ts +2 -0
- package/src/providers/litescrape/bestbuy-schemas.js +56 -0
- package/src/providers/litescrape/bing-schemas.d.ts +2 -0
- package/src/providers/litescrape/bing-schemas.js +315 -0
- package/src/providers/litescrape/brave-schemas.d.ts +2 -0
- package/src/providers/litescrape/brave-schemas.js +101 -0
- package/src/providers/litescrape/copilot-schemas.d.ts +2 -0
- package/src/providers/litescrape/copilot-schemas.js +590 -0
- package/src/providers/litescrape/duckduckgo-schemas.d.ts +2 -0
- package/src/providers/litescrape/duckduckgo-schemas.js +64 -0
- package/src/providers/litescrape/ebay-schemas.d.ts +2 -0
- package/src/providers/litescrape/ebay-schemas.js +300 -0
- package/src/providers/litescrape/etsy-schemas.d.ts +2 -0
- package/src/providers/litescrape/etsy-schemas.js +52 -0
- package/src/providers/litescrape/eventbrite-schemas.d.ts +2 -0
- package/src/providers/litescrape/eventbrite-schemas.js +43 -0
- package/src/providers/litescrape/executors.d.ts +4 -0
- package/src/providers/litescrape/executors.js +138 -0
- package/src/providers/litescrape/facebook-schemas.d.ts +2 -0
- package/src/providers/litescrape/facebook-schemas.js +283 -0
- package/src/providers/litescrape/glassdoor-schemas.d.ts +2 -0
- package/src/providers/litescrape/glassdoor-schemas.js +147 -0
- package/src/providers/litescrape/google-schemas.d.ts +2 -0
- package/src/providers/litescrape/google-schemas.js +1686 -0
- package/src/providers/litescrape/homedepot-schemas.d.ts +2 -0
- package/src/providers/litescrape/homedepot-schemas.js +58 -0
- package/src/providers/litescrape/homes-schemas.d.ts +2 -0
- package/src/providers/litescrape/homes-schemas.js +45 -0
- package/src/providers/litescrape/ikea-schemas.d.ts +2 -0
- package/src/providers/litescrape/ikea-schemas.js +56 -0
- package/src/providers/litescrape/indeed-schemas.d.ts +2 -0
- package/src/providers/litescrape/indeed-schemas.js +141 -0
- package/src/providers/litescrape/instagram-schemas.d.ts +2 -0
- package/src/providers/litescrape/instagram-schemas.js +234 -0
- package/src/providers/litescrape/kroger-schemas.d.ts +2 -0
- package/src/providers/litescrape/kroger-schemas.js +62 -0
- package/src/providers/litescrape/levels-schemas.d.ts +2 -0
- package/src/providers/litescrape/levels-schemas.js +153 -0
- package/src/providers/litescrape/naver-schemas.d.ts +2 -0
- package/src/providers/litescrape/naver-schemas.js +107 -0
- package/src/providers/litescrape/realtor-schemas.d.ts +2 -0
- package/src/providers/litescrape/realtor-schemas.js +47 -0
- package/src/providers/litescrape/redfin-schemas.d.ts +2 -0
- package/src/providers/litescrape/redfin-schemas.js +112 -0
- package/src/providers/litescrape/shared.d.ts +9 -0
- package/src/providers/litescrape/shared.js +1 -0
- package/src/providers/litescrape/sprouts-schemas.d.ts +2 -0
- package/src/providers/litescrape/sprouts-schemas.js +72 -0
- package/src/providers/litescrape/target-schemas.d.ts +2 -0
- package/src/providers/litescrape/target-schemas.js +56 -0
- package/src/providers/litescrape/tiktok-schemas.d.ts +2 -0
- package/src/providers/litescrape/tiktok-schemas.js +625 -0
- package/src/providers/litescrape/tools.d.ts +2 -0
- package/src/providers/litescrape/tools.js +88 -0
- package/src/providers/litescrape/tripadvisor-schemas.d.ts +2 -0
- package/src/providers/litescrape/tripadvisor-schemas.js +119 -0
- package/src/providers/litescrape/walmart-schemas.d.ts +2 -0
- package/src/providers/litescrape/walmart-schemas.js +52 -0
- package/src/providers/litescrape/wayfair-schemas.d.ts +2 -0
- package/src/providers/litescrape/wayfair-schemas.js +52 -0
- package/src/providers/litescrape/web-schemas.d.ts +2 -0
- package/src/providers/litescrape/web-schemas.js +463 -0
- package/src/providers/litescrape/wholefoods-schemas.d.ts +2 -0
- package/src/providers/litescrape/wholefoods-schemas.js +56 -0
- package/src/providers/litescrape/x-schemas.d.ts +2 -0
- package/src/providers/litescrape/x-schemas.js +128 -0
- package/src/providers/litescrape/yahoo-schemas.d.ts +2 -0
- package/src/providers/litescrape/yahoo-schemas.js +234 -0
- package/src/providers/litescrape/yandex-schemas.d.ts +2 -0
- package/src/providers/litescrape/yandex-schemas.js +179 -0
- package/src/providers/litescrape/yelp-schemas.d.ts +2 -0
- package/src/providers/litescrape/yelp-schemas.js +130 -0
- package/src/providers/litescrape/youtube-schemas.d.ts +2 -0
- package/src/providers/litescrape/youtube-schemas.js +128 -0
- package/src/providers/litescrape/zillow-schemas.d.ts +2 -0
- package/src/providers/litescrape/zillow-schemas.js +128 -0
- package/src/providers/litescrape/ziprecruiter-schemas.d.ts +2 -0
- package/src/providers/litescrape/ziprecruiter-schemas.js +96 -0
- package/src/providers/magichour/actions.d.ts +22 -0
- package/src/providers/magichour/actions.js +308 -0
- package/src/providers/magichour/audio-schemas.d.ts +2 -0
- package/src/providers/magichour/audio-schemas.js +54 -0
- package/src/providers/magichour/executors.d.ts +4 -0
- package/src/providers/magichour/executors.js +115 -0
- package/src/providers/magichour/image-schemas.d.ts +2 -0
- package/src/providers/magichour/image-schemas.js +443 -0
- package/src/providers/magichour/project-schemas.d.ts +8 -0
- package/src/providers/magichour/project-schemas.js +65 -0
- package/src/providers/magichour/shared-schemas.d.ts +8 -0
- package/src/providers/magichour/shared-schemas.js +18 -0
- package/src/providers/magichour/utility-schemas.d.ts +11 -0
- package/src/providers/magichour/utility-schemas.js +150 -0
- package/src/providers/magichour/video-schemas.d.ts +2 -0
- package/src/providers/magichour/video-schemas.js +629 -0
- package/src/providers/magichour/voices.d.ts +1 -0
- package/src/providers/magichour/voices.js +1268 -0
- package/src/providers/mcp-tools.d.ts +3 -0
- package/src/providers/mcp-tools.js +5 -4
- package/src/providers/minimax/executors.js +19 -4
- package/src/providers/minimax/text-models.d.ts +2 -0
- package/src/providers/minimax/text-models.js +34 -0
- package/src/providers/moneyforward_mcp/manifest.d.ts +0 -2
- package/src/providers/moneyforward_mcp/manifest.js +1 -1
- package/src/providers/notion/executors.js +36 -3
- package/src/providers/notion_mcp/executors.js +53 -24
- package/src/providers/notion_mcp/mcp-response.d.ts +26 -0
- package/src/providers/notion_mcp/mcp-response.js +95 -0
- package/src/providers/octen/actions.d.ts +6 -0
- package/src/providers/octen/actions.js +919 -0
- package/src/providers/octen/executors.d.ts +4 -0
- package/src/providers/octen/executors.js +125 -0
- package/src/providers/octen/inputs.d.ts +2 -0
- package/src/providers/octen/inputs.js +2434 -0
- package/src/providers/octen/research.d.ts +1 -0
- package/src/providers/octen/research.js +86 -0
- package/src/providers/omise/executors.js +1 -1
- package/src/providers/openrouter/executors.js +7 -4
- package/src/providers/orbit/actions.d.ts +2 -0
- package/src/providers/orbit/actions.js +3030 -0
- package/src/providers/orbit/executors.d.ts +4 -0
- package/src/providers/orbit/executors.js +106 -0
- package/src/providers/orbit/routes.d.ts +9 -0
- package/src/providers/orbit/routes.js +170 -0
- package/src/providers/outlook/executors.js +35 -2
- package/src/providers/pandadoc/executors.d.ts +2 -0
- package/src/providers/pandadoc/executors.js +2 -0
- package/src/providers/pandadoc/trigger-on-document-event.d.ts +2 -0
- package/src/providers/pandadoc/trigger-on-document-event.definition.d.ts +4 -0
- package/src/providers/pandadoc/trigger-on-document-event.definition.js +33 -0
- package/src/providers/pandadoc/trigger-on-document-event.js +96 -0
- package/src/providers/pipedrive/executors.d.ts +2 -0
- package/src/providers/pipedrive/executors.js +2 -0
- package/src/providers/pipedrive/trigger-on-crm-event.d.ts +2 -0
- package/src/providers/pipedrive/trigger-on-crm-event.definition.d.ts +4 -0
- package/src/providers/pipedrive/trigger-on-crm-event.definition.js +30 -0
- package/src/providers/pipedrive/trigger-on-crm-event.js +101 -0
- package/src/providers/ploid/actions.d.ts +16 -0
- package/src/providers/ploid/actions.js +23 -0
- package/src/providers/ploid/endpoints.json +8440 -0
- package/src/providers/ploid/executors.d.ts +4 -0
- package/src/providers/ploid/executors.js +119 -0
- package/src/providers/porteden/actions.d.ts +2 -0
- package/src/providers/porteden/actions.js +162 -0
- package/src/providers/porteden/executors.d.ts +4 -0
- package/src/providers/porteden/executors.js +140 -0
- package/src/providers/provider-runtime.d.ts +16 -2
- package/src/providers/provider-runtime.js +37 -4
- package/src/providers/pushover/runtime.js +28 -31
- package/src/providers/qianfan/runtime.js +16 -19
- package/src/providers/qiuxiaoce/actions.d.ts +2 -0
- package/src/providers/qiuxiaoce/actions.js +248 -0
- package/src/providers/qiuxiaoce/executors.d.ts +4 -0
- package/src/providers/qiuxiaoce/executors.js +76 -0
- package/src/providers/qiuxiaoce/routes.d.ts +1 -0
- package/src/providers/qiuxiaoce/routes.js +20 -0
- package/src/providers/qqmusic/actions.d.ts +2 -0
- package/src/providers/qqmusic/actions.js +229 -0
- package/src/providers/qqmusic/executors.d.ts +4 -0
- package/src/providers/qqmusic/executors.js +92 -0
- package/src/providers/qqmusic/report-schema.d.ts +4 -0
- package/src/providers/qqmusic/report-schema.js +119 -0
- package/src/providers/rakuraku_seisan/actions.d.ts +2 -0
- package/src/providers/rakuraku_seisan/actions.js +50 -0
- package/src/providers/rakuraku_seisan/executors.d.ts +4 -0
- package/src/providers/rakuraku_seisan/executors.js +40 -0
- package/src/providers/rakuraku_seisan/runtime.d.ts +8 -0
- package/src/providers/rakuraku_seisan/runtime.js +251 -0
- package/src/providers/redfox/actions-account.d.ts +2 -0
- package/src/providers/redfox/actions-account.js +24 -0
- package/src/providers/redfox/actions-autohome.d.ts +2 -0
- package/src/providers/redfox/actions-autohome.js +51 -0
- package/src/providers/redfox/actions-baijiahao.d.ts +2 -0
- package/src/providers/redfox/actions-baijiahao.js +58 -0
- package/src/providers/redfox/actions-bilibili.d.ts +2 -0
- package/src/providers/redfox/actions-bilibili.js +67 -0
- package/src/providers/redfox/actions-dongchedi.d.ts +2 -0
- package/src/providers/redfox/actions-dongchedi.js +49 -0
- package/src/providers/redfox/actions-douyin.d.ts +2 -0
- package/src/providers/redfox/actions-douyin.js +297 -0
- package/src/providers/redfox/actions-generation.d.ts +2 -0
- package/src/providers/redfox/actions-generation.js +293 -0
- package/src/providers/redfox/actions-instagram.d.ts +2 -0
- package/src/providers/redfox/actions-instagram.js +49 -0
- package/src/providers/redfox/actions-kuaishou.d.ts +2 -0
- package/src/providers/redfox/actions-kuaishou.js +53 -0
- package/src/providers/redfox/actions-search.d.ts +2 -0
- package/src/providers/redfox/actions-search.js +125 -0
- package/src/providers/redfox/actions-tiktok.d.ts +2 -0
- package/src/providers/redfox/actions-tiktok.js +136 -0
- package/src/providers/redfox/actions-tools.d.ts +2 -0
- package/src/providers/redfox/actions-tools.js +151 -0
- package/src/providers/redfox/actions-toutiao.d.ts +2 -0
- package/src/providers/redfox/actions-toutiao.js +68 -0
- package/src/providers/redfox/actions-transcription.d.ts +2 -0
- package/src/providers/redfox/actions-transcription.js +165 -0
- package/src/providers/redfox/actions-wechat-channel.d.ts +2 -0
- package/src/providers/redfox/actions-wechat-channel.js +63 -0
- package/src/providers/redfox/actions-wechat.d.ts +2 -0
- package/src/providers/redfox/actions-wechat.js +302 -0
- package/src/providers/redfox/actions-weibo.d.ts +2 -0
- package/src/providers/redfox/actions-weibo.js +61 -0
- package/src/providers/redfox/actions-x.d.ts +2 -0
- package/src/providers/redfox/actions-x.js +126 -0
- package/src/providers/redfox/actions-xiaohongshu.d.ts +2 -0
- package/src/providers/redfox/actions-xiaohongshu.js +244 -0
- package/src/providers/redfox/actions-yiche.d.ts +2 -0
- package/src/providers/redfox/actions-yiche.js +59 -0
- package/src/providers/redfox/actions-youtube.d.ts +2 -0
- package/src/providers/redfox/actions-youtube.js +64 -0
- package/src/providers/redfox/actions-zhihu.d.ts +2 -0
- package/src/providers/redfox/actions-zhihu.js +26 -0
- package/src/providers/redfox/actions.d.ts +2 -0
- package/src/providers/redfox/actions.js +49 -0
- package/src/providers/redfox/executors.d.ts +2 -14
- package/src/providers/redfox/executors.js +28 -551
- package/src/providers/redfox/routes.d.ts +11 -0
- package/src/providers/redfox/routes.js +329 -0
- package/src/providers/redfox/runtime.d.ts +6 -0
- package/src/providers/redfox/runtime.js +151 -0
- package/src/providers/redfox/schemas.d.ts +9 -0
- package/src/providers/redfox/schemas.js +40 -0
- package/src/providers/registry.generated.js +47 -0
- package/src/providers/resend/executors.d.ts +2 -0
- package/src/providers/resend/executors.js +2 -0
- package/src/providers/resend/trigger-on-email-event.d.ts +2 -0
- package/src/providers/resend/trigger-on-email-event.definition.d.ts +4 -0
- package/src/providers/resend/trigger-on-email-event.definition.js +37 -0
- package/src/providers/resend/trigger-on-email-event.js +125 -0
- package/src/providers/salesforce/chatter-routes.d.ts +107 -0
- package/src/providers/salesforce/chatter-routes.js +140 -0
- package/src/providers/salesforce/context.d.ts +16 -0
- package/src/providers/salesforce/context.js +61 -0
- package/src/providers/salesforce/executors.d.ts +5 -0
- package/src/providers/salesforce/executors.js +64 -0
- package/src/providers/salesforce/media.d.ts +9 -0
- package/src/providers/salesforce/media.js +66 -0
- package/src/providers/salesforce/oauth.d.ts +2 -0
- package/src/providers/salesforce/oauth.js +89 -0
- package/src/providers/salesforce/runtime-analytics.d.ts +2 -0
- package/src/providers/salesforce/runtime-analytics.js +60 -0
- package/src/providers/salesforce/runtime-approvals.d.ts +2 -0
- package/src/providers/salesforce/runtime-approvals.js +52 -0
- package/src/providers/salesforce/runtime-automation.d.ts +2 -0
- package/src/providers/salesforce/runtime-automation.js +64 -0
- package/src/providers/salesforce/runtime-base.d.ts +2 -0
- package/src/providers/salesforce/runtime-base.js +62 -0
- package/src/providers/salesforce/runtime-bulk.d.ts +2 -0
- package/src/providers/salesforce/runtime-bulk.js +98 -0
- package/src/providers/salesforce/runtime-chatter.d.ts +2 -0
- package/src/providers/salesforce/runtime-chatter.js +78 -0
- package/src/providers/salesforce/runtime-data.d.ts +2 -0
- package/src/providers/salesforce/runtime-data.js +207 -0
- package/src/providers/salesforce/runtime-files.d.ts +2 -0
- package/src/providers/salesforce/runtime-files.js +108 -0
- package/src/providers/salesforce/runtime-knowledge.d.ts +2 -0
- package/src/providers/salesforce/runtime-knowledge.js +34 -0
- package/src/providers/salesforce/runtime-leads.d.ts +2 -0
- package/src/providers/salesforce/runtime-leads.js +117 -0
- package/src/providers/salesforce/runtime-platform.d.ts +2 -0
- package/src/providers/salesforce/runtime-platform.js +67 -0
- package/src/providers/salesforce/transport.d.ts +9 -0
- package/src/providers/salesforce/transport.js +65 -0
- package/src/providers/sansan/actions.d.ts +2 -0
- package/src/providers/sansan/actions.js +165 -0
- package/src/providers/sansan/admin-actions.d.ts +2 -0
- package/src/providers/sansan/admin-actions.js +181 -0
- package/src/providers/sansan/admin.d.ts +2 -0
- package/src/providers/sansan/admin.js +42 -0
- package/src/providers/sansan/business-actions.d.ts +2 -0
- package/src/providers/sansan/business-actions.js +160 -0
- package/src/providers/sansan/business.d.ts +2 -0
- package/src/providers/sansan/business.js +51 -0
- package/src/providers/sansan/executors.d.ts +4 -0
- package/src/providers/sansan/executors.js +59 -0
- package/src/providers/sansan/file-schema.d.ts +2 -0
- package/src/providers/sansan/file-schema.js +8 -0
- package/src/providers/sansan/files.d.ts +11 -0
- package/src/providers/sansan/files.js +49 -0
- package/src/providers/sansan/organization-actions.d.ts +2 -0
- package/src/providers/sansan/organization-actions.js +198 -0
- package/src/providers/sansan/organization-columns.d.ts +2 -0
- package/src/providers/sansan/organization-columns.js +33 -0
- package/src/providers/sansan/organization.d.ts +2 -0
- package/src/providers/sansan/organization.js +88 -0
- package/src/providers/sansan/read.d.ts +2 -0
- package/src/providers/sansan/read.js +25 -0
- package/src/providers/sansan/request.d.ts +22 -0
- package/src/providers/sansan/request.js +94 -0
- package/src/providers/sansan/schemas.d.ts +7 -0
- package/src/providers/sansan/schemas.js +72 -0
- package/src/providers/saperly/actions.d.ts +17 -0
- package/src/providers/saperly/actions.js +869 -0
- package/src/providers/saperly/executors.d.ts +4 -0
- package/src/providers/saperly/executors.js +113 -0
- package/src/providers/saperly/schemas.d.ts +33 -0
- package/src/providers/saperly/schemas.js +601 -0
- package/src/providers/search1api/actions.d.ts +2 -0
- package/src/providers/search1api/actions.js +39 -0
- package/src/providers/search1api/executors.d.ts +4 -0
- package/src/providers/search1api/executors.js +72 -0
- package/src/providers/search1api/runtime.d.ts +3 -0
- package/src/providers/search1api/runtime.js +44 -0
- package/src/providers/search1api/schemas.d.ts +3 -0
- package/src/providers/search1api/schemas.js +1834 -0
- package/src/providers/sentry/executors.d.ts +2 -0
- package/src/providers/sentry/executors.js +2 -0
- package/src/providers/sentry/trigger-on-issue-alert.d.ts +2 -0
- package/src/providers/sentry/trigger-on-issue-alert.definition.d.ts +4 -0
- package/src/providers/sentry/trigger-on-issue-alert.definition.js +64 -0
- package/src/providers/sentry/trigger-on-issue-alert.js +80 -0
- package/src/providers/sf_express/runtime.d.ts +0 -16
- package/src/providers/sf_express/runtime.js +2 -2
- package/src/providers/shopee/runtime.d.ts +33 -29
- package/src/providers/shopee/runtime.js +166 -169
- package/src/providers/slack/runtime.d.ts +6 -1
- package/src/providers/slack/runtime.js +21 -0
- package/src/providers/slackbot/actions.js +17 -1
- package/src/providers/slackbot/executors.d.ts +2 -0
- package/src/providers/slackbot/executors.js +5 -1
- package/src/providers/slackbot/trigger-on-event.d.ts +2 -0
- package/src/providers/slackbot/trigger-on-event.definition.d.ts +4 -0
- package/src/providers/slackbot/trigger-on-event.definition.js +57 -0
- package/src/providers/slackbot/trigger-on-event.js +23 -0
- package/src/providers/smarthr/actions.d.ts +2 -0
- package/src/providers/smarthr/actions.js +286 -0
- package/src/providers/smarthr/employee-runtime.d.ts +1 -0
- package/src/providers/smarthr/employee-runtime.js +63 -0
- package/src/providers/smarthr/employee-schema.d.ts +3 -0
- package/src/providers/smarthr/employee-schema.js +222 -0
- package/src/providers/smarthr/executors.d.ts +4 -0
- package/src/providers/smarthr/executors.js +35 -0
- package/src/providers/smarthr/pagination.d.ts +1 -0
- package/src/providers/smarthr/pagination.js +84 -0
- package/src/providers/smarthr/resource-routes.d.ts +16 -0
- package/src/providers/smarthr/resource-routes.js +163 -0
- package/src/providers/smarthr/runtime.d.ts +13 -0
- package/src/providers/smarthr/runtime.js +242 -0
- package/src/providers/smarthr/supplemental-actions.d.ts +2 -0
- package/src/providers/smarthr/supplemental-actions.js +541 -0
- package/src/providers/smooth/actions.d.ts +2 -0
- package/src/providers/smooth/actions.js +138 -0
- package/src/providers/smooth/executors.d.ts +4 -0
- package/src/providers/smooth/executors.js +102 -0
- package/src/providers/surf/actions.d.ts +21 -0
- package/src/providers/surf/actions.js +26 -0
- package/src/providers/surf/discovery-definitions.d.ts +2 -0
- package/src/providers/surf/discovery-definitions.js +871 -0
- package/src/providers/surf/equity-definitions.d.ts +2 -0
- package/src/providers/surf/equity-definitions.js +322 -0
- package/src/providers/surf/executors.d.ts +4 -0
- package/src/providers/surf/executors.js +131 -0
- package/src/providers/surf/market-definitions.d.ts +2 -0
- package/src/providers/surf/market-definitions.js +885 -0
- package/src/providers/surf/onchain-definitions.d.ts +2 -0
- package/src/providers/surf/onchain-definitions.js +901 -0
- package/src/providers/surf/prediction-definitions.d.ts +2 -0
- package/src/providers/surf/prediction-definitions.js +683 -0
- package/src/providers/surf/shared-schemas.d.ts +18 -0
- package/src/providers/surf/shared-schemas.js +37 -0
- package/src/providers/tally/executors.d.ts +2 -0
- package/src/providers/tally/executors.js +2 -0
- package/src/providers/tally/trigger-on-form-response.d.ts +2 -0
- package/src/providers/tally/trigger-on-form-response.definition.d.ts +4 -0
- package/src/providers/tally/trigger-on-form-response.definition.js +54 -0
- package/src/providers/tally/trigger-on-form-response.js +166 -0
- package/src/providers/tapd/actions.d.ts +8 -0
- package/src/providers/tapd/actions.js +89 -0
- package/src/providers/tapd/executors.d.ts +4 -0
- package/src/providers/tapd/executors.js +137 -0
- package/src/providers/teable/runtime.js +12 -15
- package/src/providers/tencent_meeting_mcp/actions.d.ts +2 -0
- package/src/providers/tencent_meeting_mcp/actions.js +420 -0
- package/src/providers/tencent_meeting_mcp/executors.d.ts +4 -0
- package/src/providers/tencent_meeting_mcp/executors.js +117 -0
- package/src/providers/threatfox/executors.d.ts +4 -0
- package/src/providers/threatfox/executors.js +40 -0
- package/src/providers/threatfox/runtime.d.ts +15 -0
- package/src/providers/threatfox/runtime.js +128 -0
- package/src/providers/ticket_tailor/runtime.js +1 -1
- package/src/providers/ticketmaster/runtime.js +3 -6
- package/src/providers/timelinesai/runtime.js +13 -16
- package/src/providers/tinyfish/actions.d.ts +6 -0
- package/src/providers/tinyfish/actions.js +19 -0
- package/src/providers/tinyfish/agent-actions.d.ts +2 -0
- package/src/providers/tinyfish/agent-actions.js +268 -0
- package/src/providers/tinyfish/data-actions.d.ts +2 -0
- package/src/providers/tinyfish/data-actions.js +186 -0
- package/src/providers/tinyfish/data-schemas.d.ts +7 -0
- package/src/providers/tinyfish/data-schemas.js +103 -0
- package/src/providers/tinyfish/endpoints.d.ts +14 -0
- package/src/providers/tinyfish/endpoints.js +1 -0
- package/src/providers/tinyfish/executors.d.ts +4 -0
- package/src/providers/tinyfish/executors.js +133 -0
- package/src/providers/tinyfish/management-actions.d.ts +2 -0
- package/src/providers/tinyfish/management-actions.js +524 -0
- package/src/providers/tinyfish/monitor-schemas.d.ts +5 -0
- package/src/providers/tinyfish/monitor-schemas.js +65 -0
- package/src/providers/tinyfish/research-schemas.d.ts +6 -0
- package/src/providers/tinyfish/research-schemas.js +71 -0
- package/src/providers/tradebee/actions.d.ts +2 -0
- package/src/providers/tradebee/actions.js +176 -0
- package/src/providers/tradebee/executors.d.ts +4 -0
- package/src/providers/tradebee/executors.js +83 -0
- package/src/providers/trello/executors.js +5 -2
- package/src/providers/twittrapi/executors.d.ts +4 -0
- package/src/providers/twittrapi/executors.js +17 -0
- package/src/providers/twittrapi/runtime.d.ts +12 -0
- package/src/providers/twittrapi/runtime.js +203 -0
- package/src/providers/typeform/executors.d.ts +2 -0
- package/src/providers/typeform/executors.js +2 -0
- package/src/providers/typeform/trigger-on-form-response.d.ts +2 -0
- package/src/providers/typeform/trigger-on-form-response.definition.d.ts +4 -0
- package/src/providers/typeform/trigger-on-form-response.definition.js +40 -0
- package/src/providers/typeform/trigger-on-form-response.js +68 -0
- package/src/providers/urlhaus/executors.d.ts +4 -0
- package/src/providers/urlhaus/executors.js +40 -0
- package/src/providers/urlhaus/runtime.d.ts +15 -0
- package/src/providers/urlhaus/runtime.js +142 -0
- package/src/providers/vaquill/actions.d.ts +13 -0
- package/src/providers/vaquill/actions.js +529 -0
- package/src/providers/vaquill/executors.d.ts +4 -0
- package/src/providers/vaquill/executors.js +141 -0
- package/src/providers/vaquill/schemas.d.ts +67 -0
- package/src/providers/vaquill/schemas.js +4953 -0
- package/src/providers/vercel/executors.d.ts +2 -0
- package/src/providers/vercel/executors.js +2 -0
- package/src/providers/vercel/trigger-on-deployment-event.d.ts +2 -0
- package/src/providers/vercel/trigger-on-deployment-event.definition.d.ts +5 -0
- package/src/providers/vercel/trigger-on-deployment-event.definition.js +41 -0
- package/src/providers/vercel/trigger-on-deployment-event.js +102 -0
- package/src/providers/wangdian/runtime.js +16 -19
- package/src/providers/weixin_bot/runtime.d.ts +0 -1
- package/src/providers/weixin_bot/runtime.js +1 -1
- package/src/providers/weixin_store/access-token.d.ts +3 -3
- package/src/providers/weixin_store/access-token.js +15 -7
- package/src/providers/weixin_store/executors.js +214 -1
- package/src/providers/weread/actions.d.ts +2 -0
- package/src/providers/weread/actions.js +424 -0
- package/src/providers/weread/executors.d.ts +4 -0
- package/src/providers/weread/executors.js +98 -0
- package/src/providers/whatsapp/runtime.js +6 -1
- package/src/providers/workast/runtime.js +12 -17
- package/src/providers/youzan/runtime.js +21 -24
- package/src/providers/zenkit/runtime.js +13 -19
- package/src/providers/zhiliaobiaoxun/actions.d.ts +2 -0
- package/src/providers/zhiliaobiaoxun/actions.js +138 -0
- package/src/providers/zhiliaobiaoxun/executors.d.ts +4 -0
- package/src/providers/zhiliaobiaoxun/executors.js +78 -0
- package/src/providers/zoom/executors.d.ts +2 -0
- package/src/providers/zoom/executors.js +2 -0
- package/src/providers/zoom/trigger-on-recording-ready.d.ts +2 -0
- package/src/providers/zoom/trigger-on-recording-ready.definition.d.ts +4 -0
- package/src/providers/zoom/trigger-on-recording-ready.definition.js +44 -0
- package/src/providers/zoom/trigger-on-recording-ready.js +39 -0
- package/src/server/api/action-example.js +12 -1
- package/src/server/api/auth.d.ts +2 -0
- package/src/server/api/auth.js +2 -1
- package/src/server/api/console-catalog-routes.d.ts +17 -0
- package/src/server/api/console-catalog-routes.js +88 -0
- package/src/server/api/console-oauth-routes.d.ts +18 -0
- package/src/server/api/console-oauth-routes.js +298 -0
- package/src/server/api/docs-routes.d.ts +12 -0
- package/src/server/api/docs-routes.js +38 -0
- package/src/server/api/http-utils.d.ts +1 -0
- package/src/server/api/http-utils.js +8 -0
- package/src/server/api/marketplace-routes.d.ts +7 -0
- package/src/server/api/marketplace-routes.js +62 -0
- package/src/server/api/mcp-routes.d.ts +18 -0
- package/src/server/api/mcp-routes.js +37 -0
- package/src/server/api/pattern-example.js +35 -1
- package/src/server/api/policy-routes.d.ts +13 -0
- package/src/server/api/policy-routes.js +50 -0
- package/src/server/api/policy-snapshot.d.ts +14 -0
- package/src/server/api/policy-snapshot.js +30 -0
- package/src/server/api/run-log-routes.d.ts +7 -0
- package/src/server/api/run-log-routes.js +70 -0
- package/src/server/api/runtime-api.d.ts +0 -7
- package/src/server/api/runtime-api.js +0 -13
- package/src/server/api/runtime-app-routes.d.ts +10 -0
- package/src/server/api/runtime-app-routes.js +72 -0
- package/src/server/api/runtime-catalog-routes.d.ts +37 -0
- package/src/server/api/runtime-catalog-routes.js +133 -0
- package/src/server/api/runtime-execution-routes.d.ts +16 -0
- package/src/server/api/runtime-execution-routes.js +198 -0
- package/src/server/api/saas-oauth-routes.d.ts +9 -0
- package/src/server/api/saas-oauth-routes.js +27 -0
- package/src/server/api/saas-project-routes.d.ts +7 -0
- package/src/server/api/saas-project-routes.js +16 -0
- package/src/server/api/transit-file-routes.d.ts +9 -0
- package/src/server/api/transit-file-routes.js +49 -0
- package/src/server/api/trigger-routes.d.ts +15 -0
- package/src/server/api/trigger-routes.js +48 -0
- package/src/server/connect-app.d.ts +1 -0
- package/src/server/connect-app.js +4 -1
- package/src/server/connect-server.d.ts +3 -54
- package/src/server/connect-server.js +95 -1148
- package/src/triggers/common/integration.d.ts +15 -3
- package/src/triggers/common/integration.js +5 -0
- package/src/triggers/common/proxy.d.ts +7 -0
- package/src/triggers/managed-webhook.d.ts +13 -0
- package/src/triggers/managed-webhook.js +48 -0
- package/src/triggers/request.d.ts +5 -1
- package/src/triggers/request.js +2 -0
- package/src/triggers/resources.d.ts +8 -2
- package/src/triggers/resources.js +31 -0
- package/src/triggers/signature.d.ts +3 -3
- package/src/triggers/signature.js +4 -6
- package/src/triggers/sources/configuration-schema.d.ts +5 -0
- package/src/triggers/sources/configuration-schema.js +118 -0
- package/src/triggers/sources/configuration.d.ts +115 -0
- package/src/triggers/sources/configuration.js +1 -0
- package/src/triggers/sources/definition.d.ts +61 -0
- package/src/triggers/sources/definition.js +3 -0
- package/src/triggers/sources/feishu-demands.d.ts +6 -0
- package/src/triggers/sources/feishu-demands.js +24 -0
- package/src/triggers/sources/feishu-events.d.ts +19 -0
- package/src/triggers/sources/feishu-events.js +108 -0
- package/src/triggers/sources/feishu.d.ts +3 -0
- package/src/triggers/sources/feishu.js +85 -0
- package/src/triggers/sources/fireflies.d.ts +3 -0
- package/src/triggers/sources/fireflies.js +100 -0
- package/src/triggers/sources/intercom.d.ts +3 -0
- package/src/triggers/sources/intercom.js +86 -0
- package/src/triggers/sources/jira.d.ts +3 -0
- package/src/triggers/sources/jira.js +120 -0
- package/src/triggers/sources/operation.d.ts +42 -0
- package/src/triggers/sources/operation.js +146 -0
- package/src/triggers/sources/sentry.d.ts +3 -0
- package/src/triggers/sources/sentry.js +125 -0
- package/src/triggers/sources/signature.d.ts +1 -0
- package/src/triggers/sources/signature.js +10 -0
- package/src/triggers/sources/slack.d.ts +3 -0
- package/src/triggers/sources/slack.js +127 -0
- package/src/triggers/sources/zoom.d.ts +3 -0
- package/src/triggers/sources/zoom.js +113 -0
- package/src/triggers/trigger-runner.d.ts +2 -0
- package/src/triggers/trigger-runner.js +52 -16
- package/src/providers/fastmoss_mcp/official-tools.json +0 -2922
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { CreateEventSource, UpdateEventSource, EventSource } from "../sources/configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "../sources/definition.ts";
|
|
1
3
|
import type { TriggerConfigOption, TriggerConfigOptionsContext } from "./configOptions.ts";
|
|
2
4
|
import type { ConnectorProxyRequest, ConnectorProxyResult, ConnectorProxy } from "./proxy.ts";
|
|
3
5
|
import type { IntegrationEndpointMethod, JsonValue, TriggerKeySnapshot } from "./types.ts";
|
|
@@ -85,13 +87,21 @@ export interface ResourceSubscription {
|
|
|
85
87
|
readonly unsubscribe: ConnectorProxyRequest;
|
|
86
88
|
readonly inspect?: ConnectorProxyRequest;
|
|
87
89
|
}
|
|
88
|
-
export
|
|
90
|
+
export type ResourceDefinition = {
|
|
89
91
|
readonly subscriptions: (config: Readonly<Record<string, JsonValue>>) => readonly ResourceSubscription[];
|
|
90
92
|
readonly response: (result: ConnectorProxyResult) => Readonly<Record<string, JsonValue>>;
|
|
91
|
-
}
|
|
93
|
+
} | {
|
|
94
|
+
readonly reconcile: (context: IntegrationReconcileContext) => Promise<IntegrationReconcileResult>;
|
|
95
|
+
};
|
|
92
96
|
export interface IntegrationDefinition {
|
|
97
|
+
readonly source?: EventSourceDefinition<CreateEventSource, UpdateEventSource, Partial<EventSource>>;
|
|
98
|
+
readonly sourceReceive?: (context: Omit<ListenerReadContext, "checkpoint"> & {
|
|
99
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
100
|
+
readonly rawBody: string;
|
|
101
|
+
}) => Promise<Readonly<Record<string, JsonValue>>>;
|
|
102
|
+
readonly sourceIdentity?: (context: Omit<ListenerReadContext, "checkpoint">) => Promise<Readonly<Record<string, JsonValue>>>;
|
|
93
103
|
readonly resources?: ResourceDefinition;
|
|
94
|
-
readonly eventSource?: "feishu";
|
|
104
|
+
readonly eventSource?: "feishu" | "slack" | "intercom" | "sentry" | "zoom" | "fireflies" | "jira";
|
|
95
105
|
readonly configOptions?: (context: TriggerConfigOptionsContext) => Promise<readonly TriggerConfigOption[]>;
|
|
96
106
|
readonly listener?: ListenerSource;
|
|
97
107
|
readonly initialState?: {
|
|
@@ -109,6 +119,8 @@ export declare class IntegrationConnectionError extends Error {
|
|
|
109
119
|
}
|
|
110
120
|
export declare class PermanentIntegrationError extends Error {
|
|
111
121
|
readonly name = "PermanentIntegrationError";
|
|
122
|
+
readonly reason: "trigger_quota_exceeded" | "trigger_subscription_uncertain" | undefined;
|
|
123
|
+
constructor(message: string, reason?: "trigger_quota_exceeded" | "trigger_subscription_uncertain");
|
|
112
124
|
}
|
|
113
125
|
export declare class TransientIntegrationError extends Error {
|
|
114
126
|
readonly name = "TransientIntegrationError";
|
|
@@ -25,6 +25,11 @@ export class IntegrationConnectionError extends Error {
|
|
|
25
25
|
}
|
|
26
26
|
export class PermanentIntegrationError extends Error {
|
|
27
27
|
name = "PermanentIntegrationError";
|
|
28
|
+
reason;
|
|
29
|
+
constructor(message, reason) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.reason = reason;
|
|
32
|
+
}
|
|
28
33
|
}
|
|
29
34
|
export class TransientIntegrationError extends Error {
|
|
30
35
|
name = "TransientIntegrationError";
|
|
@@ -6,9 +6,16 @@ export interface ConnectorProxyRequest {
|
|
|
6
6
|
readonly query?: Readonly<Record<string, boolean | number | string | null>>;
|
|
7
7
|
}
|
|
8
8
|
export interface ConnectorProxyResult {
|
|
9
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
9
10
|
readonly data: unknown;
|
|
10
11
|
readonly status: number;
|
|
11
12
|
}
|
|
12
13
|
export interface ConnectorProxy {
|
|
14
|
+
readonly oauthClientConfig?: {
|
|
15
|
+
readonly clientId: string;
|
|
16
|
+
readonly clientSecret?: string;
|
|
17
|
+
};
|
|
18
|
+
readonly providerAccountId?: string;
|
|
19
|
+
readonly authType?: string;
|
|
13
20
|
execute(request: ConnectorProxyRequest, signal?: AbortSignal): Promise<ConnectorProxyResult>;
|
|
14
21
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IntegrationReconcileContext, IntegrationReconcileResult } from "./common/integration.ts";
|
|
2
|
+
import type { ConnectorProxyRequest, ConnectorProxyResult } from "./common/proxy.ts";
|
|
3
|
+
export interface ManagedWebhook {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly secret: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function webhookRequest(context: Pick<IntegrationReconcileContext, "connector" | "signal">, request: ConnectorProxyRequest): Promise<ConnectorProxyResult>;
|
|
8
|
+
export declare function reconcileManagedWebhook(context: IntegrationReconcileContext, operations: {
|
|
9
|
+
readonly find: () => Promise<readonly ManagedWebhook[]>;
|
|
10
|
+
readonly create: () => Promise<ManagedWebhook>;
|
|
11
|
+
readonly remove: (id: string) => Promise<void>;
|
|
12
|
+
readonly align?: (id: string) => Promise<void>;
|
|
13
|
+
}): Promise<IntegrationReconcileResult>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PermanentIntegrationError, TransientIntegrationError } from "./common/integration.js";
|
|
2
|
+
export async function webhookRequest(context, request) {
|
|
3
|
+
context.signal?.throwIfAborted();
|
|
4
|
+
const result = await context.connector.execute(request, context.signal);
|
|
5
|
+
context.signal?.throwIfAborted();
|
|
6
|
+
if ((result.status >= 200 && result.status < 300) || (request.method == "DELETE" && result.status == 404))
|
|
7
|
+
return result;
|
|
8
|
+
const message = `Webhook ${request.method} request failed (HTTP ${result.status}). Check resource access and webhook permissions.`;
|
|
9
|
+
if (result.status >= 400 && result.status < 500 && result.status != 429)
|
|
10
|
+
throw new PermanentIntegrationError(message);
|
|
11
|
+
throw new TransientIntegrationError(message);
|
|
12
|
+
}
|
|
13
|
+
export async function reconcileManagedWebhook(context, operations) {
|
|
14
|
+
const state = context.state;
|
|
15
|
+
if (state == null)
|
|
16
|
+
throw new PermanentIntegrationError("Webhook subscription state is missing.");
|
|
17
|
+
const matches = await operations.find();
|
|
18
|
+
if (matches.length > 1)
|
|
19
|
+
throw new PermanentIntegrationError("Multiple webhooks match this subscription. Remove duplicates before retrying.");
|
|
20
|
+
let hook = matches[0];
|
|
21
|
+
if (!context.active) {
|
|
22
|
+
if (hook != null)
|
|
23
|
+
await operations.remove(hook.id);
|
|
24
|
+
else if (state.subscription.creating === true)
|
|
25
|
+
throw new PermanentIntegrationError("Webhook creation has an uncertain outcome. Verify the remote subscription before cleanup.");
|
|
26
|
+
await state.saveSubscription({}, new Date(context.now.getTime() + 86_400_000));
|
|
27
|
+
return { outcome: "ready" };
|
|
28
|
+
}
|
|
29
|
+
if (hook == null) {
|
|
30
|
+
if (state.subscription.creating === true)
|
|
31
|
+
throw new PermanentIntegrationError("Webhook creation has an uncertain outcome. Verify the remote subscription before retrying.");
|
|
32
|
+
await state.saveSubscription({ creating: true }, context.now);
|
|
33
|
+
try {
|
|
34
|
+
hook = await operations.create();
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// A definite rejection did not create a resource; transport and malformed-response errors remain uncertain.
|
|
38
|
+
if (error instanceof PermanentIntegrationError)
|
|
39
|
+
await state.saveSubscription({}, context.now);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const subscription = { hookId: hook.id, secret: hook.secret };
|
|
44
|
+
await state.saveSubscription(subscription, context.now);
|
|
45
|
+
await operations.align?.(hook.id);
|
|
46
|
+
await state.saveSubscription(subscription, new Date(context.now.getTime() + 86_400_000));
|
|
47
|
+
return { outcome: "ready" };
|
|
48
|
+
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { JsonValue } from "./common/types.ts";
|
|
2
|
+
import type { SourceOperation } from "./sources/operation.ts";
|
|
2
3
|
interface ConfigRequest {
|
|
3
4
|
config: Readonly<Record<string, JsonValue>>;
|
|
4
5
|
}
|
|
5
|
-
export type TriggerRequest =
|
|
6
|
+
export type TriggerRequest = {
|
|
7
|
+
operation: "source";
|
|
8
|
+
request: SourceOperation;
|
|
9
|
+
} | (ConfigRequest & {
|
|
6
10
|
operation: "options";
|
|
7
11
|
field: string;
|
|
8
12
|
}) | (ConfigRequest & {
|
package/src/triggers/request.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { HttpRequestError } from "../server/api/http-utils.js";
|
|
3
|
+
import { sourceOperationSchema } from "./sources/operation.js";
|
|
3
4
|
const config = z.record(z.string(), z.json());
|
|
4
5
|
const subscriptionId = z.string().min(1).max(128);
|
|
5
6
|
const requestKey = z.string().min(1).max(512);
|
|
6
7
|
const requestSchema = z.discriminatedUnion("operation", [
|
|
8
|
+
z.strictObject({ operation: z.literal("source"), request: sourceOperationSchema }),
|
|
7
9
|
z.strictObject({ operation: z.literal("options"), config, field: z.string().min(1).max(128) }),
|
|
8
10
|
z.strictObject({ operation: z.literal("read"), config, checkpoint: z.json() }),
|
|
9
11
|
z.strictObject({
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import type { IntegrationReconcileResult, ResourceDefinition } from "./common/integration.ts";
|
|
2
2
|
import type { ConnectorProxy } from "./common/proxy.ts";
|
|
3
|
+
import type { JsonValue } from "./common/types.ts";
|
|
3
4
|
import type { TriggerRequest } from "./request.ts";
|
|
4
5
|
import type { TriggerSubscription, TriggerStore } from "./store.ts";
|
|
5
6
|
import type { SubscriptionOwner } from "./subscriptions.ts";
|
|
7
|
+
interface ResourceSubscriptionResult extends IntegrationReconcileResult {
|
|
8
|
+
readonly subscription?: Readonly<Record<string, JsonValue>>;
|
|
9
|
+
readonly reconcileAt?: number;
|
|
10
|
+
}
|
|
6
11
|
export declare function executeResourceSubscription(store: TriggerStore, definition: ResourceDefinition, owner: SubscriptionOwner, input: Extract<TriggerRequest, {
|
|
7
12
|
operation: "resource";
|
|
8
|
-
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<
|
|
13
|
+
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<ResourceSubscriptionResult>;
|
|
9
14
|
export declare function executeResourceSubscriptionOperation(store: TriggerStore, definition: ResourceDefinition, consumer: TriggerSubscription, saveConsumer: () => Promise<void>, input: Extract<TriggerRequest, {
|
|
10
15
|
operation: "resource";
|
|
11
|
-
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<
|
|
16
|
+
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<ResourceSubscriptionResult>;
|
|
12
17
|
export declare function abandonResourceSubscription(store: TriggerStore, definition: ResourceDefinition, consumer: TriggerSubscription, signal: AbortSignal): Promise<void>;
|
|
18
|
+
export {};
|
|
@@ -52,6 +52,35 @@ export async function executeResourceSubscriptionOperation(store, definition, co
|
|
|
52
52
|
consumer.status = "deleting";
|
|
53
53
|
await saveConsumer();
|
|
54
54
|
}
|
|
55
|
+
if ("reconcile" in definition) {
|
|
56
|
+
const result = await definition.reconcile({
|
|
57
|
+
active: input.active,
|
|
58
|
+
config: input.config,
|
|
59
|
+
connector: proxy,
|
|
60
|
+
signal,
|
|
61
|
+
now: new Date(),
|
|
62
|
+
endpointUrl: typeof input.config.endpointUrl === "string" ? input.config.endpointUrl : "",
|
|
63
|
+
callbackSecret: "",
|
|
64
|
+
idempotencyKey: member,
|
|
65
|
+
state: {
|
|
66
|
+
checkpoint: consumer.checkpoint,
|
|
67
|
+
subscription: consumer.subscription,
|
|
68
|
+
saveCheckpoint: async (checkpoint) => {
|
|
69
|
+
consumer.checkpoint = checkpoint;
|
|
70
|
+
await saveConsumer();
|
|
71
|
+
},
|
|
72
|
+
saveSubscription: async (subscription, reconcileAt) => {
|
|
73
|
+
consumer.subscription = subscription;
|
|
74
|
+
consumer.reconcileAt = reconcileAt.getTime();
|
|
75
|
+
await saveConsumer();
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
if (!input.active && result.outcome === "ready")
|
|
80
|
+
consumer.status = "deleted";
|
|
81
|
+
await saveConsumer();
|
|
82
|
+
return { ...result, subscription: consumer.subscription, reconcileAt: consumer.reconcileAt };
|
|
83
|
+
}
|
|
55
84
|
for (const resource of definition.subscriptions(input.config)) {
|
|
56
85
|
const shared = { ...owner, tokenId: "shared-resource" };
|
|
57
86
|
const id = await resourceSubscriptionId(owner, resource.key);
|
|
@@ -106,6 +135,8 @@ export async function executeResourceSubscriptionOperation(store, definition, co
|
|
|
106
135
|
return { outcome: "ready" };
|
|
107
136
|
}
|
|
108
137
|
export async function abandonResourceSubscription(store, definition, consumer, signal) {
|
|
138
|
+
if ("reconcile" in definition)
|
|
139
|
+
return;
|
|
109
140
|
for (const resource of definition.subscriptions(consumer.config)) {
|
|
110
141
|
const id = await resourceSubscriptionId(consumer, resource.key);
|
|
111
142
|
if (!(await store.getFlowTrigger(id)))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function bytes(value: string): Uint8Array
|
|
1
|
+
export declare function bytes(value: string): Uint8Array<ArrayBuffer>;
|
|
2
2
|
export declare function sameSecret(candidate: string | undefined, expected: string): boolean;
|
|
3
|
-
export declare function verifyBase64Hmac(secret: string, parts: readonly Uint8Array[], signature: string | undefined): Promise<boolean>;
|
|
4
|
-
export declare function verifyHexHmac(secret: string, parts: readonly Uint8Array[], signature: string | undefined): Promise<boolean>;
|
|
3
|
+
export declare function verifyBase64Hmac(secret: string | Uint8Array, parts: readonly Uint8Array[], signature: string | undefined): Promise<boolean>;
|
|
4
|
+
export declare function verifyHexHmac(secret: string | Uint8Array, parts: readonly Uint8Array[], signature: string | undefined, hash?: string): Promise<boolean>;
|
|
@@ -9,14 +9,12 @@ export async function verifyBase64Hmac(secret, parts, signature) {
|
|
|
9
9
|
const candidate = signature == null ? undefined : base64(signature);
|
|
10
10
|
return candidate != null && sameBytes(candidate, await hmac(secret, parts));
|
|
11
11
|
}
|
|
12
|
-
export async function verifyHexHmac(secret, parts, signature) {
|
|
12
|
+
export async function verifyHexHmac(secret, parts, signature, hash = "SHA-256") {
|
|
13
13
|
const candidate = signature == null ? undefined : hex(signature);
|
|
14
|
-
return candidate != null && sameBytes(candidate, await hmac(secret, parts));
|
|
14
|
+
return candidate != null && sameBytes(candidate, await hmac(secret, parts, hash));
|
|
15
15
|
}
|
|
16
|
-
async function hmac(secret, parts) {
|
|
17
|
-
const key = await crypto.subtle.importKey("raw", encoder.encode(secret), { hash
|
|
18
|
-
"sign",
|
|
19
|
-
]);
|
|
16
|
+
async function hmac(secret, parts, hash = "SHA-256") {
|
|
17
|
+
const key = await crypto.subtle.importKey("raw", typeof secret == "string" ? encoder.encode(secret) : secret, { hash, name: "HMAC" }, false, ["sign"]);
|
|
20
18
|
const size = parts.reduce((total, part) => total + part.byteLength, 0);
|
|
21
19
|
const source = new Uint8Array(size);
|
|
22
20
|
let offset = 0;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CreateEventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export declare const updateEventSourceSchema: z.ZodType<UpdateEventSource>;
|
|
4
|
+
export declare const createEventSourceSchema: z.ZodType<CreateEventSource>;
|
|
5
|
+
export declare function sourceCreateSchema(kind: string): z.ZodType<CreateEventSource>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const id = z.string().min(1).max(256);
|
|
3
|
+
const eventType = z.string().regex(/^[a-z][a-z0-9_.:]{0,127}$/);
|
|
4
|
+
const name = z.string().trim().min(1).max(128);
|
|
5
|
+
const secret = z.string().min(1).max(256);
|
|
6
|
+
const createFeishuEventSourceSchema = z.strictObject({
|
|
7
|
+
kind: z.literal("feishu").optional(),
|
|
8
|
+
version: z.literal(1),
|
|
9
|
+
name,
|
|
10
|
+
connectionId: id,
|
|
11
|
+
teamId: id.nullable(),
|
|
12
|
+
verificationToken: secret,
|
|
13
|
+
encryptKey: secret,
|
|
14
|
+
eventTypes: z
|
|
15
|
+
.array(eventType)
|
|
16
|
+
.min(1)
|
|
17
|
+
.max(200)
|
|
18
|
+
.refine((values) => new Set(values).size == values.length),
|
|
19
|
+
manageSubscriptions: z.boolean(),
|
|
20
|
+
});
|
|
21
|
+
const createSchema = z.union([
|
|
22
|
+
createFeishuEventSourceSchema,
|
|
23
|
+
z.strictObject({
|
|
24
|
+
kind: z.literal("jira"),
|
|
25
|
+
version: z.literal(1),
|
|
26
|
+
name,
|
|
27
|
+
connectionId: id,
|
|
28
|
+
teamId: id.nullable(),
|
|
29
|
+
project: id,
|
|
30
|
+
eventTypes: z
|
|
31
|
+
.array(z.enum(["jira:issue_created", "jira:issue_updated", "comment_created"]))
|
|
32
|
+
.min(1)
|
|
33
|
+
.max(3)
|
|
34
|
+
.refine((values) => new Set(values).size === values.length),
|
|
35
|
+
}),
|
|
36
|
+
z.strictObject({
|
|
37
|
+
kind: z.literal("fireflies"),
|
|
38
|
+
version: z.literal(1),
|
|
39
|
+
name,
|
|
40
|
+
connectionId: id,
|
|
41
|
+
teamId: id.nullable(),
|
|
42
|
+
signingSecret: secret,
|
|
43
|
+
eventTypes: z
|
|
44
|
+
.array(z.enum(["meeting.transcribed", "meeting.summarized"]))
|
|
45
|
+
.min(1)
|
|
46
|
+
.max(2)
|
|
47
|
+
.refine((values) => new Set(values).size === values.length),
|
|
48
|
+
}),
|
|
49
|
+
z.strictObject({
|
|
50
|
+
kind: z.literal("zoom"),
|
|
51
|
+
version: z.literal(1),
|
|
52
|
+
name,
|
|
53
|
+
connectionId: id,
|
|
54
|
+
teamId: id.nullable(),
|
|
55
|
+
appId: id,
|
|
56
|
+
signingSecret: secret,
|
|
57
|
+
eventTypes: z.array(z.literal("recording.completed")).length(1),
|
|
58
|
+
}),
|
|
59
|
+
z.strictObject({
|
|
60
|
+
kind: z.literal("sentry"),
|
|
61
|
+
version: z.literal(1),
|
|
62
|
+
name,
|
|
63
|
+
connectionId: id,
|
|
64
|
+
teamId: id.nullable(),
|
|
65
|
+
appId: id,
|
|
66
|
+
installationId: id,
|
|
67
|
+
organizationId: id,
|
|
68
|
+
signingSecret: secret,
|
|
69
|
+
eventTypes: z.array(z.literal("issue.alert")).length(1),
|
|
70
|
+
}),
|
|
71
|
+
z.strictObject({
|
|
72
|
+
kind: z.literal("intercom"),
|
|
73
|
+
version: z.literal(1),
|
|
74
|
+
name,
|
|
75
|
+
connectionId: id,
|
|
76
|
+
teamId: id.nullable(),
|
|
77
|
+
appId: id,
|
|
78
|
+
signingSecret: secret,
|
|
79
|
+
eventTypes: z
|
|
80
|
+
.array(z.enum(["conversation.user.created", "conversation.user.replied", "ticket.created"]))
|
|
81
|
+
.min(1)
|
|
82
|
+
.max(3)
|
|
83
|
+
.refine((values) => new Set(values).size === values.length),
|
|
84
|
+
}),
|
|
85
|
+
z.strictObject({
|
|
86
|
+
kind: z.literal("slack"),
|
|
87
|
+
version: z.literal(1),
|
|
88
|
+
name,
|
|
89
|
+
connectionId: id,
|
|
90
|
+
teamId: id.nullable(),
|
|
91
|
+
appId: z.string().regex(/^A[A-Z0-9]+$/),
|
|
92
|
+
workspaceId: z.string().regex(/^T[A-Z0-9]+$/),
|
|
93
|
+
signingSecret: secret,
|
|
94
|
+
eventTypes: z
|
|
95
|
+
.array(z.enum(["app_mention", "message.im"]))
|
|
96
|
+
.min(1)
|
|
97
|
+
.max(2)
|
|
98
|
+
.refine((values) => new Set(values).size === values.length),
|
|
99
|
+
}),
|
|
100
|
+
]);
|
|
101
|
+
export const updateEventSourceSchema = z.strictObject({
|
|
102
|
+
version: z.literal(1),
|
|
103
|
+
expectedRevision: z.int().positive(),
|
|
104
|
+
name,
|
|
105
|
+
enabled: z.boolean(),
|
|
106
|
+
eventTypes: z
|
|
107
|
+
.array(eventType)
|
|
108
|
+
.min(1)
|
|
109
|
+
.max(200)
|
|
110
|
+
.refine((values) => new Set(values).size == values.length),
|
|
111
|
+
verificationToken: secret.optional(),
|
|
112
|
+
signingSecret: secret.optional(),
|
|
113
|
+
encryptKey: secret.optional(),
|
|
114
|
+
});
|
|
115
|
+
export const createEventSourceSchema = createSchema;
|
|
116
|
+
export function sourceCreateSchema(kind) {
|
|
117
|
+
return createSchema.options.find((schema) => schema.shape.kind.safeParse(kind).success);
|
|
118
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
export interface CreateFeishuEventSource {
|
|
2
|
+
readonly kind?: "feishu";
|
|
3
|
+
readonly version: 1;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly connectionId: string;
|
|
6
|
+
readonly teamId: string | null;
|
|
7
|
+
readonly verificationToken: string;
|
|
8
|
+
readonly encryptKey: string;
|
|
9
|
+
readonly eventTypes: string[];
|
|
10
|
+
readonly manageSubscriptions: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateSlackEventSource {
|
|
13
|
+
readonly kind: "slack";
|
|
14
|
+
readonly version: 1;
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly connectionId: string;
|
|
17
|
+
readonly teamId: string | null;
|
|
18
|
+
readonly appId: string;
|
|
19
|
+
readonly workspaceId: string;
|
|
20
|
+
readonly signingSecret: string;
|
|
21
|
+
readonly eventTypes: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface CreateIntercomEventSource {
|
|
24
|
+
readonly kind: "intercom";
|
|
25
|
+
readonly version: 1;
|
|
26
|
+
readonly name: string;
|
|
27
|
+
readonly connectionId: string;
|
|
28
|
+
readonly teamId: string | null;
|
|
29
|
+
readonly appId: string;
|
|
30
|
+
readonly signingSecret: string;
|
|
31
|
+
readonly eventTypes: string[];
|
|
32
|
+
}
|
|
33
|
+
export interface CreateSentryEventSource {
|
|
34
|
+
readonly kind: "sentry";
|
|
35
|
+
readonly version: 1;
|
|
36
|
+
readonly name: string;
|
|
37
|
+
readonly connectionId: string;
|
|
38
|
+
readonly teamId: string | null;
|
|
39
|
+
readonly appId: string;
|
|
40
|
+
readonly installationId: string;
|
|
41
|
+
readonly organizationId: string;
|
|
42
|
+
readonly signingSecret: string;
|
|
43
|
+
readonly eventTypes: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface CreateZoomEventSource {
|
|
46
|
+
readonly kind: "zoom";
|
|
47
|
+
readonly version: 1;
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly connectionId: string;
|
|
50
|
+
readonly teamId: string | null;
|
|
51
|
+
readonly appId: string;
|
|
52
|
+
readonly signingSecret: string;
|
|
53
|
+
readonly eventTypes: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface CreateFirefliesEventSource {
|
|
56
|
+
readonly kind: "fireflies";
|
|
57
|
+
readonly version: 1;
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly connectionId: string;
|
|
60
|
+
readonly teamId: string | null;
|
|
61
|
+
readonly signingSecret: string;
|
|
62
|
+
readonly eventTypes: string[];
|
|
63
|
+
}
|
|
64
|
+
export interface CreateJiraEventSource {
|
|
65
|
+
readonly kind: "jira";
|
|
66
|
+
readonly version: 1;
|
|
67
|
+
readonly name: string;
|
|
68
|
+
readonly connectionId: string;
|
|
69
|
+
readonly teamId: string | null;
|
|
70
|
+
readonly project: string;
|
|
71
|
+
readonly eventTypes: string[];
|
|
72
|
+
}
|
|
73
|
+
export type CreateEventSource = CreateFeishuEventSource | CreateSlackEventSource | CreateIntercomEventSource | CreateSentryEventSource | CreateZoomEventSource | CreateFirefliesEventSource | CreateJiraEventSource;
|
|
74
|
+
export interface UpdateEventSource {
|
|
75
|
+
readonly signingSecret?: string;
|
|
76
|
+
readonly version: 1;
|
|
77
|
+
readonly expectedRevision: number;
|
|
78
|
+
readonly name: string;
|
|
79
|
+
readonly enabled: boolean;
|
|
80
|
+
readonly eventTypes: string[];
|
|
81
|
+
readonly verificationToken?: string;
|
|
82
|
+
readonly encryptKey?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface EventSource {
|
|
85
|
+
readonly version: 1;
|
|
86
|
+
readonly sourceId: string;
|
|
87
|
+
readonly revision: number;
|
|
88
|
+
readonly name: string;
|
|
89
|
+
readonly provider: "feishu" | "feishu_app_bot" | "slackbot" | "intercom" | "sentry" | "zoom" | "fireflies" | "jira";
|
|
90
|
+
readonly appId: string;
|
|
91
|
+
readonly workspaceId?: string;
|
|
92
|
+
readonly installationId?: string;
|
|
93
|
+
readonly organizationId?: string;
|
|
94
|
+
readonly projectId?: string;
|
|
95
|
+
readonly projectKey?: string;
|
|
96
|
+
readonly subscriptionStatus?: "idle" | "pending" | "ready" | "error";
|
|
97
|
+
readonly lastError?: string;
|
|
98
|
+
readonly signingSecretConfigured?: boolean;
|
|
99
|
+
readonly connectionId: string;
|
|
100
|
+
readonly teamId: string | null;
|
|
101
|
+
readonly enabled: boolean;
|
|
102
|
+
readonly eventTypes: string[];
|
|
103
|
+
readonly manageSubscriptions: boolean;
|
|
104
|
+
readonly verificationTokenConfigured: boolean;
|
|
105
|
+
readonly encryptKeyConfigured: boolean;
|
|
106
|
+
readonly endpointUrl: string | null;
|
|
107
|
+
readonly verifiedAt: string | null;
|
|
108
|
+
readonly lastReceivedAt: string | null;
|
|
109
|
+
readonly updatedAt: string;
|
|
110
|
+
readonly consumers: {
|
|
111
|
+
flowId: string;
|
|
112
|
+
flowName: string;
|
|
113
|
+
triggerNodeId: string;
|
|
114
|
+
}[];
|
|
115
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { PermanentIntegrationError } from "../common/integration.ts";
|
|
2
|
+
type TriggerOperationRequest = {
|
|
3
|
+
operation: "sourceIdentity";
|
|
4
|
+
config: Readonly<Record<string, JsonValue>>;
|
|
5
|
+
} | {
|
|
6
|
+
operation: "sourceReceive";
|
|
7
|
+
config: Readonly<Record<string, JsonValue>>;
|
|
8
|
+
headers: Readonly<Record<string, string>>;
|
|
9
|
+
rawBody: string;
|
|
10
|
+
};
|
|
11
|
+
import type { JsonValue } from "../common/types.ts";
|
|
12
|
+
export interface SourceConfiguration {
|
|
13
|
+
readonly identity: string;
|
|
14
|
+
readonly eventTypes: string[];
|
|
15
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
16
|
+
readonly secrets: Readonly<Record<string, JsonValue>>;
|
|
17
|
+
readonly state: Readonly<Record<string, JsonValue>>;
|
|
18
|
+
}
|
|
19
|
+
export interface SourceEvent {
|
|
20
|
+
readonly ordering?: {
|
|
21
|
+
readonly key: string;
|
|
22
|
+
readonly version: number;
|
|
23
|
+
};
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly type: string;
|
|
26
|
+
readonly payload: Readonly<Record<string, JsonValue>>;
|
|
27
|
+
}
|
|
28
|
+
export interface SourceSubscription {
|
|
29
|
+
readonly key: string;
|
|
30
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
31
|
+
}
|
|
32
|
+
export interface EventSourceDefinition<Create, Update, View> {
|
|
33
|
+
readonly kind: string;
|
|
34
|
+
readonly provider: string;
|
|
35
|
+
readonly maximumBodyBytes: number;
|
|
36
|
+
readonly expiresAt?: (source: SourceConfiguration) => number | undefined;
|
|
37
|
+
readonly applicationIngress?: boolean;
|
|
38
|
+
readonly initialize: (input: Create, accountId: string | undefined) => SourceConfiguration;
|
|
39
|
+
readonly verifyIdentity?: (source: SourceConfiguration, read: (config: Readonly<Record<string, JsonValue>>) => Promise<unknown>) => Promise<SourceConfiguration>;
|
|
40
|
+
readonly update: (source: SourceConfiguration, input: Update) => SourceConfiguration;
|
|
41
|
+
readonly view: (source: SourceConfiguration, now?: number) => View;
|
|
42
|
+
readonly ready: (source: SourceConfiguration, now?: number) => boolean;
|
|
43
|
+
readonly receive: (source: SourceConfiguration, bytes: Uint8Array, headers: Headers, now: number, execute?: (request: Extract<TriggerOperationRequest, {
|
|
44
|
+
operation: "sourceIdentity" | "sourceReceive";
|
|
45
|
+
}>) => Promise<unknown>) => Promise<{
|
|
46
|
+
readonly response: Response;
|
|
47
|
+
readonly state: SourceConfiguration["state"];
|
|
48
|
+
} | {
|
|
49
|
+
readonly event: SourceEvent;
|
|
50
|
+
readonly state?: SourceConfiguration["state"];
|
|
51
|
+
}>;
|
|
52
|
+
readonly matches: (config: Readonly<Record<string, JsonValue>>, event: SourceEvent) => boolean;
|
|
53
|
+
readonly resources: {
|
|
54
|
+
readonly managed?: boolean;
|
|
55
|
+
readonly triggerId: string;
|
|
56
|
+
readonly requests: (source: SourceConfiguration, provider: string, config: Readonly<Record<string, JsonValue>>, endpointUrl?: string) => readonly SourceSubscription[];
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export declare class SourceIdentityError extends PermanentIntegrationError {
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { JsonValue } from "../common/types.ts";
|
|
2
|
+
export interface FeishuSubscription {
|
|
3
|
+
readonly key: string;
|
|
4
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
5
|
+
}
|
|
6
|
+
export declare function feishuSubscriptions(config: Readonly<Record<string, JsonValue>>, provider: string): readonly FeishuSubscription[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { feishuResourceKind } from "../../providers/feishu_app_bot/trigger-config.js";
|
|
2
|
+
import { PermanentIntegrationError } from "../common/integration.js";
|
|
3
|
+
import { isJsonObject } from "../common/json.js";
|
|
4
|
+
export function feishuSubscriptions(config, provider) {
|
|
5
|
+
if (config.resource == null)
|
|
6
|
+
return [];
|
|
7
|
+
if (!isJsonObject(config.resource))
|
|
8
|
+
throw new PermanentIntegrationError("Invalid Feishu resource.");
|
|
9
|
+
const { kind, id, documentType } = config.resource;
|
|
10
|
+
if (typeof id != "string" || id.length == 0 || kind != feishuResourceKind(config.eventTypes))
|
|
11
|
+
throw new PermanentIntegrationError("Invalid resource subscription.");
|
|
12
|
+
if (kind == "document") {
|
|
13
|
+
if (typeof documentType != "string" ||
|
|
14
|
+
!["doc", "docx", "sheet", "bitable", "file", "folder", "slides"].includes(documentType))
|
|
15
|
+
throw new PermanentIntegrationError("A supported document type is required.");
|
|
16
|
+
return config.eventTypes.map((eventType) => ({
|
|
17
|
+
key: JSON.stringify(["document", documentType, id, eventType]),
|
|
18
|
+
config: { ...config, eventTypes: [eventType] },
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
if (kind == "calendar" || (kind == "approval" && provider == "feishu_app_bot"))
|
|
22
|
+
return [{ key: JSON.stringify([kind, id]), config }];
|
|
23
|
+
throw new PermanentIntegrationError("Unsupported Feishu resource subscription.");
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { JsonValue } from "../common/types.ts";
|
|
2
|
+
export interface FeishuEvent {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly appId: string;
|
|
6
|
+
readonly tenantKey: string;
|
|
7
|
+
readonly occurredAt: string | null;
|
|
8
|
+
readonly body: Readonly<Record<string, JsonValue>>;
|
|
9
|
+
}
|
|
10
|
+
export declare function receiveFeishuEvent(rawBody: Uint8Array, headers: Headers, source: {
|
|
11
|
+
readonly appId: string;
|
|
12
|
+
readonly verificationToken: string;
|
|
13
|
+
readonly encryptKey: string;
|
|
14
|
+
}, now: number): Promise<{
|
|
15
|
+
readonly challenge: string;
|
|
16
|
+
} | {
|
|
17
|
+
readonly event: FeishuEvent;
|
|
18
|
+
}>;
|
|
19
|
+
export declare function matchesFeishuEvent(config: Readonly<Record<string, JsonValue>>, event: Pick<FeishuEvent, "type" | "body">): boolean;
|