@oomol-lab/open-connector 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/open-connector/catalog/apps/agentearth.json +441 -0
- package/assets/open-connector/catalog/apps/aisa.json +1946 -56
- package/assets/open-connector/catalog/apps/akta.json +1181 -0
- package/assets/open-connector/catalog/apps/appgrowing_mcp.json +863 -0
- package/assets/open-connector/catalog/apps/arcmira.json +610 -0
- package/assets/open-connector/catalog/apps/asana.json +110 -0
- package/assets/open-connector/catalog/apps/bainiu.json +654 -0
- package/assets/open-connector/catalog/apps/calendly.json +103 -0
- package/assets/open-connector/catalog/apps/chaport.json +331 -0
- package/assets/open-connector/catalog/apps/clickup.json +104 -0
- package/assets/open-connector/catalog/apps/cloro.json +9289 -0
- package/assets/open-connector/catalog/apps/cnb.json +1408 -0
- package/assets/open-connector/catalog/apps/contextdev.json +20670 -0
- package/assets/open-connector/catalog/apps/crtsh.json +123 -0
- package/assets/open-connector/catalog/apps/deepseek.json +177 -0
- package/assets/open-connector/catalog/apps/defillama.json +23747 -0
- package/assets/open-connector/catalog/apps/eastmoney_miaoxiang.json +406 -0
- package/assets/open-connector/catalog/apps/fastmoss_mcp.json +876 -876
- package/assets/open-connector/catalog/apps/fireflies.json +103 -0
- package/assets/open-connector/catalog/apps/ftshare.json +1162 -0
- package/assets/open-connector/catalog/apps/fundable.json +7926 -0
- package/assets/open-connector/catalog/apps/fusion-api.json +143 -0
- package/assets/open-connector/catalog/apps/fxbaogao.json +308 -0
- package/assets/open-connector/catalog/apps/github.json +38 -3
- package/assets/open-connector/catalog/apps/hrmos_kintai.json +7519 -0
- package/assets/open-connector/catalog/apps/humor_api.json +351 -0
- package/assets/open-connector/catalog/apps/intercom.json +110 -0
- package/assets/open-connector/catalog/apps/jira.json +110 -0
- package/assets/open-connector/catalog/apps/kaonavi.json +1723 -0
- package/assets/open-connector/catalog/apps/keenable.json +235 -0
- package/assets/open-connector/catalog/apps/kolsprite_mcp.json +1227 -0
- package/assets/open-connector/catalog/apps/linear_mcp.json +882 -22
- package/assets/open-connector/catalog/apps/listinggood.json +362 -0
- package/assets/open-connector/catalog/apps/litescrape.json +52514 -0
- package/assets/open-connector/catalog/apps/magichour.json +5926 -0
- package/assets/open-connector/catalog/apps/minimax.json +24 -14
- package/assets/open-connector/catalog/apps/notion.json +731 -76
- package/assets/open-connector/catalog/apps/notion_mcp.json +338 -1
- package/assets/open-connector/catalog/apps/octen.json +5248 -0
- package/assets/open-connector/catalog/apps/openrouter.json +10 -0
- package/assets/open-connector/catalog/apps/orbit.json +3574 -0
- package/assets/open-connector/catalog/apps/outlook.json +414 -0
- package/assets/open-connector/catalog/apps/pandadoc.json +68 -0
- package/assets/open-connector/catalog/apps/pipedrive.json +86 -0
- package/assets/open-connector/catalog/apps/ploid.json +9802 -0
- package/assets/open-connector/catalog/apps/porteden.json +1258 -0
- package/assets/open-connector/catalog/apps/qiuxiaoce.json +915 -0
- package/assets/open-connector/catalog/apps/qqmusic.json +1834 -0
- package/assets/open-connector/catalog/apps/rakuraku_seisan.json +217 -0
- package/assets/open-connector/catalog/apps/redfox.json +9661 -897
- package/assets/open-connector/catalog/apps/resend.json +100 -0
- package/assets/open-connector/catalog/apps/salesforce.json +7275 -0
- package/assets/open-connector/catalog/apps/sansan.json +4594 -0
- package/assets/open-connector/catalog/apps/saperly.json +7056 -0
- package/assets/open-connector/catalog/apps/search1api.json +2382 -0
- package/assets/open-connector/catalog/apps/sentry.json +129 -0
- package/assets/open-connector/catalog/apps/slackbot.json +230 -1
- package/assets/open-connector/catalog/apps/smarthr.json +8071 -0
- package/assets/open-connector/catalog/apps/smooth.json +914 -0
- package/assets/open-connector/catalog/apps/surf.json +11378 -0
- package/assets/open-connector/catalog/apps/tally.json +113 -0
- package/assets/open-connector/catalog/apps/tapd.json +727 -0
- package/assets/open-connector/catalog/apps/tencent_meeting_mcp.json +1301 -0
- package/assets/open-connector/catalog/apps/threatfox.json +203 -0
- package/assets/open-connector/catalog/apps/tinyfish.json +6154 -0
- package/assets/open-connector/catalog/apps/tradebee.json +915 -0
- package/assets/open-connector/catalog/apps/twittrapi.json +4914 -0
- package/assets/open-connector/catalog/apps/typeform.json +90 -1
- package/assets/open-connector/catalog/apps/urlhaus.json +246 -0
- package/assets/open-connector/catalog/apps/vaquill.json +5944 -0
- package/assets/open-connector/catalog/apps/vercel.json +110 -0
- package/assets/open-connector/catalog/apps/weixin_store.json +1256 -7
- package/assets/open-connector/catalog/apps/weread.json +1514 -0
- package/assets/open-connector/catalog/apps/whatsapp.json +12 -0
- package/assets/open-connector/catalog/apps/zhiliaobiaoxun.json +812 -0
- package/assets/open-connector/catalog/apps/zoom.json +112 -0
- package/assets/open-connector/catalog/apps-index.json +1 -1
- package/package.json +2 -1
- package/src/connection-service.js +55 -11
- package/src/core/json-schema.d.ts +11 -3
- package/src/core/json-schema.js +13 -3
- package/src/core/provider-error-codes.d.ts +9 -0
- package/src/core/provider-error-codes.js +13 -0
- package/src/core/request.d.ts +2 -0
- package/src/core/request.js +11 -2
- package/src/mail/imap-smtp/protocol.js +4 -3
- package/src/oauth/oauth-flow-service.js +1 -0
- package/src/oauth/oauth-token.d.ts +2 -0
- package/src/providers/17track/runtime.js +17 -20
- package/src/providers/action-contracts.generated.d.ts +58 -11
- package/src/providers/agentearth/actions.d.ts +2 -0
- package/src/providers/agentearth/actions.js +100 -0
- package/src/providers/agentearth/executors.d.ts +4 -0
- package/src/providers/agentearth/executors.js +109 -0
- package/src/providers/aisa/executors.js +238 -6
- package/src/providers/aisa/firecrawl-actions.d.ts +9 -0
- package/src/providers/aisa/firecrawl-actions.js +115 -0
- package/src/providers/akta/actions.d.ts +9 -0
- package/src/providers/akta/actions.js +420 -0
- package/src/providers/akta/executors.d.ts +4 -0
- package/src/providers/akta/executors.js +103 -0
- package/src/providers/appgrowing_mcp/actions.d.ts +2 -0
- package/src/providers/appgrowing_mcp/actions.js +175 -0
- package/src/providers/appgrowing_mcp/executors.d.ts +4 -0
- package/src/providers/appgrowing_mcp/executors.js +66 -0
- package/src/providers/arcmira/executors.d.ts +3 -0
- package/src/providers/arcmira/executors.js +8 -0
- package/src/providers/arcmira/runtime.d.ts +6 -0
- package/src/providers/arcmira/runtime.js +41 -0
- package/src/providers/asana/executors.d.ts +2 -0
- package/src/providers/asana/executors.js +2 -0
- package/src/providers/asana/trigger-on-task-event.d.ts +2 -0
- package/src/providers/asana/trigger-on-task-event.definition.d.ts +4 -0
- package/src/providers/asana/trigger-on-task-event.definition.js +42 -0
- package/src/providers/asana/trigger-on-task-event.js +160 -0
- package/src/providers/bainiu/actions.d.ts +2 -0
- package/src/providers/bainiu/actions.js +108 -0
- package/src/providers/bainiu/executors.d.ts +4 -0
- package/src/providers/bainiu/executors.js +113 -0
- package/src/providers/baixiao/executors.js +1 -1
- package/src/providers/bing_webmaster/executors.js +1 -1
- package/src/providers/calendly/executors.d.ts +2 -0
- package/src/providers/calendly/executors.js +2 -0
- package/src/providers/calendly/trigger-on-booking-event.d.ts +2 -0
- package/src/providers/calendly/trigger-on-booking-event.definition.d.ts +5 -0
- package/src/providers/calendly/trigger-on-booking-event.definition.js +42 -0
- package/src/providers/calendly/trigger-on-booking-event.js +144 -0
- package/src/providers/chaport/actions.d.ts +2 -0
- package/src/providers/chaport/actions.js +70 -0
- package/src/providers/chaport/executors.d.ts +4 -0
- package/src/providers/chaport/executors.js +128 -0
- package/src/providers/clickup/executors.d.ts +2 -0
- package/src/providers/clickup/executors.js +2 -0
- package/src/providers/clickup/runtime.js +49 -52
- package/src/providers/clickup/trigger-on-task-event.d.ts +2 -0
- package/src/providers/clickup/trigger-on-task-event.definition.d.ts +4 -0
- package/src/providers/clickup/trigger-on-task-event.definition.js +41 -0
- package/src/providers/clickup/trigger-on-task-event.js +94 -0
- package/src/providers/cloro/actions.d.ts +12 -0
- package/src/providers/cloro/actions.js +155 -0
- package/src/providers/cloro/executors.d.ts +4 -0
- package/src/providers/cloro/executors.js +67 -0
- package/src/providers/cloro/inputs.d.ts +10 -0
- package/src/providers/cloro/inputs.js +680 -0
- package/src/providers/cnb/actions.d.ts +2 -0
- package/src/providers/cnb/actions.js +341 -0
- package/src/providers/cnb/executors.d.ts +4 -0
- package/src/providers/cnb/executors.js +135 -0
- package/src/providers/contextdev/actions.d.ts +14 -0
- package/src/providers/contextdev/actions.js +647 -0
- package/src/providers/contextdev/executors.d.ts +4 -0
- package/src/providers/contextdev/executors.js +109 -0
- package/src/providers/contextdev/files.d.ts +3 -0
- package/src/providers/contextdev/files.js +49 -0
- package/src/providers/contextdev/input-schemas.d.ts +49 -0
- package/src/providers/contextdev/input-schemas.js +3082 -0
- package/src/providers/contextdev/output-schemas.d.ts +49 -0
- package/src/providers/contextdev/output-schemas.js +1599 -0
- package/src/providers/coupontools/runtime.js +11 -14
- package/src/providers/crtsh/executors.d.ts +3 -0
- package/src/providers/crtsh/executors.js +19 -0
- package/src/providers/crtsh/runtime.d.ts +17 -0
- package/src/providers/crtsh/runtime.js +84 -0
- package/src/providers/deepseek/executors.d.ts +0 -5
- package/src/providers/deepseek/executors.js +38 -25
- package/src/providers/defillama/actions.d.ts +24 -0
- package/src/providers/defillama/actions.js +24 -0
- package/src/providers/defillama/dimensions-definitions.d.ts +2 -0
- package/src/providers/defillama/dimensions-definitions.js +1387 -0
- package/src/providers/defillama/ecosystem-definitions.d.ts +2 -0
- package/src/providers/defillama/ecosystem-definitions.js +758 -0
- package/src/providers/defillama/equities-definitions.d.ts +2 -0
- package/src/providers/defillama/equities-definitions.js +733 -0
- package/src/providers/defillama/executors.d.ts +4 -0
- package/src/providers/defillama/executors.js +196 -0
- package/src/providers/defillama/markets-definitions.d.ts +2 -0
- package/src/providers/defillama/markets-definitions.js +624 -0
- package/src/providers/defillama/shared-schemas.d.ts +71 -0
- package/src/providers/defillama/shared-schemas.js +157 -0
- package/src/providers/defillama/tvl-definitions.d.ts +2 -0
- package/src/providers/defillama/tvl-definitions.js +546 -0
- package/src/providers/defillama/yields-definitions.d.ts +2 -0
- package/src/providers/defillama/yields-definitions.js +766 -0
- package/src/providers/eastmoney_miaoxiang/actions.d.ts +2 -0
- package/src/providers/eastmoney_miaoxiang/actions.js +95 -0
- package/src/providers/eastmoney_miaoxiang/executors.d.ts +4 -0
- package/src/providers/eastmoney_miaoxiang/executors.js +81 -0
- package/src/providers/fastmoss_mcp/actions-content.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-content.js +140 -0
- package/src/providers/fastmoss_mcp/actions-creator.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-creator.js +154 -0
- package/src/providers/fastmoss_mcp/actions-product.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-product.js +167 -0
- package/src/providers/fastmoss_mcp/actions-research.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-research.js +174 -0
- package/src/providers/fastmoss_mcp/actions-shop.d.ts +2 -0
- package/src/providers/fastmoss_mcp/actions-shop.js +142 -0
- package/src/providers/fastmoss_mcp/actions.js +11 -12
- package/src/providers/fastmoss_mcp/schemas.d.ts +51 -0
- package/src/providers/fastmoss_mcp/schemas.js +52 -0
- package/src/providers/feishu_app_bot/trigger-on-event.js +2 -0
- package/src/providers/fireflies/executors.d.ts +2 -0
- package/src/providers/fireflies/executors.js +2 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.d.ts +2 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.definition.d.ts +4 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.definition.js +44 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.js +60 -0
- package/src/providers/ftshare/actions.d.ts +2 -0
- package/src/providers/ftshare/actions.js +124 -0
- package/src/providers/ftshare/executors.d.ts +4 -0
- package/src/providers/ftshare/executors.js +102 -0
- package/src/providers/fundable/actions.d.ts +8 -0
- package/src/providers/fundable/actions.js +1515 -0
- package/src/providers/fundable/executors.d.ts +4 -0
- package/src/providers/fundable/executors.js +74 -0
- package/src/providers/fusion-api/operations.js +37 -0
- package/src/providers/fxbaogao/actions.d.ts +2 -0
- package/src/providers/fxbaogao/actions.js +74 -0
- package/src/providers/fxbaogao/executors.d.ts +4 -0
- package/src/providers/fxbaogao/executors.js +155 -0
- package/src/providers/github/app-installation.d.ts +37 -0
- package/src/providers/github/app-installation.js +233 -0
- package/src/providers/github/executors.js +93 -15
- package/src/providers/github/runtime-repository.js +21 -1
- package/src/providers/github/runtime-shared.d.ts +2 -0
- package/src/providers/github/runtime-shared.js +1 -0
- package/src/providers/gmail/message.d.ts +1 -6
- package/src/providers/gmail/message.js +1 -1
- package/src/providers/googledrive/runtime-request.js +3 -3
- package/src/providers/hrmos_kintai/actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/actions.js +139 -0
- package/src/providers/hrmos_kintai/attendance-actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/attendance-actions.js +276 -0
- package/src/providers/hrmos_kintai/business-actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/business-actions.js +143 -0
- package/src/providers/hrmos_kintai/business-schemas.d.ts +4 -0
- package/src/providers/hrmos_kintai/business-schemas.js +320 -0
- package/src/providers/hrmos_kintai/executors.d.ts +4 -0
- package/src/providers/hrmos_kintai/executors.js +61 -0
- package/src/providers/hrmos_kintai/export-actions.d.ts +2 -0
- package/src/providers/hrmos_kintai/export-actions.js +58 -0
- package/src/providers/hrmos_kintai/operations.d.ts +9 -0
- package/src/providers/hrmos_kintai/operations.js +278 -0
- package/src/providers/hrmos_kintai/runtime.d.ts +10 -0
- package/src/providers/hrmos_kintai/runtime.js +217 -0
- package/src/providers/hrmos_kintai/schemas.d.ts +10 -0
- package/src/providers/hrmos_kintai/schemas.js +70 -0
- package/src/providers/humor_api/actions.d.ts +2 -0
- package/src/providers/humor_api/actions.js +96 -0
- package/src/providers/humor_api/executors.d.ts +4 -0
- package/src/providers/humor_api/executors.js +76 -0
- package/src/providers/intercom/executors.d.ts +2 -0
- package/src/providers/intercom/executors.js +2 -0
- package/src/providers/intercom/trigger-on-conversation-event.d.ts +2 -0
- package/src/providers/intercom/trigger-on-conversation-event.definition.d.ts +4 -0
- package/src/providers/intercom/trigger-on-conversation-event.definition.js +42 -0
- package/src/providers/intercom/trigger-on-conversation-event.js +23 -0
- package/src/providers/jira/executors.d.ts +2 -0
- package/src/providers/jira/executors.js +2 -0
- package/src/providers/jira/trigger-on-issue-event.d.ts +2 -0
- package/src/providers/jira/trigger-on-issue-event.definition.d.ts +4 -0
- package/src/providers/jira/trigger-on-issue-event.definition.js +44 -0
- package/src/providers/jira/trigger-on-issue-event.js +116 -0
- package/src/providers/jira/trigger-resource.d.ts +4 -0
- package/src/providers/jira/trigger-resource.js +141 -0
- package/src/providers/kaonavi/actions.d.ts +4 -0
- package/src/providers/kaonavi/actions.js +144 -0
- package/src/providers/kaonavi/additional-actions.d.ts +10 -0
- package/src/providers/kaonavi/additional-actions.js +203 -0
- package/src/providers/kaonavi/executors.d.ts +4 -0
- package/src/providers/kaonavi/executors.js +69 -0
- package/src/providers/kaonavi/runtime.d.ts +4 -0
- package/src/providers/kaonavi/runtime.js +69 -0
- package/src/providers/keenable/executors.d.ts +4 -0
- package/src/providers/keenable/executors.js +20 -0
- package/src/providers/keenable/runtime.d.ts +26 -0
- package/src/providers/keenable/runtime.js +89 -0
- package/src/providers/kolsprite_mcp/actions.d.ts +2 -0
- package/src/providers/kolsprite_mcp/actions.js +519 -0
- package/src/providers/kolsprite_mcp/executors.d.ts +4 -0
- package/src/providers/kolsprite_mcp/executors.js +89 -0
- package/src/providers/linear_mcp/actions.d.ts +14 -0
- package/src/providers/linear_mcp/actions.js +134 -0
- package/src/providers/linear_mcp/runtime-mcp.d.ts +7 -1
- package/src/providers/linear_mcp/runtime-mcp.js +140 -28
- package/src/providers/linkfox/runtime.js +48 -51
- package/src/providers/listinggood/actions.d.ts +2 -0
- package/src/providers/listinggood/actions.js +95 -0
- package/src/providers/listinggood/executors.d.ts +4 -0
- package/src/providers/listinggood/executors.js +99 -0
- package/src/providers/litescrape/actions.d.ts +12 -0
- package/src/providers/litescrape/actions.js +124 -0
- package/src/providers/litescrape/airbnb-schemas.d.ts +2 -0
- package/src/providers/litescrape/airbnb-schemas.js +72 -0
- package/src/providers/litescrape/aliexpress-schemas.d.ts +2 -0
- package/src/providers/litescrape/aliexpress-schemas.js +52 -0
- package/src/providers/litescrape/amazon-schemas.d.ts +2 -0
- package/src/providers/litescrape/amazon-schemas.js +358 -0
- package/src/providers/litescrape/apartments-schemas.d.ts +2 -0
- package/src/providers/litescrape/apartments-schemas.js +45 -0
- package/src/providers/litescrape/apple-schemas.d.ts +2 -0
- package/src/providers/litescrape/apple-schemas.js +215 -0
- package/src/providers/litescrape/ashby-schemas.d.ts +2 -0
- package/src/providers/litescrape/ashby-schemas.js +82 -0
- package/src/providers/litescrape/baidu-schemas.d.ts +2 -0
- package/src/providers/litescrape/baidu-schemas.js +31 -0
- package/src/providers/litescrape/bestbuy-schemas.d.ts +2 -0
- package/src/providers/litescrape/bestbuy-schemas.js +56 -0
- package/src/providers/litescrape/bing-schemas.d.ts +2 -0
- package/src/providers/litescrape/bing-schemas.js +315 -0
- package/src/providers/litescrape/brave-schemas.d.ts +2 -0
- package/src/providers/litescrape/brave-schemas.js +101 -0
- package/src/providers/litescrape/copilot-schemas.d.ts +2 -0
- package/src/providers/litescrape/copilot-schemas.js +590 -0
- package/src/providers/litescrape/duckduckgo-schemas.d.ts +2 -0
- package/src/providers/litescrape/duckduckgo-schemas.js +64 -0
- package/src/providers/litescrape/ebay-schemas.d.ts +2 -0
- package/src/providers/litescrape/ebay-schemas.js +300 -0
- package/src/providers/litescrape/etsy-schemas.d.ts +2 -0
- package/src/providers/litescrape/etsy-schemas.js +52 -0
- package/src/providers/litescrape/eventbrite-schemas.d.ts +2 -0
- package/src/providers/litescrape/eventbrite-schemas.js +43 -0
- package/src/providers/litescrape/executors.d.ts +4 -0
- package/src/providers/litescrape/executors.js +138 -0
- package/src/providers/litescrape/facebook-schemas.d.ts +2 -0
- package/src/providers/litescrape/facebook-schemas.js +283 -0
- package/src/providers/litescrape/glassdoor-schemas.d.ts +2 -0
- package/src/providers/litescrape/glassdoor-schemas.js +147 -0
- package/src/providers/litescrape/google-schemas.d.ts +2 -0
- package/src/providers/litescrape/google-schemas.js +1686 -0
- package/src/providers/litescrape/homedepot-schemas.d.ts +2 -0
- package/src/providers/litescrape/homedepot-schemas.js +58 -0
- package/src/providers/litescrape/homes-schemas.d.ts +2 -0
- package/src/providers/litescrape/homes-schemas.js +45 -0
- package/src/providers/litescrape/ikea-schemas.d.ts +2 -0
- package/src/providers/litescrape/ikea-schemas.js +56 -0
- package/src/providers/litescrape/indeed-schemas.d.ts +2 -0
- package/src/providers/litescrape/indeed-schemas.js +141 -0
- package/src/providers/litescrape/instagram-schemas.d.ts +2 -0
- package/src/providers/litescrape/instagram-schemas.js +234 -0
- package/src/providers/litescrape/kroger-schemas.d.ts +2 -0
- package/src/providers/litescrape/kroger-schemas.js +62 -0
- package/src/providers/litescrape/levels-schemas.d.ts +2 -0
- package/src/providers/litescrape/levels-schemas.js +153 -0
- package/src/providers/litescrape/naver-schemas.d.ts +2 -0
- package/src/providers/litescrape/naver-schemas.js +107 -0
- package/src/providers/litescrape/realtor-schemas.d.ts +2 -0
- package/src/providers/litescrape/realtor-schemas.js +47 -0
- package/src/providers/litescrape/redfin-schemas.d.ts +2 -0
- package/src/providers/litescrape/redfin-schemas.js +112 -0
- package/src/providers/litescrape/shared.d.ts +9 -0
- package/src/providers/litescrape/shared.js +1 -0
- package/src/providers/litescrape/sprouts-schemas.d.ts +2 -0
- package/src/providers/litescrape/sprouts-schemas.js +72 -0
- package/src/providers/litescrape/target-schemas.d.ts +2 -0
- package/src/providers/litescrape/target-schemas.js +56 -0
- package/src/providers/litescrape/tiktok-schemas.d.ts +2 -0
- package/src/providers/litescrape/tiktok-schemas.js +625 -0
- package/src/providers/litescrape/tools.d.ts +2 -0
- package/src/providers/litescrape/tools.js +88 -0
- package/src/providers/litescrape/tripadvisor-schemas.d.ts +2 -0
- package/src/providers/litescrape/tripadvisor-schemas.js +119 -0
- package/src/providers/litescrape/walmart-schemas.d.ts +2 -0
- package/src/providers/litescrape/walmart-schemas.js +52 -0
- package/src/providers/litescrape/wayfair-schemas.d.ts +2 -0
- package/src/providers/litescrape/wayfair-schemas.js +52 -0
- package/src/providers/litescrape/web-schemas.d.ts +2 -0
- package/src/providers/litescrape/web-schemas.js +463 -0
- package/src/providers/litescrape/wholefoods-schemas.d.ts +2 -0
- package/src/providers/litescrape/wholefoods-schemas.js +56 -0
- package/src/providers/litescrape/x-schemas.d.ts +2 -0
- package/src/providers/litescrape/x-schemas.js +128 -0
- package/src/providers/litescrape/yahoo-schemas.d.ts +2 -0
- package/src/providers/litescrape/yahoo-schemas.js +234 -0
- package/src/providers/litescrape/yandex-schemas.d.ts +2 -0
- package/src/providers/litescrape/yandex-schemas.js +179 -0
- package/src/providers/litescrape/yelp-schemas.d.ts +2 -0
- package/src/providers/litescrape/yelp-schemas.js +130 -0
- package/src/providers/litescrape/youtube-schemas.d.ts +2 -0
- package/src/providers/litescrape/youtube-schemas.js +128 -0
- package/src/providers/litescrape/zillow-schemas.d.ts +2 -0
- package/src/providers/litescrape/zillow-schemas.js +128 -0
- package/src/providers/litescrape/ziprecruiter-schemas.d.ts +2 -0
- package/src/providers/litescrape/ziprecruiter-schemas.js +96 -0
- package/src/providers/magichour/actions.d.ts +22 -0
- package/src/providers/magichour/actions.js +308 -0
- package/src/providers/magichour/audio-schemas.d.ts +2 -0
- package/src/providers/magichour/audio-schemas.js +54 -0
- package/src/providers/magichour/executors.d.ts +4 -0
- package/src/providers/magichour/executors.js +115 -0
- package/src/providers/magichour/image-schemas.d.ts +2 -0
- package/src/providers/magichour/image-schemas.js +443 -0
- package/src/providers/magichour/project-schemas.d.ts +8 -0
- package/src/providers/magichour/project-schemas.js +65 -0
- package/src/providers/magichour/shared-schemas.d.ts +8 -0
- package/src/providers/magichour/shared-schemas.js +18 -0
- package/src/providers/magichour/utility-schemas.d.ts +11 -0
- package/src/providers/magichour/utility-schemas.js +150 -0
- package/src/providers/magichour/video-schemas.d.ts +2 -0
- package/src/providers/magichour/video-schemas.js +629 -0
- package/src/providers/magichour/voices.d.ts +1 -0
- package/src/providers/magichour/voices.js +1268 -0
- package/src/providers/mcp-tools.d.ts +3 -0
- package/src/providers/mcp-tools.js +5 -4
- package/src/providers/minimax/executors.js +19 -4
- package/src/providers/minimax/text-models.d.ts +2 -0
- package/src/providers/minimax/text-models.js +34 -0
- package/src/providers/moneyforward_mcp/manifest.d.ts +0 -2
- package/src/providers/moneyforward_mcp/manifest.js +1 -1
- package/src/providers/notion/executors.js +36 -3
- package/src/providers/notion_mcp/executors.js +53 -24
- package/src/providers/notion_mcp/mcp-response.d.ts +26 -0
- package/src/providers/notion_mcp/mcp-response.js +95 -0
- package/src/providers/octen/actions.d.ts +6 -0
- package/src/providers/octen/actions.js +919 -0
- package/src/providers/octen/executors.d.ts +4 -0
- package/src/providers/octen/executors.js +125 -0
- package/src/providers/octen/inputs.d.ts +2 -0
- package/src/providers/octen/inputs.js +2434 -0
- package/src/providers/octen/research.d.ts +1 -0
- package/src/providers/octen/research.js +86 -0
- package/src/providers/omise/executors.js +1 -1
- package/src/providers/openrouter/executors.js +7 -4
- package/src/providers/orbit/actions.d.ts +2 -0
- package/src/providers/orbit/actions.js +3030 -0
- package/src/providers/orbit/executors.d.ts +4 -0
- package/src/providers/orbit/executors.js +106 -0
- package/src/providers/orbit/routes.d.ts +9 -0
- package/src/providers/orbit/routes.js +170 -0
- package/src/providers/outlook/executors.js +35 -2
- package/src/providers/pandadoc/executors.d.ts +2 -0
- package/src/providers/pandadoc/executors.js +2 -0
- package/src/providers/pandadoc/trigger-on-document-event.d.ts +2 -0
- package/src/providers/pandadoc/trigger-on-document-event.definition.d.ts +4 -0
- package/src/providers/pandadoc/trigger-on-document-event.definition.js +33 -0
- package/src/providers/pandadoc/trigger-on-document-event.js +96 -0
- package/src/providers/pipedrive/executors.d.ts +2 -0
- package/src/providers/pipedrive/executors.js +2 -0
- package/src/providers/pipedrive/trigger-on-crm-event.d.ts +2 -0
- package/src/providers/pipedrive/trigger-on-crm-event.definition.d.ts +4 -0
- package/src/providers/pipedrive/trigger-on-crm-event.definition.js +30 -0
- package/src/providers/pipedrive/trigger-on-crm-event.js +101 -0
- package/src/providers/ploid/actions.d.ts +16 -0
- package/src/providers/ploid/actions.js +23 -0
- package/src/providers/ploid/endpoints.json +8440 -0
- package/src/providers/ploid/executors.d.ts +4 -0
- package/src/providers/ploid/executors.js +119 -0
- package/src/providers/porteden/actions.d.ts +2 -0
- package/src/providers/porteden/actions.js +162 -0
- package/src/providers/porteden/executors.d.ts +4 -0
- package/src/providers/porteden/executors.js +140 -0
- package/src/providers/provider-runtime.d.ts +16 -2
- package/src/providers/provider-runtime.js +37 -4
- package/src/providers/pushover/runtime.js +28 -31
- package/src/providers/qianfan/runtime.js +16 -19
- package/src/providers/qiuxiaoce/actions.d.ts +2 -0
- package/src/providers/qiuxiaoce/actions.js +248 -0
- package/src/providers/qiuxiaoce/executors.d.ts +4 -0
- package/src/providers/qiuxiaoce/executors.js +76 -0
- package/src/providers/qiuxiaoce/routes.d.ts +1 -0
- package/src/providers/qiuxiaoce/routes.js +20 -0
- package/src/providers/qqmusic/actions.d.ts +2 -0
- package/src/providers/qqmusic/actions.js +229 -0
- package/src/providers/qqmusic/executors.d.ts +4 -0
- package/src/providers/qqmusic/executors.js +92 -0
- package/src/providers/qqmusic/report-schema.d.ts +4 -0
- package/src/providers/qqmusic/report-schema.js +119 -0
- package/src/providers/rakuraku_seisan/actions.d.ts +2 -0
- package/src/providers/rakuraku_seisan/actions.js +50 -0
- package/src/providers/rakuraku_seisan/executors.d.ts +4 -0
- package/src/providers/rakuraku_seisan/executors.js +40 -0
- package/src/providers/rakuraku_seisan/runtime.d.ts +8 -0
- package/src/providers/rakuraku_seisan/runtime.js +251 -0
- package/src/providers/redfox/actions-account.d.ts +2 -0
- package/src/providers/redfox/actions-account.js +24 -0
- package/src/providers/redfox/actions-autohome.d.ts +2 -0
- package/src/providers/redfox/actions-autohome.js +51 -0
- package/src/providers/redfox/actions-baijiahao.d.ts +2 -0
- package/src/providers/redfox/actions-baijiahao.js +58 -0
- package/src/providers/redfox/actions-bilibili.d.ts +2 -0
- package/src/providers/redfox/actions-bilibili.js +67 -0
- package/src/providers/redfox/actions-dongchedi.d.ts +2 -0
- package/src/providers/redfox/actions-dongchedi.js +49 -0
- package/src/providers/redfox/actions-douyin.d.ts +2 -0
- package/src/providers/redfox/actions-douyin.js +297 -0
- package/src/providers/redfox/actions-generation.d.ts +2 -0
- package/src/providers/redfox/actions-generation.js +293 -0
- package/src/providers/redfox/actions-instagram.d.ts +2 -0
- package/src/providers/redfox/actions-instagram.js +49 -0
- package/src/providers/redfox/actions-kuaishou.d.ts +2 -0
- package/src/providers/redfox/actions-kuaishou.js +53 -0
- package/src/providers/redfox/actions-search.d.ts +2 -0
- package/src/providers/redfox/actions-search.js +125 -0
- package/src/providers/redfox/actions-tiktok.d.ts +2 -0
- package/src/providers/redfox/actions-tiktok.js +136 -0
- package/src/providers/redfox/actions-tools.d.ts +2 -0
- package/src/providers/redfox/actions-tools.js +151 -0
- package/src/providers/redfox/actions-toutiao.d.ts +2 -0
- package/src/providers/redfox/actions-toutiao.js +68 -0
- package/src/providers/redfox/actions-transcription.d.ts +2 -0
- package/src/providers/redfox/actions-transcription.js +165 -0
- package/src/providers/redfox/actions-wechat-channel.d.ts +2 -0
- package/src/providers/redfox/actions-wechat-channel.js +63 -0
- package/src/providers/redfox/actions-wechat.d.ts +2 -0
- package/src/providers/redfox/actions-wechat.js +302 -0
- package/src/providers/redfox/actions-weibo.d.ts +2 -0
- package/src/providers/redfox/actions-weibo.js +61 -0
- package/src/providers/redfox/actions-x.d.ts +2 -0
- package/src/providers/redfox/actions-x.js +126 -0
- package/src/providers/redfox/actions-xiaohongshu.d.ts +2 -0
- package/src/providers/redfox/actions-xiaohongshu.js +244 -0
- package/src/providers/redfox/actions-yiche.d.ts +2 -0
- package/src/providers/redfox/actions-yiche.js +59 -0
- package/src/providers/redfox/actions-youtube.d.ts +2 -0
- package/src/providers/redfox/actions-youtube.js +64 -0
- package/src/providers/redfox/actions-zhihu.d.ts +2 -0
- package/src/providers/redfox/actions-zhihu.js +26 -0
- package/src/providers/redfox/actions.d.ts +2 -0
- package/src/providers/redfox/actions.js +49 -0
- package/src/providers/redfox/executors.d.ts +2 -14
- package/src/providers/redfox/executors.js +28 -551
- package/src/providers/redfox/routes.d.ts +11 -0
- package/src/providers/redfox/routes.js +329 -0
- package/src/providers/redfox/runtime.d.ts +6 -0
- package/src/providers/redfox/runtime.js +151 -0
- package/src/providers/redfox/schemas.d.ts +9 -0
- package/src/providers/redfox/schemas.js +40 -0
- package/src/providers/registry.generated.js +47 -0
- package/src/providers/resend/executors.d.ts +2 -0
- package/src/providers/resend/executors.js +2 -0
- package/src/providers/resend/trigger-on-email-event.d.ts +2 -0
- package/src/providers/resend/trigger-on-email-event.definition.d.ts +4 -0
- package/src/providers/resend/trigger-on-email-event.definition.js +37 -0
- package/src/providers/resend/trigger-on-email-event.js +125 -0
- package/src/providers/salesforce/chatter-routes.d.ts +107 -0
- package/src/providers/salesforce/chatter-routes.js +140 -0
- package/src/providers/salesforce/context.d.ts +16 -0
- package/src/providers/salesforce/context.js +61 -0
- package/src/providers/salesforce/executors.d.ts +5 -0
- package/src/providers/salesforce/executors.js +64 -0
- package/src/providers/salesforce/media.d.ts +9 -0
- package/src/providers/salesforce/media.js +66 -0
- package/src/providers/salesforce/oauth.d.ts +2 -0
- package/src/providers/salesforce/oauth.js +89 -0
- package/src/providers/salesforce/runtime-analytics.d.ts +2 -0
- package/src/providers/salesforce/runtime-analytics.js +60 -0
- package/src/providers/salesforce/runtime-approvals.d.ts +2 -0
- package/src/providers/salesforce/runtime-approvals.js +52 -0
- package/src/providers/salesforce/runtime-automation.d.ts +2 -0
- package/src/providers/salesforce/runtime-automation.js +64 -0
- package/src/providers/salesforce/runtime-base.d.ts +2 -0
- package/src/providers/salesforce/runtime-base.js +62 -0
- package/src/providers/salesforce/runtime-bulk.d.ts +2 -0
- package/src/providers/salesforce/runtime-bulk.js +98 -0
- package/src/providers/salesforce/runtime-chatter.d.ts +2 -0
- package/src/providers/salesforce/runtime-chatter.js +78 -0
- package/src/providers/salesforce/runtime-data.d.ts +2 -0
- package/src/providers/salesforce/runtime-data.js +207 -0
- package/src/providers/salesforce/runtime-files.d.ts +2 -0
- package/src/providers/salesforce/runtime-files.js +108 -0
- package/src/providers/salesforce/runtime-knowledge.d.ts +2 -0
- package/src/providers/salesforce/runtime-knowledge.js +34 -0
- package/src/providers/salesforce/runtime-leads.d.ts +2 -0
- package/src/providers/salesforce/runtime-leads.js +117 -0
- package/src/providers/salesforce/runtime-platform.d.ts +2 -0
- package/src/providers/salesforce/runtime-platform.js +67 -0
- package/src/providers/salesforce/transport.d.ts +9 -0
- package/src/providers/salesforce/transport.js +65 -0
- package/src/providers/sansan/actions.d.ts +2 -0
- package/src/providers/sansan/actions.js +165 -0
- package/src/providers/sansan/admin-actions.d.ts +2 -0
- package/src/providers/sansan/admin-actions.js +181 -0
- package/src/providers/sansan/admin.d.ts +2 -0
- package/src/providers/sansan/admin.js +42 -0
- package/src/providers/sansan/business-actions.d.ts +2 -0
- package/src/providers/sansan/business-actions.js +160 -0
- package/src/providers/sansan/business.d.ts +2 -0
- package/src/providers/sansan/business.js +51 -0
- package/src/providers/sansan/executors.d.ts +4 -0
- package/src/providers/sansan/executors.js +59 -0
- package/src/providers/sansan/file-schema.d.ts +2 -0
- package/src/providers/sansan/file-schema.js +8 -0
- package/src/providers/sansan/files.d.ts +11 -0
- package/src/providers/sansan/files.js +49 -0
- package/src/providers/sansan/organization-actions.d.ts +2 -0
- package/src/providers/sansan/organization-actions.js +198 -0
- package/src/providers/sansan/organization-columns.d.ts +2 -0
- package/src/providers/sansan/organization-columns.js +33 -0
- package/src/providers/sansan/organization.d.ts +2 -0
- package/src/providers/sansan/organization.js +88 -0
- package/src/providers/sansan/read.d.ts +2 -0
- package/src/providers/sansan/read.js +25 -0
- package/src/providers/sansan/request.d.ts +22 -0
- package/src/providers/sansan/request.js +94 -0
- package/src/providers/sansan/schemas.d.ts +7 -0
- package/src/providers/sansan/schemas.js +72 -0
- package/src/providers/saperly/actions.d.ts +17 -0
- package/src/providers/saperly/actions.js +869 -0
- package/src/providers/saperly/executors.d.ts +4 -0
- package/src/providers/saperly/executors.js +113 -0
- package/src/providers/saperly/schemas.d.ts +33 -0
- package/src/providers/saperly/schemas.js +601 -0
- package/src/providers/search1api/actions.d.ts +2 -0
- package/src/providers/search1api/actions.js +39 -0
- package/src/providers/search1api/executors.d.ts +4 -0
- package/src/providers/search1api/executors.js +72 -0
- package/src/providers/search1api/runtime.d.ts +3 -0
- package/src/providers/search1api/runtime.js +44 -0
- package/src/providers/search1api/schemas.d.ts +3 -0
- package/src/providers/search1api/schemas.js +1834 -0
- package/src/providers/sentry/executors.d.ts +2 -0
- package/src/providers/sentry/executors.js +2 -0
- package/src/providers/sentry/trigger-on-issue-alert.d.ts +2 -0
- package/src/providers/sentry/trigger-on-issue-alert.definition.d.ts +4 -0
- package/src/providers/sentry/trigger-on-issue-alert.definition.js +64 -0
- package/src/providers/sentry/trigger-on-issue-alert.js +80 -0
- package/src/providers/sf_express/runtime.d.ts +0 -16
- package/src/providers/sf_express/runtime.js +2 -2
- package/src/providers/shopee/runtime.d.ts +33 -29
- package/src/providers/shopee/runtime.js +166 -169
- package/src/providers/slack/runtime.d.ts +6 -1
- package/src/providers/slack/runtime.js +21 -0
- package/src/providers/slackbot/actions.js +17 -1
- package/src/providers/slackbot/executors.d.ts +2 -0
- package/src/providers/slackbot/executors.js +5 -1
- package/src/providers/slackbot/trigger-on-event.d.ts +2 -0
- package/src/providers/slackbot/trigger-on-event.definition.d.ts +4 -0
- package/src/providers/slackbot/trigger-on-event.definition.js +57 -0
- package/src/providers/slackbot/trigger-on-event.js +23 -0
- package/src/providers/smarthr/actions.d.ts +2 -0
- package/src/providers/smarthr/actions.js +286 -0
- package/src/providers/smarthr/employee-runtime.d.ts +1 -0
- package/src/providers/smarthr/employee-runtime.js +63 -0
- package/src/providers/smarthr/employee-schema.d.ts +3 -0
- package/src/providers/smarthr/employee-schema.js +222 -0
- package/src/providers/smarthr/executors.d.ts +4 -0
- package/src/providers/smarthr/executors.js +35 -0
- package/src/providers/smarthr/pagination.d.ts +1 -0
- package/src/providers/smarthr/pagination.js +84 -0
- package/src/providers/smarthr/resource-routes.d.ts +16 -0
- package/src/providers/smarthr/resource-routes.js +163 -0
- package/src/providers/smarthr/runtime.d.ts +13 -0
- package/src/providers/smarthr/runtime.js +242 -0
- package/src/providers/smarthr/supplemental-actions.d.ts +2 -0
- package/src/providers/smarthr/supplemental-actions.js +541 -0
- package/src/providers/smooth/actions.d.ts +2 -0
- package/src/providers/smooth/actions.js +138 -0
- package/src/providers/smooth/executors.d.ts +4 -0
- package/src/providers/smooth/executors.js +102 -0
- package/src/providers/surf/actions.d.ts +21 -0
- package/src/providers/surf/actions.js +26 -0
- package/src/providers/surf/discovery-definitions.d.ts +2 -0
- package/src/providers/surf/discovery-definitions.js +871 -0
- package/src/providers/surf/equity-definitions.d.ts +2 -0
- package/src/providers/surf/equity-definitions.js +322 -0
- package/src/providers/surf/executors.d.ts +4 -0
- package/src/providers/surf/executors.js +131 -0
- package/src/providers/surf/market-definitions.d.ts +2 -0
- package/src/providers/surf/market-definitions.js +885 -0
- package/src/providers/surf/onchain-definitions.d.ts +2 -0
- package/src/providers/surf/onchain-definitions.js +901 -0
- package/src/providers/surf/prediction-definitions.d.ts +2 -0
- package/src/providers/surf/prediction-definitions.js +683 -0
- package/src/providers/surf/shared-schemas.d.ts +18 -0
- package/src/providers/surf/shared-schemas.js +37 -0
- package/src/providers/tally/executors.d.ts +2 -0
- package/src/providers/tally/executors.js +2 -0
- package/src/providers/tally/trigger-on-form-response.d.ts +2 -0
- package/src/providers/tally/trigger-on-form-response.definition.d.ts +4 -0
- package/src/providers/tally/trigger-on-form-response.definition.js +54 -0
- package/src/providers/tally/trigger-on-form-response.js +166 -0
- package/src/providers/tapd/actions.d.ts +8 -0
- package/src/providers/tapd/actions.js +89 -0
- package/src/providers/tapd/executors.d.ts +4 -0
- package/src/providers/tapd/executors.js +137 -0
- package/src/providers/teable/runtime.js +12 -15
- package/src/providers/tencent_meeting_mcp/actions.d.ts +2 -0
- package/src/providers/tencent_meeting_mcp/actions.js +420 -0
- package/src/providers/tencent_meeting_mcp/executors.d.ts +4 -0
- package/src/providers/tencent_meeting_mcp/executors.js +117 -0
- package/src/providers/threatfox/executors.d.ts +4 -0
- package/src/providers/threatfox/executors.js +40 -0
- package/src/providers/threatfox/runtime.d.ts +15 -0
- package/src/providers/threatfox/runtime.js +128 -0
- package/src/providers/ticket_tailor/runtime.js +1 -1
- package/src/providers/ticketmaster/runtime.js +3 -6
- package/src/providers/timelinesai/runtime.js +13 -16
- package/src/providers/tinyfish/actions.d.ts +6 -0
- package/src/providers/tinyfish/actions.js +19 -0
- package/src/providers/tinyfish/agent-actions.d.ts +2 -0
- package/src/providers/tinyfish/agent-actions.js +268 -0
- package/src/providers/tinyfish/data-actions.d.ts +2 -0
- package/src/providers/tinyfish/data-actions.js +186 -0
- package/src/providers/tinyfish/data-schemas.d.ts +7 -0
- package/src/providers/tinyfish/data-schemas.js +103 -0
- package/src/providers/tinyfish/endpoints.d.ts +14 -0
- package/src/providers/tinyfish/endpoints.js +1 -0
- package/src/providers/tinyfish/executors.d.ts +4 -0
- package/src/providers/tinyfish/executors.js +133 -0
- package/src/providers/tinyfish/management-actions.d.ts +2 -0
- package/src/providers/tinyfish/management-actions.js +524 -0
- package/src/providers/tinyfish/monitor-schemas.d.ts +5 -0
- package/src/providers/tinyfish/monitor-schemas.js +65 -0
- package/src/providers/tinyfish/research-schemas.d.ts +6 -0
- package/src/providers/tinyfish/research-schemas.js +71 -0
- package/src/providers/tradebee/actions.d.ts +2 -0
- package/src/providers/tradebee/actions.js +176 -0
- package/src/providers/tradebee/executors.d.ts +4 -0
- package/src/providers/tradebee/executors.js +83 -0
- package/src/providers/trello/executors.js +5 -2
- package/src/providers/twittrapi/executors.d.ts +4 -0
- package/src/providers/twittrapi/executors.js +17 -0
- package/src/providers/twittrapi/runtime.d.ts +12 -0
- package/src/providers/twittrapi/runtime.js +203 -0
- package/src/providers/typeform/executors.d.ts +2 -0
- package/src/providers/typeform/executors.js +2 -0
- package/src/providers/typeform/trigger-on-form-response.d.ts +2 -0
- package/src/providers/typeform/trigger-on-form-response.definition.d.ts +4 -0
- package/src/providers/typeform/trigger-on-form-response.definition.js +40 -0
- package/src/providers/typeform/trigger-on-form-response.js +68 -0
- package/src/providers/urlhaus/executors.d.ts +4 -0
- package/src/providers/urlhaus/executors.js +40 -0
- package/src/providers/urlhaus/runtime.d.ts +15 -0
- package/src/providers/urlhaus/runtime.js +142 -0
- package/src/providers/vaquill/actions.d.ts +13 -0
- package/src/providers/vaquill/actions.js +529 -0
- package/src/providers/vaquill/executors.d.ts +4 -0
- package/src/providers/vaquill/executors.js +141 -0
- package/src/providers/vaquill/schemas.d.ts +67 -0
- package/src/providers/vaquill/schemas.js +4953 -0
- package/src/providers/vercel/executors.d.ts +2 -0
- package/src/providers/vercel/executors.js +2 -0
- package/src/providers/vercel/trigger-on-deployment-event.d.ts +2 -0
- package/src/providers/vercel/trigger-on-deployment-event.definition.d.ts +5 -0
- package/src/providers/vercel/trigger-on-deployment-event.definition.js +41 -0
- package/src/providers/vercel/trigger-on-deployment-event.js +102 -0
- package/src/providers/wangdian/runtime.js +16 -19
- package/src/providers/weixin_bot/runtime.d.ts +0 -1
- package/src/providers/weixin_bot/runtime.js +1 -1
- package/src/providers/weixin_store/access-token.d.ts +3 -3
- package/src/providers/weixin_store/access-token.js +15 -7
- package/src/providers/weixin_store/executors.js +214 -1
- package/src/providers/weread/actions.d.ts +2 -0
- package/src/providers/weread/actions.js +424 -0
- package/src/providers/weread/executors.d.ts +4 -0
- package/src/providers/weread/executors.js +98 -0
- package/src/providers/whatsapp/runtime.js +6 -1
- package/src/providers/workast/runtime.js +12 -17
- package/src/providers/youzan/runtime.js +21 -24
- package/src/providers/zenkit/runtime.js +13 -19
- package/src/providers/zhiliaobiaoxun/actions.d.ts +2 -0
- package/src/providers/zhiliaobiaoxun/actions.js +138 -0
- package/src/providers/zhiliaobiaoxun/executors.d.ts +4 -0
- package/src/providers/zhiliaobiaoxun/executors.js +78 -0
- package/src/providers/zoom/executors.d.ts +2 -0
- package/src/providers/zoom/executors.js +2 -0
- package/src/providers/zoom/trigger-on-recording-ready.d.ts +2 -0
- package/src/providers/zoom/trigger-on-recording-ready.definition.d.ts +4 -0
- package/src/providers/zoom/trigger-on-recording-ready.definition.js +44 -0
- package/src/providers/zoom/trigger-on-recording-ready.js +39 -0
- package/src/server/api/action-example.js +12 -1
- package/src/server/api/auth.d.ts +2 -0
- package/src/server/api/auth.js +2 -1
- package/src/server/api/console-catalog-routes.d.ts +17 -0
- package/src/server/api/console-catalog-routes.js +88 -0
- package/src/server/api/console-oauth-routes.d.ts +18 -0
- package/src/server/api/console-oauth-routes.js +298 -0
- package/src/server/api/docs-routes.d.ts +12 -0
- package/src/server/api/docs-routes.js +38 -0
- package/src/server/api/http-utils.d.ts +1 -0
- package/src/server/api/http-utils.js +8 -0
- package/src/server/api/marketplace-routes.d.ts +7 -0
- package/src/server/api/marketplace-routes.js +62 -0
- package/src/server/api/mcp-routes.d.ts +18 -0
- package/src/server/api/mcp-routes.js +37 -0
- package/src/server/api/pattern-example.js +35 -1
- package/src/server/api/policy-routes.d.ts +13 -0
- package/src/server/api/policy-routes.js +50 -0
- package/src/server/api/policy-snapshot.d.ts +14 -0
- package/src/server/api/policy-snapshot.js +30 -0
- package/src/server/api/run-log-routes.d.ts +7 -0
- package/src/server/api/run-log-routes.js +70 -0
- package/src/server/api/runtime-api.d.ts +0 -7
- package/src/server/api/runtime-api.js +0 -13
- package/src/server/api/runtime-app-routes.d.ts +10 -0
- package/src/server/api/runtime-app-routes.js +72 -0
- package/src/server/api/runtime-catalog-routes.d.ts +37 -0
- package/src/server/api/runtime-catalog-routes.js +133 -0
- package/src/server/api/runtime-execution-routes.d.ts +16 -0
- package/src/server/api/runtime-execution-routes.js +198 -0
- package/src/server/api/saas-oauth-routes.d.ts +9 -0
- package/src/server/api/saas-oauth-routes.js +27 -0
- package/src/server/api/saas-project-routes.d.ts +7 -0
- package/src/server/api/saas-project-routes.js +16 -0
- package/src/server/api/transit-file-routes.d.ts +9 -0
- package/src/server/api/transit-file-routes.js +49 -0
- package/src/server/api/trigger-routes.d.ts +15 -0
- package/src/server/api/trigger-routes.js +48 -0
- package/src/server/connect-app.d.ts +1 -0
- package/src/server/connect-app.js +4 -1
- package/src/server/connect-server.d.ts +3 -54
- package/src/server/connect-server.js +95 -1148
- package/src/triggers/common/integration.d.ts +15 -3
- package/src/triggers/common/integration.js +5 -0
- package/src/triggers/common/proxy.d.ts +7 -0
- package/src/triggers/managed-webhook.d.ts +13 -0
- package/src/triggers/managed-webhook.js +48 -0
- package/src/triggers/request.d.ts +5 -1
- package/src/triggers/request.js +2 -0
- package/src/triggers/resources.d.ts +8 -2
- package/src/triggers/resources.js +31 -0
- package/src/triggers/signature.d.ts +3 -3
- package/src/triggers/signature.js +4 -6
- package/src/triggers/sources/configuration-schema.d.ts +5 -0
- package/src/triggers/sources/configuration-schema.js +118 -0
- package/src/triggers/sources/configuration.d.ts +115 -0
- package/src/triggers/sources/configuration.js +1 -0
- package/src/triggers/sources/definition.d.ts +61 -0
- package/src/triggers/sources/definition.js +3 -0
- package/src/triggers/sources/feishu-demands.d.ts +6 -0
- package/src/triggers/sources/feishu-demands.js +24 -0
- package/src/triggers/sources/feishu-events.d.ts +19 -0
- package/src/triggers/sources/feishu-events.js +108 -0
- package/src/triggers/sources/feishu.d.ts +3 -0
- package/src/triggers/sources/feishu.js +85 -0
- package/src/triggers/sources/fireflies.d.ts +3 -0
- package/src/triggers/sources/fireflies.js +100 -0
- package/src/triggers/sources/intercom.d.ts +3 -0
- package/src/triggers/sources/intercom.js +86 -0
- package/src/triggers/sources/jira.d.ts +3 -0
- package/src/triggers/sources/jira.js +120 -0
- package/src/triggers/sources/operation.d.ts +42 -0
- package/src/triggers/sources/operation.js +146 -0
- package/src/triggers/sources/sentry.d.ts +3 -0
- package/src/triggers/sources/sentry.js +125 -0
- package/src/triggers/sources/signature.d.ts +1 -0
- package/src/triggers/sources/signature.js +10 -0
- package/src/triggers/sources/slack.d.ts +3 -0
- package/src/triggers/sources/slack.js +127 -0
- package/src/triggers/sources/zoom.d.ts +3 -0
- package/src/triggers/sources/zoom.js +113 -0
- package/src/triggers/trigger-runner.d.ts +2 -0
- package/src/triggers/trigger-runner.js +52 -16
- package/src/providers/fastmoss_mcp/official-tools.json +0 -2922
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export const chatterFeedRoutes = {
|
|
2
|
+
favorites: {
|
|
3
|
+
path: "/chatter/feeds/favorites/{userId}/{favoriteId}/feed-elements",
|
|
4
|
+
communityRequired: false,
|
|
5
|
+
parameters: ["elementsPerBundle", "page", "pageSize", "recentCommentCount", "sort"],
|
|
6
|
+
},
|
|
7
|
+
filter: {
|
|
8
|
+
path: "/chatter/feeds/filter/{userId}/{keyPrefix}/feed-elements",
|
|
9
|
+
communityRequired: false,
|
|
10
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"],
|
|
11
|
+
},
|
|
12
|
+
bookmarks: {
|
|
13
|
+
path: "/chatter/feeds/bookmarks/{userId}/feed-elements",
|
|
14
|
+
communityRequired: false,
|
|
15
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"],
|
|
16
|
+
},
|
|
17
|
+
company: {
|
|
18
|
+
path: "/chatter/feeds/company/feed-elements",
|
|
19
|
+
communityRequired: false,
|
|
20
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"],
|
|
21
|
+
},
|
|
22
|
+
"direct-messages": {
|
|
23
|
+
path: "/chatter/feeds/direct-messages/feed-elements",
|
|
24
|
+
communityRequired: false,
|
|
25
|
+
parameters: ["page", "pageSize", "recentCommentCount", "sort"],
|
|
26
|
+
},
|
|
27
|
+
draft: {
|
|
28
|
+
path: "/chatter/feeds/draft/{userId}/feed-elements",
|
|
29
|
+
communityRequired: false,
|
|
30
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"],
|
|
31
|
+
},
|
|
32
|
+
files: {
|
|
33
|
+
path: "/chatter/feeds/files/{userId}/feed-elements",
|
|
34
|
+
communityRequired: false,
|
|
35
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"],
|
|
36
|
+
},
|
|
37
|
+
groups: {
|
|
38
|
+
path: "/chatter/feeds/groups/{userId}/feed-elements",
|
|
39
|
+
communityRequired: false,
|
|
40
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"],
|
|
41
|
+
},
|
|
42
|
+
isolated: {
|
|
43
|
+
path: "/chatter/feeds/isolated/feed-elements",
|
|
44
|
+
communityRequired: false,
|
|
45
|
+
parameters: ["page", "pageSize", "q", "sort"],
|
|
46
|
+
},
|
|
47
|
+
mute: {
|
|
48
|
+
path: "/chatter/feeds/mute/{userId}/feed-elements",
|
|
49
|
+
communityRequired: false,
|
|
50
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"],
|
|
51
|
+
},
|
|
52
|
+
news: {
|
|
53
|
+
path: "/chatter/feeds/news/{userId}/feed-elements",
|
|
54
|
+
communityRequired: false,
|
|
55
|
+
parameters: [
|
|
56
|
+
"density",
|
|
57
|
+
"elementsPerBundle",
|
|
58
|
+
"filter",
|
|
59
|
+
"page",
|
|
60
|
+
"pageSize",
|
|
61
|
+
"q",
|
|
62
|
+
"recentCommentCount",
|
|
63
|
+
"sort",
|
|
64
|
+
"updatedSince",
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
"pending-review": {
|
|
68
|
+
path: "/chatter/feeds/pending-review/feed-elements",
|
|
69
|
+
communityRequired: false,
|
|
70
|
+
parameters: ["page", "pageSize", "q", "sort"],
|
|
71
|
+
},
|
|
72
|
+
people: {
|
|
73
|
+
path: "/chatter/feeds/people/{userId}/feed-elements",
|
|
74
|
+
communityRequired: false,
|
|
75
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort", "updatedSince"],
|
|
76
|
+
},
|
|
77
|
+
record: {
|
|
78
|
+
path: "/chatter/feeds/record/{recordId}/feed-elements",
|
|
79
|
+
communityRequired: false,
|
|
80
|
+
parameters: [
|
|
81
|
+
"customFilter",
|
|
82
|
+
"density",
|
|
83
|
+
"elementsPerBundle",
|
|
84
|
+
"filter",
|
|
85
|
+
"page",
|
|
86
|
+
"pageSize",
|
|
87
|
+
"q",
|
|
88
|
+
"recentCommentCount",
|
|
89
|
+
"showInternalOnly",
|
|
90
|
+
"sort",
|
|
91
|
+
"threadedCommentsCollapsed",
|
|
92
|
+
"updatedSince",
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
streams: {
|
|
96
|
+
path: "/chatter/feeds/streams/{streamId}/feed-elements",
|
|
97
|
+
communityRequired: false,
|
|
98
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "recentCommentCount", "sort", "updatedSince"],
|
|
99
|
+
},
|
|
100
|
+
to: {
|
|
101
|
+
path: "/chatter/feeds/to/{userId}/feed-elements",
|
|
102
|
+
communityRequired: false,
|
|
103
|
+
parameters: ["density", "elementsPerBundle", "page", "pageSize", "q", "recentCommentCount", "sort"],
|
|
104
|
+
},
|
|
105
|
+
topics: {
|
|
106
|
+
path: "/chatter/feeds/topics/{topicId}/feed-elements",
|
|
107
|
+
communityRequired: false,
|
|
108
|
+
parameters: ["filter", "page", "pageSize", "sort"],
|
|
109
|
+
},
|
|
110
|
+
"user-profile": {
|
|
111
|
+
path: "/chatter/feeds/user-profile/{userId}/feed-elements",
|
|
112
|
+
communityRequired: false,
|
|
113
|
+
parameters: [
|
|
114
|
+
"density",
|
|
115
|
+
"elementsPerBundle",
|
|
116
|
+
"filter",
|
|
117
|
+
"page",
|
|
118
|
+
"pageSize",
|
|
119
|
+
"q",
|
|
120
|
+
"recentCommentCount",
|
|
121
|
+
"sort",
|
|
122
|
+
"threadedCommentsCollapsed",
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
"direct-message-moderation": {
|
|
126
|
+
path: "/chatter/feeds/direct-message-moderation/feed-elements",
|
|
127
|
+
communityRequired: true,
|
|
128
|
+
parameters: ["page", "pageSize", "q", "sort"],
|
|
129
|
+
},
|
|
130
|
+
home: {
|
|
131
|
+
path: "/chatter/feeds/home/feed-elements",
|
|
132
|
+
communityRequired: true,
|
|
133
|
+
parameters: ["filter", "page", "pageSize", "q", "sort", "threadedCommentsCollapsed"],
|
|
134
|
+
},
|
|
135
|
+
moderation: {
|
|
136
|
+
path: "/chatter/feeds/moderation/feed-elements",
|
|
137
|
+
communityRequired: true,
|
|
138
|
+
parameters: ["page", "pageSize", "q", "sort"],
|
|
139
|
+
},
|
|
140
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { OAuthProviderContext } from "../provider-runtime.ts";
|
|
2
|
+
export interface SalesforceContext extends OAuthProviderContext {
|
|
3
|
+
base: string;
|
|
4
|
+
version: string;
|
|
5
|
+
origin: string;
|
|
6
|
+
request(path: string, method?: string, body?: unknown, extraHeaders?: HeadersInit): Promise<unknown>;
|
|
7
|
+
object(path: string, method?: string, body?: unknown, extraHeaders?: HeadersInit): Promise<Record<string, unknown>>;
|
|
8
|
+
items(path: string, method?: string, body?: unknown): Promise<{
|
|
9
|
+
results: unknown[];
|
|
10
|
+
}>;
|
|
11
|
+
response<T>(path: string, init: RequestInit, consume: (response: Response, signal: AbortSignal) => Promise<T>): Promise<T>;
|
|
12
|
+
}
|
|
13
|
+
export declare function createSalesforceContext(context: OAuthProviderContext, data: Record<string, unknown>): SalesforceContext;
|
|
14
|
+
export type SalesforceHandler = (data: Record<string, unknown>, context: SalesforceContext) => Promise<unknown>;
|
|
15
|
+
export declare function segment(value: unknown): string;
|
|
16
|
+
export declare function queryPath(path: string, params: Record<string, unknown>): string;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { requiredRawString } from "../../core/cast.js";
|
|
2
|
+
import { providerInputError, providerResponseError, requiredInputString, requiredResponseRecord, } from "../provider-runtime.js";
|
|
3
|
+
import { salesforceFileRequestTimeoutMs, salesforceOrigin, salesforceRequest, withSalesforceResponse, } from "./transport.js";
|
|
4
|
+
export function createSalesforceContext(context, data) {
|
|
5
|
+
const origin = salesforceOrigin(requiredInputString(context.providerSecret?.instanceUrl, "instanceUrl"), "instanceUrl");
|
|
6
|
+
const version = String(data.apiVersion ?? "66.0");
|
|
7
|
+
const base = `/services/data/v${version}`;
|
|
8
|
+
function url(path) {
|
|
9
|
+
const resolved = new URL(path, origin);
|
|
10
|
+
if (resolved.origin !== origin || !path.startsWith("/services/"))
|
|
11
|
+
throw providerInputError("Salesforce path must stay within the connected instance");
|
|
12
|
+
return resolved;
|
|
13
|
+
}
|
|
14
|
+
function initWithAuth(init) {
|
|
15
|
+
const headers = new Headers(init.headers);
|
|
16
|
+
headers.set("authorization", `Bearer ${context.accessToken}`);
|
|
17
|
+
return { ...init, headers };
|
|
18
|
+
}
|
|
19
|
+
async function request(path, method = "GET", body, extraHeaders) {
|
|
20
|
+
const headers = new Headers(extraHeaders);
|
|
21
|
+
if (body !== undefined)
|
|
22
|
+
headers.set("content-type", "application/json");
|
|
23
|
+
return (await salesforceRequest(url(path), initWithAuth({
|
|
24
|
+
method,
|
|
25
|
+
headers,
|
|
26
|
+
body: body === undefined ? undefined : JSON.stringify(body),
|
|
27
|
+
}), context.fetcher, context.signal)).body;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
...context,
|
|
31
|
+
base,
|
|
32
|
+
version,
|
|
33
|
+
origin,
|
|
34
|
+
request,
|
|
35
|
+
async object(path, method = "GET", body, extraHeaders) {
|
|
36
|
+
return requiredResponseRecord(await request(path, method, body, extraHeaders), "Salesforce response");
|
|
37
|
+
},
|
|
38
|
+
async items(path, method = "GET", body) {
|
|
39
|
+
const results = await request(path, method, body);
|
|
40
|
+
if (!Array.isArray(results))
|
|
41
|
+
throw providerResponseError("Salesforce results must be an array");
|
|
42
|
+
return { results };
|
|
43
|
+
},
|
|
44
|
+
response(path, init, consume) {
|
|
45
|
+
return withSalesforceResponse(url(path), initWithAuth(init), context.fetcher, consume, salesforceFileRequestTimeoutMs, context.signal);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export function segment(value) {
|
|
50
|
+
const raw = requiredRawString(value, "path segment", providerInputError);
|
|
51
|
+
if (!raw || raw === "." || raw === "..")
|
|
52
|
+
throw providerInputError("Salesforce path cannot contain dot segments");
|
|
53
|
+
return encodeURIComponent(raw);
|
|
54
|
+
}
|
|
55
|
+
export function queryPath(path, params) {
|
|
56
|
+
const search = new URLSearchParams();
|
|
57
|
+
for (const [key, value] of Object.entries(params))
|
|
58
|
+
if (value !== undefined)
|
|
59
|
+
search.set(key, Array.isArray(value) ? value.join(",") : String(value));
|
|
60
|
+
return search.size ? `${path}?${search}` : path;
|
|
61
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
|
|
2
|
+
export { oauth } from "./oauth.ts";
|
|
3
|
+
export declare const executors: ProviderExecutors;
|
|
4
|
+
export declare const proxy: ProviderProxyExecutor;
|
|
5
|
+
export declare const credentialValidators: CredentialValidators;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { optionalString } from "../../core/cast.js";
|
|
2
|
+
import { defineOAuthProviderExecutors, defineProviderProxy, providerInputError, providerResponseError, requiredInputString, requiredResponseRecord, } from "../provider-runtime.js";
|
|
3
|
+
import { createSalesforceContext } from "./context.js";
|
|
4
|
+
import { salesforceAnalyticsHandlers } from "./runtime-analytics.js";
|
|
5
|
+
import { salesforceApprovalHandlers } from "./runtime-approvals.js";
|
|
6
|
+
import { salesforceAutomationHandlers } from "./runtime-automation.js";
|
|
7
|
+
import { salesforceBaseHandlers } from "./runtime-base.js";
|
|
8
|
+
import { salesforceBulkHandlers } from "./runtime-bulk.js";
|
|
9
|
+
import { salesforceChatterHandlers } from "./runtime-chatter.js";
|
|
10
|
+
import { salesforceDataHandlers } from "./runtime-data.js";
|
|
11
|
+
import { salesforceFileHandlers } from "./runtime-files.js";
|
|
12
|
+
import { salesforceKnowledgeHandlers } from "./runtime-knowledge.js";
|
|
13
|
+
import { salesforceLeadHandlers } from "./runtime-leads.js";
|
|
14
|
+
import { salesforcePlatformHandlers } from "./runtime-platform.js";
|
|
15
|
+
import { readSalesforceError, salesforceOrigin, salesforceRequest } from "./transport.js";
|
|
16
|
+
export { oauth } from "./oauth.js";
|
|
17
|
+
const handlers = {};
|
|
18
|
+
for (const [name, handler] of Object.entries({
|
|
19
|
+
...salesforceApprovalHandlers,
|
|
20
|
+
...salesforceChatterHandlers,
|
|
21
|
+
...salesforceKnowledgeHandlers,
|
|
22
|
+
...salesforceLeadHandlers,
|
|
23
|
+
...salesforcePlatformHandlers,
|
|
24
|
+
...salesforceBaseHandlers,
|
|
25
|
+
...salesforceDataHandlers,
|
|
26
|
+
...salesforceAnalyticsHandlers,
|
|
27
|
+
...salesforceAutomationHandlers,
|
|
28
|
+
...salesforceFileHandlers,
|
|
29
|
+
...salesforceBulkHandlers,
|
|
30
|
+
})) {
|
|
31
|
+
handlers[name] = (input, context) => handler(input, createSalesforceContext(context, input));
|
|
32
|
+
}
|
|
33
|
+
export const executors = defineOAuthProviderExecutors("salesforce", handlers);
|
|
34
|
+
export const proxy = defineProviderProxy({
|
|
35
|
+
service: "salesforce",
|
|
36
|
+
async baseUrl(context, service) {
|
|
37
|
+
const credential = await context.getCredential(service);
|
|
38
|
+
if (credential?.authType !== "oauth2")
|
|
39
|
+
throw providerInputError("Salesforce requires OAuth2");
|
|
40
|
+
return salesforceOrigin(requiredInputString(credential.providerSecret?.instanceUrl, "instanceUrl"), "instanceUrl");
|
|
41
|
+
},
|
|
42
|
+
auth: { type: "oauth_bearer" },
|
|
43
|
+
readError: readSalesforceError,
|
|
44
|
+
});
|
|
45
|
+
export const credentialValidators = {
|
|
46
|
+
async oauth2(credential, { fetcher, signal }) {
|
|
47
|
+
const metadata = credential.providerSecret;
|
|
48
|
+
if (!metadata)
|
|
49
|
+
throw providerInputError("Salesforce connection metadata is missing");
|
|
50
|
+
const url = new URL(requiredInputString(metadata?.identityUrl, "identityUrl"));
|
|
51
|
+
salesforceOrigin(url.origin, "identityUrl");
|
|
52
|
+
const body = requiredResponseRecord((await salesforceRequest(url, { headers: { authorization: `Bearer ${credential.accessToken}` } }, fetcher, signal)).body, "Salesforce identity");
|
|
53
|
+
if (body.organization_id !== metadata?.organizationId || body.user_id !== metadata?.userId)
|
|
54
|
+
throw providerResponseError("Salesforce identity does not match the token response");
|
|
55
|
+
return {
|
|
56
|
+
profile: {
|
|
57
|
+
accountId: `${metadata.organizationId}:${metadata.userId}`,
|
|
58
|
+
displayName: optionalString(body.display_name) ?? optionalString(body.username),
|
|
59
|
+
},
|
|
60
|
+
metadata: { instanceUrl: metadata.instanceUrl },
|
|
61
|
+
grantedScopes: optionalString(credential.metadata.scope)?.split(" ").filter(Boolean),
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TransitFileUpload, TransitFileWriter } from "../../core/types.ts";
|
|
2
|
+
import type { SalesforceContext } from "./context.ts";
|
|
3
|
+
export declare function requireSalesforceTransit(context: SalesforceContext): TransitFileWriter;
|
|
4
|
+
export declare function downloadSalesforceSource(fileUrl: string, maximumBytes: number, context: SalesforceContext): Promise<{
|
|
5
|
+
body: ReadableStream<Uint8Array>;
|
|
6
|
+
sizeBytes: number;
|
|
7
|
+
cleanup(): Promise<void>;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function saveSalesforceDownload(context: SalesforceContext, response: Response, name: string, mimeType: string, signal: AbortSignal): Promise<TransitFileUpload>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { assertPublicHttpUrl, storeResponseInTransit } from "../../core/request.js";
|
|
2
|
+
import { providerFetch, providerInputError, providerResponseError, ProviderRequestError, runProviderRequest, } from "../provider-runtime.js";
|
|
3
|
+
import { salesforceFileRequestTimeoutMs } from "./transport.js";
|
|
4
|
+
export function requireSalesforceTransit(context) {
|
|
5
|
+
const store = context.transitFiles;
|
|
6
|
+
if (!store?.createFromStream)
|
|
7
|
+
throw providerInputError("Salesforce file transfers require a streaming transit file backend (filesystem).");
|
|
8
|
+
return store;
|
|
9
|
+
}
|
|
10
|
+
export async function downloadSalesforceSource(fileUrl, maximumBytes, context) {
|
|
11
|
+
const store = requireSalesforceTransit(context);
|
|
12
|
+
if (!store.response)
|
|
13
|
+
throw providerInputError("Salesforce uploads require a transit backend with streaming reads.");
|
|
14
|
+
const url = assertPublicHttpUrl(fileUrl, { fieldName: "fileUrl", createError: providerInputError });
|
|
15
|
+
if (url.protocol !== "https:")
|
|
16
|
+
throw providerInputError("fileUrl must use HTTPS");
|
|
17
|
+
return runProviderRequest({ label: "Salesforce file source", timeoutMs: salesforceFileRequestTimeoutMs, signal: context.signal }, async (signal) => {
|
|
18
|
+
const response = await providerFetch(url, { signal });
|
|
19
|
+
if (!response.ok || !response.body) {
|
|
20
|
+
await response.body?.cancel();
|
|
21
|
+
throw new ProviderRequestError(response.status, `File source returned HTTP ${response.status}`, undefined, "provider_error");
|
|
22
|
+
}
|
|
23
|
+
const file = await storeResponseInTransit(response, store, {
|
|
24
|
+
name: "source",
|
|
25
|
+
mimeType: "application/octet-stream",
|
|
26
|
+
fieldName: "Salesforce file source",
|
|
27
|
+
createError: (message) => new ProviderRequestError(413, message),
|
|
28
|
+
maxBytes: maximumBytes,
|
|
29
|
+
signal,
|
|
30
|
+
});
|
|
31
|
+
let body = null;
|
|
32
|
+
try {
|
|
33
|
+
if (!file.sizeBytes)
|
|
34
|
+
throw providerInputError("The file source is empty");
|
|
35
|
+
const source = await store.response(file.fileId);
|
|
36
|
+
body = source.body;
|
|
37
|
+
if (!source.ok || !body)
|
|
38
|
+
throw providerResponseError("Salesforce transit source could not be read");
|
|
39
|
+
const sourceBody = body;
|
|
40
|
+
return {
|
|
41
|
+
body: sourceBody,
|
|
42
|
+
sizeBytes: file.sizeBytes,
|
|
43
|
+
async cleanup() {
|
|
44
|
+
await sourceBody.cancel().catch(() => undefined);
|
|
45
|
+
await store.delete(file.fileId);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
await body?.cancel().catch(() => undefined);
|
|
51
|
+
await store.delete(file.fileId);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export async function saveSalesforceDownload(context, response, name, mimeType, signal) {
|
|
57
|
+
const store = requireSalesforceTransit(context);
|
|
58
|
+
return storeResponseInTransit(response, store, {
|
|
59
|
+
name,
|
|
60
|
+
mimeType,
|
|
61
|
+
signal,
|
|
62
|
+
maxBytes: 2 * 1024 ** 3,
|
|
63
|
+
fieldName: "Salesforce file",
|
|
64
|
+
createError: (message) => new ProviderRequestError(413, message),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { optionalNumber, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
+
import { ProviderRequestError, providerResponseError, requiredResponseRecord } from "../provider-runtime.js";
|
|
3
|
+
import { salesforceOrigin, salesforceRequest } from "./transport.js";
|
|
4
|
+
function loginOrigin(config) {
|
|
5
|
+
return salesforceOrigin(optionalString(config.extra.loginUrl) ?? "https://login.salesforce.com", "loginUrl");
|
|
6
|
+
}
|
|
7
|
+
async function requestToken(input) {
|
|
8
|
+
const origin = loginOrigin(input.config);
|
|
9
|
+
const result = await salesforceRequest(new URL("/services/oauth2/token", origin), {
|
|
10
|
+
method: "POST",
|
|
11
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
12
|
+
body: new URLSearchParams({
|
|
13
|
+
...input.parameters,
|
|
14
|
+
client_id: input.config.clientId,
|
|
15
|
+
client_secret: input.config.clientSecret,
|
|
16
|
+
}),
|
|
17
|
+
}, input.fetcher, input.signal).catch((error) => {
|
|
18
|
+
if (!(error instanceof ProviderRequestError))
|
|
19
|
+
throw error;
|
|
20
|
+
const details = optionalRecord(error.details);
|
|
21
|
+
// Only Salesforce's explicit expired-refresh-token response warrants reconnecting.
|
|
22
|
+
const expired = input.parameters.grant_type === "refresh_token" &&
|
|
23
|
+
details?.errorCode === "invalid_grant" &&
|
|
24
|
+
details.errorDescription === "expired access/refresh token";
|
|
25
|
+
throw input.createError(error.message, expired ? { status: error.status, errorCode: "invalid_grant" } : undefined);
|
|
26
|
+
});
|
|
27
|
+
const body = requiredResponseRecord(result.body, "Salesforce token response");
|
|
28
|
+
const instanceUrl = salesforceOrigin(requiredString(body.instance_url, "Salesforce instance_url", providerResponseError), "instance_url");
|
|
29
|
+
const identityUrl = new URL(requiredString(body.id, "Salesforce identity URL", providerResponseError));
|
|
30
|
+
salesforceOrigin(identityUrl.origin, "identity URL");
|
|
31
|
+
const parts = identityUrl.pathname.split("/");
|
|
32
|
+
if (parts.length !== 4 ||
|
|
33
|
+
parts[1] !== "id" ||
|
|
34
|
+
!parts[2] ||
|
|
35
|
+
!parts[3] ||
|
|
36
|
+
identityUrl.search ||
|
|
37
|
+
identityUrl.hash ||
|
|
38
|
+
identityUrl.username ||
|
|
39
|
+
identityUrl.password)
|
|
40
|
+
throw providerResponseError("Salesforce returned an invalid identity URL");
|
|
41
|
+
const scope = optionalString(body.scope) ?? input.fallbackScopes;
|
|
42
|
+
if (!scope.split(" ").includes("api"))
|
|
43
|
+
throw providerResponseError("Salesforce did not grant the required api scope");
|
|
44
|
+
const expiresIn = optionalNumber(body.expires_in);
|
|
45
|
+
// Salesforce normally omits expires_in; ten minutes is a local refresh budget, not its session lifetime.
|
|
46
|
+
const refreshAfterSeconds = expiresIn !== undefined && expiresIn > 0 ? Math.min(expiresIn, 600) : 600;
|
|
47
|
+
return {
|
|
48
|
+
accessToken: requiredString(body.access_token, "Salesforce access token", providerResponseError),
|
|
49
|
+
refreshToken: input.parameters.grant_type === "authorization_code"
|
|
50
|
+
? requiredString(body.refresh_token, "Salesforce refresh token; enable refresh_token scope and authorize again", input.createError)
|
|
51
|
+
: optionalString(body.refresh_token),
|
|
52
|
+
tokenType: optionalString(body.token_type) ?? "Bearer",
|
|
53
|
+
expiresAt: new Date(Date.now() + refreshAfterSeconds * 1000).toISOString(),
|
|
54
|
+
providerSecret: { instanceUrl, identityUrl: identityUrl.toString(), organizationId: parts[2], userId: parts[3] },
|
|
55
|
+
metadata: { scope },
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export const oauth = {
|
|
59
|
+
buildAuthorizationUrl({ authorizationUrl, clientConfig }) {
|
|
60
|
+
const url = new URL("/services/oauth2/authorize", loginOrigin(clientConfig));
|
|
61
|
+
url.search = authorizationUrl.search;
|
|
62
|
+
return url.toString();
|
|
63
|
+
},
|
|
64
|
+
exchangeCode(input) {
|
|
65
|
+
const parameters = {
|
|
66
|
+
grant_type: "authorization_code",
|
|
67
|
+
code: input.code,
|
|
68
|
+
redirect_uri: input.redirectUri,
|
|
69
|
+
code_verifier: requiredString(input.codeVerifier, "Salesforce PKCE verifier", input.createError),
|
|
70
|
+
};
|
|
71
|
+
return requestToken({
|
|
72
|
+
config: input.clientConfig,
|
|
73
|
+
parameters,
|
|
74
|
+
fetcher: input.fetcher,
|
|
75
|
+
signal: input.signal,
|
|
76
|
+
fallbackScopes: "api refresh_token",
|
|
77
|
+
createError: input.createError,
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
refreshAccessToken(input) {
|
|
81
|
+
return requestToken({
|
|
82
|
+
config: input.clientConfig,
|
|
83
|
+
parameters: { grant_type: "refresh_token", refresh_token: input.refreshToken },
|
|
84
|
+
fetcher: input.fetcher,
|
|
85
|
+
fallbackScopes: optionalString(input.metadata.scope) ?? "api refresh_token",
|
|
86
|
+
createError: input.createError,
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { recordOrEmpty, requiredString } from "../../core/cast.js";
|
|
2
|
+
import { providerResponseError } from "../provider-runtime.js";
|
|
3
|
+
import { queryPath, segment } from "./context.js";
|
|
4
|
+
function reportPath(d, base) {
|
|
5
|
+
return queryPath(`${base}/analytics/reports/${segment(d.reportId)}`, {
|
|
6
|
+
includeDetails: d.includeDetails,
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function dashboardPath(d, base, suffix = "") {
|
|
10
|
+
return queryPath(`${base}/analytics/dashboards/${segment(d.dashboardId)}${suffix}`, {
|
|
11
|
+
runningUser: d.runningUser,
|
|
12
|
+
filter1: d.filter1,
|
|
13
|
+
filter2: d.filter2,
|
|
14
|
+
filter3: d.filter3,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export const salesforceAnalyticsHandlers = {
|
|
18
|
+
async list_reports(_d, c) {
|
|
19
|
+
return c.items(`${c.base}/analytics/reports`);
|
|
20
|
+
},
|
|
21
|
+
async describe_report(d, c) {
|
|
22
|
+
return c.object(`${c.base}/analytics/reports/${segment(d.reportId)}/describe`);
|
|
23
|
+
},
|
|
24
|
+
async run_report(d, c) {
|
|
25
|
+
return c.object(reportPath(d, c.base), d.metadata === undefined ? "GET" : "POST", d.metadata === undefined ? undefined : { reportMetadata: d.metadata });
|
|
26
|
+
},
|
|
27
|
+
async submit_report(d, c) {
|
|
28
|
+
const response = await c.object(queryPath(`${c.base}/analytics/reports/${segment(d.reportId)}/instances`, {
|
|
29
|
+
includeDetails: d.includeDetails,
|
|
30
|
+
}), "POST", d.metadata === undefined ? undefined : { reportMetadata: d.metadata });
|
|
31
|
+
// Submit responses put instance fields at the root; result responses use attributes.
|
|
32
|
+
const handle = {
|
|
33
|
+
reportId: d.reportId,
|
|
34
|
+
instanceId: requiredString(response.id, "report instance ID", providerResponseError),
|
|
35
|
+
apiVersion: c.version,
|
|
36
|
+
};
|
|
37
|
+
return { handle, state: requiredString(response.status, "report state", providerResponseError) };
|
|
38
|
+
},
|
|
39
|
+
async get_report_result(d, c) {
|
|
40
|
+
const handle = recordOrEmpty(d.handle);
|
|
41
|
+
const report = await c.object(`/services/data/v${segment(handle.apiVersion)}/analytics/reports/${segment(handle.reportId)}/instances/${segment(handle.instanceId)}`);
|
|
42
|
+
return {
|
|
43
|
+
handle,
|
|
44
|
+
state: requiredString(recordOrEmpty(report.attributes).status, "report state", providerResponseError),
|
|
45
|
+
report,
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
async list_dashboards(_d, c) {
|
|
49
|
+
return c.items(`${c.base}/analytics/dashboards`);
|
|
50
|
+
},
|
|
51
|
+
async get_dashboard(d, c) {
|
|
52
|
+
return c.object(dashboardPath(d, c.base));
|
|
53
|
+
},
|
|
54
|
+
async refresh_dashboard(d, c) {
|
|
55
|
+
return c.object(dashboardPath(d, c.base), "PUT");
|
|
56
|
+
},
|
|
57
|
+
async get_dashboard_status(d, c) {
|
|
58
|
+
return c.object(dashboardPath(d, c.base, "/status"));
|
|
59
|
+
},
|
|
60
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { providerInputError, providerResponseError, requiredResponseRecord, requiredInputString, } from "../provider-runtime.js";
|
|
2
|
+
import { queryPath } from "./context.js";
|
|
3
|
+
export const salesforceApprovalHandlers = {
|
|
4
|
+
async list_approval_processes(d, c) {
|
|
5
|
+
const response = await c.object(`${c.base}/process/approvals/`);
|
|
6
|
+
const processes = requiredResponseRecord(response.approvals, "Salesforce approval processes");
|
|
7
|
+
return {
|
|
8
|
+
processes: d.objectName === undefined
|
|
9
|
+
? processes
|
|
10
|
+
: Object.fromEntries(Object.entries(processes).filter(([name]) => name === d.objectName)),
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
async submit_for_approval(d, c) {
|
|
14
|
+
return c.items(`${c.base}/process/approvals/`, "POST", {
|
|
15
|
+
requests: d.requests.map(({ recordId, submitterId, ...rest }) => ({
|
|
16
|
+
...rest,
|
|
17
|
+
actionType: "Submit",
|
|
18
|
+
contextId: recordId,
|
|
19
|
+
contextActorId: submitterId,
|
|
20
|
+
})),
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
async review_approval_requests(d, c) {
|
|
24
|
+
return c.items(`${c.base}/process/approvals/`, "POST", {
|
|
25
|
+
requests: d.requests.map(({ workItemId, decision, ...rest }) => ({
|
|
26
|
+
...rest,
|
|
27
|
+
actionType: decision === "approve" ? "Approve" : "Reject",
|
|
28
|
+
contextId: workItemId,
|
|
29
|
+
})),
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
async list_pending_approvals(d, c) {
|
|
33
|
+
if ((d.scope === "actor") !== (d.actorId !== undefined))
|
|
34
|
+
throw providerInputError("actorId is required only for actor scope");
|
|
35
|
+
let actorId = d.actorId;
|
|
36
|
+
if (d.scope === "mine") {
|
|
37
|
+
actorId = requiredInputString(c.providerSecret?.userId, "Salesforce user ID");
|
|
38
|
+
if (!/^[A-Za-z0-9]{15}([A-Za-z0-9]{3})?$/.test(String(actorId)))
|
|
39
|
+
throw providerResponseError("Salesforce returned an invalid user ID");
|
|
40
|
+
}
|
|
41
|
+
const filters = [];
|
|
42
|
+
if (actorId)
|
|
43
|
+
filters.push(`ActorId = '${actorId}'`);
|
|
44
|
+
if (d.recordId)
|
|
45
|
+
filters.push(`ProcessInstance.TargetObjectId = '${d.recordId}'`);
|
|
46
|
+
const soql = "SELECT Id, ProcessInstanceId, ProcessInstance.TargetObjectId, ActorId, OriginalActorId, CreatedDate FROM ProcessInstanceWorkitem" +
|
|
47
|
+
(d.scope === "mineAndGroups" ? " USING SCOPE mine_and_my_groups" : "") +
|
|
48
|
+
(filters.length ? ` WHERE ${filters.join(" AND ")}` : "") +
|
|
49
|
+
" ORDER BY CreatedDate DESC, Id DESC";
|
|
50
|
+
return c.object(queryPath(`${c.base}/query`, { q: soql }));
|
|
51
|
+
},
|
|
52
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { recordOrEmpty } from "../../core/cast.js";
|
|
2
|
+
import { providerInputError } from "../provider-runtime.js";
|
|
3
|
+
import { queryPath, segment } from "./context.js";
|
|
4
|
+
function invocablePath(d, base, detail) {
|
|
5
|
+
if (d.category === "standard" && d.actionType !== undefined)
|
|
6
|
+
throw providerInputError("actionType is only valid for custom actions");
|
|
7
|
+
if (d.category === "custom" && detail && !d.actionType)
|
|
8
|
+
throw providerInputError("Custom actions require actionType");
|
|
9
|
+
return `${base}/actions/${segment(d.category)}${d.actionType ? `/${segment(d.actionType)}` : ""}${detail ? `/${segment(d.actionName)}` : ""}`;
|
|
10
|
+
}
|
|
11
|
+
async function sendEmail(d, c) {
|
|
12
|
+
const email = recordOrEmpty(d.email);
|
|
13
|
+
const recipients = [email.recipientAddresses, email.ccAddresses, email.bccAddresses].reduce((sum, list) => sum + (Array.isArray(list) ? list.length : 0), email.recipientId ? 1 : 0);
|
|
14
|
+
if (!recipients || recipients > 150)
|
|
15
|
+
throw providerInputError("Email requires between 1 and 150 recipients");
|
|
16
|
+
if (email.senderType === "OrgWideEmailAddress" && !email.senderAddress)
|
|
17
|
+
throw providerInputError("OrgWideEmailAddress requires senderAddress");
|
|
18
|
+
if (email.logEmailOnSend && !email.recipientId && !email.relatedRecordId)
|
|
19
|
+
throw providerInputError("logEmailOnSend requires recipientId or relatedRecordId");
|
|
20
|
+
return c.items(`${c.base}/actions/standard/emailSimple`, "POST", { inputs: [email] });
|
|
21
|
+
}
|
|
22
|
+
export const salesforceAutomationHandlers = {
|
|
23
|
+
async list_email_templates(d, c) {
|
|
24
|
+
const filters = [
|
|
25
|
+
d.includeInactive ? undefined : "IsActive = true",
|
|
26
|
+
d.folderId ? `FolderId = '${String(d.folderId)}'` : undefined,
|
|
27
|
+
].filter(Boolean);
|
|
28
|
+
const q = `SELECT Id, Name, DeveloperName, Subject, TemplateType, FolderId, IsActive FROM EmailTemplate${filters.length ? ` WHERE ${filters.join(" AND ")}` : ""} ORDER BY Name LIMIT ${d.limit ?? 200}`;
|
|
29
|
+
return c.object(queryPath(`${c.base}/query`, { q }));
|
|
30
|
+
},
|
|
31
|
+
async get_email_template(d, c) {
|
|
32
|
+
return {
|
|
33
|
+
record: await c.object(queryPath(`${c.base}/sobjects/EmailTemplate/${segment(d.templateId)}`, {
|
|
34
|
+
fields: "Id,Name,DeveloperName,Subject,Body,HtmlValue,TemplateType,FolderId,IsActive",
|
|
35
|
+
})),
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
send_email: sendEmail,
|
|
39
|
+
send_email_from_template: sendEmail,
|
|
40
|
+
async list_invocable_actions(d, c) {
|
|
41
|
+
return { result: await c.request(invocablePath(d, c.base, false)) };
|
|
42
|
+
},
|
|
43
|
+
async describe_invocable_action(d, c) {
|
|
44
|
+
return { result: await c.request(invocablePath(d, c.base, true)) };
|
|
45
|
+
},
|
|
46
|
+
async invoke_action(d, c) {
|
|
47
|
+
return c.items(invocablePath(d, c.base, true), "POST", { inputs: d.inputs });
|
|
48
|
+
},
|
|
49
|
+
async list_quick_actions(d, c) {
|
|
50
|
+
return {
|
|
51
|
+
result: await c.request(`${c.base}${d.objectName ? `/sobjects/${segment(d.objectName)}` : ""}/quickActions/`),
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
async get_quick_action_defaults(d, c) {
|
|
55
|
+
return {
|
|
56
|
+
result: await c.request(`${c.base}/sobjects/${segment(d.objectName)}/quickActions/${segment(d.actionName)}/defaultValues/${d.contextId ? segment(d.contextId) : ""}`),
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
async execute_quick_action(d, c) {
|
|
60
|
+
return {
|
|
61
|
+
result: await c.request(`${c.base}${d.objectName ? `/sobjects/${segment(d.objectName)}` : ""}/quickActions/${segment(d.actionName)}`, "POST", { contextId: d.contextId, record: d.fields }),
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
};
|