@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
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
const encoder = new TextEncoder();
|
|
3
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
4
|
+
export async function receiveFeishuEvent(rawBody, headers, source, now) {
|
|
5
|
+
const envelope = JSON.parse(decoder.decode(rawBody));
|
|
6
|
+
if (!isJsonObject(envelope) ||
|
|
7
|
+
typeof envelope.encrypt != "string" ||
|
|
8
|
+
!/^[A-Za-z0-9+/]+={0,2}$/.test(envelope.encrypt)) {
|
|
9
|
+
throw new TypeError("An encrypted Feishu envelope is required.");
|
|
10
|
+
}
|
|
11
|
+
const bytes = Uint8Array.from(atob(envelope.encrypt), (character) => character.charCodeAt(0));
|
|
12
|
+
if (bytes.length < 32 || bytes.length % 16 != 0)
|
|
13
|
+
throw new TypeError("Invalid encrypted Feishu envelope.");
|
|
14
|
+
const key = await crypto.subtle.importKey("raw", await crypto.subtle.digest("SHA-256", encoder.encode(source.encryptKey)), "AES-CBC", false, ["decrypt"]);
|
|
15
|
+
const value = JSON.parse(decoder.decode(await crypto.subtle.decrypt({ name: "AES-CBC", iv: bytes.slice(0, 16) }, key, bytes.slice(16))));
|
|
16
|
+
if (!isJsonObject(value))
|
|
17
|
+
throw new TypeError("Invalid Feishu event.");
|
|
18
|
+
const header = isJsonObject(value.header) ? value.header : undefined;
|
|
19
|
+
if (!sameSecret(header?.token ?? value.token, source.verificationToken))
|
|
20
|
+
throw new TypeError("Invalid Feishu verification token.");
|
|
21
|
+
if (value.type == "url_verification") {
|
|
22
|
+
if (typeof value.challenge != "string" || value.challenge.length == 0 || value.challenge.length > 1024)
|
|
23
|
+
throw new TypeError("Invalid challenge.");
|
|
24
|
+
return { challenge: value.challenge };
|
|
25
|
+
}
|
|
26
|
+
const timestamp = headers.get("x-lark-request-timestamp") ?? "";
|
|
27
|
+
const nonce = headers.get("x-lark-request-nonce") ?? "";
|
|
28
|
+
const signature = headers.get("x-lark-signature") ?? "";
|
|
29
|
+
if (!/^\d{10}$/.test(timestamp) ||
|
|
30
|
+
Math.abs(now - Number(timestamp) * 1000) > 86_400_000 ||
|
|
31
|
+
nonce.length == 0 ||
|
|
32
|
+
nonce.length > 256) {
|
|
33
|
+
throw new TypeError("Invalid Feishu request identity.");
|
|
34
|
+
}
|
|
35
|
+
const prefix = encoder.encode(timestamp + nonce + source.encryptKey);
|
|
36
|
+
const signed = new Uint8Array(prefix.length + rawBody.length);
|
|
37
|
+
signed.set(prefix);
|
|
38
|
+
signed.set(rawBody, prefix.length);
|
|
39
|
+
const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", signed));
|
|
40
|
+
const hex = Array.from(digest, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
41
|
+
if (!sameSecret(signature, hex))
|
|
42
|
+
throw new TypeError("Invalid Feishu signature.");
|
|
43
|
+
const body = value.event;
|
|
44
|
+
if (!isJsonObject(body))
|
|
45
|
+
throw new TypeError("Missing Feishu event body.");
|
|
46
|
+
if (value.schema != null && value.schema != "2.0")
|
|
47
|
+
throw new TypeError("Unsupported Feishu event schema.");
|
|
48
|
+
const type = header?.event_type ?? body.type;
|
|
49
|
+
const appId = header?.app_id ?? body.app_id ?? value.app_id;
|
|
50
|
+
const tenantKey = header?.tenant_key ?? body.tenant_key ?? value.tenant_key;
|
|
51
|
+
let id = header?.event_id ?? value.uuid;
|
|
52
|
+
if (type == "im.message.receive_v1" && isJsonObject(body.message))
|
|
53
|
+
id = body.message.message_id;
|
|
54
|
+
if (typeof id != "string" ||
|
|
55
|
+
id.length == 0 ||
|
|
56
|
+
id.length > 256 ||
|
|
57
|
+
typeof type != "string" ||
|
|
58
|
+
!/^[a-z][a-z0-9_.]{0,127}$/.test(type)) {
|
|
59
|
+
throw new TypeError("Missing Feishu event identity.");
|
|
60
|
+
}
|
|
61
|
+
if (appId != source.appId)
|
|
62
|
+
throw new TypeError("Feishu event source does not match.");
|
|
63
|
+
if (typeof tenantKey != "string" || tenantKey.length == 0 || tenantKey.length > 256)
|
|
64
|
+
throw new TypeError("Invalid Feishu event tenant.");
|
|
65
|
+
if (type == "card.action.trigger" || type == "app_ticket")
|
|
66
|
+
throw new TypeError("This callback is not an asynchronous business event.");
|
|
67
|
+
const { token: _token, ...business } = body;
|
|
68
|
+
const occurredAt = header?.create_time ?? value.ts;
|
|
69
|
+
return {
|
|
70
|
+
event: {
|
|
71
|
+
id: `${type}:${id}`,
|
|
72
|
+
type,
|
|
73
|
+
appId: source.appId,
|
|
74
|
+
tenantKey,
|
|
75
|
+
occurredAt: typeof occurredAt == "string" ? occurredAt : null,
|
|
76
|
+
body: business,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function sameSecret(value, expected) {
|
|
81
|
+
if (typeof value != "string" || value.length != expected.length)
|
|
82
|
+
return false;
|
|
83
|
+
let difference = 0;
|
|
84
|
+
for (let index = 0; index < expected.length; index += 1)
|
|
85
|
+
difference |= value.charCodeAt(index) ^ expected.charCodeAt(index);
|
|
86
|
+
return difference == 0;
|
|
87
|
+
}
|
|
88
|
+
export function matchesFeishuEvent(config, event) {
|
|
89
|
+
if (!Array.isArray(config.eventTypes) || !config.eventTypes.includes(event.type))
|
|
90
|
+
return false;
|
|
91
|
+
const chatIds = config.chatIds;
|
|
92
|
+
if (Array.isArray(chatIds) && chatIds.length > 0) {
|
|
93
|
+
const chatId = isJsonObject(event.body.message) ? event.body.message.chat_id : event.body.chat_id;
|
|
94
|
+
if (typeof chatId != "string" || !chatIds.includes(chatId))
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
const resource = config.resource;
|
|
98
|
+
if (isJsonObject(resource)) {
|
|
99
|
+
const id = resource.kind == "document"
|
|
100
|
+
? event.body.file_token
|
|
101
|
+
: resource.kind == "calendar"
|
|
102
|
+
? event.body.calendar_id
|
|
103
|
+
: event.body.approval_code;
|
|
104
|
+
if (id != resource.id)
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const feishuApplication: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { PermanentIntegrationError } from "../common/integration.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
import { feishuSubscriptions } from "./feishu-demands.js";
|
|
4
|
+
import { receiveFeishuEvent, matchesFeishuEvent } from "./feishu-events.js";
|
|
5
|
+
export const feishuApplication = {
|
|
6
|
+
kind: "feishu",
|
|
7
|
+
provider: "feishu_app_bot",
|
|
8
|
+
maximumBodyBytes: 64 * 1024,
|
|
9
|
+
initialize(input, accountId) {
|
|
10
|
+
if (input.kind != null && input.kind !== "feishu")
|
|
11
|
+
throw new SourceIdentityError("Expected a Feishu source.");
|
|
12
|
+
if (accountId == null || !/^cli_[a-zA-Z0-9]+$/.test(accountId))
|
|
13
|
+
throw new SourceIdentityError("Connector must provide the verified application identity.");
|
|
14
|
+
return {
|
|
15
|
+
identity: accountId,
|
|
16
|
+
eventTypes: input.eventTypes,
|
|
17
|
+
config: { manageSubscriptions: input.manageSubscriptions },
|
|
18
|
+
secrets: { verificationToken: input.verificationToken, encryptKey: input.encryptKey },
|
|
19
|
+
state: {},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
update(source, input) {
|
|
23
|
+
const secrets = {
|
|
24
|
+
verificationToken: input.verificationToken ?? source.secrets.verificationToken,
|
|
25
|
+
encryptKey: input.encryptKey ?? source.secrets.encryptKey,
|
|
26
|
+
};
|
|
27
|
+
const changed = secrets.verificationToken != source.secrets.verificationToken || secrets.encryptKey != source.secrets.encryptKey;
|
|
28
|
+
return {
|
|
29
|
+
identity: source.identity,
|
|
30
|
+
eventTypes: input.eventTypes,
|
|
31
|
+
config: source.config,
|
|
32
|
+
secrets,
|
|
33
|
+
state: changed ? {} : source.state,
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
view(source) {
|
|
37
|
+
return {
|
|
38
|
+
appId: source.identity,
|
|
39
|
+
manageSubscriptions: source.config.manageSubscriptions === true,
|
|
40
|
+
verificationTokenConfigured: true,
|
|
41
|
+
encryptKeyConfigured: true,
|
|
42
|
+
verifiedAt: typeof source.state.verifiedAt == "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
ready: (source) => typeof source.state.verifiedAt == "number",
|
|
46
|
+
async receive(source, bytes, headers, now) {
|
|
47
|
+
const received = await receiveFeishuEvent(bytes, headers, {
|
|
48
|
+
appId: source.identity,
|
|
49
|
+
verificationToken: source.secrets.verificationToken,
|
|
50
|
+
encryptKey: source.secrets.encryptKey,
|
|
51
|
+
}, now);
|
|
52
|
+
if ("challenge" in received)
|
|
53
|
+
return { response: Response.json(received), state: { ...source.state, verifiedAt: now } };
|
|
54
|
+
const event = received.event;
|
|
55
|
+
return {
|
|
56
|
+
event: {
|
|
57
|
+
id: event.id,
|
|
58
|
+
type: event.type,
|
|
59
|
+
payload: {
|
|
60
|
+
event: event.type,
|
|
61
|
+
deliveryId: event.id,
|
|
62
|
+
appId: event.appId,
|
|
63
|
+
tenantKey: event.tenantKey,
|
|
64
|
+
occurredAt: event.occurredAt,
|
|
65
|
+
body: event.body,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
matches(config, event) {
|
|
71
|
+
return matchesFeishuEvent(config, {
|
|
72
|
+
type: event.type,
|
|
73
|
+
body: event.payload.body,
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
resources: {
|
|
77
|
+
triggerId: "feishu_app_bot.on_event",
|
|
78
|
+
requests(source, provider, config) {
|
|
79
|
+
const subscriptions = feishuSubscriptions(config, provider);
|
|
80
|
+
if (subscriptions.length > 0 && source.config.manageSubscriptions !== true)
|
|
81
|
+
throw new PermanentIntegrationError("This source does not manage resource subscriptions.");
|
|
82
|
+
return subscriptions;
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const firefliesAccount: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "signingSecretConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
import { verifySourceHmac } from "./signature.js";
|
|
4
|
+
const events = new Set(["meeting.transcribed", "meeting.summarized"]);
|
|
5
|
+
export const firefliesAccount = {
|
|
6
|
+
kind: "fireflies",
|
|
7
|
+
provider: "fireflies",
|
|
8
|
+
maximumBodyBytes: 64 * 1024,
|
|
9
|
+
initialize(input, accountId) {
|
|
10
|
+
if (input.kind !== "fireflies" || !accountId)
|
|
11
|
+
throw new SourceIdentityError("Connector must provide the verified Fireflies account identity.");
|
|
12
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
13
|
+
throw new SourceIdentityError("Unsupported Fireflies event.");
|
|
14
|
+
return {
|
|
15
|
+
identity: JSON.stringify([input.teamId, input.connectionId, accountId]),
|
|
16
|
+
eventTypes: input.eventTypes,
|
|
17
|
+
config: { appId: accountId, accountId },
|
|
18
|
+
secrets: { signingSecret: input.signingSecret },
|
|
19
|
+
state: {},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
update(source, input) {
|
|
23
|
+
if (input.verificationToken != null || input.encryptKey != null)
|
|
24
|
+
throw new SourceIdentityError("Fireflies uses the Webhooks V2 Signing Secret.");
|
|
25
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
26
|
+
throw new SourceIdentityError("Unsupported Fireflies event.");
|
|
27
|
+
const signingSecret = input.signingSecret ?? source.secrets.signingSecret;
|
|
28
|
+
return {
|
|
29
|
+
...source,
|
|
30
|
+
eventTypes: input.eventTypes,
|
|
31
|
+
secrets: { signingSecret },
|
|
32
|
+
state: signingSecret === source.secrets.signingSecret ? source.state : {},
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
view(source) {
|
|
36
|
+
return {
|
|
37
|
+
appId: String(source.config.appId),
|
|
38
|
+
manageSubscriptions: false,
|
|
39
|
+
verificationTokenConfigured: false,
|
|
40
|
+
encryptKeyConfigured: false,
|
|
41
|
+
signingSecretConfigured: true,
|
|
42
|
+
verifiedAt: typeof source.state.verifiedAt === "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
ready: (source) => typeof source.state.verifiedAt === "number",
|
|
46
|
+
async receive(source, bytes, headers, now, execute) {
|
|
47
|
+
const signature = headers.get("x-hub-signature") ?? "";
|
|
48
|
+
if (!signature.startsWith("sha256=") ||
|
|
49
|
+
!(await verifySourceHmac(bytes, signature.slice(7), String(source.secrets.signingSecret))))
|
|
50
|
+
throw new TypeError("Invalid Fireflies signature.");
|
|
51
|
+
const payload = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
52
|
+
if (!isJsonObject(payload) || typeof payload.event !== "string")
|
|
53
|
+
throw new TypeError("Invalid Fireflies envelope.");
|
|
54
|
+
if (!events.has(payload.event))
|
|
55
|
+
return { response: Response.json({}), state: source.state };
|
|
56
|
+
if (typeof payload.meeting_id !== "string" ||
|
|
57
|
+
!payload.meeting_id ||
|
|
58
|
+
payload.meeting_id.length > 256 ||
|
|
59
|
+
!Number.isSafeInteger(payload.timestamp) ||
|
|
60
|
+
Number(payload.timestamp) < 0 ||
|
|
61
|
+
(payload.reprocessed_at != null &&
|
|
62
|
+
(!Number.isSafeInteger(payload.reprocessed_at) || Number(payload.reprocessed_at) <= 0)))
|
|
63
|
+
throw new TypeError("Incomplete Fireflies event.");
|
|
64
|
+
if (execute == null)
|
|
65
|
+
throw new SourceIdentityError("Fireflies meeting verification is unavailable.");
|
|
66
|
+
const identity = await execute({ operation: "sourceIdentity", config: { meetingId: payload.meeting_id } });
|
|
67
|
+
if (!isJsonObject(identity) ||
|
|
68
|
+
identity.accountId !== source.config.accountId ||
|
|
69
|
+
identity.meetingId !== payload.meeting_id ||
|
|
70
|
+
typeof identity.accessible !== "boolean")
|
|
71
|
+
throw new SourceIdentityError("Fireflies returned an invalid meeting access result.");
|
|
72
|
+
if (!identity.accessible)
|
|
73
|
+
return { response: Response.json({}), state: source.state };
|
|
74
|
+
const version = Number(payload.reprocessed_at ?? 0);
|
|
75
|
+
const stream = JSON.stringify([payload.event, payload.meeting_id]);
|
|
76
|
+
const deliveryId = JSON.stringify([payload.event, payload.meeting_id, version]);
|
|
77
|
+
return {
|
|
78
|
+
state: { ...source.state, verifiedAt: now },
|
|
79
|
+
event: {
|
|
80
|
+
id: deliveryId,
|
|
81
|
+
type: payload.event,
|
|
82
|
+
ordering: { key: stream, version },
|
|
83
|
+
payload: {
|
|
84
|
+
event: payload.event,
|
|
85
|
+
deliveryId,
|
|
86
|
+
accountId: source.config.accountId,
|
|
87
|
+
meetingId: payload.meeting_id,
|
|
88
|
+
body: {
|
|
89
|
+
event: payload.event,
|
|
90
|
+
meeting_id: payload.meeting_id,
|
|
91
|
+
reprocessed_at: payload.reprocessed_at ?? null,
|
|
92
|
+
client_reference_id: typeof payload.client_reference_id === "string" ? payload.client_reference_id : null,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
matches: (config, event) => Array.isArray(config.eventTypes) && config.eventTypes.includes(event.type),
|
|
99
|
+
resources: { triggerId: "fireflies.on_meeting_ready", requests: () => [] },
|
|
100
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const intercomApplication: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "workspaceId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "signingSecretConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
import { verifySourceHmac } from "./signature.js";
|
|
4
|
+
const events = new Set(["conversation.user.created", "conversation.user.replied", "ticket.created"]);
|
|
5
|
+
export const intercomApplication = {
|
|
6
|
+
kind: "intercom",
|
|
7
|
+
provider: "intercom",
|
|
8
|
+
applicationIngress: true,
|
|
9
|
+
maximumBodyBytes: 64 * 1024,
|
|
10
|
+
initialize(input, accountId) {
|
|
11
|
+
if (input.kind !== "intercom" || accountId == null || !/^[^:]+:[^:]+$/.test(accountId))
|
|
12
|
+
throw new SourceIdentityError("Connector must provide the verified Intercom workspace and administrator identity.");
|
|
13
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
14
|
+
throw new SourceIdentityError("Unsupported Intercom event type.");
|
|
15
|
+
const workspaceId = accountId.split(":")[0];
|
|
16
|
+
return {
|
|
17
|
+
identity: JSON.stringify([input.teamId, input.connectionId, input.appId, accountId]),
|
|
18
|
+
eventTypes: input.eventTypes,
|
|
19
|
+
config: { appId: input.appId, workspaceId, accountId },
|
|
20
|
+
secrets: { signingSecret: input.signingSecret },
|
|
21
|
+
state: {},
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
update(source, input) {
|
|
25
|
+
if (input.verificationToken != null || input.encryptKey != null)
|
|
26
|
+
throw new SourceIdentityError("Intercom uses the application Client Secret.");
|
|
27
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
28
|
+
throw new SourceIdentityError("Unsupported Intercom event type.");
|
|
29
|
+
const signingSecret = input.signingSecret ?? source.secrets.signingSecret;
|
|
30
|
+
return {
|
|
31
|
+
...source,
|
|
32
|
+
eventTypes: input.eventTypes,
|
|
33
|
+
secrets: { signingSecret },
|
|
34
|
+
state: signingSecret === source.secrets.signingSecret ? source.state : {},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
view(source) {
|
|
38
|
+
return {
|
|
39
|
+
appId: String(source.config.appId),
|
|
40
|
+
workspaceId: String(source.config.workspaceId),
|
|
41
|
+
manageSubscriptions: false,
|
|
42
|
+
verificationTokenConfigured: false,
|
|
43
|
+
encryptKeyConfigured: false,
|
|
44
|
+
signingSecretConfigured: true,
|
|
45
|
+
verifiedAt: typeof source.state.verifiedAt === "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
ready: (source) => typeof source.state.verifiedAt === "number",
|
|
49
|
+
async receive(source, bytes, headers, now) {
|
|
50
|
+
const signature = headers.get("x-hub-signature") ?? "";
|
|
51
|
+
if (!/^sha1=[0-9a-f]{40}$/.test(signature))
|
|
52
|
+
throw new TypeError("Invalid Intercom signature.");
|
|
53
|
+
if (!(await verifySourceHmac(bytes, signature.slice(5), String(source.secrets.signingSecret), "SHA-1")))
|
|
54
|
+
throw new TypeError("Invalid Intercom signature.");
|
|
55
|
+
const payload = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
56
|
+
if (!isJsonObject(payload) || payload.type !== "notification_event")
|
|
57
|
+
throw new TypeError("Invalid Intercom notification.");
|
|
58
|
+
if (payload.app_id !== source.config.workspaceId)
|
|
59
|
+
return { response: Response.json({}), state: source.state };
|
|
60
|
+
if (payload.topic === "ping")
|
|
61
|
+
return { response: Response.json({}), state: { ...source.state, verifiedAt: now } };
|
|
62
|
+
if (typeof payload.topic !== "string" || !events.has(payload.topic))
|
|
63
|
+
return { response: Response.json({}), state: source.state };
|
|
64
|
+
if (typeof payload.id !== "string" ||
|
|
65
|
+
!payload.id ||
|
|
66
|
+
!isJsonObject(payload.data) ||
|
|
67
|
+
!isJsonObject(payload.data.item) ||
|
|
68
|
+
typeof payload.data.item.id !== "string")
|
|
69
|
+
throw new TypeError("Incomplete Intercom notification.");
|
|
70
|
+
return {
|
|
71
|
+
event: {
|
|
72
|
+
id: payload.id,
|
|
73
|
+
type: payload.topic,
|
|
74
|
+
payload: {
|
|
75
|
+
event: payload.topic,
|
|
76
|
+
deliveryId: payload.id,
|
|
77
|
+
workspaceId: payload.app_id,
|
|
78
|
+
objectId: payload.data.item.id,
|
|
79
|
+
body: payload.data.item,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
matches: (config, event) => Array.isArray(config.eventTypes) && config.eventTypes.includes(event.type),
|
|
85
|
+
resources: { triggerId: "intercom.on_conversation_event", requests: () => [] },
|
|
86
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const jiraProject: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "projectId" | "projectKey" | "subscriptionStatus" | "lastError" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
const events = new Set(["jira:issue_created", "jira:issue_updated", "comment_created"]);
|
|
4
|
+
export const jiraProject = {
|
|
5
|
+
kind: "jira",
|
|
6
|
+
provider: "jira",
|
|
7
|
+
maximumBodyBytes: 64 * 1024,
|
|
8
|
+
initialize(input, accountId) {
|
|
9
|
+
if (input.kind !== "jira" || !accountId?.startsWith("jira:"))
|
|
10
|
+
throw new SourceIdentityError("Choose a verified Jira Cloud OAuth connection.");
|
|
11
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
12
|
+
throw new SourceIdentityError("Unsupported Jira event.");
|
|
13
|
+
return {
|
|
14
|
+
identity: JSON.stringify([input.teamId, input.connectionId, accountId]),
|
|
15
|
+
eventTypes: input.eventTypes,
|
|
16
|
+
config: { accountId, project: input.project },
|
|
17
|
+
secrets: {},
|
|
18
|
+
state: {},
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
async verifyIdentity(source, read) {
|
|
22
|
+
const identity = await read(source.config);
|
|
23
|
+
if (!isJsonObject(identity) ||
|
|
24
|
+
identity.accountId !== source.config.accountId ||
|
|
25
|
+
typeof identity.cloudId !== "string" ||
|
|
26
|
+
typeof identity.userId !== "string" ||
|
|
27
|
+
typeof identity.projectId !== "string" ||
|
|
28
|
+
!/^\d+$/.test(identity.projectId) ||
|
|
29
|
+
typeof identity.projectKey !== "string" ||
|
|
30
|
+
typeof identity.siteUrl !== "string")
|
|
31
|
+
throw new SourceIdentityError("Jira did not return the selected project and site identity.");
|
|
32
|
+
if (source.config.projectId != null &&
|
|
33
|
+
(source.config.cloudId !== identity.cloudId ||
|
|
34
|
+
source.config.projectId !== identity.projectId ||
|
|
35
|
+
source.config.userId !== identity.userId))
|
|
36
|
+
throw new SourceIdentityError("The Jira project, site or user changed. Recreate the event source.");
|
|
37
|
+
return {
|
|
38
|
+
...source,
|
|
39
|
+
identity: source.config.projectId == null
|
|
40
|
+
? JSON.stringify([source.identity, identity.cloudId, identity.projectId, identity.userId])
|
|
41
|
+
: source.identity,
|
|
42
|
+
config: { ...source.config, ...identity },
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
update(source, input) {
|
|
46
|
+
if (input.verificationToken != null || input.encryptKey != null || input.signingSecret != null)
|
|
47
|
+
throw new SourceIdentityError("Jira OAuth callback verification is owned by Connector.");
|
|
48
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
49
|
+
throw new SourceIdentityError("Unsupported Jira event.");
|
|
50
|
+
return { ...source, eventTypes: input.eventTypes };
|
|
51
|
+
},
|
|
52
|
+
view(source, now = Date.now()) {
|
|
53
|
+
const expired = isJsonObject(source.state.resource) &&
|
|
54
|
+
typeof source.state.resource.expiresAt === "number" &&
|
|
55
|
+
source.state.resource.expiresAt <= now;
|
|
56
|
+
const status = expired ? "error" : source.state.resourceStatus;
|
|
57
|
+
return {
|
|
58
|
+
appId: String(source.config.cloudId),
|
|
59
|
+
projectId: String(source.config.projectId),
|
|
60
|
+
projectKey: String(source.config.projectKey),
|
|
61
|
+
subscriptionStatus: status === "pending" || status === "ready" || status === "error" ? status : "idle",
|
|
62
|
+
lastError: expired
|
|
63
|
+
? "The Jira webhook expired. Restore Connector access and retry publication."
|
|
64
|
+
: typeof source.state.lastError === "string"
|
|
65
|
+
? source.state.lastError
|
|
66
|
+
: undefined,
|
|
67
|
+
manageSubscriptions: true,
|
|
68
|
+
verificationTokenConfigured: false,
|
|
69
|
+
encryptKeyConfigured: false,
|
|
70
|
+
verifiedAt: typeof source.state.verifiedAt === "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
expiresAt: (source) => isJsonObject(source.state.resource) && typeof source.state.resource.expiresAt === "number"
|
|
74
|
+
? source.state.resource.expiresAt
|
|
75
|
+
: undefined,
|
|
76
|
+
ready: (source, now = Date.now()) => source.state.resourceStatus === "ready" &&
|
|
77
|
+
isJsonObject(source.state.resource) &&
|
|
78
|
+
typeof source.state.resource.expiresAt === "number" &&
|
|
79
|
+
source.state.resource.expiresAt > now,
|
|
80
|
+
async receive(source, bytes, headers, _now, execute) {
|
|
81
|
+
if (!isJsonObject(source.state.resource) ||
|
|
82
|
+
typeof source.state.resource.webhookId !== "number" ||
|
|
83
|
+
source.state.resourceStatus !== "ready")
|
|
84
|
+
return { response: new Response(null, { status: 503 }), state: source.state };
|
|
85
|
+
if (execute == null)
|
|
86
|
+
throw new SourceIdentityError("Jira callback verification is unavailable.");
|
|
87
|
+
const result = await execute({
|
|
88
|
+
operation: "sourceReceive",
|
|
89
|
+
config: { ...source.config, webhookId: source.state.resource.webhookId },
|
|
90
|
+
headers: {
|
|
91
|
+
authorization: headers.get("authorization") ?? "",
|
|
92
|
+
"x-atlassian-webhook-identifier": headers.get("x-atlassian-webhook-identifier") ?? "",
|
|
93
|
+
},
|
|
94
|
+
rawBody: new TextDecoder("utf-8", { fatal: true }).decode(bytes),
|
|
95
|
+
});
|
|
96
|
+
if (!isJsonObject(result))
|
|
97
|
+
throw new SourceIdentityError("Invalid Jira verification response.");
|
|
98
|
+
if (result.outcome === "unauthorized")
|
|
99
|
+
return { response: new Response(null, { status: 401 }), state: source.state };
|
|
100
|
+
if (result.outcome === "ignored")
|
|
101
|
+
return { response: Response.json({}), state: source.state };
|
|
102
|
+
if (result.outcome !== "event" ||
|
|
103
|
+
typeof result.id !== "string" ||
|
|
104
|
+
typeof result.type !== "string" ||
|
|
105
|
+
!events.has(result.type) ||
|
|
106
|
+
!isJsonObject(result.payload))
|
|
107
|
+
throw new SourceIdentityError("Invalid Jira verified event.");
|
|
108
|
+
return { event: { id: result.id, type: result.type, payload: result.payload } };
|
|
109
|
+
},
|
|
110
|
+
matches: (config, event) => Array.isArray(config.eventTypes) && config.eventTypes.includes(event.type),
|
|
111
|
+
resources: {
|
|
112
|
+
triggerId: "jira.on_issue_event",
|
|
113
|
+
managed: true,
|
|
114
|
+
requests(source, _provider, _config, endpointUrl) {
|
|
115
|
+
if (!endpointUrl)
|
|
116
|
+
throw new SourceIdentityError("Jira requires a public callback URL.");
|
|
117
|
+
return [{ key: "project", config: { projectId: source.config.projectId, endpointUrl } }];
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { IntegrationDefinition } from "../common/integration.ts";
|
|
2
|
+
import type { ConnectorProxy } from "../common/proxy.ts";
|
|
3
|
+
import type { JsonValue } from "../common/types.ts";
|
|
4
|
+
import type { SourceConfiguration } from "./definition.ts";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export declare const sourceOperationSchema: z.ZodType<SourceOperation>;
|
|
7
|
+
export type SourceOperation = {
|
|
8
|
+
readonly action: "initialize";
|
|
9
|
+
readonly input: Readonly<Record<string, JsonValue>>;
|
|
10
|
+
} | {
|
|
11
|
+
readonly action: "update";
|
|
12
|
+
readonly source: SourceConfiguration;
|
|
13
|
+
readonly input: Readonly<Record<string, JsonValue>>;
|
|
14
|
+
} | {
|
|
15
|
+
readonly action: "inspect";
|
|
16
|
+
readonly source: SourceConfiguration;
|
|
17
|
+
} | {
|
|
18
|
+
readonly action: "prepare";
|
|
19
|
+
readonly source: SourceConfiguration;
|
|
20
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
21
|
+
readonly endpointUrl?: string;
|
|
22
|
+
} | {
|
|
23
|
+
readonly action: "receive";
|
|
24
|
+
readonly source: SourceConfiguration;
|
|
25
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
26
|
+
readonly rawBody: string;
|
|
27
|
+
readonly consumers: readonly {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
export declare function sourceMetadata(definition: IntegrationDefinition): {
|
|
33
|
+
kind: string;
|
|
34
|
+
provider: string;
|
|
35
|
+
triggerId: string;
|
|
36
|
+
maximumBodyBytes: number;
|
|
37
|
+
applicationIngress: boolean;
|
|
38
|
+
managed: boolean;
|
|
39
|
+
createSchema: Record<string, unknown>;
|
|
40
|
+
updateSchema: Record<string, unknown>;
|
|
41
|
+
} | undefined;
|
|
42
|
+
export declare function executeSourceOperation(definition: IntegrationDefinition, request: SourceOperation, connector: ConnectorProxy, signal: AbortSignal, now?: number): Promise<unknown>;
|