@redocly/replay 0.27.0-next.10 → 0.27.0-next.11

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 (47) hide show
  1. package/dist/{replay-AiChatProvider-p8gI7YOY.js → replay-AiChatProvider-BYS_WW_z.js} +1 -1
  2. package/dist/{replay-AiChatProvider-BE-ZL36G.js → replay-AiChatProvider-DUmcQu52.js} +6 -6
  3. package/dist/{replay-AiChatSqliteDBStorage-Cz3VF3-9.js → replay-AiChatSqliteDBStorage-CEvjPBhv.js} +1 -1
  4. package/dist/{replay-AiChatSqliteDBStorage-BQ6Wa-wM.js → replay-AiChatSqliteDBStorage-D0mHtrAO.js} +1 -1
  5. package/dist/{replay-AiPanel-BfZAn-u-.js → replay-AiPanel-BOUt0zpP.js} +1 -1
  6. package/dist/{replay-AiPanel-Bk8ug1Kj.js → replay-AiPanel-dW2Pdoub.js} +3 -3
  7. package/dist/{replay-SqliteDBStorage-BvgGuUGt.js → replay-SqliteDBStorage-Uo_eefqx.js} +1 -1
  8. package/dist/{replay-SqliteDBStorage-FlJdOj7b.js → replay-SqliteDBStorage-dAvsWUtJ.js} +1 -1
  9. package/dist/{replay-agent-loop-CvoG_00Q.js → replay-agent-loop-CYp7Kwcm.js} +1 -1
  10. package/dist/{replay-agent-loop-DNZ4sJ_x.js → replay-agent-loop-CjITReYS.js} +3 -3
  11. package/dist/{replay-ai-chat-mappers-_wgxZgyq.js → replay-ai-chat-mappers-9FbuDEPt.js} +1 -1
  12. package/dist/{replay-ai-chat-mappers-5HmBA_7v.js → replay-ai-chat-mappers-CYwuFPvE.js} +1 -1
  13. package/dist/{replay-create-model-Ip1c2zon.js → replay-create-model-Dcmbuw7I.js} +10 -10
  14. package/dist/{replay-create-model-DA7LaBbt.js → replay-create-model-YxH90p_-.js} +579 -578
  15. package/dist/{replay-db-DLzFrSl9.js → replay-db-Caq6VjXp.js} +1 -1
  16. package/dist/{replay-db-DntsO9SX.js → replay-db-CwwpQHkK.js} +1 -1
  17. package/dist/{replay-external-resolver-BbDECYqj.js → replay-external-resolver-BoqDK0fQ.js} +1 -1
  18. package/dist/{replay-external-resolver-C7GA6Rvj.js → replay-external-resolver-CNjqCX9f.js} +2 -2
  19. package/dist/{replay-index-ByP0XvOv.js → replay-index-BHsdi_QI.js} +1 -1
  20. package/dist/replay-index-C6SJPGDO.js +23 -0
  21. package/dist/{replay-index-BaoIJsKs.js → replay-index-C8iQhxqu.js} +1074 -1074
  22. package/dist/{replay-index-D4CMWh6y.js → replay-index-CFZkwpIx.js} +17264 -17327
  23. package/dist/replay-index-CUs62_1f.js +1 -0
  24. package/dist/{replay-index-CAm7zMO1.js → replay-index-CybczCia.js} +18 -18
  25. package/dist/replay-index-DxhvzKQM.js +1 -0
  26. package/dist/{replay-index-BO0w255N.js → replay-index-t259uMlH.js} +1 -1
  27. package/dist/{replay-lint-DL60Fo7H.js → replay-lint-B0-iUMyH.js} +3 -3
  28. package/dist/{replay-lint-graphql-CWrHAjLb.js → replay-lint-graphql-DAVeOZIE.js} +1 -1
  29. package/dist/{replay-lint-graphql-B6Qm8gCF.js → replay-lint-graphql-UeYnME0S.js} +1 -1
  30. package/dist/{replay-lint-CalxF1V5.js → replay-lint-zaP5bxtV.js} +3 -3
  31. package/dist/{replay-resolve-LzWFNTke.js → replay-resolve-CIuGckjl.js} +1104 -1094
  32. package/dist/replay-resolve-iyRAGwPp.js +47 -0
  33. package/dist/{replay-respect-run-Dzf42Upi.js → replay-respect-run-BJ5jGLoo.js} +3 -3
  34. package/dist/{replay-respect-run-B9aIJ9Lj.js → replay-respect-run-l1sR9KNh.js} +1 -1
  35. package/dist/{replay-tauri-path-DR4Vdirg.js → replay-tauri-path-BnzKeBmZ.js} +1 -1
  36. package/dist/{replay-tauri-path-BtdUgEVI.js → replay-tauri-path-Oz8UoQ4U.js} +5 -5
  37. package/dist/{replay-useAiChatQueries-BHl1W3Zx.js → replay-useAiChatQueries-BHfpYCLw.js} +1 -1
  38. package/dist/{replay-useAiChatQueries-nXi3kofA.js → replay-useAiChatQueries-BMjLNwal.js} +3 -3
  39. package/dist/{replay-validate-key-Cjn0vVcT.js → replay-validate-key-BIMPXc0v.js} +2 -2
  40. package/dist/{replay-validate-key-vTRfteXF.js → replay-validate-key-k9F73R8n.js} +1 -1
  41. package/dist/replay.cjs +1 -1
  42. package/dist/replay.js +4 -4
  43. package/package.json +2 -2
  44. package/dist/replay-index-Bi7n4Ttf.js +0 -21
  45. package/dist/replay-index-CX5xPDIH.js +0 -1
  46. package/dist/replay-index-XIOEiPo3.js +0 -1
  47. package/dist/replay-resolve-PXLrswKS.js +0 -47
@@ -1,4 +1,4 @@
1
- import { O as i, aB as c, aC as m } from "./replay-index-D4CMWh6y.js";
1
+ import { O as i, aB as c, aC as m } from "./replay-index-CFZkwpIx.js";
2
2
  const C = 4e3;
3
3
  function l(t, e = `
4
4
  `) {
@@ -1,4 +1,4 @@
1
- "use strict";const r=require("./replay-index-BaoIJsKs.js"),y=4e3;function c(t,e=`
1
+ "use strict";const r=require("./replay-index-C8iQhxqu.js"),y=4e3;function c(t,e=`
2
2
  `){return t.length===0?"":t.filter(Boolean).join(e)}function b(t){return t.map(e=>c([e.description!=null?`Description: ${e.description}`:null,`Status Code: ${e.statusCode}`,e.schemaProperties!=null?`Schema Properties: ${e.schemaProperties}`:null],", ")).join(`
3
3
  `)}function g(t){return t.map(e=>c([`Name: ${e.name}`,`In: ${e.in}`,`Required: ${e.required}`,e.description!=null?`Description: ${e.description}`:null,e.example!=null?`Example: ${e.example}`:null,e.pattern!=null?`Pattern: ${e.pattern}`:null,e.type!=null?`Type: ${e.type}`:null],", ")).join(`
4
4
  `)}function w(t){const e=[];for(const s of t){const o=[];for(const i of Object.keys(s)){const l=s[i];o.push(`${i}=${l}`)}const n=c(o,"; ");e.push(n)}return c(e)}function S(t){if("key"in t){const s=[`id=${t.id}`,`value=${t.value}`,`active=${t.active}`];return c(s," ")}const e=[`reference=${t.reference}`,`value=${t.value??""}`,`active=${t.active}`];return c(e," ")}function $(t){const e=[],s=[["queryParameters",t.queryParameters],["headers",t.headers],["cookies",t.cookies],["pathParameters",t.pathParameters]];for(const[o,n]of s)if(n?.length){const i=n.map(l=>` ${S(l)}`);e.push(`${o}:
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./replay-index-BaoIJsKs.js"),n=require("./replay-resolve-PXLrswKS.js");class c extends n.BaseResolver{constructor(){super()}resolveExternalRef(e,t){return r.isAbsoluteUrl(t)?t:e&&r.isAbsoluteUrl(e)?new URL(t,e).href:e?r.path.resolve(r.path.dirname(e),t):t}async loadExternalRef(e){if(r.isAbsoluteUrl(e)){const{body:t,mimeType:i}=await n.readFileFromUrl(e,{...this.config.http,customFetch:r.fetch});return new n.Source(e,t,i)}else{if(!await r.exists(e))throw new Error(`File not found at ${e}.`);try{throw await r.readDir(e),new Error(`Expected a file but received a folder at ${e}.`)}catch(o){if(o instanceof Error&&o.message.includes("Expected a file but received a folder"))throw o}const i=await r.readTextFile(e);return new n.Source(e,i.replace(/\r\n/g,`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./replay-index-C8iQhxqu.js"),n=require("./replay-resolve-iyRAGwPp.js");class c extends n.BaseResolver{constructor(){super()}resolveExternalRef(e,t){return r.isAbsoluteUrl(t)?t:e&&r.isAbsoluteUrl(e)?new URL(t,e).href:e?r.path.resolve(r.path.dirname(e),t):t}async loadExternalRef(e){if(r.isAbsoluteUrl(e)){const{body:t,mimeType:i}=await n.readFileFromUrl(e,{...this.config.http,customFetch:r.fetch});return new n.Source(e,t,i)}else{if(!await r.exists(e))throw new Error(`File not found at ${e}.`);try{throw await r.readDir(e),new Error(`Expected a file but received a folder at ${e}.`)}catch(o){if(o instanceof Error&&o.message.includes("Expected a file but received a folder"))throw o}const i=await r.readTextFile(e);return new n.Source(e,i.replace(/\r\n/g,`
2
2
  `))}}}exports.ExternalResolver=c;
@@ -1,5 +1,5 @@
1
- import { aN as n, aO as i, aD as s, aP as c, aQ as d, aR as l } from "./replay-index-D4CMWh6y.js";
2
- import { B as h, j as p, S as o } from "./replay-resolve-LzWFNTke.js";
1
+ import { aM as n, aN as i, aD as s, aO as c, aP as d, aQ as l } from "./replay-index-CFZkwpIx.js";
2
+ import { B as h, j as p, S as o } from "./replay-resolve-CIuGckjl.js";
3
3
  class E extends h {
4
4
  constructor() {
5
5
  super();
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./replay-index-BaoIJsKs.js"),t=require("./replay-lint-CalxF1V5.js"),o=require("./replay-resolve-PXLrswKS.js");function F(e){return(c.pathBrowserifyExports.extname(e)===".yaml"||c.pathBrowserifyExports.extname(e)===".yml")&&!1}function j(e){return c.isPlainObject(e)&&!t.isEmptyObject(e)}async function z(e){return new Promise(s=>setTimeout(s,e))}const T="type",v=["api-description","api-operation","data-schema"];function P(e,s){const{ctx:n}=t.getNodeTypesFromJSONSchema("EntityFileDefault",s),{ctx:i,discriminatorResolver:r}=t.getNodeTypesFromJSONSchema("EntityFile",e);return{entityTypes:{...n,...i,EntityFileArray:{properties:{},items:p=>{if(c.isPlainObject(p)){const y=p[T];if(!y)return"Entity";const l=r?.(p,y);if(l&&typeof l=="string")return l}return"Entity"}}},discriminatorResolver:r}}const k=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 n of s.tags)e.tags.items.add(n)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(s){if(e.operations.total++,s.tags)for(const n of s.tags)e.tags.items.add(n)}},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}}}),x=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 n of s.tags)e.tags.items.add(n)}},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}}}),w=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 n of s.tags)e.tags.items.add(n)}}},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}}}),L=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,O=2,S=150,V=()=>({any(e,{report:s,location:n}){if(c.isPlainObject(e)&&"key"in e){const i=e.key;if(typeof i!="string"){s({message:"Entity `key` must be a string.",location:n.child(["key"])});return}i.length<O&&s({message:`Entity 'key' must be at least ${O} characters long.`,location:n.child(["key"])}),i.length>S&&s({message:`Entity 'key' must not exceed ${S} characters.`,location:n.child(["key"])}),L.test(i)||s({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:n.child(["key"])})}}});function b(e,s){const i=s.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")+e;return Object.values(t.t).includes(i)?i:e}function G(e,s){const n={};for(const[i,r]of Object.entries(s))if(R(i,r)){if(r.severity==="off")continue;n[i]={...Y(e,i,r)}}else n[i]=r;return n}function U(e){const s={},n={};for(const[i,r]of Object.entries(e))if(R(i,r)){const a=r;M(a)?s[i]=a:n[i]=a}else n[i]=r;return{entityRules:s,apiRules:n}}function B(e,s,n){if(!c.isPlainObject(n.parsed)||!c.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 p=JSON.parse(s);if(t.dequal(a,p))return a}catch{return null}return null}function R(e,s){return e.startsWith("rule/")&&c.isPlainObject(s)}function M(e){return Object.values(t.t).some(s=>e.subject.type===s)}function Y(e,s,n){const i=b(n.subject.type,e),r=n.where?.map(a=>({...a,subject:{...a.subject,type:b(a.subject.type,e)}}));return{assertionId:s,subject:{...n.subject,type:i},assertions:n.assertions,...r&&{where:r},...n.message&&{message:n.message},...n.severity&&{severity:n.severity}}}async function I(e){const{document:s,entitySchema:n,entityDefaultSchema:i,severity:r,externalRefResolver:a=new o.BaseResolver,assertionConfig:p={}}=e,y={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:l,discriminatorResolver:d}=P(n,i),m=o.normalizeTypes(l);let f=m.Entity;if(Array.isArray(s.parsed))f=m.EntityFileArray;else if(c.isPlainObject(s.parsed)){const u=s.parsed[T];if(!u)f=m.Entity;else{const E=d?.(s.parsed,u);E&&typeof E=="string"&&m[E]&&(f=m[E])}}const h=t.Assertions(p),g=Array.isArray(h)?h.map(u=>({severity:r||"error",ruleId:"entity assertions",visitor:u})):[{severity:r||"error",ruleId:"entity assertions",visitor:h}],C=[{severity:r||"error",ruleId:"entity struct",visitor:t.Struct()},{severity:r||"error",ruleId:"entity no-unresolved-refs",visitor:t.NoUnresolvedRefs()},{severity:r||"error",ruleId:"entity key-valid",visitor:V()},...g],D=t.normalizeVisitors(C,m),_=await o.resolveDocument({rootDocument:s,rootType:f,externalRefResolver:a});return t.walkDocument({document:s,rootType:f,normalizedVisitors:D,resolvedRefMap:_,ctx:y}),y.problems}async function $(e,s,n){if(!s.rules)throw new Error(`Scorecard level "${s.name}" has no rules defined.`);const i=new o.BaseResolver,r=o.makeDocumentFromString(JSON.stringify(e,null,2),"entity"),a=r.parsed[T],p=G(a||"unknown",s.rules),{entityRules:y,apiRules:l}=U(p),d=await I({document:r,entitySchema:t.Cs,entityDefaultSchema:t.Rs,externalRefResolver:i,assertionConfig:y});if(v.includes(e.type)){if(Object.keys(l).length===0)return d;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(g=>{if(c.isPlainObject(g)&&c.isPlainObject(g.subject)&&g.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${g.subject.type}".`)});const f=B(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 h=await N({schema:f,schemaKey:e.title,config:await t.createConfig({rules:l}),specType:e.metadata.specType,sourceDocument:n,externalRefResolver:i});return[...d,...h]}const m=await t.lintDocument({document:n,externalRefResolver:i,config:await t.createConfig({rules:l})});return[...d,...m]}else if(!t.isEmptyObject(l))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${v.join(", ")} support API rules.`);return d}async function N(e){const{schema:s,schemaKey:n,config:i,sourceDocument:r,specType:a,externalRefResolver:p=new o.BaseResolver(i.resolve)}=e,y=r.parsed,l=y[a],d=y.info,m=o.makeDocumentFromString(JSON.stringify({[a]:l,info:d,components:{schemas:{[n]:s}}},null,2),r?.source.absoluteRef||`schema:${n}`);return(await t.lintDocument({document:m,config:i,externalRefResolver:p})).filter(h=>h.location.some(g=>g.pointer?.includes(`/components/schemas/${n}`)))}class q extends Error{}exports.isPlainObject=c.isPlainObject;exports.Arazzo1Types=t.Arazzo1Types;exports.Arazzo1_1Types=t.Arazzo1_1Types;exports.AsyncApi2Types=t.AsyncApi2Types;exports.AsyncApi3Types=t.AsyncApi3Types;exports.CONFIG_BUNDLER_VISITOR_ID=t.CONFIG_BUNDLER_VISITOR_ID;exports.CONFIG_FILE_NAME=t.CONFIG_FILE_NAME;exports.Config=t.Config;exports.ConfigTypes=t.ConfigTypes;exports.ConfigValidationError=t.ConfigValidationError;exports.DEFAULT_CONFIG=t.DEFAULT_CONFIG;exports.DEFAULT_PROJECT_PLUGIN_PATHS=t.DEFAULT_PROJECT_PLUGIN_PATHS;exports.IGNORE_BANNER=t.IGNORE_BANNER;exports.IGNORE_FILE=t.IGNORE_FILE;exports.Oas2Types=t.Oas2Types;exports.Oas3Types=t.Oas3Types;exports.Oas3_1Types=t.Oas3_1Types;exports.Oas3_2Types=t.Oas3_2Types;exports.OpenRpcTypes=t.OpenRpcTypes;exports.Overlay1Types=t.Overlay1Types;exports.PLUGINS_COLLECTOR_VISITOR_ID=t.PLUGINS_COLLECTOR_VISITOR_ID;exports.bundle=t.bundle;exports.bundleDocument=t.bundleDocument;exports.bundleFromString=t.bundleFromString;exports.clearPluginsCache=t.clearPluginsCache;exports.createConfig=t.createConfig;exports.createConfigTypes=t.createConfigTypes;exports.dequal=t.dequal;exports.detectSpec=t.detectSpec;exports.findConfig=t.findConfig;exports.formatProblems=t.formatProblems;exports.getAstNodeByPointer=t.getAstNodeByPointer;exports.getCodeframe=t.getCodeframe;exports.getLineColLocation=t.getLineColLocation;exports.getMajorSpecVersion=t.getMajorSpecVersion;exports.getPluginCacheVersion=t.getPluginCacheVersion;exports.getTotals=t.getTotals;exports.getTypes=t.getTypes;exports.isEmptyObject=t.isEmptyObject;exports.isNotEmptyArray=t.isNotEmptyArray;exports.isString=t.isString;exports.keysOf=t.keysOf;exports.lint=t.lint;exports.lintConfig=t.lintConfig;exports.lintDocument=t.lintDocument;exports.lintFromString=t.lintFromString;exports.loadConfig=t.loadConfig;exports.loadIgnoreConfig=t.loadIgnoreConfig;exports.logger=t.logger;exports.mapTypeToComponent=t.mapTypeToComponent;exports.normalizeVisitors=t.normalizeVisitors;exports.pluralize=t.pluralize;exports.regexFromString=t.regexFromString;exports.resolvePlugins=t.resolvePlugins;exports.slash=t.slash;exports.validate=t.lint;exports.walkDocument=t.walkDocument;exports.xmlEscape=t.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.HandledError=q;exports.StatsAsync2=x;exports.StatsAsync3=w;exports.StatsOAS=k;exports.createEntityTypes=P;exports.doesYamlFileExist=F;exports.isNotEmptyObject=j;exports.lintEntityFile=I;exports.lintEntityWithScorecardLevel=$;exports.lintSchema=N;exports.pause=z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./replay-index-C8iQhxqu.js"),t=require("./replay-lint-zaP5bxtV.js"),o=require("./replay-resolve-iyRAGwPp.js");function F(e){return(c.pathBrowserifyExports.extname(e)===".yaml"||c.pathBrowserifyExports.extname(e)===".yml")&&!1}function j(e){return c.isPlainObject(e)&&!t.isEmptyObject(e)}async function z(e){return new Promise(s=>setTimeout(s,e))}const T="type",v=["api-description","api-operation","data-schema"];function P(e,s){const{ctx:n}=t.getNodeTypesFromJSONSchema("EntityFileDefault",s),{ctx:i,discriminatorResolver:r}=t.getNodeTypesFromJSONSchema("EntityFile",e);return{entityTypes:{...n,...i,EntityFileArray:{properties:{},items:p=>{if(c.isPlainObject(p)){const y=p[T];if(!y)return"Entity";const l=r?.(p,y);if(l&&typeof l=="string")return l}return"Entity"}}},discriminatorResolver:r}}const k=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 n of s.tags)e.tags.items.add(n)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(s){if(e.operations.total++,s.tags)for(const n of s.tags)e.tags.items.add(n)}},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}}}),x=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 n of s.tags)e.tags.items.add(n)}},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}}}),w=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 n of s.tags)e.tags.items.add(n)}}},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}}}),L=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,O=2,S=150,V=()=>({any(e,{report:s,location:n}){if(c.isPlainObject(e)&&"key"in e){const i=e.key;if(typeof i!="string"){s({message:"Entity `key` must be a string.",location:n.child(["key"])});return}i.length<O&&s({message:`Entity 'key' must be at least ${O} characters long.`,location:n.child(["key"])}),i.length>S&&s({message:`Entity 'key' must not exceed ${S} characters.`,location:n.child(["key"])}),L.test(i)||s({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:n.child(["key"])})}}});function b(e,s){const i=s.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")+e;return Object.values(t.t).includes(i)?i:e}function G(e,s){const n={};for(const[i,r]of Object.entries(s))if(R(i,r)){if(r.severity==="off")continue;n[i]={...Y(e,i,r)}}else n[i]=r;return n}function U(e){const s={},n={};for(const[i,r]of Object.entries(e))if(R(i,r)){const a=r;M(a)?s[i]=a:n[i]=a}else n[i]=r;return{entityRules:s,apiRules:n}}function B(e,s,n){if(!c.isPlainObject(n.parsed)||!c.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 p=JSON.parse(s);if(t.dequal(a,p))return a}catch{return null}return null}function R(e,s){return e.startsWith("rule/")&&c.isPlainObject(s)}function M(e){return Object.values(t.t).some(s=>e.subject.type===s)}function Y(e,s,n){const i=b(n.subject.type,e),r=n.where?.map(a=>({...a,subject:{...a.subject,type:b(a.subject.type,e)}}));return{assertionId:s,subject:{...n.subject,type:i},assertions:n.assertions,...r&&{where:r},...n.message&&{message:n.message},...n.severity&&{severity:n.severity}}}async function I(e){const{document:s,entitySchema:n,entityDefaultSchema:i,severity:r,externalRefResolver:a=new o.BaseResolver,assertionConfig:p={}}=e,y={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:l,discriminatorResolver:d}=P(n,i),m=o.normalizeTypes(l);let f=m.Entity;if(Array.isArray(s.parsed))f=m.EntityFileArray;else if(c.isPlainObject(s.parsed)){const u=s.parsed[T];if(!u)f=m.Entity;else{const E=d?.(s.parsed,u);E&&typeof E=="string"&&m[E]&&(f=m[E])}}const h=t.Assertions(p),g=Array.isArray(h)?h.map(u=>({severity:r||"error",ruleId:"entity assertions",visitor:u})):[{severity:r||"error",ruleId:"entity assertions",visitor:h}],C=[{severity:r||"error",ruleId:"entity struct",visitor:t.Struct()},{severity:r||"error",ruleId:"entity no-unresolved-refs",visitor:t.NoUnresolvedRefs()},{severity:r||"error",ruleId:"entity key-valid",visitor:V()},...g],D=t.normalizeVisitors(C,m),_=await o.resolveDocument({rootDocument:s,rootType:f,externalRefResolver:a});return t.walkDocument({document:s,rootType:f,normalizedVisitors:D,resolvedRefMap:_,ctx:y}),y.problems}async function $(e,s,n){if(!s.rules)throw new Error(`Scorecard level "${s.name}" has no rules defined.`);const i=new o.BaseResolver,r=o.makeDocumentFromString(JSON.stringify(e,null,2),"entity"),a=r.parsed[T],p=G(a||"unknown",s.rules),{entityRules:y,apiRules:l}=U(p),d=await I({document:r,entitySchema:t.Cs,entityDefaultSchema:t.Rs,externalRefResolver:i,assertionConfig:y});if(v.includes(e.type)){if(Object.keys(l).length===0)return d;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(g=>{if(c.isPlainObject(g)&&c.isPlainObject(g.subject)&&g.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${g.subject.type}".`)});const f=B(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 h=await N({schema:f,schemaKey:e.title,config:await t.createConfig({rules:l}),specType:e.metadata.specType,sourceDocument:n,externalRefResolver:i});return[...d,...h]}const m=await t.lintDocument({document:n,externalRefResolver:i,config:await t.createConfig({rules:l})});return[...d,...m]}else if(!t.isEmptyObject(l))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${v.join(", ")} support API rules.`);return d}async function N(e){const{schema:s,schemaKey:n,config:i,sourceDocument:r,specType:a,externalRefResolver:p=new o.BaseResolver(i.resolve)}=e,y=r.parsed,l=y[a],d=y.info,m=o.makeDocumentFromString(JSON.stringify({[a]:l,info:d,components:{schemas:{[n]:s}}},null,2),r?.source.absoluteRef||`schema:${n}`);return(await t.lintDocument({document:m,config:i,externalRefResolver:p})).filter(h=>h.location.some(g=>g.pointer?.includes(`/components/schemas/${n}`)))}class q extends Error{}exports.isPlainObject=c.isPlainObject;exports.Arazzo1Types=t.Arazzo1Types;exports.Arazzo1_1Types=t.Arazzo1_1Types;exports.AsyncApi2Types=t.AsyncApi2Types;exports.AsyncApi3Types=t.AsyncApi3Types;exports.CONFIG_BUNDLER_VISITOR_ID=t.CONFIG_BUNDLER_VISITOR_ID;exports.CONFIG_FILE_NAME=t.CONFIG_FILE_NAME;exports.Config=t.Config;exports.ConfigTypes=t.ConfigTypes;exports.ConfigValidationError=t.ConfigValidationError;exports.DEFAULT_CONFIG=t.DEFAULT_CONFIG;exports.DEFAULT_PROJECT_PLUGIN_PATHS=t.DEFAULT_PROJECT_PLUGIN_PATHS;exports.IGNORE_BANNER=t.IGNORE_BANNER;exports.IGNORE_FILE=t.IGNORE_FILE;exports.Oas2Types=t.Oas2Types;exports.Oas3Types=t.Oas3Types;exports.Oas3_1Types=t.Oas3_1Types;exports.Oas3_2Types=t.Oas3_2Types;exports.OpenRpcTypes=t.OpenRpcTypes;exports.Overlay1Types=t.Overlay1Types;exports.PLUGINS_COLLECTOR_VISITOR_ID=t.PLUGINS_COLLECTOR_VISITOR_ID;exports.bundle=t.bundle;exports.bundleDocument=t.bundleDocument;exports.bundleFromString=t.bundleFromString;exports.clearPluginsCache=t.clearPluginsCache;exports.createConfig=t.createConfig;exports.createConfigTypes=t.createConfigTypes;exports.dequal=t.dequal;exports.detectSpec=t.detectSpec;exports.findConfig=t.findConfig;exports.formatProblems=t.formatProblems;exports.getAstNodeByPointer=t.getAstNodeByPointer;exports.getCodeframe=t.getCodeframe;exports.getLineColLocation=t.getLineColLocation;exports.getMajorSpecVersion=t.getMajorSpecVersion;exports.getPluginCacheVersion=t.getPluginCacheVersion;exports.getTotals=t.getTotals;exports.getTypes=t.getTypes;exports.isEmptyObject=t.isEmptyObject;exports.isNotEmptyArray=t.isNotEmptyArray;exports.isString=t.isString;exports.keysOf=t.keysOf;exports.lint=t.lint;exports.lintConfig=t.lintConfig;exports.lintDocument=t.lintDocument;exports.lintFromString=t.lintFromString;exports.loadConfig=t.loadConfig;exports.loadIgnoreConfig=t.loadIgnoreConfig;exports.logger=t.logger;exports.mapTypeToComponent=t.mapTypeToComponent;exports.normalizeVisitors=t.normalizeVisitors;exports.pluralize=t.pluralize;exports.regexFromString=t.regexFromString;exports.resolvePlugins=t.resolvePlugins;exports.slash=t.slash;exports.validate=t.lint;exports.walkDocument=t.walkDocument;exports.xmlEscape=t.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.HandledError=q;exports.StatsAsync2=x;exports.StatsAsync3=w;exports.StatsOAS=k;exports.createEntityTypes=P;exports.doesYamlFileExist=F;exports.isNotEmptyObject=j;exports.lintEntityFile=I;exports.lintEntityWithScorecardLevel=$;exports.lintSchema=N;exports.pause=z;
@@ -0,0 +1,23 @@
1
+ async function e(n, r = {}, o) {
2
+ return window.__TAURI_INTERNALS__.invoke(n, r, o);
3
+ }
4
+ async function p(n, r) {
5
+ await e("plugin:opener|open_url", {
6
+ url: n,
7
+ with: r
8
+ });
9
+ }
10
+ async function t(n, r) {
11
+ await e("plugin:opener|open_path", {
12
+ path: n,
13
+ with: r
14
+ });
15
+ }
16
+ async function i(n) {
17
+ return e("plugin:opener|reveal_item_in_dir", { paths: typeof n == "string" ? [n] : n });
18
+ }
19
+ export {
20
+ t as openPath,
21
+ p as openUrl,
22
+ i as revealItemInDir
23
+ };