@oomol-lab/open-connector 1.7.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 +19 -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 +138 -2
- package/assets/open-connector/catalog/apps/aisa.json +1088 -43
- 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 +62 -25
- 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 +100 -51
- 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/enormail.json +411 -0
- 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 +456 -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 +277 -1
- package/assets/open-connector/catalog/apps/gitlab.json +283 -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 +1989 -196
- 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 +212 -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 +480 -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 +195 -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 +92 -46
- 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 +1152 -0
- 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 +154 -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 +178 -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 +191 -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 +190 -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 +18639 -1057
- 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 +544 -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/spotify.json +46 -43
- 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 +122 -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 +142 -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/weixin_store.json +543 -2
- 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 +1045 -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 +258 -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/zerotier.json +9 -9
- 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/0014_saas_project.sql +55 -0
- package/assets/open-connector/migrations/0015_saas_cleanup_runtime.sql +8 -0
- package/assets/open-connector/migrations/0016_trigger_policy.sql +1 -0
- package/assets/open-connector/migrations/0017_trigger_subscriptions.sql +17 -0
- package/assets/open-connector/migrations/0018_connection_retirement.sql +17 -0
- package/assets/open-connector/migrations/postgresql/0014_saas_project.sql +55 -0
- package/assets/open-connector/migrations/postgresql/0015_saas_cleanup_runtime.sql +8 -0
- package/assets/open-connector/migrations/postgresql/0016_trigger_policy.sql +1 -0
- package/assets/open-connector/migrations/postgresql/0017_trigger_subscriptions.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 +73 -10
- package/src/connection-service.js +156 -30
- package/src/core/action-policy.d.ts +8 -1
- package/src/core/action-policy.js +51 -0
- package/src/core/aws-sigv4.d.ts +3 -0
- package/src/core/aws-sigv4.js +2 -1
- package/src/core/cast.d.ts +8 -0
- package/src/core/cast.js +11 -3
- package/src/core/guarded-fetch.d.ts +8 -0
- package/src/core/guarded-fetch.js +44 -11
- 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/remote-http.d.ts +33 -0
- package/src/core/remote-http.js +104 -0
- package/src/core/request.d.ts +21 -0
- package/src/core/request.js +54 -0
- package/src/core/types.d.ts +19 -1
- package/src/marketplace/marketplace-service.d.ts +6 -1
- package/src/marketplace/marketplace-service.js +85 -93
- package/src/mcp.js +19 -5
- 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 +10 -1
- package/src/oauth/oauth-flow-service.js +62 -39
- 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 +65 -11
- package/src/providers/agenty/runtime.js +5 -4
- package/src/providers/airtable/executors.d.ts +3 -0
- package/src/providers/airtable/executors.js +2 -0
- package/src/providers/airtable/trigger-on-record-changed.d.ts +2 -0
- package/src/providers/airtable/trigger-on-record-changed.definition.d.ts +4 -0
- package/src/providers/airtable/trigger-on-record-changed.definition.js +54 -0
- package/src/providers/airtable/trigger-on-record-changed.js +235 -0
- package/src/providers/aisa/executors.js +206 -22
- 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/cal/actions.js +5 -1
- 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/enormail/executors.d.ts +4 -0
- package/src/providers/enormail/executors.js +97 -0
- 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.d.ts +3 -0
- package/src/providers/feishu_app_bot/executors.js +11 -8
- package/src/providers/feishu_app_bot/trigger-config.d.ts +1 -0
- package/src/providers/feishu_app_bot/trigger-config.js +10 -0
- package/src/providers/feishu_app_bot/trigger-on-event.d.ts +2 -0
- package/src/providers/feishu_app_bot/trigger-on-event.definition.d.ts +4 -0
- package/src/providers/feishu_app_bot/trigger-on-event.definition.js +63 -0
- package/src/providers/feishu_app_bot/trigger-on-event.js +29 -0
- package/src/providers/feishu_app_bot/trigger-subscriptions.d.ts +5 -0
- package/src/providers/feishu_app_bot/trigger-subscriptions.js +70 -0
- 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/executors.d.ts +3 -0
- package/src/providers/github/executors.js +6 -0
- package/src/providers/github/runtime-pull-request.js +5 -4
- package/src/providers/github/trigger-on-repo-event.d.ts +2 -0
- package/src/providers/github/trigger-on-repo-event.definition.d.ts +4 -0
- package/src/providers/github/trigger-on-repo-event.definition.js +94 -0
- package/src/providers/github/trigger-on-repo-event.js +168 -0
- package/src/providers/github/trigger-watch-pull-request.d.ts +2 -0
- package/src/providers/github/trigger-watch-pull-request.definition.d.ts +4 -0
- package/src/providers/github/trigger-watch-pull-request.definition.js +49 -0
- package/src/providers/github/trigger-watch-pull-request.js +106 -0
- package/src/providers/gitlab/executors.d.ts +3 -0
- package/src/providers/gitlab/executors.js +2 -0
- package/src/providers/gitlab/trigger-on-project-event.d.ts +2 -0
- package/src/providers/gitlab/trigger-on-project-event.definition.d.ts +5 -0
- package/src/providers/gitlab/trigger-on-project-event.definition.js +63 -0
- package/src/providers/gitlab/trigger-on-project-event.js +186 -0
- package/src/providers/gmail/executors.d.ts +3 -0
- package/src/providers/gmail/executors.js +168 -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/gmail/trigger-on-message-received.d.ts +2 -0
- package/src/providers/gmail/trigger-on-message-received.definition.d.ts +4 -0
- package/src/providers/gmail/trigger-on-message-received.definition.js +74 -0
- package/src/providers/gmail/trigger-on-message-received.js +232 -0
- package/src/providers/googleads/executors.d.ts +1 -1
- package/src/providers/googleads/executors.js +9 -9
- package/src/providers/googlecalendar/executors.d.ts +3 -0
- package/src/providers/googlecalendar/executors.js +2 -0
- package/src/providers/googlecalendar/scopes.d.ts +11 -0
- package/src/providers/googlecalendar/scopes.js +18 -0
- package/src/providers/googlecalendar/trigger-on-event-changed.d.ts +2 -0
- package/src/providers/googlecalendar/trigger-on-event-changed.definition.d.ts +4 -0
- package/src/providers/googlecalendar/trigger-on-event-changed.definition.js +74 -0
- package/src/providers/googlecalendar/trigger-on-event-changed.js +233 -0
- package/src/providers/googledrive/executors.d.ts +3 -0
- package/src/providers/googledrive/executors.js +16 -7
- package/src/providers/googledrive/runtime-request.js +43 -3
- package/src/providers/googledrive/trigger-changes.d.ts +12 -0
- package/src/providers/googledrive/trigger-changes.definition.d.ts +7 -0
- package/src/providers/googledrive/trigger-changes.definition.js +101 -0
- package/src/providers/googledrive/trigger-changes.js +458 -0
- package/src/providers/googledrive/trigger-on-file-change.d.ts +2 -0
- package/src/providers/googledrive/trigger-on-file-change.definition.d.ts +4 -0
- package/src/providers/googledrive/trigger-on-file-change.definition.js +77 -0
- package/src/providers/googledrive/trigger-on-file-change.js +258 -0
- 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/googlesheets/executors.d.ts +3 -0
- package/src/providers/googlesheets/executors.js +2 -0
- package/src/providers/googlesheets/trigger-on-row-added.d.ts +2 -0
- package/src/providers/googlesheets/trigger-on-row-added.definition.d.ts +4 -0
- package/src/providers/googlesheets/trigger-on-row-added.definition.js +54 -0
- package/src/providers/googlesheets/trigger-on-row-added.js +234 -0
- 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/hithink_finance/runtime.js +1 -1
- 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/executors.d.ts +4 -0
- package/src/providers/indexed/executors.js +16 -0
- package/src/providers/indexed/runtime.d.ts +26 -0
- package/src/providers/indexed/runtime.js +128 -0
- 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/linear/executors.d.ts +3 -0
- package/src/providers/linear/executors.js +2 -0
- package/src/providers/linear/trigger-on-issue-changed.d.ts +2 -0
- package/src/providers/linear/trigger-on-issue-changed.definition.d.ts +5 -0
- package/src/providers/linear/trigger-on-issue-changed.definition.js +43 -0
- package/src/providers/linear/trigger-on-issue-changed.js +215 -0
- 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/notion/executors.d.ts +3 -0
- package/src/providers/notion/executors.js +2 -0
- package/src/providers/notion/trigger-on-database-page-event.d.ts +2 -0
- package/src/providers/notion/trigger-on-database-page-event.definition.d.ts +4 -0
- package/src/providers/notion/trigger-on-database-page-event.definition.js +63 -0
- package/src/providers/notion/trigger-on-database-page-event.js +293 -0
- package/src/providers/one_drive/executors.d.ts +3 -0
- package/src/providers/one_drive/executors.js +7 -4
- package/src/providers/one_drive/trigger-on-item-changed.d.ts +2 -0
- package/src/providers/one_drive/trigger-on-item-changed.definition.d.ts +4 -0
- package/src/providers/one_drive/trigger-on-item-changed.definition.js +63 -0
- package/src/providers/one_drive/trigger-on-item-changed.js +214 -0
- 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.d.ts +3 -0
- package/src/providers/outlook/executors.js +5 -3
- package/src/providers/outlook/trigger-on-message-received.d.ts +2 -0
- package/src/providers/outlook/trigger-on-message-received.definition.d.ts +4 -0
- package/src/providers/outlook/trigger-on-message-received.definition.js +93 -0
- package/src/providers/outlook/trigger-on-message-received.js +226 -0
- package/src/providers/outlook_calendar/executors.js +6 -0
- 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-loader.d.ts +5 -0
- package/src/providers/provider-loader.js +4 -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 +55 -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 +5 -0
- package/src/providers/shopify/executors.js +50 -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/shopify/trigger-on-shop-event.d.ts +2 -0
- package/src/providers/shopify/trigger-on-shop-event.definition.d.ts +4 -0
- package/src/providers/shopify/trigger-on-shop-event.definition.js +214 -0
- package/src/providers/shopify/trigger-on-shop-event.js +165 -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/executors.d.ts +3 -0
- package/src/providers/slack/executors.js +2 -0
- package/src/providers/slack/runtime.js +65 -6
- package/src/providers/slack/trigger-on-message-posted.d.ts +2 -0
- package/src/providers/slack/trigger-on-message-posted.definition.d.ts +4 -0
- package/src/providers/slack/trigger-on-message-posted.definition.js +80 -0
- package/src/providers/slack/trigger-on-message-posted.js +176 -0
- 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/spotify/runtime.js +15 -4
- package/src/providers/stripe/executors.d.ts +3 -0
- package/src/providers/stripe/executors.js +2 -0
- package/src/providers/stripe/trigger-on-event.d.ts +2 -0
- package/src/providers/stripe/trigger-on-event.definition.d.ts +4 -0
- package/src/providers/stripe/trigger-on-event.definition.js +43 -0
- package/src/providers/stripe/trigger-on-event.js +212 -0
- package/src/providers/supabase/runtime.js +5 -4
- package/src/providers/telegram/executors.d.ts +3 -0
- package/src/providers/telegram/executors.js +2 -0
- package/src/providers/telegram/trigger-on-update.d.ts +2 -0
- package/src/providers/telegram/trigger-on-update.definition.d.ts +5 -0
- package/src/providers/telegram/trigger-on-update.definition.js +78 -0
- package/src/providers/telegram/trigger-on-update.js +141 -0
- 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/weixin_store/access-token.d.ts +2 -1
- package/src/providers/weixin_store/access-token.js +15 -4
- package/src/providers/weixin_store/executors.js +97 -12
- package/src/providers/whatsapp/runtime.js +223 -3
- package/src/providers/woocommerce/executors.d.ts +3 -0
- package/src/providers/woocommerce/executors.js +2 -0
- package/src/providers/woocommerce/trigger-on-store-event.d.ts +2 -0
- package/src/providers/woocommerce/trigger-on-store-event.definition.d.ts +4 -0
- package/src/providers/woocommerce/trigger-on-store-event.definition.js +55 -0
- package/src/providers/woocommerce/trigger-on-store-event.js +179 -0
- 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/providers/zendesk/executors.d.ts +3 -0
- package/src/providers/zendesk/executors.js +2 -0
- package/src/providers/zendesk/trigger-on-event.d.ts +2 -0
- package/src/providers/zendesk/trigger-on-event.definition.d.ts +5 -0
- package/src/providers/zendesk/trigger-on-event.definition.js +101 -0
- package/src/providers/zendesk/trigger-on-event.js +188 -0
- package/src/saas/saas-cleanup-service.d.ts +26 -0
- package/src/saas/saas-cleanup-service.js +124 -0
- package/src/saas/saas-client.d.ts +86 -0
- package/src/saas/saas-client.js +369 -0
- package/src/saas/saas-execution-service.d.ts +15 -0
- package/src/saas/saas-execution-service.js +21 -0
- package/src/saas/saas-oauth-service.d.ts +25 -0
- package/src/saas/saas-oauth-service.js +197 -0
- package/src/saas/saas-project-service.d.ts +61 -0
- package/src/saas/saas-project-service.js +211 -0
- package/src/server/actions/action-idempotency.d.ts +1 -0
- package/src/server/actions/action-idempotency.js +1 -0
- package/src/server/actions/action-runner.d.ts +10 -0
- package/src/server/actions/action-runner.js +60 -7
- package/src/server/actions/run-log-summary.js +10 -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.d.ts +1 -0
- package/src/server/api/auth.js +20 -2
- package/src/server/api/cache-policy.js +7 -5
- package/src/server/api/connection-input.d.ts +7 -1
- package/src/server/api/connection-input.js +7 -1
- package/src/server/api/connection-routes.d.ts +3 -1
- package/src/server/api/connection-routes.js +21 -3
- package/src/server/api/http-utils.d.ts +4 -3
- package/src/server/api/oauth-completion-page.d.ts +127 -1
- package/src/server/api/oauth-completion-page.js +117 -20
- package/src/server/api/openapi.js +134 -19
- package/src/server/api/pattern-example.d.ts +22 -0
- package/src/server/api/pattern-example.js +413 -0
- package/src/server/api/policy-input.js +6 -0
- package/src/server/api/runtime-api.d.ts +10 -2
- package/src/server/api/runtime-api.js +25 -6
- package/src/server/api/saas-completion-page.d.ts +2 -0
- package/src/server/api/saas-completion-page.js +103 -0
- package/src/server/connect-app.d.ts +8 -0
- package/src/server/connect-app.js +55 -0
- package/src/server/connect-server.d.ts +18 -0
- package/src/server/connect-server.js +188 -20
- package/src/server/connector-runtime.d.ts +8 -1
- package/src/server/connector-runtime.js +11 -2
- 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 +90 -20
- package/src/server/proxy/proxy-runner.d.ts +8 -1
- package/src/server/proxy/proxy-runner.js +95 -28
- package/src/server/storage/connection-request-store.d.ts +41 -1
- package/src/server/storage/connection-request-store.js +260 -22
- 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 +19 -0
- package/src/server/storage/connection-store.js +172 -0
- package/src/server/storage/node-runtime-database.js +3 -3
- 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-migrations.d.ts → postgres/migrations.d.ts} +2 -2
- package/src/server/storage/{postgres-migrations.js → postgres/migrations.js} +1 -1
- package/src/server/storage/postgres/runtime-store.d.ts +43 -0
- package/src/server/storage/{postgres-runtime-store.js → postgres/runtime-store.js} +62 -122
- package/src/server/storage/runtime-database.d.ts +4 -0
- package/src/server/storage/runtime-sql.d.ts +1 -1
- package/src/server/storage/runtime-sql.js +2 -1
- package/src/server/storage/runtime-store.d.ts +1 -0
- package/src/server/storage/runtime-token-service.d.ts +2 -0
- package/src/server/storage/runtime-token-service.js +3 -0
- package/src/server/storage/saas-project-store.d.ts +77 -0
- package/src/server/storage/saas-project-store.js +273 -0
- package/src/server/storage/{sqlite-runtime-store.d.ts → sqlite/runtime-store.d.ts} +22 -34
- package/src/server/storage/{sqlite-runtime-store.js → sqlite/runtime-store.js} +104 -142
- package/src/server/storage/trigger-store.d.ts +16 -0
- package/src/server/storage/trigger-store.js +96 -0
- package/src/triggers/common/config.d.ts +2 -0
- package/src/triggers/common/config.js +17 -0
- package/src/triggers/common/configOptions.d.ts +13 -0
- package/src/triggers/common/configOptions.js +1 -0
- package/src/triggers/common/encoding.d.ts +3 -0
- package/src/triggers/common/encoding.js +19 -0
- package/src/triggers/common/integration.d.ts +115 -0
- package/src/triggers/common/integration.js +31 -0
- package/src/triggers/common/json.d.ts +6 -0
- package/src/triggers/common/json.js +91 -0
- package/src/triggers/common/poll.d.ts +41 -0
- package/src/triggers/common/poll.js +15 -0
- package/src/triggers/common/proxy.d.ts +14 -0
- package/src/triggers/common/proxy.js +1 -0
- package/src/triggers/common/types.d.ts +42 -0
- package/src/triggers/common/types.js +1 -0
- package/src/triggers/maintenance.d.ts +40 -0
- package/src/triggers/maintenance.js +120 -0
- package/src/triggers/metadata.d.ts +8 -0
- package/src/triggers/metadata.js +1 -0
- package/src/triggers/request.d.ts +33 -0
- package/src/triggers/request.js +52 -0
- package/src/triggers/resources.d.ts +12 -0
- package/src/triggers/resources.js +121 -0
- package/src/triggers/signature.d.ts +4 -0
- package/src/triggers/signature.js +48 -0
- package/src/triggers/store.d.ts +29 -0
- package/src/triggers/store.js +1 -0
- package/src/triggers/subscriptions.d.ts +22 -0
- package/src/triggers/subscriptions.js +220 -0
- package/src/triggers/trigger-runner.d.ts +38 -0
- package/src/triggers/trigger-runner.js +183 -0
- 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/server/storage/postgres-runtime-store.d.ts +0 -39
- /package/src/providers/{shopify_admin → api_route}/executors.d.ts +0 -0
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import { Validator } from "@cfworker/json-schema";
|
|
2
|
+
import { readSchemaProperties, readSchemaRequired } from "../../core/json-schema.js";
|
|
3
|
+
import { samplePattern } from "./pattern-example.js";
|
|
4
|
+
const exampleStringFormats = {
|
|
5
|
+
date: "2000-01-01",
|
|
6
|
+
"date-time": "2000-01-01T00:00:00Z",
|
|
7
|
+
email: "user@example.com",
|
|
8
|
+
hostname: "example.com",
|
|
9
|
+
ipv4: "192.0.2.1",
|
|
10
|
+
ipv6: "2001:db8::1",
|
|
11
|
+
uri: "https://example.com",
|
|
12
|
+
url: "https://example.com",
|
|
13
|
+
uuid: "00000000-0000-4000-8000-000000000000",
|
|
14
|
+
};
|
|
15
|
+
/** Build a small example for the schema shapes used by the action catalog. */
|
|
16
|
+
export function buildExampleInput(schema) {
|
|
17
|
+
const seedSchema = mergeAllOfPropertySchemas(schema);
|
|
18
|
+
const properties = readSchemaProperties(seedSchema);
|
|
19
|
+
const input = {};
|
|
20
|
+
seedObjectRequirements(seedSchema, properties, input);
|
|
21
|
+
if (Array.isArray(schema.allOf)) {
|
|
22
|
+
for (const member of schema.allOf) {
|
|
23
|
+
if (isSchemaObject(member)) {
|
|
24
|
+
seedObjectRequirements(member, properties, input);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
fillMinProperties(seedSchema, properties, input);
|
|
29
|
+
if (Array.isArray(schema.allOf)) {
|
|
30
|
+
for (const member of schema.allOf) {
|
|
31
|
+
if (isSchemaObject(member)) {
|
|
32
|
+
fillMinProperties(member, { ...properties, ...readSchemaProperties(member) }, input);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
applyConditionalRequirements(seedSchema, seedSchema, input);
|
|
37
|
+
return input;
|
|
38
|
+
}
|
|
39
|
+
/** Apply each selected condition once; do not search for a globally satisfying assignment. */
|
|
40
|
+
function applyConditionalRequirements(schema, parent, input) {
|
|
41
|
+
if (isSchemaObject(schema.if)) {
|
|
42
|
+
const matches = new Validator(schema.if, "2020-12").validate(input).valid;
|
|
43
|
+
const branch = matches ? schema.then : schema.else;
|
|
44
|
+
if (isSchemaObject(branch)) {
|
|
45
|
+
const merged = mergeExampleSchemas(parent, branch);
|
|
46
|
+
const properties = readSchemaProperties(merged);
|
|
47
|
+
for (const name of Object.keys(readSchemaProperties(branch))) {
|
|
48
|
+
if (name in input) {
|
|
49
|
+
input[name] = exampleValue(properties[name]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
seedObjectRequirements({ ...branch, properties }, properties, input);
|
|
53
|
+
fillMinProperties(merged, properties, input);
|
|
54
|
+
applyConditionalRequirements(branch, merged, input);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (Array.isArray(schema.allOf)) {
|
|
58
|
+
for (const member of schema.allOf) {
|
|
59
|
+
if (isSchemaObject(member)) {
|
|
60
|
+
applyConditionalRequirements(member, parent, input);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Same-named property schemas from `allOf` members apply together with the root
|
|
67
|
+
* schema, so merge their constraints before seeding a required property: a
|
|
68
|
+
* member that adds `minLength` must not be skipped because the root seeded the
|
|
69
|
+
* value first.
|
|
70
|
+
*/
|
|
71
|
+
function mergeAllOfPropertySchemas(schema) {
|
|
72
|
+
if (!Array.isArray(schema.allOf)) {
|
|
73
|
+
return schema;
|
|
74
|
+
}
|
|
75
|
+
const properties = { ...readSchemaProperties(schema) };
|
|
76
|
+
let merged = false;
|
|
77
|
+
for (const member of schema.allOf) {
|
|
78
|
+
if (!isSchemaObject(member)) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
for (const [name, memberProperty] of Object.entries(readSchemaProperties(member))) {
|
|
82
|
+
if (!isSchemaObject(memberProperty)) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const parentProperty = properties[name];
|
|
86
|
+
properties[name] = isSchemaObject(parentProperty)
|
|
87
|
+
? mergeExampleSchemas(parentProperty, memberProperty)
|
|
88
|
+
: memberProperty;
|
|
89
|
+
merged = true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return merged ? { ...schema, properties } : schema;
|
|
93
|
+
}
|
|
94
|
+
/** Raise the object to its `minProperties` with named properties first, then placeholder map keys. */
|
|
95
|
+
function fillMinProperties(schema, properties, input) {
|
|
96
|
+
const minProperties = typeof schema.minProperties === "number" ? schema.minProperties : 0;
|
|
97
|
+
if (minProperties === 0) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
for (const name of Object.keys(properties)) {
|
|
101
|
+
if (Object.keys(input).length >= minProperties) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
if (!(name in input)) {
|
|
105
|
+
input[name] = exampleValue(properties[name]);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (schema.additionalProperties !== false) {
|
|
109
|
+
// A map-shaped object such as attributes or records reaches minProperties
|
|
110
|
+
// only through its additional properties; placeholder keys fill the deficit
|
|
111
|
+
// while still matching the outer schema. Bounded so a property named like a
|
|
112
|
+
// placeholder cannot loop forever.
|
|
113
|
+
for (let index = 0; Object.keys(input).length < minProperties && index < minProperties + 10; index += 1) {
|
|
114
|
+
const key = isSchemaObject(schema.propertyNames) ? stringExample(schema.propertyNames) : "key";
|
|
115
|
+
const name = index === 0 ? key : `${key}${index + 1}`;
|
|
116
|
+
if (name in input) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
input[name] = exampleValue(isSchemaObject(schema.additionalProperties) ? schema.additionalProperties : undefined);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** Seed every property requirement an object schema (or one `allOf` member) declares. */
|
|
124
|
+
function seedObjectRequirements(schema, properties, input) {
|
|
125
|
+
seedRequiredProperties(schema, properties, input);
|
|
126
|
+
seedRequirementBranches(schema, properties, input);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* `requireAnyProperty`/`requireExactlyOneProperty` keep every property optional
|
|
130
|
+
* and add `anyOf`/`oneOf` branches that each require some property, so an example
|
|
131
|
+
* that only seeds `required` can never match. Seed the properties the first
|
|
132
|
+
* usable branch asks for, using the branch's own property schemas.
|
|
133
|
+
*/
|
|
134
|
+
function seedRequirementBranches(schema, properties, input) {
|
|
135
|
+
const keyword = Array.isArray(schema.anyOf) ? "anyOf" : "oneOf";
|
|
136
|
+
const branches = schema[keyword];
|
|
137
|
+
if (!Array.isArray(branches)) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const candidates = branches
|
|
141
|
+
.filter(isSchemaObject)
|
|
142
|
+
.filter((branch) => branch.type !== "null" && !conflictsWithParent(schema, branch));
|
|
143
|
+
const satisfied = keyword === "oneOf"
|
|
144
|
+
? candidates.find((branch) => {
|
|
145
|
+
const required = readSchemaRequired(branch);
|
|
146
|
+
return required.length > 0 && required.every((name) => name in input);
|
|
147
|
+
})
|
|
148
|
+
: undefined;
|
|
149
|
+
const branch = satisfied ??
|
|
150
|
+
(keyword === "oneOf"
|
|
151
|
+
? candidates.find((candidate) => readSchemaRequired(schema).length > 0 ||
|
|
152
|
+
readSchemaRequired(candidate).length > 0 ||
|
|
153
|
+
Array.isArray(candidate.anyOf) ||
|
|
154
|
+
Array.isArray(candidate.oneOf) ||
|
|
155
|
+
Object.keys(readSchemaProperties(candidate)).length > 0)
|
|
156
|
+
: undefined) ??
|
|
157
|
+
candidates[0];
|
|
158
|
+
if (!branch) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const merged = mergeBranch(schema, branch, keyword);
|
|
162
|
+
const mergedProperties = { ...properties, ...readSchemaProperties(merged) };
|
|
163
|
+
const required = readSchemaRequired(merged);
|
|
164
|
+
for (const name of required) {
|
|
165
|
+
input[name] = exampleValue(mergedProperties[name]);
|
|
166
|
+
}
|
|
167
|
+
// Optional properties can distinguish object shapes that would all accept {}.
|
|
168
|
+
// Nested combinators must select their own requirements before adding fields.
|
|
169
|
+
if (keyword === "oneOf" && required.length === 0 && !Array.isArray(merged.anyOf) && !Array.isArray(merged.oneOf)) {
|
|
170
|
+
for (const name of Object.keys(mergedProperties)) {
|
|
171
|
+
input[name] = exampleValue(mergedProperties[name]);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
seedObjectRequirements(merged, mergedProperties, input);
|
|
175
|
+
fillMinProperties(merged, mergedProperties, input);
|
|
176
|
+
}
|
|
177
|
+
function seedRequiredProperties(schema, fallbackProperties, input) {
|
|
178
|
+
const properties = readSchemaProperties(schema);
|
|
179
|
+
for (const name of readSchemaRequired(schema)) {
|
|
180
|
+
if (!(name in input)) {
|
|
181
|
+
input[name] = exampleValue(properties[name] ?? fallbackProperties[name]);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
function isSchemaObject(value) {
|
|
186
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Unwrap one `anyOf`/`oneOf` branch while keeping the wrapper's own keywords, so
|
|
190
|
+
* a branch that only adds `required`/`properties` inherits the parent type. Same
|
|
191
|
+
* named properties are merged so the branch adds constraints instead of
|
|
192
|
+
* replacing the parent's (`format` plus `minLength`, for example). The
|
|
193
|
+
* consumed parent combinator is dropped; sibling and branch combinators remain.
|
|
194
|
+
*/
|
|
195
|
+
function mergeBranch(schema, branch, keyword) {
|
|
196
|
+
const parent = { ...schema };
|
|
197
|
+
delete parent[keyword];
|
|
198
|
+
return mergeExampleSchemas(parent, branch);
|
|
199
|
+
}
|
|
200
|
+
/** Merge the property and item refinements used by catalog branches. */
|
|
201
|
+
function mergeExampleSchemas(parent, branch) {
|
|
202
|
+
const merged = { ...parent, ...branch };
|
|
203
|
+
if (parent.properties && branch.properties) {
|
|
204
|
+
const properties = { ...readSchemaProperties(parent) };
|
|
205
|
+
for (const [name, property] of Object.entries(readSchemaProperties(branch))) {
|
|
206
|
+
properties[name] = properties[name] ? mergeExampleSchemas(properties[name], property) : property;
|
|
207
|
+
}
|
|
208
|
+
merged.properties = properties;
|
|
209
|
+
}
|
|
210
|
+
if (isSchemaObject(parent.items) && isSchemaObject(branch.items)) {
|
|
211
|
+
merged.items = mergeExampleSchemas(parent.items, branch.items);
|
|
212
|
+
}
|
|
213
|
+
if (parent.required || branch.required) {
|
|
214
|
+
merged.required = [...new Set([...readSchemaRequired(parent), ...readSchemaRequired(branch)])];
|
|
215
|
+
}
|
|
216
|
+
return merged;
|
|
217
|
+
}
|
|
218
|
+
function exampleValue(schema) {
|
|
219
|
+
if (!schema) {
|
|
220
|
+
return "";
|
|
221
|
+
}
|
|
222
|
+
if (schema.default !== undefined && new Validator(schema, "2020-12").validate(schema.default).valid) {
|
|
223
|
+
return schema.default;
|
|
224
|
+
}
|
|
225
|
+
if (schema.const !== undefined) {
|
|
226
|
+
return schema.const;
|
|
227
|
+
}
|
|
228
|
+
if (Array.isArray(schema.enum) && schema.enum.length > 0) {
|
|
229
|
+
if (schema.minimum !== undefined || schema.maximum !== undefined) {
|
|
230
|
+
const validator = new Validator(schema, "2020-12");
|
|
231
|
+
return schema.enum.find((value) => validator.validate(value).valid) ?? schema.enum[0];
|
|
232
|
+
}
|
|
233
|
+
return schema.enum[0];
|
|
234
|
+
}
|
|
235
|
+
if (schema.type === "object") {
|
|
236
|
+
return buildExampleInput(schema);
|
|
237
|
+
}
|
|
238
|
+
const branch = firstActionableBranch(schema);
|
|
239
|
+
if (branch) {
|
|
240
|
+
return branch.type === "object" ? buildExampleInput(schema) : exampleValue(branch);
|
|
241
|
+
}
|
|
242
|
+
const type = Array.isArray(schema.type) ? schema.type.find((entry) => entry !== "null") : schema.type;
|
|
243
|
+
if (type === undefined || type === "null") {
|
|
244
|
+
return type === "null" ? null : stringExample(schema);
|
|
245
|
+
}
|
|
246
|
+
if (type === "integer" || type === "number") {
|
|
247
|
+
return numberExample(schema);
|
|
248
|
+
}
|
|
249
|
+
if (type === "boolean") {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
if (type === "array") {
|
|
253
|
+
return arrayExample(schema);
|
|
254
|
+
}
|
|
255
|
+
if (type === "object") {
|
|
256
|
+
return buildExampleInput(schema);
|
|
257
|
+
}
|
|
258
|
+
return stringExample(schema);
|
|
259
|
+
}
|
|
260
|
+
/** Unwrap `anyOf`/`oneOf` wrappers such as nullable fields, choosing the first non-null branch. */
|
|
261
|
+
function firstActionableBranch(schema) {
|
|
262
|
+
const keyword = Array.isArray(schema.anyOf) ? "anyOf" : "oneOf";
|
|
263
|
+
const branches = schema[keyword];
|
|
264
|
+
if (!Array.isArray(branches)) {
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
267
|
+
for (const branch of branches) {
|
|
268
|
+
if (isSchemaObject(branch) && branch.type !== "null" && !conflictsWithParent(schema, branch)) {
|
|
269
|
+
return mergeBranch(schema, branch, keyword);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return mergeBranch(schema, { type: "null" }, keyword);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* A branch that pins a property the parent already pins with `const` to another
|
|
276
|
+
* value can never match; a discriminated `oneOf` relies on this.
|
|
277
|
+
*/
|
|
278
|
+
function conflictsWithParent(schema, branch) {
|
|
279
|
+
const parentProperties = readSchemaProperties(schema);
|
|
280
|
+
for (const [name, branchProperty] of Object.entries(readSchemaProperties(branch))) {
|
|
281
|
+
const parentProperty = parentProperties[name];
|
|
282
|
+
if (isSchemaObject(branchProperty) &&
|
|
283
|
+
isSchemaObject(parentProperty) &&
|
|
284
|
+
branchProperty.const !== undefined &&
|
|
285
|
+
parentProperty.const !== undefined &&
|
|
286
|
+
branchProperty.const !== parentProperty.const) {
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
function stringExample(schema) {
|
|
293
|
+
const minLength = typeof schema.minLength === "number" && schema.minLength > 0 ? schema.minLength : 0;
|
|
294
|
+
const maxLength = typeof schema.maxLength === "number" ? schema.maxLength : undefined;
|
|
295
|
+
if (typeof schema.format === "string") {
|
|
296
|
+
return formatStringExample(schema.format, minLength, maxLength);
|
|
297
|
+
}
|
|
298
|
+
if (typeof schema.pattern === "string") {
|
|
299
|
+
const sample = samplePattern(schema.pattern, { minLength });
|
|
300
|
+
if (sample !== undefined) {
|
|
301
|
+
return sample;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (minLength === 0 && typeof schema.pattern !== "string") {
|
|
305
|
+
return "";
|
|
306
|
+
}
|
|
307
|
+
const length = Math.min(Math.max(1, minLength || 1), maxLength ?? Number.POSITIVE_INFINITY);
|
|
308
|
+
return length <= 0 ? "" : "a".repeat(Math.min(length, Math.max(64, minLength)));
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* A fixed format sample may be shorter than `minLength`; extend the formats that
|
|
312
|
+
* accept arbitrary length (email local part, URI path, hostname label) so the
|
|
313
|
+
* example still satisfies the schema's own bounds.
|
|
314
|
+
*/
|
|
315
|
+
function formatStringExample(format, minLength, maxLength) {
|
|
316
|
+
const sample = exampleStringFormats[format] ?? "string";
|
|
317
|
+
const target = Math.max(minLength, sample.length);
|
|
318
|
+
if (target === sample.length || (maxLength !== undefined && target > maxLength)) {
|
|
319
|
+
// Bounds that exclude every length the sample can take leave no better value.
|
|
320
|
+
return sample;
|
|
321
|
+
}
|
|
322
|
+
if (format === "email") {
|
|
323
|
+
const domain = "@example.com";
|
|
324
|
+
return `${"a".repeat(Math.max(1, target - domain.length))}${domain}`;
|
|
325
|
+
}
|
|
326
|
+
if (format === "uri" || format === "url") {
|
|
327
|
+
return `${sample}/${"a".repeat(target - sample.length - 1)}`;
|
|
328
|
+
}
|
|
329
|
+
if (format === "hostname") {
|
|
330
|
+
return hostnameExample(target);
|
|
331
|
+
}
|
|
332
|
+
return sample;
|
|
333
|
+
}
|
|
334
|
+
/** DNS labels are limited to 63 characters; spread the target length across dot-separated labels. */
|
|
335
|
+
function hostnameExample(length) {
|
|
336
|
+
if (length <= 63) {
|
|
337
|
+
return "a".repeat(Math.max(1, length));
|
|
338
|
+
}
|
|
339
|
+
const labelCount = Math.ceil((length + 1) / 64);
|
|
340
|
+
let remaining = length - (labelCount - 1);
|
|
341
|
+
const labels = [];
|
|
342
|
+
for (let index = 0; index < labelCount; index += 1) {
|
|
343
|
+
const labelLength = Math.min(63, remaining - (labelCount - 1 - index));
|
|
344
|
+
labels.push("a".repeat(Math.max(1, labelLength)));
|
|
345
|
+
remaining -= labelLength;
|
|
346
|
+
}
|
|
347
|
+
return labels.join(".");
|
|
348
|
+
}
|
|
349
|
+
function numberExample(schema) {
|
|
350
|
+
const integer = schema.type === "integer";
|
|
351
|
+
const minimum = typeof schema.minimum === "number" ? schema.minimum : undefined;
|
|
352
|
+
const maximum = typeof schema.maximum === "number" ? schema.maximum : undefined;
|
|
353
|
+
const exclusiveMinimum = typeof schema.exclusiveMinimum === "number" ? schema.exclusiveMinimum : undefined;
|
|
354
|
+
const exclusiveMaximum = typeof schema.exclusiveMaximum === "number" ? schema.exclusiveMaximum : undefined;
|
|
355
|
+
let candidate = 1;
|
|
356
|
+
if (minimum !== undefined) {
|
|
357
|
+
candidate = Math.max(candidate, minimum);
|
|
358
|
+
}
|
|
359
|
+
if (exclusiveMinimum !== undefined) {
|
|
360
|
+
candidate = Math.max(candidate, integer ? Math.floor(exclusiveMinimum) + 1 : exclusiveMinimum + 1);
|
|
361
|
+
}
|
|
362
|
+
if (maximum !== undefined && candidate > maximum) {
|
|
363
|
+
candidate = maximum;
|
|
364
|
+
}
|
|
365
|
+
if (exclusiveMaximum !== undefined && candidate >= exclusiveMaximum) {
|
|
366
|
+
candidate = integer ? Math.ceil(exclusiveMaximum) - 1 : exclusiveMaximum - 1;
|
|
367
|
+
}
|
|
368
|
+
if (exclusiveMinimum !== undefined &&
|
|
369
|
+
exclusiveMaximum !== undefined &&
|
|
370
|
+
candidate <= exclusiveMinimum &&
|
|
371
|
+
Number.isFinite(exclusiveMinimum) &&
|
|
372
|
+
Number.isFinite(exclusiveMaximum)) {
|
|
373
|
+
// Both exclusive bounds push the candidate outside the interval; a value
|
|
374
|
+
// between them is the only one that can satisfy both.
|
|
375
|
+
candidate = (exclusiveMinimum + exclusiveMaximum) / 2;
|
|
376
|
+
}
|
|
377
|
+
return integer ? Math.floor(candidate) : candidate;
|
|
378
|
+
}
|
|
379
|
+
function arrayExample(schema) {
|
|
380
|
+
const minItems = typeof schema.minItems === "number" && schema.minItems > 0 ? schema.minItems : 0;
|
|
381
|
+
const itemSchema = Array.isArray(schema.items) ? undefined : schema.items;
|
|
382
|
+
const values = Array.isArray(schema.prefixItems)
|
|
383
|
+
? schema.prefixItems.map((item) => exampleValue(item))
|
|
384
|
+
: [];
|
|
385
|
+
while (values.length < minItems) {
|
|
386
|
+
values.push(exampleValue(itemSchema));
|
|
387
|
+
}
|
|
388
|
+
const distinct = new Set(values.map((value) => JSON.stringify(value))).size === values.length;
|
|
389
|
+
if (schema.uniqueItems === true && values.length > 1 && !distinct) {
|
|
390
|
+
if (itemSchema?.type === "string") {
|
|
391
|
+
const minLength = typeof itemSchema.minLength === "number" && itemSchema.minLength > 0 ? itemSchema.minLength : 1;
|
|
392
|
+
const maxLength = typeof itemSchema.maxLength === "number" ? itemSchema.maxLength : undefined;
|
|
393
|
+
const length = Math.max(1, Math.min(minLength, maxLength ?? Number.POSITIVE_INFINITY));
|
|
394
|
+
return values.map((_, index) => String.fromCharCode(97 + index).repeat(length));
|
|
395
|
+
}
|
|
396
|
+
if (itemSchema?.type === "integer" || itemSchema?.type === "number") {
|
|
397
|
+
const first = numberExample(itemSchema);
|
|
398
|
+
return values.map((_, index) => numberExample({ ...itemSchema, minimum: first + index }));
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
return values;
|
|
402
|
+
}
|
|
@@ -3,6 +3,7 @@ import { gfmFromMarkdown, gfmToMarkdown } from "mdast-util-gfm";
|
|
|
3
3
|
import { toMarkdown } from "mdast-util-to-markdown";
|
|
4
4
|
import { gfm } from "micromark-extension-gfm";
|
|
5
5
|
import { describeSchemaType, readSchemaProperties, readSchemaRequired } from "../../core/json-schema.js";
|
|
6
|
+
import { buildExampleInput } from "./action-example.js";
|
|
6
7
|
/**
|
|
7
8
|
* Render a compact action guide for coding agents and humans who want the raw
|
|
8
9
|
* execution contract without browsing the full catalog JSON.
|
|
@@ -225,41 +226,6 @@ function isDocumentContent(node) {
|
|
|
225
226
|
function isBlockContent(node) {
|
|
226
227
|
return node.type !== "definition" && node.type !== "footnoteDefinition";
|
|
227
228
|
}
|
|
228
|
-
function buildExampleInput(schema) {
|
|
229
|
-
const properties = readSchemaProperties(schema);
|
|
230
|
-
const input = {};
|
|
231
|
-
for (const name of readSchemaRequired(schema)) {
|
|
232
|
-
input[name] = exampleValue(properties[name]);
|
|
233
|
-
}
|
|
234
|
-
return input;
|
|
235
|
-
}
|
|
236
229
|
function readDescription(schema) {
|
|
237
230
|
return schema && typeof schema.description === "string" ? schema.description : "";
|
|
238
231
|
}
|
|
239
|
-
function exampleValue(schema) {
|
|
240
|
-
if (!schema) {
|
|
241
|
-
return "";
|
|
242
|
-
}
|
|
243
|
-
if (schema.default !== undefined) {
|
|
244
|
-
return schema.default;
|
|
245
|
-
}
|
|
246
|
-
if (schema.const !== undefined) {
|
|
247
|
-
return schema.const;
|
|
248
|
-
}
|
|
249
|
-
if (Array.isArray(schema.enum)) {
|
|
250
|
-
return schema.enum[0];
|
|
251
|
-
}
|
|
252
|
-
if (schema.type === "integer" || schema.type === "number") {
|
|
253
|
-
return 1;
|
|
254
|
-
}
|
|
255
|
-
if (schema.type === "boolean") {
|
|
256
|
-
return false;
|
|
257
|
-
}
|
|
258
|
-
if (schema.type === "array") {
|
|
259
|
-
return [];
|
|
260
|
-
}
|
|
261
|
-
if (schema.type === "object") {
|
|
262
|
-
return {};
|
|
263
|
-
}
|
|
264
|
-
return "";
|
|
265
|
-
}
|
package/src/server/api/auth.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface LocalAuthSession {
|
|
|
15
15
|
adminAuthConfigured: boolean;
|
|
16
16
|
authenticated: boolean;
|
|
17
17
|
}
|
|
18
|
+
export declare function hasAdminBearer(context: Context): boolean;
|
|
18
19
|
export declare function readRuntimeGrant(context: Context): RuntimeGrant | undefined;
|
|
19
20
|
export declare function createLocalAuthMiddleware(options: LocalAuthOptions): MiddlewareHandler;
|
|
20
21
|
export declare function readLocalAuthSession(context: Context, options: LocalAuthOptions): Promise<LocalAuthSession>;
|
package/src/server/api/auth.js
CHANGED
|
@@ -7,6 +7,10 @@ const authCookieName = "oomol_connect_admin_session";
|
|
|
7
7
|
const authCookieVersion = "v1";
|
|
8
8
|
const authCookieMaxAgeSeconds = 2_592_000;
|
|
9
9
|
const authCookieMaxAgeMs = authCookieMaxAgeSeconds * 1000;
|
|
10
|
+
const adminBearerRequests = new WeakSet();
|
|
11
|
+
export function hasAdminBearer(context) {
|
|
12
|
+
return adminBearerRequests.has(context.req.raw);
|
|
13
|
+
}
|
|
10
14
|
const runtimeGrants = new WeakMap();
|
|
11
15
|
export function readRuntimeGrant(context) {
|
|
12
16
|
return runtimeGrants.get(context.req.raw);
|
|
@@ -40,6 +44,8 @@ export function createLocalAuthMiddleware(options) {
|
|
|
40
44
|
message: "Configure an admin token to manage connections.",
|
|
41
45
|
});
|
|
42
46
|
}
|
|
47
|
+
if (adminToken && matchesConfiguredToken(context, adminToken))
|
|
48
|
+
adminBearerRequests.add(context.req.raw);
|
|
43
49
|
if (await hasValidToken(context, options, scope)) {
|
|
44
50
|
if (scope === "admin") {
|
|
45
51
|
await installAdminCookieForBearer(context, options);
|
|
@@ -64,6 +70,13 @@ export function createLocalAuthMiddleware(options) {
|
|
|
64
70
|
message: "A valid administrator bearer token is required.",
|
|
65
71
|
});
|
|
66
72
|
}
|
|
73
|
+
if (context.req.path.startsWith("/v1/")) {
|
|
74
|
+
return writeRuntimeFailure(context, {
|
|
75
|
+
status: 401,
|
|
76
|
+
errorCode: "unauthorized",
|
|
77
|
+
message: "A valid local bearer token is required.",
|
|
78
|
+
});
|
|
79
|
+
}
|
|
67
80
|
return jsonError(context, 401, "unauthorized", "A valid local bearer token is required.");
|
|
68
81
|
};
|
|
69
82
|
}
|
|
@@ -82,6 +95,7 @@ async function installLocalAuthCookie(context, options) {
|
|
|
82
95
|
}
|
|
83
96
|
function isPublicPath(path, method) {
|
|
84
97
|
return (path === "/health" ||
|
|
98
|
+
(method === "GET" && path === "/oauth/saas/complete") ||
|
|
85
99
|
path === "/oauth/callback" ||
|
|
86
100
|
path.startsWith("/oauth/callback/") ||
|
|
87
101
|
(method === "GET" && path === "/api/auth/session") ||
|
|
@@ -137,7 +151,9 @@ async function hasValidToken(context, options, scope) {
|
|
|
137
151
|
return scope === "runtime" ? await hasValidRuntimeToken(context, options) : false;
|
|
138
152
|
}
|
|
139
153
|
async function hasRequestToken(context, token) {
|
|
140
|
-
|
|
154
|
+
if (context.req.header("authorization") !== undefined)
|
|
155
|
+
return matchesConfiguredToken(context, token);
|
|
156
|
+
return await hasValidAuthCookie(context, token);
|
|
141
157
|
}
|
|
142
158
|
async function hasValidAuthCookie(context, token) {
|
|
143
159
|
const cookie = getCookie(context, authCookieName);
|
|
@@ -239,5 +255,7 @@ function isConnectionManagementPath(path) {
|
|
|
239
255
|
return (/^\/v1\/providers\/[^/]+\/setup$/.test(path) ||
|
|
240
256
|
path === "/v1/connections" ||
|
|
241
257
|
path.startsWith("/v1/connections/") ||
|
|
242
|
-
path.startsWith("/v1/connection-requests/")
|
|
258
|
+
path.startsWith("/v1/connection-requests/") ||
|
|
259
|
+
path === "/api/oauth/connection-requests" ||
|
|
260
|
+
path.startsWith("/api/oauth/connection-requests/"));
|
|
243
261
|
}
|
|
@@ -8,7 +8,10 @@ export function getResponseCachePolicy(method, path, status) {
|
|
|
8
8
|
vary: "Authorization, Cookie, Accept-Encoding",
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
if (path.startsWith("/v1/connection-requests/")
|
|
11
|
+
if (path.startsWith("/v1/connection-requests/") ||
|
|
12
|
+
path === "/api/oauth/connection-requests" ||
|
|
13
|
+
path.startsWith("/api/oauth/connection-requests/") ||
|
|
14
|
+
path === "/oauth/saas/complete")
|
|
12
15
|
return { cacheControl: "private, no-store" };
|
|
13
16
|
if (isRuntimeResponsePath(path)) {
|
|
14
17
|
return { cacheControl: "no-store" };
|
|
@@ -19,13 +22,12 @@ function isCatalogResponse(method, path) {
|
|
|
19
22
|
if (method !== "GET" && method !== "HEAD") {
|
|
20
23
|
return false;
|
|
21
24
|
}
|
|
25
|
+
// Runtime catalogs depend on mutable configuration and access policy.
|
|
26
|
+
// Only static catalogs can use the shared edge cache.
|
|
22
27
|
return (path === "/api/providers" ||
|
|
23
28
|
/^\/api\/providers\/[^/]+$/.test(path) ||
|
|
24
29
|
path === "/api/actions" ||
|
|
25
|
-
(path !== "/api/actions/search" && /^\/api\/actions\/[^/]+$/.test(path))
|
|
26
|
-
path === "/v1/providers" ||
|
|
27
|
-
path === "/v1/actions" ||
|
|
28
|
-
(path !== "/v1/actions/search" && /^\/v1\/actions\/[^/]+$/.test(path)));
|
|
30
|
+
(path !== "/api/actions/search" && /^\/api\/actions\/[^/]+$/.test(path)));
|
|
29
31
|
}
|
|
30
32
|
function isRuntimeResponsePath(path) {
|
|
31
33
|
return (path === "/health" ||
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { OAuthConnectionRequestInput } from "../../oauth/oauth-flow-service.ts";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
export declare const oauthConnectionInput: z.ZodType<Omit<OAuthConnectionRequestInput, "owner" | "service" | "target">>;
|
|
3
|
+
export declare const oauthConnectionInput: z.ZodType<Omit<OAuthConnectionRequestInput, "owner" | "service" | "target" | "signal" | "connectionName">>;
|
|
4
|
+
export declare const consoleOAuthConnectionInput: z.ZodType<{
|
|
5
|
+
service: string;
|
|
6
|
+
connectionName: string;
|
|
7
|
+
appId?: string;
|
|
8
|
+
authorizationOptionIds?: string[];
|
|
9
|
+
}>;
|
|
4
10
|
export declare const apiKeyConnectionInput: z.ZodType<{
|
|
5
11
|
apiKey: string;
|
|
6
12
|
extra?: Record<string, string>;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export const oauthConnectionInput = z.
|
|
2
|
+
export const oauthConnectionInput = z.strictObject({
|
|
3
3
|
returnUri: z.string().optional(),
|
|
4
4
|
authorizationOptionIds: z.array(z.string().trim().min(1)).optional(),
|
|
5
5
|
extra: z.record(z.string(), z.unknown()).optional(),
|
|
6
6
|
secretExtra: z.record(z.string(), z.string().trim().min(1)).optional(),
|
|
7
7
|
});
|
|
8
|
+
export const consoleOAuthConnectionInput = z.strictObject({
|
|
9
|
+
service: z.string().trim().min(1),
|
|
10
|
+
connectionName: z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/),
|
|
11
|
+
appId: z.string().min(1).optional(),
|
|
12
|
+
authorizationOptionIds: z.array(z.string().trim().min(1)).optional(),
|
|
13
|
+
});
|
|
8
14
|
export const apiKeyConnectionInput = z
|
|
9
15
|
.object({
|
|
10
16
|
apiKey: z.string(),
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ConnectionService } from "../../connection-service.ts";
|
|
2
2
|
import type { OAuthFlowService } from "../../oauth/oauth-flow-service.ts";
|
|
3
|
+
import type { SaasOAuthService } from "../../saas/saas-oauth-service.ts";
|
|
3
4
|
import { Hono } from "hono";
|
|
4
5
|
interface ConnectionRoutesOptions {
|
|
5
6
|
connections: ConnectionService;
|
|
6
7
|
oauthFlow: OAuthFlowService;
|
|
8
|
+
saasOAuth?: SaasOAuthService;
|
|
7
9
|
}
|
|
8
10
|
/** Personal connection management. Authentication runs in the parent app. */
|
|
9
|
-
export declare function createConnectionRoutes({ connections, oauthFlow }: ConnectionRoutesOptions): Hono;
|
|
11
|
+
export declare function createConnectionRoutes({ connections, oauthFlow, saasOAuth }: ConnectionRoutesOptions): Hono;
|
|
10
12
|
export {};
|
|
@@ -2,14 +2,26 @@ import { Hono } from "hono";
|
|
|
2
2
|
import { ConnectionError } from "../../connection-service.js";
|
|
3
3
|
import { OAuthClientConfigError } from "../../oauth/oauth-client-config-service.js";
|
|
4
4
|
import { OAuthFlowError } from "../../oauth/oauth-flow-service.js";
|
|
5
|
+
import { SaasError } from "../../saas/saas-client.js";
|
|
6
|
+
import { hasAdminBearer } from "./auth.js";
|
|
5
7
|
import { readJsonBody, HttpRequestError } from "./http-utils.js";
|
|
6
8
|
import { connectionManagementFailure, serializeManagedConnection, writeRuntimeSuccess, writeRuntimeFailure, } from "./runtime-api.js";
|
|
7
9
|
/** Personal connection management. Authentication runs in the parent app. */
|
|
8
|
-
export function createConnectionRoutes({ connections, oauthFlow }) {
|
|
10
|
+
export function createConnectionRoutes({ connections, oauthFlow, saasOAuth }) {
|
|
9
11
|
const app = new Hono();
|
|
10
12
|
// The local runtime has one administrator principal, including its bearer and browser sessions.
|
|
11
13
|
const owner = "local-admin";
|
|
12
14
|
app.onError((error, context) => {
|
|
15
|
+
if (error instanceof SaasError) {
|
|
16
|
+
if (error.retryAfter)
|
|
17
|
+
context.header("Retry-After", error.retryAfter);
|
|
18
|
+
return writeRuntimeFailure(context, {
|
|
19
|
+
status: error.status,
|
|
20
|
+
errorCode: error.code,
|
|
21
|
+
message: error.message,
|
|
22
|
+
data: error.connectionRequestId ? { connectionRequestId: error.connectionRequestId } : undefined,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
13
25
|
if (error instanceof ConnectionError ||
|
|
14
26
|
error instanceof OAuthFlowError ||
|
|
15
27
|
error instanceof OAuthClientConfigError) {
|
|
@@ -27,7 +39,10 @@ export function createConnectionRoutes({ connections, oauthFlow }) {
|
|
|
27
39
|
return writeRuntimeSuccess(context, serializeManagedConnection(await connections.getManagedConnection(context.req.param("appId"))));
|
|
28
40
|
});
|
|
29
41
|
app.get("/connection-requests/:connectionRequestId", async (context) => {
|
|
30
|
-
const
|
|
42
|
+
const id = context.req.param("connectionRequestId");
|
|
43
|
+
const request = saasOAuth && hasAdminBearer(context)
|
|
44
|
+
? await saasOAuth.sync(id, owner, context.req.raw.signal)
|
|
45
|
+
: await oauthFlow.getConnectionRequest(id, owner);
|
|
31
46
|
if (!request)
|
|
32
47
|
return writeRuntimeFailure(context, {
|
|
33
48
|
status: 404,
|
|
@@ -46,6 +61,7 @@ export function createConnectionRoutes({ connections, oauthFlow }) {
|
|
|
46
61
|
...input,
|
|
47
62
|
service: target?.service ?? context.req.param("service"),
|
|
48
63
|
owner,
|
|
64
|
+
signal: context.req.raw.signal,
|
|
49
65
|
target,
|
|
50
66
|
}));
|
|
51
67
|
});
|
|
@@ -54,7 +70,9 @@ export function createConnectionRoutes({ connections, oauthFlow }) {
|
|
|
54
70
|
const { apiKeyConnectionInput, customConnectionInput } = await import("./connection-input.js");
|
|
55
71
|
const body = await readJsonBody(context);
|
|
56
72
|
const target = reconnect ? await connections.getStoredConnection(context.req.param("appId")) : undefined;
|
|
57
|
-
if (target &&
|
|
73
|
+
if (target &&
|
|
74
|
+
(target.source === "saas" ||
|
|
75
|
+
target.credential.authType !== (authType === "api-key" ? "api_key" : "custom_credential"))) {
|
|
58
76
|
throw new ConnectionError("unsupported_auth_type", "The connection uses a different credential type.");
|
|
59
77
|
}
|
|
60
78
|
const service = target?.service ?? context.req.param("service");
|