@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
|
@@ -8,6 +8,7 @@ export interface McpToolSummary {
|
|
|
8
8
|
annotations?: ToolAnnotations;
|
|
9
9
|
inputSchema: Record<string, unknown>;
|
|
10
10
|
outputSchema?: Record<string, unknown>;
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
11
12
|
}
|
|
12
13
|
export interface McpToolOptions {
|
|
13
14
|
endpoint: string;
|
|
@@ -24,7 +25,9 @@ export interface McpToolOptions {
|
|
|
24
25
|
toolListMaxTools?: number;
|
|
25
26
|
toolListTimeoutMs?: number;
|
|
26
27
|
}
|
|
28
|
+
export declare function withMcpToolClient<T>(input: McpToolOptions, run: (client: Client) => Promise<T>): Promise<T>;
|
|
27
29
|
interface ListMcpToolsOptions {
|
|
30
|
+
includeMetadata?: boolean;
|
|
28
31
|
includeOutputSchema?: boolean;
|
|
29
32
|
includeAnnotations?: boolean;
|
|
30
33
|
}
|
|
@@ -5,7 +5,7 @@ const defaultMcpToolListMaxBytes = 16 * 1024 * 1024;
|
|
|
5
5
|
const defaultMcpToolListMaxPages = 100;
|
|
6
6
|
const defaultMcpToolListMaxTools = 10_000;
|
|
7
7
|
const defaultMcpToolListTimeoutMs = 60_000;
|
|
8
|
-
async function
|
|
8
|
+
export async function withMcpToolClient(input, run) {
|
|
9
9
|
const fetcher = input.fetcher ?? providerFetch;
|
|
10
10
|
const limitedFetcher = createLimitedMcpFetch(fetcher, input.service, input.maxResponseBytes);
|
|
11
11
|
return withMcpClient({
|
|
@@ -25,9 +25,10 @@ function createLimitedMcpFetch(fetcher, service, maxResponseBytes) {
|
|
|
25
25
|
return async (url, init) => limitMcpResponse(await fetcher(url, init), service, maxResponseBytes);
|
|
26
26
|
}
|
|
27
27
|
export async function listMcpTools(input, options = {}) {
|
|
28
|
-
return
|
|
28
|
+
return withMcpToolClient(input, async (client) => {
|
|
29
29
|
const tools = await listAllStreamableHttpMcpTools(client, input);
|
|
30
30
|
return tools.map((tool) => ({
|
|
31
|
+
metadata: options.includeMetadata ? tool._meta : undefined,
|
|
31
32
|
name: tool.name,
|
|
32
33
|
description: tool.description,
|
|
33
34
|
annotations: options.includeAnnotations ? tool.annotations : undefined,
|
|
@@ -37,7 +38,7 @@ export async function listMcpTools(input, options = {}) {
|
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
export async function callMcpTool(input) {
|
|
40
|
-
return
|
|
41
|
+
return withMcpToolClient(input, async (client) => {
|
|
41
42
|
if (input.authorizeTool) {
|
|
42
43
|
const tools = await listAllStreamableHttpMcpTools(client, input);
|
|
43
44
|
const matchingTools = tools.filter((tool) => tool.name === input.toolName);
|
|
@@ -52,7 +53,7 @@ export async function callMcpTool(input) {
|
|
|
52
53
|
result = await client.callTool({
|
|
53
54
|
name: input.toolName,
|
|
54
55
|
arguments: input.arguments,
|
|
55
|
-
}, { signal: requestTimeout.signal });
|
|
56
|
+
}, { signal: requestTimeout.signal, timeout: input.requestTimeoutMs });
|
|
56
57
|
}
|
|
57
58
|
finally {
|
|
58
59
|
requestTimeout.cleanup();
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { compactObject, optionalRecord, optionalString } from "../../core/cast.js";
|
|
3
|
-
import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredInputString, } from "../provider-runtime.js";
|
|
3
|
+
import { defineProviderExecutors, defineProviderProxy, providerInputError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredInputString, } from "../provider-runtime.js";
|
|
4
|
+
import { minimaxTextModels, selectMinimaxModels } from "./text-models.js";
|
|
4
5
|
const service = "minimax";
|
|
5
6
|
const minimaxApiBaseUrl = "https://api.minimax.io";
|
|
6
7
|
const minimaxChinaApiBaseUrl = "https://api.minimaxi.com";
|
|
7
8
|
export const minimaxActionHandlers = {
|
|
8
|
-
list_models(
|
|
9
|
-
|
|
9
|
+
async list_models(input, context) {
|
|
10
|
+
const payload = await minimaxGetJson("/v1/models", context);
|
|
11
|
+
return input.include_legacy === true ? payload : selectMinimaxModels(payload);
|
|
10
12
|
},
|
|
11
13
|
retrieve_model(input, context) {
|
|
12
14
|
const modelId = requiredInputString(input.modelId, "modelId");
|
|
@@ -156,9 +158,22 @@ function minimaxHeaders(apiKey, headers) {
|
|
|
156
158
|
};
|
|
157
159
|
}
|
|
158
160
|
function normalizeMinimaxBody(input) {
|
|
161
|
+
const model = input.model === undefined ? minimaxTextModels[0] : requiredInputString(input.model, "model");
|
|
162
|
+
if (model === minimaxTextModels[0]) {
|
|
163
|
+
const effort = optionalRecord(input.reasoning)?.effort;
|
|
164
|
+
if (effort !== undefined && !["low", "medium", "high", "xhigh", "max"].includes(String(effort))) {
|
|
165
|
+
throw providerInputError("MiniMax-M3.1-Flash reasoning.effort must be low, medium, high, xhigh, or max");
|
|
166
|
+
}
|
|
167
|
+
if (input.service_tier !== undefined) {
|
|
168
|
+
throw providerInputError("MiniMax-M3.1-Flash does not support service_tier");
|
|
169
|
+
}
|
|
170
|
+
}
|
|
159
171
|
return compactObject({
|
|
160
172
|
...input,
|
|
161
|
-
model
|
|
173
|
+
model,
|
|
174
|
+
reasoning: model === minimaxTextModels[0]
|
|
175
|
+
? { ...optionalRecord(input.reasoning), effort: optionalRecord(input.reasoning)?.effort ?? "max" }
|
|
176
|
+
: input.reasoning,
|
|
162
177
|
input: typeof input.input === "string" ? input.input.trim() : input.input,
|
|
163
178
|
instructions: trimString(input.instructions),
|
|
164
179
|
prompt_cache_key: trimString(input.prompt_cache_key),
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
+
export const minimaxTextModels = ["MiniMax-M3.1-Flash", "MiniMax-M3"];
|
|
3
|
+
export function selectMinimaxModels(payload, gateway = false) {
|
|
4
|
+
const record = optionalRecord(payload);
|
|
5
|
+
if (!Array.isArray(record?.data))
|
|
6
|
+
return payload;
|
|
7
|
+
const preferred = gateway ? ["minimax/minimax-m3.1-flash:free", "minimax/minimax-m3"] : minimaxTextModels;
|
|
8
|
+
const current = [];
|
|
9
|
+
const remaining = [];
|
|
10
|
+
let insertionIndex;
|
|
11
|
+
for (const item of record.data) {
|
|
12
|
+
const id = optionalString(optionalRecord(item)?.id) ?? "";
|
|
13
|
+
if (preferred.includes(id)) {
|
|
14
|
+
insertionIndex ??= remaining.length;
|
|
15
|
+
current.push(item);
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const name = (gateway && id.startsWith("minimax/") ? id.slice(8) : gateway ? "" : id)
|
|
19
|
+
.toLowerCase()
|
|
20
|
+
.split(":", 1)[0];
|
|
21
|
+
const oldGeneration = ["minimax-m1", "minimax-m2"].some((prefix) => name === prefix || name.startsWith(`${prefix}.`) || name.startsWith(`${prefix}-`));
|
|
22
|
+
const legacy = oldGeneration ||
|
|
23
|
+
name.startsWith("minimax-text-") ||
|
|
24
|
+
name === "minimax-01" ||
|
|
25
|
+
name === "m2-her" ||
|
|
26
|
+
(name.startsWith("abab") && "0123456789".includes(name[4] ?? " "));
|
|
27
|
+
if (!legacy)
|
|
28
|
+
remaining.push(item);
|
|
29
|
+
}
|
|
30
|
+
current.sort((a, b) => preferred.indexOf(optionalString(optionalRecord(a)?.id) ?? "") -
|
|
31
|
+
preferred.indexOf(optionalString(optionalRecord(b)?.id) ?? ""));
|
|
32
|
+
remaining.splice(gateway ? (insertionIndex ?? remaining.length) : 0, 0, ...current);
|
|
33
|
+
return { ...record, data: remaining };
|
|
34
|
+
}
|
|
@@ -22,8 +22,6 @@ export declare const moneyforwardTools: readonly MoneyforwardToolEntry[];
|
|
|
22
22
|
* so a wording change on the server also blocks writes until reviewed.
|
|
23
23
|
*/
|
|
24
24
|
export declare function schemaDigest(schema: unknown): string;
|
|
25
|
-
/** RFC 8785 JSON Canonicalization for the JSON values a tool schema can hold. */
|
|
26
|
-
export declare function canonicalJson(value: unknown): string;
|
|
27
25
|
/**
|
|
28
26
|
* Normalize an office name for the write guard: NFKC, drop all whitespace, and expand the explicit
|
|
29
27
|
* legal-form abbreviations. No fuzzy matching: a name that differs otherwise is refused.
|
|
@@ -168,7 +168,7 @@ export function schemaDigest(schema) {
|
|
|
168
168
|
return sha256Hex(canonicalJson(schema));
|
|
169
169
|
}
|
|
170
170
|
/** RFC 8785 JSON Canonicalization for the JSON values a tool schema can hold. */
|
|
171
|
-
|
|
171
|
+
function canonicalJson(value) {
|
|
172
172
|
if (Array.isArray(value))
|
|
173
173
|
return `[${value.map(canonicalJson).join(",")}]`;
|
|
174
174
|
if (value !== null && typeof value === "object") {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { compactObject } from "../../core/cast.js";
|
|
2
|
-
import {
|
|
1
|
+
import { compactObject, optionalNumber, optionalString } from "../../core/cast.js";
|
|
2
|
+
import { encodePathSegment } from "../../core/request.js";
|
|
3
|
+
import { createProviderFetch, createProviderProxyUrl, defineProviderExecutors, normalizeProviderProxyHeaders, providerInputError, ProviderRequestError, providerUserAgent, readProviderProxyErrorMessage, readProviderProxyResponse, requireBearerCredential, requiredInputString, toProviderProxyError, withRetryAfterSeconds, } from "../provider-runtime.js";
|
|
3
4
|
import { notionDatabasePageEvent } from "./trigger-on-database-page-event.js";
|
|
4
5
|
const service = "notion";
|
|
5
6
|
const notionApiBaseUrl = "https://api.notion.com/v1";
|
|
@@ -87,6 +88,38 @@ export const notionActionHandlers = {
|
|
|
87
88
|
list_comments(input, context) {
|
|
88
89
|
return notionListComments(input, context.accessToken, context.fetcher);
|
|
89
90
|
},
|
|
91
|
+
list_views(input, context) {
|
|
92
|
+
const databaseId = optionalString(input.databaseId);
|
|
93
|
+
const dataSourceId = optionalString(input.dataSourceId);
|
|
94
|
+
if (!databaseId && !dataSourceId) {
|
|
95
|
+
throw providerInputError("databaseId or dataSourceId is required");
|
|
96
|
+
}
|
|
97
|
+
return notionRequest(context.accessToken, {
|
|
98
|
+
path: "/views",
|
|
99
|
+
query: {
|
|
100
|
+
database_id: databaseId,
|
|
101
|
+
data_source_id: dataSourceId,
|
|
102
|
+
page_size: optionalNumber(input.pageSize),
|
|
103
|
+
start_cursor: optionalString(input.startCursor),
|
|
104
|
+
},
|
|
105
|
+
}, context.fetcher);
|
|
106
|
+
},
|
|
107
|
+
retrieve_view(input, context) {
|
|
108
|
+
return notionRequest(context.accessToken, { path: `/views/${encodePathSegment(requiredInputString(input.viewId, "viewId"))}` }, context.fetcher);
|
|
109
|
+
},
|
|
110
|
+
update_view(input, context) {
|
|
111
|
+
return notionRequest(context.accessToken, {
|
|
112
|
+
method: "PATCH",
|
|
113
|
+
path: `/views/${encodePathSegment(requiredInputString(input.viewId, "viewId"))}`,
|
|
114
|
+
body: {
|
|
115
|
+
name: input.name,
|
|
116
|
+
filter: input.filter,
|
|
117
|
+
sorts: input.sorts,
|
|
118
|
+
quick_filters: input.quick_filters,
|
|
119
|
+
configuration: input.configuration,
|
|
120
|
+
},
|
|
121
|
+
}, context.fetcher);
|
|
122
|
+
},
|
|
90
123
|
create_comment(input, context) {
|
|
91
124
|
return notionCreateComment(input, context.accessToken, context.fetcher);
|
|
92
125
|
},
|
|
@@ -586,7 +619,7 @@ async function notionQueryDataSource(input, accessToken, fetcher) {
|
|
|
586
619
|
sorts: Array.isArray(input.sorts) ? input.sorts : undefined,
|
|
587
620
|
page_size: asNumber(input.pageSize),
|
|
588
621
|
start_cursor: asNonEmptyString(input.startCursor),
|
|
589
|
-
|
|
622
|
+
is_archived: typeof input.is_archived === "boolean" ? input.is_archived : undefined,
|
|
590
623
|
result_type: asNonEmptyString(input.result_type),
|
|
591
624
|
}),
|
|
592
625
|
}, fetcher);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ProtocolError, SdkHttpError, UnauthorizedError } from "@modelcontextprotocol/client";
|
|
2
2
|
import { compactObject, looseArray, optionalBoolean, optionalInteger, optionalNumber, optionalRawString, optionalRecord, optionalString, optionalStringArray, requiredRawString, } from "../../core/cast.js";
|
|
3
3
|
import { withMcpClient } from "../mcp-client.js";
|
|
4
|
-
import { defineOAuthProviderExecutors, mapProviderActionSources, providerResponseError, providerUserAgent, ProviderRequestError, requiredInputString, requiredResponseRecord, runProviderRequest, } from "../provider-runtime.js";
|
|
4
|
+
import { defineOAuthProviderExecutors, mapProviderActionSources, providerInputError, providerResponseError, providerUserAgent, ProviderRequestError, requiredInputString, requiredResponseRecord, runProviderRequest, } from "../provider-runtime.js";
|
|
5
5
|
import { notionMcpEndpoint } from "./endpoints.js";
|
|
6
|
-
import { decodeNotionToolText, parseNotionComments, parseNotionPage, parseNotionSearch, parseNotionSelf, parseNotionToolAccess, } from "./mcp-response.js";
|
|
6
|
+
import { decodeNotionToolText, parseNotionComments, parseNotionCreatedComment, parseNotionCreatedPages, parseNotionPage, parseNotionSearch, parseNotionSelf, parseNotionToolAccess, parseNotionUpdatedPage, } from "./mcp-response.js";
|
|
7
7
|
const service = "notion_mcp";
|
|
8
8
|
const selfUserId = "self";
|
|
9
9
|
const toolsByAction = {
|
|
@@ -36,7 +36,45 @@ const toolsByAction = {
|
|
|
36
36
|
arguments: () => ({}),
|
|
37
37
|
parse: (value) => ({ tools: parseNotionToolAccess(value) }),
|
|
38
38
|
},
|
|
39
|
+
create_pages: {
|
|
40
|
+
tool: "notion-create-pages",
|
|
41
|
+
arguments: (input) => {
|
|
42
|
+
const pages = looseArray(input.pages);
|
|
43
|
+
if (pages.length === 0)
|
|
44
|
+
throw providerInputError("pages is required.");
|
|
45
|
+
return { ...compactObject(input), pages };
|
|
46
|
+
},
|
|
47
|
+
parse: (value) => ({ ...parseNotionCreatedPages(value) }),
|
|
48
|
+
},
|
|
49
|
+
update_page: {
|
|
50
|
+
tool: "notion-update-page",
|
|
51
|
+
arguments: (input) => ({
|
|
52
|
+
...compactObject(input),
|
|
53
|
+
page_id: requiredInputString(input.page_id, "page_id"),
|
|
54
|
+
command: requiredInputString(input.command, "command"),
|
|
55
|
+
}),
|
|
56
|
+
parse: (value, input) => ({
|
|
57
|
+
page_id: requiredInputString(input.page_id, "page_id"),
|
|
58
|
+
...parseNotionUpdatedPage(value),
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
create_comment: {
|
|
62
|
+
tool: "notion-create-comment",
|
|
63
|
+
arguments: (input) => ({
|
|
64
|
+
...compactObject(input),
|
|
65
|
+
page_id: requiredInputString(input.page_id, "page_id"),
|
|
66
|
+
markdown: requiredInputString(input.markdown, "markdown"),
|
|
67
|
+
}),
|
|
68
|
+
parse: (value) => compactObject({ comment: parseNotionCreatedComment(value) }),
|
|
69
|
+
},
|
|
39
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* The actions that change the workspace. Sign-in requires every read tool and
|
|
73
|
+
* none of these: a workspace whose owner withheld the writes from the
|
|
74
|
+
* connection, or an older server, may not list them, and a credential must
|
|
75
|
+
* not be refused for a tool it would never call.
|
|
76
|
+
*/
|
|
77
|
+
const writeActions = new Set(["create_pages", "update_page", "create_comment"]);
|
|
40
78
|
const handlers = mapProviderActionSources(service, toolsByAction, (_actionName, source) => async (input, context) => {
|
|
41
79
|
const result = await callNotionTool(context, source.tool, source.arguments(input));
|
|
42
80
|
return { ...source.parse(result.value, input), raw: result.raw };
|
|
@@ -45,14 +83,15 @@ export const executors = defineOAuthProviderExecutors(service, handlers, {
|
|
|
45
83
|
skipDnsValidation: true,
|
|
46
84
|
});
|
|
47
85
|
export const credentialValidators = {
|
|
48
|
-
/** Require
|
|
86
|
+
/** Require the baseline read tools, then identify the user by the Notion user ID. */
|
|
49
87
|
async oauth2(input, { fetcher, signal }) {
|
|
50
88
|
const context = { accessToken: input.accessToken, fetcher, signal };
|
|
51
|
-
const { toolCount, self } = await withNotionMcpClient(context,
|
|
89
|
+
const { toolCount, self } = await withNotionMcpClient(context, async (client, signal) => {
|
|
52
90
|
const tools = await listNotionTools(client, signal);
|
|
53
91
|
const available = new Set(tools.map((tool) => tool.name));
|
|
54
|
-
const missing = Object.
|
|
55
|
-
.
|
|
92
|
+
const missing = Object.entries(toolsByAction)
|
|
93
|
+
.filter(([action]) => !writeActions.has(action))
|
|
94
|
+
.map(([, source]) => source.tool)
|
|
56
95
|
.filter((tool) => !available.has(tool));
|
|
57
96
|
if (missing.length > 0) {
|
|
58
97
|
throw new ProviderRequestError(502, `Notion MCP did not expose the tools this connector needs: ${[...new Set(missing)].join(", ")}.`);
|
|
@@ -107,7 +146,7 @@ async function listNotionTools(client, signal) {
|
|
|
107
146
|
return tools;
|
|
108
147
|
}
|
|
109
148
|
async function callNotionTool(context, name, input) {
|
|
110
|
-
const result = await withNotionMcpClient(context,
|
|
149
|
+
const result = await withNotionMcpClient(context, (client, signal) => client.callTool({ name, arguments: input }, { signal }));
|
|
111
150
|
return readNotionToolResult(name, result);
|
|
112
151
|
}
|
|
113
152
|
/** The text blocks joined are the raw answer; structured content, when the server sends it, is the value. */
|
|
@@ -138,7 +177,7 @@ function notionToolError(name, record) {
|
|
|
138
177
|
}
|
|
139
178
|
return new ProviderRequestError(502, `Notion MCP tool ${name} failed.`, record);
|
|
140
179
|
}
|
|
141
|
-
function withNotionMcpClient(context,
|
|
180
|
+
function withNotionMcpClient(context, run) {
|
|
142
181
|
return runProviderRequest({ signal: context.signal, label: "Notion MCP" }, (signal) => withMcpClient({
|
|
143
182
|
endpoint: new URL(notionMcpEndpoint),
|
|
144
183
|
transport: "streamable_http",
|
|
@@ -146,31 +185,21 @@ function withNotionMcpClient(context, phase, run) {
|
|
|
146
185
|
headers: { authorization: `Bearer ${context.accessToken}`, "user-agent": providerUserAgent },
|
|
147
186
|
redirect: "manual",
|
|
148
187
|
signal,
|
|
149
|
-
mapError:
|
|
188
|
+
mapError: mapNotionMcpError,
|
|
150
189
|
}, (client) => run(client, signal)));
|
|
151
190
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
* Anything unrecognized is left to runProviderRequest, which tells a timeout (504) from a failure (502).
|
|
155
|
-
*/
|
|
156
|
-
function mapNotionMcpError(error, phase) {
|
|
191
|
+
// Status alone does not establish that reconnecting can resolve a provider failure.
|
|
192
|
+
function mapNotionMcpError(error) {
|
|
157
193
|
if (error instanceof ProviderRequestError)
|
|
158
194
|
return error;
|
|
159
|
-
const credentialStatus = phase === "validate" ? 400 : 401;
|
|
160
195
|
if (error instanceof UnauthorizedError) {
|
|
161
|
-
return new ProviderRequestError(
|
|
196
|
+
return new ProviderRequestError(401, "Notion MCP authorization request failed.", undefined, "provider_error");
|
|
162
197
|
}
|
|
163
198
|
if (error instanceof SdkHttpError) {
|
|
164
|
-
|
|
165
|
-
if (status === 401 || status === 403) {
|
|
166
|
-
return new ProviderRequestError(credentialStatus, "Notion MCP credential is invalid or expired.");
|
|
167
|
-
}
|
|
168
|
-
// The SDK error carries the response body; only the status is reported so a token echoed in it never is.
|
|
169
|
-
const providerStatus = 400 <= status && status < 500 ? status : 502;
|
|
170
|
-
return new ProviderRequestError(providerStatus, `Notion MCP request failed with HTTP ${status}.`);
|
|
199
|
+
return new ProviderRequestError(error.status, `Notion MCP request failed with HTTP ${error.status}.`, undefined, error.status === 429 ? "rate_limited" : "provider_error");
|
|
171
200
|
}
|
|
172
201
|
if (error instanceof ProtocolError) {
|
|
173
|
-
return new ProviderRequestError(502, `Notion MCP
|
|
202
|
+
return new ProviderRequestError(502, `Notion MCP protocol error ${error.code}.`, undefined, "provider_error");
|
|
174
203
|
}
|
|
175
204
|
return error;
|
|
176
205
|
}
|
|
@@ -50,6 +50,11 @@ interface NotionMcpToolAccess {
|
|
|
50
50
|
landing_page_url: string | undefined;
|
|
51
51
|
landing_page_action: string | undefined;
|
|
52
52
|
}
|
|
53
|
+
interface NotionMcpCreatedPage {
|
|
54
|
+
id?: string;
|
|
55
|
+
url?: string;
|
|
56
|
+
title?: string;
|
|
57
|
+
}
|
|
53
58
|
/** Notion's tools answer JSON in a text block on most calls and prose or XML fragments on the rest. */
|
|
54
59
|
export declare function decodeNotionToolText(text: string): unknown;
|
|
55
60
|
/**
|
|
@@ -83,4 +88,25 @@ export declare function parseNotionComments(value: unknown): NotionMcpComment[];
|
|
|
83
88
|
* reason it is unavailable. The reason is kept as text and never interpreted.
|
|
84
89
|
*/
|
|
85
90
|
export declare function parseNotionToolAccess(value: unknown): NotionMcpToolAccess[];
|
|
91
|
+
/**
|
|
92
|
+
* The pages a notion-create-pages answer names, in its order: a `pages`/`results` list of `{id, url, title}`
|
|
93
|
+
* records, a single page record, or the page links in a prose answer, each id read off its link. An async task's
|
|
94
|
+
* id travels beside them when the server deferred the work.
|
|
95
|
+
*/
|
|
96
|
+
export declare function parseNotionCreatedPages(value: unknown): {
|
|
97
|
+
pages: NotionMcpCreatedPage[];
|
|
98
|
+
async_task_id?: string;
|
|
99
|
+
};
|
|
100
|
+
/** The page a notion-update-page answer names: its link, when the prose or the record carries one, and a deferred task's id. */
|
|
101
|
+
interface NotionMcpUpdatedPage {
|
|
102
|
+
url?: string;
|
|
103
|
+
async_task_id?: string;
|
|
104
|
+
warnings?: Record<string, unknown>[];
|
|
105
|
+
}
|
|
106
|
+
export declare function parseNotionUpdatedPage(value: unknown): NotionMcpUpdatedPage;
|
|
107
|
+
/** The comment a notion-create-comment answer names: the comment record itself, or the first of a listed shape. */
|
|
108
|
+
export declare function parseNotionCreatedComment(value: unknown): {
|
|
109
|
+
id?: string;
|
|
110
|
+
discussion_id?: string;
|
|
111
|
+
} | undefined;
|
|
86
112
|
export {};
|
|
@@ -6,6 +6,9 @@ const contentOpening = /<content\b[^<>]*>/i;
|
|
|
6
6
|
const tagAttribute = /(?<![\w:-])([\w:-]+)\s*=\s*"([^"]*)"/g;
|
|
7
7
|
const anyTag = /<[^<>]+>/g;
|
|
8
8
|
const namedEntities = { amp: "&", lt: "<", gt: ">", quot: '"', apos: "'" };
|
|
9
|
+
// A Notion page link in prose, and the 32-hex page id a link or an id carries.
|
|
10
|
+
const notionLink = /https:\/\/(?:www\.)?notion\.so\/[^\s)"'<>]+/g;
|
|
11
|
+
const notionPageId = /([0-9a-f]{32})(?:[?#]|$)/i;
|
|
9
12
|
/** Notion's tools answer JSON in a text block on most calls and prose or XML fragments on the rest. */
|
|
10
13
|
export function decodeNotionToolText(text) {
|
|
11
14
|
const trimmed = text.trim();
|
|
@@ -143,6 +146,98 @@ export function parseNotionToolAccess(value) {
|
|
|
143
146
|
];
|
|
144
147
|
});
|
|
145
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* The pages a notion-create-pages answer names, in its order: a `pages`/`results` list of `{id, url, title}`
|
|
151
|
+
* records, a single page record, or the page links in a prose answer, each id read off its link. An async task's
|
|
152
|
+
* id travels beside them when the server deferred the work.
|
|
153
|
+
*/
|
|
154
|
+
export function parseNotionCreatedPages(value) {
|
|
155
|
+
const record = optionalRecord(value);
|
|
156
|
+
if (record?.object === "async_task") {
|
|
157
|
+
return { pages: [], ...compactObject({ async_task_id: asyncTaskId(record) }) };
|
|
158
|
+
}
|
|
159
|
+
const listed = findList(value, "pages", "results", "created_pages").flatMap((item) => {
|
|
160
|
+
const page = readCreatedPage(item);
|
|
161
|
+
return page ? [page] : [];
|
|
162
|
+
});
|
|
163
|
+
const single = listed.length === 0 ? readCreatedPage(record) : undefined;
|
|
164
|
+
const pages = listed.length > 0 ? listed : single ? [single] : linkedPages(optionalString(value) ?? textOf(record));
|
|
165
|
+
return { pages, ...compactObject({ async_task_id: asyncTaskId(record) }) };
|
|
166
|
+
}
|
|
167
|
+
export function parseNotionUpdatedPage(value) {
|
|
168
|
+
const record = optionalRecord(value);
|
|
169
|
+
const url = (record && pickOptionalString(record, "url")) ?? linkedPages(optionalString(value) ?? textOf(record))[0]?.url;
|
|
170
|
+
return compactObject({
|
|
171
|
+
url,
|
|
172
|
+
async_task_id: asyncTaskId(record),
|
|
173
|
+
warnings: Array.isArray(record?.warnings)
|
|
174
|
+
? record.warnings.flatMap((value) => {
|
|
175
|
+
const warning = optionalRecord(value);
|
|
176
|
+
return warning ? [warning] : [];
|
|
177
|
+
})
|
|
178
|
+
: undefined,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
/** The comment a notion-create-comment answer names: the comment record itself, or the first of a listed shape. */
|
|
182
|
+
export function parseNotionCreatedComment(value) {
|
|
183
|
+
const record = optionalRecord(value);
|
|
184
|
+
const comment = record && (optionalRecord(record.comment) ?? record);
|
|
185
|
+
const typed = compactObject({
|
|
186
|
+
id: comment && pickOptionalString(comment, "id", "comment_id"),
|
|
187
|
+
discussion_id: comment && pickOptionalString(comment, "discussion_id"),
|
|
188
|
+
});
|
|
189
|
+
if (Object.keys(typed).length > 0)
|
|
190
|
+
return typed;
|
|
191
|
+
const listed = parseNotionComments(value)[0];
|
|
192
|
+
if (!listed)
|
|
193
|
+
return undefined;
|
|
194
|
+
const fromList = compactObject({
|
|
195
|
+
id: listed.id,
|
|
196
|
+
discussion_id: listed.discussion_id,
|
|
197
|
+
});
|
|
198
|
+
return Object.keys(fromList).length > 0 ? fromList : undefined;
|
|
199
|
+
}
|
|
200
|
+
function readCreatedPage(value) {
|
|
201
|
+
const record = optionalRecord(value);
|
|
202
|
+
if (!record)
|
|
203
|
+
return undefined;
|
|
204
|
+
const url = pickOptionalString(record, "url");
|
|
205
|
+
const page = compactObject({
|
|
206
|
+
id: pickOptionalString(record, "id", "page_id") ?? (url && pageIdOf(url)),
|
|
207
|
+
url,
|
|
208
|
+
title: readTitle(record),
|
|
209
|
+
});
|
|
210
|
+
return page.id !== undefined || page.url !== undefined ? page : undefined;
|
|
211
|
+
}
|
|
212
|
+
/** The page links a prose answer carries, each with the id its link ends in, in order and without repeats. */
|
|
213
|
+
function linkedPages(text) {
|
|
214
|
+
if (!text)
|
|
215
|
+
return [];
|
|
216
|
+
const seen = new Set();
|
|
217
|
+
return [...text.matchAll(notionLink)].flatMap((match) => {
|
|
218
|
+
// A link at the end of a sentence carries its punctuation into the match.
|
|
219
|
+
const url = match[0].replace(/[.,;:!?]+$/, "");
|
|
220
|
+
if (seen.has(url))
|
|
221
|
+
return [];
|
|
222
|
+
seen.add(url);
|
|
223
|
+
return [compactObject({ id: pageIdOf(url), url })];
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
function pageIdOf(url) {
|
|
227
|
+
return notionPageId.exec(url)?.[1]?.toLowerCase();
|
|
228
|
+
}
|
|
229
|
+
/** The text a tool answered under any of its names, for an answer that was JSON with the prose inside it. */
|
|
230
|
+
function textOf(record) {
|
|
231
|
+
return record ? pickOptionalString(record, "text", "message", "result") : undefined;
|
|
232
|
+
}
|
|
233
|
+
function asyncTaskId(record) {
|
|
234
|
+
if (!record)
|
|
235
|
+
return undefined;
|
|
236
|
+
if (record.object === "async_task")
|
|
237
|
+
return pickOptionalString(record, "id");
|
|
238
|
+
const task = optionalRecord(record.async_task) ?? optionalRecord(record.task);
|
|
239
|
+
return pickOptionalString(record, "async_task_id", "task_id") ?? (task && pickOptionalString(task, "id", "task_id"));
|
|
240
|
+
}
|
|
146
241
|
/** The first present list among keys of a decoded object, or the value itself when it is a list. */
|
|
147
242
|
function findList(value, ...keys) {
|
|
148
243
|
if (Array.isArray(value))
|