@oomol-lab/open-connector 1.9.2 → 1.9.3
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/README.md +4 -2
- package/assets/open-connector/catalog/apps/allratestoday.json +174 -0
- package/assets/open-connector/catalog/apps/slackbot.json +20 -1
- package/assets/open-connector/catalog/apps-index.json +1 -1
- package/package.json +1 -1
- package/src/connection-error.d.ts +7 -0
- package/src/connection-error.js +10 -0
- package/src/connection-service.d.ts +2 -50
- package/src/connection-service.js +6 -130
- package/src/connection-store.d.ts +41 -0
- package/src/connection-store.js +1 -0
- package/src/core/guarded-fetch.d.ts +3 -0
- package/src/core/guarded-fetch.js +8 -1
- package/src/core/provider-network-policy.d.ts +15 -0
- package/src/core/provider-network-policy.js +11 -0
- package/src/core/request.d.ts +18 -14
- package/src/core/request.js +11 -35
- package/src/credential-resolver.d.ts +24 -0
- package/src/credential-resolver.js +131 -0
- package/src/mcp.js +1 -1
- package/src/oauth/oauth-client-config-service.d.ts +1 -1
- package/src/oauth/oauth-client-config-service.js +14 -2
- package/src/oauth/oauth-credential-refresh-service.js +1 -1
- package/src/oauth/oauth-flow-service.d.ts +9 -1
- package/src/oauth/oauth-flow-service.js +11 -1
- package/src/providers/abuseipdb/executors.js +3 -4
- package/src/providers/action-contracts.generated.d.ts +1 -0
- package/src/providers/addressfinder/executors.js +2 -3
- package/src/providers/aeroleads/executors.js +3 -3
- package/src/providers/affinity/runtime.js +6 -7
- package/src/providers/aftership/executors.js +2 -2
- package/src/providers/agent_mail/runtime.js +2 -2
- package/src/providers/agentql/runtime.js +2 -2
- package/src/providers/agenty/runtime.js +5 -6
- package/src/providers/agiled/runtime.d.ts +0 -1
- package/src/providers/agiled/runtime.js +2 -3
- package/src/providers/agility/runtime.js +2 -3
- package/src/providers/ahrefs/runtime.js +3 -3
- package/src/providers/aifinmarket/runtime.js +6 -7
- package/src/providers/airtable/executors.js +3 -3
- package/src/providers/alchemy/runtime.js +2 -2
- package/src/providers/algolia/runtime.js +3 -3
- package/src/providers/aliyun_oss/executors.js +7 -7
- package/src/providers/allratestoday/executors.d.ts +3 -0
- package/src/providers/allratestoday/executors.js +18 -0
- package/src/providers/allratestoday/runtime.d.ts +17 -0
- package/src/providers/allratestoday/runtime.js +104 -0
- package/src/providers/alpaca/runtime.js +2 -3
- package/src/providers/alpha_vantage/runtime.js +2 -2
- package/src/providers/alt_text_ai/runtime.js +2 -2
- package/src/providers/altiria/executors.js +3 -3
- package/src/providers/amap/runtime.js +3 -3
- package/src/providers/ambee/runtime.js +2 -2
- package/src/providers/ambivo/executors.js +3 -3
- package/src/providers/amilia/runtime.js +1 -1
- package/src/providers/amplemarket/runtime.js +2 -2
- package/src/providers/amplitude/runtime.js +3 -3
- package/src/providers/anysearch/runtime.js +4 -4
- package/src/providers/apaleo/runtime.js +2 -2
- package/src/providers/api_sports/executors.js +3 -4
- package/src/providers/apiverve/executors.js +2 -3
- package/src/providers/apollo/executors.js +2 -3
- package/src/providers/appcircle/runtime.js +5 -5
- package/src/providers/appdrag/executors.js +2 -3
- package/src/providers/arcgis_online/executors.js +2 -2
- package/src/providers/auth0_management/runtime.js +2 -3
- package/src/providers/autoblogger/executors.js +3 -3
- package/src/providers/baidu_maps/runtime.js +3 -3
- package/src/providers/baidu_netdisk/runtime-mcp.js +3 -4
- package/src/providers/bark/executors.js +5 -5
- package/src/providers/bitrise/runtime.js +3 -3
- package/src/providers/bouncer/executors.js +3 -4
- package/src/providers/browse_ai/runtime.js +3 -4
- package/src/providers/browserstack/executors.js +6 -7
- package/src/providers/buildkite/runtime.js +3 -3
- package/src/providers/bunnycdn/runtime.js +3 -3
- package/src/providers/businessmap/runtime.js +6 -7
- package/src/providers/buttondown/runtime.js +2 -2
- package/src/providers/byteforms/runtime.js +2 -2
- package/src/providers/calendly/runtime.js +2 -2
- package/src/providers/captainbi/runtime.js +6 -6
- package/src/providers/castingwords/runtime.js +1 -1
- package/src/providers/chatpdf/runtime.js +4 -4
- package/src/providers/check/executors.js +3 -4
- package/src/providers/checkly/executors.js +3 -4
- package/src/providers/chengxin/runtime.js +3 -3
- package/src/providers/cincopa/executors.js +3 -4
- package/src/providers/circle/executors.js +3 -4
- package/src/providers/clearout/executors.js +1 -2
- package/src/providers/clickhelp/runtime.js +5 -5
- package/src/providers/clickhouse/runtime.js +4 -4
- package/src/providers/clinicalkey/runtime.js +3 -3
- package/src/providers/clinicaltrials_gov/runtime.js +4 -5
- package/src/providers/clockify/runtime.js +4 -4
- package/src/providers/close/runtime.js +3 -3
- package/src/providers/cloudconvert/runtime.js +8 -9
- package/src/providers/cloudflare_dns/runtime.js +2 -2
- package/src/providers/cloudflare_email_routing/runtime.js +2 -2
- package/src/providers/cloudflare_r2/runtime.js +5 -5
- package/src/providers/cloudflare_worker/runtime.js +10 -10
- package/src/providers/cloudinary/runtime.js +4 -4
- package/src/providers/cloudlayer/runtime.js +5 -5
- package/src/providers/codacy/runtime.js +2 -2
- package/src/providers/codemagic/runtime.js +2 -2
- package/src/providers/confluence/executors.js +4 -4
- package/src/providers/confluence/runtime.d.ts +0 -1
- package/src/providers/confluence/runtime.js +6 -7
- package/src/providers/contactout/runtime.js +5 -5
- package/src/providers/contentful/runtime.js +2 -2
- package/src/providers/contentstack_content_delivery/runtime.js +1 -1
- package/src/providers/cronly/runtime.js +2 -2
- package/src/providers/crossref/runtime.js +3 -3
- package/src/providers/cutt_ly/runtime.js +3 -3
- package/src/providers/cyberimpact/runtime.js +3 -3
- package/src/providers/dachser/executors.js +2 -2
- package/src/providers/dailybot/runtime.js +1 -1
- package/src/providers/databox/runtime.js +2 -2
- package/src/providers/databricks/runtime.js +2 -2
- package/src/providers/datacite/runtime.js +1 -1
- package/src/providers/datadog/executors.js +3 -4
- package/src/providers/datascope/runtime.js +2 -2
- package/src/providers/daytona/executors.js +3 -3
- package/src/providers/deepgram/runtime.js +2 -2
- package/src/providers/deepl/runtime.js +4 -4
- package/src/providers/detrack/executors.js +5 -5
- package/src/providers/deutschlandgpt/runtime.js +2 -2
- package/src/providers/dialmycalls/runtime.js +4 -4
- package/src/providers/diffbot/executors.js +4 -4
- package/src/providers/digistore24/executors.js +3 -3
- package/src/providers/dingtalk_bot/executors.js +1 -1
- package/src/providers/discourse/executors.d.ts +0 -1
- package/src/providers/discourse/executors.js +6 -7
- package/src/providers/docugenerate/runtime.js +3 -3
- package/src/providers/doppler/runtime.shared.js +3 -3
- package/src/providers/doppler_marketing_automation/runtime.js +4 -4
- package/src/providers/dovetail/runtime.js +2 -2
- package/src/providers/dropcontact/runtime.js +3 -3
- package/src/providers/dub/executors.js +6 -6
- package/src/providers/dumplingai/runtime.js +2 -2
- package/src/providers/elevenlabs/executors.js +4 -4
- package/src/providers/elevenreader/runtime.js +1 -1
- package/src/providers/emailoctopus/runtime.js +4 -4
- package/src/providers/embase/runtime.js +3 -3
- package/src/providers/emelia/executors.js +2 -2
- package/src/providers/enigma/executors.js +3 -3
- package/src/providers/eodhd_apis/executors.js +2 -2
- package/src/providers/eventzilla/runtime.js +3 -4
- package/src/providers/evervault/runtime.js +1 -1
- package/src/providers/excalidraw_mcp/runtime.js +3 -4
- package/src/providers/excel/runtime.js +6 -6
- package/src/providers/expofp/runtime.js +2 -2
- package/src/providers/faktoora/runtime.js +5 -5
- package/src/providers/fast_note_sync/runtime.js +2 -2
- package/src/providers/feathery/executors.js +2 -3
- package/src/providers/feishu_app_bot/executors.js +2 -3
- package/src/providers/feishu_custom_bot/executors.js +2 -3
- package/src/providers/ffhub/executors.js +2 -3
- package/src/providers/fidel_api/executors.js +2 -3
- package/src/providers/files_com/executors.js +2 -3
- package/src/providers/fireberry/runtime.d.ts +0 -1
- package/src/providers/fireberry/runtime.js +3 -4
- package/src/providers/firehydrant/executors.js +2 -3
- package/src/providers/float/executors.js +2 -3
- package/src/providers/flomo/executors.js +5 -6
- package/src/providers/flowiseai/executors.js +2 -3
- package/src/providers/fluxguard/executors.js +2 -3
- package/src/providers/folk/executors.js +2 -3
- package/src/providers/football_data/executors.js +2 -3
- package/src/providers/forem/executors.js +2 -3
- package/src/providers/formbricks/executors.js +2 -3
- package/src/providers/formsite/executors.js +3 -4
- package/src/providers/formspree/executors.js +2 -2
- package/src/providers/freshdesk/executors.js +3 -4
- package/src/providers/freshservice/executors.js +3 -4
- package/src/providers/freshteam/runtime.js +3 -4
- package/src/providers/full_contact/executors.js +3 -3
- package/src/providers/fusion-api/runtime.js +2 -3
- package/src/providers/gagelist/executors.js +3 -3
- package/src/providers/gainsight_nxt/executors.js +2 -2
- package/src/providers/gamma/executors.js +4 -3
- package/src/providers/gangtise/runtime.js +3 -4
- package/src/providers/gatherup/runtime.js +1 -1
- package/src/providers/geckoboard/executors.js +2 -3
- package/src/providers/gemini/runtime.d.ts +0 -1
- package/src/providers/gemini/runtime.js +5 -6
- package/src/providers/genpage/runtime.js +2 -2
- package/src/providers/geokeo/executors.js +4 -4
- package/src/providers/getnote/runtime.js +2 -3
- package/src/providers/github/runtime-shared.js +2 -2
- package/src/providers/glyphic/runtime.js +3 -4
- package/src/providers/gmail/executors.js +125 -27
- package/src/providers/gong/runtime.js +6 -7
- package/src/providers/googlecalendar/runtime-shared.js +3 -4
- package/src/providers/googledrive/runtime-request.js +2 -3
- package/src/providers/googlesheets/runtime-shared.js +3 -4
- package/src/providers/gorgias/runtime.js +4 -4
- package/src/providers/gotify/executors.js +7 -8
- package/src/providers/greenhouse/executors.js +3 -3
- package/src/providers/gumloop/executors.js +2 -3
- package/src/providers/gumroad/executors.js +2 -3
- package/src/providers/habitica/executors.js +2 -3
- package/src/providers/hackerrank_work/executors.js +2 -3
- package/src/providers/harvest/executors.js +3 -4
- package/src/providers/haveibeenpwned/executors.js +2 -3
- package/src/providers/headout/executors.js +3 -4
- package/src/providers/healthchecks_io/executors.js +2 -3
- package/src/providers/helium10/runtime.js +4 -5
- package/src/providers/helpdesk/runtime.js +4 -4
- package/src/providers/home_assistant/runtime-ws.js +9 -10
- package/src/providers/hotjar/executors.js +4 -4
- package/src/providers/httpsms/runtime.js +3 -4
- package/src/providers/hub_planner/executors.js +3 -3
- package/src/providers/hubspot/runtime.js +3 -4
- package/src/providers/humaans/runtime.js +3 -3
- package/src/providers/hunter/runtime.js +3 -3
- package/src/providers/icypeas/executors.js +3 -4
- package/src/providers/ima/runtime.js +7 -7
- package/src/providers/infolobby/runtime.js +6 -6
- package/src/providers/instabot/runtime.js +6 -6
- package/src/providers/instatus/runtime.js +4 -4
- package/src/providers/intuiface/executors.js +3 -3
- package/src/providers/iplocate/runtime.js +4 -5
- package/src/providers/ipregistry/executors.js +2 -2
- package/src/providers/jiminny/runtime.js +4 -4
- package/src/providers/jin10/executors.js +4 -5
- package/src/providers/jira/executors.js +4 -4
- package/src/providers/kaleido/runtime.js +2 -2
- package/src/providers/kandji/runtime.js +2 -2
- package/src/providers/keygen/executors.js +4 -4
- package/src/providers/keyword/runtime.js +2 -2
- package/src/providers/kie_ai/executors.js +1 -1
- package/src/providers/kintone/runtime.js +1 -1
- package/src/providers/kit/runtime.js +2 -2
- package/src/providers/klangio/runtime.js +4 -4
- package/src/providers/klaviyo/executors.js +1 -1
- package/src/providers/klazify/executors.js +3 -3
- package/src/providers/klipfolio/runtime.js +3 -3
- package/src/providers/knack/executors.js +1 -1
- package/src/providers/kommo/runtime.js +2 -2
- package/src/providers/kontent_ai/executors.js +3 -4
- package/src/providers/l2s/executors.js +3 -4
- package/src/providers/latchshot/executors.js +2 -2
- package/src/providers/leadboxer/runtime.js +4 -4
- package/src/providers/leadiq/runtime.js +4 -4
- package/src/providers/linguapop/runtime.js +1 -1
- package/src/providers/lingvanex_translation_api/runtime.js +5 -6
- package/src/providers/lingxing_mcp/runtime.js +3 -4
- package/src/providers/linkup/runtime.js +5 -6
- package/src/providers/liveagent/executors.js +6 -6
- package/src/providers/loops/executors.js +2 -2
- package/src/providers/loyjoy/runtime.js +2 -2
- package/src/providers/loyverse/executors.js +4 -4
- package/src/providers/lusha/runtime.js +3 -3
- package/src/providers/mailbluster/runtime.js +3 -4
- package/src/providers/mailcoach/runtime.js +4 -4
- package/src/providers/mailgenius/executors.js +3 -4
- package/src/providers/mailjet/runtime.js +3 -3
- package/src/providers/mails_so/runtime.js +1 -1
- package/src/providers/mailsoftly/runtime.js +5 -5
- package/src/providers/mailtrap/runtime.js +4 -5
- package/src/providers/manus/runtime.js +3 -3
- package/src/providers/mautic/runtime.js +3 -3
- package/src/providers/megaventory/runtime.js +3 -3
- package/src/providers/memberstack/runtime.js +2 -2
- package/src/providers/mendeley/executors.js +2 -3
- package/src/providers/mindbody/runtime.js +3 -3
- package/src/providers/minerstat/executors.js +3 -3
- package/src/providers/mintlify/runtime.js +3 -3
- package/src/providers/missive/executors.js +3 -5
- package/src/providers/mixpanel/executors.js +3 -3
- package/src/providers/mobile_text_alerts/runtime.js +3 -3
- package/src/providers/mocean/executors.js +3 -3
- package/src/providers/moco/executors.js +5 -5
- package/src/providers/moesif/runtime.js +4 -4
- package/src/providers/monday/runtime-common.js +3 -3
- package/src/providers/monica_crm/runtime.js +4 -4
- package/src/providers/moorcheh/runtime.js +3 -3
- package/src/providers/more_trees/runtime.d.ts +0 -1
- package/src/providers/more_trees/runtime.js +7 -8
- package/src/providers/moxie/runtime.js +2 -2
- package/src/providers/msg91/runtime.js +4 -4
- package/src/providers/mx/runtime.js +1 -1
- package/src/providers/needle/runtime.js +3 -4
- package/src/providers/netlify/runtime.js +2 -3
- package/src/providers/niftyimages/executors.js +2 -2
- package/src/providers/northbeam/runtime.js +1 -1
- package/src/providers/nozbe_teams/executors.js +4 -4
- package/src/providers/npm/runtime.js +4 -4
- package/src/providers/nusii_proposals/runtime.js +2 -2
- package/src/providers/ocr_web_service/executors.js +4 -4
- package/src/providers/octopus_deploy/executors.js +3 -3
- package/src/providers/oksign/runtime.js +3 -4
- package/src/providers/one_drive/executors.js +6 -6
- package/src/providers/one_password_events/runtime.js +1 -1
- package/src/providers/onfleet/runtime.js +3 -3
- package/src/providers/onlyoffice_docspace/runtime.js +4 -4
- package/src/providers/oomnitza/runtime.js +3 -4
- package/src/providers/otter_ai/executors.js +2 -2
- package/src/providers/oura/runtime.js +1 -1
- package/src/providers/paddle/executors.js +3 -3
- package/src/providers/pagerduty/runtime.js +2 -2
- package/src/providers/paradym/runtime.js +4 -4
- package/src/providers/parallel/runtime.js +3 -3
- package/src/providers/partner_stack_partner/runtime.js +1 -1
- package/src/providers/payrexx/runtime.js +5 -6
- package/src/providers/permit_io/runtime.js +2 -2
- package/src/providers/pinboard/executors.js +5 -6
- package/src/providers/pinpoint/runtime.js +2 -2
- package/src/providers/placid/runtime.js +3 -3
- package/src/providers/plain/runtime.js +5 -5
- package/src/providers/planetscale/runtime.js +2 -2
- package/src/providers/planhat/executors.js +6 -6
- package/src/providers/plausible_analytics/runtime.js +3 -3
- package/src/providers/posthog/runtime.js +3 -3
- package/src/providers/predis_ai/executors.js +3 -3
- package/src/providers/printavo/runtime.js +2 -2
- package/src/providers/prospeo/runtime.js +2 -3
- package/src/providers/provider-runtime.d.ts +13 -1
- package/src/providers/provider-runtime.js +25 -10
- package/src/providers/push_by_techulus/executors.js +3 -4
- package/src/providers/pushover/runtime.js +4 -5
- package/src/providers/pushsafer/runtime.js +4 -5
- package/src/providers/pylon/runtime.js +2 -2
- package/src/providers/qase/runtime.js +3 -3
- package/src/providers/qdrant/runtime.js +1 -1
- package/src/providers/qichacha/runtime.js +2 -2
- package/src/providers/qingflow/runtime.js +2 -2
- package/src/providers/quickchart/runtime.js +2 -2
- package/src/providers/quintadb/runtime.js +2 -2
- package/src/providers/quo/runtime.js +2 -2
- package/src/providers/rawg/runtime.js +4 -4
- package/src/providers/razorpay/runtime.js +4 -5
- package/src/providers/readme/runtime.js +6 -6
- package/src/providers/referralhero/runtime.js +3 -3
- package/src/providers/registry.generated.js +1 -0
- package/src/providers/render/executors.js +3 -3
- package/src/providers/respond_io/executors.js +3 -3
- package/src/providers/reversecontact/runtime.js +3 -3
- package/src/providers/ritekit/executors.js +2 -2
- package/src/providers/riveter/executors.js +2 -3
- package/src/providers/rocket_chat/executors.js +3 -4
- package/src/providers/rocket_reach/executors.js +3 -4
- package/src/providers/saucelabs/runtime.js +4 -4
- package/src/providers/scopus/runtime.js +3 -3
- package/src/providers/scrape_do/executors.js +2 -2
- package/src/providers/scraperapi/runtime.js +4 -4
- package/src/providers/scrapfly/executors.js +2 -2
- package/src/providers/scrapingant/executors.js +6 -7
- package/src/providers/scrapingbee/executors.js +3 -3
- package/src/providers/scrapingdog/executors.js +1 -1
- package/src/providers/screenshot_fyi/executors.js +3 -4
- package/src/providers/screenshotbase/runtime.js +3 -3
- package/src/providers/search_api/runtime.js +2 -2
- package/src/providers/securitytrails/executors.js +2 -2
- package/src/providers/semantic_scholar/executors.js +2 -2
- package/src/providers/sendbird/executors.js +2 -2
- package/src/providers/sendfox/executors.js +3 -3
- package/src/providers/sendgrid/executors.js +5 -5
- package/src/providers/sendmator/runtime.js +3 -4
- package/src/providers/seqera/runtime.js +3 -4
- package/src/providers/serveravatar/executors.js +3 -3
- package/src/providers/sheetdb/runtime.js +2 -2
- package/src/providers/short_menu/runtime.js +3 -3
- package/src/providers/shortcut/runtime.js +3 -3
- package/src/providers/shortpixel/runtime.js +2 -2
- package/src/providers/shotstack/runtime.js +4 -4
- package/src/providers/signpath/runtime.js +2 -2
- package/src/providers/signwell/runtime.js +5 -6
- package/src/providers/similarweb_digitalrank_api/runtime.js +3 -3
- package/src/providers/simla/runtime.js +5 -5
- package/src/providers/simplybook_me/executors.js +6 -6
- package/src/providers/sitespeakai/runtime.js +3 -3
- package/src/providers/slickdeals/runtime.js +2 -3
- package/src/providers/smartsuite/runtime.js +3 -3
- package/src/providers/sonarcloud/runtime.js +5 -5
- package/src/providers/sorftime/runtime.js +8 -8
- package/src/providers/spider/runtime.js +2 -2
- package/src/providers/splunk_http_event_collector/runtime.js +7 -8
- package/src/providers/sportsdata/runtime.js +4 -4
- package/src/providers/spyfu/runtime.js +4 -5
- package/src/providers/square/runtime.js +4 -4
- package/src/providers/stannp/runtime.js +2 -2
- package/src/providers/stripe/executors.js +2 -2
- package/src/providers/supermemory/runtime.js +3 -3
- package/src/providers/survey_monkey/runtime.js +3 -3
- package/src/providers/taiga/runtime.js +4 -4
- package/src/providers/talenox/executors.js +4 -4
- package/src/providers/tally/runtime.js +3 -3
- package/src/providers/tavily/runtime.js +3 -4
- package/src/providers/teamcamp/executors.js +2 -2
- package/src/providers/teamtailor/executors.js +2 -2
- package/src/providers/telegram/executors.js +6 -7
- package/src/providers/teltel/executors.js +2 -2
- package/src/providers/templated/executors.js +3 -3
- package/src/providers/tencent_docs/runtime.js +4 -4
- package/src/providers/tencent_maps/runtime.js +3 -3
- package/src/providers/textcortex/runtime.js +3 -3
- package/src/providers/the_cat_api/runtime.js +3 -3
- package/src/providers/the_colony/runtime.js +3 -3
- package/src/providers/the_odds_api/runtime.js +3 -4
- package/src/providers/the_official_board/runtime.js +4 -4
- package/src/providers/thehive/runtime.js +1 -1
- package/src/providers/tikhub/endpoint-catalog.js +2 -3
- package/src/providers/tiktok_business/runtime.js +2 -2
- package/src/providers/timecamp/runtime.js +2 -2
- package/src/providers/timelink/runtime.js +2 -2
- package/src/providers/totp/runtime.js +4 -5
- package/src/providers/trawlingweb/runtime.js +2 -2
- package/src/providers/trilium/runtime.js +2 -2
- package/src/providers/triple_whale/runtime.js +3 -3
- package/src/providers/truvera/runtime.js +2 -2
- package/src/providers/tuskr/runtime.js +2 -2
- package/src/providers/typebot/runtime.js +2 -2
- package/src/providers/typeform/runtime.js +2 -2
- package/src/providers/uptimerobot/executors.js +3 -4
- package/src/providers/v2ex/runtime.js +8 -9
- package/src/providers/valyu/runtime.js +3 -3
- package/src/providers/vapi/runtime.js +4 -4
- package/src/providers/vectorshift/runtime.js +3 -3
- package/src/providers/venafitlsprotectcloud/runtime.js +2 -3
- package/src/providers/venafitlsprotectdatacenter/runtime.js +2 -3
- package/src/providers/vida/runtime.js +4 -4
- package/src/providers/vonage/runtime.js +3 -3
- package/src/providers/walmart_marketplace/runtime.js +5 -5
- package/src/providers/weatherapi/executors.js +3 -4
- package/src/providers/web_of_science/runtime.js +4 -4
- package/src/providers/web_of_science_expanded/runtime.js +9 -9
- package/src/providers/webex/runtime.js +3 -3
- package/src/providers/webinarjam/runtime.js +4 -4
- package/src/providers/webscraping_ai/runtime.js +3 -3
- package/src/providers/webvizio/runtime.js +3 -4
- package/src/providers/wecom_bot/smart-runtime.js +4 -5
- package/src/providers/wecom_mcp/runtime.js +3 -4
- package/src/providers/wejam_ai/runtime.js +3 -3
- package/src/providers/wolfram_alpha_api/runtime.js +3 -3
- package/src/providers/woocommerce/runtime.js +1 -1
- package/src/providers/woodpecker_co/executors.js +3 -4
- package/src/providers/woot/runtime.js +6 -6
- package/src/providers/workable/runtime.js +3 -3
- package/src/providers/workday/runtime.js +4 -4
- package/src/providers/workiom/runtime.js +2 -2
- package/src/providers/workiz/runtime.js +2 -2
- package/src/providers/workpath/executors.js +3 -4
- package/src/providers/worksnaps/executors.js +2 -2
- package/src/providers/y_gy/runtime.js +2 -2
- package/src/providers/zenscrape/runtime.js +3 -3
- package/src/providers/zep/runtime.js +4 -4
- package/src/providers/zeplin/runtime.js +2 -2
- package/src/providers/zhihu/executors.js +6 -6
- package/src/providers/zylvie/runtime.js +4 -4
- package/src/saas/saas-cleanup-service.d.ts +2 -0
- package/src/saas/saas-cleanup-service.js +2 -1
- package/src/saas/saas-execution-service.d.ts +1 -1
- package/src/server/actions/action-runner.js +1 -1
- package/src/server/api/auth.js +3 -0
- package/src/server/api/connection-routes.js +1 -1
- package/src/server/api/console-catalog-routes.js +1 -1
- package/src/server/api/console-oauth-routes.d.ts +3 -1
- package/src/server/api/console-oauth-routes.js +22 -9
- package/src/server/api/oauth-completion-page.d.ts +57 -0
- package/src/server/api/oauth-completion-page.js +135 -10
- package/src/server/api/openapi.d.ts +5 -0
- package/src/server/api/openapi.js +62 -2
- package/src/server/api/runtime-api.d.ts +2 -1
- package/src/server/api/runtime-app-routes.js +1 -1
- package/src/server/api/runtime-execution-routes.js +2 -1
- package/src/server/connect-app.d.ts +4 -0
- package/src/server/connect-app.js +14 -1
- package/src/server/connect-server.d.ts +6 -0
- package/src/server/connect-server.js +114 -4
- package/src/server/connector-runtime.d.ts +6 -8
- package/src/server/connector-runtime.js +8 -28
- package/src/server/proxy/proxy-runner.js +1 -1
- package/src/server/slack-event-verification.d.ts +37 -0
- package/src/server/slack-event-verification.js +91 -0
- package/src/server/storage/connection-request-store.d.ts +1 -1
- package/src/server/storage/connection-store.d.ts +1 -1
- package/src/server/storage/postgres/runtime-store.d.ts +1 -1
- package/src/server/storage/runtime-database.d.ts +1 -1
- package/src/server/storage/saas-project-store.d.ts +1 -1
- package/src/triggers/maintenance.d.ts +2 -0
- package/src/triggers/maintenance.js +2 -1
- package/src/triggers/sources/slack-signature.d.ts +10 -0
- package/src/triggers/sources/slack-signature.js +13 -0
- package/src/triggers/sources/slack.js +9 -11
- package/src/triggers/trigger-runner.js +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, isAbortLikeError, ProviderRequestError, providerUserAgent, readProviderTextBody, requiredInputString, setSearchParams, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, isAbortLikeError, ProviderRequestError, providerUserAgent, readProviderTextBody, requiredInputString, setSearchParams, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
export const scopusApiBaseUrl = "https://api.elsevier.com/content";
|
|
4
4
|
export const scopusActionHandlers = {
|
|
5
5
|
async search_documents(input, context) {
|
|
@@ -229,7 +229,7 @@ function createScopusError(status, payload, phase) {
|
|
|
229
229
|
return new ProviderRequestError(429, message);
|
|
230
230
|
}
|
|
231
231
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
232
|
-
return
|
|
232
|
+
return providerInputError(message);
|
|
233
233
|
}
|
|
234
234
|
if (status === 401 || status === 403) {
|
|
235
235
|
return new ProviderRequestError(status, message);
|
|
@@ -237,7 +237,7 @@ function createScopusError(status, payload, phase) {
|
|
|
237
237
|
if (status >= 400 && status < 500) {
|
|
238
238
|
return new ProviderRequestError(status, message);
|
|
239
239
|
}
|
|
240
|
-
return
|
|
240
|
+
return providerResponseError(message);
|
|
241
241
|
}
|
|
242
242
|
function extractScopusErrorMessage(payload) {
|
|
243
243
|
if (typeof payload === "string") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
const service = "scrape_do";
|
|
4
4
|
const scrapeDoApiBaseUrl = "https://api.scrape.do";
|
|
5
5
|
const scrapeDoInfoUrl = `${scrapeDoApiBaseUrl}/info`;
|
|
@@ -220,7 +220,7 @@ function createScrapeDoError(status, body, phase) {
|
|
|
220
220
|
return new ProviderRequestError(429, message);
|
|
221
221
|
}
|
|
222
222
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
223
|
-
return
|
|
223
|
+
return providerInputError(message);
|
|
224
224
|
}
|
|
225
225
|
return new ProviderRequestError(status || 500, message);
|
|
226
226
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalNumber, optionalRecord, optionalRawString, optionalString, } from "../../core/cast.js";
|
|
2
2
|
import { assertPublicHttpUrl, readBoundedResponseBytes } from "../../core/request.js";
|
|
3
|
-
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
3
|
+
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
|
|
4
4
|
export const scraperapiApiBaseUrl = "https://api.scraperapi.com/";
|
|
5
5
|
const scraperapiAccountUrl = "https://api.scraperapi.com/account";
|
|
6
6
|
const scraperapiRequestTimeoutMs = 80_000;
|
|
@@ -102,7 +102,7 @@ async function requestScraperapiUrl(url, query, init, context, phase) {
|
|
|
102
102
|
function buildScraperapiUrl(url, query, apiKey) {
|
|
103
103
|
const requestUrl = assertPublicHttpUrl(url, {
|
|
104
104
|
fieldName: "url",
|
|
105
|
-
createError:
|
|
105
|
+
createError: providerInputError,
|
|
106
106
|
});
|
|
107
107
|
requestUrl.searchParams.set("api_key", apiKey);
|
|
108
108
|
for (const [key, value] of Object.entries(query)) {
|
|
@@ -190,13 +190,13 @@ function createScraperapiError(status, body, phase) {
|
|
|
190
190
|
return new ProviderRequestError(429, message);
|
|
191
191
|
}
|
|
192
192
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
193
|
-
return
|
|
193
|
+
return providerInputError(message);
|
|
194
194
|
}
|
|
195
195
|
if (phase === "execute" && status === 401) {
|
|
196
196
|
return new ProviderRequestError(401, message);
|
|
197
197
|
}
|
|
198
198
|
if (phase === "execute" && status === 400) {
|
|
199
|
-
return
|
|
199
|
+
return providerInputError(message);
|
|
200
200
|
}
|
|
201
201
|
return new ProviderRequestError(status || 500, message);
|
|
202
202
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRawString, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
const service = "scrapfly";
|
|
4
4
|
const scrapflyApiBaseUrl = "https://api.scrapfly.io";
|
|
5
5
|
const scrapflyScrapeApiUrl = `${scrapflyApiBaseUrl}/scrape`;
|
|
@@ -203,7 +203,7 @@ function createScrapflyError(status, body, headers, phase) {
|
|
|
203
203
|
return new ProviderRequestError(429, message);
|
|
204
204
|
}
|
|
205
205
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
206
|
-
return
|
|
206
|
+
return providerInputError(message);
|
|
207
207
|
}
|
|
208
208
|
return new ProviderRequestError(status || 500, message);
|
|
209
209
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRawString, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, requiredInputString, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "scrapingant";
|
|
4
4
|
const scrapingantApiOrigin = "https://api.scrapingant.com";
|
|
5
5
|
const scrapingantApiBaseUrl = `${scrapingantApiOrigin}/v2`;
|
|
6
|
-
const scrapingantDefaultTimeoutMs = 30_000;
|
|
7
6
|
export const scrapingantActionHandlers = {
|
|
8
7
|
scrape_with_extended_json_output(input, context) {
|
|
9
8
|
return requestScrapingantExtended(input, context);
|
|
@@ -138,15 +137,15 @@ function buildScrapingantBody(input) {
|
|
|
138
137
|
function buildConnectorTimeoutMs(input) {
|
|
139
138
|
const timeoutSeconds = optionalInteger(input.timeout);
|
|
140
139
|
return timeoutSeconds === undefined
|
|
141
|
-
?
|
|
142
|
-
: Math.max(
|
|
140
|
+
? defaultProviderRequestTimeoutMs
|
|
141
|
+
: Math.max(defaultProviderRequestTimeoutMs, timeoutSeconds * 1000 + 10_000);
|
|
143
142
|
}
|
|
144
143
|
function resolveScrapingantMethod(input) {
|
|
145
144
|
return optionalString(input.method) ?? "GET";
|
|
146
145
|
}
|
|
147
146
|
async function requestScrapingantJson(input) {
|
|
148
147
|
const controller = new AbortController();
|
|
149
|
-
const timeout = setTimeout(() => controller.abort(), input.timeoutMs ??
|
|
148
|
+
const timeout = setTimeout(() => controller.abort(), input.timeoutMs ?? defaultProviderRequestTimeoutMs);
|
|
150
149
|
const signal = mergeAbortSignals(controller.signal, input.context.signal);
|
|
151
150
|
try {
|
|
152
151
|
const response = await input.context.fetcher(buildScrapingantUrl(input.path, input.query), {
|
|
@@ -291,13 +290,13 @@ function createScrapingantError(status, payload, phase) {
|
|
|
291
290
|
return new ProviderRequestError(429, message);
|
|
292
291
|
}
|
|
293
292
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
294
|
-
return
|
|
293
|
+
return providerInputError(message);
|
|
295
294
|
}
|
|
296
295
|
if (phase === "execute" && status === 403) {
|
|
297
296
|
return new ProviderRequestError(403, message);
|
|
298
297
|
}
|
|
299
298
|
if (phase === "execute" && (status === 400 || status === 404 || status === 405 || status === 422)) {
|
|
300
|
-
return
|
|
299
|
+
return providerInputError(message);
|
|
301
300
|
}
|
|
302
301
|
return new ProviderRequestError(status || 500, message);
|
|
303
302
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { booleanString, compactObject, optionalRecord, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
const service = "scrapingbee";
|
|
4
4
|
const scrapingbeeApiOrigin = "https://app.scrapingbee.com";
|
|
5
5
|
const scrapingbeeApiBasePath = "/api/v1/";
|
|
@@ -140,7 +140,7 @@ function parseScrapingbeeUsage(payload) {
|
|
|
140
140
|
function createScrapingbeeError(status, body, phase) {
|
|
141
141
|
const message = extractErrorMessage(body) ?? `ScrapingBee request failed with status ${status}`;
|
|
142
142
|
if (phase === "validate" && [400, 401, 403].includes(status)) {
|
|
143
|
-
return
|
|
143
|
+
return providerInputError(message);
|
|
144
144
|
}
|
|
145
145
|
return new ProviderRequestError(status || 500, message);
|
|
146
146
|
}
|
|
@@ -168,7 +168,7 @@ function parseScrapingbeeJson(body, invalidMessage) {
|
|
|
168
168
|
return JSON.parse(body);
|
|
169
169
|
}
|
|
170
170
|
catch {
|
|
171
|
-
throw
|
|
171
|
+
throw providerResponseError(invalidMessage);
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
function readRequiredUrl(value) {
|
|
@@ -169,7 +169,7 @@ function buildScrapingdogUrl(path, query, apiKey) {
|
|
|
169
169
|
function createScrapingdogError(status, body, phase) {
|
|
170
170
|
const message = extractScrapingdogMessage(body) ?? `Scrapingdog request failed with ${status}`;
|
|
171
171
|
if (phase === "validate" && [400, 401, 403].includes(status)) {
|
|
172
|
-
return
|
|
172
|
+
return providerInputError(message);
|
|
173
173
|
}
|
|
174
174
|
if (status === 403) {
|
|
175
175
|
return new ProviderRequestError(429, message);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "screenshot_fyi";
|
|
4
4
|
const screenshotFyiApiBaseUrl = "https://www.screenshot.fyi";
|
|
5
5
|
const screenshotFyiCapturePath = "/api/take";
|
|
6
|
-
const screenshotFyiDefaultRequestTimeoutMs = 30_000;
|
|
7
6
|
const screenshotFyiValidationUrl = "https://example.com";
|
|
8
7
|
export const screenshotFyiActionHandlers = {
|
|
9
8
|
async take_screenshot(input, context) {
|
|
@@ -68,7 +67,7 @@ function buildTakeScreenshotQuery(input) {
|
|
|
68
67
|
});
|
|
69
68
|
}
|
|
70
69
|
async function requestScreenshotFyiJson(input) {
|
|
71
|
-
const timeout = createTimeoutSignal(input.context.signal,
|
|
70
|
+
const timeout = createTimeoutSignal(input.context.signal, defaultProviderRequestTimeoutMs);
|
|
72
71
|
try {
|
|
73
72
|
const response = await input.context.fetcher(buildScreenshotFyiUrl(input.apiKey, input.query), {
|
|
74
73
|
method: "GET",
|
|
@@ -131,7 +130,7 @@ function parseScreenshotFyiCapturePayload(payload) {
|
|
|
131
130
|
function createScreenshotFyiError(response, payload, phase) {
|
|
132
131
|
const message = extractScreenshotFyiErrorMessage(payload) ?? `screenshot.fyi request failed with status ${response.status}`;
|
|
133
132
|
if (phase === "validate" && response.status >= 400 && response.status < 500) {
|
|
134
|
-
return
|
|
133
|
+
return providerInputError(message);
|
|
135
134
|
}
|
|
136
135
|
return new ProviderRequestError(response.status || 500, message);
|
|
137
136
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { optionalBoolean, optionalInteger, optionalNumber, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, ProviderRequestError, providerUserAgent, requiredResponseRecord, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, ProviderRequestError, providerUserAgent, requiredResponseRecord, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
export const screenshotbaseApiBaseUrl = "https://api.screenshotbase.com";
|
|
4
4
|
const screenshotbaseStatusPath = "/v1/status";
|
|
5
5
|
const screenshotbaseTakePath = "/v1/take";
|
|
@@ -144,13 +144,13 @@ function createScreenshotbaseError(status, payload, phase) {
|
|
|
144
144
|
return new ProviderRequestError(429, message);
|
|
145
145
|
}
|
|
146
146
|
if (phase === "validate" && (status === 401 || status === 403)) {
|
|
147
|
-
return
|
|
147
|
+
return providerInputError(message);
|
|
148
148
|
}
|
|
149
149
|
if (phase === "execute" && (status === 401 || status === 403)) {
|
|
150
150
|
return new ProviderRequestError(401, message);
|
|
151
151
|
}
|
|
152
152
|
if (status === 400 || status === 422) {
|
|
153
|
-
return
|
|
153
|
+
return providerInputError(message);
|
|
154
154
|
}
|
|
155
155
|
if (status === 408) {
|
|
156
156
|
return new ProviderRequestError(504, message);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalNumber, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
2
|
+
import { providerUserAgent, ProviderRequestError, providerInputError } from "../provider-runtime.js";
|
|
3
3
|
const searchApiOrigin = "https://www.searchapi.io";
|
|
4
4
|
const searchApiBasePath = "/api/v1/";
|
|
5
5
|
export const searchApiBaseUrl = "https://www.searchapi.io/api/v1";
|
|
@@ -201,7 +201,7 @@ async function readJsonPayload(response) {
|
|
|
201
201
|
function createSearchApiError(status, payload, phase) {
|
|
202
202
|
const message = extractSearchApiMessage(payload) ?? `SearchApi request failed with ${status || 500}`;
|
|
203
203
|
if (phase === "validate" && (status === 401 || status === 403)) {
|
|
204
|
-
return
|
|
204
|
+
return providerInputError(message);
|
|
205
205
|
}
|
|
206
206
|
return new ProviderRequestError(status || 500, message);
|
|
207
207
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
const service = "securitytrails";
|
|
4
4
|
const securitytrailsApiBaseUrl = "https://api.securitytrails.com";
|
|
5
5
|
export const securitytrailsActionHandlers = {
|
|
@@ -117,7 +117,7 @@ async function readSecuritytrailsPayload(response) {
|
|
|
117
117
|
function buildSecuritytrailsError(status, payload, phase) {
|
|
118
118
|
const message = readSecuritytrailsMessage(payload) ?? `SecurityTrails request failed with ${status || 500}`;
|
|
119
119
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
120
|
-
return
|
|
120
|
+
return providerInputError(message);
|
|
121
121
|
}
|
|
122
122
|
return new ProviderRequestError(status || 500, message);
|
|
123
123
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { compactObject, looseArray, optionalRawString, optionalRecord, rawStringOrNull, recordOrEmpty, } from "../../core/cast.js";
|
|
2
2
|
import { encodePathSegment } from "../../core/request.js";
|
|
3
|
-
import { defineProviderExecutors, defineProviderProxy, mapProviderActionSources, providerProxyEndpointPrefixes, ProviderRequestError, providerUserAgent, requireApiKeyCredential, runProviderRequest, } from "../provider-runtime.js";
|
|
3
|
+
import { defineProviderExecutors, defineProviderProxy, mapProviderActionSources, providerProxyEndpointPrefixes, ProviderRequestError, providerUserAgent, requireApiKeyCredential, runProviderRequest, providerInputError, } from "../provider-runtime.js";
|
|
4
4
|
const service = "semantic_scholar";
|
|
5
5
|
const graphApiBaseUrl = "https://api.semanticscholar.org/graph/v1";
|
|
6
6
|
const recommendationsApiBaseUrl = "https://api.semanticscholar.org/recommendations/v1";
|
|
@@ -331,7 +331,7 @@ function createSemanticScholarError(status, payload, phase) {
|
|
|
331
331
|
return new ProviderRequestError(429, message);
|
|
332
332
|
}
|
|
333
333
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
334
|
-
return
|
|
334
|
+
return providerInputError(message);
|
|
335
335
|
}
|
|
336
336
|
if (phase === "execute" && (status === 401 || status === 403)) {
|
|
337
337
|
return new ProviderRequestError(401, message);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalRawString, pickOptionalString } from "../../core/cast.js";
|
|
2
|
-
import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
2
|
+
import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
const sendbirdUserAgent = providerUserAgent;
|
|
4
4
|
const sendbirdValidationPath = "/applications/settings_global";
|
|
5
5
|
export const sendbirdActionHandlers = {
|
|
@@ -510,7 +510,7 @@ function createSendbirdError(response, payload, phase) {
|
|
|
510
510
|
return new ProviderRequestError(429, message);
|
|
511
511
|
}
|
|
512
512
|
if (phase === "validate" && (response.status === 401 || response.status === 403)) {
|
|
513
|
-
return
|
|
513
|
+
return providerInputError(message);
|
|
514
514
|
}
|
|
515
515
|
if (response.status === 400 || response.status === 404) {
|
|
516
516
|
return new ProviderRequestError(response.status, message);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalNumber, optionalRawString, optionalRecord } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
const sendfoxApiBaseUrl = "https://api.sendfox.com";
|
|
4
4
|
export const sendfoxActionHandlers = {
|
|
5
5
|
list_contacts(input, context) {
|
|
@@ -235,7 +235,7 @@ function createSendfoxError(response, payload, phase) {
|
|
|
235
235
|
return new ProviderRequestError(429, message);
|
|
236
236
|
}
|
|
237
237
|
if (phase === "validate" && (response.status === 401 || response.status === 403)) {
|
|
238
|
-
return
|
|
238
|
+
return providerInputError(message);
|
|
239
239
|
}
|
|
240
240
|
if (response.status === 401) {
|
|
241
241
|
return new ProviderRequestError(401, message);
|
|
@@ -244,7 +244,7 @@ function createSendfoxError(response, payload, phase) {
|
|
|
244
244
|
return new ProviderRequestError(403, message);
|
|
245
245
|
}
|
|
246
246
|
if (response.status === 404 || response.status === 400 || response.status === 409 || response.status === 422) {
|
|
247
|
-
return
|
|
247
|
+
return providerInputError(message);
|
|
248
248
|
}
|
|
249
249
|
return new ProviderRequestError(response.status >= 500 ? 502 : response.status, message);
|
|
250
250
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalNumber, optionalRawString, optionalRecord } from "../../core/cast.js";
|
|
2
|
-
import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
2
|
+
import { defineProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, requireApiKeyCredential, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
const sendgridDefaultBaseUrl = "https://api.sendgrid.com";
|
|
4
4
|
const sendgridTemplatesPath = "/v3/templates";
|
|
5
5
|
const sendgridMailSendPath = "/v3/mail/send";
|
|
@@ -363,13 +363,13 @@ function sendgridHeaders(apiKey, hasBody) {
|
|
|
363
363
|
function mapSendgridError(status, message, mode) {
|
|
364
364
|
if (status === 401) {
|
|
365
365
|
if (mode === "validate") {
|
|
366
|
-
return
|
|
366
|
+
return providerInputError(message);
|
|
367
367
|
}
|
|
368
368
|
return new ProviderRequestError(401, message);
|
|
369
369
|
}
|
|
370
370
|
if (status === 403) {
|
|
371
371
|
if (mode === "validate") {
|
|
372
|
-
return
|
|
372
|
+
return providerInputError(message);
|
|
373
373
|
}
|
|
374
374
|
return new ProviderRequestError(403, message);
|
|
375
375
|
}
|
|
@@ -377,9 +377,9 @@ function mapSendgridError(status, message, mode) {
|
|
|
377
377
|
return new ProviderRequestError(429, message);
|
|
378
378
|
}
|
|
379
379
|
if (status === 400 || status === 404) {
|
|
380
|
-
return
|
|
380
|
+
return providerInputError(message);
|
|
381
381
|
}
|
|
382
|
-
return
|
|
382
|
+
return providerResponseError(message);
|
|
383
383
|
}
|
|
384
384
|
async function readSendgridError(response) {
|
|
385
385
|
try {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
export const sendmatorApiBaseUrl = "https://api.sendmator.com/api/v1";
|
|
4
|
-
const sendmatorDefaultRequestTimeoutMs = 30_000;
|
|
5
4
|
export const sendmatorActionHandlers = {
|
|
6
5
|
list_contacts(input, context) {
|
|
7
6
|
return executeListContacts(input, context);
|
|
@@ -126,7 +125,7 @@ async function requestSendmatorJson(input) {
|
|
|
126
125
|
if (input.body) {
|
|
127
126
|
headers["content-type"] = "application/json";
|
|
128
127
|
}
|
|
129
|
-
const timeout = createProviderTimeout(input.signal
|
|
128
|
+
const timeout = createProviderTimeout(input.signal);
|
|
130
129
|
let response;
|
|
131
130
|
try {
|
|
132
131
|
response = await input.fetcher(url.toString(), {
|
|
@@ -138,7 +137,7 @@ async function requestSendmatorJson(input) {
|
|
|
138
137
|
}
|
|
139
138
|
catch (error) {
|
|
140
139
|
throw new ProviderRequestError(502, timeout.didTimeout() || isAbortLikeError(error)
|
|
141
|
-
? `sendmator request timed out after ${
|
|
140
|
+
? `sendmator request timed out after ${defaultProviderRequestTimeoutMs}ms`
|
|
142
141
|
: `sendmator request failed: ${error instanceof Error ? error.message : "Unknown transport error"}`);
|
|
143
142
|
}
|
|
144
143
|
finally {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
|
|
2
2
|
import { assertPublicHttpUrl, isPrivateNetworkAccessAllowed } from "../../core/request.js";
|
|
3
|
-
import { createProviderTimeout, defineProviderExecutors, isAbortLikeError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredResponseRecord, } from "../provider-runtime.js";
|
|
3
|
+
import { createProviderTimeout, defineProviderExecutors, isAbortLikeError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredResponseRecord, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
4
4
|
const service = "seqera";
|
|
5
5
|
const defaultSeqeraApiBaseUrl = "https://api.cloud.seqera.io";
|
|
6
|
-
const seqeraRequestTimeoutMs = 30_000;
|
|
7
6
|
const seqeraValidationEndpoint = "/user-info";
|
|
8
7
|
export const seqeraActionHandlers = {
|
|
9
8
|
get_current_user(_input, context) {
|
|
@@ -263,7 +262,7 @@ async function seqeraFetch(input) {
|
|
|
263
262
|
headers.set("Content-Type", "application/json");
|
|
264
263
|
body = JSON.stringify(input.body);
|
|
265
264
|
}
|
|
266
|
-
const timeout = createProviderTimeout(input.signal
|
|
265
|
+
const timeout = createProviderTimeout(input.signal);
|
|
267
266
|
try {
|
|
268
267
|
return await input.fetcher(url, {
|
|
269
268
|
method: input.method ?? "GET",
|
|
@@ -274,7 +273,7 @@ async function seqeraFetch(input) {
|
|
|
274
273
|
}
|
|
275
274
|
catch (error) {
|
|
276
275
|
if (timeout.didTimeout() || isAbortLikeError(error)) {
|
|
277
|
-
throw new ProviderRequestError(502, `seqera ${input.path} request timed out after ${Math.max(1, Math.ceil(
|
|
276
|
+
throw new ProviderRequestError(502, `seqera ${input.path} request timed out after ${Math.max(1, Math.ceil(defaultProviderRequestTimeoutMs / 1000))} seconds`);
|
|
278
277
|
}
|
|
279
278
|
throw new ProviderRequestError(502, error instanceof Error ? error.message : "Seqera request failed");
|
|
280
279
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, readProviderJsonBody, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, defineApiKeyProviderExecutors, defineProviderProxy, providerUserAgent, ProviderRequestError, readProviderJsonBody, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
const service = "serveravatar";
|
|
4
4
|
const serverAvatarApiBaseUrl = "https://api.serveravatar.com";
|
|
5
5
|
export const serverAvatarActionHandlers = {
|
|
@@ -140,12 +140,12 @@ function mapServerAvatarError(status, payload, phase) {
|
|
|
140
140
|
return new ProviderRequestError(401, message);
|
|
141
141
|
}
|
|
142
142
|
if (status === 400 || status === 404 || status === 422) {
|
|
143
|
-
return
|
|
143
|
+
return providerInputError(message);
|
|
144
144
|
}
|
|
145
145
|
if (status === 429) {
|
|
146
146
|
return new ProviderRequestError(429, message);
|
|
147
147
|
}
|
|
148
|
-
return
|
|
148
|
+
return providerResponseError(message);
|
|
149
149
|
}
|
|
150
150
|
function extractServerAvatarErrorMessage(payload) {
|
|
151
151
|
if (typeof payload === "string" && payload.trim()) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
export const sheetDbApiBaseUrl = "https://sheetdb.io";
|
|
4
4
|
export const sheetDbActionHandlers = {
|
|
5
5
|
list_rows(input, context) {
|
|
@@ -252,7 +252,7 @@ function mapSheetDbError(status, payload, phase) {
|
|
|
252
252
|
return new ProviderRequestError(429, message);
|
|
253
253
|
}
|
|
254
254
|
if (status === 400 || status === 404 || status === 422) {
|
|
255
|
-
return
|
|
255
|
+
return providerInputError(message);
|
|
256
256
|
}
|
|
257
257
|
return new ProviderRequestError(status >= 500 ? status : 502, message);
|
|
258
258
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { ProviderRequestError, providerUserAgent } from "../provider-runtime.js";
|
|
2
|
+
import { ProviderRequestError, providerUserAgent, providerInputError } from "../provider-runtime.js";
|
|
3
3
|
const shortMenuApiBaseUrl = "https://api.shortmenu.com";
|
|
4
4
|
const shortMenuValidationPath = "/links";
|
|
5
5
|
export const shortMenuActionHandlers = {
|
|
@@ -145,13 +145,13 @@ async function toShortMenuError(response, phase, notFoundAsInvalidInput) {
|
|
|
145
145
|
return new ProviderRequestError(phase === "validate" ? 400 : 401, message);
|
|
146
146
|
}
|
|
147
147
|
if (response.status === 404 && notFoundAsInvalidInput) {
|
|
148
|
-
return
|
|
148
|
+
return providerInputError(message);
|
|
149
149
|
}
|
|
150
150
|
if (response.status === 400 && errorCode === "LINK_LIMIT_REACHED") {
|
|
151
151
|
return new ProviderRequestError(429, message);
|
|
152
152
|
}
|
|
153
153
|
if (response.status === 400) {
|
|
154
|
-
return
|
|
154
|
+
return providerInputError(message);
|
|
155
155
|
}
|
|
156
156
|
return new ProviderRequestError(response.status || 502, message);
|
|
157
157
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { providerFetch, ProviderRequestError, providerUserAgent, requiredResponseRecord } from "../provider-runtime.js";
|
|
2
|
+
import { providerFetch, ProviderRequestError, providerUserAgent, requiredResponseRecord, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
export const shortcutApiBaseUrl = "https://api.app.shortcut.com/api/v3/";
|
|
4
4
|
const shortcutValidatePath = "member";
|
|
5
5
|
export const shortcutActionHandlers = {
|
|
@@ -297,13 +297,13 @@ function createShortcutError(status, payload, phase) {
|
|
|
297
297
|
return new ProviderRequestError(429, message);
|
|
298
298
|
}
|
|
299
299
|
if (phase === "validate" && [400, 401, 403, 404].includes(status)) {
|
|
300
|
-
return
|
|
300
|
+
return providerInputError(message);
|
|
301
301
|
}
|
|
302
302
|
if (phase === "execute" && (status === 401 || status === 403)) {
|
|
303
303
|
return new ProviderRequestError(401, message);
|
|
304
304
|
}
|
|
305
305
|
if (phase === "execute" && [400, 404, 422].includes(status)) {
|
|
306
|
-
return
|
|
306
|
+
return providerInputError(message);
|
|
307
307
|
}
|
|
308
308
|
return new ProviderRequestError(status >= 500 ? status : 502, message);
|
|
309
309
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { ProviderRequestError, providerUserAgent, runProviderRequest } from "../provider-runtime.js";
|
|
2
|
+
import { ProviderRequestError, providerUserAgent, runProviderRequest, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
const shortpixelAccountApiBaseUrl = "https://api.shortpixel.com/v2";
|
|
4
4
|
const shortpixelCdnApiBaseUrl = "https://no-cdn.shortpixel.ai";
|
|
5
5
|
export const shortpixelActionHandlers = {
|
|
@@ -110,7 +110,7 @@ function createShortpixelHttpError(status, payload, phase) {
|
|
|
110
110
|
return new ProviderRequestError(429, message);
|
|
111
111
|
}
|
|
112
112
|
if (phase === "validate" && (status === 401 || status === 403)) {
|
|
113
|
-
return
|
|
113
|
+
return providerInputError(message);
|
|
114
114
|
}
|
|
115
115
|
return new ProviderRequestError(status >= 500 ? status : 502, message);
|
|
116
116
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { optionalBoolean, optionalNumber, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
2
|
import { jsonObject } from "../../core/request.js";
|
|
3
|
-
import { createProviderTimeout, providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
3
|
+
import { createProviderTimeout, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
|
|
4
4
|
const shotstackApiBaseUrl = "https://api.shotstack.io/edit/v1";
|
|
5
5
|
export const shotstackProxyBaseUrl = "https://api.shotstack.io";
|
|
6
6
|
export const shotstackActionHandlers = {
|
|
@@ -54,7 +54,7 @@ async function renderEdit(input, context) {
|
|
|
54
54
|
return { render: { id, message } };
|
|
55
55
|
}
|
|
56
56
|
async function getRender(input, context) {
|
|
57
|
-
const id = requiredString(input.id, "id",
|
|
57
|
+
const id = requiredString(input.id, "id", providerInputError);
|
|
58
58
|
const query = new URLSearchParams();
|
|
59
59
|
const data = optionalBoolean(input.data);
|
|
60
60
|
const merged = optionalBoolean(input.merged);
|
|
@@ -164,13 +164,13 @@ function createShotstackError(response, payload, phase) {
|
|
|
164
164
|
return new ProviderRequestError(429, message);
|
|
165
165
|
}
|
|
166
166
|
if (phase === "validate" && response.status >= 400 && response.status < 500) {
|
|
167
|
-
return
|
|
167
|
+
return providerInputError(message);
|
|
168
168
|
}
|
|
169
169
|
if (phase === "execute" && (response.status === 401 || response.status === 403)) {
|
|
170
170
|
return new ProviderRequestError(401, message);
|
|
171
171
|
}
|
|
172
172
|
if (response.status >= 400 && response.status < 500) {
|
|
173
|
-
return
|
|
173
|
+
return providerInputError(message);
|
|
174
174
|
}
|
|
175
175
|
return new ProviderRequestError(response.status || 502, message);
|
|
176
176
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, defineProviderExecutors, ProviderRequestError, providerUserAgent, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, defineProviderExecutors, ProviderRequestError, providerUserAgent, requireApiKeyCredential, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
export const signpathApiBaseUrl = "https://app.signpath.io/api/v1";
|
|
4
4
|
export const signpathActionHandlers = {
|
|
5
5
|
async list_signing_policies(input, context) {
|
|
@@ -152,7 +152,7 @@ function createSignpathError(status, payload, phase) {
|
|
|
152
152
|
return new ProviderRequestError(429, message);
|
|
153
153
|
}
|
|
154
154
|
if (status >= 400 && status < 500) {
|
|
155
|
-
return
|
|
155
|
+
return providerInputError(message);
|
|
156
156
|
}
|
|
157
157
|
return new ProviderRequestError(status || 502, message);
|
|
158
158
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const signwellApiBaseUrl = "https://www.signwell.com";
|
|
4
4
|
const signwellValidationPath = "/api/v1/me";
|
|
5
|
-
const signwellDefaultTimeoutMs = 30_000;
|
|
6
5
|
export const signwellActionHandlers = {
|
|
7
6
|
get_me(_input, context) {
|
|
8
7
|
return getMe(context);
|
|
@@ -205,7 +204,7 @@ function buildReminderRequestBody(input) {
|
|
|
205
204
|
});
|
|
206
205
|
}
|
|
207
206
|
async function requestSignwellJson(input) {
|
|
208
|
-
const timeoutHandle = createProviderTimeout(input.signal
|
|
207
|
+
const timeoutHandle = createProviderTimeout(input.signal);
|
|
209
208
|
try {
|
|
210
209
|
const response = await input.fetcher(new URL(input.path, signwellApiBaseUrl), {
|
|
211
210
|
method: input.method ?? "GET",
|
|
@@ -231,7 +230,7 @@ async function requestSignwellJson(input) {
|
|
|
231
230
|
throw error;
|
|
232
231
|
}
|
|
233
232
|
if (timeoutHandle.didTimeout() || isAbortLikeError(error)) {
|
|
234
|
-
throw new ProviderRequestError(504, `SignWell request timed out after ${Math.max(1, Math.ceil(
|
|
233
|
+
throw new ProviderRequestError(504, `SignWell request timed out after ${Math.max(1, Math.ceil(defaultProviderRequestTimeoutMs / 1000))} seconds`);
|
|
235
234
|
}
|
|
236
235
|
throw new ProviderRequestError(502, error instanceof Error ? `SignWell request failed: ${error.message}` : "SignWell request failed");
|
|
237
236
|
}
|
|
@@ -265,13 +264,13 @@ function createSignwellError(status, payload, phase) {
|
|
|
265
264
|
return new ProviderRequestError(429, message);
|
|
266
265
|
}
|
|
267
266
|
if (phase === "validate" && (status === 401 || status === 403)) {
|
|
268
|
-
return
|
|
267
|
+
return providerInputError(message);
|
|
269
268
|
}
|
|
270
269
|
if (phase === "execute" && (status === 401 || status === 403)) {
|
|
271
270
|
return new ProviderRequestError(401, message);
|
|
272
271
|
}
|
|
273
272
|
if (status === 404 || status === 400 || status === 422) {
|
|
274
|
-
return
|
|
273
|
+
return providerInputError(message);
|
|
275
274
|
}
|
|
276
275
|
if (status >= 400 && status < 500) {
|
|
277
276
|
return new ProviderRequestError(status, message);
|