@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,4 +1,6 @@
|
|
|
1
1
|
import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
|
|
2
|
+
import type { IntegrationDefinition } from "../../triggers/common/integration.ts";
|
|
2
3
|
export declare const executors: ProviderExecutors;
|
|
3
4
|
export declare const proxy: ProviderProxyExecutor;
|
|
4
5
|
export declare const credentialValidators: CredentialValidators;
|
|
6
|
+
export declare const triggers: readonly IntegrationDefinition[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineProviderExecutors, defineProviderProxy, requireApiKeyCredential } from "../provider-runtime.js";
|
|
2
2
|
import { readVercelTeamScope, validateVercelCredential, vercelActionHandlers, vercelApiBaseUrl } from "./runtime.js";
|
|
3
|
+
import { vercelDeploymentEvent } from "./trigger-on-deployment-event.js";
|
|
3
4
|
const service = "vercel";
|
|
4
5
|
const vercelProxyUserAgent = "oomol-connector/1.0 (+https://oomol.com)";
|
|
5
6
|
export const executors = defineProviderExecutors({
|
|
@@ -29,3 +30,4 @@ export const credentialValidators = {
|
|
|
29
30
|
return validateVercelCredential(input, fetcher);
|
|
30
31
|
},
|
|
31
32
|
};
|
|
33
|
+
export const triggers = [vercelDeploymentEvent];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsonSchema as s } from "../../core/json-schema.js";
|
|
2
|
+
export const events = ["deployment.ready", "deployment.error"];
|
|
3
|
+
export const snapshot = {
|
|
4
|
+
key: "vercel.on_deployment_event",
|
|
5
|
+
provider: "vercel",
|
|
6
|
+
name: "on_deployment_event",
|
|
7
|
+
displayName: "Deployment Ready or Failed",
|
|
8
|
+
description: "Receives successful and failed deployments for a Vercel project.",
|
|
9
|
+
definitionVersion: 2,
|
|
10
|
+
type: "integration",
|
|
11
|
+
endpoint: {
|
|
12
|
+
methods: ["POST"],
|
|
13
|
+
body: { formats: ["json"], allowArray: false, allowEmpty: false },
|
|
14
|
+
successStatus: 200,
|
|
15
|
+
},
|
|
16
|
+
configInputs: [
|
|
17
|
+
{
|
|
18
|
+
handle: "teamId",
|
|
19
|
+
jsonSchema: { type: "string", minLength: 1, maxLength: 256, title: "Team ID" },
|
|
20
|
+
nullable: false,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
handle: "projectId",
|
|
24
|
+
jsonSchema: { type: "string", minLength: 1, maxLength: 256, title: "Project ID" },
|
|
25
|
+
nullable: false,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
handle: "environment",
|
|
29
|
+
jsonSchema: { type: "string", enum: ["all", "production", "preview"], title: "Environment" },
|
|
30
|
+
nullable: false,
|
|
31
|
+
value: "all",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
outputs: [
|
|
35
|
+
{ handle: "event", jsonSchema: { type: "string", enum: events }, nullable: false },
|
|
36
|
+
{ handle: "deliveryId", jsonSchema: s.string(), nullable: false },
|
|
37
|
+
{ handle: "deploymentId", jsonSchema: s.string(), nullable: false },
|
|
38
|
+
{ handle: "projectId", jsonSchema: s.string(), nullable: false },
|
|
39
|
+
{ handle: "body", jsonSchema: { type: "object" }, nullable: false },
|
|
40
|
+
],
|
|
41
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { PermanentIntegrationError, TransientIntegrationError } from "../../triggers/common/integration.js";
|
|
2
|
+
import { isJsonObject } from "../../triggers/common/json.js";
|
|
3
|
+
import { reconcileManagedWebhook, webhookRequest } from "../../triggers/managed-webhook.js";
|
|
4
|
+
import { verifyHexHmac } from "../../triggers/signature.js";
|
|
5
|
+
import { snapshot, events } from "./trigger-on-deployment-event.definition.js";
|
|
6
|
+
export const vercelDeploymentEvent = {
|
|
7
|
+
snapshot,
|
|
8
|
+
initialState: { checkpoint: null, subscription: {} },
|
|
9
|
+
async reconcile(context) {
|
|
10
|
+
const query = { teamId: String(context.config.teamId) };
|
|
11
|
+
const remove = async (id) => {
|
|
12
|
+
await webhookRequest(context, { endpoint: `/v1/webhooks/${encodeURIComponent(id)}`, method: "DELETE", query });
|
|
13
|
+
};
|
|
14
|
+
return reconcileManagedWebhook(context, {
|
|
15
|
+
async find() {
|
|
16
|
+
const result = await webhookRequest(context, { endpoint: "/v1/webhooks", method: "GET", query });
|
|
17
|
+
if (!Array.isArray(result.data) ||
|
|
18
|
+
result.data.some((item) => !isJsonObject(item) || typeof item.url != "string" || typeof item.id != "string"))
|
|
19
|
+
throw new TransientIntegrationError("Vercel returned an invalid webhook list.");
|
|
20
|
+
const matches = result.data.filter((item) => isJsonObject(item) && item.url == context.endpointUrl);
|
|
21
|
+
if (matches.length > 1)
|
|
22
|
+
throw new PermanentIntegrationError("Multiple Vercel webhooks match this subscription. Remove duplicates before retrying.");
|
|
23
|
+
const found = [];
|
|
24
|
+
for (const item of matches) {
|
|
25
|
+
const id = item.id;
|
|
26
|
+
if (item.ownerId != context.config.teamId ||
|
|
27
|
+
!Array.isArray(item.projectIds) ||
|
|
28
|
+
item.projectIds.length != 1 ||
|
|
29
|
+
item.projectIds[0] != context.config.projectId ||
|
|
30
|
+
!Array.isArray(item.events) ||
|
|
31
|
+
item.events.length != events.length ||
|
|
32
|
+
!events.every((event) => item.events.includes(event)))
|
|
33
|
+
throw new PermanentIntegrationError("The Vercel webhook scope differs from this subscription. Restore its project and event settings.");
|
|
34
|
+
const state = context.state;
|
|
35
|
+
if (state.subscription.hookId == id && typeof state.subscription.secret == "string") {
|
|
36
|
+
found.push({ id, secret: state.subscription.secret });
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// Vercel only returns the secret on creation. Remove the owned orphan before recreating it.
|
|
40
|
+
await remove(id);
|
|
41
|
+
await state.saveSubscription({}, context.now);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return found;
|
|
45
|
+
},
|
|
46
|
+
async create() {
|
|
47
|
+
const result = await webhookRequest(context, {
|
|
48
|
+
endpoint: "/v1/webhooks",
|
|
49
|
+
method: "POST",
|
|
50
|
+
query,
|
|
51
|
+
body: { url: context.endpointUrl, events: [...events], projectIds: [context.config.projectId] },
|
|
52
|
+
});
|
|
53
|
+
const data = result.data;
|
|
54
|
+
if (!isJsonObject(data) ||
|
|
55
|
+
typeof data.id != "string" ||
|
|
56
|
+
!data.id ||
|
|
57
|
+
typeof data.secret != "string" ||
|
|
58
|
+
!data.secret)
|
|
59
|
+
throw new TransientIntegrationError("Vercel webhook creation returned no identity or secret.");
|
|
60
|
+
return { id: data.id, secret: data.secret };
|
|
61
|
+
},
|
|
62
|
+
remove,
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
async receive(context) {
|
|
66
|
+
const secret = context.state?.subscription.secret;
|
|
67
|
+
if (typeof secret != "string")
|
|
68
|
+
return { outcome: "respond", status: 503, body: "", contentType: "text/plain" };
|
|
69
|
+
if (!(await verifyHexHmac(secret, [context.rawBody], context.header("x-vercel-signature"), "SHA-1")))
|
|
70
|
+
return { outcome: "respond", status: 401, body: "", contentType: "text/plain" };
|
|
71
|
+
const body = context.payload;
|
|
72
|
+
if (!isJsonObject(body) || typeof body.type != "string" || !events.includes(body.type))
|
|
73
|
+
return { outcome: "ignored", reason: "Vercel event does not match." };
|
|
74
|
+
const payload = body.payload;
|
|
75
|
+
if (!isJsonObject(payload) ||
|
|
76
|
+
!isJsonObject(payload.team) ||
|
|
77
|
+
payload.team.id != context.config.teamId ||
|
|
78
|
+
!isJsonObject(payload.project) ||
|
|
79
|
+
payload.project.id != context.config.projectId)
|
|
80
|
+
return { outcome: "ignored", reason: "Vercel project or Team does not match." };
|
|
81
|
+
if ((context.config.environment == "production" && payload.target != "production") ||
|
|
82
|
+
(context.config.environment == "preview" && payload.target !== null))
|
|
83
|
+
return { outcome: "ignored", reason: "Vercel environment does not match." };
|
|
84
|
+
if (typeof body.id != "string" ||
|
|
85
|
+
!body.id ||
|
|
86
|
+
!isJsonObject(payload.deployment) ||
|
|
87
|
+
typeof payload.deployment.id != "string" ||
|
|
88
|
+
!payload.deployment.id)
|
|
89
|
+
return { outcome: "respond", status: 400, body: "", contentType: "text/plain" };
|
|
90
|
+
return {
|
|
91
|
+
outcome: "event",
|
|
92
|
+
dedupeKey: body.id,
|
|
93
|
+
outputs: {
|
|
94
|
+
event: body.type,
|
|
95
|
+
deliveryId: body.id,
|
|
96
|
+
deploymentId: payload.deployment.id,
|
|
97
|
+
projectId: payload.project.id,
|
|
98
|
+
body: payload,
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Buffer } from "node:buffer";
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
4
|
-
import { createProviderTimeout, mapProviderActionSources, ProviderRequestError, providerUserAgent, toProviderExecutionError, } from "../provider-runtime.js";
|
|
4
|
+
import { createProviderTimeout, mapProviderActionSources, ProviderRequestError, providerUserAgent, toProviderExecutionError, providerInputError, } from "../provider-runtime.js";
|
|
5
5
|
export const wangdianApiBaseUrl = "https://api.wangdian.cn/openapi2";
|
|
6
6
|
const maximumWindowMs = 30 * 24 * 60 * 60 * 1_000;
|
|
7
7
|
const maximumOrderWindowMs = 60 * 60 * 1_000;
|
|
@@ -93,7 +93,7 @@ export function readWangdianProxyParameters(body) {
|
|
|
93
93
|
return Object.fromEntries(new URLSearchParams(body));
|
|
94
94
|
const value = optionalRecord(body);
|
|
95
95
|
if (!value) {
|
|
96
|
-
throw
|
|
96
|
+
throw providerInputError("Wangdian proxy body must be an object or form-encoded string");
|
|
97
97
|
}
|
|
98
98
|
return value;
|
|
99
99
|
}
|
|
@@ -103,7 +103,7 @@ export function toWangdianExecutionError(error) {
|
|
|
103
103
|
async function executeWangdianAction(actionName, input, context) {
|
|
104
104
|
const config = actionConfigByName[actionName];
|
|
105
105
|
if (!config)
|
|
106
|
-
throw
|
|
106
|
+
throw providerInputError(`Unsupported Wangdian action: ${actionName}`);
|
|
107
107
|
validateActionInput(actionName, input);
|
|
108
108
|
const payload = await requestWangdian({
|
|
109
109
|
endpoint: config.endpoint,
|
|
@@ -114,7 +114,7 @@ async function executeWangdianAction(actionName, input, context) {
|
|
|
114
114
|
const responseRecords = payload[config.responseField];
|
|
115
115
|
const records = responseRecords === undefined && config.optionalResponseList ? [] : responseRecords;
|
|
116
116
|
if (!Array.isArray(records)) {
|
|
117
|
-
throw
|
|
117
|
+
throw new ProviderRequestError(502, `Wangdian returned an invalid ${config.responseField} response`, undefined, "provider_error");
|
|
118
118
|
}
|
|
119
119
|
return {
|
|
120
120
|
[config.outputField]: records,
|
|
@@ -175,7 +175,7 @@ function validateOptionalDateTimes(input) {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
function invalidInput(message) {
|
|
178
|
-
throw
|
|
178
|
+
throw new ProviderRequestError(400, message, undefined, "invalid_input");
|
|
179
179
|
}
|
|
180
180
|
function hasValue(value, fields) {
|
|
181
181
|
return fields.some((field) => Boolean(optionalString(value[field])));
|
|
@@ -197,7 +197,7 @@ function parseChinaDateTime(value) {
|
|
|
197
197
|
function requireCredentialValue(value, label) {
|
|
198
198
|
const normalized = optionalString(value);
|
|
199
199
|
if (!normalized)
|
|
200
|
-
throw
|
|
200
|
+
throw providerInputError(`${label} is required`);
|
|
201
201
|
return normalized;
|
|
202
202
|
}
|
|
203
203
|
function buildActionParameters(actionName, input) {
|
|
@@ -291,7 +291,7 @@ function buildActionParameters(actionName, input) {
|
|
|
291
291
|
...page,
|
|
292
292
|
});
|
|
293
293
|
default:
|
|
294
|
-
throw
|
|
294
|
+
throw providerInputError(`Unsupported Wangdian action: ${actionName}`);
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
297
|
function booleanFlag(value) {
|
|
@@ -338,7 +338,7 @@ async function requestWangdian(input) {
|
|
|
338
338
|
const root = optionalRecord(payload);
|
|
339
339
|
const code = parseOptionalInteger(root?.code);
|
|
340
340
|
if (!root || code === undefined) {
|
|
341
|
-
throw
|
|
341
|
+
throw new ProviderRequestError(502, "Wangdian returned an invalid response", undefined, "provider_error");
|
|
342
342
|
}
|
|
343
343
|
if (code !== 0)
|
|
344
344
|
throw createWangdianError(200, root, input.phase);
|
|
@@ -348,9 +348,9 @@ async function requestWangdian(input) {
|
|
|
348
348
|
if (error instanceof ProviderRequestError)
|
|
349
349
|
throw error;
|
|
350
350
|
if (timeout.didTimeout() || (error instanceof Error && error.name === "AbortError")) {
|
|
351
|
-
throw
|
|
351
|
+
throw new ProviderRequestError(504, "Wangdian request timed out", undefined, "provider_error");
|
|
352
352
|
}
|
|
353
|
-
throw
|
|
353
|
+
throw new ProviderRequestError(502, error instanceof Error ? `Wangdian request failed: ${error.message}` : "Wangdian request failed", undefined, "provider_error");
|
|
354
354
|
}
|
|
355
355
|
finally {
|
|
356
356
|
timeout.cleanup();
|
|
@@ -364,7 +364,7 @@ async function readWangdianPayload(response) {
|
|
|
364
364
|
return JSON.parse(text);
|
|
365
365
|
}
|
|
366
366
|
catch {
|
|
367
|
-
throw
|
|
367
|
+
throw new ProviderRequestError(502, "Wangdian returned invalid JSON", undefined, "provider_error");
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
370
|
function createWangdianError(status, payload, phase) {
|
|
@@ -373,9 +373,9 @@ function createWangdianError(status, payload, phase) {
|
|
|
373
373
|
const message = optionalString(root?.message) ?? `Wangdian request failed with status ${status}`;
|
|
374
374
|
const lowerMessage = message.toLowerCase();
|
|
375
375
|
if (status === 429)
|
|
376
|
-
return
|
|
376
|
+
return new ProviderRequestError(429, message, payload, "rate_limited");
|
|
377
377
|
if (message.includes("权限不足") || message.includes("无仓库访问权限")) {
|
|
378
|
-
return
|
|
378
|
+
return new ProviderRequestError(403, message, payload, "authorization_failed");
|
|
379
379
|
}
|
|
380
380
|
if (status === 401 ||
|
|
381
381
|
status === 403 ||
|
|
@@ -390,15 +390,12 @@ function createWangdianError(status, payload, phase) {
|
|
|
390
390
|
lowerMessage.includes("sign error") ||
|
|
391
391
|
lowerMessage.includes("invalid sign") ||
|
|
392
392
|
lowerMessage.includes("sign is")) {
|
|
393
|
-
return
|
|
393
|
+
return new ProviderRequestError(phase === "validate" ? 400 : 401, message, payload, phase === "validate" ? "invalid_input" : "authorization_failed");
|
|
394
394
|
}
|
|
395
395
|
if (status === 400 || status === 422 || code === 1 || code === 100 || code === 2104) {
|
|
396
|
-
return
|
|
396
|
+
return new ProviderRequestError(400, message, payload, "invalid_input");
|
|
397
397
|
}
|
|
398
|
-
return
|
|
399
|
-
}
|
|
400
|
-
function wangdianError(code, message, status, details) {
|
|
401
|
-
return new ProviderRequestError(status, message, details, code);
|
|
398
|
+
return new ProviderRequestError(502, message, payload, "provider_error");
|
|
402
399
|
}
|
|
403
400
|
function parseOptionalInteger(value) {
|
|
404
401
|
if (value === undefined || value === null || value === "")
|
|
@@ -17,5 +17,4 @@ export interface WeixinRequestOptions {
|
|
|
17
17
|
type WeixinBotActionHandler = (input: Record<string, unknown>, context: WeixinBotContext) => Promise<Record<string, unknown>>;
|
|
18
18
|
export declare const weixinBotActionHandlers: ProviderActionHandlers<"weixin_bot", WeixinBotActionHandler>;
|
|
19
19
|
export declare function requestWeixin(options: WeixinRequestOptions): Promise<Record<string, unknown>>;
|
|
20
|
-
export declare function parseWeixinJson(text: string): unknown;
|
|
21
20
|
export {};
|
|
@@ -137,7 +137,7 @@ function readTypingStatus(value) {
|
|
|
137
137
|
return status;
|
|
138
138
|
throw new ProviderRequestError(400, "status must be typing or cancel");
|
|
139
139
|
}
|
|
140
|
-
|
|
140
|
+
function parseWeixinJson(text) {
|
|
141
141
|
const losslessIds = new Set(["message_id", "msg_id", "svr_id"]);
|
|
142
142
|
let output = "";
|
|
143
143
|
let position = 0;
|
|
@@ -44,9 +44,9 @@ export declare function readWechatErrcode(record: Record<string, unknown> | unde
|
|
|
44
44
|
export declare function isWechatTokenError(errcode: number | null): boolean;
|
|
45
45
|
/**
|
|
46
46
|
* Map a failed WeChat API call to the shared provider error. Rate limits
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* and invitation quotas become 429; missing permissions and policy bans become
|
|
48
|
+
* 403; duplicate/cooperation-capacity conflicts become 409; absent promotion
|
|
49
|
+
* products become 404. Documented input errors become 400; other failures 502.
|
|
50
50
|
*/
|
|
51
51
|
export declare function normalizeWechatApiError(result: WechatApiResult): ProviderRequestError;
|
|
52
52
|
export {};
|
|
@@ -12,7 +12,9 @@ const accessTokenRefreshSkewMs = 120_000;
|
|
|
12
12
|
* input, so they map to 400 instead of an upstream failure.
|
|
13
13
|
*/
|
|
14
14
|
const wechatInvalidInputErrcodes = new Set([
|
|
15
|
-
9401020, 9700234, 10020017, 10020059, 10020060, 10020062, 10020063, 10020087, 10020094, 10020127, 10020504,
|
|
15
|
+
9401020, 9700234, 10020017, 10020059, 10020060, 10020062, 10020063, 10020087, 10020094, 10020127, 10020504, 10021069,
|
|
16
|
+
10023000, 10023001, 10024003, 10023100, 10023102, 10023104, 10023105, 10023106, 10023107, 10023108, 10023109,
|
|
17
|
+
10023110, 10023111, 10023112, 10023113, 10023116, 10023117, 10023121,
|
|
16
18
|
]);
|
|
17
19
|
const accessTokenCache = new Map();
|
|
18
20
|
const accessTokenInFlight = new Map();
|
|
@@ -133,9 +135,9 @@ export function isWechatTokenError(errcode) {
|
|
|
133
135
|
}
|
|
134
136
|
/**
|
|
135
137
|
* Map a failed WeChat API call to the shared provider error. Rate limits
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
138
|
+
* and invitation quotas become 429; missing permissions and policy bans become
|
|
139
|
+
* 403; duplicate/cooperation-capacity conflicts become 409; absent promotion
|
|
140
|
+
* products become 404. Documented input errors become 400; other failures 502.
|
|
139
141
|
*/
|
|
140
142
|
export function normalizeWechatApiError(result) {
|
|
141
143
|
const errcode = readWechatErrcode(result.record);
|
|
@@ -147,11 +149,17 @@ export function normalizeWechatApiError(result) {
|
|
|
147
149
|
// A bare HTTP 403 with no errcode envelope is the store's optional IP whitelist rejecting the caller.
|
|
148
150
|
message = `${message}. If the store has an IP whitelist configured (微信小店后台 → 服务市场 → 经营工具 → 自研 → IP 白名单), add this runtime's public egress IP to it and try again.`;
|
|
149
151
|
}
|
|
150
|
-
if (result.status === 429 || errcode === 45009 || errcode === 45011) {
|
|
152
|
+
if (result.status === 429 || errcode === 45009 || errcode === 45011 || errcode === 10020510 || errcode === 10023002) {
|
|
151
153
|
return new ProviderRequestError(429, message, result.record);
|
|
152
154
|
}
|
|
153
|
-
if (errcode === 48001) {
|
|
154
|
-
return new ProviderRequestError(403, message, result.record);
|
|
155
|
+
if (errcode === 48001 || errcode === 10023007 || errcode === 10023114 || errcode === 10023115) {
|
|
156
|
+
return new ProviderRequestError(403, message, result.record, "provider_error");
|
|
157
|
+
}
|
|
158
|
+
if (errcode === 10023003 || errcode === 10023004 || errcode === 10023006) {
|
|
159
|
+
return new ProviderRequestError(409, message, result.record);
|
|
160
|
+
}
|
|
161
|
+
if (errcode === 10023103) {
|
|
162
|
+
return new ProviderRequestError(404, message, result.record);
|
|
155
163
|
}
|
|
156
164
|
if (errcode !== null && ((errcode >= 40000 && errcode < 50000) || wechatInvalidInputErrcodes.has(errcode))) {
|
|
157
165
|
return new ProviderRequestError(400, message, result.record);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { compactObject, objectArray, optionalBoolean, optionalInteger, optionalRecord, optionalString, positiveInteger, } from "../../core/cast.js";
|
|
1
|
+
import { compactObject, objectArray, optionalBoolean, optionalInteger, optionalNumber, optionalRecord, optionalString, positiveInteger, } from "../../core/cast.js";
|
|
2
2
|
import { createProviderFetch, defineProviderExecutors, providerInputError, providerUserAgent, readTransitFileInput, requireCustomCredential, requiredInputString, runProviderRequest, } from "../provider-runtime.js";
|
|
3
3
|
import { getWechatAccessToken, isWechatTokenError, normalizeWechatApiError, parseWechatJson, readWechatErrcode, readWeixinStoreCredential, } from "./access-token.js";
|
|
4
4
|
const service = "weixin_store";
|
|
@@ -35,6 +35,219 @@ const deliveryProductFieldMap = {
|
|
|
35
35
|
productCnt: "product_cnt",
|
|
36
36
|
};
|
|
37
37
|
const weixinStoreActionHandlers = {
|
|
38
|
+
async list_league_promoter_products(input, context) {
|
|
39
|
+
const talentAppid = requiredInputString(input.talentAppid, "talentAppid");
|
|
40
|
+
const dataType = positiveInteger(input.dataType, "dataType", providerInputError);
|
|
41
|
+
const pageIndex = positiveInteger(input.pageIndex ?? 1, "pageIndex", providerInputError);
|
|
42
|
+
const pageSize = positiveInteger(input.pageSize ?? 20, "pageSize", providerInputError);
|
|
43
|
+
if (![1, 2].includes(dataType) || !Number.isSafeInteger(pageIndex) || pageSize > 20) {
|
|
44
|
+
throw providerInputError("dataType must be 1 or 2, pageIndex a safe positive integer, and pageSize at most 20");
|
|
45
|
+
}
|
|
46
|
+
return callWechatApi(context, {
|
|
47
|
+
method: "POST",
|
|
48
|
+
path: "/channels/ec/league/talent/getproductdatalist",
|
|
49
|
+
body: { talent_appid: talentAppid, get_data_type: dataType, page_index: pageIndex, page_size: pageSize },
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
async list_product_promotion_talents(input, context) {
|
|
53
|
+
const productId = positiveInteger(input.productId, "productId", providerInputError);
|
|
54
|
+
const promotionPlanId = positiveInteger(input.promotionPlanId, "promotionPlanId", providerInputError);
|
|
55
|
+
const pageIndex = positiveInteger(input.pageIndex ?? 1, "pageIndex", providerInputError);
|
|
56
|
+
const pageSize = positiveInteger(input.pageSize ?? 10, "pageSize", providerInputError);
|
|
57
|
+
if (![productId, promotionPlanId, pageIndex].every(Number.isSafeInteger) || pageSize > 10) {
|
|
58
|
+
throw providerInputError("Ids and pageIndex must be safe positive integers; pageSize must be at most 10");
|
|
59
|
+
}
|
|
60
|
+
return callWechatApi(context, {
|
|
61
|
+
method: "POST",
|
|
62
|
+
path: "/channels/ec/league/promotion/talent/list",
|
|
63
|
+
body: compactObject({
|
|
64
|
+
product_id: productId,
|
|
65
|
+
promotion_plan_id: promotionPlanId,
|
|
66
|
+
page_index: pageIndex,
|
|
67
|
+
page_size: pageSize,
|
|
68
|
+
talent_appid: input.talentAppid === undefined ? undefined : requiredInputString(input.talentAppid, "talentAppid"),
|
|
69
|
+
}),
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
get_product_audit_strategy(_input, context) {
|
|
73
|
+
return callWechatApi(context, { method: "POST", path: "/channels/ec/product/auditstrategy/get", body: {} });
|
|
74
|
+
},
|
|
75
|
+
async list_product_promotion_plans(input, context) {
|
|
76
|
+
const productId = positiveInteger(input.productId, "productId", providerInputError);
|
|
77
|
+
const pageIndex = positiveInteger(input.pageIndex ?? 1, "pageIndex", providerInputError);
|
|
78
|
+
const pageSize = positiveInteger(input.pageSize ?? 20, "pageSize", providerInputError);
|
|
79
|
+
const type = input.promotionPlanType === undefined
|
|
80
|
+
? undefined
|
|
81
|
+
: positiveInteger(input.promotionPlanType, "promotionPlanType", providerInputError);
|
|
82
|
+
if (![productId, pageIndex].every(Number.isSafeInteger) ||
|
|
83
|
+
pageSize > 20 ||
|
|
84
|
+
(type !== undefined && ![100, 200, 300].includes(type))) {
|
|
85
|
+
throw providerInputError("Ids and pageIndex must be safe positive integers, pageSize at most 20, and promotionPlanType 100, 200 or 300");
|
|
86
|
+
}
|
|
87
|
+
return callWechatApi(context, {
|
|
88
|
+
method: "POST",
|
|
89
|
+
path: "/channels/ec/league/promotion/plan/list",
|
|
90
|
+
body: compactObject({
|
|
91
|
+
product_id: productId,
|
|
92
|
+
page_index: pageIndex,
|
|
93
|
+
page_size: pageSize,
|
|
94
|
+
promotion_plan_type: type,
|
|
95
|
+
}),
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
async list_league_products(input, context) {
|
|
99
|
+
const pageIndex = positiveInteger(input.pageIndex ?? 1, "pageIndex", providerInputError);
|
|
100
|
+
const pageSize = positiveInteger(input.pageSize ?? 20, "pageSize", providerInputError);
|
|
101
|
+
const productId = input.productId === undefined ? undefined : positiveInteger(input.productId, "productId", providerInputError);
|
|
102
|
+
if (!Number.isSafeInteger(pageIndex) ||
|
|
103
|
+
pageSize > 100 ||
|
|
104
|
+
pageSize * pageIndex > 5000 ||
|
|
105
|
+
(productId !== undefined && !Number.isSafeInteger(productId))) {
|
|
106
|
+
throw providerInputError("Product id must be safe, pageSize at most 100, and pageSize multiplied by pageIndex at most 5000");
|
|
107
|
+
}
|
|
108
|
+
if (input.needTotalNum !== undefined && typeof input.needTotalNum !== "boolean") {
|
|
109
|
+
throw providerInputError("needTotalNum must be a boolean");
|
|
110
|
+
}
|
|
111
|
+
return callWechatApi(context, {
|
|
112
|
+
method: "POST",
|
|
113
|
+
path: "/channels/ec/league/item/list/get",
|
|
114
|
+
body: compactObject({
|
|
115
|
+
page_index: pageIndex,
|
|
116
|
+
page_size: pageSize,
|
|
117
|
+
product_id: productId,
|
|
118
|
+
need_total_num: input.needTotalNum,
|
|
119
|
+
}),
|
|
120
|
+
});
|
|
121
|
+
},
|
|
122
|
+
async get_league_plan(input, context) {
|
|
123
|
+
const type = positiveInteger(input.type, "type", providerInputError);
|
|
124
|
+
const productId = positiveInteger(input.productId, "productId", providerInputError);
|
|
125
|
+
const promotionPlanId = input.promotionPlanId === undefined
|
|
126
|
+
? undefined
|
|
127
|
+
: positiveInteger(input.promotionPlanId, "promotionPlanId", providerInputError);
|
|
128
|
+
if (![100, 300].includes(type) ||
|
|
129
|
+
!Number.isSafeInteger(productId) ||
|
|
130
|
+
(promotionPlanId !== undefined && !Number.isSafeInteger(promotionPlanId))) {
|
|
131
|
+
throw providerInputError("type must be 100 or 300 and ids must be safe positive integers");
|
|
132
|
+
}
|
|
133
|
+
return callWechatApi(context, {
|
|
134
|
+
method: "POST",
|
|
135
|
+
path: "/channels/ec/league/item/get",
|
|
136
|
+
body: compactObject({ type, product_id: productId, promotion_plan_id: promotionPlanId }),
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
async invite_league_promoter(input, context) {
|
|
140
|
+
if ((input.promoterId !== undefined) === (input.finderId !== undefined)) {
|
|
141
|
+
throw providerInputError("Supply exactly one of promoterId or finderId");
|
|
142
|
+
}
|
|
143
|
+
return callWechatApi(context, {
|
|
144
|
+
method: "POST",
|
|
145
|
+
path: "/channels/ec/league/promoter/add",
|
|
146
|
+
body: input.promoterId !== undefined
|
|
147
|
+
? { promoter_id: requiredInputString(input.promoterId, "promoterId") }
|
|
148
|
+
: { finder_id: requiredInputString(input.finderId, "finderId") },
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
async update_league_plan(input, context) {
|
|
152
|
+
const type = positiveInteger(input.type, "type", providerInputError);
|
|
153
|
+
const productId = positiveInteger(input.productId, "productId", providerInputError);
|
|
154
|
+
const promotionPlanId = positiveInteger(input.promotionPlanId, "promotionPlanId", providerInputError);
|
|
155
|
+
const operateType = positiveInteger(input.operateType, "operateType", providerInputError);
|
|
156
|
+
if (![100, 300].includes(type) ||
|
|
157
|
+
![productId, promotionPlanId].every(Number.isSafeInteger) ||
|
|
158
|
+
![1, 2, 4].includes(operateType)) {
|
|
159
|
+
throw providerInputError("type must be 100 or 300, ids safe positive integers, and operateType 1, 2 or 4");
|
|
160
|
+
}
|
|
161
|
+
const ratio = optionalNumber(input.ratio);
|
|
162
|
+
if (operateType === 1
|
|
163
|
+
? ratio === undefined || !Number.isFinite(ratio) || ratio < 0 || ratio > 90
|
|
164
|
+
: input.ratio !== undefined) {
|
|
165
|
+
throw providerInputError("ratio must be between 0 and 90 for operateType 1 and omitted for operateType 2 or 4");
|
|
166
|
+
}
|
|
167
|
+
if (input.exclusiveInfo !== undefined || input.exclusive_info !== undefined) {
|
|
168
|
+
throw providerInputError("Audience and timing edits are not supported by this action");
|
|
169
|
+
}
|
|
170
|
+
return callWechatApi(context, {
|
|
171
|
+
method: "POST",
|
|
172
|
+
path: "/channels/ec/league/item/upd",
|
|
173
|
+
body: compactObject({
|
|
174
|
+
type,
|
|
175
|
+
product_id: productId,
|
|
176
|
+
promotion_plan_id: promotionPlanId,
|
|
177
|
+
operate_type: operateType,
|
|
178
|
+
ratio,
|
|
179
|
+
}),
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
async list_league_promoters(input, context) {
|
|
183
|
+
const pageIndex = positiveInteger(input.pageIndex ?? 1, "pageIndex", providerInputError);
|
|
184
|
+
const pageSize = positiveInteger(input.pageSize ?? 20, "pageSize", providerInputError);
|
|
185
|
+
if (!Number.isSafeInteger(pageIndex) || pageSize > 20) {
|
|
186
|
+
throw providerInputError("pageIndex must be a safe positive integer and pageSize must be at most 20");
|
|
187
|
+
}
|
|
188
|
+
return callWechatApi(context, {
|
|
189
|
+
method: "POST",
|
|
190
|
+
path: "/channels/ec/league/promoter/list/get",
|
|
191
|
+
body: { page_index: pageIndex, page_size: pageSize },
|
|
192
|
+
});
|
|
193
|
+
},
|
|
194
|
+
async get_league_promoter(input, context) {
|
|
195
|
+
if ((input.talentAppid !== undefined) === (input.talentSearchKey !== undefined)) {
|
|
196
|
+
throw providerInputError("Supply exactly one of talentAppid or talentSearchKey");
|
|
197
|
+
}
|
|
198
|
+
return callWechatApi(context, {
|
|
199
|
+
method: "POST",
|
|
200
|
+
path: "/channels/ec/league/promoter/get",
|
|
201
|
+
body: input.talentAppid !== undefined
|
|
202
|
+
? { talent_appid: requiredInputString(input.talentAppid, "talentAppid") }
|
|
203
|
+
: { talent_search_key: requiredInputString(input.talentSearchKey, "talentSearchKey") },
|
|
204
|
+
});
|
|
205
|
+
},
|
|
206
|
+
async get_compass_product_data(input, context) {
|
|
207
|
+
const date = requiredInputString(input.date, "date");
|
|
208
|
+
const parsed = /^\d{8}$/.test(date)
|
|
209
|
+
? new Date(`${date.slice(0, 4)}-${date.slice(4, 6)}-${date.slice(6, 8)}T00:00:00Z`)
|
|
210
|
+
: new Date(Number.NaN);
|
|
211
|
+
const today = new Intl.DateTimeFormat("en-CA", {
|
|
212
|
+
timeZone: "Asia/Shanghai",
|
|
213
|
+
year: "numeric",
|
|
214
|
+
month: "2-digit",
|
|
215
|
+
day: "2-digit",
|
|
216
|
+
})
|
|
217
|
+
.format(new Date())
|
|
218
|
+
.replaceAll("-", "");
|
|
219
|
+
if (!Number.isFinite(parsed.getTime()) ||
|
|
220
|
+
parsed.toISOString().slice(0, 10).replaceAll("-", "") !== date ||
|
|
221
|
+
date >= today) {
|
|
222
|
+
throw providerInputError("date must be a valid YYYYMMDD date, yesterday or earlier in Asia/Shanghai");
|
|
223
|
+
}
|
|
224
|
+
const productId = positiveInteger(input.productId, "productId", providerInputError);
|
|
225
|
+
if (!Number.isSafeInteger(productId)) {
|
|
226
|
+
throw providerInputError("productId must be a safe positive integer");
|
|
227
|
+
}
|
|
228
|
+
return callWechatApi(context, {
|
|
229
|
+
method: "POST",
|
|
230
|
+
path: "/channels/ec/compass/shop/product/data/get",
|
|
231
|
+
body: { ds: date, product_id: productId },
|
|
232
|
+
});
|
|
233
|
+
},
|
|
234
|
+
async get_product_restricted_info(input, context) {
|
|
235
|
+
if (!Array.isArray(input.productIds) || input.productIds.length < 1 || input.productIds.length > 50) {
|
|
236
|
+
throw providerInputError("productIds must contain 1 to 50 product ids");
|
|
237
|
+
}
|
|
238
|
+
const productIds = input.productIds.map((value) => {
|
|
239
|
+
const id = positiveInteger(value, "productIds", providerInputError);
|
|
240
|
+
if (!Number.isSafeInteger(id)) {
|
|
241
|
+
throw providerInputError("productIds must contain only safe positive integers");
|
|
242
|
+
}
|
|
243
|
+
return id;
|
|
244
|
+
});
|
|
245
|
+
return callWechatApi(context, {
|
|
246
|
+
method: "POST",
|
|
247
|
+
path: "/channels/ec/product/getproductrestrictedinfo",
|
|
248
|
+
body: { product_ids: productIds },
|
|
249
|
+
});
|
|
250
|
+
},
|
|
38
251
|
async upload_qualification_image(input, context) {
|
|
39
252
|
const file = await readTransitFileInput(input.file, context);
|
|
40
253
|
if (file.sizeBytes > 2 * 1024 * 1024) {
|