@redocly/cli 2.69.0 → 2.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/THIRD_PARTY_NOTICES +4 -301
  2. package/lib/chunks/{Y5EDVLKT.js → 23VRM4VC.js} +1 -1
  3. package/lib/chunks/{TOMEEMQR.js → 27HOIIUB.js} +1 -1
  4. package/lib/chunks/{SGRUTAKH.js → 2CMKIFTE.js} +1 -1
  5. package/lib/chunks/2NVGTELR.js +95 -0
  6. package/lib/chunks/{5VURBI3M.js → 2R2CXBRH.js} +1 -1
  7. package/lib/chunks/2WRUKWIG.js +7 -0
  8. package/lib/chunks/{4OPAFHK3.js → 2Y7MGFQS.js} +1 -1
  9. package/lib/chunks/{E3B6BHM3.js → 57DEU3FG.js} +1 -1
  10. package/lib/chunks/{S3LDGEL4.js → 636S3S3W.js} +1 -1
  11. package/lib/chunks/{4334I5GX.js → 6P2KU7XN.js} +1 -1
  12. package/lib/chunks/{INFNJGOA.js → 6RKDRRBP.js} +1 -1
  13. package/lib/chunks/{764NQBHQ.js → 7CBQD5PF.js} +1 -1
  14. package/lib/chunks/{52EURAWF.js → 7GM5RHYD.js} +1 -1
  15. package/lib/chunks/7PKQV3SS.js +19 -0
  16. package/lib/chunks/{XEYJ6MHT.js → 7R4MBJSO.js} +1 -1
  17. package/lib/chunks/{MNBKIEMZ.js → ACLT4ABL.js} +1 -1
  18. package/lib/chunks/{SDJSWREQ.js → AFZIICGE.js} +1 -1
  19. package/lib/chunks/{J4XH7HTA.js → AHEGLURA.js} +1 -1
  20. package/lib/chunks/{IN2HI2RR.js → B3GE7EIX.js} +1 -1
  21. package/lib/chunks/{3HTGTFY4.js → BD5WLGAJ.js} +1 -1
  22. package/lib/chunks/{3H5PZ4V3.js → BMAUX474.js} +1 -1
  23. package/lib/chunks/{NXGHUZ5Q.js → BU4AMVHN.js} +1 -1
  24. package/lib/chunks/{PF7QVU6V.js → BXUA6AY4.js} +2 -2
  25. package/lib/chunks/{P37LFEGZ.js → CKDLDSPG.js} +1 -1
  26. package/lib/chunks/{A6KGBL3N.js → DHP4BBTH.js} +1 -1
  27. package/lib/chunks/{UPPWQBGX.js → DP4HGK3H.js} +1 -1
  28. package/lib/chunks/{BKZRKQYB.js → DQDJVO3X.js} +1 -1
  29. package/lib/chunks/EH6VW7JO.js +7 -0
  30. package/lib/chunks/{EUQKOSKD.js → EHJFDQN5.js} +1 -1
  31. package/lib/chunks/{G2LRTVYX.js → EIXR5LCC.js} +1 -1
  32. package/lib/chunks/{DON4XZFC.js → EK7EYCIE.js} +1 -1
  33. package/lib/chunks/{DG7WQWAX.js → ERYWHU32.js} +1 -1
  34. package/lib/chunks/{55GMSQDD.js → ET2NAZFW.js} +1 -1
  35. package/lib/chunks/{7ACLT4MM.js → EV2R6OHD.js} +1 -1
  36. package/lib/chunks/{FJCA2RKB.js → FKKC7G6X.js} +1 -1
  37. package/lib/chunks/{ZARMFMXI.js → FXHPWQD4.js} +1 -1
  38. package/lib/chunks/{YICDVMCK.js → GBN5W6T3.js} +1 -1
  39. package/lib/chunks/{PSXVUJZM.js → HJWQEB7Y.js} +1 -1
  40. package/lib/chunks/{RDHOZ2UF.js → IPDHEEHQ.js} +1 -1
  41. package/lib/chunks/{G7M5ZI6N.js → JKDUUCNL.js} +1 -1
  42. package/lib/chunks/{2TS7TKLJ.js → JUWXQD7B.js} +1 -1
  43. package/lib/chunks/{QD6M6CHF.js → K4NCFIYY.js} +3 -3
  44. package/lib/chunks/{WES43REM.js → KGWCBODF.js} +1 -1
  45. package/lib/chunks/{W2B62OSA.js → LAML5K4D.js} +1 -1
  46. package/lib/chunks/{AT7HZJNK.js → LG6FRFOY.js} +1 -1
  47. package/lib/chunks/{NFLXGRQQ.js → LRMOPAZ4.js} +1 -1
  48. package/lib/chunks/{KYNWA75L.js → LS3G7CUH.js} +1 -1
  49. package/lib/chunks/LT6WLL3O.js +9 -0
  50. package/lib/chunks/{ECZUPR2N.js → M27ACSCI.js} +1 -1
  51. package/lib/chunks/{EU6GURJZ.js → M7TZ6KHD.js} +1 -1
  52. package/lib/chunks/{CPGIDBYI.js → MKYAX4HH.js} +1 -1
  53. package/lib/chunks/{QE4P4HKF.js → MOK3JA6R.js} +1 -1
  54. package/lib/chunks/{RDKZXSDY.js → MT4W54PL.js} +1 -1
  55. package/lib/chunks/{GJLQK75Q.js → NOS4FCD7.js} +1 -1
  56. package/lib/chunks/{IT5HS4O6.js → NZE22F7Q.js} +2 -2
  57. package/lib/chunks/{UQE7DXYL.js → ODGGZDFZ.js} +1 -1
  58. package/lib/chunks/{T6ZSC7T2.js → PF43QQZA.js} +2 -2
  59. package/lib/chunks/{D7HDYZLR.js → PL7WHX67.js} +1 -1
  60. package/lib/chunks/Q43RV27Q.js +7 -0
  61. package/lib/chunks/{Y4FNWDBX.js → QKUESS2C.js} +1 -1
  62. package/lib/chunks/{BVBLILPR.js → RGVTUA3V.js} +1 -1
  63. package/lib/chunks/{55SOSU5Q.js → RLJVKAOL.js} +1 -1
  64. package/lib/chunks/{73O3LNT4.js → RWKEGTOO.js} +1 -1
  65. package/lib/chunks/{RRXAPLFU.js → S56YFLS5.js} +1 -1
  66. package/lib/chunks/{PWZVPJLX.js → S6P42X5N.js} +1 -1
  67. package/lib/chunks/{3M4I4RF5.js → SV2XHB2S.js} +1 -1
  68. package/lib/chunks/{KXL2RBIR.js → T55LQK2H.js} +1 -1
  69. package/lib/chunks/{D5T6ETPZ.js → TPVY6XZX.js} +1 -1
  70. package/lib/chunks/U32PWLWM.js +14148 -0
  71. package/lib/chunks/U6PNFV4R.js +8 -0
  72. package/lib/chunks/{WR7K7X6E.js → UW36CSXE.js} +1 -1
  73. package/lib/chunks/{A7GSAEEX.js → WBWCX3LS.js} +3 -3
  74. package/lib/chunks/{7XYDSVIY.js → WKDC6LN3.js} +1 -1
  75. package/lib/chunks/{VOMZ2OLE.js → YNBDXA7I.js} +1 -1
  76. package/lib/chunks/{QZQVSDLN.js → YQZIKJQK.js} +1 -1
  77. package/lib/chunks/{LLJTDVWX.js → YYPD75S5.js} +1 -1
  78. package/lib/chunks/redoc.standalone.js +13869 -0
  79. package/lib/eject-assets/generators/cli/docs.ts +1 -1
  80. package/lib/eject-assets/generators/cli/engine-source.ts +1 -1
  81. package/lib/eject-assets/generators/cli/index.ts +2 -2
  82. package/lib/eject-assets/generators/cli/render.ts +1 -1
  83. package/lib/eject-assets/generators/go/client.ts +1 -1
  84. package/lib/eject-assets/generators/go/descriptor.ts +1 -1
  85. package/lib/eject-assets/generators/go/index.ts +2 -2
  86. package/lib/eject-assets/generators/go/models.ts +1 -1
  87. package/lib/eject-assets/generators/go/naming.ts +1 -1
  88. package/lib/eject-assets/generators/go/operations.ts +1 -1
  89. package/lib/eject-assets/generators/go/pagination.ts +1 -1
  90. package/lib/eject-assets/generators/go/types.ts +1 -1
  91. package/lib/eject-assets/generators/mock/faker.ts +1 -1
  92. package/lib/eject-assets/generators/mock/index.ts +2 -2
  93. package/lib/eject-assets/generators/mock/render.ts +1 -1
  94. package/lib/eject-assets/generators/mock/sample.ts +1 -1
  95. package/lib/eject-assets/generators/mock/values.ts +1 -1
  96. package/lib/eject-assets/generators/php/client.ts +1 -1
  97. package/lib/eject-assets/generators/php/descriptor.ts +1 -1
  98. package/lib/eject-assets/generators/php/index.ts +2 -2
  99. package/lib/eject-assets/generators/php/models.ts +1 -1
  100. package/lib/eject-assets/generators/php/naming.ts +1 -1
  101. package/lib/eject-assets/generators/php/operations.ts +1 -1
  102. package/lib/eject-assets/generators/php/pagination.ts +1 -1
  103. package/lib/eject-assets/generators/php/types.ts +1 -1
  104. package/lib/eject-assets/generators/python/client.ts +1 -1
  105. package/lib/eject-assets/generators/python/descriptor.ts +1 -1
  106. package/lib/eject-assets/generators/python/index.ts +2 -2
  107. package/lib/eject-assets/generators/python/models.ts +1 -1
  108. package/lib/eject-assets/generators/python/naming.ts +1 -1
  109. package/lib/eject-assets/generators/python/operations.ts +1 -1
  110. package/lib/eject-assets/generators/python/pagination.ts +1 -1
  111. package/lib/eject-assets/generators/python/types.ts +1 -1
  112. package/lib/eject-assets/generators/swr/index.ts +2 -2
  113. package/lib/eject-assets/generators/swr/render.ts +1 -1
  114. package/lib/eject-assets/generators/tanstack-query/index.ts +2 -2
  115. package/lib/eject-assets/generators/tanstack-query/render.ts +1 -1
  116. package/lib/eject-assets/generators/transformers/index.ts +2 -2
  117. package/lib/eject-assets/generators/transformers/render.ts +1 -1
  118. package/lib/eject-assets/generators/typescript/banner.ts +1 -1
  119. package/lib/eject-assets/generators/typescript/client.ts +1 -1
  120. package/lib/eject-assets/generators/typescript/descriptor.ts +1 -1
  121. package/lib/eject-assets/generators/typescript/index.ts +2 -2
  122. package/lib/eject-assets/generators/typescript/inline-runtime.ts +1 -1
  123. package/lib/eject-assets/generators/typescript/operation-signature.ts +1 -1
  124. package/lib/eject-assets/generators/typescript/operation-types.ts +1 -1
  125. package/lib/eject-assets/generators/typescript/operations.ts +1 -1
  126. package/lib/eject-assets/generators/typescript/response-headers.ts +1 -1
  127. package/lib/eject-assets/generators/typescript/type-guards.ts +1 -1
  128. package/lib/eject-assets/generators/typescript/types.ts +1 -1
  129. package/lib/eject-assets/generators/zod/index.ts +2 -2
  130. package/lib/eject-assets/generators/zod/schemas.ts +1 -1
  131. package/lib/index.js +77 -77
  132. package/lib/skills/redocly-cli/SKILL.md +1 -1
  133. package/package.json +1 -1
  134. package/lib/chunks/243MQEX6.js +0 -7
  135. package/lib/chunks/3NMOCTX3.js +0 -8
  136. package/lib/chunks/4YZMWHFZ.js +0 -89
  137. package/lib/chunks/BS3Q5ILZ.js +0 -19
  138. package/lib/chunks/KLY5RV3W.js +0 -7
  139. package/lib/chunks/LNEYWAAB.js +0 -3156
  140. package/lib/chunks/RSQ3JLJS.js +0 -9
  141. package/lib/chunks/TZMWTSOQ.js +0 -7
  142. package/lib/chunks/UBGWKEEA.js +0 -7
  143. package/lib/chunks/UF2ZCH7W.js +0 -13
@@ -0,0 +1,8 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __pathDirname } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ var __filename = __fileURLToPath(import.meta.url);
6
+ var __dirname = __pathDirname(__filename);
7
+ import{a as C,e as P,g as L,h as v,i as R,k as V}from"./Q43RV27Q.js";import{u as S}from"./SV2XHB2S.js";import{_ as u,c as m,ga as k,t as I}from"./WBWCX3LS.js";var _=" ",z=" ";function _e(e){let t=Math.max(...e.map(o=>S(o).length)),n=t+z.length*2,r=_+u("\u2551"+" ".repeat(n)+"\u2551");return["",_+u("\u2554"+"\u2550".repeat(n)+"\u2557"),r,...e.map(o=>{let i=" ".repeat(t-S(o).length);return`${_}${u("\u2551")}${z}${o}${i}${z}${u("\u2551")}`}),r,_+u("\u255A"+"\u2550".repeat(n)+"\u255D"),"",""].join(`
8
+ `)}import{execSync as ne}from"node:child_process";import*as p from"node:fs";import{existsSync as re,writeFileSync as oe,readFileSync as M}from"node:fs";import*as $ from"node:os";import{tmpdir as U}from"node:os";import{dirname as J,join as A}from"node:path";async function F(e=L){try{let{fetchWithTimeout:t}=await import("./HHCU6T2V.js");return await t(P,{timeout:e}),!0}catch{return!1}}var y="***";function be(e){return process.env.REDOCLY_TELEMETRY!=="off"&&e?.resolvedConfig.telemetry!=="off"}async function Oe({config:e,argv:t,exit_code:n,execution_time:r,spec_version:o,spec_keyword:i,spec_full_version:s,respect_x_security_auth_types:c,respect_source_description_types:f,respect_criterion_object_types:N,lint_rules_with_errors:T,lint_rules_with_warnings:b,lint_rules_with_ignored_problems:O,generate_client:a,eject_generator:l,bundle:G}){try{if(!t||!await F(1e3))return;let{_:[h],$0:pe,...D}=t,{RedoclyOAuthClient:K,getReuniteUrl:H}=await import("./HJWQEB7Y.js"),q=new K(C),Q=H(e,D.residency),Z=await q.isAuthorized(Q),g=de();g||(g=`ann_${V()}`,ue(g));let E=k(o),X=[{id:h,object:"command",uri:`urn:redocly:cli:command:${h}`,logged_in:Z?"yes":"no",command:h,...ae(D,process.argv.slice(2)),node_version:process.version,npm_version:le(),version:C,exit_code:n,execution_time:r,metadata:process.env.REDOCLY_CLI_TELEMETRY_METADATA,environment_ci:process.env.CI,environment:process.env.REDOCLY_ENVIRONMENT,has_config:typeof e?.document?.parsed>"u"?"no":"yes",spec_version:o,spec_keyword:i,spec_full_version:s,respect_x_security_auth_types:E==="arazzo1"&&c?.length?JSON.stringify(c):void 0,respect_source_description_types:E==="arazzo1"&&f?.length?JSON.stringify(f):void 0,respect_criterion_object_types:E==="arazzo1"&&N?.length?JSON.stringify(N):void 0,lint_rules_with_errors:T?.length?JSON.stringify(T):void 0,lint_rules_with_warnings:b?.length?JSON.stringify(b):void 0,lint_rules_with_ignored_problems:O?.length?JSON.stringify(O):void 0,generate_client_builtin_generators:a?.generate_client_builtin_generators?.length?JSON.stringify(a.generate_client_builtin_generators):void 0,generate_client_custom_generators_count:a?.generate_client_custom_generators_count,generate_client_toolkit_imports:a?.generate_client_toolkit_imports?.length?JSON.stringify(a.generate_client_toolkit_imports):void 0,generate_client_error_category:a?.generate_client_error_category,generate_client_ejected_generators:a?.generate_client_ejected_generators?.length?JSON.stringify(a.generate_client_ejected_generators):void 0,generate_client_composed_apis_count:a?.generate_client_composed_apis_count,eject_generator_action:l?.eject_generator_action,eject_generator_name:l?.eject_generator_name,eject_generator_outcome:l?.eject_generator_outcome,eject_generator_conflicts:l?.eject_generator_conflicts,eject_generator_from_version:l?.eject_generator_from_version,eject_generator_to_version:l?.eject_generator_to_version,bundle_overlays_count:G?.bundle_overlays_count}],ee=R.mapToCloudEvent({type:"com.redocly.command.ran",source:"urn:redocly:cli",origin:"redocly-cli",env:"production",osPlatform:$.platform(),actor:{id:g,object:"user",uri:""},category:"product",data:X}),{otelTelemetry:te}=await import("./7PKQV3SS.js");te.send(ee)}catch{}}function De(e,t){for(let n of e.sourceDescriptions??[])n.type&&t.add(n.type)}function Ie(e,t){for(let n of e.workflows??[]){d(n.successActions,t),d(n.failureActions,t);for(let r of n.steps??[])W(r.successCriteria,t),d(r.onSuccess,t),d(r.onFailure,t)}d(Object.values(e.components?.successActions??{}),t),d(Object.values(e.components?.failureActions??{}),t)}function d(e,t){for(let n of e??[])W(n.criteria,t)}function W(e,t){for(let n of e??[]){let r=ie(n);r&&t.add(r)}}function ie(e){let t=e.type;return typeof t=="string"?t:t?.type||(e.condition?"simple":void 0)}function ke(e,t){for(let n of e.workflows??[]){for(let r of n["x-security"]??[]){let o=r.scheme;if(o?.type){let i=o.type==="http"?o.scheme:o.type;i&&t.add(i)}}for(let r of n.steps??[])for(let o of r["x-security"]??[]){let i=o.scheme;if(i?.type){let c=i.type==="http"?i.scheme:i.type;c&&t.add(c)}let s=o.schemeName;s&&t.add(s)}}}function se(e){return p.existsSync(e)&&p.statSync(e).isFile()}function ce(e){return p.existsSync(e)&&p.statSync(e).isDirectory()}function w(e){return e&&(I(e)?e.split("://")[0]+"://url":se(e)?e.replace(/.+\.([^.]+)$/,(t,n)=>"file-"+n):ce(e)?"folder":e)}function j(e,t,n){let r=Array.isArray(t)?t:[t];for(let o of r)o.length>1&&(e=e.replaceAll(o,n));return e}function Y(e,t){let n={};for(let[r,o]of Object.entries(e))t.includes(r)?n[r]=y:m(o)?n[r]=Y(o,t):n[r]=o;return n}function x(e,t,n=[]){if(Array.isArray(e))return e.forEach(r=>x(r,t,n)),n;if(m(e))for(let[r,o]of Object.entries(e))t.includes(r)&&typeof o=="string"?n.push(o):(m(o)||Array.isArray(o))&&x(o,t,n);return n}function ae(e,t){let n=["organization","o","input","i","author","a","clientCert","clientKey","caCert","server","S"],r=t.join(" "),o={};for(let[i,s]of Object.entries(e))if(n.includes(i))o[i]=y,r=j(r,s,y);else if(typeof s=="string"){let c=w(s);o[i]=c,r=j(r,s,c)}else if(Array.isArray(s)){o[i]=s.map(w);for(let c of s){let f=w(c);r.includes(c)&&(r=r.replaceAll(c,f))}}else if(m(s)){let c=x(s,n);for(let f of c)r=j(r,f,y);o[i]=Y(s,n)}else o[i]=s;return{arguments:JSON.stringify(o),raw_input:r}}var fe=process.platform==="win32"?A(J(process.execPath),"node_modules","npm","package.json"):A(J(process.execPath),"..","lib","node_modules","npm","package.json");function le(){try{return JSON.parse(M(fe,"utf8")).version}catch{}try{return ne("npm -v",{stdio:["ignore","pipe","ignore"]}).toString().trim()}catch{return"unknown"}}var ue=e=>{if(!(process.env.CI||!e))try{let n=A(U(),v);oe(n,e)}catch{}},de=()=>{if(!process.env.CI)try{let t=A(U(),v);return re(t)?M(t).toString().trim():void 0}catch{return}};export{_e as a,be as b,Oe as c,De as d,Ie as e,ke as f};
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  var __filename = __fileURLToPath(import.meta.url);
6
6
  var __dirname = __pathDirname(__filename);
7
- import{a,b,c,d,e}from"./CPGIDBYI.js";import"./55SOSU5Q.js";import"./YICDVMCK.js";import"./GKXY6U4S.js";import"./3M4I4RF5.js";import"./A7GSAEEX.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{a as DeploymentError,b as handlePushStatus,c as handleReuniteError,d as printSlugDeprecation,e as printSunsetWarning};
7
+ import{a,b,c,d,e}from"./MKYAX4HH.js";import"./RLJVKAOL.js";import"./GBN5W6T3.js";import"./GKXY6U4S.js";import"./SV2XHB2S.js";import"./WBWCX3LS.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{a as DeploymentError,b as handlePushStatus,c as handleReuniteError,d as printSlugDeprecation,e as printSunsetWarning};
@@ -102,8 +102,8 @@ ${" ".repeat(e.indent*t)}`}function tU(e,t,r,n,o,i){return{node:t,parent:r,level
102
102
  `:" ";n+=`---${u}${p}
103
103
  `}else n+=Ln(r,0,s.contents,null,{block:!0,compact:!0}).text+`
104
104
  `;o=s.explicitEnd||r.openEnded,o&&(n+=`...
105
- `)}return n}var cU={...Lf,schema:v2,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:()=>{}};function pU(e,t){let r=String(e),n=String(t);return r<n?-1:r>n?1:0}function Cx(e,t={}){let r={...cU,...t},n=pF(e,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0&&W0(n,(o,i)=>{if(!(i.depth<r.flowLevel))return(o.kind==="sequence"||o.kind==="mapping")&&(o.style=sr.FLOW),vx}),r.sortKeys){let o=r.sortKeys===!0?pU:r.sortKeys;W0(n,i=>{i.kind==="mapping"&&i.items.sort((s,a)=>o(s.key.kind==="scalar"?s.key.value:"",a.key.kind==="scalar"?a.key.value:""))})}return r.transform(n),aU(n,{...gf(r,Object.keys(Lf)),schema:r.schema})}var Ioe=nt.DOCUMENT,Coe=nt.SEQUENCE,Noe=nt.MAPPING,qoe=nt.SCALAR,joe=nt.ALIAS,Doe=nt.POP,Moe=Z.PLAIN,Loe=Z.SINGLE_QUOTED,Foe=Z.DOUBLE_QUOTED,Uoe=Z.LITERAL_BLOCK,zoe=Z.FOLDED_BLOCK,Voe=sr.BLOCK,Boe=sr.FLOW,Hoe=xr.CLIP,Koe=xr.STRIP,Goe=xr.KEEP;var lU=If.withTags(Ef,Af,Of,Tf,Rf),Ho=(e,t)=>{let r=gx(e,{schema:lU,...t});if(r.length===0)return e.trim()===""?void 0:null;if(r.length>1)throw new co("expected a single document in the stream, but found more");return r[0]},wp=(e,t)=>Cx(e,t);import*as Ep from"node:fs";import*as Ap from"node:path";var uU=/\((\d+):(\d+)\)$/,hn=class e extends Error{originalError;source;col;line;constructor(t,r){super(t.message.split(`
106
- `)[0]),this.originalError=t,this.source=r,Object.setPrototypeOf(this,e.prototype);let[,n,o]=this.message.match(uU)||[];this.line=parseInt(n,10),this.col=parseInt(o,10)}};var dU=[".graphql",".gql"];function es(e){let t=e.toLowerCase();return dU.some(r=>t.endsWith(r))}function tt(e,t){return e.hasOwnProperty(t)?e[t]:void 0}function ga(e){return e.endsWith(".yaml")||e.endsWith(".yml")||e.endsWith(".json")}function Fn(e,t){return e+"::"+t}function Nx(){return new Promise(e=>{setTimeout(e)})}var sS=dn(iS(),1);var xt=typeof window<"u"||typeof process>"u"||process?.platform==="browser",wa=xt?{}:process.env||{};async function Qf(e,t){let r={};for(let o of t.headers)GU(e,o.matches)&&(r[o.name]=o.envVariable!==void 0?wa[o.envVariable]||"":o.value);let n=await(t.customFetch||fetch)(e,{headers:r});if(!n.ok)throw new Error(`Failed to load ${e}: ${n.status} ${n.statusText}`);return{body:await n.text(),mimeType:n.headers.get("content-type")}}function GU(e,t){return t.match(/^https?:\/\//)||(e=e.replace(/^https?:\/\//,"")),sS.default.isMatch(e,t)}var yn=class{absoluteRef;body;mimeType;constructor(t,r,n){this.absoluteRef=t,this.body=r,this.mimeType=n}#e;#t;getAst(t){return this.#e===void 0&&(this.#e=t(this.body,{filename:this.absoluteRef})??void 0,this.#e&&this.#e.kind===0&&this.#e.value===""&&this.#e.startPosition!==1&&(this.#e.startPosition=1,this.#e.endPosition=1)),this.#e}getLines(){return this.#t===void 0&&(this.#t=this.body.split(/\r\n|[\n\r]/g)),this.#t}},$p=class e extends Error{originalError;constructor(t){super(t.message),this.originalError=t,Object.setPrototypeOf(this,e.prototype)}};function Ko(e,t){let r=new yn(t,e);if(es(t))return{source:r,parsed:e};try{return{source:r,parsed:Ho(e,{filename:t})}}catch(n){throw new hn(n,r)}}var cr=class{config;cache=new Map;constructor(t={http:{headers:[]}}){this.config=t}getFiles(){return new Set(Array.from(this.cache.keys()))}resolveExternalRef(t,r){return pe(r)?r:t&&pe(t)?new URL(r,t).href:Ap.resolve(t?Ap.dirname(t):process.cwd(),r)}async loadExternalRef(t){try{if(pe(t)){let{body:r,mimeType:n}=await Qf(t,this.config.http);return new yn(t,r,n)}else{if(Ep.lstatSync(t).isDirectory())throw new Error(`Expected a file but received a folder at ${t}.`);let r=await Ep.promises.readFile(t,"utf-8");return new yn(t,r.replace(/\r\n/g,`
105
+ `)}return n}var cU={...Lf,schema:v2,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:()=>{}};function pU(e,t){let r=String(e),n=String(t);return r<n?-1:r>n?1:0}function Cx(e,t={}){let r={...cU,...t},n=pF(e,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0&&W0(n,(o,i)=>{if(!(i.depth<r.flowLevel))return(o.kind==="sequence"||o.kind==="mapping")&&(o.style=sr.FLOW),vx}),r.sortKeys){let o=r.sortKeys===!0?pU:r.sortKeys;W0(n,i=>{i.kind==="mapping"&&i.items.sort((s,a)=>o(s.key.kind==="scalar"?s.key.value:"",a.key.kind==="scalar"?a.key.value:""))})}return r.transform(n),aU(n,{...gf(r,Object.keys(Lf)),schema:r.schema})}var Ioe=nt.DOCUMENT,Coe=nt.SEQUENCE,Noe=nt.MAPPING,qoe=nt.SCALAR,joe=nt.ALIAS,Doe=nt.POP,Moe=Z.PLAIN,Loe=Z.SINGLE_QUOTED,Foe=Z.DOUBLE_QUOTED,Uoe=Z.LITERAL_BLOCK,zoe=Z.FOLDED_BLOCK,Voe=sr.BLOCK,Boe=sr.FLOW,Hoe=xr.CLIP,Koe=xr.STRIP,Goe=xr.KEEP;var lU=If.withTags(Ef,Af,Of,Tf,Rf),Ho=(e,t)=>{let r=gx(e,{schema:lU,...t});if(r.length===0)return e.trim()===""?void 0:null;if(r.length>1)throw new co("expected a single document in the stream, but found more");return r[0]},wp=(e,t)=>Cx(e,t);var uU=[".graphql",".gql"];function es(e){let t=e.toLowerCase();return uU.some(r=>t.endsWith(r))}import*as Ep from"node:fs";import*as Ap from"node:path";var dU=/\((\d+):(\d+)\)$/,hn=class e extends Error{originalError;source;col;line;constructor(t,r){super(t.message.split(`
106
+ `)[0]),this.originalError=t,this.source=r,Object.setPrototypeOf(this,e.prototype);let[,n,o]=this.message.match(dU)||[];this.line=parseInt(n,10),this.col=parseInt(o,10)}};function tt(e,t){return e.hasOwnProperty(t)?e[t]:void 0}function ga(e){return e.endsWith(".yaml")||e.endsWith(".yml")||e.endsWith(".json")}function Fn(e,t){return e+"::"+t}function Nx(){return new Promise(e=>{setTimeout(e)})}var sS=dn(iS(),1);var xt=typeof window<"u"||typeof process>"u"||process?.platform==="browser",wa=xt?{}:process.env||{};async function Qf(e,t){let r={};for(let o of t.headers)GU(e,o.matches)&&(r[o.name]=o.envVariable!==void 0?wa[o.envVariable]||"":o.value);let n=await(t.customFetch||fetch)(e,{headers:r});if(!n.ok)throw new Error(`Failed to load ${e}: ${n.status} ${n.statusText}`);return{body:await n.text(),mimeType:n.headers.get("content-type")}}function GU(e,t){return t.match(/^https?:\/\//)||(e=e.replace(/^https?:\/\//,"")),sS.default.isMatch(e,t)}var yn=class{absoluteRef;body;mimeType;constructor(t,r,n){this.absoluteRef=t,this.body=r,this.mimeType=n}#e;#t;getAst(t){return this.#e===void 0&&(this.#e=t(this.body,{filename:this.absoluteRef})??void 0,this.#e&&this.#e.kind===0&&this.#e.value===""&&this.#e.startPosition!==1&&(this.#e.startPosition=1,this.#e.endPosition=1)),this.#e}getLines(){return this.#t===void 0&&(this.#t=this.body.split(/\r\n|[\n\r]/g)),this.#t}},$p=class e extends Error{originalError;constructor(t){super(t.message),this.originalError=t,Object.setPrototypeOf(this,e.prototype)}};function Ko(e,t){let r=new yn(t,e);if(es(t))return{source:r,parsed:e};try{return{source:r,parsed:Ho(e,{filename:t})}}catch(n){throw new hn(n,r)}}var cr=class{config;cache=new Map;constructor(t={http:{headers:[]}}){this.config=t}getFiles(){return new Set(Array.from(this.cache.keys()))}resolveExternalRef(t,r){return pe(r)?r:t&&pe(t)?new URL(r,t).href:Ap.resolve(t?Ap.dirname(t):process.cwd(),r)}async loadExternalRef(t){try{if(pe(t)){let{body:r,mimeType:n}=await Qf(t,this.config.http);return new yn(t,r,n)}else{if(Ep.lstatSync(t).isDirectory())throw new Error(`Expected a file but received a folder at ${t}.`);let r=await Ep.promises.readFile(t,"utf-8");return new yn(t,r.replace(/\r\n/g,`
107
107
  `))}}catch(r){throw r.message=r.message.replace(", lstat",""),new $p(r)}}parseDocument(t,r=!1){if(es(t.absoluteRef))return{source:t,parsed:t.body};let n=pe(t.absoluteRef)?new URL(t.absoluteRef).pathname:t.absoluteRef;if(!ga(n)&&!t.mimeType?.match(/(json|yaml|openapi)/)&&!r)return{source:t,parsed:t.body};try{return{source:t,parsed:Ho(t.body,{filename:t.absoluteRef})}}catch(o){throw new hn(o,t)}}async resolveDocument(t,r,n=!1){let o=this.resolveExternalRef(t,r),i=this.cache.get(o);if(i)return i;let s=this.loadExternalRef(o).then(a=>this.parseDocument(a,n));return this.cache.set(o,s),s}};function aS(e,t){return{prev:e,node:t}}function WU(e,t){for(;e;){if(e.node===t)return!0;e=e.prev}return!1}var Pp={name:"unknown",properties:{}},YU={name:"scalar",properties:{}};async function wr(e){let{rootDocument:t,externalRefResolver:r,rootType:n}=e,o=new Map,i=new Set,s=[];c(t.parsed,t,"#/",n);let a;do a=await Promise.all(s);while(s.length!==a.length);return o;function c(l,p,u,f){let m=p.source.absoluteRef,h=new Map;y(l,f,m+u);function y(x,w,S){if(!T(x)&&!Array.isArray(x))return;let E=`${w.name}::${S}`;if(i.has(E))return;if(i.add(E),Array.isArray(x)){let q=w.items;if(q===void 0&&w!==Pp&&w!==Kr)return;let I=typeof q=="function";for(let k=0;k<x.length;k++){let A=I?q(x[k],Wr(S,k)):q;if(A===void 0&&w!==Pp&&w!==Kr)continue;let se=A?.directResolveAs?{$ref:x[k]}:x[k];A=A?.directResolveAs||A,y(se,Or(A)?A:Pp,Wr(S,k))}return}let[P,O]=Object.entries(x).find(([q])=>q==="$anchor")||[];O&&h.set(`#${O}`,x);for(let q of Object.keys(x)){let I=x[q],k=tt(w.properties,q),A=w.extensionsPrefix!==void 0&&q.startsWith(w.extensionsPrefix);k===void 0&&!A&&(k=w.additionalProperties),typeof k=="function"&&(k=k(I,q)),A&&k===void 0&&(k=Kr),k===void 0&&(k=Pp),!Or(k)&&k?.directResolveAs&&(k=k.directResolveAs,I={$ref:I}),k&&k.name===void 0&&k.resolvable!==!1&&(k=YU),!(!Or(k)||!(T(I)||Array.isArray(I)))&&y(I,k,Wr(S,fn(q)))}if(B(x)){let q=b(p,x,{prev:null,node:x}).then(I=>{if(I.resolved){c(I.node,I.document,I.nodePointer,w);for(let k of I.chain??[])c(k.node,k.document,k.location.pointer,w)}});s.push(q)}if(cp(x)){let q=b(p,{$ref:x.externalValue},{prev:null,node:x}).then(I=>{I.resolved&&c(I.node,I.document,I.nodePointer,w)});s.push(q)}}async function b(x,w,S){if(WU(S.prev,w))throw new Error("Self-referencing circular pointer");if(A0(w.$ref)){await Nx();let X={resolved:!0,isRemote:!1,node:h.get(w.$ref),document:x,nodePointer:w.$ref},fe=Fn(x.source.absoluteRef,w.$ref);return o.set(fe,X),X}let{uri:E,pointer:P}=ao(w.$ref),O=E!==null&&r.resolveExternalRef(x.source.absoluteRef,E)!==x.source.absoluteRef,q;try{q=O?await r.resolveDocument(x.source.absoluteRef,E):x}catch(X){let fe={resolved:!1,isRemote:O,document:void 0,error:X},N=Fn(x.source.absoluteRef,w.$ref);return o.set(N,fe),fe}let I={resolved:!0,document:q,isRemote:O,node:x.parsed,nodePointer:"#/"},k=q.parsed,A=P;for(let X of A)if(T(k)&&k[X]!==void 0)k=k[X],I.nodePointer=Wr(I.nodePointer,fn(X));else if(Array.isArray(k)&&k[+X]!==void 0)k=k[+X],I.nodePointer=Wr(I.nodePointer,fn(X));else if(B(k))if(I=await b(q,k,aS(S,k)),I.chain=void 0,q=I.document||q,T(I.node))k=I.node[X],I.nodePointer=Wr(I.nodePointer,fn(X));else if(Array.isArray(I.node))k=I.node[+X],I.nodePointer=Wr(I.nodePointer,fn(X));else{k=void 0;break}else{k=void 0;break}I.node=k,I.document=q;let se=Fn(x.source.absoluteRef,w.$ref);if(I.document&&B(k)){let X=so(k)?{node:k,document:I.document,location:new jt(I.document.source,I.nodePointer)}:void 0;I=await b(I.document,k,aS(S,k)),X&&I.resolved&&(I={...I,chain:[X,...I.chain??[]]})}return o.set(se,I),{...I}}}}var tm={};DC(tm,{bgBlack:()=>vz,bgBlackBright:()=>Nz,bgBlue:()=>wz,bgBlueBright:()=>Mz,bgCyan:()=>Pz,bgCyanBright:()=>Fz,bgGreen:()=>xz,bgGreenBright:()=>jz,bgMagenta:()=>_z,bgMagentaBright:()=>Lz,bgRed:()=>bz,bgRedBright:()=>qz,bgWhite:()=>$z,bgWhiteBright:()=>Uz,bgYellow:()=>Sz,bgYellowBright:()=>Dz,black:()=>pz,blackBright:()=>Ez,blue:()=>fz,blueBright:()=>Rz,bold:()=>rz,cyan:()=>hz,cyanBright:()=>Iz,dim:()=>nz,gray:()=>gz,green:()=>uz,greenBright:()=>Oz,hidden:()=>az,inverse:()=>sz,italic:()=>oz,magenta:()=>mz,magentaBright:()=>kz,options:()=>em,red:()=>lz,redBright:()=>Az,reset:()=>tz,strikethrough:()=>cz,underline:()=>iz,white:()=>yz,whiteBright:()=>Cz,yellow:()=>dz,yellowBright:()=>Tz});import*as Xf from"tty";var po=process.env,QU="NO_COLOR"in po,JU="FORCE_COLOR"in po,XU=process.platform==="win32",ZU=Xf&&Xf.isatty(1)&&po.TERM&&po.TERM!=="dumb",ez="CI"in po&&("GITHUB_ACTIONS"in po||"GITLAB_CI"in po||"CIRCLECI"in po),Jf=!QU&&(JU||XU||ZU||ez),Zf=(e,t,r,n)=>o=>Jf?e+(~(o+="").indexOf(t,4)?o.replace(r,n):o)+t:o,he=(e,t)=>Zf(`\x1B[${e}m`,`\x1B[${t}m`,new RegExp(`\\x1b\\[${t}m`,"g"),`\x1B[${e}m`),em=Object.defineProperty({},"enabled",{get:()=>Jf,set:e=>Jf=e}),tz=he(0,0),rz=Zf("\x1B[1m","\x1B[22m",/\x1b\[22m/g,"\x1B[22m\x1B[1m"),nz=Zf("\x1B[2m","\x1B[22m",/\x1b\[22m/g,"\x1B[22m\x1B[2m"),oz=he(3,23),iz=he(4,24),sz=he(7,27),az=he(8,28),cz=he(9,29),pz=he(30,39),lz=he(31,39),uz=he(32,39),dz=he(33,39),fz=he(34,39),mz=he(35,39),hz=he(36,39),yz=he(37,39),gz=he(90,39),vz=he(40,49),bz=he(41,49),xz=he(42,49),Sz=he(43,49),wz=he(44,49),_z=he(45,49),Pz=he(46,49),$z=he(47,49),Ez=he(90,39),Az=he(91,39),Oz=he(92,39),Tz=he(93,39),Rz=he(94,39),kz=he(95,39),Iz=he(96,39),Cz=he(97,39),Nz=he(100,49),qz=he(101,49),jz=he(102,49),Dz=he(103,49),Mz=he(104,49),Lz=he(105,49),Fz=he(106,49),Uz=he(107,49);function cS(e){return e}var _a=em,ce=new Proxy(tm,{get(e,t){return xt?cS:e[t]}}),rm=class{info(t){return xt?console.info(t):process.stderr.write(t)}warn(t){return xt?console.warn(t):process.stderr.write(ce.yellow(t))}error(t){return xt?console.error(t):process.stderr.write(ce.red(t))}output(t){return xt?console.log(t):process.stdout.write(t)}printNewLine(){xt?console.log(`
108
108
  `):process.stdout.write(`
109
109
  `)}printSeparator(t){let r=process.stdout.columns||80,n=t.repeat(Math.ceil(r/t.length)).slice(0,r),o=xt?n:ce.gray(n);return xt?console.log(o):process.stdout.write(o)}indent(t,r){let n=xt?" ":"\xA0";return t.split(`
@@ -191,7 +191,7 @@ ${S.message}
191
191
  `:"",u=s.message+(l!==""||p!==""?`
192
192
 
193
193
  `:"")+l+p,f={title:s.ruleId,file:pe(a.source.absoluteRef)?a.source.absoluteRef:un.relative(t,a.source.absoluteRef),line:a.start.line,col:a.start.col,endLine:a.end?.line,endColumn:a.end?.col};le.output(`::${c} ${r(f)}::${o(u)}
194
- `)}function r(s){return Object.entries(s).filter(([,a])=>a!=null).map(([a,c])=>`${a}=${i(c)}`).join(",")}function n(s){return s==null?"":typeof s=="string"||s instanceof String?s:JSON.stringify(s)}function o(s){return n(s).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function i(s){return n(s).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}}var{theme:d_e,...Gre}=ps.properties,Wre={...ps,properties:Gre};async function $k(e){let{ref:t,externalRefResolver:r=new cr(e.config.resolve)}=e,n=await r.resolveDocument(null,t,!0);return e.collectSpecData?.(n),Ed({document:n,...e,externalRefResolver:r})}async function Yre(e){let{source:t,absoluteRef:r,externalRefResolver:n=new cr(e.config.resolve)}=e,o=Ko(t,r||"/");return Ed({document:o,...e,externalRefResolver:n})}async function Ed(e){let{document:t,customTypes:r,externalRefResolver:n,config:o}=e;if(es(t.source.absoluteRef)){let{lintGraphqlDocument:m}=await import("./UYZXI3NO.js");return m({document:t,config:o})}let i=Un(t.parsed),s=o.getRulesForSpecVersion(Pa(i)),a=Gr(o.extendTypes(r??zo(i),i),o),c={problems:[],specVersion:i,config:o,visitorsData:{}},l=ji(s,o,"preprocessors",i),p=ji(s,o,"rules",i),u=await wr({rootDocument:t,rootType:a.Root,externalRefResolver:n});l.length>0&&(Ft({document:t,rootType:a.Root,normalizedVisitors:Lt(l,a),resolvedRefMap:u,ctx:c}),u=await wr({rootDocument:t,rootType:a.Root,externalRefResolver:n}));let f=Lt(p,a);return Ft({document:t,rootType:a.Root,normalizedVisitors:f,resolvedRefMap:u,ctx:c}),c.problems.map(m=>o.addProblemToIgnore(m))}async function Qre(e){let{severity:t,externalRefResolver:r=new cr,config:n}=e;if(!n.document)throw new Error("Config document is not set.");let o={problems:[],specVersion:"config",config:n,visitorsData:{}},i=Gr(e.externalConfigTypes||Ll(Wre,n)),s=[{severity:t||"error",ruleId:"configuration struct",visitor:Nt({severity:"error"})},{severity:t||"error",ruleId:"configuration no-unresolved-refs",visitor:Et({severity:"error"})}],a=Lt(s,i),c=n.resolvedRefMap||await wr({rootDocument:n.document,rootType:i.ConfigRoot,externalRefResolver:r});return Ft({document:n.document,rootType:i.ConfigRoot,normalizedVisitors:a,resolvedRefMap:c,ctx:o}),o.problems}import*as Jre from"node:fs";import*as jb from"node:path";function Xre(e){return(jb.extname(e)===".yaml"||jb.extname(e)===".yml")&&!!Jre?.existsSync?.(e)}function Zre(e){return T(e)&&!br(e)}async function ene(e){return new Promise(t=>setTimeout(t,e))}function Vr(e,t){if(B(t.parent))return;let r=t.key.toString(),n=e.counts??={};n[r]=(n[r]??0)+1}function Db(e){for(let o of Object.values(e))o.items&&(o.total=o.items.size);let{xExtensions:t}=e,r=t.counts??{},n=Object.keys(r).sort();t.total=n.length,t.counts=Object.fromEntries(n.map(o=>[o,r[o]]))}var tne=e=>({SpecExtension:{enter(t,r){Vr(e.xExtensions,r)}},XCodeSampleList:{enter(t,r){Vr(e.xExtensions,r)}},ExamplesMap:{enter(t,r){r.key.toString()==="x-examples"&&Vr(e.xExtensions,r)}},EnumDescriptions:{enter(t,r){Vr(e.xExtensions,r)}},TagGroups:{enter(t,r){Vr(e.xExtensions,r)}},Logo:{enter(t,r){Vr(e.xExtensions,r)}},XServerList:{enter(t,r){Vr(e.xExtensions,r)}},XUsePkce:{enter(t,r){Vr(e.xExtensions,r)}},Operation:{enter(t,r){r.key.toString()==="x-query"&&Vr(e.xExtensions,r)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},Link:{leave(t){e.links.items.add(t.operationId)}},WebhooksMap:{enter(t,r){r.key.toString()==="x-webhooks"&&Vr(e.xExtensions,r)},Operation:{leave(t){if(e.webhooks.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}},Parameter:{leave(t){e.parameters.items.add(t.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){Db(e)}}}),rne=e=>({SpecExtension:{enter(t,r){Vr(e.xExtensions,r)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}},Parameter:{leave(t,{key:r}){e.parameters.items.add(r.toString())}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){Db(e)}}}),nne=e=>({SpecExtension:{enter(t,r){Vr(e.xExtensions,r)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(t,{key:r}){e.parameters.items.add(r.toString())}}}},NamedOperations:{Operation:{leave(t){if(e.operations.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){Db(e)}}});import*as Ok from"node:fs";import*as oo from"node:path";function Ak(e,t){if(!e.rules)return{};let r={},n=[];for(let[o,i]of Object.entries(e.rules))if(o.startsWith("rule/")&&T(i)){let s=i;if(t){Ek(t,s);for(let a of s.where||[])Ek(t,a)}n.push({...s,assertionId:o})}else r[o]=i;return n.length>0&&(r.assertions=n),r}function Ek(e,t){for(let r of Object.keys(t.assertions||{})){let[n,o]=r.split("/");if(!n||!o)continue;let i=e.find(s=>s.id===n);if(!i)throw Error(`Plugin ${n} isn't found.`);if(!i.assertions||!i.assertions[o])throw Error(`Plugin ${n} doesn't export assertions function with name ${o}.`);Tn[r]=wO(i.assertions[o])}}var ca=class e{resolvedConfig;configPath;document;resolvedRefMap;resolve;_alias;plugins;ignore={};doNotResolveExamples;rules;preprocessors;decorators;recheck;_usedRules=new Set;_usedVersions=new Set;constructor(t,r={}){this.resolvedConfig=t,this.configPath=r.configPath,this.document=r.document,this.resolvedRefMap=r.resolvedRefMap,this.resolve=pd(this.resolvedConfig.resolve),this._alias=r.alias,this.plugins=r.plugins||[],this.doNotResolveExamples=!!t.resolve?.doNotResolveExamples;let n=o=>Ak({rules:o},this.plugins);this.rules={oas2:n({...t.rules,...t.oas2Rules}),oas3_0:n({...t.rules,...t.oas3_0Rules}),oas3_1:n({...t.rules,...t.oas3_1Rules}),oas3_2:n({...t.rules,...t.oas3_2Rules}),async2:n({...t.rules,...t.async2Rules}),async3:n({...t.rules,...t.async3Rules}),arazzo1:n({...t.rules,...t.arazzo1Rules}),arazzo1_1:n({...t.rules,...t.arazzo1_1Rules}),overlay1:n({...t.rules,...t.overlay1Rules}),openrpc1:n({...t.rules,...t.openrpc1Rules}),graphql:n({...Vi(t.rules??{},["no-unresolved-refs"]),...t.graphqlRules})},this.preprocessors={oas2:{...t.preprocessors,...t.oas2Preprocessors},oas3_0:{...t.preprocessors,...t.oas3_0Preprocessors},oas3_1:{...t.preprocessors,...t.oas3_1Preprocessors},oas3_2:{...t.preprocessors,...t.oas3_2Preprocessors},async2:{...t.preprocessors,...t.async2Preprocessors},async3:{...t.preprocessors,...t.async3Preprocessors},arazzo1:{...t.preprocessors,...t.arazzo1Preprocessors},arazzo1_1:{...t.preprocessors,...t.arazzo1_1Preprocessors},overlay1:{...t.preprocessors,...t.overlay1Preprocessors},openrpc1:{...t.preprocessors,...t.openrpc1Preprocessors},graphql:{}},this.decorators={oas2:{...t.decorators,...t.oas2Decorators},oas3_0:{...t.decorators,...t.oas3_0Decorators},oas3_1:{...t.decorators,...t.oas3_1Decorators},oas3_2:{...t.decorators,...t.oas3_2Decorators},async2:{...t.decorators,...t.async2Decorators},async3:{...t.decorators,...t.async3Decorators},arazzo1:{...t.decorators,...t.arazzo1Decorators},arazzo1_1:{...t.decorators,...t.arazzo1_1Decorators},overlay1:{...t.decorators,...t.overlay1Decorators},openrpc1:{...t.decorators,...t.openrpc1Decorators},graphql:{}},this.recheck=t.recheck??{rules:{}},this.ignore=r.ignore??{}}forAlias(t){if(t===void 0||!T(this.resolvedConfig?.apis?.[t]))return this;let{apis:r,...n}=this.resolvedConfig,{root:o,output:i,...s}=r[t];return new e({...n,...s},{configPath:this.configPath,document:this.document,resolvedRefMap:this.resolvedRefMap,alias:t,plugins:this.plugins,ignore:this.ignore})}clearIgnoreForRef(t){let r=this.configPath?oo.dirname(this.configPath):process.cwd(),n=pe(t)?t:oo.resolve(r,t);delete this.ignore[n]}saveIgnore(){let t=this.configPath?oo.dirname(this.configPath):process.cwd(),r=oo.join(t,Ia),n={};for(let o of Object.keys(this.ignore)){let i=pe(o)?o:ka(oo.relative(t,o)),s=n[i]=this.ignore[o];for(let a of Object.keys(s))s[a]=Array.from(s[a])}Ok.writeFileSync(r,kS+wp(n))}addIgnore(t){let r=this.ignore,n=t.location[0];if(n.pointer===void 0)return;let o=r[n.source.absoluteRef]=r[n.source.absoluteRef]||{};(o[t.ruleId]=o[t.ruleId]||new Set).add(n.pointer)}addProblemToIgnore(t){let r=t.location[0];if(r.pointer===void 0)return t;let o=(this.ignore[r.source.absoluteRef]||{})[t.ruleId],i=o&&o.has(r.pointer);return i?{...t,ignored:i}:t}extendTypes(t,r){let n=t;for(let o of this.plugins)if(o.typeExtension!==void 0)switch(r){case"oas3_0":case"oas3_1":case"oas3_2":if(!o.typeExtension.oas3)continue;n=o.typeExtension.oas3(n,r);break;case"oas2":if(!o.typeExtension.oas2)continue;n=o.typeExtension.oas2(n,r);break;case"async2":if(!o.typeExtension.async2)continue;n=o.typeExtension.async2(n,r);break;case"async3":if(!o.typeExtension.async3)continue;n=o.typeExtension.async3(n,r);break;case"arazzo1":case"arazzo1_1":if(!o.typeExtension.arazzo1)continue;n=o.typeExtension.arazzo1(n,r);break;case"overlay1":if(!o.typeExtension.overlay1)continue;n=o.typeExtension.overlay1(n,r);break;case"openrpc1":if(!o.typeExtension.openrpc1)continue;n=o.typeExtension.openrpc1(n,r);break;case"graphql":break;default:throw new Error("Not implemented")}return n}getRuleSettings(t,r){this._usedRules.add(t),this._usedVersions.add(r);let n=this.rules[r][t]||"off";return typeof n=="string"?{severity:n}:{severity:"error",...n}}getPreprocessorSettings(t,r){this._usedRules.add(t),this._usedVersions.add(r);let n=this.preprocessors[r][t]||"off";return typeof n=="string"?{severity:n==="on"?"error":n}:{severity:"error",...n}}getDecoratorSettings(t,r){this._usedRules.add(t),this._usedVersions.add(r);let n=this.decorators[r][t]||"off";return typeof n=="string"?{severity:n==="on"?"error":n}:{severity:"error",...n}}getUnusedRules(){let t=[],r=[],n=[];for(let o of Array.from(this._usedVersions))t.push(...Object.keys(this.rules[o]).filter(i=>!this._usedRules.has(i))),r.push(...Object.keys(this.decorators[o]).filter(i=>!this._usedRules.has(i))),n.push(...Object.keys(this.preprocessors[o]).filter(i=>!this._usedRules.has(i)));return{rules:t,preprocessors:n,decorators:r}}getRulesForSpecVersion(t){switch(t){case"oas3":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.oas3&&r.push(n.preprocessors.oas3)),this.plugins.forEach(n=>n.rules?.oas3&&r.push(n.rules.oas3)),this.plugins.forEach(n=>n.decorators?.oas3&&r.push(n.decorators.oas3)),r}case"oas2":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.oas2&&r.push(n.preprocessors.oas2)),this.plugins.forEach(n=>n.rules?.oas2&&r.push(n.rules.oas2)),this.plugins.forEach(n=>n.decorators?.oas2&&r.push(n.decorators.oas2)),r}case"async2":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.async2&&r.push(n.preprocessors.async2)),this.plugins.forEach(n=>n.rules?.async2&&r.push(n.rules.async2)),this.plugins.forEach(n=>n.decorators?.async2&&r.push(n.decorators.async2)),r}case"async3":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.async3&&r.push(n.preprocessors.async3)),this.plugins.forEach(n=>n.rules?.async3&&r.push(n.rules.async3)),this.plugins.forEach(n=>n.decorators?.async3&&r.push(n.decorators.async3)),r}case"arazzo1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.arazzo1&&r.push(n.preprocessors.arazzo1)),this.plugins.forEach(n=>n.rules?.arazzo1&&r.push(n.rules.arazzo1)),this.plugins.forEach(n=>n.decorators?.arazzo1&&r.push(n.decorators.arazzo1)),r}case"arazzo1_1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.arazzo1_1&&r.push(n.preprocessors.arazzo1_1)),this.plugins.forEach(n=>n.rules?.arazzo1_1&&r.push(n.rules.arazzo1_1)),this.plugins.forEach(n=>n.decorators?.arazzo1_1&&r.push(n.decorators.arazzo1_1)),r}case"overlay1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.overlay1&&r.push(n.preprocessors.overlay1)),this.plugins.forEach(n=>n.rules?.overlay1&&r.push(n.rules.overlay1)),this.plugins.forEach(n=>n.decorators?.overlay1&&r.push(n.decorators.overlay1)),r}case"openrpc1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.openrpc1&&r.push(n.preprocessors.openrpc1)),this.plugins.forEach(n=>n.rules?.openrpc1&&r.push(n.rules.openrpc1)),this.plugins.forEach(n=>n.decorators?.openrpc1&&r.push(n.decorators.openrpc1)),r}case"graphql":{let r=[];return this.plugins.forEach(n=>n.rules?.graphql&&r.push(n.rules.graphql)),r}}}skipRules(t){for(let r of t||[])for(let n of Bi)if(this.rules[n][r])this.rules[n][r]="off";else if(Array.isArray(this.rules[n].assertions))for(let o of this.rules[n].assertions)o.assertionId===r&&(o.severity="off")}skipPreprocessors(t){for(let r of t||[])for(let n of Bi)this.preprocessors[n][r]&&(this.preprocessors[n][r]="off")}skipDecorators(t){for(let r of t||[])for(let n of Bi)this.decorators[n][r]&&(this.decorators[n][r]="off")}};import*as rp from"node:fs";import*as Tk from"node:path";function one(e,t){let r=Object.create(null);for(let n of Object.keys(e)){let o=e[n],i=pe(n)?n:lp(t,n);r[i]=Object.create(null);for(let s of Object.keys(o))r[i][s]=new Set(o[s])}return r}async function Rk(e,t){let r=e?Hd(e):xt?"":process.cwd(),n=r?lp(r,Ia):Ia;if(rp?.existsSync&&!pe(n)&&!rp.existsSync(n))return{};let o=await t.resolveDocument(null,n,!0);return o instanceof Error||!o.parsed?{}:one(o.parsed||{},r)}async function ine(e={}){let{configPath:t=kk(),customExtends:r,externalRefResolver:n,skipPluginEval:o,plugins:i}=e,s=n??new cr,a=t?await s.resolveDocument(null,t,!0):void 0;if(a instanceof Error)throw a;let{resolvedConfig:c,resolvedRefMap:l,plugins:p}=await sb({rawConfigDocument:a?Ck(a):void 0,customExtends:r,configPath:t,externalRefResolver:n,skipPluginEval:o,plugins:i}),u=await Rk(t,s);return new ca(c,{configPath:t,document:a,resolvedRefMap:l,plugins:p,ignore:u})}function kk(e){if(!rp?.existsSync)return;let t=e?Tk.resolve(e,ss):ss;return rp.existsSync(t)?t:void 0}async function Ik(e,{configPath:t,externalRefResolver:r,ignore:n,plugins:o}={}){let s=Ko(typeof e=="string"?e:"",t??"");typeof e!="string"&&e&&(s.parsed=e);let{resolvedConfig:a,resolvedRefMap:c,plugins:l}=await sb({rawConfigDocument:Ck(s),configPath:t,externalRefResolver:r,plugins:o});return new ca(a,{configPath:t,document:s,resolvedRefMap:c,plugins:l,ignore:n})}function Ck(e){if(!e.parsed)return e;let{plugins:t,resolve:r,...n}=e.parsed,o={...structuredClone(n),plugins:t?.slice(),...r&&{resolve:{...r}}};return{...e,parsed:o}}export{Xre as a,_r as b,T as c,br as d,$i as e,Zre as f,et as g,gt as h,mc as i,ene as j,Vd as k,LC as l,FC as m,xt as n,ka as o,mi as p,Gr as q,B as r,pp as s,fn as t,pe as u,mn as v,zo as w,re as x,Ha as y,oh as z,gs as A,Ya as B,vs as C,Ih as D,Q_ as E,ey as F,Sy as G,My as H,i$ as I,zy as J,Ky as K,tne as L,rne as M,nne as N,Ho as O,wp as P,hn as Q,es as R,ga as S,yn as T,$p as U,cr as V,wr as W,uO as X,yO as Y,rz as Z,nz as _,lz as $,uz as aa,dz as ba,fz as ca,mz as da,hz as ea,yz as fa,gz as ga,tm as ha,le as ia,Pa as ja,Un as ka,Lt as la,Ft as ma,hce as na,rs as oa,im as pa,xm as qa,YZ as ra,ine as sa,Ik as ta,jn as ua,_k as va,Vre as wa,ln as xa,$k as ya,Yre as za,Ed as Aa,Qre as Ba};
194
+ `)}function r(s){return Object.entries(s).filter(([,a])=>a!=null).map(([a,c])=>`${a}=${i(c)}`).join(",")}function n(s){return s==null?"":typeof s=="string"||s instanceof String?s:JSON.stringify(s)}function o(s){return n(s).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function i(s){return n(s).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}}var{theme:d_e,...Gre}=ps.properties,Wre={...ps,properties:Gre};async function $k(e){let{ref:t,externalRefResolver:r=new cr(e.config.resolve)}=e,n=await r.resolveDocument(null,t,!0);return e.collectSpecData?.(n),Ed({document:n,...e,externalRefResolver:r})}async function Yre(e){let{source:t,absoluteRef:r,externalRefResolver:n=new cr(e.config.resolve)}=e,o=Ko(t,r||"/");return Ed({document:o,...e,externalRefResolver:n})}async function Ed(e){let{document:t,customTypes:r,externalRefResolver:n,config:o}=e;if(es(t.source.absoluteRef)){let{lintGraphqlDocument:m}=await import("./UYZXI3NO.js");return m({document:t,config:o})}let i=Un(t.parsed),s=o.getRulesForSpecVersion(Pa(i)),a=Gr(o.extendTypes(r??zo(i),i),o),c={problems:[],specVersion:i,config:o,visitorsData:{}},l=ji(s,o,"preprocessors",i),p=ji(s,o,"rules",i),u=await wr({rootDocument:t,rootType:a.Root,externalRefResolver:n});l.length>0&&(Ft({document:t,rootType:a.Root,normalizedVisitors:Lt(l,a),resolvedRefMap:u,ctx:c}),u=await wr({rootDocument:t,rootType:a.Root,externalRefResolver:n}));let f=Lt(p,a);return Ft({document:t,rootType:a.Root,normalizedVisitors:f,resolvedRefMap:u,ctx:c}),c.problems.map(m=>o.addProblemToIgnore(m))}async function Qre(e){let{severity:t,externalRefResolver:r=new cr,config:n}=e;if(!n.document)throw new Error("Config document is not set.");let o={problems:[],specVersion:"config",config:n,visitorsData:{}},i=Gr(e.externalConfigTypes||Ll(Wre,n)),s=[{severity:t||"error",ruleId:"configuration struct",visitor:Nt({severity:"error"})},{severity:t||"error",ruleId:"configuration no-unresolved-refs",visitor:Et({severity:"error"})}],a=Lt(s,i),c=n.resolvedRefMap||await wr({rootDocument:n.document,rootType:i.ConfigRoot,externalRefResolver:r});return Ft({document:n.document,rootType:i.ConfigRoot,normalizedVisitors:a,resolvedRefMap:c,ctx:o}),o.problems}import*as Jre from"node:fs";import*as jb from"node:path";function Xre(e){return(jb.extname(e)===".yaml"||jb.extname(e)===".yml")&&!!Jre?.existsSync?.(e)}function Zre(e){return T(e)&&!br(e)}async function ene(e){return new Promise(t=>setTimeout(t,e))}function Vr(e,t){if(B(t.parent))return;let r=t.key.toString(),n=e.counts??={};n[r]=(n[r]??0)+1}function Db(e){for(let o of Object.values(e))o.items&&(o.total=o.items.size);let{xExtensions:t}=e,r=t.counts??{},n=Object.keys(r).sort();t.total=n.length,t.counts=Object.fromEntries(n.map(o=>[o,r[o]]))}var tne=e=>({SpecExtension:{enter(t,r){Vr(e.xExtensions,r)}},XCodeSampleList:{enter(t,r){Vr(e.xExtensions,r)}},ExamplesMap:{enter(t,r){r.key.toString()==="x-examples"&&Vr(e.xExtensions,r)}},EnumDescriptions:{enter(t,r){Vr(e.xExtensions,r)}},TagGroups:{enter(t,r){Vr(e.xExtensions,r)}},Logo:{enter(t,r){Vr(e.xExtensions,r)}},XServerList:{enter(t,r){Vr(e.xExtensions,r)}},XUsePkce:{enter(t,r){Vr(e.xExtensions,r)}},Operation:{enter(t,r){r.key.toString()==="x-query"&&Vr(e.xExtensions,r)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},Link:{leave(t){e.links.items.add(t.operationId)}},WebhooksMap:{enter(t,r){r.key.toString()==="x-webhooks"&&Vr(e.xExtensions,r)},Operation:{leave(t){if(e.webhooks.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}},Parameter:{leave(t){e.parameters.items.add(t.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){Db(e)}}}),rne=e=>({SpecExtension:{enter(t,r){Vr(e.xExtensions,r)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}},Parameter:{leave(t,{key:r}){e.parameters.items.add(r.toString())}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){Db(e)}}}),nne=e=>({SpecExtension:{enter(t,r){Vr(e.xExtensions,r)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(t,{key:r}){e.parameters.items.add(r.toString())}}}},NamedOperations:{Operation:{leave(t){if(e.operations.total++,t.tags)for(let r of t.tags)e.tags.items.add(r)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){Db(e)}}});import*as Ok from"node:fs";import*as oo from"node:path";function Ak(e,t){if(!e.rules)return{};let r={},n=[];for(let[o,i]of Object.entries(e.rules))if(o.startsWith("rule/")&&T(i)){let s=i;if(t){Ek(t,s);for(let a of s.where||[])Ek(t,a)}n.push({...s,assertionId:o})}else r[o]=i;return n.length>0&&(r.assertions=n),r}function Ek(e,t){for(let r of Object.keys(t.assertions||{})){let[n,o]=r.split("/");if(!n||!o)continue;let i=e.find(s=>s.id===n);if(!i)throw Error(`Plugin ${n} isn't found.`);if(!i.assertions||!i.assertions[o])throw Error(`Plugin ${n} doesn't export assertions function with name ${o}.`);Tn[r]=wO(i.assertions[o])}}var ca=class e{resolvedConfig;configPath;document;resolvedRefMap;resolve;_alias;plugins;ignore={};doNotResolveExamples;rules;preprocessors;decorators;recheck;_usedRules=new Set;_usedVersions=new Set;constructor(t,r={}){this.resolvedConfig=t,this.configPath=r.configPath,this.document=r.document,this.resolvedRefMap=r.resolvedRefMap,this.resolve=pd(this.resolvedConfig.resolve),this._alias=r.alias,this.plugins=r.plugins||[],this.doNotResolveExamples=!!t.resolve?.doNotResolveExamples;let n=o=>Ak({rules:o},this.plugins);this.rules={oas2:n({...t.rules,...t.oas2Rules}),oas3_0:n({...t.rules,...t.oas3_0Rules}),oas3_1:n({...t.rules,...t.oas3_1Rules}),oas3_2:n({...t.rules,...t.oas3_2Rules}),async2:n({...t.rules,...t.async2Rules}),async3:n({...t.rules,...t.async3Rules}),arazzo1:n({...t.rules,...t.arazzo1Rules}),arazzo1_1:n({...t.rules,...t.arazzo1_1Rules}),overlay1:n({...t.rules,...t.overlay1Rules}),openrpc1:n({...t.rules,...t.openrpc1Rules}),graphql:n({...Vi(t.rules??{},["no-unresolved-refs"]),...t.graphqlRules})},this.preprocessors={oas2:{...t.preprocessors,...t.oas2Preprocessors},oas3_0:{...t.preprocessors,...t.oas3_0Preprocessors},oas3_1:{...t.preprocessors,...t.oas3_1Preprocessors},oas3_2:{...t.preprocessors,...t.oas3_2Preprocessors},async2:{...t.preprocessors,...t.async2Preprocessors},async3:{...t.preprocessors,...t.async3Preprocessors},arazzo1:{...t.preprocessors,...t.arazzo1Preprocessors},arazzo1_1:{...t.preprocessors,...t.arazzo1_1Preprocessors},overlay1:{...t.preprocessors,...t.overlay1Preprocessors},openrpc1:{...t.preprocessors,...t.openrpc1Preprocessors},graphql:{}},this.decorators={oas2:{...t.decorators,...t.oas2Decorators},oas3_0:{...t.decorators,...t.oas3_0Decorators},oas3_1:{...t.decorators,...t.oas3_1Decorators},oas3_2:{...t.decorators,...t.oas3_2Decorators},async2:{...t.decorators,...t.async2Decorators},async3:{...t.decorators,...t.async3Decorators},arazzo1:{...t.decorators,...t.arazzo1Decorators},arazzo1_1:{...t.decorators,...t.arazzo1_1Decorators},overlay1:{...t.decorators,...t.overlay1Decorators},openrpc1:{...t.decorators,...t.openrpc1Decorators},graphql:{}},this.recheck=t.recheck??{rules:{}},this.ignore=r.ignore??{}}forAlias(t){if(t===void 0||!T(this.resolvedConfig?.apis?.[t]))return this;let{apis:r,...n}=this.resolvedConfig,{root:o,output:i,...s}=r[t];return new e({...n,...s},{configPath:this.configPath,document:this.document,resolvedRefMap:this.resolvedRefMap,alias:t,plugins:this.plugins,ignore:this.ignore})}clearIgnoreForRef(t){let r=this.configPath?oo.dirname(this.configPath):process.cwd(),n=pe(t)?t:oo.resolve(r,t);delete this.ignore[n]}saveIgnore(){let t=this.configPath?oo.dirname(this.configPath):process.cwd(),r=oo.join(t,Ia),n={};for(let o of Object.keys(this.ignore)){let i=pe(o)?o:ka(oo.relative(t,o)),s=n[i]=this.ignore[o];for(let a of Object.keys(s))s[a]=Array.from(s[a])}Ok.writeFileSync(r,kS+wp(n))}addIgnore(t){let r=this.ignore,n=t.location[0];if(n.pointer===void 0)return;let o=r[n.source.absoluteRef]=r[n.source.absoluteRef]||{};(o[t.ruleId]=o[t.ruleId]||new Set).add(n.pointer)}addProblemToIgnore(t){let r=t.location[0];if(r.pointer===void 0)return t;let o=(this.ignore[r.source.absoluteRef]||{})[t.ruleId],i=o&&o.has(r.pointer);return i?{...t,ignored:i}:t}extendTypes(t,r){let n=t;for(let o of this.plugins)if(o.typeExtension!==void 0)switch(r){case"oas3_0":case"oas3_1":case"oas3_2":if(!o.typeExtension.oas3)continue;n=o.typeExtension.oas3(n,r);break;case"oas2":if(!o.typeExtension.oas2)continue;n=o.typeExtension.oas2(n,r);break;case"async2":if(!o.typeExtension.async2)continue;n=o.typeExtension.async2(n,r);break;case"async3":if(!o.typeExtension.async3)continue;n=o.typeExtension.async3(n,r);break;case"arazzo1":case"arazzo1_1":if(!o.typeExtension.arazzo1)continue;n=o.typeExtension.arazzo1(n,r);break;case"overlay1":if(!o.typeExtension.overlay1)continue;n=o.typeExtension.overlay1(n,r);break;case"openrpc1":if(!o.typeExtension.openrpc1)continue;n=o.typeExtension.openrpc1(n,r);break;case"graphql":break;default:throw new Error("Not implemented")}return n}getRuleSettings(t,r){this._usedRules.add(t),this._usedVersions.add(r);let n=this.rules[r][t]||"off";return typeof n=="string"?{severity:n}:{severity:"error",...n}}getPreprocessorSettings(t,r){this._usedRules.add(t),this._usedVersions.add(r);let n=this.preprocessors[r][t]||"off";return typeof n=="string"?{severity:n==="on"?"error":n}:{severity:"error",...n}}getDecoratorSettings(t,r){this._usedRules.add(t),this._usedVersions.add(r);let n=this.decorators[r][t]||"off";return typeof n=="string"?{severity:n==="on"?"error":n}:{severity:"error",...n}}getUnusedRules(){let t=[],r=[],n=[];for(let o of Array.from(this._usedVersions))t.push(...Object.keys(this.rules[o]).filter(i=>!this._usedRules.has(i))),r.push(...Object.keys(this.decorators[o]).filter(i=>!this._usedRules.has(i))),n.push(...Object.keys(this.preprocessors[o]).filter(i=>!this._usedRules.has(i)));return{rules:t,preprocessors:n,decorators:r}}getRulesForSpecVersion(t){switch(t){case"oas3":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.oas3&&r.push(n.preprocessors.oas3)),this.plugins.forEach(n=>n.rules?.oas3&&r.push(n.rules.oas3)),this.plugins.forEach(n=>n.decorators?.oas3&&r.push(n.decorators.oas3)),r}case"oas2":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.oas2&&r.push(n.preprocessors.oas2)),this.plugins.forEach(n=>n.rules?.oas2&&r.push(n.rules.oas2)),this.plugins.forEach(n=>n.decorators?.oas2&&r.push(n.decorators.oas2)),r}case"async2":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.async2&&r.push(n.preprocessors.async2)),this.plugins.forEach(n=>n.rules?.async2&&r.push(n.rules.async2)),this.plugins.forEach(n=>n.decorators?.async2&&r.push(n.decorators.async2)),r}case"async3":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.async3&&r.push(n.preprocessors.async3)),this.plugins.forEach(n=>n.rules?.async3&&r.push(n.rules.async3)),this.plugins.forEach(n=>n.decorators?.async3&&r.push(n.decorators.async3)),r}case"arazzo1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.arazzo1&&r.push(n.preprocessors.arazzo1)),this.plugins.forEach(n=>n.rules?.arazzo1&&r.push(n.rules.arazzo1)),this.plugins.forEach(n=>n.decorators?.arazzo1&&r.push(n.decorators.arazzo1)),r}case"arazzo1_1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.arazzo1_1&&r.push(n.preprocessors.arazzo1_1)),this.plugins.forEach(n=>n.rules?.arazzo1_1&&r.push(n.rules.arazzo1_1)),this.plugins.forEach(n=>n.decorators?.arazzo1_1&&r.push(n.decorators.arazzo1_1)),r}case"overlay1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.overlay1&&r.push(n.preprocessors.overlay1)),this.plugins.forEach(n=>n.rules?.overlay1&&r.push(n.rules.overlay1)),this.plugins.forEach(n=>n.decorators?.overlay1&&r.push(n.decorators.overlay1)),r}case"openrpc1":{let r=[];return this.plugins.forEach(n=>n.preprocessors?.openrpc1&&r.push(n.preprocessors.openrpc1)),this.plugins.forEach(n=>n.rules?.openrpc1&&r.push(n.rules.openrpc1)),this.plugins.forEach(n=>n.decorators?.openrpc1&&r.push(n.decorators.openrpc1)),r}case"graphql":{let r=[];return this.plugins.forEach(n=>n.rules?.graphql&&r.push(n.rules.graphql)),r}}}skipRules(t){for(let r of t||[])for(let n of Bi)if(this.rules[n][r])this.rules[n][r]="off";else if(Array.isArray(this.rules[n].assertions))for(let o of this.rules[n].assertions)o.assertionId===r&&(o.severity="off")}skipPreprocessors(t){for(let r of t||[])for(let n of Bi)this.preprocessors[n][r]&&(this.preprocessors[n][r]="off")}skipDecorators(t){for(let r of t||[])for(let n of Bi)this.decorators[n][r]&&(this.decorators[n][r]="off")}};import*as rp from"node:fs";import*as Tk from"node:path";function one(e,t){let r=Object.create(null);for(let n of Object.keys(e)){let o=e[n],i=pe(n)?n:lp(t,n);r[i]=Object.create(null);for(let s of Object.keys(o))r[i][s]=new Set(o[s])}return r}async function Rk(e,t){let r=e?Hd(e):xt?"":process.cwd(),n=r?lp(r,Ia):Ia;if(rp?.existsSync&&!pe(n)&&!rp.existsSync(n))return{};let o=await t.resolveDocument(null,n,!0);return o instanceof Error||!o.parsed?{}:one(o.parsed||{},r)}async function ine(e={}){let{configPath:t=kk(),customExtends:r,externalRefResolver:n,skipPluginEval:o,plugins:i}=e,s=n??new cr,a=t?await s.resolveDocument(null,t,!0):void 0;if(a instanceof Error)throw a;let{resolvedConfig:c,resolvedRefMap:l,plugins:p}=await sb({rawConfigDocument:a?Ck(a):void 0,customExtends:r,configPath:t,externalRefResolver:n,skipPluginEval:o,plugins:i}),u=await Rk(t,s);return new ca(c,{configPath:t,document:a,resolvedRefMap:l,plugins:p,ignore:u})}function kk(e){if(!rp?.existsSync)return;let t=e?Tk.resolve(e,ss):ss;return rp.existsSync(t)?t:void 0}async function Ik(e,{configPath:t,externalRefResolver:r,ignore:n,plugins:o}={}){let s=Ko(typeof e=="string"?e:"",t??"");typeof e!="string"&&e&&(s.parsed=e);let{resolvedConfig:a,resolvedRefMap:c,plugins:l}=await sb({rawConfigDocument:Ck(s),configPath:t,externalRefResolver:r,plugins:o});return new ca(a,{configPath:t,document:s,resolvedRefMap:c,plugins:l,ignore:n})}function Ck(e){if(!e.parsed)return e;let{plugins:t,resolve:r,...n}=e.parsed,o={...structuredClone(n),plugins:t?.slice(),...r&&{resolve:{...r}}};return{...e,parsed:o}}export{Xre as a,_r as b,T as c,br as d,$i as e,Zre as f,et as g,gt as h,mc as i,ene as j,LC as k,FC as l,xt as m,ka as n,mi as o,Gr as p,B as q,pp as r,fn as s,pe as t,mn as u,zo as v,re as w,gs as x,Ya as y,vs as z,Ih as A,Q_ as B,ey as C,Sy as D,My as E,i$ as F,zy as G,Ky as H,tne as I,rne as J,nne as K,Ho as L,wp as M,hn as N,es as O,ga as P,yn as Q,$p as R,cr as S,wr as T,uO as U,yO as V,rz as W,nz as X,lz as Y,uz as Z,dz as _,fz as $,mz as aa,hz as ba,yz as ca,gz as da,tm as ea,le as fa,Pa as ga,Un as ha,Lt as ia,Ft as ja,hce as ka,rs as la,im as ma,xm as na,YZ as oa,ine as pa,Ik as qa,jn as ra,_k as sa,Vre as ta,ln as ua,$k as va,Yre as wa,Ed as xa,Qre as ya};
195
195
  /*! Bundled license information:
196
196
 
197
197
  js-yaml/dist/js-yaml.mjs:
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  var __filename = __fileURLToPath(import.meta.url);
6
6
  var __dirname = __pathDirname(__filename);
7
- import{c as r}from"./A7GSAEEX.js";var s="components",p="paths",i="webhooks",O="x-webhooks",c="channels",f="operations";function e(o,n){if(r(o)){n(o);for(let t of Object.keys(o))e(o[t],n)}else if(Array.isArray(o))for(let t of o)e(t,n)}function S(o){return o.startsWith(`#/${s}/`)}export{s as a,p as b,i as c,O as d,c as e,f,e as g,S as h};
7
+ import{c as r}from"./WBWCX3LS.js";var s="components",p="paths",i="webhooks",O="x-webhooks",c="channels",f="operations";function e(o,n){if(r(o)){n(o);for(let t of Object.keys(o))e(o[t],n)}else if(Array.isArray(o))for(let t of o)e(t,n)}function S(o){return o.startsWith(`#/${s}/`)}export{s as a,p as b,i as c,O as d,c as e,f,e as g,S as h};
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  var __filename = __fileURLToPath(import.meta.url);
6
6
  var __dirname = __pathDirname(__filename);
7
- import{b as A,c as F,d as S,e as l}from"./CPGIDBYI.js";import"./55SOSU5Q.js";import{e as $,g as x,n as I,o as P}from"./YICDVMCK.js";import"./GKXY6U4S.js";import{f as p}from"./3M4I4RF5.js";import{aa as w,ia as n,l as u}from"./A7GSAEEX.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";async function O({argv:t,config:o,version:c}){let h=performance.now(),j=Date.now(),{organization:g,project:d,"mount-path":z,verbose:D}=t,f=t.domain||x(),e,r,y,b,s=[];try{let i=$();if(e=P(t.files,(a,T)=>{n.warn(`File ${a} is overwritten by ${T}
7
+ import{b as A,c as F,d as S,e as l}from"./MKYAX4HH.js";import"./RLJVKAOL.js";import{e as $,g as x,n as I,o as P}from"./GBN5W6T3.js";import"./GKXY6U4S.js";import{f as p}from"./SV2XHB2S.js";import{Z as w,fa as n,k as u}from"./WBWCX3LS.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";async function O({argv:t,config:o,version:c}){let h=performance.now(),j=Date.now(),{organization:g,project:d,"mount-path":z,verbose:D}=t,f=t.domain||x(),e,r,y,b,s=[];try{let i=$();if(e=P(t.files,(a,T)=>{n.warn(`File ${a} is overwritten by ${T}
8
8
  `)}),!e.length)return p("push",h,"No files to upload");let m=await I({domain:f,apiKey:i,organization:g,project:d,mountPath:z,files:e,defaultBranch:t["default-branch"],commit:{message:t.message,branchName:t.branch,sha:t["commit-sha"],url:t["commit-url"],createdAt:t["created-at"],namespace:t.namespace,repository:t.repository,author:U(t.author)},version:c,replace:t.replace,onUploadStart:a=>{n.info(`Uploading to ${a.mountPath} ${e.length} ${u("file",e.length)}:
9
9
  `)},onSunsetWarning:a=>s.push(a),onSlugDeprecated:S});r=m.pushId,y=m.organizationId,b=m.projectId}catch(i){l("push",s),F("\u2717 File upload failed.",i)}for(let i of e)n.info(w(`\u2713 ${i.name}
10
10
  `));return n.info(`
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  var __filename = __fileURLToPath(import.meta.url);
6
6
  var __dirname = __pathDirname(__filename);
7
- import{a as V}from"./KYNWA75L.js";import{c as I,d as N,e as fe,h as G,j as _,k as ue,v as B,w as H}from"./NFLXGRQQ.js";import{a as ae,b as W,c as ce,d as pe}from"./NXGHUZ5Q.js";import{a as ie}from"./64G5RPLP.js";import"./55SOSU5Q.js";import{O as oe,P as v,c as y,ia as S,l as O,oa as C,ta as se}from"./A7GSAEEX.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import{mkdir as At,writeFile as jt}from"node:fs/promises";import kt from"node:path";var Ve=/^[a-zA-Z][a-zA-Z0-9]*(?:[_\-.][a-zA-Z0-9]+)*$/,Be=/^[0-9a-f-]{8,}$/i,He=[["uuid",/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i],["date-time",/^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/],["date",/^\d{4}-\d{2}-\d{2}$/],["email",/^[^\s@]+@[^\s@]+\.[^\s@]+$/],["uri",/^https?:\/\/\S+$/],["ipv4",/^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)$/]],M=new WeakMap;function z(e){return{formats:He.filter(([,t])=>t.test(e)).map(([t])=>t),values:[e],count:1,overflow:!1}}function x(e,t){if(!e)return t;if(!t)return e;let n={formats:e.formats.filter(r=>t.formats.includes(r)),values:[],count:e.count+t.count,overflow:e.overflow||t.overflow};if(!n.overflow){let r=[...e.values];for(let s of t.values)r.includes(s)||r.push(s);r.length>10?n.overflow=!0:n.values=r}return n}function D(e,t){M.set(e,t)}function U(e){return M.get(e)}function F(e,t){let n=M.get(e);n&&M.set(t,n)}function ze(e){return e.length<=30&&!Be.test(e)&&Ve.test(e)}function X(e,t){return e.formats.length>0?{format:e.formats[0]}:t&&!e.overflow&&e.count>=4&&e.values.length>0&&e.values.length<=5&&e.values.length*2<=e.count&&e.values.every(ze)?{enum:[...e.values].sort()}:{}}function $(e){let t=M.get(e);if(t){let n=typeof e.type=="string"?[e.type]:e.type??[];n.includes("string")&&Object.assign(e,X(t,n.length===1))}for(let n of Object.values(e.properties??{}))$(n);e.additionalProperties&&$(e.additionalProperties),e.items&&$(e.items);for(let n of e.oneOf??[])$(n)}function me(e){for(let t of Object.values(e.paths))for(let n of Object.values(t)){for(let r of Object.values(n.requestBody?.content??{}))$(r.schema);for(let r of Object.values(n.responses))for(let s of Object.values(r.content??{}))$(s.schema)}for(let t of Object.values(e.components?.schemas??{}))$(t);return e}var be=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Y=/^\d+$/,De=/^[0-9a-hjkmnp-tv-z]{26}$/i,Ue=/^[a-z][a-z0-9]*_(?=[0-9a-z]*\d)[0-9a-z]{10,}$/i,Fe=/^[a-z](?=[a-z0-9]*\d)[a-z0-9]{23,24}$/,Q=new Set(ie),Le=new Set(["get","head"]),de="application/x-www-form-urlencoded",le="multipart/form-data";function Ye(e){return e?Y.test(e)||be.test(e)||De.test(e)||Ue.test(e)||Fe.test(e)?!0:/^[0-9a-f]{16,}$/i.test(e):!1}function ee(e){let t=e.split("/"),n=[],r=new Set;return{template:t.map((o,a)=>{if(!Ye(o))return o;let i=t[a-1],c=i?`${O(i,1)}Id`:"id",p=1;for(;r.has(c);)p+=1,c=i?`${O(i,1)}Id${p}`:`id${p}`;return r.add(c),n.push({name:c,value:o}),`{${c}}`}).join("/")||"/",params:n}}function T(e){if(e===null)return{type:"null"};if(Array.isArray(e)){if(e.length===0)return{type:"array"};let t=e.slice(0,20).map(T);return{type:"array",items:E(t)}}switch(typeof e){case"string":{let t={type:"string"};return D(t,z(e)),t}case"boolean":return{type:"boolean"};case"number":return Number.isInteger(e)?{type:"integer"}:{type:"number"};case"object":{let t=Object.entries(e);if(t.length>0&&(t.every(([a])=>Y.test(a))||t.every(([a])=>be.test(a))))return{type:"object",additionalProperties:E(t.map(([,a])=>T(a)))};let n={},r=[];for(let[o,a]of t)n[o]=T(a),r.push(o);let s={type:"object",properties:n};return r.length>0&&(s.required=r),s}default:return{}}}function E(e){if(e.length===0)return{};let[t,...n]=e,r=t;for(let s of n)r=L(r,s);return r}function he(e){return Object.keys(e).length===0}function A(e){return e.additionalProperties?"map":e.type==="object"?"object":e.type==="array"?"array":"scalar"}function Z(e){return e.oneOf?e.oneOf.flatMap(Z):Array.isArray(e.type)?e.type.map(t=>{if(t==="object"){let r={type:"object"};return e.properties&&(r.properties=e.properties),e.required&&(r.required=e.required),e.additionalProperties&&(r.additionalProperties=e.additionalProperties),r}if(t==="array")return e.items?{type:"array",items:e.items}:{type:"array"};let n={type:t};return t==="string"&&F(e,n),n}):[e]}var Ke=.5,We=3;function Oe(e,t){let n=Object.keys(e.properties??{}),r=Object.keys(t.properties??{});if(n.length===0||r.length===0)return 1;let s=new Set(r),o=n.filter(a=>s.has(a)).length;return o/(n.length+r.length-o)}function Xe(e,t){let n=A(e);if(n!==A(t))return!1;switch(n){case"scalar":return e.type===t.type||e.type==="integer"&&t.type==="number"||e.type==="number"&&t.type==="integer";case"object":return Oe(e,t)>=Ke;default:return!0}}function ve(e,t){switch(A(e)){case"scalar":{if(e.type!==t.type)return{type:"number"};if(e.type==="string"){let n=x(U(e),U(t));if(n){let r={type:"string"};return D(r,n),r}}return e}case"map":return{type:"object",additionalProperties:L(e.additionalProperties??{},t.additionalProperties??{})};case"object":{let n={...e.properties??{}};for(let[a,i]of Object.entries(t.properties??{}))n[a]=n[a]?L(n[a],i):i;let r=new Set(t.required??[]),s=(e.required??[]).filter(a=>r.has(a)),o={type:"object",properties:n};return s.length>0&&(o.required=s),o}case"array":{if(!e.items||!t.items){let n=e.items??t.items;return n?{type:"array",items:n}:{type:"array"}}return{type:"array",items:L(e.items,t.items)}}}}function Ze(e){let t=[...e],n=()=>t.filter(r=>A(r)==="object").length;for(;n()>We;){let r=-1,s=-1,o=-1;for(let a=0;a<t.length;a++)if(A(t[a])==="object")for(let i=a+1;i<t.length;i++){if(A(t[i])!=="object")continue;let c=Oe(t[a],t[i]);c>o&&(o=c,r=a,s=i)}t[r]=ve(t[r],t[s]),t.splice(s,1)}return t}var Qe=["boolean","integer","number","string","null"];function et(e){if(e.length===1)return e[0];let t=[],n=new Set,r;for(let i of e)A(i)==="scalar"&&typeof i.type=="string"?(n.add(i.type),i.type==="string"&&(r=x(r,U(i)))):t.push(i);let s=Qe.filter(i=>n.has(i)),o=i=>{let c={type:i};return(typeof i=="string"?i==="string":i.includes("string"))&&r&&D(c,r),c};if(t.length===0)return s.length===1?o(s[0]):o(s);if(t.length===1&&s.length===1&&s[0]==="null"&&typeof t[0].type=="string")return{...t[0],type:[t[0].type,"null"]};let a=[...t];return s.length===1?a.push(o(s[0])):s.length>1&&a.push(o(s)),{oneOf:a}}function L(e,t){if(he(e)||he(t))return{};let n=Z(e);for(let r of Z(t)){let s=n.findIndex(o=>Xe(o,r));s===-1?n.push(r):n[s]=ve(n[s],r)}return et(Ze(n))}function tt(e){if(!e)return;let t=e.trim();if(!(!t.startsWith("{")&&!t.startsWith("[")))try{return JSON.parse(t)}catch{return}}function nt(e,t){let n=t?.match(/boundary="?([^";,]+)"?/i)?.[1];if(!n)return;let r={};for(let s of e.split(`--${n}`)){let o=s.match(/^\r?\n([\s\S]*?)\r?\n\r?\n([\s\S]*)\r?\n$/);if(!o)continue;let[,a,i]=o,c=a.match(/\bname="([^"]*)"/i)?.[1];c!==void 0&&(r[c]=/\bfilename="/i.test(a)?{type:"string",format:"binary"}:T(i))}if(Object.keys(r).length!==0)return{type:"object",properties:r,required:Object.keys(r)}}function ge(e){let t=_(e.contentType);if(e.bodyJson!==void 0)return{mime:ue(t)?t:"application/json",schema:T(e.bodyJson)};if(t===de&&e.bodyText){let r={};for(let[s,o]of new URLSearchParams(e.bodyText))r[s]=o;return Object.keys(r).length===0?void 0:{mime:de,schema:T(r)}}if(t===le&&e.bodyText){let r=nt(e.bodyText,e.contentType);return r?{mime:le,schema:r}:void 0}let n=tt(e.bodyText);if(n!==void 0)return{mime:"application/json",schema:T(n)}}function ye(e,t,n){let r=e.get(t);e.set(t,r?E([r,n]):n)}async function we(e){let t=await N(e.trafficPath);if(t.length===0)throw new Error("No traffic files found in the provided traffic path.");let n=B(e.server),r=new Map,s=new Set,o=0,a=0,i=p=>{let f=p.request.method.toLowerCase();if(!Q.has(f))return;let u=p.request.path||"/";if(n){let d=H(p.request,n);if(d===void 0)return;u=d}if(f==="query"&&e.openapiVersion==="3.1"){a+=1;return}!n&&p.request.host&&!fe(p.request.host)&&s.add(`${p.request.protocol}//${p.request.host}`);let{template:m,params:k}=ee(G(u)),P=`${f} ${m}`,l=r.get(P);l||(l={method:f,template:m,pathParams:new Map,queryParams:new Map,requestBodies:new Map,responses:new Map},r.set(P,l));for(let{name:d,value:g}of k){let h=l.pathParams.get(d);l.pathParams.set(d,{numeric:(h?.numeric??!0)&&Y.test(g),observations:x(h?.observations,z(g))})}for(let d of new Set(p.request.query.keys())){let g=p.request.query.getAll(d),h=l.queryParams.get(d),q=g.length>0&&g.every(R=>Y.test(R)),b=h?.observations;for(let R of g)b=x(b,z(R));l.queryParams.set(d,{numeric:(h?.numeric??!0)&&q,observations:b})}if(!Le.has(f)){let d=ge(p.request);d&&ye(l.requestBodies,d.mime,d.schema)}if(p.response&&p.response.status>=100){let d=String(p.response.status),g=l.responses.get(d);g||(g={bodies:new Map},l.responses.set(d,g)),g.statusText??=p.response.statusText||void 0;let h=ge(p.response);h&&ye(g.bodies,h.mime,h.schema)}};for(let p of t){let f=await V(p,e.format);if(!f){S.warn(`Skipping traffic file with unrecognized format: ${p}
7
+ import{a as V}from"./LS3G7CUH.js";import{c as I,d as N,e as fe,h as G,j as _,k as ue,v as B,w as H}from"./LRMOPAZ4.js";import{a as ae,b as W,c as ce,d as pe}from"./BU4AMVHN.js";import{a as ie}from"./64G5RPLP.js";import"./RLJVKAOL.js";import{L as oe,M as v,c as y,fa as S,k as O,la as C,qa as se}from"./WBWCX3LS.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import{mkdir as At,writeFile as jt}from"node:fs/promises";import kt from"node:path";var Ve=/^[a-zA-Z][a-zA-Z0-9]*(?:[_\-.][a-zA-Z0-9]+)*$/,Be=/^[0-9a-f-]{8,}$/i,He=[["uuid",/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i],["date-time",/^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/],["date",/^\d{4}-\d{2}-\d{2}$/],["email",/^[^\s@]+@[^\s@]+\.[^\s@]+$/],["uri",/^https?:\/\/\S+$/],["ipv4",/^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)$/]],M=new WeakMap;function z(e){return{formats:He.filter(([,t])=>t.test(e)).map(([t])=>t),values:[e],count:1,overflow:!1}}function x(e,t){if(!e)return t;if(!t)return e;let n={formats:e.formats.filter(r=>t.formats.includes(r)),values:[],count:e.count+t.count,overflow:e.overflow||t.overflow};if(!n.overflow){let r=[...e.values];for(let s of t.values)r.includes(s)||r.push(s);r.length>10?n.overflow=!0:n.values=r}return n}function D(e,t){M.set(e,t)}function U(e){return M.get(e)}function F(e,t){let n=M.get(e);n&&M.set(t,n)}function ze(e){return e.length<=30&&!Be.test(e)&&Ve.test(e)}function X(e,t){return e.formats.length>0?{format:e.formats[0]}:t&&!e.overflow&&e.count>=4&&e.values.length>0&&e.values.length<=5&&e.values.length*2<=e.count&&e.values.every(ze)?{enum:[...e.values].sort()}:{}}function $(e){let t=M.get(e);if(t){let n=typeof e.type=="string"?[e.type]:e.type??[];n.includes("string")&&Object.assign(e,X(t,n.length===1))}for(let n of Object.values(e.properties??{}))$(n);e.additionalProperties&&$(e.additionalProperties),e.items&&$(e.items);for(let n of e.oneOf??[])$(n)}function me(e){for(let t of Object.values(e.paths))for(let n of Object.values(t)){for(let r of Object.values(n.requestBody?.content??{}))$(r.schema);for(let r of Object.values(n.responses))for(let s of Object.values(r.content??{}))$(s.schema)}for(let t of Object.values(e.components?.schemas??{}))$(t);return e}var be=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Y=/^\d+$/,De=/^[0-9a-hjkmnp-tv-z]{26}$/i,Ue=/^[a-z][a-z0-9]*_(?=[0-9a-z]*\d)[0-9a-z]{10,}$/i,Fe=/^[a-z](?=[a-z0-9]*\d)[a-z0-9]{23,24}$/,Q=new Set(ie),Le=new Set(["get","head"]),de="application/x-www-form-urlencoded",le="multipart/form-data";function Ye(e){return e?Y.test(e)||be.test(e)||De.test(e)||Ue.test(e)||Fe.test(e)?!0:/^[0-9a-f]{16,}$/i.test(e):!1}function ee(e){let t=e.split("/"),n=[],r=new Set;return{template:t.map((o,a)=>{if(!Ye(o))return o;let i=t[a-1],c=i?`${O(i,1)}Id`:"id",p=1;for(;r.has(c);)p+=1,c=i?`${O(i,1)}Id${p}`:`id${p}`;return r.add(c),n.push({name:c,value:o}),`{${c}}`}).join("/")||"/",params:n}}function T(e){if(e===null)return{type:"null"};if(Array.isArray(e)){if(e.length===0)return{type:"array"};let t=e.slice(0,20).map(T);return{type:"array",items:E(t)}}switch(typeof e){case"string":{let t={type:"string"};return D(t,z(e)),t}case"boolean":return{type:"boolean"};case"number":return Number.isInteger(e)?{type:"integer"}:{type:"number"};case"object":{let t=Object.entries(e);if(t.length>0&&(t.every(([a])=>Y.test(a))||t.every(([a])=>be.test(a))))return{type:"object",additionalProperties:E(t.map(([,a])=>T(a)))};let n={},r=[];for(let[o,a]of t)n[o]=T(a),r.push(o);let s={type:"object",properties:n};return r.length>0&&(s.required=r),s}default:return{}}}function E(e){if(e.length===0)return{};let[t,...n]=e,r=t;for(let s of n)r=L(r,s);return r}function he(e){return Object.keys(e).length===0}function A(e){return e.additionalProperties?"map":e.type==="object"?"object":e.type==="array"?"array":"scalar"}function Z(e){return e.oneOf?e.oneOf.flatMap(Z):Array.isArray(e.type)?e.type.map(t=>{if(t==="object"){let r={type:"object"};return e.properties&&(r.properties=e.properties),e.required&&(r.required=e.required),e.additionalProperties&&(r.additionalProperties=e.additionalProperties),r}if(t==="array")return e.items?{type:"array",items:e.items}:{type:"array"};let n={type:t};return t==="string"&&F(e,n),n}):[e]}var Ke=.5,We=3;function Oe(e,t){let n=Object.keys(e.properties??{}),r=Object.keys(t.properties??{});if(n.length===0||r.length===0)return 1;let s=new Set(r),o=n.filter(a=>s.has(a)).length;return o/(n.length+r.length-o)}function Xe(e,t){let n=A(e);if(n!==A(t))return!1;switch(n){case"scalar":return e.type===t.type||e.type==="integer"&&t.type==="number"||e.type==="number"&&t.type==="integer";case"object":return Oe(e,t)>=Ke;default:return!0}}function ve(e,t){switch(A(e)){case"scalar":{if(e.type!==t.type)return{type:"number"};if(e.type==="string"){let n=x(U(e),U(t));if(n){let r={type:"string"};return D(r,n),r}}return e}case"map":return{type:"object",additionalProperties:L(e.additionalProperties??{},t.additionalProperties??{})};case"object":{let n={...e.properties??{}};for(let[a,i]of Object.entries(t.properties??{}))n[a]=n[a]?L(n[a],i):i;let r=new Set(t.required??[]),s=(e.required??[]).filter(a=>r.has(a)),o={type:"object",properties:n};return s.length>0&&(o.required=s),o}case"array":{if(!e.items||!t.items){let n=e.items??t.items;return n?{type:"array",items:n}:{type:"array"}}return{type:"array",items:L(e.items,t.items)}}}}function Ze(e){let t=[...e],n=()=>t.filter(r=>A(r)==="object").length;for(;n()>We;){let r=-1,s=-1,o=-1;for(let a=0;a<t.length;a++)if(A(t[a])==="object")for(let i=a+1;i<t.length;i++){if(A(t[i])!=="object")continue;let c=Oe(t[a],t[i]);c>o&&(o=c,r=a,s=i)}t[r]=ve(t[r],t[s]),t.splice(s,1)}return t}var Qe=["boolean","integer","number","string","null"];function et(e){if(e.length===1)return e[0];let t=[],n=new Set,r;for(let i of e)A(i)==="scalar"&&typeof i.type=="string"?(n.add(i.type),i.type==="string"&&(r=x(r,U(i)))):t.push(i);let s=Qe.filter(i=>n.has(i)),o=i=>{let c={type:i};return(typeof i=="string"?i==="string":i.includes("string"))&&r&&D(c,r),c};if(t.length===0)return s.length===1?o(s[0]):o(s);if(t.length===1&&s.length===1&&s[0]==="null"&&typeof t[0].type=="string")return{...t[0],type:[t[0].type,"null"]};let a=[...t];return s.length===1?a.push(o(s[0])):s.length>1&&a.push(o(s)),{oneOf:a}}function L(e,t){if(he(e)||he(t))return{};let n=Z(e);for(let r of Z(t)){let s=n.findIndex(o=>Xe(o,r));s===-1?n.push(r):n[s]=ve(n[s],r)}return et(Ze(n))}function tt(e){if(!e)return;let t=e.trim();if(!(!t.startsWith("{")&&!t.startsWith("[")))try{return JSON.parse(t)}catch{return}}function nt(e,t){let n=t?.match(/boundary="?([^";,]+)"?/i)?.[1];if(!n)return;let r={};for(let s of e.split(`--${n}`)){let o=s.match(/^\r?\n([\s\S]*?)\r?\n\r?\n([\s\S]*)\r?\n$/);if(!o)continue;let[,a,i]=o,c=a.match(/\bname="([^"]*)"/i)?.[1];c!==void 0&&(r[c]=/\bfilename="/i.test(a)?{type:"string",format:"binary"}:T(i))}if(Object.keys(r).length!==0)return{type:"object",properties:r,required:Object.keys(r)}}function ge(e){let t=_(e.contentType);if(e.bodyJson!==void 0)return{mime:ue(t)?t:"application/json",schema:T(e.bodyJson)};if(t===de&&e.bodyText){let r={};for(let[s,o]of new URLSearchParams(e.bodyText))r[s]=o;return Object.keys(r).length===0?void 0:{mime:de,schema:T(r)}}if(t===le&&e.bodyText){let r=nt(e.bodyText,e.contentType);return r?{mime:le,schema:r}:void 0}let n=tt(e.bodyText);if(n!==void 0)return{mime:"application/json",schema:T(n)}}function ye(e,t,n){let r=e.get(t);e.set(t,r?E([r,n]):n)}async function we(e){let t=await N(e.trafficPath);if(t.length===0)throw new Error("No traffic files found in the provided traffic path.");let n=B(e.server),r=new Map,s=new Set,o=0,a=0,i=p=>{let f=p.request.method.toLowerCase();if(!Q.has(f))return;let u=p.request.path||"/";if(n){let d=H(p.request,n);if(d===void 0)return;u=d}if(f==="query"&&e.openapiVersion==="3.1"){a+=1;return}!n&&p.request.host&&!fe(p.request.host)&&s.add(`${p.request.protocol}//${p.request.host}`);let{template:m,params:k}=ee(G(u)),P=`${f} ${m}`,l=r.get(P);l||(l={method:f,template:m,pathParams:new Map,queryParams:new Map,requestBodies:new Map,responses:new Map},r.set(P,l));for(let{name:d,value:g}of k){let h=l.pathParams.get(d);l.pathParams.set(d,{numeric:(h?.numeric??!0)&&Y.test(g),observations:x(h?.observations,z(g))})}for(let d of new Set(p.request.query.keys())){let g=p.request.query.getAll(d),h=l.queryParams.get(d),q=g.length>0&&g.every(R=>Y.test(R)),b=h?.observations;for(let R of g)b=x(b,z(R));l.queryParams.set(d,{numeric:(h?.numeric??!0)&&q,observations:b})}if(!Le.has(f)){let d=ge(p.request);d&&ye(l.requestBodies,d.mime,d.schema)}if(p.response&&p.response.status>=100){let d=String(p.response.status),g=l.responses.get(d);g||(g={bodies:new Map},l.responses.set(d,g)),g.statusText??=p.response.statusText||void 0;let h=ge(p.response);h&&ye(g.bodies,h.mime,h.schema)}};for(let p of t){let f=await V(p,e.format);if(!f){S.warn(`Skipping traffic file with unrecognized format: ${p}
8
8
  `);continue}o+=1;for await(let u of f.parse(p))i(u)}if(o===0)throw new Error("No supported traffic files found to generate an OpenAPI description from.");if(r.size===0&&a>0)throw new C("All observed HTTP exchanges use the QUERY method, which OpenAPI 3.1 does not support. Use --openapi-version 3.2 to include them.");if(r.size===0)throw new Error(n?`No HTTP exchanges in the traffic matched the server "${n}".`:"No HTTP exchanges were observed in the traffic. Cannot generate an OpenAPI description.");let c=n?[n]:Array.from(s).sort();return rt(r,e.openapiVersion,e.title??"Generated API",c)}function Pe(e){return Object.values(e.paths).reduce((t,n)=>t+Object.keys(n).length,0)}function Se(e,t){if(e.numeric)return{type:"integer"};let n={type:"string"};return e.observations&&Object.assign(n,X(e.observations,t)),n}function rt(e,t,n,r){let s={};for(let o of e.values()){let a=s[o.template]??={},i=[...Array.from(o.pathParams).map(([p,f])=>({name:p,in:"path",required:!0,schema:Se(f,!1)})),...Array.from(o.queryParams).map(([p,f])=>({name:p,in:"query",required:!1,schema:Se(f,!0)}))],c={operationId:ot(o.method,o.template),responses:{}};if(i.length>0&&(c.parameters=i),o.requestBodies.size>0){let p={};for(let[f,u]of o.requestBodies)p[f]={schema:u};c.requestBody={content:p}}if(o.responses.size===0)c.responses.default={description:"Observed response"};else for(let[p,f]of o.responses){let u={description:f.statusText||"Observed response"};if(f.bodies.size>0){let m={};for(let[k,P]of f.bodies)m[k]={schema:P};u.content=m}c.responses[p]=u}a[o.method]=c}return{openapi:`${t}.0`,info:{title:n,version:"1.0.0"},...r.length>0?{servers:r.map(o=>({url:o}))}:{},paths:s}}function ot(e,t){let n=t.split("/").filter(Boolean).map(r=>r.replace(/[{}]/g,"")).join("-");return`${e}-${n||"root"}`}function K(e,t){return`${e.toUpperCase()} ${t}`}function $e(e,t){let n;if(e.bodyJson!==void 0)try{n=JSON.stringify(e.bodyJson)}catch{n=void 0}if(n??=e.bodyText,!n)return;let r=n.trim();if(r)return r.length>t?`${r.slice(0,t)}\u2026[truncated]`:r}function Te(e){if(!e)return"";let t=e.bodyJson;return t===void 0?e.bodyText?_(e.contentType)||"text":"":t===null?"null":Array.isArray(t)?`array<${t.length>0?Ae(t[0]):""}>`:Ae(t)}function Ae(e){return y(e)?Object.keys(e).sort().join(","):e===null?"null":typeof e}async function je(e){let t=e.perGroup??2,n=e.perOperation??4,r=e.maxBodyChars??2e3,s=B(e.server),o=await N(e.trafficPath),a=new Map;for(let c of o){let p=await V(c,e.format);if(p)for await(let f of p.parse(c)){let u=f.request.method.toUpperCase();if(!Q.has(u.toLowerCase()))continue;let m=f.request.path||"/";if(s){let R=H(f.request,s);if(R===void 0)continue;m=R}let k=G(m),{template:P}=ee(k),l=f.response&&f.response.status>=100?f.response:void 0,d=l?.status,g=`${Te(f.request)}\u2192${Te(l)}`,h=a.get(K(u,P));h||(h=new Map,a.set(K(u,P),h));let q=`${d??""} ${g}`,b=h.get(q);b||(b=[],h.set(q,b)),!(b.length>=t)&&b.push({method:u,path:k,query:f.request.query.toString(),status:d,requestContentType:f.request.contentType,requestBody:$e(f.request,r),responseContentType:l?.contentType,responseBody:l?$e(l,r):void 0})}}let i=new Map;for(let[c,p]of a){let f=[];for(let u=0;u<t&&f.length<n;u++)for(let m of p.values()){if(f.length>=n)break;m[u]&&f.push(m[u])}i.set(c,f)}return i}var st=e=>`You are an expert API designer. You are given one operation from an OpenAPI ${e} description that was inferred mechanically from recorded HTTP traffic, the component schemas it references, and a sample of the real recorded HTTP exchanges for that operation. The inferred description is only a hypothesis: types are coarse, every observed property is marked required, and descriptions are missing. Alternative body shapes observed in the traffic appear as "oneOf" variants or type unions. Common string formats (uuid, date-time, date, email, uri, ipv4) and small closed enums are detected conservatively from the observed values.
9
9
 
10
10
  Refine the operation into the most accurate OpenAPI ${e} definition you can justify from the evidence, while staying conservative:
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  var __filename = __fileURLToPath(import.meta.url);
6
6
  var __dirname = __pathDirname(__filename);
7
- import{a as C,b as Z,c as ee,d as Ne,e as te,f as ne,g as Se,h as oe}from"./7XYDSVIY.js";import{a as Fe,b as De}from"./64G5RPLP.js";import{f as de,g as L,h as ue,i as Ce,l as W,m as h,n as Oe}from"./3M4I4RF5.js";import{$ as le,O as pe,S as ce,T as fe,aa as ye,b as me,c as j,ca as u,d as O,h as ae,ia as N,ka as he,o as A,oa as S,r as d,t as v,va as ge,wa as Ae}from"./A7GSAEEX.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import*as U from"node:fs";import*as Ge from"node:path";import{performance as Xe}from"perf_hooks";import*as G from"node:path";import*as R from"node:path";function F(e,t,o){let n=R.resolve(e),r=R.resolve(t);if(r!==n&&!r.startsWith(n+R.sep))throw new S(`Refusing to write "${o}" outside the output directory.`)}import*as we from"node:path";function D(e,t,o,n,r){let m=o?`.${o}`:"",a=we.join(e,t),i=a+m,p=n.get(i.toLowerCase());for(let s=2;n.has(i.toLowerCase());s++)i=`${a}-${s}${m}`;return r&&p&&p!==t&&p.toLowerCase()===t.toLowerCase()&&r.conflicts.push({name:t,collidingName:p,filename:i,pointer:r.pointer}),n.set(i.toLowerCase(),t),i}function $(e,t,o,n,r,m,a){let i={},p=new Map;for(let[s,c]of Object.entries(e||{})){if(d(c))continue;let f=D(n,L(s,r),m,p,{conflicts:a,pointer:`${t}/${v(s)}`});F(o,f,s),i[s]=f}return i}import*as Pe from"node:path";function g(e,t,o={}){Se(e,r=>{if(d(r)&&oe(r.$ref))n(r,"$ref");else if(j(r.discriminator)&&j(r.discriminator.mapping)){let{mapping:m}=r.discriminator;for(let a of Object.keys(m)){let i=m[a];typeof i=="string"&&oe(i)&&n(r.discriminator.mapping,a)}}});function n(r,m){let a=r[m].split("/"),i=a.pop(),p=a[2],s=o[p];if(!s||!s[i])return;let c=A(Pe.relative(t,s[i].filename));c.startsWith(".")||(c="./"+c),r[m]=c}}function Y(e,t,o="warn"){if(o==="off"||e.length===0)return;let n=e.map(({name:r,collidingName:m,filename:a,pointer:i})=>({ruleId:"split",severity:o,message:`${r} and ${m} would share one file on a case-insensitive file system`+(o==="error"?".":`, saving ${r} to ${a}.`),location:[{source:t,pointer:i,reportOnKey:!0}],suggest:[]}));if(Ae(n,{totals:ge(n),command:"split"}),o==="error")throw new S("\u274C Errors encountered while splitting: files not created.")}import*as ie from"node:path";var Ee=["schemas","messages","securitySchemes","parameters","correlationIds","messageTraits","operationTraits","serverBindings","channelBindings","operationBindings","messageBindings"];var xe=["schemas","messages","securitySchemes","servers","serverVariables","parameters","replies","replyAddresses","correlationIds","messageTraits","operationTraits","tags","externalDocs","serverBindings","channelBindings","operationBindings","messageBindings"];function H(e,t){return(t==="async2"?Ee:xe).filter(n=>n in e)}function ve({asyncapi:e,asyncapiDir:t,componentsFiles:o,ext:n,specVersion:r,conflicts:m}){let a=e.components;if(!a)return;let i=ie.join(t,C),p=H(a,r);for(let s of p){let c=ie.join(i,s),f=new Map;for(let l of Object.keys(a[s]||{})){let y=D(c,l,n,f,{conflicts:m,pointer:`#/components/${s}/${v(l)}`});F(t,y,l),o[s]=o[s]||{},o[s][l]={filename:y}}}}import*as be from"node:fs";import*as V from"node:path";import*as P from"node:fs";import*as $e from"node:path";function E(e,t,o){if(!P.existsSync(e)||!P.statSync(e).isDirectory())return;let n=P.readdirSync(e);for(let r of n){let m=$e.join(e,r);P.statSync(m).isDirectory()?E(m,t,o):t(m,e,o)}}function b(e,t,o){if(!ce(e))return;let n=W(e);g(n,t,o),h(n,e)}function Te({channels:e,channelsFiles:t,asyncapiDir:o,outDir:n,componentsFiles:r}){if(e){be.mkdirSync(n,{recursive:!0});for(let m of Object.keys(e)){let a=e[m];if(d(a))continue;let i=t[m];g(a,V.dirname(i),r),h(a,i),e[m]={$ref:A(V.relative(o,i))},E(n,b,r)}}}import*as Be from"node:fs";import*as k from"node:path";import*as ke from"node:fs";function K(e){return e!=="securitySchemes"}function z(e,t){K(t)&&ke.mkdirSync(e,{recursive:!0})}import*as je from"node:fs";function q(e,t){return je.existsSync(e)&&!me(W(e),t)}import*as Re from"node:path";function T(e,t,o){if(!(!j(e)&&!Array.isArray(e))){if(Array.isArray(e)){for(let n of e)T(n,t,o);return}for(let n of Object.keys(e)){let r=e[n];if(n==="$ref"&&typeof r=="string"&&r.startsWith("#/channels/")){let m=r.slice(11),a=m.indexOf("/"),i=a===-1?m:m.slice(0,a),p=a===-1?"":m.slice(a),s=o[i];if(s){let c=A(Re.relative(t,s));e[n]=p?`${c}#${p}`:c}}else T(r,t,o)}}}function _e(e,t){let o=e.components;o&&(O(o[t])&&delete o[t],O(o)&&delete e.components)}function Ie({asyncapi:e,asyncapiDir:t,componentsFiles:o,channelsFiles:n,specVersion:r}){let m=e.components;if(m){let p=function(s){let c=k.join(a,s);z(c,s);for(let f of Object.keys(m?.[s]||{})){let{filename:l}=o[s][f],y=m?.[s]?.[f];g(y,k.dirname(l),o),T(y,k.dirname(l),n),q(l,y)?N.warn(`warning: conflict for ${f} - file already exists with different content: ${u(l)} ... Skip.
7
+ import{a as C,b as Z,c as ee,d as Ne,e as te,f as ne,g as Se,h as oe}from"./WKDC6LN3.js";import{a as Fe,b as De}from"./64G5RPLP.js";import{f as de,g as L,h as ue,i as Ce,l as W,m as h,n as Oe}from"./SV2XHB2S.js";import{$ as u,L as pe,P as ce,Q as fe,Y as le,Z as ye,b as me,c as j,d as O,fa as N,h as ae,ha as he,la as S,n as A,q as d,s as v,sa as ge,ta as Ae}from"./WBWCX3LS.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import*as U from"node:fs";import*as Ge from"node:path";import{performance as Xe}from"perf_hooks";import*as G from"node:path";import*as R from"node:path";function F(e,t,o){let n=R.resolve(e),r=R.resolve(t);if(r!==n&&!r.startsWith(n+R.sep))throw new S(`Refusing to write "${o}" outside the output directory.`)}import*as we from"node:path";function D(e,t,o,n,r){let m=o?`.${o}`:"",a=we.join(e,t),i=a+m,p=n.get(i.toLowerCase());for(let s=2;n.has(i.toLowerCase());s++)i=`${a}-${s}${m}`;return r&&p&&p!==t&&p.toLowerCase()===t.toLowerCase()&&r.conflicts.push({name:t,collidingName:p,filename:i,pointer:r.pointer}),n.set(i.toLowerCase(),t),i}function $(e,t,o,n,r,m,a){let i={},p=new Map;for(let[s,c]of Object.entries(e||{})){if(d(c))continue;let f=D(n,L(s,r),m,p,{conflicts:a,pointer:`${t}/${v(s)}`});F(o,f,s),i[s]=f}return i}import*as Pe from"node:path";function g(e,t,o={}){Se(e,r=>{if(d(r)&&oe(r.$ref))n(r,"$ref");else if(j(r.discriminator)&&j(r.discriminator.mapping)){let{mapping:m}=r.discriminator;for(let a of Object.keys(m)){let i=m[a];typeof i=="string"&&oe(i)&&n(r.discriminator.mapping,a)}}});function n(r,m){let a=r[m].split("/"),i=a.pop(),p=a[2],s=o[p];if(!s||!s[i])return;let c=A(Pe.relative(t,s[i].filename));c.startsWith(".")||(c="./"+c),r[m]=c}}function Y(e,t,o="warn"){if(o==="off"||e.length===0)return;let n=e.map(({name:r,collidingName:m,filename:a,pointer:i})=>({ruleId:"split",severity:o,message:`${r} and ${m} would share one file on a case-insensitive file system`+(o==="error"?".":`, saving ${r} to ${a}.`),location:[{source:t,pointer:i,reportOnKey:!0}],suggest:[]}));if(Ae(n,{totals:ge(n),command:"split"}),o==="error")throw new S("\u274C Errors encountered while splitting: files not created.")}import*as ie from"node:path";var Ee=["schemas","messages","securitySchemes","parameters","correlationIds","messageTraits","operationTraits","serverBindings","channelBindings","operationBindings","messageBindings"];var xe=["schemas","messages","securitySchemes","servers","serverVariables","parameters","replies","replyAddresses","correlationIds","messageTraits","operationTraits","tags","externalDocs","serverBindings","channelBindings","operationBindings","messageBindings"];function H(e,t){return(t==="async2"?Ee:xe).filter(n=>n in e)}function ve({asyncapi:e,asyncapiDir:t,componentsFiles:o,ext:n,specVersion:r,conflicts:m}){let a=e.components;if(!a)return;let i=ie.join(t,C),p=H(a,r);for(let s of p){let c=ie.join(i,s),f=new Map;for(let l of Object.keys(a[s]||{})){let y=D(c,l,n,f,{conflicts:m,pointer:`#/components/${s}/${v(l)}`});F(t,y,l),o[s]=o[s]||{},o[s][l]={filename:y}}}}import*as be from"node:fs";import*as V from"node:path";import*as P from"node:fs";import*as $e from"node:path";function E(e,t,o){if(!P.existsSync(e)||!P.statSync(e).isDirectory())return;let n=P.readdirSync(e);for(let r of n){let m=$e.join(e,r);P.statSync(m).isDirectory()?E(m,t,o):t(m,e,o)}}function b(e,t,o){if(!ce(e))return;let n=W(e);g(n,t,o),h(n,e)}function Te({channels:e,channelsFiles:t,asyncapiDir:o,outDir:n,componentsFiles:r}){if(e){be.mkdirSync(n,{recursive:!0});for(let m of Object.keys(e)){let a=e[m];if(d(a))continue;let i=t[m];g(a,V.dirname(i),r),h(a,i),e[m]={$ref:A(V.relative(o,i))},E(n,b,r)}}}import*as Be from"node:fs";import*as k from"node:path";import*as ke from"node:fs";function K(e){return e!=="securitySchemes"}function z(e,t){K(t)&&ke.mkdirSync(e,{recursive:!0})}import*as je from"node:fs";function q(e,t){return je.existsSync(e)&&!me(W(e),t)}import*as Re from"node:path";function T(e,t,o){if(!(!j(e)&&!Array.isArray(e))){if(Array.isArray(e)){for(let n of e)T(n,t,o);return}for(let n of Object.keys(e)){let r=e[n];if(n==="$ref"&&typeof r=="string"&&r.startsWith("#/channels/")){let m=r.slice(11),a=m.indexOf("/"),i=a===-1?m:m.slice(0,a),p=a===-1?"":m.slice(a),s=o[i];if(s){let c=A(Re.relative(t,s));e[n]=p?`${c}#${p}`:c}}else T(r,t,o)}}}function _e(e,t){let o=e.components;o&&(O(o[t])&&delete o[t],O(o)&&delete e.components)}function Ie({asyncapi:e,asyncapiDir:t,componentsFiles:o,channelsFiles:n,specVersion:r}){let m=e.components;if(m){let p=function(s){let c=k.join(a,s);z(c,s);for(let f of Object.keys(m?.[s]||{})){let{filename:l}=o[s][f],y=m?.[s]?.[f];g(y,k.dirname(l),o),T(y,k.dirname(l),n),q(l,y)?N.warn(`warning: conflict for ${f} - file already exists with different content: ${u(l)} ... Skip.
8
8
  `):h(y,l),delete m?.[s]?.[f]}_e(e,s)},a=k.join(t,C);Be.mkdirSync(a,{recursive:!0}),H(m,r).forEach(p)}}import*as Me from"node:fs";import*as _ from"node:path";function Le({operations:e,operationFiles:t,asyncapiDir:o,outDir:n,componentsFiles:r,channelsFiles:m}){if(e){Me.mkdirSync(n,{recursive:!0});for(let a of Object.keys(e)){let i=e[a];if(d(i))continue;let p=t[a];g(i,_.dirname(p),r),T(i,_.dirname(p),m),h(i,p),e[a]={$ref:A(_.relative(o,p))},E(n,b,r)}}}function We({asyncapi:e,asyncapiDir:t,pathSeparator:o,ext:n,specVersion:r,source:m,fileNameConflictsSeverity:a}){let i=G.join(t,te),p=G.join(t,ne),s=r==="async3"?e.operations:void 0,c={},f=[];ve({asyncapi:e,asyncapiDir:t,componentsFiles:c,ext:n,specVersion:r,conflicts:f});let l=$(e.channels,`#/${te}`,t,i,o,n,f),y=$(s,`#/${ne}`,t,p,o,n,f);Y(f,m,a),Te({channels:e.channels,channelsFiles:l,asyncapiDir:t,outDir:i,componentsFiles:c}),Ie({asyncapi:e,asyncapiDir:t,componentsFiles:c,channelsFiles:l,specVersion:r}),Le({operations:s,operationFiles:y,asyncapiDir:t,outDir:p,componentsFiles:c,channelsFiles:l}),g(e,t,c),h(e,G.join(t,`asyncapi.${n}`))}import*as Q from"node:path";import*as se from"node:path";function X(e){return e?De.filter(t=>K(t)&&Object.keys(e).includes(t)):[]}function Ye(e,t,o,n,r){let{components:m}=e;if(!m)return;let a=se.join(t,C);for(let i of X(m)){let p=se.join(a,i),s=new Map;for(let c of Object.keys(m[i]||{})){let f=D(p,c,n,s,{conflicts:r,pointer:`#/components/${i}/${v(c)}`});F(t,f,c);let l=[];i==="schemas"&&(l=(m[i]?.[c]?.allOf||[]).map(({$ref:y})=>y).filter(ae)),o[i]=o[i]||{},o[i][c]={inherits:l,filename:f}}}}import*as Ke from"node:fs";import*as B from"node:path";import*as J from"node:path";function He(e,t,o,n){if(!e.discriminator)return;let r=`#/${C}/schemas/${t}`,m={};for(let[s,{inherits:c,filename:f}]of Object.entries(n))if(c.indexOf(r)>-1){let l=A(J.relative(J.dirname(o),f));m[s]=l.startsWith(".")?l:"./"+l}if(O(m))return;let a=e.properties[e.discriminator.propertyName],i=a&&a.enum,p=e.discriminator.mapping=e.discriminator.mapping||{};for(let s of Object.keys(m))i&&!i.includes(s)||(p[s]&&p[s]!==m[s]&&N.warn(`warning: explicit mapping overlaps with local mapping entry ${le(s)} at ${u(o)}. Please check it.`),p[s]=m[s])}function Ve(e,t){e.components&&O(e.components[t])&&delete e.components[t],O(e.components)&&delete e.components}function ze(e,t,o){let{components:n}=e;if(n){let a=function(i){let p=B.join(r,i);z(p,i);for(let s of Object.keys(n?.[i]||{})){let{filename:c}=o[i][s],f=n?.[i]?.[s];g(f,B.dirname(c),o),He(f,s,c,o.schemas||{}),q(c,f)?N.warn(`warning: conflict for ${s} - file already exists with different content: ${u(c)} ... Skip.
9
9
  `):h(f,c),delete e.components?.[i]?.[s]}Ve(e,i)},r=B.join(t,C);Ke.mkdirSync(r,{recursive:!0}),X(n).forEach(a)}}import*as I from"node:fs";import*as x from"node:path";function re(e,t,o,n,r,m,a=""){if(!e)return;I.mkdirSync(n,{recursive:!0});let i=new Map;for(let p of Object.keys(e)){let s=e[p];if(d(s))continue;let c=t[p];for(let f of Fe){let l=s[f],y=l?.["x-code-samples"]||l?.["x-codeSamples"];if(!(!y||!Array.isArray(y)))for(let w of y){if(w.source&&w.source.$ref)continue;let M=D(x.join(o,"code_samples",ue(w.lang),a+L(p,m)),f,Ce(w.lang).slice(1),i);F(o,M,w.lang),I.mkdirSync(x.dirname(M),{recursive:!0}),I.writeFileSync(M,w.source),w.source={$ref:A(x.relative(n,M))}}}h(s,c),e[p]={$ref:A(x.relative(o,c))},E(n,b,r)}}function qe(e,t,o,n,r,m){let a=Q.join(t,Z),i=Q.join(t,ee),p=e.webhooks||e["x-webhooks"],s="webhooks"in e&&e.webhooks?`#/${ee}`:`#/${Ne}`,c={},f=[];Ye(e,t,c,n,f);let l=$(e.paths,`#/${Z}`,t,a,o,n,f),y=$(p,s,t,i,o,n,f);Y(f,r,m),ze(e,t,c),re(e.paths,l,t,a,c,o),re(p,y,t,i,c,o,"webhook_"),g(e,t,c),h(e,Q.join(t,`openapi.${n}`))}async function ro({argv:e,collectSpecData:t}){let o=Xe.now(),{api:n,outDir:r,separator:m}=e,a=Oe(n);if(!U.existsSync(n))throw new S(`File ${u(n)} does not exist.`);let i=new fe(Ge.resolve(n),U.readFileSync(n,"utf-8")),p=pe(i.body,{filename:n});t?.({parsed:p});let s=he(p);switch(s){case"async2":case"async3":We({asyncapi:p,asyncapiDir:r,pathSeparator:m,ext:a,specVersion:s,source:i,fileNameConflictsSeverity:e["file-name-conflicts-severity"]});break;case"oas3_0":case"oas3_1":case"oas3_2":qe(p,r,m,a,i,e["file-name-conflicts-severity"]);break;case"oas2":throw new S("OpenAPI 2 is not supported by this command.");default:throw new S("File does not conform to the OpenAPI or AsyncAPI Specification. Version is not specified.")}N.info(`\u{1FA93} Document: ${u(n)} ${ye("is successfully split")}
10
10
  and all related files are saved to the directory: ${u(r)}