@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,1599 @@
|
|
|
1
|
+
import { readSchemaProperties } from "../../core/json-schema.js";
|
|
2
|
+
import { s } from "../../core/json-schema.js";
|
|
3
|
+
const keyMetadataSchema = s.looseObject("Credits this request used and your remaining balance.", {
|
|
4
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
5
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
6
|
+
});
|
|
7
|
+
export const submit_feedbackOutputSchema = s.looseObject("Submit agent feedback response.", {
|
|
8
|
+
feedback_id: s.string("ID of the stored feedback."),
|
|
9
|
+
already_submitted: s.boolean("True when feedback for this request_id was already recorded; the original feedback_id is returned."),
|
|
10
|
+
key_metadata: keyMetadataSchema,
|
|
11
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
12
|
+
});
|
|
13
|
+
export const list_logsOutputSchema = s.looseObject("List request logs response.", {
|
|
14
|
+
data: s.array("Log entries, newest first.", s.looseObject("data entry value.", {
|
|
15
|
+
request_id: s.string("Request ID of the logged API call."),
|
|
16
|
+
timestamp: s.string("When the request completed."),
|
|
17
|
+
method: s.string("HTTP method, or `MONITOR` / `BATCH` for monitor-run and batch-settlement entries."),
|
|
18
|
+
path: s.string("Endpoint path as called."),
|
|
19
|
+
status_code: s.integer("HTTP status code returned."),
|
|
20
|
+
error_code: s.nullable(s.string("The `error_code` from the response, or null on success.")),
|
|
21
|
+
latency_ms: s.number("Server-side processing time in milliseconds."),
|
|
22
|
+
credits_used: s.integer("Credits charged for this request."),
|
|
23
|
+
key_id: s.nullable(s.string("ID of the API key that made the request.")),
|
|
24
|
+
tags: s.array("Request tags supplied by the caller.", s.string("tags entry value.")),
|
|
25
|
+
zdr: s.boolean("Whether the request was made under zero data retention."),
|
|
26
|
+
})),
|
|
27
|
+
page: s.integer("Current page number."),
|
|
28
|
+
limit: s.integer("Entries per page."),
|
|
29
|
+
has_more: s.boolean("Whether a next page exists."),
|
|
30
|
+
key_metadata: keyMetadataSchema,
|
|
31
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
32
|
+
});
|
|
33
|
+
export const get_logOutputSchema = s.looseObject("Retrieve a request log response.", {
|
|
34
|
+
data: s.looseObject("data value.", {
|
|
35
|
+
request_id: s.string("Request ID of the logged API call."),
|
|
36
|
+
timestamp: s.string("When the request completed."),
|
|
37
|
+
method: s.string("HTTP method, or `MONITOR` / `BATCH` for monitor-run and batch-settlement entries."),
|
|
38
|
+
path: s.string("Endpoint path as called."),
|
|
39
|
+
status_code: s.integer("HTTP status code returned."),
|
|
40
|
+
error_code: s.nullable(s.string("The `error_code` from the response, or null on success.")),
|
|
41
|
+
latency_ms: s.number("Server-side processing time in milliseconds."),
|
|
42
|
+
credits_used: s.integer("Credits charged for this request."),
|
|
43
|
+
key_id: s.nullable(s.string("ID of the API key that made the request.")),
|
|
44
|
+
tags: s.array("Request tags supplied by the caller.", s.string("tags entry value.")),
|
|
45
|
+
zdr: s.boolean("Whether the request was made under zero data retention."),
|
|
46
|
+
input: s.looseObject("What was sent with the request.", {}),
|
|
47
|
+
response: s.unknown("The retained JSON response with credentials redacted, or null when unavailable."),
|
|
48
|
+
user_agent: s.nullable(s.string("User-Agent header of the request.")),
|
|
49
|
+
}),
|
|
50
|
+
key_metadata: keyMetadataSchema,
|
|
51
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
52
|
+
});
|
|
53
|
+
export const list_profilesOutputSchema = s.looseObject("List browser profiles response.", {
|
|
54
|
+
data: s.array("Browser profiles, newest first.", s.looseObject("data entry value.", {
|
|
55
|
+
id: s.string("Profile ID to pass as `sharedParams.profile.profileId` on `/web/scrape`."),
|
|
56
|
+
description: s.nullable(s.string("The description supplied when the profile was created, or null.")),
|
|
57
|
+
created_at: s.string("When the profile was created."),
|
|
58
|
+
})),
|
|
59
|
+
has_more: s.boolean("Whether a next page exists."),
|
|
60
|
+
next_cursor: s.nullable(s.string("Pass as `cursor` to fetch the next page.")),
|
|
61
|
+
key_metadata: keyMetadataSchema,
|
|
62
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
63
|
+
});
|
|
64
|
+
export const get_usageOutputSchema = s.looseObject("Retrieve credit usage response.", {
|
|
65
|
+
credits_remaining: s.integer("Credits available to your organization right now."),
|
|
66
|
+
period: s.nullable(s.looseObject("The current monthly credit period, or null when your organization has no monthly credits or billing is paused.", {
|
|
67
|
+
start: s.string("When the current credit period started."),
|
|
68
|
+
credits_used: s.integer("Credits charged since `start`."),
|
|
69
|
+
})),
|
|
70
|
+
next_refill: s.nullable(s.looseObject("The next monthly refill, or null when no refill is scheduled. While billing is paused, this is when billing resumes.", {
|
|
71
|
+
at: s.string("When your credits next refill."),
|
|
72
|
+
credits: s.integer("Your balance is reset to this amount at the refill. Unused credits do not carry over."),
|
|
73
|
+
})),
|
|
74
|
+
auto_topup: s.looseObject("Auto-Topup settings and spend.", {
|
|
75
|
+
enabled: s.boolean("Whether credits are added automatically when your balance runs out."),
|
|
76
|
+
credits_used_this_period: s.integer("Credits added by Auto-Topup in the current period."),
|
|
77
|
+
monthly_budget_credits: s.nullable(s.integer("Monthly Auto-Topup budget you are alerted against, or null when none is set.")),
|
|
78
|
+
}),
|
|
79
|
+
key_metadata: keyMetadataSchema,
|
|
80
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
81
|
+
});
|
|
82
|
+
export const get_usage_historyOutputSchema = s.looseObject("Retrieve usage history response.", {
|
|
83
|
+
data: s.array("One bucket per interval, oldest first. Intervals without usage are included with zero totals.", s.looseObject("data entry value.", {
|
|
84
|
+
start: s.string("Start of the bucket, in UTC."),
|
|
85
|
+
credits_used: s.integer("Credits charged."),
|
|
86
|
+
request_count: s.integer("Requests made."),
|
|
87
|
+
groups: s.array("Per-group totals, highest credits first. Present only when `group_by` is set.", s.looseObject("groups entry value.", {})),
|
|
88
|
+
})),
|
|
89
|
+
total_credits_used: s.integer("Credits charged across the range."),
|
|
90
|
+
total_request_count: s.integer("Requests made across the range."),
|
|
91
|
+
interval: s.string("Bucket size used."),
|
|
92
|
+
from: s.string("Start of the range."),
|
|
93
|
+
to: s.string("End of the range."),
|
|
94
|
+
key_metadata: keyMetadataSchema,
|
|
95
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
96
|
+
});
|
|
97
|
+
export const list_webhook_deliveriesOutputSchema = s.looseObject("List webhook deliveries response.", {
|
|
98
|
+
data: s.array("Webhook deliveries.", s.looseObject("data entry value.", {
|
|
99
|
+
id: s.string("Delivery ID."),
|
|
100
|
+
event: s.string("Webhook event type."),
|
|
101
|
+
source: s.anyOf("Batch or monitor run that produced the event.", [
|
|
102
|
+
s.looseObject("Batch", {}),
|
|
103
|
+
s.looseObject("Monitor", {}),
|
|
104
|
+
]),
|
|
105
|
+
url: s.string("Webhook destination URL."),
|
|
106
|
+
status: s.string("`pending`, `delivering`, `retrying`, `delivered`, `failed`, or `cancelled` (source or its webhook was removed)."),
|
|
107
|
+
created_at: s.string("Event creation time."),
|
|
108
|
+
retry_expires_at: s.string("Last time you can retry manually (7 days after the event)."),
|
|
109
|
+
delivered_at: s.nullable(s.string("Last successful delivery time, or null if never delivered.")),
|
|
110
|
+
next_attempt_at: s.nullable(s.string("Next scheduled attempt, or null if none.")),
|
|
111
|
+
last_error: s.nullable(s.looseObject("Latest delivery error, or null if none.", {})),
|
|
112
|
+
})),
|
|
113
|
+
has_more: s.boolean("Whether more deliveries are available."),
|
|
114
|
+
next_cursor: s.nullable(s.string("Next page cursor, or null on the last page.")),
|
|
115
|
+
key_metadata: s.looseObject("Credits this request used and your remaining balance.", {
|
|
116
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
117
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
118
|
+
}),
|
|
119
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
120
|
+
});
|
|
121
|
+
export const get_webhook_deliveryOutputSchema = s.looseObject("Retrieve a webhook delivery response.", {
|
|
122
|
+
id: s.string("Delivery ID."),
|
|
123
|
+
event: s.string("Webhook event type."),
|
|
124
|
+
source: s.anyOf("Batch or monitor run that produced the event.", [
|
|
125
|
+
s.looseObject("Batch", {
|
|
126
|
+
type: s.string("Which deliveries to list: `batch` or `monitor`."),
|
|
127
|
+
batch_id: s.string("Batch ID."),
|
|
128
|
+
}),
|
|
129
|
+
s.looseObject("Monitor", {
|
|
130
|
+
type: s.string("Which deliveries to list: `batch` or `monitor`."),
|
|
131
|
+
monitor_id: s.string("Monitor ID."),
|
|
132
|
+
run_id: s.string("Monitor run ID."),
|
|
133
|
+
}),
|
|
134
|
+
]),
|
|
135
|
+
url: s.string("Webhook destination URL."),
|
|
136
|
+
status: s.string("`pending`, `delivering`, `retrying`, `delivered`, `failed`, or `cancelled` (source or its webhook was removed)."),
|
|
137
|
+
created_at: s.string("Event creation time."),
|
|
138
|
+
retry_expires_at: s.string("Last time you can retry manually (7 days after the event)."),
|
|
139
|
+
delivered_at: s.nullable(s.string("Last successful delivery time, or null if never delivered.")),
|
|
140
|
+
next_attempt_at: s.nullable(s.string("Next scheduled attempt, or null if none.")),
|
|
141
|
+
last_error: s.nullable(s.looseObject("Latest delivery error, or null if none.", {
|
|
142
|
+
code: s.string("Error code."),
|
|
143
|
+
message: s.string("Error details."),
|
|
144
|
+
})),
|
|
145
|
+
event_id: s.string("Stable event ID for deduplicating received webhooks."),
|
|
146
|
+
retry: s.looseObject("retry value.", {
|
|
147
|
+
delays_seconds: s.array("Retry delays in seconds, totaling at most 72 hours. Use [] to disable automatic retries.", s.integer("delays seconds entry value.")),
|
|
148
|
+
}),
|
|
149
|
+
last_attempt: s.anyOf("Latest attempt, or null if none.", [
|
|
150
|
+
s.looseObject("last attempt value.", {
|
|
151
|
+
attempt: s.integer("Attempt number, starting at 1."),
|
|
152
|
+
trigger: s.string("`initial`, `automatic` (scheduled retry), or `manual` (Retry endpoint)."),
|
|
153
|
+
url: s.string("URL used for this attempt."),
|
|
154
|
+
started_at: s.string("Attempt start time."),
|
|
155
|
+
completed_at: s.nullable(s.string("Completion time, or null while in progress.")),
|
|
156
|
+
http_status: s.nullable(s.integer("HTTP response status, or null if no response was received.")),
|
|
157
|
+
error: s.nullable(s.looseObject("Attempt error, or null if none.", {})),
|
|
158
|
+
}),
|
|
159
|
+
s.literal(null, {
|
|
160
|
+
description: "last attempt value.",
|
|
161
|
+
}),
|
|
162
|
+
]),
|
|
163
|
+
key_metadata: s.looseObject("Credits this request used and your remaining balance.", {
|
|
164
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
165
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
166
|
+
}),
|
|
167
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
168
|
+
});
|
|
169
|
+
export const list_webhook_delivery_attemptsOutputSchema = s.looseObject("List webhook delivery attempts response.", {
|
|
170
|
+
data: s.array("Delivery attempts.", s.looseObject("data entry value.", {
|
|
171
|
+
attempt: s.integer("Attempt number, starting at 1."),
|
|
172
|
+
trigger: s.string("`initial`, `automatic` (scheduled retry), or `manual` (Retry endpoint)."),
|
|
173
|
+
url: s.string("URL used for this attempt."),
|
|
174
|
+
started_at: s.string("Attempt start time."),
|
|
175
|
+
completed_at: s.nullable(s.string("Completion time, or null while in progress.")),
|
|
176
|
+
http_status: s.nullable(s.integer("HTTP response status, or null if no response was received.")),
|
|
177
|
+
error: s.nullable(s.looseObject("Attempt error, or null if none.", {})),
|
|
178
|
+
})),
|
|
179
|
+
has_more: s.boolean("Whether more attempts are available."),
|
|
180
|
+
next_cursor: s.nullable(s.string("Next page cursor, or null on the last page.")),
|
|
181
|
+
key_metadata: s.looseObject("Credits this request used and your remaining balance.", {
|
|
182
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
183
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
184
|
+
}),
|
|
185
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
186
|
+
});
|
|
187
|
+
export const retry_webhook_deliveryOutputSchema = s.looseObject("Retry a webhook delivery response.", {
|
|
188
|
+
id: s.string("Delivery ID."),
|
|
189
|
+
key_metadata: s.looseObject("Credits this request used and your remaining balance.", {
|
|
190
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
191
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
192
|
+
}),
|
|
193
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
194
|
+
});
|
|
195
|
+
function scrapeFormat(description, data) {
|
|
196
|
+
return s.looseObject(description, {
|
|
197
|
+
requested: s.boolean("Whether this output was requested."),
|
|
198
|
+
success: s.nullable(s.boolean("True when this output succeeded, false when it failed, or null when not requested.")),
|
|
199
|
+
data: s.nullable(data),
|
|
200
|
+
error_code: s.string("Machine-readable failure code when this output failed."),
|
|
201
|
+
message: s.string("Failure explanation and possible next steps."),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
const transferredFile = s.looseObject("Downloadable file stored by Connector.", {
|
|
205
|
+
url: s.string("Download URL for the transferred file.", { format: "uri" }),
|
|
206
|
+
mimeType: s.string("MIME type of the transferred file."),
|
|
207
|
+
});
|
|
208
|
+
const scrapeFormats = {
|
|
209
|
+
html: scrapeFormat("Rendered HTML after content filters.", s.string("Rendered HTML content.")),
|
|
210
|
+
markdown: scrapeFormat("Markdown after content filters.", s.string("Page content as Markdown.")),
|
|
211
|
+
screenshot: scrapeFormat("Screenshot transferred to a downloadable file.", transferredFile),
|
|
212
|
+
images: scrapeFormat("Images after content filters. `[]` when none are found.", s.array("Images discovered on the page.", s.looseObject("An image and its optional enrichment.", {
|
|
213
|
+
url: s.string("Image URL or an inline image data URI."),
|
|
214
|
+
alt: s.nullable(s.string("Alternative image text, when present.")),
|
|
215
|
+
width: s.integer("Image width in pixels."),
|
|
216
|
+
height: s.integer("Image height in pixels."),
|
|
217
|
+
classification: s.string("Image classification returned by the provider."),
|
|
218
|
+
fileUrl: s.string("Hosted image URL, valid for 24 hours after capture when file enrichment is enabled."),
|
|
219
|
+
}))),
|
|
220
|
+
bytes: scrapeFormat("Original response body transferred to a downloadable file.", s.looseObject("Downloaded original response body.", {
|
|
221
|
+
url: s.string("Download URL for the transferred file.", { format: "uri" }),
|
|
222
|
+
mimeType: s.string("MIME type of the transferred file."),
|
|
223
|
+
contentType: s.string("Original response Content-Type, including any charset."),
|
|
224
|
+
})),
|
|
225
|
+
parsed: s.looseObject("Custom or prebuilt parser output.", {
|
|
226
|
+
...readSchemaProperties(scrapeFormat("Parser output envelope.", s.looseObject("Extracted fields; structure depends on the requested parser or custom rules.", {}))),
|
|
227
|
+
type: s.string("Parser used for this output, including custom for CSS extraction rules."),
|
|
228
|
+
}),
|
|
229
|
+
highlights: scrapeFormat("Relevant Markdown excerpts in page order. `[Heading]` adds context; `…` marks omitted text.", s.array("Relevant excerpts in page order.", s.string("One Markdown excerpt."))),
|
|
230
|
+
json: scrapeFormat("Object matching `jsonParams.schema`.", s.looseObject("Extracted object following the supplied JSON Schema.", {})),
|
|
231
|
+
product: scrapeFormat("Product details found on the page.", s.looseObject("Product-page detection and extracted product.", {
|
|
232
|
+
isProductPage: s.boolean("Whether the page is a product detail page."),
|
|
233
|
+
product: s.nullable(s.looseObject("Extracted product details, or null for a non-product page.", {})),
|
|
234
|
+
})),
|
|
235
|
+
};
|
|
236
|
+
export const scrape_webOutputSchema = s.looseObject("Scrape Anything response.", {
|
|
237
|
+
url: s.string("Final URL after redirects and browser actions."),
|
|
238
|
+
...scrapeFormats,
|
|
239
|
+
profile: s.nullable(s.looseObject("Authenticated browser profile used for this scrape, or null when no profile was requested. New and existing profile requests both return the profile ID.", {
|
|
240
|
+
id: s.string('Save this ID after creating a profile, then reuse it as sharedParams.profile.profileId with type "existing".'),
|
|
241
|
+
})),
|
|
242
|
+
isPartial: s.boolean("True when at least one requested output succeeds but the response has failed or incomplete outputs. Absent when all requested outputs fail."),
|
|
243
|
+
metadata: s.looseObject("Page metadata. Fields are omitted when not found.", {
|
|
244
|
+
title: s.string("Best title extracted from the page."),
|
|
245
|
+
description: s.string("Best description extracted from standard, Open Graph, or Twitter metadata."),
|
|
246
|
+
language: s.string("Language extracted from html lang or language meta tags."),
|
|
247
|
+
keywords: s.array("Keywords extracted from the page's keywords meta tag.", s.string("keywords entry value.")),
|
|
248
|
+
canonicalUrl: s.string("Resolved canonical URL, when present."),
|
|
249
|
+
author: s.string("Author metadata, when present."),
|
|
250
|
+
siteName: s.string("Site or application name from page metadata."),
|
|
251
|
+
image: s.string("Primary resolved preview image from Open Graph, Twitter, or image metadata."),
|
|
252
|
+
favicon: s.string("Resolved favicon URL, when present."),
|
|
253
|
+
publishedTime: s.string("Published timestamp/date from page metadata, when present."),
|
|
254
|
+
modifiedTime: s.string("Modified timestamp/date from page metadata, when present."),
|
|
255
|
+
robots: s.string("Robots meta directive, when present."),
|
|
256
|
+
openGraph: s.looseObject("Open Graph metadata with the og: prefix removed and keys camel-cased.", {}),
|
|
257
|
+
twitter: s.looseObject("Twitter card metadata with the twitter: prefix removed and keys camel-cased.", {}),
|
|
258
|
+
alternates: s.array("Resolved alternate links from link rel=alternate tags.", s.looseObject("alternates entry value.", {})),
|
|
259
|
+
headings: s.array("Up to 500 h1–h6 headings in document order, before content filtering.", s.looseObject("headings entry value.", {})),
|
|
260
|
+
jsonLd: s.array("JSON-LD structured data blocks parsed from the page.", s.looseObject("jsonLd entry value.", {})),
|
|
261
|
+
additionalMeta: s.looseObject("Additional non-social meta tags not promoted to top-level metadata fields.", {}),
|
|
262
|
+
}),
|
|
263
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
264
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
265
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
266
|
+
}),
|
|
267
|
+
key_metadata: keyMetadataSchema,
|
|
268
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
269
|
+
});
|
|
270
|
+
export const search_newsOutputSchema = s.looseObject("Search news response.", {
|
|
271
|
+
data: s.array("Articles matching the search, in the requested order.", s.looseObject("data entry value.", {
|
|
272
|
+
id: s.string("Stable unique identifier for this article. Use it to deduplicate or reference an article across requests."),
|
|
273
|
+
story_id: s.string("Shared by articles covering the same story on the same day. Use it to group or collapse syndicated copies of one announcement across outlets."),
|
|
274
|
+
url: s.string("Link to the article on the publisher site."),
|
|
275
|
+
title: s.string("Article headline."),
|
|
276
|
+
description: s.nullable(s.string("Article summary or excerpt. Natural-language search descriptions include matching passages and are capped at 2,000 characters.")),
|
|
277
|
+
language: s.nullable(s.string("Language the article is written in, as a lowercase ISO 639-1 code such as en. Null when unknown.")),
|
|
278
|
+
authors: s.array("Bylined authors. Empty when no byline is available.", s.string("authors entry value.")),
|
|
279
|
+
image_url: s.nullable(s.string("Lead image for the article, when one is available.")),
|
|
280
|
+
published_at: s.nullable(s.string("When the article was published, as an ISO 8601 timestamp. Null when the publisher does not state a reliable date.")),
|
|
281
|
+
type: s.string("Kind of coverage. Use it to separate independent reporting (editorial) from company-issued content (press_release, regulatory_filing, advisory)."),
|
|
282
|
+
source: s.looseObject("The publication that published the article.", {}),
|
|
283
|
+
match: s.nullable(s.looseObject("How the article relates to the company you searched for. Null for natural-language searches.", {})),
|
|
284
|
+
})),
|
|
285
|
+
has_more: s.boolean("True when more results are available beyond this page."),
|
|
286
|
+
next_cursor: s.nullable(s.string("Pass as cursor in the next request to fetch the following page. Null when there are no more results.")),
|
|
287
|
+
meta: s.looseObject("Summary information about this response.", {
|
|
288
|
+
count: s.integer("Number of articles in this page."),
|
|
289
|
+
}),
|
|
290
|
+
key_metadata: keyMetadataSchema,
|
|
291
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
292
|
+
});
|
|
293
|
+
export const answer_researchOutputSchema = s.looseObject("Answer a research task response.", {
|
|
294
|
+
partial: s.boolean("True when the request deadline ended research and the answer uses the evidence collected so far."),
|
|
295
|
+
json_content: s.looseObject("The answer, in the shape requested by json_format.", {}),
|
|
296
|
+
sources: s.array("URLs of the pages and company/profile records read for the answer, followed by URLs cited in json_content.", s.string("sources entry value.")),
|
|
297
|
+
key_metadata: keyMetadataSchema,
|
|
298
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
299
|
+
});
|
|
300
|
+
export const parse_fileOutputSchema = s.looseObject("Parse a file response.", {
|
|
301
|
+
success: s.boolean("Indicates success"),
|
|
302
|
+
markdown: s.string("Input bytes converted to GitHub Flavored Markdown"),
|
|
303
|
+
type: s.string("Detected content type used for parsing"),
|
|
304
|
+
key_metadata: keyMetadataSchema,
|
|
305
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
306
|
+
});
|
|
307
|
+
export const map_urlsOutputSchema = s.looseObject("Map URLs response.", {
|
|
308
|
+
success: s.boolean("success value."),
|
|
309
|
+
domain: s.string("domain value."),
|
|
310
|
+
urls: s.array("urls value.", s.looseObject("urls entry value.", {
|
|
311
|
+
url: s.string("url value."),
|
|
312
|
+
title: s.string("title value."),
|
|
313
|
+
description: s.string("description value."),
|
|
314
|
+
keywords: s.array("keywords value.", s.string("keywords entry value.")),
|
|
315
|
+
language: s.string("language value."),
|
|
316
|
+
})),
|
|
317
|
+
partial: s.boolean("partial value."),
|
|
318
|
+
key_metadata: keyMetadataSchema,
|
|
319
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
320
|
+
});
|
|
321
|
+
export const crawl_websiteOutputSchema = s.looseObject("Crawl a website response.", {
|
|
322
|
+
partial: s.boolean("True when timeoutOpts.behavior=return-partial returned the usable results collected before the deadline. Partial collections are not cached as complete results."),
|
|
323
|
+
results: s.array("results value.", s.looseObject("results entry value.", {
|
|
324
|
+
markdown: s.string("Extracted page content as Markdown (empty string on failure)"),
|
|
325
|
+
metadata: s.looseObject("metadata value.", {}),
|
|
326
|
+
})),
|
|
327
|
+
metadata: s.looseObject("metadata value.", {
|
|
328
|
+
numUrls: s.integer("Total number of URLs crawled"),
|
|
329
|
+
maxCrawlDepth: s.integer("Maximum crawl depth reached during the crawl"),
|
|
330
|
+
numSucceeded: s.integer("Number of pages successfully crawled"),
|
|
331
|
+
numFailed: s.integer("Number of pages that failed to crawl"),
|
|
332
|
+
numSkipped: s.integer("Number of URLs skipped (PDFs when pdf.shouldParse=false, URLs not matching urlRegex, or URLs matching excludeUrlRegex)"),
|
|
333
|
+
}),
|
|
334
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
335
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
336
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
337
|
+
}),
|
|
338
|
+
key_metadata: keyMetadataSchema,
|
|
339
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
340
|
+
});
|
|
341
|
+
export const extract_dataOutputSchema = s.looseObject("Extract structured data response.", {
|
|
342
|
+
partial: s.boolean("True when the timeout ended processing and this response contains only usable results completed so far. Unfinished results are omitted."),
|
|
343
|
+
status: s.string("Always `ok` on success."),
|
|
344
|
+
url: s.string("The starting URL that was analyzed"),
|
|
345
|
+
urls_analyzed: s.array("List of URLs whose Markdown was used for extraction", s.string("urls analyzed entry value.")),
|
|
346
|
+
data: s.looseObject("Extracted data matching the request schema", {}),
|
|
347
|
+
metadata: s.looseObject("metadata value.", {
|
|
348
|
+
numUrls: s.integer("numUrls value."),
|
|
349
|
+
maxCrawlDepth: s.integer("maxCrawlDepth value."),
|
|
350
|
+
numSucceeded: s.integer("numSucceeded value."),
|
|
351
|
+
numFailed: s.integer("numFailed value."),
|
|
352
|
+
numSkipped: s.integer("numSkipped value."),
|
|
353
|
+
numBlocked: s.integer("Number of crawled pages excluded because they were anti-bot challenges, error pages, or parked-domain placeholders."),
|
|
354
|
+
actionsApplied: s.array("One verified outcome per requested browser action, in request order.", s.looseObject("actionsApplied entry value.", {})),
|
|
355
|
+
}),
|
|
356
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
357
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
358
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
359
|
+
}),
|
|
360
|
+
key_metadata: keyMetadataSchema,
|
|
361
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
362
|
+
});
|
|
363
|
+
export const search_webOutputSchema = s.looseObject("Search the web response.", {
|
|
364
|
+
partial: s.boolean("True when timeoutOpts.behavior=return-partial returned the usable results collected before the deadline. Partial collections are not cached as complete results."),
|
|
365
|
+
results: s.array("results value.", s.looseObject("results entry value.", {
|
|
366
|
+
url: s.string("Canonical result URL."),
|
|
367
|
+
title: s.string("Page title."),
|
|
368
|
+
description: s.string("Snippet excerpt from the page. Empty string when the search provider does not supply a snippet."),
|
|
369
|
+
relevance: s.string("Relevance to the original query."),
|
|
370
|
+
markdown: s.looseObject("Markdown scrape status and content for this result.", {}),
|
|
371
|
+
highlights: s.looseObject("Highlights status and passages for this result.", {}),
|
|
372
|
+
})),
|
|
373
|
+
query: s.string("Echo of the original query (useful when fanout was enabled)."),
|
|
374
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
375
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
376
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
377
|
+
}),
|
|
378
|
+
key_metadata: keyMetadataSchema,
|
|
379
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
380
|
+
});
|
|
381
|
+
export const enrich_personOutputSchema = s.looseObject("Enrich a person response.", {
|
|
382
|
+
partial: s.boolean("True when the timeout ended processing and this response contains the usable data completed so far. Unfinished fields are omitted."),
|
|
383
|
+
match: s.anyOf("match value.", [
|
|
384
|
+
s.looseObject("The highest-scoring person candidate.", {
|
|
385
|
+
status: s.string("status value."),
|
|
386
|
+
score: s.integer("score value."),
|
|
387
|
+
person: s.looseObject("person value.", {}),
|
|
388
|
+
}),
|
|
389
|
+
s.looseObject("No usable person candidate was found.", {
|
|
390
|
+
status: s.string("status value."),
|
|
391
|
+
score: s.literal(null, {
|
|
392
|
+
description: "score value.",
|
|
393
|
+
}),
|
|
394
|
+
person: s.literal(null, {
|
|
395
|
+
description: "person value.",
|
|
396
|
+
}),
|
|
397
|
+
}),
|
|
398
|
+
]),
|
|
399
|
+
key_metadata: keyMetadataSchema,
|
|
400
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
401
|
+
});
|
|
402
|
+
export const retrieve_brandOutputSchema = s.looseObject("Retrieve a brand response.", {
|
|
403
|
+
partial: s.boolean("True when the timeout ended processing and this response contains the usable data completed so far. Unfinished fields are omitted."),
|
|
404
|
+
status: s.string("Always `ok` on success."),
|
|
405
|
+
brand: s.looseObject("Detailed brand information", {
|
|
406
|
+
domain: s.string("The domain name of the brand"),
|
|
407
|
+
title: s.string("The title or name of the brand"),
|
|
408
|
+
description: s.string("A brief description of the brand"),
|
|
409
|
+
slogan: s.string("The brand's slogan"),
|
|
410
|
+
colors: s.array("An array of brand colors", s.looseObject("colors entry value.", {})),
|
|
411
|
+
logos: s.array("An array of logos associated with the brand. When a similarly shaped SVG variant exists, it is returned ahead of its raster equivalent; otherwise relevance order is preserved", s.looseObject("logos entry value.", {})),
|
|
412
|
+
backdrops: s.array("An array of backdrop images for the brand", s.looseObject("backdrops entry value.", {})),
|
|
413
|
+
socials: s.array("An array of social media links for the brand", s.looseObject("socials entry value.", {})),
|
|
414
|
+
address: s.looseObject("Physical address of the brand", {}),
|
|
415
|
+
stock: s.looseObject("Stock market information for this brand (will be null if not a publicly traded company)", {}),
|
|
416
|
+
employees: s.looseObject("Employee headcount information for the brand (will be null if unknown)", {}),
|
|
417
|
+
is_nsfw: s.boolean("Indicates whether the brand content is not safe for work (NSFW)"),
|
|
418
|
+
email: s.string("Company email address"),
|
|
419
|
+
phone: s.string("Company phone number"),
|
|
420
|
+
industries: s.looseObject("Industry classification information for the brand", {}),
|
|
421
|
+
links: s.looseObject("Important website links for the brand", {}),
|
|
422
|
+
primary_language: s.anyOf("The primary language of the brand's website content. Detected from the HTML lang tag, page content analysis, or social media descriptions.", [
|
|
423
|
+
s.looseObject("primary language value.", {}),
|
|
424
|
+
s.literal(null, {
|
|
425
|
+
description: "primary language value.",
|
|
426
|
+
}),
|
|
427
|
+
]),
|
|
428
|
+
}),
|
|
429
|
+
code: s.integer("HTTP status code"),
|
|
430
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
431
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
432
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
433
|
+
}),
|
|
434
|
+
key_metadata: keyMetadataSchema,
|
|
435
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
436
|
+
});
|
|
437
|
+
export const search_brandsOutputSchema = s.looseObject("Auto-complete Brand response.", {
|
|
438
|
+
results: s.array("Up to 10 matching brands, name matches first, then domain matches, most popular first within each group. Empty when nothing matches.", s.looseObject("results entry value.", {
|
|
439
|
+
domain: s.string("The brand's domain."),
|
|
440
|
+
name: s.string("The brand's name. Empty string when unknown."),
|
|
441
|
+
description: s.string("The brand's description, when available."),
|
|
442
|
+
country: s.string("The brand's country, when available, as an uppercase ISO 3166-1 alpha-2 code."),
|
|
443
|
+
language: s.string("The brand's primary language, when available."),
|
|
444
|
+
logo: s.string("Logo link URL that serves the brand's logo, generated per request for the calling organization."),
|
|
445
|
+
})),
|
|
446
|
+
key_metadata: keyMetadataSchema,
|
|
447
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
448
|
+
});
|
|
449
|
+
export const extract_styleguideOutputSchema = s.looseObject("Extract a styleguide response.", {
|
|
450
|
+
finalDOMState: s.string("`loaded`, or `still-loading` when capture ended before the page finished loading."),
|
|
451
|
+
status: s.string("Always `ok` on success."),
|
|
452
|
+
domain: s.string("The normalized domain that was processed"),
|
|
453
|
+
styleguide: s.looseObject("Comprehensive styleguide data extracted from the website", {
|
|
454
|
+
mode: s.string("The primary color mode of the website design"),
|
|
455
|
+
colors: s.looseObject("Primary colors used on the website", {}),
|
|
456
|
+
typography: s.looseObject("Typography styles used on the website", {}),
|
|
457
|
+
elementSpacing: s.looseObject("Spacing system used on the website", {}),
|
|
458
|
+
shadows: s.looseObject("Shadow styles used on the website", {}),
|
|
459
|
+
fontLinks: s.looseObject("Font assets keyed by family name as it appears in fontFamily/fontFallbacks (non-generic names only). Clients match typography.fontFamily / fontWeight or button styles to pick a file URL from files.", {}),
|
|
460
|
+
components: s.looseObject("UI component styles", {}),
|
|
461
|
+
}),
|
|
462
|
+
code: s.integer("HTTP status code"),
|
|
463
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
464
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
465
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
466
|
+
}),
|
|
467
|
+
key_metadata: keyMetadataSchema,
|
|
468
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
469
|
+
});
|
|
470
|
+
export const extract_fontsOutputSchema = s.looseObject("Extract fonts response.", {
|
|
471
|
+
finalDOMState: s.string("`loaded`, or `still-loading` when capture ended before the page finished loading."),
|
|
472
|
+
status: s.string("Always `ok` on success."),
|
|
473
|
+
domain: s.string("The normalized domain that was processed"),
|
|
474
|
+
fonts: s.array("Array of font usage information", s.looseObject("fonts entry value.", {
|
|
475
|
+
font: s.string("Font family name"),
|
|
476
|
+
uses: s.array("Array of CSS selectors or element types where this font is used", s.string("uses entry value.")),
|
|
477
|
+
fallbacks: s.array("Array of fallback font families", s.string("fallbacks entry value.")),
|
|
478
|
+
num_elements: s.number("Number of elements using this font"),
|
|
479
|
+
num_words: s.number("Number of words using this font"),
|
|
480
|
+
percent_words: s.number("Percentage of words using this font"),
|
|
481
|
+
percent_elements: s.number("Percentage of elements using this font"),
|
|
482
|
+
})),
|
|
483
|
+
fontLinks: s.looseObject("Available font files keyed by family name. Omitted when no downloadable fonts are found.", {}),
|
|
484
|
+
code: s.integer("HTTP status code, e.g., 200"),
|
|
485
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
486
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
487
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
488
|
+
}),
|
|
489
|
+
key_metadata: keyMetadataSchema,
|
|
490
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
491
|
+
});
|
|
492
|
+
export const classify_naicsOutputSchema = s.looseObject("Classify NAICS codes response.", {
|
|
493
|
+
partial: s.boolean("True when the timeout ended processing and this response contains only usable results completed so far. Unfinished results are omitted."),
|
|
494
|
+
status: s.string("Always `ok` on success."),
|
|
495
|
+
domain: s.string("Domain found for the brand"),
|
|
496
|
+
type: s.string("Industry classification type, for naics api it will be `naics`"),
|
|
497
|
+
codes: s.array("Array of NAICS codes and titles.", s.looseObject("codes entry value.", {
|
|
498
|
+
code: s.string("NAICS code"),
|
|
499
|
+
name: s.string("NAICS title"),
|
|
500
|
+
confidence: s.string("Confidence level for how well this NAICS code matches the company description"),
|
|
501
|
+
})),
|
|
502
|
+
key_metadata: keyMetadataSchema,
|
|
503
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
504
|
+
});
|
|
505
|
+
export const classify_sicOutputSchema = s.looseObject("Classify SIC codes response.", {
|
|
506
|
+
partial: s.boolean("True when the timeout ended processing and this response contains only usable results completed so far. Unfinished results are omitted."),
|
|
507
|
+
status: s.string("Always `ok` on success."),
|
|
508
|
+
domain: s.string("Domain found for the brand"),
|
|
509
|
+
type: s.string("Industry classification type, for sic api it will be `sic`"),
|
|
510
|
+
classification: s.string("Echoes back which SIC dataset was used to classify the brand."),
|
|
511
|
+
codes: s.array("Array of SIC codes with confidence scores. Extra fields depend on the requested classification: `original_sic` results include `majorGroup` and `majorGroupName`; `latest_sec` results include `office`.", s.looseObject("codes entry value.", {
|
|
512
|
+
code: s.string("SIC code (4-digit)."),
|
|
513
|
+
name: s.string("SIC industry title."),
|
|
514
|
+
confidence: s.string("Confidence level for how well this SIC code matches the company description."),
|
|
515
|
+
majorGroup: s.string("2-digit major group identifier (the leading two digits of the code). Only present when `classification` is `original_sic`."),
|
|
516
|
+
majorGroupName: s.string("Description of the 2-digit major group. Only present when `classification` is `original_sic`."),
|
|
517
|
+
office: s.string("SEC review office responsible for filings under this code. Only present when `classification` is `latest_sec`."),
|
|
518
|
+
})),
|
|
519
|
+
key_metadata: keyMetadataSchema,
|
|
520
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
521
|
+
});
|
|
522
|
+
export const prefetch_brandOutputSchema = s.looseObject("Prefetch brand data response.", {
|
|
523
|
+
status: s.string("Always `ok` on success."),
|
|
524
|
+
message: s.string("Success message"),
|
|
525
|
+
type: s.string("The type of prefetch that was queued, echoed from the request"),
|
|
526
|
+
domain: s.string("The domain that was queued for prefetching"),
|
|
527
|
+
key_metadata: keyMetadataSchema,
|
|
528
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
529
|
+
});
|
|
530
|
+
export const create_monitorOutputSchema = s.looseObject("Create a monitor response.", {
|
|
531
|
+
mode: s.string("Always `web`. Optional."),
|
|
532
|
+
id: s.string("id value."),
|
|
533
|
+
name: s.string("name value."),
|
|
534
|
+
target: s.anyOf("What to watch: a page, a sitemap, or data extracted from a site.", [
|
|
535
|
+
s.looseObject("Watch a single web page. Exact detection reports visible-text diffs; semantic detection judges confirmed stable diffs against `instructions`.", {
|
|
536
|
+
type: s.string("Use `page` to watch one web page."),
|
|
537
|
+
url: s.string("Public HTTP(S) page URL to monitor."),
|
|
538
|
+
instructions: s.string("Plain-language goal describing which page changes matter. When provided without change_detection, semantic detection is inferred."),
|
|
539
|
+
normalize_whitespace: s.boolean("Normalize whitespace before comparing or analyzing text."),
|
|
540
|
+
include_selectors: s.array("Monitor these CSS-selected regions. Empty or omitted uses main content. Changes create a new baseline.", s.string("include selectors entry value.")),
|
|
541
|
+
exclude_selectors: s.array("Remove matching regions after inclusions. Changes create a new baseline.", s.string("exclude selectors entry value.")),
|
|
542
|
+
actions: s.nullable(s.array("Optional browser actions executed in array order after the page loads, before content is captured, on every run. Requires a paid plan. Maximum: 5 actions. Changes create a new baseline.", s.anyOf("Browser action discriminated by `do`. Each variant exposes only its applicable fields.", [
|
|
543
|
+
s.looseObject("Pause for a fixed number of milliseconds before continuing to the next action.", {}),
|
|
544
|
+
s.looseObject("Resolve and perform one natural-language browser action.", {}),
|
|
545
|
+
s.looseObject("Scroll the page or a selected scrollable container, waiting adaptively for content and dimensions to settle after each iteration.", {}),
|
|
546
|
+
]))),
|
|
547
|
+
}),
|
|
548
|
+
s.looseObject("Watch a site’s URL inventory for confirmed additions and removals.", {
|
|
549
|
+
type: s.string("Use `sitemap` to watch a site for added or removed URLs."),
|
|
550
|
+
url: s.string("Sitemap URL to monitor."),
|
|
551
|
+
include: s.array("URL path patterns to include (max 50).", s.string("include entry value.")),
|
|
552
|
+
exclude: s.array("URL path patterns to exclude (max 50).", s.string("exclude entry value.")),
|
|
553
|
+
max_urls: s.integer("Maximum number of sitemap URLs to track (capped at 10,000)."),
|
|
554
|
+
}),
|
|
555
|
+
s.looseObject("target value.", {
|
|
556
|
+
type: s.string("Use `extract` to watch structured data across selected pages."),
|
|
557
|
+
url: s.string("Root URL to extract structured data from."),
|
|
558
|
+
schema: s.looseObject("JSON Schema for page selection and the baseline snapshot. Changes return diffs and evidence.", {}),
|
|
559
|
+
instructions: s.string("Natural-language instructions guiding which pages and facts to track and which changes to report."),
|
|
560
|
+
max_pages: s.integer("Maximum number of pages to track."),
|
|
561
|
+
max_depth: s.integer("Optional maximum link depth from the starting URL (0 = only the starting page)."),
|
|
562
|
+
follow_subdomains: s.boolean("Allow page discovery on subdomains of the target site."),
|
|
563
|
+
}),
|
|
564
|
+
]),
|
|
565
|
+
change_detection: s.anyOf("How changes are judged. Defaults to `semantic` for extract targets and page targets with `instructions`, otherwise `exact`.", [
|
|
566
|
+
s.looseObject("Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.", {
|
|
567
|
+
type: s.string("Use `exact` to compare visible text or sitemap URLs."),
|
|
568
|
+
}),
|
|
569
|
+
s.looseObject("Detect meaningful content changes using the target’s instructions and optional schema.", {
|
|
570
|
+
type: s.string("Use `semantic` to judge changes against the target instructions."),
|
|
571
|
+
confidence_threshold: s.number("Minimum confidence required to report a meaningful change, from 0 to 1."),
|
|
572
|
+
}),
|
|
573
|
+
]),
|
|
574
|
+
schedule: s.anyOf("How often the monitor runs. Defaults to once a day.", [
|
|
575
|
+
s.looseObject("Run the monitor on a fixed interval defined by a frequency and a unit, e.g. every 6 hours or every 2 days. The total interval (frequency × unit) must be between 10 minutes and 1 year.", {
|
|
576
|
+
type: s.string("Use `interval` to run on a repeating schedule."),
|
|
577
|
+
frequency: s.integer("Number of units between runs. The resulting interval (frequency × unit) must be at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes; maximum 365 when unit is days)."),
|
|
578
|
+
unit: s.string("Time unit used with `frequency` to set the run interval."),
|
|
579
|
+
}),
|
|
580
|
+
]),
|
|
581
|
+
webhook: s.anyOf("Webhook destination and delivery settings. Null means no webhook is configured.", [
|
|
582
|
+
s.looseObject("webhook value.", {
|
|
583
|
+
url: s.string("Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted messages."),
|
|
584
|
+
events: s.array("Events to deliver. Defaults to `change.detected`; `run.completed` also includes unchanged runs.", s.string("events entry value.")),
|
|
585
|
+
retry: s.looseObject("Webhook retry settings. Use {} for the default schedule.", {}),
|
|
586
|
+
secret: s.string("API-generated signing secret. Visible only with full access or `monitors:write` permission."),
|
|
587
|
+
}),
|
|
588
|
+
s.literal(null, {
|
|
589
|
+
description: "webhook value.",
|
|
590
|
+
}),
|
|
591
|
+
]),
|
|
592
|
+
status: s.string('Current state. Failed monitors keep running; paused monitors must be resumed with `status: "active"`.'),
|
|
593
|
+
last_run_at: s.nullable(s.string("last run at value.")),
|
|
594
|
+
last_change_at: s.nullable(s.string("last change at value.")),
|
|
595
|
+
next_run_at: s.nullable(s.string("When the next scheduled run is due; null while paused.")),
|
|
596
|
+
last_error: s.anyOf("Error from the most recent failed run; null when the last run succeeded.", [
|
|
597
|
+
s.looseObject("last error value.", {
|
|
598
|
+
code: s.string("code value."),
|
|
599
|
+
message: s.string("message value."),
|
|
600
|
+
}),
|
|
601
|
+
s.literal(null, {
|
|
602
|
+
description: "last error value.",
|
|
603
|
+
}),
|
|
604
|
+
]),
|
|
605
|
+
webhook_failure: s.anyOf("Present while webhook deliveries are failing consecutively; null when deliveries are healthy or no webhook is configured. Cleared on the next successful delivery and when the webhook URL changes.", [
|
|
606
|
+
s.looseObject("webhook failure value.", {
|
|
607
|
+
consecutive_failures: s.integer("Number of consecutive delivery attempts that did not succeed."),
|
|
608
|
+
last_status: s.string("Outcome of the most recent failed delivery. rejected means a non-2xx response; failed means no HTTP response was received; skipped_unsafe_url means the URL failed the public-endpoint safety check."),
|
|
609
|
+
last_message: s.string("Human-readable description of the most recent failure."),
|
|
610
|
+
last_failed_at: s.string("last failed at value."),
|
|
611
|
+
}),
|
|
612
|
+
s.literal(null, {
|
|
613
|
+
description: "webhook failure value.",
|
|
614
|
+
}),
|
|
615
|
+
]),
|
|
616
|
+
created_at: s.string("created at value."),
|
|
617
|
+
updated_at: s.string("updated at value."),
|
|
618
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
619
|
+
baseline: s.anyOf("Comparison baseline, included on Retrieve. Null until capture completes or after target changes.", [
|
|
620
|
+
s.looseObject("Current baseline of a `page` monitor: the visible page text as last observed.", {
|
|
621
|
+
text: s.string("The page's visible text as last observed."),
|
|
622
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
623
|
+
}),
|
|
624
|
+
s.looseObject("Current baseline of a `sitemap` monitor: the normalized URL set as last observed.", {
|
|
625
|
+
urls: s.array("The sitemap URLs as last observed (sorted, normalized).", s.string("urls entry value.")),
|
|
626
|
+
url_count: s.integer("Number of URLs in the baseline."),
|
|
627
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
628
|
+
}),
|
|
629
|
+
s.looseObject("Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted.", {
|
|
630
|
+
data: s.unknown("Latest structured snapshot matching the extraction schema, refreshed at most daily; `null` before capture."),
|
|
631
|
+
urls_analyzed: s.array("The page URLs the monitor tracks and analyzes for changes.", s.string("urls analyzed entry value.")),
|
|
632
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
633
|
+
}),
|
|
634
|
+
s.literal(null, {
|
|
635
|
+
description: "baseline value.",
|
|
636
|
+
}),
|
|
637
|
+
]),
|
|
638
|
+
initial_run_id: s.nullable(s.string("ID of the baseline run queued at creation; null if it will start on the next scheduled tick.")),
|
|
639
|
+
key_metadata: keyMetadataSchema,
|
|
640
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
641
|
+
});
|
|
642
|
+
export const list_monitorsOutputSchema = s.looseObject("List monitors response.", {
|
|
643
|
+
data: s.array("data value.", s.looseObject("A web monitor. `mode` is the constant `web`; behavior is described by `target` (page/sitemap/extract) and `change_detection` (exact/semantic).", {
|
|
644
|
+
mode: s.string("Always `web`. Optional."),
|
|
645
|
+
id: s.string("id value."),
|
|
646
|
+
name: s.string("name value."),
|
|
647
|
+
target: s.anyOf("What to watch: a page, a sitemap, or data extracted from a site.", [
|
|
648
|
+
s.looseObject("Watch a single web page. Exact detection reports visible-text diffs; semantic detection judges confirmed stable diffs against `instructions`.", {}),
|
|
649
|
+
s.looseObject("Watch a site’s URL inventory for confirmed additions and removals.", {}),
|
|
650
|
+
s.looseObject("target value.", {}),
|
|
651
|
+
]),
|
|
652
|
+
change_detection: s.anyOf("How changes are judged. Defaults to `semantic` for extract targets and page targets with `instructions`, otherwise `exact`.", [
|
|
653
|
+
s.looseObject("Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.", {}),
|
|
654
|
+
s.looseObject("Detect meaningful content changes using the target’s instructions and optional schema.", {}),
|
|
655
|
+
]),
|
|
656
|
+
schedule: s.anyOf("How often the monitor runs. Defaults to once a day.", [
|
|
657
|
+
s.looseObject("Run the monitor on a fixed interval defined by a frequency and a unit, e.g. every 6 hours or every 2 days. The total interval (frequency × unit) must be between 10 minutes and 1 year.", {}),
|
|
658
|
+
]),
|
|
659
|
+
webhook: s.anyOf("Webhook destination and delivery settings. Null means no webhook is configured.", [
|
|
660
|
+
s.looseObject("webhook value.", {}),
|
|
661
|
+
s.literal(null, {
|
|
662
|
+
description: "webhook value.",
|
|
663
|
+
}),
|
|
664
|
+
]),
|
|
665
|
+
status: s.string('Current state. Failed monitors keep running; paused monitors must be resumed with `status: "active"`.'),
|
|
666
|
+
last_run_at: s.nullable(s.string("last run at value.")),
|
|
667
|
+
last_change_at: s.nullable(s.string("last change at value.")),
|
|
668
|
+
next_run_at: s.nullable(s.string("When the next scheduled run is due; null while paused.")),
|
|
669
|
+
last_error: s.anyOf("Error from the most recent failed run; null when the last run succeeded.", [
|
|
670
|
+
s.looseObject("last error value.", {}),
|
|
671
|
+
s.literal(null, {
|
|
672
|
+
description: "last error value.",
|
|
673
|
+
}),
|
|
674
|
+
]),
|
|
675
|
+
webhook_failure: s.anyOf("Present while webhook deliveries are failing consecutively; null when deliveries are healthy or no webhook is configured. Cleared on the next successful delivery and when the webhook URL changes.", [
|
|
676
|
+
s.looseObject("webhook failure value.", {}),
|
|
677
|
+
s.literal(null, {
|
|
678
|
+
description: "webhook failure value.",
|
|
679
|
+
}),
|
|
680
|
+
]),
|
|
681
|
+
created_at: s.string("created at value."),
|
|
682
|
+
updated_at: s.string("updated at value."),
|
|
683
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
684
|
+
baseline: s.anyOf("Comparison baseline, included on Retrieve. Null until capture completes or after target changes.", [
|
|
685
|
+
s.looseObject("Current baseline of a `page` monitor: the visible page text as last observed.", {}),
|
|
686
|
+
s.looseObject("Current baseline of a `sitemap` monitor: the normalized URL set as last observed.", {}),
|
|
687
|
+
s.looseObject("Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted.", {}),
|
|
688
|
+
s.literal(null, {
|
|
689
|
+
description: "baseline value.",
|
|
690
|
+
}),
|
|
691
|
+
]),
|
|
692
|
+
})),
|
|
693
|
+
has_more: s.boolean("has more value."),
|
|
694
|
+
next_cursor: s.nullable(s.string("next cursor value.")),
|
|
695
|
+
key_metadata: keyMetadataSchema,
|
|
696
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
697
|
+
});
|
|
698
|
+
export const get_monitorOutputSchema = s.looseObject("Retrieve a monitor response.", {
|
|
699
|
+
mode: s.string("Always `web`. Optional."),
|
|
700
|
+
id: s.string("id value."),
|
|
701
|
+
name: s.string("name value."),
|
|
702
|
+
target: s.anyOf("What to watch: a page, a sitemap, or data extracted from a site.", [
|
|
703
|
+
s.looseObject("Watch a single web page. Exact detection reports visible-text diffs; semantic detection judges confirmed stable diffs against `instructions`.", {
|
|
704
|
+
type: s.string("Use `page` to watch one web page."),
|
|
705
|
+
url: s.string("Public HTTP(S) page URL to monitor."),
|
|
706
|
+
instructions: s.string("Plain-language goal describing which page changes matter. When provided without change_detection, semantic detection is inferred."),
|
|
707
|
+
normalize_whitespace: s.boolean("Normalize whitespace before comparing or analyzing text."),
|
|
708
|
+
include_selectors: s.array("Monitor these CSS-selected regions. Empty or omitted uses main content. Changes create a new baseline.", s.string("include selectors entry value.")),
|
|
709
|
+
exclude_selectors: s.array("Remove matching regions after inclusions. Changes create a new baseline.", s.string("exclude selectors entry value.")),
|
|
710
|
+
actions: s.nullable(s.array("Optional browser actions executed in array order after the page loads, before content is captured, on every run. Requires a paid plan. Maximum: 5 actions. Changes create a new baseline.", s.anyOf("Browser action discriminated by `do`. Each variant exposes only its applicable fields.", [
|
|
711
|
+
s.looseObject("Pause for a fixed number of milliseconds before continuing to the next action.", {}),
|
|
712
|
+
s.looseObject("Resolve and perform one natural-language browser action.", {}),
|
|
713
|
+
s.looseObject("Scroll the page or a selected scrollable container, waiting adaptively for content and dimensions to settle after each iteration.", {}),
|
|
714
|
+
]))),
|
|
715
|
+
}),
|
|
716
|
+
s.looseObject("Watch a site’s URL inventory for confirmed additions and removals.", {
|
|
717
|
+
type: s.string("Use `sitemap` to watch a site for added or removed URLs."),
|
|
718
|
+
url: s.string("Sitemap URL to monitor."),
|
|
719
|
+
include: s.array("URL path patterns to include (max 50).", s.string("include entry value.")),
|
|
720
|
+
exclude: s.array("URL path patterns to exclude (max 50).", s.string("exclude entry value.")),
|
|
721
|
+
max_urls: s.integer("Maximum number of sitemap URLs to track (capped at 10,000)."),
|
|
722
|
+
}),
|
|
723
|
+
s.looseObject("target value.", {
|
|
724
|
+
type: s.string("Use `extract` to watch structured data across selected pages."),
|
|
725
|
+
url: s.string("Root URL to extract structured data from."),
|
|
726
|
+
schema: s.looseObject("JSON Schema for page selection and the baseline snapshot. Changes return diffs and evidence.", {}),
|
|
727
|
+
instructions: s.string("Natural-language instructions guiding which pages and facts to track and which changes to report."),
|
|
728
|
+
max_pages: s.integer("Maximum number of pages to track."),
|
|
729
|
+
max_depth: s.integer("Optional maximum link depth from the starting URL (0 = only the starting page)."),
|
|
730
|
+
follow_subdomains: s.boolean("Allow page discovery on subdomains of the target site."),
|
|
731
|
+
}),
|
|
732
|
+
]),
|
|
733
|
+
change_detection: s.anyOf("How changes are judged. Defaults to `semantic` for extract targets and page targets with `instructions`, otherwise `exact`.", [
|
|
734
|
+
s.looseObject("Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.", {
|
|
735
|
+
type: s.string("Use `exact` to compare visible text or sitemap URLs."),
|
|
736
|
+
}),
|
|
737
|
+
s.looseObject("Detect meaningful content changes using the target’s instructions and optional schema.", {
|
|
738
|
+
type: s.string("Use `semantic` to judge changes against the target instructions."),
|
|
739
|
+
confidence_threshold: s.number("Minimum confidence required to report a meaningful change, from 0 to 1."),
|
|
740
|
+
}),
|
|
741
|
+
]),
|
|
742
|
+
schedule: s.anyOf("How often the monitor runs. Defaults to once a day.", [
|
|
743
|
+
s.looseObject("Run the monitor on a fixed interval defined by a frequency and a unit, e.g. every 6 hours or every 2 days. The total interval (frequency × unit) must be between 10 minutes and 1 year.", {
|
|
744
|
+
type: s.string("Use `interval` to run on a repeating schedule."),
|
|
745
|
+
frequency: s.integer("Number of units between runs. The resulting interval (frequency × unit) must be at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes; maximum 365 when unit is days)."),
|
|
746
|
+
unit: s.string("Time unit used with `frequency` to set the run interval."),
|
|
747
|
+
}),
|
|
748
|
+
]),
|
|
749
|
+
webhook: s.anyOf("Webhook destination and delivery settings. Null means no webhook is configured.", [
|
|
750
|
+
s.looseObject("webhook value.", {
|
|
751
|
+
url: s.string("Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted messages."),
|
|
752
|
+
events: s.array("Events to deliver. Defaults to `change.detected`; `run.completed` also includes unchanged runs.", s.string("events entry value.")),
|
|
753
|
+
retry: s.looseObject("Webhook retry settings. Use {} for the default schedule.", {}),
|
|
754
|
+
secret: s.string("API-generated signing secret. Visible only with full access or `monitors:write` permission."),
|
|
755
|
+
}),
|
|
756
|
+
s.literal(null, {
|
|
757
|
+
description: "webhook value.",
|
|
758
|
+
}),
|
|
759
|
+
]),
|
|
760
|
+
status: s.string('Current state. Failed monitors keep running; paused monitors must be resumed with `status: "active"`.'),
|
|
761
|
+
last_run_at: s.nullable(s.string("last run at value.")),
|
|
762
|
+
last_change_at: s.nullable(s.string("last change at value.")),
|
|
763
|
+
next_run_at: s.nullable(s.string("When the next scheduled run is due; null while paused.")),
|
|
764
|
+
last_error: s.anyOf("Error from the most recent failed run; null when the last run succeeded.", [
|
|
765
|
+
s.looseObject("last error value.", {
|
|
766
|
+
code: s.string("code value."),
|
|
767
|
+
message: s.string("message value."),
|
|
768
|
+
}),
|
|
769
|
+
s.literal(null, {
|
|
770
|
+
description: "last error value.",
|
|
771
|
+
}),
|
|
772
|
+
]),
|
|
773
|
+
webhook_failure: s.anyOf("Present while webhook deliveries are failing consecutively; null when deliveries are healthy or no webhook is configured. Cleared on the next successful delivery and when the webhook URL changes.", [
|
|
774
|
+
s.looseObject("webhook failure value.", {
|
|
775
|
+
consecutive_failures: s.integer("Number of consecutive delivery attempts that did not succeed."),
|
|
776
|
+
last_status: s.string("Outcome of the most recent failed delivery. rejected means a non-2xx response; failed means no HTTP response was received; skipped_unsafe_url means the URL failed the public-endpoint safety check."),
|
|
777
|
+
last_message: s.string("Human-readable description of the most recent failure."),
|
|
778
|
+
last_failed_at: s.string("last failed at value."),
|
|
779
|
+
}),
|
|
780
|
+
s.literal(null, {
|
|
781
|
+
description: "webhook failure value.",
|
|
782
|
+
}),
|
|
783
|
+
]),
|
|
784
|
+
created_at: s.string("created at value."),
|
|
785
|
+
updated_at: s.string("updated at value."),
|
|
786
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
787
|
+
baseline: s.anyOf("Comparison baseline, included on Retrieve. Null until capture completes or after target changes.", [
|
|
788
|
+
s.looseObject("Current baseline of a `page` monitor: the visible page text as last observed.", {
|
|
789
|
+
text: s.string("The page's visible text as last observed."),
|
|
790
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
791
|
+
}),
|
|
792
|
+
s.looseObject("Current baseline of a `sitemap` monitor: the normalized URL set as last observed.", {
|
|
793
|
+
urls: s.array("The sitemap URLs as last observed (sorted, normalized).", s.string("urls entry value.")),
|
|
794
|
+
url_count: s.integer("Number of URLs in the baseline."),
|
|
795
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
796
|
+
}),
|
|
797
|
+
s.looseObject("Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted.", {
|
|
798
|
+
data: s.unknown("Latest structured snapshot matching the extraction schema, refreshed at most daily; `null` before capture."),
|
|
799
|
+
urls_analyzed: s.array("The page URLs the monitor tracks and analyzes for changes.", s.string("urls analyzed entry value.")),
|
|
800
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
801
|
+
}),
|
|
802
|
+
s.literal(null, {
|
|
803
|
+
description: "baseline value.",
|
|
804
|
+
}),
|
|
805
|
+
]),
|
|
806
|
+
key_metadata: keyMetadataSchema,
|
|
807
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
808
|
+
});
|
|
809
|
+
export const update_monitorOutputSchema = s.looseObject("Update a monitor response.", {
|
|
810
|
+
mode: s.string("Always `web`. Optional."),
|
|
811
|
+
id: s.string("id value."),
|
|
812
|
+
name: s.string("name value."),
|
|
813
|
+
target: s.anyOf("What to watch: a page, a sitemap, or data extracted from a site.", [
|
|
814
|
+
s.looseObject("Watch a single web page. Exact detection reports visible-text diffs; semantic detection judges confirmed stable diffs against `instructions`.", {
|
|
815
|
+
type: s.string("Use `page` to watch one web page."),
|
|
816
|
+
url: s.string("Public HTTP(S) page URL to monitor."),
|
|
817
|
+
instructions: s.string("Plain-language goal describing which page changes matter. When provided without change_detection, semantic detection is inferred."),
|
|
818
|
+
normalize_whitespace: s.boolean("Normalize whitespace before comparing or analyzing text."),
|
|
819
|
+
include_selectors: s.array("Monitor these CSS-selected regions. Empty or omitted uses main content. Changes create a new baseline.", s.string("include selectors entry value.")),
|
|
820
|
+
exclude_selectors: s.array("Remove matching regions after inclusions. Changes create a new baseline.", s.string("exclude selectors entry value.")),
|
|
821
|
+
actions: s.nullable(s.array("Optional browser actions executed in array order after the page loads, before content is captured, on every run. Requires a paid plan. Maximum: 5 actions. Changes create a new baseline.", s.anyOf("Browser action discriminated by `do`. Each variant exposes only its applicable fields.", [
|
|
822
|
+
s.looseObject("Pause for a fixed number of milliseconds before continuing to the next action.", {}),
|
|
823
|
+
s.looseObject("Resolve and perform one natural-language browser action.", {}),
|
|
824
|
+
s.looseObject("Scroll the page or a selected scrollable container, waiting adaptively for content and dimensions to settle after each iteration.", {}),
|
|
825
|
+
]))),
|
|
826
|
+
}),
|
|
827
|
+
s.looseObject("Watch a site’s URL inventory for confirmed additions and removals.", {
|
|
828
|
+
type: s.string("Use `sitemap` to watch a site for added or removed URLs."),
|
|
829
|
+
url: s.string("Sitemap URL to monitor."),
|
|
830
|
+
include: s.array("URL path patterns to include (max 50).", s.string("include entry value.")),
|
|
831
|
+
exclude: s.array("URL path patterns to exclude (max 50).", s.string("exclude entry value.")),
|
|
832
|
+
max_urls: s.integer("Maximum number of sitemap URLs to track (capped at 10,000)."),
|
|
833
|
+
}),
|
|
834
|
+
s.looseObject("target value.", {
|
|
835
|
+
type: s.string("Use `extract` to watch structured data across selected pages."),
|
|
836
|
+
url: s.string("Root URL to extract structured data from."),
|
|
837
|
+
schema: s.looseObject("JSON Schema for page selection and the baseline snapshot. Changes return diffs and evidence.", {}),
|
|
838
|
+
instructions: s.string("Natural-language instructions guiding which pages and facts to track and which changes to report."),
|
|
839
|
+
max_pages: s.integer("Maximum number of pages to track."),
|
|
840
|
+
max_depth: s.integer("Optional maximum link depth from the starting URL (0 = only the starting page)."),
|
|
841
|
+
follow_subdomains: s.boolean("Allow page discovery on subdomains of the target site."),
|
|
842
|
+
}),
|
|
843
|
+
]),
|
|
844
|
+
change_detection: s.anyOf("How changes are judged. Defaults to `semantic` for extract targets and page targets with `instructions`, otherwise `exact`.", [
|
|
845
|
+
s.looseObject("Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.", {
|
|
846
|
+
type: s.string("Use `exact` to compare visible text or sitemap URLs."),
|
|
847
|
+
}),
|
|
848
|
+
s.looseObject("Detect meaningful content changes using the target’s instructions and optional schema.", {
|
|
849
|
+
type: s.string("Use `semantic` to judge changes against the target instructions."),
|
|
850
|
+
confidence_threshold: s.number("Minimum confidence required to report a meaningful change, from 0 to 1."),
|
|
851
|
+
}),
|
|
852
|
+
]),
|
|
853
|
+
schedule: s.anyOf("How often the monitor runs. Defaults to once a day.", [
|
|
854
|
+
s.looseObject("Run the monitor on a fixed interval defined by a frequency and a unit, e.g. every 6 hours or every 2 days. The total interval (frequency × unit) must be between 10 minutes and 1 year.", {
|
|
855
|
+
type: s.string("Use `interval` to run on a repeating schedule."),
|
|
856
|
+
frequency: s.integer("Number of units between runs. The resulting interval (frequency × unit) must be at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes; maximum 365 when unit is days)."),
|
|
857
|
+
unit: s.string("Time unit used with `frequency` to set the run interval."),
|
|
858
|
+
}),
|
|
859
|
+
]),
|
|
860
|
+
webhook: s.anyOf("Webhook destination and delivery settings. Null means no webhook is configured.", [
|
|
861
|
+
s.looseObject("webhook value.", {
|
|
862
|
+
url: s.string("Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted messages."),
|
|
863
|
+
events: s.array("Events to deliver. Defaults to `change.detected`; `run.completed` also includes unchanged runs.", s.string("events entry value.")),
|
|
864
|
+
retry: s.looseObject("Webhook retry settings. Use {} for the default schedule.", {}),
|
|
865
|
+
secret: s.string("API-generated signing secret. Visible only with full access or `monitors:write` permission."),
|
|
866
|
+
}),
|
|
867
|
+
s.literal(null, {
|
|
868
|
+
description: "webhook value.",
|
|
869
|
+
}),
|
|
870
|
+
]),
|
|
871
|
+
status: s.string('Current state. Failed monitors keep running; paused monitors must be resumed with `status: "active"`.'),
|
|
872
|
+
last_run_at: s.nullable(s.string("last run at value.")),
|
|
873
|
+
last_change_at: s.nullable(s.string("last change at value.")),
|
|
874
|
+
next_run_at: s.nullable(s.string("When the next scheduled run is due; null while paused.")),
|
|
875
|
+
last_error: s.anyOf("Error from the most recent failed run; null when the last run succeeded.", [
|
|
876
|
+
s.looseObject("last error value.", {
|
|
877
|
+
code: s.string("code value."),
|
|
878
|
+
message: s.string("message value."),
|
|
879
|
+
}),
|
|
880
|
+
s.literal(null, {
|
|
881
|
+
description: "last error value.",
|
|
882
|
+
}),
|
|
883
|
+
]),
|
|
884
|
+
webhook_failure: s.anyOf("Present while webhook deliveries are failing consecutively; null when deliveries are healthy or no webhook is configured. Cleared on the next successful delivery and when the webhook URL changes.", [
|
|
885
|
+
s.looseObject("webhook failure value.", {
|
|
886
|
+
consecutive_failures: s.integer("Number of consecutive delivery attempts that did not succeed."),
|
|
887
|
+
last_status: s.string("Outcome of the most recent failed delivery. rejected means a non-2xx response; failed means no HTTP response was received; skipped_unsafe_url means the URL failed the public-endpoint safety check."),
|
|
888
|
+
last_message: s.string("Human-readable description of the most recent failure."),
|
|
889
|
+
last_failed_at: s.string("last failed at value."),
|
|
890
|
+
}),
|
|
891
|
+
s.literal(null, {
|
|
892
|
+
description: "webhook failure value.",
|
|
893
|
+
}),
|
|
894
|
+
]),
|
|
895
|
+
created_at: s.string("created at value."),
|
|
896
|
+
updated_at: s.string("updated at value."),
|
|
897
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
898
|
+
baseline: s.anyOf("Comparison baseline, included on Retrieve. Null until capture completes or after target changes.", [
|
|
899
|
+
s.looseObject("Current baseline of a `page` monitor: the visible page text as last observed.", {
|
|
900
|
+
text: s.string("The page's visible text as last observed."),
|
|
901
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
902
|
+
}),
|
|
903
|
+
s.looseObject("Current baseline of a `sitemap` monitor: the normalized URL set as last observed.", {
|
|
904
|
+
urls: s.array("The sitemap URLs as last observed (sorted, normalized).", s.string("urls entry value.")),
|
|
905
|
+
url_count: s.integer("Number of URLs in the baseline."),
|
|
906
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
907
|
+
}),
|
|
908
|
+
s.looseObject("Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted.", {
|
|
909
|
+
data: s.unknown("Latest structured snapshot matching the extraction schema, refreshed at most daily; `null` before capture."),
|
|
910
|
+
urls_analyzed: s.array("The page URLs the monitor tracks and analyzes for changes.", s.string("urls analyzed entry value.")),
|
|
911
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
912
|
+
}),
|
|
913
|
+
s.literal(null, {
|
|
914
|
+
description: "baseline value.",
|
|
915
|
+
}),
|
|
916
|
+
]),
|
|
917
|
+
key_metadata: keyMetadataSchema,
|
|
918
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
919
|
+
});
|
|
920
|
+
export const delete_monitorOutputSchema = s.looseObject("Delete a monitor response.", {
|
|
921
|
+
id: s.string("id value."),
|
|
922
|
+
deleted: s.boolean("deleted value."),
|
|
923
|
+
key_metadata: keyMetadataSchema,
|
|
924
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
925
|
+
});
|
|
926
|
+
export const list_monitor_runsOutputSchema = s.looseObject("List monitor runs response.", {
|
|
927
|
+
data: s.array("data value.", s.looseObject("data entry value.", {
|
|
928
|
+
webhook_delivery_ids: s.array("Webhook delivery IDs for this run.", s.string("webhook delivery ids entry value.")),
|
|
929
|
+
id: s.string("id value."),
|
|
930
|
+
monitor_id: s.string("monitor id value."),
|
|
931
|
+
status: s.string("Lifecycle status of a run. `skipped` runs never executed — see `skip_reason` (insufficient credits, monitor paused, or superseded by a concurrent run)."),
|
|
932
|
+
run_type: s.string("A baseline run follows creation or a target or detection change."),
|
|
933
|
+
target_type: s.string("target type value."),
|
|
934
|
+
change_detection_type: s.string("change detection type value."),
|
|
935
|
+
started_at: s.nullable(s.string("started at value.")),
|
|
936
|
+
completed_at: s.nullable(s.string("completed at value.")),
|
|
937
|
+
change_detected: s.boolean("change detected value."),
|
|
938
|
+
change_id: s.nullable(s.string("change id value.")),
|
|
939
|
+
baseline_created: s.boolean("True when this run established the monitor's initial baseline; baseline runs perform no change detection."),
|
|
940
|
+
credits_charged: s.integer("Credits charged for this run (0 for skipped/failed runs)."),
|
|
941
|
+
skip_reason: s.nullable(s.string("Why a skipped run never executed; null unless status is `skipped`.")),
|
|
942
|
+
error: s.anyOf("error value.", [
|
|
943
|
+
s.looseObject("error value.", {}),
|
|
944
|
+
s.literal(null, {
|
|
945
|
+
description: "error value.",
|
|
946
|
+
}),
|
|
947
|
+
]),
|
|
948
|
+
webhook_delivery: s.looseObject("Deprecated. Use `webhook_deliveries` for all attempts.", {}),
|
|
949
|
+
webhook_deliveries: s.array("All webhook deliveries attempted by this run — one per subscribed event that fired. Omitted when no webhook was attempted, including runs created before event selection was added.", s.looseObject("webhook deliveries entry value.", {})),
|
|
950
|
+
})),
|
|
951
|
+
has_more: s.boolean("has more value."),
|
|
952
|
+
next_cursor: s.nullable(s.string("next cursor value.")),
|
|
953
|
+
key_metadata: keyMetadataSchema,
|
|
954
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
955
|
+
});
|
|
956
|
+
export const get_monitor_runOutputSchema = s.looseObject("Retrieve a monitor run response.", {
|
|
957
|
+
webhook_delivery_ids: s.array("Webhook delivery IDs for this run.", s.string("webhook delivery ids entry value.")),
|
|
958
|
+
id: s.string("id value."),
|
|
959
|
+
monitor_id: s.string("monitor id value."),
|
|
960
|
+
status: s.string("Lifecycle status of a run. `skipped` runs never executed — see `skip_reason` (insufficient credits, monitor paused, or superseded by a concurrent run)."),
|
|
961
|
+
run_type: s.string("A baseline run follows creation or a target or detection change."),
|
|
962
|
+
target_type: s.string("target type value."),
|
|
963
|
+
change_detection_type: s.string("change detection type value."),
|
|
964
|
+
started_at: s.nullable(s.string("started at value.")),
|
|
965
|
+
completed_at: s.nullable(s.string("completed at value.")),
|
|
966
|
+
change_detected: s.boolean("change detected value."),
|
|
967
|
+
change_id: s.nullable(s.string("change id value.")),
|
|
968
|
+
baseline_created: s.boolean("True when this run established the monitor's initial baseline; baseline runs perform no change detection."),
|
|
969
|
+
credits_charged: s.integer("Credits charged for this run (0 for skipped/failed runs)."),
|
|
970
|
+
skip_reason: s.nullable(s.string("Why a skipped run never executed; null unless status is `skipped`.")),
|
|
971
|
+
error: s.anyOf("error value.", [
|
|
972
|
+
s.looseObject("error value.", {
|
|
973
|
+
code: s.string("code value."),
|
|
974
|
+
message: s.string("message value."),
|
|
975
|
+
}),
|
|
976
|
+
s.literal(null, {
|
|
977
|
+
description: "error value.",
|
|
978
|
+
}),
|
|
979
|
+
]),
|
|
980
|
+
webhook_delivery: s.looseObject("Deprecated. Use `webhook_deliveries` for all attempts.", {
|
|
981
|
+
delivery_id: s.string("Delivery ID for status checks and retries, when available."),
|
|
982
|
+
event_id: s.string("Identifier sent in the X-Context-Id header."),
|
|
983
|
+
event: s.string("The event this delivery carried. Deliveries recorded before event selection existed report change.detected."),
|
|
984
|
+
status: s.string("Outcome of the delivery attempt. Any 2xx response counts as delivered."),
|
|
985
|
+
http_status: s.nullable(s.integer("The endpoint's final HTTP response status, or null when no response was received.")),
|
|
986
|
+
attempted_at: s.string("attempted at value."),
|
|
987
|
+
error: s.anyOf("error value.", [
|
|
988
|
+
s.looseObject("error value.", {}),
|
|
989
|
+
s.literal(null, {
|
|
990
|
+
description: "error value.",
|
|
991
|
+
}),
|
|
992
|
+
]),
|
|
993
|
+
}),
|
|
994
|
+
webhook_deliveries: s.array("All webhook deliveries attempted by this run — one per subscribed event that fired. Omitted when no webhook was attempted, including runs created before event selection was added.", s.looseObject("webhook deliveries entry value.", {
|
|
995
|
+
delivery_id: s.string("Delivery ID for status checks and retries, when available."),
|
|
996
|
+
event_id: s.string("Identifier sent in the X-Context-Id header."),
|
|
997
|
+
event: s.string("The event this delivery carried. Deliveries recorded before event selection existed report change.detected."),
|
|
998
|
+
status: s.string("Outcome of the delivery attempt. Any 2xx response counts as delivered."),
|
|
999
|
+
http_status: s.nullable(s.integer("The endpoint's final HTTP response status, or null when no response was received.")),
|
|
1000
|
+
attempted_at: s.string("attempted at value."),
|
|
1001
|
+
error: s.anyOf("error value.", [
|
|
1002
|
+
s.looseObject("error value.", {}),
|
|
1003
|
+
s.literal(null, {
|
|
1004
|
+
description: "error value.",
|
|
1005
|
+
}),
|
|
1006
|
+
]),
|
|
1007
|
+
})),
|
|
1008
|
+
key_metadata: keyMetadataSchema,
|
|
1009
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1010
|
+
});
|
|
1011
|
+
export const list_monitor_changesOutputSchema = s.looseObject("List monitor changes response.", {
|
|
1012
|
+
data: s.array("data value.", s.looseObject("Detected change, including applicable diffs, URLs, and supporting evidence.", {
|
|
1013
|
+
mode: s.string("Always `web`. Optional."),
|
|
1014
|
+
id: s.string("id value."),
|
|
1015
|
+
monitor_id: s.string("monitor id value."),
|
|
1016
|
+
run_id: s.string("The run that detected this change."),
|
|
1017
|
+
target_type: s.string("target type value."),
|
|
1018
|
+
change_detection_type: s.string("change detection type value."),
|
|
1019
|
+
title: s.string("title value."),
|
|
1020
|
+
summary: s.string("summary value."),
|
|
1021
|
+
detected_at: s.string("detected at value."),
|
|
1022
|
+
url: s.string("url value."),
|
|
1023
|
+
importance: s.string("importance value."),
|
|
1024
|
+
confidence: s.number("confidence value."),
|
|
1025
|
+
diff: s.string("Text diff between the previous and current page baseline (page targets)."),
|
|
1026
|
+
before_text_excerpt: s.string("before text excerpt value."),
|
|
1027
|
+
after_text_excerpt: s.string("after text excerpt value."),
|
|
1028
|
+
added_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("added urls entry value.")),
|
|
1029
|
+
removed_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("removed urls entry value.")),
|
|
1030
|
+
added_url_count: s.integer("added url count value."),
|
|
1031
|
+
removed_url_count: s.integer("removed url count value."),
|
|
1032
|
+
matched_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("matched urls entry value.")),
|
|
1033
|
+
matched_url_count: s.integer("matched url count value."),
|
|
1034
|
+
evidence: s.array("evidence value.", s.looseObject("evidence entry value.", {})),
|
|
1035
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
1036
|
+
})),
|
|
1037
|
+
has_more: s.boolean("has more value."),
|
|
1038
|
+
next_cursor: s.nullable(s.string("next cursor value.")),
|
|
1039
|
+
key_metadata: keyMetadataSchema,
|
|
1040
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1041
|
+
});
|
|
1042
|
+
export const list_account_runsOutputSchema = s.looseObject("List runs for all monitors response.", {
|
|
1043
|
+
data: s.array("data value.", s.looseObject("data entry value.", {
|
|
1044
|
+
webhook_delivery_ids: s.array("Webhook delivery IDs for this run.", s.string("webhook delivery ids entry value.")),
|
|
1045
|
+
id: s.string("id value."),
|
|
1046
|
+
monitor_id: s.string("monitor id value."),
|
|
1047
|
+
status: s.string("Lifecycle status of a run. `skipped` runs never executed — see `skip_reason` (insufficient credits, monitor paused, or superseded by a concurrent run)."),
|
|
1048
|
+
run_type: s.string("A baseline run follows creation or a target or detection change."),
|
|
1049
|
+
target_type: s.string("target type value."),
|
|
1050
|
+
change_detection_type: s.string("change detection type value."),
|
|
1051
|
+
started_at: s.nullable(s.string("started at value.")),
|
|
1052
|
+
completed_at: s.nullable(s.string("completed at value.")),
|
|
1053
|
+
change_detected: s.boolean("change detected value."),
|
|
1054
|
+
change_id: s.nullable(s.string("change id value.")),
|
|
1055
|
+
baseline_created: s.boolean("True when this run established the monitor's initial baseline; baseline runs perform no change detection."),
|
|
1056
|
+
credits_charged: s.integer("Credits charged for this run (0 for skipped/failed runs)."),
|
|
1057
|
+
skip_reason: s.nullable(s.string("Why a skipped run never executed; null unless status is `skipped`.")),
|
|
1058
|
+
error: s.anyOf("error value.", [
|
|
1059
|
+
s.looseObject("error value.", {}),
|
|
1060
|
+
s.literal(null, {
|
|
1061
|
+
description: "error value.",
|
|
1062
|
+
}),
|
|
1063
|
+
]),
|
|
1064
|
+
webhook_delivery: s.looseObject("Deprecated. Use `webhook_deliveries` for all attempts.", {}),
|
|
1065
|
+
webhook_deliveries: s.array("All webhook deliveries attempted by this run — one per subscribed event that fired. Omitted when no webhook was attempted, including runs created before event selection was added.", s.looseObject("webhook deliveries entry value.", {})),
|
|
1066
|
+
})),
|
|
1067
|
+
has_more: s.boolean("has more value."),
|
|
1068
|
+
next_cursor: s.nullable(s.string("next cursor value.")),
|
|
1069
|
+
key_metadata: keyMetadataSchema,
|
|
1070
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1071
|
+
});
|
|
1072
|
+
export const list_monitor_credit_usageOutputSchema = s.looseObject("Retrieve monitor credit usage response.", {
|
|
1073
|
+
data: s.array("data value.", s.looseObject("Monitor credit usage", {
|
|
1074
|
+
monitor_id: s.string("monitor id value."),
|
|
1075
|
+
name: s.string("Monitor name (falls back to the id when the monitor was deleted)."),
|
|
1076
|
+
credits: s.integer("Credits charged to this monitor over the window."),
|
|
1077
|
+
runs: s.integer("Number of billed runs over the window."),
|
|
1078
|
+
})),
|
|
1079
|
+
total_credits: s.integer("Sum of credits across all monitors in the window."),
|
|
1080
|
+
key_metadata: s.looseObject("Credits this request used and your remaining balance.", {
|
|
1081
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
1082
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
1083
|
+
}),
|
|
1084
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1085
|
+
});
|
|
1086
|
+
export const get_monitor_limitsOutputSchema = s.looseObject("Retrieve monitor limits response.", {
|
|
1087
|
+
monitors_used: s.integer("Number of monitors the account currently has."),
|
|
1088
|
+
monitors_limit: s.integer("Most monitors you can have: your plan's allowance or a custom limit."),
|
|
1089
|
+
plan: s.string("`starter` means Developer; `pro` means Pro or Growth; `scale` means Scale or Enterprise."),
|
|
1090
|
+
key_metadata: keyMetadataSchema,
|
|
1091
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1092
|
+
});
|
|
1093
|
+
export const list_changesOutputSchema = s.looseObject("List changes for all monitors response.", {
|
|
1094
|
+
data: s.array("data value.", s.looseObject("Detected change, including applicable diffs, URLs, and supporting evidence.", {
|
|
1095
|
+
mode: s.string("Always `web`. Optional."),
|
|
1096
|
+
id: s.string("id value."),
|
|
1097
|
+
monitor_id: s.string("monitor id value."),
|
|
1098
|
+
run_id: s.string("The run that detected this change."),
|
|
1099
|
+
target_type: s.string("target type value."),
|
|
1100
|
+
change_detection_type: s.string("change detection type value."),
|
|
1101
|
+
title: s.string("title value."),
|
|
1102
|
+
summary: s.string("summary value."),
|
|
1103
|
+
detected_at: s.string("detected at value."),
|
|
1104
|
+
url: s.string("url value."),
|
|
1105
|
+
importance: s.string("importance value."),
|
|
1106
|
+
confidence: s.number("confidence value."),
|
|
1107
|
+
diff: s.string("Text diff between the previous and current page baseline (page targets)."),
|
|
1108
|
+
before_text_excerpt: s.string("before text excerpt value."),
|
|
1109
|
+
after_text_excerpt: s.string("after text excerpt value."),
|
|
1110
|
+
added_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("added urls entry value.")),
|
|
1111
|
+
removed_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("removed urls entry value.")),
|
|
1112
|
+
added_url_count: s.integer("added url count value."),
|
|
1113
|
+
removed_url_count: s.integer("removed url count value."),
|
|
1114
|
+
matched_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("matched urls entry value.")),
|
|
1115
|
+
matched_url_count: s.integer("matched url count value."),
|
|
1116
|
+
evidence: s.array("evidence value.", s.looseObject("evidence entry value.", {})),
|
|
1117
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
1118
|
+
})),
|
|
1119
|
+
has_more: s.boolean("has more value."),
|
|
1120
|
+
next_cursor: s.nullable(s.string("next cursor value.")),
|
|
1121
|
+
key_metadata: keyMetadataSchema,
|
|
1122
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1123
|
+
});
|
|
1124
|
+
export const get_changeOutputSchema = s.looseObject("Retrieve a monitor change response.", {
|
|
1125
|
+
mode: s.string("Always `web`. Optional."),
|
|
1126
|
+
id: s.string("id value."),
|
|
1127
|
+
monitor_id: s.string("monitor id value."),
|
|
1128
|
+
run_id: s.string("The run that detected this change."),
|
|
1129
|
+
target_type: s.string("target type value."),
|
|
1130
|
+
change_detection_type: s.string("change detection type value."),
|
|
1131
|
+
title: s.string("title value."),
|
|
1132
|
+
summary: s.string("summary value."),
|
|
1133
|
+
detected_at: s.string("detected at value."),
|
|
1134
|
+
url: s.string("url value."),
|
|
1135
|
+
importance: s.string("importance value."),
|
|
1136
|
+
confidence: s.number("confidence value."),
|
|
1137
|
+
diff: s.string("Text diff between the previous and current page baseline (page targets)."),
|
|
1138
|
+
before_text_excerpt: s.string("before text excerpt value."),
|
|
1139
|
+
after_text_excerpt: s.string("after text excerpt value."),
|
|
1140
|
+
added_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("added urls entry value.")),
|
|
1141
|
+
removed_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("removed urls entry value.")),
|
|
1142
|
+
added_url_count: s.integer("added url count value."),
|
|
1143
|
+
removed_url_count: s.integer("removed url count value."),
|
|
1144
|
+
matched_urls: s.array("At most 500 URLs are included; the corresponding count field is always exact.", s.string("matched urls entry value.")),
|
|
1145
|
+
matched_url_count: s.integer("matched url count value."),
|
|
1146
|
+
evidence: s.array("evidence value.", s.looseObject("evidence entry value.", {
|
|
1147
|
+
url: s.string("Optional URL the evidence relates to. Absent for whole-target diffs."),
|
|
1148
|
+
before: s.string("Snapshot of the content before the change."),
|
|
1149
|
+
after: s.string("Snapshot of the content after the change."),
|
|
1150
|
+
})),
|
|
1151
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
1152
|
+
key_metadata: keyMetadataSchema,
|
|
1153
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1154
|
+
});
|
|
1155
|
+
export const run_monitor_nowOutputSchema = s.looseObject("Run a monitor now response.", {
|
|
1156
|
+
monitor_id: s.string("monitor id value."),
|
|
1157
|
+
run_id: s.string("ID of the queued run; pass it to Retrieve a monitor run."),
|
|
1158
|
+
queued: s.boolean("queued value."),
|
|
1159
|
+
key_metadata: keyMetadataSchema,
|
|
1160
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1161
|
+
});
|
|
1162
|
+
export const rotate_monitor_webhook_secretOutputSchema = s.looseObject("Rotate a monitor webhook secret response.", {
|
|
1163
|
+
mode: s.string("Always `web`. Optional."),
|
|
1164
|
+
id: s.string("id value."),
|
|
1165
|
+
name: s.string("name value."),
|
|
1166
|
+
target: s.anyOf("What to watch: a page, a sitemap, or data extracted from a site.", [
|
|
1167
|
+
s.looseObject("Watch a single web page. Exact detection reports visible-text diffs; semantic detection judges confirmed stable diffs against `instructions`.", {
|
|
1168
|
+
type: s.string("Use `page` to watch one web page."),
|
|
1169
|
+
url: s.string("Public HTTP(S) page URL to monitor."),
|
|
1170
|
+
instructions: s.string("Plain-language goal describing which page changes matter. When provided without change_detection, semantic detection is inferred."),
|
|
1171
|
+
normalize_whitespace: s.boolean("Normalize whitespace before comparing or analyzing text."),
|
|
1172
|
+
include_selectors: s.array("Monitor these CSS-selected regions. Empty or omitted uses main content. Changes create a new baseline.", s.string("include selectors entry value.")),
|
|
1173
|
+
exclude_selectors: s.array("Remove matching regions after inclusions. Changes create a new baseline.", s.string("exclude selectors entry value.")),
|
|
1174
|
+
actions: s.nullable(s.array("Optional browser actions executed in array order after the page loads, before content is captured, on every run. Requires a paid plan. Maximum: 5 actions. Changes create a new baseline.", s.anyOf("Browser action discriminated by `do`. Each variant exposes only its applicable fields.", [
|
|
1175
|
+
s.looseObject("Pause for a fixed number of milliseconds before continuing to the next action.", {}),
|
|
1176
|
+
s.looseObject("Resolve and perform one natural-language browser action.", {}),
|
|
1177
|
+
s.looseObject("Scroll the page or a selected scrollable container, waiting adaptively for content and dimensions to settle after each iteration.", {}),
|
|
1178
|
+
]))),
|
|
1179
|
+
}),
|
|
1180
|
+
s.looseObject("Watch a site’s URL inventory for confirmed additions and removals.", {
|
|
1181
|
+
type: s.string("Use `sitemap` to watch a site for added or removed URLs."),
|
|
1182
|
+
url: s.string("Sitemap URL to monitor."),
|
|
1183
|
+
include: s.array("URL path patterns to include (max 50).", s.string("include entry value.")),
|
|
1184
|
+
exclude: s.array("URL path patterns to exclude (max 50).", s.string("exclude entry value.")),
|
|
1185
|
+
max_urls: s.integer("Maximum number of sitemap URLs to track (capped at 10,000)."),
|
|
1186
|
+
}),
|
|
1187
|
+
s.looseObject("target value.", {
|
|
1188
|
+
type: s.string("Use `extract` to watch structured data across selected pages."),
|
|
1189
|
+
url: s.string("Root URL to extract structured data from."),
|
|
1190
|
+
schema: s.looseObject("JSON Schema for page selection and the baseline snapshot. Changes return diffs and evidence.", {}),
|
|
1191
|
+
instructions: s.string("Natural-language instructions guiding which pages and facts to track and which changes to report."),
|
|
1192
|
+
max_pages: s.integer("Maximum number of pages to track."),
|
|
1193
|
+
max_depth: s.integer("Optional maximum link depth from the starting URL (0 = only the starting page)."),
|
|
1194
|
+
follow_subdomains: s.boolean("Allow page discovery on subdomains of the target site."),
|
|
1195
|
+
}),
|
|
1196
|
+
]),
|
|
1197
|
+
change_detection: s.anyOf("How changes are judged. Defaults to `semantic` for extract targets and page targets with `instructions`, otherwise `exact`.", [
|
|
1198
|
+
s.looseObject("Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.", {
|
|
1199
|
+
type: s.string("Use `exact` to compare visible text or sitemap URLs."),
|
|
1200
|
+
}),
|
|
1201
|
+
s.looseObject("Detect meaningful content changes using the target’s instructions and optional schema.", {
|
|
1202
|
+
type: s.string("Use `semantic` to judge changes against the target instructions."),
|
|
1203
|
+
confidence_threshold: s.number("Minimum confidence required to report a meaningful change, from 0 to 1."),
|
|
1204
|
+
}),
|
|
1205
|
+
]),
|
|
1206
|
+
schedule: s.anyOf("How often the monitor runs. Defaults to once a day.", [
|
|
1207
|
+
s.looseObject("Run the monitor on a fixed interval defined by a frequency and a unit, e.g. every 6 hours or every 2 days. The total interval (frequency × unit) must be between 10 minutes and 1 year.", {
|
|
1208
|
+
type: s.string("Use `interval` to run on a repeating schedule."),
|
|
1209
|
+
frequency: s.integer("Number of units between runs. The resulting interval (frequency × unit) must be at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes; maximum 365 when unit is days)."),
|
|
1210
|
+
unit: s.string("Time unit used with `frequency` to set the run interval."),
|
|
1211
|
+
}),
|
|
1212
|
+
]),
|
|
1213
|
+
webhook: s.anyOf("Webhook destination and delivery settings. Null means no webhook is configured.", [
|
|
1214
|
+
s.looseObject("webhook value.", {
|
|
1215
|
+
url: s.string("Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted messages."),
|
|
1216
|
+
events: s.array("Events to deliver. Defaults to `change.detected`; `run.completed` also includes unchanged runs.", s.string("events entry value.")),
|
|
1217
|
+
retry: s.looseObject("Webhook retry settings. Use {} for the default schedule.", {}),
|
|
1218
|
+
secret: s.string("API-generated signing secret. Visible only with full access or `monitors:write` permission."),
|
|
1219
|
+
}),
|
|
1220
|
+
s.literal(null, {
|
|
1221
|
+
description: "webhook value.",
|
|
1222
|
+
}),
|
|
1223
|
+
]),
|
|
1224
|
+
status: s.string('Current state. Failed monitors keep running; paused monitors must be resumed with `status: "active"`.'),
|
|
1225
|
+
last_run_at: s.nullable(s.string("last run at value.")),
|
|
1226
|
+
last_change_at: s.nullable(s.string("last change at value.")),
|
|
1227
|
+
next_run_at: s.nullable(s.string("When the next scheduled run is due; null while paused.")),
|
|
1228
|
+
last_error: s.anyOf("Error from the most recent failed run; null when the last run succeeded.", [
|
|
1229
|
+
s.looseObject("last error value.", {
|
|
1230
|
+
code: s.string("code value."),
|
|
1231
|
+
message: s.string("message value."),
|
|
1232
|
+
}),
|
|
1233
|
+
s.literal(null, {
|
|
1234
|
+
description: "last error value.",
|
|
1235
|
+
}),
|
|
1236
|
+
]),
|
|
1237
|
+
webhook_failure: s.anyOf("Present while webhook deliveries are failing consecutively; null when deliveries are healthy or no webhook is configured. Cleared on the next successful delivery and when the webhook URL changes.", [
|
|
1238
|
+
s.looseObject("webhook failure value.", {
|
|
1239
|
+
consecutive_failures: s.integer("Number of consecutive delivery attempts that did not succeed."),
|
|
1240
|
+
last_status: s.string("Outcome of the most recent failed delivery. rejected means a non-2xx response; failed means no HTTP response was received; skipped_unsafe_url means the URL failed the public-endpoint safety check."),
|
|
1241
|
+
last_message: s.string("Human-readable description of the most recent failure."),
|
|
1242
|
+
last_failed_at: s.string("last failed at value."),
|
|
1243
|
+
}),
|
|
1244
|
+
s.literal(null, {
|
|
1245
|
+
description: "webhook failure value.",
|
|
1246
|
+
}),
|
|
1247
|
+
]),
|
|
1248
|
+
created_at: s.string("created at value."),
|
|
1249
|
+
updated_at: s.string("updated at value."),
|
|
1250
|
+
tags: s.array("Labels for filtering monitors, their changes, and their usage.", s.string("tags entry value.")),
|
|
1251
|
+
baseline: s.anyOf("Comparison baseline, included on Retrieve. Null until capture completes or after target changes.", [
|
|
1252
|
+
s.looseObject("Current baseline of a `page` monitor: the visible page text as last observed.", {
|
|
1253
|
+
text: s.string("The page's visible text as last observed."),
|
|
1254
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
1255
|
+
}),
|
|
1256
|
+
s.looseObject("Current baseline of a `sitemap` monitor: the normalized URL set as last observed.", {
|
|
1257
|
+
urls: s.array("The sitemap URLs as last observed (sorted, normalized).", s.string("urls entry value.")),
|
|
1258
|
+
url_count: s.integer("Number of URLs in the baseline."),
|
|
1259
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
1260
|
+
}),
|
|
1261
|
+
s.looseObject("Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted.", {
|
|
1262
|
+
data: s.unknown("Latest structured snapshot matching the extraction schema, refreshed at most daily; `null` before capture."),
|
|
1263
|
+
urls_analyzed: s.array("The page URLs the monitor tracks and analyzes for changes.", s.string("urls analyzed entry value.")),
|
|
1264
|
+
captured_at: s.string("When this baseline was last captured or replaced."),
|
|
1265
|
+
}),
|
|
1266
|
+
s.literal(null, {
|
|
1267
|
+
description: "baseline value.",
|
|
1268
|
+
}),
|
|
1269
|
+
]),
|
|
1270
|
+
key_metadata: s.looseObject("Credits this request used and your remaining balance.", {
|
|
1271
|
+
credits_consumed: s.integer("Credits charged for this request."),
|
|
1272
|
+
credits_remaining: s.integer("Credits remaining for your organization."),
|
|
1273
|
+
}),
|
|
1274
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1275
|
+
});
|
|
1276
|
+
export const submit_batchOutputSchema = s.looseObject("Submit a batch response.", {
|
|
1277
|
+
id: s.string("Batch ID. Poll GET /batch/{batch_id} with it."),
|
|
1278
|
+
status: s.string("Always `queued`. An accepted batch has not started yet."),
|
|
1279
|
+
mode: s.string("How pages will be selected."),
|
|
1280
|
+
tags: s.array("Tags stored on the batch.", s.string("tags entry value.")),
|
|
1281
|
+
crawl: s.anyOf("How the crawl was configured. Null for scrape batches.", [
|
|
1282
|
+
s.looseObject("crawl value.", {
|
|
1283
|
+
source: s.anyOf("Where the crawl started.", [
|
|
1284
|
+
s.looseObject("The crawl discovered pages by following links from one URL.", {}),
|
|
1285
|
+
s.looseObject("The crawl scraped the pages listed in the domain's sitemap.", {}),
|
|
1286
|
+
]),
|
|
1287
|
+
max_pages: s.integer("The `maxUrls` submitted with the crawl. A sitemap crawl scrapes only the URLs its sitemap actually lists, up to this many, so `input.reserved` is often lower."),
|
|
1288
|
+
max_depth: s.nullable(s.integer("Link depth limit. Always 0 for a sitemap crawl, which never follows links off its URLs; null when a `start_url` crawl set no limit.")),
|
|
1289
|
+
follow_subdomains: s.boolean("Whether links to subdomains were followed. Always false for a sitemap crawl."),
|
|
1290
|
+
url_pattern: s.nullable(s.string("Regex pattern URLs had to match to be crawled. Null when the crawl set none.")),
|
|
1291
|
+
exclude_url_pattern: s.nullable(s.string("Regex pattern URLs must not match to be crawled. Null when the crawl set none.")),
|
|
1292
|
+
languages: s.anyOf("Languages whose pages were followed; null when all languages were.", [
|
|
1293
|
+
s.string("languages value."),
|
|
1294
|
+
s.array("languages value.", s.string("languages entry value.")),
|
|
1295
|
+
s.literal(null, {
|
|
1296
|
+
description: "languages value.",
|
|
1297
|
+
}),
|
|
1298
|
+
]),
|
|
1299
|
+
}),
|
|
1300
|
+
s.literal(null, {
|
|
1301
|
+
description: "crawl value.",
|
|
1302
|
+
}),
|
|
1303
|
+
]),
|
|
1304
|
+
input: s.looseObject("What the submission accepted.", {
|
|
1305
|
+
reserved: s.integer("Pages accepted; progress counts toward this total."),
|
|
1306
|
+
reserved_is_ceiling: s.boolean("True when `reserved` is a crawl ceiling; false when it is an exact URL count."),
|
|
1307
|
+
submitted: s.nullable(s.integer("URLs in the list you sent, before validation and de-duplication. Null for a crawl, which is given a source rather than a list.")),
|
|
1308
|
+
duplicates: s.integer("URLs dropped before reserving because another entry resolved to the same page. Non-zero for sitemap crawls too, whose sitemaps routinely list a page more than once."),
|
|
1309
|
+
invalid: s.nullable(s.integer("Rejected input URLs; `null` for a crawl.")),
|
|
1310
|
+
}),
|
|
1311
|
+
credits: s.looseObject("What accepting this batch cost.", {
|
|
1312
|
+
reserved: s.integer("Credits held at submission."),
|
|
1313
|
+
}),
|
|
1314
|
+
created_at: s.string("When the batch was created."),
|
|
1315
|
+
invalid_urls: s.array("Rejected URLs (first 100).", s.looseObject("invalid urls entry value.", {
|
|
1316
|
+
url: s.string("Rejected URL."),
|
|
1317
|
+
reason: s.string("Why it was rejected."),
|
|
1318
|
+
})),
|
|
1319
|
+
cache_metadata: s.looseObject("Whether this response came from cache.", {
|
|
1320
|
+
status: s.string("Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass."),
|
|
1321
|
+
age_ms: s.integer("Age of the cached data in milliseconds. Zero for miss and zdr responses."),
|
|
1322
|
+
}),
|
|
1323
|
+
webhook_secret: s.string("Secret for verifying `X-Context-Signature`. Only submit returns it, so store it."),
|
|
1324
|
+
formats: s.looseObject("Outputs requested for each page. Matches input.data.formats on submission.", {
|
|
1325
|
+
html: s.boolean("Rendered HTML."),
|
|
1326
|
+
markdown: s.boolean("Page content as Markdown."),
|
|
1327
|
+
screenshot: s.boolean("A screenshot of the page."),
|
|
1328
|
+
images: s.boolean("Images found on the page."),
|
|
1329
|
+
bytes: s.boolean("The original HTTP response body."),
|
|
1330
|
+
parse: s.boolean("Fields extracted with custom rules or a prebuilt parser, returned as `parsed`."),
|
|
1331
|
+
highlights: s.boolean("Markdown excerpts relevant to `highlightsParams.query`."),
|
|
1332
|
+
json: s.boolean("An object matching `jsonParams.schema`, extracted from the page."),
|
|
1333
|
+
product: s.boolean("Product details such as name, price, and availability."),
|
|
1334
|
+
}),
|
|
1335
|
+
key_metadata: keyMetadataSchema,
|
|
1336
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1337
|
+
});
|
|
1338
|
+
export const list_batchesOutputSchema = s.looseObject("List batches response.", {
|
|
1339
|
+
data: s.array("Batches on this page.", s.looseObject("An asynchronous web scraping job.", {
|
|
1340
|
+
id: s.string("Batch ID."),
|
|
1341
|
+
status: s.string("Current state. `completed`, `cancelled`, and `failed` are final."),
|
|
1342
|
+
mode: s.string("`scrape` (URL list) or `crawl`."),
|
|
1343
|
+
tags: s.array("Tags stored on the batch at submission.", s.string("tags entry value.")),
|
|
1344
|
+
crawl: s.anyOf("How the crawl was configured. Null for scrape batches.", [
|
|
1345
|
+
s.looseObject("crawl value.", {}),
|
|
1346
|
+
s.literal(null, {
|
|
1347
|
+
description: "crawl value.",
|
|
1348
|
+
}),
|
|
1349
|
+
]),
|
|
1350
|
+
input: s.looseObject("What the submission accepted.", {}),
|
|
1351
|
+
progress: s.looseObject("Pages attempted so far. Use `status` to check completion.", {
|
|
1352
|
+
succeeded: s.integer("Pages scraped successfully."),
|
|
1353
|
+
failed: s.integer("Pages that could not be scraped."),
|
|
1354
|
+
pending: s.integer("Accepted pages not yet attempted. Unused crawl capacity is excluded after completion."),
|
|
1355
|
+
}),
|
|
1356
|
+
credits: s.looseObject("Batch credit usage and settlement.", {
|
|
1357
|
+
reserved: s.integer("Credits held when the batch was accepted."),
|
|
1358
|
+
refunded: s.integer("Credits returned for unsuccessful pages when the batch settles."),
|
|
1359
|
+
ocr_charged: s.integer("OCR usage charged when the batch settles."),
|
|
1360
|
+
net: s.integer("`reserved` minus `refunded` plus `ocr_charged`."),
|
|
1361
|
+
}),
|
|
1362
|
+
timing: s.looseObject("timing value.", {
|
|
1363
|
+
created_at: s.string("When the batch was created."),
|
|
1364
|
+
started_at: s.nullable(s.string("When processing started. Null while queued.")),
|
|
1365
|
+
completed_at: s.nullable(s.string("When processing finished. Null while active.")),
|
|
1366
|
+
}),
|
|
1367
|
+
page_errors: s.array("Individual page failures grouped by error code, sorted by count. Unrelated to `failure`, which is the batch itself failing.", s.looseObject("Page failures sharing one error code.", {})),
|
|
1368
|
+
failure: s.anyOf("Why the batch as a whole stopped. Null unless `status` is `failed`. Individual pages that failed are counted in `page_errors` instead.", [
|
|
1369
|
+
s.looseObject("failure value.", {}),
|
|
1370
|
+
s.literal(null, {
|
|
1371
|
+
description: "failure value.",
|
|
1372
|
+
}),
|
|
1373
|
+
]),
|
|
1374
|
+
results: s.nullable(s.looseObject("Result download links; null until the batch finishes. Files are deleted 180 days after the batch finishes.", {
|
|
1375
|
+
expires_at: s.string("When these links expire (24 hours after this response)."),
|
|
1376
|
+
files: s.array("Result files. Order is not guaranteed.", s.looseObject("files entry value.", {
|
|
1377
|
+
url: s.string("Temporary URL for a gzipped NDJSON file."),
|
|
1378
|
+
items: s.integer("Results in this file."),
|
|
1379
|
+
bytes: s.integer("Compressed file size in bytes."),
|
|
1380
|
+
})),
|
|
1381
|
+
})),
|
|
1382
|
+
formats: s.looseObject("Outputs requested for each page. Matches input.data.formats on submission.", {}),
|
|
1383
|
+
})),
|
|
1384
|
+
has_more: s.boolean("Whether another page is available."),
|
|
1385
|
+
next_cursor: s.nullable(s.string("Cursor for the next page.")),
|
|
1386
|
+
key_metadata: keyMetadataSchema,
|
|
1387
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1388
|
+
});
|
|
1389
|
+
export const get_batchOutputSchema = s.looseObject("Retrieve a batch response.", {
|
|
1390
|
+
id: s.string("Batch ID."),
|
|
1391
|
+
status: s.string("Current state. `completed`, `cancelled`, and `failed` are final."),
|
|
1392
|
+
mode: s.string("`scrape` (URL list) or `crawl`."),
|
|
1393
|
+
tags: s.array("Tags stored on the batch at submission.", s.string("tags entry value.")),
|
|
1394
|
+
crawl: s.anyOf("How the crawl was configured. Null for scrape batches.", [
|
|
1395
|
+
s.looseObject("crawl value.", {
|
|
1396
|
+
source: s.anyOf("Where the crawl started.", [
|
|
1397
|
+
s.looseObject("The crawl discovered pages by following links from one URL.", {}),
|
|
1398
|
+
s.looseObject("The crawl scraped the pages listed in the domain's sitemap.", {}),
|
|
1399
|
+
]),
|
|
1400
|
+
max_pages: s.integer("The `maxUrls` submitted with the crawl. A sitemap crawl scrapes only the URLs its sitemap actually lists, up to this many, so `input.reserved` is often lower."),
|
|
1401
|
+
max_depth: s.nullable(s.integer("Link depth limit. Always 0 for a sitemap crawl, which never follows links off its URLs; null when a `start_url` crawl set no limit.")),
|
|
1402
|
+
follow_subdomains: s.boolean("Whether links to subdomains were followed. Always false for a sitemap crawl."),
|
|
1403
|
+
url_pattern: s.nullable(s.string("Regex pattern URLs had to match to be crawled. Null when the crawl set none.")),
|
|
1404
|
+
exclude_url_pattern: s.nullable(s.string("Regex pattern URLs must not match to be crawled. Null when the crawl set none.")),
|
|
1405
|
+
languages: s.anyOf("Languages whose pages were followed; null when all languages were.", [
|
|
1406
|
+
s.string("languages value."),
|
|
1407
|
+
s.array("languages value.", s.string("languages entry value.")),
|
|
1408
|
+
s.literal(null, {
|
|
1409
|
+
description: "languages value.",
|
|
1410
|
+
}),
|
|
1411
|
+
]),
|
|
1412
|
+
}),
|
|
1413
|
+
s.literal(null, {
|
|
1414
|
+
description: "crawl value.",
|
|
1415
|
+
}),
|
|
1416
|
+
]),
|
|
1417
|
+
input: s.looseObject("What the submission accepted.", {
|
|
1418
|
+
reserved: s.integer("Pages accepted; progress counts toward this total."),
|
|
1419
|
+
reserved_is_ceiling: s.boolean("True when `reserved` is a crawl ceiling; false when it is an exact URL count."),
|
|
1420
|
+
submitted: s.nullable(s.integer("URLs in the list you sent, before validation and de-duplication. Null for a crawl, which is given a source rather than a list.")),
|
|
1421
|
+
duplicates: s.integer("URLs dropped before reserving because another entry resolved to the same page. Non-zero for sitemap crawls too, whose sitemaps routinely list a page more than once."),
|
|
1422
|
+
invalid: s.nullable(s.integer("Rejected input URLs; `null` for a crawl.")),
|
|
1423
|
+
}),
|
|
1424
|
+
progress: s.looseObject("Pages attempted so far. Use `status` to check completion.", {
|
|
1425
|
+
succeeded: s.integer("Pages scraped successfully."),
|
|
1426
|
+
failed: s.integer("Pages that could not be scraped."),
|
|
1427
|
+
pending: s.integer("Accepted pages not yet attempted. Unused crawl capacity is excluded after completion."),
|
|
1428
|
+
}),
|
|
1429
|
+
credits: s.looseObject("Batch credit usage and settlement.", {
|
|
1430
|
+
reserved: s.integer("Credits held when the batch was accepted."),
|
|
1431
|
+
refunded: s.integer("Credits returned for unsuccessful pages when the batch settles."),
|
|
1432
|
+
ocr_charged: s.integer("OCR usage charged when the batch settles."),
|
|
1433
|
+
net: s.integer("`reserved` minus `refunded` plus `ocr_charged`."),
|
|
1434
|
+
}),
|
|
1435
|
+
timing: s.looseObject("timing value.", {
|
|
1436
|
+
created_at: s.string("When the batch was created."),
|
|
1437
|
+
started_at: s.nullable(s.string("When processing started. Null while queued.")),
|
|
1438
|
+
completed_at: s.nullable(s.string("When processing finished. Null while active.")),
|
|
1439
|
+
}),
|
|
1440
|
+
page_errors: s.array("Individual page failures grouped by error code, sorted by count. Unrelated to `failure`, which is the batch itself failing.", s.looseObject("Page failures sharing one error code.", {
|
|
1441
|
+
code: s.string("Error code for these failures."),
|
|
1442
|
+
count: s.integer("Pages that failed with this code."),
|
|
1443
|
+
})),
|
|
1444
|
+
failure: s.anyOf("Why the batch as a whole stopped. Null unless `status` is `failed`. Individual pages that failed are counted in `page_errors` instead.", [
|
|
1445
|
+
s.looseObject("failure value.", {
|
|
1446
|
+
code: s.string("Why the batch itself stopped."),
|
|
1447
|
+
message: s.string("Human-readable explanation."),
|
|
1448
|
+
}),
|
|
1449
|
+
s.literal(null, {
|
|
1450
|
+
description: "failure value.",
|
|
1451
|
+
}),
|
|
1452
|
+
]),
|
|
1453
|
+
results: s.nullable(s.looseObject("Result download links; null until the batch finishes. Files are deleted 180 days after the batch finishes.", {
|
|
1454
|
+
expires_at: s.string("When these links expire (24 hours after this response)."),
|
|
1455
|
+
files: s.array("Result files. Order is not guaranteed.", s.looseObject("files entry value.", {
|
|
1456
|
+
url: s.string("Temporary URL for a gzipped NDJSON file."),
|
|
1457
|
+
items: s.integer("Results in this file."),
|
|
1458
|
+
bytes: s.integer("Compressed file size in bytes."),
|
|
1459
|
+
})),
|
|
1460
|
+
})),
|
|
1461
|
+
formats: s.looseObject("Outputs requested for each page. Matches input.data.formats on submission.", {
|
|
1462
|
+
html: s.boolean("Rendered HTML."),
|
|
1463
|
+
markdown: s.boolean("Page content as Markdown."),
|
|
1464
|
+
screenshot: s.boolean("A screenshot of the page."),
|
|
1465
|
+
images: s.boolean("Images found on the page."),
|
|
1466
|
+
bytes: s.boolean("The original HTTP response body."),
|
|
1467
|
+
parse: s.boolean("Fields extracted with custom rules or a prebuilt parser, returned as `parsed`."),
|
|
1468
|
+
highlights: s.boolean("Markdown excerpts relevant to `highlightsParams.query`."),
|
|
1469
|
+
json: s.boolean("An object matching `jsonParams.schema`, extracted from the page."),
|
|
1470
|
+
product: s.boolean("Product details such as name, price, and availability."),
|
|
1471
|
+
}),
|
|
1472
|
+
invalid_urls: s.array("Rejected URLs (first 100).", s.looseObject("invalid urls entry value.", {
|
|
1473
|
+
url: s.string("Rejected URL."),
|
|
1474
|
+
reason: s.string("Why it was rejected."),
|
|
1475
|
+
})),
|
|
1476
|
+
webhook_delivery_id: s.string("Batch completion delivery ID, when available."),
|
|
1477
|
+
key_metadata: keyMetadataSchema,
|
|
1478
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1479
|
+
});
|
|
1480
|
+
export const delete_batchOutputSchema = s.looseObject("Delete a batch response.", {
|
|
1481
|
+
id: s.string("ID of the deleted batch."),
|
|
1482
|
+
deleted: s.boolean("Always true on success."),
|
|
1483
|
+
key_metadata: keyMetadataSchema,
|
|
1484
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1485
|
+
});
|
|
1486
|
+
export const get_batch_resultsOutputSchema = s.looseObject("List batch results response.", {
|
|
1487
|
+
data: s.array("Result records on this page.", s.anyOf("One scrape outcome. result uses the single Scrape Anything response schema; itemId and meta identify your input.", [
|
|
1488
|
+
s.looseObject("At least one requested output succeeded. Check result.isPartial and each output success for incomplete results.", {
|
|
1489
|
+
url: s.string("URL as submitted, or as discovered by the crawl."),
|
|
1490
|
+
itemId: s.string("Your `itemId` from submission."),
|
|
1491
|
+
meta: s.looseObject("Caller-supplied metadata echoed from submission.", {}),
|
|
1492
|
+
status: s.string("status value."),
|
|
1493
|
+
result: {
|
|
1494
|
+
...scrape_webOutputSchema,
|
|
1495
|
+
description: "The same response as POST /web/scrape, including per-format success, failure, and partial results.",
|
|
1496
|
+
},
|
|
1497
|
+
credits_used: s.integer("Credits charged for this page, including OCR. Cached outputs use the same pricing as POST /web/scrape."),
|
|
1498
|
+
ocr_pages: s.integer("PDF pages recovered by OCR. Omitted when OCR did not run."),
|
|
1499
|
+
}),
|
|
1500
|
+
s.looseObject("A page the batch could not fetch.", {
|
|
1501
|
+
url: s.string("URL as submitted, or as discovered by the crawl."),
|
|
1502
|
+
itemId: s.string("Your `itemId` from submission."),
|
|
1503
|
+
meta: s.looseObject("Caller-supplied metadata echoed from submission.", {}),
|
|
1504
|
+
status: s.string("The page could not be scraped."),
|
|
1505
|
+
error_code: s.string("Why the page failed."),
|
|
1506
|
+
message: s.string("Human-readable failure detail."),
|
|
1507
|
+
result: {
|
|
1508
|
+
...scrape_webOutputSchema,
|
|
1509
|
+
description: "Per-format failures when scraping returned a structured response. Omitted for errors that prevent scraping.",
|
|
1510
|
+
},
|
|
1511
|
+
credits_used: s.integer("Credits charged for this page, including OCR. Cached outputs use the same pricing as POST /web/scrape."),
|
|
1512
|
+
ocr_pages: s.integer("PDF pages recovered by OCR. Omitted when OCR did not run."),
|
|
1513
|
+
}),
|
|
1514
|
+
])),
|
|
1515
|
+
has_more: s.boolean("Whether another page is available."),
|
|
1516
|
+
next_cursor: s.nullable(s.string("Cursor for the next page.")),
|
|
1517
|
+
key_metadata: keyMetadataSchema,
|
|
1518
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1519
|
+
});
|
|
1520
|
+
export const cancel_batchOutputSchema = s.looseObject("Cancel a batch response.", {
|
|
1521
|
+
id: s.string("Batch ID."),
|
|
1522
|
+
status: s.string("Always `cancelling`. Work already in flight finishes; the batch reaches `cancelled` shortly after."),
|
|
1523
|
+
mode: s.string("How pages were selected."),
|
|
1524
|
+
tags: s.array("Tags stored on the batch at submission.", s.string("tags entry value.")),
|
|
1525
|
+
crawl: s.anyOf("How the crawl was configured. Null for scrape batches.", [
|
|
1526
|
+
s.looseObject("crawl value.", {
|
|
1527
|
+
source: s.anyOf("Where the crawl started.", [
|
|
1528
|
+
s.looseObject("The crawl discovered pages by following links from one URL.", {}),
|
|
1529
|
+
s.looseObject("The crawl scraped the pages listed in the domain's sitemap.", {}),
|
|
1530
|
+
]),
|
|
1531
|
+
max_pages: s.integer("The `maxUrls` submitted with the crawl. A sitemap crawl scrapes only the URLs its sitemap actually lists, up to this many, so `input.reserved` is often lower."),
|
|
1532
|
+
max_depth: s.nullable(s.integer("Link depth limit. Always 0 for a sitemap crawl, which never follows links off its URLs; null when a `start_url` crawl set no limit.")),
|
|
1533
|
+
follow_subdomains: s.boolean("Whether links to subdomains were followed. Always false for a sitemap crawl."),
|
|
1534
|
+
url_pattern: s.nullable(s.string("Regex pattern URLs had to match to be crawled. Null when the crawl set none.")),
|
|
1535
|
+
exclude_url_pattern: s.nullable(s.string("Regex pattern URLs must not match to be crawled. Null when the crawl set none.")),
|
|
1536
|
+
languages: s.anyOf("Languages whose pages were followed; null when all languages were.", [
|
|
1537
|
+
s.string("languages value."),
|
|
1538
|
+
s.array("languages value.", s.string("languages entry value.")),
|
|
1539
|
+
s.literal(null, {
|
|
1540
|
+
description: "languages value.",
|
|
1541
|
+
}),
|
|
1542
|
+
]),
|
|
1543
|
+
}),
|
|
1544
|
+
s.literal(null, {
|
|
1545
|
+
description: "crawl value.",
|
|
1546
|
+
}),
|
|
1547
|
+
]),
|
|
1548
|
+
input: s.looseObject("What the submission accepted.", {
|
|
1549
|
+
reserved: s.integer("Pages accepted; progress counts toward this total."),
|
|
1550
|
+
reserved_is_ceiling: s.boolean("True when `reserved` is a crawl ceiling; false when it is an exact URL count."),
|
|
1551
|
+
submitted: s.nullable(s.integer("URLs in the list you sent, before validation and de-duplication. Null for a crawl, which is given a source rather than a list.")),
|
|
1552
|
+
duplicates: s.integer("URLs dropped before reserving because another entry resolved to the same page. Non-zero for sitemap crawls too, whose sitemaps routinely list a page more than once."),
|
|
1553
|
+
invalid: s.nullable(s.integer("Rejected input URLs; `null` for a crawl.")),
|
|
1554
|
+
}),
|
|
1555
|
+
progress: s.looseObject("How far the batch got before cancellation.", {
|
|
1556
|
+
succeeded: s.integer("Pages scraped successfully before the request landed."),
|
|
1557
|
+
failed: s.integer("Pages that could not be scraped before the request landed."),
|
|
1558
|
+
pending: s.integer("Pages that will be skipped."),
|
|
1559
|
+
}),
|
|
1560
|
+
credits: s.looseObject("What this batch cost so far.", {
|
|
1561
|
+
reserved: s.integer("Credits held at submission; unused credits are refunded when the batch settles."),
|
|
1562
|
+
}),
|
|
1563
|
+
timing: s.looseObject("Batch timestamps.", {
|
|
1564
|
+
created_at: s.string("When the batch was created."),
|
|
1565
|
+
started_at: s.nullable(s.string("When processing started. Null if it was cancelled while still queued.")),
|
|
1566
|
+
}),
|
|
1567
|
+
page_errors: s.array("Page failures so far, grouped by error code and sorted by count.", s.looseObject("Page failures sharing one error code.", {
|
|
1568
|
+
code: s.string("Error code for these failures."),
|
|
1569
|
+
count: s.integer("Pages that failed with this code."),
|
|
1570
|
+
})),
|
|
1571
|
+
formats: s.looseObject("Outputs requested for each page. Matches input.data.formats on submission.", {
|
|
1572
|
+
html: s.boolean("Rendered HTML."),
|
|
1573
|
+
markdown: s.boolean("Page content as Markdown."),
|
|
1574
|
+
screenshot: s.boolean("A screenshot of the page."),
|
|
1575
|
+
images: s.boolean("Images found on the page."),
|
|
1576
|
+
bytes: s.boolean("The original HTTP response body."),
|
|
1577
|
+
parse: s.boolean("Fields extracted with custom rules or a prebuilt parser, returned as `parsed`."),
|
|
1578
|
+
highlights: s.boolean("Markdown excerpts relevant to `highlightsParams.query`."),
|
|
1579
|
+
json: s.boolean("An object matching `jsonParams.schema`, extracted from the page."),
|
|
1580
|
+
product: s.boolean("Product details such as name, price, and availability."),
|
|
1581
|
+
}),
|
|
1582
|
+
key_metadata: keyMetadataSchema,
|
|
1583
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1584
|
+
});
|
|
1585
|
+
export const search_companiesOutputSchema = s.looseObject("Search companies response.", {
|
|
1586
|
+
results: s.array("Matching companies, most relevant first by default.", s.looseObject("results entry value.", {
|
|
1587
|
+
name: s.string("Company name."),
|
|
1588
|
+
domain: s.string("The company's website domain."),
|
|
1589
|
+
description: s.nullable(s.string("What the company does.")),
|
|
1590
|
+
industries: s.array("Industries the company operates in.", s.string("industries entry value.")),
|
|
1591
|
+
founded_year: s.nullable(s.integer("Year the company was founded.")),
|
|
1592
|
+
headquarters: s.looseObject("Where the company is headquartered.", {}),
|
|
1593
|
+
employees: s.looseObject("How many people the company employs.", {}),
|
|
1594
|
+
funding: s.looseObject("Known funding history.", {}),
|
|
1595
|
+
})),
|
|
1596
|
+
next_cursor: s.nullable(s.string("Pass as cursor to fetch the next page; null when there are no more results.")),
|
|
1597
|
+
key_metadata: keyMetadataSchema,
|
|
1598
|
+
request_id: s.string("Unique ID of this request, also in `X-Request-Id`. Include it when contacting support."),
|
|
1599
|
+
});
|