@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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsonSchema as s } from "../../core/json-schema.js";
|
|
2
|
+
export const events = ["invitee.created", "invitee.canceled"];
|
|
3
|
+
export const snapshot = {
|
|
4
|
+
key: "calendly.on_booking_event",
|
|
5
|
+
provider: "calendly",
|
|
6
|
+
name: "on_booking_event",
|
|
7
|
+
displayName: "Booking Created or Canceled",
|
|
8
|
+
description: "Receives bookings and cancellations, preserving reschedule links. Requires a Personal Access Token connection.",
|
|
9
|
+
definitionVersion: 2,
|
|
10
|
+
type: "integration",
|
|
11
|
+
endpoint: {
|
|
12
|
+
methods: ["POST"],
|
|
13
|
+
body: { formats: ["json"], allowArray: false, allowEmpty: false },
|
|
14
|
+
successStatus: 200,
|
|
15
|
+
},
|
|
16
|
+
configInputs: [
|
|
17
|
+
{
|
|
18
|
+
handle: "scope",
|
|
19
|
+
jsonSchema: { type: "string", enum: ["user", "organization"], title: "Scope" },
|
|
20
|
+
nullable: false,
|
|
21
|
+
value: "user",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
handle: "eventTypes",
|
|
25
|
+
jsonSchema: {
|
|
26
|
+
type: "array",
|
|
27
|
+
items: { type: "string", enum: events },
|
|
28
|
+
minItems: 1,
|
|
29
|
+
uniqueItems: true,
|
|
30
|
+
title: "Events",
|
|
31
|
+
},
|
|
32
|
+
nullable: false,
|
|
33
|
+
value: events,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
outputs: [
|
|
37
|
+
{ handle: "event", jsonSchema: { type: "string", enum: events }, nullable: false },
|
|
38
|
+
{ handle: "inviteeUri", jsonSchema: s.string(), nullable: false },
|
|
39
|
+
{ handle: "createdAt", jsonSchema: s.string(), nullable: false },
|
|
40
|
+
{ handle: "body", jsonSchema: { type: "object" }, nullable: false },
|
|
41
|
+
],
|
|
42
|
+
};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { PermanentIntegrationError, TransientIntegrationError } from "../../triggers/common/integration.js";
|
|
2
|
+
import { isJsonObject } from "../../triggers/common/json.js";
|
|
3
|
+
import { reconcileManagedWebhook, webhookRequest } from "../../triggers/managed-webhook.js";
|
|
4
|
+
import { bytes, verifyHexHmac } from "../../triggers/signature.js";
|
|
5
|
+
import { snapshot } from "./trigger-on-booking-event.definition.js";
|
|
6
|
+
function webhookId(uri) {
|
|
7
|
+
if (typeof uri != "string" || !uri.startsWith("https://api.calendly.com/webhook_subscriptions/"))
|
|
8
|
+
throw new TransientIntegrationError("Calendly returned an invalid subscription URI.");
|
|
9
|
+
const id = uri.slice("https://api.calendly.com/webhook_subscriptions/".length);
|
|
10
|
+
if (!id || id.includes("/") || id.includes("?") || id.includes("#"))
|
|
11
|
+
throw new TransientIntegrationError("Calendly returned an invalid subscription identity.");
|
|
12
|
+
return id;
|
|
13
|
+
}
|
|
14
|
+
export const calendlyBookingEvent = {
|
|
15
|
+
snapshot,
|
|
16
|
+
initialState: { checkpoint: null, subscription: {} },
|
|
17
|
+
async reconcile(context) {
|
|
18
|
+
// OAuth subscriptions use the application signing key; signing_key cannot override it.
|
|
19
|
+
if (context.connector.authType != "api_key")
|
|
20
|
+
throw new PermanentIntegrationError("Calendly Triggers require a Personal Access Token connection. OAuth application signing keys are not configured by this deployment.");
|
|
21
|
+
const current = await webhookRequest(context, { endpoint: "/users/me", method: "GET" });
|
|
22
|
+
if (!isJsonObject(current.data) ||
|
|
23
|
+
!isJsonObject(current.data.resource) ||
|
|
24
|
+
typeof current.data.resource.uri != "string" ||
|
|
25
|
+
typeof current.data.resource.current_organization != "string")
|
|
26
|
+
throw new TransientIntegrationError("Calendly returned an invalid current user.");
|
|
27
|
+
const organization = current.data.resource.current_organization;
|
|
28
|
+
const user = current.data.resource.uri;
|
|
29
|
+
const scope = String(context.config.scope);
|
|
30
|
+
const query = { organization, scope, count: 100 };
|
|
31
|
+
if (scope == "user")
|
|
32
|
+
query.user = user;
|
|
33
|
+
return reconcileManagedWebhook(context, {
|
|
34
|
+
async find() {
|
|
35
|
+
const found = [];
|
|
36
|
+
const seen = new Set();
|
|
37
|
+
for (let page = 0; page < 100; page++) {
|
|
38
|
+
const result = await webhookRequest(context, {
|
|
39
|
+
endpoint: "/webhook_subscriptions",
|
|
40
|
+
method: "GET",
|
|
41
|
+
query,
|
|
42
|
+
});
|
|
43
|
+
if (!isJsonObject(result.data) ||
|
|
44
|
+
!Array.isArray(result.data.collection) ||
|
|
45
|
+
!isJsonObject(result.data.pagination))
|
|
46
|
+
throw new TransientIntegrationError("Calendly returned an invalid webhook page.");
|
|
47
|
+
for (const item of result.data.collection) {
|
|
48
|
+
if (!isJsonObject(item) || typeof item.callback_url != "string")
|
|
49
|
+
throw new TransientIntegrationError("Calendly returned an invalid webhook.");
|
|
50
|
+
if (item.callback_url != context.endpointUrl)
|
|
51
|
+
continue;
|
|
52
|
+
if (item.organization != organization || item.scope != scope || (scope == "user" && item.user != user))
|
|
53
|
+
throw new PermanentIntegrationError("Calendly webhook scope differs from this subscription.");
|
|
54
|
+
if (context.active && item.state != "active")
|
|
55
|
+
throw new PermanentIntegrationError("Calendly disabled this webhook. Restore it or remove the owned webhook before retrying.");
|
|
56
|
+
if (context.active &&
|
|
57
|
+
(!Array.isArray(item.events) ||
|
|
58
|
+
item.events.length != context.config.eventTypes.length ||
|
|
59
|
+
!context.config.eventTypes.every((event) => item.events.includes(event))))
|
|
60
|
+
throw new PermanentIntegrationError("Calendly webhook events differ from this subscription. Remove the owned webhook before retrying.");
|
|
61
|
+
found.push({ id: webhookId(item.uri), secret: context.callbackSecret });
|
|
62
|
+
}
|
|
63
|
+
const next = result.data.pagination.next_page_token;
|
|
64
|
+
if (next == null)
|
|
65
|
+
return found;
|
|
66
|
+
if (typeof next != "string" || !next || seen.has(next))
|
|
67
|
+
throw new TransientIntegrationError("Calendly webhook pagination did not advance.");
|
|
68
|
+
seen.add(next);
|
|
69
|
+
query.page_token = next;
|
|
70
|
+
}
|
|
71
|
+
throw new PermanentIntegrationError("The Calendly webhook list exceeds 10000 entries.");
|
|
72
|
+
},
|
|
73
|
+
async create() {
|
|
74
|
+
const body = {
|
|
75
|
+
url: context.endpointUrl,
|
|
76
|
+
events: context.config.eventTypes,
|
|
77
|
+
organization,
|
|
78
|
+
scope,
|
|
79
|
+
signing_key: context.callbackSecret,
|
|
80
|
+
};
|
|
81
|
+
if (scope == "user")
|
|
82
|
+
body.user = user;
|
|
83
|
+
const result = await webhookRequest(context, {
|
|
84
|
+
endpoint: "/webhook_subscriptions",
|
|
85
|
+
method: "POST",
|
|
86
|
+
body,
|
|
87
|
+
});
|
|
88
|
+
if (!isJsonObject(result.data) || !isJsonObject(result.data.resource))
|
|
89
|
+
throw new TransientIntegrationError("Calendly webhook creation returned no resource.");
|
|
90
|
+
return { id: webhookId(result.data.resource.uri), secret: context.callbackSecret };
|
|
91
|
+
},
|
|
92
|
+
async remove(id) {
|
|
93
|
+
await webhookRequest(context, {
|
|
94
|
+
endpoint: `/webhook_subscriptions/${encodeURIComponent(id)}`,
|
|
95
|
+
method: "DELETE",
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
async receive(context) {
|
|
101
|
+
const parts = context
|
|
102
|
+
.header("calendly-webhook-signature")
|
|
103
|
+
?.split(",")
|
|
104
|
+
.map((part) => part.trim()) ?? [];
|
|
105
|
+
const timestamps = parts.filter((part) => part.startsWith("t="));
|
|
106
|
+
const timestamp = timestamps[0]?.slice(2);
|
|
107
|
+
let valid = false;
|
|
108
|
+
if (timestamps.length == 1 &&
|
|
109
|
+
timestamp &&
|
|
110
|
+
Number.isInteger(Number(timestamp)) &&
|
|
111
|
+
Math.abs(context.now.getTime() / 1000 - Number(timestamp)) <= 180) {
|
|
112
|
+
for (const part of parts) {
|
|
113
|
+
if (part.startsWith("v1=") &&
|
|
114
|
+
(await verifyHexHmac(context.callbackSecret, [bytes(`${timestamp}.`), context.rawBody], part.slice(3)))) {
|
|
115
|
+
valid = true;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (!valid)
|
|
121
|
+
return { outcome: "respond", status: 401, body: "", contentType: "text/plain" };
|
|
122
|
+
const body = context.payload;
|
|
123
|
+
if (!isJsonObject(body) ||
|
|
124
|
+
typeof body.event != "string" ||
|
|
125
|
+
!context.config.eventTypes.includes(body.event))
|
|
126
|
+
return { outcome: "ignored", reason: "Calendly event does not match." };
|
|
127
|
+
if (!isJsonObject(body.payload) ||
|
|
128
|
+
typeof body.payload.uri != "string" ||
|
|
129
|
+
!body.payload.uri ||
|
|
130
|
+
typeof body.created_at != "string" ||
|
|
131
|
+
!body.created_at)
|
|
132
|
+
return { outcome: "respond", status: 400, body: "", contentType: "text/plain" };
|
|
133
|
+
return {
|
|
134
|
+
outcome: "event",
|
|
135
|
+
dedupeKey: JSON.stringify([body.event, body.payload.uri, body.created_at]),
|
|
136
|
+
outputs: {
|
|
137
|
+
event: body.event,
|
|
138
|
+
inviteeUri: body.payload.uri,
|
|
139
|
+
createdAt: body.created_at,
|
|
140
|
+
body: body.payload,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
},
|
|
144
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalInteger as asOptionalInteger, optionalRecord as asOptionalObject, optionalString as asOptionalString, } from "../../core/cast.js";
|
|
2
|
-
import { createProviderTimeout, providerUserAgent as connectorUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { createProviderTimeout, providerUserAgent as connectorUserAgent, ProviderRequestError, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
export const captainBiApiBaseUrl = "https://openapi.captainbi.com";
|
|
4
4
|
export const captainBiTokenUrl = `${captainBiApiBaseUrl}/oauth2/token`;
|
|
5
5
|
const defaultPage = 1;
|
|
@@ -285,7 +285,7 @@ function mapCaptainBiHttpError(status, payload, phase, operation) {
|
|
|
285
285
|
return new ProviderRequestError(429, message);
|
|
286
286
|
}
|
|
287
287
|
if (phase === "validate" && [400, 401, 403].includes(status)) {
|
|
288
|
-
return
|
|
288
|
+
return providerInputError(message);
|
|
289
289
|
}
|
|
290
290
|
if (status === 401 || (operation === "access token exchange" && [400, 403].includes(status))) {
|
|
291
291
|
return new ProviderRequestError(401, message);
|
|
@@ -296,21 +296,21 @@ function mapCaptainBiHttpError(status, payload, phase, operation) {
|
|
|
296
296
|
if ([400, 404, 409, 422].includes(status)) {
|
|
297
297
|
return new ProviderRequestError(status === 404 ? 404 : 400, message);
|
|
298
298
|
}
|
|
299
|
-
return
|
|
299
|
+
return providerResponseError(message);
|
|
300
300
|
}
|
|
301
301
|
function mapCaptainBiBusinessError(code, payload, phase, operation) {
|
|
302
302
|
const message = readString(payload, "msg", "message", "error") ??
|
|
303
303
|
`CaptainBI ${operation} failed${code == null ? "" : ` with code ${code}`}`;
|
|
304
304
|
switch (code) {
|
|
305
305
|
case 100903:
|
|
306
|
-
return
|
|
306
|
+
return providerInputError(message);
|
|
307
307
|
case 100904:
|
|
308
308
|
case 100910:
|
|
309
309
|
return new ProviderRequestError(429, message);
|
|
310
310
|
case 100902:
|
|
311
311
|
case 100906:
|
|
312
312
|
case 100907:
|
|
313
|
-
return phase === "validate" ?
|
|
313
|
+
return phase === "validate" ? providerInputError(message) : new ProviderRequestError(401, message);
|
|
314
314
|
case 100901:
|
|
315
315
|
case 100905:
|
|
316
316
|
case 100908:
|
|
@@ -321,7 +321,7 @@ function mapCaptainBiBusinessError(code, payload, phase, operation) {
|
|
|
321
321
|
case 100914:
|
|
322
322
|
return new ProviderRequestError(403, message);
|
|
323
323
|
default:
|
|
324
|
-
return
|
|
324
|
+
return providerResponseError(message);
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
function readCaptainBiErrorMessage(payload) {
|
|
@@ -180,7 +180,7 @@ function createCastingwordsError(status, payload, phase) {
|
|
|
180
180
|
return new ProviderRequestError(429, message);
|
|
181
181
|
}
|
|
182
182
|
if (status === 400) {
|
|
183
|
-
return
|
|
183
|
+
return providerInputError(message);
|
|
184
184
|
}
|
|
185
185
|
if (status === 401 || status === 403) {
|
|
186
186
|
return new ProviderRequestError(phase === "validate" ? 401 : status, message);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
-
import { providerUserAgent, ProviderRequestError } from "../provider-runtime.js";
|
|
2
|
+
import { providerUserAgent, ProviderRequestError, providerInputError, providerResponseError, } from "../provider-runtime.js";
|
|
3
3
|
export const chatpdfApiBaseUrl = "https://api.chatpdf.com/v1";
|
|
4
4
|
export const chatpdfActionHandlers = {
|
|
5
5
|
async add_source_url(input, context) {
|
|
@@ -98,7 +98,7 @@ function createChatpdfError(response, payload) {
|
|
|
98
98
|
return new ProviderRequestError(429, message);
|
|
99
99
|
}
|
|
100
100
|
if (response.status === 400 || response.status === 404 || response.status === 422) {
|
|
101
|
-
return
|
|
101
|
+
return providerInputError(message);
|
|
102
102
|
}
|
|
103
103
|
return new ProviderRequestError(response.status >= 500 ? 502 : response.status, message);
|
|
104
104
|
}
|
|
@@ -115,13 +115,13 @@ function extractErrorMessage(payload) {
|
|
|
115
115
|
function requireObject(value, message) {
|
|
116
116
|
const record = optionalRecord(value);
|
|
117
117
|
if (!record) {
|
|
118
|
-
throw
|
|
118
|
+
throw providerResponseError(message);
|
|
119
119
|
}
|
|
120
120
|
return record;
|
|
121
121
|
}
|
|
122
122
|
function requireString(value, message) {
|
|
123
123
|
if (typeof value !== "string" || value.length === 0) {
|
|
124
|
-
throw
|
|
124
|
+
throw providerResponseError(message);
|
|
125
125
|
}
|
|
126
126
|
return value;
|
|
127
127
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, optionalInteger, optionalRecord, optionalString, requiredRecord, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerResponseError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
2
|
+
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerResponseError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "check";
|
|
4
4
|
const sandboxApiBaseUrl = "https://sandbox.checkhq.com";
|
|
5
5
|
const productionApiBaseUrl = "https://api.checkhq.com";
|
|
6
|
-
const requestTimeoutMs = 30_000;
|
|
7
6
|
export const checkActionHandlers = {
|
|
8
7
|
async validate_address(input, context) {
|
|
9
8
|
const payload = await requestCheckJson({
|
|
@@ -110,8 +109,8 @@ export const credentialValidators = {
|
|
|
110
109
|
};
|
|
111
110
|
async function requestCheckJson(input) {
|
|
112
111
|
const signal = input.context.signal
|
|
113
|
-
? AbortSignal.any([input.context.signal, AbortSignal.timeout(
|
|
114
|
-
: AbortSignal.timeout(
|
|
112
|
+
? AbortSignal.any([input.context.signal, AbortSignal.timeout(defaultProviderRequestTimeoutMs)])
|
|
113
|
+
: AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
115
114
|
let response;
|
|
116
115
|
let payload;
|
|
117
116
|
try {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { optionalBoolean, optionalRecord, optionalString, requiredRecord, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerResponseError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
2
|
+
import { defineProviderExecutors, defineProviderProxy, isAbortLikeError, providerResponseError, providerUserAgent, ProviderRequestError, requireApiKeyCredential, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "checkly";
|
|
4
4
|
const apiBaseUrl = "https://api.checklyhq.com";
|
|
5
|
-
const requestTimeoutMs = 30_000;
|
|
6
5
|
export const checklyActionHandlers = {
|
|
7
6
|
async get_current_account(_input, context) {
|
|
8
7
|
return { account: await requestChecklyJson({ context, path: "/v1/accounts/me", phase: "execute" }) };
|
|
@@ -134,8 +133,8 @@ export const proxy = defineProviderProxy({
|
|
|
134
133
|
});
|
|
135
134
|
async function requestChecklyJson(input) {
|
|
136
135
|
const signal = input.context.signal
|
|
137
|
-
? AbortSignal.any([input.context.signal, AbortSignal.timeout(
|
|
138
|
-
: AbortSignal.timeout(
|
|
136
|
+
? AbortSignal.any([input.context.signal, AbortSignal.timeout(defaultProviderRequestTimeoutMs)])
|
|
137
|
+
: AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
139
138
|
let response;
|
|
140
139
|
let payload;
|
|
141
140
|
try {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, looseArray, optionalRecord as asOptionalObject, optionalString as asOptionalString, } from "../../core/cast.js";
|
|
2
|
-
import { ProviderRequestError, providerUserAgent } from "../provider-runtime.js";
|
|
2
|
+
import { ProviderRequestError, providerUserAgent, providerInputError } from "../provider-runtime.js";
|
|
3
3
|
function requiredApiKey(input) {
|
|
4
4
|
if (input.apiKey?.trim())
|
|
5
5
|
return input.apiKey.trim();
|
|
@@ -238,10 +238,10 @@ function createChengxinError(input) {
|
|
|
238
238
|
input.code === "3" ||
|
|
239
239
|
input.code === "401" ||
|
|
240
240
|
input.code === "403") {
|
|
241
|
-
return input.phase === "validate" ?
|
|
241
|
+
return input.phase === "validate" ? providerInputError(message) : new ProviderRequestError(401, message);
|
|
242
242
|
}
|
|
243
243
|
if (input.status >= 400 && input.status < 500) {
|
|
244
|
-
return
|
|
244
|
+
return providerInputError(message);
|
|
245
245
|
}
|
|
246
246
|
return new ProviderRequestError(input.status || 502, message);
|
|
247
247
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { compactObject, optionalInteger, optionalRecord, optionalString, requiredRecord, requiredString, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "cincopa";
|
|
4
4
|
const apiBaseUrl = "https://api.cincopa.com/v2";
|
|
5
5
|
const validationPath = "/ping.json";
|
|
6
|
-
const requestTimeoutMs = 30_000;
|
|
7
6
|
export const cincopaActionHandlers = {
|
|
8
7
|
async list_galleries(input, context) {
|
|
9
8
|
const body = await requestBody({
|
|
@@ -110,8 +109,8 @@ async function requestBody(input, label) {
|
|
|
110
109
|
}
|
|
111
110
|
async function requestJson(input) {
|
|
112
111
|
const signal = input.context.signal
|
|
113
|
-
? AbortSignal.any([input.context.signal, AbortSignal.timeout(
|
|
114
|
-
: AbortSignal.timeout(
|
|
112
|
+
? AbortSignal.any([input.context.signal, AbortSignal.timeout(defaultProviderRequestTimeoutMs)])
|
|
113
|
+
: AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
115
114
|
let response;
|
|
116
115
|
let payload;
|
|
117
116
|
try {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { compactObject, optionalBoolean, optionalInteger, optionalRecord, optionalString, requiredRecord, } from "../../core/cast.js";
|
|
2
|
-
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerResponseError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
2
|
+
import { defineApiKeyProviderExecutors, defineProviderProxy, isAbortLikeError, providerResponseError, providerUserAgent, ProviderRequestError, defaultProviderRequestTimeoutMs, } from "../provider-runtime.js";
|
|
3
3
|
const service = "circle";
|
|
4
4
|
const apiBaseUrl = "https://app.circle.so/api/admin/v2";
|
|
5
|
-
const requestTimeoutMs = 30_000;
|
|
6
5
|
export const circleActionHandlers = {
|
|
7
6
|
async get_community(_input, context) {
|
|
8
7
|
return {
|
|
@@ -122,8 +121,8 @@ export const credentialValidators = {
|
|
|
122
121
|
};
|
|
123
122
|
async function requestCircleJson(input) {
|
|
124
123
|
const signal = input.context.signal
|
|
125
|
-
? AbortSignal.any([input.context.signal, AbortSignal.timeout(
|
|
126
|
-
: AbortSignal.timeout(
|
|
124
|
+
? AbortSignal.any([input.context.signal, AbortSignal.timeout(defaultProviderRequestTimeoutMs)])
|
|
125
|
+
: AbortSignal.timeout(defaultProviderRequestTimeoutMs);
|
|
127
126
|
let response;
|
|
128
127
|
let payload;
|
|
129
128
|
try {
|
|
@@ -2,7 +2,6 @@ import { compactObject, optionalNumber, optionalRecord, optionalString } from ".
|
|
|
2
2
|
import { createProviderTimeout, defineProviderExecutors, defineProviderProxy, isAbortLikeError, ProviderRequestError, providerUserAgent, requireApiKeyCredential, } from "../provider-runtime.js";
|
|
3
3
|
const service = "clearout";
|
|
4
4
|
const clearoutDefaultBaseUrl = "https://api.clearout.io/v2";
|
|
5
|
-
const clearoutDefaultRequestTimeoutMs = 30_000;
|
|
6
5
|
export const clearoutActionHandlers = {
|
|
7
6
|
get_available_credits(_input, context) {
|
|
8
7
|
return requestClearoutJson({
|
|
@@ -105,7 +104,7 @@ function executeEmailAttributeCheck(input, context, path) {
|
|
|
105
104
|
});
|
|
106
105
|
}
|
|
107
106
|
async function requestClearoutJson(input) {
|
|
108
|
-
const timeout = createProviderTimeout(input.context.signal, input.timeoutMs
|
|
107
|
+
const timeout = createProviderTimeout(input.context.signal, input.timeoutMs);
|
|
109
108
|
try {
|
|
110
109
|
const response = await input.context.fetcher(buildUrl(input.context.baseUrl, input.path), {
|
|
111
110
|
method: input.method,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compactObject, optionalRecord, optionalString, requiredString } from "../../core/cast.js";
|
|
2
|
-
import { basicAuthorizationHeader, createProviderTimeout, ProviderRequestError, providerUserAgent, } from "../provider-runtime.js";
|
|
2
|
+
import { basicAuthorizationHeader, createProviderTimeout, ProviderRequestError, providerUserAgent, providerInputError, } from "../provider-runtime.js";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
const clickhelpRequestTimeoutMs = 60_000;
|
|
5
5
|
export const clickhelpActionHandlers = {
|
|
@@ -186,10 +186,10 @@ export function normalizeClickhelpApiBaseUrl(value) {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
function resolveActionCredential(input) {
|
|
189
|
-
return resolveClickhelpCredential(requiredString(input.apiKey, "apiKey",
|
|
189
|
+
return resolveClickhelpCredential(requiredString(input.apiKey, "apiKey", providerInputError), input.providerMetadata?.login ?? input.values?.login, input.providerMetadata?.apiBaseUrl ?? input.values?.portalUrl);
|
|
190
190
|
}
|
|
191
191
|
function resolveClickhelpCredential(apiKeyInput, loginInput, portalUrlInput) {
|
|
192
|
-
const apiKey = requiredString(apiKeyInput, "apiKey",
|
|
192
|
+
const apiKey = requiredString(apiKeyInput, "apiKey", providerInputError).trim();
|
|
193
193
|
if (!apiKey) {
|
|
194
194
|
throw new ProviderRequestError(400, "apiKey is required");
|
|
195
195
|
}
|
|
@@ -203,13 +203,13 @@ function resolveClickhelpCredential(apiKeyInput, loginInput, portalUrlInput) {
|
|
|
203
203
|
}
|
|
204
204
|
function mapClickhelpError(status, message, phase) {
|
|
205
205
|
if (phase === "validate" && (status === 401 || status === 403 || status === 404)) {
|
|
206
|
-
return
|
|
206
|
+
return providerInputError(message);
|
|
207
207
|
}
|
|
208
208
|
if (phase === "execute" && status === 401) {
|
|
209
209
|
return new ProviderRequestError(401, message);
|
|
210
210
|
}
|
|
211
211
|
if ([400, 403, 404, 409, 422].includes(status)) {
|
|
212
|
-
return
|
|
212
|
+
return providerInputError(message);
|
|
213
213
|
}
|
|
214
214
|
if (status === 429) {
|
|
215
215
|
return new ProviderRequestError(429, message);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Buffer } from "node:buffer";
|
|
2
2
|
import { compactObject, optionalInteger, optionalNumber, optionalRecord, optionalString } from "../../core/cast.js";
|
|
3
3
|
import { assertPublicHttpUrl, isPrivateNetworkAccessAllowed } from "../../core/request.js";
|
|
4
|
-
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, } from "../provider-runtime.js";
|
|
4
|
+
import { createProviderTimeout, isAbortLikeError, providerUserAgent, ProviderRequestError, providerInputError, } from "../provider-runtime.js";
|
|
5
5
|
const clickhouseDefaultDatabase = "default";
|
|
6
6
|
const clickhouseValidationQuery = "SELECT currentDatabase() AS database, version() AS version";
|
|
7
7
|
export const clickhouseActionHandlers = {
|
|
@@ -363,10 +363,10 @@ function parseClickhouseJson(text) {
|
|
|
363
363
|
function createClickhouseError(status, responseText, phase) {
|
|
364
364
|
const message = responseText.trim() || `ClickHouse request failed with ${status}`;
|
|
365
365
|
if (phase === "validate" && [400, 401, 403].includes(status)) {
|
|
366
|
-
return
|
|
366
|
+
return providerInputError(message);
|
|
367
367
|
}
|
|
368
368
|
if ([400, 404, 422].includes(status)) {
|
|
369
|
-
return
|
|
369
|
+
return providerInputError(message);
|
|
370
370
|
}
|
|
371
371
|
if (status === 429) {
|
|
372
372
|
return new ProviderRequestError(429, message);
|
|
@@ -377,7 +377,7 @@ export function normalizeClickhouseBaseUrl(value, allowPrivateNetwork = isPrivat
|
|
|
377
377
|
const raw = requireCredentialString(value, "baseUrl");
|
|
378
378
|
const url = assertPublicHttpUrl(raw, {
|
|
379
379
|
fieldName: "baseUrl",
|
|
380
|
-
createError:
|
|
380
|
+
createError: providerInputError,
|
|
381
381
|
allowPrivateNetwork,
|
|
382
382
|
});
|
|
383
383
|
url.hash = "";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
|
|
2
|
+
import type { IntegrationDefinition } from "../../triggers/common/integration.ts";
|
|
2
3
|
export declare const executors: ProviderExecutors;
|
|
3
4
|
export declare const proxy: ProviderProxyExecutor;
|
|
4
5
|
export declare const credentialValidators: CredentialValidators;
|
|
6
|
+
export declare const triggers: readonly IntegrationDefinition[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineProviderExecutors, defineProviderProxy, ProviderRequestError } from "../provider-runtime.js";
|
|
2
2
|
import { clickupActionHandlers, clickupApiOrigin, validateClickupCredential } from "./runtime.js";
|
|
3
|
+
import { clickupTaskEvent } from "./trigger-on-task-event.js";
|
|
3
4
|
const service = "clickup";
|
|
4
5
|
export const executors = defineProviderExecutors({
|
|
5
6
|
service,
|
|
@@ -52,3 +53,4 @@ export const credentialValidators = {
|
|
|
52
53
|
return validateClickupCredential(input.accessToken, "oauth2", fetcher, signal);
|
|
53
54
|
},
|
|
54
55
|
};
|
|
56
|
+
export const triggers = [clickupTaskEvent];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsonSchema as s } from "../../core/json-schema.js";
|
|
2
|
+
const events = ["taskCreated", "taskStatusUpdated", "taskCommentPosted"];
|
|
3
|
+
export const snapshot = {
|
|
4
|
+
key: "clickup.on_task_event",
|
|
5
|
+
provider: "clickup",
|
|
6
|
+
name: "on_task_event",
|
|
7
|
+
displayName: "Task Event",
|
|
8
|
+
description: "Receives task creation, status changes, and new comments in a ClickUp Workspace or List.",
|
|
9
|
+
definitionVersion: 2,
|
|
10
|
+
type: "integration",
|
|
11
|
+
endpoint: {
|
|
12
|
+
methods: ["POST"],
|
|
13
|
+
body: { formats: ["json"], allowArray: false, allowEmpty: false },
|
|
14
|
+
successStatus: 200,
|
|
15
|
+
},
|
|
16
|
+
configInputs: [
|
|
17
|
+
{
|
|
18
|
+
handle: "workspaceId",
|
|
19
|
+
jsonSchema: { type: "string", pattern: "^[0-9]+$", title: "Workspace ID" },
|
|
20
|
+
nullable: false,
|
|
21
|
+
},
|
|
22
|
+
{ handle: "listId", jsonSchema: { type: "string", pattern: "^[0-9]+$", title: "List ID" }, nullable: true },
|
|
23
|
+
{
|
|
24
|
+
handle: "eventTypes",
|
|
25
|
+
jsonSchema: {
|
|
26
|
+
type: "array",
|
|
27
|
+
items: { type: "string", enum: events },
|
|
28
|
+
minItems: 1,
|
|
29
|
+
uniqueItems: true,
|
|
30
|
+
title: "Events",
|
|
31
|
+
},
|
|
32
|
+
nullable: false,
|
|
33
|
+
value: events,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
outputs: [
|
|
37
|
+
{ handle: "event", jsonSchema: { type: "string", enum: events }, nullable: false },
|
|
38
|
+
{ handle: "taskId", jsonSchema: s.string(), nullable: false },
|
|
39
|
+
{ handle: "body", jsonSchema: { type: "object" }, nullable: false },
|
|
40
|
+
],
|
|
41
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { PermanentIntegrationError, TransientIntegrationError } from "../../triggers/common/integration.js";
|
|
2
|
+
import { isJsonObject } from "../../triggers/common/json.js";
|
|
3
|
+
import { reconcileManagedWebhook, webhookRequest } from "../../triggers/managed-webhook.js";
|
|
4
|
+
import { verifyHexHmac } from "../../triggers/signature.js";
|
|
5
|
+
import { snapshot } from "./trigger-on-task-event.definition.js";
|
|
6
|
+
function webhook(value) {
|
|
7
|
+
if (!isJsonObject(value) ||
|
|
8
|
+
typeof value.id != "string" ||
|
|
9
|
+
!value.id ||
|
|
10
|
+
typeof value.secret != "string" ||
|
|
11
|
+
!value.secret)
|
|
12
|
+
throw new TransientIntegrationError("ClickUp returned an invalid webhook identity or secret.");
|
|
13
|
+
return { id: value.id, secret: value.secret };
|
|
14
|
+
}
|
|
15
|
+
export const clickupTaskEvent = {
|
|
16
|
+
snapshot,
|
|
17
|
+
initialState: { checkpoint: null, subscription: {} },
|
|
18
|
+
async reconcile(context) {
|
|
19
|
+
const endpoint = `/team/${encodeURIComponent(String(context.config.workspaceId))}/webhook`;
|
|
20
|
+
const location = context.config.listId == null ? {} : { list_id: Number(context.config.listId) };
|
|
21
|
+
return reconcileManagedWebhook(context, {
|
|
22
|
+
async find() {
|
|
23
|
+
const result = await webhookRequest(context, { endpoint, method: "GET" });
|
|
24
|
+
if (!isJsonObject(result.data) || !Array.isArray(result.data.webhooks))
|
|
25
|
+
throw new TransientIntegrationError("ClickUp returned an invalid webhook list.");
|
|
26
|
+
return result.data.webhooks
|
|
27
|
+
.filter((item) => {
|
|
28
|
+
if (!isJsonObject(item) || typeof item.endpoint != "string")
|
|
29
|
+
throw new TransientIntegrationError("ClickUp returned an invalid webhook.");
|
|
30
|
+
if (item.endpoint !== context.endpointUrl)
|
|
31
|
+
return false;
|
|
32
|
+
if (context.active && String(item.list_id ?? "") !== String(context.config.listId ?? ""))
|
|
33
|
+
throw new PermanentIntegrationError("The ClickUp webhook no longer matches the configured List. Remove the subscription before recreating it.");
|
|
34
|
+
return true;
|
|
35
|
+
})
|
|
36
|
+
.map(webhook);
|
|
37
|
+
},
|
|
38
|
+
async create() {
|
|
39
|
+
const result = await webhookRequest(context, {
|
|
40
|
+
endpoint,
|
|
41
|
+
method: "POST",
|
|
42
|
+
body: { endpoint: context.endpointUrl, events: context.config.eventTypes, ...location },
|
|
43
|
+
});
|
|
44
|
+
if (!isJsonObject(result.data) || !isJsonObject(result.data.webhook))
|
|
45
|
+
throw new TransientIntegrationError("ClickUp webhook creation returned no webhook.");
|
|
46
|
+
return webhook(result.data.webhook);
|
|
47
|
+
},
|
|
48
|
+
async align(id) {
|
|
49
|
+
await webhookRequest(context, {
|
|
50
|
+
endpoint: `/webhook/${encodeURIComponent(id)}`,
|
|
51
|
+
method: "PUT",
|
|
52
|
+
body: {
|
|
53
|
+
endpoint: context.endpointUrl,
|
|
54
|
+
events: context.config.eventTypes,
|
|
55
|
+
status: "active",
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
async remove(id) {
|
|
60
|
+
await webhookRequest(context, {
|
|
61
|
+
endpoint: `/webhook/${encodeURIComponent(id)}`,
|
|
62
|
+
method: "DELETE",
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
async receive(context) {
|
|
68
|
+
const secret = context.state?.subscription.secret;
|
|
69
|
+
if (typeof secret != "string")
|
|
70
|
+
return { outcome: "respond", status: 503, body: "", contentType: "text/plain" };
|
|
71
|
+
if (!(await verifyHexHmac(secret, [context.rawBody], context.header("x-signature"))))
|
|
72
|
+
return { outcome: "respond", status: 401, body: "", contentType: "text/plain" };
|
|
73
|
+
const body = context.payload;
|
|
74
|
+
if (!isJsonObject(body) ||
|
|
75
|
+
body.webhook_id != context.state?.subscription.hookId ||
|
|
76
|
+
typeof body.event != "string" ||
|
|
77
|
+
!context.config.eventTypes.includes(body.event))
|
|
78
|
+
return { outcome: "ignored", reason: "ClickUp subscription or event does not match." };
|
|
79
|
+
if (typeof body.task_id != "string" ||
|
|
80
|
+
!body.task_id ||
|
|
81
|
+
(body.history_items != null &&
|
|
82
|
+
(!Array.isArray(body.history_items) ||
|
|
83
|
+
body.history_items.some((item) => !isJsonObject(item) || typeof item.id != "string" || !item.id))))
|
|
84
|
+
return { outcome: "respond", status: 400, body: "", contentType: "text/plain" };
|
|
85
|
+
const historyIds = body.history_items?.map((item) => item.id).sort() ?? [];
|
|
86
|
+
if (historyIds.length == 0 && body.event != "taskCreated")
|
|
87
|
+
return { outcome: "respond", status: 400, body: "", contentType: "text/plain" };
|
|
88
|
+
return {
|
|
89
|
+
outcome: "event",
|
|
90
|
+
dedupeKey: JSON.stringify([body.webhook_id, body.event, historyIds.length ? historyIds : body.task_id]),
|
|
91
|
+
outputs: { event: body.event, taskId: body.task_id, body },
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
};
|