@redocly/openapi-language-server 0.2.3 → 0.2.5

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/lib/index.js CHANGED
@@ -68,7 +68,7 @@ ${JSON.stringify(m,null,4)}`);let w=m;if(ve.string(w.id)||ve.number(w.id)){let E
68
68
  Multiple configuration files are not allowed.
69
69
  Found the following files: ${n.join(", ")}.
70
70
  Please use 'redocly.yaml' instead.
71
- `);return n[0]}),this.registerRootWorkspaceFolderURIGetter(async()=>"")}registerFileSystemProvider(t){this._fs=t}registerDocumentsProvider(t){this._documentManager=t}registerConfigFinder(t){this._findConfig=t}registerRootWorkspaceFolderURIGetter(t){this._getRootWorkspaceFolderURI=t}get fs(){if(!this._fs)throw new Error("FileSystemProvider not registered.");return this._fs}get documents(){if(!this._documentManager)throw new Error("DocumentsProvider not registered.");return this._documentManager}get findConfig(){return this._findConfig}get getRootWorkspaceFolderURI(){return this._getRootWorkspaceFolderURI}},Ie=new us;function au(e,t){return pe.resolvePath(Oe(e)).toString()===pe.resolvePath(Oe(t)).toString()}function Oe(e){return Jt.parse(e)}function jn(e){return Jt.parse(e).fsPath}function yr(e){let t=["https","http"],{scheme:n}=Jt.parse(e);return t.includes(n)}function Ln(e){return pe.basename(Oe(e))}async function cu(e,t="/"){let n=pe.resolvePath(Oe(t));for(;e.path!=="/";)try{(await Ie.fs.stat(pe.resolvePath(n,e.path))).isDirectory()||(e=pe.dirname(e));break}catch{e=pe.dirname(e)}return e}import{BaseResolver as wh,Source as zl,readFileFromUrl as kh}from"@redocly/openapi-core";var bi=Xe(_r(),1);import{isAbsoluteUrl as Sh}from"@redocly/openapi-core";function El(e,t=100,n=!1){let r=new Map,i=new Map;function o(u,c,p){let g=i.get(u.uri),b=Date.now()-g;try{b<t&&b>=0?r.set(u.uri,setTimeout(()=>o(u,c,p),t-b)):(r.delete(u.uri),i.delete(u.uri),n||c(e(u)))}catch(R){p(R)}}function s(u){let c=r.get(u.uri),p=n&&!c;return i.set(u.uri,Date.now()),new Promise((g,b)=>{c||r.set(u.uri,setTimeout(()=>o(u,g,b),t)),p&&g(e(u))})}return s}function Fs(e){let t=new Set,n=r=>Array.isArray(n)?r.map(n):typeof r=="object"&&r!==null?t.has(r)?void 0:(t.add(r),Object.fromEntries(Object.entries(r).map(([i,o])=>[i,n(o)]))):r;return n(e)}function Ml(e){return e==="$ref"}async function Ws(e,t){let n=Jt.parse(t);return pe.joinPath(n,e).toString()}async function jl(e,t,n){for(let[r,{root:i}]of Object.entries(e))if(await Ws(i,n)===t)return r}function Ll(e){return typeof e=="string"}function vi(e){return typeof e=="function"}function Il(e){return e?.kind===bi.Kind.MAP}function Hs(e){return e?.kind===bi.Kind.MAPPING}function Us(e){return e?.kind===bi.Kind.SEQ}function Rr(e,t){let n=t.singleQuoted?"'":'"';return`${n}${e}${n}`}function Bs(e){return Sh(e)||e.startsWith("file://")}var Rn=class{constructor(t,n,r,i){this._uri=t,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content}update(t,n){for(let r of t)if(Rn.isIncremental(r)){let i=Wl(r.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+r.text+this._content.substring(s,this._content.length);let u=Math.max(i.start.line,0),c=Math.max(i.end.line,0),p=this._lineOffsets,g=Fl(r.text,!1,o);if(c-u===g.length)for(let R=0,D=g.length;R<D;R++)p[R+u+1]=g[R];else g.length<1e4?p.splice(u+1,c-u,...g):this._lineOffsets=p=p.slice(0,u+1).concat(g,p.slice(c+1));let b=r.text.length-(s-o);if(b!==0)for(let R=u+1+g.length,D=p.length;R<D;R++)p[R]=p[R]+b}else if(Rn.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Fl(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:t};for(;r<i;){let s=Math.floor((r+i)/2);n[s]>t?i=s:r=s+1}let o=r-1;return{line:o,character:t-n[o]}}offsetAt(t){let n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;let r=n[t.line],i=t.line+1<n.length?n[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},Ci;(function(e){function t(i,o,s,u){return new Rn(i,o,s,u)}e.create=t;function n(i,o,s){if(i instanceof Rn)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}e.update=n;function r(i,o){let s=i.getText(),u=zs(o.map(Th),(g,b)=>{let R=g.range.start.line-b.range.start.line;return R===0?g.range.start.character-b.range.start.character:R}),c=0,p=[];for(let g of u){let b=i.offsetAt(g.range.start);if(b<c)throw new Error("Overlapping edit");b>c&&p.push(s.substring(c,b)),g.newText.length&&p.push(g.newText),c=i.offsetAt(g.range.end)}return p.push(s.substr(c)),p.join("")}e.applyEdits=r})(Ci||(Ci={}));function zs(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);zs(r,t),zs(i,t);let o=0,s=0,u=0;for(;o<r.length&&s<i.length;)t(r[o],i[s])<=0?e[u++]=r[o++]:e[u++]=i[s++];for(;o<r.length;)e[u++]=r[o++];for(;s<i.length;)e[u++]=i[s++];return e}function Fl(e,t,n=0){let r=t?[n]:[];for(let i=0;i<e.length;i++){let o=e.charCodeAt(i);(o===13||o===10)&&(o===13&&i+1<e.length&&e.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Wl(e){let t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Th(e){let t=Wl(e.range);return t!==e.range?{newText:e.newText,range:t}:e}var Hl=new Map;function Ul(e,t){return Hl.set(e,t)}function Bl(e){let t=[];for(let[n,r]of Hl.entries())r.dependencyPaths.has(e)&&t.push({documentPath:n,durationMS:r.durationMS});return t}async function at(e){let t=Ie.documents.get(e);if(t)return t;let n=await Ie.fs.readFile(Oe(e),"utf-8");return Ci.create(e,"yaml",1,n)}function $s(e){return ds.filePattern.test(e)}function xh(e){return ls.filePattern.test(e)}var Ut=class extends wh{resolveExternalRef(t,n){return Bs(n)?n:t&&Bs(t)?new URL(n,t).href:pe.resolvePath(pe.dirname(Oe(t)),n).toString()}async loadExternalRef(t){if(yr(t)){let{body:n,mimeType:r}=await kh(t,{...this.config.http,customFetch:fetch});return new zl(t,n,r)}return new zl(t,(await at(t)).getText())}};var Dr,Pi,Ys,$l;async function Vs(e){let t=new Ut,n=await Ie.findConfig(e);return Dr=await Ah({configPath:n,externalRefResolver:t,processRawConfig:async({document:r,resolvedRefMap:i})=>{Ys=i,$l=r}}),Dr}async function Bn(){return Dr||await Vs(),{config:Dr,configPath:Pi,rootConfigDocument:$l}}async function Yl(e,t){try{return Pi=await Ie.findConfig(e),Pi?await Vs(Pi):Dr}catch(n){return t?.createEventHandleLoadConfigError?.(n?.message),Vs("")}}function Sr(e){return Gs(e)?!0:!!Ys&&[...Ys.keys()].map(n=>n.split("::")?.[1]?.split("#")[0]).some(n=>au(Ln(e),n))}function Gs(e){return Ks.includes(Ln(e))}var Vl={hide:{type:"boolean",default:!1},component:{type:"string",enum:["radio","checkbox"],default:"checkbox"},label:{type:"string"},items:{type:"array",items:{type:"string"}}},Tr={type:"object",properties:Vl,additionalProperties:!1},qh={type:"object",properties:{hide:{type:"boolean",default:!1},label:{type:"string"},placeholder:{type:"string"}},additionalProperties:!1},tn={type:"object",properties:{hide:{type:"boolean",default:!1},type:{type:"string",enum:["rating","sentiment","comment","reasons","mood","scale"],default:"sentiment"},settings:{type:"object",properties:{label:{type:"string"},submitText:{type:"string"},buttonText:{type:"string"},component:{type:"string",enum:["radio","checkbox"],default:"checkbox"},items:{type:"array",items:{type:"string"},minItems:1},leftScaleLabel:{type:"string"},rightScaleLabel:{type:"string"},reasons:{type:"object",properties:Object.assign(Object.assign({},Vl),{like:Tr,dislike:Tr,satisfied:Tr,neutral:Tr,dissatisfied:Tr}),additionalProperties:!1},comment:{type:"object",properties:{hide:{type:"boolean",default:!1},label:{type:"string"},likeLabel:{type:"string"},dislikeLabel:{type:"string"},satisfiedLabel:{type:"string"},neutralLabel:{type:"string"},dissatisfiedLabel:{type:"string"}},additionalProperties:!1},optionalEmail:qh},additionalProperties:!1}},additionalProperties:!1};var zn={type:"object",properties:{includeByName:{type:"array",items:{type:"string"}},excludeByName:{type:"array",items:{type:"string"}}},additionalProperties:!1},Nh={type:"object",properties:{name:{type:"string"},items:zn,queries:zn,mutations:zn,subscriptions:zn,types:zn,directives:zn},required:["name"],additionalProperties:!1},Oh={type:"object",properties:{requireExactGroups:{type:"boolean"},groups:{type:"array",items:Nh},otherItemsGroupName:{type:"string"}},required:["requireExactGroups","groups","otherItemsGroupName"],additionalProperties:!1},$n={type:"object",properties:{hidePaginationButtons:{type:"boolean"},menu:{type:"object",properties:Object.assign({},Oh.properties),additionalProperties:!1},sidebar:{type:"object",properties:{hide:{type:"boolean"}}},apiLogo:{type:"object",properties:{imageUrl:{type:"string"},href:{type:"string"},altText:{type:"string"},backgroundColor:{type:"string"}}},jsonSamplesDepth:{type:"number"},samplesMaxInlineArgs:{type:"number"},licenseKey:{type:"string"},fieldExpandLevel:{type:"number"},baseUrlPath:{type:"string"},feedback:tn},additionalProperties:!1};var Eh={type:"object",properties:{languages:{type:"array",items:{type:"object",properties:{lang:{type:"string",enum:["curl","JavaScript","Node.js","Python","Java8+Apache","Java","C#","C#+Newtonsoft","PHP","Go","Ruby","R","Payload"]},label:{type:"string"},options:{type:"object",properties:{indent:{type:"string"},withImports:{type:"boolean"},withComments:{type:"boolean"},binary:{type:"boolean"},credentials:{type:"string",enum:["omit","same-origin","include"]}},additionalProperties:!1}},required:["lang"],additionalProperties:!1}},skipOptionalParameters:{type:"boolean"},withOAuth2Call:{type:"boolean"}},required:["languages"],additionalProperties:!1},Mh={type:"array",items:{type:"object",properties:{title:{type:"string"},url:{type:"string"}},required:["url"],additionalProperties:!1}},_i={type:"object",properties:{licenseKey:{type:"string"},hideLoading:{type:"boolean"},disableRouter:{type:"boolean"},hideSidebar:{type:"boolean"},feedback:tn,hideReplay:{type:"boolean"},oAuth2RedirectURI:{type:"string",nullable:!0},corsProxyUrl:{type:"string"},sortRequiredPropsFirst:{type:"boolean"},sanitize:{type:"boolean"},hideDownloadButtons:{type:"boolean"},downloadUrls:Mh,onlyRequiredInSamples:{type:"boolean"},generatedSamplesMaxDepth:{oneOf:[{type:"number"},{type:"string"}]},showExtensions:{oneOf:[{type:"boolean"},{type:"string"},{type:"array",items:{type:"string"}}]},hideSchemaTitles:{type:"boolean"},jsonSamplesExpandLevel:{oneOf:[{type:"number"},{type:"string"}]},schemasExpansionLevel:{oneOf:[{type:"number"},{type:"string"}]},mockServer:{type:"object",properties:{url:{type:"string"},position:{type:"string",enum:["first","last","replace","off"]},description:{type:"string"}}},maxDisplayedEnumValues:{type:"number"},schemaDefinitionsTagName:{type:"string"},layout:{type:"string",enum:["stacked","three-panel"]},hideInfoMetadata:{type:"boolean"},events:{type:"object"},skipBundle:{type:"boolean"},routingBasePath:{type:"string"},codeSamples:Eh,ignoreNamedSchemas:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},hidePropertiesPrefix:{type:"boolean"},excludeFromSearch:{type:"boolean"}},additionalProperties:!1};var jh={type:"object",properties:{label:{type:"string"},lang:{enum:["curl","C#","Go","Java","Java8+Apache","JavaScript","Node.js","PHP","Python","R","Ruby"]}},required:["lang"]},Lh={type:"object",properties:{enum:{type:"string"},enumSingleValue:{type:"string"},enumArray:{type:"string"},default:{type:"string"},deprecated:{type:"string"},example:{type:"string"},examples:{type:"string"},nullable:{type:"string"},recursive:{type:"string"},arrayOf:{type:"string"},webhook:{type:"string"},authorizations:{type:"string"},tryItAuthBasicUsername:{type:"string"},tryItAuthBasicPassword:{type:"string"}}},Kl={type:"object",properties:{label:{type:"string"},link:{type:"string"},target:{type:"string"}},required:["label","link"]},Ih={type:"object",properties:{beforeInfo:{type:"array",items:Kl},end:{type:"array",items:Kl}}},Dn={type:"object",properties:{main:{type:"string"},light:{type:"string"},dark:{type:"string"},contrastText:{type:"string"}}},Ri={type:"object",properties:{backgroundColor:{type:"string"},borderColor:{type:"string"},color:{type:"string"},tabTextColor:{type:"string"}}},Fh={type:"object",properties:xi(Dn.properties,["light","dark"])},Wh={type:"object",properties:{basic:{type:"string"},delete:{type:"string"},get:{type:"string"},head:{type:"string"},link:{type:"string"},options:{type:"string"},patch:{type:"string"},post:{type:"string"},put:{type:"string"}}},Hh={type:"object",properties:{error:Ri,info:Ri,redirect:Ri,success:Ri}},Uh={type:"object",properties:Yn(Dn.properties,["dark"])},Bh={type:"object",properties:{primary:{type:"string"},secondary:{type:"string"},light:{type:"string"}}},zh={type:"object",properties:{accent:Dn,border:Fh,error:Dn,http:Wh,primary:Dn,responses:Hh,secondary:Uh,success:Dn,text:Bh,tonalOffset:{type:"number"},warning:Dn}},Di={type:"object",properties:{fontSize:{type:"string"},padding:{type:"string"},minWidth:{type:"string"}}},$h={type:"object",properties:{small:Di,medium:Di,large:Di,xlarge:Di}},At={type:"object",properties:{fontFamily:{type:"string"},fontSize:{type:"string"},fontWeight:{type:"string"},lineHeight:{type:"string"}}},Yh={type:"object",properties:Object.assign(Object.assign({},Yn(At.properties,["fontSize","lineHeight"])),{borderRadius:{type:"string"},hoverStyle:{type:"string"},boxShadow:{type:"string"},hoverBoxShadow:{type:"string"},sizes:$h})},Gl={type:"object",properties:xi(At.properties,["fontSize","lineHeight"])},Vh={type:"object",properties:{medium:Gl,small:Gl}},Kh={type:"object",properties:Object.assign(Object.assign({},Yn(At.properties,["fontSize","lineHeight"])),{borderRadius:{type:"string"},color:{type:"string"},sizes:Vh})},Gh={type:"object",properties:{top:{type:"string"},width:{type:"string"},height:{type:"string"}}},Qh={type:"object",properties:{borderRadius:{type:"string"},backgroundColor:{type:"string"}}},Ql={type:"object",properties:{fullWidth:{type:"boolean"}}},Jh={type:"object",properties:{buttons:Yh,httpBadges:Kh,layoutControls:Gh,panels:Qh,tryItButton:Ql,tryItSendButton:Ql}},Ti={type:"object",properties:{small:{type:"string"},medium:{type:"string"},large:{type:"string"}}},Xh={type:"object",properties:{maxWidth:Ti}},Zh={type:"object",properties:{maxWidth:Ti,middlePanelMaxWidth:Ti}},ey={type:"object",properties:{showDarkRightPanel:{type:"boolean"},stacked:Xh,"three-panel":Zh}},Jl={type:"object",properties:{backgroundColor:{type:"string"},border:{type:"string"}}},ty={type:"object",properties:{breakFieldNames:{type:"boolean"},caretColor:{type:"string"},caretSize:{type:"string"},constraints:Jl,defaultDetailsWidth:{type:"string"},examples:Jl,labelsTextSize:{type:"string"},linesColor:{type:"string"},nestedBackground:{type:"string"},nestingSpacing:{type:"string"},requireLabelColor:{type:"string"},typeNameColor:{type:"string"},typeTitleColor:{type:"string"}}},Zl={type:"object",properties:{subItemsColor:{type:"string"},textTransform:{type:"string"},fontWeight:{type:"string"}}},ny={type:"object",properties:xi(Zl.properties,["textTransform"])},ry={type:"object",properties:{unit:{type:"number"},paddingHorizontal:{type:"string"},paddingVertical:{type:"string"},offsetTop:{type:"string"},offsetLeft:{type:"string"},offsetNesting:{type:"string"}}},iy={type:"object",properties:Object.assign(Object.assign({},Yn(At.properties,["fontWeight","lineHeight"])),{activeBgColor:{type:"string"},activeTextColor:{type:"string"},backgroundColor:{type:"string"},borderRadius:{type:"string"},breakPath:{type:"boolean"},caretColor:{type:"string"},caretSize:{type:"string"},groupItems:Zl,level1items:ny,rightLineColor:{type:"string"},separatorLabelColor:{type:"string"},showAtBreakpoint:{type:"string"},spacing:ry,textColor:{type:"string"},width:{type:"string"}})},Si={type:"object",properties:Object.assign(Object.assign({},At.properties),{color:{type:"string"},transform:{type:"string"}})},oy={type:"object",properties:Object.assign(Object.assign({},At.properties),{backgroundColor:{type:"string"},color:{type:"string"},wordBreak:{type:"string",enum:["break-all","break-word","keep-all","normal","revert","unset","inherit","initial"]},wrap:{type:"boolean"}})},sy={type:"object",properties:Yn(At.properties,["fontSize"])},ay={type:"object",properties:{color:{type:"string"},hover:{type:"string"},textDecoration:{type:"string"},hoverTextDecoration:{type:"string"},visited:{type:"string"}}},cy={type:"object",properties:Object.assign(Object.assign({code:oy,fieldName:At},xi(At.properties,["fontSize","fontFamily"])),{fontWeightBold:{type:"string"},fontWeightLight:{type:"string"},fontWeightRegular:{type:"string"},heading1:Si,heading2:Si,heading3:Si,headings:sy,lineHeight:{type:"string"},links:ay,optimizeSpeed:{type:"boolean"},rightPanelHeading:Si,smoothing:{type:"string",enum:["auto","none","antialiased","subpixel-antialiased","grayscale"]}})},uy={type:"object",properties:Object.assign({color:{type:"string"}},Yn(At.properties,["fontWeight"]))},ly={type:"object",properties:{backgroundColor:{type:"string"},borderRadius:{type:"string"},tokens:uy}},dy={type:"object",properties:{gutter:{type:"string"},maxHeight:{type:"string"},maxWidth:{type:"string"}}},fy={type:"object",properties:{backgroundColor:{type:"string"},color:{type:"string"}}},Xl={type:"object",properties:{custom:{type:"string"}}},py={type:"object",properties:{DownloadButton:Xl,NextSectionButton:Xl}},gy={type:"object",properties:{backgroundColor:{type:"string"},panelBackgroundColor:{type:"string"},panelControlsBackgroundColor:{type:"string"},showAtBreakpoint:{type:"string"},textColor:{type:"string"},width:{type:"string"}}},my={type:"object",properties:{borderRadius:{type:"string"}}},hy={type:"object",properties:{sectionHorizontal:{type:"number"},sectionVertical:{type:"number"},unit:{type:"number"}}},yy={type:"object",properties:{breakpoints:Ti,codeBlock:ly,colors:zh,components:Jh,layout:ey,logo:dy,fab:fy,overrides:py,rightPanel:gy,schema:ty,shape:my,sidebar:iy,spacing:hy,typography:cy,links:{properties:{color:{type:"string"}}},codeSample:{properties:{backgroundColor:{type:"string"}}}}},by={type:"object",properties:{skipOptionalParameters:{type:"boolean"},languages:{type:"array",items:jh}},required:["languages"]},ed={type:"object",properties:{theme:yy,ctrlFHijack:{type:"boolean"},defaultSampleLanguage:{type:"string"},disableDeepLinks:{type:"boolean"},disableSearch:{type:"boolean"},disableSidebar:{type:"boolean"},downloadDefinitionUrl:{type:"string"},expandDefaultServerVariables:{type:"boolean"},enumSkipQuotes:{type:"boolean"},expandDefaultRequest:{type:"boolean"},expandDefaultResponse:{type:"boolean"},expandResponses:{type:"string"},expandSingleSchemaField:{type:"boolean"},generateCodeSamples:by,generatedPayloadSamplesMaxDepth:{type:"number"},hideDownloadButton:{type:"boolean"},hideHostname:{type:"boolean"},hideInfoSection:{type:"boolean"},hideLogo:{type:"boolean"},hideRequestPayloadSample:{type:"boolean"},hideRightPanel:{type:"boolean"},hideSchemaPattern:{type:"boolean"},hideSingleRequestSampleTab:{type:"boolean"},hideSecuritySection:{type:"boolean"},hideTryItPanel:{type:"boolean"},hideFab:{type:"boolean"},hideOneOfDescription:{type:"boolean"},htmlTemplate:{type:"string"},jsonSampleExpandLevel:{oneOf:[{type:"number",minimum:1},{type:"string"}]},labels:Lh,menuToggle:{type:"boolean"},nativeScrollbars:{type:"boolean"},noAutoAuth:{type:"boolean"},onDeepLinkClick:{type:"object"},pagination:{enum:["none","section","item"]},pathInMiddlePanel:{type:"boolean"},payloadSampleIdx:{type:"number",minimum:0},requestInterceptor:{type:"object"},requiredPropsFirst:{type:"boolean"},routingStrategy:{type:"string"},samplesTabsMaxCount:{type:"number"},schemaExpansionLevel:{oneOf:[{type:"number",minimum:0},{type:"string"}]},minCharacterLengthToInitSearch:{type:"number",minimum:1},maxResponseHeadersToShowInTryIt:{type:"number",minimum:0},scrollYOffset:{oneOf:[{type:"number"},{type:"string"}]},searchAutoExpand:{type:"boolean"},searchFieldLevelBoost:{type:"number",minimum:0},searchMaxDepth:{type:"number",minimum:1},searchMode:{type:"string",enum:["default","path-only"]},searchOperationTitleBoost:{type:"number"},searchTagTitleBoost:{type:"number"},sendXUserAgentInTryIt:{type:"boolean"},showChangeLayoutButton:{type:"boolean"},showConsole:{type:"boolean"},showNextButton:{type:"boolean"},showRightPanelToggle:{type:"boolean"},showSecuritySchemeType:{type:"boolean"},showWebhookVerb:{type:"boolean"},showObjectSchemaExamples:{type:"boolean"},disableTryItRequestUrlEncoding:{type:"boolean"},sidebarLinks:Ih,sideNavStyle:{type:"string",enum:["summary-only","path-first","id-only","path-only"]},simpleOneOfTypeLabel:{type:"boolean"},sortEnumValuesAlphabetically:{type:"boolean"},sortOperationsAlphabetically:{type:"boolean"},sortPropsAlphabetically:{type:"boolean"},sortTagsAlphabetically:{type:"boolean"},suppressWarnings:{type:"boolean"},unstable_externalDescription:{type:"boolean"},unstable_ignoreMimeParameters:{type:"boolean"},untrustedDefinition:{type:"boolean"},showAccessMode:{type:"boolean"},preserveOriginalExtensionsName:{type:"boolean"},markdownHeadingsAnchorLevel:{type:"number"}},additionalProperties:!1};function xi(e,t){return Object.fromEntries(t.filter(n=>n in e).map(n=>[n,e[n]]))}function Yn(e,t){return Object.fromEntries(Object.entries(e).filter(([n])=>!t.includes(n)))}var We={type:"object",properties:{hide:{type:"boolean"}},additionalProperties:!1},td={type:"object",properties:{src:{type:"string"},async:{type:"boolean"},crossorigin:{type:"string"},defer:{type:"boolean"},fetchpriority:{type:"string"},integrity:{type:"string"},module:{type:"boolean"},nomodule:{type:"boolean"},nonce:{type:"string"},referrerpolicy:{type:"string"},type:{type:"string"}},required:["src"],additionalProperties:!0},Qs={type:"object",properties:{page:{type:"string"},directory:{type:"string"},disconnect:{type:"boolean",default:!1},group:{type:"string"},label:{type:"string"},href:{type:"string"},external:{type:"boolean"},labelTranslationKey:{type:"string"},groupTranslationKey:{type:"string"},icon:{oneOf:[{type:"string"},{type:"object",properties:{srcSet:{type:"string"}},required:["srcSet"]}]},separator:{type:"string"},separatorLine:{type:"boolean"},linePosition:{type:"string",enum:["top","bottom"],default:"top"},version:{type:"string"},menuStyle:{type:"string",enum:["drilldown"]},expanded:{type:"string",const:"always"},selectFirstItemOnExpand:{type:"boolean"},flatten:{type:"boolean"},linkedSidebars:{type:"array",items:{type:"string"}},items:{type:"array",items:{type:"object",additionalProperties:!0}}}},Js={type:"array",items:Object.assign(Object.assign({},Qs),{properties:Object.assign(Object.assign({},Qs.properties),{items:{type:"array",items:Qs}})})},vy={type:"object",properties:{name:{type:"string"},icon:{type:"string"},folder:{type:"string"}},additionalProperties:!1,required:["name","folder"]},Cy={type:"object",properties:{hide:{type:"boolean",default:!1},prompt:{type:"string"}},additionalProperties:!1},Py={type:"array",items:{type:"object",required:["name","field","type"],properties:{name:{type:"string"},field:{type:"string"},type:{type:"string",enum:["multi-select","select","tags"]}},additionalProperties:!1}},_y={type:"object",properties:Object.assign({facets:Py},We.properties),additionalProperties:!1},Ry={type:"object",properties:{page:{type:"string"},label:{type:"string"},labelTranslationKey:{type:"string"}},required:["page"]},wi={type:"object",properties:{image:{type:"string"},srcSet:{type:"string"},altText:{type:"string"},link:{type:"string"},favicon:{type:"string"}},additionalProperties:!1},ki={type:"object",properties:Object.assign({items:Js},We.properties),additionalProperties:!1},Ai={type:"object",additionalProperties:vy},qi={type:"object",properties:Object.assign({items:Js,copyrightText:{type:"string"},logo:We},We.properties),additionalProperties:!1},Ni={type:"object",properties:Object.assign({separatorLine:{type:"boolean"},linePosition:{type:"string",enum:["top","bottom"],default:"bottom"}},We.properties),additionalProperties:!1},Oi={type:"object",properties:{head:{type:"array",items:td},body:{type:"array",items:td}},additionalProperties:!1},Ei={type:"array",items:{type:"object",properties:{href:{type:"string"},as:{type:"string"},crossorigin:{type:"string"},fetchpriority:{type:"string"},hreflang:{type:"string"},imagesizes:{type:"string"},imagesrcset:{type:"string"},integrity:{type:"string"},media:{type:"string"},prefetch:{type:"string"},referrerpolicy:{type:"string"},rel:{type:"string"},sizes:{type:"string"},title:{type:"string"},type:{type:"string"}},required:["href"],additionalProperties:!0}},Mi={type:"object",properties:Object.assign({engine:{type:"string",enum:["flexsearch","typesense"],default:"flexsearch"},ai:Cy,filters:_y,placement:{type:"string",default:"navbar"},shortcuts:{type:"array",items:{type:"string"},default:["/"]},suggestedPages:{type:"array",items:Ry}},We.properties),additionalProperties:!1},ji={type:"object",properties:Object.assign({ignoreDetection:{type:"boolean"},modes:{type:"array",items:{type:"string"},default:["light","dark"]}},We.properties),additionalProperties:!1},Li={type:"object",properties:{nextButton:{type:"object",properties:Object.assign({text:{type:"string",default:"Next page"}},We.properties),additionalProperties:!1,default:{}},previousButton:{type:"object",properties:Object.assign({text:{type:"string",default:"Previous page"}},We.properties),additionalProperties:!1,default:{}}},additionalProperties:!1},Ii={type:"object",properties:{elementFormat:{type:"string",default:"icon"},copy:{type:"object",properties:Object.assign({},We.properties),additionalProperties:!1,default:{hide:!1}},report:{type:"object",properties:Object.assign({tooltipText:{type:"string"},buttonText:{type:"string"},label:{type:"string"}},We.properties),additionalProperties:!1,default:{hide:!1}},expand:{type:"object",properties:Object.assign({},We.properties),additionalProperties:!1,default:{hide:!1}},collapse:{type:"object",properties:Object.assign({},We.properties),additionalProperties:!1,default:{hide:!1}}},additionalProperties:!1},Fi={type:"object",properties:{frontMatterKeysToResolve:{type:"array",items:{type:"string"},default:["image","links"]},partialsFolders:{type:"array",items:{type:"string"},default:["_partials"]},lastUpdatedBlock:{type:"object",properties:Object.assign({format:{type:"string",enum:["timeago","iso","long","short"],default:"timeago"},locale:{type:"string"}},We.properties),additionalProperties:!1,default:{}},toc:{type:"object",properties:Object.assign({header:{type:"string",default:"On this page"},depth:{type:"integer",default:3,minimum:1}},We.properties),additionalProperties:!1,default:{}},editPage:{type:"object",properties:Object.assign({baseUrl:{type:"string"}},We.properties),additionalProperties:!1,default:{}}},additionalProperties:!1,default:{}},Vn=Object.assign(Object.assign({},_i),{properties:Object.assign(Object.assign({},_i.properties),ed.properties)}),Dy={type:"object",properties:{includeInDevelopment:{type:"boolean"},scriptUrl:{type:"string"},pageViewEventName:{type:"string"}},additionalProperties:!1,required:["scriptUrl"]},Sy={type:"object",properties:{includeInDevelopment:{type:"boolean"},apiKey:{type:"string"},head:{type:"boolean"},respectDNT:{type:"boolean"},exclude:{type:"array",items:{type:"string"}},outboundClickEventName:{type:"string"},pageViewEventName:{type:"string"},amplitudeConfig:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["apiKey"]},Ty={type:"object",properties:{includeInDevelopment:{type:"boolean"},orgId:{type:"string"}},additionalProperties:!1,required:["orgId"]},xy={type:"object",properties:{includeInDevelopment:{type:"boolean"},appId:{type:"string"}},additionalProperties:!1,required:["appId"]},wy={type:"object",properties:{includeInDevelopment:{type:"boolean"},writeKey:{type:"string",minLength:10},trackPage:{type:"boolean"},dataPlaneUrl:{type:"string"},controlPlaneUrl:{type:"string"},sdkUrl:{type:"string"},loadOptions:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["writeKey"]},ky={type:"object",properties:{includeInDevelopment:{type:"boolean"},writeKey:{type:"string",minLength:10},trackPage:{type:"boolean"},includeTitleInPageCall:{type:"boolean"},host:{type:"string"}},additionalProperties:!1,required:["writeKey"]},Ay={type:"object",properties:{includeInDevelopment:{type:"boolean"},trackingId:{type:"string"},gtmAuth:{type:"string"},gtmPreview:{type:"string"},defaultDataLayer:{},dataLayerName:{type:"string"},enableWebVitalsTracking:{type:"boolean"},selfHostedOrigin:{type:"string"},pageViewEventName:{type:"string"}},additionalProperties:!1,required:["trackingId"]},Xs={type:"object",properties:{includeInDevelopment:{type:"boolean"},trackingId:{type:"string"},conversionId:{type:"string"},floodlightId:{type:"string"},optimizeId:{type:"string"},exclude:{type:"array",items:{type:"string"}}},additionalProperties:!1,required:["trackingId"]},qy={type:"object",properties:{includeInDevelopment:{type:"boolean"},trackingId:{type:"string"},conversionId:{type:"string"},floodlightId:{type:"string"},head:{type:"boolean"},respectDNT:{type:"boolean"},exclude:{type:"array",items:{type:"string"}},optimizeId:{type:"string"},anonymizeIp:{type:"boolean"},cookieExpires:{type:"number"},trackers:{type:"object",additionalProperties:Xs}},additionalProperties:!1,required:["trackingId"]},Wi={type:"object",properties:{adobe:Dy,amplitude:Sy,fullstory:Ty,heap:xy,rudderstack:wy,segment:ky,gtm:Ay,ga:qy}},Hi={type:"object",properties:Object.assign({items:{type:"array",items:{type:"object",properties:{label:{type:"string"},external:{type:"boolean"},link:{type:"string"},separatorLine:{type:"boolean"}},additionalProperties:!0},default:[]},hideLoginButton:{type:"boolean"}},We.properties),additionalProperties:!1},Ui={type:"object",properties:{hide:{type:"boolean"},showForUnversioned:{type:"boolean"}}},Bi={type:"object",properties:{hide:{type:"boolean"},prefixItems:{type:"array",items:{type:"object",properties:{label:{type:"string"},labelTranslationKey:{type:"string"},page:{type:"string"}},additionalProperties:!1,default:{}}}},additionalProperties:!1},Ny={type:"object",additionalProperties:!1,required:["title","property"],properties:{type:{type:"string",enum:["select","checkboxes","date-range"],default:"checkboxes"},title:{type:"string"},titleTranslationKey:{type:"string"},property:{type:"string"},parentFilter:{type:"string"},valuesMapping:{type:"object",additionalProperties:{type:"string"}},missingCategoryName:{type:"string"},missingCategoryNameTranslationKey:{type:"string"},options:{type:"array",items:{type:"string"}}}},Oy={type:"object",additionalProperties:!0,required:["slug","items"],properties:{slug:{type:"string"},filters:{type:"array",items:Ny},groupByFirstFilter:{type:"boolean"},filterValuesCasing:{type:"string",enum:["sentence","original","lowercase","uppercase"]},items:Js,requiredPermission:{type:"string"},separateVersions:{type:"boolean"},title:{type:"string"},titleTranslationKey:{type:"string"},description:{type:"string"},descriptionTranslationKey:{type:"string"}}},zi={type:"object",patternProperties:{".*":Oy}},$i={type:"object",additionalProperties:!0,required:[],properties:{ignoreNonCompliant:{type:"boolean",default:!1},teamMetadataProperty:{type:"object",properties:{property:{type:"string"},label:{type:"string"},default:{type:"string"}}},levels:{type:"array",items:{type:"object",required:["name"],properties:{name:{type:"string"},color:{type:"string"},extends:{type:"array",items:{type:"string"}},rules:{type:"object",additionalProperties:{oneOf:[{type:"string"},{type:"object"}]}}},additionalProperties:!1}},targets:{type:"array",items:{type:"object",required:["where"],properties:{minimumLevel:{type:"string"},rules:{type:"object",additionalProperties:!0},where:{type:"object",required:["metadata"],properties:{metadata:{type:"object",additionalProperties:{type:"string"}}},additionalProperties:!1}},additionalProperties:!1}},ignore:{type:"array",items:{type:"string"}}}};var rt={type:"object",properties:{imports:{type:"array",items:{type:"string"}},logo:wi,navbar:ki,products:Ai,footer:qi,sidebar:Ni,scripts:Oi,links:Ei,feedback:tn,search:Mi,colorMode:ji,navigation:Li,codeSnippet:Ii,markdown:Fi,openapi:Vn,graphql:$n,analytics:Wi,userMenu:Hi,versionPicker:Ui,breadcrumbs:Bi,catalog:zi,scorecard:$i},additionalProperties:!0},WR=Object.assign(Object.assign({},rt),{additionalProperties:!1});var ea="https://redocly.com/sso/teams",Kn;(function(e){e.OIDC="OIDC",e.SAML2="SAML2"})(Kn||(Kn={}));var Gn;(function(e){e.SERVICE_ACCOUNT="SERVICE_ACCOUNT",e.OAUTH2="OAUTH2"})(Gn||(Gn={}));var Zs;(function(e){e.STACKED="stacked",e.THREE_PANEL="three-panel"})(Zs||(Zs={}));function Yi(e,t){return Object.fromEntries(Object.entries(e).map(([n,r])=>{if(n!==t)return typeof r!="object"||!r?[n,r]:Array.isArray(r)?[n,r.map(i=>typeof i=="object"?Yi(i,t):i)]:[n,Yi(r,t)]}).filter(Boolean))}var Ey={type:"object",additionalProperties:{type:"string"}},My={type:"object",additionalProperties:!1,patternProperties:{"^[a-zA-Z0-9_-]+$":{type:"string",pattern:"^https?://[^\\s/$.?#].[^\\s]*$"}}},Vi={type:"string",enum:["error","warn","off"]},jy={type:"object",additionalProperties:!1,properties:{schemaCheck:Vi,statusCodeCheck:Vi,contentTypeCheck:Vi,successCriteriaCheck:Vi}},Ly={type:"object",additionalProperties:!1,properties:{event:{type:"string",enum:["schedule"]},interval:{type:"string",pattern:"^[1-9]\\d*[mhdw]$"}},required:["event"]},nd={type:"object",properties:{ignoreLint:{oneOf:[{type:"boolean",default:!1},{type:"object",additionalProperties:{type:"boolean"}}]},ignoreLinkChecker:{type:"boolean"},ignoreMarkdocErrors:{type:"boolean"},jobs:{type:"array",items:{type:"object",properties:{path:{type:"string",pattern:"^(?!\\.\\./)(/[a-zA-Z0-9_\\-\\./]+|./[a-zA-Z0-9_\\-\\./]+|[a-zA-Z0-9_\\-\\./]+)$"},agent:{type:"string",enum:["spot"]},trigger:Ly,inputs:Ey,servers:My,severity:jy},required:["path","trigger","agent"],additionalProperties:!1}}},additionalProperties:!1};var Iy={type:"object",properties:{end_session_endpoint:{type:"string"},token_endpoint:{type:"string"},authorization_endpoint:{type:"string"},jwks_uri:{type:"string"}},required:["token_endpoint","authorization_endpoint"],additionalProperties:!0},Fy={type:"object",properties:{type:{type:"string",const:Kn.OIDC},title:{type:"string"},pkce:{type:"boolean",default:!1},configurationUrl:{type:"string",minLength:1},configuration:Iy,clientId:{type:"string",minLength:1},clientSecret:{type:"string",minLength:0},teamsClaimName:{type:"string"},teamsClaimMap:{type:"object",additionalProperties:{type:"string"}},defaultTeams:{type:"array",items:{type:"string"}},scopes:{type:"array",items:{type:"string"}},tokenExpirationTime:{type:"number"},authorizationRequestCustomParams:{type:"object",additionalProperties:{type:"string"}},tokenRequestCustomParams:{type:"object",additionalProperties:{type:"string"}},audience:{type:"array",items:{type:"string"}}},required:["type","clientId"],oneOf:[{required:["configurationUrl"]},{required:["configuration"]}],additionalProperties:!1},Wy={type:"object",properties:{type:{type:"string",const:Kn.SAML2},title:{type:"string"},issuerId:{type:"string"},entityId:{type:"string"},ssoUrl:{type:"string"},x509PublicCert:{type:"string"},teamsAttributeName:{type:"string",default:ea},teamsAttributeMap:{type:"object",additionalProperties:{type:"string"}},defaultTeams:{type:"array",items:{type:"string"}}},additionalProperties:!1,required:["type","issuerId","ssoUrl","x509PublicCert"]},Hy={oneOf:[Fy,Wy],discriminator:{propertyName:"type"}},Uy={type:"object",additionalProperties:Hy},By={oneOf:[{type:"array",items:{type:"string",enum:["REDOCLY","CORPORATE","GUEST"]},uniqueItems:!0},{type:"string",enum:["REDOCLY","CORPORATE","GUEST"]}]},zy={type:"object",properties:{to:{type:"string"},type:{type:"number",default:301}},additionalProperties:!1},$y={type:"object",additionalProperties:zy,default:{}},id={type:"object",additionalProperties:{oneOf:[{type:"string"},{type:"object"}]}},ra={type:"object",properties:{root:{type:"string"},output:{type:"string",pattern:"(.ya?ml|.json)$"},rbac:{type:"object",additionalProperties:!0},openapi:Vn,graphql:$n,theme:{type:"object",properties:{openapi:Vn,graphql:$n},additionalProperties:!1},title:{type:"string"},metadata:{type:"object",additionalProperties:!0},rules:id,decorators:{type:"object",additionalProperties:!0},preprocessors:{type:"object",additionalProperties:!0}},required:["root"]},Yy={type:"object",additionalProperties:!0},Vy={type:"object",additionalProperties:{type:"object",additionalProperties:!0}},Ky={type:"object",properties:{title:{type:"string"},description:{type:"string"},siteUrl:{type:"string"},image:{type:"string"},keywords:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},lang:{type:"string"},jsonLd:{type:"object"},meta:{type:"array",items:{type:"object",properties:{name:{type:"string"},content:{type:"string"}},required:["name","content"],additionalProperties:!1}}},additionalProperties:!1},Gy={type:"object",properties:{folders:{type:"array",items:{type:"string"}}},additionalProperties:!1},Sn={type:"object",additionalProperties:{type:"string"}},od={type:"object",properties:{teamNamePatterns:{type:"array",items:{type:"string"}},teamFolders:{type:"array",items:{type:"string"}},teamFoldersBaseRoles:Sn,cms:Sn,reunite:Sn,features:{type:"object",properties:{aiSearch:Sn},additionalProperties:!1},content:{type:"object",properties:{"**":Sn},additionalProperties:Sn}},additionalProperties:Sn},Qy={type:"object",properties:{static:{type:"string"}},additionalProperties:!1,required:["static"]},Jy={type:"object",properties:{idp:{type:"string"}},additionalProperties:!1,required:["idp"]},Xy={type:"object",properties:{type:{type:"string",const:"GRAVITEE"},apiBaseUrl:{type:"string"},env:{type:"string"},allowApiProductsOutsideCatalog:{type:"boolean",default:!1},stage:{type:"string",default:"non-production"},auth:{oneOf:[Qy,Jy]}},additionalProperties:!1,required:["type","apiBaseUrl"]},Zy={type:"object",properties:{type:{type:"string",const:Gn.OAUTH2},tokenEndpoint:{type:"string"},clientId:{type:"string"},clientSecret:{type:"string"}},additionalProperties:!1,required:["type","tokenEndpoint","clientId","clientSecret"]},eb={type:"object",properties:{type:{type:"string",const:Gn.SERVICE_ACCOUNT},serviceAccountEmail:{type:"string"},serviceAccountPrivateKey:{type:"string"}},additionalProperties:!1,required:["type","serviceAccountEmail","serviceAccountPrivateKey"]},ta={type:"object",properties:{type:{type:"string",const:"APIGEE_X"},apiUrl:{type:"string"},stage:{type:"string",default:"non-production"},organizationName:{type:"string"},ignoreApiProducts:{type:"array",items:{type:"string"}},allowApiProductsOutsideCatalog:{type:"boolean",default:!1},auth:{type:"object",oneOf:[Zy,eb],discriminator:{propertyName:"type"}}},additionalProperties:!1,required:["type","organizationName","auth"]},tb=Object.assign(Object.assign({},ta),{properties:Object.assign(Object.assign({},ta.properties),{type:{type:"string",const:"APIGEE_EDGE"}})}),nb={type:"object",oneOf:[ta,tb,Xy],discriminator:{propertyName:"type"}},rb={type:"object",required:["adapters"],additionalProperties:!1,properties:{adapters:{type:"array",items:nb}}},rd={type:"object",properties:{defaultLocale:{type:"string"},locales:{type:"array",items:{type:"object",properties:{code:{type:"string"},name:{type:"string"}},required:["code"]}}},additionalProperties:!1,required:["defaultLocale"]},ib={type:"object",properties:{name:{type:"string"},value:{type:"string"}},additionalProperties:!1,required:["name","value"]},na={type:"object",properties:{imports:{type:"array",items:{type:"string"}},licenseKey:{type:"string"},redirects:$y,seo:Ky,rbac:od,apiFunctions:Gy,requiresLogin:{type:"boolean"},responseHeaders:{type:"object",additionalProperties:{type:"array",items:ib}},mockServer:{type:"object",properties:{off:{type:"boolean",default:!1},position:{type:"string",enum:["first","last","replace","off"],default:"first"},strictExamples:{type:"boolean",default:!1},errorIfForcedExampleNotFound:{type:"boolean",default:!1},description:{type:"string"}}},apis:{type:"object",additionalProperties:ra},rules:id,decorators:{type:"object",additionalProperties:!0},preprocessors:{type:"object",additionalProperties:!0},ssoDirect:Uy,sso:By,residency:{type:"string"},developerOnboarding:rb,removeAttribution:{type:"boolean"},i18n:rd,l10n:rd,metadata:Yy,metadataGlobs:Vy,ignore:{type:"array",items:{type:"string"}},theme:rt,reunite:nd,logo:wi,navbar:ki,products:Ai,footer:qi,sidebar:Ni,scripts:Oi,links:Ei,feedback:tn,search:Mi,colorMode:ji,navigation:Li,codeSnippet:Ii,markdown:Fi,openapi:Vn,graphql:$n,analytics:Wi,userMenu:Hi,versionPicker:Ui,breadcrumbs:Bi,catalog:zi,scorecard:$i},default:{redirects:{}},additionalProperties:!0},ob=Object.assign(Object.assign({},Yi(na,"default")),{additionalProperties:!1}),ia=Object.assign(Object.assign({$id:"root-redocly-config"},na),{properties:Object.assign(Object.assign({plugins:{type:"array",items:{type:"string"}}},na.properties),{env:{type:"object",additionalProperties:ob}}),default:{},additionalProperties:!1});var oa={type:"object",properties:{logo:rt.properties.logo,navbar:rt.properties.navbar,footer:rt.properties.footer,sidebar:rt.properties.sidebar,search:rt.properties.search,codeSnippet:rt.properties.codeSnippet,breadcrumbs:rt.properties.breadcrumbs,openapi:rt.properties.openapi,feedback:rt.properties.feedback,analytics:{type:"object",properties:{ga:Xs}}},additionalProperties:!0,default:{}},sb={$id:"product-config-override",type:"object",properties:Object.assign(Object.assign({},oa.properties),{apis:{type:"object",additionalProperties:ra},theme:oa}),additionalProperties:!1};var Je=Xe(fn(),1);import{getLineColLocation as P_,lintDocument as __,makeDocumentFromString as Gc,lintConfig as R_,detectSpec as D_,getMergedConfig as S_}from"@redocly/openapi-core";import{createConfigTypes as T_}from"@redocly/openapi-core/lib/types/redocly-yaml";import{bundleDocument as y_,makeDocumentFromString as b_}from"@redocly/openapi-core";var lp=new Map,Fo=new Map;function v_(e){return e?Array.from(e).map(([t,n])=>[t,Fs(n)]):[]}async function Vc(e,t){let{config:n}=await Bn(),r=new Ut(n.resolve),i=b_(e.getText(),e.uri),{bundle:o,problems:s,fileDependencies:u,rootType:c,refTypes:p}=await y_({document:i,config:n.styleguide,externalRefResolver:r}),g=v_(p);p&&(Fo=new Map([...Fo,...p])),lp.set(e.uri,{uri:e.uri,name:Ln(e.uri),definition:o.parsed,rootType:c,refTypes:g,errors:t})}function C_(){return Array.from(lp).map(([e,{definition:t,rootType:n,refTypes:r,errors:i}])=>({name:Ln(e),uri:e,definition:t,rootType:n,refTypes:r,errors:i}))}function Kc(e){return Fo.has(e)?Fo.get(e):null}var x_=800,w_=5,Jc=El(q_,x_);async function k_(e){let t=e.map(({documentPath:i})=>Oe(i).toString()),{config:n}=await Bn(),r=await Ie.getRootWorkspaceFolderURI();for(let{root:i}of Object.values(n.apis)){let o=await Ws(i,r);if(t.includes(o))return o}return t[0]}var Qc;function A_(e){try{return D_(e),!0}catch{return!1}}async function q_(e){let t=e.uri,{config:n,rootConfigDocument:r,configPath:i}=await Bn();if(Sr(jn(t))){let o=Gs(t)?Gc(e.getText(),t):Gc(r.source.body,r.source.absoluteRef),s=new Ut,u=await R_({document:o,externalRefResolver:s,config:n,externalConfigTypes:T_(ia,n)}),c=[{uri:e.uri,diagnostics:[]}];return dp(u,c),c}else{let o=Bl(t),s=await k_(o||[]);s&&(e=await at(s),t=s);let u;try{u=Gc(e.getText(),t)}catch{return[{uri:e.uri,diagnostics:[]}]}if(!A_(u.parsed))return[{uri:e.uri,diagnostics:[]}];let c=[];try{let p=new Ut(n.resolve);Qc=e.uri;let g=await Ie.getRootWorkspaceFolderURI(),b=await jl(n.apis,Qc,g),R=Date.now(),D=(await __({document:u,config:S_(n,b).styleguide,externalRefResolver:p})).filter(({ignored:j})=>!j);Qc=null;let T=E_(D);Vc(e,T);let q=Date.now()-R;c=[...new Set([e.uri,...[...p.getFiles()].map(j=>Oe(j).toString())])].map(j=>({uri:j,diagnostics:[]})),Ul(t,{dependencyPaths:p.getFiles(),durationMS:q}),dp(D,c)}catch(p){N_(e.uri,p,c)}return c}}function Wo(){return Ie.documents.all().map(Jc)}function N_(e,t,n){let r=n||[{uri:e,diagnostics:[]}];if(t.line&&t.col&&t.message){let i=t.source?.absoluteRef?Oe(t.source.absoluteRef).toString():e,o=t.line-1,s=t.col-1,u=Je.Position.create(o,s),c=Je.Diagnostic.create(Je.Range.create(u,u),t.message,Je.DiagnosticSeverity.Error);fp(i,c,r)}else t.message.includes("This doesn\u2019t look like an OpenAPI document")||console.error(t);return r}function fp(e,t,n){let r=n.find(i=>i.uri===e);return r||(r={uri:e,diagnostics:[]},n.push(r)),r.diagnostics.push(t),n}function O_(e){return e.suggest.length===0?"":e.suggest.length===1?`
71
+ `);return n[0]}),this.registerRootWorkspaceFolderURIGetter(async()=>"")}registerFileSystemProvider(t){this._fs=t}registerDocumentsProvider(t){this._documentManager=t}registerConfigFinder(t){this._findConfig=t}registerRootWorkspaceFolderURIGetter(t){this._getRootWorkspaceFolderURI=t}get fs(){if(!this._fs)throw new Error("FileSystemProvider not registered.");return this._fs}get documents(){if(!this._documentManager)throw new Error("DocumentsProvider not registered.");return this._documentManager}get findConfig(){return this._findConfig}get getRootWorkspaceFolderURI(){return this._getRootWorkspaceFolderURI}},Ie=new us;function au(e,t){return pe.resolvePath(Oe(e)).toString()===pe.resolvePath(Oe(t)).toString()}function Oe(e){return Jt.parse(e)}function jn(e){return Jt.parse(e).fsPath}function yr(e){let t=["https","http"],{scheme:n}=Jt.parse(e);return t.includes(n)}function Ln(e){return pe.basename(Oe(e))}async function cu(e,t="/"){let n=pe.resolvePath(Oe(t));for(;e.path!=="/";)try{(await Ie.fs.stat(pe.resolvePath(n,e.path))).isDirectory()||(e=pe.dirname(e));break}catch{e=pe.dirname(e)}return e}import{BaseResolver as wh,Source as zl,readFileFromUrl as kh}from"@redocly/openapi-core";var bi=Xe(_r(),1);import{isAbsoluteUrl as Sh}from"@redocly/openapi-core";function El(e,t=100,n=!1){let r=new Map,i=new Map;function o(u,c,p){let g=i.get(u.uri),b=Date.now()-g;try{b<t&&b>=0?r.set(u.uri,setTimeout(()=>o(u,c,p),t-b)):(r.delete(u.uri),i.delete(u.uri),n||c(e(u)))}catch(R){p(R)}}function s(u){let c=r.get(u.uri),p=n&&!c;return i.set(u.uri,Date.now()),new Promise((g,b)=>{c||r.set(u.uri,setTimeout(()=>o(u,g,b),t)),p&&g(e(u))})}return s}function Fs(e){let t=new Set,n=r=>Array.isArray(n)?r.map(n):typeof r=="object"&&r!==null?t.has(r)?void 0:(t.add(r),Object.fromEntries(Object.entries(r).map(([i,o])=>[i,n(o)]))):r;return n(e)}function Ml(e){return e==="$ref"}async function Ws(e,t){let n=Jt.parse(t);return pe.joinPath(n,e).toString()}async function jl(e,t,n){for(let[r,{root:i}]of Object.entries(e))if(await Ws(i,n)===t)return r}function Ll(e){return typeof e=="string"}function vi(e){return typeof e=="function"}function Il(e){return e?.kind===bi.Kind.MAP}function Hs(e){return e?.kind===bi.Kind.MAPPING}function Us(e){return e?.kind===bi.Kind.SEQ}function Rr(e,t){let n=t.singleQuoted?"'":'"';return`${n}${e}${n}`}function Bs(e){return Sh(e)||e.startsWith("file://")}var Rn=class{constructor(t,n,r,i){this._uri=t,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content}update(t,n){for(let r of t)if(Rn.isIncremental(r)){let i=Wl(r.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+r.text+this._content.substring(s,this._content.length);let u=Math.max(i.start.line,0),c=Math.max(i.end.line,0),p=this._lineOffsets,g=Fl(r.text,!1,o);if(c-u===g.length)for(let R=0,D=g.length;R<D;R++)p[R+u+1]=g[R];else g.length<1e4?p.splice(u+1,c-u,...g):this._lineOffsets=p=p.slice(0,u+1).concat(g,p.slice(c+1));let b=r.text.length-(s-o);if(b!==0)for(let R=u+1+g.length,D=p.length;R<D;R++)p[R]=p[R]+b}else if(Rn.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Fl(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:t};for(;r<i;){let s=Math.floor((r+i)/2);n[s]>t?i=s:r=s+1}let o=r-1;return{line:o,character:t-n[o]}}offsetAt(t){let n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;let r=n[t.line],i=t.line+1<n.length?n[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},Ci;(function(e){function t(i,o,s,u){return new Rn(i,o,s,u)}e.create=t;function n(i,o,s){if(i instanceof Rn)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}e.update=n;function r(i,o){let s=i.getText(),u=zs(o.map(Th),(g,b)=>{let R=g.range.start.line-b.range.start.line;return R===0?g.range.start.character-b.range.start.character:R}),c=0,p=[];for(let g of u){let b=i.offsetAt(g.range.start);if(b<c)throw new Error("Overlapping edit");b>c&&p.push(s.substring(c,b)),g.newText.length&&p.push(g.newText),c=i.offsetAt(g.range.end)}return p.push(s.substr(c)),p.join("")}e.applyEdits=r})(Ci||(Ci={}));function zs(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);zs(r,t),zs(i,t);let o=0,s=0,u=0;for(;o<r.length&&s<i.length;)t(r[o],i[s])<=0?e[u++]=r[o++]:e[u++]=i[s++];for(;o<r.length;)e[u++]=r[o++];for(;s<i.length;)e[u++]=i[s++];return e}function Fl(e,t,n=0){let r=t?[n]:[];for(let i=0;i<e.length;i++){let o=e.charCodeAt(i);(o===13||o===10)&&(o===13&&i+1<e.length&&e.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Wl(e){let t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Th(e){let t=Wl(e.range);return t!==e.range?{newText:e.newText,range:t}:e}var Hl=new Map;function Ul(e,t){return Hl.set(e,t)}function Bl(e){let t=[];for(let[n,r]of Hl.entries())r.dependencyPaths.has(e)&&t.push({documentPath:n,durationMS:r.durationMS});return t}async function at(e){let t=Ie.documents.get(e);if(t)return t;let n=await Ie.fs.readFile(Oe(e),"utf-8");return Ci.create(e,"yaml",1,n)}function $s(e){return ds.filePattern.test(e)}function xh(e){return ls.filePattern.test(e)}var Ut=class extends wh{resolveExternalRef(t,n){return Bs(n)?n:t&&Bs(t)?new URL(n,t).href:pe.resolvePath(pe.dirname(Oe(t)),n).toString()}async loadExternalRef(t){if(yr(t)){let{body:n,mimeType:r}=await kh(t,{...this.config.http,customFetch:fetch});return new zl(t,n,r)}return new zl(t,(await at(t)).getText())}};var Dr,Pi,Ys,$l;async function Vs(e){let t=new Ut,n=await Ie.findConfig(e);return Dr=await Ah({configPath:n,externalRefResolver:t,processRawConfig:async({document:r,resolvedRefMap:i})=>{Ys=i,$l=r}}),Dr}async function Bn(){return Dr||await Vs(),{config:Dr,configPath:Pi,rootConfigDocument:$l}}async function Yl(e,t){try{return Pi=await Ie.findConfig(e),Pi?await Vs(Pi):Dr}catch(n){return t?.createEventHandleLoadConfigError?.(n?.message),Vs("")}}function Sr(e){return Gs(e)?!0:!!Ys&&[...Ys.keys()].map(n=>n.split("::")?.[1]?.split("#")[0]).some(n=>au(Ln(e),n))}function Gs(e){return Ks.includes(Ln(e))}var Vl={hide:{type:"boolean",default:!1},component:{type:"string",enum:["radio","checkbox"],default:"checkbox"},label:{type:"string"},items:{type:"array",items:{type:"string"}}},Tr={type:"object",properties:Vl,additionalProperties:!1},qh={type:"object",properties:{hide:{type:"boolean",default:!1},label:{type:"string"},placeholder:{type:"string"}},additionalProperties:!1},tn={type:"object",properties:{hide:{type:"boolean",default:!1},type:{type:"string",enum:["rating","sentiment","comment","reasons","mood","scale"],default:"sentiment"},settings:{type:"object",properties:{label:{type:"string"},submitText:{type:"string"},buttonText:{type:"string"},component:{type:"string",enum:["radio","checkbox"],default:"checkbox"},items:{type:"array",items:{type:"string"},minItems:1},leftScaleLabel:{type:"string"},rightScaleLabel:{type:"string"},reasons:{type:"object",properties:Object.assign(Object.assign({},Vl),{like:Tr,dislike:Tr,satisfied:Tr,neutral:Tr,dissatisfied:Tr}),additionalProperties:!1},comment:{type:"object",properties:{hide:{type:"boolean",default:!1},label:{type:"string"},likeLabel:{type:"string"},dislikeLabel:{type:"string"},satisfiedLabel:{type:"string"},neutralLabel:{type:"string"},dissatisfiedLabel:{type:"string"}},additionalProperties:!1},optionalEmail:qh},additionalProperties:!1}},additionalProperties:!1};var zn={type:"object",properties:{includeByName:{type:"array",items:{type:"string"}},excludeByName:{type:"array",items:{type:"string"}}},additionalProperties:!1},Nh={type:"object",properties:{name:{type:"string"},items:zn,queries:zn,mutations:zn,subscriptions:zn,types:zn,directives:zn},required:["name"],additionalProperties:!1},Oh={type:"object",properties:{requireExactGroups:{type:"boolean"},groups:{type:"array",items:Nh},otherItemsGroupName:{type:"string"}},required:["requireExactGroups","groups","otherItemsGroupName"],additionalProperties:!1},$n={type:"object",properties:{hidePaginationButtons:{type:"boolean"},menu:{type:"object",properties:Object.assign({},Oh.properties),additionalProperties:!1},sidebar:{type:"object",properties:{hide:{type:"boolean"}}},apiLogo:{type:"object",properties:{imageUrl:{type:"string"},href:{type:"string"},altText:{type:"string"},backgroundColor:{type:"string"}}},jsonSamplesDepth:{type:"number"},samplesMaxInlineArgs:{type:"number"},licenseKey:{type:"string"},fieldExpandLevel:{type:"number"},baseUrlPath:{type:"string"},feedback:tn},additionalProperties:!1};var Eh={type:"object",properties:{languages:{type:"array",items:{type:"object",properties:{lang:{type:"string",enum:["curl","JavaScript","Node.js","Python","Java8+Apache","Java","C#","C#+Newtonsoft","PHP","Go","Ruby","R","Payload"]},label:{type:"string"},options:{type:"object",properties:{indent:{type:"string"},withImports:{type:"boolean"},withComments:{type:"boolean"},binary:{type:"boolean"},credentials:{type:"string",enum:["omit","same-origin","include"]}},additionalProperties:!1}},required:["lang"],additionalProperties:!1}},skipOptionalParameters:{type:"boolean"},withOAuth2Call:{type:"boolean"}},required:["languages"],additionalProperties:!1},Mh={type:"array",items:{type:"object",properties:{title:{type:"string"},url:{type:"string"}},required:["url"],additionalProperties:!1}},_i={type:"object",properties:{licenseKey:{type:"string"},hideLoading:{type:"boolean"},disableRouter:{type:"boolean"},hideSidebar:{type:"boolean"},feedback:tn,hideReplay:{type:"boolean"},oAuth2RedirectURI:{type:"string",nullable:!0},corsProxyUrl:{type:"string"},sortRequiredPropsFirst:{type:"boolean"},sanitize:{type:"boolean"},hideDownloadButtons:{type:"boolean"},downloadUrls:Mh,onlyRequiredInSamples:{type:"boolean"},generatedSamplesMaxDepth:{oneOf:[{type:"number"},{type:"string"}]},showExtensions:{oneOf:[{type:"boolean"},{type:"string"},{type:"array",items:{type:"string"}}]},hideSchemaTitles:{type:"boolean"},jsonSamplesExpandLevel:{oneOf:[{type:"number"},{type:"string"}]},schemasExpansionLevel:{oneOf:[{type:"number"},{type:"string"}]},mockServer:{type:"object",properties:{url:{type:"string"},position:{type:"string",enum:["first","last","replace","off"]},description:{type:"string"}}},maxDisplayedEnumValues:{type:"number"},schemaDefinitionsTagName:{type:"string"},layout:{type:"string",enum:["stacked","three-panel"]},hideInfoMetadata:{type:"boolean"},events:{type:"object"},skipBundle:{type:"boolean"},routingBasePath:{type:"string"},codeSamples:Eh,ignoreNamedSchemas:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},hidePropertiesPrefix:{type:"boolean"},excludeFromSearch:{type:"boolean"}},additionalProperties:!1};var jh={type:"object",properties:{label:{type:"string"},lang:{enum:["curl","C#","Go","Java","Java8+Apache","JavaScript","Node.js","PHP","Python","R","Ruby"]}},required:["lang"]},Lh={type:"object",properties:{enum:{type:"string"},enumSingleValue:{type:"string"},enumArray:{type:"string"},default:{type:"string"},deprecated:{type:"string"},example:{type:"string"},examples:{type:"string"},nullable:{type:"string"},recursive:{type:"string"},arrayOf:{type:"string"},webhook:{type:"string"},authorizations:{type:"string"},tryItAuthBasicUsername:{type:"string"},tryItAuthBasicPassword:{type:"string"}}},Kl={type:"object",properties:{label:{type:"string"},link:{type:"string"},target:{type:"string"}},required:["label","link"]},Ih={type:"object",properties:{beforeInfo:{type:"array",items:Kl},end:{type:"array",items:Kl}}},Dn={type:"object",properties:{main:{type:"string"},light:{type:"string"},dark:{type:"string"},contrastText:{type:"string"}}},Ri={type:"object",properties:{backgroundColor:{type:"string"},borderColor:{type:"string"},color:{type:"string"},tabTextColor:{type:"string"}}},Fh={type:"object",properties:xi(Dn.properties,["light","dark"])},Wh={type:"object",properties:{basic:{type:"string"},delete:{type:"string"},get:{type:"string"},head:{type:"string"},link:{type:"string"},options:{type:"string"},patch:{type:"string"},post:{type:"string"},put:{type:"string"}}},Hh={type:"object",properties:{error:Ri,info:Ri,redirect:Ri,success:Ri}},Uh={type:"object",properties:Yn(Dn.properties,["dark"])},Bh={type:"object",properties:{primary:{type:"string"},secondary:{type:"string"},light:{type:"string"}}},zh={type:"object",properties:{accent:Dn,border:Fh,error:Dn,http:Wh,primary:Dn,responses:Hh,secondary:Uh,success:Dn,text:Bh,tonalOffset:{type:"number"},warning:Dn}},Di={type:"object",properties:{fontSize:{type:"string"},padding:{type:"string"},minWidth:{type:"string"}}},$h={type:"object",properties:{small:Di,medium:Di,large:Di,xlarge:Di}},At={type:"object",properties:{fontFamily:{type:"string"},fontSize:{type:"string"},fontWeight:{type:"string"},lineHeight:{type:"string"}}},Yh={type:"object",properties:Object.assign(Object.assign({},Yn(At.properties,["fontSize","lineHeight"])),{borderRadius:{type:"string"},hoverStyle:{type:"string"},boxShadow:{type:"string"},hoverBoxShadow:{type:"string"},sizes:$h})},Gl={type:"object",properties:xi(At.properties,["fontSize","lineHeight"])},Vh={type:"object",properties:{medium:Gl,small:Gl}},Kh={type:"object",properties:Object.assign(Object.assign({},Yn(At.properties,["fontSize","lineHeight"])),{borderRadius:{type:"string"},color:{type:"string"},sizes:Vh})},Gh={type:"object",properties:{top:{type:"string"},width:{type:"string"},height:{type:"string"}}},Qh={type:"object",properties:{borderRadius:{type:"string"},backgroundColor:{type:"string"}}},Ql={type:"object",properties:{fullWidth:{type:"boolean"}}},Jh={type:"object",properties:{buttons:Yh,httpBadges:Kh,layoutControls:Gh,panels:Qh,tryItButton:Ql,tryItSendButton:Ql}},Ti={type:"object",properties:{small:{type:"string"},medium:{type:"string"},large:{type:"string"}}},Xh={type:"object",properties:{maxWidth:Ti}},Zh={type:"object",properties:{maxWidth:Ti,middlePanelMaxWidth:Ti}},ey={type:"object",properties:{showDarkRightPanel:{type:"boolean"},stacked:Xh,"three-panel":Zh}},Jl={type:"object",properties:{backgroundColor:{type:"string"},border:{type:"string"}}},ty={type:"object",properties:{breakFieldNames:{type:"boolean"},caretColor:{type:"string"},caretSize:{type:"string"},constraints:Jl,defaultDetailsWidth:{type:"string"},examples:Jl,labelsTextSize:{type:"string"},linesColor:{type:"string"},nestedBackground:{type:"string"},nestingSpacing:{type:"string"},requireLabelColor:{type:"string"},typeNameColor:{type:"string"},typeTitleColor:{type:"string"}}},Zl={type:"object",properties:{subItemsColor:{type:"string"},textTransform:{type:"string"},fontWeight:{type:"string"}}},ny={type:"object",properties:xi(Zl.properties,["textTransform"])},ry={type:"object",properties:{unit:{type:"number"},paddingHorizontal:{type:"string"},paddingVertical:{type:"string"},offsetTop:{type:"string"},offsetLeft:{type:"string"},offsetNesting:{type:"string"}}},iy={type:"object",properties:Object.assign(Object.assign({},Yn(At.properties,["fontWeight","lineHeight"])),{activeBgColor:{type:"string"},activeTextColor:{type:"string"},backgroundColor:{type:"string"},borderRadius:{type:"string"},breakPath:{type:"boolean"},caretColor:{type:"string"},caretSize:{type:"string"},groupItems:Zl,level1items:ny,rightLineColor:{type:"string"},separatorLabelColor:{type:"string"},showAtBreakpoint:{type:"string"},spacing:ry,textColor:{type:"string"},width:{type:"string"}})},Si={type:"object",properties:Object.assign(Object.assign({},At.properties),{color:{type:"string"},transform:{type:"string"}})},oy={type:"object",properties:Object.assign(Object.assign({},At.properties),{backgroundColor:{type:"string"},color:{type:"string"},wordBreak:{type:"string",enum:["break-all","break-word","keep-all","normal","revert","unset","inherit","initial"]},wrap:{type:"boolean"}})},sy={type:"object",properties:Yn(At.properties,["fontSize"])},ay={type:"object",properties:{color:{type:"string"},hover:{type:"string"},textDecoration:{type:"string"},hoverTextDecoration:{type:"string"},visited:{type:"string"}}},cy={type:"object",properties:Object.assign(Object.assign({code:oy,fieldName:At},xi(At.properties,["fontSize","fontFamily"])),{fontWeightBold:{type:"string"},fontWeightLight:{type:"string"},fontWeightRegular:{type:"string"},heading1:Si,heading2:Si,heading3:Si,headings:sy,lineHeight:{type:"string"},links:ay,optimizeSpeed:{type:"boolean"},rightPanelHeading:Si,smoothing:{type:"string",enum:["auto","none","antialiased","subpixel-antialiased","grayscale"]}})},uy={type:"object",properties:Object.assign({color:{type:"string"}},Yn(At.properties,["fontWeight"]))},ly={type:"object",properties:{backgroundColor:{type:"string"},borderRadius:{type:"string"},tokens:uy}},dy={type:"object",properties:{gutter:{type:"string"},maxHeight:{type:"string"},maxWidth:{type:"string"}}},fy={type:"object",properties:{backgroundColor:{type:"string"},color:{type:"string"}}},Xl={type:"object",properties:{custom:{type:"string"}}},py={type:"object",properties:{DownloadButton:Xl,NextSectionButton:Xl}},gy={type:"object",properties:{backgroundColor:{type:"string"},panelBackgroundColor:{type:"string"},panelControlsBackgroundColor:{type:"string"},showAtBreakpoint:{type:"string"},textColor:{type:"string"},width:{type:"string"}}},my={type:"object",properties:{borderRadius:{type:"string"}}},hy={type:"object",properties:{sectionHorizontal:{type:"number"},sectionVertical:{type:"number"},unit:{type:"number"}}},yy={type:"object",properties:{breakpoints:Ti,codeBlock:ly,colors:zh,components:Jh,layout:ey,logo:dy,fab:fy,overrides:py,rightPanel:gy,schema:ty,shape:my,sidebar:iy,spacing:hy,typography:cy,links:{properties:{color:{type:"string"}}},codeSample:{properties:{backgroundColor:{type:"string"}}}}},by={type:"object",properties:{skipOptionalParameters:{type:"boolean"},languages:{type:"array",items:jh}},required:["languages"]},ed={type:"object",properties:{theme:yy,ctrlFHijack:{type:"boolean"},defaultSampleLanguage:{type:"string"},disableDeepLinks:{type:"boolean"},disableSearch:{type:"boolean"},disableSidebar:{type:"boolean"},downloadDefinitionUrl:{type:"string"},expandDefaultServerVariables:{type:"boolean"},enumSkipQuotes:{type:"boolean"},expandDefaultRequest:{type:"boolean"},expandDefaultResponse:{type:"boolean"},expandResponses:{type:"string"},expandSingleSchemaField:{type:"boolean"},generateCodeSamples:by,generatedPayloadSamplesMaxDepth:{type:"number"},hideDownloadButton:{type:"boolean"},hideHostname:{type:"boolean"},hideInfoSection:{type:"boolean"},hideLogo:{type:"boolean"},hideRequestPayloadSample:{type:"boolean"},hideRightPanel:{type:"boolean"},hideSchemaPattern:{type:"boolean"},hideSingleRequestSampleTab:{type:"boolean"},hideSecuritySection:{type:"boolean"},hideTryItPanel:{type:"boolean"},hideFab:{type:"boolean"},hideOneOfDescription:{type:"boolean"},htmlTemplate:{type:"string"},jsonSampleExpandLevel:{oneOf:[{type:"number",minimum:1},{type:"string"}]},labels:Lh,menuToggle:{type:"boolean"},nativeScrollbars:{type:"boolean"},noAutoAuth:{type:"boolean"},onDeepLinkClick:{type:"object"},pagination:{enum:["none","section","item"]},pathInMiddlePanel:{type:"boolean"},payloadSampleIdx:{type:"number",minimum:0},requestInterceptor:{type:"object"},requiredPropsFirst:{type:"boolean"},routingStrategy:{type:"string"},samplesTabsMaxCount:{type:"number"},schemaExpansionLevel:{oneOf:[{type:"number",minimum:0},{type:"string"}]},minCharacterLengthToInitSearch:{type:"number",minimum:1},maxResponseHeadersToShowInTryIt:{type:"number",minimum:0},scrollYOffset:{oneOf:[{type:"number"},{type:"string"}]},searchAutoExpand:{type:"boolean"},searchFieldLevelBoost:{type:"number",minimum:0},searchMaxDepth:{type:"number",minimum:1},searchMode:{type:"string",enum:["default","path-only"]},searchOperationTitleBoost:{type:"number"},searchTagTitleBoost:{type:"number"},sendXUserAgentInTryIt:{type:"boolean"},showChangeLayoutButton:{type:"boolean"},showConsole:{type:"boolean"},showNextButton:{type:"boolean"},showRightPanelToggle:{type:"boolean"},showSecuritySchemeType:{type:"boolean"},showWebhookVerb:{type:"boolean"},showObjectSchemaExamples:{type:"boolean"},disableTryItRequestUrlEncoding:{type:"boolean"},sidebarLinks:Ih,sideNavStyle:{type:"string",enum:["summary-only","path-first","id-only","path-only"]},simpleOneOfTypeLabel:{type:"boolean"},sortEnumValuesAlphabetically:{type:"boolean"},sortOperationsAlphabetically:{type:"boolean"},sortPropsAlphabetically:{type:"boolean"},sortTagsAlphabetically:{type:"boolean"},suppressWarnings:{type:"boolean"},unstable_externalDescription:{type:"boolean"},unstable_ignoreMimeParameters:{type:"boolean"},untrustedDefinition:{type:"boolean"},showAccessMode:{type:"boolean"},preserveOriginalExtensionsName:{type:"boolean"},markdownHeadingsAnchorLevel:{type:"number"}},additionalProperties:!1};function xi(e,t){return Object.fromEntries(t.filter(n=>n in e).map(n=>[n,e[n]]))}function Yn(e,t){return Object.fromEntries(Object.entries(e).filter(([n])=>!t.includes(n)))}var We={type:"object",properties:{hide:{type:"boolean"}},additionalProperties:!1},td={type:"object",properties:{src:{type:"string"},async:{type:"boolean"},crossorigin:{type:"string"},defer:{type:"boolean"},fetchpriority:{type:"string"},integrity:{type:"string"},module:{type:"boolean"},nomodule:{type:"boolean"},nonce:{type:"string"},referrerpolicy:{type:"string"},type:{type:"string"}},required:["src"],additionalProperties:!0},Qs={type:"object",properties:{page:{type:"string"},directory:{type:"string"},disconnect:{type:"boolean",default:!1},group:{type:"string"},label:{type:"string"},href:{type:"string"},external:{type:"boolean"},labelTranslationKey:{type:"string"},groupTranslationKey:{type:"string"},icon:{oneOf:[{type:"string"},{type:"object",properties:{srcSet:{type:"string"}},required:["srcSet"]}]},separator:{type:"string"},separatorLine:{type:"boolean"},linePosition:{type:"string",enum:["top","bottom"],default:"top"},version:{type:"string"},menuStyle:{type:"string",enum:["drilldown"]},expanded:{type:"string",const:"always"},selectFirstItemOnExpand:{type:"boolean"},flatten:{type:"boolean"},linkedSidebars:{type:"array",items:{type:"string"}},items:{type:"array",items:{type:"object",additionalProperties:!0}}}},Js={type:"array",items:Object.assign(Object.assign({},Qs),{properties:Object.assign(Object.assign({},Qs.properties),{items:{type:"array",items:Qs}})})},vy={type:"object",properties:{name:{type:"string"},icon:{type:"string"},folder:{type:"string"}},additionalProperties:!1,required:["name","folder"]},Cy={type:"object",properties:{hide:{type:"boolean",default:!1},prompt:{type:"string"}},additionalProperties:!1},Py={type:"array",items:{type:"object",required:["name","field","type"],properties:{name:{type:"string"},field:{type:"string"},type:{type:"string",enum:["multi-select","select","tags"]}},additionalProperties:!1}},_y={type:"object",properties:Object.assign({facets:Py},We.properties),additionalProperties:!1},Ry={type:"object",properties:{page:{type:"string"},label:{type:"string"},labelTranslationKey:{type:"string"}},required:["page"]},wi={type:"object",properties:{image:{type:"string"},srcSet:{type:"string"},altText:{type:"string"},link:{type:"string"},favicon:{type:"string"}},additionalProperties:!1},ki={type:"object",properties:Object.assign({items:Js},We.properties),additionalProperties:!1},Ai={type:"object",additionalProperties:vy},qi={type:"object",properties:Object.assign({items:Js,copyrightText:{type:"string"},logo:We},We.properties),additionalProperties:!1},Ni={type:"object",properties:Object.assign({separatorLine:{type:"boolean"},linePosition:{type:"string",enum:["top","bottom"],default:"bottom"}},We.properties),additionalProperties:!1},Oi={type:"object",properties:{head:{type:"array",items:td},body:{type:"array",items:td}},additionalProperties:!1},Ei={type:"array",items:{type:"object",properties:{href:{type:"string"},as:{type:"string"},crossorigin:{type:"string"},fetchpriority:{type:"string"},hreflang:{type:"string"},imagesizes:{type:"string"},imagesrcset:{type:"string"},integrity:{type:"string"},media:{type:"string"},prefetch:{type:"string"},referrerpolicy:{type:"string"},rel:{type:"string"},sizes:{type:"string"},title:{type:"string"},type:{type:"string"}},required:["href"],additionalProperties:!0}},Mi={type:"object",properties:Object.assign({engine:{type:"string",enum:["flexsearch","typesense"],default:"flexsearch"},ai:Cy,filters:_y,placement:{type:"string",default:"navbar"},shortcuts:{type:"array",items:{type:"string"},default:["/"]},suggestedPages:{type:"array",items:Ry}},We.properties),additionalProperties:!1},ji={type:"object",properties:Object.assign({ignoreDetection:{type:"boolean"},modes:{type:"array",items:{type:"string"},default:["light","dark"]}},We.properties),additionalProperties:!1},Li={type:"object",properties:{nextButton:{type:"object",properties:Object.assign({text:{type:"string",default:"Next page"}},We.properties),additionalProperties:!1,default:{}},previousButton:{type:"object",properties:Object.assign({text:{type:"string",default:"Previous page"}},We.properties),additionalProperties:!1,default:{}}},additionalProperties:!1},Ii={type:"object",properties:{elementFormat:{type:"string",default:"icon"},copy:{type:"object",properties:Object.assign({},We.properties),additionalProperties:!1,default:{hide:!1}},report:{type:"object",properties:Object.assign({tooltipText:{type:"string"},buttonText:{type:"string"},label:{type:"string"}},We.properties),additionalProperties:!1,default:{hide:!1}},expand:{type:"object",properties:Object.assign({},We.properties),additionalProperties:!1,default:{hide:!1}},collapse:{type:"object",properties:Object.assign({},We.properties),additionalProperties:!1,default:{hide:!1}}},additionalProperties:!1},Fi={type:"object",properties:{frontMatterKeysToResolve:{type:"array",items:{type:"string"},default:["image","links"]},partialsFolders:{type:"array",items:{type:"string"},default:["_partials"]},lastUpdatedBlock:{type:"object",properties:Object.assign({format:{type:"string",enum:["timeago","iso","long","short"],default:"timeago"},locale:{type:"string"}},We.properties),additionalProperties:!1,default:{}},toc:{type:"object",properties:Object.assign({header:{type:"string",default:"On this page"},depth:{type:"integer",default:3,minimum:1}},We.properties),additionalProperties:!1,default:{}},editPage:{type:"object",properties:Object.assign({baseUrl:{type:"string"}},We.properties),additionalProperties:!1,default:{}}},additionalProperties:!1,default:{}},Vn=Object.assign(Object.assign({},_i),{properties:Object.assign(Object.assign({},_i.properties),ed.properties)}),Dy={type:"object",properties:{includeInDevelopment:{type:"boolean"},scriptUrl:{type:"string"},pageViewEventName:{type:"string"}},additionalProperties:!1,required:["scriptUrl"]},Sy={type:"object",properties:{includeInDevelopment:{type:"boolean"},apiKey:{type:"string"},head:{type:"boolean"},respectDNT:{type:"boolean"},exclude:{type:"array",items:{type:"string"}},outboundClickEventName:{type:"string"},pageViewEventName:{type:"string"},amplitudeConfig:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["apiKey"]},Ty={type:"object",properties:{includeInDevelopment:{type:"boolean"},orgId:{type:"string"}},additionalProperties:!1,required:["orgId"]},xy={type:"object",properties:{includeInDevelopment:{type:"boolean"},appId:{type:"string"}},additionalProperties:!1,required:["appId"]},wy={type:"object",properties:{includeInDevelopment:{type:"boolean"},writeKey:{type:"string",minLength:10},trackPage:{type:"boolean"},dataPlaneUrl:{type:"string"},controlPlaneUrl:{type:"string"},sdkUrl:{type:"string"},loadOptions:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["writeKey"]},ky={type:"object",properties:{includeInDevelopment:{type:"boolean"},writeKey:{type:"string",minLength:10},trackPage:{type:"boolean"},includeTitleInPageCall:{type:"boolean"},host:{type:"string"}},additionalProperties:!1,required:["writeKey"]},Ay={type:"object",properties:{includeInDevelopment:{type:"boolean"},trackingId:{type:"string"},gtmAuth:{type:"string"},gtmPreview:{type:"string"},defaultDataLayer:{},dataLayerName:{type:"string"},enableWebVitalsTracking:{type:"boolean"},selfHostedOrigin:{type:"string"},pageViewEventName:{type:"string"}},additionalProperties:!1,required:["trackingId"]},Xs={type:"object",properties:{includeInDevelopment:{type:"boolean"},trackingId:{type:"string"},conversionId:{type:"string"},floodlightId:{type:"string"},optimizeId:{type:"string"},exclude:{type:"array",items:{type:"string"}}},additionalProperties:!1,required:["trackingId"]},qy={type:"object",properties:{includeInDevelopment:{type:"boolean"},trackingId:{type:"string"},conversionId:{type:"string"},floodlightId:{type:"string"},head:{type:"boolean"},respectDNT:{type:"boolean"},exclude:{type:"array",items:{type:"string"}},optimizeId:{type:"string"},anonymizeIp:{type:"boolean"},cookieExpires:{type:"number"},trackers:{type:"object",additionalProperties:Xs}},additionalProperties:!1,required:["trackingId"]},Wi={type:"object",properties:{adobe:Dy,amplitude:Sy,fullstory:Ty,heap:xy,rudderstack:wy,segment:ky,gtm:Ay,ga:qy}},Hi={type:"object",properties:Object.assign({items:{type:"array",items:{type:"object",properties:{label:{type:"string"},external:{type:"boolean"},link:{type:"string"},separatorLine:{type:"boolean"}},additionalProperties:!0},default:[]},hideLoginButton:{type:"boolean"}},We.properties),additionalProperties:!1},Ui={type:"object",properties:{hide:{type:"boolean"},showForUnversioned:{type:"boolean"}}},Bi={type:"object",properties:{hide:{type:"boolean"},prefixItems:{type:"array",items:{type:"object",properties:{label:{type:"string"},labelTranslationKey:{type:"string"},page:{type:"string"}},additionalProperties:!1,default:{}}}},additionalProperties:!1},Ny={type:"object",additionalProperties:!1,required:["title","property"],properties:{type:{type:"string",enum:["select","checkboxes","date-range"],default:"checkboxes"},title:{type:"string"},titleTranslationKey:{type:"string"},property:{type:"string"},parentFilter:{type:"string"},valuesMapping:{type:"object",additionalProperties:{type:"string"}},missingCategoryName:{type:"string"},missingCategoryNameTranslationKey:{type:"string"},options:{type:"array",items:{type:"string"}}}},Oy={type:"object",additionalProperties:!0,required:["slug","items"],properties:{slug:{type:"string"},filters:{type:"array",items:Ny},groupByFirstFilter:{type:"boolean"},filterValuesCasing:{type:"string",enum:["sentence","original","lowercase","uppercase"]},items:Js,requiredPermission:{type:"string"},separateVersions:{type:"boolean"},title:{type:"string"},titleTranslationKey:{type:"string"},description:{type:"string"},descriptionTranslationKey:{type:"string"}}},zi={type:"object",patternProperties:{".*":Oy}},$i={type:"object",additionalProperties:!0,required:[],properties:{ignoreNonCompliant:{type:"boolean",default:!1},teamMetadataProperty:{type:"object",properties:{property:{type:"string"},label:{type:"string"},default:{type:"string"}}},levels:{type:"array",items:{type:"object",required:["name"],properties:{name:{type:"string"},color:{type:"string"},extends:{type:"array",items:{type:"string"}},rules:{type:"object",additionalProperties:{oneOf:[{type:"string"},{type:"object"}]}}},additionalProperties:!1}},targets:{type:"array",items:{type:"object",required:["where"],properties:{minimumLevel:{type:"string"},rules:{type:"object",additionalProperties:!0},where:{type:"object",required:["metadata"],properties:{metadata:{type:"object",additionalProperties:{type:"string"}}},additionalProperties:!1}},additionalProperties:!1}},ignore:{type:"array",items:{type:"string"}}}};var rt={type:"object",properties:{imports:{type:"array",items:{type:"string"}},logo:wi,navbar:ki,products:Ai,footer:qi,sidebar:Ni,scripts:Oi,links:Ei,feedback:tn,search:Mi,colorMode:ji,navigation:Li,codeSnippet:Ii,markdown:Fi,openapi:Vn,graphql:$n,analytics:Wi,userMenu:Hi,versionPicker:Ui,breadcrumbs:Bi,catalog:zi,scorecard:$i},additionalProperties:!0},WR=Object.assign(Object.assign({},rt),{additionalProperties:!1});var ea="https://redocly.com/sso/teams",Kn;(function(e){e.OIDC="OIDC",e.SAML2="SAML2"})(Kn||(Kn={}));var Gn;(function(e){e.SERVICE_ACCOUNT="SERVICE_ACCOUNT",e.OAUTH2="OAUTH2"})(Gn||(Gn={}));var Zs;(function(e){e.STACKED="stacked",e.THREE_PANEL="three-panel"})(Zs||(Zs={}));function Yi(e,t){return Object.fromEntries(Object.entries(e).map(([n,r])=>{if(n!==t)return typeof r!="object"||!r?[n,r]:Array.isArray(r)?[n,r.map(i=>typeof i=="object"?Yi(i,t):i)]:[n,Yi(r,t)]}).filter(Boolean))}var Ey={type:"object",additionalProperties:{type:"string"}},My={type:"object",additionalProperties:!1,patternProperties:{"^[a-zA-Z0-9_-]+$":{type:"string",pattern:"^https?://[^\\s/$.?#].[^\\s]*$"}}},Vi={type:"string",enum:["error","warn","off"]},jy={type:"object",additionalProperties:!1,properties:{schemaCheck:Vi,statusCodeCheck:Vi,contentTypeCheck:Vi,successCriteriaCheck:Vi}},Ly={type:"object",additionalProperties:!1,properties:{event:{type:"string",enum:["schedule"]},interval:{type:"string",pattern:"^[1-9]\\d*[mhdw]$"}},required:["event"]},nd={type:"object",properties:{ignoreLint:{oneOf:[{type:"boolean",default:!1},{type:"object",additionalProperties:{type:"boolean"}}]},ignoreLinkChecker:{type:"boolean"},ignoreMarkdocErrors:{type:"boolean"},jobs:{type:"array",items:{type:"object",properties:{path:{type:"string",pattern:"^(?!\\.\\./)(/[a-zA-Z0-9_\\-\\./]+|./[a-zA-Z0-9_\\-\\./]+|[a-zA-Z0-9_\\-\\./]+)$"},agent:{type:"string",enum:["respect"]},trigger:Ly,inputs:Ey,servers:My,severity:jy},required:["path","trigger","agent"],additionalProperties:!1}}},additionalProperties:!1};var Iy={type:"object",properties:{end_session_endpoint:{type:"string"},token_endpoint:{type:"string"},authorization_endpoint:{type:"string"},jwks_uri:{type:"string"}},required:["token_endpoint","authorization_endpoint"],additionalProperties:!0},Fy={type:"object",properties:{type:{type:"string",const:Kn.OIDC},title:{type:"string"},pkce:{type:"boolean",default:!1},configurationUrl:{type:"string",minLength:1},configuration:Iy,clientId:{type:"string",minLength:1},clientSecret:{type:"string",minLength:0},teamsClaimName:{type:"string"},teamsClaimMap:{type:"object",additionalProperties:{type:"string"}},defaultTeams:{type:"array",items:{type:"string"}},scopes:{type:"array",items:{type:"string"}},tokenExpirationTime:{type:"number"},authorizationRequestCustomParams:{type:"object",additionalProperties:{type:"string"}},tokenRequestCustomParams:{type:"object",additionalProperties:{type:"string"}},audience:{type:"array",items:{type:"string"}}},required:["type","clientId"],oneOf:[{required:["configurationUrl"]},{required:["configuration"]}],additionalProperties:!1},Wy={type:"object",properties:{type:{type:"string",const:Kn.SAML2},title:{type:"string"},issuerId:{type:"string"},entityId:{type:"string"},ssoUrl:{type:"string"},x509PublicCert:{type:"string"},teamsAttributeName:{type:"string",default:ea},teamsAttributeMap:{type:"object",additionalProperties:{type:"string"}},defaultTeams:{type:"array",items:{type:"string"}}},additionalProperties:!1,required:["type","issuerId","ssoUrl","x509PublicCert"]},Hy={oneOf:[Fy,Wy],discriminator:{propertyName:"type"}},Uy={type:"object",additionalProperties:Hy},By={oneOf:[{type:"array",items:{type:"string",enum:["REDOCLY","CORPORATE","GUEST"]},uniqueItems:!0},{type:"string",enum:["REDOCLY","CORPORATE","GUEST"]}]},zy={type:"object",properties:{to:{type:"string"},type:{type:"number",default:301}},additionalProperties:!1},$y={type:"object",additionalProperties:zy,default:{}},id={type:"object",additionalProperties:{oneOf:[{type:"string"},{type:"object"}]}},ra={type:"object",properties:{root:{type:"string"},output:{type:"string",pattern:"(.ya?ml|.json)$"},rbac:{type:"object",additionalProperties:!0},openapi:Vn,graphql:$n,theme:{type:"object",properties:{openapi:Vn,graphql:$n},additionalProperties:!1},title:{type:"string"},metadata:{type:"object",additionalProperties:!0},rules:id,decorators:{type:"object",additionalProperties:!0},preprocessors:{type:"object",additionalProperties:!0}},required:["root"]},Yy={type:"object",additionalProperties:!0},Vy={type:"object",additionalProperties:{type:"object",additionalProperties:!0}},Ky={type:"object",properties:{title:{type:"string"},description:{type:"string"},siteUrl:{type:"string"},image:{type:"string"},keywords:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},lang:{type:"string"},jsonLd:{type:"object"},meta:{type:"array",items:{type:"object",properties:{name:{type:"string"},content:{type:"string"}},required:["name","content"],additionalProperties:!1}}},additionalProperties:!1},Gy={type:"object",properties:{folders:{type:"array",items:{type:"string"}}},additionalProperties:!1},Sn={type:"object",additionalProperties:{type:"string"}},od={type:"object",properties:{teamNamePatterns:{type:"array",items:{type:"string"}},teamFolders:{type:"array",items:{type:"string"}},teamFoldersBaseRoles:Sn,cms:Sn,reunite:Sn,features:{type:"object",properties:{aiSearch:Sn},additionalProperties:!1},content:{type:"object",properties:{"**":Sn},additionalProperties:Sn}},additionalProperties:Sn},Qy={type:"object",properties:{static:{type:"string"}},additionalProperties:!1,required:["static"]},Jy={type:"object",properties:{idp:{type:"string"}},additionalProperties:!1,required:["idp"]},Xy={type:"object",properties:{type:{type:"string",const:"GRAVITEE"},apiBaseUrl:{type:"string"},env:{type:"string"},allowApiProductsOutsideCatalog:{type:"boolean",default:!1},stage:{type:"string",default:"non-production"},auth:{oneOf:[Qy,Jy]}},additionalProperties:!1,required:["type","apiBaseUrl"]},Zy={type:"object",properties:{type:{type:"string",const:Gn.OAUTH2},tokenEndpoint:{type:"string"},clientId:{type:"string"},clientSecret:{type:"string"}},additionalProperties:!1,required:["type","tokenEndpoint","clientId","clientSecret"]},eb={type:"object",properties:{type:{type:"string",const:Gn.SERVICE_ACCOUNT},serviceAccountEmail:{type:"string"},serviceAccountPrivateKey:{type:"string"}},additionalProperties:!1,required:["type","serviceAccountEmail","serviceAccountPrivateKey"]},ta={type:"object",properties:{type:{type:"string",const:"APIGEE_X"},apiUrl:{type:"string"},stage:{type:"string",default:"non-production"},organizationName:{type:"string"},ignoreApiProducts:{type:"array",items:{type:"string"}},allowApiProductsOutsideCatalog:{type:"boolean",default:!1},auth:{type:"object",oneOf:[Zy,eb],discriminator:{propertyName:"type"}}},additionalProperties:!1,required:["type","organizationName","auth"]},tb=Object.assign(Object.assign({},ta),{properties:Object.assign(Object.assign({},ta.properties),{type:{type:"string",const:"APIGEE_EDGE"}})}),nb={type:"object",oneOf:[ta,tb,Xy],discriminator:{propertyName:"type"}},rb={type:"object",required:["adapters"],additionalProperties:!1,properties:{adapters:{type:"array",items:nb}}},rd={type:"object",properties:{defaultLocale:{type:"string"},locales:{type:"array",items:{type:"object",properties:{code:{type:"string"},name:{type:"string"}},required:["code"]}}},additionalProperties:!1,required:["defaultLocale"]},ib={type:"object",properties:{name:{type:"string"},value:{type:"string"}},additionalProperties:!1,required:["name","value"]},na={type:"object",properties:{imports:{type:"array",items:{type:"string"}},licenseKey:{type:"string"},redirects:$y,seo:Ky,rbac:od,apiFunctions:Gy,requiresLogin:{type:"boolean"},responseHeaders:{type:"object",additionalProperties:{type:"array",items:ib}},mockServer:{type:"object",properties:{off:{type:"boolean",default:!1},position:{type:"string",enum:["first","last","replace","off"],default:"first"},strictExamples:{type:"boolean",default:!1},errorIfForcedExampleNotFound:{type:"boolean",default:!1},description:{type:"string"}}},apis:{type:"object",additionalProperties:ra},rules:id,decorators:{type:"object",additionalProperties:!0},preprocessors:{type:"object",additionalProperties:!0},ssoDirect:Uy,sso:By,residency:{type:"string"},developerOnboarding:rb,removeAttribution:{type:"boolean"},i18n:rd,l10n:rd,metadata:Yy,metadataGlobs:Vy,ignore:{type:"array",items:{type:"string"}},theme:rt,reunite:nd,logo:wi,navbar:ki,products:Ai,footer:qi,sidebar:Ni,scripts:Oi,links:Ei,feedback:tn,search:Mi,colorMode:ji,navigation:Li,codeSnippet:Ii,markdown:Fi,openapi:Vn,graphql:$n,analytics:Wi,userMenu:Hi,versionPicker:Ui,breadcrumbs:Bi,catalog:zi,scorecard:$i},default:{redirects:{}},additionalProperties:!0},ob=Object.assign(Object.assign({},Yi(na,"default")),{additionalProperties:!1}),ia=Object.assign(Object.assign({$id:"root-redocly-config"},na),{properties:Object.assign(Object.assign({plugins:{type:"array",items:{type:"string"}}},na.properties),{env:{type:"object",additionalProperties:ob}}),default:{},additionalProperties:!1});var oa={type:"object",properties:{logo:rt.properties.logo,navbar:rt.properties.navbar,footer:rt.properties.footer,sidebar:rt.properties.sidebar,search:rt.properties.search,codeSnippet:rt.properties.codeSnippet,breadcrumbs:rt.properties.breadcrumbs,openapi:rt.properties.openapi,feedback:rt.properties.feedback,analytics:{type:"object",properties:{ga:Xs}}},additionalProperties:!0,default:{}},sb={$id:"product-config-override",type:"object",properties:Object.assign(Object.assign({},oa.properties),{apis:{type:"object",additionalProperties:ra},theme:oa}),additionalProperties:!1};var Je=Xe(fn(),1);import{getLineColLocation as P_,lintDocument as __,makeDocumentFromString as Gc,lintConfig as R_,detectSpec as D_,getMergedConfig as S_}from"@redocly/openapi-core";import{createConfigTypes as T_}from"@redocly/openapi-core/lib/types/redocly-yaml";import{bundleDocument as y_,makeDocumentFromString as b_}from"@redocly/openapi-core";var lp=new Map,Fo=new Map;function v_(e){return e?Array.from(e).map(([t,n])=>[t,Fs(n)]):[]}async function Vc(e,t){let{config:n}=await Bn(),r=new Ut(n.resolve),i=b_(e.getText(),e.uri),{bundle:o,problems:s,fileDependencies:u,rootType:c,refTypes:p}=await y_({document:i,config:n.styleguide,externalRefResolver:r}),g=v_(p);p&&(Fo=new Map([...Fo,...p])),lp.set(e.uri,{uri:e.uri,name:Ln(e.uri),definition:o.parsed,rootType:c,refTypes:g,errors:t})}function C_(){return Array.from(lp).map(([e,{definition:t,rootType:n,refTypes:r,errors:i}])=>({name:Ln(e),uri:e,definition:t,rootType:n,refTypes:r,errors:i}))}function Kc(e){return Fo.has(e)?Fo.get(e):null}var x_=800,w_=5,Jc=El(q_,x_);async function k_(e){let t=e.map(({documentPath:i})=>Oe(i).toString()),{config:n}=await Bn(),r=await Ie.getRootWorkspaceFolderURI();for(let{root:i}of Object.values(n.apis)){let o=await Ws(i,r);if(t.includes(o))return o}return t[0]}var Qc;function A_(e){try{return D_(e),!0}catch{return!1}}async function q_(e){let t=e.uri,{config:n,rootConfigDocument:r,configPath:i}=await Bn();if(Sr(jn(t))){let o=Gs(t)?Gc(e.getText(),t):Gc(r.source.body,r.source.absoluteRef),s=new Ut,u=await R_({document:o,externalRefResolver:s,config:n,externalConfigTypes:T_(ia,n)}),c=[{uri:e.uri,diagnostics:[]}];return dp(u,c),c}else{let o=Bl(t),s=await k_(o||[]);s&&(e=await at(s),t=s);let u;try{u=Gc(e.getText(),t)}catch{return[{uri:e.uri,diagnostics:[]}]}if(!A_(u.parsed))return[{uri:e.uri,diagnostics:[]}];let c=[];try{let p=new Ut(n.resolve);Qc=e.uri;let g=await Ie.getRootWorkspaceFolderURI(),b=await jl(n.apis,Qc,g),R=Date.now(),D=(await __({document:u,config:S_(n,b).styleguide,externalRefResolver:p})).filter(({ignored:j})=>!j);Qc=null;let T=E_(D);Vc(e,T);let q=Date.now()-R;c=[...new Set([e.uri,...[...p.getFiles()].map(j=>Oe(j).toString())])].map(j=>({uri:j,diagnostics:[]})),Ul(t,{dependencyPaths:p.getFiles(),durationMS:q}),dp(D,c)}catch(p){N_(e.uri,p,c)}return c}}function Wo(){return Ie.documents.all().map(Jc)}function N_(e,t,n){let r=n||[{uri:e,diagnostics:[]}];if(t.line&&t.col&&t.message){let i=t.source?.absoluteRef?Oe(t.source.absoluteRef).toString():e,o=t.line-1,s=t.col-1,u=Je.Position.create(o,s),c=Je.Diagnostic.create(Je.Range.create(u,u),t.message,Je.DiagnosticSeverity.Error);fp(i,c,r)}else t.message.includes("This doesn\u2019t look like an OpenAPI document")||console.error(t);return r}function fp(e,t,n){let r=n.find(i=>i.uri===e);return r||(r={uri:e,diagnostics:[]},n.push(r)),r.diagnostics.push(t),n}function O_(e){return e.suggest.length===0?"":e.suggest.length===1?`
72
72
  Did you mean: ${e.suggest[0]} ?`:`
73
73
  Did you mean:
74
74
  - ${e.suggest.slice(0,w_).join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-language-server",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Redocly OpenAPI language server",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",
@@ -8,7 +8,7 @@
8
8
  "author": "Redocly LLC <team@redocly.com>",
9
9
  "license": "SEE LICENSE IN LICENSE",
10
10
  "peerDependencies": {
11
- "@redocly/openapi-core": "1.28.2"
11
+ "@redocly/openapi-core": "1.28.3"
12
12
  },
13
13
  "devDependencies": {
14
14
  "@types/jest": "^27.0.0",
@@ -26,7 +26,7 @@
26
26
  "vscode-languageserver": "^8.0.2",
27
27
  "vscode-languageserver-textdocument": "^1.0.5",
28
28
  "vscode-uri": "^3.0.2",
29
- "@redocly/config": "0.20.3"
29
+ "@redocly/config": "0.21.0"
30
30
  },
31
31
  "overrides": {
32
32
  "@redocly/config": "workspace:*"
package/lib/index.d.ts DELETED
@@ -1,605 +0,0 @@
1
- declare module '@redocly/openapi-language-server/config' {
2
- import { TextDocuments } from 'vscode-languageserver/browser';
3
- import { TextDocument } from 'vscode-languageserver-textdocument';
4
- import { URI } from 'vscode-uri';
5
- export interface SupportedLanguage {
6
- languageId: string;
7
- filePattern: RegExp;
8
- }
9
- export const yamlLanguage: SupportedLanguage;
10
- export const jsonLanguage: SupportedLanguage;
11
- export interface FileSystemProvider {
12
- readFile(uri: URI, encoding?: string): Promise<string>;
13
- readDir(uri: URI): Promise<any>;
14
- stat(uri: URI): Promise<{
15
- isFile(): boolean;
16
- isDirectory(): boolean;
17
- }>;
18
- exists(uri: URI): Promise<boolean>;
19
- }
20
- type ConfigFinder = (uri: string) => Promise<string | undefined>;
21
- export class Configuration {
22
- private _fs;
23
- private _documentManager;
24
- private _findConfig;
25
- private _getRootWorkspaceFolderURI;
26
- constructor();
27
- supportedLanguages: SupportedLanguage[];
28
- registerFileSystemProvider(fsProvider: FileSystemProvider): void;
29
- registerDocumentsProvider(documentProvider: TextDocuments<TextDocument>): void;
30
- registerConfigFinder(configFinder: ConfigFinder): void;
31
- registerRootWorkspaceFolderURIGetter(rootWorkspaceFolderURIGetter: () => Promise<string | null>): void;
32
- get fs(): FileSystemProvider;
33
- get documents(): TextDocuments<TextDocument>;
34
- get findConfig(): ConfigFinder;
35
- get getRootWorkspaceFolderURI(): () => Promise<string>;
36
- }
37
- export const languageServerConfig: Configuration;
38
- export {};
39
-
40
- }
41
- declare module '@redocly/openapi-language-server/index' {
42
- import { CompletionItem, CompletionParams, DefinitionParams, DidChangeWatchedFilesParams, LocationLink } from 'vscode-languageserver/browser';
43
- import { TextDocument } from 'vscode-languageserver-textdocument';
44
- import { updateOpenAPIConfigByURI, isConfigFile, getConfigData } from '@redocly/openapi-language-server/server/openapi-config';
45
- import { revalidateAllDocuments } from '@redocly/openapi-language-server/server/validation/index';
46
- export { revalidateAllDocuments, updateOpenAPIConfigByURI, isConfigFile, getConfigData };
47
- export { languageServerConfig } from '@redocly/openapi-language-server/config';
48
- export { getDocumentByURI, isYamlFile } from '@redocly/openapi-language-server/server/documents';
49
- export { getContextData } from '@redocly/openapi-language-server/server/context-core';
50
- export { parseUri, uriToAbsFSPath, isHttpPath } from '@redocly/openapi-language-server/server/path';
51
- export { removeCirculars } from '@redocly/openapi-language-server/server/utils';
52
- export * from '@redocly/openapi-language-server/server/types/context-core';
53
- export { DefinitionData, BundleData, bundleOpenAPI, getBundles } from '@redocly/openapi-language-server/server/bundle';
54
- export class OpenapiLanguageServer {
55
- onCompletion(params: CompletionParams): Promise<CompletionItem[]>;
56
- onCompletionResolve(item: CompletionItem): Promise<CompletionItem>;
57
- validateOpenAPI(textDocument: TextDocument): Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]>;
58
- onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams): Promise<(Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]> | Promise<Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]>>)[]>;
59
- onDidConfigChange(uri: string): Promise<(Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]> | Promise<Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]>>)[]>;
60
- onDidChangeConfiguration(): Promise<(Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]> | Promise<Promise<import("vscode-languageserver/browser").PublishDiagnosticsParams[]>>)[]>;
61
- onDefinition(params: DefinitionParams): Promise<LocationLink[]>;
62
- }
63
-
64
- }
65
- declare module '@redocly/openapi-language-server/server/__tests__/documents.test' {
66
- export {};
67
-
68
- }
69
- declare module '@redocly/openapi-language-server/server/__tests__/openapi-config.test' {
70
- export {};
71
-
72
- }
73
- declare module '@redocly/openapi-language-server/server/__tests__/path-completion.test' {
74
- export {};
75
-
76
- }
77
- declare module '@redocly/openapi-language-server/server/__tests__/path-resolver-context.test' {
78
- export {};
79
-
80
- }
81
- declare module '@redocly/openapi-language-server/server/__tests__/path.test' {
82
- export {};
83
-
84
- }
85
- declare module '@redocly/openapi-language-server/server/__tests__/utils.test' {
86
- export {};
87
-
88
- }
89
- declare module '@redocly/openapi-language-server/server/bundle' {
90
- import { NormalizedProblem } from '@redocly/openapi-core';
91
- import type { TextDocument } from 'vscode-languageserver-textdocument';
92
- import type { NormalizedNodeType } from '@redocly/openapi-language-server/server/types/oas';
93
- export type DefinitionData = {
94
- name: string;
95
- uri: string;
96
- };
97
- export type BundleData = DefinitionData & {
98
- definition: Record<string, any>;
99
- rootType: NormalizedNodeType;
100
- refTypes: [string, NormalizedNodeType][];
101
- htmlTempalteStyles?: string | null;
102
- errors?: NormalizedProblem[];
103
- };
104
- export function bundleOpenAPI(textDocument: TextDocument, errors: NormalizedProblem[]): Promise<void>;
105
- export function getBundles(): BundleData[];
106
- export function getRefTypes(path: string): NormalizedNodeType | undefined | null;
107
-
108
- }
109
- declare module '@redocly/openapi-language-server/server/completion/yaml/KeyCompletion' {
110
- import { CompletionItem, CompletionItemKind, InsertTextFormat, Command } from 'vscode-languageserver/browser';
111
- import type { CompletionItemOptions } from '@redocly/openapi-language-server/server/types/completion';
112
- export interface KeyCompletionOptions extends CompletionItemOptions {
113
- insertTextFormat?: InsertTextFormat;
114
- data?: any;
115
- }
116
- export class KeyCompletion implements CompletionItem {
117
- kind: CompletionItemKind;
118
- label: string;
119
- insertText: string;
120
- filterText: string;
121
- sortText?: string;
122
- command?: Command;
123
- insertTextFormat: InsertTextFormat;
124
- data?: any;
125
- constructor({ kind, label, insertText, insertTextFormat, filterText, sortText, data, }: KeyCompletionOptions);
126
- }
127
-
128
- }
129
- declare module '@redocly/openapi-language-server/server/completion/yaml/LocalFileCompletion' {
130
- import { ValueCompletion, ValueCompletionOptions } from '@redocly/openapi-language-server/server/completion/yaml/ValueCompletion';
131
- export class LocalFileCompletion extends ValueCompletion {
132
- constructor(completionOptions: ValueCompletionOptions);
133
- }
134
-
135
- }
136
- declare module '@redocly/openapi-language-server/server/completion/yaml/LocalFolderCompletion' {
137
- import { Command } from 'vscode-languageserver/browser';
138
- import { ValueCompletion, ValueCompletionOptions } from '@redocly/openapi-language-server/server/completion/yaml/ValueCompletion';
139
- export class LocalFolderCompletion extends ValueCompletion {
140
- command: Command;
141
- constructor(completionOptions: ValueCompletionOptions);
142
- }
143
-
144
- }
145
- declare module '@redocly/openapi-language-server/server/completion/yaml/ValueCompletion' {
146
- import { YAMLScalar } from '@redocly/yaml-language-server-parser';
147
- import { CompletionItem, CompletionItemKind, TextEdit, InsertReplaceEdit, Position, Command } from 'vscode-languageserver/browser';
148
- import type { CompletionItemOptions } from '@redocly/openapi-language-server/server/types/completion';
149
- export interface ValueCompletionDataOptions {
150
- position?: Position;
151
- node?: YAMLScalar;
152
- lineOffset?: number;
153
- }
154
- export interface ValueCompletionOptions extends CompletionItemOptions {
155
- value?: string;
156
- data: ValueCompletionDataOptions;
157
- }
158
- export class ValueCompletion implements CompletionItem {
159
- kind: CompletionItemKind;
160
- label: string;
161
- insertText: string;
162
- filterText: string;
163
- sortText?: string;
164
- command?: Command;
165
- textEdit?: TextEdit | InsertReplaceEdit;
166
- constructor({ kind, label, value, textEdit, filterText, sortText, data, }: ValueCompletionOptions);
167
- getTextEdit(node: YAMLScalar, position: Position, lineOffset: number): TextEdit | InsertReplaceEdit;
168
- }
169
-
170
- }
171
- declare module '@redocly/openapi-language-server/server/completion/yaml/__tests__/KeyCompletion.test' {
172
- export {};
173
-
174
- }
175
- declare module '@redocly/openapi-language-server/server/completion/yaml/__tests__/insert-snippet-utils.test' {
176
- export {};
177
-
178
- }
179
- declare module '@redocly/openapi-language-server/server/completion/yaml/common' {
180
- export const fieldNames: {
181
- example: string;
182
- default: string;
183
- enum: string;
184
- ref: string;
185
- };
186
- export const userEnumCompletionKeys: string[];
187
-
188
- }
189
- declare module '@redocly/openapi-language-server/server/completion/yaml/completion' {
190
- import { CompletionItem, Position } from 'vscode-languageserver/browser';
191
- import { DocumentUri } from 'vscode-languageserver-textdocument';
192
- import type * as yamlAst from '@redocly/yaml-language-server-parser';
193
- import { ValueCompletion } from '@redocly/openapi-language-server/server/completion/yaml/ValueCompletion';
194
- import { YamlCompletionContext } from '@redocly/openapi-language-server/server/completion/yaml/context';
195
- export function getCompletionKeys(completionContext: YamlCompletionContext): CompletionItem[];
196
- export function getCompletionValues(uri: DocumentUri, completionContext: YamlCompletionContext<yamlAst.YAMLScalar>): Promise<ValueCompletion[]>;
197
- export function getCompletion(uri: DocumentUri, position: Position): Promise<CompletionItem[]>;
198
- export function resolveCompletion(item: CompletionItem): CompletionItem;
199
-
200
- }
201
- declare module '@redocly/openapi-language-server/server/completion/yaml/context' {
202
- import { DocumentUri, Position } from 'vscode-languageserver-textdocument';
203
- import { YAMLNode } from '@redocly/yaml-language-server-parser';
204
- import { URI } from 'vscode-uri';
205
- import { NodePath } from '@redocly/openapi-language-server/server/types/context-core';
206
- import { ExtendedNormalizedNodeType } from '@redocly/openapi-language-server/server/types/completion';
207
- export interface YamlCompletionContext<NodeType = YAMLNode> {
208
- currentAst: YAMLNode;
209
- node: NodeType;
210
- nodePath: NodePath;
211
- position: Position;
212
- lineText: string;
213
- lineOffset: number;
214
- openApiType: ExtendedNormalizedNodeType | null;
215
- }
216
- export interface RefPathResolverContext {
217
- docAbsolutePath: URI;
218
- docAbsoluteDirPath: URI;
219
- refPath: string;
220
- refDirPath: URI;
221
- refDirAbsolutePath: URI;
222
- isAbsolutePath: boolean;
223
- root: string;
224
- }
225
- export function createCompletionContext<NodeType = YAMLNode>(uri: DocumentUri, position: Position): Promise<YamlCompletionContext<NodeType>>;
226
- export function createRefPathResolverContext(uri: DocumentUri, refPath: string): Promise<RefPathResolverContext>;
227
-
228
- }
229
- declare module '@redocly/openapi-language-server/server/completion/yaml/insert-snippet-utils' {
230
- import type { NormalizedNodeType } from '@redocly/openapi-language-server/server/types/oas';
231
- export type PartialNodeType = {
232
- items?: NormalizedNodeType['items'];
233
- required?: NormalizedNodeType['required'];
234
- };
235
- function getKeyValue(key: string, type?: PartialNodeType): string;
236
- function getBeforeKeyValue(key: string, value: string, beforeKey: string, type?: PartialNodeType): string;
237
- function getAfterKeyValue(key: string): "" | ": ";
238
- function getBeforeKey(lineText?: string): "" | " " | "\n ";
239
- function getAfterValue(beforeKey: string, properties?: NormalizedNodeType['properties']): "" | "\n " | "\n ";
240
- function getInsertSnippet(key: string, data?: {
241
- properties?: NormalizedNodeType['properties'];
242
- lineText: string;
243
- } & PartialNodeType, addNewLine?: boolean): string;
244
- export { getInsertSnippet, getAfterKeyValue, getAfterValue, getKeyValue, getBeforeKey, getBeforeKeyValue, };
245
-
246
- }
247
- declare module '@redocly/openapi-language-server/server/completion/yaml/paths' {
248
- import { DocumentUri } from 'vscode-languageserver-textdocument';
249
- import { YAMLScalar } from '@redocly/yaml-language-server-parser';
250
- import { SupportedLanguage } from '@redocly/openapi-language-server/config';
251
- import { LocalFolderCompletion } from '@redocly/openapi-language-server/server/completion/yaml/LocalFolderCompletion';
252
- import { LocalFileCompletion } from '@redocly/openapi-language-server/server/completion/yaml/LocalFileCompletion';
253
- import { YamlCompletionContext, RefPathResolverContext } from '@redocly/openapi-language-server/server/completion/yaml/context';
254
- export const LOCAL_FILES_SUPPORTED_SUGGESTIONS: SupportedLanguage[];
255
- export enum FsNodeType {
256
- File = 0,
257
- Folder = 1
258
- }
259
- export interface RefFileStat {
260
- type: FsNodeType;
261
- name: string;
262
- }
263
- export interface RefPathOption extends RefFileStat {
264
- value: string;
265
- matchBy: string;
266
- sortBy: string;
267
- }
268
- export function getToTopOption(pathResolverContext: RefPathResolverContext): RefPathOption;
269
- export function getChildrenOfPath(files: string[], config: {
270
- supportedFiles: SupportedLanguage[];
271
- }, pathResolverContext: RefPathResolverContext): Promise<RefFileStat[]>;
272
- export function getRefPathOptions(fileStats: RefFileStat[], pathResolverContext: RefPathResolverContext): RefPathOption[];
273
- export function getLocalFsRefs(uri: DocumentUri, completionContext: YamlCompletionContext<YAMLScalar>): Promise<(LocalFolderCompletion | LocalFileCompletion)[]>;
274
-
275
- }
276
- declare module '@redocly/openapi-language-server/server/context-core' {
277
- import { SpecVersion, SpecMajorVersion } from '@redocly/openapi-core';
278
- import * as yamlAst from '@redocly/yaml-language-server-parser';
279
- import type { Position } from 'vscode-languageserver/browser';
280
- import type { NormalizedNodeType } from '@redocly/openapi-language-server/server/types/oas';
281
- import type { ContextData, ExistingValues, OpenApiVersion, TextDocumentWithLineOffset, NodeWithPath, NodePath } from '@redocly/openapi-language-server/server/types/context-core';
282
- export function getContextData(uri: string, position: Position): Promise<ContextData>;
283
- export function getAstNodeByPath(currentAst: yamlAst.YAMLNode | null, path: (number | string)[]): yamlAst.YAMLNode | null;
284
- export function getAstNodeByPosition(start: NodeWithPath, position: Position, document: TextDocumentWithLineOffset, isContextData?: boolean): NodeWithPath;
285
- export function getNodeLineIndent(node: yamlAst.YAMLNode | null | undefined, document: TextDocumentWithLineOffset): number;
286
- export function getTypesByNodePath(types: any, nodePath: NodePath): {
287
- currentType: NormalizedNodeType | null;
288
- parentType: NormalizedNodeType | null;
289
- endPath: string | null;
290
- };
291
- export function getRootTypes(ast: yamlAst.YAMLNode, uri: string): NormalizedNodeType | null;
292
- export function getOASVersion(ast: yamlAst.YAMLNode): OpenApiVersion<SpecVersion>;
293
- export function getOASMajorVersion(ast: yamlAst.YAMLNode): OpenApiVersion<SpecMajorVersion>;
294
- export function getChildNodes(node?: yamlAst.YAMLNode | null): yamlAst.YAMLNode[];
295
- export function getExistingValues(node: yamlAst.YAMLSequence, values?: ExistingValues, indent?: number): ExistingValues;
296
-
297
- }
298
- declare module '@redocly/openapi-language-server/server/documents' {
299
- import { DocumentUri } from 'vscode-languageserver/browser';
300
- import { TextDocument } from 'vscode-languageserver-textdocument';
301
- export type DocumentStats = {
302
- dependencyPaths: Set<string>;
303
- durationMS: number;
304
- };
305
- export type DependencyStats = {
306
- documentPath: string;
307
- durationMS: number;
308
- };
309
- export function updateDependencyMap(path: string, stats: DocumentStats): Map<string, DocumentStats>;
310
- export function getPathsByDependency(depPath: string): DependencyStats[];
311
- export function getDocumentLanguageId(uri: DocumentUri): string;
312
- export function getDocumentByURI(uri: DocumentUri): Promise<TextDocument>;
313
- export function isJsonFile(uri: DocumentUri): boolean;
314
- export function isYamlFile(uri: DocumentUri): boolean;
315
-
316
- }
317
- declare module '@redocly/openapi-language-server/server/external-resolver' {
318
- import { BaseResolver, Source } from '@redocly/openapi-core';
319
- export class ExternalResolver extends BaseResolver {
320
- resolveExternalRef(base: string, ref: string): string;
321
- loadExternalRef(absoluteRef: string): Promise<Source>;
322
- }
323
-
324
- }
325
- declare module '@redocly/openapi-language-server/server/fixtures/dir1/file1' {
326
-
327
- }
328
- declare module '@redocly/openapi-language-server/server/handlers/yaml-definition-handler' {
329
- import { LocationLink } from 'vscode-languageserver';
330
- import type { DefinitionParams } from 'vscode-languageserver';
331
- export function handleDefinition({ position, textDocument, }: DefinitionParams): Promise<LocationLink[] | void>;
332
-
333
- }
334
- declare module '@redocly/openapi-language-server/server/hints' {
335
- import { CompletionItem } from 'vscode-languageserver/browser';
336
- import { ExtendedNormalizedNodeType } from '@redocly/openapi-language-server/server/types/completion';
337
- export const START_SEQ_LABEL = "newItem";
338
- export const START_MAP_LABEL = "propertyName";
339
- export const ADD_NEW_LINE = "newLine";
340
- export function hasHints(type: ExtendedNormalizedNodeType): boolean;
341
- export function getAdditionalCompletionItem(name: string): CompletionItem[];
342
-
343
- }
344
- declare module '@redocly/openapi-language-server/server/openapi-config' {
345
- import { Config as RedoclyConfig, CONFIG_FILE_NAMES } from '@redocly/openapi-core';
346
- import type { Document } from '@redocly/openapi-core/lib/resolve';
347
- import type { DocumentUri } from 'vscode-languageserver/node';
348
- export { CONFIG_FILE_NAMES };
349
- export type ConfigData = {
350
- config: RedoclyConfig;
351
- configPath?: string;
352
- rootConfigDocument?: Document;
353
- };
354
- export function loadOpenAPIConfig(uri?: string): Promise<RedoclyConfig>;
355
- export function getConfigData(): Promise<ConfigData>;
356
- export function updateOpenAPIConfigByURI(uri: DocumentUri | null, opts?: {
357
- createEventHandleLoadConfigError?: (message: string) => void;
358
- }): Promise<RedoclyConfig>;
359
- export function isConfigFile(uri: string): boolean;
360
- export function isRootConfigFile(uri: string): boolean;
361
-
362
- }
363
- declare module '@redocly/openapi-language-server/server/openapi-extensions' {
364
- import { mapTypeToComponent } from '@redocly/openapi-core';
365
- import { ExtendedNormalizedNodeType } from '@redocly/openapi-language-server/server/types/completion';
366
- const typeExtensions: {
367
- Schema: {
368
- name: string;
369
- value: {
370
- type: string;
371
- name: string;
372
- };
373
- }[];
374
- PathItem: {
375
- name: string;
376
- value: {
377
- type: string;
378
- name: string;
379
- };
380
- }[];
381
- Parameter: {
382
- name: string;
383
- value: {
384
- type: string;
385
- name: string;
386
- };
387
- }[];
388
- Response: {
389
- name: string;
390
- value: {
391
- type: string;
392
- name: string;
393
- };
394
- }[];
395
- Example: {
396
- name: string;
397
- value: {
398
- type: string;
399
- name: string;
400
- };
401
- }[];
402
- RequestBody: {
403
- name: string;
404
- value: {
405
- type: string;
406
- name: string;
407
- };
408
- }[];
409
- Header: {
410
- name: string;
411
- value: {
412
- type: string;
413
- name: string;
414
- };
415
- }[];
416
- SecuritySchema: {
417
- name: string;
418
- value: {
419
- type: string;
420
- name: string;
421
- };
422
- }[];
423
- Link: {
424
- name: string;
425
- value: {
426
- type: string;
427
- name: string;
428
- };
429
- }[];
430
- Callback: {
431
- name: string;
432
- value: {
433
- type: string;
434
- name: string;
435
- };
436
- }[];
437
- };
438
- function extendOASType(type: ExtendedNormalizedNodeType): ExtendedNormalizedNodeType;
439
- export { typeExtensions, extendOASType, mapTypeToComponent };
440
-
441
- }
442
- declare module '@redocly/openapi-language-server/server/path' {
443
- import { DocumentUri } from 'vscode-languageserver/browser';
444
- import { URI } from 'vscode-uri';
445
- export function arePathsEqual(path1: string, path2: string): boolean;
446
- export function parseUri(path: string): URI;
447
- export function uriToAbsFSPath(uri: DocumentUri): string;
448
- export function isHttpPath(path: string): boolean;
449
- export function uriBaseName(uri: DocumentUri): string;
450
- export function getFileExtension(uri: DocumentUri): string;
451
- export function noTrailingSlash(path: string): string;
452
- export function getClosestExistingDir(uri: URI, baseDir?: string): Promise<URI>;
453
-
454
- }
455
- declare module '@redocly/openapi-language-server/server/sort' {
456
- export function getSortText(typeName: string | null, label?: string): string;
457
- export enum SortTypes {
458
- FileCompletion = "FileCompletion",
459
- FolderCompletion = "FolderCompletion",
460
- LocalComponentCompletion = "LocalComponentCompletion",
461
- NewLine = "newLine",
462
- PropertyName = "propertyName",
463
- NewItem = "newItem",
464
- PathMap = "PathMap",
465
- MediaTypeMap = "MediaTypeMap",
466
- Root = "Root",
467
- RootOpenapi = "Root_openapi",
468
- RootInfo = "Root_info",
469
- RootJsonSchemaDialect = "Root_jsonSchemaDialect",
470
- RootServers = "Root_servers",
471
- RootPaths = "Root_paths",
472
- RootWebhooks = "Root_webhooks",
473
- RootComponents = "Root_components",
474
- RootSecurity = "Root_security",
475
- RootTags = "Root_tags",
476
- RootExternalDocs = "Root_externalDocs",
477
- Info = "Info",
478
- InfoTitle = "Info_title",
479
- InfoSummary = "Info_summary",
480
- InfoDescription = "Info_description",
481
- InfoTermsOfService = "Info_termsOfService",
482
- InfoContact = "Info_contact",
483
- ContactName = "Contact_name",
484
- ContactUrl = "Contact_url",
485
- ContactEmail = "Contact_email",
486
- InfoLicense = "Info_license",
487
- LicenseName = "License_name",
488
- LicenseIdentifier = "License_identifier",
489
- LicenseUrl = "License_url",
490
- InfoVersion = "Info_version",
491
- jsonSchemaDialect = "jsonSchemaDialect",
492
- ServerList = "Server_List",
493
- ServerUrl = "Server_url",
494
- ServerDescription = "Server_description",
495
- ServerVariables = "Server_variables",
496
- Default = "Default"
497
- }
498
- export const sortLabelObject: Record<SortTypes, string>;
499
-
500
- }
501
- declare module '@redocly/openapi-language-server/server/types/completion' {
502
- import { CompletionItemKind, TextEdit, InsertReplaceEdit } from 'vscode-languageserver/browser';
503
- import { NormalizedNodeType } from '@redocly/openapi-language-server/server/types/oas';
504
- type ExtendedNormalizedNodeType = NormalizedNodeType & {
505
- isExample?: true;
506
- enum?: string[];
507
- type?: string;
508
- };
509
- interface CompletionItemOptions {
510
- label: string;
511
- kind?: CompletionItemKind;
512
- sortText?: string;
513
- textEdit?: TextEdit | InsertReplaceEdit;
514
- insertText?: string;
515
- filterText?: string;
516
- }
517
- export type { ExtendedNormalizedNodeType, CompletionItemOptions };
518
-
519
- }
520
- declare module '@redocly/openapi-language-server/server/types/context-core' {
521
- import yamlAst from '@redocly/yaml-language-server-parser';
522
- import type { TextDocument } from 'vscode-languageserver-textdocument';
523
- import type { NormalizedNodeType } from '@redocly/openapi-language-server/server/types/oas';
524
- export enum ContextErrorCodes {
525
- FILE_TYPE_NOT_SUPPORTED = 0
526
- }
527
- export type ContextError = {
528
- error: {
529
- code: ContextErrorCodes;
530
- message: string;
531
- };
532
- };
533
- export type ExistingValues = {
534
- [key: string]: {
535
- value: string | null;
536
- startOffset: number;
537
- endOffset: number | null;
538
- indent: number;
539
- type?: 'scalar' | 'map' | 'sequence';
540
- rawValue?: string;
541
- };
542
- };
543
- export type ContextData = {
544
- nodePath: (string | number)[];
545
- endPath: string | null;
546
- type: NormalizedNodeType | null;
547
- existingValues: ExistingValues;
548
- types: NormalizedNodeType | null;
549
- };
550
- type OpenApiVersion<T> = {
551
- version: T;
552
- isDefault: boolean;
553
- };
554
- type NodePath = (string | number)[];
555
- type NodeWithPath = {
556
- node: yamlAst.YAMLNode | null;
557
- nodePath: NodePath;
558
- };
559
- type TextDocumentWithLineOffset = TextDocument & {
560
- _lineOffsets: number[];
561
- };
562
- export { OpenApiVersion, NodeWithPath, NodePath, TextDocumentWithLineOffset };
563
-
564
- }
565
- declare module '@redocly/openapi-language-server/server/types/oas' {
566
- export type { NormalizedNodeType, NodeType } from '@redocly/openapi-core/lib/types';
567
-
568
- }
569
- declare module '@redocly/openapi-language-server/server/utils' {
570
- import type { YAMLNode } from '@redocly/yaml-language-server-parser';
571
- import type { TextDocument } from 'vscode-languageserver-textdocument';
572
- import type { ResolvedApi } from '@redocly/openapi-core';
573
- type Func<T> = (textDocument: TextDocument) => T | Promise<T>;
574
- export function debounceDocument<T>(func: Func<T>, wait?: number, immediate?: boolean): Func<Promise<T>>;
575
- export function removeCirculars(object: any): any;
576
- export function isRefField(field: string): boolean;
577
- export function getRootFilePath(apiRoot: string, rootFolderURI: string): Promise<string>;
578
- export function getCurrentApiAlias(apis: Record<string, ResolvedApi>, rootFilePath: string, rootFolderURI: string): Promise<string | undefined>;
579
- export function isString<T>(value: T): boolean;
580
- export function isFunction<T>(f: T): boolean;
581
- export function isPromise<T>(value: T): boolean;
582
- export function isYamlMap(node: YAMLNode | null): boolean;
583
- export function isYamlMapping(node: YAMLNode | null): boolean;
584
- export function isYamlSequence(node: YAMLNode | null): boolean;
585
- export function surroundByNodeQuotes(valueToSurround: string, options: Record<string, any> & {
586
- singleQuoted?: boolean;
587
- }): string;
588
- export function isAbsoluteUrl(ref: string): boolean;
589
- export {};
590
-
591
- }
592
- declare module '@redocly/openapi-language-server/server/validation/index' {
593
- import { NormalizedProblem } from '@redocly/openapi-core';
594
- import { PublishDiagnosticsParams } from 'vscode-languageserver/browser';
595
- import { TextDocument } from 'vscode-languageserver-textdocument';
596
- export const validateOpenAPI: (textDocument: TextDocument) => Promise<PublishDiagnosticsParams[]> | Promise<Promise<PublishDiagnosticsParams[]>>;
597
- export function revalidateAllDocuments(): (Promise<PublishDiagnosticsParams[]> | Promise<Promise<PublishDiagnosticsParams[]>>)[];
598
- export function handleUnexpectedError(fileURI: string, error: any, diagnosticsParams?: PublishDiagnosticsParams[]): PublishDiagnosticsParams[];
599
- export function getValidationErrorsForBundle(problems: NormalizedProblem[]): NormalizedProblem[];
600
-
601
- }
602
- declare module '@redocly/openapi-language-server' {
603
- import main = require('@redocly/openapi-language-server/index');
604
- export = main;
605
- }