@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,28 +1,22 @@
|
|
|
1
1
|
import { createHmac } from "node:crypto";
|
|
2
|
-
import { looseArray
|
|
2
|
+
import { looseArray, optionalInteger, optionalNumber, optionalRecord, optionalString, optionalBoolean, recordOrEmpty, } from "../../core/cast.js";
|
|
3
3
|
import { createGuardedFetch } from "../../core/guarded-fetch.js";
|
|
4
4
|
import { assertPublicHttpUrl } from "../../core/request.js";
|
|
5
|
-
import { ProviderRequestError, providerUserAgent
|
|
5
|
+
import { ProviderRequestError, providerUserAgent, runProviderRequest } from "../provider-runtime.js";
|
|
6
6
|
const shopeeImageMaxBytes = 10 * 1024 * 1024;
|
|
7
7
|
const shopeeImageContentTypes = new Set(["image/jpeg", "image/png"]);
|
|
8
|
-
function createShopeeError(code, message, status) {
|
|
9
|
-
return new ProviderRequestError(status, message, undefined, code);
|
|
10
|
-
}
|
|
11
|
-
function asObjectOrEmpty(value) {
|
|
12
|
-
return asOptionalObject(value) ?? {};
|
|
13
|
-
}
|
|
14
8
|
function createSsrfGuardedFetch(fetcher, options) {
|
|
15
9
|
const guardedFetch = createGuardedFetch({
|
|
16
10
|
fetch: fetcher,
|
|
17
|
-
createError: (message) =>
|
|
11
|
+
createError: (message) => new ProviderRequestError(400, message, undefined, "invalid_input"),
|
|
18
12
|
});
|
|
19
13
|
return async (input, init) => {
|
|
20
14
|
const url = assertPublicHttpUrl(String(input), {
|
|
21
15
|
fieldName: options.fieldName,
|
|
22
|
-
createError: (message) =>
|
|
16
|
+
createError: (message) => new ProviderRequestError(400, message, undefined, "invalid_input"),
|
|
23
17
|
});
|
|
24
18
|
if (options.requireHttps && url.protocol !== "https:") {
|
|
25
|
-
throw
|
|
19
|
+
throw new ProviderRequestError(400, `${options.fieldName} must use HTTPS.`, undefined, "invalid_input");
|
|
26
20
|
}
|
|
27
21
|
return guardedFetch(url, init);
|
|
28
22
|
};
|
|
@@ -30,21 +24,21 @@ function createSsrfGuardedFetch(fetcher, options) {
|
|
|
30
24
|
export function resolveShopeeApiBaseUrl(clientConfig) {
|
|
31
25
|
const apiBaseUrl = clientConfig.extra.apiBaseUrl?.trim();
|
|
32
26
|
if (!apiBaseUrl) {
|
|
33
|
-
throw
|
|
27
|
+
throw new ProviderRequestError(500, "Shopee API Base URL is unavailable.", undefined, "provider_error");
|
|
34
28
|
}
|
|
35
29
|
return apiBaseUrl;
|
|
36
30
|
}
|
|
37
31
|
export function parseShopeePartnerId(clientConfig) {
|
|
38
32
|
const partnerId = Number(clientConfig.clientId);
|
|
39
33
|
if (!Number.isSafeInteger(partnerId) || partnerId <= 0) {
|
|
40
|
-
throw
|
|
34
|
+
throw new ProviderRequestError(500, "Shopee Partner ID must be a positive integer.", undefined, "provider_error");
|
|
41
35
|
}
|
|
42
36
|
return partnerId;
|
|
43
37
|
}
|
|
44
38
|
function getShopeePartnerKey(clientConfig) {
|
|
45
39
|
const partnerKey = clientConfig.clientSecret.trim();
|
|
46
40
|
if (!partnerKey) {
|
|
47
|
-
throw
|
|
41
|
+
throw new ProviderRequestError(500, "Shopee Partner Key is unavailable.", undefined, "provider_error");
|
|
48
42
|
}
|
|
49
43
|
return partnerKey;
|
|
50
44
|
}
|
|
@@ -58,16 +52,16 @@ export function parseShopeeToken(payload, now = new Date()) {
|
|
|
58
52
|
assertShopeePayloadSuccess(payload, "Shopee token request");
|
|
59
53
|
const accessToken = requireString(payload.access_token, "access_token");
|
|
60
54
|
const refreshToken = requireString(payload.refresh_token, "refresh_token");
|
|
61
|
-
const expiresIn =
|
|
55
|
+
const expiresIn = optionalInteger(payload.expire_in);
|
|
62
56
|
if (expiresIn == null || expiresIn <= 0) {
|
|
63
|
-
throw
|
|
57
|
+
throw new ProviderRequestError(502, "Shopee token response is missing a valid expire_in value.", undefined, "provider_error");
|
|
64
58
|
}
|
|
65
59
|
const shopIds = uniqueEntityIds([
|
|
66
|
-
...
|
|
60
|
+
...looseArray(payload.shop_id_list),
|
|
67
61
|
...(payload.shop_id == null ? [] : [payload.shop_id]),
|
|
68
62
|
]);
|
|
69
63
|
const merchantIds = uniqueEntityIds([
|
|
70
|
-
...
|
|
64
|
+
...looseArray(payload.merchant_id_list),
|
|
71
65
|
...(payload.merchant_id == null ? [] : [payload.merchant_id]),
|
|
72
66
|
]);
|
|
73
67
|
return {
|
|
@@ -76,7 +70,7 @@ export function parseShopeeToken(payload, now = new Date()) {
|
|
|
76
70
|
expiresAt: new Date(now.getTime() + expiresIn * 1_000).toISOString(),
|
|
77
71
|
shopIds,
|
|
78
72
|
merchantIds,
|
|
79
|
-
requestId:
|
|
73
|
+
requestId: optionalString(payload.request_id),
|
|
80
74
|
};
|
|
81
75
|
}
|
|
82
76
|
export function createInitialShopeeTokenInventory(token) {
|
|
@@ -91,7 +85,7 @@ export function createInitialShopeeTokenInventory(token) {
|
|
|
91
85
|
};
|
|
92
86
|
}
|
|
93
87
|
export function readShopeeTokenInventory(providerSecret) {
|
|
94
|
-
const inventory =
|
|
88
|
+
const inventory = optionalRecord(providerSecret?.tokenInventory);
|
|
95
89
|
return {
|
|
96
90
|
shops: readEntityTokens(inventory?.shops),
|
|
97
91
|
merchants: readEntityTokens(inventory?.merchants),
|
|
@@ -102,7 +96,7 @@ export async function refreshShopeeTokenInventory(input) {
|
|
|
102
96
|
const shopEntries = Object.entries(previous.shops);
|
|
103
97
|
const merchantEntries = Object.entries(previous.merchants);
|
|
104
98
|
if (shopEntries.length === 0 && merchantEntries.length === 0) {
|
|
105
|
-
throw
|
|
99
|
+
throw new ProviderRequestError(409, "Shopee connection has no authorized shop or merchant tokens to refresh.", undefined, "provider_error");
|
|
106
100
|
}
|
|
107
101
|
const shops = {};
|
|
108
102
|
const merchants = {};
|
|
@@ -138,7 +132,7 @@ export async function refreshShopeeTokenInventory(input) {
|
|
|
138
132
|
}
|
|
139
133
|
const representative = Object.values(merchants)[0] ?? Object.values(shops)[0];
|
|
140
134
|
if (!representative) {
|
|
141
|
-
throw
|
|
135
|
+
throw new ProviderRequestError(502, "Shopee token refresh returned no tokens.", undefined, "provider_error");
|
|
142
136
|
}
|
|
143
137
|
return { inventory: { shops, merchants }, representative };
|
|
144
138
|
}
|
|
@@ -159,37 +153,37 @@ export async function executeShopeeAction(actionName, input, context) {
|
|
|
159
153
|
return executeEntityGet("/api/v2/merchant/get_merchant_info", "merchant", input, context);
|
|
160
154
|
case "list_merchant_shops":
|
|
161
155
|
return executeEntityGet("/api/v2/merchant/get_shop_list_by_merchant", "merchant", input, context, {
|
|
162
|
-
page_no:
|
|
163
|
-
page_size:
|
|
156
|
+
page_no: optionalInteger(input.page) ?? 1,
|
|
157
|
+
page_size: optionalInteger(input.pageSize) ?? 100,
|
|
164
158
|
});
|
|
165
159
|
case "get_shop_info":
|
|
166
160
|
return executeEntityGet("/api/v2/shop/get_shop_info", "shop", input, context);
|
|
167
161
|
case "list_global_items":
|
|
168
162
|
return executeEntityGet("/api/v2/global_product/get_global_item_list", "merchant", input, context, {
|
|
169
|
-
offset:
|
|
170
|
-
page_size:
|
|
171
|
-
update_time_from:
|
|
172
|
-
update_time_to:
|
|
163
|
+
offset: optionalString(input.cursor),
|
|
164
|
+
page_size: optionalInteger(input.pageSize) ?? 50,
|
|
165
|
+
update_time_from: optionalInteger(input.updatedFrom),
|
|
166
|
+
update_time_to: optionalInteger(input.updatedTo),
|
|
173
167
|
});
|
|
174
168
|
case "get_global_items":
|
|
175
169
|
return executeEntityGet("/api/v2/global_product/get_global_item_info", "merchant", input, context, {
|
|
176
|
-
global_item_id_list:
|
|
170
|
+
global_item_id_list: looseArray(input.globalItemIds).join(","),
|
|
177
171
|
});
|
|
178
172
|
case "list_global_categories":
|
|
179
173
|
return executeEntityGet("/api/v2/global_product/get_category", "merchant", input, context, {
|
|
180
|
-
language:
|
|
174
|
+
language: optionalString(input.language) ?? "en",
|
|
181
175
|
});
|
|
182
176
|
case "get_global_attribute_tree":
|
|
183
177
|
return executeEntityGet("/api/v2/global_product/get_attribute_tree", "merchant", input, context, {
|
|
184
|
-
category_id_list:
|
|
185
|
-
language:
|
|
178
|
+
category_id_list: looseArray(input.categoryIds).join(","),
|
|
179
|
+
language: optionalString(input.language) ?? "en",
|
|
186
180
|
});
|
|
187
181
|
case "list_global_brands":
|
|
188
182
|
return executeEntityGet("/api/v2/global_product/get_brand_list", "merchant", input, context, {
|
|
189
|
-
category_id:
|
|
190
|
-
offset:
|
|
191
|
-
page_size:
|
|
192
|
-
status:
|
|
183
|
+
category_id: optionalInteger(input.categoryId),
|
|
184
|
+
offset: optionalInteger(input.offset) ?? 0,
|
|
185
|
+
page_size: optionalInteger(input.pageSize) ?? 100,
|
|
186
|
+
status: optionalInteger(input.status) ?? 1,
|
|
193
187
|
});
|
|
194
188
|
case "upload_product_image":
|
|
195
189
|
return uploadShopeeProductImage(input, context);
|
|
@@ -197,21 +191,21 @@ export async function executeShopeeAction(actionName, input, context) {
|
|
|
197
191
|
return executeEntityPost("/api/v2/global_product/add_global_item", "merchant", input, context, createGlobalItemBody(input));
|
|
198
192
|
case "list_shop_items":
|
|
199
193
|
return executeEntityGet("/api/v2/product/get_item_list", "shop", input, context, {
|
|
200
|
-
offset:
|
|
201
|
-
page_size:
|
|
202
|
-
item_status:
|
|
203
|
-
update_time_from:
|
|
204
|
-
update_time_to:
|
|
194
|
+
offset: optionalInteger(input.offset) ?? 0,
|
|
195
|
+
page_size: optionalInteger(input.pageSize) ?? 100,
|
|
196
|
+
item_status: looseArray(input.statuses),
|
|
197
|
+
update_time_from: optionalInteger(input.updatedFrom),
|
|
198
|
+
update_time_to: optionalInteger(input.updatedTo),
|
|
205
199
|
});
|
|
206
200
|
case "get_shop_items":
|
|
207
201
|
return executeEntityGet("/api/v2/product/get_item_base_info", "shop", input, context, {
|
|
208
|
-
item_id_list:
|
|
202
|
+
item_id_list: looseArray(input.itemIds).join(","),
|
|
209
203
|
need_tax_info: optionalBoolean(input.includeTaxInfo),
|
|
210
204
|
need_complaint_policy: optionalBoolean(input.includeComplaintPolicy),
|
|
211
205
|
});
|
|
212
206
|
case "get_item_models":
|
|
213
207
|
return executeEntityGet("/api/v2/product/get_model_list", "shop", input, context, {
|
|
214
|
-
item_id:
|
|
208
|
+
item_id: optionalInteger(input.itemId),
|
|
215
209
|
});
|
|
216
210
|
case "update_item_prices":
|
|
217
211
|
return executeEntityPost("/api/v2/product/update_price", "shop", input, context, createItemPriceBody(input));
|
|
@@ -220,17 +214,17 @@ export async function executeShopeeAction(actionName, input, context) {
|
|
|
220
214
|
case "list_orders":
|
|
221
215
|
validateOrderTimeRange(input);
|
|
222
216
|
return executeEntityGet("/api/v2/order/get_order_list", "shop", input, context, {
|
|
223
|
-
time_range_field:
|
|
224
|
-
time_from:
|
|
225
|
-
time_to:
|
|
226
|
-
page_size:
|
|
227
|
-
cursor:
|
|
228
|
-
order_status:
|
|
217
|
+
time_range_field: optionalString(input.timeRangeField) ?? "update_time",
|
|
218
|
+
time_from: optionalInteger(input.timeFrom),
|
|
219
|
+
time_to: optionalInteger(input.timeTo),
|
|
220
|
+
page_size: optionalInteger(input.pageSize) ?? 100,
|
|
221
|
+
cursor: optionalString(input.cursor),
|
|
222
|
+
order_status: optionalString(input.orderStatus),
|
|
229
223
|
});
|
|
230
224
|
case "get_orders":
|
|
231
225
|
return executeEntityGet("/api/v2/order/get_order_detail", "shop", input, context, {
|
|
232
|
-
order_sn_list:
|
|
233
|
-
response_optional_fields:
|
|
226
|
+
order_sn_list: looseArray(input.orderSerialNumbers).join(","),
|
|
227
|
+
response_optional_fields: looseArray(input.optionalFields).join(",") || undefined,
|
|
234
228
|
});
|
|
235
229
|
case "get_shipping_parameters":
|
|
236
230
|
return executePackageGet("/api/v2/logistics/get_shipping_parameter", input, context);
|
|
@@ -238,59 +232,59 @@ export async function executeShopeeAction(actionName, input, context) {
|
|
|
238
232
|
return executeEntityPost("/api/v2/logistics/ship_order", "shop", input, context, createShipOrderBody(input));
|
|
239
233
|
case "get_tracking_number":
|
|
240
234
|
return executePackageGet("/api/v2/logistics/get_tracking_number", input, context, {
|
|
241
|
-
response_optional_fields:
|
|
235
|
+
response_optional_fields: looseArray(input.optionalFields).join(",") || undefined,
|
|
242
236
|
});
|
|
243
237
|
case "get_tracking_info":
|
|
244
238
|
return executePackageGet("/api/v2/logistics/get_tracking_info", input, context);
|
|
245
239
|
case "list_returns":
|
|
246
240
|
validateReturnTimeRanges(input);
|
|
247
241
|
return executeEntityGet("/api/v2/returns/get_return_list", "shop", input, context, {
|
|
248
|
-
page_no:
|
|
249
|
-
page_size:
|
|
250
|
-
create_time_from:
|
|
251
|
-
create_time_to:
|
|
252
|
-
update_time_from:
|
|
253
|
-
update_time_to:
|
|
254
|
-
status:
|
|
255
|
-
negotiation_status:
|
|
256
|
-
seller_proof_status:
|
|
257
|
-
seller_compensation_status:
|
|
242
|
+
page_no: optionalInteger(input.page) ?? 1,
|
|
243
|
+
page_size: optionalInteger(input.pageSize) ?? 40,
|
|
244
|
+
create_time_from: optionalInteger(input.createdFrom),
|
|
245
|
+
create_time_to: optionalInteger(input.createdTo),
|
|
246
|
+
update_time_from: optionalInteger(input.updatedFrom),
|
|
247
|
+
update_time_to: optionalInteger(input.updatedTo),
|
|
248
|
+
status: optionalString(input.status),
|
|
249
|
+
negotiation_status: optionalString(input.negotiationStatus),
|
|
250
|
+
seller_proof_status: optionalString(input.sellerProofStatus),
|
|
251
|
+
seller_compensation_status: optionalString(input.sellerCompensationStatus),
|
|
258
252
|
});
|
|
259
253
|
case "get_return":
|
|
260
254
|
return executeEntityGet("/api/v2/returns/get_return_detail", "shop", input, context, {
|
|
261
|
-
return_sn:
|
|
255
|
+
return_sn: optionalString(input.returnSerialNumber),
|
|
262
256
|
});
|
|
263
257
|
case "get_order_escrow":
|
|
264
258
|
return executeEntityGet("/api/v2/payment/get_escrow_detail", "shop", input, context, {
|
|
265
|
-
order_sn:
|
|
259
|
+
order_sn: optionalString(input.orderSerialNumber),
|
|
266
260
|
});
|
|
267
261
|
}
|
|
268
|
-
throw
|
|
262
|
+
throw new ProviderRequestError(400, `Unknown Shopee action: ${actionName}`, undefined, "invalid_input");
|
|
269
263
|
}
|
|
270
264
|
function createItemPriceBody(input) {
|
|
271
265
|
return {
|
|
272
|
-
item_id:
|
|
273
|
-
price_list:
|
|
274
|
-
const price =
|
|
266
|
+
item_id: optionalInteger(input.itemId),
|
|
267
|
+
price_list: looseArray(input.prices).map((value) => {
|
|
268
|
+
const price = recordOrEmpty(value);
|
|
275
269
|
return {
|
|
276
|
-
model_id:
|
|
277
|
-
original_price:
|
|
270
|
+
model_id: optionalInteger(price.modelId) ?? 0,
|
|
271
|
+
original_price: optionalNumber(price.originalPrice),
|
|
278
272
|
};
|
|
279
273
|
}),
|
|
280
274
|
};
|
|
281
275
|
}
|
|
282
276
|
function createItemStockBody(input) {
|
|
283
277
|
return {
|
|
284
|
-
item_id:
|
|
285
|
-
stock_list:
|
|
286
|
-
const stock =
|
|
278
|
+
item_id: optionalInteger(input.itemId),
|
|
279
|
+
stock_list: looseArray(input.stocks).map((value) => {
|
|
280
|
+
const stock = recordOrEmpty(value);
|
|
287
281
|
return {
|
|
288
|
-
model_id:
|
|
289
|
-
seller_stock:
|
|
290
|
-
const location =
|
|
282
|
+
model_id: optionalInteger(stock.modelId) ?? 0,
|
|
283
|
+
seller_stock: looseArray(stock.sellerStock).map((locationValue) => {
|
|
284
|
+
const location = recordOrEmpty(locationValue);
|
|
291
285
|
return {
|
|
292
|
-
location_id:
|
|
293
|
-
stock:
|
|
286
|
+
location_id: optionalString(location.locationId),
|
|
287
|
+
stock: optionalInteger(location.stock),
|
|
294
288
|
};
|
|
295
289
|
}),
|
|
296
290
|
};
|
|
@@ -298,38 +292,38 @@ function createItemStockBody(input) {
|
|
|
298
292
|
};
|
|
299
293
|
}
|
|
300
294
|
function createShipOrderBody(input) {
|
|
301
|
-
const pickup =
|
|
302
|
-
const dropoff =
|
|
303
|
-
const nonIntegrated =
|
|
295
|
+
const pickup = optionalRecord(input.pickup);
|
|
296
|
+
const dropoff = optionalRecord(input.dropoff);
|
|
297
|
+
const nonIntegrated = optionalRecord(input.nonIntegrated);
|
|
304
298
|
const shippingMethodCount = [pickup, dropoff, nonIntegrated].filter(Boolean).length;
|
|
305
299
|
if (shippingMethodCount !== 1) {
|
|
306
|
-
throw
|
|
300
|
+
throw new ProviderRequestError(400, "Provide exactly one of pickup, dropoff, or nonIntegrated.", undefined, "invalid_input");
|
|
307
301
|
}
|
|
308
302
|
return {
|
|
309
|
-
order_sn:
|
|
310
|
-
package_number:
|
|
303
|
+
order_sn: optionalString(input.orderSerialNumber),
|
|
304
|
+
package_number: optionalString(input.packageNumber),
|
|
311
305
|
pickup: pickup
|
|
312
306
|
? {
|
|
313
|
-
address_id:
|
|
314
|
-
pickup_time_id:
|
|
315
|
-
tracking_number:
|
|
307
|
+
address_id: optionalInteger(pickup.addressId),
|
|
308
|
+
pickup_time_id: optionalString(pickup.pickupTimeId),
|
|
309
|
+
tracking_number: optionalString(pickup.trackingNumber),
|
|
316
310
|
}
|
|
317
311
|
: undefined,
|
|
318
312
|
dropoff: dropoff
|
|
319
313
|
? {
|
|
320
|
-
branch_id:
|
|
321
|
-
sender_real_name:
|
|
322
|
-
tracking_number:
|
|
323
|
-
slug:
|
|
314
|
+
branch_id: optionalInteger(dropoff.branchId),
|
|
315
|
+
sender_real_name: optionalString(dropoff.senderRealName),
|
|
316
|
+
tracking_number: optionalString(dropoff.trackingNumber),
|
|
317
|
+
slug: optionalString(dropoff.slug),
|
|
324
318
|
}
|
|
325
319
|
: undefined,
|
|
326
|
-
non_integrated: nonIntegrated ? { tracking_number:
|
|
320
|
+
non_integrated: nonIntegrated ? { tracking_number: optionalString(nonIntegrated.trackingNumber) } : undefined,
|
|
327
321
|
};
|
|
328
322
|
}
|
|
329
323
|
async function uploadShopeeProductImage(input, context) {
|
|
330
|
-
const imageUrl =
|
|
324
|
+
const imageUrl = optionalString(input.imageUrl);
|
|
331
325
|
if (!imageUrl) {
|
|
332
|
-
throw
|
|
326
|
+
throw new ProviderRequestError(400, "imageUrl is required.", undefined, "invalid_input");
|
|
333
327
|
}
|
|
334
328
|
const guardedFetch = createSsrfGuardedFetch(context.fetcher, {
|
|
335
329
|
fieldName: "imageUrl",
|
|
@@ -337,24 +331,24 @@ async function uploadShopeeProductImage(input, context) {
|
|
|
337
331
|
});
|
|
338
332
|
const response = await runProviderRequest({ label: "Shopee image download" }, (signal) => guardedFetch(imageUrl, { signal }));
|
|
339
333
|
if (!response.ok) {
|
|
340
|
-
throw
|
|
334
|
+
throw new ProviderRequestError(502, `Shopee image download failed with HTTP ${response.status}.`, undefined, "provider_error");
|
|
341
335
|
}
|
|
342
336
|
const contentType = response.headers.get("content-type")?.split(";", 1)[0]?.trim().toLowerCase();
|
|
343
337
|
if (!contentType || !shopeeImageContentTypes.has(contentType)) {
|
|
344
|
-
throw
|
|
338
|
+
throw new ProviderRequestError(400, "imageUrl must return a JPG, JPEG, or PNG image.", undefined, "invalid_input");
|
|
345
339
|
}
|
|
346
340
|
const bytes = await readImageBytes(response);
|
|
347
341
|
const extension = contentType === "image/png" ? "png" : "jpg";
|
|
348
342
|
const body = new FormData();
|
|
349
343
|
body.set("image", new File([bytes], `product.${extension}`, { type: contentType }));
|
|
350
|
-
const scene =
|
|
351
|
-
const ratio =
|
|
344
|
+
const scene = optionalString(input.scene);
|
|
345
|
+
const ratio = optionalString(input.ratio);
|
|
352
346
|
if (scene)
|
|
353
347
|
body.set("scene", scene);
|
|
354
348
|
if (ratio)
|
|
355
349
|
body.set("ratio", ratio);
|
|
356
350
|
const inventory = readShopeeTokenInventory(context.providerSecret);
|
|
357
|
-
const entityId = resolveEntityId("shop",
|
|
351
|
+
const entityId = resolveEntityId("shop", optionalInteger(input.shopId), inventory.shops);
|
|
358
352
|
const payload = await requestShopee({
|
|
359
353
|
path: "/api/v2/media_space/upload_image",
|
|
360
354
|
level: "shop",
|
|
@@ -369,7 +363,7 @@ async function uploadShopeeProductImage(input, context) {
|
|
|
369
363
|
async function readImageBytes(response) {
|
|
370
364
|
const declaredLength = Number(response.headers.get("content-length"));
|
|
371
365
|
if (Number.isFinite(declaredLength) && declaredLength > shopeeImageMaxBytes) {
|
|
372
|
-
throw
|
|
366
|
+
throw new ProviderRequestError(400, "imageUrl exceeds Shopee's 10 MB image limit.", undefined, "invalid_input");
|
|
373
367
|
}
|
|
374
368
|
if (!response.body) {
|
|
375
369
|
return new Uint8Array();
|
|
@@ -384,7 +378,7 @@ async function readImageBytes(response) {
|
|
|
384
378
|
total += value.byteLength;
|
|
385
379
|
if (total > shopeeImageMaxBytes) {
|
|
386
380
|
await reader.cancel();
|
|
387
|
-
throw
|
|
381
|
+
throw new ProviderRequestError(400, "imageUrl exceeds Shopee's 10 MB image limit.", undefined, "invalid_input");
|
|
388
382
|
}
|
|
389
383
|
chunks.push(value);
|
|
390
384
|
}
|
|
@@ -397,27 +391,27 @@ async function readImageBytes(response) {
|
|
|
397
391
|
return bytes;
|
|
398
392
|
}
|
|
399
393
|
function createGlobalItemBody(input) {
|
|
400
|
-
const imageIds =
|
|
401
|
-
const attributes =
|
|
402
|
-
const sellerStock =
|
|
403
|
-
const packageLength =
|
|
404
|
-
const packageWidth =
|
|
405
|
-
const packageHeight =
|
|
394
|
+
const imageIds = looseArray(input.imageIds);
|
|
395
|
+
const attributes = looseArray(input.attributes);
|
|
396
|
+
const sellerStock = looseArray(input.sellerStock);
|
|
397
|
+
const packageLength = optionalNumber(input.packageLength);
|
|
398
|
+
const packageWidth = optionalNumber(input.packageWidth);
|
|
399
|
+
const packageHeight = optionalNumber(input.packageHeight);
|
|
406
400
|
const dimensionCount = [packageLength, packageWidth, packageHeight].filter((value) => value != null).length;
|
|
407
401
|
if (dimensionCount !== 0 && dimensionCount !== 3) {
|
|
408
|
-
throw
|
|
402
|
+
throw new ProviderRequestError(400, "packageLength, packageWidth, and packageHeight must be provided together.", undefined, "invalid_input");
|
|
409
403
|
}
|
|
410
|
-
const brandId =
|
|
411
|
-
const brandName =
|
|
404
|
+
const brandId = optionalInteger(input.brandId);
|
|
405
|
+
const brandName = optionalString(input.brandName);
|
|
412
406
|
return {
|
|
413
|
-
category_id:
|
|
414
|
-
global_item_name:
|
|
415
|
-
description:
|
|
416
|
-
global_item_sku:
|
|
407
|
+
category_id: optionalInteger(input.categoryId),
|
|
408
|
+
global_item_name: optionalString(input.name),
|
|
409
|
+
description: optionalString(input.description),
|
|
410
|
+
global_item_sku: optionalString(input.sku),
|
|
417
411
|
image: imageIds.length > 0 ? { image_id_list: imageIds } : undefined,
|
|
418
|
-
original_price:
|
|
419
|
-
normal_stock:
|
|
420
|
-
weight:
|
|
412
|
+
original_price: optionalNumber(input.originalPrice),
|
|
413
|
+
normal_stock: optionalInteger(input.stock),
|
|
414
|
+
weight: optionalNumber(input.weight),
|
|
421
415
|
dimension: packageLength != null && packageWidth != null && packageHeight != null
|
|
422
416
|
? {
|
|
423
417
|
package_length: packageLength,
|
|
@@ -425,20 +419,20 @@ function createGlobalItemBody(input) {
|
|
|
425
419
|
package_height: packageHeight,
|
|
426
420
|
}
|
|
427
421
|
: undefined,
|
|
428
|
-
pre_order: { days_to_ship:
|
|
429
|
-
condition:
|
|
422
|
+
pre_order: { days_to_ship: optionalInteger(input.daysToShip) },
|
|
423
|
+
condition: optionalString(input.condition),
|
|
430
424
|
brand: brandId != null || brandName != null ? { brand_id: brandId, original_brand_name: brandName } : undefined,
|
|
431
425
|
attribute_list: attributes.length > 0
|
|
432
426
|
? attributes.map((value) => {
|
|
433
|
-
const attribute =
|
|
427
|
+
const attribute = recordOrEmpty(value);
|
|
434
428
|
return {
|
|
435
|
-
attribute_id:
|
|
436
|
-
attribute_value_list:
|
|
437
|
-
const attributeValue =
|
|
429
|
+
attribute_id: optionalInteger(attribute.attributeId),
|
|
430
|
+
attribute_value_list: looseArray(attribute.values).map((item) => {
|
|
431
|
+
const attributeValue = recordOrEmpty(item);
|
|
438
432
|
return {
|
|
439
|
-
value_id:
|
|
440
|
-
original_value_name:
|
|
441
|
-
value_unit:
|
|
433
|
+
value_id: optionalInteger(attributeValue.valueId),
|
|
434
|
+
original_value_name: optionalString(attributeValue.originalValueName),
|
|
435
|
+
value_unit: optionalString(attributeValue.valueUnit),
|
|
442
436
|
};
|
|
443
437
|
}),
|
|
444
438
|
};
|
|
@@ -446,10 +440,10 @@ function createGlobalItemBody(input) {
|
|
|
446
440
|
: undefined,
|
|
447
441
|
seller_stock: sellerStock.length > 0
|
|
448
442
|
? sellerStock.map((value) => {
|
|
449
|
-
const stock =
|
|
443
|
+
const stock = recordOrEmpty(value);
|
|
450
444
|
return {
|
|
451
|
-
location_id:
|
|
452
|
-
stock:
|
|
445
|
+
location_id: optionalString(stock.locationId),
|
|
446
|
+
stock: optionalInteger(stock.stock),
|
|
453
447
|
};
|
|
454
448
|
})
|
|
455
449
|
: undefined,
|
|
@@ -469,7 +463,7 @@ export async function fetchShopeeEntityInfo(input) {
|
|
|
469
463
|
async function executeEntityGet(path, entityType, input, context, query) {
|
|
470
464
|
const inventory = readShopeeTokenInventory(context.providerSecret);
|
|
471
465
|
const entities = entityType === "shop" ? inventory.shops : inventory.merchants;
|
|
472
|
-
const requestedId =
|
|
466
|
+
const requestedId = optionalInteger(input[`${entityType}Id`]);
|
|
473
467
|
const entityId = resolveEntityId(entityType, requestedId, entities);
|
|
474
468
|
const payload = await requestShopee({
|
|
475
469
|
path,
|
|
@@ -484,15 +478,15 @@ async function executeEntityGet(path, entityType, input, context, query) {
|
|
|
484
478
|
}
|
|
485
479
|
function executePackageGet(path, input, context, extraQuery) {
|
|
486
480
|
return executeEntityGet(path, "shop", input, context, {
|
|
487
|
-
order_sn:
|
|
488
|
-
package_number:
|
|
481
|
+
order_sn: optionalString(input.orderSerialNumber),
|
|
482
|
+
package_number: optionalString(input.packageNumber),
|
|
489
483
|
...extraQuery,
|
|
490
484
|
});
|
|
491
485
|
}
|
|
492
486
|
async function executeEntityPost(path, entityType, input, context, body) {
|
|
493
487
|
const inventory = readShopeeTokenInventory(context.providerSecret);
|
|
494
488
|
const entities = entityType === "shop" ? inventory.shops : inventory.merchants;
|
|
495
|
-
const requestedId =
|
|
489
|
+
const requestedId = optionalInteger(input[`${entityType}Id`]);
|
|
496
490
|
const entityId = resolveEntityId(entityType, requestedId, entities);
|
|
497
491
|
const payload = await requestShopee({
|
|
498
492
|
path,
|
|
@@ -554,68 +548,71 @@ async function requestShopee(input) {
|
|
|
554
548
|
else if (input.body) {
|
|
555
549
|
requestBody = JSON.stringify(input.body);
|
|
556
550
|
}
|
|
551
|
+
const headers = {
|
|
552
|
+
accept: "application/json",
|
|
553
|
+
"user-agent": providerUserAgent,
|
|
554
|
+
};
|
|
555
|
+
if (!isFormData && input.body) {
|
|
556
|
+
headers["content-type"] = "application/json";
|
|
557
|
+
}
|
|
557
558
|
const response = await input.fetcher(url, {
|
|
558
559
|
method: input.body ? "POST" : "GET",
|
|
559
|
-
headers
|
|
560
|
-
accept: "application/json",
|
|
561
|
-
...(!isFormData && input.body ? { "content-type": "application/json" } : {}),
|
|
562
|
-
"user-agent": connectorUserAgent,
|
|
563
|
-
},
|
|
560
|
+
headers,
|
|
564
561
|
body: requestBody,
|
|
565
562
|
signal,
|
|
566
563
|
});
|
|
567
|
-
const payload =
|
|
564
|
+
const payload = optionalRecord(await response.json().catch(() => undefined));
|
|
568
565
|
if (!payload) {
|
|
569
|
-
throw
|
|
566
|
+
throw new ProviderRequestError(response.ok ? 502 : response.status, `Shopee Open Platform returned a non-JSON response with HTTP ${response.status}.`, undefined, "provider_error");
|
|
570
567
|
}
|
|
571
568
|
assertShopeePayloadSuccess(payload, "Shopee Open Platform", response.status);
|
|
572
569
|
return payload;
|
|
573
570
|
});
|
|
574
571
|
}
|
|
575
572
|
function validateReturnTimeRanges(input) {
|
|
576
|
-
const createdFrom =
|
|
577
|
-
const updatedFrom =
|
|
578
|
-
validateTimeRange(createdFrom,
|
|
579
|
-
validateTimeRange(updatedFrom,
|
|
573
|
+
const createdFrom = optionalInteger(input.createdFrom);
|
|
574
|
+
const updatedFrom = optionalInteger(input.updatedFrom);
|
|
575
|
+
validateTimeRange(createdFrom, optionalInteger(input.createdTo), "Shopee return creation time range");
|
|
576
|
+
validateTimeRange(updatedFrom, optionalInteger(input.updatedTo), "Shopee return update time range");
|
|
580
577
|
if (createdFrom != null && updatedFrom != null && updatedFrom < createdFrom) {
|
|
581
|
-
throw
|
|
578
|
+
throw new ProviderRequestError(400, "Shopee return update time must not start before creation time.", undefined, "invalid_input");
|
|
582
579
|
}
|
|
583
580
|
}
|
|
584
581
|
function validateTimeRange(from, to, label) {
|
|
585
582
|
if (from == null || to == null)
|
|
586
583
|
return;
|
|
587
584
|
if (to < from) {
|
|
588
|
-
throw
|
|
585
|
+
throw new ProviderRequestError(400, `${label} must end after it starts.`, undefined, "invalid_input");
|
|
589
586
|
}
|
|
590
587
|
if (to - from > 15 * 24 * 60 * 60) {
|
|
591
|
-
throw
|
|
588
|
+
throw new ProviderRequestError(400, `${label} cannot exceed 15 days.`, undefined, "invalid_input");
|
|
592
589
|
}
|
|
593
590
|
}
|
|
594
591
|
function assertShopeePayloadSuccess(payload, label, httpStatus = 200) {
|
|
595
|
-
const error =
|
|
592
|
+
const error = optionalString(payload.error);
|
|
596
593
|
if (!error && httpStatus < 400) {
|
|
597
594
|
return;
|
|
598
595
|
}
|
|
599
|
-
const message =
|
|
600
|
-
const requestId =
|
|
596
|
+
const message = optionalString(payload.message);
|
|
597
|
+
const requestId = optionalString(payload.request_id);
|
|
601
598
|
const details = [error, message, requestId ? `request_id=${requestId}` : undefined].filter(Boolean).join(": ");
|
|
602
|
-
throw
|
|
599
|
+
throw new ProviderRequestError(httpStatus >= 400 ? httpStatus : 502, `${label} failed${details ? `: ${details}` : ""}`, undefined, "provider_error");
|
|
603
600
|
}
|
|
604
601
|
function selectEntityToken(entityType, entityId, providerSecret) {
|
|
605
602
|
if (entityId == null) {
|
|
606
|
-
throw
|
|
603
|
+
throw new ProviderRequestError(400, `Shopee ${entityType} ID is required.`, undefined, "invalid_input");
|
|
607
604
|
}
|
|
608
605
|
const inventory = readShopeeTokenInventory(providerSecret);
|
|
609
606
|
const token = entityType === "shop" ? inventory.shops[String(entityId)] : inventory.merchants[String(entityId)];
|
|
610
607
|
if (!token) {
|
|
611
|
-
throw
|
|
608
|
+
throw new ProviderRequestError(400, `Shopee ${entityType} ${entityId} is not authorized by this connection.`, undefined, "invalid_input");
|
|
612
609
|
}
|
|
613
610
|
return token;
|
|
614
611
|
}
|
|
615
612
|
function resolveEntityId(entityType, requestedId, entities) {
|
|
616
613
|
if (requestedId != null) {
|
|
617
614
|
if (!entities[String(requestedId)]) {
|
|
618
|
-
throw
|
|
615
|
+
throw new ProviderRequestError(400, `Shopee ${entityType} ${requestedId} is not authorized by this connection.`, undefined, "invalid_input");
|
|
619
616
|
}
|
|
620
617
|
return requestedId;
|
|
621
618
|
}
|
|
@@ -623,18 +620,18 @@ function resolveEntityId(entityType, requestedId, entities) {
|
|
|
623
620
|
if (ids.length === 1) {
|
|
624
621
|
return ids[0];
|
|
625
622
|
}
|
|
626
|
-
throw
|
|
623
|
+
throw new ProviderRequestError(400, ids.length === 0
|
|
627
624
|
? `This Shopee connection has no authorized ${entityType}.`
|
|
628
|
-
: `This Shopee connection has multiple ${entityType}s; provide ${entityType}Id.`,
|
|
625
|
+
: `This Shopee connection has multiple ${entityType}s; provide ${entityType}Id.`, undefined, "invalid_input");
|
|
629
626
|
}
|
|
630
627
|
function readEntityTokens(value) {
|
|
631
|
-
const raw =
|
|
628
|
+
const raw = recordOrEmpty(value);
|
|
632
629
|
const result = {};
|
|
633
630
|
for (const [id, candidate] of Object.entries(raw)) {
|
|
634
|
-
const token =
|
|
635
|
-
const accessToken =
|
|
636
|
-
const refreshToken =
|
|
637
|
-
const expiresAt =
|
|
631
|
+
const token = optionalRecord(candidate);
|
|
632
|
+
const accessToken = optionalString(token?.accessToken);
|
|
633
|
+
const refreshToken = optionalString(token?.refreshToken);
|
|
634
|
+
const expiresAt = optionalString(token?.expiresAt);
|
|
638
635
|
if (accessToken && refreshToken && expiresAt) {
|
|
639
636
|
result[id] = { accessToken, refreshToken, expiresAt };
|
|
640
637
|
}
|
|
@@ -666,28 +663,28 @@ function uniqueEntityIds(values) {
|
|
|
666
663
|
return [...new Set(ids)];
|
|
667
664
|
}
|
|
668
665
|
function requireString(value, fieldName) {
|
|
669
|
-
const string =
|
|
666
|
+
const string = optionalString(value);
|
|
670
667
|
if (!string) {
|
|
671
|
-
throw
|
|
668
|
+
throw new ProviderRequestError(502, `Shopee token response is missing ${fieldName}.`, undefined, "provider_error");
|
|
672
669
|
}
|
|
673
670
|
return string;
|
|
674
671
|
}
|
|
675
672
|
function normalizeShopeeResponse(payload) {
|
|
676
673
|
return {
|
|
677
|
-
requestId:
|
|
674
|
+
requestId: optionalString(payload.request_id),
|
|
678
675
|
data: payload,
|
|
679
676
|
};
|
|
680
677
|
}
|
|
681
678
|
function validateOrderTimeRange(input) {
|
|
682
|
-
const from =
|
|
683
|
-
const to =
|
|
679
|
+
const from = optionalInteger(input.timeFrom);
|
|
680
|
+
const to = optionalInteger(input.timeTo);
|
|
684
681
|
if (from == null || to == null) {
|
|
685
|
-
throw
|
|
682
|
+
throw new ProviderRequestError(400, "timeFrom and timeTo are required.", undefined, "invalid_input");
|
|
686
683
|
}
|
|
687
684
|
if (to < from) {
|
|
688
|
-
throw
|
|
685
|
+
throw new ProviderRequestError(400, "timeTo must not be earlier than timeFrom.", undefined, "invalid_input");
|
|
689
686
|
}
|
|
690
687
|
if (to - from > 15 * 24 * 60 * 60) {
|
|
691
|
-
throw
|
|
688
|
+
throw new ProviderRequestError(400, "Shopee order time range cannot exceed 15 days.", undefined, "invalid_input");
|
|
692
689
|
}
|
|
693
690
|
}
|