@redocly/openapi-language-server 0.2.4 → 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 +1 -1
- package/package.json +2 -2
- package/lib/index.d.ts +0 -605
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
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Redocly OpenAPI language server",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -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.
|
|
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
|
-
}
|