i.set(g, u), Object.assign({}, u) ); }); } !(function t(n, r, i) { if ('object' != typeof n || null === n) return; const u = \`\${r.name}::\${i}\`; if (!l.has(u)) if ((l.add(u), Array.isArray(n))) { const e = r.items; if (r !== m && void 0 === e) return; for (let r = 0; r < n.length; r++) t(n[r], e || m, a.joinPointer(i, r)); } else { for (const e of Object.keys(n)) { let o = n[e], l = r.properties[e]; void 0 === l && (l = r.additionalProperties), 'function' == typeof l && (l = l(o, e)), void 0 === l && (l = m), !s.isNamedType(l) && (null == l ? void 0 : l.directResolveAs) && ((l = l.directResolveAs), (o = { $ref: o })), l && void 0 === l.name && !1 !== l.resolvable && (l = g), s.isNamedType(l) && 'object' == typeof o && t(o, l, a.joinPointer(i, a.escapePointer(e))); } if (a.isRef(n)) { const t = d(o, n, { prev: null, node: n }).then(t => { t.resolved && e(t.node, t.document, t.nodePointer, r); }); c.push(t); } } })(t, p, o.source.absoluteRef + u); })(t.parsed, t, '#/', o); do { u = yield Promise.all(c); } while (c.length !== u.length); return i; }); }; }, 7275: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.validateJsonSchema = t.releaseAjvInstance = void 0); const r = n(5499), o = n(7468); let i = null; (t.releaseAjvInstance = function () { i = null; }), (t.validateJsonSchema = function (e, t, n, a, s, l) { const c = (function (e, t, n, o) { const a = (function (e, t) { return ( i || (i = new r.default({ schemaId: '$id', meta: !0, allErrors: !0, strictSchema: !1, inlineRefs: !1, validateSchema: !1, discriminator: !0, allowUnionTypes: !0, validateFormats: !1, defaultAdditionalProperties: !t, loadSchemaSync(t, n) { const r = e({ $ref: n }, t.split('#')[0]); return ( !(!r || !r.location) && Object.assign( { $id: r.location.absolutePointer }, r.node ) ); }, logger: !1 })), i ); })(n, o); return ( a.getSchema(t.absolutePointer) || a.addSchema( Object.assign({ $id: t.absolutePointer }, e), t.absolutePointer ), a.getSchema(t.absolutePointer) ); })(t, n, s, l); return c ? { valid: !!c(e, { instancePath: a, parentData: { fake: {} }, parentDataProperty: 'fake', rootData: {}, dynamicAnchors: {} }), errors: (c.errors || []).map(function (e) { let t = e.message, n = 'enum' === e.keyword ? e.params.allowedValues : void 0; n && (t += \` \${n.map(e => \`"\${e}"\`).join(', ')}\`), 'type' === e.keyword && (t = \`type \${t}\`); const r = e.instancePath.substring(a.length + 1), i = r.substring(r.lastIndexOf('/') + 1); if ( (i && (t = \`\\\`\${i}\\\` property \${t}\`), 'additionalProperties' === e.keyword) ) { const n = e.params.additionalProperty; (t = \`\${t} \\\`\${n}\\\`\`), (e.instancePath += '/' + o.escapePointer(n)); } return Object.assign(Object.assign({}, e), { message: t, suggest: n }); }) } : { valid: !0, errors: [] }; }); }, 9740: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.asserts = t.runOnValuesSet = t.runOnKeysSet = void 0); const r = n(771), o = n(5738); (t.runOnKeysSet = new Set([ 'mutuallyExclusive', 'mutuallyRequired', 'enum', 'pattern', 'minLength', 'maxLength', 'casing', 'sortOrder', 'disallowed', 'required', 'requireAny', 'ref' ])), (t.runOnValuesSet = new Set([ 'pattern', 'enum', 'defined', 'undefined', 'nonEmpty', 'minLength', 'maxLength', 'casing', 'sortOrder', 'ref' ])), (t.asserts = { pattern: (e, t, n) => { if (void 0 === e) return { isValid: !0 }; const i = r.isString(e) ? [e] : e, a = o.regexFromString(t); for (let t of i) if (!(null == a ? void 0 : a.test(t))) return { isValid: !1, location: r.isString(e) ? n : n.key() }; return { isValid: !0 }; }, enum: (e, t, n) => { if (void 0 === e) return { isValid: !0 }; const o = r.isString(e) ? [e] : e; for (let i of o) if (!t.includes(i)) return { isValid: !1, location: r.isString(e) ? n : n.child(i).key() }; return { isValid: !0 }; }, defined: (e, t = !0, n) => { const r = void 0 !== e; return { isValid: t ? r : !r, location: n }; }, required: (e, t, n) => { for (const r of t) if (!e.includes(r)) return { isValid: !1, location: n.key() }; return { isValid: !0 }; }, disallowed: (e, t, n) => { if (void 0 === e) return { isValid: !0 }; const o = r.isString(e) ? [e] : e; for (let i of o) if (t.includes(i)) return { isValid: !1, location: r.isString(e) ? n : n.child(i).key() }; return { isValid: !0 }; }, undefined: (e, t = !0, n) => { const r = void 0 === e; return { isValid: t ? r : !r, location: n }; }, nonEmpty: (e, t = !0, n) => { const r = null == e || '' === e; return { isValid: t ? !r : r, location: n }; }, minLength: (e, t, n) => void 0 === e ? { isValid: !0 } : { isValid: e.length >= t, location: n }, maxLength: (e, t, n) => void 0 === e ? { isValid: !0 } : { isValid: e.length <= t, location: n }, casing: (e, t, n) => { if (void 0 === e) return { isValid: !0 }; const o = r.isString(e) ? [e] : e; for (let i of o) { let o = !1; switch (t) { case 'camelCase': o = !!i.match(/^[a-z][a-zA-Z0-9]+$/g); break; case 'kebab-case': o = !!i.match(/^([a-z][a-z0-9]*)(-[a-z0-9]+)*$/g); break; case 'snake_case': o = !!i.match(/^([a-z][a-z0-9]*)(_[a-z0-9]+)*$/g); break; case 'PascalCase': o = !!i.match(/^[A-Z][a-zA-Z0-9]+$/g); break; case 'MACRO_CASE': o = !!i.match(/^([A-Z][A-Z0-9]*)(_[A-Z0-9]+)*$/g); break; case 'COBOL-CASE': o = !!i.match(/^([A-Z][A-Z0-9]*)(-[A-Z0-9]+)*$/g); break; case 'flatcase': o = !!i.match(/^[a-z][a-z0-9]+$/g); } if (!o) return { isValid: !1, location: r.isString(e) ? n : n.child(i).key() }; } return { isValid: !0 }; }, sortOrder: (e, t, n) => void 0 === e ? { isValid: !0 } : { isValid: o.isOrdered(e, t), location: n }, mutuallyExclusive: (e, t, n) => ({ isValid: o.getIntersectionLength(e, t) < 2, location: n.key() }), mutuallyRequired: (e, t, n) => ({ isValid: !(o.getIntersectionLength(e, t) > 0) || o.getIntersectionLength(e, t) === t.length, location: n.key() }), requireAny: (e, t, n) => ({ isValid: o.getIntersectionLength(e, t) >= 1, location: n.key() }), ref: (e, t, n, r) => { if (void 0 === r) return { isValid: !0 }; const i = r.hasOwnProperty('$ref'); if ('boolean' == typeof t) return { isValid: t ? i : !i, location: i ? n : n.key() }; const a = o.regexFromString(t); return { isValid: i && (null == a ? void 0 : a.test(r.$ref)), location: i ? n : n.key() }; } }); }, 4015: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.Assertions = void 0); const r = n(9740), o = n(5738); t.Assertions = e => { let t = []; const n = Object.values(e).filter( e => 'object' == typeof e && null !== e ); for (const [e, i] of n.entries()) { const n = (i.assertionId && \`\${i.assertionId} assertion\`) || \`assertion #\${e + 1}\`; if (!i.subject) throw new Error(\`\${n}: 'subject' is required\`); const a = Array.isArray(i.subject) ? i.subject : [i.subject], s = Object.keys(r.asserts) .filter(e => void 0 !== i[e]) .map(e => ({ assertId: n, name: e, conditions: i[e], message: i.message, severity: i.severity || 'error', suggest: i.suggest || [], runsOnKeys: r.runOnKeysSet.has(e), runsOnValues: r.runOnValuesSet.has(e) })), l = s.find(e => e.runsOnKeys && !e.runsOnValues), c = s.find(e => e.runsOnValues && !e.runsOnKeys); if (c && !i.property) throw new Error( \`\${c.name} can't be used on all keys. Please provide a single property.\` ); if (l && i.property) throw new Error( \`\${l.name} can't be used on a single property. Please use 'property'.\` ); for (const e of a) { const n = o.buildSubjectVisitor(i.property, s, i.context), r = o.buildVisitorObject(e, i.context, n); t.push(r); } } return t; }; }, 5738: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.regexFromString = t.isOrdered = t.getIntersectionLength = t.buildSubjectVisitor = t.buildVisitorObject = void 0); const r = n(7468), o = n(9740); function i({ values: e, rawValues: t, assert: n, location: r, report: i }) { const a = o.asserts[n.name](e, n.conditions, r, t); a.isValid || i({ message: n.message || \`The \${n.assertId} doesn't meet required conditions\`, location: a.location || r, forceSeverity: n.severity, suggest: n.suggest, ruleId: n.assertId }); } (t.buildVisitorObject = function (e, t, n) { if (!t) return { [e]: n }; let r = {}; const o = r; for (let n = 0; n < t.length; n++) { const o = t[n]; if (t.length === n + 1 && o.type === e) continue; const i = o.matchParentKeys, a = o.excludeParentKeys; if (i && a) throw new Error( "Both 'matchParentKeys' and 'excludeParentKeys' can't be under one context item" ); (r[o.type] = i || a ? { skip: (e, t) => i ? !i.includes(t) : a ? a.includes(t) : void 0 } : {}), (r = r[o.type]); } return (r[e] = n), o; }), (t.buildSubjectVisitor = function (e, t, n) { return ( o, { report: a, location: s, rawLocation: l, key: c, type: u, resolve: p, rawNode: d } ) => { var f; if (n) { const e = n[n.length - 1]; if (e.type === u.name) { const t = e.matchParentKeys, n = e.excludeParentKeys; if (t && !t.includes(c)) return; if (n && n.includes(c)) return; } } e && (e = Array.isArray(e) ? e : [e]); for (const n of t) { const t = 'ref' === n.name ? l : s; if (e) for (const s of e) i({ values: r.isRef(o[s]) ? null === (f = p(o[s])) || void 0 === f ? void 0 : f.node : o[s], rawValues: d[s], assert: n, location: t.child(s), report: a }); else { const e = 'ref' === n.name ? d : Object.keys(o); i({ values: Object.keys(o), rawValues: e, assert: n, location: t, report: a }); } } }; }), (t.getIntersectionLength = function (e, t) { const n = new Set(t); let r = 0; for (const t of e) n.has(t) && r++; return r; }), (t.isOrdered = function (e, t) { const n = t.direction || t, r = t.property; for (let t = 1; t < e.length; t++) { let o = e[t], i = e[t - 1]; if (r) { if (!e[t][r] || !e[t - 1][r]) return !1; (o = e[t][r]), (i = e[t - 1][r]); } if (!('asc' === n ? o >= i : o <= i)) return !1; } return !0; }), (t.regexFromString = function (e) { const t = e.match(/^\\/(.*)\\/(.*)|(.*)/); return t && new RegExp(t[1] || t[3], t[2]); }); }, 8265: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.InfoContact = void 0); const r = n(780); t.InfoContact = () => ({ Info(e, { report: t, location: n }) { e.contact || t({ message: r.missingRequiredField('Info', 'contact'), location: n.child('contact').key() }); } }); }, 8675: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.InfoDescription = void 0); const r = n(780); t.InfoDescription = () => ({ Info(e, t) { r.validateDefinedAndNonEmpty('description', e, t); } }); }, 9622: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.InfoLicense = void 0); const r = n(780); t.InfoLicense = () => ({ Info(e, { report: t }) { e.license || t({ message: r.missingRequiredField('Info', 'license'), location: { reportOnKey: !0 } }); } }); }, 476: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.InfoLicenseUrl = void 0); const r = n(780); t.InfoLicenseUrl = () => ({ License(e, t) { r.validateDefinedAndNonEmpty('url', e, t); } }); }, 3467: function (e, t) { 'use strict'; function n(e, t) { const n = e.split('/'), r = t.split('/'); if (n.length !== r.length) return !1; let o = 0, i = 0, a = !0; for (let e = 0; e < n.length; e++) { const t = n[e].match(/^{.+?}$/), s = r[e].match(/^{.+?}$/); t || s ? (t && o++, s && i++) : n[e] !== r[e] && (a = !1); } return a && o === i; } Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoAmbiguousPaths = void 0), (t.NoAmbiguousPaths = () => ({ PathMap(e, { report: t, location: r }) { const o = []; for (const i of Object.keys(e)) { const e = o.find(e => n(e, i)); e && t({ message: \`Paths should resolve unambiguously. Found two ambiguous paths: \\\`\${e}\\\` and \\\`\${i}\\\`.\`, location: r.child([i]).key() }), o.push(i); } } })); }, 2319: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoEnumTypeMismatch = void 0); const r = n(780); t.NoEnumTypeMismatch = () => ({ Schema(e, { report: t, location: n }) { if (!e.enum || Array.isArray(e.enum)) { if (e.enum && e.type && !Array.isArray(e.type)) { const o = e.enum.filter( t => !r.matchesJsonSchemaType(t, e.type, e.nullable) ); for (const i of o) t({ message: \`All values of \\\`enum\\\` field must be of the same type as the \\\`type\\\` field: expected "\${ e.type }" but received "\${r.oasTypeOf(i)}".\`, location: n.child(['enum', e.enum.indexOf(i)]) }); } if (e.enum && e.type && Array.isArray(e.type)) { const o = {}; for (const t of e.enum) { o[t] = []; for (const n of e.type) r.matchesJsonSchemaType(t, n, e.nullable) || o[t].push(n); o[t].length !== e.type.length && delete o[t]; } for (const r of Object.keys(o)) t({ message: \`Enum value \\\`\${r}\\\` must be of one type. Allowed types: \\\`\${e.type}\\\`.\`, location: n.child(['enum', e.enum.indexOf(r)]) }); } } } }); }, 525: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoHttpVerbsInPaths = void 0); const r = n(771), o = [ 'get', 'head', 'post', 'put', 'patch', 'delete', 'options', 'trace' ]; t.NoHttpVerbsInPaths = ({ splitIntoWords: e }) => ({ PathItem(t, { key: n, report: i, location: a }) { const s = n.toString(); if (!s.startsWith('/')) return; const l = s.split('/'); for (const t of l) { if (!t || r.isPathParameter(t)) continue; const n = n => e ? r.splitCamelCaseIntoWords(t).has(n) : t.toLocaleLowerCase().includes(n); for (const e of o) n(e) && i({ message: \`path \\\`\${s}\\\` should not contain http verb \${e}\`, location: a.key() }); } } }); }, 4628: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoIdenticalPaths = void 0), (t.NoIdenticalPaths = () => ({ PathMap(e, { report: t, location: n }) { const r = new Map(); for (const o of Object.keys(e)) { const e = o.replace(/{.+?}/g, '{VARIABLE}'), i = r.get(e); i ? t({ message: \`The path already exists which differs only by path parameter name(s): \\\`\${i}\\\` and \\\`\${o}\\\`.\`, location: n.child([o]).key() }) : r.set(e, o); } } })); }, 1562: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoInvalidParameterExamples = void 0); const r = n(780); t.NoInvalidParameterExamples = e => { var t; const n = null === (t = e.disallowAdditionalProperties) || void 0 === t || t; return { Parameter: { leave(e, t) { if ( (e.example && r.validateExample( e.example, e.schema, t.location.child('example'), t, n ), e.examples) ) for (const [n, o] of Object.entries(e.examples)) 'value' in o && r.validateExample( o.value, e.schema, t.location.child(['examples', n]), t, !1 ); } } }; }; }, 78: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoInvalidSchemaExamples = void 0); const r = n(780); t.NoInvalidSchemaExamples = e => { var t; const n = null === (t = e.disallowAdditionalProperties) || void 0 === t || t; return { Schema: { leave(e, t) { if (e.examples) for (const o of e.examples) r.validateExample( o, e, t.location.child(['examples', e.examples.indexOf(o)]), t, n ); e.example && r.validateExample( e.example, e, t.location.child('example'), t, !1 ); } } }; }; }, 700: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.NoPathTrailingSlash = void 0), (t.NoPathTrailingSlash = () => ({ PathItem(e, { report: t, key: n, location: r }) { n.endsWith('/') && '/' !== n && t({ message: \`\\\`\${n}\\\` should not have a trailing slash.\`, location: r.key() }); } })); }, 5946: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.Operation2xxResponse = void 0), (t.Operation2xxResponse = () => ({ ResponsesMap(e, { report: t }) { Object.keys(e).some( e => 'default' === e || /2[Xx0-9]{2}/.test(e) ) || t({ message: 'Operation must have at least one \`2xx\` response.', location: { reportOnKey: !0 } }); } })); }, 5281: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.Operation4xxResponse = void 0), (t.Operation4xxResponse = () => ({ ResponsesMap(e, { report: t }) { Object.keys(e).some(e => /4[Xx0-9]{2}/.test(e)) || t({ message: 'Operation must have at least one \`4xx\` response.', location: { reportOnKey: !0 } }); } })); }, 3408: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationDescription = void 0); const r = n(780); t.OperationDescription = () => ({ Operation(e, t) { r.validateDefinedAndNonEmpty('description', e, t); } }); }, 8742: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationIdUnique = void 0), (t.OperationIdUnique = () => { const e = new Set(); return { Operation(t, { report: n, location: r }) { t.operationId && (e.has(t.operationId) && n({ message: 'Every operation must have a unique \`operationId\`.', location: r.child([t.operationId]) }), e.add(t.operationId)); } }; }); }, 5064: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationIdUrlSafe = void 0); const n = /^[A-Za-z0-9-._~:/?#\\[\\]@!\\$&'()*+,;=]*$/; t.OperationIdUrlSafe = () => ({ Operation(e, { report: t, location: r }) { e.operationId && !n.test(e.operationId) && t({ message: 'Operation \`operationId\` should not have URL invalid characters.', location: r.child(['operationId']) }); } }); }, 8786: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationOperationId = void 0); const r = n(780); t.OperationOperationId = () => ({ DefinitionRoot: { PathItem: { Operation(e, t) { r.validateDefinedAndNonEmpty('operationId', e, t); } } } }); }, 4112: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationParametersUnique = void 0), (t.OperationParametersUnique = () => { let e, t; return { PathItem: { enter() { e = new Set(); }, Parameter(t, { report: n, key: r, parentLocations: o }) { const i = \`\${t.in}___\${t.name}\`; e.has(i) && n({ message: \`Paths must have unique \\\`name\\\` + \\\`in\\\` parameters.\\nRepeats of \\\`in:\${t.in}\\\` + \\\`name:\${t.name}\\\`.\`, location: o.PathItem.child(['parameters', r]) }), e.add(\`\${t.in}___\${t.name}\`); }, Operation: { enter() { t = new Set(); }, Parameter(e, { report: n, key: r, parentLocations: o }) { const i = \`\${e.in}___\${e.name}\`; t.has(i) && n({ message: \`Operations must have unique \\\`name\\\` + \\\`in\\\` parameters. Repeats of \\\`in:\${e.in}\\\` + \\\`name:\${e.name}\\\`.\`, location: o.Operation.child(['parameters', r]) }), t.add(i); } } } }; }); }, 7892: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationSecurityDefined = void 0), (t.OperationSecurityDefined = () => { let e = new Map(); return { DefinitionRoot: { leave(t, { report: n }) { for (const [t, r] of e.entries()) if (!r.defined) for (const e of r.from) n({ message: \`There is no \\\`\${t}\\\` security scheme defined.\`, location: e.key() }); } }, SecurityScheme(t, { key: n }) { e.set(n.toString(), { defined: !0, from: [] }); }, SecurityRequirement(t, { location: n }) { for (const r of Object.keys(t)) { const t = e.get(r), o = n.child([r]); t ? t.from.push(o) : e.set(r, { from: [o] }); } } }; }); }, 8613: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationSingularTag = void 0), (t.OperationSingularTag = () => ({ Operation(e, { report: t, location: n }) { e.tags && e.tags.length > 1 && t({ message: 'Operation \`tags\` object should have only one tag.', location: n.child(['tags']).key() }); } })); }, 9578: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationSummary = void 0); const r = n(780); t.OperationSummary = () => ({ Operation(e, t) { r.validateDefinedAndNonEmpty('summary', e, t); } }); }, 5097: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OperationTagDefined = void 0), (t.OperationTagDefined = () => { let e; return { DefinitionRoot(t) { var n; e = new Set( (null !== (n = t.tags) && void 0 !== n ? n : []).map( e => e.name ) ); }, Operation(t, { report: n, location: r }) { if (t.tags) for (let o = 0; o < t.tags.length; o++) e.has(t.tags[o]) || n({ message: 'Operation tags should be defined in global tags.', location: r.child(['tags', o]) }); } }; }); }, 3529: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.ParameterDescription = void 0), (t.ParameterDescription = () => ({ Parameter(e, { report: t, location: n }) { void 0 === e.description ? t({ message: 'Parameter object description must be present.', location: { reportOnKey: !0 } }) : e.description || t({ message: 'Parameter object description must be non-empty string.', location: n.child(['description']) }); } })); }, 7890: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathDeclarationMustExist = void 0), (t.PathDeclarationMustExist = () => ({ PathItem(e, { report: t, key: n }) { -1 !== n.indexOf('{}') && t({ message: 'Path parameter declarations must be non-empty. \`{}\` is invalid.', location: { reportOnKey: !0 } }); } })); }, 3689: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathExcludesPatterns = void 0), (t.PathExcludesPatterns = ({ patterns: e }) => ({ PathItem(t, { report: n, key: r, location: o }) { if (!e) throw new Error( 'Parameter "patterns" is not provided for "path-excludes-patterns" rule' ); const i = r.toString(); if (i.startsWith('/')) { const t = e.filter(e => i.match(e)); for (const e of t) n({ message: \`path \\\`\${i}\\\` should not match regex pattern: \\\`\${e}\\\`\`, location: o.key() }); } } })); }, 2332: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathHttpVerbsOrder = void 0); const n = [ 'get', 'head', 'post', 'put', 'patch', 'delete', 'options', 'trace' ]; t.PathHttpVerbsOrder = e => { const t = (e && e.order) || n; if (!Array.isArray(t)) throw new Error( 'path-http-verbs-order \`order\` option must be an array' ); return { PathItem(e, { report: n, location: r }) { const o = Object.keys(e).filter(e => t.includes(e)); for (let e = 0; e < o.length - 1; e++) { const i = t.indexOf(o[e]); t.indexOf(o[e + 1]) < i && n({ message: 'Operation http verbs must be ordered.', location: Object.assign( { reportOnKey: !0 }, r.child(o[e + 1]) ) }); } } }; }; }, 5023: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathNotIncludeQuery = void 0), (t.PathNotIncludeQuery = () => ({ PathMap: { PathItem(e, { report: t, key: n }) { n.toString().includes('?') && t({ message: "Don't put query string items in the path, they belong in parameters with \`in: query\`.", location: { reportOnKey: !0 } }); } } })); }, 7421: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathParamsDefined = void 0); const n = /\\{([a-zA-Z0-9_.-]+)\\}+/g; t.PathParamsDefined = () => { let e, t, r; return { PathItem: { enter(o, { key: i }) { (t = new Set()), (r = i), (e = new Set( Array.from(i.toString().matchAll(n)).map(e => e[1]) )); }, Parameter(n, { report: o, location: i }) { 'path' === n.in && n.name && (t.add(n.name), e.has(n.name) || o({ message: \`Path parameter \\\`\${n.name}\\\` is not used in the path \\\`\${r}\\\`.\`, location: i.child(['name']) })); }, Operation: { leave(n, { report: o, location: i }) { for (const n of Array.from(e.keys())) t.has(n) || o({ message: \`The operation does not define the path parameter \\\`{\${n}}\\\` expected by path \\\`\${r}\\\`.\`, location: i.child(['parameters']).key() }); }, Parameter(n, { report: o, location: i }) { 'path' === n.in && n.name && (t.add(n.name), e.has(n.name) || o({ message: \`Path parameter \\\`\${n.name}\\\` is not used in the path \\\`\${r}\\\`.\`, location: i.child(['name']) })); } } } }; }; }, 3807: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathSegmentPlural = void 0); const r = n(771); t.PathSegmentPlural = e => { const { ignoreLastPathSegment: t, exceptions: n } = e; return { PathItem: { leave(e, { report: o, key: i, location: a }) { const s = i.toString(); if (s.startsWith('/')) { const e = s.split('/'); e.shift(), t && e.length > 1 && e.pop(); for (const t of e) (n && n.includes(t)) || (!r.isPathParameter(t) && r.isSingular(t) && o({ message: \`path segment \\\`\${t}\\\` should be plural.\`, location: a.key() })); } } } }; }; }, 9527: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.PathsKebabCase = void 0), (t.PathsKebabCase = () => ({ PathItem(e, { report: t, key: n }) { n .substr(1) .split('/') .filter(e => '' !== e) .every(e => /^{.+}$/.test(e) || /^[a-z0-9-.]+$/.test(e)) || t({ message: \`\\\`\${n}\\\` does not use kebab-case.\`, location: { reportOnKey: !0 } }); } })); }, 5839: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.ResponseContainsHeader = void 0); const r = n(771); t.ResponseContainsHeader = e => { const t = e.names || {}; return { Operation: { Response: { enter: (e, { report: n, location: o, key: i }) => { var a; const s = t[i] || t[r.getMatchingStatusCodeRange(i)] || t[r.getMatchingStatusCodeRange(i).toLowerCase()] || []; for (const t of s) (null === (a = e.headers) || void 0 === a ? void 0 : a[t]) || n({ message: \`Response object must contain a "\${t}" header.\`, location: o.child('headers').key() }); } } } }; }; }, 5669: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.ScalarPropertyMissingExample = void 0); const r = n(1510), o = ['string', 'integer', 'number', 'boolean', 'null']; t.ScalarPropertyMissingExample = () => ({ SchemaProperties( e, { report: t, location: n, oasVersion: i, resolve: a } ) { for (const l of Object.keys(e)) { const c = a(e[l]).node; c && (s = c).type && !(s.allOf || s.anyOf || s.oneOf) && 'binary' !== s.format && (Array.isArray(s.type) ? s.type.every(e => o.includes(e)) : o.includes(s.type)) && void 0 === c.example && void 0 === c.examples && t({ message: \`Scalar property should have "example"\${ i === r.OasVersion.Version3_1 ? ' or "examples"' : '' } defined.\`, location: n.child(l).key() }); } var s; } }); }, 6471: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.OasSpec = void 0); const r = n(5220), o = n(780), i = n(7468), a = n(771); t.OasSpec = () => ({ any( e, { report: t, type: n, location: s, key: l, resolve: c, ignoreNextVisitorsOnNode: u } ) { var p, d, f, h; const m = o.oasTypeOf(e); if (n.items) return void ( 'array' !== m && (t({ message: \`Expected type \\\`\${n.name}\\\` (array) but got \\\`\${m}\\\`\` }), u()) ); if ('object' !== m) return ( t({ message: \`Expected type \\\`\${n.name}\\\` (object) but got \\\`\${m}\\\`\` }), void u() ); const g = 'function' == typeof n.required ? n.required(e, l) : n.required; for (let n of g || []) e.hasOwnProperty(n) || t({ message: \`The field \\\`\${n}\\\` must be present on this level.\`, location: [{ reportOnKey: !0 }] }); const y = null === (p = n.allowed) || void 0 === p ? void 0 : p.call(n, e); if (y && a.isPlainObject(e)) for (const r in e) y.includes(r) || (n.extensionsPrefix && r.startsWith(n.extensionsPrefix)) || !Object.keys(n.properties).includes(r) || t({ message: \`The field \\\`\${r}\\\` is not allowed here.\`, location: s.child([r]).key() }); const v = n.requiredOneOf || null; if (v) { let r = !1; for (let t of v || []) e.hasOwnProperty(t) && (r = !0); r || t({ message: \`Must contain at least one of the following fields: \${ null === (d = n.requiredOneOf) || void 0 === d ? void 0 : d.join(', ') }.\`, location: [{ reportOnKey: !0 }] }); } for (const a of Object.keys(e)) { const l = s.child([a]); let u = e[a], p = n.properties[a]; if ( (void 0 === p && (p = n.additionalProperties), 'function' == typeof p && (p = p(u, a)), r.isNamedType(p)) ) continue; const d = p, m = o.oasTypeOf(u); if (void 0 !== d) { if (null !== d) { if ( (!1 !== d.resolvable && i.isRef(u) && (u = c(u).node), d.enum) ) d.enum.includes(u) || t({ location: l, message: \`\\\`\${a}\\\` can be one of the following only: \${d.enum .map(e => \`"\${e}"\`) .join(', ')}.\`, suggest: o.getSuggest(u, d.enum) }); else if (d.type && !o.matchesJsonSchemaType(u, d.type, !1)) t({ message: \`Expected type \\\`\${d.type}\\\` but got \\\`\${m}\\\`.\`, location: l }); else if ( 'array' === m && (null === (f = d.items) || void 0 === f ? void 0 : f.type) ) { const e = null === (h = d.items) || void 0 === h ? void 0 : h.type; for (let n = 0; n < u.length; n++) { const r = u[n]; o.matchesJsonSchemaType(r, e, !1) || t({ message: \`Expected type \\\`\${e}\\\` but got \\\`\${o.oasTypeOf( r )}\\\`.\`, location: l.child([n]) }); } } 'number' == typeof d.minimum && d.minimum > e[a] && t({ message: \`The value of the \${a} field must be greater than or equal to \${d.minimum}\`, location: s.child([a]) }); } } else { if (a.startsWith('x-')) continue; t({ message: \`Property \\\`\${a}\\\` is not expected here.\`, suggest: o.getSuggest(a, Object.keys(n.properties)), location: l.key() }); } } } }); }, 7281: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.TagDescription = void 0); const r = n(780); t.TagDescription = () => ({ Tag(e, t) { r.validateDefinedAndNonEmpty('description', e, t); } }); }, 6855: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.TagsAlphabetical = void 0), (t.TagsAlphabetical = () => ({ DefinitionRoot(e, { report: t, location: n }) { if (e.tags) for (let r = 0; r < e.tags.length - 1; r++) e.tags[r].name > e.tags[r + 1].name && t({ message: 'The \`tags\` array should be in alphabetical order.', location: n.child(['tags', r]) }); } })); }, 348: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.reportUnresolvedRef = t.NoUnresolvedRefs = void 0); const r = n(4182); function o(e, t, n) { var o; const i = e.error; i instanceof r.YamlParseError && t({ message: 'Failed to parse: ' + i.message, location: { source: i.source, pointer: void 0, start: { col: i.col, line: i.line } } }); const a = null === (o = e.error) || void 0 === o ? void 0 : o.message; t({ location: n, message: "Can't resolve $ref" + (a ? ': ' + a : '') }); } (t.NoUnresolvedRefs = () => ({ ref: { leave(e, { report: t, location: n }, r) { void 0 === r.node && o(r, t, n); } }, DiscriminatorMapping(e, { report: t, resolve: n, location: r }) { for (const i of Object.keys(e)) { const a = n({ $ref: e[i] }); if (void 0 !== a.node) return; o(a, t, r.child(i)); } } })), (t.reportUnresolvedRef = o); }, 9566: function (e, t) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.BooleanParameterPrefixes = void 0), (t.BooleanParameterPrefixes = e => { const t = e.prefixes || ['is', 'has'], n = new RegExp(\`^(\${t.join('|')})[A-Z-_]\`), r = t.map(e => \`\\\`\${e}\\\`\`), o = 1 === r.length ? r[0] : r.slice(0, -1).join(', ') + ' or ' + r[t.length - 1]; return { Parameter(e, { report: t, location: r }) { 'boolean' !== e.type || n.test(e.name) || t({ message: \`Boolean parameter \\\`\${e.name}\\\` should have \${o} prefix.\`, location: r.child('name') }); } }; }); }, 7523: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.preprocessors = t.rules = void 0); const r = n(6471), o = n(78), i = n(1562), a = n(8675), s = n(8265), l = n(9622), c = n(476), u = n(9566), p = n(7281), d = n(6855), f = n(9527), h = n(2319), m = n(700), g = n(5946), y = n(5281), v = n(4015), b = n(8742), w = n(4112), x = n(7421), k = n(5097), _ = n(7890), O = n(5064), S = n(3408), E = n(5023), P = n(3529), A = n(8613), $ = n(7892), C = n(348), R = n(2332), j = n(4628), T = n(8786), I = n(9578), N = n(3467), D = n(525), L = n(3689), M = n(7028), F = n(1750), z = n(3807), U = n(5839), V = n(7899), B = n(5669); (t.rules = { spec: r.OasSpec, 'no-invalid-schema-examples': o.NoInvalidSchemaExamples, 'no-invalid-parameter-examples': i.NoInvalidParameterExamples, 'info-description': a.InfoDescription, 'info-contact': s.InfoContact, 'info-license': l.InfoLicense, 'info-license-url': c.InfoLicenseUrl, 'tag-description': p.TagDescription, 'tags-alphabetical': d.TagsAlphabetical, 'paths-kebab-case': f.PathsKebabCase, 'no-enum-type-mismatch': h.NoEnumTypeMismatch, 'boolean-parameter-prefixes': u.BooleanParameterPrefixes, 'no-path-trailing-slash': m.NoPathTrailingSlash, 'operation-2xx-response': g.Operation2xxResponse, 'operation-4xx-response': y.Operation4xxResponse, assertions: v.Assertions, 'operation-operationId-unique': b.OperationIdUnique, 'operation-parameters-unique': w.OperationParametersUnique, 'path-parameters-defined': x.PathParamsDefined, 'operation-tag-defined': k.OperationTagDefined, 'path-declaration-must-exist': _.PathDeclarationMustExist, 'operation-operationId-url-safe': O.OperationIdUrlSafe, 'operation-operationId': T.OperationOperationId, 'operation-summary': I.OperationSummary, 'operation-description': S.OperationDescription, 'path-not-include-query': E.PathNotIncludeQuery, 'path-params-defined': x.PathParamsDefined, 'parameter-description': P.ParameterDescription, 'operation-singular-tag': A.OperationSingularTag, 'operation-security-defined': $.OperationSecurityDefined, 'no-unresolved-refs': C.NoUnresolvedRefs, 'no-identical-paths': j.NoIdenticalPaths, 'no-ambiguous-paths': N.NoAmbiguousPaths, 'path-http-verbs-order': R.PathHttpVerbsOrder, 'no-http-verbs-in-paths': D.NoHttpVerbsInPaths, 'path-excludes-patterns': L.PathExcludesPatterns, 'request-mime-type': M.RequestMimeType, 'response-mime-type': F.ResponseMimeType, 'path-segment-plural': z.PathSegmentPlural, 'response-contains-header': U.ResponseContainsHeader, 'response-contains-property': V.ResponseContainsProperty, 'scalar-property-missing-example': B.ScalarPropertyMissingExample }), (t.preprocessors = {}); }, 4508: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.RemoveUnusedComponents = void 0); const r = n(771); t.RemoveUnusedComponents = () => { let e = new Map(); function t(t, n, r) { var o; e.set(t.absolutePointer, { used: (null === (o = e.get(t.absolutePointer)) || void 0 === o ? void 0 : o.used) || !1, componentType: n, name: r }); } return { ref: { leave(t, { type: n, resolve: r, key: o }) { if ( [ 'Schema', 'Parameter', 'Response', 'SecurityScheme' ].includes(n.name) ) { const n = r(t); if (!n.location) return; e.set(n.location.absolutePointer, { used: !0, name: o.toString() }); } } }, DefinitionRoot: { leave(t, n) { const o = n.getVisitorData(); o.removedCount = 0; let i = new Set(); e.forEach(e => { const { used: n, name: r, componentType: a } = e; !n && a && (i.add(a), delete t[a][r], o.removedCount++); }); for (const e of i) r.isEmptyObject(t[e]) && delete t[e]; } }, NamedSchemas: { Schema(e, { location: n, key: r }) { e.allOf || t(n, 'definitions', r.toString()); } }, NamedParameters: { Parameter(e, { location: n, key: r }) { t(n, 'parameters', r.toString()); } }, NamedResponses: { Response(e, { location: n, key: r }) { t(n, 'responses', r.toString()); } }, NamedSecuritySchemes: { SecurityScheme(e, { location: n, key: r }) { t(n, 'securityDefinitions', r.toString()); } } }; }; }, 7028: function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (t.RequestMimeType = void 0); const r = n(771); t.RequestMimeType = ({ allowedValues: e }) => ({ DefinitionRoot(t, n) { r.validateMimeType({ type: 'consumes', value: t }, n, e); }, Operation: { leave(t, n) { r.validateMimeType({ type: 'consumes', value: t }, n, e); } } }); }, 7899: function (e, t, n) { 'use strict'; Object