@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,85 @@
|
|
|
1
|
+
import { PermanentIntegrationError } from "../common/integration.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
import { feishuSubscriptions } from "./feishu-demands.js";
|
|
4
|
+
import { receiveFeishuEvent, matchesFeishuEvent } from "./feishu-events.js";
|
|
5
|
+
export const feishuApplication = {
|
|
6
|
+
kind: "feishu",
|
|
7
|
+
provider: "feishu_app_bot",
|
|
8
|
+
maximumBodyBytes: 64 * 1024,
|
|
9
|
+
initialize(input, accountId) {
|
|
10
|
+
if (input.kind != null && input.kind !== "feishu")
|
|
11
|
+
throw new SourceIdentityError("Expected a Feishu source.");
|
|
12
|
+
if (accountId == null || !/^cli_[a-zA-Z0-9]+$/.test(accountId))
|
|
13
|
+
throw new SourceIdentityError("Connector must provide the verified application identity.");
|
|
14
|
+
return {
|
|
15
|
+
identity: accountId,
|
|
16
|
+
eventTypes: input.eventTypes,
|
|
17
|
+
config: { manageSubscriptions: input.manageSubscriptions },
|
|
18
|
+
secrets: { verificationToken: input.verificationToken, encryptKey: input.encryptKey },
|
|
19
|
+
state: {},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
update(source, input) {
|
|
23
|
+
const secrets = {
|
|
24
|
+
verificationToken: input.verificationToken ?? source.secrets.verificationToken,
|
|
25
|
+
encryptKey: input.encryptKey ?? source.secrets.encryptKey,
|
|
26
|
+
};
|
|
27
|
+
const changed = secrets.verificationToken != source.secrets.verificationToken || secrets.encryptKey != source.secrets.encryptKey;
|
|
28
|
+
return {
|
|
29
|
+
identity: source.identity,
|
|
30
|
+
eventTypes: input.eventTypes,
|
|
31
|
+
config: source.config,
|
|
32
|
+
secrets,
|
|
33
|
+
state: changed ? {} : source.state,
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
view(source) {
|
|
37
|
+
return {
|
|
38
|
+
appId: source.identity,
|
|
39
|
+
manageSubscriptions: source.config.manageSubscriptions === true,
|
|
40
|
+
verificationTokenConfigured: true,
|
|
41
|
+
encryptKeyConfigured: true,
|
|
42
|
+
verifiedAt: typeof source.state.verifiedAt == "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
ready: (source) => typeof source.state.verifiedAt == "number",
|
|
46
|
+
async receive(source, bytes, headers, now) {
|
|
47
|
+
const received = await receiveFeishuEvent(bytes, headers, {
|
|
48
|
+
appId: source.identity,
|
|
49
|
+
verificationToken: source.secrets.verificationToken,
|
|
50
|
+
encryptKey: source.secrets.encryptKey,
|
|
51
|
+
}, now);
|
|
52
|
+
if ("challenge" in received)
|
|
53
|
+
return { response: Response.json(received), state: { ...source.state, verifiedAt: now } };
|
|
54
|
+
const event = received.event;
|
|
55
|
+
return {
|
|
56
|
+
event: {
|
|
57
|
+
id: event.id,
|
|
58
|
+
type: event.type,
|
|
59
|
+
payload: {
|
|
60
|
+
event: event.type,
|
|
61
|
+
deliveryId: event.id,
|
|
62
|
+
appId: event.appId,
|
|
63
|
+
tenantKey: event.tenantKey,
|
|
64
|
+
occurredAt: event.occurredAt,
|
|
65
|
+
body: event.body,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
matches(config, event) {
|
|
71
|
+
return matchesFeishuEvent(config, {
|
|
72
|
+
type: event.type,
|
|
73
|
+
body: event.payload.body,
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
resources: {
|
|
77
|
+
triggerId: "feishu_app_bot.on_event",
|
|
78
|
+
requests(source, provider, config) {
|
|
79
|
+
const subscriptions = feishuSubscriptions(config, provider);
|
|
80
|
+
if (subscriptions.length > 0 && source.config.manageSubscriptions !== true)
|
|
81
|
+
throw new PermanentIntegrationError("This source does not manage resource subscriptions.");
|
|
82
|
+
return subscriptions;
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const firefliesAccount: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "signingSecretConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
import { verifySourceHmac } from "./signature.js";
|
|
4
|
+
const events = new Set(["meeting.transcribed", "meeting.summarized"]);
|
|
5
|
+
export const firefliesAccount = {
|
|
6
|
+
kind: "fireflies",
|
|
7
|
+
provider: "fireflies",
|
|
8
|
+
maximumBodyBytes: 64 * 1024,
|
|
9
|
+
initialize(input, accountId) {
|
|
10
|
+
if (input.kind !== "fireflies" || !accountId)
|
|
11
|
+
throw new SourceIdentityError("Connector must provide the verified Fireflies account identity.");
|
|
12
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
13
|
+
throw new SourceIdentityError("Unsupported Fireflies event.");
|
|
14
|
+
return {
|
|
15
|
+
identity: JSON.stringify([input.teamId, input.connectionId, accountId]),
|
|
16
|
+
eventTypes: input.eventTypes,
|
|
17
|
+
config: { appId: accountId, accountId },
|
|
18
|
+
secrets: { signingSecret: input.signingSecret },
|
|
19
|
+
state: {},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
update(source, input) {
|
|
23
|
+
if (input.verificationToken != null || input.encryptKey != null)
|
|
24
|
+
throw new SourceIdentityError("Fireflies uses the Webhooks V2 Signing Secret.");
|
|
25
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
26
|
+
throw new SourceIdentityError("Unsupported Fireflies event.");
|
|
27
|
+
const signingSecret = input.signingSecret ?? source.secrets.signingSecret;
|
|
28
|
+
return {
|
|
29
|
+
...source,
|
|
30
|
+
eventTypes: input.eventTypes,
|
|
31
|
+
secrets: { signingSecret },
|
|
32
|
+
state: signingSecret === source.secrets.signingSecret ? source.state : {},
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
view(source) {
|
|
36
|
+
return {
|
|
37
|
+
appId: String(source.config.appId),
|
|
38
|
+
manageSubscriptions: false,
|
|
39
|
+
verificationTokenConfigured: false,
|
|
40
|
+
encryptKeyConfigured: false,
|
|
41
|
+
signingSecretConfigured: true,
|
|
42
|
+
verifiedAt: typeof source.state.verifiedAt === "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
ready: (source) => typeof source.state.verifiedAt === "number",
|
|
46
|
+
async receive(source, bytes, headers, now, execute) {
|
|
47
|
+
const signature = headers.get("x-hub-signature") ?? "";
|
|
48
|
+
if (!signature.startsWith("sha256=") ||
|
|
49
|
+
!(await verifySourceHmac(bytes, signature.slice(7), String(source.secrets.signingSecret))))
|
|
50
|
+
throw new TypeError("Invalid Fireflies signature.");
|
|
51
|
+
const payload = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
52
|
+
if (!isJsonObject(payload) || typeof payload.event !== "string")
|
|
53
|
+
throw new TypeError("Invalid Fireflies envelope.");
|
|
54
|
+
if (!events.has(payload.event))
|
|
55
|
+
return { response: Response.json({}), state: source.state };
|
|
56
|
+
if (typeof payload.meeting_id !== "string" ||
|
|
57
|
+
!payload.meeting_id ||
|
|
58
|
+
payload.meeting_id.length > 256 ||
|
|
59
|
+
!Number.isSafeInteger(payload.timestamp) ||
|
|
60
|
+
Number(payload.timestamp) < 0 ||
|
|
61
|
+
(payload.reprocessed_at != null &&
|
|
62
|
+
(!Number.isSafeInteger(payload.reprocessed_at) || Number(payload.reprocessed_at) <= 0)))
|
|
63
|
+
throw new TypeError("Incomplete Fireflies event.");
|
|
64
|
+
if (execute == null)
|
|
65
|
+
throw new SourceIdentityError("Fireflies meeting verification is unavailable.");
|
|
66
|
+
const identity = await execute({ operation: "sourceIdentity", config: { meetingId: payload.meeting_id } });
|
|
67
|
+
if (!isJsonObject(identity) ||
|
|
68
|
+
identity.accountId !== source.config.accountId ||
|
|
69
|
+
identity.meetingId !== payload.meeting_id ||
|
|
70
|
+
typeof identity.accessible !== "boolean")
|
|
71
|
+
throw new SourceIdentityError("Fireflies returned an invalid meeting access result.");
|
|
72
|
+
if (!identity.accessible)
|
|
73
|
+
return { response: Response.json({}), state: source.state };
|
|
74
|
+
const version = Number(payload.reprocessed_at ?? 0);
|
|
75
|
+
const stream = JSON.stringify([payload.event, payload.meeting_id]);
|
|
76
|
+
const deliveryId = JSON.stringify([payload.event, payload.meeting_id, version]);
|
|
77
|
+
return {
|
|
78
|
+
state: { ...source.state, verifiedAt: now },
|
|
79
|
+
event: {
|
|
80
|
+
id: deliveryId,
|
|
81
|
+
type: payload.event,
|
|
82
|
+
ordering: { key: stream, version },
|
|
83
|
+
payload: {
|
|
84
|
+
event: payload.event,
|
|
85
|
+
deliveryId,
|
|
86
|
+
accountId: source.config.accountId,
|
|
87
|
+
meetingId: payload.meeting_id,
|
|
88
|
+
body: {
|
|
89
|
+
event: payload.event,
|
|
90
|
+
meeting_id: payload.meeting_id,
|
|
91
|
+
reprocessed_at: payload.reprocessed_at ?? null,
|
|
92
|
+
client_reference_id: typeof payload.client_reference_id === "string" ? payload.client_reference_id : null,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
matches: (config, event) => Array.isArray(config.eventTypes) && config.eventTypes.includes(event.type),
|
|
99
|
+
resources: { triggerId: "fireflies.on_meeting_ready", requests: () => [] },
|
|
100
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const intercomApplication: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "workspaceId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "signingSecretConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
import { verifySourceHmac } from "./signature.js";
|
|
4
|
+
const events = new Set(["conversation.user.created", "conversation.user.replied", "ticket.created"]);
|
|
5
|
+
export const intercomApplication = {
|
|
6
|
+
kind: "intercom",
|
|
7
|
+
provider: "intercom",
|
|
8
|
+
applicationIngress: true,
|
|
9
|
+
maximumBodyBytes: 64 * 1024,
|
|
10
|
+
initialize(input, accountId) {
|
|
11
|
+
if (input.kind !== "intercom" || accountId == null || !/^[^:]+:[^:]+$/.test(accountId))
|
|
12
|
+
throw new SourceIdentityError("Connector must provide the verified Intercom workspace and administrator identity.");
|
|
13
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
14
|
+
throw new SourceIdentityError("Unsupported Intercom event type.");
|
|
15
|
+
const workspaceId = accountId.split(":")[0];
|
|
16
|
+
return {
|
|
17
|
+
identity: JSON.stringify([input.teamId, input.connectionId, input.appId, accountId]),
|
|
18
|
+
eventTypes: input.eventTypes,
|
|
19
|
+
config: { appId: input.appId, workspaceId, accountId },
|
|
20
|
+
secrets: { signingSecret: input.signingSecret },
|
|
21
|
+
state: {},
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
update(source, input) {
|
|
25
|
+
if (input.verificationToken != null || input.encryptKey != null)
|
|
26
|
+
throw new SourceIdentityError("Intercom uses the application Client Secret.");
|
|
27
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
28
|
+
throw new SourceIdentityError("Unsupported Intercom event type.");
|
|
29
|
+
const signingSecret = input.signingSecret ?? source.secrets.signingSecret;
|
|
30
|
+
return {
|
|
31
|
+
...source,
|
|
32
|
+
eventTypes: input.eventTypes,
|
|
33
|
+
secrets: { signingSecret },
|
|
34
|
+
state: signingSecret === source.secrets.signingSecret ? source.state : {},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
view(source) {
|
|
38
|
+
return {
|
|
39
|
+
appId: String(source.config.appId),
|
|
40
|
+
workspaceId: String(source.config.workspaceId),
|
|
41
|
+
manageSubscriptions: false,
|
|
42
|
+
verificationTokenConfigured: false,
|
|
43
|
+
encryptKeyConfigured: false,
|
|
44
|
+
signingSecretConfigured: true,
|
|
45
|
+
verifiedAt: typeof source.state.verifiedAt === "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
ready: (source) => typeof source.state.verifiedAt === "number",
|
|
49
|
+
async receive(source, bytes, headers, now) {
|
|
50
|
+
const signature = headers.get("x-hub-signature") ?? "";
|
|
51
|
+
if (!/^sha1=[0-9a-f]{40}$/.test(signature))
|
|
52
|
+
throw new TypeError("Invalid Intercom signature.");
|
|
53
|
+
if (!(await verifySourceHmac(bytes, signature.slice(5), String(source.secrets.signingSecret), "SHA-1")))
|
|
54
|
+
throw new TypeError("Invalid Intercom signature.");
|
|
55
|
+
const payload = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
56
|
+
if (!isJsonObject(payload) || payload.type !== "notification_event")
|
|
57
|
+
throw new TypeError("Invalid Intercom notification.");
|
|
58
|
+
if (payload.app_id !== source.config.workspaceId)
|
|
59
|
+
return { response: Response.json({}), state: source.state };
|
|
60
|
+
if (payload.topic === "ping")
|
|
61
|
+
return { response: Response.json({}), state: { ...source.state, verifiedAt: now } };
|
|
62
|
+
if (typeof payload.topic !== "string" || !events.has(payload.topic))
|
|
63
|
+
return { response: Response.json({}), state: source.state };
|
|
64
|
+
if (typeof payload.id !== "string" ||
|
|
65
|
+
!payload.id ||
|
|
66
|
+
!isJsonObject(payload.data) ||
|
|
67
|
+
!isJsonObject(payload.data.item) ||
|
|
68
|
+
typeof payload.data.item.id !== "string")
|
|
69
|
+
throw new TypeError("Incomplete Intercom notification.");
|
|
70
|
+
return {
|
|
71
|
+
event: {
|
|
72
|
+
id: payload.id,
|
|
73
|
+
type: payload.topic,
|
|
74
|
+
payload: {
|
|
75
|
+
event: payload.topic,
|
|
76
|
+
deliveryId: payload.id,
|
|
77
|
+
workspaceId: payload.app_id,
|
|
78
|
+
objectId: payload.data.item.id,
|
|
79
|
+
body: payload.data.item,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
matches: (config, event) => Array.isArray(config.eventTypes) && config.eventTypes.includes(event.type),
|
|
85
|
+
resources: { triggerId: "intercom.on_conversation_event", requests: () => [] },
|
|
86
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const jiraProject: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "projectId" | "projectKey" | "subscriptionStatus" | "lastError" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "verifiedAt">>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
import { SourceIdentityError } from "./definition.js";
|
|
3
|
+
const events = new Set(["jira:issue_created", "jira:issue_updated", "comment_created"]);
|
|
4
|
+
export const jiraProject = {
|
|
5
|
+
kind: "jira",
|
|
6
|
+
provider: "jira",
|
|
7
|
+
maximumBodyBytes: 64 * 1024,
|
|
8
|
+
initialize(input, accountId) {
|
|
9
|
+
if (input.kind !== "jira" || !accountId?.startsWith("jira:"))
|
|
10
|
+
throw new SourceIdentityError("Choose a verified Jira Cloud OAuth connection.");
|
|
11
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
12
|
+
throw new SourceIdentityError("Unsupported Jira event.");
|
|
13
|
+
return {
|
|
14
|
+
identity: JSON.stringify([input.teamId, input.connectionId, accountId]),
|
|
15
|
+
eventTypes: input.eventTypes,
|
|
16
|
+
config: { accountId, project: input.project },
|
|
17
|
+
secrets: {},
|
|
18
|
+
state: {},
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
async verifyIdentity(source, read) {
|
|
22
|
+
const identity = await read(source.config);
|
|
23
|
+
if (!isJsonObject(identity) ||
|
|
24
|
+
identity.accountId !== source.config.accountId ||
|
|
25
|
+
typeof identity.cloudId !== "string" ||
|
|
26
|
+
typeof identity.userId !== "string" ||
|
|
27
|
+
typeof identity.projectId !== "string" ||
|
|
28
|
+
!/^\d+$/.test(identity.projectId) ||
|
|
29
|
+
typeof identity.projectKey !== "string" ||
|
|
30
|
+
typeof identity.siteUrl !== "string")
|
|
31
|
+
throw new SourceIdentityError("Jira did not return the selected project and site identity.");
|
|
32
|
+
if (source.config.projectId != null &&
|
|
33
|
+
(source.config.cloudId !== identity.cloudId ||
|
|
34
|
+
source.config.projectId !== identity.projectId ||
|
|
35
|
+
source.config.userId !== identity.userId))
|
|
36
|
+
throw new SourceIdentityError("The Jira project, site or user changed. Recreate the event source.");
|
|
37
|
+
return {
|
|
38
|
+
...source,
|
|
39
|
+
identity: source.config.projectId == null
|
|
40
|
+
? JSON.stringify([source.identity, identity.cloudId, identity.projectId, identity.userId])
|
|
41
|
+
: source.identity,
|
|
42
|
+
config: { ...source.config, ...identity },
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
update(source, input) {
|
|
46
|
+
if (input.verificationToken != null || input.encryptKey != null || input.signingSecret != null)
|
|
47
|
+
throw new SourceIdentityError("Jira OAuth callback verification is owned by Connector.");
|
|
48
|
+
if (input.eventTypes.some((event) => !events.has(event)))
|
|
49
|
+
throw new SourceIdentityError("Unsupported Jira event.");
|
|
50
|
+
return { ...source, eventTypes: input.eventTypes };
|
|
51
|
+
},
|
|
52
|
+
view(source, now = Date.now()) {
|
|
53
|
+
const expired = isJsonObject(source.state.resource) &&
|
|
54
|
+
typeof source.state.resource.expiresAt === "number" &&
|
|
55
|
+
source.state.resource.expiresAt <= now;
|
|
56
|
+
const status = expired ? "error" : source.state.resourceStatus;
|
|
57
|
+
return {
|
|
58
|
+
appId: String(source.config.cloudId),
|
|
59
|
+
projectId: String(source.config.projectId),
|
|
60
|
+
projectKey: String(source.config.projectKey),
|
|
61
|
+
subscriptionStatus: status === "pending" || status === "ready" || status === "error" ? status : "idle",
|
|
62
|
+
lastError: expired
|
|
63
|
+
? "The Jira webhook expired. Restore Connector access and retry publication."
|
|
64
|
+
: typeof source.state.lastError === "string"
|
|
65
|
+
? source.state.lastError
|
|
66
|
+
: undefined,
|
|
67
|
+
manageSubscriptions: true,
|
|
68
|
+
verificationTokenConfigured: false,
|
|
69
|
+
encryptKeyConfigured: false,
|
|
70
|
+
verifiedAt: typeof source.state.verifiedAt === "number" ? new Date(source.state.verifiedAt).toISOString() : null,
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
expiresAt: (source) => isJsonObject(source.state.resource) && typeof source.state.resource.expiresAt === "number"
|
|
74
|
+
? source.state.resource.expiresAt
|
|
75
|
+
: undefined,
|
|
76
|
+
ready: (source, now = Date.now()) => source.state.resourceStatus === "ready" &&
|
|
77
|
+
isJsonObject(source.state.resource) &&
|
|
78
|
+
typeof source.state.resource.expiresAt === "number" &&
|
|
79
|
+
source.state.resource.expiresAt > now,
|
|
80
|
+
async receive(source, bytes, headers, _now, execute) {
|
|
81
|
+
if (!isJsonObject(source.state.resource) ||
|
|
82
|
+
typeof source.state.resource.webhookId !== "number" ||
|
|
83
|
+
source.state.resourceStatus !== "ready")
|
|
84
|
+
return { response: new Response(null, { status: 503 }), state: source.state };
|
|
85
|
+
if (execute == null)
|
|
86
|
+
throw new SourceIdentityError("Jira callback verification is unavailable.");
|
|
87
|
+
const result = await execute({
|
|
88
|
+
operation: "sourceReceive",
|
|
89
|
+
config: { ...source.config, webhookId: source.state.resource.webhookId },
|
|
90
|
+
headers: {
|
|
91
|
+
authorization: headers.get("authorization") ?? "",
|
|
92
|
+
"x-atlassian-webhook-identifier": headers.get("x-atlassian-webhook-identifier") ?? "",
|
|
93
|
+
},
|
|
94
|
+
rawBody: new TextDecoder("utf-8", { fatal: true }).decode(bytes),
|
|
95
|
+
});
|
|
96
|
+
if (!isJsonObject(result))
|
|
97
|
+
throw new SourceIdentityError("Invalid Jira verification response.");
|
|
98
|
+
if (result.outcome === "unauthorized")
|
|
99
|
+
return { response: new Response(null, { status: 401 }), state: source.state };
|
|
100
|
+
if (result.outcome === "ignored")
|
|
101
|
+
return { response: Response.json({}), state: source.state };
|
|
102
|
+
if (result.outcome !== "event" ||
|
|
103
|
+
typeof result.id !== "string" ||
|
|
104
|
+
typeof result.type !== "string" ||
|
|
105
|
+
!events.has(result.type) ||
|
|
106
|
+
!isJsonObject(result.payload))
|
|
107
|
+
throw new SourceIdentityError("Invalid Jira verified event.");
|
|
108
|
+
return { event: { id: result.id, type: result.type, payload: result.payload } };
|
|
109
|
+
},
|
|
110
|
+
matches: (config, event) => Array.isArray(config.eventTypes) && config.eventTypes.includes(event.type),
|
|
111
|
+
resources: {
|
|
112
|
+
triggerId: "jira.on_issue_event",
|
|
113
|
+
managed: true,
|
|
114
|
+
requests(source, _provider, _config, endpointUrl) {
|
|
115
|
+
if (!endpointUrl)
|
|
116
|
+
throw new SourceIdentityError("Jira requires a public callback URL.");
|
|
117
|
+
return [{ key: "project", config: { projectId: source.config.projectId, endpointUrl } }];
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { IntegrationDefinition } from "../common/integration.ts";
|
|
2
|
+
import type { ConnectorProxy } from "../common/proxy.ts";
|
|
3
|
+
import type { JsonValue } from "../common/types.ts";
|
|
4
|
+
import type { SourceConfiguration } from "./definition.ts";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export declare const sourceOperationSchema: z.ZodType<SourceOperation>;
|
|
7
|
+
export type SourceOperation = {
|
|
8
|
+
readonly action: "initialize";
|
|
9
|
+
readonly input: Readonly<Record<string, JsonValue>>;
|
|
10
|
+
} | {
|
|
11
|
+
readonly action: "update";
|
|
12
|
+
readonly source: SourceConfiguration;
|
|
13
|
+
readonly input: Readonly<Record<string, JsonValue>>;
|
|
14
|
+
} | {
|
|
15
|
+
readonly action: "inspect";
|
|
16
|
+
readonly source: SourceConfiguration;
|
|
17
|
+
} | {
|
|
18
|
+
readonly action: "prepare";
|
|
19
|
+
readonly source: SourceConfiguration;
|
|
20
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
21
|
+
readonly endpointUrl?: string;
|
|
22
|
+
} | {
|
|
23
|
+
readonly action: "receive";
|
|
24
|
+
readonly source: SourceConfiguration;
|
|
25
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
26
|
+
readonly rawBody: string;
|
|
27
|
+
readonly consumers: readonly {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
export declare function sourceMetadata(definition: IntegrationDefinition): {
|
|
33
|
+
kind: string;
|
|
34
|
+
provider: string;
|
|
35
|
+
triggerId: string;
|
|
36
|
+
maximumBodyBytes: number;
|
|
37
|
+
applicationIngress: boolean;
|
|
38
|
+
managed: boolean;
|
|
39
|
+
createSchema: Record<string, unknown>;
|
|
40
|
+
updateSchema: Record<string, unknown>;
|
|
41
|
+
} | undefined;
|
|
42
|
+
export declare function executeSourceOperation(definition: IntegrationDefinition, request: SourceOperation, connector: ConnectorProxy, signal: AbortSignal, now?: number): Promise<unknown>;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { IntegrationConnectionError, PermanentIntegrationError } from "../common/integration.js";
|
|
3
|
+
import { createEventSourceSchema, updateEventSourceSchema, sourceCreateSchema } from "./configuration-schema.js";
|
|
4
|
+
const jsonObject = z.record(z.string(), z.json());
|
|
5
|
+
const configuration = z.object({
|
|
6
|
+
identity: z.string().min(1),
|
|
7
|
+
eventTypes: z.array(z.string()),
|
|
8
|
+
config: jsonObject,
|
|
9
|
+
secrets: jsonObject,
|
|
10
|
+
state: jsonObject,
|
|
11
|
+
});
|
|
12
|
+
export const sourceOperationSchema = z.discriminatedUnion("action", [
|
|
13
|
+
z.strictObject({ action: z.literal("initialize"), input: jsonObject }),
|
|
14
|
+
z.strictObject({ action: z.literal("update"), source: configuration, input: jsonObject }),
|
|
15
|
+
z.strictObject({ action: z.literal("inspect"), source: configuration }),
|
|
16
|
+
z.strictObject({
|
|
17
|
+
action: z.literal("prepare"),
|
|
18
|
+
source: configuration,
|
|
19
|
+
config: jsonObject,
|
|
20
|
+
endpointUrl: z.string().optional(),
|
|
21
|
+
}),
|
|
22
|
+
z.strictObject({
|
|
23
|
+
action: z.literal("receive"),
|
|
24
|
+
source: configuration,
|
|
25
|
+
headers: z
|
|
26
|
+
.record(z.string(), z.string().max(8192))
|
|
27
|
+
.refine((headers) => new Set(Object.keys(headers).map((name) => name.toLowerCase())).size === Object.keys(headers).length, "Duplicate webhook header."),
|
|
28
|
+
rawBody: z
|
|
29
|
+
.string()
|
|
30
|
+
.max(90000)
|
|
31
|
+
.regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/),
|
|
32
|
+
consumers: z.array(z.object({ id: z.string(), config: jsonObject })).max(10000),
|
|
33
|
+
}),
|
|
34
|
+
]);
|
|
35
|
+
export function sourceMetadata(definition) {
|
|
36
|
+
const source = definition.source;
|
|
37
|
+
if (source == null)
|
|
38
|
+
return undefined;
|
|
39
|
+
return {
|
|
40
|
+
createSchema: z.toJSONSchema(sourceCreateSchema(source.kind)),
|
|
41
|
+
updateSchema: z.toJSONSchema(updateEventSourceSchema),
|
|
42
|
+
kind: source.kind,
|
|
43
|
+
provider: source.provider,
|
|
44
|
+
triggerId: source.resources.triggerId,
|
|
45
|
+
maximumBodyBytes: source.maximumBodyBytes,
|
|
46
|
+
applicationIngress: source.applicationIngress === true,
|
|
47
|
+
managed: source.resources.managed === true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export async function executeSourceOperation(definition, request, connector, signal, now = Date.now()) {
|
|
51
|
+
const source = definition.source;
|
|
52
|
+
if (source == null)
|
|
53
|
+
throw new PermanentIntegrationError("This Trigger has no shared event source protocol.");
|
|
54
|
+
const execute = async (operation) => {
|
|
55
|
+
const context = { config: operation.config, connector, now: new Date(now), signal };
|
|
56
|
+
if (operation.operation === "sourceIdentity") {
|
|
57
|
+
if (definition.sourceIdentity == null)
|
|
58
|
+
throw new PermanentIntegrationError("Source identity verification is unavailable.");
|
|
59
|
+
return definition.sourceIdentity(context);
|
|
60
|
+
}
|
|
61
|
+
if (definition.sourceReceive == null)
|
|
62
|
+
throw new PermanentIntegrationError("Source callback verification is unavailable.");
|
|
63
|
+
return definition.sourceReceive({ ...context, headers: operation.headers, rawBody: operation.rawBody });
|
|
64
|
+
};
|
|
65
|
+
const project = (configuration) => ({
|
|
66
|
+
...configuration,
|
|
67
|
+
state: {
|
|
68
|
+
...configuration.state,
|
|
69
|
+
projection: JSON.parse(JSON.stringify({
|
|
70
|
+
view: source.view(configuration, now),
|
|
71
|
+
ready: source.ready(configuration, now),
|
|
72
|
+
expiresAt: source.expiresAt?.(configuration),
|
|
73
|
+
})),
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
switch (request.action) {
|
|
77
|
+
case "initialize": {
|
|
78
|
+
const parsed = createEventSourceSchema.safeParse(request.input);
|
|
79
|
+
if (!parsed.success)
|
|
80
|
+
throw new PermanentIntegrationError("Invalid event source configuration.");
|
|
81
|
+
const input = parsed.data;
|
|
82
|
+
let configuration = source.initialize(input, connector.providerAccountId);
|
|
83
|
+
if (source.verifyIdentity != null)
|
|
84
|
+
configuration = await source.verifyIdentity(configuration, (config) => execute({ operation: "sourceIdentity", config }));
|
|
85
|
+
return { source: project(configuration) };
|
|
86
|
+
}
|
|
87
|
+
case "update": {
|
|
88
|
+
const parsed = updateEventSourceSchema.safeParse(request.input);
|
|
89
|
+
if (!parsed.success)
|
|
90
|
+
throw new PermanentIntegrationError("Invalid event source update.");
|
|
91
|
+
return { source: project(source.update(request.source, parsed.data)) };
|
|
92
|
+
}
|
|
93
|
+
case "inspect":
|
|
94
|
+
return { source: project(request.source) };
|
|
95
|
+
case "prepare": {
|
|
96
|
+
if (connector.providerAccountId !== (request.source.config.accountId ?? request.source.identity))
|
|
97
|
+
throw new IntegrationConnectionError("The source Connection requires reauthorization.");
|
|
98
|
+
if (source.verifyIdentity != null)
|
|
99
|
+
await source.verifyIdentity(request.source, (config) => execute({ operation: "sourceIdentity", config }));
|
|
100
|
+
if (!source.resources.managed && !source.ready(request.source, now))
|
|
101
|
+
throw new PermanentIntegrationError("Verify the event source before publishing.");
|
|
102
|
+
if (!Array.isArray(request.config.eventTypes) ||
|
|
103
|
+
!request.config.eventTypes.every((type) => typeof type === "string" && request.source.eventTypes.includes(type)))
|
|
104
|
+
throw new PermanentIntegrationError("Configure the requested events on the event source first.");
|
|
105
|
+
return {
|
|
106
|
+
source: project(request.source),
|
|
107
|
+
subscriptions: source.resources.requests(request.source, source.provider, request.config, request.endpointUrl),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
case "receive": {
|
|
111
|
+
const bytes = Uint8Array.from(atob(request.rawBody), (value) => value.charCodeAt(0));
|
|
112
|
+
if (bytes.byteLength > source.maximumBodyBytes)
|
|
113
|
+
return { response: { status: 413, body: "", headers: {} } };
|
|
114
|
+
let result;
|
|
115
|
+
try {
|
|
116
|
+
result = await source.receive(request.source, bytes, new Headers(request.headers), now, execute);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
signal.throwIfAborted();
|
|
120
|
+
if (!(error instanceof TypeError || error instanceof SyntaxError || error instanceof DOMException))
|
|
121
|
+
throw error;
|
|
122
|
+
return { response: { status: 401, body: "", headers: {} } };
|
|
123
|
+
}
|
|
124
|
+
signal.throwIfAborted();
|
|
125
|
+
const configuration = project({ ...request.source, state: result.state ?? request.source.state });
|
|
126
|
+
if ("response" in result)
|
|
127
|
+
return {
|
|
128
|
+
source: configuration,
|
|
129
|
+
response: {
|
|
130
|
+
status: result.response.status,
|
|
131
|
+
body: await result.response.text(),
|
|
132
|
+
headers: Object.fromEntries(result.response.headers),
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
return {
|
|
136
|
+
source: configuration,
|
|
137
|
+
event: {
|
|
138
|
+
...result.event,
|
|
139
|
+
matches: request.consumers
|
|
140
|
+
.filter((consumer) => source.matches(consumer.config, result.event))
|
|
141
|
+
.map((consumer) => consumer.id),
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const sentryApplication: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "installationId" | "organizationId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "signingSecretConfigured" | "verifiedAt">>;
|