@oomol-lab/open-connector 1.8.0 → 1.9.0
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 +15 -14
- package/assets/open-connector/catalog/apps/7_shifts.json +62 -31
- package/assets/open-connector/catalog/apps/a_leads.json +26 -13
- package/assets/open-connector/catalog/apps/ably_control.json +124 -62
- package/assets/open-connector/catalog/apps/abstract.json +16 -8
- package/assets/open-connector/catalog/apps/abuseipdb.json +28 -14
- package/assets/open-connector/catalog/apps/abyssale.json +76 -38
- package/assets/open-connector/catalog/apps/accredible_certificates.json +228 -114
- package/assets/open-connector/catalog/apps/accuweather.json +2 -1
- package/assets/open-connector/catalog/apps/active_trail.json +106 -53
- package/assets/open-connector/catalog/apps/activecampaign.json +110 -55
- package/assets/open-connector/catalog/apps/acuity_scheduling.json +210 -105
- package/assets/open-connector/catalog/apps/adafruit_io.json +108 -54
- package/assets/open-connector/catalog/apps/addressfinder.json +8 -4
- package/assets/open-connector/catalog/apps/addresszen.json +2 -1
- package/assets/open-connector/catalog/apps/adobe_commerce.json +74 -37
- package/assets/open-connector/catalog/apps/adyen.json +78 -39
- package/assets/open-connector/catalog/apps/adyntel.json +68 -34
- package/assets/open-connector/catalog/apps/aerisweather.json +6 -3
- package/assets/open-connector/catalog/apps/affinda.json +4 -2
- package/assets/open-connector/catalog/apps/affinity.json +124 -62
- package/assets/open-connector/catalog/apps/aftership.json +12 -6
- package/assets/open-connector/catalog/apps/agent_mail.json +8 -4
- package/assets/open-connector/catalog/apps/agentql.json +56 -28
- package/assets/open-connector/catalog/apps/agiled.json +340 -170
- package/assets/open-connector/catalog/apps/agora.json +64 -32
- package/assets/open-connector/catalog/apps/aimfox.json +22 -11
- package/assets/open-connector/catalog/apps/airbrake.json +76 -38
- package/assets/open-connector/catalog/apps/aircall.json +30 -15
- package/assets/open-connector/catalog/apps/airtable.json +4 -2
- package/assets/open-connector/catalog/apps/aisa.json +205 -0
- package/assets/open-connector/catalog/apps/alchemy.json +22 -11
- package/assets/open-connector/catalog/apps/algo_docs.json +6 -3
- package/assets/open-connector/catalog/apps/aliyun_oss.json +34 -17
- package/assets/open-connector/catalog/apps/aliyun_sls.json +26 -13
- package/assets/open-connector/catalog/apps/aliyun_sts.json +8 -4
- package/assets/open-connector/catalog/apps/alt_text_ai.json +114 -57
- package/assets/open-connector/catalog/apps/altiria.json +112 -56
- package/assets/open-connector/catalog/apps/altoviz.json +76 -38
- package/assets/open-connector/catalog/apps/amara.json +68 -34
- package/assets/open-connector/catalog/apps/amazing_marvin.json +615 -0
- package/assets/open-connector/catalog/apps/ambivo.json +188 -94
- package/assets/open-connector/catalog/apps/amilia.json +8 -4
- package/assets/open-connector/catalog/apps/amplemarket.json +230 -115
- package/assets/open-connector/catalog/apps/anchor_browser.json +8 -4
- package/assets/open-connector/catalog/apps/anrok.json +10 -5
- package/assets/open-connector/catalog/apps/anthropic.json +8 -4
- package/assets/open-connector/catalog/apps/anthropic_admin.json +32 -16
- package/assets/open-connector/catalog/apps/anymail_finder.json +40 -20
- package/assets/open-connector/catalog/apps/api2pdf.json +14 -7
- package/assets/open-connector/catalog/apps/api_route.json +203 -0
- package/assets/open-connector/catalog/apps/api_sports.json +220 -110
- package/assets/open-connector/catalog/apps/api_void.json +10 -5
- package/assets/open-connector/catalog/apps/apiframe.json +26 -13
- package/assets/open-connector/catalog/apps/apipie_ai.json +4 -2
- package/assets/open-connector/catalog/apps/apiverve.json +82 -41
- package/assets/open-connector/catalog/apps/app_store_connect.json +7516 -3758
- package/assets/open-connector/catalog/apps/app_store_server.json +126 -63
- package/assets/open-connector/catalog/apps/appcircle.json +24 -12
- package/assets/open-connector/catalog/apps/appcues.json +4 -2
- package/assets/open-connector/catalog/apps/apple_ads.json +6626 -3313
- package/assets/open-connector/catalog/apps/apple_notary.json +12 -6
- package/assets/open-connector/catalog/apps/appledb.json +4 -2
- package/assets/open-connector/catalog/apps/appstle_subscriptions.json +2 -1
- package/assets/open-connector/catalog/apps/aroflo.json +24 -12
- package/assets/open-connector/catalog/apps/arxiv.json +98 -49
- package/assets/open-connector/catalog/apps/asana.json +1016 -508
- package/assets/open-connector/catalog/apps/ashby.json +12 -6
- package/assets/open-connector/catalog/apps/assemblyai.json +142 -71
- package/assets/open-connector/catalog/apps/assured_platform.json +4 -2
- package/assets/open-connector/catalog/apps/atlas_so.json +250 -125
- package/assets/open-connector/catalog/apps/attio.json +22 -11
- package/assets/open-connector/catalog/apps/autobound.json +30 -15
- package/assets/open-connector/catalog/apps/autom.json +14 -7
- package/assets/open-connector/catalog/apps/autotask.json +10 -5
- package/assets/open-connector/catalog/apps/aviationstack.json +60 -30
- package/assets/open-connector/catalog/apps/avochato.json +36 -18
- package/assets/open-connector/catalog/apps/avoma.json +8 -4
- package/assets/open-connector/catalog/apps/aws_s3.json +40 -20
- package/assets/open-connector/catalog/apps/aws_sts.json +12 -6
- package/assets/open-connector/catalog/apps/ayrshare.json +18 -9
- package/assets/open-connector/catalog/apps/baidu_netdisk.json +84 -42
- package/assets/open-connector/catalog/apps/balldontlie_worldcup.json +38 -19
- package/assets/open-connector/catalog/apps/bamboohr.json +8 -4
- package/assets/open-connector/catalog/apps/bannerbear.json +28 -14
- package/assets/open-connector/catalog/apps/baremetrics.json +20 -10
- package/assets/open-connector/catalog/apps/baserow.json +4 -2
- package/assets/open-connector/catalog/apps/bazhuayu.json +14 -7
- package/assets/open-connector/catalog/apps/beaconchain.json +12 -6
- package/assets/open-connector/catalog/apps/beehiiv.json +62 -31
- package/assets/open-connector/catalog/apps/beeminder.json +126 -63
- package/assets/open-connector/catalog/apps/better_proposals.json +96 -48
- package/assets/open-connector/catalog/apps/better_stack.json +220 -110
- package/assets/open-connector/catalog/apps/bettercontact.json +36 -18
- package/assets/open-connector/catalog/apps/bidsketch.json +6 -3
- package/assets/open-connector/catalog/apps/big_commerce.json +58 -29
- package/assets/open-connector/catalog/apps/bigmailer.json +124 -62
- package/assets/open-connector/catalog/apps/bigml.json +106 -53
- package/assets/open-connector/catalog/apps/bigpicture_io.json +84 -42
- package/assets/open-connector/catalog/apps/biorxiv_medrxiv.json +6 -3
- package/assets/open-connector/catalog/apps/bird.json +6 -3
- package/assets/open-connector/catalog/apps/bitbucket.json +164 -82
- package/assets/open-connector/catalog/apps/bitwarden.json +88 -44
- package/assets/open-connector/catalog/apps/bland_ai.json +122 -61
- package/assets/open-connector/catalog/apps/blaze_meter_functional.json +54 -27
- package/assets/open-connector/catalog/apps/blaze_meter_performance.json +108 -54
- package/assets/open-connector/catalog/apps/blaze_meter_service_virtualization.json +54 -27
- package/assets/open-connector/catalog/apps/bluesky.json +10 -5
- package/assets/open-connector/catalog/apps/boldsign.json +54 -27
- package/assets/open-connector/catalog/apps/bolna.json +8 -4
- package/assets/open-connector/catalog/apps/bot_star.json +4 -2
- package/assets/open-connector/catalog/apps/botpress.json +2 -1
- package/assets/open-connector/catalog/apps/box.json +192 -96
- package/assets/open-connector/catalog/apps/boxhero.json +10 -5
- package/assets/open-connector/catalog/apps/brandfetch.json +12 -6
- package/assets/open-connector/catalog/apps/brave_search.json +32 -16
- package/assets/open-connector/catalog/apps/braze.json +12 -6
- package/assets/open-connector/catalog/apps/breezy_hr.json +20 -10
- package/assets/open-connector/catalog/apps/brex.json +160 -80
- package/assets/open-connector/catalog/apps/bright_data.json +4 -2
- package/assets/open-connector/catalog/apps/browse_ai.json +108 -54
- package/assets/open-connector/catalog/apps/browser_use.json +102 -51
- package/assets/open-connector/catalog/apps/browserstack.json +14 -7
- package/assets/open-connector/catalog/apps/bug_herd.json +4 -2
- package/assets/open-connector/catalog/apps/bugbug.json +42 -21
- package/assets/open-connector/catalog/apps/bugsnag.json +20 -10
- package/assets/open-connector/catalog/apps/builder_io.json +24 -12
- package/assets/open-connector/catalog/apps/buildkite.json +32 -16
- package/assets/open-connector/catalog/apps/businessmap.json +40 -20
- package/assets/open-connector/catalog/apps/buttondown.json +154 -77
- package/assets/open-connector/catalog/apps/buzzsprout.json +222 -111
- package/assets/open-connector/catalog/apps/byteforms.json +14 -7
- package/assets/open-connector/catalog/apps/cal.json +38 -19
- package/assets/open-connector/catalog/apps/calendarific.json +24 -12
- package/assets/open-connector/catalog/apps/calendly.json +88 -44
- package/assets/open-connector/catalog/apps/callingly.json +594 -297
- package/assets/open-connector/catalog/apps/callpage.json +30 -15
- package/assets/open-connector/catalog/apps/callrail.json +156 -78
- package/assets/open-connector/catalog/apps/canny.json +2 -1
- package/assets/open-connector/catalog/apps/canva.json +222 -111
- package/assets/open-connector/catalog/apps/canva_cn.json +222 -111
- package/assets/open-connector/catalog/apps/captainbi.json +54 -27
- package/assets/open-connector/catalog/apps/carbone.json +38 -19
- package/assets/open-connector/catalog/apps/cardly.json +42 -21
- package/assets/open-connector/catalog/apps/castingwords.json +2 -1
- package/assets/open-connector/catalog/apps/census_bureau.json +54 -27
- package/assets/open-connector/catalog/apps/central_station_crm.json +418 -209
- package/assets/open-connector/catalog/apps/certifier.json +20 -10
- package/assets/open-connector/catalog/apps/certn.json +62 -31
- package/assets/open-connector/catalog/apps/chargebee.json +8 -4
- package/assets/open-connector/catalog/apps/chargeblast.json +66 -33
- package/assets/open-connector/catalog/apps/chargify.json +80 -40
- package/assets/open-connector/catalog/apps/chartmogul.json +114 -57
- package/assets/open-connector/catalog/apps/chaserhq.json +18 -9
- package/assets/open-connector/catalog/apps/chat_api_for_whatsapp.json +10 -5
- package/assets/open-connector/catalog/apps/chatarmin.json +10 -5
- package/assets/open-connector/catalog/apps/cheaperinference.json +346 -0
- package/assets/open-connector/catalog/apps/check.json +4 -2
- package/assets/open-connector/catalog/apps/chengxin.json +880 -440
- package/assets/open-connector/catalog/apps/chorus.json +2 -1
- package/assets/open-connector/catalog/apps/cin7_core.json +8 -4
- package/assets/open-connector/catalog/apps/circle.json +176 -88
- package/assets/open-connector/catalog/apps/circleci.json +14 -7
- package/assets/open-connector/catalog/apps/cisco_meraki.json +10 -5
- package/assets/open-connector/catalog/apps/claid_ai.json +88 -44
- package/assets/open-connector/catalog/apps/clari_copilot.json +4 -2
- package/assets/open-connector/catalog/apps/classmarker.json +320 -160
- package/assets/open-connector/catalog/apps/clay.json +1204 -0
- package/assets/open-connector/catalog/apps/clearout.json +18 -9
- package/assets/open-connector/catalog/apps/clerk.json +540 -270
- package/assets/open-connector/catalog/apps/clickhelp.json +88 -44
- package/assets/open-connector/catalog/apps/clickhouse.json +58 -29
- package/assets/open-connector/catalog/apps/clickmeeting.json +254 -127
- package/assets/open-connector/catalog/apps/clickup.json +738 -369
- package/assets/open-connector/catalog/apps/clinicaltrials_gov.json +134 -67
- package/assets/open-connector/catalog/apps/clockify.json +12 -6
- package/assets/open-connector/catalog/apps/cloudconvert.json +8 -4
- package/assets/open-connector/catalog/apps/cloudflare_dns.json +16 -8
- package/assets/open-connector/catalog/apps/cloudflare_email_routing.json +2 -1
- package/assets/open-connector/catalog/apps/cloudflare_r2.json +18 -9
- package/assets/open-connector/catalog/apps/cloudflare_worker.json +46 -23
- package/assets/open-connector/catalog/apps/cloudinary.json +2 -1
- package/assets/open-connector/catalog/apps/cockroach_labs.json +10 -5
- package/assets/open-connector/catalog/apps/coda.json +22 -11
- package/assets/open-connector/catalog/apps/codacy.json +8 -4
- package/assets/open-connector/catalog/apps/codegen.json +76 -38
- package/assets/open-connector/catalog/apps/codemagic.json +50 -25
- package/assets/open-connector/catalog/apps/coderabbit.json +50 -25
- package/assets/open-connector/catalog/apps/coderpad.json +26 -13
- package/assets/open-connector/catalog/apps/coingecko.json +132 -66
- package/assets/open-connector/catalog/apps/coinmarketcal.json +10 -5
- package/assets/open-connector/catalog/apps/coinmarketcap.json +118 -59
- package/assets/open-connector/catalog/apps/college_football_data.json +6 -3
- package/assets/open-connector/catalog/apps/commonninja.json +1060 -0
- package/assets/open-connector/catalog/apps/commpeak.json +142 -71
- package/assets/open-connector/catalog/apps/companycam.json +464 -232
- package/assets/open-connector/catalog/apps/companyenrich.json +2 -1
- package/assets/open-connector/catalog/apps/conductor.json +34 -17
- package/assets/open-connector/catalog/apps/configcat.json +36 -18
- package/assets/open-connector/catalog/apps/confluence.json +24 -12
- package/assets/open-connector/catalog/apps/confluent.json +36 -18
- package/assets/open-connector/catalog/apps/consensus.json +16 -8
- package/assets/open-connector/catalog/apps/contentful_graphql.json +2 -1
- package/assets/open-connector/catalog/apps/contentstack_content_delivery.json +6 -3
- package/assets/open-connector/catalog/apps/contentstack_content_management.json +4 -2
- package/assets/open-connector/catalog/apps/convertapi.json +2 -1
- package/assets/open-connector/catalog/apps/convex.json +44 -22
- package/assets/open-connector/catalog/apps/coolify.json +8 -4
- package/assets/open-connector/catalog/apps/coupang.json +8 -4
- package/assets/open-connector/catalog/apps/courier.json +20 -10
- package/assets/open-connector/catalog/apps/craftmypdf.json +6 -3
- package/assets/open-connector/catalog/apps/cratedb_cloud.json +98 -49
- package/assets/open-connector/catalog/apps/credit_repair_cloud.json +48 -24
- package/assets/open-connector/catalog/apps/crisp.json +14 -7
- package/assets/open-connector/catalog/apps/cronlytic.json +804 -0
- package/assets/open-connector/catalog/apps/crossref.json +214 -107
- package/assets/open-connector/catalog/apps/crowdin.json +48 -24
- package/assets/open-connector/catalog/apps/crustdata.json +4 -2
- package/assets/open-connector/catalog/apps/cursor.json +10 -5
- package/assets/open-connector/catalog/apps/customgpt.json +56 -28
- package/assets/open-connector/catalog/apps/daffy.json +24 -12
- package/assets/open-connector/catalog/apps/dart.json +230 -115
- package/assets/open-connector/catalog/apps/databar_ai.json +4 -2
- package/assets/open-connector/catalog/apps/datadog.json +70 -35
- package/assets/open-connector/catalog/apps/dataforseo.json +160 -80
- package/assets/open-connector/catalog/apps/datalust.json +98 -49
- package/assets/open-connector/catalog/apps/daytona.json +2 -1
- package/assets/open-connector/catalog/apps/dealmachine.json +2 -1
- package/assets/open-connector/catalog/apps/deck_co.json +18 -9
- package/assets/open-connector/catalog/apps/deepgram.json +208 -104
- package/assets/open-connector/catalog/apps/deepseek.json +2 -1
- package/assets/open-connector/catalog/apps/delighted.json +26 -13
- package/assets/open-connector/catalog/apps/demio.json +10 -5
- package/assets/open-connector/catalog/apps/demodesk.json +74 -37
- package/assets/open-connector/catalog/apps/descript.json +4 -2
- package/assets/open-connector/catalog/apps/desktime.json +20 -10
- package/assets/open-connector/catalog/apps/detect_language.json +2 -1
- package/assets/open-connector/catalog/apps/detrack.json +130 -65
- package/assets/open-connector/catalog/apps/deutschlandgpt.json +2 -1
- package/assets/open-connector/catalog/apps/devin.json +48 -24
- package/assets/open-connector/catalog/apps/devto.json +16 -8
- package/assets/open-connector/catalog/apps/dialpad_wfm.json +6 -3
- package/assets/open-connector/catalog/apps/diffbot.json +4 -2
- package/assets/open-connector/catalog/apps/diffy.json +2 -1
- package/assets/open-connector/catalog/apps/digistore24.json +208 -104
- package/assets/open-connector/catalog/apps/discolike.json +12 -6
- package/assets/open-connector/catalog/apps/discord.json +8 -4
- package/assets/open-connector/catalog/apps/discordbot.json +98 -49
- package/assets/open-connector/catalog/apps/discourse.json +266 -133
- package/assets/open-connector/catalog/apps/dns_filter.json +60 -30
- package/assets/open-connector/catalog/apps/docker_hub.json +314 -157
- package/assets/open-connector/catalog/apps/docmosis.json +120 -60
- package/assets/open-connector/catalog/apps/docparser.json +54 -27
- package/assets/open-connector/catalog/apps/docraptor.json +4 -2
- package/assets/open-connector/catalog/apps/docsautomator.json +118 -59
- package/assets/open-connector/catalog/apps/docsbot_ai.json +86 -43
- package/assets/open-connector/catalog/apps/docsumo.json +124 -62
- package/assets/open-connector/catalog/apps/documenso.json +32 -16
- package/assets/open-connector/catalog/apps/document360.json +282 -141
- package/assets/open-connector/catalog/apps/docuseal.json +48 -24
- package/assets/open-connector/catalog/apps/doppler_marketing_automation.json +110 -55
- package/assets/open-connector/catalog/apps/dovetail.json +4 -2
- package/assets/open-connector/catalog/apps/drata.json +22 -11
- package/assets/open-connector/catalog/apps/drimify.json +160 -80
- package/assets/open-connector/catalog/apps/dropbox.json +540 -270
- package/assets/open-connector/catalog/apps/dropbox_sign.json +96 -48
- package/assets/open-connector/catalog/apps/dropcontact.json +8 -4
- package/assets/open-connector/catalog/apps/dub.json +202 -101
- package/assets/open-connector/catalog/apps/dynalist.json +880 -0
- package/assets/open-connector/catalog/apps/dynapictures.json +12 -6
- package/assets/open-connector/catalog/apps/dynatrace.json +34 -17
- package/assets/open-connector/catalog/apps/e2b.json +20 -10
- package/assets/open-connector/catalog/apps/eagle_doc.json +64 -32
- package/assets/open-connector/catalog/apps/easy_peasy_ai.json +361 -0
- package/assets/open-connector/catalog/apps/echotik.json +32 -16
- package/assets/open-connector/catalog/apps/edenai.json +8 -4
- package/assets/open-connector/catalog/apps/edgeone_makers.json +935 -0
- package/assets/open-connector/catalog/apps/elasticemail.json +40 -20
- package/assets/open-connector/catalog/apps/elasticsearch.json +164 -82
- package/assets/open-connector/catalog/apps/elevenlabs.json +24 -12
- package/assets/open-connector/catalog/apps/elevio.json +12 -6
- package/assets/open-connector/catalog/apps/elorus.json +12 -6
- package/assets/open-connector/catalog/apps/emaillistverify.json +12 -6
- package/assets/open-connector/catalog/apps/emailoctopus.json +12 -6
- package/assets/open-connector/catalog/apps/embase.json +14 -7
- package/assets/open-connector/catalog/apps/encodian.json +30 -15
- package/assets/open-connector/catalog/apps/energy_performance_certificates.json +6 -3
- package/assets/open-connector/catalog/apps/enigma.json +2 -1
- package/assets/open-connector/catalog/apps/envoy.json +44 -22
- package/assets/open-connector/catalog/apps/eodhd_apis.json +142 -71
- package/assets/open-connector/catalog/apps/eraser.json +10 -5
- package/assets/open-connector/catalog/apps/esa.json +44 -22
- package/assets/open-connector/catalog/apps/esignatures_io.json +86 -43
- package/assets/open-connector/catalog/apps/espocrm.json +12 -6
- package/assets/open-connector/catalog/apps/europe_pmc.json +344 -172
- package/assets/open-connector/catalog/apps/eventzilla.json +154 -77
- package/assets/open-connector/catalog/apps/eversign.json +126 -63
- package/assets/open-connector/catalog/apps/exa.json +18 -9
- package/assets/open-connector/catalog/apps/excel.json +12 -6
- package/assets/open-connector/catalog/apps/exhibitday.json +6 -3
- package/assets/open-connector/catalog/apps/explorium.json +498 -0
- package/assets/open-connector/catalog/apps/expofp.json +2 -1
- package/assets/open-connector/catalog/apps/fairing.json +22 -11
- package/assets/open-connector/catalog/apps/faktoora.json +100 -50
- package/assets/open-connector/catalog/apps/fal_ai.json +14 -7
- package/assets/open-connector/catalog/apps/favro.json +12 -6
- package/assets/open-connector/catalog/apps/featurebase.json +10 -5
- package/assets/open-connector/catalog/apps/feedier.json +40 -20
- package/assets/open-connector/catalog/apps/feishu.json +398 -226
- package/assets/open-connector/catalog/apps/feishu_app_bot.json +298 -73
- package/assets/open-connector/catalog/apps/fellow.json +48 -24
- package/assets/open-connector/catalog/apps/felt.json +2 -1
- package/assets/open-connector/catalog/apps/fengshui.json +2424 -0
- package/assets/open-connector/catalog/apps/fern.json +4 -2
- package/assets/open-connector/catalog/apps/ffhub.json +36 -18
- package/assets/open-connector/catalog/apps/fiber_ai.json +6 -3
- package/assets/open-connector/catalog/apps/fidel_api.json +258 -129
- package/assets/open-connector/catalog/apps/figma.json +4 -2
- package/assets/open-connector/catalog/apps/fillout.json +2 -1
- package/assets/open-connector/catalog/apps/findymail.json +2 -1
- package/assets/open-connector/catalog/apps/finlight.json +551 -0
- package/assets/open-connector/catalog/apps/firecrawl.json +18 -4
- package/assets/open-connector/catalog/apps/fireflies.json +2 -1
- package/assets/open-connector/catalog/apps/firehydrant.json +276 -138
- package/assets/open-connector/catalog/apps/firstbase.json +8 -4
- package/assets/open-connector/catalog/apps/fivetran.json +6 -3
- package/assets/open-connector/catalog/apps/float.json +108 -54
- package/assets/open-connector/catalog/apps/flomo.json +58 -29
- package/assets/open-connector/catalog/apps/flotiq.json +379 -0
- package/assets/open-connector/catalog/apps/flowiseai.json +20 -10
- package/assets/open-connector/catalog/apps/fluxguard.json +42 -21
- package/assets/open-connector/catalog/apps/folk.json +144 -72
- package/assets/open-connector/catalog/apps/fomo.json +138 -69
- package/assets/open-connector/catalog/apps/forem.json +190 -95
- package/assets/open-connector/catalog/apps/formaloo.json +8 -4
- package/assets/open-connector/catalog/apps/formbricks.json +44 -22
- package/assets/open-connector/catalog/apps/formcarry.json +4 -2
- package/assets/open-connector/catalog/apps/formspree.json +16 -8
- package/assets/open-connector/catalog/apps/formstack.json +52 -26
- package/assets/open-connector/catalog/apps/framejet.json +2 -1
- package/assets/open-connector/catalog/apps/fraudlabspro.json +16 -8
- package/assets/open-connector/catalog/apps/freeastroapi.json +2986 -0
- package/assets/open-connector/catalog/apps/freepik.json +4 -2
- package/assets/open-connector/catalog/apps/freshdesk.json +2 -1
- package/assets/open-connector/catalog/apps/freshsales.json +2 -1
- package/assets/open-connector/catalog/apps/freshservice.json +6 -3
- package/assets/open-connector/catalog/apps/freshstatus.json +14 -7
- package/assets/open-connector/catalog/apps/freshteam.json +56 -28
- package/assets/open-connector/catalog/apps/front.json +22 -11
- package/assets/open-connector/catalog/apps/full_contact.json +100 -50
- package/assets/open-connector/catalog/apps/fullenrich.json +4 -2
- package/assets/open-connector/catalog/apps/fundzwatch.json +2 -1
- package/assets/open-connector/catalog/apps/fusion-api.json +8 -8
- package/assets/open-connector/catalog/apps/futunn.json +36 -18
- package/assets/open-connector/catalog/apps/fuxin.json +76 -38
- package/assets/open-connector/catalog/apps/fxmacrodata.json +672 -0
- package/assets/open-connector/catalog/apps/gagelist.json +114 -57
- package/assets/open-connector/catalog/apps/gainsight_nxt.json +14 -7
- package/assets/open-connector/catalog/apps/gamma.json +52 -26
- package/assets/open-connector/catalog/apps/gangtise.json +120 -60
- package/assets/open-connector/catalog/apps/gatherup.json +6 -3
- package/assets/open-connector/catalog/apps/geckoboard.json +2 -1
- package/assets/open-connector/catalog/apps/gem.json +24 -12
- package/assets/open-connector/catalog/apps/gender_api.json +8 -4
- package/assets/open-connector/catalog/apps/genderize.json +4 -2
- package/assets/open-connector/catalog/apps/generic_imap.json +74 -37
- package/assets/open-connector/catalog/apps/geoapify.json +2 -1
- package/assets/open-connector/catalog/apps/getnote.json +112 -56
- package/assets/open-connector/catalog/apps/getprospect.json +40 -20
- package/assets/open-connector/catalog/apps/getresponse.json +176 -88
- package/assets/open-connector/catalog/apps/getyoutubetranscript.json +415 -0
- package/assets/open-connector/catalog/apps/ghost.json +18 -9
- package/assets/open-connector/catalog/apps/gift_up.json +438 -219
- package/assets/open-connector/catalog/apps/giphy.json +96 -48
- package/assets/open-connector/catalog/apps/gist.json +52 -26
- package/assets/open-connector/catalog/apps/gitea.json +364 -182
- package/assets/open-connector/catalog/apps/gitee.json +30 -15
- package/assets/open-connector/catalog/apps/github.json +2 -1
- package/assets/open-connector/catalog/apps/gitlab.json +158 -79
- package/assets/open-connector/catalog/apps/gladia.json +4 -2
- package/assets/open-connector/catalog/apps/gleap.json +4 -2
- package/assets/open-connector/catalog/apps/glyphic.json +88 -44
- package/assets/open-connector/catalog/apps/gmail.json +1856 -214
- package/assets/open-connector/catalog/apps/goody.json +4 -2
- package/assets/open-connector/catalog/apps/google_analytics.json +552 -276
- package/assets/open-connector/catalog/apps/google_bigquery.json +10 -5
- package/assets/open-connector/catalog/apps/google_search_console.json +46 -23
- package/assets/open-connector/catalog/apps/googleads.json +20 -18
- package/assets/open-connector/catalog/apps/googlecalendar.json +6 -0
- package/assets/open-connector/catalog/apps/googlechat.json +36 -18
- package/assets/open-connector/catalog/apps/googledocs.json +45 -22
- package/assets/open-connector/catalog/apps/googledrive.json +1 -0
- package/assets/open-connector/catalog/apps/googleforms.json +2 -1
- package/assets/open-connector/catalog/apps/googlemeet.json +14 -7
- package/assets/open-connector/catalog/apps/googlephotos.json +120 -60
- package/assets/open-connector/catalog/apps/googlesheets.json +51 -25
- package/assets/open-connector/catalog/apps/googleslides.json +1 -0
- package/assets/open-connector/catalog/apps/googletasks.json +240 -120
- package/assets/open-connector/catalog/apps/govee.json +2 -1
- package/assets/open-connector/catalog/apps/gptzero.json +42 -21
- package/assets/open-connector/catalog/apps/grafana.json +154 -77
- package/assets/open-connector/catalog/apps/grafana_cloud.json +50 -25
- package/assets/open-connector/catalog/apps/granola.json +42 -21
- package/assets/open-connector/catalog/apps/graphhopper.json +6 -3
- package/assets/open-connector/catalog/apps/greenhouse.json +54 -27
- package/assets/open-connector/catalog/apps/greip.json +405 -0
- package/assets/open-connector/catalog/apps/greynoise.json +118 -0
- package/assets/open-connector/catalog/apps/griptape.json +8 -4
- package/assets/open-connector/catalog/apps/grist.json +24 -12
- package/assets/open-connector/catalog/apps/groqcloud.json +4 -2
- package/assets/open-connector/catalog/apps/growsurf.json +943 -0
- package/assets/open-connector/catalog/apps/gtmetrix.json +12 -6
- package/assets/open-connector/catalog/apps/gumloop.json +2 -1
- package/assets/open-connector/catalog/apps/gumroad.json +8 -4
- package/assets/open-connector/catalog/apps/habitica.json +156 -78
- package/assets/open-connector/catalog/apps/hackernews.json +6 -3
- package/assets/open-connector/catalog/apps/hackerrank_work.json +12 -6
- package/assets/open-connector/catalog/apps/hamsa.json +4 -2
- package/assets/open-connector/catalog/apps/handelsregister_ai.json +4 -2
- package/assets/open-connector/catalog/apps/happy_scribe.json +58 -29
- package/assets/open-connector/catalog/apps/harmonic_ai.json +4 -2
- package/assets/open-connector/catalog/apps/harvest.json +178 -89
- package/assets/open-connector/catalog/apps/hashnode.json +160 -80
- package/assets/open-connector/catalog/apps/haveibeenpwned.json +14 -7
- package/assets/open-connector/catalog/apps/headout.json +190 -95
- package/assets/open-connector/catalog/apps/healthchecks_io.json +2 -1
- package/assets/open-connector/catalog/apps/heartbeat.json +12 -6
- package/assets/open-connector/catalog/apps/helloleads.json +20 -10
- package/assets/open-connector/catalog/apps/helpdesk.json +18 -9
- package/assets/open-connector/catalog/apps/helpscout.json +36 -18
- package/assets/open-connector/catalog/apps/helpscout_docs.json +30 -15
- package/assets/open-connector/catalog/apps/hex.json +18 -9
- package/assets/open-connector/catalog/apps/heygen.json +30 -15
- package/assets/open-connector/catalog/apps/heyreach.json +8 -4
- package/assets/open-connector/catalog/apps/heyy.json +30 -15
- package/assets/open-connector/catalog/apps/heyzine.json +42 -21
- package/assets/open-connector/catalog/apps/higgsfield_ai.json +24 -12
- package/assets/open-connector/catalog/apps/highergov.json +32 -16
- package/assets/open-connector/catalog/apps/hithink_finance.json +86 -43
- package/assets/open-connector/catalog/apps/holded.json +70 -35
- package/assets/open-connector/catalog/apps/home_assistant.json +44 -22
- package/assets/open-connector/catalog/apps/homebox.json +4 -2
- package/assets/open-connector/catalog/apps/honeycomb.json +76 -38
- package/assets/open-connector/catalog/apps/honeyhive.json +4 -2
- package/assets/open-connector/catalog/apps/hookdeck.json +208 -104
- package/assets/open-connector/catalog/apps/hotjar.json +22 -11
- package/assets/open-connector/catalog/apps/hotspotsystem.json +222 -111
- package/assets/open-connector/catalog/apps/httpsms.json +6 -3
- package/assets/open-connector/catalog/apps/hub_planner.json +18 -9
- package/assets/open-connector/catalog/apps/hubspot.json +8 -4
- package/assets/open-connector/catalog/apps/huggingface.json +4 -2
- package/assets/open-connector/catalog/apps/humanitix.json +2 -1
- package/assets/open-connector/catalog/apps/huodingdong_mcp.json +140 -0
- package/assets/open-connector/catalog/apps/hybrid_analysis.json +4 -2
- package/assets/open-connector/catalog/apps/hyperbrowser.json +6 -3
- package/assets/open-connector/catalog/apps/icypeas.json +30 -15
- package/assets/open-connector/catalog/apps/ima.json +144 -72
- package/assets/open-connector/catalog/apps/imgbb.json +4 -2
- package/assets/open-connector/catalog/apps/imgix.json +18 -9
- package/assets/open-connector/catalog/apps/incident_io.json +78 -39
- package/assets/open-connector/catalog/apps/indeed.json +4 -2
- package/assets/open-connector/catalog/apps/indexed.json +74 -37
- package/assets/open-connector/catalog/apps/indiegogo.json +4 -2
- package/assets/open-connector/catalog/apps/influxdb_cloud.json +2 -1
- package/assets/open-connector/catalog/apps/insites.json +4 -2
- package/assets/open-connector/catalog/apps/instabot.json +28 -14
- package/assets/open-connector/catalog/apps/instantly_ai.json +96 -48
- package/assets/open-connector/catalog/apps/instatus.json +92 -46
- package/assets/open-connector/catalog/apps/intercom.json +92 -46
- package/assets/open-connector/catalog/apps/interzoid.json +70 -35
- package/assets/open-connector/catalog/apps/intrinio.json +4 -2
- package/assets/open-connector/catalog/apps/invoice_ninja.json +134 -67
- package/assets/open-connector/catalog/apps/ipgeolocation_io.json +108 -54
- package/assets/open-connector/catalog/apps/ipqualityscore.json +78 -39
- package/assets/open-connector/catalog/apps/issue_badge.json +468 -0
- package/assets/open-connector/catalog/apps/ixspy.json +116 -58
- package/assets/open-connector/catalog/apps/jamie.json +38 -19
- package/assets/open-connector/catalog/apps/jibble.json +12 -6
- package/assets/open-connector/catalog/apps/jigsawstack.json +40 -20
- package/assets/open-connector/catalog/apps/jiminny.json +6 -3
- package/assets/open-connector/catalog/apps/jin10.json +22 -11
- package/assets/open-connector/catalog/apps/jira.json +6 -3
- package/assets/open-connector/catalog/apps/jumpcloud.json +4 -2
- package/assets/open-connector/catalog/apps/jumpserver.json +24 -12
- package/assets/open-connector/catalog/apps/junglescout.json +124 -62
- package/assets/open-connector/catalog/apps/juniper_mist.json +54 -27
- package/assets/open-connector/catalog/apps/justoneapi.json +22966 -0
- package/assets/open-connector/catalog/apps/kadoa.json +4 -2
- package/assets/open-connector/catalog/apps/kagi.json +120 -0
- package/assets/open-connector/catalog/apps/kandji.json +42 -21
- package/assets/open-connector/catalog/apps/karakeep.json +626 -313
- package/assets/open-connector/catalog/apps/keepa.json +354 -177
- package/assets/open-connector/catalog/apps/kenjo.json +669 -0
- package/assets/open-connector/catalog/apps/kernel.json +42 -21
- package/assets/open-connector/catalog/apps/keyword.json +10 -5
- package/assets/open-connector/catalog/apps/keyzy.json +352 -0
- package/assets/open-connector/catalog/apps/kickofflabs.json +171 -0
- package/assets/open-connector/catalog/apps/kintone.json +54 -27
- package/assets/open-connector/catalog/apps/kit.json +392 -196
- package/assets/open-connector/catalog/apps/klangio.json +2 -1
- package/assets/open-connector/catalog/apps/klaviyo.json +18 -9
- package/assets/open-connector/catalog/apps/klazify.json +300 -150
- package/assets/open-connector/catalog/apps/knack.json +8 -4
- package/assets/open-connector/catalog/apps/knock.json +30 -15
- package/assets/open-connector/catalog/apps/knowbe4.json +78 -39
- package/assets/open-connector/catalog/apps/kobotoolbox.json +30 -15
- package/assets/open-connector/catalog/apps/komari.json +6 -3
- package/assets/open-connector/catalog/apps/kommo.json +304 -152
- package/assets/open-connector/catalog/apps/kontent_ai.json +62 -31
- package/assets/open-connector/catalog/apps/krispcall.json +138 -69
- package/assets/open-connector/catalog/apps/kuaidi100.json +10 -5
- package/assets/open-connector/catalog/apps/kuaimai.json +24 -12
- package/assets/open-connector/catalog/apps/kustomer.json +112 -56
- package/assets/open-connector/catalog/apps/la_growth_machine.json +2 -1
- package/assets/open-connector/catalog/apps/label_studio.json +30 -15
- package/assets/open-connector/catalog/apps/landbot.json +2 -1
- package/assets/open-connector/catalog/apps/langsmith.json +126 -63
- package/assets/open-connector/catalog/apps/laravel_cloud.json +172 -86
- package/assets/open-connector/catalog/apps/latchshot.json +6 -3
- package/assets/open-connector/catalog/apps/lattice.json +8 -4
- package/assets/open-connector/catalog/apps/launch_darkly.json +124 -62
- package/assets/open-connector/catalog/apps/leadiq.json +26 -13
- package/assets/open-connector/catalog/apps/leadmagic.json +104 -52
- package/assets/open-connector/catalog/apps/leexi.json +216 -108
- package/assets/open-connector/catalog/apps/leiga.json +58 -29
- package/assets/open-connector/catalog/apps/leonardo_ai.json +12 -6
- package/assets/open-connector/catalog/apps/lessonspace.json +24 -12
- package/assets/open-connector/catalog/apps/lever.json +6 -3
- package/assets/open-connector/catalog/apps/lexoffice.json +8 -4
- package/assets/open-connector/catalog/apps/lifx.json +8 -4
- package/assets/open-connector/catalog/apps/lightfield.json +48 -24
- package/assets/open-connector/catalog/apps/linear.json +38 -19
- package/assets/open-connector/catalog/apps/linear_mcp.json +6 -3
- package/assets/open-connector/catalog/apps/linguapop.json +4 -2
- package/assets/open-connector/catalog/apps/lingvanex_translation_api.json +10 -5
- package/assets/open-connector/catalog/apps/linkfox.json +458 -229
- package/assets/open-connector/catalog/apps/linkly.json +260 -130
- package/assets/open-connector/catalog/apps/linux_do.json +332 -166
- package/assets/open-connector/catalog/apps/listennotes.json +24 -12
- package/assets/open-connector/catalog/apps/litellm.json +824 -0
- package/assets/open-connector/catalog/apps/liveagent.json +196 -98
- package/assets/open-connector/catalog/apps/livesession.json +12 -6
- package/assets/open-connector/catalog/apps/lodgify.json +36 -18
- package/assets/open-connector/catalog/apps/lokalise.json +6 -3
- package/assets/open-connector/catalog/apps/loomio.json +58 -29
- package/assets/open-connector/catalog/apps/loop_returns.json +112 -56
- package/assets/open-connector/catalog/apps/loops.json +8 -4
- package/assets/open-connector/catalog/apps/loyverse.json +10 -5
- package/assets/open-connector/catalog/apps/luckin_coffee.json +40 -20
- package/assets/open-connector/catalog/apps/luma.json +40 -20
- package/assets/open-connector/catalog/apps/lumos.json +32 -16
- package/assets/open-connector/catalog/apps/magileads.json +10 -5
- package/assets/open-connector/catalog/apps/mailbluster.json +6 -3
- package/assets/open-connector/catalog/apps/mailbox_validator.json +22 -11
- package/assets/open-connector/catalog/apps/mailboxlayer.json +2 -1
- package/assets/open-connector/catalog/apps/mailcheck.json +20 -10
- package/assets/open-connector/catalog/apps/mailcoach.json +140 -70
- package/assets/open-connector/catalog/apps/mailgun.json +20 -10
- package/assets/open-connector/catalog/apps/mailjet.json +40 -20
- package/assets/open-connector/catalog/apps/mailosaur.json +62 -31
- package/assets/open-connector/catalog/apps/mails_so.json +28 -14
- package/assets/open-connector/catalog/apps/mailsoftly.json +116 -58
- package/assets/open-connector/catalog/apps/maintainx.json +116 -58
- package/assets/open-connector/catalog/apps/manatal.json +16 -8
- package/assets/open-connector/catalog/apps/manus.json +4 -2
- package/assets/open-connector/catalog/apps/mapbox.json +4 -2
- package/assets/open-connector/catalog/apps/maple_billing.json +108 -54
- package/assets/open-connector/catalog/apps/marketstack.json +146 -73
- package/assets/open-connector/catalog/apps/mautic.json +12 -6
- package/assets/open-connector/catalog/apps/mcdonalds_cn.json +2 -1
- package/assets/open-connector/catalog/apps/mediastack.json +34 -17
- package/assets/open-connector/catalog/apps/meet_geek.json +6 -3
- package/assets/open-connector/catalog/apps/mem.json +66 -33
- package/assets/open-connector/catalog/apps/mem0.json +68 -18
- package/assets/open-connector/catalog/apps/memberstack.json +42 -21
- package/assets/open-connector/catalog/apps/membervault.json +8 -4
- package/assets/open-connector/catalog/apps/memento_database.json +810 -0
- package/assets/open-connector/catalog/apps/memos.json +10 -5
- package/assets/open-connector/catalog/apps/mendeley.json +16 -8
- package/assets/open-connector/catalog/apps/meta.json +74 -37
- package/assets/open-connector/catalog/apps/metabase.json +44 -22
- package/assets/open-connector/catalog/apps/metaso.json +44 -22
- package/assets/open-connector/catalog/apps/metatraderapi.json +16 -8
- package/assets/open-connector/catalog/apps/metronome.json +56 -28
- package/assets/open-connector/catalog/apps/microsoft_teams.json +96 -48
- package/assets/open-connector/catalog/apps/mindbody.json +22 -11
- package/assets/open-connector/catalog/apps/minerstat.json +28 -14
- package/assets/open-connector/catalog/apps/mingdao.json +18 -9
- package/assets/open-connector/catalog/apps/minimax.json +8 -4
- package/assets/open-connector/catalog/apps/miro.json +14 -7
- package/assets/open-connector/catalog/apps/missive.json +28 -14
- package/assets/open-connector/catalog/apps/mixmax.json +4 -2
- package/assets/open-connector/catalog/apps/mixpanel.json +8 -4
- package/assets/open-connector/catalog/apps/mktindex.json +34 -17
- package/assets/open-connector/catalog/apps/mobile_text_alerts.json +8 -4
- package/assets/open-connector/catalog/apps/moco.json +120 -60
- package/assets/open-connector/catalog/apps/moesif.json +68 -34
- package/assets/open-connector/catalog/apps/momentum_io.json +68 -34
- package/assets/open-connector/catalog/apps/monday.json +8 -4
- package/assets/open-connector/catalog/apps/mongo_db_atlas_administration.json +60 -30
- package/assets/open-connector/catalog/apps/moonclerk.json +312 -156
- package/assets/open-connector/catalog/apps/moorcheh.json +6 -3
- package/assets/open-connector/catalog/apps/moosend.json +42 -21
- package/assets/open-connector/catalog/apps/mopinion.json +24 -12
- package/assets/open-connector/catalog/apps/more_trees.json +8 -4
- package/assets/open-connector/catalog/apps/motion.json +4 -2
- package/assets/open-connector/catalog/apps/msg91.json +14 -7
- package/assets/open-connector/catalog/apps/mumble.json +18 -9
- package/assets/open-connector/catalog/apps/mux.json +26 -13
- package/assets/open-connector/catalog/apps/mx.json +50 -25
- package/assets/open-connector/catalog/apps/mx_toolbox.json +200 -100
- package/assets/open-connector/catalog/apps/n8n.json +60 -30
- package/assets/open-connector/catalog/apps/namely.json +16 -8
- package/assets/open-connector/catalog/apps/nango.json +10 -5
- package/assets/open-connector/catalog/apps/nasdaq.json +62 -31
- package/assets/open-connector/catalog/apps/nationalize.json +190 -0
- package/assets/open-connector/catalog/apps/navigatr.json +803 -0
- package/assets/open-connector/catalog/apps/needle.json +12 -6
- package/assets/open-connector/catalog/apps/neetocal.json +4 -2
- package/assets/open-connector/catalog/apps/neetodesk.json +12 -6
- package/assets/open-connector/catalog/apps/neon.json +14 -7
- package/assets/open-connector/catalog/apps/netease_enterprise_mail.json +74 -37
- package/assets/open-connector/catalog/apps/netease_mail.json +74 -37
- package/assets/open-connector/catalog/apps/netlify.json +18 -9
- package/assets/open-connector/catalog/apps/new_relic.json +28 -14
- package/assets/open-connector/catalog/apps/news_api.json +30 -15
- package/assets/open-connector/catalog/apps/newsdata_io.json +24 -12
- package/assets/open-connector/catalog/apps/next_dns.json +12 -6
- package/assets/open-connector/catalog/apps/ngrok.json +8 -4
- package/assets/open-connector/catalog/apps/nightfall_ai.json +322 -0
- package/assets/open-connector/catalog/apps/nimble.json +2 -1
- package/assets/open-connector/catalog/apps/ninjapear.json +72 -36
- package/assets/open-connector/catalog/apps/ninox.json +58 -29
- package/assets/open-connector/catalog/apps/nocodb.json +12 -6
- package/assets/open-connector/catalog/apps/nocrm_io.json +98 -49
- package/assets/open-connector/catalog/apps/northbeam.json +4 -2
- package/assets/open-connector/catalog/apps/notion.json +36 -18
- package/assets/open-connector/catalog/apps/novu.json +90 -45
- package/assets/open-connector/catalog/apps/nozbe_teams.json +276 -138
- package/assets/open-connector/catalog/apps/npm.json +2 -1
- package/assets/open-connector/catalog/apps/nutrient_document_web_services_api.json +18 -9
- package/assets/open-connector/catalog/apps/nylas.json +58 -29
- package/assets/open-connector/catalog/apps/nyne_ai.json +46 -23
- package/assets/open-connector/catalog/apps/ocr_web_service.json +10 -5
- package/assets/open-connector/catalog/apps/ocrspace.json +10 -5
- package/assets/open-connector/catalog/apps/octave.json +18 -9
- package/assets/open-connector/catalog/apps/oksign.json +2 -1
- package/assets/open-connector/catalog/apps/okta.json +112 -56
- package/assets/open-connector/catalog/apps/omnisend.json +8 -4
- package/assets/open-connector/catalog/apps/oncehub.json +18 -9
- package/assets/open-connector/catalog/apps/one_drive.json +6 -3
- package/assets/open-connector/catalog/apps/onedesk.json +14 -7
- package/assets/open-connector/catalog/apps/onfleet.json +2 -1
- package/assets/open-connector/catalog/apps/onlyoffice_docspace.json +20 -10
- package/assets/open-connector/catalog/apps/oomol_console.json +954 -31
- package/assets/open-connector/catalog/apps/open_hands.json +50 -25
- package/assets/open-connector/catalog/apps/openai.json +16 -8
- package/assets/open-connector/catalog/apps/openalex.json +128 -64
- package/assets/open-connector/catalog/apps/openfda.json +28 -14
- package/assets/open-connector/catalog/apps/opengraph_io.json +4 -2
- package/assets/open-connector/catalog/apps/openpagerank.json +2 -1
- package/assets/open-connector/catalog/apps/opensea.json +84 -42
- package/assets/open-connector/catalog/apps/openstatus.json +16 -8
- package/assets/open-connector/catalog/apps/opper.json +352 -0
- package/assets/open-connector/catalog/apps/optimoroute.json +32 -16
- package/assets/open-connector/catalog/apps/oracle_cloud.json +98 -49
- package/assets/open-connector/catalog/apps/orcid.json +2 -1
- package/assets/open-connector/catalog/apps/ordinal.json +4 -2
- package/assets/open-connector/catalog/apps/ortto.json +20 -10
- package/assets/open-connector/catalog/apps/ossinsight.json +60 -30
- package/assets/open-connector/catalog/apps/otter_ai.json +26 -13
- package/assets/open-connector/catalog/apps/oura.json +46 -23
- package/assets/open-connector/catalog/apps/outline.json +50 -25
- package/assets/open-connector/catalog/apps/outlook.json +8 -4
- package/assets/open-connector/catalog/apps/outlook_calendar.json +32 -16
- package/assets/open-connector/catalog/apps/paddle.json +42 -21
- package/assets/open-connector/catalog/apps/pandadoc.json +8 -4
- package/assets/open-connector/catalog/apps/paperform.json +234 -117
- package/assets/open-connector/catalog/apps/paperless_ngx.json +1358 -679
- package/assets/open-connector/catalog/apps/papertrail.json +8 -4
- package/assets/open-connector/catalog/apps/paradym.json +34 -17
- package/assets/open-connector/catalog/apps/parallel.json +62 -31
- package/assets/open-connector/catalog/apps/parsehub.json +30 -15
- package/assets/open-connector/catalog/apps/parsera.json +2 -1
- package/assets/open-connector/catalog/apps/parseur.json +48 -24
- package/assets/open-connector/catalog/apps/partner_stack_partner.json +42 -21
- package/assets/open-connector/catalog/apps/partnerstack.json +100 -50
- package/assets/open-connector/catalog/apps/passcreator.json +10 -5
- package/assets/open-connector/catalog/apps/payhip.json +110 -55
- package/assets/open-connector/catalog/apps/paystack.json +14 -7
- package/assets/open-connector/catalog/apps/pdf_api_io.json +6 -3
- package/assets/open-connector/catalog/apps/pdf_co.json +136 -68
- package/assets/open-connector/catalog/apps/pdfless.json +16 -8
- package/assets/open-connector/catalog/apps/pdfmonkey.json +94 -47
- package/assets/open-connector/catalog/apps/pendo.json +2 -1
- package/assets/open-connector/catalog/apps/peopledatalabs.json +88 -44
- package/assets/open-connector/catalog/apps/perdoo.json +80 -40
- package/assets/open-connector/catalog/apps/perigon.json +40 -20
- package/assets/open-connector/catalog/apps/persona.json +52 -26
- package/assets/open-connector/catalog/apps/personal_ai.json +38 -19
- package/assets/open-connector/catalog/apps/phantombuster.json +30 -15
- package/assets/open-connector/catalog/apps/phonely.json +8 -4
- package/assets/open-connector/catalog/apps/pi_hole.json +56 -28
- package/assets/open-connector/catalog/apps/picky_assist.json +189 -0
- package/assets/open-connector/catalog/apps/pilvio.json +80 -40
- package/assets/open-connector/catalog/apps/pinata.json +84 -42
- package/assets/open-connector/catalog/apps/pinecone.json +20 -10
- package/assets/open-connector/catalog/apps/pingdom.json +2 -1
- package/assets/open-connector/catalog/apps/pipedream.json +66 -33
- package/assets/open-connector/catalog/apps/pixellab.json +8 -4
- package/assets/open-connector/catalog/apps/placid.json +24 -12
- package/assets/open-connector/catalog/apps/plain.json +28 -14
- package/assets/open-connector/catalog/apps/planetscale.json +12 -6
- package/assets/open-connector/catalog/apps/planhat.json +104 -52
- package/assets/open-connector/catalog/apps/planly.json +738 -0
- package/assets/open-connector/catalog/apps/plasmic.json +6 -3
- package/assets/open-connector/catalog/apps/platerecognizer.json +6 -3
- package/assets/open-connector/catalog/apps/plisio.json +156 -78
- package/assets/open-connector/catalog/apps/plunk.json +12 -6
- package/assets/open-connector/catalog/apps/pointagram.json +848 -0
- package/assets/open-connector/catalog/apps/polygon_io.json +548 -274
- package/assets/open-connector/catalog/apps/positionstack.json +44 -22
- package/assets/open-connector/catalog/apps/postalytics.json +114 -57
- package/assets/open-connector/catalog/apps/posthog.json +1286 -643
- package/assets/open-connector/catalog/apps/practitest.json +8 -4
- package/assets/open-connector/catalog/apps/predis_ai.json +16 -8
- package/assets/open-connector/catalog/apps/prerender.json +8 -4
- package/assets/open-connector/catalog/apps/pretix.json +20 -10
- package/assets/open-connector/catalog/apps/printavo.json +150 -75
- package/assets/open-connector/catalog/apps/product_fruits.json +28 -14
- package/assets/open-connector/catalog/apps/productboard.json +28 -14
- package/assets/open-connector/catalog/apps/productive.json +6 -3
- package/assets/open-connector/catalog/apps/productlane.json +134 -67
- package/assets/open-connector/catalog/apps/promptlayer.json +112 -56
- package/assets/open-connector/catalog/apps/prospeo.json +22 -11
- package/assets/open-connector/catalog/apps/pubmed.json +168 -84
- package/assets/open-connector/catalog/apps/pushinator.json +120 -0
- package/assets/open-connector/catalog/apps/pylon.json +36 -18
- package/assets/open-connector/catalog/apps/qdrant.json +20 -10
- package/assets/open-connector/catalog/apps/qichacha.json +72 -36
- package/assets/open-connector/catalog/apps/qq_mail.json +74 -37
- package/assets/open-connector/catalog/apps/quaderno.json +178 -89
- package/assets/open-connector/catalog/apps/quentn.json +118 -59
- package/assets/open-connector/catalog/apps/quickbooks.json +10351 -0
- package/assets/open-connector/catalog/apps/quickchart.json +2 -1
- package/assets/open-connector/catalog/apps/quintadb.json +4 -2
- package/assets/open-connector/catalog/apps/quipteams.json +4 -2
- package/assets/open-connector/catalog/apps/quo.json +38 -19
- package/assets/open-connector/catalog/apps/ragie.json +10 -5
- package/assets/open-connector/catalog/apps/railway.json +44 -22
- package/assets/open-connector/catalog/apps/raisely.json +8 -4
- package/assets/open-connector/catalog/apps/rawg.json +48 -24
- package/assets/open-connector/catalog/apps/razorpay.json +146 -73
- package/assets/open-connector/catalog/apps/readwise.json +152 -76
- package/assets/open-connector/catalog/apps/realphonevalidation.json +14 -7
- package/assets/open-connector/catalog/apps/recallai.json +10 -5
- package/assets/open-connector/catalog/apps/recharge.json +20 -10
- package/assets/open-connector/catalog/apps/recruitee.json +48 -24
- package/assets/open-connector/catalog/apps/recruiterflow.json +10 -5
- package/assets/open-connector/catalog/apps/recurly.json +194 -97
- package/assets/open-connector/catalog/apps/reddit.json +10 -5
- package/assets/open-connector/catalog/apps/reducto.json +26 -13
- package/assets/open-connector/catalog/apps/referralhero.json +44 -22
- package/assets/open-connector/catalog/apps/refiner.json +16 -8
- package/assets/open-connector/catalog/apps/render.json +6 -3
- package/assets/open-connector/catalog/apps/renderform.json +72 -36
- package/assets/open-connector/catalog/apps/rentman.json +8 -4
- package/assets/open-connector/catalog/apps/replicate.json +16 -8
- package/assets/open-connector/catalog/apps/resend.json +98 -49
- package/assets/open-connector/catalog/apps/respond_io.json +84 -42
- package/assets/open-connector/catalog/apps/retell_ai.json +134 -105
- package/assets/open-connector/catalog/apps/retently.json +44 -22
- package/assets/open-connector/catalog/apps/revenuecat.json +16 -8
- package/assets/open-connector/catalog/apps/reversecontact.json +4 -2
- package/assets/open-connector/catalog/apps/rewiser.json +6 -3
- package/assets/open-connector/catalog/apps/riddle_quiz_maker.json +6 -3
- package/assets/open-connector/catalog/apps/ringover.json +14 -7
- package/assets/open-connector/catalog/apps/ritekit.json +104 -52
- package/assets/open-connector/catalog/apps/riveter.json +2 -1
- package/assets/open-connector/catalog/apps/roam.json +4 -2
- package/assets/open-connector/catalog/apps/roboflow.json +66 -33
- package/assets/open-connector/catalog/apps/rocket_reach.json +166 -83
- package/assets/open-connector/catalog/apps/rollbar.json +62 -31
- package/assets/open-connector/catalog/apps/rosette_text_analytics.json +46 -23
- package/assets/open-connector/catalog/apps/route4me.json +4 -2
- package/assets/open-connector/catalog/apps/roxyapi.json +5135 -0
- package/assets/open-connector/catalog/apps/runscope.json +2 -1
- package/assets/open-connector/catalog/apps/saas_custom_domains.json +72 -36
- package/assets/open-connector/catalog/apps/salesflare.json +32 -16
- package/assets/open-connector/catalog/apps/salesloft.json +14 -7
- package/assets/open-connector/catalog/apps/samcart.json +24 -12
- package/assets/open-connector/catalog/apps/satismeter.json +64 -32
- package/assets/open-connector/catalog/apps/saucelabs.json +64 -32
- package/assets/open-connector/catalog/apps/scanmalware.json +689 -0
- package/assets/open-connector/catalog/apps/scopus.json +66 -33
- package/assets/open-connector/catalog/apps/scrape_creators.json +4 -2
- package/assets/open-connector/catalog/apps/scrape_do.json +24 -12
- package/assets/open-connector/catalog/apps/scraperapi.json +4 -2
- package/assets/open-connector/catalog/apps/scrapfly.json +20 -10
- package/assets/open-connector/catalog/apps/screendesk.json +56 -28
- package/assets/open-connector/catalog/apps/screenshotbase.json +4 -2
- package/assets/open-connector/catalog/apps/sellersprite.json +414 -207
- package/assets/open-connector/catalog/apps/semantic_scholar.json +76 -38
- package/assets/open-connector/catalog/apps/sendbird.json +10 -5
- package/assets/open-connector/catalog/apps/sendblue.json +649 -0
- package/assets/open-connector/catalog/apps/sender.json +132 -66
- package/assets/open-connector/catalog/apps/sendfox.json +68 -34
- package/assets/open-connector/catalog/apps/sendgrid.json +8 -4
- package/assets/open-connector/catalog/apps/sendmator.json +26 -13
- package/assets/open-connector/catalog/apps/sendspark.json +10 -5
- package/assets/open-connector/catalog/apps/sentry.json +20 -10
- package/assets/open-connector/catalog/apps/serply.json +6 -3
- package/assets/open-connector/catalog/apps/serveravatar.json +32 -16
- package/assets/open-connector/catalog/apps/serwersms_pl.json +577 -0
- package/assets/open-connector/catalog/apps/sevdesk.json +312 -156
- package/assets/open-connector/catalog/apps/sf_express.json +76 -38
- package/assets/open-connector/catalog/apps/ship_bob.json +72 -36
- package/assets/open-connector/catalog/apps/ship_station.json +6 -3
- package/assets/open-connector/catalog/apps/shippo.json +8 -4
- package/assets/open-connector/catalog/apps/shopify.json +18396 -1096
- package/assets/open-connector/catalog/apps/shopify_partner.json +24 -12
- package/assets/open-connector/catalog/apps/shopify_storefront.json +116 -58
- package/assets/open-connector/catalog/apps/shortcut.json +398 -199
- package/assets/open-connector/catalog/apps/shorten_rest.json +2 -1
- package/assets/open-connector/catalog/apps/shortpixel.json +46 -23
- package/assets/open-connector/catalog/apps/shotstack.json +6 -3
- package/assets/open-connector/catalog/apps/signaturely.json +8 -4
- package/assets/open-connector/catalog/apps/simla.json +4 -2
- package/assets/open-connector/catalog/apps/simplelocalize.json +4 -2
- package/assets/open-connector/catalog/apps/simplesat.json +22 -11
- package/assets/open-connector/catalog/apps/simpletexting.json +1015 -0
- package/assets/open-connector/catalog/apps/skio.json +16 -8
- package/assets/open-connector/catalog/apps/skyfire.json +36 -18
- package/assets/open-connector/catalog/apps/skyvern.json +30 -15
- package/assets/open-connector/catalog/apps/slab.json +98 -49
- package/assets/open-connector/catalog/apps/slack.json +362 -37
- package/assets/open-connector/catalog/apps/slackbot.json +356 -34
- package/assets/open-connector/catalog/apps/slickdeals.json +26 -13
- package/assets/open-connector/catalog/apps/slicktext.json +72 -36
- package/assets/open-connector/catalog/apps/slite.json +96 -48
- package/assets/open-connector/catalog/apps/smartlead_ai.json +94 -47
- package/assets/open-connector/catalog/apps/smartrecruiters.json +8 -4
- package/assets/open-connector/catalog/apps/smartsheet.json +126 -63
- package/assets/open-connector/catalog/apps/sms_alert.json +1 -1
- package/assets/open-connector/catalog/apps/smtp2go.json +8 -4
- package/assets/open-connector/catalog/apps/snappy.json +1574 -0
- package/assets/open-connector/catalog/apps/snyk.json +6 -3
- package/assets/open-connector/catalog/apps/social_fetch.json +12 -6
- package/assets/open-connector/catalog/apps/softr.json +28 -14
- package/assets/open-connector/catalog/apps/solarwinds_service_desk.json +2561 -0
- package/assets/open-connector/catalog/apps/sonarcloud.json +46 -23
- package/assets/open-connector/catalog/apps/sorftime.json +66 -33
- package/assets/open-connector/catalog/apps/speedtest_tracker.json +80 -40
- package/assets/open-connector/catalog/apps/spyfu.json +4 -2
- package/assets/open-connector/catalog/apps/square.json +8 -4
- package/assets/open-connector/catalog/apps/sslmate_cert_spotter_api.json +10 -5
- package/assets/open-connector/catalog/apps/stack_ai.json +20 -10
- package/assets/open-connector/catalog/apps/stannp.json +8 -4
- package/assets/open-connector/catalog/apps/starton.json +80 -40
- package/assets/open-connector/catalog/apps/statamic.json +6 -3
- package/assets/open-connector/catalog/apps/statista.json +24 -12
- package/assets/open-connector/catalog/apps/statsig.json +12 -6
- package/assets/open-connector/catalog/apps/statuscake.json +8 -4
- package/assets/open-connector/catalog/apps/statuspage.json +36 -18
- package/assets/open-connector/catalog/apps/statuspal.json +22 -11
- package/assets/open-connector/catalog/apps/stealthgpt.json +4 -2
- package/assets/open-connector/catalog/apps/store_leads.json +2 -1
- package/assets/open-connector/catalog/apps/storecensus.json +4 -2
- package/assets/open-connector/catalog/apps/storyblok.json +76 -38
- package/assets/open-connector/catalog/apps/stream_estate.json +10 -5
- package/assets/open-connector/catalog/apps/stripe.json +26 -13
- package/assets/open-connector/catalog/apps/subvisory.json +28 -14
- package/assets/open-connector/catalog/apps/sumup.json +2 -1
- package/assets/open-connector/catalog/apps/sunoapi.json +2 -1
- package/assets/open-connector/catalog/apps/supabase.json +36 -18
- package/assets/open-connector/catalog/apps/supermemory.json +16 -8
- package/assets/open-connector/catalog/apps/supportbee.json +218 -109
- package/assets/open-connector/catalog/apps/surecontact.json +96 -48
- package/assets/open-connector/catalog/apps/survey_monkey.json +12 -6
- package/assets/open-connector/catalog/apps/surveymethods.json +6 -3
- package/assets/open-connector/catalog/apps/tabapi.json +2 -1
- package/assets/open-connector/catalog/apps/taggun.json +36 -18
- package/assets/open-connector/catalog/apps/taiga.json +56 -28
- package/assets/open-connector/catalog/apps/tailscale.json +54 -27
- package/assets/open-connector/catalog/apps/tanium.json +2 -1
- package/assets/open-connector/catalog/apps/tapfiliate.json +224 -112
- package/assets/open-connector/catalog/apps/tave.json +212 -106
- package/assets/open-connector/catalog/apps/tavily.json +4 -2
- package/assets/open-connector/catalog/apps/teable.json +4 -2
- package/assets/open-connector/catalog/apps/teamtailor.json +16 -8
- package/assets/open-connector/catalog/apps/teamup.json +4 -2
- package/assets/open-connector/catalog/apps/telegram.json +4 -2
- package/assets/open-connector/catalog/apps/telnyx.json +2 -1
- package/assets/open-connector/catalog/apps/teltel.json +52 -26
- package/assets/open-connector/catalog/apps/templated.json +94 -47
- package/assets/open-connector/catalog/apps/templatefox.json +14 -7
- package/assets/open-connector/catalog/apps/tencent_docs.json +202 -101
- package/assets/open-connector/catalog/apps/terraform.json +72 -36
- package/assets/open-connector/catalog/apps/textcortex.json +38 -19
- package/assets/open-connector/catalog/apps/textit.json +54 -27
- package/assets/open-connector/catalog/apps/textmagic.json +38 -19
- package/assets/open-connector/catalog/apps/the_cat_api.json +8 -4
- package/assets/open-connector/catalog/apps/the_dog_api.json +8 -4
- package/assets/open-connector/catalog/apps/the_swarm.json +4 -2
- package/assets/open-connector/catalog/apps/thehive.json +4 -2
- package/assets/open-connector/catalog/apps/thehive5.json +4 -2
- package/assets/open-connector/catalog/apps/theirstack.json +26 -13
- package/assets/open-connector/catalog/apps/thesportsdb.json +433 -0
- package/assets/open-connector/catalog/apps/tianapi.json +1654 -0
- package/assets/open-connector/catalog/apps/tianyancha.json +16 -8
- package/assets/open-connector/catalog/apps/tick.json +4 -2
- package/assets/open-connector/catalog/apps/ticket_tailor.json +12 -6
- package/assets/open-connector/catalog/apps/ticketmaster.json +156 -78
- package/assets/open-connector/catalog/apps/tidb.json +62 -31
- package/assets/open-connector/catalog/apps/tikhub.json +62 -31
- package/assets/open-connector/catalog/apps/timebuzzer.json +20 -10
- package/assets/open-connector/catalog/apps/timecamp.json +186 -93
- package/assets/open-connector/catalog/apps/timelinesai.json +60 -30
- package/assets/open-connector/catalog/apps/timelink.json +192 -96
- package/assets/open-connector/catalog/apps/timem_space.json +415 -0
- package/assets/open-connector/catalog/apps/tisane.json +18 -9
- package/assets/open-connector/catalog/apps/tmdb.json +50 -25
- package/assets/open-connector/catalog/apps/todoist.json +38 -19
- package/assets/open-connector/catalog/apps/together_ai.json +4 -2
- package/assets/open-connector/catalog/apps/toggl.json +2 -1
- package/assets/open-connector/catalog/apps/tomba.json +6 -3
- package/assets/open-connector/catalog/apps/tongdaxin.json +34 -17
- package/assets/open-connector/catalog/apps/torii.json +24 -12
- package/assets/open-connector/catalog/apps/trello.json +20 -10
- package/assets/open-connector/catalog/apps/trendshift.json +48 -24
- package/assets/open-connector/catalog/apps/trent.json +4 -2
- package/assets/open-connector/catalog/apps/trilium.json +2 -1
- package/assets/open-connector/catalog/apps/triple_whale.json +18 -9
- package/assets/open-connector/catalog/apps/truvera.json +42 -21
- package/assets/open-connector/catalog/apps/turbot_pipes.json +6 -3
- package/assets/open-connector/catalog/apps/tushare.json +134 -67
- package/assets/open-connector/catalog/apps/twenty_crm.json +2 -1
- package/assets/open-connector/catalog/apps/twilio.json +168 -84
- package/assets/open-connector/catalog/apps/twitterapi_io.json +52 -26
- package/assets/open-connector/catalog/apps/twochat.json +24 -12
- package/assets/open-connector/catalog/apps/typebot.json +24 -12
- package/assets/open-connector/catalog/apps/typesafe_ai.json +2 -1
- package/assets/open-connector/catalog/apps/u301.json +4 -2
- package/assets/open-connector/catalog/apps/umami.json +6 -3
- package/assets/open-connector/catalog/apps/unipile.json +72 -36
- package/assets/open-connector/catalog/apps/unirateapi.json +442 -0
- package/assets/open-connector/catalog/apps/uniswap_api.json +46 -23
- package/assets/open-connector/catalog/apps/unsplash.json +22 -11
- package/assets/open-connector/catalog/apps/unthread.json +24 -12
- package/assets/open-connector/catalog/apps/updown_io.json +96 -48
- package/assets/open-connector/catalog/apps/uploadcare.json +44 -22
- package/assets/open-connector/catalog/apps/upstash_redis.json +2 -1
- package/assets/open-connector/catalog/apps/uptimerobot.json +4 -2
- package/assets/open-connector/catalog/apps/userflow.json +26 -13
- package/assets/open-connector/catalog/apps/uspto.json +6 -3
- package/assets/open-connector/catalog/apps/v0.json +20 -10
- package/assets/open-connector/catalog/apps/v2ex.json +38 -19
- package/assets/open-connector/catalog/apps/validemail.json +164 -0
- package/assets/open-connector/catalog/apps/valyu.json +8 -4
- package/assets/open-connector/catalog/apps/vatlayer.json +6 -3
- package/assets/open-connector/catalog/apps/vectera.json +10 -5
- package/assets/open-connector/catalog/apps/venafitlsprotectcloud.json +2 -1
- package/assets/open-connector/catalog/apps/venafitlsprotectdatacenter.json +2 -1
- package/assets/open-connector/catalog/apps/vercel.json +3422 -1469
- package/assets/open-connector/catalog/apps/veremark.json +26 -13
- package/assets/open-connector/catalog/apps/verifiedemail.json +44 -22
- package/assets/open-connector/catalog/apps/viggle.json +68 -34
- package/assets/open-connector/catalog/apps/vimeo.json +74 -37
- package/assets/open-connector/catalog/apps/viral_loops.json +549 -0
- package/assets/open-connector/catalog/apps/vitally.json +4 -2
- package/assets/open-connector/catalog/apps/voiceflow.json +2 -1
- package/assets/open-connector/catalog/apps/vonage.json +112 -56
- package/assets/open-connector/catalog/apps/vtex.json +2 -1
- package/assets/open-connector/catalog/apps/waboxapp.json +12 -6
- package/assets/open-connector/catalog/apps/wachete.json +128 -64
- package/assets/open-connector/catalog/apps/waffo.json +14 -7
- package/assets/open-connector/catalog/apps/waitwhile.json +74 -37
- package/assets/open-connector/catalog/apps/waiverforever.json +24 -12
- package/assets/open-connector/catalog/apps/wakatime.json +2 -1
- package/assets/open-connector/catalog/apps/walmart_marketplace.json +4 -2
- package/assets/open-connector/catalog/apps/wandb.json +6 -3
- package/assets/open-connector/catalog/apps/wangdian.json +14 -7
- package/assets/open-connector/catalog/apps/wappalyzer.json +18 -9
- package/assets/open-connector/catalog/apps/waterfall.json +2 -1
- package/assets/open-connector/catalog/apps/wbiztool.json +510 -0
- package/assets/open-connector/catalog/apps/web_of_science.json +60 -30
- package/assets/open-connector/catalog/apps/web_of_science_expanded.json +166 -83
- package/assets/open-connector/catalog/apps/webex.json +26 -13
- package/assets/open-connector/catalog/apps/webflow.json +102 -51
- package/assets/open-connector/catalog/apps/webscraper_io.json +78 -39
- package/assets/open-connector/catalog/apps/webscraping_ai.json +8 -4
- package/assets/open-connector/catalog/apps/webshare.json +20 -10
- package/assets/open-connector/catalog/apps/weixin_bot.json +8 -4
- package/assets/open-connector/catalog/apps/whatsapp.json +515 -0
- package/assets/open-connector/catalog/apps/who_gho.json +2 -1
- package/assets/open-connector/catalog/apps/whop.json +124 -62
- package/assets/open-connector/catalog/apps/winston_ai.json +2 -1
- package/assets/open-connector/catalog/apps/wit_ai.json +2 -1
- package/assets/open-connector/catalog/apps/wolfram_alpha_api.json +10 -5
- package/assets/open-connector/catalog/apps/woocommerce.json +918 -459
- package/assets/open-connector/catalog/apps/woodpecker_co.json +58 -29
- package/assets/open-connector/catalog/apps/woot.json +196 -98
- package/assets/open-connector/catalog/apps/wordpress.json +2425 -525
- package/assets/open-connector/catalog/apps/workable.json +4 -2
- package/assets/open-connector/catalog/apps/workday.json +374 -187
- package/assets/open-connector/catalog/apps/workiom.json +6 -3
- package/assets/open-connector/catalog/apps/workos.json +52 -26
- package/assets/open-connector/catalog/apps/workpath.json +36 -18
- package/assets/open-connector/catalog/apps/world_news_api.json +32 -16
- package/assets/open-connector/catalog/apps/wp_maps.json +150 -75
- package/assets/open-connector/catalog/apps/wrike.json +104 -52
- package/assets/open-connector/catalog/apps/writer.json +4 -2
- package/assets/open-connector/catalog/apps/wttr_in.json +80 -40
- package/assets/open-connector/catalog/apps/wufoo.json +8 -4
- package/assets/open-connector/catalog/apps/x_ai.json +8 -4
- package/assets/open-connector/catalog/apps/xata.json +16 -8
- package/assets/open-connector/catalog/apps/xero.json +104 -52
- package/assets/open-connector/catalog/apps/xingpan.json +1200 -0
- package/assets/open-connector/catalog/apps/y_gy.json +88 -44
- package/assets/open-connector/catalog/apps/yoplanning.json +12 -6
- package/assets/open-connector/catalog/apps/youtube.json +28 -14
- package/assets/open-connector/catalog/apps/yuandian.json +92 -46
- package/assets/open-connector/catalog/apps/yuanfenju.json +2244 -0
- package/assets/open-connector/catalog/apps/zendesk.json +106 -53
- package/assets/open-connector/catalog/apps/zenrows.json +36 -18
- package/assets/open-connector/catalog/apps/zenscrape.json +2 -1
- package/assets/open-connector/catalog/apps/zenserp.json +12 -6
- package/assets/open-connector/catalog/apps/zenventory.json +8 -4
- package/assets/open-connector/catalog/apps/zep.json +22 -11
- package/assets/open-connector/catalog/apps/zerobounce.json +20 -10
- package/assets/open-connector/catalog/apps/zhihu.json +8 -4
- package/assets/open-connector/catalog/apps/zipcodebase.json +16 -8
- package/assets/open-connector/catalog/apps/zoom.json +88 -44
- package/assets/open-connector/catalog/apps/zorus.json +54 -27
- package/assets/open-connector/catalog/apps/zotero.json +22 -11
- package/assets/open-connector/catalog/apps-index.json +1 -1
- package/assets/open-connector/migrations/0018_connection_retirement.sql +17 -0
- package/assets/open-connector/migrations/postgresql/0018_connection_retirement.sql +17 -0
- package/package.json +22 -21
- package/src/connection-service.d.ts +33 -3
- package/src/connection-service.js +96 -12
- package/src/core/aws-sigv4.d.ts +3 -0
- package/src/core/aws-sigv4.js +2 -1
- package/src/core/cast.d.ts +5 -0
- package/src/core/cast.js +7 -2
- package/src/core/guarded-fetch.d.ts +3 -0
- package/src/core/guarded-fetch.js +31 -7
- package/src/core/json-schema.js +7 -1
- package/src/core/provider-http-dispatch.d.ts +82 -0
- package/src/core/provider-http-dispatch.js +177 -0
- package/src/core/provider-scenarios.js +0 -1
- package/src/core/provider-setup.d.ts +2 -0
- package/src/core/provider-setup.js +1 -0
- package/src/core/request.d.ts +20 -0
- package/src/core/request.js +47 -0
- package/src/core/types.d.ts +15 -1
- package/src/marketplace/marketplace-service.d.ts +6 -0
- package/src/marketplace/marketplace-service.js +6 -2
- package/src/oauth/oauth-client-config-service.js +11 -3
- package/src/oauth/oauth-credential-refresh-service.d.ts +20 -0
- package/src/oauth/oauth-credential-refresh-service.js +58 -3
- package/src/oauth/oauth-flow-service.d.ts +2 -0
- package/src/oauth/oauth-flow-service.js +52 -35
- package/src/oauth/oauth-token.d.ts +33 -3
- package/src/oauth/oauth-token.js +98 -4
- package/src/providers/action-contracts.generated.d.ts +62 -10
- package/src/providers/agenty/runtime.js +5 -4
- package/src/providers/aisa/executors.js +10 -0
- package/src/providers/aliyun_oss/executors.js +5 -4
- package/src/providers/amazing_marvin/actions.d.ts +2 -0
- package/src/providers/amazing_marvin/actions.js +145 -0
- package/src/providers/amazing_marvin/executors.d.ts +4 -0
- package/src/providers/amazing_marvin/executors.js +98 -0
- package/src/providers/api_route/executors.js +77 -0
- package/src/providers/aws_s3/executors.js +5 -4
- package/src/providers/baidu_netdisk/runtime.js +5 -4
- package/src/providers/box/executors.js +5 -4
- package/src/providers/campaign_cleaner/executors.js +5 -4
- package/src/providers/cheaperinference/executors.d.ts +4 -0
- package/src/providers/cheaperinference/executors.js +130 -0
- package/src/providers/clay/actions.d.ts +2 -0
- package/src/providers/clay/actions.js +222 -0
- package/src/providers/clay/batch-actions.d.ts +2 -0
- package/src/providers/clay/batch-actions.js +71 -0
- package/src/providers/clay/batch-runtime.d.ts +2 -0
- package/src/providers/clay/batch-runtime.js +79 -0
- package/src/providers/clay/executors.d.ts +4 -0
- package/src/providers/clay/executors.js +78 -0
- package/src/providers/clay/request.d.ts +4 -0
- package/src/providers/clay/request.js +34 -0
- package/src/providers/clay/table-schema.d.ts +2 -0
- package/src/providers/clay/table-schema.js +102 -0
- package/src/providers/cloudflare_r2/runtime.js +5 -4
- package/src/providers/commonninja/executors.d.ts +4 -0
- package/src/providers/commonninja/executors.js +118 -0
- package/src/providers/cronlytic/actions.d.ts +2 -0
- package/src/providers/cronlytic/actions.js +116 -0
- package/src/providers/cronlytic/executors.d.ts +4 -0
- package/src/providers/cronlytic/executors.js +146 -0
- package/src/providers/dataforseo/runtime.js +2 -2
- package/src/providers/dropbox/executors.js +4 -4
- package/src/providers/dynalist/actions.d.ts +2 -0
- package/src/providers/dynalist/actions.js +191 -0
- package/src/providers/dynalist/executors.d.ts +4 -0
- package/src/providers/dynalist/executors.js +58 -0
- package/src/providers/easy_peasy_ai/actions.d.ts +2 -0
- package/src/providers/easy_peasy_ai/actions.js +107 -0
- package/src/providers/easy_peasy_ai/executors.d.ts +4 -0
- package/src/providers/easy_peasy_ai/executors.js +90 -0
- package/src/providers/edgeone_makers/executors.d.ts +4 -0
- package/src/providers/edgeone_makers/executors.js +441 -0
- package/src/providers/elevenlabs/executors.js +23 -19
- package/src/providers/elevenreader/runtime.js +7 -6
- package/src/providers/explorium/actions.d.ts +2 -0
- package/src/providers/explorium/actions.js +124 -0
- package/src/providers/explorium/executors.d.ts +4 -0
- package/src/providers/explorium/executors.js +100 -0
- package/src/providers/feishu/executors.d.ts +3 -0
- package/src/providers/feishu/executors.js +47 -2
- package/src/providers/feishu/runtime.js +4 -2
- package/src/providers/feishu/shared/client.js +4 -4
- package/src/providers/feishu/shared/docs-actions.js +27 -1
- package/src/providers/feishu/shared/docs-runtime.js +54 -3
- package/src/providers/feishu/shared/domain-media-runtime.js +1 -1
- package/src/providers/feishu/shared/drive-runtime.js +1 -1
- package/src/providers/feishu/shared/slides-runtime.js +1 -1
- package/src/providers/feishu/shared/vc-actions.js +9 -2
- package/src/providers/feishu/shared/vc-runtime.js +1 -0
- package/src/providers/feishu/shared/wiki-actions.js +2 -3
- package/src/providers/feishu/shared/wiki-runtime.js +1 -2
- package/src/providers/feishu_app_bot/executors.js +9 -8
- package/src/providers/fengshui/executors.d.ts +4 -0
- package/src/providers/fengshui/executors.js +23 -0
- package/src/providers/fengshui/runtime.d.ts +4 -0
- package/src/providers/fengshui/runtime.js +95 -0
- package/src/providers/files_com/executors.js +17 -18
- package/src/providers/finlight/actions.d.ts +2 -0
- package/src/providers/finlight/actions.js +130 -0
- package/src/providers/finlight/executors.d.ts +4 -0
- package/src/providers/finlight/executors.js +120 -0
- package/src/providers/firecrawl/executors.d.ts +6 -2
- package/src/providers/firecrawl/executors.js +60 -9
- package/src/providers/flotiq/actions.d.ts +2 -0
- package/src/providers/flotiq/actions.js +114 -0
- package/src/providers/flotiq/executors.d.ts +4 -0
- package/src/providers/flotiq/executors.js +135 -0
- package/src/providers/framejet/runtime.js +7 -6
- package/src/providers/freeastroapi/constants.d.ts +8 -0
- package/src/providers/freeastroapi/constants.js +24 -0
- package/src/providers/freeastroapi/executors.d.ts +4 -0
- package/src/providers/freeastroapi/executors.js +18 -0
- package/src/providers/freeastroapi/input-validation.d.ts +2 -0
- package/src/providers/freeastroapi/input-validation.js +186 -0
- package/src/providers/freeastroapi/runtime.d.ts +5 -0
- package/src/providers/freeastroapi/runtime.js +294 -0
- package/src/providers/fusion-api/operations.js +8 -8
- package/src/providers/fuxin/executors.js +9 -8
- package/src/providers/fxmacrodata/executors.d.ts +4 -0
- package/src/providers/fxmacrodata/executors.js +32 -0
- package/src/providers/fxmacrodata/runtime.d.ts +34 -0
- package/src/providers/fxmacrodata/runtime.js +154 -0
- package/src/providers/gemini/runtime.d.ts +1 -1
- package/src/providers/gemini/runtime.js +1 -1
- package/src/providers/getyoutubetranscript/executors.d.ts +4 -0
- package/src/providers/getyoutubetranscript/executors.js +14 -0
- package/src/providers/getyoutubetranscript/runtime.d.ts +8 -0
- package/src/providers/getyoutubetranscript/runtime.js +101 -0
- package/src/providers/github/runtime-pull-request.js +5 -4
- package/src/providers/gmail/executors.js +166 -73
- package/src/providers/gmail/limits.d.ts +3 -0
- package/src/providers/gmail/limits.js +5 -0
- package/src/providers/gmail/message.d.ts +13 -18
- package/src/providers/gmail/message.js +159 -54
- package/src/providers/gmail/mime-attachments.d.ts +8 -0
- package/src/providers/gmail/mime-attachments.js +76 -0
- package/src/providers/gmail/mime.d.ts +49 -0
- package/src/providers/gmail/mime.js +481 -0
- package/src/providers/gmail/scopes.d.ts +8 -5
- package/src/providers/gmail/scopes.js +8 -5
- package/src/providers/googleads/executors.d.ts +1 -1
- package/src/providers/googleads/executors.js +9 -9
- package/src/providers/googlecalendar/scopes.d.ts +11 -0
- package/src/providers/googlecalendar/scopes.js +18 -0
- package/src/providers/googledrive/executors.js +9 -7
- package/src/providers/googledrive/runtime-request.js +43 -3
- package/src/providers/googledrive/trigger-changes.js +9 -3
- package/src/providers/googleforms/executors.d.ts +1 -2
- package/src/providers/googleforms/executors.js +8 -8
- package/src/providers/googlephotos/executors.js +8 -1
- package/src/providers/greip/actions.d.ts +2 -0
- package/src/providers/greip/actions.js +107 -0
- package/src/providers/greip/executors.d.ts +4 -0
- package/src/providers/greip/executors.js +84 -0
- package/src/providers/greynoise/executors.d.ts +3 -0
- package/src/providers/greynoise/executors.js +17 -0
- package/src/providers/greynoise/runtime.d.ts +9 -0
- package/src/providers/greynoise/runtime.js +71 -0
- package/src/providers/growsurf/actions.d.ts +2 -0
- package/src/providers/growsurf/actions.js +182 -0
- package/src/providers/growsurf/executors.d.ts +4 -0
- package/src/providers/growsurf/executors.js +140 -0
- package/src/providers/hithink_finance/market-dumps.js +58 -12
- package/src/providers/http-json-runtime.js +4 -1
- package/src/providers/huodingdong_mcp/executors.d.ts +4 -0
- package/src/providers/huodingdong_mcp/executors.js +58 -0
- package/src/providers/indexed/runtime.js +2 -3
- package/src/providers/issue_badge/actions.d.ts +2 -0
- package/src/providers/issue_badge/actions.js +95 -0
- package/src/providers/issue_badge/executors.d.ts +4 -0
- package/src/providers/issue_badge/executors.js +98 -0
- package/src/providers/iyunbiao/runtime.js +5 -4
- package/src/providers/justoneapi/actions-commerce.d.ts +2 -0
- package/src/providers/justoneapi/actions-commerce.js +585 -0
- package/src/providers/justoneapi/actions-creators.d.ts +2 -0
- package/src/providers/justoneapi/actions-creators.js +986 -0
- package/src/providers/justoneapi/actions-media.d.ts +2 -0
- package/src/providers/justoneapi/actions-media.js +345 -0
- package/src/providers/justoneapi/actions-social-cn.d.ts +2 -0
- package/src/providers/justoneapi/actions-social-cn.js +1231 -0
- package/src/providers/justoneapi/actions-social-global.d.ts +2 -0
- package/src/providers/justoneapi/actions-social-global.js +455 -0
- package/src/providers/justoneapi/actions.d.ts +4 -0
- package/src/providers/justoneapi/actions.js +32 -0
- package/src/providers/justoneapi/endpoint-definition.d.ts +9 -0
- package/src/providers/justoneapi/endpoint-definition.js +1 -0
- package/src/providers/justoneapi/executors.d.ts +4 -0
- package/src/providers/justoneapi/executors.js +143 -0
- package/src/providers/kagi/actions.d.ts +2 -0
- package/src/providers/kagi/actions.js +36 -0
- package/src/providers/kagi/executors.d.ts +4 -0
- package/src/providers/kagi/executors.js +120 -0
- package/src/providers/karakeep/runtime-assets.js +7 -5
- package/src/providers/kenjo/actions.d.ts +2 -0
- package/src/providers/kenjo/actions.js +112 -0
- package/src/providers/kenjo/executors.d.ts +4 -0
- package/src/providers/kenjo/executors.js +138 -0
- package/src/providers/keyzy/actions.d.ts +2 -0
- package/src/providers/keyzy/actions.js +102 -0
- package/src/providers/keyzy/executors.d.ts +4 -0
- package/src/providers/keyzy/executors.js +114 -0
- package/src/providers/kickofflabs/actions.d.ts +2 -0
- package/src/providers/kickofflabs/actions.js +48 -0
- package/src/providers/kickofflabs/executors.d.ts +4 -0
- package/src/providers/kickofflabs/executors.js +71 -0
- package/src/providers/klangio/runtime.js +10 -8
- package/src/providers/latchshot/executors.js +8 -6
- package/src/providers/lingxing_mcp/runtime.js +39 -24
- package/src/providers/litellm/executors.d.ts +4 -0
- package/src/providers/litellm/executors.js +34 -0
- package/src/providers/litellm/runtime.d.ts +29 -0
- package/src/providers/litellm/runtime.js +227 -0
- package/src/providers/mcp-tools.d.ts +2 -0
- package/src/providers/mcp-tools.js +2 -1
- package/src/providers/mem0/runtime.d.ts +1 -2
- package/src/providers/mem0/runtime.js +3 -4
- package/src/providers/memento_database/actions.d.ts +2 -0
- package/src/providers/memento_database/actions.js +170 -0
- package/src/providers/memento_database/executors.d.ts +4 -0
- package/src/providers/memento_database/executors.js +113 -0
- package/src/providers/mistral_ai/executors.js +5 -4
- package/src/providers/nationalize/executors.d.ts +4 -0
- package/src/providers/nationalize/executors.js +62 -0
- package/src/providers/navigatr/actions.d.ts +2 -0
- package/src/providers/navigatr/actions.js +179 -0
- package/src/providers/navigatr/executors.d.ts +4 -0
- package/src/providers/navigatr/executors.js +118 -0
- package/src/providers/nightfall_ai/actions.d.ts +2 -0
- package/src/providers/nightfall_ai/actions.js +74 -0
- package/src/providers/nightfall_ai/executors.d.ts +4 -0
- package/src/providers/nightfall_ai/executors.js +62 -0
- package/src/providers/one_drive/executors.js +5 -4
- package/src/providers/oomol_console/permission-groups.d.ts +12 -0
- package/src/providers/oomol_console/permission-groups.js +28 -3
- package/src/providers/oomol_console/runtime.js +29 -3
- package/src/providers/opper/executors.d.ts +4 -0
- package/src/providers/opper/executors.js +89 -0
- package/src/providers/outlook/executors.js +3 -3
- package/src/providers/picky_assist/actions.d.ts +2 -0
- package/src/providers/picky_assist/actions.js +61 -0
- package/src/providers/picky_assist/executors.d.ts +4 -0
- package/src/providers/picky_assist/executors.js +68 -0
- package/src/providers/pixellab/runtime.js +6 -5
- package/src/providers/planly/actions.d.ts +2 -0
- package/src/providers/planly/actions.js +155 -0
- package/src/providers/planly/executors.d.ts +4 -0
- package/src/providers/planly/executors.js +83 -0
- package/src/providers/pointagram/actions.d.ts +2 -0
- package/src/providers/pointagram/actions.js +167 -0
- package/src/providers/pointagram/executors.d.ts +4 -0
- package/src/providers/pointagram/executors.js +107 -0
- package/src/providers/provider-runtime.d.ts +9 -2
- package/src/providers/provider-runtime.js +69 -15
- package/src/providers/pushinator/actions.d.ts +2 -0
- package/src/providers/pushinator/actions.js +34 -0
- package/src/providers/pushinator/executors.d.ts +4 -0
- package/src/providers/pushinator/executors.js +61 -0
- package/src/providers/quickbooks/constants.d.ts +18 -0
- package/src/providers/quickbooks/constants.js +15 -0
- package/src/providers/quickbooks/executors.d.ts +9 -0
- package/src/providers/quickbooks/executors.js +407 -0
- package/src/providers/quickbooks/oauth.d.ts +11 -0
- package/src/providers/quickbooks/oauth.js +103 -0
- package/src/providers/quickbooks/payloads.d.ts +7 -0
- package/src/providers/quickbooks/payloads.js +104 -0
- package/src/providers/quickbooks/resources.d.ts +37 -0
- package/src/providers/quickbooks/resources.js +256 -0
- package/src/providers/quickbooks/runtime.d.ts +93 -0
- package/src/providers/quickbooks/runtime.js +278 -0
- package/src/providers/registry.generated.js +53 -1
- package/src/providers/retell_ai/executors.d.ts +0 -5
- package/src/providers/retell_ai/executors.js +60 -93
- package/src/providers/roxyapi/executors.d.ts +4 -0
- package/src/providers/roxyapi/executors.js +25 -0
- package/src/providers/roxyapi/runtime.d.ts +10 -0
- package/src/providers/roxyapi/runtime.js +279 -0
- package/src/providers/scanmalware/executors.d.ts +3 -0
- package/src/providers/scanmalware/executors.js +17 -0
- package/src/providers/scanmalware/runtime.d.ts +9 -0
- package/src/providers/scanmalware/runtime.js +120 -0
- package/src/providers/screenshotone/runtime.js +7 -6
- package/src/providers/sendblue/actions.d.ts +2 -0
- package/src/providers/sendblue/actions.js +163 -0
- package/src/providers/sendblue/executors.d.ts +4 -0
- package/src/providers/sendblue/executors.js +156 -0
- package/src/providers/serwersms_pl/actions.d.ts +2 -0
- package/src/providers/serwersms_pl/actions.js +166 -0
- package/src/providers/serwersms_pl/executors.d.ts +4 -0
- package/src/providers/serwersms_pl/executors.js +85 -0
- package/src/providers/shopify/bulk.d.ts +2 -0
- package/src/providers/shopify/bulk.js +139 -0
- package/src/providers/shopify/catalog.d.ts +2 -0
- package/src/providers/shopify/catalog.js +301 -0
- package/src/providers/shopify/client.d.ts +13 -0
- package/src/providers/shopify/client.js +67 -0
- package/src/providers/shopify/content-runtime.d.ts +2 -0
- package/src/providers/shopify/{runtime.js → content-runtime.js} +14 -206
- package/src/providers/shopify/context.d.ts +10 -0
- package/src/providers/shopify/context.js +1 -0
- package/src/providers/shopify/customers.d.ts +2 -0
- package/src/providers/shopify/customers.js +118 -0
- package/src/providers/shopify/executors.d.ts +2 -0
- package/src/providers/shopify/executors.js +48 -7
- package/src/providers/shopify/graphql.d.ts +2 -0
- package/src/providers/shopify/graphql.js +17 -0
- package/src/providers/shopify/inventory.d.ts +2 -0
- package/src/providers/shopify/inventory.js +362 -0
- package/src/providers/shopify/oauth.d.ts +2 -0
- package/src/providers/shopify/oauth.js +94 -0
- package/src/providers/shopify/operation-definitions.d.ts +13 -0
- package/src/providers/shopify/operation-definitions.js +414 -0
- package/src/providers/shopify/operation-queries.d.ts +1 -0
- package/src/providers/shopify/operation-queries.js +62 -0
- package/src/providers/shopify/operations.d.ts +2 -0
- package/src/providers/shopify/operations.js +48 -0
- package/src/providers/shopify/orders.d.ts +2 -0
- package/src/providers/shopify/orders.js +357 -0
- package/src/providers/shopify/runtime-common.d.ts +16 -0
- package/src/providers/shopify/runtime-common.js +85 -0
- package/src/providers/shopify/shop-domain.d.ts +1 -0
- package/src/providers/shopify/shop-domain.js +49 -0
- package/src/providers/shopify/shop.d.ts +2 -0
- package/src/providers/shopify/shop.js +14 -0
- package/src/providers/simpletexting/actions.d.ts +2 -0
- package/src/providers/simpletexting/actions.js +195 -0
- package/src/providers/simpletexting/executors.d.ts +4 -0
- package/src/providers/simpletexting/executors.js +157 -0
- package/src/providers/slack/actions.js +44 -0
- package/src/providers/slack/runtime.js +65 -6
- package/src/providers/snappy/actions.d.ts +2 -0
- package/src/providers/snappy/actions.js +318 -0
- package/src/providers/snappy/executors.d.ts +4 -0
- package/src/providers/snappy/executors.js +89 -0
- package/src/providers/solarwinds_service_desk/actions.d.ts +2 -0
- package/src/providers/solarwinds_service_desk/actions.js +207 -0
- package/src/providers/solarwinds_service_desk/executors.d.ts +4 -0
- package/src/providers/solarwinds_service_desk/executors.js +160 -0
- package/src/providers/supabase/runtime.js +5 -4
- package/src/providers/templatedocs/runtime.js +8 -5
- package/src/providers/thesportsdb/actions.d.ts +2 -0
- package/src/providers/thesportsdb/actions.js +116 -0
- package/src/providers/thesportsdb/executors.d.ts +4 -0
- package/src/providers/thesportsdb/executors.js +114 -0
- package/src/providers/tianapi/executors.d.ts +4 -0
- package/src/providers/tianapi/executors.js +18 -0
- package/src/providers/tianapi/runtime.d.ts +5 -0
- package/src/providers/tianapi/runtime.js +315 -0
- package/src/providers/timem_space/actions.d.ts +2 -0
- package/src/providers/timem_space/actions.js +112 -0
- package/src/providers/timem_space/executors.d.ts +3 -0
- package/src/providers/timem_space/executors.js +52 -0
- package/src/providers/tinypng/runtime.js +8 -7
- package/src/providers/unirateapi/actions.d.ts +2 -0
- package/src/providers/unirateapi/actions.js +122 -0
- package/src/providers/unirateapi/executors.d.ts +4 -0
- package/src/providers/unirateapi/executors.js +89 -0
- package/src/providers/validemail/executors.d.ts +4 -0
- package/src/providers/validemail/executors.js +65 -0
- package/src/providers/vercel/executors.js +1 -0
- package/src/providers/vercel/runtime.d.ts +1 -0
- package/src/providers/vercel/runtime.js +737 -27
- package/src/providers/vimeo/runtime.js +5 -4
- package/src/providers/viral_loops/actions.d.ts +2 -0
- package/src/providers/viral_loops/actions.js +90 -0
- package/src/providers/viral_loops/executors.d.ts +4 -0
- package/src/providers/viral_loops/executors.js +81 -0
- package/src/providers/wbiztool/actions.d.ts +2 -0
- package/src/providers/wbiztool/actions.js +127 -0
- package/src/providers/wbiztool/executors.d.ts +4 -0
- package/src/providers/wbiztool/executors.js +140 -0
- package/src/providers/whatsapp/runtime.js +223 -3
- package/src/providers/wordpress/runtime.d.ts +0 -9
- package/src/providers/wordpress/runtime.js +354 -91
- package/src/providers/xingpan/constants.d.ts +1 -0
- package/src/providers/xingpan/constants.js +14 -0
- package/src/providers/xingpan/executors.d.ts +4 -0
- package/src/providers/xingpan/executors.js +18 -0
- package/src/providers/xingpan/runtime.d.ts +5 -0
- package/src/providers/xingpan/runtime.js +229 -0
- package/src/providers/youtube/runtime.js +5 -4
- package/src/providers/yuanfenju/executors.d.ts +4 -0
- package/src/providers/yuanfenju/executors.js +28 -0
- package/src/providers/yuanfenju/runtime.d.ts +10 -0
- package/src/providers/yuanfenju/runtime.js +281 -0
- package/src/server/actions/action-runner.d.ts +3 -0
- package/src/server/actions/action-runner.js +20 -3
- package/src/server/actions/run-log-summary.js +1 -0
- package/src/server/api/action-example.d.ts +3 -0
- package/src/server/api/action-example.js +402 -0
- package/src/server/api/action-markdown.js +1 -35
- package/src/server/api/auth.js +7 -0
- package/src/server/api/cache-policy.js +3 -4
- package/src/server/api/oauth-completion-page.d.ts +3 -1
- package/src/server/api/oauth-completion-page.js +5 -3
- package/src/server/api/openapi.js +22 -5
- package/src/server/api/pattern-example.d.ts +22 -0
- package/src/server/api/pattern-example.js +413 -0
- package/src/server/api/runtime-api.js +8 -2
- package/src/server/connect-app.d.ts +3 -0
- package/src/server/connect-app.js +5 -0
- package/src/server/connect-server.d.ts +6 -0
- package/src/server/connect-server.js +43 -9
- package/src/server/connector-runtime.d.ts +5 -0
- package/src/server/connector-runtime.js +6 -0
- package/src/server/files/node-transit-file-upload.js +7 -3
- package/src/server/files/transit-file-store.js +10 -4
- package/src/server/files/transit-files.d.ts +18 -0
- package/src/server/files/transit-files.js +74 -13
- package/src/server/proxy/proxy-runner.d.ts +3 -0
- package/src/server/proxy/proxy-runner.js +23 -2
- package/src/server/storage/connection-request-store.js +27 -14
- package/src/server/storage/connection-retirement.d.ts +7 -0
- package/src/server/storage/connection-retirement.js +21 -0
- package/src/server/storage/connection-store.d.ts +3 -0
- package/src/server/storage/connection-store.js +58 -5
- package/src/server/storage/oauth-state-store.d.ts +12 -0
- package/src/server/storage/oauth-state-store.js +36 -0
- package/src/server/storage/postgres/runtime-store.d.ts +2 -2
- package/src/server/storage/postgres/runtime-store.js +3 -28
- package/src/server/storage/sqlite/runtime-store.d.ts +2 -10
- package/src/server/storage/sqlite/runtime-store.js +7 -30
- package/src/triggers/trigger-runner.d.ts +4 -0
- package/src/triggers/trigger-runner.js +21 -7
- package/assets/open-connector/catalog/apps/shopify_admin.json +0 -5423
- package/src/providers/shopify/runtime.d.ts +0 -14
- package/src/providers/shopify/scopes.d.ts +0 -3
- package/src/providers/shopify/scopes.js +0 -3
- package/src/providers/shopify_admin/executors.js +0 -37
- package/src/providers/shopify_admin/runtime.d.ts +0 -23
- package/src/providers/shopify_admin/runtime.js +0 -1486
- /package/src/providers/{shopify_admin → api_route}/executors.d.ts +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
create table connection_retirements (
|
|
2
|
+
service text not null,
|
|
3
|
+
connection_name text not null,
|
|
4
|
+
generation text not null,
|
|
5
|
+
primary key (service, connection_name)
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
-- Unfenced local consent must restart; stored credentials remain intact.
|
|
9
|
+
delete from oauth_states;
|
|
10
|
+
alter table oauth_states add column service text;
|
|
11
|
+
alter table oauth_states add column connection_name text;
|
|
12
|
+
create index oauth_states_connection on oauth_states (service, connection_name);
|
|
13
|
+
alter table connection_requests add column connection_name text;
|
|
14
|
+
create index connection_requests_connection on connection_requests (service, connection_name);
|
|
15
|
+
update connection_requests set phase = 'completed', status = 'failed', value = null,
|
|
16
|
+
error_code = 'authorization_fence_required', error_message = 'Restart authorization after upgrading.'
|
|
17
|
+
where kind = 'local' and phase <> 'completed';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
create table connection_retirements (
|
|
2
|
+
service text not null,
|
|
3
|
+
connection_name text not null,
|
|
4
|
+
generation text not null,
|
|
5
|
+
primary key (service, connection_name)
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
-- Unfenced local consent must restart; stored credentials remain intact.
|
|
9
|
+
delete from oauth_states;
|
|
10
|
+
alter table oauth_states add column service text;
|
|
11
|
+
alter table oauth_states add column connection_name text;
|
|
12
|
+
create index oauth_states_connection on oauth_states (service, connection_name);
|
|
13
|
+
alter table connection_requests add column connection_name text;
|
|
14
|
+
create index connection_requests_connection on connection_requests (service, connection_name);
|
|
15
|
+
update connection_requests set phase = 'completed', status = 'failed', value = null,
|
|
16
|
+
error_code = 'authorization_fence_required', error_message = 'Restart authorization after upgrading.'
|
|
17
|
+
where kind = 'local' and phase <> 'completed';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oomol-lab/open-connector",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Embeddable Open Connector runtime for Node.js and Bun.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -15,33 +15,34 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@aws-sdk/client-s3": "^3.
|
|
18
|
+
"@aws-sdk/client-s3": "^3.1151.0",
|
|
19
19
|
"@cfworker/json-schema": "^4.1.1",
|
|
20
|
-
"@hono/node-server": "^2.
|
|
21
|
-
"@modelcontextprotocol/client": "^2.
|
|
22
|
-
"@modelcontextprotocol/server": "^2.
|
|
23
|
-
"@scalar/hono-api-reference": "^0.
|
|
20
|
+
"@hono/node-server": "^2.1.5",
|
|
21
|
+
"@modelcontextprotocol/client": "^2.3.1",
|
|
22
|
+
"@modelcontextprotocol/server": "^2.3.1",
|
|
23
|
+
"@scalar/hono-api-reference": "^0.12.12",
|
|
24
24
|
"ali-oss": "^6.23.0",
|
|
25
25
|
"busboy": "^1.6.0",
|
|
26
|
-
"fast-xml-builder": "^1.3.
|
|
27
|
-
"fast-xml-parser": "^5.
|
|
28
|
-
"fast-xml-validator": "^1.4.
|
|
29
|
-
"hono": "^4.13.
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
26
|
+
"fast-xml-builder": "^1.3.1",
|
|
27
|
+
"fast-xml-parser": "^5.11.2",
|
|
28
|
+
"fast-xml-validator": "^1.4.2",
|
|
29
|
+
"hono": "^4.13.13",
|
|
30
|
+
"iconv-lite": "^0.7.3",
|
|
31
|
+
"imapflow": "^2.4.0",
|
|
32
|
+
"jose": "^6.2.12",
|
|
33
|
+
"mailparser": "^3.9.38",
|
|
34
|
+
"mdast-util-from-markdown": "^2.1.0",
|
|
34
35
|
"mdast-util-gfm": "^3.1.0",
|
|
35
|
-
"mdast-util-to-markdown": "^2.
|
|
36
|
+
"mdast-util-to-markdown": "^2.2.0",
|
|
36
37
|
"micromark-extension-gfm": "^3.0.0",
|
|
37
38
|
"minisearch": "^7.2.0",
|
|
38
|
-
"mqtt": "^5.
|
|
39
|
-
"nodemailer": "^
|
|
40
|
-
"pg": "^8.23.
|
|
41
|
-
"pino": "^10.
|
|
39
|
+
"mqtt": "^5.16.0",
|
|
40
|
+
"nodemailer": "^10.1.0",
|
|
41
|
+
"pg": "^8.23.1",
|
|
42
|
+
"pino": "^10.4.0",
|
|
42
43
|
"rss-parser": "^3.13.0",
|
|
43
|
-
"yaml": "^2.9.
|
|
44
|
-
"zod": "^4.6.
|
|
44
|
+
"yaml": "^2.9.1",
|
|
45
|
+
"zod": "^4.6.7"
|
|
45
46
|
},
|
|
46
47
|
"engines": {
|
|
47
48
|
"node": ">=22.18.0"
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { CatalogStore } from "./catalog-store.ts";
|
|
2
|
+
import type { ProviderHttpDispatchOptions } from "./core/provider-http-dispatch.ts";
|
|
2
3
|
import type { AuthType, CredentialProfile, ResolvedCredential, RuntimeLogger } from "./core/types.ts";
|
|
3
4
|
import type { MarketplacePricing, MarketplaceService } from "./marketplace/marketplace-service.ts";
|
|
4
|
-
import type { IOAuthCredentialRefresher } from "./oauth/oauth-credential-refresh-service.ts";
|
|
5
|
+
import type { IOAuthCredentialRefresher, OAuthRevocationOutcome } from "./oauth/oauth-credential-refresh-service.ts";
|
|
5
6
|
import type { IProviderLoader } from "./providers/provider-loader.ts";
|
|
6
7
|
export declare const defaultConnectionName = "default";
|
|
7
8
|
/**
|
|
@@ -13,6 +14,8 @@ export interface ConnectionSummary {
|
|
|
13
14
|
connectionName: string;
|
|
14
15
|
authType: AuthType | "marketplace";
|
|
15
16
|
configured: boolean;
|
|
17
|
+
/** Known credential state; token expiry alone does not require new consent when refresh is available. */
|
|
18
|
+
status?: "active" | "reauth_required";
|
|
16
19
|
virtual: boolean;
|
|
17
20
|
default: boolean;
|
|
18
21
|
profile: CredentialProfile;
|
|
@@ -40,6 +43,7 @@ export interface ConnectWithoutAuthInput {
|
|
|
40
43
|
connectionName?: string;
|
|
41
44
|
}
|
|
42
45
|
export interface ConnectionServiceOptions {
|
|
46
|
+
providerHttpDispatch?: ProviderHttpDispatchOptions;
|
|
43
47
|
catalog: CatalogStore;
|
|
44
48
|
oauthCredentials?: IOAuthCredentialRefresher;
|
|
45
49
|
providerLoader: IProviderLoader;
|
|
@@ -75,10 +79,22 @@ export interface StoredLocalConnection {
|
|
|
75
79
|
connectionName: string;
|
|
76
80
|
credential: ResolvedCredential;
|
|
77
81
|
}
|
|
82
|
+
export interface DisconnectOptions {
|
|
83
|
+
/**
|
|
84
|
+
* `true` also revokes the OAuth grant at the provider once the credential is
|
|
85
|
+
* deleted here, and the answer's `revoked` says how that went. Omitted or
|
|
86
|
+
* `false` (the default) deletes the credential alone and answers `skipped` —
|
|
87
|
+
* the right call when another connection of the same account shares the
|
|
88
|
+
* grant at the provider, where revoking would end the one that stays.
|
|
89
|
+
*/
|
|
90
|
+
revoke?: boolean;
|
|
91
|
+
}
|
|
78
92
|
export interface DisconnectedConnectionSummary {
|
|
79
93
|
service: string;
|
|
80
94
|
connectionName: string;
|
|
81
95
|
configured: false;
|
|
96
|
+
/** What the disconnect did about the grant at the provider; see {@link OAuthRevocationOutcome}. */
|
|
97
|
+
revoked: OAuthRevocationOutcome;
|
|
82
98
|
}
|
|
83
99
|
export type ExecutionConnection = LocalExecutionConnection | MarketplaceExecutionConnection | SaasExecutionConnection;
|
|
84
100
|
interface LocalExecutionConnection {
|
|
@@ -100,6 +116,8 @@ interface SaasExecutionConnection {
|
|
|
100
116
|
*/
|
|
101
117
|
export interface IConnectionStore {
|
|
102
118
|
get(service: string, connectionName: string): Promise<StoredConnection | undefined>;
|
|
119
|
+
getRetirementGeneration(service: string, connectionName: string): Promise<string>;
|
|
120
|
+
setIfCurrentGeneration(service: string, connectionName: string, credential: ResolvedCredential, retirementGeneration: string): Promise<StoredLocalConnection | undefined>;
|
|
103
121
|
set(service: string, connectionName: string, credential: ResolvedCredential): Promise<StoredLocalConnection>;
|
|
104
122
|
updateCredential(input: StoredLocalConnection, refresh?: boolean): Promise<boolean>;
|
|
105
123
|
delete(service: string, connectionName: string): Promise<void>;
|
|
@@ -115,6 +133,7 @@ type OAuthCredential = Extract<ResolvedCredential, {
|
|
|
115
133
|
* run public actions without configuration.
|
|
116
134
|
*/
|
|
117
135
|
export declare class ConnectionService {
|
|
136
|
+
private readonly providerHttpDispatch?;
|
|
118
137
|
private readonly catalog;
|
|
119
138
|
private readonly oauthCredentialRefreshes;
|
|
120
139
|
private readonly oauthCredentials?;
|
|
@@ -152,7 +171,9 @@ export declare class ConnectionService {
|
|
|
152
171
|
connectWithCustomCredential(service: string, input: ConnectWithCredentialInput): Promise<ConnectionSummary>;
|
|
153
172
|
setOAuthCredential(service: string, credential: Extract<ResolvedCredential, {
|
|
154
173
|
authType: "oauth2";
|
|
155
|
-
}>, connectionNameInput?: string, signal?: AbortSignal): Promise<ConnectionSummary>;
|
|
174
|
+
}>, connectionNameInput?: string, signal?: AbortSignal, retirementGeneration?: string): Promise<ConnectionSummary>;
|
|
175
|
+
/** Capture the durable disconnect fence before sending the user to the provider. */
|
|
176
|
+
getRetirementGeneration(service: string, connectionName?: string): Promise<string>;
|
|
156
177
|
prepareOAuthCredential(service: string, credential: OAuthCredential, signal?: AbortSignal): Promise<OAuthCredential>;
|
|
157
178
|
private selectStoredConnection;
|
|
158
179
|
getStoredConnection(id: string): Promise<StoredConnection>;
|
|
@@ -161,7 +182,16 @@ export declare class ConnectionService {
|
|
|
161
182
|
private createManagedConnectionSummary;
|
|
162
183
|
private saveCredential;
|
|
163
184
|
private replaceCredential;
|
|
164
|
-
disconnect(service: string, connectionNameInput?: string): Promise<ConnectionSummary
|
|
185
|
+
disconnect(service: string, connectionNameInput?: string, options?: DisconnectOptions): Promise<(ConnectionSummary & {
|
|
186
|
+
revoked: OAuthRevocationOutcome;
|
|
187
|
+
}) | DisconnectedConnectionSummary>;
|
|
188
|
+
/**
|
|
189
|
+
* End the grant at the provider once its credential is deleted here, so a
|
|
190
|
+
* disconnected provider does not keep an app it no longer sees authorized.
|
|
191
|
+
* Best effort by design: a provider that refuses or cannot be reached is
|
|
192
|
+
* logged, and the connection the caller asked to remove is gone either way.
|
|
193
|
+
*/
|
|
194
|
+
private revokeDeletedCredential;
|
|
165
195
|
private createConfiguredConnectionSummary;
|
|
166
196
|
private createStoredConnectionSummary;
|
|
167
197
|
private createNoAuthConnectionSummary;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { normalizeCredentialValues } from "./core/credential-fields.js";
|
|
2
2
|
import { apiKeyCredentialFields } from "./core/provider-setup.js";
|
|
3
|
-
import { providerFetch } from "./providers/provider-runtime.js";
|
|
3
|
+
import { providerFetch, ProviderDispatchRequestError, withProviderHttpDispatchResult, } from "./providers/provider-runtime.js";
|
|
4
4
|
export const defaultConnectionName = "default";
|
|
5
5
|
const connectionNamePattern = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/;
|
|
6
6
|
/**
|
|
@@ -10,6 +10,7 @@ const connectionNamePattern = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/;
|
|
|
10
10
|
* run public actions without configuration.
|
|
11
11
|
*/
|
|
12
12
|
export class ConnectionService {
|
|
13
|
+
providerHttpDispatch;
|
|
13
14
|
catalog;
|
|
14
15
|
oauthCredentialRefreshes = new Map();
|
|
15
16
|
oauthCredentials;
|
|
@@ -18,6 +19,7 @@ export class ConnectionService {
|
|
|
18
19
|
logger;
|
|
19
20
|
marketplace;
|
|
20
21
|
constructor(input) {
|
|
22
|
+
this.providerHttpDispatch = input.providerHttpDispatch;
|
|
21
23
|
this.catalog = input.catalog;
|
|
22
24
|
this.oauthCredentials = input.oauthCredentials;
|
|
23
25
|
this.providerLoader = input.providerLoader;
|
|
@@ -211,12 +213,19 @@ export class ConnectionService {
|
|
|
211
213
|
};
|
|
212
214
|
return this.saveCredential(provider, credential, input);
|
|
213
215
|
}
|
|
214
|
-
async setOAuthCredential(service, credential, connectionNameInput, signal) {
|
|
215
|
-
const storedCredential = await this.prepareOAuthCredential(service, credential, signal);
|
|
216
|
+
async setOAuthCredential(service, credential, connectionNameInput, signal, retirementGeneration) {
|
|
216
217
|
const connectionName = normalizeConnectionName(connectionNameInput);
|
|
217
|
-
const
|
|
218
|
+
const generation = retirementGeneration ?? (await this.store.getRetirementGeneration(service, connectionName));
|
|
219
|
+
const storedCredential = await this.prepareOAuthCredential(service, credential, signal);
|
|
220
|
+
const stored = await this.store.setIfCurrentGeneration(service, connectionName, storedCredential, generation);
|
|
221
|
+
if (!stored)
|
|
222
|
+
throw new ConnectionError("connection_retired", "The connection was disconnected during authorization.");
|
|
218
223
|
return this.createStoredConnectionSummary(this.getAvailableProvider(service), stored.id, connectionName, storedCredential);
|
|
219
224
|
}
|
|
225
|
+
/** Capture the durable disconnect fence before sending the user to the provider. */
|
|
226
|
+
async getRetirementGeneration(service, connectionName) {
|
|
227
|
+
return this.store.getRetirementGeneration(service, normalizeConnectionName(connectionName));
|
|
228
|
+
}
|
|
220
229
|
async prepareOAuthCredential(service, credential, signal) {
|
|
221
230
|
const provider = this.getAvailableProvider(service);
|
|
222
231
|
if (!this.supportsAuth(provider, "oauth2")) {
|
|
@@ -267,9 +276,7 @@ export class ConnectionService {
|
|
|
267
276
|
};
|
|
268
277
|
const credential = stored.credential;
|
|
269
278
|
return {
|
|
270
|
-
status:
|
|
271
|
-
? "reauth_required"
|
|
272
|
-
: "active",
|
|
279
|
+
status: "active",
|
|
273
280
|
...this.createConfiguredConnectionSummary(this.getProvider(stored.service), stored.id, stored.connectionName, credential),
|
|
274
281
|
comment: credential.authType !== "no_auth" && typeof credential.metadata.connectionComment === "string"
|
|
275
282
|
? credential.metadata.connectionComment
|
|
@@ -296,14 +303,62 @@ export class ConnectionService {
|
|
|
296
303
|
}
|
|
297
304
|
return { ...expected, credential };
|
|
298
305
|
}
|
|
299
|
-
async disconnect(service, connectionNameInput) {
|
|
306
|
+
async disconnect(service, connectionNameInput, options = {}) {
|
|
300
307
|
const connectionName = normalizeConnectionName(connectionNameInput);
|
|
308
|
+
// The credential is read before the delete and revoked after it: a delete the store
|
|
309
|
+
// refuses (a row bound to active Trigger subscriptions) then ends nothing at the provider,
|
|
310
|
+
// where revoking first would leave a dead grant behind a row that stays.
|
|
311
|
+
let stored;
|
|
312
|
+
let readFailed = false;
|
|
313
|
+
if (options.revoke === true) {
|
|
314
|
+
try {
|
|
315
|
+
stored = await this.store.get(service, connectionName);
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
readFailed = true;
|
|
319
|
+
this.logger?.warn({ service, connectionName, error: describeError(error) }, "oauth token revocation skipped");
|
|
320
|
+
}
|
|
321
|
+
}
|
|
301
322
|
await this.store.delete(service, connectionName);
|
|
323
|
+
const revoked = options.revoke !== true
|
|
324
|
+
? "skipped"
|
|
325
|
+
: readFailed
|
|
326
|
+
? "failed"
|
|
327
|
+
: await this.revokeDeletedCredential(service, connectionName, stored);
|
|
302
328
|
const provider = this.catalog.providers.find((provider) => provider.service === service);
|
|
303
329
|
if (provider && this.supportsAuth(provider, "no_auth")) {
|
|
304
|
-
return this.connectWithoutAuth(service, { connectionName });
|
|
330
|
+
return { ...(await this.connectWithoutAuth(service, { connectionName })), revoked };
|
|
331
|
+
}
|
|
332
|
+
return { service, connectionName, configured: false, revoked };
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* End the grant at the provider once its credential is deleted here, so a
|
|
336
|
+
* disconnected provider does not keep an app it no longer sees authorized.
|
|
337
|
+
* Best effort by design: a provider that refuses or cannot be reached is
|
|
338
|
+
* logged, and the connection the caller asked to remove is gone either way.
|
|
339
|
+
*/
|
|
340
|
+
async revokeDeletedCredential(service, connectionName, stored) {
|
|
341
|
+
const refresher = this.oauthCredentials;
|
|
342
|
+
if (!refresher?.revoke) {
|
|
343
|
+
return "unsupported";
|
|
344
|
+
}
|
|
345
|
+
const logContext = { service, connectionName };
|
|
346
|
+
if (!stored || stored.source === "saas" || stored.credential.authType !== "oauth2") {
|
|
347
|
+
return "unsupported";
|
|
348
|
+
}
|
|
349
|
+
try {
|
|
350
|
+
const outcome = await refresher.revoke(service, stored.credential);
|
|
351
|
+
this.logger?.info({ ...logContext, revoked: outcome }, "oauth token revocation completed");
|
|
352
|
+
return outcome;
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
this.logger?.warn({
|
|
356
|
+
...logContext,
|
|
357
|
+
errorCode: error instanceof ConnectionError ? error.code : "oauth_token_revocation_failed",
|
|
358
|
+
error: describeError(error),
|
|
359
|
+
}, "oauth token revocation failed");
|
|
360
|
+
return "failed";
|
|
305
361
|
}
|
|
306
|
-
return { service, connectionName, configured: false };
|
|
307
362
|
}
|
|
308
363
|
createConfiguredConnectionSummary(provider, id, connectionName, credential) {
|
|
309
364
|
if (credential.authType === "no_auth") {
|
|
@@ -322,6 +377,11 @@ export class ConnectionService {
|
|
|
322
377
|
connectionName,
|
|
323
378
|
authType: credential.authType,
|
|
324
379
|
configured: true,
|
|
380
|
+
status: credential.authType === "oauth2" &&
|
|
381
|
+
(credential.metadata.oauthReauthRequired === true ||
|
|
382
|
+
(!credential.refreshToken && isOAuthCredentialExpired(credential)))
|
|
383
|
+
? "reauth_required"
|
|
384
|
+
: "active",
|
|
325
385
|
virtual: false,
|
|
326
386
|
default: connectionName === defaultConnectionName,
|
|
327
387
|
profile: credential.profile,
|
|
@@ -432,6 +492,9 @@ export class ConnectionService {
|
|
|
432
492
|
}
|
|
433
493
|
async resolveOAuthCredential(connection, credential) {
|
|
434
494
|
const service = connection.service;
|
|
495
|
+
if (credential.metadata.oauthReauthRequired === true) {
|
|
496
|
+
throw new ConnectionError("oauth_reauth_required", `OAuth authorization is no longer valid. Reconnect ${service}.`);
|
|
497
|
+
}
|
|
435
498
|
if (!isOAuthCredentialExpired(credential)) {
|
|
436
499
|
return credential;
|
|
437
500
|
}
|
|
@@ -459,7 +522,23 @@ export class ConnectionService {
|
|
|
459
522
|
}
|
|
460
523
|
async refreshOAuthCredential(connection, credential, refresher) {
|
|
461
524
|
const { id, revision, service, connectionName } = connection;
|
|
462
|
-
|
|
525
|
+
let nextCredential;
|
|
526
|
+
try {
|
|
527
|
+
nextCredential = await withProviderHttpDispatchResult({ operation: "oauth", service, connectionId: id, connectionName }, () => refresher.refresh(service, credential), this.providerHttpDispatch);
|
|
528
|
+
}
|
|
529
|
+
catch (error) {
|
|
530
|
+
if (error instanceof ConnectionError && error.code === "oauth_reauth_required") {
|
|
531
|
+
// The revision fence prevents a late refusal from marking a replacement authorization as expired.
|
|
532
|
+
await this.store.updateCredential({
|
|
533
|
+
id,
|
|
534
|
+
revision,
|
|
535
|
+
service,
|
|
536
|
+
connectionName,
|
|
537
|
+
credential: { ...credential, metadata: { ...credential.metadata, oauthReauthRequired: true } },
|
|
538
|
+
}, true);
|
|
539
|
+
}
|
|
540
|
+
throw error;
|
|
541
|
+
}
|
|
463
542
|
const updated = await this.store.updateCredential({
|
|
464
543
|
id,
|
|
465
544
|
revision,
|
|
@@ -475,7 +554,7 @@ export class ConnectionService {
|
|
|
475
554
|
async runCredentialValidator(service, validate, signal) {
|
|
476
555
|
this.assertNotCancelled(signal);
|
|
477
556
|
try {
|
|
478
|
-
const result = (await validate
|
|
557
|
+
const result = (await withProviderHttpDispatchResult({ operation: "credential_validation", service }, validate, this.providerHttpDispatch)) ?? {};
|
|
479
558
|
this.assertNotCancelled(signal);
|
|
480
559
|
return result;
|
|
481
560
|
}
|
|
@@ -483,6 +562,8 @@ export class ConnectionService {
|
|
|
483
562
|
if (signal?.aborted) {
|
|
484
563
|
throw cancelledConnectionError();
|
|
485
564
|
}
|
|
565
|
+
if (error instanceof ProviderDispatchRequestError)
|
|
566
|
+
throw error;
|
|
486
567
|
throw new ConnectionError("credential_verification_failed", error instanceof Error ? error.message : `${service} credential verification failed.`);
|
|
487
568
|
}
|
|
488
569
|
}
|
|
@@ -595,6 +676,9 @@ export class ConnectionError extends Error {
|
|
|
595
676
|
this.code = code;
|
|
596
677
|
}
|
|
597
678
|
}
|
|
679
|
+
function describeError(error) {
|
|
680
|
+
return error instanceof Error ? error.message : String(error);
|
|
681
|
+
}
|
|
598
682
|
function cancelledConnectionError() {
|
|
599
683
|
return new ConnectionError("connection_cancelled", "Credential validation was cancelled.");
|
|
600
684
|
}
|
package/src/core/aws-sigv4.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
/**
|
|
2
3
|
* Access key material used by AWS Signature Version 4.
|
|
3
4
|
*/
|
|
@@ -72,3 +73,5 @@ export declare function buildCanonicalHeaders(headers: Headers): Record<string,
|
|
|
72
73
|
* SHA-256 hex digest used by SigV4 payload and string-to-sign hashes.
|
|
73
74
|
*/
|
|
74
75
|
export declare function sha256Hex(value: string | Uint8Array): string;
|
|
76
|
+
/** Compute the hexadecimal HMAC-SHA256 signature of a UTF-8 message. */
|
|
77
|
+
export declare function hmacHex(key: string | Buffer, value: string): string;
|
package/src/core/aws-sigv4.js
CHANGED
|
@@ -175,7 +175,8 @@ function signCanonicalRequest(secretAccessKey, scope, canonicalRequest) {
|
|
|
175
175
|
function hmacSha256(key, value) {
|
|
176
176
|
return createHmac("sha256", key).update(value).digest();
|
|
177
177
|
}
|
|
178
|
-
|
|
178
|
+
/** Compute the hexadecimal HMAC-SHA256 signature of a UTF-8 message. */
|
|
179
|
+
export function hmacHex(key, value) {
|
|
179
180
|
return createHmac("sha256", key).update(value).digest("hex");
|
|
180
181
|
}
|
|
181
182
|
function collapseHeaderWhitespace(value) {
|
package/src/core/cast.d.ts
CHANGED
|
@@ -108,11 +108,16 @@ export declare function optionalNumberLike(value: unknown): number | undefined;
|
|
|
108
108
|
/**
|
|
109
109
|
* Return an integer from a number or numeric string. Examples:
|
|
110
110
|
* `integer("2", "count") => 2`, `integer("x", "count")` throws.
|
|
111
|
+
*
|
|
112
|
+
* A blank or whitespace-only string is rejected rather than parsed as zero.
|
|
111
113
|
*/
|
|
112
114
|
export declare function integer(value: unknown, fieldName: string, createError?: CastErrorFactory): number;
|
|
113
115
|
/**
|
|
114
116
|
* Return an integer from a number or numeric string when present. Examples:
|
|
115
117
|
* `optionalIntegerLike("2", "count") => 2`, `optionalIntegerLike("", "count") => undefined`.
|
|
118
|
+
*
|
|
119
|
+
* A blank or whitespace-only string is reported as missing rather than parsed, because
|
|
120
|
+
* `Number(" ")` is `0` and a blank field would otherwise surface as a real zero.
|
|
116
121
|
*/
|
|
117
122
|
export declare function optionalIntegerLike(value: unknown, fieldName: string, createError?: CastErrorFactory): number | undefined;
|
|
118
123
|
/**
|
package/src/core/cast.js
CHANGED
|
@@ -207,9 +207,11 @@ export function optionalNumberLike(value) {
|
|
|
207
207
|
/**
|
|
208
208
|
* Return an integer from a number or numeric string. Examples:
|
|
209
209
|
* `integer("2", "count") => 2`, `integer("x", "count")` throws.
|
|
210
|
+
*
|
|
211
|
+
* A blank or whitespace-only string is rejected rather than parsed as zero.
|
|
210
212
|
*/
|
|
211
213
|
export function integer(value, fieldName, createError = (message) => new CastError(message)) {
|
|
212
|
-
const parsed = typeof value === "number" ? value : typeof value === "string" && value !== "" ? Number(value) : NaN;
|
|
214
|
+
const parsed = typeof value === "number" ? value : typeof value === "string" && value.trim() !== "" ? Number(value) : NaN;
|
|
213
215
|
if (Number.isInteger(parsed)) {
|
|
214
216
|
return parsed;
|
|
215
217
|
}
|
|
@@ -218,9 +220,12 @@ export function integer(value, fieldName, createError = (message) => new CastErr
|
|
|
218
220
|
/**
|
|
219
221
|
* Return an integer from a number or numeric string when present. Examples:
|
|
220
222
|
* `optionalIntegerLike("2", "count") => 2`, `optionalIntegerLike("", "count") => undefined`.
|
|
223
|
+
*
|
|
224
|
+
* A blank or whitespace-only string is reported as missing rather than parsed, because
|
|
225
|
+
* `Number(" ")` is `0` and a blank field would otherwise surface as a real zero.
|
|
221
226
|
*/
|
|
222
227
|
export function optionalIntegerLike(value, fieldName, createError = (message) => new CastError(message)) {
|
|
223
|
-
if (value == null || value === "") {
|
|
228
|
+
if (value == null || (typeof value === "string" && value.trim() === "")) {
|
|
224
229
|
return undefined;
|
|
225
230
|
}
|
|
226
231
|
return integer(value, fieldName, createError);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GuardedHttpDispatcher } from "./provider-http-dispatch.ts";
|
|
1
2
|
/**
|
|
2
3
|
* Single resolved address returned by a DNS lookup, mirroring the shape of
|
|
3
4
|
* `node:dns` `lookup(hostname, { all: true })` entries.
|
|
@@ -12,6 +13,8 @@ export interface ResolvedAddress {
|
|
|
12
13
|
*/
|
|
13
14
|
export type GuardedFetchDnsLookup = (hostname: string) => Promise<ResolvedAddress[]>;
|
|
14
15
|
export interface GuardedFetchOptions {
|
|
16
|
+
/** Optional dispatcher at the screened raw-transport seam; every redirect hop passes through it. */
|
|
17
|
+
dispatchAttempt?: GuardedHttpDispatcher;
|
|
15
18
|
/**
|
|
16
19
|
* Base transport issuing the actual requests. Defaults to the global fetch,
|
|
17
20
|
* resolved per call so test stubs installed later still apply.
|
|
@@ -77,6 +77,8 @@ export const crossOriginSafeHeaders = new Set([
|
|
|
77
77
|
const bodyHeaders = ["content-encoding", "content-language", "content-length", "content-location", "content-type"];
|
|
78
78
|
/** Base transport behind each guarded fetch (undefined = global fetch) so re-wrapping never stacks guards. */
|
|
79
79
|
const guardedFetchBases = new WeakMap();
|
|
80
|
+
/** Retain admission when a caller replaces the egress policy without stacking guards. */
|
|
81
|
+
const guardedFetchDispatchers = new WeakMap();
|
|
80
82
|
let defaultLookupOverridden = false;
|
|
81
83
|
let defaultLookupOverride = null;
|
|
82
84
|
let nodeDnsLookupPromise;
|
|
@@ -134,17 +136,33 @@ export function unwrapGuardedFetch(fetcher) {
|
|
|
134
136
|
*/
|
|
135
137
|
export function createGuardedFetch(options = {}) {
|
|
136
138
|
const baseFetch = unwrapGuardedFetch(options.fetch);
|
|
139
|
+
const dispatchAttempt = options.dispatchAttempt ?? (options.fetch && guardedFetchDispatchers.get(options.fetch));
|
|
137
140
|
const createError = options.createError ?? ((message) => new TypeError(message));
|
|
138
141
|
const maxRedirects = options.maxRedirects ?? defaultMaxRedirects;
|
|
139
142
|
const guardedFetch = (async (input, init) => {
|
|
140
143
|
const transport = baseFetch ?? globalThis.fetch;
|
|
144
|
+
const requestId = dispatchAttempt ? crypto.randomUUID() : "";
|
|
145
|
+
let redirectHop = 0;
|
|
141
146
|
const fetchTransport = async (transportInput, transportInit) => {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
const send = async () => {
|
|
148
|
+
try {
|
|
149
|
+
return await transport(transportInput, transportInit);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
throw options.mapTransportError?.(error) ?? error;
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const transportRequest = transportInput instanceof Request ? transportInput : undefined;
|
|
156
|
+
return dispatchAttempt
|
|
157
|
+
? dispatchAttempt(Object.freeze({
|
|
158
|
+
requestId,
|
|
159
|
+
redirectHop,
|
|
160
|
+
origin: url.origin,
|
|
161
|
+
method: (transportInit?.method ?? transportRequest?.method ?? "GET").toUpperCase(),
|
|
162
|
+
}), transportInit?.signal ?? transportRequest?.signal ?? undefined, send, async () => {
|
|
163
|
+
await guardHop(url.toString(), "request URL");
|
|
164
|
+
})
|
|
165
|
+
: send();
|
|
148
166
|
};
|
|
149
167
|
const allowPrivateNetwork = typeof options.allowPrivateNetwork === "function"
|
|
150
168
|
? options.allowPrivateNetwork()
|
|
@@ -166,12 +184,17 @@ export function createGuardedFetch(options = {}) {
|
|
|
166
184
|
let url = await guardHop(request?.url ?? (input instanceof URL ? input.href : String(input)), "request URL");
|
|
167
185
|
const redirectMode = init?.redirect ?? request?.redirect ?? "follow";
|
|
168
186
|
if (redirectMode !== "follow") {
|
|
169
|
-
|
|
187
|
+
// Keep the screened URL and method stable while admission is queued. A
|
|
188
|
+
// caller may otherwise mutate a URL or RequestInit before transport runs.
|
|
189
|
+
return dispatchAttempt
|
|
190
|
+
? fetchTransport(request ?? (input instanceof URL ? new URL(url) : url.toString()), init ? { ...init } : init)
|
|
191
|
+
: fetchTransport(input, init);
|
|
170
192
|
}
|
|
171
193
|
let method = (init?.method ?? request?.method ?? "GET").toUpperCase();
|
|
172
194
|
const headers = new Headers(init?.headers ?? request?.headers);
|
|
173
195
|
let body = init?.body !== undefined ? init.body : request?.body;
|
|
174
196
|
for (let redirects = 0;; redirects++) {
|
|
197
|
+
redirectHop = redirects;
|
|
175
198
|
const response = redirects === 0
|
|
176
199
|
? request
|
|
177
200
|
? await fetchTransport(new Request(request, { ...init, redirect: "manual" }))
|
|
@@ -229,6 +252,7 @@ export function createGuardedFetch(options = {}) {
|
|
|
229
252
|
}
|
|
230
253
|
});
|
|
231
254
|
guardedFetchBases.set(guardedFetch, baseFetch);
|
|
255
|
+
guardedFetchDispatchers.set(guardedFetch, dispatchAttempt);
|
|
232
256
|
return guardedFetch;
|
|
233
257
|
}
|
|
234
258
|
/**
|
package/src/core/json-schema.js
CHANGED
|
@@ -207,7 +207,13 @@ export const jsonSchema = {
|
|
|
207
207
|
return withOptions({ oneOf: schemas }, options);
|
|
208
208
|
},
|
|
209
209
|
nullable(schema) {
|
|
210
|
-
|
|
210
|
+
const nullableSchema = { anyOf: [schema, { type: "null" }] };
|
|
211
|
+
// Tool schemas and the action guide read a property's description from the
|
|
212
|
+
// property schema itself, so surface the inner description on the wrapper.
|
|
213
|
+
if (typeof schema.description === "string") {
|
|
214
|
+
nullableSchema.description = schema.description;
|
|
215
|
+
}
|
|
216
|
+
return nullableSchema;
|
|
211
217
|
},
|
|
212
218
|
ref(ref, options = {}) {
|
|
213
219
|
return withOptions({ $ref: ref }, options);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/** Runtime-owned identity. Never populate these fields from action input or HTTP headers. */
|
|
2
|
+
export interface ProviderDispatchContext {
|
|
3
|
+
readonly operation: "runtime" | "action" | "proxy" | "trigger" | "credential_validation" | "oauth";
|
|
4
|
+
readonly service?: string;
|
|
5
|
+
readonly actionId?: string;
|
|
6
|
+
readonly executionId?: string;
|
|
7
|
+
readonly connectionId?: string;
|
|
8
|
+
/** Alias from the resolved stored connection, not the caller's requested alias. */
|
|
9
|
+
readonly connectionName?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Opaque authority supplied by the embedding host, independently of provider credentials. */
|
|
12
|
+
export interface ProviderDispatchAuthority {
|
|
13
|
+
readonly workspaceId?: string;
|
|
14
|
+
readonly connectionLineageId?: string;
|
|
15
|
+
readonly workClass?: string;
|
|
16
|
+
}
|
|
17
|
+
/** A screened HTTP hop. URLs, paths, queries, headers and bodies are deliberately absent. */
|
|
18
|
+
export interface ProviderHttpAttempt {
|
|
19
|
+
readonly attemptId: string;
|
|
20
|
+
readonly requestId: string;
|
|
21
|
+
readonly redirectHop: number;
|
|
22
|
+
readonly method: string;
|
|
23
|
+
readonly origin: string;
|
|
24
|
+
readonly context: ProviderDispatchContext;
|
|
25
|
+
readonly authority: ProviderDispatchAuthority;
|
|
26
|
+
}
|
|
27
|
+
/** Transport failures may have reached the provider; they are never evidence for a credit refund. */
|
|
28
|
+
export type ProviderHttpAttemptResult = {
|
|
29
|
+
readonly kind: "response";
|
|
30
|
+
readonly status: number;
|
|
31
|
+
readonly retryAfter?: string;
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: "transport_error";
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "not_dispatched";
|
|
36
|
+
readonly reason: "cancelled" | "dispatch_failed";
|
|
37
|
+
};
|
|
38
|
+
export interface ProviderHttpPermit {
|
|
39
|
+
readonly allow: true;
|
|
40
|
+
/** Awaited immediately before transport. Persist dispatch commitment here; failures deny egress. */
|
|
41
|
+
readonly onDispatch?: () => void | Promise<void>;
|
|
42
|
+
/** Started exactly once after a permit is returned; never awaited before returning the transport outcome. */
|
|
43
|
+
readonly onResult?: (result: ProviderHttpAttemptResult) => void | Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface ProviderHttpDenial {
|
|
46
|
+
readonly allow: false;
|
|
47
|
+
/** Retry-After delay in whole seconds. */
|
|
48
|
+
readonly retryAfterSeconds?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface ProviderHttpDispatchOptions {
|
|
51
|
+
/** Await admission to delay a request, or return a denial. Honour the signal while queued. */
|
|
52
|
+
readonly beforeAttempt: (attempt: ProviderHttpAttempt, signal: AbortSignal | undefined) => ProviderHttpPermit | ProviderHttpDenial | Promise<ProviderHttpPermit | ProviderHttpDenial>;
|
|
53
|
+
/** Resolve workspace/lineage authority from runtime identity, never request credentials. */
|
|
54
|
+
readonly bindAuthority?: (context: ProviderDispatchContext) => ProviderDispatchAuthority | Promise<ProviderDispatchAuthority>;
|
|
55
|
+
/** Feedback failure leaves the attempt spent/unknown. This observer cannot change the transport result. */
|
|
56
|
+
readonly onFeedbackError?: (attempt: ProviderHttpAttempt) => void | Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
export interface GuardedHttpAttempt {
|
|
59
|
+
readonly requestId: string;
|
|
60
|
+
readonly redirectHop: number;
|
|
61
|
+
readonly method: string;
|
|
62
|
+
readonly origin: string;
|
|
63
|
+
}
|
|
64
|
+
export type GuardedHttpDispatcher = (attempt: GuardedHttpAttempt, signal: AbortSignal | undefined, transport: () => Promise<Response>, revalidate: () => Promise<void>) => Promise<Response>;
|
|
65
|
+
/** Safe retryable denial, including hook/readiness failures; it contains no callback error details. */
|
|
66
|
+
export declare class ProviderHttpDispatchError extends Error {
|
|
67
|
+
readonly retryAfterSeconds?: number;
|
|
68
|
+
constructor(retryAfterSeconds?: number);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Bind a hook to asynchronous provider work. Nested scopes inherit the configured hook;
|
|
72
|
+
* concurrent requests stay isolated. Standalone providerFetch users can opt in here too.
|
|
73
|
+
*/
|
|
74
|
+
export declare function withProviderHttpDispatch<T>(context: ProviderDispatchContext, run: () => T, options?: ProviderHttpDispatchOptions): T;
|
|
75
|
+
/**
|
|
76
|
+
* A provider invocation boundary: retain the original denial even if provider code catches,
|
|
77
|
+
* replaces, or converts it to a result. Each invocation owns its marker, so a sibling's
|
|
78
|
+
* denial cannot override another invocation's successful retry or fallback.
|
|
79
|
+
*/
|
|
80
|
+
export declare function runWithProviderHttpDispatch<T>(context: ProviderDispatchContext, run: () => T | Promise<T>, options?: ProviderHttpDispatchOptions): Promise<T>;
|
|
81
|
+
/** Called only at the screened raw-transport seam, once for every HTTP attempt and redirect hop. */
|
|
82
|
+
export declare const dispatchProviderHttpAttempt: GuardedHttpDispatcher;
|