@redocly/replay 0.21.0 → 0.22.0-next.1
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/replay-index-B4gk7FRm.js +21 -0
- package/dist/{replay-index-CkdFdO0z.js → replay-index-BZl4LCFm.js} +30170 -29331
- package/dist/{replay-index-WmDMPRXF.js → replay-index-BjbBvDo0.js} +3 -3
- package/dist/{replay-index-DCh-sgSx.js → replay-index-CMtHreL2.js} +6 -5
- package/dist/{replay-index-BC83BZLZ.js → replay-index-CQWHuBHp.js} +1111 -1045
- package/dist/{replay-index-DvdCUDHC.js → replay-index-CSXwwqG_.js} +1 -1
- package/dist/{replay-index-oiXAQiAE.js → replay-index-CilMcpyo.js} +1 -1
- package/dist/replay-index-DvYjOSKe.js +1 -0
- package/dist/{replay-tauri-path-D16dD7Hr.js → replay-tauri-path-BwK0JDNc.js} +1 -1
- package/dist/{replay-tauri-path-BmzQzKfN.js → replay-tauri-path-DDFiP_z1.js} +2 -2
- package/dist/replay.cjs +1 -1
- package/dist/replay.js +1 -1
- package/package.json +4 -4
- package/dist/replay-index-C6SJPGDO.js +0 -23
- package/dist/replay-index-CUs62_1f.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const au=require("./replay-index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const au=require("./replay-index-CQWHuBHp.js");async function Fl(u){const{descriptionPath:e,externalRefResolver:a,base:i}=u,r=await au.bundle({base:i,ref:e,config:u.config,dereference:!0,externalRefResolver:a});if(!r)throw new Error(`Could not find source description file '${e}'.`);return r.bundle.parsed}function k1(u){if(typeof u!="object")return;const e=Object.keys(u)[0];return e?u[e]?.value:void 0}const{env:y0={},argv:h1=[],platform:kl=""}=typeof process>"u"?{}:process,hl="NO_COLOR"in y0||h1.includes("--no-color"),pl="FORCE_COLOR"in y0||h1.includes("--color"),gl=kl==="win32",Cl=y0.TERM==="dumb",vl=au.tty&&void 0,bl="CI"in y0&&("GITHUB_ACTIONS"in y0||"GITLAB_CI"in y0||"CIRCLECI"in y0),Bl=!hl&&(pl||gl&&!Cl||vl||bl),p1=(u,e,a,i,r=e.substring(0,u)+i,o=e.substring(u+a.length),n=o.indexOf(a))=>r+(n<0?o:p1(n,o,a,i)),Al=(u,e,a,i,r)=>u<0?a+e+i:a+p1(u,e,i,r)+i,fl=(u,e,a=u,i=u.length+1)=>r=>r||!(r===""||r===void 0)?Al((""+r).indexOf(e,i),r,u,e,a):"",cu=(u,e,a)=>fl(`\x1B[${u}m`,`\x1B[${e}m`,a),Sr={reset:cu(0,0),bold:cu(1,22,"\x1B[22m\x1B[1m"),dim:cu(2,22,"\x1B[22m\x1B[2m"),italic:cu(3,23),underline:cu(4,24),inverse:cu(7,27),hidden:cu(8,28),strikethrough:cu(9,29),black:cu(30,39),red:cu(31,39),green:cu(32,39),yellow:cu(33,39),blue:cu(34,39),magenta:cu(35,39),cyan:cu(36,39),white:cu(37,39),gray:cu(90,39),bgBlack:cu(40,49),bgRed:cu(41,49),bgGreen:cu(42,49),bgYellow:cu(43,49),bgBlue:cu(44,49),bgMagenta:cu(45,49),bgCyan:cu(46,49),bgWhite:cu(47,49),blackBright:cu(90,39),redBright:cu(91,39),greenBright:cu(92,39),yellowBright:cu(93,39),blueBright:cu(94,39),magentaBright:cu(95,39),cyanBright:cu(96,39),whiteBright:cu(97,39),bgBlackBright:cu(100,49),bgRedBright:cu(101,49),bgGreenBright:cu(102,49),bgYellowBright:cu(103,49),bgBlueBright:cu(104,49),bgMagentaBright:cu(105,49),bgCyanBright:cu(106,49),bgWhiteBright:cu(107,49)},yl=({useColor:u=Bl}={})=>u?Sr:Object.keys(Sr).reduce((e,a)=>({...e,[a]:String}),{}),{reset:Zeu,bold:d0,dim:zl,italic:Ueu,underline:Sl,inverse:g1,hidden:Yeu,strikethrough:Qeu,black:Xeu,red:Au,green:N0,yellow:m0,blue:Mu,magenta:uau,cyan:eau,white:jr,gray:Pu,bgBlack:aau,bgRed:ha,bgGreen:iau,bgYellow:rau,bgBlue:nau,bgMagenta:oau,bgCyan:tau,bgWhite:sau,blackBright:lau,redBright:Eau,greenBright:Dau,yellowBright:xau,blueBright:cau,magentaBright:dau,cyanBright:mau,whiteBright:Fau,bgBlackBright:kau,bgRedBright:hau,bgGreenBright:pau,bgYellowBright:gau,bgBlueBright:Cau,bgMagentaBright:vau,bgCyanBright:bau,bgWhiteBright:Bau}=yl(),jl=u=>/\{.*?\}/.test(u);function u0({value:u,ctx:e,logger:a}){if(!u)return u;if(au.isPlainObject(u)){const i={};for(const r in u)i[r]=u0({value:u[r],ctx:e,logger:a});return i}else if(Array.isArray(u))return u.map(i=>u0({value:i,ctx:e,logger:a}));return typeof u!="string"?u:u.startsWith("$faker.")?ne({pointer:u.slice(1),ctx:e,logger:a}):jl(u)?wl(u,e,a):Tl(u,e,a)}function Ml(u,e,a){const i=u.indexOf("{");if(i!==-1){const o=u.substring(i+1).slice(0,-1),n=ne({pointer:o.slice(1),ctx:e,logger:a});return n&&u.replace(/{(.*)}/,n)}else return u}function Pl(u,e){const a=Object.keys(e),i=Object.values(e);return new Function(...a,`return ${u}`)(...i)}function wl(u,e,a){const i=/\{\$(\{[^{}]*\}|[^{}])*\}/g;let r=u;return r=r.replace(i,(o,n)=>Kl(o,e,a)),r}function Kl(u,e,a){if(!u.includes("$"))return u;if(u.includes("$faker."))return Ml(u,e,a);const i=ae(e)(Ll(u));return i!==void 0?i:""}const Tl=(u,e,a)=>{if(!u)return u;const i=u.toString();if(!i.includes("$"))return u;if(i.startsWith("$file(")&&i.endsWith(")"))return i.slice(7,-2);if(i.startsWith("$sourceDescriptions.")&&i.includes(".workflows.")){const r=i.split("."),o=r[1],n=r[3];if(!o||!n)return;const t=ae(e)("$sourceDescriptions");return t[o]?t[o].workflows.find(s=>s.workflowId===n):void 0}return i&&i.trim().startsWith("faker.")?ne({pointer:i,ctx:e,logger:a}):i?ae(e)(Mr(i)):i.replace(/\$\{([^}]+)}/g,(r,o)=>ae(e)(Mr(o)))};function Ll(u){return u.replace(/\{(.*)\}/,"$1")}function Mr(u){return u.replace(/\['(.*?)'\]/g,".$1")}const ae=(u,e="")=>a=>{if(e||(e=a),!a)return u;const[i,...r]=a.split(".");if(!u)throw Error(`Cannot get ${Au(i)} from ${Au(e)}`);if(u?.[i]===void 0){const o=` Undefined ${Au(i)} at ${Au(e)}.`,n=Object.keys(u).length?`Did you mean to use another key? Available keys:
|
|
2
2
|
${Object.keys(u).join(", ")}.
|
|
3
3
|
`:"",t=`${o} ${n}`;throw Error(t)}return ae(u[i],e)(r.join("."))};function ne({pointer:u,ctx:e,logger:a}){const i=u.split("."),r={ctx:{faker:e.$faker}};try{const o=i.map(n=>n.trim()).map((n,t)=>n.endsWith(")")?`${t==0?"":"."}${n}`:`["${n}"]`).join("");return Pl(`ctx${o}`,r)}catch(o){a.error(Au(o.toString()));return}}function C1(u,e,a){if(typeof u=="string"&&u)return u0({value:u,ctx:e,logger:a});if(!(typeof u=="string"||typeof u=="number"||typeof u=="boolean"||typeof u>"u"||u instanceof Blob||u===null))for(const i in u)typeof u[i]=="string"?u[i]&&(u[i]=u0({value:u[i],ctx:e,logger:a})):C1(u[i],e,a)}function Pr(u,e,a){return C1(u,e,a)||u}function wr(u,e){if(!u)return;const a={};for(const i in e)a[`{${i}}`]=String(e[i]);return u.split(/(\{[a-zA-Z0-9_.-]+\}+)/g).map(i=>a[i]?a[i]:i).join("")}function Nl(u){return au.isPlainObject(u)&&"name"in u&&"value"in u&&!("in"in u)}function Li(u){return au.isPlainObject(u)&&"in"in u&&typeof u.in=="string"&&["header","query","path","cookie"].includes(u.in)}const Rl=/^image\/(png|jpeg|gif|bmp|webp|svg\+xml)|application\/pdf$/;function v1(u){return u.startsWith("$file(")&&u.endsWith(")")?u.substring(7,u.length-2):u}const Kr=async(u,e,a,i,r)=>{const o=au.pathBrowserifyExports.dirname(i),n=au.pathBrowserifyExports.resolve(o,v1(a));u.append(e,await r.options.requestFileLoader.getFileBody(n))},b1=(u,e,a,i,r,o)=>{Object.entries(a).forEach(([n,t])=>{const s=o?`${o}[${n}]`:n;typeof t=="string"&&t.startsWith("$file(")&&t.endsWith(")")?u.push(Kr(e,s,t,i,r)):Array.isArray(t)?t.forEach(l=>{typeof l=="string"&&l.startsWith("$file(")&&l.endsWith(")")?u.push(Kr(e,s,l,i,r)):e.append(s,l.toString())}):au.isPlainObject(t)?b1(u,e,t,i,r,s):(typeof t=="string"||typeof t=="number"||typeof t=="boolean")&&e.append(s,t.toString())})},Hl=async(u,e,a,i)=>{if(au.isPlainObject(u)){const r=[];b1(r,e,u,a,i),await Promise.all(r)}},Gl=async(u,e)=>{if(typeof u=="string"&&u.startsWith("$file(")&&u.endsWith(")")){const a=au.pathBrowserifyExports.resolve(au.pathBrowserifyExports.dirname(e.options.filePath),v1(u));return e.options.requestFileLoader.getFileBody(a)}else return u};async function _l(u,e){if(!u)return{payload:void 0,contentType:void 0,encoding:void 0,replacements:void 0};const{payload:a,contentType:i}=u;if(i==="multipart/form-data"){const r=new FormData,o=au.pathBrowserifyExports.resolve(e.options.filePath);return await Hl(a,r,o,e),{...u,payload:r}}else{if(i==="application/octet-stream"||typeof i=="string"&&Rl.test(i))return{...u,payload:await Gl(a,e),contentType:"application/octet-stream"};if(i==="application/x-www-form-urlencoded"&&typeof a=="string")return{...u,payload:Object.fromEntries(new URLSearchParams(a).entries()),contentType:"application/x-www-form-urlencoded"}}return u}function Vl(u){try{return au.parseRuntimeExpression(u)}catch{throw new Error(`Runtime expression is not valid: ${u}`)}}function $l(u,e){const a=[{pattern:/\$response\.body#\/([\w/-]+)/g,ctxFunction:(r,o)=>q0(e.$response?.body,o,r)},{pattern:/\$request\.body#\/([\w/-]+)/g,ctxFunction:(r,o)=>q0(e.$request?.body,o,r)},{pattern:/\$outputs\.([\w-]+)#\/([\w/-]+)/g,ctxFunction:(r,o,n)=>q0(e.$outputs?.[o],n,r)},{pattern:/\$workflows\.([\w-]+)\.outputs\.([\w-]+)#\/([\w/-]+)/g,ctxFunction:(r,o,n,t)=>q0(e.$workflows?.[o]?.outputs?.[n],t,r)},{pattern:/\$steps\.([\w-]+)\.outputs\.([\w-]+)#\/([\w/-]+)/g,ctxFunction:(r,o,n,t)=>q0(e.$steps?.[o]?.outputs?.[n],t,r)}];let i=u;for(const{pattern:r,ctxFunction:o}of a)i=i.replaceAll(r,o);return i}function q0(u,e,a){if(u)try{const i=au.pointer.get(u,`/${e}`);return typeof i=="string"||Array.isArray(i)||au.isPlainObject(i)?JSON.stringify(i):i!==void 0?i:a}catch{return a}return a}function qu({payload:u,context:e,contentType:a,logger:i}){if(a?.includes("application/octet-stream"))return Pr(u,e,i);if(a?.includes("multipart/form-data")){if(u instanceof FormData){const r=new FormData;for(const[o,n]of u.entries())if(n instanceof File)r.append(o,n);else{const t=qu({payload:n,context:e,logger:i});r.append(o,t)}return r}return Pr(u,e,i)}return typeof u=="string"?Yl(u)?z0(u,e,i):Ul(u,e,i):au.isPlainObject(u)?Object.entries(u).reduce((r,[o,n])=>(r[o]=qu({payload:n,context:e,logger:i}),r),{}):Array.isArray(u)?u.map(r=>qu({payload:r,context:e,logger:i})):u}function z0(u,e,a){return typeof u=="string"?Jl(u,e,a):au.isPlainObject(u)?Object.entries(u).reduce((i,[r,o])=>(i[r]=o&&z0(o,e,a),i),{}):Array.isArray(u)?u.map(i=>z0(i,e,a)):u}function Jl(u,e,a){if(/^\$faker\.[a-zA-Z0-9._-]+(\([^\\)]*\))?$/.test(u))return ne({pointer:u.slice(1),ctx:e,logger:a});if(u.includes("$faker.")){const o=/\$faker\.[a-zA-Z0-9._-]+(\([^\\)]*\))?/g;u=u.replace(o,n=>ne({pointer:n.slice(1),ctx:e,logger:a})).replace(/{(.*?)}/g,"$1")}if(!u.includes("$")&&!/[=<>]/.test(u))return u;Vl(u);const i=Ol(u,e),r=ql(e);try{return new Function(...Object.keys(r),`return ${i};`)(...Object.values(r))}catch{throw new Error(`Error in resolving runtime expression '${u}'.
|
|
4
4
|
This could be because the expression references a value from a previous failed step, or is trying to reference a variable that hasn't been set.`)}}function Il(u){return u.replace(/\$([a-zA-Z0-9._-]+)/g,(e,a)=>`$${a.replace(/-/g,"_")}`)}function Ol(u,e){const a=$l(u,e),r=Il(a).replace(/{(.*?)}/g,"$1"),o=Zl(r),n=/\.header\.([a-zA-Z0-9._-]+)/g;return o.replace(n,(s,l)=>`.header.${l.toLowerCase()}`)}function ql(u){const e={};for(const[a,i]of Object.entries(u)){const r=a.replace(/-/g,"_");e[r]=B1(i)}return e}function B1(u){return Array.isArray(u)?u:au.isPlainObject(u)?Wl(u):u}function Wl(u){return Object.keys(u).reduce((e,a)=>{const i=a.replace(/-/g,"_");return e[i]=B1(u[a]),e},{})}function Zl(u){return u.replace(/\.(\d+)/g,(e,a,i,r)=>{const o=r[i-1];return/\d/.test(o)?e:`[${a}]`})}function Ul(u,e,a){const i=/\{(?:[^{}]|\{[^{}]*\})*\}|\$[^\s{}]+(?:\([^()]*\))*/g;return u.replace(i,r=>{const o=r.trim(),n=z0(o,e,a);return n!==void 0?n:r})}function Yl(u){return/^\$[^\s{}]+(\([^)]*\))?$|^\{[^{}]*\}$/.test(u.trim())}function Ql({payload:u,replacements:e,expressionContext:a,logger:i}){for(const r of e){const{target:o,value:n}=r;if(typeof o!="string")throw new Error(`Invalid JSON Pointer: ${o}`);try{const t=au.pointer.get(u,o),s=qu({payload:n,context:a,logger:i});t!==void 0&&au.pointer.set(u,o,s)}catch{throw new Error(`Invalid JSON Pointer: ${o}`)}}}const Xl=["parameters","failureActions","successActions"];function u3(u,e){const{reference:a,value:i}=u;if(!Xl.some(o=>a.includes(`$components.${o}`)))throw new Error("Invalid reference: available components are $components.parameters, $components.failureActions, or $components.successActions");const r=u0({value:a,ctx:e,logger:e.options.logger});return au.isPlainObject(r)&&"value"in r&&i?{...r,value:i}:r}function ue(u,e){return"reference"in u?u3(u,e):u}function e3(u,e){const a=u?.requestBody?.content||{},[i,r]=Object.entries(a)[0]||[],o=r?.example||k1(r?.examples)||P1(r?.schema,e),n=a3(u);return{parameters:i3([...Tr(u.pathParameters,e),...Tr(u.parameters,e)]).filter(({value:s})=>s),contentTypeParameters:[...i?[{name:"content-type",in:"header",value:i}]:[],...n?[{name:"accept",in:"header",value:n}]:[]],requestBody:o,contentType:i}}function a3(u){return u?.responses?Array.from(new Set(Object.values(u.responses).flatMap(e=>au.isPlainObject(e)&&"content"in e?Object.keys(e.content||{}):[]))).join(", "):void 0}function Tr(u,e){return(u||[]).filter(a=>a?.required===!0).map(a=>{if(Li(a))return{name:a.name,in:a.in,value:iE(a,e)}}).filter(a=>a!==void 0)}function i3(u){const e={};for(const a of u)Li(a)&&(e[(a.name+":"+a.in).toLowerCase()]=a);return Object.values(e)}function r3(u,e){let a,i;if(u.includes("$sourceDescriptions.")){const[,s,l]=u.split(".");a=s,i=l}else u.includes(".")?[a,i]=u.split("."):(i=u,a=Object.keys(e)[0]);const r=Object.keys(e);if(!e[a])throw new Error(`Unknown description name ${Au(a)} at ${Au(u)}. Available descriptions: ${r.join(", ")}.`);const o=e[a],n=o?.components?.securitySchemes,t=o.servers;for(const[s,l]of Object.entries(e[a].paths)){if(!l)return;for(const[E,D]of Object.entries(l))if(D.operationId===i)return{servers:l.servers||t,...D,pathParameters:D.parameters||[],path:s,method:E,descriptionName:a,securitySchemes:n}}throw new Error(`Unknown operationId ${Au(i)} at ${Au(u)}.`)}function n3(u,e){const{$sourceDescriptions:a,sourceDescriptions:i}=e,[r,o]=u.split("#");if(!i)throw new Error("Missing described sourceDescriptions");const n=i.find(f=>{if(["openapi","arazzo"].includes(f.type)){if(r.includes("$sourceDescriptions.")){const[,A]=r.split(".");return f.name===A}return"url"in f&&f.url===r}return!1})?.name;if(!n)throw new Error(`Unknown operationPath ${Au(u)}. API description ${Au(r)} is not listed in 'sourceDescriptions' workflow section.`);const t=a[n]||{},s=t?.components?.securitySchemes,[l,E,D]=au.pointer.parse(o);if(l!=="paths")throw new Error(`Invalid fragment identifier: ${o} at operationPath ${Au(u)}.`);const{servers:c}=t,F=au.pointer.get(t,o)||{},y=au.pointer.get(t,au.pointer.compile(["paths",E]))||{};return{servers:y.servers||c,...F,pathParameters:y.parameters||[],path:E,method:D,descriptionName:n,securitySchemes:s}}function o3(u,e){if(!u.operationId&&!u.operationPath)return;const{$sourceDescriptions:a,sourceDescriptions:i}=e,{operationId:r,operationPath:o}=u;return r?r3(r,a):o?n3(o,{$sourceDescriptions:a,sourceDescriptions:i}):void 0}function Lr(u){const e=JSON.parse(JSON.stringify(u));function a(i){if(i.type==="object"){if(i.properties)for(const r in i.properties)i.properties[r].writeOnly?(delete i.properties[r],i.required&&(i.required=i.required.filter(o=>o!==r))):a(i.properties[r]);au.isPlainObject(i.additionalProperties)&&a(i.additionalProperties)}else i.type==="array"&&i.items&&a(i.items);return i.oneOf&&(i.oneOf=i.oneOf.map(r=>a(r))),i.allOf&&(i.allOf=i.allOf.map(r=>a(r))),i.anyOf&&(i.anyOf=i.anyOf.map(r=>a(r))),i}return a(e)}function t3({statusCode:u,contentType:e,descriptionResponses:a}){return a?(a[u]||a.default)?.content?.[e]?.schema:void 0}function s3(u,e){if(!e)return;const i=e.requestBody?.content;return i&&i[u]?.schema||void 0}const l3={title:"[REPLACE WITH API title]",version:"[REPLACE WITH API version]"},zi=Symbol("skip");function W0(u){return u<10?"0"+u:u}function E3(u,e,a,i){var r=a?"":u.getUTCFullYear()+"-"+W0(u.getUTCMonth()+1)+"-"+W0(u.getUTCDate());return e||(r+="T"+W0(u.getUTCHours())+":"+W0(u.getUTCMinutes())+":"+W0(u.getUTCSeconds())+"Z"),r}function A1(u,e){return e>u.length?u.repeat(Math.trunc(e/u.length)+1).substring(0,e):u}function ba(...u){const e=a=>a&&typeof a=="object";return u.reduce((a,i)=>(Object.keys(i||{}).forEach(r=>{const o=a[r],n=i[r];e(o)&&e(n)?a[r]=ba(o,n):a[r]=n}),a),Array.isArray(u[u.length-1])?[]:{})}function D3(u){var e=c3(u),a=d3(e,e,e,e),i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{var o=a()*16%16|0;return(r=="x"?o:o&3|8).toString(16)});return i}function Za(u){return{value:u==="object"?{}:u==="array"?[]:void 0}}function l0(u,e){e&&u.pop()}function x3(u){return{name:u?.xml?.name||"",prefix:u?.xml?.prefix||"",namespace:u?.xml?.namespace||null,attribute:u?.xml?.attribute??!1,wrapped:u?.xml?.wrapped??!1}}function Ba(u,e={},a={}){const{value:i}=u,{propertyName:r}=a,{name:o,prefix:n,namespace:t,attribute:s,wrapped:l}=x3(e);let E=o||r?`${n?n+":":""}${o||r}`:null,D=typeof i=="object"?Array.isArray(i)?[...i]:{...i}:i;return s&&E&&(E=`$${E}`),t&&(typeof D=="object"?D[`$xmlns${n?":"+n:""}`]=t:D={[`$xmlns${n?":"+n:""}`]:t,"#text":D}),e.type==="array"&&(l&&Array.isArray(D)&&(D={[E]:[...D]}),l||(E=null),e.example!==void 0&&!l&&(E=e.items?.xml?.name||E)),(e.oneOf||e.anyOf||e.allOf||e.$ref)&&(E=null),{propertyName:E,value:D}}function c3(u){var e=0;if(u.length==0)return e;for(var a=0;a<u.length;a++){var i=u.charCodeAt(a);e=(e<<5)-e+i,e=e&e}return e}function d3(u,e,a,i){return function(){u|=0,e|=0,a|=0,i|=0;var r=u-(e<<27|e>>>5)|0;return u=e^(a<<17|a>>>15),e=a+i|0,a=i+r|0,i=u+r|0,(i>>>0)/4294967296}}function m3(u,e,a,i,r){let o=Ou(u,a,i);const n=[];for(let t of e){const{type:s,readOnly:l,writeOnly:E,value:D}=Ou({type:o.type,...t},a,i,{...r,isAllOfChild:!0});o.type&&s&&s!==o.type&&(console.warn("allOf: schemas with different types can't be merged"),o.type=s),o.type=o.type||s,o.readOnly=o.readOnly||l,o.writeOnly=o.writeOnly||E,D!=null&&n.push(D)}if(o.type==="object"){o.value=ba(o.value||{},...n.filter(t=>typeof t=="object"));for(const t in o.value)o.value[t]===zi&&delete o.value[t];return o}else{o.type==="array"&&(a.quiet||console.warn('OpenAPI Sampler: found allOf with "array" type. Result may be incorrect'));const t=n[n.length-1];return o.value=t??o.value,o}}const Nr={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function ce(u){if(u.type!==void 0)return Array.isArray(u.type)?u.type.length===0?null:u.type[0]:u.type;const e=Object.keys(Nr);for(var a=0;a<e.length;a++){let i=e[a],r=Nr[i];if(u[i]!==void 0)return r}return null}let pa={},Iu=[];function F3(){pa={},Iu=[]}function f1(u){let e;return u.const!==void 0?e=u.const:u.examples!==void 0&&u.examples.length?e=u.examples[0]:u.enum!==void 0&&u.enum.length?e=u.enum[0]:u.default!==void 0&&(e=u.default),e}function Rr(u){const e=f1(u);if(e!==void 0)return{value:e,readOnly:u.readOnly,writeOnly:u.writeOnly,type:null}}function Ou(u,e,a,i){if(i){if(Iu.includes(u))return Za(ce(u));Iu.push(u)}if(i&&i.depth>e.maxSampleDepth)return l0(Iu,i),Za(ce(u));if(u.$ref){if(!a)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let t=decodeURIComponent(u.$ref);t.startsWith("#")&&(t=t.substring(1));const s=au.pointer.get(a,t);let l;if(pa[t]!==!0){pa[t]=!0;const E=Ou(s,e,a,i);if(e.format==="xml"){const{propertyName:D,value:c}=Ba(E,s,i);l={...E,value:{[D||"root"]:c}}}else l=E;pa[t]=!1}else{const E=ce(s);l=Za(E)}return l0(Iu,i),l}if(u.example!==void 0)return l0(Iu,i),{value:u.example,readOnly:u.readOnly,writeOnly:u.writeOnly,type:u.type};if(u.allOf!==void 0)return l0(Iu,i),Rr(u)||m3({...u,allOf:void 0},u.allOf,e,a,i);if(u.oneOf&&u.oneOf.length){u.anyOf&&(e.quiet||console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf")),l0(Iu,i);const t=Object.assign({readOnly:u.readOnly,writeOnly:u.writeOnly},u.oneOf[0]);return n(u,t)}if(u.anyOf&&u.anyOf.length){l0(Iu,i);const t=Object.assign({readOnly:u.readOnly,writeOnly:u.writeOnly},u.anyOf[0]);return n(u,t)}if(u.if&&u.then){l0(Iu,i);const{if:t,then:s,...l}=u;return Ou(ba(l,t,s),e,a,i)}let r=f1(u),o=null;if(r===void 0){r=null,o=u.type,Array.isArray(o)&&u.type.length>0&&(o=u.type[0]),o||(o=ce(u));let t=M1[o];t&&(r=t(u,e,a,i))}return l0(Iu,i),{value:r,readOnly:u.readOnly,writeOnly:u.writeOnly,type:o};function n(t,s){const l=Rr(t);if(l!==void 0)return l;const E=Ou({...t,oneOf:void 0,anyOf:void 0},e,a,i),D=Ou(s,e,a,i);if(typeof E.value=="object"&&typeof D.value=="object"){const c=ba(E.value,D.value);return{...D,value:c}}return D}}function k3(u,e={},a,i){const r=i&&i.depth||1;let o=Math.min(u.maxItems!=null?u.maxItems:1/0,u.minItems||1);const n=u.prefixItems||u.items||u.contains;Array.isArray(n)&&(o=Math.max(o,n.length));let t=l=>Array.isArray(n)?n[l]||{}:n||{},s=[];if(!n)return s;for(let l=0;l<o;l++){let E=t(l),{value:D}=Ou(E,e,a,{depth:r+1});if(e?.format==="xml"){const{value:c,propertyName:F}=Ba({value:D},E,i);F?(s?.[F]||(s={...s,[F]:[]}),s[F].push(c)):s={...s,...c}}else s.push(D)}if(e?.format==="xml"&&r===1){const{value:l,propertyName:E}=Ba({value:null},u,i);E&&(l?s=Array.isArray(s)?{[E]:{...l,...s.map(D=>({"#text":{...D}}))}}:{[E]:{...s,...l}}:s={[E]:s})}return s}function h3(u){return!0}function y1(u){let e=0;if(u.type==="number"&&(u.format==="float"||u.format==="double")&&(e=.1),typeof u.exclusiveMinimum=="boolean"||typeof u.exclusiveMaximum=="boolean"){if(u.maximum&&u.minimum)return e=u.exclusiveMinimum?Math.floor(u.minimum)+1:u.minimum,(u.exclusiveMaximum&&e>=u.maximum||!u.exclusiveMaximum&&e>u.maximum)&&(e=(u.maximum+u.minimum)/2),e;if(u.minimum)return u.exclusiveMinimum?Math.floor(u.minimum)+1:u.minimum;if(u.maximum)return u.exclusiveMaximum?u.maximum>0?0:Math.floor(u.maximum)-1:u.maximum>0?0:u.maximum}else{if(u.minimum)return u.minimum;u.exclusiveMinimum?(e=Math.floor(u.exclusiveMinimum)+1,e===u.exclusiveMaximum&&(e=(e+Math.floor(u.exclusiveMaximum)-1)/2)):u.exclusiveMaximum?e=Math.floor(u.exclusiveMaximum)-1:u.maximum&&(e=u.maximum)}return e}function p3(u,e={},a,i){let r={};const o=i&&i.depth||1;if(u&&typeof u.properties=="object"){const n=Array.isArray(u.required)?u.required:[],t={};for(const s of n)t[s]=!0;Object.keys(u.properties).forEach(s=>{if(e.skipNonRequired&&!t.hasOwnProperty(s))return;const l=Ou(u.properties[s],e,a,{propertyName:s,depth:o+1});if(e.skipReadOnly&&l.readOnly){i?.isAllOfChild&&(r[s]=zi);return}if(e.skipWriteOnly&&l.writeOnly){i?.isAllOfChild&&(r[s]=zi);return}if(e?.format==="xml"){const{propertyName:E,value:D}=Ba(l,u.properties[s],{propertyName:s});E?r[E]=D:r={...r,...D}}else r[s]=l.value})}if(u&&typeof u.additionalProperties=="object"){const n=u.additionalProperties["x-additionalPropertiesName"]||"property";r[`${String(n)}1`]=Ou(u.additionalProperties,e,a,{depth:o+1}).value,r[`${String(n)}2`]=Ou(u.additionalProperties,e,a,{depth:o+1}).value}if(u&&typeof u.properties=="object"&&u.maxProperties!==void 0&&Object.keys(r).length>u.maxProperties){const n={};let t=0;(Array.isArray(u.required)?u.required:[]).forEach(l=>{r[l]!==void 0&&(n[l]=r[l],t++)}),Object.keys(r).forEach(l=>{t<u.maxProperties&&!n.hasOwnProperty(l)&&(n[l]=r[l],t++)}),r=n}return r}function ie(u,e){return u}function Hr(u,e,a){let i=1;if(u)switch(u){case"?":{i=0;break}case"*":{i=ie(0);break}case"+":{i=ie(1);break}default:throw new Error("Unknown quantifier symbol provided.")}else e!=null&&a!=null?i=ie(parseInt(e)):e!=null&&a==null&&(i=parseInt(e));return i}function g3(u){let e=!1;u instanceof RegExp&&(e=u.flags.includes("i"),u=u.toString(),u=u.match(/\/(.+?)\//)?.[1]??""),u=u.replace(/^(\^)?(.*?)(\$)?$/,"$2");let a,i,r;const o=/([.A-Za-z0-9])(?:\{(\d+)(?:\,(\d+)|)\}|(\?|\*|\+))(?![^[]*]|[^{]*})/;let n=u.match(o);for(;n!=null;){const D=n[2],c=n[3],F=n[4];r=Hr(F,D,c),u=u.slice(0,n.index)+n[1].repeat(r)+u.slice(n.index+n[0].length),n=u.match(o)}const t=/(\d-\d|\w-\w|\d|\w|[-!@#$&()`.+,/"])/,s=/\[(\^|)(-|)(.+?)\](?:\{(\d+)(?:\,(\d+)|)\}|(\?|\*|\+)|)/;for(n=u.match(s);n!=null;){const D=n[1]==="^",c=n[2]==="-",F=n[4],y=n[5],f=n[6],A=[];let h=n[3],m=h.match(t);for(c&&A.push(45);m!=null;){if(m[0].indexOf("-")===-1)e&&isNaN(Number(m[0]))?(A.push(m[0].toUpperCase().charCodeAt(0)),A.push(m[0].toLowerCase().charCodeAt(0))):A.push(m[0].charCodeAt(0));else{const B=m[0].split("-").map(d=>d.charCodeAt(0));if(a=B[0],i=B[1],a>i)throw new Error("Character range provided is out of order.");for(let d=a;d<=i;d++)if(e&&isNaN(Number(String.fromCharCode(d)))){const k=String.fromCharCode(d);A.push(k.toUpperCase().charCodeAt(0)),A.push(k.toLowerCase().charCodeAt(0))}else A.push(d)}h=h.substring(m[0].length),m=h.match(t)}if(r=Hr(f,F,y),D){let B=-1;for(let d=48;d<=57;d++){if(B=A.indexOf(d),B>-1){A.splice(B,1);continue}A.push(d)}for(let d=65;d<=90;d++){if(B=A.indexOf(d),B>-1){A.splice(B,1);continue}A.push(d)}for(let d=97;d<=122;d++){if(B=A.indexOf(d),B>-1){A.splice(B,1);continue}A.push(d)}}const g=Array.from({length:r},()=>String.fromCharCode(A[ie(0)])).join("");u=u.slice(0,n.index)+g+u.slice(n.index+n[0].length),n=u.match(s)}const l=/(.)\{(\d+)\,(\d+)\}/;for(n=u.match(l);n!=null;){if(a=parseInt(n[2]),i=parseInt(n[3]),a>i)throw new Error("Numbers out of order in {} quantifier.");r=ie(a),u=u.slice(0,n.index)+n[1].repeat(r)+u.slice(n.index+n[0].length),n=u.match(l)}const E=/(.)\{(\d+)\}/;for(n=u.match(E);n!=null;)r=parseInt(n[2]),u=u.slice(0,n.index)+n[1].repeat(r)+u.slice(n.index+n[0].length),n=u.match(E);return u}const C3="qwerty!@#$%^123456";function v3(){return"user@example.com"}function b3(){return"пошта@укр.нет"}function B3(u,e){let a="pa$$word";return u>a.length&&(a+="_",a+=A1(C3,u-a.length).substring(0,u-a.length)),a}function Ni({min:u,max:e,omitTime:a,omitDate:i}){let r=E3(new Date("2019-08-24T14:15:22.123Z"),a,i);return r.length<u&&console.warn(`Using minLength = ${u} is incorrect with format "date-time"`),e&&r.length>e&&console.warn(`Using maxLength = ${e} is incorrect with format "date-time"`),r}function A3(u,e){return Ni({min:u,max:e,omitTime:!1,omitDate:!1})}function f3(u,e){return Ni({min:u,max:e,omitTime:!0,omitDate:!1})}function y3(u,e){return Ni({min:u,max:e,omitTime:!1,omitDate:!0}).slice(1)}function z1(u,e,a,i,r=!1){if(i&&r)return g3(i);let o=A1("string",u);return e&&o.length>e&&(o=o.substring(0,e)),o}function z3(){return"192.168.0.1"}function S3(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"}function j3(){return"example.com"}function M3(){return"приклад.укр"}function P3(){return"http://example.com"}function w3(){return"../dictionary"}function K3(){return"http://example.com/{endpoint}"}function T3(){return"http://example.com/entity/1"}function L3(){return"/entity/1"}function N3(u,e,a){return D3(a||"id")}function R3(){return"/json/pointer"}function H3(){return"1/relative/json/pointer"}function G3(){return"/regex/"}const _3={email:v3,"idn-email":b3,password:B3,"date-time":A3,date:f3,time:y3,ipv4:z3,ipv6:S3,hostname:j3,"idn-hostname":M3,iri:T3,"iri-reference":L3,uri:P3,"uri-reference":w3,"uri-template":K3,uuid:N3,default:z1,"json-pointer":R3,"relative-json-pointer":H3,regex:G3};function V3(u,e,a,i){let r=u.format||"default",o=_3[r]||z1,n=i&&i.propertyName;return o(u.minLength||0,u.maxLength,n,u.pattern,e?.enablePatterns)}var Ua={},Ya={},Gr;function Ri(){return Gr||(Gr=1,(function(u){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",a=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",i="["+e+"]["+a+"]*",r=new RegExp("^"+i+"$"),o=function(t,s){const l=[];let E=s.exec(t);for(;E;){const D=[];D.startIndex=s.lastIndex-E[0].length;const c=E.length;for(let F=0;F<c;F++)D.push(E[F]);l.push(D),E=s.exec(t)}return l},n=function(t){const s=r.exec(t);return!(s===null||typeof s>"u")};u.isExist=function(t){return typeof t<"u"},u.isEmptyObject=function(t){return Object.keys(t).length===0},u.merge=function(t,s,l){if(s){const E=Object.keys(s),D=E.length;for(let c=0;c<D;c++)l==="strict"?t[E[c]]=[s[E[c]]]:t[E[c]]=s[E[c]]}},u.getValue=function(t){return u.isExist(t)?t:""},u.isName=n,u.getAllMatches=o,u.nameRegexp=i})(Ya)),Ya}var _r;function S1(){if(_r)return Ua;_r=1;const u=Ri(),e={allowBooleanAttributes:!1,unpairedTags:[]};Ua.validate=function(h,m){m=Object.assign({},e,m);const g=[];let B=!1,d=!1;h[0]==="\uFEFF"&&(h=h.substr(1));for(let k=0;k<h.length;k++)if(h[k]==="<"&&h[k+1]==="?"){if(k+=2,k=i(h,k),k.err)return k}else if(h[k]==="<"){let v=k;if(k++,h[k]==="!"){k=r(h,k);continue}else{let j=!1;h[k]==="/"&&(j=!0,k++);let M="";for(;k<h.length&&h[k]!==">"&&h[k]!==" "&&h[k]!==" "&&h[k]!==`
|
|
@@ -54,7 +54,7 @@ Try adjusting maxTime or maxRetries parameters for faker.helpers.unique().`)}fun
|
|
|
54
54
|
|| ${j} === "boolean" || ${k} === null`).assign(M,(0,i._)`[${k}]`)}}}function c({gen:m,parentData:g,parentDataProperty:B},d){m.if((0,i._)`${g} !== undefined`,()=>m.assign((0,i._)`${g}[${B}]`,d))}function F(m,g,B,d=o.Correct){const k=d===o.Correct?i.operators.EQ:i.operators.NEQ;let v;switch(m){case"null":return(0,i._)`${g} ${k} null`;case"array":v=(0,i._)`Array.isArray(${g})`;break;case"object":v=(0,i._)`${g} && typeof ${g} == "object" && !Array.isArray(${g})`;break;case"integer":v=j((0,i._)`!(${g} % 1) && !isNaN(${g})`);break;case"number":v=j();break;default:return(0,i._)`typeof ${g} ${k} ${m}`}return d===o.Correct?v:(0,i.not)(v);function j(M=i.nil){return(0,i.and)((0,i._)`typeof ${g} == "number"`,M,B?(0,i._)`isFinite(${g})`:i.nil)}}Tu.checkDataType=F;function y(m,g,B,d){if(m.length===1)return F(m[0],g,B,d);let k;const v=(0,r.toHash)(m);if(v.array&&v.object){const j=(0,i._)`typeof ${g} != "object"`;k=v.null?j:(0,i._)`!${g} || ${j}`,delete v.null,delete v.array,delete v.object}else k=i.nil;v.number&&delete v.integer;for(const j in v)k=(0,i.and)(k,F(j,g,B,d));return k}Tu.checkDataTypes=y;const f={message:({schema:m})=>`must be ${m}`,params:({schema:m,schemaValue:g})=>typeof m=="string"?(0,i._)`{type: ${m}}`:(0,i._)`{type: ${g}}`};function A(m){const g=h(m);(0,a.reportError)(g,f)}Tu.reportTypeError=A;function h(m){const{gen:g,data:B,schema:d}=m,k=(0,r.schemaRefOrVal)(m,d,"type");return{gen:g,keyword:"type",data:B,schema:d.type,schemaCode:k,schemaValue:k,parentSchema:d,params:{},it:m}}return Tu}var U0={},Bn;function zY(){if(Bn)return U0;Bn=1,Object.defineProperty(U0,"__esModule",{value:!0}),U0.assignDefaults=void 0;const u=du(),e=pu();function a(r,o){const{properties:n,items:t}=r.schema;if(o==="object"&&n)for(const s in n)i(r,s,n[s].default);else o==="array"&&Array.isArray(t)&&t.forEach((s,l)=>i(r,l,s.default))}U0.assignDefaults=a;function i(r,o,n){const{gen:t,compositeRule:s,data:l,opts:E}=r;if(n===void 0)return;const D=(0,u._)`${l}${(0,u.getProperty)(o)}`;if(s){(0,e.checkStrictMode)(r,`default is ignored for: ${D}`);return}let c=(0,u._)`${D} === undefined`;E.useDefaults==="empty"&&(c=(0,u._)`${c} || ${D} === null || ${D} === ""`),t.if(c,(0,u._)`${D} = ${(0,u.stringify)(n)}`)}return U0}var Ju={},Bu={},An;function Uu(){if(An)return Bu;An=1,Object.defineProperty(Bu,"__esModule",{value:!0}),Bu.validateUnion=Bu.validateArray=Bu.usePattern=Bu.callValidateCode=Bu.schemaProperties=Bu.allSchemaProperties=Bu.noPropertyInData=Bu.propertyInData=Bu.isOwnProperty=Bu.hasPropFunc=Bu.reportMissingProp=Bu.checkMissingProp=Bu.checkReportMissingProp=void 0;const u=du(),e=pu(),a=Zu(),i=pu();function r(m,g){const{gen:B,data:d,it:k}=m;B.if(E(B,d,g,k.opts.ownProperties),()=>{m.setParams({missingProperty:(0,u._)`${g}`},!0),m.error()})}Bu.checkReportMissingProp=r;function o({gen:m,data:g,it:{opts:B}},d,k){return(0,u.or)(...d.map(v=>(0,u.and)(E(m,g,v,B.ownProperties),(0,u._)`${k} = ${v}`)))}Bu.checkMissingProp=o;function n(m,g){m.setParams({missingProperty:g},!0),m.error()}Bu.reportMissingProp=n;function t(m){return m.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,u._)`Object.prototype.hasOwnProperty`})}Bu.hasPropFunc=t;function s(m,g,B){return(0,u._)`${t(m)}.call(${g}, ${B})`}Bu.isOwnProperty=s;function l(m,g,B,d){const k=(0,u._)`${g}${(0,u.getProperty)(B)} !== undefined`;return d?(0,u._)`${k} && ${s(m,g,B)}`:k}Bu.propertyInData=l;function E(m,g,B,d){const k=(0,u._)`${g}${(0,u.getProperty)(B)} === undefined`;return d?(0,u.or)(k,(0,u.not)(s(m,g,B))):k}Bu.noPropertyInData=E;function D(m){return m?Object.keys(m).filter(g=>g!=="__proto__"):[]}Bu.allSchemaProperties=D;function c(m,g){return D(g).filter(B=>!(0,e.alwaysValidSchema)(m,g[B]))}Bu.schemaProperties=c;function F({schemaCode:m,data:g,it:{gen:B,topSchemaRef:d,schemaPath:k,errorPath:v},it:j},M,T,G){const _=G?(0,u._)`${m}, ${g}, ${d}${k}`:g,L=[[a.default.instancePath,(0,u.strConcat)(a.default.instancePath,v)],[a.default.parentData,j.parentData],[a.default.parentDataProperty,j.parentDataProperty],[a.default.rootData,a.default.rootData],[a.default.isAllOfVariant,j.isAllOfVariant?1:0]];j.opts.dynamicRef&&L.push([a.default.dynamicAnchors,a.default.dynamicAnchors]);const Z=(0,u._)`${_}, ${B.object(...L)}`;return T!==u.nil?(0,u._)`${M}.call(${T}, ${Z})`:(0,u._)`${M}(${Z})`}Bu.callValidateCode=F;const y=(0,u._)`new RegExp`;function f({gen:m,it:{opts:g}},B){const d=g.unicodeRegExp?"u":"",{regExp:k}=g.code,v=k(B,d);return m.scopeValue("pattern",{key:v.toString(),ref:v,code:(0,u._)`${k.code==="new RegExp"?y:(0,i.useFunc)(m,k)}(${B}, ${d})`})}Bu.usePattern=f;function A(m){const{gen:g,data:B,keyword:d,it:k}=m,v=g.name("valid");if(k.allErrors){const M=g.let("valid",!0);return j(()=>g.assign(M,!1)),M}return g.var(v,!0),j(()=>g.break()),v;function j(M){const T=g.const("len",(0,u._)`${B}.length`);g.forRange("i",0,T,G=>{m.subschema({keyword:d,dataProp:G,dataPropType:e.Type.Num},v),g.if((0,u.not)(v),M)})}}Bu.validateArray=A;function h(m){const{gen:g,schema:B,keyword:d,parentSchema:k,it:v}=m;if(!Array.isArray(B))throw new Error("ajv implementation error");if(v.opts.discriminator&&k.discriminator||B.some(G=>(0,e.alwaysValidSchema)(v,G))&&!v.opts.unevaluated)return;const M=g.let("valid",!1),T=g.name("_valid");g.block(()=>B.forEach((G,_)=>{const L=m.subschema({keyword:d,schemaProp:_,compositeRule:!0},T);g.assign(M,(0,u._)`${M} || ${T}`),m.mergeValidEvaluated(L,T)||g.if((0,u.not)(M))})),m.result(M,()=>m.reset(),()=>m.error(!0))}return Bu.validateUnion=h,Bu}var fn;function SY(){if(fn)return Ju;fn=1,Object.defineProperty(Ju,"__esModule",{value:!0}),Ju.validateKeywordUsage=Ju.validSchemaType=Ju.funcKeywordCode=Ju.macroKeywordCode=void 0;const u=du(),e=Zu(),a=Uu(),i=Pa();function r(c,F){const{gen:y,keyword:f,schema:A,parentSchema:h,it:m}=c,g=F.macro.call(m.self,A,h,m),B=l(y,f,g);m.opts.validateSchema!==!1&&m.self.validateSchema(g,!0);const d=y.name("valid");c.subschema({schema:g,schemaPath:u.nil,errSchemaPath:`${m.errSchemaPath}/${f}`,topSchemaRef:B,compositeRule:!0},d),c.pass(d,()=>c.error(!0))}Ju.macroKeywordCode=r;function o(c,F){var y;const{gen:f,keyword:A,schema:h,parentSchema:m,$data:g,it:B}=c;s(B,F);const d=!g&&F.compile?F.compile.call(B.self,h,m,B):F.validate,k=l(f,A,d),v=f.let("valid");c.block$data(v,j),c.ok((y=F.valid)!==null&&y!==void 0?y:v);function j(){if(F.errors===!1)G(),F.modifying&&n(c),_(()=>c.error());else{const L=F.async?M():T();F.modifying&&n(c),_(()=>t(c,L))}}function M(){const L=f.let("ruleErrs",null);return f.try(()=>G((0,u._)`await `),Z=>f.assign(v,!1).if((0,u._)`${Z} instanceof ${B.ValidationError}`,()=>f.assign(L,(0,u._)`${Z}.errors`),()=>f.throw(Z))),L}function T(){const L=(0,u._)`${k}.errors`;return f.assign(L,null),G(u.nil),L}function G(L=F.async?(0,u._)`await `:u.nil){const Z=B.opts.passContext?e.default.this:e.default.self,X=!("compile"in F&&!g||F.schema===!1);f.assign(v,(0,u._)`${L}${(0,a.callValidateCode)(c,k,Z,X)}`,F.modifying)}function _(L){var Z;f.if((0,u.not)((Z=F.valid)!==null&&Z!==void 0?Z:v),L)}}Ju.funcKeywordCode=o;function n(c){const{gen:F,data:y,it:f}=c;F.if(f.parentData,()=>F.assign(y,(0,u._)`${f.parentData}[${f.parentDataProperty}]`))}function t(c,F){const{gen:y}=c;y.if((0,u._)`Array.isArray(${F})`,()=>{y.assign(e.default.vErrors,(0,u._)`${e.default.vErrors} === null ? ${F} : ${e.default.vErrors}.concat(${F})`).assign(e.default.errors,(0,u._)`${e.default.vErrors}.length`),(0,i.extendErrors)(c)},()=>c.error())}function s({schemaEnv:c},F){if(F.async&&!c.$async)throw new Error("async keyword in sync schema")}function l(c,F,y){if(y===void 0)throw new Error(`keyword "${F}" failed to compile`);return c.scopeValue("keyword",typeof y=="function"?{ref:y}:{ref:y,code:(0,u.stringify)(y)})}function E(c,F,y=!1){return!F.length||F.some(f=>f==="array"?Array.isArray(c):f==="object"?c&&typeof c=="object"&&!Array.isArray(c):typeof c==f||y&&typeof c>"u")}Ju.validSchemaType=E;function D({schema:c,opts:F,self:y,errSchemaPath:f},A,h){if(Array.isArray(A.keyword)?!A.keyword.includes(h):A.keyword!==h)throw new Error("ajv implementation error");const m=A.dependencies;if(m?.some(g=>!Object.prototype.hasOwnProperty.call(c,g)))throw new Error(`parent schema must have dependencies of ${h}: ${m.join(",")}`);if(A.validateSchema&&!A.validateSchema(c[h])){const B=`keyword "${h}" value is invalid at path "${f}": `+y.errorsText(A.validateSchema.errors);if(F.validateSchema==="log")y.logger.error(B);else throw new Error(B)}}return Ju.validateKeywordUsage=D,Ju}var o0={},yn;function jY(){if(yn)return o0;yn=1,Object.defineProperty(o0,"__esModule",{value:!0}),o0.extendSubschemaMode=o0.extendSubschemaData=o0.getSubschema=void 0;const u=du(),e=pu();function a(o,{keyword:n,schemaProp:t,schema:s,schemaPath:l,errSchemaPath:E,topSchemaRef:D}){if(n!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(n!==void 0){const c=o.schema[n];return t===void 0?{schema:c,schemaPath:(0,u._)`${o.schemaPath}${(0,u.getProperty)(n)}`,errSchemaPath:`${o.errSchemaPath}/${n}`}:{schema:c[t],schemaPath:(0,u._)`${o.schemaPath}${(0,u.getProperty)(n)}${(0,u.getProperty)(t)}`,errSchemaPath:`${o.errSchemaPath}/${n}/${(0,e.escapeFragment)(t)}`}}if(s!==void 0){if(l===void 0||E===void 0||D===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:l,topSchemaRef:D,errSchemaPath:E}}throw new Error('either "keyword" or "schema" must be passed')}o0.getSubschema=a;function i(o,n,{dataProp:t,dataPropType:s,data:l,dataTypes:E,propertyName:D}){if(l!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:c}=n;if(t!==void 0){const{errorPath:y,dataPathArr:f,opts:A}=n,h=c.let("data",(0,u._)`${n.data}${(0,u.getProperty)(t)}`,!0);F(h),o.errorPath=(0,u.str)`${y}${(0,e.getErrorPath)(t,s,A.jsPropertySyntax)}`,o.parentDataProperty=(0,u._)`${t}`,o.dataPathArr=[...f,o.parentDataProperty]}if(l!==void 0){const y=l instanceof u.Name?l:c.let("data",l,!0);F(y),D!==void 0&&(o.propertyName=D)}E&&(o.dataTypes=E);function F(y){o.data=y,o.dataLevel=n.dataLevel+1,o.dataTypes=[],n.definedProperties=new Set,o.parentData=n.data,o.dataNames=[...n.dataNames,y]}}o0.extendSubschemaData=i;function r(o,{jtdDiscriminator:n,jtdMetadata:t,compositeRule:s,createErrors:l,allErrors:E}){s!==void 0&&(o.compositeRule=s),l!==void 0&&(o.createErrors=l),E!==void 0&&(o.allErrors=E),o.jtdDiscriminator=n,o.jtdMetadata=t}return o0.extendSubschemaMode=r,o0}var Hu={},zn;function wa(){if(zn)return Hu;zn=1,Object.defineProperty(Hu,"__esModule",{value:!0}),Hu.getSchemaRefs=Hu.resolveUrl=Hu.normalizeId=Hu._getFullPath=Hu.getFullPath=Hu.inlineRef=void 0;const u=pu(),e=au.requireFastDeepEqual(),a=au.requireJsonSchemaTraverse(),i=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function r(f,A=!0){return typeof f=="boolean"?!0:A===!0?!n(f):A?t(f)<=A:!1}Hu.inlineRef=r;const o=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function n(f){for(const A in f){if(o.has(A))return!0;const h=f[A];if(Array.isArray(h)&&h.some(n)||typeof h=="object"&&n(h))return!0}return!1}function t(f){let A=0;for(const h in f){if(h==="$ref")return 1/0;if(A++,!i.has(h)&&(typeof f[h]=="object"&&(0,u.eachItem)(f[h],m=>A+=t(m)),A===1/0))return 1/0}return A}function s(f,A="",h){h!==!1&&(A=D(A));const m=f.parse(A);return l(f,m)}Hu.getFullPath=s;function l(f,A){return f.serialize(A).split("#")[0]+"#"}Hu._getFullPath=l;const E=/#\/?$/;function D(f){return f?f.replace(E,""):""}Hu.normalizeId=D;function c(f,A,h){return h=D(h),f.resolve(A,h)}Hu.resolveUrl=c;const F=/^[a-z_][-a-z0-9._]*$/i;function y(f,A){if(typeof f=="boolean")return{};const{schemaId:h,uriResolver:m}=this.opts,g=D(f[h]||A),B={"":g},d=s(m,g,!1),k={},v=new Set;return a(f,{allKeys:!0},(T,G,_,L)=>{if(L===void 0)return;const Z=d+G;let X=B[L];typeof T[h]=="string"&&(X=lu.call(this,T[h])),mu.call(this,T.$anchor),mu.call(this,T.$dynamicAnchor),B[G]=X;function lu(tu){const Fu=this.opts.uriResolver.resolve;if(tu=D(X?Fu(X,tu):tu),v.has(tu))throw M(tu);v.add(tu);let q=this.refs[tu];return typeof q=="string"&&(q=this.refs[q]),typeof q=="object"?j(T,q.schema,tu):tu!==D(Z)&&(tu[0]==="#"?(j(T,k[tu],tu),k[tu]=T):this.refs[tu]=Z),tu}function mu(tu){if(typeof tu=="string"){if(!F.test(tu))throw new Error(`invalid anchor "${tu}"`);lu.call(this,`#${tu}`)}}}),k;function j(T,G,_){if(G!==void 0&&!e(T,G))throw M(_)}function M(T){return new Error(`reference "${T}" resolves to more than one schema`)}}return Hu.getSchemaRefs=y,Hu}var Sn;function Ka(){if(Sn)return r0;Sn=1,Object.defineProperty(r0,"__esModule",{value:!0}),r0.getData=r0.KeywordCxt=r0.validateFunctionCode=void 0;const u=yY(),e=fa(),a=V4(),i=fa(),r=zY(),o=SY(),n=jY(),t=du(),s=Zu(),l=wa(),E=pu(),D=Pa();function c(w){if(d(w)&&(v(w),B(w))){A(w);return}F(w,()=>(0,u.topBoolOrEmptySchema)(w))}r0.validateFunctionCode=c;function F({gen:w,validateName:K,schema:$,schemaEnv:U,opts:ru},Du){ru.code.es5?w.func(K,(0,t._)`${s.default.data}, ${s.default.valCxt}`,U.$async,()=>{w.code((0,t._)`"use strict"; ${m($,ru)}`),f(w,ru),w.code(Du)}):w.func(K,(0,t._)`${s.default.data}, ${y(ru)}`,U.$async,()=>w.code(m($,ru)).code(Du))}function y(w){return(0,t._)`{${s.default.instancePath}="", ${s.default.parentData}, ${s.default.parentDataProperty}, ${s.default.rootData}=${s.default.data}${w.dynamicRef?(0,t._)`, ${s.default.dynamicAnchors}={}`:t.nil}, ${s.default.isAllOfVariant} = 0}={}`}function f(w,K){w.if(s.default.valCxt,()=>{w.var(s.default.instancePath,(0,t._)`${s.default.valCxt}.${s.default.instancePath}`),w.var(s.default.parentData,(0,t._)`${s.default.valCxt}.${s.default.parentData}`),w.var(s.default.parentDataProperty,(0,t._)`${s.default.valCxt}.${s.default.parentDataProperty}`),w.var(s.default.rootData,(0,t._)`${s.default.valCxt}.${s.default.rootData}`),w.var(s.default.isAllOfVariant,(0,t._)`${s.default.valCxt}.${s.default.isAllOfVariant}`),K.dynamicRef&&w.var(s.default.dynamicAnchors,(0,t._)`${s.default.valCxt}.${s.default.dynamicAnchors}`)},()=>{w.var(s.default.instancePath,(0,t._)`""`),w.var(s.default.parentData,(0,t._)`undefined`),w.var(s.default.parentDataProperty,(0,t._)`undefined`),w.var(s.default.rootData,s.default.data),w.var(s.default.isAllOfVariant,(0,t._)`0`),K.dynamicRef&&w.var(s.default.dynamicAnchors,(0,t._)`{}`)})}function A(w){const{schema:K,opts:$,gen:U}=w;F(w,()=>{$.$comment&&K.$comment&&L(w),T(w),U.let(s.default.vErrors,null),U.let(s.default.errors,0),$.unevaluated&&h(w),j(w),Z(w)})}function h(w){const{gen:K,validateName:$}=w;w.evaluated=K.const("evaluated",(0,t._)`${$}.evaluated`),K.if((0,t._)`${w.evaluated}.dynamicProps`,()=>K.assign((0,t._)`${w.evaluated}.props`,(0,t._)`undefined`)),K.if((0,t._)`${w.evaluated}.dynamicItems`,()=>K.assign((0,t._)`${w.evaluated}.items`,(0,t._)`undefined`))}function m(w,K){const $=typeof w=="object"&&w[K.schemaId];return $&&(K.code.source||K.code.process)?(0,t._)`/*# sourceURL=${$} */`:t.nil}function g(w,K){if(d(w)&&(v(w),B(w))){k(w,K);return}(0,u.boolOrEmptySchema)(w,K)}function B({schema:w,self:K}){if(typeof w=="boolean")return!w;for(const $ in w)if(K.RULES.all[$])return!0;return!1}function d(w){return typeof w.schema!="boolean"}function k(w,K){const{schema:$,gen:U,opts:ru}=w;ru.$comment&&$.$comment&&L(w),G(w),_(w);const Du=U.const("_errs",s.default.errors);j(w,Du),U.var(K,(0,t._)`${Du} === ${s.default.errors}`)}function v(w){(0,E.checkUnknownRules)(w),M(w)}function j(w,K){if(w.opts.jtd)return lu(w,[],!1,K);const $=(0,e.getSchemaTypes)(w.schema),U=(0,e.coerceAndCheckDataType)(w,$);lu(w,$,!U,K)}function M(w){const{schema:K,errSchemaPath:$,opts:U,self:ru}=w;K.$ref&&U.ignoreKeywordsWithRef&&(0,E.schemaHasRulesButRef)(K,ru.RULES)&&ru.logger.warn(`$ref: keywords ignored in schema at path "${$}"`)}function T(w){const{schema:K,opts:$}=w;K.default!==void 0&&$.useDefaults&&$.strictSchema&&(0,E.checkStrictMode)(w,"default is ignored in the schema root")}function G(w){const K=w.schema[w.opts.schemaId];K&&(w.baseId=(0,l.resolveUrl)(w.opts.uriResolver,w.baseId,K))}function _(w){if(w.schema.$async&&!w.schemaEnv.$async)throw new Error("async schema in sync schema")}function L({gen:w,schemaEnv:K,schema:$,errSchemaPath:U,opts:ru}){const Du=$.$comment;if(ru.$comment===!0)w.code((0,t._)`${s.default.self}.logger.log(${Du})`);else if(typeof ru.$comment=="function"){const Cu=(0,t.str)`${U}/$comment`,vu=w.scopeValue("root",{ref:K.root});w.code((0,t._)`${s.default.self}.opts.$comment(${Du}, ${Cu}, ${vu}.schema)`)}}function Z(w){const{gen:K,schemaEnv:$,validateName:U,ValidationError:ru,opts:Du}=w;$.$async?K.if((0,t._)`${s.default.errors} === 0`,()=>K.return(s.default.data),()=>K.throw((0,t._)`new ${ru}(${s.default.vErrors})`)):(K.assign((0,t._)`${U}.errors`,s.default.vErrors),Du.unevaluated&&X(w),K.return((0,t._)`${s.default.errors} === 0`))}function X({gen:w,evaluated:K,props:$,items:U}){$ instanceof t.Name&&w.assign((0,t._)`${K}.props`,$),U instanceof t.Name&&w.assign((0,t._)`${K}.items`,U)}function lu(w,K,$,U){const{gen:ru,schema:Du,data:Cu,allErrors:vu,opts:yu,self:xu}=w,{RULES:V}=xu;if(Du.$ref&&(yu.ignoreKeywordsWithRef||!(0,E.schemaHasRulesButRef)(Du,V))){ru.block(()=>O(w,"$ref",V.all.$ref.definition));return}yu.jtd||tu(w,K),ru.block(()=>{for(const nu of V.rules)W(nu);W(V.post)});function W(nu){(0,a.shouldUseGroup)(Du,nu)&&(nu.type?(ru.if((0,i.checkDataType)(nu.type,Cu,yu.strictNumbers)),mu(w,nu),K.length===1&&K[0]===nu.type&&$&&(ru.else(),(0,i.reportTypeError)(w)),ru.endIf()):mu(w,nu),vu||ru.if((0,t._)`${s.default.errors} === ${U||0}`))}}function mu(w,K){const{gen:$,schema:U,opts:{useDefaults:ru}}=w;ru&&(0,r.assignDefaults)(w,K.type),$.block(()=>{for(const Cu of K.rules)((0,a.shouldUseRule)(U,Cu)||Du(U,Cu))&&O(w,Cu.keyword,Cu.definition,K.type)});function Du(Cu,vu){return!!(vu.keyword==="unevaluatedProperties"&&(Cu.properties||Cu.patternProperties)&&!w.isAllOfVariant&&w.opts.defaultUnevaluatedProperties===!1)}}function tu(w,K){w.schemaEnv.meta||!w.opts.strictTypes||(Fu(w,K),w.opts.allowUnionTypes||q(w,K),N(w,w.dataTypes))}function Fu(w,K){if(K.length){if(!w.dataTypes.length){w.dataTypes=K;return}K.forEach($=>{H(w.dataTypes,$)||z(w,`type "${$}" not allowed by context "${w.dataTypes.join(",")}"`)}),C(w,K)}}function q(w,K){K.length>1&&!(K.length===2&&K.includes("null"))&&z(w,"use allowUnionTypes to allow union type keyword")}function N(w,K){const $=w.self.RULES.all;for(const U in $){const ru=$[U];if(typeof ru=="object"&&(0,a.shouldUseRule)(w.schema,ru)){const{type:Du}=ru.definition;Du.length&&!Du.some(Cu=>I(K,Cu))&&z(w,`missing type "${Du.join(",")}" for keyword "${U}"`)}}}function I(w,K){return w.includes(K)||K==="number"&&w.includes("integer")}function H(w,K){return w.includes(K)||K==="integer"&&w.includes("number")}function C(w,K){const $=[];for(const U of w.dataTypes)H(K,U)?$.push(U):K.includes("integer")&&U==="number"&&$.push("integer");w.dataTypes=$}function z(w,K){const $=w.schemaEnv.baseId+w.errSchemaPath;K+=` at "${$}" (strictTypes)`,(0,E.checkStrictMode)(w,K,w.opts.strictTypes)}class P{constructor(K,$,U){if((0,o.validateKeywordUsage)(K,$,U),this.gen=K.gen,this.allErrors=K.allErrors,this.keyword=U,this.data=K.data,this.schema=K.schema[U],this.$data=$.$data&&K.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,E.schemaRefOrVal)(K,this.schema,U,this.$data),this.schemaType=$.schemaType,this.parentSchema=K.schema,this.params={},this.it=K,this.def=$,this.$data)this.schemaCode=K.gen.const("vSchema",iu(this.$data,K));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,$.schemaType,$.allowUndefined))throw new Error(`${U} value must be ${JSON.stringify($.schemaType)}`);("code"in $?$.trackErrors:$.errors!==!1)&&(this.errsCount=K.gen.const("_errs",s.default.errors))}result(K,$,U){this.failResult((0,t.not)(K),$,U)}failResult(K,$,U){this.gen.if(K),U?U():this.error(),$?(this.gen.else(),$(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(K,$){this.failResult((0,t.not)(K),void 0,$)}fail(K){if(K===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(K),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(K){if(!this.$data)return this.fail(K);const{schemaCode:$}=this;this.fail((0,t._)`${$} !== undefined && (${(0,t.or)(this.invalid$data(),K)})`)}error(K,$,U){if($){this.setParams($),this._error(K,U),this.setParams({});return}this._error(K,U)}_error(K,$){(K?D.reportExtraError:D.reportError)(this,this.def.error,$)}$dataError(){(0,D.reportError)(this,this.def.$dataError||D.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,D.resetErrorsCount)(this.gen,this.errsCount)}ok(K){this.allErrors||this.gen.if(K)}setParams(K,$){$?Object.assign(this.params,K):this.params=K}block$data(K,$,U=t.nil){this.gen.block(()=>{this.check$data(K,U),$()})}check$data(K=t.nil,$=t.nil){if(!this.$data)return;const{gen:U,schemaCode:ru,schemaType:Du,def:Cu}=this;U.if((0,t.or)((0,t._)`${ru} === undefined`,$)),K!==t.nil&&U.assign(K,!0),(Du.length||Cu.validateSchema)&&(U.elseIf(this.invalid$data()),this.$dataError(),K!==t.nil&&U.assign(K,!1)),U.else()}invalid$data(){const{gen:K,schemaCode:$,schemaType:U,def:ru,it:Du}=this;return(0,t.or)(Cu(),vu());function Cu(){if(U.length){if(!($ instanceof t.Name))throw new Error("ajv implementation error");const yu=Array.isArray(U)?U:[U];return(0,t._)`${(0,i.checkDataTypes)(yu,$,Du.opts.strictNumbers,i.DataType.Wrong)}`}return t.nil}function vu(){if(ru.validateSchema){const yu=K.scopeValue("validate$data",{ref:ru.validateSchema});return(0,t._)`!${yu}(${$})`}return t.nil}}subschema(K,$,U){const ru=(0,n.getSubschema)(this.it,K);(0,n.extendSubschemaData)(ru,this.it,K),(0,n.extendSubschemaMode)(ru,K);const Du={...this.it,...ru,items:void 0,props:void 0,isAllOfVariant:U};return g(Du,$),Du}mergeEvaluated(K,$){const{it:U,gen:ru}=this;U.opts.unevaluated&&(U.props!==!0&&K.props!==void 0&&(U.props=E.mergeEvaluated.props(ru,K.props,U.props,$)),U.items!==!0&&K.items!==void 0&&(U.items=E.mergeEvaluated.items(ru,K.items,U.items,$)))}mergeValidEvaluated(K,$){const{it:U,gen:ru}=this;if(U.opts.unevaluated&&(U.props!==!0||U.items!==!0))return ru.if($,()=>this.mergeEvaluated(K,t.Name)),!0}}r0.KeywordCxt=P;function O(w,K,$,U){const ru=new P(w,$,K);"code"in $?$.code(ru,U):ru.$data&&$.validate?(0,o.funcKeywordCode)(ru,$):"macro"in $?(0,o.macroKeywordCode)(ru,$):($.compile||$.validate)&&(0,o.funcKeywordCode)(ru,$)}const Y=/^\/(?:[^~]|~0|~1)*$/,su=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function iu(w,{dataLevel:K,dataNames:$,dataPathArr:U}){let ru,Du;if(w==="")return s.default.rootData;if(w[0]==="/"){if(!Y.test(w))throw new Error(`Invalid JSON-pointer: ${w}`);ru=w,Du=s.default.rootData}else{const xu=su.exec(w);if(!xu)throw new Error(`Invalid JSON-pointer: ${w}`);const V=+xu[1];if(ru=xu[2],ru==="#"){if(V>=K)throw new Error(yu("property/index",V));return U[K-V]}if(V>K)throw new Error(yu("data",V));if(Du=$[K-V],!ru)return Du}let Cu=Du;const vu=ru.split("/");for(const xu of vu)xu&&(Du=(0,t._)`${Du}${(0,t.getProperty)((0,E.unescapeJsonPointer)(xu))}`,Cu=(0,t._)`${Cu} && ${Du}`);return Cu;function yu(xu,V){return`Cannot access ${xu} ${V} levels up, current level is ${K}`}}return r0.getData=iu,r0}var Ce={},jn;function Gi(){if(jn)return Ce;jn=1,Object.defineProperty(Ce,"__esModule",{value:!0});class u extends Error{constructor(a){super("validation failed"),this.errors=a,this.ajv=this.validation=!0}}return Ce.default=u,Ce}var ve={},Mn;function Ta(){if(Mn)return ve;Mn=1,Object.defineProperty(ve,"__esModule",{value:!0});const u=wa();class e extends Error{constructor(i,r,o,n){super(n||`can't resolve reference ${o} from id ${r}`),this.missingRef=(0,u.resolveUrl)(i,r,o),this.missingSchema=(0,u.normalizeId)((0,u.getFullPath)(i,this.missingRef))}}return ve.default=e,ve}var Vu={},Pn;function La(){if(Pn)return Vu;Pn=1,Object.defineProperty(Vu,"__esModule",{value:!0}),Vu.resolveSchema=Vu.getCompilingSchema=Vu.resolveRef=Vu.compileSchema=Vu.SchemaEnv=void 0;const u=du(),e=Gi(),a=Zu(),i=wa(),r=pu(),o=Ka();class n{constructor(h){var m;this.refs={},this.dynamicAnchors={};let g;typeof h.schema=="object"&&(g=h.schema),this.schema=h.schema,this.schemaId=h.schemaId,this.root=h.root||this,this.baseId=(m=h.baseId)!==null&&m!==void 0?m:(0,i.normalizeId)(g?.[h.schemaId||"$id"]),this.schemaPath=h.schemaPath,this.localRefs=h.localRefs,this.meta=h.meta,this.$async=g?.$async,this.refs={}}}Vu.SchemaEnv=n;function t(A){const h=E.call(this,A);if(h)return h;const m=(0,i.getFullPath)(this.opts.uriResolver,A.root.baseId),{es5:g,lines:B}=this.opts.code,{ownProperties:d}=this.opts,k=new u.CodeGen(this.scope,{es5:g,lines:B,ownProperties:d});let v;A.$async&&(v=k.scopeValue("Error",{ref:e.default,code:(0,u._)`require("ajv/dist/runtime/validation_error").default`}));const j=k.scopeName("validate");A.validateName=j;const M={gen:k,allErrors:this.opts.allErrors,data:a.default.data,parentData:a.default.parentData,parentDataProperty:a.default.parentDataProperty,dataNames:[a.default.data],dataPathArr:[u.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:k.scopeValue("schema",this.opts.code.source===!0?{ref:A.schema,code:(0,u.stringify)(A.schema)}:{ref:A.schema}),validateName:j,ValidationError:v,schema:A.schema,schemaEnv:A,rootId:m,baseId:A.baseId||m,schemaPath:u.nil,errSchemaPath:A.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,u._)`""`,opts:this.opts,self:this};let T;try{this._compilations.add(A),(0,o.validateFunctionCode)(M),k.optimize(this.opts.code.optimize);const G=k.toString();T=`const visitedNodesForRef = new WeakMap(); ${k.scopeRefs(a.default.scope)}return ${G}`,this.opts.code.process&&(T=this.opts.code.process(T,A));const L=new Function(`${a.default.self}`,`${a.default.scope}`,T)(this,this.scope.get());if(this.scope.value(j,{ref:L}),L.errors=null,L.schema=A.schema,L.schemaEnv=A,A.$async&&(L.$async=!0),this.opts.code.source===!0&&(L.source={validateName:j,validateCode:G,scopeValues:k._values}),this.opts.unevaluated){const{props:Z,items:X}=M;L.evaluated={props:Z instanceof u.Name?void 0:Z,items:X instanceof u.Name?void 0:X,dynamicProps:Z instanceof u.Name,dynamicItems:X instanceof u.Name},L.source&&(L.source.evaluated=(0,u.stringify)(L.evaluated))}return A.validate=L,A}catch(G){throw delete A.validate,delete A.validateName,T&&this.logger.error("Error compiling schema, function code:",T),G}finally{this._compilations.delete(A)}}Vu.compileSchema=t;function s(A,h,m){var g;const B=(0,i.resolveUrl)(this.opts.uriResolver,h,m),d=A.refs[B];if(d)return d;let k=c.call(this,A,B);if(k===void 0){const v=(g=A.localRefs)===null||g===void 0?void 0:g[B],{schemaId:j}=this.opts;v&&(k=new n({schema:v,schemaId:j,root:A,baseId:h}))}if(k===void 0&&this.opts.loadSchemaSync){const v=this.opts.loadSchemaSync(h,m,B);v&&!(this.refs[B]||this.schemas[B])&&(this.addSchema(v,B,void 0),k=c.call(this,A,B))}if(k!==void 0)return A.refs[B]=l.call(this,k)}Vu.resolveRef=s;function l(A){return(0,i.inlineRef)(A.schema,this.opts.inlineRefs)?A.schema:A.validate?A:t.call(this,A)}function E(A){for(const h of this._compilations)if(D(h,A))return h}Vu.getCompilingSchema=E;function D(A,h){return A.schema===h.schema&&A.root===h.root&&A.baseId===h.baseId}function c(A,h){let m;for(;typeof(m=this.refs[h])=="string";)h=m;return m||this.schemas[h]||F.call(this,A,h)}function F(A,h){const m=this.opts.uriResolver.parse(h),g=(0,i._getFullPath)(this.opts.uriResolver,m);let B=(0,i.getFullPath)(this.opts.uriResolver,A.baseId,void 0);if(Object.keys(A.schema).length>0&&g===B)return f.call(this,m,A);const d=(0,i.normalizeId)(g),k=this.refs[d]||this.schemas[d];if(typeof k=="string"){const v=F.call(this,A,k);return typeof v?.schema!="object"?void 0:f.call(this,m,v)}if(typeof k?.schema=="object"){if(k.validate||t.call(this,k),d===(0,i.normalizeId)(h)){const{schema:v}=k,{schemaId:j}=this.opts,M=v[j];return M&&(B=(0,i.resolveUrl)(this.opts.uriResolver,B,M)),new n({schema:v,schemaId:j,root:A,baseId:B})}return f.call(this,m,k)}}Vu.resolveSchema=F;const y=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function f(A,{baseId:h,schema:m,root:g}){var B;if(((B=A.fragment)===null||B===void 0?void 0:B[0])!=="/")return;for(const v of A.fragment.slice(1).split("/")){if(typeof m=="boolean")return;const j=m[(0,r.unescapeFragment)(v)];if(j===void 0)return;m=j;const M=typeof m=="object"&&m[this.opts.schemaId];!y.has(v)&&M&&(h=(0,i.resolveUrl)(this.opts.uriResolver,h,M))}let d;if(typeof m!="boolean"&&m.$ref&&!(0,r.schemaHasRulesButRef)(m,this.RULES)){const v=(0,i.resolveUrl)(this.opts.uriResolver,h,m.$ref);d=F.call(this,g,v)}const{schemaId:k}=this.opts;if(d=d||new n({schema:m,schemaId:k,root:g,baseId:h}),d.schema!==d.root.schema)return d}return Vu}const MY="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",PY="Meta-schema for $data reference (JSON AnySchema extension proposal)",wY="object",KY=["$data"],TY={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},LY=!1,NY={$id:MY,description:PY,type:wY,required:KY,properties:TY,additionalProperties:LY};var be={},wn;function RY(){if(wn)return be;wn=1,Object.defineProperty(be,"__esModule",{value:!0});const u=au.requireFastUri();return u.code='require("ajv/dist/runtime/uri").default',be.default=u,be}var Kn;function HY(){return Kn||(Kn=1,(function(u){Object.defineProperty(u,"__esModule",{value:!0}),u.CodeGen=u.Name=u.nil=u.stringify=u.str=u._=u.KeywordCxt=void 0;var e=Ka();Object.defineProperty(u,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var a=du();Object.defineProperty(u,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(u,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(u,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(u,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(u,"Name",{enumerable:!0,get:function(){return a.Name}}),Object.defineProperty(u,"CodeGen",{enumerable:!0,get:function(){return a.CodeGen}});const i=Gi(),r=Ta(),o=_4(),n=La(),t=du(),s=wa(),l=fa(),E=pu(),D=NY,c=RY(),F=(q,N)=>new RegExp(q,N);F.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes","defaultUnevaluatedProperties","defaultAdditionalProperties"],f=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),A={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},h={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},m=200;function g(q){var N,I,H,C,z,P,O,Y,su,iu,w,K,$,U,ru,Du,Cu,vu,yu,xu,V,W,nu,hu,Nu;const e0=q.strict,V0=(N=q.code)===null||N===void 0?void 0:N.optimize,$0=V0===!0||V0===void 0?1:V0||0,J0=(H=(I=q.code)===null||I===void 0?void 0:I.regExp)!==null&&H!==void 0?H:F,se=(C=q.uriResolver)!==null&&C!==void 0?C:c.default;return{strictSchema:(P=(z=q.strictSchema)!==null&&z!==void 0?z:e0)!==null&&P!==void 0?P:!0,strictNumbers:(Y=(O=q.strictNumbers)!==null&&O!==void 0?O:e0)!==null&&Y!==void 0?Y:!0,strictTypes:(iu=(su=q.strictTypes)!==null&&su!==void 0?su:e0)!==null&&iu!==void 0?iu:"log",strictTuples:(K=(w=q.strictTuples)!==null&&w!==void 0?w:e0)!==null&&K!==void 0?K:"log",strictRequired:(U=($=q.strictRequired)!==null&&$!==void 0?$:e0)!==null&&U!==void 0?U:!1,code:q.code?{...q.code,optimize:$0,regExp:J0}:{optimize:$0,regExp:J0},loopRequired:(ru=q.loopRequired)!==null&&ru!==void 0?ru:m,loopEnum:(Du=q.loopEnum)!==null&&Du!==void 0?Du:m,meta:(Cu=q.meta)!==null&&Cu!==void 0?Cu:!0,messages:(vu=q.messages)!==null&&vu!==void 0?vu:!0,inlineRefs:(yu=q.inlineRefs)!==null&&yu!==void 0?yu:!0,schemaId:(xu=q.schemaId)!==null&&xu!==void 0?xu:"$id",addUsedSchema:(V=q.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(W=q.validateSchema)!==null&&W!==void 0?W:!0,validateFormats:(nu=q.validateFormats)!==null&&nu!==void 0?nu:!0,unicodeRegExp:(hu=q.unicodeRegExp)!==null&&hu!==void 0?hu:!0,int32range:(Nu=q.int32range)!==null&&Nu!==void 0?Nu:!0,uriResolver:se}}class B{constructor(N={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,N=this.opts={...N,...g(N)};const{es5:I,lines:H}=this.opts.code;this.scope=new t.ValueScope({scope:{},prefixes:f,es5:I,lines:H}),this.logger=_(N.logger);const C=N.validateFormats;N.validateFormats=!1,this.RULES=(0,o.getRules)(),d.call(this,A,N,"NOT SUPPORTED"),d.call(this,h,N,"DEPRECATED","warn"),this._metaOpts=T.call(this),N.formats&&j.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),N.keywords&&M.call(this,N.keywords),typeof N.meta=="object"&&this.addMetaSchema(N.meta),v.call(this),N.validateFormats=C}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:N,meta:I,schemaId:H}=this.opts;let C=D;H==="id"&&(C={...D},C.id=C.$id,delete C.$id),I&&N&&this.addMetaSchema(C,C[H],!1)}defaultMeta(){const{meta:N,schemaId:I}=this.opts;return this.opts.defaultMeta=typeof N=="object"?N[I]||N:void 0}validate(N,I){let H;if(typeof N=="string"){if(H=this.getSchema(N),!H)throw new Error(`no schema with key or ref "${N}"`)}else H=this.compile(N);const C=H(I);return"$async"in H||(this.errors=H.errors),C}compile(N,I){const H=this._addSchema(N,I);return H.validate||this._compileSchemaEnv(H)}compileAsync(N,I){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:H}=this.opts;return C.call(this,N,I);async function C(iu,w){await z.call(this,iu.$schema);const K=this._addSchema(iu,w);return K.validate||P.call(this,K)}async function z(iu){iu&&!this.getSchema(iu)&&await C.call(this,{$ref:iu},!0)}async function P(iu){try{return this._compileSchemaEnv(iu)}catch(w){if(!(w instanceof r.default))throw w;return O.call(this,w),await Y.call(this,w.missingSchema),P.call(this,iu)}}function O({missingSchema:iu,missingRef:w}){if(this.refs[iu])throw new Error(`AnySchema ${iu} is loaded but ${w} cannot be resolved`)}async function Y(iu){const w=await su.call(this,iu);this.refs[iu]||await z.call(this,w.$schema),this.refs[iu]||this.addSchema(w,iu,I)}async function su(iu){const w=this._loading[iu];if(w)return w;try{return await(this._loading[iu]=H(iu))}finally{delete this._loading[iu]}}}addSchema(N,I,H,C=this.opts.validateSchema){if(Array.isArray(N)){for(const P of N)this.addSchema(P,void 0,H,C);return this}let z;if(typeof N=="object"){const{schemaId:P}=this.opts;if(z=N[P],z!==void 0&&typeof z!="string")throw new Error(`schema ${P} must be string`)}return I=(0,s.normalizeId)(I||z),this._checkUnique(I),this.schemas[I]=this._addSchema(N,H,I,C,!0),this}addMetaSchema(N,I,H=this.opts.validateSchema){return this.addSchema(N,I,!0,H),this}validateSchema(N,I){if(typeof N=="boolean")return!0;let H;if(H=N.$schema,H!==void 0&&typeof H!="string")throw new Error("$schema must be a string");if(H=H||this.opts.defaultMeta||this.defaultMeta(),!H)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const C=this.validate(H,N);if(!C&&I){const z="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(z);else throw new Error(z)}return C}getSchema(N){let I;for(;typeof(I=k.call(this,N))=="string";)N=I;if(I===void 0){const{schemaId:H}=this.opts,C=new n.SchemaEnv({schema:{},schemaId:H});if(I=n.resolveSchema.call(this,C,N),!I)return;this.refs[N]=I}return I.validate||this._compileSchemaEnv(I)}removeSchema(N){if(N instanceof RegExp)return this._removeAllSchemas(this.schemas,N),this._removeAllSchemas(this.refs,N),this;switch(typeof N){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const I=k.call(this,N);return typeof I=="object"&&this._cache.delete(I.schema),delete this.schemas[N],delete this.refs[N],this}case"object":{const I=N;this._cache.delete(I);let H=N[this.opts.schemaId];return H&&(H=(0,s.normalizeId)(H),delete this.schemas[H],delete this.refs[H]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(N){for(const I of N)this.addKeyword(I);return this}addKeyword(N,I){let H;if(typeof N=="string")H=N,typeof I=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),I.keyword=H);else if(typeof N=="object"&&I===void 0){if(I=N,H=I.keyword,Array.isArray(H)&&!H.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Z.call(this,H,I),!I)return(0,E.eachItem)(H,z=>X.call(this,z)),this;mu.call(this,I);const C={...I,type:(0,l.getJSONTypes)(I.type),schemaType:(0,l.getJSONTypes)(I.schemaType)};return(0,E.eachItem)(H,C.type.length===0?z=>X.call(this,z,C):z=>C.type.forEach(P=>X.call(this,z,C,P))),this}getKeyword(N){const I=this.RULES.all[N];return typeof I=="object"?I.definition:!!I}removeKeyword(N){const{RULES:I}=this;delete I.keywords[N],delete I.all[N];for(const H of I.rules){const C=H.rules.findIndex(z=>z.keyword===N);C>=0&&H.rules.splice(C,1)}return this}addFormat(N,I){return typeof I=="string"&&(I=new RegExp(I)),this.formats[N]=I,this}errorsText(N=this.errors,{separator:I=", ",dataVar:H="data"}={}){return!N||N.length===0?"No errors":N.map(C=>`${H}${C.instancePath} ${C.message}`).reduce((C,z)=>C+I+z)}$dataMetaSchema(N,I){const H=this.RULES.all;N=JSON.parse(JSON.stringify(N));for(const C of I){const z=C.split("/").slice(1);let P=N;for(const O of z)P=P[O];for(const O in H){const Y=H[O];if(typeof Y!="object")continue;const{$data:su}=Y.definition,iu=P[O];su&&iu&&(P[O]=Fu(iu))}}return N}_removeAllSchemas(N,I){for(const H in N){const C=N[H];(!I||I.test(H))&&(typeof C=="string"?delete N[H]:C&&!C.meta&&(this._cache.delete(C.schema),delete N[H]))}}_addSchema(N,I,H,C=this.opts.validateSchema,z=this.opts.addUsedSchema){let P;const{schemaId:O}=this.opts;if(typeof N=="object")P=N[O];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof N!="boolean")throw new Error("schema must be object or boolean")}let Y=this._cache.get(N);if(Y!==void 0)return Y;H=(0,s.normalizeId)(P||H);const su=s.getSchemaRefs.call(this,N,H);return Y=new n.SchemaEnv({schema:N,schemaId:O,meta:I,baseId:H,localRefs:su}),this._cache.set(Y.schema,Y),z&&!H.startsWith("#")&&(H&&this._checkUnique(H),this.refs[H]=Y),C&&this.validateSchema(N,!0),Y}_checkUnique(N){if(this.schemas[N]||this.refs[N])throw new Error(`schema with key or id "${N}" already exists`)}_compileSchemaEnv(N){if(N.meta?this._compileMetaSchema(N):n.compileSchema.call(this,N),!N.validate)throw new Error("ajv implementation error");return N.validate}_compileMetaSchema(N){const I=this.opts;this.opts=this._metaOpts;try{n.compileSchema.call(this,N)}finally{this.opts=I}}}B.ValidationError=i.default,B.MissingRefError=r.default,u.default=B;function d(q,N,I,H="error"){for(const C in q){const z=C;z in N&&this.logger[H](`${I}: option ${C}. ${q[z]}`)}}function k(q){return q=(0,s.normalizeId)(q),this.schemas[q]||this.refs[q]}function v(){const q=this.opts.schemas;if(q)if(Array.isArray(q))this.addSchema(q);else for(const N in q)this.addSchema(q[N],N)}function j(){for(const q in this.opts.formats){const N=this.opts.formats[q];N&&this.addFormat(q,N)}}function M(q){if(Array.isArray(q)){this.addVocabulary(q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const N in q){const I=q[N];I.keyword||(I.keyword=N),this.addKeyword(I)}}function T(){const q={...this.opts};for(const N of y)delete q[N];return q}const G={log(){},warn(){},error(){}};function _(q){if(q===!1)return G;if(q===void 0)return console;if(q.log&&q.warn&&q.error)return q;throw new Error("logger must implement log, warn and error methods")}const L=/^[a-z_$][a-z0-9_$:-]*$/i;function Z(q,N){const{RULES:I}=this;if((0,E.eachItem)(q,H=>{if(I.keywords[H])throw new Error(`Keyword ${H} is already defined`);if(!L.test(H))throw new Error(`Keyword ${H} has invalid name`)}),!!N&&N.$data&&!("code"in N||"validate"in N))throw new Error('$data keyword must have "code" or "validate" function')}function X(q,N,I){var H;const C=N?.post;if(I&&C)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:z}=this;let P=C?z.post:z.rules.find(({type:Y})=>Y===I);if(P||(P={type:I,rules:[]},z.rules.push(P)),z.keywords[q]=!0,!N)return;const O={keyword:q,definition:{...N,type:(0,l.getJSONTypes)(N.type),schemaType:(0,l.getJSONTypes)(N.schemaType)}};N.before?lu.call(this,P,O,N.before):P.rules.push(O),z.all[q]=O,(H=N.implements)===null||H===void 0||H.forEach(Y=>this.addKeyword(Y))}function lu(q,N,I){const H=q.rules.findIndex(C=>C.keyword===I);H>=0?q.rules.splice(H,0,N):(q.rules.push(N),this.logger.warn(`rule ${I} is not defined`))}function mu(q){let{metaSchema:N}=q;N!==void 0&&(q.$data&&this.opts.$data&&(N=Fu(N)),q.validateSchema=this.compile(N,!0))}const tu={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Fu(q){return{anyOf:[q,tu]}}})(Di)),Di}var Be={},Ae={},fe={},Tn;function GY(){if(Tn)return fe;Tn=1,Object.defineProperty(fe,"__esModule",{value:!0});const u={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};return fe.default=u,fe}var E0={},Ln;function _i(){if(Ln)return E0;Ln=1,Object.defineProperty(E0,"__esModule",{value:!0}),E0.callRef=E0.getValidate=void 0;const u=Ta(),e=Uu(),a=du(),i=Zu(),r=La(),o=pu(),n={keyword:"$ref",schemaType:"string",code(l){const{gen:E,schema:D,it:c}=l,{baseId:F,schemaEnv:y,validateName:f,opts:A,self:h}=c,{root:m}=y;if((D==="#"||D==="#/")&&F===m.baseId)return B();const g=r.resolveRef.call(h,m,F,D);if(g===void 0)throw new u.default(c.opts.uriResolver,F,D);if(g instanceof r.SchemaEnv)return d(g);return k(g);function B(){if(y===m)return s(l,f,y,y.$async);const v=E.scopeValue("root",{ref:m});return s(l,(0,a._)`${v}.validate`,m,m.$async)}function d(v){const j=t(l,v);s(l,j,v,v.$async)}function k(v){const j=E.scopeValue("schema",A.code.source===!0?{ref:v,code:(0,a.stringify)(v)}:{ref:v}),M=E.name("valid"),T=l.subschema({schema:v,dataTypes:[],schemaPath:a.nil,topSchemaRef:j,errSchemaPath:D},M,c.isAllOfVariant);l.mergeEvaluated(T),l.ok(M)}}};function t(l,E){const{gen:D}=l;return E.validate?D.scopeValue("validate",{ref:E.validate}):(0,a._)`${D.scopeValue("wrapper",{ref:E})}.validate`}E0.getValidate=t;function s(l,E,D,c){const{gen:F,it:y}=l,{allErrors:f,schemaEnv:A,opts:h}=y,m=h.passContext?i.default.this:a.nil;c?g():B();function g(){if(!A.$async)throw new Error("async schema referenced by sync schema");const v=F.let("valid");F.try(()=>{F.code((0,a._)`await ${(0,e.callValidateCode)(l,E,m)}`),k(E),f||F.assign(v,!0)},j=>{F.if((0,a._)`!(${j} instanceof ${y.ValidationError})`,()=>F.throw(j)),d(j),f||F.assign(v,!1)}),l.ok(v)}function B(){const v=F.name("visitedNodes");F.code((0,a._)`const ${v} = (typeof visitedNodesForRef !== 'undefined') && visitedNodesForRef.get(${E}) || new Set()`),F.if((0,a._)`!${v}.has(${l.data})`,()=>{F.code((0,a._)`if (typeof visitedNodesForRef !== 'undefined') visitedNodesForRef.set(${E}, ${v})`),F.code((0,a._)`const dataNode = ${l.data}`),F.code((0,a._)`if (typeof dataNode === "object" && dataNode !== null) ${v}.add(dataNode)`);const j=l.result((0,e.callValidateCode)(l,E,m),()=>k(E),()=>d(E));return F.code((0,a._)`${v}.delete(dataNode)`),j})}function d(v){const j=(0,a._)`${v}.errors`;F.assign(i.default.vErrors,(0,a._)`${i.default.vErrors} === null ? ${j} : ${i.default.vErrors}.concat(${j})`),F.assign(i.default.errors,(0,a._)`${i.default.vErrors}.length`)}function k(v){var j;if(!y.opts.unevaluated)return;const M=(j=D?.validate)===null||j===void 0?void 0:j.evaluated;if(y.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(y.props=o.mergeEvaluated.props(F,M.props,y.props));else{const T=F.var("props",(0,a._)`${v}.evaluated.props`);y.props=o.mergeEvaluated.props(F,T,y.props,a.Name)}if(y.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(y.items=o.mergeEvaluated.items(F,M.items,y.items));else{const T=F.var("items",(0,a._)`${v}.evaluated.items`);y.items=o.mergeEvaluated.items(F,T,y.items,a.Name)}}}return E0.callRef=s,E0.default=n,E0}var Nn;function _Y(){if(Nn)return Ae;Nn=1,Object.defineProperty(Ae,"__esModule",{value:!0});const u=GY(),e=_i(),a=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",u.default,e.default];return Ae.default=a,Ae}var ye={},ze={},Rn;function VY(){if(Rn)return ze;Rn=1,Object.defineProperty(ze,"__esModule",{value:!0});const u=du(),e=u.operators,a={maximum:{okStr:"<=",ok:e.LTE,fail:e.GT},minimum:{okStr:">=",ok:e.GTE,fail:e.LT},exclusiveMaximum:{okStr:"<",ok:e.LT,fail:e.GTE},exclusiveMinimum:{okStr:">",ok:e.GT,fail:e.LTE}},i={message:({keyword:o,schemaCode:n})=>(0,u.str)`must be ${a[o].okStr} ${n}`,params:({keyword:o,schemaCode:n})=>(0,u._)`{comparison: ${a[o].okStr}, limit: ${n}}`},r={keyword:Object.keys(a),type:"number",schemaType:"number",$data:!0,error:i,code(o){const{keyword:n,data:t,schemaCode:s}=o;o.fail$data((0,u._)`${t} ${a[n].fail} ${s} || isNaN(${t})`)}};return ze.default=r,ze}var Se={},Hn;function $Y(){if(Hn)return Se;Hn=1,Object.defineProperty(Se,"__esModule",{value:!0});const u=du(),a={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:i})=>(0,u.str)`must be multiple of ${i}`,params:({schemaCode:i})=>(0,u._)`{multipleOf: ${i}}`},code(i){const{gen:r,data:o,schemaCode:n,it:t}=i,s=t.opts.multipleOfPrecision,l=r.let("res"),E=s?(0,u._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${s}`:(0,u._)`${l} !== parseInt(${l})`;i.fail$data((0,u._)`(${n} === 0 || (${l} = ${o}/${n}, ${E}))`)}};return Se.default=a,Se}var je={},Me={},Gn;function JY(){if(Gn)return Me;Gn=1,Object.defineProperty(Me,"__esModule",{value:!0});function u(e){const a=e.length;let i=0,r=0,o;for(;r<a;)i++,o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<a&&(o=e.charCodeAt(r),(o&64512)===56320&&r++);return i}return Me.default=u,u.code='require("ajv/dist/runtime/ucs2length").default',Me}var _n;function IY(){if(_n)return je;_n=1,Object.defineProperty(je,"__esModule",{value:!0});const u=du(),e=pu(),a=JY(),r={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:o,schemaCode:n}){const t=o==="maxLength"?"more":"fewer";return(0,u.str)`must NOT have ${t} than ${n} characters`},params:({schemaCode:o})=>(0,u._)`{limit: ${o}}`},code(o){const{keyword:n,data:t,schemaCode:s,it:l}=o,E=n==="maxLength"?u.operators.GT:u.operators.LT,D=l.opts.unicode===!1?(0,u._)`${t}.length`:(0,u._)`${(0,e.useFunc)(o.gen,a.default)}(${t})`;o.fail$data((0,u._)`${D} ${E} ${s}`)}};return je.default=r,je}var Pe={},Vn;function OY(){if(Vn)return Pe;Vn=1,Object.defineProperty(Pe,"__esModule",{value:!0});const u=Uu(),e=du(),i={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:r})=>(0,e.str)`must match pattern "${r}"`,params:({schemaCode:r})=>(0,e._)`{pattern: ${r}}`},code(r){const{data:o,$data:n,schema:t,schemaCode:s,it:l}=r,E=l.opts.unicodeRegExp?"u":"",D=n?(0,e._)`(new RegExp(${s}, ${E}))`:(0,u.usePattern)(r,t);r.fail$data((0,e._)`!${D}.test(${o})`)}};return Pe.default=i,Pe}var we={},$n;function qY(){if($n)return we;$n=1,Object.defineProperty(we,"__esModule",{value:!0});const u=du(),a={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:i,schemaCode:r}){const o=i==="maxProperties"?"more":"fewer";return(0,u.str)`must NOT have ${o} than ${r} properties`},params:({schemaCode:i})=>(0,u._)`{limit: ${i}}`},code(i){const{keyword:r,data:o,schemaCode:n}=i,t=r==="maxProperties"?u.operators.GT:u.operators.LT;i.fail$data((0,u._)`Object.keys(${o}).length ${t} ${n}`)}};return we.default=a,we}var Ke={},Jn;function WY(){if(Jn)return Ke;Jn=1,Object.defineProperty(Ke,"__esModule",{value:!0});const u=Uu(),e=du(),a=pu(),r={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:o}})=>(0,e.str)`must have required property '${o}'`,params:({params:{missingProperty:o}})=>(0,e._)`{missingProperty: ${o}}`},code(o){const{gen:n,schema:t,schemaCode:s,data:l,$data:E,it:D}=o,{opts:c}=D;if(!E&&t.length===0)return;const F=t.length>=c.loopRequired;if(D.allErrors?y():f(),c.strictRequired){const m=o.parentSchema.properties,{definedProperties:g}=o.it;for(const B of t)if(m?.[B]===void 0&&!g.has(B)){const d=D.schemaEnv.baseId+D.errSchemaPath,k=`required property "${B}" is not defined at "${d}" (strictRequired)`;(0,a.checkStrictMode)(D,k,D.opts.strictRequired)}}function y(){if(F||E)o.block$data(e.nil,A);else for(const m of t)(0,u.checkReportMissingProp)(o,m)}function f(){const m=n.let("missing");if(F||E){const g=n.let("valid",!0);o.block$data(g,()=>h(m,g)),o.ok(g)}else n.if((0,u.checkMissingProp)(o,t,m)),(0,u.reportMissingProp)(o,m),n.else()}function A(){n.forOf("prop",s,m=>{o.setParams({missingProperty:m}),n.if((0,u.noPropertyInData)(n,l,m,c.ownProperties),()=>o.error())})}function h(m,g){o.setParams({missingProperty:m}),n.forOf(m,s,()=>{n.assign(g,(0,u.propertyInData)(n,l,m,c.ownProperties)),n.if((0,e.not)(g),()=>{o.error(),n.break()})},e.nil)}}};return Ke.default=r,Ke}var Te={},In;function ZY(){if(In)return Te;In=1,Object.defineProperty(Te,"__esModule",{value:!0});const u=du(),a={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:i,schemaCode:r}){const o=i==="maxItems"?"more":"fewer";return(0,u.str)`must NOT have ${o} than ${r} items`},params:({schemaCode:i})=>(0,u._)`{limit: ${i}}`},code(i){const{keyword:r,data:o,schemaCode:n}=i,t=r==="maxItems"?u.operators.GT:u.operators.LT;i.fail$data((0,u._)`${o}.length ${t} ${n}`)}};return Te.default=a,Te}var Le={},Ne={},On;function Vi(){if(On)return Ne;On=1,Object.defineProperty(Ne,"__esModule",{value:!0});const u=au.requireFastDeepEqual();return u.code='require("ajv/dist/runtime/equal").default',Ne.default=u,Ne}var qn;function UY(){if(qn)return Le;qn=1,Object.defineProperty(Le,"__esModule",{value:!0});const u=fa(),e=du(),a=pu(),i=Vi(),o={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:n,j:t}})=>(0,e.str)`must NOT have duplicate items (items ## ${t} and ${n} are identical)`,params:({params:{i:n,j:t}})=>(0,e._)`{i: ${n}, j: ${t}}`},code(n){const{gen:t,data:s,$data:l,schema:E,parentSchema:D,schemaCode:c,it:F}=n;if(!l&&!E)return;const y=t.let("valid"),f=D.items?(0,u.getSchemaTypes)(D.items):[];n.block$data(y,A,(0,e._)`${c} === false`),n.ok(y);function A(){const B=t.let("i",(0,e._)`${s}.length`),d=t.let("j");n.setParams({i:B,j:d}),t.assign(y,!0),t.if((0,e._)`${B} > 1`,()=>(h()?m:g)(B,d))}function h(){return f.length>0&&!f.some(B=>B==="object"||B==="array")}function m(B,d){const k=t.name("item"),v=(0,u.checkDataTypes)(f,k,F.opts.strictNumbers,u.DataType.Wrong),j=t.const("indices",(0,e._)`{}`);t.for((0,e._)`;${B}--;`,()=>{t.let(k,(0,e._)`${s}[${B}]`),t.if(v,(0,e._)`continue`),f.length>1&&t.if((0,e._)`typeof ${k} == "string"`,(0,e._)`${k} += "_"`),t.if((0,e._)`typeof ${j}[${k}] == "number"`,()=>{t.assign(d,(0,e._)`${j}[${k}]`),n.error(),t.assign(y,!1).break()}).code((0,e._)`${j}[${k}] = ${B}`)})}function g(B,d){const k=(0,a.useFunc)(t,i.default),v=t.name("outer");t.label(v).for((0,e._)`;${B}--;`,()=>t.for((0,e._)`${d} = ${B}; ${d}--;`,()=>t.if((0,e._)`${k}(${s}[${B}], ${s}[${d}])`,()=>{n.error(),t.assign(y,!1).break(v)})))}}};return Le.default=o,Le}var Re={},Wn;function YY(){if(Wn)return Re;Wn=1,Object.defineProperty(Re,"__esModule",{value:!0});const u=du(),e=pu(),a=Vi(),r={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:o})=>(0,u._)`{allowedValue: ${o}}`},code(o){const{gen:n,data:t,$data:s,schemaCode:l,schema:E}=o;s||E&&typeof E=="object"?o.fail$data((0,u._)`!${(0,e.useFunc)(n,a.default)}(${t}, ${l})`):o.fail((0,u._)`${E} !== ${t}`)}};return Re.default=r,Re}var He={},Zn;function QY(){if(Zn)return He;Zn=1,Object.defineProperty(He,"__esModule",{value:!0});const u=du(),e=pu(),a=Vi(),r={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:o})=>(0,u._)`{allowedValues: ${o}}`},code(o){const{gen:n,data:t,$data:s,schema:l,schemaCode:E,it:D}=o;if(!s&&l.length===0)throw new Error("enum must have non-empty array");const c=l.length>=D.opts.loopEnum;let F;const y=()=>F??(F=(0,e.useFunc)(n,a.default));let f;if(c||s)f=n.let("valid"),o.block$data(f,A);else{if(!Array.isArray(l))throw new Error("ajv implementation error");const m=n.const("vSchema",E);f=(0,u.or)(...l.map((g,B)=>h(m,B)))}o.pass(f);function A(){n.assign(f,!1),n.forOf("v",E,m=>n.if((0,u._)`${y()}(${t}, ${m})`,()=>n.assign(f,!0).break()))}function h(m,g){const B=l[g];return typeof B=="object"&&B!==null?(0,u._)`${y()}(${t}, ${m}[${g}])`:(0,u._)`${t} === ${B}`}}};return He.default=r,He}var Un;function XY(){if(Un)return ye;Un=1,Object.defineProperty(ye,"__esModule",{value:!0});const u=VY(),e=$Y(),a=IY(),i=OY(),r=qY(),o=WY(),n=ZY(),t=UY(),s=YY(),l=QY(),E=[u.default,e.default,a.default,i.default,r.default,o.default,n.default,t.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},s.default,l.default];return ye.default=E,ye}var Ge={},M0={},Yn;function $4(){if(Yn)return M0;Yn=1,Object.defineProperty(M0,"__esModule",{value:!0}),M0.validateAdditionalItems=void 0;const u=du(),e=pu(),i={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:o}})=>(0,u.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,u._)`{limit: ${o}}`},code(o){const{parentSchema:n,it:t}=o,{items:s}=n;if(!Array.isArray(s)){(0,e.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}r(o,s)}};function r(o,n){const{gen:t,schema:s,data:l,keyword:E,it:D}=o;D.items=!0;const c=t.const("len",(0,u._)`${l}.length`);if(s===!1)o.setParams({len:n.length}),o.pass((0,u._)`${c} <= ${n.length}`);else if(typeof s=="object"&&!(0,e.alwaysValidSchema)(D,s)){const y=t.var("valid",(0,u._)`${c} <= ${n.length}`);t.if((0,u.not)(y),()=>F(y)),o.ok(y)}function F(y){t.forRange("i",n.length,c,f=>{o.subschema({keyword:E,dataProp:f,dataPropType:e.Type.Num},y),D.allErrors||t.if((0,u.not)(y),()=>t.break())})}}return M0.validateAdditionalItems=r,M0.default=i,M0}var _e={},P0={},Qn;function J4(){if(Qn)return P0;Qn=1,Object.defineProperty(P0,"__esModule",{value:!0}),P0.validateTuple=void 0;const u=du(),e=pu(),a=Uu(),i={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(o){const{schema:n,it:t}=o;if(Array.isArray(n))return r(o,"additionalItems",n);t.items=!0,!(0,e.alwaysValidSchema)(t,n)&&o.ok((0,a.validateArray)(o))}};function r(o,n,t=o.schema){const{gen:s,parentSchema:l,data:E,keyword:D,it:c}=o;f(l),c.opts.unevaluated&&t.length&&c.items!==!0&&(c.items=e.mergeEvaluated.items(s,t.length,c.items));const F=s.name("valid"),y=s.const("len",(0,u._)`${E}.length`);t.forEach((A,h)=>{(0,e.alwaysValidSchema)(c,A)||(s.if((0,u._)`${y} > ${h}`,()=>o.subschema({keyword:D,schemaProp:h,dataProp:h},F)),o.ok(F))});function f(A){const{opts:h,errSchemaPath:m}=c,g=t.length,B=g===A.minItems&&(g===A.maxItems||A[n]===!1);if(h.strictTuples&&!B){const d=`"${D}" is ${g}-tuple, but minItems or maxItems/${n} are not specified or different at path "${m}"`;(0,e.checkStrictMode)(c,d,h.strictTuples)}}}return P0.validateTuple=r,P0.default=i,P0}var Xn;function uQ(){if(Xn)return _e;Xn=1,Object.defineProperty(_e,"__esModule",{value:!0});const u=J4(),e={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:a=>(0,u.validateTuple)(a,"items")};return _e.default=e,_e}var Ve={},uo;function eQ(){if(uo)return Ve;uo=1,Object.defineProperty(Ve,"__esModule",{value:!0});const u=du(),e=pu(),a=Uu(),i=$4(),o={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:n}})=>(0,u.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,u._)`{limit: ${n}}`},code(n){const{schema:t,parentSchema:s,it:l}=n,{prefixItems:E}=s;l.items=!0,!(0,e.alwaysValidSchema)(l,t)&&(E?(0,i.validateAdditionalItems)(n,E):n.ok((0,a.validateArray)(n)))}};return Ve.default=o,Ve}var $e={},eo;function aQ(){if(eo)return $e;eo=1,Object.defineProperty($e,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:r,max:o}})=>o===void 0?(0,u.str)`must contain at least ${r} valid item(s)`:(0,u.str)`must contain at least ${r} and no more than ${o} valid item(s)`,params:({params:{min:r,max:o}})=>o===void 0?(0,u._)`{minContains: ${r}}`:(0,u._)`{minContains: ${r}, maxContains: ${o}}`},code(r){const{gen:o,schema:n,parentSchema:t,data:s,it:l}=r;let E,D;const{minContains:c,maxContains:F}=t;l.opts.next?(E=c===void 0?1:c,D=F):E=1;const y=o.const("len",(0,u._)`${s}.length`);if(r.setParams({min:E,max:D}),D===void 0&&E===0){(0,e.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(D!==void 0&&E>D){(0,e.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),r.fail();return}if((0,e.alwaysValidSchema)(l,n)){let g=(0,u._)`${y} >= ${E}`;D!==void 0&&(g=(0,u._)`${g} && ${y} <= ${D}`),r.pass(g);return}l.items=!0;const f=o.name("valid");D===void 0&&E===1?h(f,()=>o.if(f,()=>o.break())):E===0?(o.let(f,!0),D!==void 0&&o.if((0,u._)`${s}.length > 0`,A)):(o.let(f,!1),A()),r.result(f,()=>r.reset());function A(){const g=o.name("_valid"),B=o.let("count",0);h(g,()=>o.if(g,()=>m(B)))}function h(g,B){o.forRange("i",0,y,d=>{r.subschema({keyword:"contains",dataProp:d,dataPropType:e.Type.Num,compositeRule:!0},g),B()})}function m(g){o.code((0,u._)`${g}++`),D===void 0?o.if((0,u._)`${g} >= ${E}`,()=>o.assign(f,!0).break()):(o.if((0,u._)`${g} > ${D}`,()=>o.assign(f,!1).break()),E===1?o.assign(f,!0):o.if((0,u._)`${g} >= ${E}`,()=>o.assign(f,!0)))}}};return $e.default=i,$e}var Fi={},ao;function $i(){return ao||(ao=1,(function(u){Object.defineProperty(u,"__esModule",{value:!0}),u.validateSchemaDeps=u.validatePropertyDeps=u.error=void 0;const e=du(),a=pu(),i=Uu();u.error={message:({params:{property:s,depsCount:l,deps:E}})=>{const D=l===1?"property":"properties";return(0,e.str)`must have ${D} ${E} when property ${s} is present`},params:({params:{property:s,depsCount:l,deps:E,missingProperty:D}})=>(0,e._)`{property: ${s},
|
|
55
55
|
missingProperty: ${D},
|
|
56
56
|
depsCount: ${l},
|
|
57
|
-
deps: ${E}}`};const r={keyword:"dependencies",type:"object",schemaType:"object",error:u.error,code(s){const[l,E]=o(s);n(s,l),t(s,E)}};function o({schema:s}){const l={},E={};for(const D in s){if(D==="__proto__")continue;const c=Array.isArray(s[D])?l:E;c[D]=s[D]}return[l,E]}function n(s,l=s.schema){const{gen:E,data:D,it:c}=s;if(Object.keys(l).length===0)return;const F=E.let("missing");for(const y in l){const f=l[y];if(f.length===0)continue;const A=(0,i.propertyInData)(E,D,y,c.opts.ownProperties);s.setParams({property:y,depsCount:f.length,deps:f.join(", ")}),c.allErrors?E.if(A,()=>{for(const h of f)(0,i.checkReportMissingProp)(s,h)}):(E.if((0,e._)`${A} && (${(0,i.checkMissingProp)(s,f,F)})`),(0,i.reportMissingProp)(s,F),E.else())}}u.validatePropertyDeps=n;function t(s,l=s.schema){const{gen:E,data:D,keyword:c,it:F}=s,y=E.name("valid");for(const f in l)(0,a.alwaysValidSchema)(F,l[f])||(E.if((0,i.propertyInData)(E,D,f,F.opts.ownProperties),()=>{const A=s.subschema({keyword:c,schemaProp:f},y);s.mergeValidEvaluated(A,y)},()=>E.var(y,!0)),s.ok(y))}u.validateSchemaDeps=t,u.default=r})(Fi)),Fi}var Je={},io;function iQ(){if(io)return Je;io=1,Object.defineProperty(Je,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:r})=>(0,u._)`{propertyName: ${r.propertyName}}`},code(r){const{gen:o,schema:n,data:t,it:s}=r;if((0,e.alwaysValidSchema)(s,n))return;const l=o.name("valid");o.forIn("key",t,E=>{r.setParams({propertyName:E}),r.subschema({keyword:"propertyNames",data:E,dataTypes:["string"],propertyName:E,compositeRule:!0},l),o.if((0,u.not)(l),()=>{r.error(!0),s.allErrors||o.break()})}),r.ok(l)}};return Je.default=i,Je}var Ie={},ro;function I4(){if(ro)return Ie;ro=1,Object.defineProperty(Ie,"__esModule",{value:!0});const u=Uu(),e=du(),a=Zu(),i=pu(),o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:n})=>(0,e._)`{additionalProperty: ${n.additionalProperty}}`},code(n){const{gen:t,parentSchema:s,data:l,errsCount:E,it:D}=n,{schema:c=D.opts.defaultAdditionalProperties}=n;if(!E)throw new Error("ajv implementation error");const{allErrors:F,opts:y}=D;if(D.props=!0,y.removeAdditional!=="all"&&(0,i.alwaysValidSchema)(D,c))return;const f=(0,u.allSchemaProperties)(s.properties),A=(0,u.allSchemaProperties)(s.patternProperties);h(),n.ok((0,e._)`${E} === ${a.default.errors}`);function h(){t.forIn("key",l,k=>{!f.length&&!A.length?B(k):t.if(m(k),()=>B(k))})}function m(k){let v;if(f.length>8){const j=(0,i.schemaRefOrVal)(D,s.properties,"properties");v=(0,u.isOwnProperty)(t,j,k)}else f.length?v=(0,e.or)(...f.map(j=>(0,e._)`${k} === ${j}`)):v=e.nil;return A.length&&(v=(0,e.or)(v,...A.map(j=>(0,e._)`${(0,u.usePattern)(n,j)}.test(${k})`))),(0,e.not)(v)}function g(k){t.code((0,e._)`delete ${l}[${k}]`)}function B(k){if(y.removeAdditional==="all"||y.removeAdditional&&c===!1){g(k);return}if(c===!1){n.setParams({additionalProperty:k}),n.error(),F||t.break();return}if(typeof c=="object"&&!(0,i.alwaysValidSchema)(D,c)){const v=t.name("valid");y.removeAdditional==="failing"?(d(k,v,!1),t.if((0,e.not)(v),()=>{n.reset(),g(k)})):(d(k,v),F||t.if((0,e.not)(v),()=>t.break()))}}function d(k,v,j){const M={keyword:"additionalProperties",dataProp:k,dataPropType:i.Type.Str};j===!1&&Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(M,v)}}};return Ie.default=o,Ie}var Oe={},no;function rQ(){if(no)return Oe;no=1,Object.defineProperty(Oe,"__esModule",{value:!0});const u=Ka(),e=Uu(),a=pu(),i=I4(),r={keyword:"properties",type:"object",schemaType:"object",code(o){const{gen:n,schema:t,parentSchema:s,data:l,it:E}=o;(E.opts.removeAdditional==="all"&&s.additionalProperties===void 0||E.opts.defaultAdditionalProperties===!1)&&i.default.code(new u.KeywordCxt(E,i.default,"additionalProperties"));const D=(0,e.allSchemaProperties)(t);for(const A of D)E.definedProperties.add(A);E.opts.unevaluated&&D.length&&E.props!==!0&&(E.props=a.mergeEvaluated.props(n,(0,a.toHash)(D),E.props));const c=D.filter(A=>!(0,a.alwaysValidSchema)(E,t[A]));if(c.length===0)return;const F=n.name("valid");for(const A of c)y(A)?f(A):(n.if((0,e.propertyInData)(n,l,A,E.opts.ownProperties)),f(A),E.allErrors||n.else().var(F,!0),n.endIf()),o.it.definedProperties.add(A),o.ok(F);function y(A){return E.opts.useDefaults&&!E.compositeRule&&t[A].default!==void 0}function f(A){o.subschema({keyword:"properties",schemaProp:A,dataProp:A},F)}}};return Oe.default=r,Oe}var qe={},oo;function nQ(){if(oo)return qe;oo=1,Object.defineProperty(qe,"__esModule",{value:!0});const u=Uu(),e=du(),a=pu(),i=pu(),r={keyword:"patternProperties",type:"object",schemaType:"object",code(o){const{gen:n,schema:t,data:s,parentSchema:l,it:E}=o,{opts:D}=E,c=(0,u.allSchemaProperties)(t),F=c.filter(B=>(0,a.alwaysValidSchema)(E,t[B]));if(c.length===0||F.length===c.length&&(!E.opts.unevaluated||E.props===!0))return;const y=D.strictSchema&&!D.allowMatchingProperties&&l.properties,f=n.name("valid");E.props!==!0&&!(E.props instanceof e.Name)&&(E.props=(0,i.evaluatedPropsToName)(n,E.props));const{props:A}=E;h();function h(){for(const B of c)y&&m(B),E.allErrors?g(B):(n.var(f,!0),g(B),n.if(f))}function m(B){for(const d in y)new RegExp(B).test(d)&&(0,a.checkStrictMode)(E,`property ${d} matches pattern ${B} (use allowMatchingProperties)`)}function g(B){n.forIn("key",s,d=>{n.if((0,e._)`${(0,u.usePattern)(o,B)}.test(${d})`,()=>{const k=F.includes(B);k||o.subschema({keyword:"patternProperties",schemaProp:B,dataProp:d,dataPropType:i.Type.Str},f),E.opts.unevaluated&&A!==!0?n.assign((0,e._)`${A}[${d}]`,!0):!k&&!E.allErrors&&n.if((0,e.not)(f),()=>n.break())})})}}};return qe.default=r,qe}var We={},to;function oQ(){if(to)return We;to=1,Object.defineProperty(We,"__esModule",{value:!0});const u=pu(),e={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(a){const{gen:i,schema:r,it:o}=a;if((0,u.alwaysValidSchema)(o,r)){a.fail();return}const n=i.name("valid");a.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),a.failResult(n,()=>a.reset(),()=>a.error())},error:{message:"must NOT be valid"}};return We.default=e,We}var Ze={},so;function tQ(){if(so)return Ze;so=1,Object.defineProperty(Ze,"__esModule",{value:!0});const e={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Uu().validateUnion,error:{message:"must match a schema in anyOf"}};return Ze.default=e,Ze}var Ue={},lo;function sQ(){if(lo)return Ue;lo=1,Object.defineProperty(Ue,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:r})=>(0,u._)`{passingSchemas: ${r.passing}}`},code(r){const{gen:o,schema:n,parentSchema:t,it:s}=r;if(!Array.isArray(n))throw new Error("ajv implementation error");if(s.opts.discriminator&&t.discriminator)return;const l=n,E=o.let("valid",!1),D=o.let("passing",null),c=o.name("_valid");r.setParams({passing:D}),o.block(F),r.result(E,()=>r.reset(),()=>r.error(!0));function F(){l.forEach((y,f)=>{let A;(0,e.alwaysValidSchema)(s,y)?o.var(c,!0):A=r.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&o.if((0,u._)`${c} && ${E}`).assign(E,!1).assign(D,(0,u._)`[${D}, ${f}]`).else(),o.if(c,()=>{o.assign(E,!0),o.assign(D,f),A&&r.mergeEvaluated(A,u.Name)})})}}};return Ue.default=i,Ue}var Ye={},Eo;function lQ(){if(Eo)return Ye;Eo=1,Object.defineProperty(Ye,"__esModule",{value:!0});const u=pu(),e={keyword:"allOf",schemaType:"array",code(a){const{gen:i,schema:r,it:o}=a;if(!Array.isArray(r))throw new Error("ajv implementation error");const n=i.name("valid");r.forEach((t,s)=>{if((0,u.alwaysValidSchema)(o,t))return;const l=a.subschema({keyword:"allOf",schemaProp:s},n,!0);a.ok(n),a.mergeEvaluated(l)})}};return Ye.default=e,Ye}var Qe={},Do;function EQ(){if(Do)return Qe;Do=1,Object.defineProperty(Qe,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:o})=>(0,u.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,u._)`{failingKeyword: ${o.ifClause}}`},code(o){const{gen:n,parentSchema:t,it:s}=o;t.then===void 0&&t.else===void 0&&(0,e.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const l=r(s,"then"),E=r(s,"else");if(!l&&!E)return;const D=n.let("valid",!0),c=n.name("_valid");if(F(),o.reset(),l&&E){const f=n.let("ifClause");o.setParams({ifClause:f}),n.if(c,y("then",f),y("else",f))}else l?n.if(c,y("then")):n.if((0,u.not)(c),y("else"));o.pass(D,()=>o.error(!0));function F(){const f=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},c);o.mergeEvaluated(f)}function y(f,A){return()=>{const h=o.subschema({keyword:f},c);n.assign(D,c),o.mergeValidEvaluated(h,D),A?n.assign(A,(0,u._)`${f}`):o.setParams({ifClause:f})}}}};function r(o,n){const t=o.schema[n];return t!==void 0&&!(0,e.alwaysValidSchema)(o,t)}return Qe.default=i,Qe}var Xe={},xo;function DQ(){if(xo)return Xe;xo=1,Object.defineProperty(Xe,"__esModule",{value:!0});const u=pu(),e={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:a,parentSchema:i,it:r}){i.if===void 0&&(0,u.checkStrictMode)(r,`"${a}" without "if" is ignored`)}};return Xe.default=e,Xe}var co;function xQ(){if(co)return Ge;co=1,Object.defineProperty(Ge,"__esModule",{value:!0});const u=$4(),e=uQ(),a=J4(),i=eQ(),r=aQ(),o=$i(),n=iQ(),t=I4(),s=rQ(),l=nQ(),E=oQ(),D=tQ(),c=sQ(),F=lQ(),y=EQ(),f=DQ();function A(h=!1){const m=[E.default,D.default,c.default,F.default,y.default,f.default,n.default,t.default,o.default,s.default,l.default];return h?m.push(e.default,i.default):m.push(u.default,a.default),m.push(r.default),m}return Ge.default=A,Ge}var ua={},w0={},mo;function O4(){if(mo)return w0;mo=1,Object.defineProperty(w0,"__esModule",{value:!0}),w0.dynamicAnchor=void 0;const u=du(),e=Zu(),a=La(),i=_i(),r={keyword:"$dynamicAnchor",schemaType:"string",code:t=>o(t,t.schema)};function o(t,s){const{gen:l,it:E}=t;E.schemaEnv.root.dynamicAnchors[s]=!0;const D=(0,u._)`${e.default.dynamicAnchors}${(0,u.getProperty)(s)}`,c=E.errSchemaPath==="#"?E.validateName:n(t);l.if((0,u._)`!${D}`,()=>l.assign(D,c))}w0.dynamicAnchor=o;function n(t){const{schemaEnv:s,schema:l,self:E}=t.it,{root:D,baseId:c,localRefs:F,meta:y}=s.root,{schemaId:f}=E.opts,A=new a.SchemaEnv({schema:l,schemaId:f,root:D,baseId:c,localRefs:F,meta:y});return a.compileSchema.call(E,A),(0,i.getValidate)(t,A)}return w0.default=r,w0}var K0={},Fo;function q4(){if(Fo)return K0;Fo=1,Object.defineProperty(K0,"__esModule",{value:!0}),K0.dynamicRef=void 0;const u=du(),e=Zu(),a=_i(),i={keyword:"$dynamicRef",schemaType:"string",code:o=>r(o,o.schema)};function r(o,n){const{gen:t,keyword:s,it:l}=o;if(n[0]!=="#")throw new Error(`"${s}" only supports hash fragment reference`);const E=n.slice(1);if(l.allErrors)D();else{const F=t.let("valid",!1);D(F),o.ok(F)}function D(F){if(l.schemaEnv.root.dynamicAnchors[E]){const y=t.let("_v",(0,u._)`${e.default.dynamicAnchors}${(0,u.getProperty)(E)}`);t.if(y,c(y,F),c(l.validateName,F))}else c(l.validateName,F)()}function c(F,y){return y?()=>t.block(()=>{(0,a.callRef)(o,F),t.let(y,!0)}):()=>(0,a.callRef)(o,F)}}return K0.dynamicRef=r,K0.default=i,K0}var ea={},ko;function cQ(){if(ko)return ea;ko=1,Object.defineProperty(ea,"__esModule",{value:!0});const u=O4(),e=pu(),a={keyword:"$recursiveAnchor",schemaType:"boolean",code(i){i.schema?(0,u.dynamicAnchor)(i,""):(0,e.checkStrictMode)(i.it,"$recursiveAnchor: false is ignored")}};return ea.default=a,ea}var aa={},ho;function dQ(){if(ho)return aa;ho=1,Object.defineProperty(aa,"__esModule",{value:!0});const u=q4(),e={keyword:"$recursiveRef",schemaType:"string",code:a=>(0,u.dynamicRef)(a,a.schema)};return aa.default=e,aa}var po;function mQ(){if(po)return ua;po=1,Object.defineProperty(ua,"__esModule",{value:!0});const u=O4(),e=q4(),a=cQ(),i=dQ(),r=[u.default,e.default,a.default,i.default];return ua.default=r,ua}var ia={},ra={},go;function FQ(){if(go)return ra;go=1,Object.defineProperty(ra,"__esModule",{value:!0});const u=$i(),e={keyword:"dependentRequired",type:"object",schemaType:"object",error:u.error,code:a=>(0,u.validatePropertyDeps)(a)};return ra.default=e,ra}var na={},Co;function kQ(){if(Co)return na;Co=1,Object.defineProperty(na,"__esModule",{value:!0});const u=$i(),e={keyword:"dependentSchemas",type:"object",schemaType:"object",code:a=>(0,u.validateSchemaDeps)(a)};return na.default=e,na}var oa={},vo;function hQ(){if(vo)return oa;vo=1,Object.defineProperty(oa,"__esModule",{value:!0});const u=pu(),e={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:a,parentSchema:i,it:r}){i.contains===void 0&&(0,u.checkStrictMode)(r,`"${a}" without "contains" is ignored`)}};return oa.default=e,oa}var bo;function pQ(){if(bo)return ia;bo=1,Object.defineProperty(ia,"__esModule",{value:!0});const u=FQ(),e=kQ(),a=hQ(),i=[u.default,e.default,a.default];return ia.default=i,ia}var ta={},sa={},Bo;function gQ(){if(Bo)return sa;Bo=1,Object.defineProperty(sa,"__esModule",{value:!0});const u=du(),e=pu(),a=Zu(),r={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:o})=>(0,u._)`{unevaluatedProperty: ${o.unevaluatedProperty}}`},code(o){const{gen:n,schema:t=o.it.opts.defaultUnevaluatedProperties,data:s,errsCount:l,it:E}=o,D=o.schema===void 0&&o.it.opts.defaultUnevaluatedProperties===!1;if(!l)throw new Error("ajv implementation error");const{allErrors:c,props:F}=E;if(F instanceof u.Name)n.if((0,u._)`${F} !== true`,()=>n.forIn("key",s,h=>n.if(f(F,h),()=>y(h))));else if(F!==!0){const h=()=>n.forIn("key",s,m=>F===void 0?y(m):n.if(A(F,m),()=>y(m)));D&&E.errorPath.emptyStr()&&!E.compositeRule?n.if((0,u._)`${a.default.isAllOfVariant} === 0`,h):(!E.compositeRule||o.schema!==void 0)&&h()}D||(E.props=!0),o.ok((0,u._)`${l} === ${a.default.errors}`);function y(h){if(t===!1){o.setParams({unevaluatedProperty:h}),o.error(),c||n.break();return}if(!(0,e.alwaysValidSchema)(E,t)){const m=n.name("valid");o.subschema({keyword:"unevaluatedProperties",dataProp:h,dataPropType:e.Type.Str},m),c||n.if((0,u.not)(m),()=>n.break())}}function f(h,m){return(0,u._)`!${h} || !${h}[${m}]`}function A(h,m){const g=[];for(const B in h)h[B]===!0&&g.push((0,u._)`${m} !== ${B}`);return(0,u.and)(...g)}}};return sa.default=r,sa}var la={},Ao;function CQ(){if(Ao)return la;Ao=1,Object.defineProperty(la,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:r}})=>(0,u.str)`must NOT have more than ${r} items`,params:({params:{len:r}})=>(0,u._)`{limit: ${r}}`},code(r){const{gen:o,schema:n,data:t,it:s}=r,l=s.items||0;if(l===!0)return;const E=o.const("len",(0,u._)`${t}.length`);if(n===!1)r.setParams({len:l}),r.fail((0,u._)`${E} > ${l}`);else if(typeof n=="object"&&!(0,e.alwaysValidSchema)(s,n)){const c=o.var("valid",(0,u._)`${E} <= ${l}`);o.if((0,u.not)(c),()=>D(c,l)),r.ok(c)}s.items=!0;function D(c,F){o.forRange("i",F,E,y=>{r.subschema({keyword:"unevaluatedItems",dataProp:y,dataPropType:e.Type.Num},c),s.allErrors||o.if((0,u.not)(c),()=>o.break())})}}};return la.default=i,la}var fo;function vQ(){if(fo)return ta;fo=1,Object.defineProperty(ta,"__esModule",{value:!0});const u=gQ(),e=CQ(),a=[u.default,e.default];return ta.default=a,ta}var Ea={},Da={},yo;function bQ(){if(yo)return Da;yo=1,Object.defineProperty(Da,"__esModule",{value:!0});const u=du(),a={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:i})=>(0,u.str)`must match format "${i}"`,params:({schemaCode:i})=>(0,u._)`{format: ${i}}`},code(i,r){const{gen:o,data:n,$data:t,schema:s,schemaCode:l,it:E}=i,{opts:D,errSchemaPath:c,schemaEnv:F,self:y}=E;if(!D.validateFormats)return;t?f():A();function f(){const h=o.scopeValue("formats",{ref:y.formats,code:D.code.formats}),m=o.const("fDef",(0,u._)`${h}[${l}]`),g=o.let("fType"),B=o.let("format");o.if((0,u._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>o.assign(g,(0,u._)`${m}.type || "string"`).assign(B,(0,u._)`${m}.validate`),()=>o.assign(g,(0,u._)`"string"`).assign(B,m)),i.fail$data((0,u.or)(d(),k()));function d(){return D.strictSchema===!1?u.nil:(0,u._)`${l} && !${B}`}function k(){const v=F.$async?(0,u._)`(${m}.async ? await ${B}(${n}) : ${B}(${n}))`:(0,u._)`${B}(${n})`,j=(0,u._)`(typeof ${B} == "function" ? ${v} : ${B}.test(${n}))`;return(0,u._)`${B} && ${B} !== true && ${g} === ${r} && !${j}`}}function A(){const h=y.formats[s];if(!h){d();return}if(h===!0)return;const[m,g,B]=k(h);m===r&&i.pass(v());function d(){if(D.strictSchema===!1){y.logger.warn(j());return}throw new Error(j());function j(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function k(j){const M=j instanceof RegExp?(0,u.regexpCode)(j):D.code.formats?(0,u._)`${D.code.formats}${(0,u.getProperty)(s)}`:void 0,T=o.scopeValue("formats",{key:s,ref:j,code:M});return typeof j=="object"&&!(j instanceof RegExp)?[j.type||"string",j.validate,(0,u._)`${T}.validate`]:["string",j,T]}function v(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!F.$async)throw new Error("async format in sync schema");return(0,u._)`await ${B}(${n})`}return typeof g=="function"?(0,u._)`${B}(${n})`:(0,u._)`${B}.test(${n})`}}}};return Da.default=a,Da}var zo;function BQ(){if(zo)return Ea;zo=1,Object.defineProperty(Ea,"__esModule",{value:!0});const e=[bQ().default];return Ea.default=e,Ea}var v0={},So;function AQ(){return So||(So=1,Object.defineProperty(v0,"__esModule",{value:!0}),v0.contentVocabulary=v0.metadataVocabulary=void 0,v0.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],v0.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]),v0}var jo;function fQ(){if(jo)return Be;jo=1,Object.defineProperty(Be,"__esModule",{value:!0});const u=_Y(),e=XY(),a=xQ(),i=mQ(),r=pQ(),o=vQ(),n=BQ(),t=AQ(),s=[i.default,u.default,e.default,(0,a.default)(!0),n.default,t.metadataVocabulary,t.contentVocabulary,r.default,o.default];return Be.default=s,Be}var xa={},Y0={},Mo;function yQ(){if(Mo)return Y0;Mo=1,Object.defineProperty(Y0,"__esModule",{value:!0}),Y0.DiscrError=void 0;var u;return(function(e){e.Tag="tag",e.Mapping="mapping"})(u||(Y0.DiscrError=u={})),Y0}var Po;function zQ(){if(Po)return xa;Po=1,Object.defineProperty(xa,"__esModule",{value:!0});const u=du(),e=yQ(),a=La(),i=Ta(),r=pu(),o={message:({params:{discrError:s,tagName:l}})=>s===e.DiscrError.Tag?`tag "${l}" must be string`:`value of tag "${l}" must be in oneOf or anyOf`,params:({params:{discrError:s,tag:l,tagName:E}})=>(0,u._)`{error: ${s}, tag: ${E}, tagValue: ${l}}`};function n(s,l){var E;if(!(!s.allOf||!Array.isArray(s.allOf))){for(const D of s.allOf)if(!((E=D?.properties)===null||E===void 0)&&E[l])return D.properties[l]}}const t={keyword:"discriminator",type:"object",schemaType:"object",error:o,code(s){const{gen:l,data:E,schema:D,parentSchema:c,it:F}=s,y=c.oneOf?"oneOf":c.anyOf?"anyOf":void 0;if(!F.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=D.propertyName;if(typeof f!="string")throw new Error("discriminator: requires propertyName");if(!y)throw new Error("discriminator: requires oneOf or anyOf composite keyword");const A=c[y],h=l.let("valid",!1),m=l.const("tag",(0,u._)`${E}${(0,u.getProperty)(f)}`);l.if((0,u._)`typeof ${m} == "string"`,()=>g(),()=>s.error(!1,{discrError:e.DiscrError.Tag,tag:m,tagName:f})),s.ok(h);function g(){const k=d();l.if(!1);for(const v in k)l.elseIf((0,u._)`${m} === ${v}`),l.assign(h,B(k[v]));l.else(),s.error(!1,{discrError:e.DiscrError.Mapping,tag:m,tagName:f}),l.endIf()}function B(k){const v=l.name("valid"),j=s.subschema({keyword:y,schemaProp:k},v);return s.mergeEvaluated(j,u.Name),v}function d(){var k;const v={},j=T(c);let M=!0;for(let L=0;L<A.length;L++){let Z=A[L];const X=Z?.$ref;if(X&&D.mapping){const{mapping:mu}=D,tu=Object.keys(mu).filter(Fu=>mu[Fu]===Z.$ref);if(tu.length){for(const Fu of tu)_(Fu,L);continue}}if(X&&!(0,r.schemaHasRulesButRef)(Z,F.self.RULES)&&(Z=a.resolveRef.call(F.self,F.schemaEnv.root,F.baseId,X),Z instanceof a.SchemaEnv&&(Z=Z.schema),Z===void 0))throw new i.default(F.opts.uriResolver,F.baseId,X);let lu=(k=Z?.properties)===null||k===void 0?void 0:k[f];if(!lu&&Z?.allOf&&(lu=n(Z,f)),typeof lu!="object")throw new Error(`discriminator: ${y} subschemas (or referenced schemas) must have "properties/${f}" or match mapping`);M=M&&(j||T(Z)),G(lu,L)}if(!M)throw new Error(`discriminator: "${f}" must be required`);return v;function T(L){if(Array.isArray(L.required)&&L.required.includes(f))return!0;if(L.allOf&&Array.isArray(L.allOf))for(const Z of L.allOf){const X=Z;if(Array.isArray(X.required)&&X.required.includes(f))return!0}return!1}function G(L,Z){if(L.const)_(L.const,Z);else if(L.enum)for(const X of L.enum)_(X,Z);else throw new Error(`discriminator: "properties/${f}" must have "const" or "enum"`)}function _(L,Z){if(typeof L!="string"||L in v)throw new Error(`discriminator: "${f}" values must be unique strings`);v[L]=Z}}}};return xa.default=t,xa}var ca={};const SQ="https://json-schema.org/draft/2020-12/schema",jQ="https://json-schema.org/draft/2020-12/schema",MQ={"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},PQ="meta",wQ="Core and Validation specifications meta-schema",KQ=[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],TQ=["object","boolean"],LQ="This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",NQ={definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}},RQ={$schema:SQ,$id:jQ,$vocabulary:MQ,$dynamicAnchor:PQ,title:wQ,allOf:KQ,type:TQ,$comment:LQ,properties:NQ},HQ="https://json-schema.org/draft/2020-12/schema",GQ="https://json-schema.org/draft/2020-12/meta/applicator",_Q={"https://json-schema.org/draft/2020-12/vocab/applicator":!0},VQ="meta",$Q="Applicator vocabulary meta-schema",JQ=["object","boolean"],IQ={prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},OQ={schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}},qQ={$schema:HQ,$id:GQ,$vocabulary:_Q,$dynamicAnchor:VQ,title:$Q,type:JQ,properties:IQ,$defs:OQ},WQ="https://json-schema.org/draft/2020-12/schema",ZQ="https://json-schema.org/draft/2020-12/meta/unevaluated",UQ={"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},YQ="meta",QQ="Unevaluated applicator vocabulary meta-schema",XQ=["object","boolean"],uX={unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}},eX={$schema:WQ,$id:ZQ,$vocabulary:UQ,$dynamicAnchor:YQ,title:QQ,type:XQ,properties:uX},aX="https://json-schema.org/draft/2020-12/schema",iX="https://json-schema.org/draft/2020-12/meta/content",rX={"https://json-schema.org/draft/2020-12/vocab/content":!0},nX="meta",oX="Content vocabulary meta-schema",tX=["object","boolean"],sX={contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}},lX={$schema:aX,$id:iX,$vocabulary:rX,$dynamicAnchor:nX,title:oX,type:tX,properties:sX},EX="https://json-schema.org/draft/2020-12/schema",DX="https://json-schema.org/draft/2020-12/meta/core",xX={"https://json-schema.org/draft/2020-12/vocab/core":!0},cX="meta",dX="Core vocabulary meta-schema",mX=["object","boolean"],FX={$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},kX={anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}},hX={$schema:EX,$id:DX,$vocabulary:xX,$dynamicAnchor:cX,title:dX,type:mX,properties:FX,$defs:kX},pX="https://json-schema.org/draft/2020-12/schema",gX="https://json-schema.org/draft/2020-12/meta/format-annotation",CX={"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},vX="meta",bX="Format vocabulary meta-schema for annotation results",BX=["object","boolean"],AX={format:{type:"string"}},fX={$schema:pX,$id:gX,$vocabulary:CX,$dynamicAnchor:vX,title:bX,type:BX,properties:AX},yX="https://json-schema.org/draft/2020-12/schema",zX="https://json-schema.org/draft/2020-12/meta/meta-data",SX={"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},jX="meta",MX="Meta-data vocabulary meta-schema",PX=["object","boolean"],wX={title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}},KX={$schema:yX,$id:zX,$vocabulary:SX,$dynamicAnchor:jX,title:MX,type:PX,properties:wX},TX="https://json-schema.org/draft/2020-12/schema",LX="https://json-schema.org/draft/2020-12/meta/validation",NX={"https://json-schema.org/draft/2020-12/vocab/validation":!0},RX="meta",HX="Validation vocabulary meta-schema",GX=["object","boolean"],_X={type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},VX={nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},$X={$schema:TX,$id:LX,$vocabulary:NX,$dynamicAnchor:RX,title:HX,type:GX,properties:_X,$defs:VX};var wo;function JX(){if(wo)return ca;wo=1,Object.defineProperty(ca,"__esModule",{value:!0});const u=RQ,e=qQ,a=eX,i=lX,r=hX,o=fX,n=KX,t=$X,s=["/properties"];function l(E){return[u,e,a,i,r,D(this,o),n,D(this,t)].forEach(c=>this.addMetaSchema(c,void 0,!1)),this;function D(c,F){return E?c.$dataMetaSchema(F,s):F}}return ca.default=l,ca}var Ko;function IX(){return Ko||(Ko=1,(function(u,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv2020=void 0;const a=HY(),i=fQ(),r=zQ(),o=JX(),n="https://json-schema.org/draft/2020-12/schema";class t extends a.default{constructor(F={}){super({...F,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),i.default.forEach(F=>this.addVocabulary(F)),this.opts.discriminator&&this.addKeyword(r.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:F,meta:y}=this.opts;y&&(o.default.call(this,F),this.refs["http://json-schema.org/schema"]=n)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(n)?n:void 0)}}e.Ajv2020=t,u.exports=e=t,u.exports.Ajv2020=t,Object.defineProperty(e,"__esModule",{value:!0}),e.default=t;var s=Ka();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return s.KeywordCxt}});var l=du();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var E=Gi();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return E.default}});var D=Ta();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return D.default}})})(pe,pe.exports)),pe.exports}var OX=IX();const W4=au.getDefaultExportFromCjs(OX);function To(u,e){if(!e||Object.keys(e).length===0)return{};const a=new W4({useDefaults:!0,removeAdditional:"all",coerceTypes:!0,strictTypes:!1});a.addFormat("password",!0),a.addFormat("int32",!0),a.addFormat("int64",!0),a.addFormat("float",!0),a.addFormat("double",!0);const i=a.compile(e),r={...u};return i(r),r}function qX(u,e){return/\.(yaml|yml|json)$/i.test(u)&&!!e.arazzo}async function Z4(u){const{filePath:e,base:a,externalRefResolver:i,collectSpecData:r,version:o,skipLint:n=!1}=u;let t=[];const s=au.pathBrowserifyExports.basename(e);if(!s)throw new Error("Invalid file name");const l=await au.createConfig({extends:["recommended-strict"],arazzo1Rules:{"no-criteria-xpath":"error","respect-supported-versions":"warn","no-x-security-scheme-name-without-openapi":"error","x-security-scheme-required-values":"error","x-security-scheme-name-reference":"error","no-x-security-both-scheme-and-scheme-name":"error"}});if(!n&&(t=await au.lint({ref:e,config:l,externalRefResolver:i}),t.length)){const c=au.getTotals(t);au.formatProblems(t,{totals:c,version:o}),BE(c,u.logger)}const E=await au.bundle({base:a,ref:e,config:l,dereference:!0,externalRefResolver:i});if(!E)throw new Error(`Could not find source description file '${s}'.`);if(!qX(s,E.bundle.parsed))throw new Error(`No test files found. File ${s} does not follows naming pattern "*.[yaml | yml | json]" or have not valid "Arazzo" description.`);if(r?.(E.bundle.parsed||{}),t.filter(c=>c.severity==="error").length)throw new Error(`${Au("Found errors in Arazzo description")} ${d0(s)}`);return E.bundle.parsed||{}}function WX(u,e){let a=u;for(const i of e)if(a&&a[i]!==void 0)a=a[i];else return;return a}function ZX(u){const e={};for(const a of u)e[a.stepId]={};return e}function UX({workflows:u,inputs:e,env:a={}}){const i={};for(const r of u){const o=r.inputs,n=U4({inputs:e,workflowInputSchema:o,env:a});i[r.workflowId]={steps:ZX(r.steps||[]),inputs:o?n:void 0,outputs:r.outputs}}return i}function U4({inputs:u,workflowInputSchema:e,env:a}){let i={},r={};return e&&(i=To(u,e)),e?.properties?.env&&(r=To(a||{},e.properties.env)),Object.keys(r).length>0?{...i,env:r}:i}const YX=fY();async function Y4(u,e,a){const i=u?.sourceDescriptions,r={};i&&await Promise.all(i.map(async n=>{if(n.type==="openapi"){const t=await Fl({descriptionPath:n.url,config:e.config,base:e.filePath,externalRefResolver:e?.externalRefResolver}),{paths:s,servers:l,info:E,security:D,components:c}=t;r[n.name]={paths:s,servers:l,info:E,security:D,components:c}}else if(n.type==="arazzo"){const{url:t,name:s}=n,l=au.pathBrowserifyExports.resolve(au.pathBrowserifyExports.dirname(e.filePath),t),E=await Z4({filePath:l,version:e?.version,logger:e.logger,externalRefResolver:e?.externalRefResolver,skipLint:e?.skipLint});r[s]=E}}));for(const n of u.workflows||[])for(const t of n.steps)t.checks=[];const o={$response:void 0,$request:void 0,$inputs:{env:{}},$faker:YX,$sourceDescriptions:r,$workflows:UX({workflows:u.workflows||[],inputs:Hi(e?.input),env:e.envVariables||{}}),$steps:{},$components:u.components||{},$outputs:{},executedSteps:[],workflows:u.workflows||[],options:e,testDescription:u,info:u.info||l3,arazzo:u.arazzo||"",sourceDescriptions:u.sourceDescriptions||[],noSecretsMasking:e.noSecretsMasking||!1,secretsSet:new Set,severity:SE(e.severity),apiClient:a};for(const n of u.workflows||[])n.inputs&&oe(o,n.inputs,o.$workflows[n.workflowId].inputs);return o}function oe(u,e,a,i=[]){if(!e||!a)return;const r=WX(a,i);e.format==="password"&&r&&u.secretsSet.add(r),e.properties&&Object.entries(e.properties).forEach(([o,n])=>{const t=[...i,o];oe(u,n,a,t)})}function QX({workflows:u,workflowsToRun:e,workflowsToSkip:a,logger:i}){let r=[];return e&&e.length?r=uuu(u,e,i):a&&a.length?r=XX(u,a,i):r=u,r}function XX(u,e,a){const i=u.filter(r=>!e.includes(r.workflowId));return i.length?(a.output(`${m0(`Following workflows are skipped: ${e.join(", ")}`)}`),a.printNewLine(),i):(a.output(`${Au("All workflows are skipped")}`),a.printNewLine(),[])}function uuu(u,e,a){const i=euu(u,e);if(!i.length)throw new Error(`Following workflows don't exist: ${e.join(", ")}`);if(i.length===e.length)return i;{const r=e.filter(o=>!u.find(n=>n.workflowId===o));return a.output(`Following workflows don't exist: ${r.join(", ")}`),i}}function euu(u,e){return u.filter(a=>e.includes(a.workflowId))}function Q4(u){return u.type==="regex"}function X4(u){const e=u?.type;return e==="jsonpath"||au.isPlainObject(e)&&e.type==="jsonpath"}const Lo=["$url","$method","$statusCode","$request","$response","$inputs","$outputs","$steps","$workflows","$sourceDescriptions","$components"];function auu(u){u.forEach(e=>{const{condition:a}=e;if(Q4(e)){const{context:i}=e,r=/\$[a-zA-Z_]\w*/g,o=i.match(r);if(!o)throw new Error(`"${i}" does not contain any valid context.`);if(o.filter(t=>!Lo.includes(t)).length)throw new Error(`Success criteria context "${i}" is not allowed.`)}else if(X4(e)){if(!e.context)throw new Error("jsonpath success criteria context is required.");if(!e.condition)throw new Error("jsonpath success criteria condition is required.")}else{const i=/\$[a-zA-Z_]\w*/g,r=a.match(i);if(!r)return;if(r.filter(n=>!Lo.includes(n)).length)throw new Error(`Success criteria condition ${a} is not allowed.`)}})}function Na({ctx:u,workflowId:e,step:a}){if(!a||!e)return{$statusCode:void 0,$method:"",$response:void 0,$url:"",$request:void 0,$outputs:u.$outputs,$steps:u.$steps,$workflows:u.$workflows,$inputs:u.$inputs,$sourceDescriptions:u.$sourceDescriptions,$components:u.$components,$faker:u.$faker};const i=u.$workflows[e].steps[a.stepId].request,r=i?.path,o=i?.query,n=i?.body||{},t=i?.header,s=i?.method,l=a.response?.statusCode,E=a.response?.header||{},D=a.response?.body||{};return{$statusCode:l,$method:s,$response:{header:E,body:D,path:r,query:o},$url:i&&i.url,$request:{header:t,body:n,path:r,query:o},$outputs:u.$outputs,$steps:u.$steps,$workflows:u.$workflows,$inputs:u.$inputs,$sourceDescriptions:u.$sourceDescriptions,$components:u.$components,$faker:u.$faker}}function iuu(u,e){function a(){this.constructor=u}a.prototype=e.prototype,u.prototype=new a}function R0(u,e,a,i){var r=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(r,R0.prototype),r.expected=e,r.found=a,r.location=i,r.name="SyntaxError",r}iuu(R0,Error);function ki(u,e,a){return a=a||" ",u.length>e?u:(e-=u.length,a+=a.repeat(e),u+a.slice(0,e))}R0.prototype.format=function(u){var e="Error: "+this.message;if(this.location){var a=null,i;for(i=0;i<u.length;i++)if(u[i].source===this.location.source){a=u[i].text.split(/\r\n|\n|\r/g);break}var r=this.location.start,o=this.location.source&&typeof this.location.source.offset=="function"?this.location.source.offset(r):r,n=this.location.source+":"+o.line+":"+o.column;if(a){var t=this.location.end,s=ki("",o.line.toString().length," "),l=a[r.line-1],E=r.line===t.line?t.column:l.length+1,D=E-r.column||1;e+=`
|
|
57
|
+
deps: ${E}}`};const r={keyword:"dependencies",type:"object",schemaType:"object",error:u.error,code(s){const[l,E]=o(s);n(s,l),t(s,E)}};function o({schema:s}){const l={},E={};for(const D in s){if(D==="__proto__")continue;const c=Array.isArray(s[D])?l:E;c[D]=s[D]}return[l,E]}function n(s,l=s.schema){const{gen:E,data:D,it:c}=s;if(Object.keys(l).length===0)return;const F=E.let("missing");for(const y in l){const f=l[y];if(f.length===0)continue;const A=(0,i.propertyInData)(E,D,y,c.opts.ownProperties);s.setParams({property:y,depsCount:f.length,deps:f.join(", ")}),c.allErrors?E.if(A,()=>{for(const h of f)(0,i.checkReportMissingProp)(s,h)}):(E.if((0,e._)`${A} && (${(0,i.checkMissingProp)(s,f,F)})`),(0,i.reportMissingProp)(s,F),E.else())}}u.validatePropertyDeps=n;function t(s,l=s.schema){const{gen:E,data:D,keyword:c,it:F}=s,y=E.name("valid");for(const f in l)(0,a.alwaysValidSchema)(F,l[f])||(E.if((0,i.propertyInData)(E,D,f,F.opts.ownProperties),()=>{const A=s.subschema({keyword:c,schemaProp:f},y);s.mergeValidEvaluated(A,y)},()=>E.var(y,!0)),s.ok(y))}u.validateSchemaDeps=t,u.default=r})(Fi)),Fi}var Je={},io;function iQ(){if(io)return Je;io=1,Object.defineProperty(Je,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:r})=>(0,u._)`{propertyName: ${r.propertyName}}`},code(r){const{gen:o,schema:n,data:t,it:s}=r;if((0,e.alwaysValidSchema)(s,n))return;const l=o.name("valid");o.forIn("key",t,E=>{r.setParams({propertyName:E}),r.subschema({keyword:"propertyNames",data:E,dataTypes:["string"],propertyName:E,compositeRule:!0},l),o.if((0,u.not)(l),()=>{r.error(!0),s.allErrors||o.break()})}),r.ok(l)}};return Je.default=i,Je}var Ie={},ro;function I4(){if(ro)return Ie;ro=1,Object.defineProperty(Ie,"__esModule",{value:!0});const u=Uu(),e=du(),a=Zu(),i=pu(),o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:n})=>(0,e._)`{additionalProperty: ${n.additionalProperty}}`},code(n){const{gen:t,parentSchema:s,data:l,errsCount:E,it:D}=n,{schema:c=D.opts.defaultAdditionalProperties}=n;if(!E)throw new Error("ajv implementation error");const{allErrors:F,opts:y}=D;if(D.props=!0,y.removeAdditional!=="all"&&(0,i.alwaysValidSchema)(D,c))return;const f=(0,u.allSchemaProperties)(s.properties),A=(0,u.allSchemaProperties)(s.patternProperties);h(),n.ok((0,e._)`${E} === ${a.default.errors}`);function h(){t.forIn("key",l,k=>{!f.length&&!A.length?B(k):t.if(m(k),()=>B(k))})}function m(k){let v;if(f.length>8){const j=(0,i.schemaRefOrVal)(D,s.properties,"properties");v=(0,u.isOwnProperty)(t,j,k)}else f.length?v=(0,e.or)(...f.map(j=>(0,e._)`${k} === ${j}`)):v=e.nil;return A.length&&(v=(0,e.or)(v,...A.map(j=>(0,e._)`${(0,u.usePattern)(n,j)}.test(${k})`))),(0,e.not)(v)}function g(k){t.code((0,e._)`delete ${l}[${k}]`)}function B(k){if(y.removeAdditional==="all"||y.removeAdditional&&c===!1){g(k);return}if(c===!1){n.setParams({additionalProperty:k}),n.error(),F||t.break();return}if(typeof c=="object"&&!(0,i.alwaysValidSchema)(D,c)){const v=t.name("valid");y.removeAdditional==="failing"?(d(k,v,!1),t.if((0,e.not)(v),()=>{n.reset(),g(k)})):(d(k,v),F||t.if((0,e.not)(v),()=>t.break()))}}function d(k,v,j){const M={keyword:"additionalProperties",dataProp:k,dataPropType:i.Type.Str};j===!1&&Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(M,v)}}};return Ie.default=o,Ie}var Oe={},no;function rQ(){if(no)return Oe;no=1,Object.defineProperty(Oe,"__esModule",{value:!0});const u=Ka(),e=Uu(),a=pu(),i=I4(),r={keyword:"properties",type:"object",schemaType:"object",code(o){const{gen:n,schema:t,parentSchema:s,data:l,it:E}=o;(E.opts.removeAdditional==="all"&&s.additionalProperties===void 0||E.opts.defaultAdditionalProperties===!1)&&i.default.code(new u.KeywordCxt(E,i.default,"additionalProperties"));const D=(0,e.allSchemaProperties)(t);for(const A of D)E.definedProperties.add(A);E.opts.unevaluated&&D.length&&E.props!==!0&&(E.props=a.mergeEvaluated.props(n,(0,a.toHash)(D),E.props));const c=D.filter(A=>!(0,a.alwaysValidSchema)(E,t[A]));if(c.length===0)return;const F=n.name("valid");for(const A of c)y(A)?f(A):(n.if((0,e.propertyInData)(n,l,A,E.opts.ownProperties)),f(A),E.allErrors||n.else().var(F,!0),n.endIf()),o.it.definedProperties.add(A),o.ok(F);function y(A){return E.opts.useDefaults&&!E.compositeRule&&t[A].default!==void 0}function f(A){o.subschema({keyword:"properties",schemaProp:A,dataProp:A},F)}}};return Oe.default=r,Oe}var qe={},oo;function nQ(){if(oo)return qe;oo=1,Object.defineProperty(qe,"__esModule",{value:!0});const u=Uu(),e=du(),a=pu(),i=pu(),r={keyword:"patternProperties",type:"object",schemaType:"object",code(o){const{gen:n,schema:t,data:s,parentSchema:l,it:E}=o,{opts:D}=E,c=(0,u.allSchemaProperties)(t),F=c.filter(B=>(0,a.alwaysValidSchema)(E,t[B]));if(c.length===0||F.length===c.length&&(!E.opts.unevaluated||E.props===!0))return;const y=D.strictSchema&&!D.allowMatchingProperties&&l.properties,f=n.name("valid");E.props!==!0&&!(E.props instanceof e.Name)&&(E.props=(0,i.evaluatedPropsToName)(n,E.props));const{props:A}=E;h();function h(){for(const B of c)y&&m(B),E.allErrors?g(B):(n.var(f,!0),g(B),n.if(f))}function m(B){for(const d in y)new RegExp(B).test(d)&&(0,a.checkStrictMode)(E,`property ${d} matches pattern ${B} (use allowMatchingProperties)`)}function g(B){n.forIn("key",s,d=>{n.if((0,e._)`${(0,u.usePattern)(o,B)}.test(${d})`,()=>{const k=F.includes(B);k||o.subschema({keyword:"patternProperties",schemaProp:B,dataProp:d,dataPropType:i.Type.Str},f),E.opts.unevaluated&&A!==!0?n.assign((0,e._)`${A}[${d}]`,!0):!k&&!E.allErrors&&n.if((0,e.not)(f),()=>n.break())})})}}};return qe.default=r,qe}var We={},to;function oQ(){if(to)return We;to=1,Object.defineProperty(We,"__esModule",{value:!0});const u=pu(),e={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(a){const{gen:i,schema:r,it:o}=a;if((0,u.alwaysValidSchema)(o,r)){a.fail();return}const n=i.name("valid");a.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),a.failResult(n,()=>a.reset(),()=>a.error())},error:{message:"must NOT be valid"}};return We.default=e,We}var Ze={},so;function tQ(){if(so)return Ze;so=1,Object.defineProperty(Ze,"__esModule",{value:!0});const e={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Uu().validateUnion,error:{message:"must match a schema in anyOf"}};return Ze.default=e,Ze}var Ue={},lo;function sQ(){if(lo)return Ue;lo=1,Object.defineProperty(Ue,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:r})=>(0,u._)`{passingSchemas: ${r.passing}}`},code(r){const{gen:o,schema:n,parentSchema:t,it:s}=r;if(!Array.isArray(n))throw new Error("ajv implementation error");if(s.opts.discriminator&&t.discriminator)return;const l=n,E=o.let("valid",!1),D=o.let("passing",null),c=o.name("_valid");r.setParams({passing:D}),o.block(F),r.result(E,()=>r.reset(),()=>r.error(!0));function F(){l.forEach((y,f)=>{let A;(0,e.alwaysValidSchema)(s,y)?o.var(c,!0):A=r.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&o.if((0,u._)`${c} && ${E}`).assign(E,!1).assign(D,(0,u._)`[${D}, ${f}]`).else(),o.if(c,()=>{o.assign(E,!0),o.assign(D,f),A&&r.mergeEvaluated(A,u.Name)})})}}};return Ue.default=i,Ue}var Ye={},Eo;function lQ(){if(Eo)return Ye;Eo=1,Object.defineProperty(Ye,"__esModule",{value:!0});const u=pu(),e={keyword:"allOf",schemaType:"array",code(a){const{gen:i,schema:r,it:o}=a;if(!Array.isArray(r))throw new Error("ajv implementation error");const n=i.name("valid");r.forEach((t,s)=>{if((0,u.alwaysValidSchema)(o,t))return;const l=a.subschema({keyword:"allOf",schemaProp:s},n,!0);a.ok(n),a.mergeEvaluated(l)})}};return Ye.default=e,Ye}var Qe={},Do;function EQ(){if(Do)return Qe;Do=1,Object.defineProperty(Qe,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:o})=>(0,u.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,u._)`{failingKeyword: ${o.ifClause}}`},code(o){const{gen:n,parentSchema:t,it:s}=o;t.then===void 0&&t.else===void 0&&(0,e.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const l=r(s,"then"),E=r(s,"else");if(!l&&!E)return;const D=n.let("valid",!0),c=n.name("_valid");if(F(),o.reset(),l&&E){const f=n.let("ifClause");o.setParams({ifClause:f}),n.if(c,y("then",f),y("else",f))}else l?n.if(c,y("then")):n.if((0,u.not)(c),y("else"));o.pass(D,()=>o.error(!0));function F(){const f=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},c);o.mergeEvaluated(f)}function y(f,A){return()=>{const h=o.subschema({keyword:f},c);n.assign(D,c),o.mergeValidEvaluated(h,D),A?n.assign(A,(0,u._)`${f}`):o.setParams({ifClause:f})}}}};function r(o,n){const t=o.schema[n];return t!==void 0&&!(0,e.alwaysValidSchema)(o,t)}return Qe.default=i,Qe}var Xe={},xo;function DQ(){if(xo)return Xe;xo=1,Object.defineProperty(Xe,"__esModule",{value:!0});const u=pu(),e={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:a,parentSchema:i,it:r}){i.if===void 0&&(0,u.checkStrictMode)(r,`"${a}" without "if" is ignored`)}};return Xe.default=e,Xe}var co;function xQ(){if(co)return Ge;co=1,Object.defineProperty(Ge,"__esModule",{value:!0});const u=$4(),e=uQ(),a=J4(),i=eQ(),r=aQ(),o=$i(),n=iQ(),t=I4(),s=rQ(),l=nQ(),E=oQ(),D=tQ(),c=sQ(),F=lQ(),y=EQ(),f=DQ();function A(h=!1){const m=[E.default,D.default,c.default,F.default,y.default,f.default,n.default,t.default,o.default,s.default,l.default];return h?m.push(e.default,i.default):m.push(u.default,a.default),m.push(r.default),m}return Ge.default=A,Ge}var ua={},w0={},mo;function O4(){if(mo)return w0;mo=1,Object.defineProperty(w0,"__esModule",{value:!0}),w0.dynamicAnchor=void 0;const u=du(),e=Zu(),a=La(),i=_i(),r={keyword:"$dynamicAnchor",schemaType:"string",code:t=>o(t,t.schema)};function o(t,s){const{gen:l,it:E}=t;E.schemaEnv.root.dynamicAnchors[s]=!0;const D=(0,u._)`${e.default.dynamicAnchors}${(0,u.getProperty)(s)}`,c=E.errSchemaPath==="#"?E.validateName:n(t);l.if((0,u._)`!${D}`,()=>l.assign(D,c))}w0.dynamicAnchor=o;function n(t){const{schemaEnv:s,schema:l,self:E}=t.it,{root:D,baseId:c,localRefs:F,meta:y}=s.root,{schemaId:f}=E.opts,A=new a.SchemaEnv({schema:l,schemaId:f,root:D,baseId:c,localRefs:F,meta:y});return a.compileSchema.call(E,A),(0,i.getValidate)(t,A)}return w0.default=r,w0}var K0={},Fo;function q4(){if(Fo)return K0;Fo=1,Object.defineProperty(K0,"__esModule",{value:!0}),K0.dynamicRef=void 0;const u=du(),e=Zu(),a=_i(),i={keyword:"$dynamicRef",schemaType:"string",code:o=>r(o,o.schema)};function r(o,n){const{gen:t,keyword:s,it:l}=o;if(n[0]!=="#")throw new Error(`"${s}" only supports hash fragment reference`);const E=n.slice(1);if(l.allErrors)D();else{const F=t.let("valid",!1);D(F),o.ok(F)}function D(F){if(l.schemaEnv.root.dynamicAnchors[E]){const y=t.let("_v",(0,u._)`${e.default.dynamicAnchors}${(0,u.getProperty)(E)}`);t.if(y,c(y,F),c(l.validateName,F))}else c(l.validateName,F)()}function c(F,y){return y?()=>t.block(()=>{(0,a.callRef)(o,F),t.let(y,!0)}):()=>(0,a.callRef)(o,F)}}return K0.dynamicRef=r,K0.default=i,K0}var ea={},ko;function cQ(){if(ko)return ea;ko=1,Object.defineProperty(ea,"__esModule",{value:!0});const u=O4(),e=pu(),a={keyword:"$recursiveAnchor",schemaType:"boolean",code(i){i.schema?(0,u.dynamicAnchor)(i,""):(0,e.checkStrictMode)(i.it,"$recursiveAnchor: false is ignored")}};return ea.default=a,ea}var aa={},ho;function dQ(){if(ho)return aa;ho=1,Object.defineProperty(aa,"__esModule",{value:!0});const u=q4(),e={keyword:"$recursiveRef",schemaType:"string",code:a=>(0,u.dynamicRef)(a,a.schema)};return aa.default=e,aa}var po;function mQ(){if(po)return ua;po=1,Object.defineProperty(ua,"__esModule",{value:!0});const u=O4(),e=q4(),a=cQ(),i=dQ(),r=[u.default,e.default,a.default,i.default];return ua.default=r,ua}var ia={},ra={},go;function FQ(){if(go)return ra;go=1,Object.defineProperty(ra,"__esModule",{value:!0});const u=$i(),e={keyword:"dependentRequired",type:"object",schemaType:"object",error:u.error,code:a=>(0,u.validatePropertyDeps)(a)};return ra.default=e,ra}var na={},Co;function kQ(){if(Co)return na;Co=1,Object.defineProperty(na,"__esModule",{value:!0});const u=$i(),e={keyword:"dependentSchemas",type:"object",schemaType:"object",code:a=>(0,u.validateSchemaDeps)(a)};return na.default=e,na}var oa={},vo;function hQ(){if(vo)return oa;vo=1,Object.defineProperty(oa,"__esModule",{value:!0});const u=pu(),e={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:a,parentSchema:i,it:r}){i.contains===void 0&&(0,u.checkStrictMode)(r,`"${a}" without "contains" is ignored`)}};return oa.default=e,oa}var bo;function pQ(){if(bo)return ia;bo=1,Object.defineProperty(ia,"__esModule",{value:!0});const u=FQ(),e=kQ(),a=hQ(),i=[u.default,e.default,a.default];return ia.default=i,ia}var ta={},sa={},Bo;function gQ(){if(Bo)return sa;Bo=1,Object.defineProperty(sa,"__esModule",{value:!0});const u=du(),e=pu(),a=Zu(),r={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:o})=>(0,u._)`{unevaluatedProperty: ${o.unevaluatedProperty}}`},code(o){const{gen:n,schema:t=o.it.opts.defaultUnevaluatedProperties,data:s,errsCount:l,it:E}=o,D=o.schema===void 0&&o.it.opts.defaultUnevaluatedProperties===!1;if(!l)throw new Error("ajv implementation error");const{allErrors:c,props:F}=E;if(F instanceof u.Name)n.if((0,u._)`${F} !== true`,()=>n.forIn("key",s,h=>n.if(f(F,h),()=>y(h))));else if(F!==!0){const h=()=>n.forIn("key",s,m=>F===void 0?y(m):n.if(A(F,m),()=>y(m)));D&&E.errorPath.emptyStr()&&!E.compositeRule?n.if((0,u._)`${a.default.isAllOfVariant} === 0`,h):(!E.compositeRule||o.schema!==void 0)&&h()}D||(E.props=!0),o.ok((0,u._)`${l} === ${a.default.errors}`);function y(h){if(t===!1){o.setParams({unevaluatedProperty:h}),o.error(),c||n.break();return}if(!(0,e.alwaysValidSchema)(E,t)){const m=n.name("valid");o.subschema({keyword:"unevaluatedProperties",dataProp:h,dataPropType:e.Type.Str},m),c||n.if((0,u.not)(m),()=>n.break())}}function f(h,m){return(0,u._)`!${h} || !${h}[${m}]`}function A(h,m){const g=[];for(const B in h)h[B]===!0&&g.push((0,u._)`${m} !== ${B}`);return(0,u.and)(...g)}}};return sa.default=r,sa}var la={},Ao;function CQ(){if(Ao)return la;Ao=1,Object.defineProperty(la,"__esModule",{value:!0});const u=du(),e=pu(),i={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:r}})=>(0,u.str)`must NOT have more than ${r} items`,params:({params:{len:r}})=>(0,u._)`{limit: ${r}}`},code(r){const{gen:o,schema:n,data:t,it:s}=r,l=s.items||0;if(l===!0)return;const E=o.const("len",(0,u._)`${t}.length`);if(n===!1)r.setParams({len:l}),r.fail((0,u._)`${E} > ${l}`);else if(typeof n=="object"&&!(0,e.alwaysValidSchema)(s,n)){const c=o.var("valid",(0,u._)`${E} <= ${l}`);o.if((0,u.not)(c),()=>D(c,l)),r.ok(c)}s.items=!0;function D(c,F){o.forRange("i",F,E,y=>{r.subschema({keyword:"unevaluatedItems",dataProp:y,dataPropType:e.Type.Num},c),s.allErrors||o.if((0,u.not)(c),()=>o.break())})}}};return la.default=i,la}var fo;function vQ(){if(fo)return ta;fo=1,Object.defineProperty(ta,"__esModule",{value:!0});const u=gQ(),e=CQ(),a=[u.default,e.default];return ta.default=a,ta}var Ea={},Da={},yo;function bQ(){if(yo)return Da;yo=1,Object.defineProperty(Da,"__esModule",{value:!0});const u=du(),a={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:i})=>(0,u.str)`must match format "${i}"`,params:({schemaCode:i})=>(0,u._)`{format: ${i}}`},code(i,r){const{gen:o,data:n,$data:t,schema:s,schemaCode:l,it:E}=i,{opts:D,errSchemaPath:c,schemaEnv:F,self:y}=E;if(!D.validateFormats)return;t?f():A();function f(){const h=o.scopeValue("formats",{ref:y.formats,code:D.code.formats}),m=o.const("fDef",(0,u._)`${h}[${l}]`),g=o.let("fType"),B=o.let("format");o.if((0,u._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>o.assign(g,(0,u._)`${m}.type || "string"`).assign(B,(0,u._)`${m}.validate`),()=>o.assign(g,(0,u._)`"string"`).assign(B,m)),i.fail$data((0,u.or)(d(),k()));function d(){return D.strictSchema===!1?u.nil:(0,u._)`${l} && !${B}`}function k(){const v=F.$async?(0,u._)`(${m}.async ? await ${B}(${n}) : ${B}(${n}))`:(0,u._)`${B}(${n})`,j=(0,u._)`(typeof ${B} == "function" ? ${v} : ${B}.test(${n}))`;return(0,u._)`${B} && ${B} !== true && ${g} === ${r} && !${j}`}}function A(){const h=y.formats[s];if(!h){d();return}if(h===!0)return;const[m,g,B]=k(h);m===r&&i.pass(v());function d(){if(D.strictSchema===!1){y.logger.warn(j());return}throw new Error(j());function j(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function k(j){const M=j instanceof RegExp?(0,u.regexpCode)(j):D.code.formats?(0,u._)`${D.code.formats}${(0,u.getProperty)(s)}`:void 0,T=o.scopeValue("formats",{key:s,ref:j,code:M});return typeof j=="object"&&!(j instanceof RegExp)?[j.type||"string",j.validate,(0,u._)`${T}.validate`]:["string",j,T]}function v(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!F.$async)throw new Error("async format in sync schema");return(0,u._)`await ${B}(${n})`}return typeof g=="function"?(0,u._)`${B}(${n})`:(0,u._)`${B}.test(${n})`}}}};return Da.default=a,Da}var zo;function BQ(){if(zo)return Ea;zo=1,Object.defineProperty(Ea,"__esModule",{value:!0});const e=[bQ().default];return Ea.default=e,Ea}var v0={},So;function AQ(){return So||(So=1,Object.defineProperty(v0,"__esModule",{value:!0}),v0.contentVocabulary=v0.metadataVocabulary=void 0,v0.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],v0.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]),v0}var jo;function fQ(){if(jo)return Be;jo=1,Object.defineProperty(Be,"__esModule",{value:!0});const u=_Y(),e=XY(),a=xQ(),i=mQ(),r=pQ(),o=vQ(),n=BQ(),t=AQ(),s=[i.default,u.default,e.default,(0,a.default)(!0),n.default,t.metadataVocabulary,t.contentVocabulary,r.default,o.default];return Be.default=s,Be}var xa={},Y0={},Mo;function yQ(){if(Mo)return Y0;Mo=1,Object.defineProperty(Y0,"__esModule",{value:!0}),Y0.DiscrError=void 0;var u;return(function(e){e.Tag="tag",e.Mapping="mapping"})(u||(Y0.DiscrError=u={})),Y0}var Po;function zQ(){if(Po)return xa;Po=1,Object.defineProperty(xa,"__esModule",{value:!0});const u=du(),e=yQ(),a=La(),i=Ta(),r=pu(),o={message:({params:{discrError:s,tagName:l}})=>s===e.DiscrError.Tag?`tag "${l}" must be string`:`value of tag "${l}" must be in oneOf or anyOf`,params:({params:{discrError:s,tag:l,tagName:E}})=>(0,u._)`{error: ${s}, tag: ${E}, tagValue: ${l}}`};function n(s,l){var E;if(!(!s.allOf||!Array.isArray(s.allOf))){for(const D of s.allOf)if(!((E=D?.properties)===null||E===void 0)&&E[l])return D.properties[l]}}const t={keyword:"discriminator",type:"object",schemaType:"object",error:o,code(s){const{gen:l,data:E,schema:D,parentSchema:c,it:F}=s,y=c.oneOf?"oneOf":c.anyOf?"anyOf":void 0;if(!F.opts.discriminator)throw new Error("discriminator: requires discriminator option");const f=D.propertyName;if(typeof f!="string")throw new Error("discriminator: requires propertyName");if(!y)throw new Error("discriminator: requires oneOf or anyOf composite keyword");const A=c[y],h=l.let("valid",!1),m=l.const("tag",(0,u._)`${E}${(0,u.getProperty)(f)}`);l.if((0,u._)`typeof ${m} == "string"`,()=>g(),()=>s.error(!1,{discrError:e.DiscrError.Tag,tag:m,tagName:f})),s.ok(h);function g(){const k=d();l.if(!1);for(const v in k)l.elseIf((0,u._)`${m} === ${v}`),l.assign(h,B(k[v]));l.else(),s.error(!1,{discrError:e.DiscrError.Mapping,tag:m,tagName:f}),l.endIf()}function B(k){const v=l.name("valid"),j=s.subschema({keyword:y,schemaProp:k},v);return s.mergeEvaluated(j,u.Name),v}function d(){var k;const v={},j=T(c);let M=!0;for(let L=0;L<A.length;L++){let Z=A[L];const X=Z?.$ref;if(X&&D.mapping){const{mapping:mu}=D,tu=Object.keys(mu).filter(Fu=>mu[Fu]===Z.$ref);if(tu.length){for(const Fu of tu)_(Fu,L);continue}}if(X&&!(0,r.schemaHasRulesButRef)(Z,F.self.RULES)&&(Z=a.resolveRef.call(F.self,F.schemaEnv.root,F.baseId,X),Z instanceof a.SchemaEnv&&(Z=Z.schema),Z===void 0))throw new i.default(F.opts.uriResolver,F.baseId,X);let lu=(k=Z?.properties)===null||k===void 0?void 0:k[f];if(!lu&&Z?.allOf&&(lu=n(Z,f)),typeof lu!="object")throw new Error(`discriminator: ${y} subschemas (or referenced schemas) must have "properties/${f}" or match mapping`);M=M&&(j||T(Z)),G(lu,L)}if(!M)throw new Error(`discriminator: "${f}" must be required`);return v;function T(L){if(Array.isArray(L.required)&&L.required.includes(f))return!0;if(L.allOf&&Array.isArray(L.allOf))for(const Z of L.allOf){const X=Z;if(Array.isArray(X.required)&&X.required.includes(f))return!0}return!1}function G(L,Z){if(L.const)_(L.const,Z);else if(L.enum)for(const X of L.enum)_(X,Z);else throw new Error(`discriminator: "properties/${f}" must have "const" or "enum"`)}function _(L,Z){if(typeof L!="string"||L in v)throw new Error(`discriminator: "${f}" values must be unique strings`);v[L]=Z}}}};return xa.default=t,xa}var ca={};const SQ="https://json-schema.org/draft/2020-12/schema",jQ="https://json-schema.org/draft/2020-12/schema",MQ={"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},PQ="meta",wQ="Core and Validation specifications meta-schema",KQ=[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],TQ=["object","boolean"],LQ="This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",NQ={definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}},RQ={$schema:SQ,$id:jQ,$vocabulary:MQ,$dynamicAnchor:PQ,title:wQ,allOf:KQ,type:TQ,$comment:LQ,properties:NQ},HQ="https://json-schema.org/draft/2020-12/schema",GQ="https://json-schema.org/draft/2020-12/meta/applicator",_Q={"https://json-schema.org/draft/2020-12/vocab/applicator":!0},VQ="meta",$Q="Applicator vocabulary meta-schema",JQ=["object","boolean"],IQ={prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},OQ={schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}},qQ={$schema:HQ,$id:GQ,$vocabulary:_Q,$dynamicAnchor:VQ,title:$Q,type:JQ,properties:IQ,$defs:OQ},WQ="https://json-schema.org/draft/2020-12/schema",ZQ="https://json-schema.org/draft/2020-12/meta/unevaluated",UQ={"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},YQ="meta",QQ="Unevaluated applicator vocabulary meta-schema",XQ=["object","boolean"],uX={unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}},eX={$schema:WQ,$id:ZQ,$vocabulary:UQ,$dynamicAnchor:YQ,title:QQ,type:XQ,properties:uX},aX="https://json-schema.org/draft/2020-12/schema",iX="https://json-schema.org/draft/2020-12/meta/content",rX={"https://json-schema.org/draft/2020-12/vocab/content":!0},nX="meta",oX="Content vocabulary meta-schema",tX=["object","boolean"],sX={contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}},lX={$schema:aX,$id:iX,$vocabulary:rX,$dynamicAnchor:nX,title:oX,type:tX,properties:sX},EX="https://json-schema.org/draft/2020-12/schema",DX="https://json-schema.org/draft/2020-12/meta/core",xX={"https://json-schema.org/draft/2020-12/vocab/core":!0},cX="meta",dX="Core vocabulary meta-schema",mX=["object","boolean"],FX={$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},kX={anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}},hX={$schema:EX,$id:DX,$vocabulary:xX,$dynamicAnchor:cX,title:dX,type:mX,properties:FX,$defs:kX},pX="https://json-schema.org/draft/2020-12/schema",gX="https://json-schema.org/draft/2020-12/meta/format-annotation",CX={"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},vX="meta",bX="Format vocabulary meta-schema for annotation results",BX=["object","boolean"],AX={format:{type:"string"}},fX={$schema:pX,$id:gX,$vocabulary:CX,$dynamicAnchor:vX,title:bX,type:BX,properties:AX},yX="https://json-schema.org/draft/2020-12/schema",zX="https://json-schema.org/draft/2020-12/meta/meta-data",SX={"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},jX="meta",MX="Meta-data vocabulary meta-schema",PX=["object","boolean"],wX={title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}},KX={$schema:yX,$id:zX,$vocabulary:SX,$dynamicAnchor:jX,title:MX,type:PX,properties:wX},TX="https://json-schema.org/draft/2020-12/schema",LX="https://json-schema.org/draft/2020-12/meta/validation",NX={"https://json-schema.org/draft/2020-12/vocab/validation":!0},RX="meta",HX="Validation vocabulary meta-schema",GX=["object","boolean"],_X={type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},VX={nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},$X={$schema:TX,$id:LX,$vocabulary:NX,$dynamicAnchor:RX,title:HX,type:GX,properties:_X,$defs:VX};var wo;function JX(){if(wo)return ca;wo=1,Object.defineProperty(ca,"__esModule",{value:!0});const u=RQ,e=qQ,a=eX,i=lX,r=hX,o=fX,n=KX,t=$X,s=["/properties"];function l(E){return[u,e,a,i,r,D(this,o),n,D(this,t)].forEach(c=>this.addMetaSchema(c,void 0,!1)),this;function D(c,F){return E?c.$dataMetaSchema(F,s):F}}return ca.default=l,ca}var Ko;function IX(){return Ko||(Ko=1,(function(u,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv2020=void 0;const a=HY(),i=fQ(),r=zQ(),o=JX(),n="https://json-schema.org/draft/2020-12/schema";class t extends a.default{constructor(F={}){super({...F,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),i.default.forEach(F=>this.addVocabulary(F)),this.opts.discriminator&&this.addKeyword(r.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:F,meta:y}=this.opts;y&&(o.default.call(this,F),this.refs["http://json-schema.org/schema"]=n)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(n)?n:void 0)}}e.Ajv2020=t,u.exports=e=t,u.exports.Ajv2020=t,Object.defineProperty(e,"__esModule",{value:!0}),e.default=t;var s=Ka();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return s.KeywordCxt}});var l=du();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var E=Gi();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return E.default}});var D=Ta();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return D.default}})})(pe,pe.exports)),pe.exports}var OX=IX();const W4=au.getDefaultExportFromCjs(OX);function To(u,e){if(!e||Object.keys(e).length===0)return{};const a=new W4({useDefaults:!0,removeAdditional:"all",coerceTypes:!0,strictTypes:!1});a.addFormat("password",!0),a.addFormat("int32",!0),a.addFormat("int64",!0),a.addFormat("float",!0),a.addFormat("double",!0);const i=a.compile(e),r={...u};return i(r),r}function qX(u,e){return/\.(yaml|yml|json)$/i.test(u)&&!!e.arazzo}async function Z4(u){const{filePath:e,base:a,externalRefResolver:i,collectSpecData:r,version:o,skipLint:n=!1}=u;let t=[];const s=au.pathBrowserifyExports.basename(e);if(!s)throw new Error("Invalid file name");const l=await au.createConfig({extends:["recommended-strict"],arazzo1Rules:{"no-criteria-xpath":"error","no-x-security-both-scheme-and-scheme-name":"error","no-x-security-scheme-name-without-openapi":"error","outputs-defined":"error","respect-supported-versions":"warn","x-security-scheme-name-reference":"error","x-security-scheme-required-values":"error"}});if(!n&&(t=await au.lint({ref:e,config:l,externalRefResolver:i}),t.length)){const c=au.getTotals(t);au.formatProblems(t,{totals:c,version:o}),BE(c,u.logger)}const E=await au.bundle({base:a,ref:e,config:l,dereference:!0,externalRefResolver:i});if(!E)throw new Error(`Could not find source description file '${s}'.`);if(!qX(s,E.bundle.parsed))throw new Error(`No test files found. File ${s} does not follows naming pattern "*.[yaml | yml | json]" or have not valid "Arazzo" description.`);if(r?.(E.bundle.parsed||{}),t.filter(c=>c.severity==="error").length)throw new Error(`${Au("Found errors in Arazzo description")} ${d0(s)}`);return E.bundle.parsed||{}}function WX(u,e){let a=u;for(const i of e)if(a&&a[i]!==void 0)a=a[i];else return;return a}function ZX(u){const e={};for(const a of u)e[a.stepId]={};return e}function UX({workflows:u,inputs:e,env:a={}}){const i={};for(const r of u){const o=r.inputs,n=U4({inputs:e,workflowInputSchema:o,env:a});i[r.workflowId]={steps:ZX(r.steps||[]),inputs:o?n:void 0,outputs:r.outputs}}return i}function U4({inputs:u,workflowInputSchema:e,env:a}){let i={},r={};return e&&(i=To(u,e)),e?.properties?.env&&(r=To(a||{},e.properties.env)),Object.keys(r).length>0?{...i,env:r}:i}const YX=fY();async function Y4(u,e,a){const i=u?.sourceDescriptions,r={};i&&await Promise.all(i.map(async n=>{if(n.type==="openapi"){const t=await Fl({descriptionPath:n.url,config:e.config,base:e.filePath,externalRefResolver:e?.externalRefResolver}),{paths:s,servers:l,info:E,security:D,components:c}=t;r[n.name]={paths:s,servers:l,info:E,security:D,components:c}}else if(n.type==="arazzo"){const{url:t,name:s}=n,l=au.pathBrowserifyExports.resolve(au.pathBrowserifyExports.dirname(e.filePath),t),E=await Z4({filePath:l,version:e?.version,logger:e.logger,externalRefResolver:e?.externalRefResolver,skipLint:e?.skipLint});r[s]=E}}));for(const n of u.workflows||[])for(const t of n.steps)t.checks=[];const o={$response:void 0,$request:void 0,$inputs:{env:{}},$faker:YX,$sourceDescriptions:r,$workflows:UX({workflows:u.workflows||[],inputs:Hi(e?.input),env:e.envVariables||{}}),$steps:{},$components:u.components||{},$outputs:{},executedSteps:[],workflows:u.workflows||[],options:e,testDescription:u,info:u.info||l3,arazzo:u.arazzo||"",sourceDescriptions:u.sourceDescriptions||[],noSecretsMasking:e.noSecretsMasking||!1,secretsSet:new Set,severity:SE(e.severity),apiClient:a};for(const n of u.workflows||[])n.inputs&&oe(o,n.inputs,o.$workflows[n.workflowId].inputs);return o}function oe(u,e,a,i=[]){if(!e||!a)return;const r=WX(a,i);e.format==="password"&&r&&u.secretsSet.add(r),e.properties&&Object.entries(e.properties).forEach(([o,n])=>{const t=[...i,o];oe(u,n,a,t)})}function QX({workflows:u,workflowsToRun:e,workflowsToSkip:a,logger:i}){let r=[];return e&&e.length?r=uuu(u,e,i):a&&a.length?r=XX(u,a,i):r=u,r}function XX(u,e,a){const i=u.filter(r=>!e.includes(r.workflowId));return i.length?(a.output(`${m0(`Following workflows are skipped: ${e.join(", ")}`)}`),a.printNewLine(),i):(a.output(`${Au("All workflows are skipped")}`),a.printNewLine(),[])}function uuu(u,e,a){const i=euu(u,e);if(!i.length)throw new Error(`Following workflows don't exist: ${e.join(", ")}`);if(i.length===e.length)return i;{const r=e.filter(o=>!u.find(n=>n.workflowId===o));return a.output(`Following workflows don't exist: ${r.join(", ")}`),i}}function euu(u,e){return u.filter(a=>e.includes(a.workflowId))}function Q4(u){return u.type==="regex"}function X4(u){const e=u?.type;return e==="jsonpath"||au.isPlainObject(e)&&e.type==="jsonpath"}const Lo=["$url","$method","$statusCode","$request","$response","$inputs","$outputs","$steps","$workflows","$sourceDescriptions","$components"];function auu(u){u.forEach(e=>{const{condition:a}=e;if(Q4(e)){const{context:i}=e,r=/\$[a-zA-Z_]\w*/g,o=i.match(r);if(!o)throw new Error(`"${i}" does not contain any valid context.`);if(o.filter(t=>!Lo.includes(t)).length)throw new Error(`Success criteria context "${i}" is not allowed.`)}else if(X4(e)){if(!e.context)throw new Error("jsonpath success criteria context is required.");if(!e.condition)throw new Error("jsonpath success criteria condition is required.")}else{const i=/\$[a-zA-Z_]\w*/g,r=a.match(i);if(!r)return;if(r.filter(n=>!Lo.includes(n)).length)throw new Error(`Success criteria condition ${a} is not allowed.`)}})}function Na({ctx:u,workflowId:e,step:a}){if(!a||!e)return{$statusCode:void 0,$method:"",$response:void 0,$url:"",$request:void 0,$outputs:u.$outputs,$steps:u.$steps,$workflows:u.$workflows,$inputs:u.$inputs,$sourceDescriptions:u.$sourceDescriptions,$components:u.$components,$faker:u.$faker};const i=u.$workflows[e].steps[a.stepId].request,r=i?.path,o=i?.query,n=i?.body||{},t=i?.header,s=i?.method,l=a.response?.statusCode,E=a.response?.header||{},D=a.response?.body||{};return{$statusCode:l,$method:s,$response:{header:E,body:D,path:r,query:o},$url:i&&i.url,$request:{header:t,body:n,path:r,query:o},$outputs:u.$outputs,$steps:u.$steps,$workflows:u.$workflows,$inputs:u.$inputs,$sourceDescriptions:u.$sourceDescriptions,$components:u.$components,$faker:u.$faker}}function iuu(u,e){function a(){this.constructor=u}a.prototype=e.prototype,u.prototype=new a}function R0(u,e,a,i){var r=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(r,R0.prototype),r.expected=e,r.found=a,r.location=i,r.name="SyntaxError",r}iuu(R0,Error);function ki(u,e,a){return a=a||" ",u.length>e?u:(e-=u.length,a+=a.repeat(e),u+a.slice(0,e))}R0.prototype.format=function(u){var e="Error: "+this.message;if(this.location){var a=null,i;for(i=0;i<u.length;i++)if(u[i].source===this.location.source){a=u[i].text.split(/\r\n|\n|\r/g);break}var r=this.location.start,o=this.location.source&&typeof this.location.source.offset=="function"?this.location.source.offset(r):r,n=this.location.source+":"+o.line+":"+o.column;if(a){var t=this.location.end,s=ki("",o.line.toString().length," "),l=a[r.line-1],E=r.line===t.line?t.column:l.length+1,D=E-r.column||1;e+=`
|
|
58
58
|
--> `+n+`
|
|
59
59
|
`+s+` |
|
|
60
60
|
`+o.line+" | "+l+`
|
|
@@ -87,7 +87,7 @@ ${r}${Lu}
|
|
|
87
87
|
Expected content types: ${Mu(n.join(", "))}.`,severity:i.severity.CONTENT_TYPE_CHECK}):u.push({name:Su.CONTENT_TYPE_CHECK,passed:!0,message:`Content type "${o}" is described in the schema.`,severity:i.severity.CONTENT_TYPE_CHECK}))}function feu(u,e){const a=e.includes(u),i=e.join(", "),r=String(u);return`Expected value to be in the list:
|
|
88
88
|
${i}
|
|
89
89
|
Received:
|
|
90
|
-
${a?N0(r):Au(r)}`}async function yeu({ctx:u,workflowId:e,step:a,requestData:i}){a.checks=[];const r={successCriteriaCheck:!0,schemaCheck:!0,networkCheck:!0,unexpectedErrorCheck:!0,statusCodeCheck:!0};try{a.response=await u.apiClient.fetchResult({ctx:u,step:a,requestData:i,workflowId:e})}catch(s){return s instanceof H1?(a.checks.push({name:Su.UNEXPECTED_ERROR,passed:!1,message:s.message,severity:u.severity.UNEXPECTED_ERROR}),r.unexpectedErrorCheck=!1,r):s instanceof R1?(a.checks.push({name:Su.STATUS_CODE_CHECK,passed:!1,message:s.message,severity:u.severity.STATUS_CODE_CHECK}),r.statusCodeCheck=!1,r):(a.checks.push({name:Su.NETWORK_ERROR,passed:!1,message:s.cause?.code?s.message+` (cause: ${s.cause.code})`:s.message,severity:u.severity.NETWORK_ERROR}),r.networkCheck=!1,u.apiClient.clearVerboseResponseLogs(),r)}const o=u.$workflows[e].steps[a.stepId].request;if(a.request=o,a.verboseLog=u.apiClient.getVerboseResponseLogs(),a.successCriteria){const s=Ft({workflowId:e,step:a,criteria:a.successCriteria,ctx:{...u,$request:o,$response:a.response,$inputs:u.$workflows[e].inputs}});r.successCriteriaCheck=s.every(l=>l.passed||["off","warn"].includes(l.severity)),a.checks.push(...s)}const n=veu({stepCallCtx:{$response:a.response,$inputs:u.$workflows[e].inputs},descriptionOperation:i.openapiOperation,ctx:u});n.length&&(r.schemaCheck=n.every(s=>s.passed||["off","warn"].includes(s.severity)),a.checks.push(...n));const t={};if(a.outputs){const s=Na({ctx:{...u,$response:a.response,$inputs:u.$workflows[e].inputs},workflowId:e,step:a});for(const l of Object.keys(a.outputs))t[l]=qu({payload:a.outputs[l],context:s,logger:u.options.logger})}return u.$steps[a.stepId]={outputs:{...u.$steps[a.stepId].outputs,...t}},u.$workflows[e].steps[a.stepId]={outputs:{...u.$steps[a.stepId].outputs,...t},request:o,response:a.response},r}function zeu(u=0){return new Promise(e=>setTimeout(e,u*1e3))}function Seu({ctx:u,descriptionName:e,openapiOperation:a,xOperation:i}){if(!e&&i?.url)return{url:qu({payload:i?.url,context:u,logger:u.options.logger})};if(u.options?.server&&e){const o=Hi(u.options.server);if(o[e])return{url:o[e]}}const r=u.sourceDescriptions?.find(o=>o.name===e);if(r&&r.type==="openapi"&&r["x-serverUrl"]){if(r["x-serverUrl"].startsWith("http"))return{url:r["x-serverUrl"]};const o=r["x-serverUrl"].startsWith("$servers.")?r["x-serverUrl"].split(".")[1]:void 0;if(!o)return;const n=u0({value:`$sourceDescriptions.${e}.servers.${o}`,ctx:u,logger:u.options.logger});return Fa(n)}if(a?.servers?.[0]){const o=u.sourceDescriptions?.find(t=>t.name===a.sourceDescriptionName);let n;return u.sourceDescriptions?.length===1&&u.sourceDescriptions[0]?n="x-serverUrl"in u.sourceDescriptions[0]?u.sourceDescriptions[0]["x-serverUrl"]:void 0:o&&(n="x-serverUrl"in o?o["x-serverUrl"]:void 0),n?{url:n}:Fa(a.servers[0])}if(!e&&u?.sourceDescriptions&&u.sourceDescriptions.length===1){const o=u.sourceDescriptions[0];return"x-serverUrl"in o&&o["x-serverUrl"]?{url:o["x-serverUrl"]}:Fa(u.$sourceDescriptions[o.name]?.servers[0])||void 0}if(!(!e||!u.$sourceDescriptions||!u.$sourceDescriptions[e]||!u.$sourceDescriptions[e]?.servers?.length))return Fa(u.$sourceDescriptions[e].servers?.[0])}function Fa(u){if(u)return{url:u.url,parameters:Object.entries(u.variables||{}).map(([e,a])=>({in:"path",name:e,value:a.default})).filter(({value:e})=>!!e)}}function jeu(u,e){if(weu(u))return{in:u.scheme.in,name:u.scheme.name,value:u.values.apiKey};if(Keu(u)){const{username:a,password:i}=u.values,r=btoa(`${a}:${i}`);return e.secretsSet.add(r),ka(`Basic ${r}`)}if(Teu(u)){const{token:a}=u.values;return e.secretsSet.add(a),ka(`Bearer ${a}`)}if(Peu(u)){const{accessToken:a}=u.values;return e.secretsSet.add(a),ka(`Bearer ${a}`)}if(Meu(u)){const{accessToken:a}=u.values;return e.secretsSet.add(a),ka(`Bearer ${a}`)}}function ka(u,e){return{in:"header",name:"Authorization",value:u}}function Meu(u){return u.scheme.type==="oauth2"}function Peu(u){return u.scheme.type==="openIdConnect"}function weu(u){return u.scheme.type==="apiKey"}function Keu(u){return u.scheme.type==="http"&&u.scheme.scheme==="basic"}function Teu(u){return u.scheme.type==="http"&&u.scheme.scheme==="bearer"}const Leu={apiKey:["apiKey"],basic:["username","password"],digest:["username","password"],bearer:["token"],oauth2:["accessToken"],openIdConnect:["accessToken"],mutualTLS:[]};function Neu({scheme:u,values:e}){const a=u.type==="http"?u.scheme:u.type,i=Leu[a];if(!i)throw new Error(`Unsupported security scheme type: ${a}`);for(const r of i)if(!e?.[r])throw new Error(`Missing required value \`${r}\` for ${a} security scheme`);return{scheme:u,values:e}}function Reu({ctx:u,runtimeContext:e,step:a,operation:i,workflowLevelXSecurityParameters:r}){const o=a["x-security"],t=[...r||[],...o||[]],s=[];for(const l of t){const E=V1({ctx:u,security:l,operation:i});if("schemeName"in l&&!E)throw new Error(`Security scheme "${l.schemeName}" not found`);if(!E)continue;const D=Object.fromEntries(Object.entries(l?.values??{}).map(([y,f])=>{const A=qu({payload:f,context:e,logger:u.options.logger});return l.values&&(l.values[y]=A),[y,A]})),c=Neu({scheme:E,values:D}),F=jeu(c,u);F&&s.push(F)}return s}async function Heu(u,e,a){const{stepId:i,operationId:r,operationPath:o,"x-operation":n}=e,t=u.workflows.find(T=>T.workflowId===a),s=t&&t.parameters||[],l=n?void 0:o3({operationId:r,operationPath:o},u);let E="",D;const c=Seu({ctx:u,descriptionName:l?.descriptionName,openapiOperation:l,xOperation:n});if(n)D=n.method;else if(l)E=l?.path,D=l?.method;else throw new Error("No operation found");if(!c&&!E.includes("http"))throw new Error("No servers found in API description");if(!D)throw new Error('"method" is required to make a request');const F=l&&e3(l,u.options.logger),{payload:y,contentType:f,replacements:A}=await _l(e.requestBody,u),h=y||F?.requestBody,m=f||F?.contentType,g=m1(au.isPlainObject(h)||Array.isArray(h)?[{in:"header",name:"content-type",value:"application/json"}]:[],c?.parameters||[],F?.contentTypeParameters||[],e.parameters?[]:F?.parameters||[],F1(s,u),f?[{in:"header",name:"content-type",value:f}]:[],F1(e.parameters||[],u));u.$steps[i]||(u.$steps[i]={}),u.$workflows[a].steps[i]||(u.$workflows[a].steps[i]={}),D?.toLowerCase()==="x-query"&&(D="query"),u.$workflows[a].steps[i].request={body:h,header:B0(g,"header"),path:B0(g,"path"),query:B0(g,"query"),url:c?.url&&E?`${c?.url}${E}`:c?.url,method:D};const B={...u,$inputs:{...u.$inputs,...u.$workflows[a]?.inputs}},d=Na({ctx:B,workflowId:a,step:e}),k=t?.["x-security"]||[],v=Reu({ctx:B,runtimeContext:d,step:e,operation:l,workflowLevelXSecurityParameters:k}),j=m1(g,v).map(T=>({...T,value:qu({payload:T.value,context:d,logger:u.options.logger})}));for(const T of l?.parameters||[]){const{schema:G,name:_}=T;oe(u,G,B0(g,T.in),[_])}const M=qu({payload:h,context:d,contentType:m,logger:u.options.logger});if(A&&(au.isPlainObject(M)||Array.isArray(M))&&Ql({payload:M,replacements:A,expressionContext:d,logger:u.options.logger}),m&&l?.requestBody){const T=s3(m,l);(au.isPlainObject(h)||Array.isArray(h))&&oe(u,T,h)}return u.$workflows[a].steps[i].request={body:M,header:B0(j,"header"),path:B0(j,"path"),query:B0(j,"query"),url:c?.url&&E?`${c?.url}${E}`:c?.url,method:D},{serverUrl:c,path:E,method:D,parameters:Geu(j),requestBody:M,openapiOperation:l}}function m1(...u){const a=u.flat().filter(i=>"name"in i).reduce((i,r)=>{const o=`${r.name}:${r.in}`;return i[o]=r,i},{});return Object.values(a)}function B0(u,e){return u.reduce((a,i)=>(i.in===e&&"name"in i&&(a[i.in==="header"?i.name.toLowerCase():i.name]=i.value),a),{})}function F1(u,e){return u.map(a=>{const i=ue(a,e);if(Li(i))return i}).filter(a=>a!==void 0)}function Geu(u){const e=[];for(const a of u)if(a.in==="header"&&a.name.toLowerCase()==="cookie"){const i=String(a.value).split(";").map(r=>{const[o,n]=r.split("=");return{name:o,value:n,in:"cookie"}});e.push(...i)}else e.push(a);return e}class t0{constructor(e){this.startTime=Date.now(),this.timeout=e}static getInstance(e){return t0.instance||(t0.instance=new t0(e)),t0.instance}static reset(){t0.instance=void 0}isTimedOut(){return Date.now()-this.startTime>this.timeout}}async function Ki({step:u,ctx:e,workflowId:a,retriesLeft:i,executedStepsCount:r}){u={...u},u.retriesLeft=i;const o=e.workflows.find(B=>B.workflowId===a),{stepId:n,onFailure:t,onSuccess:s,workflowId:l,parameters:E}=u,D=(t||o?.failureActions||[]).map(B=>ue(B,e)),c=(s||o?.successActions||[]).map(B=>ue(B,e)),F=E?.map(B=>ue(B,e));if(l){const B=e.workflows.find(j=>j.workflowId===l)||u0({value:l,ctx:e,logger:e.options.logger});if(!B){const j={name:Su.UNEXPECTED_ERROR,message:`Workflow ${Au(l)} not found.`,passed:!1,severity:e.severity.UNEXPECTED_ERROR};u.checks.push(j);return}const d=await Ti(l,B,e,e.options.config);if(F&&F.length>0){const j=F.filter(Nl).reduce((M,T)=>{const G={...e,$inputs:{...e.$inputs,...a?e.$workflows[a]?.inputs:{}}};return M[T.name]=u0({value:T.value,ctx:G,logger:e.options.logger}),M},{});d.$workflows[B.workflowId].inputs={...d.$workflows[B.workflowId].inputs,...j}}bE(n,e.options.logger);const k=await re({workflowInput:B,ctx:d,skipLineSeparator:!0,parentStepId:n,invocationContext:`Child workflow of step ${n}`,executedStepsCount:r});e.executedSteps.push(k);const v={};if(u?.outputs){try{for(const[j,M]of Object.entries(u.outputs))v[j]=qu({payload:M,context:{$outputs:d.$outputs?.[B.workflowId]||{}},logger:e.options.logger})}catch(j){const M={name:Su.UNEXPECTED_ERROR,message:j.message,passed:!1,severity:e.severity.UNEXPECTED_ERROR};u.checks.push(M)}e.$steps[n]={outputs:v},o?.workflowId&&(e.$workflows[o.workflowId].steps[n]={outputs:v,request:void 0,response:void 0})}return{shouldEnd:!1}}if(e.executedSteps.push(u),r.value++,r.value>e.options.maxSteps)return u.checks.push({name:Su.MAX_STEPS_REACHED_ERROR,message:`Max steps (${e.options.maxSteps}) reached`,passed:!1,severity:e.severity.MAX_STEPS_REACHED_ERROR}),{shouldEnd:!0};if(e.options.executionTimeout&&t0.getInstance(e.options.executionTimeout).isTimedOut())return u.checks.push({name:Su.GLOBAL_TIMEOUT_ERROR,message:"Global Respect timer reached",passed:!1,severity:e.severity.GLOBAL_TIMEOUT_ERROR}),{shouldEnd:!0};if(F&&F.length){const B=F.find(d=>!("in"in ue(d,e)));if(B)throw new Error(`Parameter "in" is required for ${n} step parameter ${B.name}`)}let y=!1,f;try{if(!a)throw new Error("Workflow name is required to run a step");f=await Heu(e,u,a);const B=await yeu({ctx:e,workflowId:a,step:u,requestData:f});y=Object.values(B).every(d=>d)}catch(B){u.verboseLog=e.apiClient.getVerboseResponseLogs();const d={name:Su.UNEXPECTED_ERROR,message:B.message,passed:!1,severity:e.severity.UNEXPECTED_ERROR};u.checks.push(d)}const A=e.options.verbose?e.apiClient.getVerboseLogs():void 0,h=e.options.verbose?e.apiClient.getVerboseResponseLogs():void 0,m=f?.path||f?.serverUrl?.url;if(m?AE({testNameToDisplay:`${f?.method.toUpperCase()} ${jr(m)}${u.stepId?` ${Mu("- step")} ${jr(d0(u.stepId))}`:""}`,checks:u.checks,verboseLogs:A,verboseResponseLogs:h,logger:e.options.logger}):fE(u,e.options.logger),!y){const B=await g(D,"failure",r);if(B?.retriesLeft&&B.retriesLeft>0)return B.stepResult;if(B?.shouldEnd)return{shouldEnd:!0}}if(c.length&&y&&(await g(c,"success",r))?.shouldEnd)return{shouldEnd:!0};async function g(B=[],d,k){for(const v of B){const{type:j,criteria:M}=v;if(v.workflowId&&v.stepId)throw new Error(`Cannot use both workflowId: ${v.workflowId} and stepId: ${v.stepId} in ${v.type} action`);if(Ft({workflowId:a,step:u,criteria:M,ctx:e}).every(G=>G.passed)){const G=v.workflowId?u0({value:v.workflowId,ctx:e,logger:e.options.logger}):void 0,_=v.workflowId&&G?await Ti(v.workflowId,G,e,e.options.config):{...e,executedSteps:[]},L=v.stepId?v.stepId:void 0;if(j==="retry"){const{retryAfter:Z,retryLimit:X=0}=v;if(i=i??X,u.retriesLeft=i,i===0)return{retriesLeft:0,shouldEnd:!1};if(Z&&await zeu(Z),(G||L)&&rn({stepId:n,actionName:v.name,kind:d,logger:e.options.logger}),G){const lu=await re({workflowInput:G,ctx:_,skipLineSeparator:!0,invocationContext:`Retry action for step ${n}`,executedStepsCount:k,retriesLeft:i-1});e.executedSteps.push(lu)}else if(L){const lu=o?.steps.find(mu=>mu.stepId===L);if(!lu)throw new Error(`Step ${L} not found in workflow ${a}`);await Ki({step:lu,ctx:_,workflowId:a,executedStepsCount:k})}return e.options.logger.output(`
|
|
90
|
+
${a?N0(r):Au(r)}`}async function yeu({ctx:u,workflowId:e,step:a,requestData:i}){a.checks=[];const r={successCriteriaCheck:!0,schemaCheck:!0,networkCheck:!0,unexpectedErrorCheck:!0,statusCodeCheck:!0};try{a.response=await u.apiClient.fetchResult({ctx:u,step:a,requestData:i,workflowId:e})}catch(s){return s instanceof H1?(a.checks.push({name:Su.UNEXPECTED_ERROR,passed:!1,message:s.message,severity:u.severity.UNEXPECTED_ERROR}),r.unexpectedErrorCheck=!1,r):s instanceof R1?(a.checks.push({name:Su.STATUS_CODE_CHECK,passed:!1,message:s.message,severity:u.severity.STATUS_CODE_CHECK}),r.statusCodeCheck=!1,r):(a.checks.push({name:Su.NETWORK_ERROR,passed:!1,message:s.cause?.code?s.message+` (cause: ${s.cause.code})`:s.message,severity:u.severity.NETWORK_ERROR}),r.networkCheck=!1,u.apiClient.clearVerboseResponseLogs(),r)}const o=u.$workflows[e].steps[a.stepId].request;if(a.request=o,a.verboseLog=u.apiClient.getVerboseResponseLogs(),a.successCriteria){const s=Ft({workflowId:e,step:a,criteria:a.successCriteria,ctx:{...u,$request:o,$response:a.response,$inputs:u.$workflows[e].inputs}});r.successCriteriaCheck=s.every(l=>l.passed||["off","warn"].includes(l.severity)),a.checks.push(...s)}const n=veu({stepCallCtx:{$response:a.response,$inputs:u.$workflows[e].inputs},descriptionOperation:i.openapiOperation,ctx:u});n.length&&(r.schemaCheck=n.every(s=>s.passed||["off","warn"].includes(s.severity)),a.checks.push(...n));const t={};if(a.outputs){const s=Na({ctx:{...u,$response:a.response,$inputs:u.$workflows[e].inputs},workflowId:e,step:a});for(const l of Object.keys(a.outputs))t[l]=qu({payload:a.outputs[l],context:s,logger:u.options.logger})}return u.$steps[a.stepId]={outputs:{...u.$steps[a.stepId].outputs,...t}},u.$workflows[e].steps[a.stepId]={outputs:{...u.$steps[a.stepId].outputs,...t},request:o,response:a.response},r}function zeu(u=0){return new Promise(e=>setTimeout(e,u*1e3))}function Seu({ctx:u,descriptionName:e,openapiOperation:a,xOperation:i}){if(!e&&i?.url)return{url:qu({payload:i?.url,context:u,logger:u.options.logger})};if(u.options?.server&&e){const o=Hi(u.options.server);if(o[e])return{url:o[e]}}const r=u.sourceDescriptions?.find(o=>o.name===e);if(r&&r.type==="openapi"&&r["x-serverUrl"]){if(r["x-serverUrl"].startsWith("http"))return{url:r["x-serverUrl"]};const o=r["x-serverUrl"].startsWith("$servers.")?r["x-serverUrl"].split(".")[1]:void 0;if(!o)return;const n=u0({value:`$sourceDescriptions.${e}.servers.${o}`,ctx:u,logger:u.options.logger});return Fa(n)}if(a?.servers?.[0]){const o=u.sourceDescriptions?.find(t=>t.name===a.sourceDescriptionName);let n;return u.sourceDescriptions?.length===1&&u.sourceDescriptions[0]?n="x-serverUrl"in u.sourceDescriptions[0]?u.sourceDescriptions[0]["x-serverUrl"]:void 0:o&&(n="x-serverUrl"in o?o["x-serverUrl"]:void 0),n?{url:n}:Fa(a.servers[0])}if(!e&&u?.sourceDescriptions&&u.sourceDescriptions.length===1){const o=u.sourceDescriptions[0];return"x-serverUrl"in o&&o["x-serverUrl"]?{url:o["x-serverUrl"]}:Fa(u.$sourceDescriptions[o.name]?.servers[0])||void 0}if(!(!e||!u.$sourceDescriptions||!u.$sourceDescriptions[e]||!u.$sourceDescriptions[e]?.servers?.length))return Fa(u.$sourceDescriptions[e].servers?.[0])}function Fa(u){if(u)return{url:u.url,parameters:Object.entries(u.variables||{}).map(([e,a])=>({in:"path",name:e,value:a.default})).filter(({value:e})=>!!e)}}function jeu(u,e){if(weu(u))return{in:u.scheme.in,name:u.scheme.name,value:u.values.apiKey};if(Keu(u)){const{username:a,password:i}=u.values,r=btoa(`${a}:${i}`);return e.secretsSet.add(r),ka(`Basic ${r}`)}if(Teu(u)){const{token:a}=u.values;return e.secretsSet.add(a),ka(`Bearer ${a}`)}if(Peu(u)){const{accessToken:a}=u.values;return e.secretsSet.add(a),ka(`Bearer ${a}`)}if(Meu(u)){const{accessToken:a}=u.values;return e.secretsSet.add(a),ka(`Bearer ${a}`)}}function ka(u,e){return{in:"header",name:"Authorization",value:u}}function Meu(u){return u.scheme.type==="oauth2"}function Peu(u){return u.scheme.type==="openIdConnect"}function weu(u){return u.scheme.type==="apiKey"}function Keu(u){return u.scheme.type==="http"&&u.scheme.scheme==="basic"}function Teu(u){return u.scheme.type==="http"&&u.scheme.scheme==="bearer"}const Leu={apiKey:["apiKey"],basic:["username","password"],digest:["username","password"],bearer:["token"],oauth2:["accessToken"],openIdConnect:["accessToken"],mutualTLS:[]};function Neu({scheme:u,values:e}){const a=u.type==="http"?u.scheme:u.type,i=Leu[a];if(!i)throw new Error(`Unsupported security scheme type: ${a}`);for(const r of i)if(!e?.[r])throw new Error(`Missing required value \`${r}\` for ${a} security scheme`);return{scheme:u,values:e}}function Reu({ctx:u,runtimeContext:e,step:a,operation:i,workflowLevelXSecurityParameters:r}){const o=a["x-security"],t=[...r||[],...o||[]],s=[];for(const l of t){const E=V1({ctx:u,security:l,operation:i});if("schemeName"in l&&!E)throw new Error(`Security scheme "${l.schemeName}" not found`);if(!E)continue;const D=Object.fromEntries(Object.entries(l?.values??{}).map(([y,f])=>{const A=qu({payload:f,context:e,logger:u.options.logger});return l.values&&(l.values[y]=A),[y,A]})),c=Neu({scheme:E,values:D}),F=jeu(c,u);F&&s.push(F)}return s}async function Heu(u,e,a){const{stepId:i,operationId:r,operationPath:o,"x-operation":n}=e,t=u.workflows.find(T=>T.workflowId===a),s=t&&t.parameters||[],l=n?void 0:o3({operationId:r,operationPath:o},u);let E="",D;const c=Seu({ctx:u,descriptionName:l?.descriptionName,openapiOperation:l,xOperation:n});if(n)D=n.method;else if(l)E=l?.path,D=l?.method;else throw new Error("No operation found");if(!c&&!E.includes("http"))throw new Error("No servers found in API description");if(!D)throw new Error('"method" is required to make a request');const F=l&&e3(l,u.options.logger),{payload:y,contentType:f,replacements:A}=await _l(e.requestBody,u),h=y!==void 0?y:F?.requestBody,m=f||F?.contentType,g=m1(au.isPlainObject(h)||Array.isArray(h)?[{in:"header",name:"content-type",value:"application/json"}]:[],c?.parameters||[],F?.contentTypeParameters||[],e.parameters?[]:F?.parameters||[],F1(s,u),f?[{in:"header",name:"content-type",value:f}]:[],F1(e.parameters||[],u));u.$steps[i]||(u.$steps[i]={}),u.$workflows[a].steps[i]||(u.$workflows[a].steps[i]={}),D?.toLowerCase()==="x-query"&&(D="query"),u.$workflows[a].steps[i].request={body:h,header:B0(g,"header"),path:B0(g,"path"),query:B0(g,"query"),url:c?.url&&E?`${c?.url}${E}`:c?.url,method:D};const B={...u,$inputs:{...u.$inputs,...u.$workflows[a]?.inputs}},d=Na({ctx:B,workflowId:a,step:e}),k=t?.["x-security"]||[],v=Reu({ctx:B,runtimeContext:d,step:e,operation:l,workflowLevelXSecurityParameters:k}),j=m1(g,v).map(T=>({...T,value:qu({payload:T.value,context:d,logger:u.options.logger})}));for(const T of l?.parameters||[]){const{schema:G,name:_}=T;oe(u,G,B0(g,T.in),[_])}const M=qu({payload:h,context:d,contentType:m,logger:u.options.logger});if(A&&(au.isPlainObject(M)||Array.isArray(M))&&Ql({payload:M,replacements:A,expressionContext:d,logger:u.options.logger}),m&&l?.requestBody){const T=s3(m,l);(au.isPlainObject(h)||Array.isArray(h))&&oe(u,T,h)}return u.$workflows[a].steps[i].request={body:M,header:B0(j,"header"),path:B0(j,"path"),query:B0(j,"query"),url:c?.url&&E?`${c?.url}${E}`:c?.url,method:D},{serverUrl:c,path:E,method:D,parameters:Geu(j),requestBody:M,openapiOperation:l}}function m1(...u){const a=u.flat().filter(i=>"name"in i).reduce((i,r)=>{const o=`${r.name}:${r.in}`;return i[o]=r,i},{});return Object.values(a)}function B0(u,e){return u.reduce((a,i)=>(i.in===e&&"name"in i&&(a[i.in==="header"?i.name.toLowerCase():i.name]=i.value),a),{})}function F1(u,e){return u.map(a=>{const i=ue(a,e);if(Li(i))return i}).filter(a=>a!==void 0)}function Geu(u){const e=[];for(const a of u)if(a.in==="header"&&a.name.toLowerCase()==="cookie"){const i=String(a.value).split(";").map(r=>{const[o,n]=r.split("=");return{name:o,value:n,in:"cookie"}});e.push(...i)}else e.push(a);return e}class t0{constructor(e){this.startTime=Date.now(),this.timeout=e}static getInstance(e){return t0.instance||(t0.instance=new t0(e)),t0.instance}static reset(){t0.instance=void 0}isTimedOut(){return Date.now()-this.startTime>this.timeout}}async function Ki({step:u,ctx:e,workflowId:a,retriesLeft:i,executedStepsCount:r}){u={...u},u.retriesLeft=i;const o=e.workflows.find(B=>B.workflowId===a),{stepId:n,onFailure:t,onSuccess:s,workflowId:l,parameters:E}=u,D=(t||o?.failureActions||[]).map(B=>ue(B,e)),c=(s||o?.successActions||[]).map(B=>ue(B,e)),F=E?.map(B=>ue(B,e));if(l){const B=e.workflows.find(j=>j.workflowId===l)||u0({value:l,ctx:e,logger:e.options.logger});if(!B){const j={name:Su.UNEXPECTED_ERROR,message:`Workflow ${Au(l)} not found.`,passed:!1,severity:e.severity.UNEXPECTED_ERROR};u.checks.push(j);return}const d=await Ti(l,B,e,e.options.config);if(F&&F.length>0){const j=F.filter(Nl).reduce((M,T)=>{const G={...e,$inputs:{...e.$inputs,...a?e.$workflows[a]?.inputs:{}}};return M[T.name]=u0({value:T.value,ctx:G,logger:e.options.logger}),M},{});d.$workflows[B.workflowId].inputs={...d.$workflows[B.workflowId].inputs,...j}}bE(n,e.options.logger);const k=await re({workflowInput:B,ctx:d,skipLineSeparator:!0,parentStepId:n,invocationContext:`Child workflow of step ${n}`,executedStepsCount:r});e.executedSteps.push(k);const v={};if(u?.outputs){try{for(const[j,M]of Object.entries(u.outputs))v[j]=qu({payload:M,context:{$outputs:d.$outputs?.[B.workflowId]||{}},logger:e.options.logger})}catch(j){const M={name:Su.UNEXPECTED_ERROR,message:j.message,passed:!1,severity:e.severity.UNEXPECTED_ERROR};u.checks.push(M)}e.$steps[n]={outputs:v},o?.workflowId&&(e.$workflows[o.workflowId].steps[n]={outputs:v,request:void 0,response:void 0})}return{shouldEnd:!1}}if(e.executedSteps.push(u),r.value++,r.value>e.options.maxSteps)return u.checks.push({name:Su.MAX_STEPS_REACHED_ERROR,message:`Max steps (${e.options.maxSteps}) reached`,passed:!1,severity:e.severity.MAX_STEPS_REACHED_ERROR}),{shouldEnd:!0};if(e.options.executionTimeout&&t0.getInstance(e.options.executionTimeout).isTimedOut())return u.checks.push({name:Su.GLOBAL_TIMEOUT_ERROR,message:"Global Respect timer reached",passed:!1,severity:e.severity.GLOBAL_TIMEOUT_ERROR}),{shouldEnd:!0};if(F&&F.length){const B=F.find(d=>!("in"in ue(d,e)));if(B)throw new Error(`Parameter "in" is required for ${n} step parameter ${B.name}`)}let y=!1,f;try{if(!a)throw new Error("Workflow name is required to run a step");f=await Heu(e,u,a);const B=await yeu({ctx:e,workflowId:a,step:u,requestData:f});y=Object.values(B).every(d=>d)}catch(B){u.verboseLog=e.apiClient.getVerboseResponseLogs();const d={name:Su.UNEXPECTED_ERROR,message:B.message,passed:!1,severity:e.severity.UNEXPECTED_ERROR};u.checks.push(d)}const A=e.options.verbose?e.apiClient.getVerboseLogs():void 0,h=e.options.verbose?e.apiClient.getVerboseResponseLogs():void 0,m=f?.path||f?.serverUrl?.url;if(m?AE({testNameToDisplay:`${f?.method.toUpperCase()} ${jr(m)}${u.stepId?` ${Mu("- step")} ${jr(d0(u.stepId))}`:""}`,checks:u.checks,verboseLogs:A,verboseResponseLogs:h,logger:e.options.logger}):fE(u,e.options.logger),!y){const B=await g(D,"failure",r);if(B?.retriesLeft&&B.retriesLeft>0)return B.stepResult;if(B?.shouldEnd)return{shouldEnd:!0}}if(c.length&&y&&(await g(c,"success",r))?.shouldEnd)return{shouldEnd:!0};async function g(B=[],d,k){for(const v of B){const{type:j,criteria:M}=v;if(v.workflowId&&v.stepId)throw new Error(`Cannot use both workflowId: ${v.workflowId} and stepId: ${v.stepId} in ${v.type} action`);if(Ft({workflowId:a,step:u,criteria:M,ctx:e}).every(G=>G.passed)){const G=v.workflowId?u0({value:v.workflowId,ctx:e,logger:e.options.logger}):void 0,_=v.workflowId&&G?await Ti(v.workflowId,G,e,e.options.config):{...e,executedSteps:[]},L=v.stepId?v.stepId:void 0;if(j==="retry"){const{retryAfter:Z,retryLimit:X=0}=v;if(i=i??X,u.retriesLeft=i,i===0)return{retriesLeft:0,shouldEnd:!1};if(Z&&await zeu(Z),(G||L)&&rn({stepId:n,actionName:v.name,kind:d,logger:e.options.logger}),G){const lu=await re({workflowInput:G,ctx:_,skipLineSeparator:!0,invocationContext:`Retry action for step ${n}`,executedStepsCount:k,retriesLeft:i-1});e.executedSteps.push(lu)}else if(L){const lu=o?.steps.find(mu=>mu.stepId===L);if(!lu)throw new Error(`Step ${L} not found in workflow ${a}`);await Ki({step:lu,ctx:_,workflowId:a,executedStepsCount:k})}return e.options.logger.output(`
|
|
91
91
|
Retrying step ${Mu(n)} (${X-i+1}/${X})
|
|
92
92
|
`),{stepResult:await Ki({step:u,ctx:e,workflowId:a,retriesLeft:i-1,executedStepsCount:k}),retriesLeft:i}}else{if(j==="end")return{shouldEnd:!0};if(j==="goto"){if(!G&&!L)throw new Error("Either workflowId or stepId must be provided in goto action");(G||L)&&rn({stepId:n,actionName:v.name,kind:d,logger:e.options.logger});const Z=await re({workflowInput:G||o,ctx:_,fromStepId:L,skipLineSeparator:!0,invocationContext:`Goto from step ${n}`,executedStepsCount:k});return e.executedSteps.push(Z),{shouldEnd:!0}}}break}}if(d==="failure")return{shouldEnd:!0}}}function ja(u){if(u){if(typeof u=="string")return u.includes(",")?u.split(",").map(e=>e.trim()):[u];if(Array.isArray(u)){const e=[];for(const a of u)a.includes(",")?e.push(...a.split(",").map(i=>i.trim())):e.push(a);return e}}}async function _eu({options:u,collectSpecData:e,executedStepsCount:a}){const i={...u,filePath:u.file,metadata:{...u}},r=await Z4({filePath:u.file,collectSpecData:e,version:u?.version,logger:u.logger,externalRefResolver:u?.externalRefResolver,skipLint:u?.skipLint});return await Veu({testDescription:r,options:i,executedStepsCount:a})}async function Veu({testDescription:u,options:e,executedStepsCount:a}){const i=new RE({fetch:e.fetch}),r=await Y4(u,e,i),o=ja(e.workflow),n=ja(e.skip),t=QX({workflows:r.workflows,workflowsToRun:o,workflowsToSkip:n,logger:r.options.logger}),s=[];for(const l of t){r.executedSteps=[],l.dependsOn?.length&&await $eu({workflow:l,ctx:r,config:e.config,executedStepsCount:a});const E=await re({workflowInput:l.workflowId,ctx:r,executedStepsCount:a});s.push(E)}return{ctx:r,executedWorkflows:s}}async function re({workflowInput:u,ctx:e,fromStepId:a,skipLineSeparator:i,parentStepId:r,invocationContext:o,executedStepsCount:n,retriesLeft:t}){const{logger:s}=e.options,l=performance.now(),E=au.pathBrowserifyExports.basename(e.options.filePath),D=typeof u=="string"?e.workflows.find(m=>m.workflowId===u):u;if(!D)throw new Error(`
|
|
93
93
|
${Mu("Workflow")} ${u} ${Mu("not found")}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as b1, t as bl, c as zu, p as $u, f as Bl, g as d0, h as re, k as wr, l as Kr, m as Al, n as fl, o as B1, q as yl, u as zl, v as Ka, w as Sl, x as jl, y as Ml, z as Pl } from "./replay-index-
|
|
1
|
+
import { b as b1, t as bl, c as zu, p as $u, f as Bl, g as d0, h as re, k as wr, l as Kr, m as Al, n as fl, o as B1, q as yl, u as zl, v as Ka, w as Sl, x as jl, y as Ml, z as Pl } from "./replay-index-BZl4LCFm.js";
|
|
2
2
|
async function wl(u) {
|
|
3
3
|
const { descriptionPath: e, externalRefResolver: a, base: i } = u, r = await b1({
|
|
4
4
|
base: i,
|
|
@@ -9015,11 +9015,12 @@ async function at(u) {
|
|
|
9015
9015
|
extends: ["recommended-strict"],
|
|
9016
9016
|
arazzo1Rules: {
|
|
9017
9017
|
"no-criteria-xpath": "error",
|
|
9018
|
-
"
|
|
9018
|
+
"no-x-security-both-scheme-and-scheme-name": "error",
|
|
9019
9019
|
"no-x-security-scheme-name-without-openapi": "error",
|
|
9020
|
-
"
|
|
9020
|
+
"outputs-defined": "error",
|
|
9021
|
+
"respect-supported-versions": "warn",
|
|
9021
9022
|
"x-security-scheme-name-reference": "error",
|
|
9022
|
-
"
|
|
9023
|
+
"x-security-scheme-required-values": "error"
|
|
9023
9024
|
}
|
|
9024
9025
|
});
|
|
9025
9026
|
if (!n && (t = await jl({
|
|
@@ -13310,7 +13311,7 @@ async function iau(u, e, a) {
|
|
|
13310
13311
|
// encoding: stepRequestBodyEncoding,
|
|
13311
13312
|
contentType: f,
|
|
13312
13313
|
replacements: A
|
|
13313
|
-
} = await r3(e.requestBody, u), h = y
|
|
13314
|
+
} = await r3(e.requestBody, u), h = y !== void 0 ? y : F?.requestBody, m = f || F?.contentType, g = C1(
|
|
13314
13315
|
// order is important here, the last one wins
|
|
13315
13316
|
zu(h) || Array.isArray(h) ? [{ in: "header", name: "content-type", value: "application/json" }] : [],
|
|
13316
13317
|
c?.parameters || [],
|