@oomol-lab/open-connector 1.9.1 → 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/aisa.json +1946 -56
- package/assets/open-connector/catalog/apps/akta.json +1181 -0
- package/assets/open-connector/catalog/apps/allratestoday.json +174 -0
- package/assets/open-connector/catalog/apps/asana.json +110 -0
- package/assets/open-connector/catalog/apps/calendly.json +103 -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/contextdev.json +20670 -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/fireflies.json +103 -0
- package/assets/open-connector/catalog/apps/fundable.json +7926 -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/keenable.json +235 -0
- package/assets/open-connector/catalog/apps/kolsprite_mcp.json +1227 -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/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/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/resend.json +100 -0
- package/assets/open-connector/catalog/apps/salesforce.json +2487 -119
- 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 +250 -2
- 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/tinyfish.json +6154 -0
- package/assets/open-connector/catalog/apps/typeform.json +90 -1
- 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/zoom.json +112 -0
- 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/json-schema.d.ts +11 -3
- package/src/core/json-schema.js +13 -3
- 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 +24 -6
- 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/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/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/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/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/executors.d.ts +2 -0
- package/src/providers/calendly/executors.js +2 -0
- package/src/providers/calendly/runtime.js +2 -2
- 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/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/clickup/executors.d.ts +2 -0
- package/src/providers/clickup/executors.js +2 -0
- 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/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/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/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/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/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/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/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_app_bot/trigger-on-event.js +2 -0
- 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/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/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/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/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/gmail/message.d.ts +1 -6
- package/src/providers/gmail/message.js +1 -1
- 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/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/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.d.ts +2 -0
- package/src/providers/jira/executors.js +6 -4
- 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/kaleido/runtime.js +2 -2
- package/src/providers/kandji/runtime.js +2 -2
- 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/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/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/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/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/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/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/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/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/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/moneyforward_mcp/manifest.d.ts +0 -2
- package/src/providers/moneyforward_mcp/manifest.js +1 -1
- 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/notion/executors.js +36 -3
- 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/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/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/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/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/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/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/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/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/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/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 +26 -1
- package/src/providers/provider-runtime.js +62 -14
- 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 +18 -0
- package/src/providers/render/executors.js +3 -3
- 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/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/salesforce/chatter-routes.d.ts +107 -0
- package/src/providers/salesforce/chatter-routes.js +140 -0
- package/src/providers/salesforce/context.d.ts +2 -2
- package/src/providers/salesforce/context.js +7 -4
- package/src/providers/salesforce/executors.js +10 -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-base.js +14 -3
- package/src/providers/salesforce/runtime-chatter.d.ts +2 -0
- package/src/providers/salesforce/runtime-chatter.js +78 -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/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/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/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/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/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/seqera/runtime.js +3 -4
- package/src/providers/serveravatar/executors.js +3 -3
- package/src/providers/sf_express/runtime.d.ts +0 -16
- package/src/providers/sf_express/runtime.js +2 -2
- 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/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/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/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/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/executors.d.ts +2 -0
- package/src/providers/tally/executors.js +2 -0
- package/src/providers/tally/runtime.js +3 -3
- 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/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/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/totp/runtime.js +4 -5
- package/src/providers/trawlingweb/runtime.js +2 -2
- package/src/providers/trello/executors.js +5 -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/executors.d.ts +2 -0
- package/src/providers/typeform/executors.js +2 -0
- package/src/providers/typeform/runtime.js +2 -2
- 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/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/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/vectorshift/runtime.js +3 -3
- package/src/providers/venafitlsprotectcloud/runtime.js +2 -3
- package/src/providers/venafitlsprotectdatacenter/runtime.js +2 -3
- 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/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/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/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/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/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/action-example.js +12 -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/pattern-example.js +35 -1
- 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/api/trigger-routes.js +1 -1
- package/src/server/connect-app.d.ts +4 -0
- package/src/server/connect-app.js +15 -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/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/maintenance.d.ts +2 -0
- package/src/triggers/maintenance.js +2 -1
- 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-signature.d.ts +10 -0
- package/src/triggers/sources/slack-signature.js +13 -0
- package/src/triggers/sources/slack.d.ts +3 -0
- package/src/triggers/sources/slack.js +125 -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 +53 -17
|
@@ -2,7 +2,7 @@ export interface GmailMessageHeader {
|
|
|
2
2
|
name: string;
|
|
3
3
|
value: string;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
interface GmailMessagePart {
|
|
6
6
|
partId?: string;
|
|
7
7
|
mimeType?: string;
|
|
8
8
|
filename?: string;
|
|
@@ -80,11 +80,6 @@ export interface GmailReplyHeaders {
|
|
|
80
80
|
export declare function resolveReplyHeaders(resource: GmailMessageResource): GmailReplyHeaders;
|
|
81
81
|
/** Gmail requires a reply's subject to match its target after ordinary Re: prefixes. */
|
|
82
82
|
export declare function assertMatchingReplySubject(subject: string, targetSubject: string): void;
|
|
83
|
-
interface GmailBodyContent {
|
|
84
|
-
body: string;
|
|
85
|
-
isHtml: boolean;
|
|
86
|
-
}
|
|
87
|
-
export declare function extractBodyContent(payload: GmailMessagePart | null): GmailBodyContent;
|
|
88
83
|
export declare function normalizeThreadId(value: unknown): string;
|
|
89
84
|
export declare function normalizeMessageId(value: unknown): string;
|
|
90
85
|
interface RecipientsInput {
|
|
@@ -171,7 +171,7 @@ function parseAddressList(value) {
|
|
|
171
171
|
function firstAddress(value) {
|
|
172
172
|
return parseAddressList(value)[0] ?? "";
|
|
173
173
|
}
|
|
174
|
-
|
|
174
|
+
function extractBodyContent(payload) {
|
|
175
175
|
return extractPartBody(payload, true);
|
|
176
176
|
}
|
|
177
177
|
function extractPartBody(payload, isBodyRoot) {
|
|
@@ -2,9 +2,8 @@ import { Buffer } from "node:buffer";
|
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import { compactObject, optionalRecord, optionalString } from "../../core/cast.js";
|
|
4
4
|
import { assertPublicHttpUrl } from "../../core/request.js";
|
|
5
|
-
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, requiredInputString, } from "../provider-runtime.js";
|
|
5
|
+
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, requiredInputString, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
6
6
|
export const gongDefaultApiBaseUrl = "https://api.gong.io";
|
|
7
|
-
const gongDefaultTimeoutMs = 30_000;
|
|
8
7
|
const gongCredentialHelpUrl = "https://help.gong.io/docs/receive-access-to-the-api";
|
|
9
8
|
export const gongActionHandlers = {
|
|
10
9
|
list_users(input, context) {
|
|
@@ -115,7 +114,7 @@ export async function validateGongCredential(input, fetcher, signal) {
|
|
|
115
114
|
};
|
|
116
115
|
}
|
|
117
116
|
async function requestGongJson(input) {
|
|
118
|
-
const timeout = createProviderTimeout(input.context.signal
|
|
117
|
+
const timeout = createProviderTimeout(input.context.signal);
|
|
119
118
|
try {
|
|
120
119
|
const response = await input.context.fetcher(buildGongUrl(input.context.apiBaseUrl, input.path, input.query), {
|
|
121
120
|
method: input.method,
|
|
@@ -134,7 +133,7 @@ async function requestGongJson(input) {
|
|
|
134
133
|
throw error;
|
|
135
134
|
}
|
|
136
135
|
if (timeout.didTimeout() || isAbortLikeError(error)) {
|
|
137
|
-
throw new ProviderRequestError(504, `Gong ${input.path} request timed out after ${
|
|
136
|
+
throw new ProviderRequestError(504, `Gong ${input.path} request timed out after ${defaultProviderRequestTimeoutMs / 1000} seconds`);
|
|
138
137
|
}
|
|
139
138
|
const message = error instanceof Error && error.message.trim() ? error.message : "request failed";
|
|
140
139
|
throw new ProviderRequestError(502, `Gong ${input.path} request failed: ${message}`);
|
|
@@ -158,7 +157,7 @@ export function normalizeGongApiBaseUrl(value) {
|
|
|
158
157
|
}
|
|
159
158
|
assertPublicHttpUrl(url.toString(), {
|
|
160
159
|
fieldName: "apiBaseUrl",
|
|
161
|
-
createError:
|
|
160
|
+
createError: providerInputError,
|
|
162
161
|
});
|
|
163
162
|
url.search = "";
|
|
164
163
|
url.hash = "";
|
|
@@ -214,10 +213,10 @@ function mapGongHttpError(status, message, phase) {
|
|
|
214
213
|
return new ProviderRequestError(429, message);
|
|
215
214
|
}
|
|
216
215
|
if (phase === "validate" && [400, 401, 403].includes(status)) {
|
|
217
|
-
return
|
|
216
|
+
return providerInputError(message);
|
|
218
217
|
}
|
|
219
218
|
if ([400, 404].includes(status)) {
|
|
220
|
-
return
|
|
219
|
+
return providerInputError(message);
|
|
221
220
|
}
|
|
222
221
|
if ([401, 403].includes(status)) {
|
|
223
222
|
return new ProviderRequestError(status, message);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { optionalRecord, optionalString as asOptionalString, pickOptionalString } from "../../core/cast.js";
|
|
2
|
-
import { providerUserAgent, ProviderRequestError, withRetryAfterSeconds } from "../provider-runtime.js";
|
|
2
|
+
import { providerUserAgent, ProviderRequestError, withRetryAfterSeconds, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
export const googlecalendarApiBaseUrl = "https://www.googleapis.com/calendar/v3";
|
|
4
4
|
const service = "googlecalendar";
|
|
5
|
-
const googleDefaultRequestTimeoutMs = 30_000;
|
|
6
5
|
export async function googlecalendarJsonRequest(url, input) {
|
|
7
6
|
try {
|
|
8
7
|
const response = await googlecalendarRequest(url, input);
|
|
@@ -50,7 +49,7 @@ export async function googlecalendarRequest(url, input) {
|
|
|
50
49
|
};
|
|
51
50
|
const response = await googleFetchWithTimeout(target.toString(), {
|
|
52
51
|
fetcher: input.fetcher,
|
|
53
|
-
timeoutMs:
|
|
52
|
+
timeoutMs: defaultProviderRequestTimeoutMs,
|
|
54
53
|
init: requestInit,
|
|
55
54
|
});
|
|
56
55
|
await assertGoogleResponse(response);
|
|
@@ -95,7 +94,7 @@ function maybeRewriteSyncTokenError(error, syncTokenAware) {
|
|
|
95
94
|
return error;
|
|
96
95
|
}
|
|
97
96
|
async function googleFetchWithTimeout(url, input) {
|
|
98
|
-
const timeoutMs = input.timeoutMs ??
|
|
97
|
+
const timeoutMs = input.timeoutMs ?? defaultProviderRequestTimeoutMs;
|
|
99
98
|
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
100
99
|
return input.fetcher(url, input.init);
|
|
101
100
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { looseArray, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, providerResponseError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const defaultService = "googledrive";
|
|
4
|
-
const googleDefaultRequestTimeoutMs = 30_000;
|
|
5
4
|
export async function googleJsonRequest(url, input) {
|
|
6
5
|
const response = await googleRequest(url, input);
|
|
7
6
|
return (await response.json());
|
|
@@ -41,7 +40,7 @@ export async function googleRequest(url, input) {
|
|
|
41
40
|
: headers,
|
|
42
41
|
...(input.rawBody != null ? { body: input.rawBody } : hasJsonBody ? { body: JSON.stringify(input.body) } : {}),
|
|
43
42
|
};
|
|
44
|
-
const timeoutMs = input.timeoutMs ??
|
|
43
|
+
const timeoutMs = input.timeoutMs ?? defaultProviderRequestTimeoutMs;
|
|
45
44
|
const timeout = createProviderTimeout(input.signal, timeoutMs);
|
|
46
45
|
let response;
|
|
47
46
|
try {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { compactObject, objectArray, optionalBoolean, optionalIntegerLike, optionalRecord, optionalString as optionalTrimmedString, pickOptionalBoolean, pickOptionalInteger, pickOptionalString, requiredRecord, stringArray, } from "../../core/cast.js";
|
|
2
|
-
import { isAbortLikeError, providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
2
|
+
import { isAbortLikeError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
export { compactObject, optionalBoolean, optionalIntegerLike as asOptionalInteger, optionalRecord as asOptionalObject, pickOptionalBoolean, pickOptionalInteger, pickOptionalString, };
|
|
4
4
|
const service = "googlesheets";
|
|
5
|
-
const googleDefaultRequestTimeoutMs = 30_000;
|
|
6
5
|
export async function googleJsonRequest(url, input) {
|
|
7
6
|
const response = await googleRequest(url, input);
|
|
8
7
|
return (await response.json());
|
|
@@ -44,7 +43,7 @@ export async function googleRequest(url, input) {
|
|
|
44
43
|
};
|
|
45
44
|
const response = await googleFetchWithTimeout(target.toString(), {
|
|
46
45
|
fetcher: input.fetcher,
|
|
47
|
-
timeoutMs: input.timeoutMs ??
|
|
46
|
+
timeoutMs: input.timeoutMs ?? defaultProviderRequestTimeoutMs,
|
|
48
47
|
init: requestInit,
|
|
49
48
|
});
|
|
50
49
|
await assertGoogleResponse(response);
|
|
@@ -141,7 +140,7 @@ export function asStringArray(value) {
|
|
|
141
140
|
return stringArray(value, "string array", (message) => new ProviderRequestError(400, message));
|
|
142
141
|
}
|
|
143
142
|
async function googleFetchWithTimeout(url, input) {
|
|
144
|
-
const timeoutMs = input.timeoutMs ??
|
|
143
|
+
const timeoutMs = input.timeoutMs ?? defaultProviderRequestTimeoutMs;
|
|
145
144
|
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
146
145
|
return input.fetcher(url, input.init);
|
|
147
146
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Buffer } from "node:buffer";
|
|
2
2
|
import { optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
3
|
-
import { providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
3
|
+
import { providerUserAgent, ProviderRequestError, providerInputError } from "../provider-runtime.js";
|
|
4
4
|
const gorgiasValidationPath = "/api/account";
|
|
5
5
|
export const gorgiasActionHandlers = {
|
|
6
6
|
async get_account(_input, context) {
|
|
@@ -202,16 +202,16 @@ async function readGorgiasPayload(response) {
|
|
|
202
202
|
function createGorgiasError(response, payload, phase, notFoundAsInvalidInput) {
|
|
203
203
|
const message = extractGorgiasErrorMessage(payload) ?? `Gorgias request failed with ${response.status}`;
|
|
204
204
|
if (phase === "validate" && (response.status === 401 || response.status === 403)) {
|
|
205
|
-
return
|
|
205
|
+
return providerInputError(message);
|
|
206
206
|
}
|
|
207
207
|
if (response.status === 401 || response.status === 403) {
|
|
208
208
|
return new ProviderRequestError(response.status, message);
|
|
209
209
|
}
|
|
210
210
|
if (response.status === 404 && notFoundAsInvalidInput) {
|
|
211
|
-
return
|
|
211
|
+
return providerInputError(message);
|
|
212
212
|
}
|
|
213
213
|
if (response.status === 400 || response.status === 422) {
|
|
214
|
-
return
|
|
214
|
+
return providerInputError(message);
|
|
215
215
|
}
|
|
216
216
|
if (response.status === 429) {
|
|
217
217
|
return new ProviderRequestError(429, message);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { compactObject, optionalInteger, optionalRawString, optionalRecord, optionalString, requiredRecord, requiredString, } from "../../core/cast.js";
|
|
3
3
|
import { assertPublicHttpUrl, isPrivateNetworkAccessAllowed } from "../../core/request.js";
|
|
4
|
-
import { createProviderFetch, createProviderTimeout, defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerUserAgent, ProviderRequestError, readProviderJsonBody, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
4
|
+
import { createProviderFetch, createProviderTimeout, defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerUserAgent, ProviderRequestError, readProviderJsonBody, requireApiKeyCredential, providerInputError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
5
5
|
const service = "gotify";
|
|
6
|
-
const gotifyRequestTimeoutMs = 30_000;
|
|
7
6
|
export const gotifyActionHandlers = {
|
|
8
7
|
async send_message(input, context) {
|
|
9
8
|
const payload = await requestGotifyJson({
|
|
@@ -110,11 +109,11 @@ export const credentialValidators = {
|
|
|
110
109
|
},
|
|
111
110
|
};
|
|
112
111
|
function normalizeGotifyBaseUrl(value, allowPrivateNetwork = isPrivateNetworkAccessAllowed()) {
|
|
113
|
-
const rawValue = requiredString(value, "baseUrl",
|
|
112
|
+
const rawValue = requiredString(value, "baseUrl", providerInputError);
|
|
114
113
|
const url = assertPublicHttpUrl(rawValue, {
|
|
115
114
|
fieldName: "baseUrl",
|
|
116
115
|
allowPrivateNetwork,
|
|
117
|
-
createError:
|
|
116
|
+
createError: providerInputError,
|
|
118
117
|
});
|
|
119
118
|
if (url.username || url.password) {
|
|
120
119
|
throw new ProviderRequestError(400, "baseUrl must not include username or password");
|
|
@@ -124,7 +123,7 @@ function normalizeGotifyBaseUrl(value, allowPrivateNetwork = isPrivateNetworkAcc
|
|
|
124
123
|
return url.toString().replace(/\/+$/u, "");
|
|
125
124
|
}
|
|
126
125
|
async function requestGotifyJson(input) {
|
|
127
|
-
const timeout = createProviderTimeout(input.context.signal
|
|
126
|
+
const timeout = createProviderTimeout(input.context.signal);
|
|
128
127
|
try {
|
|
129
128
|
const headers = {
|
|
130
129
|
accept: "application/json",
|
|
@@ -157,7 +156,7 @@ async function requestGotifyJson(input) {
|
|
|
157
156
|
throw error;
|
|
158
157
|
}
|
|
159
158
|
if (timeout.didTimeout() || isAbortLikeError(error)) {
|
|
160
|
-
throw new ProviderRequestError(504, `Gotify ${input.path} request timed out after ${Math.ceil(
|
|
159
|
+
throw new ProviderRequestError(504, `Gotify ${input.path} request timed out after ${Math.ceil(defaultProviderRequestTimeoutMs / 1000)} seconds`);
|
|
161
160
|
}
|
|
162
161
|
throw new ProviderRequestError(502, error instanceof Error
|
|
163
162
|
? `Gotify ${input.path} request failed: ${error.message}`
|
|
@@ -219,10 +218,10 @@ function readGotifyErrorMessage(payload) {
|
|
|
219
218
|
}
|
|
220
219
|
function mapGotifyHttpError(status, message, phase) {
|
|
221
220
|
if (phase === "validate" && (status === 401 || status === 403)) {
|
|
222
|
-
return
|
|
221
|
+
return providerInputError(message);
|
|
223
222
|
}
|
|
224
223
|
if (status === 400 || status === 404 || status === 422) {
|
|
225
|
-
return
|
|
224
|
+
return providerInputError(message);
|
|
226
225
|
}
|
|
227
226
|
if (status === 429) {
|
|
228
227
|
return new ProviderRequestError(429, message);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Buffer } from "node:buffer";
|
|
2
2
|
import { optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
3
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, } from "../provider-runtime.js";
|
|
3
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, ProviderRequestError, providerUserAgent, providerInputError, } from "../provider-runtime.js";
|
|
4
4
|
const service = "greenhouse";
|
|
5
5
|
const greenhouseBaseUrl = "https://harvest.greenhouse.io/v1";
|
|
6
6
|
const validationPath = "/users";
|
|
@@ -200,13 +200,13 @@ async function mapGreenhouseError(response, phase) {
|
|
|
200
200
|
? `Greenhouse API request failed: ${detail}`
|
|
201
201
|
: `Greenhouse API request failed with HTTP ${response.status}`;
|
|
202
202
|
if (phase === "validate" && (response.status === 401 || response.status === 403)) {
|
|
203
|
-
return
|
|
203
|
+
return providerInputError(message);
|
|
204
204
|
}
|
|
205
205
|
if (response.status === 401 || response.status === 403) {
|
|
206
206
|
return new ProviderRequestError(401, message);
|
|
207
207
|
}
|
|
208
208
|
if (response.status === 404 || response.status === 422) {
|
|
209
|
-
return
|
|
209
|
+
return providerInputError(message);
|
|
210
210
|
}
|
|
211
211
|
if (response.status === 429) {
|
|
212
212
|
return new ProviderRequestError(429, message);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, objectArray, optionalRecord, optionalString, requiredRecord, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerResponseError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
2
|
+
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerResponseError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "gumloop";
|
|
4
4
|
const gumloopApiBaseUrl = "https://api.gumloop.com/api/v1";
|
|
5
5
|
const gumloopValidationPath = "/list_saved_items";
|
|
6
|
-
const gumloopDefaultRequestTimeoutMs = 30_000;
|
|
7
6
|
export const gumloopActionHandlers = {
|
|
8
7
|
list_saved_flows(input, context) {
|
|
9
8
|
return listGumloopSavedFlows(input, context);
|
|
@@ -231,7 +230,7 @@ async function killGumloopFlowRun(input, context) {
|
|
|
231
230
|
}
|
|
232
231
|
async function requestGumloopJson(options) {
|
|
233
232
|
const hasJsonBody = options.body !== undefined;
|
|
234
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
233
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
235
234
|
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
236
235
|
try {
|
|
237
236
|
const response = await options.fetcher(buildGumloopUrl(options.path, options.query), {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { optionalInteger, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "gumroad";
|
|
4
4
|
const gumroadApiBaseUrl = "https://api.gumroad.com/v2";
|
|
5
5
|
const gumroadValidationPath = "/user";
|
|
6
|
-
const gumroadRequestTimeoutMs = 30_000;
|
|
7
6
|
export const gumroadActionHandlers = {
|
|
8
7
|
get_current_user(_input, context) {
|
|
9
8
|
return requestGumroad({
|
|
@@ -180,7 +179,7 @@ async function requestGumroad(input) {
|
|
|
180
179
|
else {
|
|
181
180
|
headers["content-type"] = "application/x-www-form-urlencoded;charset=UTF-8";
|
|
182
181
|
}
|
|
183
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
182
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
184
183
|
const signal = input.signal ? AbortSignal.any([input.signal, timeoutSignal]) : timeoutSignal;
|
|
185
184
|
try {
|
|
186
185
|
const response = await input.fetcher(url, {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, looseArray, optionalBoolean, optionalBooleanOrNull, optionalInteger, optionalNumber, optionalRecord, optionalRawString, optionalString, rawStringOrNull, requiredRecord, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { createProviderFetch, createProviderProxyUrl, defineProviderExecutors, isAbortLikeError, normalizeProviderProxyHeaders, providerInputError, ProviderRequestError, providerResponseError, providerUserAgent, requireApiKeyCredential, requiredInputString, toProviderProxyError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderFetch, createProviderProxyUrl, defineProviderExecutors, isAbortLikeError, normalizeProviderProxyHeaders, providerInputError, ProviderRequestError, providerResponseError, providerUserAgent, requireApiKeyCredential, requiredInputString, toProviderProxyError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "habitica";
|
|
4
4
|
const habiticaApiBaseUrl = "https://habitica.com/api/v3";
|
|
5
5
|
const habiticaFetch = createProviderFetch({ skipDnsValidation: true });
|
|
6
|
-
const habiticaDefaultRequestTimeoutMs = 30_000;
|
|
7
6
|
export const habiticaActionHandlers = {
|
|
8
7
|
get_user_profile(input, context) {
|
|
9
8
|
return getUserProfile(input, context);
|
|
@@ -295,7 +294,7 @@ async function deleteTag(input, context) {
|
|
|
295
294
|
};
|
|
296
295
|
}
|
|
297
296
|
async function requestHabitica(input) {
|
|
298
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
297
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
299
298
|
const signal = input.signal ? AbortSignal.any([input.signal, timeoutSignal]) : timeoutSignal;
|
|
300
299
|
try {
|
|
301
300
|
const response = await input.fetcher(buildHabiticaUrl(input.path, input.query), {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { optionalIntegerLike, optionalRawString, optionalRecord, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "hackerrank_work";
|
|
4
4
|
const hackerrankWorkApiBaseUrl = "https://www.hackerrank.com/x/api/v3";
|
|
5
|
-
const hackerrankWorkDefaultRequestTimeoutMs = 30_000;
|
|
6
5
|
export const hackerrankWorkActionHandlers = {
|
|
7
6
|
async list_tests(input, context) {
|
|
8
7
|
const payload = await requestHackerrankWorkJson("/tests", context, {
|
|
@@ -93,7 +92,7 @@ export const credentialValidators = {
|
|
|
93
92
|
},
|
|
94
93
|
};
|
|
95
94
|
async function requestHackerrankWorkJson(path, context, query, mode) {
|
|
96
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
95
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
97
96
|
const signal = context.signal ? AbortSignal.any([context.signal, timeoutSignal]) : timeoutSignal;
|
|
98
97
|
try {
|
|
99
98
|
const response = await context.fetcher(buildHackerrankWorkUrl(path, query), {
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderFetch, createProviderProxyUrl, defineProviderExecutors, isAbortLikeError, normalizeProviderProxyHeaders, ProviderRequestError, providerUserAgent, readProviderProxyErrorMessage, readProviderProxyResponse, requiredResponseRecord, toProviderProxyError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderFetch, createProviderProxyUrl, defineProviderExecutors, isAbortLikeError, normalizeProviderProxyHeaders, ProviderRequestError, providerUserAgent, readProviderProxyErrorMessage, readProviderProxyResponse, requiredResponseRecord, toProviderProxyError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
import { harvestOAuthScopes } from "./scopes.js";
|
|
4
4
|
const service = "harvest";
|
|
5
5
|
const harvestApiBaseUrl = "https://api.harvestapp.com";
|
|
6
6
|
const harvestAccountsUrl = "https://id.getharvest.com/api/v2/accounts";
|
|
7
7
|
const harvestFetch = createProviderFetch({ skipDnsValidation: true });
|
|
8
8
|
const harvestValidationPath = "/v2/users/me";
|
|
9
|
-
const harvestRequestTimeoutMs = 30_000;
|
|
10
9
|
export const harvestActionHandlers = {
|
|
11
10
|
get_current_user(_input, context) {
|
|
12
11
|
return getCurrentUser(context);
|
|
@@ -407,7 +406,7 @@ async function requestHarvest(input) {
|
|
|
407
406
|
headers.set("Content-Type", "application/json");
|
|
408
407
|
body = JSON.stringify(input.body);
|
|
409
408
|
}
|
|
410
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
409
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
411
410
|
const signal = input.signal ? AbortSignal.any([input.signal, timeoutSignal]) : timeoutSignal;
|
|
412
411
|
try {
|
|
413
412
|
const response = await input.fetcher(url, {
|
|
@@ -470,7 +469,7 @@ async function fetchHarvestCurrentAccount(credential, fetcher, signal) {
|
|
|
470
469
|
};
|
|
471
470
|
}
|
|
472
471
|
async function requestHarvestAccounts(accessToken, fetcher, signal) {
|
|
473
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
472
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
474
473
|
const resolvedSignal = signal ? AbortSignal.any([signal, timeoutSignal]) : timeoutSignal;
|
|
475
474
|
try {
|
|
476
475
|
const response = await fetcher(harvestAccountsUrl, {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalRecord, optionalString, rawStringOrNull, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, requiredResponseRecord, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, requiredResponseRecord, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "haveibeenpwned";
|
|
4
4
|
const haveibeenpwnedApiBaseUrl = "https://haveibeenpwned.com/api/v3";
|
|
5
|
-
const haveibeenpwnedDefaultRequestTimeoutMs = 30_000;
|
|
6
5
|
export const haveibeenpwnedActionHandlers = {
|
|
7
6
|
list_breaches(input, context) {
|
|
8
7
|
return executeListBreaches(input, context);
|
|
@@ -165,7 +164,7 @@ async function executeGetSubscriptionStatus(context) {
|
|
|
165
164
|
};
|
|
166
165
|
}
|
|
167
166
|
async function requestHaveIBeenPwnedJson(input) {
|
|
168
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
167
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
169
168
|
const signal = input.signal ? AbortSignal.any([input.signal, timeoutSignal]) : timeoutSignal;
|
|
170
169
|
try {
|
|
171
170
|
const response = await input.fetcher(buildHaveIBeenPwnedUrl(input.path, input.query ?? {}), {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalBooleanOrNull, optionalInteger, optionalNumber, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredResponseRecord, } from "../provider-runtime.js";
|
|
2
|
+
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, requiredResponseRecord, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "headout";
|
|
4
4
|
const headoutProductionApiBaseUrl = "https://www.headout.com/api/public/v1";
|
|
5
5
|
const headoutSandboxApiBaseUrl = "https://sandbox.api.test-headout.com/api/public/v1";
|
|
6
6
|
const headoutValidationPath = "/booking";
|
|
7
|
-
const headoutDefaultTimeoutMs = 30_000;
|
|
8
7
|
export const headoutActionHandlers = {
|
|
9
8
|
async list_cities(input, context) {
|
|
10
9
|
const payload = await requestHeadoutJson({
|
|
@@ -199,7 +198,7 @@ export const credentialValidators = {
|
|
|
199
198
|
async function requestHeadoutJson(input) {
|
|
200
199
|
const apiBaseUrl = input.context.apiBaseUrl ?? resolveHeadoutApiBaseUrl(input.context.apiKey);
|
|
201
200
|
const url = buildHeadoutUrl(apiBaseUrl, input.path, input.query);
|
|
202
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
201
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
203
202
|
const signal = input.context.signal ? AbortSignal.any([input.context.signal, timeoutSignal]) : timeoutSignal;
|
|
204
203
|
try {
|
|
205
204
|
const response = await input.context.fetcher(url, {
|
|
@@ -222,7 +221,7 @@ async function requestHeadoutJson(input) {
|
|
|
222
221
|
throw error;
|
|
223
222
|
}
|
|
224
223
|
if (isAbortLikeError(error)) {
|
|
225
|
-
throw new ProviderRequestError(502, `headout ${input.path} request timed out after ${Math.ceil(
|
|
224
|
+
throw new ProviderRequestError(502, `headout ${input.path} request timed out after ${Math.ceil(defaultProviderRequestTimeoutMs / 1000)} seconds`);
|
|
226
225
|
}
|
|
227
226
|
throw new ProviderRequestError(502, error instanceof Error ? error.message : `headout ${input.path} request failed`);
|
|
228
227
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, ProviderRequestError, providerUserAgent, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerInputError, ProviderRequestError, providerUserAgent, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "healthchecks_io";
|
|
4
4
|
const healthchecksIoApiBaseUrl = "https://healthchecks.io/api/v3";
|
|
5
|
-
const healthchecksIoDefaultRequestTimeoutMs = 30_000;
|
|
6
5
|
export const healthchecksIoActionHandlers = {
|
|
7
6
|
async list_checks(input, context) {
|
|
8
7
|
const payload = await requestHealthchecksIoJson({
|
|
@@ -165,7 +164,7 @@ export const credentialValidators = {
|
|
|
165
164
|
},
|
|
166
165
|
};
|
|
167
166
|
async function requestHealthchecksIoJson(input) {
|
|
168
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
167
|
+
const timeoutSignal = AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
169
168
|
const signal = input.context.signal ? AbortSignal.any([input.context.signal, timeoutSignal]) : timeoutSignal;
|
|
170
169
|
try {
|
|
171
170
|
const response = await input.context.fetcher(buildHealthchecksIoUrl(input.path, input.query), {
|
|
@@ -5,9 +5,8 @@ import { CfWorkerJsonSchemaValidator } from "@modelcontextprotocol/client/valida
|
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { optionalRecord, requiredString } from "../../core/cast.js";
|
|
7
7
|
import { withMcpClient } from "../mcp-client.js";
|
|
8
|
-
import { providerInputError, providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
8
|
+
import { providerInputError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
9
9
|
export const helium10McpEndpoint = "https://mcp.helium10.com/mcp";
|
|
10
|
-
const requestTimeoutMs = 30_000;
|
|
11
10
|
const validator = new CfWorkerJsonSchemaValidator();
|
|
12
11
|
const readOnlyTools = new Set([
|
|
13
12
|
"get_keywords_by_keyword",
|
|
@@ -65,14 +64,14 @@ export const helium10ActionHandlers = {
|
|
|
65
64
|
throw new ProviderRequestError(400, `Helium 10 MCP tool is not available for this account: ${toolName}`);
|
|
66
65
|
validateArguments(tool, args);
|
|
67
66
|
const result = await withClient(context, (client) => client.callTool({ name: toolName, arguments: args }, {
|
|
68
|
-
timeout:
|
|
67
|
+
timeout: defaultProviderRequestTimeoutMs,
|
|
69
68
|
signal: context.signal,
|
|
70
69
|
}));
|
|
71
70
|
return { result: normalizeResult(result) };
|
|
72
71
|
},
|
|
73
72
|
};
|
|
74
73
|
export async function validateHelium10Credential(accessToken, fetcher, signal) {
|
|
75
|
-
const result = await withClient({ accessToken, fetcher, signal }, (client) => client.listTools({}, { timeout:
|
|
74
|
+
const result = await withClient({ accessToken, fetcher, signal }, (client) => client.listTools({}, { timeout: defaultProviderRequestTimeoutMs, signal }));
|
|
76
75
|
if (!result.tools.some((tool) => readOnlyTools.has(tool.name))) {
|
|
77
76
|
throw new ProviderRequestError(502, "Helium 10 MCP did not expose any approved read-only tools");
|
|
78
77
|
}
|
|
@@ -84,7 +83,7 @@ export async function validateHelium10Credential(accessToken, fetcher, signal) {
|
|
|
84
83
|
};
|
|
85
84
|
}
|
|
86
85
|
async function listTools(context) {
|
|
87
|
-
const result = await withClient(context, (client) => client.listTools({}, { timeout:
|
|
86
|
+
const result = await withClient(context, (client) => client.listTools({}, { timeout: defaultProviderRequestTimeoutMs, signal: context.signal }));
|
|
88
87
|
return result.tools.filter((tool) => readOnlyTools.has(tool.name));
|
|
89
88
|
}
|
|
90
89
|
async function withClient(context, run) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, isAbortLikeError, ProviderRequestError, providerUserAgent, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, isAbortLikeError, ProviderRequestError, providerUserAgent, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
export const helpdeskApiBaseUrl = "https://api.helpdesk.com";
|
|
4
4
|
const helpdeskValidationEndpoint = "/v1/licenses";
|
|
5
5
|
export const helpdeskActionHandlers = {
|
|
@@ -29,7 +29,7 @@ export const helpdeskActionHandlers = {
|
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
31
|
export async function validateHelpdeskCredential(input, fetcher) {
|
|
32
|
-
const apiKey = requiredString(input.apiKey, "apiKey",
|
|
32
|
+
const apiKey = requiredString(input.apiKey, "apiKey", providerInputError);
|
|
33
33
|
const accountId = requireHelpdeskAccountId(input);
|
|
34
34
|
const { payload } = await requestHelpdesk({
|
|
35
35
|
path: helpdeskValidationEndpoint,
|
|
@@ -356,13 +356,13 @@ function createHelpdeskError(status, payload, phase) {
|
|
|
356
356
|
return new ProviderRequestError(429, message);
|
|
357
357
|
}
|
|
358
358
|
if (phase === "validate" && status >= 400 && status < 500) {
|
|
359
|
-
return
|
|
359
|
+
return providerInputError(message);
|
|
360
360
|
}
|
|
361
361
|
if (phase === "execute" && (status === 401 || status === 403)) {
|
|
362
362
|
return new ProviderRequestError(401, message);
|
|
363
363
|
}
|
|
364
364
|
if (phase === "execute" && (status === 400 || status === 404 || status === 422)) {
|
|
365
|
-
return
|
|
365
|
+
return providerInputError(message);
|
|
366
366
|
}
|
|
367
367
|
return new ProviderRequestError(status || 500, message);
|
|
368
368
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { compactObject, objectArray, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
2
|
import { openGuardedWebSocket } from "../../core/guarded-websocket.js";
|
|
3
3
|
import { isPrivateNetworkAccessAllowed } from "../../core/request.js";
|
|
4
|
-
import { ProviderRequestError } from "../provider-runtime.js";
|
|
4
|
+
import { ProviderRequestError, providerInputError, providerResponseError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
5
5
|
import { homeAssistantRegistryNames } from "./actions.js";
|
|
6
6
|
import { readInputString } from "./runtime.js";
|
|
7
7
|
/**
|
|
8
8
|
* Deadline covering the whole session: handshake, authentication, and every
|
|
9
9
|
* command in the batch. Matches the REST action timeout.
|
|
10
10
|
*/
|
|
11
|
-
const homeAssistantWebSocketTimeoutMs = 30_000;
|
|
12
11
|
const registryCommandTypes = {
|
|
13
12
|
entities: "config/entity_registry/list",
|
|
14
13
|
devices: "config/device_registry/list",
|
|
@@ -57,7 +56,7 @@ export const homeAssistantWebSocketActionHandlers = {
|
|
|
57
56
|
const [payload] = await runHomeAssistantCommands(context, [
|
|
58
57
|
{
|
|
59
58
|
type: "execute_script",
|
|
60
|
-
sequence: objectArray(input.sequence, "sequence",
|
|
59
|
+
sequence: objectArray(input.sequence, "sequence", providerInputError),
|
|
61
60
|
...compactObject({ variables: optionalRecord(input.variables) }),
|
|
62
61
|
},
|
|
63
62
|
]);
|
|
@@ -92,12 +91,12 @@ async function runHomeAssistantCommands(context, commands) {
|
|
|
92
91
|
// One deadline for the whole session. The handshake may use all of it, and the
|
|
93
92
|
// command phase then gets whatever is left, so a slow instance cannot spend the
|
|
94
93
|
// budget twice.
|
|
95
|
-
const deadline = Date.now() +
|
|
94
|
+
const deadline = Date.now() + defaultProviderRequestTimeoutMs;
|
|
96
95
|
const socket = await openGuardedWebSocket(buildWebSocketUrl(context.baseUrl), {
|
|
97
96
|
allowPrivateNetwork: isPrivateNetworkAccessAllowed,
|
|
98
|
-
createError:
|
|
97
|
+
createError: providerInputError,
|
|
99
98
|
createFailure: createConnectionError,
|
|
100
|
-
connectTimeoutMs:
|
|
99
|
+
connectTimeoutMs: defaultProviderRequestTimeoutMs,
|
|
101
100
|
signal: context.signal,
|
|
102
101
|
fieldName: "Home Assistant base URL",
|
|
103
102
|
});
|
|
@@ -260,7 +259,7 @@ function createConnectionError(kind, message) {
|
|
|
260
259
|
if (kind === "timeout") {
|
|
261
260
|
return new ProviderRequestError(504, "Home Assistant WebSocket connection timed out");
|
|
262
261
|
}
|
|
263
|
-
return
|
|
262
|
+
return providerResponseError(message);
|
|
264
263
|
}
|
|
265
264
|
/**
|
|
266
265
|
* Map a Home Assistant command error onto the runtime status codes callers
|
|
@@ -277,9 +276,9 @@ function createCommandError(error, commandType) {
|
|
|
277
276
|
return new ProviderRequestError(404, message);
|
|
278
277
|
}
|
|
279
278
|
if (code === "invalid_format" || code === "id_reuse") {
|
|
280
|
-
return
|
|
279
|
+
return providerInputError(message);
|
|
281
280
|
}
|
|
282
|
-
return
|
|
281
|
+
return providerResponseError(message);
|
|
283
282
|
}
|
|
284
283
|
function readRegistryNames(value) {
|
|
285
284
|
if (value === undefined || value === null) {
|
|
@@ -307,7 +306,7 @@ function readOptionalConfigList(value, fieldName) {
|
|
|
307
306
|
if (value === undefined || value === null) {
|
|
308
307
|
return undefined;
|
|
309
308
|
}
|
|
310
|
-
return objectArray(value, fieldName,
|
|
309
|
+
return objectArray(value, fieldName, providerInputError);
|
|
311
310
|
}
|
|
312
311
|
function closeQuietly(socket) {
|
|
313
312
|
try {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { createProviderFetch, createProviderProxyUrl, createProviderTimeout, defineProviderExecutors, normalizeProviderProxyHeaders, providerUserAgent, ProviderRequestError, readProviderProxyErrorMessage, readProviderProxyResponse, readProviderTextBody, requireCustomCredential, toProviderProxyError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderFetch, createProviderProxyUrl, createProviderTimeout, defineProviderExecutors, normalizeProviderProxyHeaders, providerUserAgent, ProviderRequestError, readProviderProxyErrorMessage, readProviderProxyResponse, readProviderTextBody, requireCustomCredential, toProviderProxyError, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
const hotjarApiBaseUrl = "https://api.hotjar.io";
|
|
4
4
|
const hotjarTokenUrl = `${hotjarApiBaseUrl}/v1/oauth/token`;
|
|
5
5
|
const hotjarMaxResponseBytes = 10 * 1024 * 1024;
|
|
@@ -252,7 +252,7 @@ function readHotjarPage(payload, label) {
|
|
|
252
252
|
function requireObject(value, message) {
|
|
253
253
|
const object = optionalRecord(value);
|
|
254
254
|
if (!object) {
|
|
255
|
-
throw
|
|
255
|
+
throw providerResponseError(message);
|
|
256
256
|
}
|
|
257
257
|
return object;
|
|
258
258
|
}
|
|
@@ -282,7 +282,7 @@ function requiredString(value, fieldName) {
|
|
|
282
282
|
function mapHotjarError(status, payload, phase, operation) {
|
|
283
283
|
const message = readHotjarErrorMessage(payload) ?? `Hotjar ${operation} failed with status ${status}`;
|
|
284
284
|
if (phase == "validate" && (status == 400 || status == 401 || status == 403)) {
|
|
285
|
-
return
|
|
285
|
+
return providerInputError(message);
|
|
286
286
|
}
|
|
287
287
|
else if (status == 401 || (operation == "access token exchange" && (status == 400 || status == 403))) {
|
|
288
288
|
return new ProviderRequestError(401, message);
|
|
@@ -297,7 +297,7 @@ function mapHotjarError(status, payload, phase, operation) {
|
|
|
297
297
|
return new ProviderRequestError(status == 404 ? 404 : 400, message);
|
|
298
298
|
}
|
|
299
299
|
else {
|
|
300
|
-
return
|
|
300
|
+
return providerResponseError(message);
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
function readHotjarErrorMessage(payload) {
|