@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
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { JsonValue } from "./common/types.ts";
|
|
2
|
+
import type { SourceOperation } from "./sources/operation.ts";
|
|
2
3
|
interface ConfigRequest {
|
|
3
4
|
config: Readonly<Record<string, JsonValue>>;
|
|
4
5
|
}
|
|
5
|
-
export type TriggerRequest =
|
|
6
|
+
export type TriggerRequest = {
|
|
7
|
+
operation: "source";
|
|
8
|
+
request: SourceOperation;
|
|
9
|
+
} | (ConfigRequest & {
|
|
6
10
|
operation: "options";
|
|
7
11
|
field: string;
|
|
8
12
|
}) | (ConfigRequest & {
|
package/src/triggers/request.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { HttpRequestError } from "../server/api/http-utils.js";
|
|
3
|
+
import { sourceOperationSchema } from "./sources/operation.js";
|
|
3
4
|
const config = z.record(z.string(), z.json());
|
|
4
5
|
const subscriptionId = z.string().min(1).max(128);
|
|
5
6
|
const requestKey = z.string().min(1).max(512);
|
|
6
7
|
const requestSchema = z.discriminatedUnion("operation", [
|
|
8
|
+
z.strictObject({ operation: z.literal("source"), request: sourceOperationSchema }),
|
|
7
9
|
z.strictObject({ operation: z.literal("options"), config, field: z.string().min(1).max(128) }),
|
|
8
10
|
z.strictObject({ operation: z.literal("read"), config, checkpoint: z.json() }),
|
|
9
11
|
z.strictObject({
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import type { IntegrationReconcileResult, ResourceDefinition } from "./common/integration.ts";
|
|
2
2
|
import type { ConnectorProxy } from "./common/proxy.ts";
|
|
3
|
+
import type { JsonValue } from "./common/types.ts";
|
|
3
4
|
import type { TriggerRequest } from "./request.ts";
|
|
4
5
|
import type { TriggerSubscription, TriggerStore } from "./store.ts";
|
|
5
6
|
import type { SubscriptionOwner } from "./subscriptions.ts";
|
|
7
|
+
interface ResourceSubscriptionResult extends IntegrationReconcileResult {
|
|
8
|
+
readonly subscription?: Readonly<Record<string, JsonValue>>;
|
|
9
|
+
readonly reconcileAt?: number;
|
|
10
|
+
}
|
|
6
11
|
export declare function executeResourceSubscription(store: TriggerStore, definition: ResourceDefinition, owner: SubscriptionOwner, input: Extract<TriggerRequest, {
|
|
7
12
|
operation: "resource";
|
|
8
|
-
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<
|
|
13
|
+
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<ResourceSubscriptionResult>;
|
|
9
14
|
export declare function executeResourceSubscriptionOperation(store: TriggerStore, definition: ResourceDefinition, consumer: TriggerSubscription, saveConsumer: () => Promise<void>, input: Extract<TriggerRequest, {
|
|
10
15
|
operation: "resource";
|
|
11
|
-
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<
|
|
16
|
+
}>, proxy: ConnectorProxy, signal: AbortSignal): Promise<ResourceSubscriptionResult>;
|
|
12
17
|
export declare function abandonResourceSubscription(store: TriggerStore, definition: ResourceDefinition, consumer: TriggerSubscription, signal: AbortSignal): Promise<void>;
|
|
18
|
+
export {};
|
|
@@ -52,6 +52,35 @@ export async function executeResourceSubscriptionOperation(store, definition, co
|
|
|
52
52
|
consumer.status = "deleting";
|
|
53
53
|
await saveConsumer();
|
|
54
54
|
}
|
|
55
|
+
if ("reconcile" in definition) {
|
|
56
|
+
const result = await definition.reconcile({
|
|
57
|
+
active: input.active,
|
|
58
|
+
config: input.config,
|
|
59
|
+
connector: proxy,
|
|
60
|
+
signal,
|
|
61
|
+
now: new Date(),
|
|
62
|
+
endpointUrl: typeof input.config.endpointUrl === "string" ? input.config.endpointUrl : "",
|
|
63
|
+
callbackSecret: "",
|
|
64
|
+
idempotencyKey: member,
|
|
65
|
+
state: {
|
|
66
|
+
checkpoint: consumer.checkpoint,
|
|
67
|
+
subscription: consumer.subscription,
|
|
68
|
+
saveCheckpoint: async (checkpoint) => {
|
|
69
|
+
consumer.checkpoint = checkpoint;
|
|
70
|
+
await saveConsumer();
|
|
71
|
+
},
|
|
72
|
+
saveSubscription: async (subscription, reconcileAt) => {
|
|
73
|
+
consumer.subscription = subscription;
|
|
74
|
+
consumer.reconcileAt = reconcileAt.getTime();
|
|
75
|
+
await saveConsumer();
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
if (!input.active && result.outcome === "ready")
|
|
80
|
+
consumer.status = "deleted";
|
|
81
|
+
await saveConsumer();
|
|
82
|
+
return { ...result, subscription: consumer.subscription, reconcileAt: consumer.reconcileAt };
|
|
83
|
+
}
|
|
55
84
|
for (const resource of definition.subscriptions(input.config)) {
|
|
56
85
|
const shared = { ...owner, tokenId: "shared-resource" };
|
|
57
86
|
const id = await resourceSubscriptionId(owner, resource.key);
|
|
@@ -106,6 +135,8 @@ export async function executeResourceSubscriptionOperation(store, definition, co
|
|
|
106
135
|
return { outcome: "ready" };
|
|
107
136
|
}
|
|
108
137
|
export async function abandonResourceSubscription(store, definition, consumer, signal) {
|
|
138
|
+
if ("reconcile" in definition)
|
|
139
|
+
return;
|
|
109
140
|
for (const resource of definition.subscriptions(consumer.config)) {
|
|
110
141
|
const id = await resourceSubscriptionId(consumer, resource.key);
|
|
111
142
|
if (!(await store.getFlowTrigger(id)))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function bytes(value: string): Uint8Array
|
|
1
|
+
export declare function bytes(value: string): Uint8Array<ArrayBuffer>;
|
|
2
2
|
export declare function sameSecret(candidate: string | undefined, expected: string): boolean;
|
|
3
|
-
export declare function verifyBase64Hmac(secret: string, parts: readonly Uint8Array[], signature: string | undefined): Promise<boolean>;
|
|
4
|
-
export declare function verifyHexHmac(secret: string, parts: readonly Uint8Array[], signature: string | undefined): Promise<boolean>;
|
|
3
|
+
export declare function verifyBase64Hmac(secret: string | Uint8Array, parts: readonly Uint8Array[], signature: string | undefined): Promise<boolean>;
|
|
4
|
+
export declare function verifyHexHmac(secret: string | Uint8Array, parts: readonly Uint8Array[], signature: string | undefined, hash?: string): Promise<boolean>;
|
|
@@ -9,14 +9,12 @@ export async function verifyBase64Hmac(secret, parts, signature) {
|
|
|
9
9
|
const candidate = signature == null ? undefined : base64(signature);
|
|
10
10
|
return candidate != null && sameBytes(candidate, await hmac(secret, parts));
|
|
11
11
|
}
|
|
12
|
-
export async function verifyHexHmac(secret, parts, signature) {
|
|
12
|
+
export async function verifyHexHmac(secret, parts, signature, hash = "SHA-256") {
|
|
13
13
|
const candidate = signature == null ? undefined : hex(signature);
|
|
14
|
-
return candidate != null && sameBytes(candidate, await hmac(secret, parts));
|
|
14
|
+
return candidate != null && sameBytes(candidate, await hmac(secret, parts, hash));
|
|
15
15
|
}
|
|
16
|
-
async function hmac(secret, parts) {
|
|
17
|
-
const key = await crypto.subtle.importKey("raw", encoder.encode(secret), { hash
|
|
18
|
-
"sign",
|
|
19
|
-
]);
|
|
16
|
+
async function hmac(secret, parts, hash = "SHA-256") {
|
|
17
|
+
const key = await crypto.subtle.importKey("raw", typeof secret == "string" ? encoder.encode(secret) : secret, { hash, name: "HMAC" }, false, ["sign"]);
|
|
20
18
|
const size = parts.reduce((total, part) => total + part.byteLength, 0);
|
|
21
19
|
const source = new Uint8Array(size);
|
|
22
20
|
let offset = 0;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CreateEventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export declare const updateEventSourceSchema: z.ZodType<UpdateEventSource>;
|
|
4
|
+
export declare const createEventSourceSchema: z.ZodType<CreateEventSource>;
|
|
5
|
+
export declare function sourceCreateSchema(kind: string): z.ZodType<CreateEventSource>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const id = z.string().min(1).max(256);
|
|
3
|
+
const eventType = z.string().regex(/^[a-z][a-z0-9_.:]{0,127}$/);
|
|
4
|
+
const name = z.string().trim().min(1).max(128);
|
|
5
|
+
const secret = z.string().min(1).max(256);
|
|
6
|
+
const createFeishuEventSourceSchema = z.strictObject({
|
|
7
|
+
kind: z.literal("feishu").optional(),
|
|
8
|
+
version: z.literal(1),
|
|
9
|
+
name,
|
|
10
|
+
connectionId: id,
|
|
11
|
+
teamId: id.nullable(),
|
|
12
|
+
verificationToken: secret,
|
|
13
|
+
encryptKey: secret,
|
|
14
|
+
eventTypes: z
|
|
15
|
+
.array(eventType)
|
|
16
|
+
.min(1)
|
|
17
|
+
.max(200)
|
|
18
|
+
.refine((values) => new Set(values).size == values.length),
|
|
19
|
+
manageSubscriptions: z.boolean(),
|
|
20
|
+
});
|
|
21
|
+
const createSchema = z.union([
|
|
22
|
+
createFeishuEventSourceSchema,
|
|
23
|
+
z.strictObject({
|
|
24
|
+
kind: z.literal("jira"),
|
|
25
|
+
version: z.literal(1),
|
|
26
|
+
name,
|
|
27
|
+
connectionId: id,
|
|
28
|
+
teamId: id.nullable(),
|
|
29
|
+
project: id,
|
|
30
|
+
eventTypes: z
|
|
31
|
+
.array(z.enum(["jira:issue_created", "jira:issue_updated", "comment_created"]))
|
|
32
|
+
.min(1)
|
|
33
|
+
.max(3)
|
|
34
|
+
.refine((values) => new Set(values).size === values.length),
|
|
35
|
+
}),
|
|
36
|
+
z.strictObject({
|
|
37
|
+
kind: z.literal("fireflies"),
|
|
38
|
+
version: z.literal(1),
|
|
39
|
+
name,
|
|
40
|
+
connectionId: id,
|
|
41
|
+
teamId: id.nullable(),
|
|
42
|
+
signingSecret: secret,
|
|
43
|
+
eventTypes: z
|
|
44
|
+
.array(z.enum(["meeting.transcribed", "meeting.summarized"]))
|
|
45
|
+
.min(1)
|
|
46
|
+
.max(2)
|
|
47
|
+
.refine((values) => new Set(values).size === values.length),
|
|
48
|
+
}),
|
|
49
|
+
z.strictObject({
|
|
50
|
+
kind: z.literal("zoom"),
|
|
51
|
+
version: z.literal(1),
|
|
52
|
+
name,
|
|
53
|
+
connectionId: id,
|
|
54
|
+
teamId: id.nullable(),
|
|
55
|
+
appId: id,
|
|
56
|
+
signingSecret: secret,
|
|
57
|
+
eventTypes: z.array(z.literal("recording.completed")).length(1),
|
|
58
|
+
}),
|
|
59
|
+
z.strictObject({
|
|
60
|
+
kind: z.literal("sentry"),
|
|
61
|
+
version: z.literal(1),
|
|
62
|
+
name,
|
|
63
|
+
connectionId: id,
|
|
64
|
+
teamId: id.nullable(),
|
|
65
|
+
appId: id,
|
|
66
|
+
installationId: id,
|
|
67
|
+
organizationId: id,
|
|
68
|
+
signingSecret: secret,
|
|
69
|
+
eventTypes: z.array(z.literal("issue.alert")).length(1),
|
|
70
|
+
}),
|
|
71
|
+
z.strictObject({
|
|
72
|
+
kind: z.literal("intercom"),
|
|
73
|
+
version: z.literal(1),
|
|
74
|
+
name,
|
|
75
|
+
connectionId: id,
|
|
76
|
+
teamId: id.nullable(),
|
|
77
|
+
appId: id,
|
|
78
|
+
signingSecret: secret,
|
|
79
|
+
eventTypes: z
|
|
80
|
+
.array(z.enum(["conversation.user.created", "conversation.user.replied", "ticket.created"]))
|
|
81
|
+
.min(1)
|
|
82
|
+
.max(3)
|
|
83
|
+
.refine((values) => new Set(values).size === values.length),
|
|
84
|
+
}),
|
|
85
|
+
z.strictObject({
|
|
86
|
+
kind: z.literal("slack"),
|
|
87
|
+
version: z.literal(1),
|
|
88
|
+
name,
|
|
89
|
+
connectionId: id,
|
|
90
|
+
teamId: id.nullable(),
|
|
91
|
+
appId: z.string().regex(/^A[A-Z0-9]+$/),
|
|
92
|
+
workspaceId: z.string().regex(/^T[A-Z0-9]+$/),
|
|
93
|
+
signingSecret: secret,
|
|
94
|
+
eventTypes: z
|
|
95
|
+
.array(z.enum(["app_mention", "message.im"]))
|
|
96
|
+
.min(1)
|
|
97
|
+
.max(2)
|
|
98
|
+
.refine((values) => new Set(values).size === values.length),
|
|
99
|
+
}),
|
|
100
|
+
]);
|
|
101
|
+
export const updateEventSourceSchema = z.strictObject({
|
|
102
|
+
version: z.literal(1),
|
|
103
|
+
expectedRevision: z.int().positive(),
|
|
104
|
+
name,
|
|
105
|
+
enabled: z.boolean(),
|
|
106
|
+
eventTypes: z
|
|
107
|
+
.array(eventType)
|
|
108
|
+
.min(1)
|
|
109
|
+
.max(200)
|
|
110
|
+
.refine((values) => new Set(values).size == values.length),
|
|
111
|
+
verificationToken: secret.optional(),
|
|
112
|
+
signingSecret: secret.optional(),
|
|
113
|
+
encryptKey: secret.optional(),
|
|
114
|
+
});
|
|
115
|
+
export const createEventSourceSchema = createSchema;
|
|
116
|
+
export function sourceCreateSchema(kind) {
|
|
117
|
+
return createSchema.options.find((schema) => schema.shape.kind.safeParse(kind).success);
|
|
118
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
export interface CreateFeishuEventSource {
|
|
2
|
+
readonly kind?: "feishu";
|
|
3
|
+
readonly version: 1;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly connectionId: string;
|
|
6
|
+
readonly teamId: string | null;
|
|
7
|
+
readonly verificationToken: string;
|
|
8
|
+
readonly encryptKey: string;
|
|
9
|
+
readonly eventTypes: string[];
|
|
10
|
+
readonly manageSubscriptions: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateSlackEventSource {
|
|
13
|
+
readonly kind: "slack";
|
|
14
|
+
readonly version: 1;
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly connectionId: string;
|
|
17
|
+
readonly teamId: string | null;
|
|
18
|
+
readonly appId: string;
|
|
19
|
+
readonly workspaceId: string;
|
|
20
|
+
readonly signingSecret: string;
|
|
21
|
+
readonly eventTypes: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface CreateIntercomEventSource {
|
|
24
|
+
readonly kind: "intercom";
|
|
25
|
+
readonly version: 1;
|
|
26
|
+
readonly name: string;
|
|
27
|
+
readonly connectionId: string;
|
|
28
|
+
readonly teamId: string | null;
|
|
29
|
+
readonly appId: string;
|
|
30
|
+
readonly signingSecret: string;
|
|
31
|
+
readonly eventTypes: string[];
|
|
32
|
+
}
|
|
33
|
+
export interface CreateSentryEventSource {
|
|
34
|
+
readonly kind: "sentry";
|
|
35
|
+
readonly version: 1;
|
|
36
|
+
readonly name: string;
|
|
37
|
+
readonly connectionId: string;
|
|
38
|
+
readonly teamId: string | null;
|
|
39
|
+
readonly appId: string;
|
|
40
|
+
readonly installationId: string;
|
|
41
|
+
readonly organizationId: string;
|
|
42
|
+
readonly signingSecret: string;
|
|
43
|
+
readonly eventTypes: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface CreateZoomEventSource {
|
|
46
|
+
readonly kind: "zoom";
|
|
47
|
+
readonly version: 1;
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly connectionId: string;
|
|
50
|
+
readonly teamId: string | null;
|
|
51
|
+
readonly appId: string;
|
|
52
|
+
readonly signingSecret: string;
|
|
53
|
+
readonly eventTypes: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface CreateFirefliesEventSource {
|
|
56
|
+
readonly kind: "fireflies";
|
|
57
|
+
readonly version: 1;
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly connectionId: string;
|
|
60
|
+
readonly teamId: string | null;
|
|
61
|
+
readonly signingSecret: string;
|
|
62
|
+
readonly eventTypes: string[];
|
|
63
|
+
}
|
|
64
|
+
export interface CreateJiraEventSource {
|
|
65
|
+
readonly kind: "jira";
|
|
66
|
+
readonly version: 1;
|
|
67
|
+
readonly name: string;
|
|
68
|
+
readonly connectionId: string;
|
|
69
|
+
readonly teamId: string | null;
|
|
70
|
+
readonly project: string;
|
|
71
|
+
readonly eventTypes: string[];
|
|
72
|
+
}
|
|
73
|
+
export type CreateEventSource = CreateFeishuEventSource | CreateSlackEventSource | CreateIntercomEventSource | CreateSentryEventSource | CreateZoomEventSource | CreateFirefliesEventSource | CreateJiraEventSource;
|
|
74
|
+
export interface UpdateEventSource {
|
|
75
|
+
readonly signingSecret?: string;
|
|
76
|
+
readonly version: 1;
|
|
77
|
+
readonly expectedRevision: number;
|
|
78
|
+
readonly name: string;
|
|
79
|
+
readonly enabled: boolean;
|
|
80
|
+
readonly eventTypes: string[];
|
|
81
|
+
readonly verificationToken?: string;
|
|
82
|
+
readonly encryptKey?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface EventSource {
|
|
85
|
+
readonly version: 1;
|
|
86
|
+
readonly sourceId: string;
|
|
87
|
+
readonly revision: number;
|
|
88
|
+
readonly name: string;
|
|
89
|
+
readonly provider: "feishu" | "feishu_app_bot" | "slackbot" | "intercom" | "sentry" | "zoom" | "fireflies" | "jira";
|
|
90
|
+
readonly appId: string;
|
|
91
|
+
readonly workspaceId?: string;
|
|
92
|
+
readonly installationId?: string;
|
|
93
|
+
readonly organizationId?: string;
|
|
94
|
+
readonly projectId?: string;
|
|
95
|
+
readonly projectKey?: string;
|
|
96
|
+
readonly subscriptionStatus?: "idle" | "pending" | "ready" | "error";
|
|
97
|
+
readonly lastError?: string;
|
|
98
|
+
readonly signingSecretConfigured?: boolean;
|
|
99
|
+
readonly connectionId: string;
|
|
100
|
+
readonly teamId: string | null;
|
|
101
|
+
readonly enabled: boolean;
|
|
102
|
+
readonly eventTypes: string[];
|
|
103
|
+
readonly manageSubscriptions: boolean;
|
|
104
|
+
readonly verificationTokenConfigured: boolean;
|
|
105
|
+
readonly encryptKeyConfigured: boolean;
|
|
106
|
+
readonly endpointUrl: string | null;
|
|
107
|
+
readonly verifiedAt: string | null;
|
|
108
|
+
readonly lastReceivedAt: string | null;
|
|
109
|
+
readonly updatedAt: string;
|
|
110
|
+
readonly consumers: {
|
|
111
|
+
flowId: string;
|
|
112
|
+
flowName: string;
|
|
113
|
+
triggerNodeId: string;
|
|
114
|
+
}[];
|
|
115
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { PermanentIntegrationError } from "../common/integration.ts";
|
|
2
|
+
type TriggerOperationRequest = {
|
|
3
|
+
operation: "sourceIdentity";
|
|
4
|
+
config: Readonly<Record<string, JsonValue>>;
|
|
5
|
+
} | {
|
|
6
|
+
operation: "sourceReceive";
|
|
7
|
+
config: Readonly<Record<string, JsonValue>>;
|
|
8
|
+
headers: Readonly<Record<string, string>>;
|
|
9
|
+
rawBody: string;
|
|
10
|
+
};
|
|
11
|
+
import type { JsonValue } from "../common/types.ts";
|
|
12
|
+
export interface SourceConfiguration {
|
|
13
|
+
readonly identity: string;
|
|
14
|
+
readonly eventTypes: string[];
|
|
15
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
16
|
+
readonly secrets: Readonly<Record<string, JsonValue>>;
|
|
17
|
+
readonly state: Readonly<Record<string, JsonValue>>;
|
|
18
|
+
}
|
|
19
|
+
export interface SourceEvent {
|
|
20
|
+
readonly ordering?: {
|
|
21
|
+
readonly key: string;
|
|
22
|
+
readonly version: number;
|
|
23
|
+
};
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly type: string;
|
|
26
|
+
readonly payload: Readonly<Record<string, JsonValue>>;
|
|
27
|
+
}
|
|
28
|
+
export interface SourceSubscription {
|
|
29
|
+
readonly key: string;
|
|
30
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
31
|
+
}
|
|
32
|
+
export interface EventSourceDefinition<Create, Update, View> {
|
|
33
|
+
readonly kind: string;
|
|
34
|
+
readonly provider: string;
|
|
35
|
+
readonly maximumBodyBytes: number;
|
|
36
|
+
readonly expiresAt?: (source: SourceConfiguration) => number | undefined;
|
|
37
|
+
readonly applicationIngress?: boolean;
|
|
38
|
+
readonly initialize: (input: Create, accountId: string | undefined) => SourceConfiguration;
|
|
39
|
+
readonly verifyIdentity?: (source: SourceConfiguration, read: (config: Readonly<Record<string, JsonValue>>) => Promise<unknown>) => Promise<SourceConfiguration>;
|
|
40
|
+
readonly update: (source: SourceConfiguration, input: Update) => SourceConfiguration;
|
|
41
|
+
readonly view: (source: SourceConfiguration, now?: number) => View;
|
|
42
|
+
readonly ready: (source: SourceConfiguration, now?: number) => boolean;
|
|
43
|
+
readonly receive: (source: SourceConfiguration, bytes: Uint8Array, headers: Headers, now: number, execute?: (request: Extract<TriggerOperationRequest, {
|
|
44
|
+
operation: "sourceIdentity" | "sourceReceive";
|
|
45
|
+
}>) => Promise<unknown>) => Promise<{
|
|
46
|
+
readonly response: Response;
|
|
47
|
+
readonly state: SourceConfiguration["state"];
|
|
48
|
+
} | {
|
|
49
|
+
readonly event: SourceEvent;
|
|
50
|
+
readonly state?: SourceConfiguration["state"];
|
|
51
|
+
}>;
|
|
52
|
+
readonly matches: (config: Readonly<Record<string, JsonValue>>, event: SourceEvent) => boolean;
|
|
53
|
+
readonly resources: {
|
|
54
|
+
readonly managed?: boolean;
|
|
55
|
+
readonly triggerId: string;
|
|
56
|
+
readonly requests: (source: SourceConfiguration, provider: string, config: Readonly<Record<string, JsonValue>>, endpointUrl?: string) => readonly SourceSubscription[];
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export declare class SourceIdentityError extends PermanentIntegrationError {
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { JsonValue } from "../common/types.ts";
|
|
2
|
+
export interface FeishuSubscription {
|
|
3
|
+
readonly key: string;
|
|
4
|
+
readonly config: Readonly<Record<string, JsonValue>>;
|
|
5
|
+
}
|
|
6
|
+
export declare function feishuSubscriptions(config: Readonly<Record<string, JsonValue>>, provider: string): readonly FeishuSubscription[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { feishuResourceKind } from "../../providers/feishu_app_bot/trigger-config.js";
|
|
2
|
+
import { PermanentIntegrationError } from "../common/integration.js";
|
|
3
|
+
import { isJsonObject } from "../common/json.js";
|
|
4
|
+
export function feishuSubscriptions(config, provider) {
|
|
5
|
+
if (config.resource == null)
|
|
6
|
+
return [];
|
|
7
|
+
if (!isJsonObject(config.resource))
|
|
8
|
+
throw new PermanentIntegrationError("Invalid Feishu resource.");
|
|
9
|
+
const { kind, id, documentType } = config.resource;
|
|
10
|
+
if (typeof id != "string" || id.length == 0 || kind != feishuResourceKind(config.eventTypes))
|
|
11
|
+
throw new PermanentIntegrationError("Invalid resource subscription.");
|
|
12
|
+
if (kind == "document") {
|
|
13
|
+
if (typeof documentType != "string" ||
|
|
14
|
+
!["doc", "docx", "sheet", "bitable", "file", "folder", "slides"].includes(documentType))
|
|
15
|
+
throw new PermanentIntegrationError("A supported document type is required.");
|
|
16
|
+
return config.eventTypes.map((eventType) => ({
|
|
17
|
+
key: JSON.stringify(["document", documentType, id, eventType]),
|
|
18
|
+
config: { ...config, eventTypes: [eventType] },
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
if (kind == "calendar" || (kind == "approval" && provider == "feishu_app_bot"))
|
|
22
|
+
return [{ key: JSON.stringify([kind, id]), config }];
|
|
23
|
+
throw new PermanentIntegrationError("Unsupported Feishu resource subscription.");
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { JsonValue } from "../common/types.ts";
|
|
2
|
+
export interface FeishuEvent {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly appId: string;
|
|
6
|
+
readonly tenantKey: string;
|
|
7
|
+
readonly occurredAt: string | null;
|
|
8
|
+
readonly body: Readonly<Record<string, JsonValue>>;
|
|
9
|
+
}
|
|
10
|
+
export declare function receiveFeishuEvent(rawBody: Uint8Array, headers: Headers, source: {
|
|
11
|
+
readonly appId: string;
|
|
12
|
+
readonly verificationToken: string;
|
|
13
|
+
readonly encryptKey: string;
|
|
14
|
+
}, now: number): Promise<{
|
|
15
|
+
readonly challenge: string;
|
|
16
|
+
} | {
|
|
17
|
+
readonly event: FeishuEvent;
|
|
18
|
+
}>;
|
|
19
|
+
export declare function matchesFeishuEvent(config: Readonly<Record<string, JsonValue>>, event: Pick<FeishuEvent, "type" | "body">): boolean;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { isJsonObject } from "../common/json.js";
|
|
2
|
+
const encoder = new TextEncoder();
|
|
3
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
4
|
+
export async function receiveFeishuEvent(rawBody, headers, source, now) {
|
|
5
|
+
const envelope = JSON.parse(decoder.decode(rawBody));
|
|
6
|
+
if (!isJsonObject(envelope) ||
|
|
7
|
+
typeof envelope.encrypt != "string" ||
|
|
8
|
+
!/^[A-Za-z0-9+/]+={0,2}$/.test(envelope.encrypt)) {
|
|
9
|
+
throw new TypeError("An encrypted Feishu envelope is required.");
|
|
10
|
+
}
|
|
11
|
+
const bytes = Uint8Array.from(atob(envelope.encrypt), (character) => character.charCodeAt(0));
|
|
12
|
+
if (bytes.length < 32 || bytes.length % 16 != 0)
|
|
13
|
+
throw new TypeError("Invalid encrypted Feishu envelope.");
|
|
14
|
+
const key = await crypto.subtle.importKey("raw", await crypto.subtle.digest("SHA-256", encoder.encode(source.encryptKey)), "AES-CBC", false, ["decrypt"]);
|
|
15
|
+
const value = JSON.parse(decoder.decode(await crypto.subtle.decrypt({ name: "AES-CBC", iv: bytes.slice(0, 16) }, key, bytes.slice(16))));
|
|
16
|
+
if (!isJsonObject(value))
|
|
17
|
+
throw new TypeError("Invalid Feishu event.");
|
|
18
|
+
const header = isJsonObject(value.header) ? value.header : undefined;
|
|
19
|
+
if (!sameSecret(header?.token ?? value.token, source.verificationToken))
|
|
20
|
+
throw new TypeError("Invalid Feishu verification token.");
|
|
21
|
+
if (value.type == "url_verification") {
|
|
22
|
+
if (typeof value.challenge != "string" || value.challenge.length == 0 || value.challenge.length > 1024)
|
|
23
|
+
throw new TypeError("Invalid challenge.");
|
|
24
|
+
return { challenge: value.challenge };
|
|
25
|
+
}
|
|
26
|
+
const timestamp = headers.get("x-lark-request-timestamp") ?? "";
|
|
27
|
+
const nonce = headers.get("x-lark-request-nonce") ?? "";
|
|
28
|
+
const signature = headers.get("x-lark-signature") ?? "";
|
|
29
|
+
if (!/^\d{10}$/.test(timestamp) ||
|
|
30
|
+
Math.abs(now - Number(timestamp) * 1000) > 86_400_000 ||
|
|
31
|
+
nonce.length == 0 ||
|
|
32
|
+
nonce.length > 256) {
|
|
33
|
+
throw new TypeError("Invalid Feishu request identity.");
|
|
34
|
+
}
|
|
35
|
+
const prefix = encoder.encode(timestamp + nonce + source.encryptKey);
|
|
36
|
+
const signed = new Uint8Array(prefix.length + rawBody.length);
|
|
37
|
+
signed.set(prefix);
|
|
38
|
+
signed.set(rawBody, prefix.length);
|
|
39
|
+
const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", signed));
|
|
40
|
+
const hex = Array.from(digest, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
41
|
+
if (!sameSecret(signature, hex))
|
|
42
|
+
throw new TypeError("Invalid Feishu signature.");
|
|
43
|
+
const body = value.event;
|
|
44
|
+
if (!isJsonObject(body))
|
|
45
|
+
throw new TypeError("Missing Feishu event body.");
|
|
46
|
+
if (value.schema != null && value.schema != "2.0")
|
|
47
|
+
throw new TypeError("Unsupported Feishu event schema.");
|
|
48
|
+
const type = header?.event_type ?? body.type;
|
|
49
|
+
const appId = header?.app_id ?? body.app_id ?? value.app_id;
|
|
50
|
+
const tenantKey = header?.tenant_key ?? body.tenant_key ?? value.tenant_key;
|
|
51
|
+
let id = header?.event_id ?? value.uuid;
|
|
52
|
+
if (type == "im.message.receive_v1" && isJsonObject(body.message))
|
|
53
|
+
id = body.message.message_id;
|
|
54
|
+
if (typeof id != "string" ||
|
|
55
|
+
id.length == 0 ||
|
|
56
|
+
id.length > 256 ||
|
|
57
|
+
typeof type != "string" ||
|
|
58
|
+
!/^[a-z][a-z0-9_.]{0,127}$/.test(type)) {
|
|
59
|
+
throw new TypeError("Missing Feishu event identity.");
|
|
60
|
+
}
|
|
61
|
+
if (appId != source.appId)
|
|
62
|
+
throw new TypeError("Feishu event source does not match.");
|
|
63
|
+
if (typeof tenantKey != "string" || tenantKey.length == 0 || tenantKey.length > 256)
|
|
64
|
+
throw new TypeError("Invalid Feishu event tenant.");
|
|
65
|
+
if (type == "card.action.trigger" || type == "app_ticket")
|
|
66
|
+
throw new TypeError("This callback is not an asynchronous business event.");
|
|
67
|
+
const { token: _token, ...business } = body;
|
|
68
|
+
const occurredAt = header?.create_time ?? value.ts;
|
|
69
|
+
return {
|
|
70
|
+
event: {
|
|
71
|
+
id: `${type}:${id}`,
|
|
72
|
+
type,
|
|
73
|
+
appId: source.appId,
|
|
74
|
+
tenantKey,
|
|
75
|
+
occurredAt: typeof occurredAt == "string" ? occurredAt : null,
|
|
76
|
+
body: business,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function sameSecret(value, expected) {
|
|
81
|
+
if (typeof value != "string" || value.length != expected.length)
|
|
82
|
+
return false;
|
|
83
|
+
let difference = 0;
|
|
84
|
+
for (let index = 0; index < expected.length; index += 1)
|
|
85
|
+
difference |= value.charCodeAt(index) ^ expected.charCodeAt(index);
|
|
86
|
+
return difference == 0;
|
|
87
|
+
}
|
|
88
|
+
export function matchesFeishuEvent(config, event) {
|
|
89
|
+
if (!Array.isArray(config.eventTypes) || !config.eventTypes.includes(event.type))
|
|
90
|
+
return false;
|
|
91
|
+
const chatIds = config.chatIds;
|
|
92
|
+
if (Array.isArray(chatIds) && chatIds.length > 0) {
|
|
93
|
+
const chatId = isJsonObject(event.body.message) ? event.body.message.chat_id : event.body.chat_id;
|
|
94
|
+
if (typeof chatId != "string" || !chatIds.includes(chatId))
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
const resource = config.resource;
|
|
98
|
+
if (isJsonObject(resource)) {
|
|
99
|
+
const id = resource.kind == "document"
|
|
100
|
+
? event.body.file_token
|
|
101
|
+
: resource.kind == "calendar"
|
|
102
|
+
? event.body.calendar_id
|
|
103
|
+
: event.body.approval_code;
|
|
104
|
+
if (id != resource.id)
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateEventSource, EventSource, UpdateEventSource } from "./configuration.ts";
|
|
2
|
+
import type { EventSourceDefinition } from "./definition.ts";
|
|
3
|
+
export declare const feishuApplication: EventSourceDefinition<CreateEventSource, UpdateEventSource, Pick<EventSource, "appId" | "manageSubscriptions" | "verificationTokenConfigured" | "encryptKeyConfigured" | "verifiedAt">>;
|