@redocly/openapi-docs 3.25.0-next.4 → 3.25.0-next.6

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.
Files changed (42) hide show
  1. package/dist/{redocly-openapi-docs.min.AiChatProvider-BtZYXzQL.js → redocly-openapi-docs.min.AiChatProvider-6YPcWs0H.js} +8 -8
  2. package/dist/{redocly-openapi-docs.min.AiChatSqliteDBStorage-CMWIhurV.js → redocly-openapi-docs.min.AiChatSqliteDBStorage-B83b3g85.js} +1 -1
  3. package/dist/{redocly-openapi-docs.min.AiPanel-CzVBo_SJ.js → redocly-openapi-docs.min.AiPanel-C2qfX9uL.js} +120 -120
  4. package/dist/redocly-openapi-docs.min.FileWatcher-BqldveuP.js +1 -0
  5. package/dist/redocly-openapi-docs.min.SemanticSearchService-WMOhwmFs.js +1 -0
  6. package/dist/{redocly-openapi-docs.min.SqliteDBStorage-DicEB6xf.js → redocly-openapi-docs.min.SqliteDBStorage-C1P1898p.js} +1 -1
  7. package/dist/redocly-openapi-docs.min.TauriFileSystemAdapter-dQrMcpdl.js +1 -0
  8. package/dist/redocly-openapi-docs.min.TauriRootStorage-Xs8U5nWO.js +1 -0
  9. package/dist/{redocly-openapi-docs.min.ai-chat-mappers-BfCwakK5.js → redocly-openapi-docs.min.ai-chat-mappers-CJR-cboS.js} +1 -1
  10. package/dist/{redocly-openapi-docs.min.external-resolver-DftxHgbt.js → redocly-openapi-docs.min.external-resolver-B_BGsIqk.js} +1 -1
  11. package/dist/redocly-openapi-docs.min.index-A1jwxgMY.js +7843 -0
  12. package/dist/redocly-openapi-docs.min.index-CzgAKyvP.js +1 -0
  13. package/dist/redocly-openapi-docs.min.index-DYtjK7I1.js +1 -0
  14. package/dist/redocly-openapi-docs.min.index-zM-C-d58.js +1 -0
  15. package/dist/redocly-openapi-docs.min.js +1 -1
  16. package/dist/{redocly-openapi-docs.min.lint-jyJiMT1p.js → redocly-openapi-docs.min.lint-CFL7cUUQ.js} +2 -2
  17. package/dist/{redocly-openapi-docs.min.lint-graphql-BLIlXit9.js → redocly-openapi-docs.min.lint-graphql-UDOPvcZk.js} +1 -1
  18. package/dist/redocly-openapi-docs.min.periodic-revalidation-DkSoAMSp.js +1 -0
  19. package/dist/{redocly-openapi-docs.min.respect-run-CTD2qNkS.js → redocly-openapi-docs.min.respect-run-BGASIC7w.js} +1 -1
  20. package/dist/{redocly-openapi-docs.min.standalone-CS00-kVE.js → redocly-openapi-docs.min.standalone-DlNPBIhk.js} +1228 -1148
  21. package/dist/redocly-openapi-docs.min.tauri-path-B2ySzLGM.js +1 -0
  22. package/dist/{redocly-openapi-docs.min.useAiChatQueries-BH1oro3k.js → redocly-openapi-docs.min.useAiChatQueries-DvhVIF-L.js} +103 -103
  23. package/lib/components/PropertyDetails/FieldDetail.js +3 -3
  24. package/lib/components/Replay/Replay.js +1 -1
  25. package/lib/components/Security/styled.js +3 -3
  26. package/lib/components/Tabs/Tabs.js +1 -1
  27. package/lib/components/TagItem/Breadcrumbs.js +2 -2
  28. package/lib/components/TagItem/OperationNavigationItems.js +1 -1
  29. package/lib/components/common/Fields/fields-layout.js +1 -1
  30. package/lib/components/common/Fields/fields.js +2 -2
  31. package/lib/components/common/styled.js +1 -1
  32. package/package.json +14 -5
  33. package/dist/redocly-openapi-docs.min.FileWatcher-DjTW24VD.js +0 -1
  34. package/dist/redocly-openapi-docs.min.SemanticSearchService-BdbJAsUF.js +0 -1
  35. package/dist/redocly-openapi-docs.min.TauriFileSystemAdapter-Bzf6nZVE.js +0 -1
  36. package/dist/redocly-openapi-docs.min.TauriRootStorage-Cg1lmYY7.js +0 -1
  37. package/dist/redocly-openapi-docs.min.index-BXAn8eur.js +0 -7837
  38. package/dist/redocly-openapi-docs.min.index-BnxwvVhR.js +0 -1
  39. package/dist/redocly-openapi-docs.min.index-CHKNddXa.js +0 -1
  40. package/dist/redocly-openapi-docs.min.index-U6ORLz-U.js +0 -1
  41. package/dist/redocly-openapi-docs.min.periodic-revalidation-Dsp-n7ui.js +0 -1
  42. package/dist/redocly-openapi-docs.min.tauri-path-Dw7ZXd_2.js +0 -1
@@ -1 +0,0 @@
1
- import{g as c}from"./redocly-openapi-docs.min.SemanticSearchService-BdbJAsUF.js";import{S as u,e as S,a as m,b as h}from"./redocly-openapi-docs.min.SemanticSearchService-BdbJAsUF.js";import{r}from"./redocly-openapi-docs.min.standalone-CS00-kVE.js";function f(){const[s,a]=r.useState(!1),[n,t]=r.useState(null);return{search:r.useCallback(async(o,i=10)=>{a(!0),t(null);try{return await c().search(o,i)}catch(e){const l=e instanceof Error?e:new Error(String(e));return t(l),[]}finally{a(!1)}},[]),isSearching:s,error:n}}export{u as SemanticSearchService,S as extractAllDocuments,m as extractApiDocuments,h as extractCollectionDocuments,c as getSemanticSearchService,f as useSemanticSearch};
@@ -1 +0,0 @@
1
- import{z as n}from"./redocly-openapi-docs.min.index-BXAn8eur.js";async function t(o={}){return typeof o=="object"&&Object.freeze(o),await n("plugin:dialog|open",{options:o})}export{t as open};
@@ -1 +0,0 @@
1
- import{p as T,l as u,aB as E,aC as I,aD as k,aE as w,aF as A,aG as C,aH as v,aI as j,aJ as b,aK as q}from"./redocly-openapi-docs.min.standalone-CS00-kVE.js";import{aL as J,aM as Y,aN as W,aO as X,aP as H,aQ as K,aR as Q,aS as Z,aT as ee,aU as se,aV as ae,aW as te,aX as ne,aY as re,aZ as oe,a_ as ie,a$ as ce,b0 as le,b1 as me,b2 as ue,b3 as pe,b4 as ye,b5 as fe,b6 as de,b7 as ge,b8 as he,b9 as ve,ba as Ee,bb as be,bc as xe,bd as Se,be as Re,bf as Oe,bg as Te,bh as Ie,bi as ke,bj as we,bk as Ae,bl as Ce,bm as je,bn as De,bo as Pe}from"./redocly-openapi-docs.min.standalone-CS00-kVE.js";import{g as D,t as P,A as Ne,c as x,l as S,S as Fe,R as _e,C as Le}from"./redocly-openapi-docs.min.lint-jyJiMT1p.js";import{a as $e,b as ze,d as Ge,e as Ue,f as Ve,h as Me,i as Be,j as qe,k as Je,m as Ye,n as We,o as Xe,p as He,q as Ke,r as Qe,s as Ze,u as es,v as ss,w as as,x as ts,y as ns,z as rs,B as os,s as is,D as cs}from"./redocly-openapi-docs.min.lint-jyJiMT1p.js";function ls(e){return(T.extname(e)===".yaml"||T.extname(e)===".yml")&&!1}function ms(e){return u(e)&&!E(e)}async function us(e){return new Promise(a=>setTimeout(a,e))}const R="type",N=["api-description","api-operation","data-schema"];function F(e,a){const{ctx:s}=D("EntityFileDefault",a),{ctx:t,discriminatorResolver:n}=D("EntityFile",e);return{entityTypes:{...s,...t,EntityFileArray:{properties:{},items:r=>{if(u(r)){const c=r[R];if(!c)return"Entity";const i=n?.(r,c);if(i&&typeof i=="string")return i}return"Entity"}}},discriminatorResolver:n}}function o(e,a){if(I(a.parent))return;const s=a.key.toString(),t=e.counts??={};t[s]=(t[s]??0)+1}function O(e){for(const n of Object.values(e))n.items&&(n.total=n.items.size);const{xExtensions:a}=e,s=a.counts??{},t=Object.keys(s).sort();a.total=t.length,a.counts=Object.fromEntries(t.map(n=>[n,s[n]]))}const ps=e=>({SpecExtension:{enter(a,s){o(e.xExtensions,s)}},XCodeSampleList:{enter(a,s){o(e.xExtensions,s)}},ExamplesMap:{enter(a,s){s.key.toString()==="x-examples"&&o(e.xExtensions,s)}},EnumDescriptions:{enter(a,s){o(e.xExtensions,s)}},TagGroups:{enter(a,s){o(e.xExtensions,s)}},Logo:{enter(a,s){o(e.xExtensions,s)}},XServerList:{enter(a,s){o(e.xExtensions,s)}},XUsePkce:{enter(a,s){o(e.xExtensions,s)}},Operation:{enter(a,s){s.key.toString()==="x-query"&&o(e.xExtensions,s)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(a){e.refs.items.add(a.$ref)}},Tag:{leave(a){e.tags.items.add(a.name)}},Link:{leave(a){e.links.items.add(a.operationId)}},WebhooksMap:{enter(a,s){s.key.toString()==="x-webhooks"&&o(e.xExtensions,s)},Operation:{leave(a){if(e.webhooks.total++,a.tags)for(const s of a.tags)e.tags.items.add(s)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(a){if(e.operations.total++,a.tags)for(const s of a.tags)e.tags.items.add(s)}},Parameter:{leave(a){e.parameters.items.add(a.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),ys=e=>({SpecExtension:{enter(a,s){o(e.xExtensions,s)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(a){e.refs.items.add(a.$ref)}},Tag:{leave(a){e.tags.items.add(a.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(a){if(e.operations.total++,a.tags)for(const s of a.tags)e.tags.items.add(s)}},Parameter:{leave(a,{key:s}){e.parameters.items.add(s.toString())}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),fs=e=>({SpecExtension:{enter(a,s){o(e.xExtensions,s)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(a){e.refs.items.add(a.$ref)}},Tag:{leave(a){e.tags.items.add(a.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(a,{key:s}){e.parameters.items.add(s.toString())}}}},NamedOperations:{Operation:{leave(a){if(e.operations.total++,a.tags)for(const s of a.tags)e.tags.items.add(s)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),ds=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,_=2,L=150,gs=()=>({any(e,{report:a,location:s}){if(u(e)&&"key"in e){const t=e.key;if(typeof t!="string"){a({message:"Entity `key` must be a string.",location:s.child(["key"])});return}t.length<_&&a({message:`Entity 'key' must be at least ${_} characters long.`,location:s.child(["key"])}),t.length>L&&a({message:`Entity 'key' must not exceed ${L} characters.`,location:s.child(["key"])}),ds.test(t)||a({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:s.child(["key"])})}}});function $(e,a){const s=a.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join("")+e;return Object.values(P).includes(s)?s:e}function hs(e,a){const s={};for(const[t,n]of Object.entries(a))if(z(t,n)){if(n.severity==="off")continue;s[t]={...xs(e,t,n)}}else s[t]=n;return s}function vs(e){const a={},s={};for(const[t,n]of Object.entries(e))if(z(t,n)){const r=n;bs(r)?a[t]=r:s[t]=r}else s[t]=n;return{entityRules:a,apiRules:s}}function Es(e,a,s){if(!u(s.parsed)||!u(s.parsed.components))return null;const t=s.parsed.components,n="schemas"in t?t.schemas:void 0;if(!n||!(e in n))return null;const r=n[e];try{const c=JSON.parse(a);if(k(r,c))return r}catch{return null}return null}function z(e,a){return e.startsWith("rule/")&&u(a)}function bs(e){return Object.values(P).some(a=>e.subject.type===a)}function xs(e,a,s){const t=$(s.subject.type,e),n=s.where?.map(r=>({...r,subject:{...r.subject,type:$(r.subject.type,e)}}));return{assertionId:a,subject:{...s.subject,type:t},assertions:s.assertions,...n&&{where:n},...s.message&&{message:s.message},...s.severity&&{severity:s.severity}}}async function G(e){const{document:a,entitySchema:s,entityDefaultSchema:t,severity:n,externalRefResolver:r=new v,assertionConfig:c={}}=e,i={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:p,discriminatorResolver:y}=F(s,t),l=w(p);let m=l.Entity;if(Array.isArray(a.parsed))m=l.EntityFileArray;else if(u(a.parsed)){const g=a.parsed[R];if(!g)m=l.Entity;else{const h=y?.(a.parsed,g);h&&typeof h=="string"&&l[h]&&(m=l[h])}}const f=Ne(c),d=Array.isArray(f)?f.map(g=>({severity:n||"error",ruleId:"entity assertions",visitor:g})):[{severity:n||"error",ruleId:"entity assertions",visitor:f}],V=[{severity:n||"error",ruleId:"entity struct",visitor:Fe()},{severity:n||"error",ruleId:"entity no-unresolved-refs",visitor:q()},{severity:n||"error",ruleId:"entity key-valid",visitor:gs()},...d],M=A(V,l),B=await C({rootDocument:a,rootType:m,externalRefResolver:r});return j({document:a,rootType:m,normalizedVisitors:M,resolvedRefMap:B,ctx:i}),i.problems}async function Ss(e,a,s){if(!a.rules)throw new Error(`Scorecard level "${a.name}" has no rules defined.`);const t=new v,n=b(JSON.stringify(e,null,2),"entity"),r=n.parsed[R],c=hs(r||"unknown",a.rules),{entityRules:i,apiRules:p}=vs(c),y=await G({document:n,entitySchema:Le,entityDefaultSchema:_e,externalRefResolver:t,assertionConfig:i});if(N.includes(e.type)){if(Object.keys(p).length===0)return y;if(!s)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(p).forEach(d=>{if(u(d)&&u(d.subject)&&d.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${d.subject.type}".`)});const m=Es(e.title,e.metadata.schema,s);if(!m)throw new Error(`Schema "${e.title}" not found in the document. Ensure the schema exists in components.schemas.`);const f=await U({schema:m,schemaKey:e.title,config:await x({rules:p}),specType:e.metadata.specType,sourceDocument:s,externalRefResolver:t});return[...y,...f]}const l=await S({document:s,externalRefResolver:t,config:await x({rules:p})});return[...y,...l]}else if(!E(p))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${N.join(", ")} support API rules.`);return y}async function U(e){const{schema:a,schemaKey:s,config:t,sourceDocument:n,specType:r,externalRefResolver:c=new v(t.resolve)}=e,i=n.parsed,p=i[r],y=i.info,l=b(JSON.stringify({[r]:p,info:y,components:{schemas:{[s]:a}}},null,2),n?.source.absoluteRef||`schema:${s}`);return(await S({document:l,config:t,externalRefResolver:c})).filter(m=>m.location.some(f=>f.pointer?.includes(`/components/schemas/${s}`)))}class Rs extends Error{}export{J as Arazzo1Types,Y as Arazzo1_1Types,W as AsyncApi2Types,X as AsyncApi3Types,v as BaseResolver,H as CONFIG_BUNDLER_VISITOR_ID,K as CONFIG_FILE_NAME,Q as Config,$e as ConfigTypes,ze as ConfigValidationError,Z as DEFAULT_CONFIG,ee as DEFAULT_PROJECT_PLUGIN_PATHS,Rs as HandledError,se as IGNORE_BANNER,ae as IGNORE_FILE,te as Oas2Types,ne as Oas3Types,re as Oas3_1Types,oe as Oas3_2Types,ie as OpenRpcTypes,ce as Overlay1Types,le as PLUGINS_COLLECTOR_VISITOR_ID,me as ResolveError,ue as Source,ys as StatsAsync2,fs as StatsAsync3,ps as StatsOAS,pe as YamlParseError,Ge as bundle,ye as bundleDocument,Ue as bundleFromString,Ve as clearPluginsCache,x as createConfig,Me as createConfigTypes,F as createEntityTypes,k as dequal,fe as detectSpec,ls as doesYamlFileExist,de as escapePointerFragment,Be as findConfig,qe as formatProblems,Je as getAstNodeByPointer,Ye as getCodeframe,ge as getDir,We as getLineColLocation,he as getMajorSpecVersion,Xe as getPluginCacheVersion,He as getTotals,ve as getTypes,Ee as isAbsoluteUrl,be as isBrowser,E as isEmptyObject,xe as isGraphqlRef,Se as isMappingRef,Ke as isNotEmptyArray,ms as isNotEmptyObject,u as isPlainObject,I as isRef,Re as isString,Oe as isSupportedExtension,Te as isTruthy,Qe as keysOf,Ze as lint,es as lintConfig,S as lintDocument,G as lintEntityFile,Ss as lintEntityWithScorecardLevel,ss as lintFromString,U as lintSchema,as as loadConfig,ts as loadIgnoreConfig,ns as logger,b as makeDocumentFromString,Ie as mapTypeToComponent,w as normalizeTypes,A as normalizeVisitors,ke as parseYaml,us as pause,rs as pluralize,we as readFileFromUrl,Ae as regexFromString,C as resolveDocument,Ce as resolvePath,os as resolvePlugins,je as slash,De as stringifyYaml,Pe as unescapePointerFragment,is as validate,j as walkDocument,cs as xmlEscape};
@@ -1 +0,0 @@
1
- const s=3e5;function n(e){return()=>({apis:e.apis.get({noproxy:!0})??[],collections:e.collections.get({noproxy:!0})??[]})}function l(e,o,i=3e5){let t=!1;const r=n(o),a=setInterval(()=>{t||e.getIndexingActivityState().inProgress||(t=!0,e.reindex(r).catch(c=>console.error("Semantic index revalidation:",c)).finally(()=>{t=!1}))},i);return()=>clearInterval(a)}export{s as INDEX_REVALIDATION_INTERVAL_MS,n as createIndexSnapshotGetter,l as startPeriodicIndexRevalidation};
@@ -1 +0,0 @@
1
- import{a$ as u,b0 as l,a_ as b}from"./redocly-openapi-docs.min.index-BXAn8eur.js";import{b1 as w,b2 as x,aU as g}from"./redocly-openapi-docs.min.index-BXAn8eur.js";async function h(s,e){const a=b(),r=await l(s),c=await l(e),n=r.replace(new RegExp(`^${a}+`),"").split(a).filter(Boolean),i=c.replace(new RegExp(`^${a}+`),"").split(a).filter(Boolean),p=Math.min(n.length,i.length);let o=0;for(let t=0;t<p&&n[t]===i[t];t++)o++;const m=n.slice(o).map(()=>".."),f=i.slice(o);return[...m,...f].join(a)}async function $(s){const e=await u(s);return e?`.${e}`:""}export{w as dirname,$ as extname,x as isAbsolute,g as join,h as relative,l as resolve};