@redocly/openapi-docs 3.24.0-next.6 → 3.24.0-next.8
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/dist/redocly-openapi-docs.min.AiChatProvider-D8o94qvX.js +32 -0
- package/dist/{redocly-openapi-docs.min.AiChatSqliteDBStorage-C5E-x8f4.js → redocly-openapi-docs.min.AiChatSqliteDBStorage-BLTom3F-.js} +1 -1
- package/dist/redocly-openapi-docs.min.AiPanel-DloIzPy9.js +773 -0
- package/dist/{redocly-openapi-docs.min.SqliteDBStorage-B6uym4Oj.js → redocly-openapi-docs.min.SqliteDBStorage-CksbFVf-.js} +1 -1
- package/dist/{redocly-openapi-docs.min.ai-chat-mappers-y6k4QA37.js → redocly-openapi-docs.min.ai-chat-mappers-Dza6UMVG.js} +1 -1
- package/dist/redocly-openapi-docs.min.external-resolver-Cm8qMSH6.js +2 -0
- package/dist/redocly-openapi-docs.min.index-CVScN5cj.js +7586 -0
- package/dist/{redocly-openapi-docs.min.index-D5tgmAoY.js → redocly-openapi-docs.min.index-DQKkHTdL.js} +1 -1
- package/dist/redocly-openapi-docs.min.index-DWPYSZX6.js +1 -0
- package/dist/redocly-openapi-docs.min.index-qqKTpI_q.js +1 -0
- package/dist/redocly-openapi-docs.min.js +1 -1
- package/dist/redocly-openapi-docs.min.lint-B0W-5WwE.js +181 -0
- package/dist/{redocly-openapi-docs.min.lint-graphql-CAO-eUMC.js → redocly-openapi-docs.min.lint-graphql-y6yM0_Y_.js} +1 -1
- package/dist/redocly-openapi-docs.min.respect-run-C77Wul9G.js +78 -0
- package/dist/{redocly-openapi-docs.min.standalone-C6JXws-S.js → redocly-openapi-docs.min.standalone-BFWv5fnd.js} +1088 -1063
- package/dist/redocly-openapi-docs.min.tauri-path-Dc9-nUUG.js +1 -0
- package/dist/{redocly-openapi-docs.min.useAiChatQueries-CYikEfuU.js → redocly-openapi-docs.min.useAiChatQueries-B9Y_hT0w.js} +131 -108
- package/lib/components/Replay/Replay.js +1 -1
- package/lib/services/config-options/normalizeOptions.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/package.json +5 -5
- package/dist/redocly-openapi-docs.min.AiChatProvider-C_OmERaa.js +0 -32
- package/dist/redocly-openapi-docs.min.AiPanel-Z2Zw-OOK.js +0 -754
- package/dist/redocly-openapi-docs.min.external-resolver-6xHVd9y7.js +0 -2
- package/dist/redocly-openapi-docs.min.index-B2kW1MJX.js +0 -1
- package/dist/redocly-openapi-docs.min.index-DHNqz_Gi.js +0 -7694
- package/dist/redocly-openapi-docs.min.index-DkqHu0CX.js +0 -1
- package/dist/redocly-openapi-docs.min.lint-CmpdR_qH.js +0 -181
- package/dist/redocly-openapi-docs.min.respect-run-DjAvzRiR.js +0 -78
- package/dist/redocly-openapi-docs.min.tauri-path-DySEV5MH.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aR as r,a5 as n,aS as i,aT as c,aU as l}from"./redocly-openapi-docs.min.index-DHNqz_Gi.js";import{aG as f,ap as s,bi as d,b1 as o}from"./redocly-openapi-docs.min.standalone-C6JXws-S.js";class w extends f{constructor(){super()}resolveExternalRef(e,a){return r(a)?a:e&&r(e)?new URL(a,e).href:e?s.resolve(s.dirname(e),a):a}async loadExternalRef(e){if(r(e)){const{body:a,mimeType:t}=await d(e,{...this.config.http,customFetch:n});return new o(e,a,t)}else{if(!await i(e))throw new Error(`File not found at ${e}.`);try{throw await c(e),new Error(`Expected a file but received a folder at ${e}.`)}catch(t){if(t instanceof Error&&t.message.includes("Expected a file but received a folder"))throw t}const a=await l(e);return new o(e,a.replace(/\r\n/g,`
|
|
2
|
-
`))}}}export{w as ExternalResolver};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aA as T,x as m,aB as v,aC as O,aD as I,aE as A,aF as w,aG as h,aH as C,aI as b,aJ as G}from"./redocly-openapi-docs.min.standalone-C6JXws-S.js";import{aK as B,aL as M,aM as J,aN as Y,aO as W,aP as q,aQ as H,aR as K,aS as Q,aT as X,aU as Z,aV as ee,aW as se,aX as ae,aY as te,aZ as re,a_ as ne,a$ as oe,b0 as ie,b1 as le,b2 as ce,b3 as me,b4 as ue,b5 as pe,b6 as ye,b7 as fe,b8 as de,b9 as ge,ba as he,bb as ve,bc as be,bd as Ee,be as Re,bf as Se,bg as Te,bh as Oe,bi as Ie,bj as Ae,bk as we,bl as Ce,bm as xe,bn as De}from"./redocly-openapi-docs.min.standalone-C6JXws-S.js";import{g as x,t as D,A as Pe,c as E,l as R,S as je,C as ke,u as Ne}from"./redocly-openapi-docs.min.lint-CmpdR_qH.js";import{a as Fe,b as ze,d as _e,e as $e,f as Le,h as Ue,i as Ve,j as Ge,k as Be,m as Me,n as Je,o as Ye,p as We,q as qe,r as He,s as Ke,v as Qe,w as Xe,x as Ze,y as es,z as ss,B as as,D as ts,s as rs,E as ns}from"./redocly-openapi-docs.min.lint-CmpdR_qH.js";function os(e){return(T.extname(e)===".yaml"||T.extname(e)===".yml")&&!1}function is(e){return m(e)&&!v(e)}async function ls(e){return new Promise(s=>setTimeout(s,e))}const S="type",P=["api-description","api-operation","data-schema"];function j(e,s){const{ctx:a}=x("EntityFileDefault",s),{ctx:t,discriminatorResolver:r}=x("EntityFile",e);return{entityTypes:{...a,...t,EntityFileArray:{properties:{},items:n=>{if(m(n)){const i=n[S];if(!i)return"Entity";const o=r?.(n,i);if(o&&typeof o=="string")return o}return"Entity"}}},discriminatorResolver:r}}const cs=e=>({ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(s){e.refs.items.add(s.$ref)}},Tag:{leave(s){e.tags.items.add(s.name)}},Link:{leave(s){e.links.items.add(s.operationId)}},WebhooksMap:{Operation:{leave(s){if(e.webhooks.total++,s.tags)for(const a of s.tags)e.tags.items.add(a)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(s){if(e.operations.total++,s.tags)for(const a of s.tags)e.tags.items.add(a)}},Parameter:{leave(s){e.parameters.items.add(s.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){e.parameters.total=e.parameters.items.size,e.refs.total=e.refs.items.size,e.links.total=e.links.items.size,e.tags.total=e.tags.items.size}}}),ms=e=>({ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(s){e.refs.items.add(s.$ref)}},Tag:{leave(s){e.tags.items.add(s.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(s){if(e.operations.total++,s.tags)for(const a of s.tags)e.tags.items.add(a)}},Parameter:{leave(s){s.name&&e.parameters.items.add(s.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){e.parameters.total=e.parameters.items.size,e.refs.total=e.refs.items.size,e.tags.total=e.tags.items.size}}}),us=e=>({ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(s){e.refs.items.add(s.$ref)}},Tag:{leave(s){e.tags.items.add(s.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(s){s.name&&e.parameters.items.add(s.name)}}}},NamedOperations:{Operation:{leave(s){if(e.operations.total++,s.tags)for(const a of s.tags)e.tags.items.add(a)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){e.parameters.total=e.parameters.items.size,e.refs.total=e.refs.items.size,e.tags.total=e.tags.items.size}}}),ps=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,k=2,N=150,ys=()=>({any(e,{report:s,location:a}){if(m(e)&&"key"in e){const t=e.key;if(typeof t!="string"){s({message:"Entity `key` must be a string.",location:a.child(["key"])});return}t.length<k&&s({message:`Entity 'key' must be at least ${k} characters long.`,location:a.child(["key"])}),t.length>N&&s({message:`Entity 'key' must not exceed ${N} characters.`,location:a.child(["key"])}),ps.test(t)||s({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:a.child(["key"])})}}});function F(e,s){const a=s.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join("")+e;return Object.values(D).includes(a)?a:e}function fs(e,s){const a={};for(const[t,r]of Object.entries(s))if(z(t,r)){if(r.severity==="off")continue;a[t]={...vs(e,t,r)}}else a[t]=r;return a}function ds(e){const s={},a={};for(const[t,r]of Object.entries(e))if(z(t,r)){const n=r;hs(n)?s[t]=n:a[t]=n}else a[t]=r;return{entityRules:s,apiRules:a}}function gs(e,s,a){if(!m(a.parsed)||!m(a.parsed.components))return null;const t=a.parsed.components,r="schemas"in t?t.schemas:void 0;if(!r||!(e in r))return null;const n=r[e];try{const i=JSON.parse(s);if(O(n,i))return n}catch{return null}return null}function z(e,s){return e.startsWith("rule/")&&m(s)}function hs(e){return Object.values(D).some(s=>e.subject.type===s)}function vs(e,s,a){const t=F(a.subject.type,e),r=a.where?.map(n=>({...n,subject:{...n.subject,type:F(n.subject.type,e)}}));return{assertionId:s,subject:{...a.subject,type:t},assertions:a.assertions,...r&&{where:r},...a.message&&{message:a.message},...a.severity&&{severity:a.severity}}}async function _(e){const{document:s,entitySchema:a,entityDefaultSchema:t,severity:r,externalRefResolver:n=new h,assertionConfig:i={}}=e,o={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:u,discriminatorResolver:p}=j(a,t),l=I(u);let c=l.Entity;if(Array.isArray(s.parsed))c=l.EntityFileArray;else if(m(s.parsed)){const d=s.parsed[S];if(!d)c=l.Entity;else{const g=p?.(s.parsed,d);g&&typeof g=="string"&&l[g]&&(c=l[g])}}const y=Pe(i),f=Array.isArray(y)?y.map(d=>({severity:r||"error",ruleId:"entity assertions",visitor:d})):[{severity:r||"error",ruleId:"entity assertions",visitor:y}],L=[{severity:r||"error",ruleId:"entity struct",visitor:je()},{severity:r||"error",ruleId:"entity no-unresolved-refs",visitor:G()},{severity:r||"error",ruleId:"entity key-valid",visitor:ys()},...f],U=A(L,l),V=await w({rootDocument:s,rootType:c,externalRefResolver:n});return C({document:s,rootType:c,normalizedVisitors:U,resolvedRefMap:V,ctx:o}),o.problems}async function bs(e,s,a){if(!s.rules)throw new Error(`Scorecard level "${s.name}" has no rules defined.`);const t=new h,r=b(JSON.stringify(e,null,2),"entity"),n=r.parsed[S],i=fs(n||"unknown",s.rules),{entityRules:o,apiRules:u}=ds(i),p=await _({document:r,entitySchema:Ne,entityDefaultSchema:ke,externalRefResolver:t,assertionConfig:o});if(P.includes(e.type)){if(Object.keys(u).length===0)return p;if(!a)throw new Error(`Document is required for entity type "${e.type}". Provide the source API document to lint API rules.`);if(e.type==="data-schema"&&e.metadata?.schema){Object.values(u).forEach(f=>{if(m(f)&&m(f.subject)&&f.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${f.subject.type}".`)});const c=gs(e.title,e.metadata.schema,a);if(!c)throw new Error(`Schema "${e.title}" not found in the document. Ensure the schema exists in components.schemas.`);const y=await $({schema:c,schemaKey:e.title,config:await E({rules:u}),specType:e.metadata.specType,sourceDocument:a,externalRefResolver:t});return[...p,...y]}const l=await R({document:a,externalRefResolver:t,config:await E({rules:u})});return[...p,...l]}else if(!v(u))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${P.join(", ")} support API rules.`);return p}async function $(e){const{schema:s,schemaKey:a,config:t,sourceDocument:r,specType:n,externalRefResolver:i=new h(t.resolve)}=e,o=r.parsed,u=o[n],p=o.info,l=b(JSON.stringify({[n]:u,info:p,components:{schemas:{[a]:s}}},null,2),r?.source.absoluteRef||`schema:${a}`);return(await R({document:l,config:t,externalRefResolver:i})).filter(c=>c.location.some(y=>y.pointer?.includes(`/components/schemas/${a}`)))}class Es extends Error{}export{B as Arazzo1Types,M as Arazzo1_1Types,J as AsyncApi2Types,Y as AsyncApi3Types,h as BaseResolver,W as CONFIG_BUNDLER_VISITOR_ID,q as CONFIG_FILE_NAME,H as Config,Fe as ConfigTypes,ze as ConfigValidationError,K as DEFAULT_CONFIG,Q as DEFAULT_PROJECT_PLUGIN_PATHS,Es as HandledError,X as IGNORE_BANNER,Z as IGNORE_FILE,ee as Oas2Types,se as Oas3Types,ae as Oas3_1Types,te as Oas3_2Types,re as OpenRpcTypes,ne as Overlay1Types,oe as PLUGINS_COLLECTOR_VISITOR_ID,ie as ResolveError,le as Source,ms as StatsAsync2,us as StatsAsync3,cs as StatsOAS,ce as YamlParseError,_e as bundle,me as bundleDocument,$e as bundleFromString,Le as clearPluginsCache,E as createConfig,Ue as createConfigTypes,j as createEntityTypes,O as dequal,ue as detectSpec,os as doesYamlFileExist,pe as escapePointerFragment,Ve as findConfig,Ge as formatProblems,Be as getAstNodeByPointer,Me as getCodeframe,ye as getDir,Je as getLineColLocation,fe as getMajorSpecVersion,Ye as getPluginCacheVersion,We as getTotals,de as getTypes,ge as isAbsoluteUrl,he as isBrowser,v as isEmptyObject,ve as isMappingRef,qe as isNotEmptyArray,is as isNotEmptyObject,m as isPlainObject,be as isRef,Ee as isString,Re as isSupportedExtension,Se as isTruthy,He as keysOf,Ke as lint,Qe as lintConfig,R as lintDocument,_ as lintEntityFile,bs as lintEntityWithScorecardLevel,Xe as lintFromString,$ as lintSchema,Ze as loadConfig,es as loadIgnoreConfig,ss as logger,b as makeDocumentFromString,Te as mapTypeToComponent,I as normalizeTypes,A as normalizeVisitors,Oe as parseYaml,ls as pause,as as pluralize,Ie as readFileFromUrl,Ae as regexFromString,w as resolveDocument,we as resolvePath,ts as resolvePlugins,Ce as slash,xe as stringifyYaml,De as unescapePointerFragment,rs as validate,C as walkDocument,ns as xmlEscape};
|