@redocly/replay 0.29.0-next.4 → 0.29.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.
- package/dist/oauth2-redirect.cjs +1 -1
- package/dist/oauth2-redirect.js +1 -1
- package/dist/{replay-AiChatProvider-GWJ-n-vh.js → replay-AiChatProvider-Dp-0hM6u.js} +1 -1
- package/dist/{replay-AiChatProvider-DR7NuYZo.js → replay-AiChatProvider-_4MWKqjh.js} +6 -6
- package/dist/{replay-AiChatSqliteDBStorage-BFkOn15p.js → replay-AiChatSqliteDBStorage-Oa4hysNI.js} +1 -1
- package/dist/{replay-AiChatSqliteDBStorage--C03eLtv.js → replay-AiChatSqliteDBStorage-UzxSiaa4.js} +1 -1
- package/dist/{replay-AiPanel-1tEi12j1.js → replay-AiPanel-C7V7VEFK.js} +1 -1
- package/dist/{replay-AiPanel-CXIw_O8d.js → replay-AiPanel-Cng3cFVq.js} +4 -4
- package/dist/{replay-FileWatcher-SUnXmGod.js → replay-FileWatcher-B2REfBM5.js} +2 -2
- package/dist/{replay-FileWatcher-B9PZyA8D.js → replay-FileWatcher-DlDB2pmS.js} +1 -1
- package/dist/{replay-SemanticSearchService-BGg8Dbuq.js → replay-SemanticSearchService-B027vvCl.js} +1 -1
- package/dist/{replay-SemanticSearchService-vr1hqPU7.js → replay-SemanticSearchService-BhnCT7Z0.js} +1 -1
- package/dist/{replay-SqliteDBStorage-lUh6lJSO.js → replay-SqliteDBStorage-IZ7jCbkY.js} +1 -1
- package/dist/{replay-SqliteDBStorage-DcIA3sjg.js → replay-SqliteDBStorage-SoY4qOnd.js} +1 -1
- package/dist/{replay-TauriFileSystemAdapter-wAZBliTE.js → replay-TauriFileSystemAdapter-BfH97cwK.js} +1 -1
- package/dist/{replay-TauriFileSystemAdapter-C2c2Qy4S.js → replay-TauriFileSystemAdapter-C8LC19nl.js} +1 -1
- package/dist/{replay-TauriRootStorage-CwVriXnS.js → replay-TauriRootStorage-11a1y8Gt.js} +2 -2
- package/dist/{replay-TauriRootStorage-olGW7jq5.js → replay-TauriRootStorage-BzJznVb7.js} +1 -1
- package/dist/{replay-agent-loop-QLgzMDfU.js → replay-agent-loop-BjoAr7G_.js} +3 -3
- package/dist/{replay-agent-loop-GDXIQGy5.js → replay-agent-loop-Ck47szY-.js} +1 -1
- package/dist/{replay-ai-chat-mappers-DFVcviEH.js → replay-ai-chat-mappers-B7xdsJNR.js} +1 -1
- package/dist/{replay-ai-chat-mappers-Dkj4vl9T.js → replay-ai-chat-mappers-DQMFqfm5.js} +1 -1
- package/dist/{replay-create-model-UDURpFQ4.js → replay-create-model-Bli_v8yv.js} +3 -3
- package/dist/{replay-create-model-D9NcJ3yx.js → replay-create-model-Dsn4EnHO.js} +3 -3
- package/dist/{replay-db-CFx-F30d.js → replay-db-CQ4ZMVoP.js} +1 -1
- package/dist/{replay-db-CMt9dX-H.js → replay-db-CVwyQ9mx.js} +1 -1
- package/dist/{replay-external-resolver-CPD4hskh.js → replay-external-resolver-BTxGCk8J.js} +1 -1
- package/dist/{replay-external-resolver-rqFR7T0O.js → replay-external-resolver-BeVOSP0e.js} +2 -2
- package/dist/{replay-index-CVhBLstt.js → replay-index-BRATjW8A.js} +1 -1
- package/dist/replay-index-BUuiEmgb.js +4 -0
- package/dist/{replay-index-DhelzkVo.js → replay-index-CZKbLR1Q.js} +19633 -19425
- package/dist/{replay-index-0MfVkwY4.js → replay-index-Cj1st_Mh.js} +1 -1
- package/dist/{replay-index-DFopWLS5.js → replay-index-DCXNHuqM.js} +5 -5
- package/dist/{replay-index-DFpzg2pO.js → replay-index-GMdv2Mbb.js} +1 -1
- package/dist/{replay-index-X5PC09Iq.js → replay-index-JSdiVy-s.js} +1 -1
- package/dist/{replay-index-CLJOTBS9.js → replay-index-fAxVJ0Lp.js} +1142 -1127
- package/dist/{replay-lint-xvdvEmuK.js → replay-lint-B5Y0f_xB.js} +3 -3
- package/dist/{replay-lint-VrViwed0.js → replay-lint-D9lcI1vl.js} +3 -3
- package/dist/{replay-lint-graphql-BytE8Msa.js → replay-lint-graphql-BvBl_3l8.js} +2 -2
- package/dist/{replay-lint-graphql-Cj0YxKYW.js → replay-lint-graphql-DKWH5u_B.js} +1 -1
- package/dist/replay-oauth2-redirect-handler-BfZRvm6l.js +4 -0
- package/dist/{replay-oauth2-redirect-handler-CqKZB3aV.js → replay-oauth2-redirect-handler-Bq6bpZMm.js} +1 -1
- package/dist/{replay-periodic-revalidation-UaQh_EiA.js → replay-periodic-revalidation-COYMnQbs.js} +1 -1
- package/dist/{replay-periodic-revalidation-CBK4GGcK.js → replay-periodic-revalidation-VvJSzZwq.js} +1 -1
- package/dist/{replay-resolve-B-ScAEQ_.js → replay-resolve-BJBgR5ui.js} +1 -1
- package/dist/{replay-resolve-DxLYwKrU.js → replay-resolve-DnJdXpgd.js} +1 -1
- package/dist/{replay-respect-run-C84RN_GR.js → replay-respect-run-B0VuZsRD.js} +3321 -3314
- package/dist/{replay-respect-run-BC7vr1j1.js → replay-respect-run-DfeDqBey.js} +62 -62
- package/dist/{replay-tauri-path-B-SLo2Ec.js → replay-tauri-path-2hh0ihN5.js} +2 -2
- package/dist/{replay-tauri-path-Bl15GRY1.js → replay-tauri-path-CspwsPg-.js} +1 -1
- package/dist/{replay-useAiChatQueries-C-ZR0ZaE.js → replay-useAiChatQueries-Mu7qBzg7.js} +2 -2
- package/dist/{replay-useAiChatQueries-gO6Sj7A5.js → replay-useAiChatQueries-npA6uTpu.js} +5 -5
- package/dist/{replay-validate-key-D5QLY_qk.js → replay-validate-key-BEKlKcuC.js} +2 -2
- package/dist/{replay-validate-key-CuCnpHLS.js → replay-validate-key-rnDZ0V6_.js} +1 -1
- package/dist/replay.cjs +1 -1
- package/dist/replay.d.ts +7 -5
- package/dist/replay.js +2 -2
- package/package.json +3 -3
- package/dist/replay-index-BTZoG4e-.js +0 -4
- package/dist/replay-oauth2-redirect-handler-Bqw5UUvl.js +0 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a4 as S, a5 as f } from "./replay-index-
|
|
2
|
-
import { a as I, g as T, d as z, t as P, A as L, S as V, N as $, n as U, w as G, D as M, _ as Y, c as b, l as D } from "./replay-lint-
|
|
3
|
-
import { b as Ee, e as ve, f as xe, h as Se, C as Te, j as be, k as Oe, m as _e, o as Re, p as Ne, q as Ie, I as Pe, r as De, O as Ce, s as ke, u as je, v as we, x as Fe, y as ze, P as Le, z as Ve, B as $e, E as Ue, F as Ge, G as Me, H as Ye, J as Be, K as Ke, L as We, M as He, Q as Je, R as qe, T as Xe, U as Ze, V as Qe, W as Ae, X as es, Y as ss, Z as ts, $ as ns, a0 as as, a1 as rs, a2 as os, a3 as is, a4 as ls, a5 as cs, a6 as ps, a7 as ys, a8 as fs, Z as ds, a9 as ms } from "./replay-lint-
|
|
4
|
-
import { i as B, B as E, n as K, a as W, m as C } from "./replay-resolve-
|
|
5
|
-
import { R as hs, S as us, Y as Es, e as vs, g as xs, b as Ss, c as Ts, d as bs, f as Os, h as _s, j as Rs, p as Ns, r as Is, k as Ps, s as Ds, u as Cs } from "./replay-resolve-
|
|
1
|
+
import { a4 as S, a5 as f } from "./replay-index-CZKbLR1Q.js";
|
|
2
|
+
import { a as I, g as T, d as z, t as P, A as L, S as V, N as $, n as U, w as G, D as M, _ as Y, c as b, l as D } from "./replay-lint-B5Y0f_xB.js";
|
|
3
|
+
import { b as Ee, e as ve, f as xe, h as Se, C as Te, j as be, k as Oe, m as _e, o as Re, p as Ne, q as Ie, I as Pe, r as De, O as Ce, s as ke, u as je, v as we, x as Fe, y as ze, P as Le, z as Ve, B as $e, E as Ue, F as Ge, G as Me, H as Ye, J as Be, K as Ke, L as We, M as He, Q as Je, R as qe, T as Xe, U as Ze, V as Qe, W as Ae, X as es, Y as ss, Z as ts, $ as ns, a0 as as, a1 as rs, a2 as os, a3 as is, a4 as ls, a5 as cs, a6 as ps, a7 as ys, a8 as fs, Z as ds, a9 as ms } from "./replay-lint-B5Y0f_xB.js";
|
|
4
|
+
import { i as B, B as E, n as K, a as W, m as C } from "./replay-resolve-DnJdXpgd.js";
|
|
5
|
+
import { R as hs, S as us, Y as Es, e as vs, g as xs, b as Ss, c as Ts, d as bs, f as Os, h as _s, j as Rs, p as Ns, r as Is, k as Ps, s as Ds, u as Cs } from "./replay-resolve-DnJdXpgd.js";
|
|
6
6
|
function oe(e) {
|
|
7
7
|
return (S.extname(e) === ".yaml" || S.extname(e) === ".yml") && !1;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./replay-index-CLJOTBS9.js"),s=require("./replay-lint-VrViwed0.js"),o=require("./replay-resolve-B-ScAEQ_.js");function j(e){return(p.pathBrowserifyExports.extname(e)===".yaml"||p.pathBrowserifyExports.extname(e)===".yml")&&!1}function k(e){return p.isPlainObject(e)&&!s.isEmptyObject(e)}async function w(e){return new Promise(t=>setTimeout(t,e))}function L(e){return e.charAt(0).toUpperCase()+e.slice(1)}const S="type",v=["api-description","api-operation","data-schema"];function _(e,t){const{ctx:n}=s.getNodeTypesFromJSONSchema("EntityFileDefault",t),{ctx:i,discriminatorResolver:r}=s.getNodeTypesFromJSONSchema("EntityFile",e);return{entityTypes:{...n,...i,EntityFileArray:{properties:{},items:y=>{if(p.isPlainObject(y)){const m=y[S];if(!m)return"Entity";const l=r?.(y,m);if(l&&typeof l=="string")return l}return"Entity"}}},discriminatorResolver:r}}function c(e,t){if(o.isRef(t.parent))return;const n=t.key.toString(),i=e.counts??={};i[n]=(i[n]??0)+1}function O(e){for(const r of Object.values(e))r.items&&(r.total=r.items.size);const{xExtensions:t}=e,n=t.counts??{},i=Object.keys(n).sort();t.total=i.length,t.counts=Object.fromEntries(i.map(r=>[r,n[r]]))}const z=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},XCodeSampleList:{enter(t,n){c(e.xExtensions,n)}},ExamplesMap:{enter(t,n){n.key.toString()==="x-examples"&&c(e.xExtensions,n)}},EnumDescriptions:{enter(t,n){c(e.xExtensions,n)}},TagGroups:{enter(t,n){c(e.xExtensions,n)}},Logo:{enter(t,n){c(e.xExtensions,n)}},XServerList:{enter(t,n){c(e.xExtensions,n)}},XUsePkce:{enter(t,n){c(e.xExtensions,n)}},Operation:{enter(t,n){n.key.toString()==="x-query"&&c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},Link:{leave(t){e.links.items.add(t.operationId)}},WebhooksMap:{enter(t,n){n.key.toString()==="x-webhooks"&&c(e.xExtensions,n)},Operation:{leave(t){if(e.webhooks.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}},Parameter:{leave(t){e.parameters.items.add(t.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),V=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}},Parameter:{leave(t,{key:n}){e.parameters.items.add(n.toString())}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),G=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(t,{key:n}){e.parameters.items.add(n.toString())}}}},NamedOperations:{Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),U=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,b=2,x=150,B=()=>({any(e,{report:t,location:n}){if(p.isPlainObject(e)&&"key"in e){const i=e.key;if(typeof i!="string"){t({message:"Entity `key` must be a string.",location:n.child(["key"])});return}i.length<b&&t({message:`Entity 'key' must be at least ${b} characters long.`,location:n.child(["key"])}),i.length>x&&t({message:`Entity 'key' must not exceed ${x} characters.`,location:n.child(["key"])}),U.test(i)||t({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:n.child(["key"])})}}});function P(e,t){const i=t.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")+e;return Object.values(s.t).includes(i)?i:e}function M(e,t){const n={};for(const[i,r]of Object.entries(t))if(R(i,r)){if(r.severity==="off")continue;n[i]={...q(e,i,r)}}else n[i]=r;return n}function Y(e){const t={},n={};for(const[i,r]of Object.entries(e))if(R(i,r)){const a=r;A(a)?t[i]=a:n[i]=a}else n[i]=r;return{entityRules:t,apiRules:n}}function $(e,t,n){if(!p.isPlainObject(n.parsed)||!p.isPlainObject(n.parsed.components))return null;const i=n.parsed.components,r="schemas"in i?i.schemas:void 0;if(!r||!(e in r))return null;const a=r[e];try{const y=JSON.parse(t);if(s.dequal(a,y))return a}catch{return null}return null}function R(e,t){return e.startsWith("rule/")&&p.isPlainObject(t)}function A(e){return Object.values(s.t).some(t=>e.subject.type===t)}function q(e,t,n){const i=P(n.subject.type,e),r=n.where?.map(a=>({...a,subject:{...a.subject,type:P(a.subject.type,e)}}));return{assertionId:t,subject:{...n.subject,type:i},assertions:n.assertions,...r&&{where:r},...n.message&&{message:n.message},...n.severity&&{severity:n.severity}}}async function N(e){const{document:t,entitySchema:n,entityDefaultSchema:i,severity:r,externalRefResolver:a=new o.BaseResolver,assertionConfig:y={}}=e,m={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:l,discriminatorResolver:g}=_(n,i),d=o.normalizeTypes(l);let f=d.Entity;if(Array.isArray(t.parsed))f=d.EntityFileArray;else if(p.isPlainObject(t.parsed)){const h=t.parsed[S];if(!h)f=d.Entity;else{const T=g?.(t.parsed,h);T&&typeof T=="string"&&d[T]&&(f=d[T])}}const E=s.Assertions(y),u=Array.isArray(E)?E.map(h=>({severity:r||"error",ruleId:"entity assertions",visitor:h})):[{severity:r||"error",ruleId:"entity assertions",visitor:E}],C=[{severity:r||"error",ruleId:"entity struct",visitor:s.Struct()},{severity:r||"error",ruleId:"entity no-unresolved-refs",visitor:s.NoUnresolvedRefs()},{severity:r||"error",ruleId:"entity key-valid",visitor:B()},...u],D=s.normalizeVisitors(C,d),F=await o.resolveDocument({rootDocument:t,rootType:f,externalRefResolver:a});return s.walkDocument({document:t,rootType:f,normalizedVisitors:D,resolvedRefMap:F,ctx:m}),m.problems}async function H(e,t,n){if(!t.rules)throw new Error(`Scorecard level "${t.name}" has no rules defined.`);const i=new o.BaseResolver,r=o.makeDocumentFromString(JSON.stringify(e,null,2),"entity"),a=r.parsed[S],y=M(a||"unknown",t.rules),{entityRules:m,apiRules:l}=Y(y),g=await N({document:r,entitySchema:s.Ds,entityDefaultSchema:s._s,externalRefResolver:i,assertionConfig:m});if(v.includes(e.type)){if(Object.keys(l).length===0)return g;if(!n)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(l).forEach(u=>{if(p.isPlainObject(u)&&p.isPlainObject(u.subject)&&u.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${u.subject.type}".`)});const f=$(e.title,e.metadata.schema,n);if(!f)throw new Error(`Schema "${e.title}" not found in the document. Ensure the schema exists in components.schemas.`);const E=await I({schema:f,schemaKey:e.title,config:await s.createConfig({rules:l}),specType:e.metadata.specType,sourceDocument:n,externalRefResolver:i});return[...g,...E]}const d=await s.lintDocument({document:n,externalRefResolver:i,config:await s.createConfig({rules:l})});return[...g,...d]}else if(!s.isEmptyObject(l))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${v.join(", ")} support API rules.`);return g}async function I(e){const{schema:t,schemaKey:n,config:i,sourceDocument:r,specType:a,externalRefResolver:y=new o.BaseResolver(i.resolve)}=e,m=r.parsed,l=m[a],g=m.info,d=o.makeDocumentFromString(JSON.stringify({[a]:l,info:g,components:{schemas:{[n]:t}}},null,2),r?.source.absoluteRef||`schema:${n}`);return(await s.lintDocument({document:d,config:i,externalRefResolver:y})).filter(E=>E.location.some(u=>u.pointer?.includes(`/components/schemas/${n}`)))}class J extends Error{}class K extends Error{}exports.isPlainObject=p.isPlainObject;exports.Arazzo1Types=s.Arazzo1Types;exports.Arazzo1_1Types=s.Arazzo1_1Types;exports.AsyncApi2Types=s.AsyncApi2Types;exports.AsyncApi3Types=s.AsyncApi3Types;exports.CONFIG_BUNDLER_VISITOR_ID=s.CONFIG_BUNDLER_VISITOR_ID;exports.CONFIG_FILE_NAME=s.CONFIG_FILE_NAME;exports.Config=s.Config;exports.ConfigTypes=s.ConfigTypes;exports.ConfigValidationError=s.ConfigValidationError;exports.DEFAULT_CONFIG=s.DEFAULT_CONFIG;exports.DEFAULT_PROJECT_PLUGIN_PATHS=s.DEFAULT_PROJECT_PLUGIN_PATHS;exports.IGNORE_BANNER=s.IGNORE_BANNER;exports.IGNORE_FILE=s.IGNORE_FILE;exports.Oas2Types=s.Oas2Types;exports.Oas3Types=s.Oas3Types;exports.Oas3_1Types=s.Oas3_1Types;exports.Oas3_2Types=s.Oas3_2Types;exports.OpenRpcTypes=s.OpenRpcTypes;exports.Overlay1Types=s.Overlay1Types;exports.PLUGINS_COLLECTOR_VISITOR_ID=s.PLUGINS_COLLECTOR_VISITOR_ID;exports.bundle=s.bundle;exports.bundleDocument=s.bundleDocument;exports.bundleFromString=s.bundleFromString;exports.clearPluginsCache=s.clearPluginsCache;exports.createConfig=s.createConfig;exports.createConfigTypes=s.createConfigTypes;exports.dequal=s.dequal;exports.detectSpec=s.detectSpec;exports.findConfig=s.findConfig;exports.formatProblems=s.formatProblems;exports.getAstNodeByPointer=s.getAstNodeByPointer;exports.getCodeframe=s.getCodeframe;exports.getLineColLocation=s.getLineColLocation;exports.getMajorSpecVersion=s.getMajorSpecVersion;exports.getPluginCacheVersion=s.getPluginCacheVersion;exports.getTotals=s.getTotals;exports.getTypes=s.getTypes;exports.isEmptyObject=s.isEmptyObject;exports.isNotEmptyArray=s.isNotEmptyArray;exports.isString=s.isString;exports.keysOf=s.keysOf;exports.lint=s.lint;exports.lintConfig=s.lintConfig;exports.lintDocument=s.lintDocument;exports.lintFromString=s.lintFromString;exports.loadConfig=s.loadConfig;exports.loadIgnoreConfig=s.loadIgnoreConfig;exports.logger=s.logger;exports.mapTypeToComponent=s.mapTypeToComponent;exports.normalizeVisitors=s.normalizeVisitors;exports.pluralize=s.pluralize;exports.regexFromString=s.regexFromString;exports.resolvePlugins=s.resolvePlugins;exports.slash=s.slash;exports.validate=s.lint;exports.walkDocument=s.walkDocument;exports.xmlEscape=s.xmlEscape;exports.BaseResolver=o.BaseResolver;exports.ResolveError=o.ResolveError;exports.Source=o.Source;exports.YamlParseError=o.YamlParseError;exports.escapePointerFragment=o.escapePointerFragment;exports.getDir=o.getDir;exports.isAbsoluteUrl=o.isAbsoluteUrl;exports.isBrowser=o.isBrowser;exports.isGraphqlRef=o.isGraphqlRef;exports.isMappingRef=o.isMappingRef;exports.isRef=o.isRef;exports.isSupportedExtension=o.isSupportedExtension;exports.isTruthy=o.isTruthy;exports.makeDocumentFromString=o.makeDocumentFromString;exports.normalizeTypes=o.normalizeTypes;exports.parseYaml=o.parseYaml;exports.readFileFromUrl=o.readFileFromUrl;exports.resolveDocument=o.resolveDocument;exports.resolvePath=o.resolvePath;exports.stringifyYaml=o.stringifyYaml;exports.unescapePointerFragment=o.unescapePointerFragment;exports.AbortFlowError=K;exports.HandledError=J;exports.StatsAsync2=V;exports.StatsAsync3=G;exports.StatsOAS=z;exports.capitalize=L;exports.createEntityTypes=_;exports.doesYamlFileExist=j;exports.isNotEmptyObject=k;exports.lintEntityFile=N;exports.lintEntityWithScorecardLevel=H;exports.lintSchema=I;exports.pause=w;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./replay-index-fAxVJ0Lp.js"),s=require("./replay-lint-D9lcI1vl.js"),o=require("./replay-resolve-BJBgR5ui.js");function j(e){return(p.pathBrowserifyExports.extname(e)===".yaml"||p.pathBrowserifyExports.extname(e)===".yml")&&!1}function k(e){return p.isPlainObject(e)&&!s.isEmptyObject(e)}async function w(e){return new Promise(t=>setTimeout(t,e))}function L(e){return e.charAt(0).toUpperCase()+e.slice(1)}const S="type",v=["api-description","api-operation","data-schema"];function _(e,t){const{ctx:n}=s.getNodeTypesFromJSONSchema("EntityFileDefault",t),{ctx:i,discriminatorResolver:r}=s.getNodeTypesFromJSONSchema("EntityFile",e);return{entityTypes:{...n,...i,EntityFileArray:{properties:{},items:y=>{if(p.isPlainObject(y)){const m=y[S];if(!m)return"Entity";const l=r?.(y,m);if(l&&typeof l=="string")return l}return"Entity"}}},discriminatorResolver:r}}function c(e,t){if(o.isRef(t.parent))return;const n=t.key.toString(),i=e.counts??={};i[n]=(i[n]??0)+1}function O(e){for(const r of Object.values(e))r.items&&(r.total=r.items.size);const{xExtensions:t}=e,n=t.counts??{},i=Object.keys(n).sort();t.total=i.length,t.counts=Object.fromEntries(i.map(r=>[r,n[r]]))}const z=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},XCodeSampleList:{enter(t,n){c(e.xExtensions,n)}},ExamplesMap:{enter(t,n){n.key.toString()==="x-examples"&&c(e.xExtensions,n)}},EnumDescriptions:{enter(t,n){c(e.xExtensions,n)}},TagGroups:{enter(t,n){c(e.xExtensions,n)}},Logo:{enter(t,n){c(e.xExtensions,n)}},XServerList:{enter(t,n){c(e.xExtensions,n)}},XUsePkce:{enter(t,n){c(e.xExtensions,n)}},Operation:{enter(t,n){n.key.toString()==="x-query"&&c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},Link:{leave(t){e.links.items.add(t.operationId)}},WebhooksMap:{enter(t,n){n.key.toString()==="x-webhooks"&&c(e.xExtensions,n)},Operation:{leave(t){if(e.webhooks.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}},Parameter:{leave(t){e.parameters.items.add(t.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),V=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}},Parameter:{leave(t,{key:n}){e.parameters.items.add(n.toString())}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),G=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(t,{key:n}){e.parameters.items.add(n.toString())}}}},NamedOperations:{Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),U=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,b=2,x=150,B=()=>({any(e,{report:t,location:n}){if(p.isPlainObject(e)&&"key"in e){const i=e.key;if(typeof i!="string"){t({message:"Entity `key` must be a string.",location:n.child(["key"])});return}i.length<b&&t({message:`Entity 'key' must be at least ${b} characters long.`,location:n.child(["key"])}),i.length>x&&t({message:`Entity 'key' must not exceed ${x} characters.`,location:n.child(["key"])}),U.test(i)||t({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:n.child(["key"])})}}});function P(e,t){const i=t.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")+e;return Object.values(s.t).includes(i)?i:e}function M(e,t){const n={};for(const[i,r]of Object.entries(t))if(R(i,r)){if(r.severity==="off")continue;n[i]={...q(e,i,r)}}else n[i]=r;return n}function Y(e){const t={},n={};for(const[i,r]of Object.entries(e))if(R(i,r)){const a=r;A(a)?t[i]=a:n[i]=a}else n[i]=r;return{entityRules:t,apiRules:n}}function $(e,t,n){if(!p.isPlainObject(n.parsed)||!p.isPlainObject(n.parsed.components))return null;const i=n.parsed.components,r="schemas"in i?i.schemas:void 0;if(!r||!(e in r))return null;const a=r[e];try{const y=JSON.parse(t);if(s.dequal(a,y))return a}catch{return null}return null}function R(e,t){return e.startsWith("rule/")&&p.isPlainObject(t)}function A(e){return Object.values(s.t).some(t=>e.subject.type===t)}function q(e,t,n){const i=P(n.subject.type,e),r=n.where?.map(a=>({...a,subject:{...a.subject,type:P(a.subject.type,e)}}));return{assertionId:t,subject:{...n.subject,type:i},assertions:n.assertions,...r&&{where:r},...n.message&&{message:n.message},...n.severity&&{severity:n.severity}}}async function N(e){const{document:t,entitySchema:n,entityDefaultSchema:i,severity:r,externalRefResolver:a=new o.BaseResolver,assertionConfig:y={}}=e,m={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:l,discriminatorResolver:g}=_(n,i),d=o.normalizeTypes(l);let f=d.Entity;if(Array.isArray(t.parsed))f=d.EntityFileArray;else if(p.isPlainObject(t.parsed)){const h=t.parsed[S];if(!h)f=d.Entity;else{const T=g?.(t.parsed,h);T&&typeof T=="string"&&d[T]&&(f=d[T])}}const E=s.Assertions(y),u=Array.isArray(E)?E.map(h=>({severity:r||"error",ruleId:"entity assertions",visitor:h})):[{severity:r||"error",ruleId:"entity assertions",visitor:E}],C=[{severity:r||"error",ruleId:"entity struct",visitor:s.Struct()},{severity:r||"error",ruleId:"entity no-unresolved-refs",visitor:s.NoUnresolvedRefs()},{severity:r||"error",ruleId:"entity key-valid",visitor:B()},...u],D=s.normalizeVisitors(C,d),F=await o.resolveDocument({rootDocument:t,rootType:f,externalRefResolver:a});return s.walkDocument({document:t,rootType:f,normalizedVisitors:D,resolvedRefMap:F,ctx:m}),m.problems}async function H(e,t,n){if(!t.rules)throw new Error(`Scorecard level "${t.name}" has no rules defined.`);const i=new o.BaseResolver,r=o.makeDocumentFromString(JSON.stringify(e,null,2),"entity"),a=r.parsed[S],y=M(a||"unknown",t.rules),{entityRules:m,apiRules:l}=Y(y),g=await N({document:r,entitySchema:s.Ds,entityDefaultSchema:s._s,externalRefResolver:i,assertionConfig:m});if(v.includes(e.type)){if(Object.keys(l).length===0)return g;if(!n)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(l).forEach(u=>{if(p.isPlainObject(u)&&p.isPlainObject(u.subject)&&u.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${u.subject.type}".`)});const f=$(e.title,e.metadata.schema,n);if(!f)throw new Error(`Schema "${e.title}" not found in the document. Ensure the schema exists in components.schemas.`);const E=await I({schema:f,schemaKey:e.title,config:await s.createConfig({rules:l}),specType:e.metadata.specType,sourceDocument:n,externalRefResolver:i});return[...g,...E]}const d=await s.lintDocument({document:n,externalRefResolver:i,config:await s.createConfig({rules:l})});return[...g,...d]}else if(!s.isEmptyObject(l))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${v.join(", ")} support API rules.`);return g}async function I(e){const{schema:t,schemaKey:n,config:i,sourceDocument:r,specType:a,externalRefResolver:y=new o.BaseResolver(i.resolve)}=e,m=r.parsed,l=m[a],g=m.info,d=o.makeDocumentFromString(JSON.stringify({[a]:l,info:g,components:{schemas:{[n]:t}}},null,2),r?.source.absoluteRef||`schema:${n}`);return(await s.lintDocument({document:d,config:i,externalRefResolver:y})).filter(E=>E.location.some(u=>u.pointer?.includes(`/components/schemas/${n}`)))}class J extends Error{}class K extends Error{}exports.isPlainObject=p.isPlainObject;exports.Arazzo1Types=s.Arazzo1Types;exports.Arazzo1_1Types=s.Arazzo1_1Types;exports.AsyncApi2Types=s.AsyncApi2Types;exports.AsyncApi3Types=s.AsyncApi3Types;exports.CONFIG_BUNDLER_VISITOR_ID=s.CONFIG_BUNDLER_VISITOR_ID;exports.CONFIG_FILE_NAME=s.CONFIG_FILE_NAME;exports.Config=s.Config;exports.ConfigTypes=s.ConfigTypes;exports.ConfigValidationError=s.ConfigValidationError;exports.DEFAULT_CONFIG=s.DEFAULT_CONFIG;exports.DEFAULT_PROJECT_PLUGIN_PATHS=s.DEFAULT_PROJECT_PLUGIN_PATHS;exports.IGNORE_BANNER=s.IGNORE_BANNER;exports.IGNORE_FILE=s.IGNORE_FILE;exports.Oas2Types=s.Oas2Types;exports.Oas3Types=s.Oas3Types;exports.Oas3_1Types=s.Oas3_1Types;exports.Oas3_2Types=s.Oas3_2Types;exports.OpenRpcTypes=s.OpenRpcTypes;exports.Overlay1Types=s.Overlay1Types;exports.PLUGINS_COLLECTOR_VISITOR_ID=s.PLUGINS_COLLECTOR_VISITOR_ID;exports.bundle=s.bundle;exports.bundleDocument=s.bundleDocument;exports.bundleFromString=s.bundleFromString;exports.clearPluginsCache=s.clearPluginsCache;exports.createConfig=s.createConfig;exports.createConfigTypes=s.createConfigTypes;exports.dequal=s.dequal;exports.detectSpec=s.detectSpec;exports.findConfig=s.findConfig;exports.formatProblems=s.formatProblems;exports.getAstNodeByPointer=s.getAstNodeByPointer;exports.getCodeframe=s.getCodeframe;exports.getLineColLocation=s.getLineColLocation;exports.getMajorSpecVersion=s.getMajorSpecVersion;exports.getPluginCacheVersion=s.getPluginCacheVersion;exports.getTotals=s.getTotals;exports.getTypes=s.getTypes;exports.isEmptyObject=s.isEmptyObject;exports.isNotEmptyArray=s.isNotEmptyArray;exports.isString=s.isString;exports.keysOf=s.keysOf;exports.lint=s.lint;exports.lintConfig=s.lintConfig;exports.lintDocument=s.lintDocument;exports.lintFromString=s.lintFromString;exports.loadConfig=s.loadConfig;exports.loadIgnoreConfig=s.loadIgnoreConfig;exports.logger=s.logger;exports.mapTypeToComponent=s.mapTypeToComponent;exports.normalizeVisitors=s.normalizeVisitors;exports.pluralize=s.pluralize;exports.regexFromString=s.regexFromString;exports.resolvePlugins=s.resolvePlugins;exports.slash=s.slash;exports.validate=s.lint;exports.walkDocument=s.walkDocument;exports.xmlEscape=s.xmlEscape;exports.BaseResolver=o.BaseResolver;exports.ResolveError=o.ResolveError;exports.Source=o.Source;exports.YamlParseError=o.YamlParseError;exports.escapePointerFragment=o.escapePointerFragment;exports.getDir=o.getDir;exports.isAbsoluteUrl=o.isAbsoluteUrl;exports.isBrowser=o.isBrowser;exports.isGraphqlRef=o.isGraphqlRef;exports.isMappingRef=o.isMappingRef;exports.isRef=o.isRef;exports.isSupportedExtension=o.isSupportedExtension;exports.isTruthy=o.isTruthy;exports.makeDocumentFromString=o.makeDocumentFromString;exports.normalizeTypes=o.normalizeTypes;exports.parseYaml=o.parseYaml;exports.readFileFromUrl=o.readFileFromUrl;exports.resolveDocument=o.resolveDocument;exports.resolvePath=o.resolvePath;exports.stringifyYaml=o.stringifyYaml;exports.unescapePointerFragment=o.unescapePointerFragment;exports.AbortFlowError=K;exports.HandledError=J;exports.StatsAsync2=V;exports.StatsAsync3=G;exports.StatsOAS=z;exports.capitalize=L;exports.createEntityTypes=_;exports.doesYamlFileExist=j;exports.isNotEmptyObject=k;exports.lintEntityFile=N;exports.lintEntityWithScorecardLevel=H;exports.lintSchema=I;exports.pause=w;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./replay-index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./replay-index-fAxVJ0Lp.js");async function a(t={}){return typeof t=="object"&&Object.freeze(t),await i.invoke("plugin:dialog|open",{options:t})}async function o(t={}){return typeof t=="object"&&Object.freeze(t),await i.invoke("plugin:dialog|save",{options:t})}async function l(t,n){const e=typeof n=="string"?{title:n}:n;await i.invoke("plugin:dialog|message",{message:t.toString(),title:e?.title?.toString(),kind:e?.kind,okButtonLabel:e?.okLabel?.toString()})}async function r(t,n){const e=typeof n=="string"?{title:n}:n;return await i.invoke("plugin:dialog|ask",{message:t.toString(),title:e?.title?.toString(),kind:e?.kind,okButtonLabel:e?.okLabel?.toString()??"Yes",cancelButtonLabel:e?.cancelLabel?.toString()??"No"})}async function c(t,n){const e=typeof n=="string"?{title:n}:n;return await i.invoke("plugin:dialog|confirm",{message:t.toString(),title:e?.title?.toString(),kind:e?.kind,okButtonLabel:e?.okLabel?.toString()??"Ok",cancelButtonLabel:e?.cancelLabel?.toString()??"Cancel"})}exports.ask=r;exports.confirm=c;exports.message=l;exports.open=a;exports.save=o;
|