@redocly/cli 2.60.0 → 2.62.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 (141) hide show
  1. package/THIRD_PARTY_NOTICES +24 -3
  2. package/lib/chunks/{AP2GA7RS.js → 22EANOP2.js} +87 -87
  3. package/lib/chunks/{B5GZ7KU2.js → 2EP764NP.js} +1 -1
  4. package/lib/chunks/2OVI7BIW.js +105 -0
  5. package/lib/chunks/{GYKYFMW3.js → 2XK7ML3U.js} +1 -1
  6. package/lib/chunks/{DAAOXDSB.js → 37WWN4MA.js} +1 -1
  7. package/lib/chunks/{IAN3UOJT.js → 3C6UUCEW.js} +1 -1
  8. package/lib/chunks/{S27TE7KZ.js → 3DEJQSYG.js} +1 -1
  9. package/lib/chunks/{SDNESV5E.js → 3JYY42DL.js} +1 -1
  10. package/lib/chunks/{SNR3DAVL.js → 4WO6ZSKT.js} +1 -1
  11. package/lib/chunks/53INGMTO.js +20 -0
  12. package/lib/chunks/5NOJ76EP.js +9 -0
  13. package/lib/chunks/{SXOXAG7R.js → 5PG3ST2N.js} +2 -2
  14. package/lib/chunks/{BHUCIWQF.js → 66GKT2TZ.js} +1 -1
  15. package/lib/chunks/{V46KUEYR.js → 6DO6IN4A.js} +1 -1
  16. package/lib/chunks/{2F2YM4RD.js → 6EGJEFXO.js} +1 -1
  17. package/lib/chunks/{MJYI42E6.js → 6NB3FKVN.js} +8 -8
  18. package/lib/chunks/{GHPOEF7A.js → 75SLMDAN.js} +1 -1
  19. package/lib/chunks/{CAJM6OL3.js → AB2EMYEK.js} +1 -1
  20. package/lib/chunks/{PKYNMOKV.js → AZO6SCNH.js} +1 -1
  21. package/lib/chunks/{LF35KJ5M.js → B2J7WNDG.js} +1 -1
  22. package/lib/chunks/C67OKMFJ.js +11 -0
  23. package/lib/chunks/{ZJAFKITR.js → DC2HDHGE.js} +1 -1
  24. package/lib/chunks/{XZKUPNLZ.js → DFWXX7E2.js} +1 -1
  25. package/lib/chunks/{HFGKPU2P.js → FDMXHRDK.js} +1 -1
  26. package/lib/chunks/{SL6UQOKE.js → G5N3UXMR.js} +1 -1
  27. package/lib/chunks/{HVO5F4MP.js → GVQMC2WB.js} +1 -1
  28. package/lib/chunks/{RDMFHSDB.js → HBENVUR4.js} +1 -1
  29. package/lib/chunks/HN2ZK7LZ.js +20 -0
  30. package/lib/chunks/I6AAWNTY.js +20 -0
  31. package/lib/chunks/{HSHAARAO.js → KPPPJNVL.js} +1 -1
  32. package/lib/chunks/{52MW7SRF.js → KRCCY64H.js} +1 -1
  33. package/lib/chunks/LNYTDBAU.js +12 -0
  34. package/lib/chunks/{4XDEFJCF.js → LRLGVYCG.js} +1 -1
  35. package/lib/chunks/{3MPID4OC.js → LVGVWPDB.js} +1 -1
  36. package/lib/chunks/{XHDOW23C.js → MNH2K4WM.js} +1 -1
  37. package/lib/chunks/{J4NCFMOR.js → N3GO4LRW.js} +1 -1
  38. package/lib/chunks/{GD6WKI2C.js → NBI4EQPC.js} +1 -1
  39. package/lib/chunks/{G4ZIYGF5.js → NENSYJQB.js} +1 -1
  40. package/lib/chunks/NFRA6IE2.js +7 -0
  41. package/lib/chunks/{O5WCU6SC.js → OMIM3KH6.js} +10 -10
  42. package/lib/chunks/{YNPWONFN.js → OP7NIAI7.js} +1 -1
  43. package/lib/chunks/{CKZ35ARL.js → OT7Y7FIM.js} +1 -1
  44. package/lib/chunks/{ACVFQG4D.js → PTNNX4IU.js} +1 -1
  45. package/lib/chunks/{UPHYYNN3.js → PXCT44HL.js} +5 -5
  46. package/lib/chunks/{HQUG6XPO.js → QAUXTHD6.js} +2 -2
  47. package/lib/chunks/{N4AA4DRD.js → R2TPTKNR.js} +1 -1
  48. package/lib/chunks/{UXSV2J6V.js → REIGI2Y7.js} +1 -1
  49. package/lib/chunks/{S5G22GL5.js → RGU6OZYB.js} +1 -1
  50. package/lib/chunks/{W3K4YAMS.js → RPHIT72T.js} +1 -1
  51. package/lib/chunks/{7C244K4X.js → RUIEI3YV.js} +1 -1
  52. package/lib/chunks/{NADFEIIN.js → S3STDXJN.js} +1 -1
  53. package/lib/chunks/{DJWI7SF7.js → S6NFOZ34.js} +1 -1
  54. package/lib/chunks/{VCV3FKMW.js → SLQPKXO2.js} +1 -1
  55. package/lib/chunks/{4WAQNM63.js → SS6PCAMM.js} +58 -12
  56. package/lib/chunks/{CEPC3LL4.js → SXBAAS4M.js} +1 -1
  57. package/lib/chunks/{7ED6ZTTH.js → SYWAPWW7.js} +1 -1
  58. package/lib/chunks/{S46ENZHC.js → T4Y6M5MJ.js} +1 -1
  59. package/lib/chunks/{O4RAFGZA.js → TBZEEKTV.js} +1 -1
  60. package/lib/chunks/{HNKSHJLU.js → TF4PPK4N.js} +1 -1
  61. package/lib/chunks/TWWNWQRB.js +7 -0
  62. package/lib/chunks/{EXCIOEBN.js → US7X4XPD.js} +1 -1
  63. package/lib/chunks/VGM6NIVC.js +8 -0
  64. package/lib/chunks/{QGUZ4KFX.js → VX2VONNO.js} +1 -1
  65. package/lib/chunks/{DTMC35L3.js → VXLODB3S.js} +1 -1
  66. package/lib/chunks/{4HEJ6GQB.js → WEOCCL26.js} +2 -2
  67. package/lib/chunks/{Q526MFO3.js → WQ3XMPU7.js} +1 -1
  68. package/lib/chunks/{2U6O26CV.js → XJE2OFDN.js} +116 -16
  69. package/lib/chunks/{WFIIXHF3.js → XJTGJYVS.js} +1 -1
  70. package/lib/chunks/YDVWNFMS.js +24 -0
  71. package/lib/chunks/{HZZP3BZQ.js → YPYZCXVX.js} +1 -1
  72. package/lib/chunks/{72ZX5WSN.js → ZYQDPQVA.js} +1 -1
  73. package/lib/eject-assets/AGENTS.md +24 -23
  74. package/lib/eject-assets/generators/cli/docs.ts +1 -1
  75. package/lib/eject-assets/generators/cli/engine-source.ts +1 -1
  76. package/lib/eject-assets/generators/cli/index.ts +2 -2
  77. package/lib/eject-assets/generators/cli/render.ts +1 -1
  78. package/lib/eject-assets/generators/go/client.ts +1 -1
  79. package/lib/eject-assets/generators/go/descriptor.ts +1 -1
  80. package/lib/eject-assets/generators/go/index.ts +2 -2
  81. package/lib/eject-assets/generators/go/models.ts +1 -1
  82. package/lib/eject-assets/generators/go/naming.ts +1 -1
  83. package/lib/eject-assets/generators/go/operations.ts +35 -3
  84. package/lib/eject-assets/generators/go/pagination.ts +1 -1
  85. package/lib/eject-assets/generators/go/types.ts +1 -1
  86. package/lib/eject-assets/generators/mock/faker.ts +1 -1
  87. package/lib/eject-assets/generators/mock/index.ts +2 -2
  88. package/lib/eject-assets/generators/mock/render.ts +1 -1
  89. package/lib/eject-assets/generators/mock/sample.ts +1 -1
  90. package/lib/eject-assets/generators/mock/values.ts +1 -1
  91. package/lib/eject-assets/generators/php/client.ts +1 -1
  92. package/lib/eject-assets/generators/php/descriptor.ts +1 -1
  93. package/lib/eject-assets/generators/php/index.ts +2 -2
  94. package/lib/eject-assets/generators/php/models.ts +1 -1
  95. package/lib/eject-assets/generators/php/naming.ts +1 -1
  96. package/lib/eject-assets/generators/php/operations.ts +21 -3
  97. package/lib/eject-assets/generators/php/pagination.ts +1 -1
  98. package/lib/eject-assets/generators/php/types.ts +1 -1
  99. package/lib/eject-assets/generators/python/client.ts +1 -1
  100. package/lib/eject-assets/generators/python/descriptor.ts +1 -1
  101. package/lib/eject-assets/generators/python/index.ts +2 -2
  102. package/lib/eject-assets/generators/python/models.ts +1 -1
  103. package/lib/eject-assets/generators/python/naming.ts +1 -1
  104. package/lib/eject-assets/generators/python/operations.ts +19 -6
  105. package/lib/eject-assets/generators/python/pagination.ts +1 -1
  106. package/lib/eject-assets/generators/python/types.ts +1 -1
  107. package/lib/eject-assets/generators/swr/index.ts +2 -2
  108. package/lib/eject-assets/generators/swr/render.ts +1 -1
  109. package/lib/eject-assets/generators/tanstack-query/index.ts +2 -2
  110. package/lib/eject-assets/generators/tanstack-query/render.ts +1 -1
  111. package/lib/eject-assets/generators/transformers/index.ts +2 -2
  112. package/lib/eject-assets/generators/transformers/render.ts +1 -1
  113. package/lib/eject-assets/generators/typescript/banner.ts +1 -1
  114. package/lib/eject-assets/generators/typescript/client.ts +1 -1
  115. package/lib/eject-assets/generators/typescript/descriptor.ts +1 -1
  116. package/lib/eject-assets/generators/typescript/index.ts +2 -2
  117. package/lib/eject-assets/generators/typescript/inline-runtime.ts +1 -1
  118. package/lib/eject-assets/generators/typescript/operation-signature.ts +1 -1
  119. package/lib/eject-assets/generators/typescript/operation-types.ts +1 -1
  120. package/lib/eject-assets/generators/typescript/operations.ts +3 -4
  121. package/lib/eject-assets/generators/typescript/response-headers.ts +1 -1
  122. package/lib/eject-assets/generators/typescript/type-guards.ts +1 -1
  123. package/lib/eject-assets/generators/typescript/types.ts +1 -1
  124. package/lib/eject-assets/generators/zod/index.ts +2 -2
  125. package/lib/eject-assets/generators/zod/schemas.ts +1 -1
  126. package/lib/eject-assets/skills/client-generators/SKILL.md +24 -23
  127. package/lib/eject-assets/skills/go-generator/SKILL.md +11 -0
  128. package/lib/eject-assets/skills/php-generator/SKILL.md +16 -0
  129. package/lib/eject-assets/skills/python-generator/SKILL.md +13 -0
  130. package/lib/eject-assets/skills/typescript-generator/SKILL.md +16 -0
  131. package/lib/index.js +55 -55
  132. package/package.json +1 -1
  133. package/lib/chunks/BZBFESBB.js +0 -11
  134. package/lib/chunks/DJXBNZCO.js +0 -7
  135. package/lib/chunks/GC26XZYZ.js +0 -20
  136. package/lib/chunks/IJ43XWPG.js +0 -20
  137. package/lib/chunks/MCJLOALK.js +0 -22
  138. package/lib/chunks/OKTLNLO3.js +0 -7
  139. package/lib/chunks/PGZIUA7J.js +0 -105
  140. package/lib/chunks/W7VT3BOM.js +0 -9
  141. package/lib/chunks/XQA4EEZA.js +0 -20
@@ -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}from"./4WAQNM63.js";import{c as w}from"./AP2GA7RS.js";import{a as H,e as q,g as P,h as g,k as E}from"./LD5MEXEL.js";import{join as ae}from"node:path";var j=class{code;constructor(r){this.code=r}};function A(e,r,n={}){let t=new Map(r.map(s=>[s.name,s.schema])),o=k(e,t,new Set,n.dateType??"string");return o===b?null:o}var b=Symbol("cycle");function J(e,r){if(e.kind==="union"){for(let t of e.members){let o=J(t,r);if(o)return o}return}if(e.kind!=="scalar")return;let n=e.metadata?.format;if(n==="binary")return new j("new Blob([])");if(r==="Date"){if(n==="date-time")return new j('new Date("2024-01-01T00:00:00Z")');if(n==="date")return new j('new Date("2024-01-01")')}}function I(e,r){let n=new Map,t=[],o=!1;for(let s of e){if(s.kind==="unknown")continue;let i=G(s,r);if(i?.kind!=="object"){t.push(s);continue}o=!0;for(let a of i.properties){let u=O(a.schema,r,new Set),c=n.get(a.name);(c===void 0||u>=c.rank)&&n.set(a.name,{schema:a.schema,required:a.required||(c?.required??!1),rank:u})}}return o?{merged:{kind:"object",properties:[...n.entries()].map(([s,i])=>({name:s,schema:i.schema,required:i.required}))},rest:t}:{merged:void 0,rest:t}}function G(e,r){let n=new Set,t=e;for(;t?.kind==="ref";){if(n.has(t.name))return;n.add(t.name),t=r.get(t.name)}return t}function O(e,r,n){switch(e.kind){case"literal":return 40;case"enum":return e.values.length===1?40:30;case"union":return Math.max(0,...e.members.map(t=>O(t,r,n)))-1;case"ref":{if(n.has(e.name))return 20;let t=r.get(e.name);return t===void 0?20:O(t,r,new Set(n).add(e.name))}case"null":case"unknown":return 10;default:return 20}}function k(e,r,n,t){let o=J(e,t);if(o)return o;let s=e.metadata,i=a=>a===null?e.kind==="null"||e.kind==="union"&&e.members.some(u=>u.kind==="null"):e.kind==="enum"?e.values.includes(a):e.kind==="literal"?a===e.value:!0;if(s?.example!==void 0&&i(s.example))return s.example;if(s?.default!==void 0&&i(s.default))return s.default;switch(e.kind){case"scalar":return K(e.scalar,s);case"array":{let a=k(e.items,r,n,t);return a===b?[]:[a]}case"object":return Object.fromEntries(e.properties.flatMap(a=>{let u=k(a.schema,r,n,t);return u===b?a.required?[[a.name,null]]:[]:[[a.name,u]]}));case"record":{let a=k(e.value,r,n,t);return a===b?{}:{key:a}}case"enum":return e.values[0];case"literal":return e.value;case"union":{for(let a of e.members){let u=k(a,r,n,t);if(u!==b)return u}return e.members.length>0?b:null}case"intersection":{let{merged:a,rest:u}=I(e.members,r),c=u.map(m=>k(m,r,n,t)).filter(m=>m!==b);if(a){let m=k(a,r,n,t),M=w(m)?m:{};for(let V of c)w(V)&&Object.assign(M,V);return M}let h=c.filter(w);return h.length>0?h.reduce((m,M)=>Object.assign(m,M),{}):c.length>0?c[0]:{}}case"omit":{let a=r.get(e.base);if(!a)return null;let u=k(a,r,n,t);if(w(u)){let c={...u};for(let h of e.keys)delete c[h];return c}return u}case"ref":{if(n.has(e.name))return b;let a=r.get(e.name);if(!a)return null;n.add(e.name);let u=k(a,r,n,t);return n.delete(e.name),u}case"null":case"unknown":return null}}function K(e,r){if(e==="boolean")return!0;if(e==="integer"||e==="number")return 0;switch(r?.format){case"email":return"user@example.com";case"uuid":return"00000000-0000-4000-8000-000000000000";case"date-time":return"2024-01-01T00:00:00Z";case"date":return"2024-01-01";case"uri":case"url":return"https://example.com";default:return"string"}}var f=e=>({kind:"expr",text:e}),d=e=>({kind:"object",entries:e});function l(e){return e.kind==="object"}function D(e,r){return l(e)?d([...e.entries,{spread:r}]):e}var L=" ";function x(e,r){switch(e.kind){case"expr":return e.text;case"wrap":return`${e.before}${x(e.value,r)}${e.after}`;case"array":{if(e.items.length===0)return"[]";let n=r+L;return`[
7
+ import{a as C}from"./SS6PCAMM.js";import{c as w}from"./22EANOP2.js";import{a as H,e as q,g as P,h as g,k as E}from"./LD5MEXEL.js";import{join as ae}from"node:path";var j=class{code;constructor(r){this.code=r}};function A(e,r,n={}){let t=new Map(r.map(s=>[s.name,s.schema])),o=k(e,t,new Set,n.dateType??"string");return o===b?null:o}var b=Symbol("cycle");function J(e,r){if(e.kind==="union"){for(let t of e.members){let o=J(t,r);if(o)return o}return}if(e.kind!=="scalar")return;let n=e.metadata?.format;if(n==="binary")return new j("new Blob([])");if(r==="Date"){if(n==="date-time")return new j('new Date("2024-01-01T00:00:00Z")');if(n==="date")return new j('new Date("2024-01-01")')}}function I(e,r){let n=new Map,t=[],o=!1;for(let s of e){if(s.kind==="unknown")continue;let i=G(s,r);if(i?.kind!=="object"){t.push(s);continue}o=!0;for(let a of i.properties){let u=O(a.schema,r,new Set),c=n.get(a.name);(c===void 0||u>=c.rank)&&n.set(a.name,{schema:a.schema,required:a.required||(c?.required??!1),rank:u})}}return o?{merged:{kind:"object",properties:[...n.entries()].map(([s,i])=>({name:s,schema:i.schema,required:i.required}))},rest:t}:{merged:void 0,rest:t}}function G(e,r){let n=new Set,t=e;for(;t?.kind==="ref";){if(n.has(t.name))return;n.add(t.name),t=r.get(t.name)}return t}function O(e,r,n){switch(e.kind){case"literal":return 40;case"enum":return e.values.length===1?40:30;case"union":return Math.max(0,...e.members.map(t=>O(t,r,n)))-1;case"ref":{if(n.has(e.name))return 20;let t=r.get(e.name);return t===void 0?20:O(t,r,new Set(n).add(e.name))}case"null":case"unknown":return 10;default:return 20}}function k(e,r,n,t){let o=J(e,t);if(o)return o;let s=e.metadata,i=a=>a===null?e.kind==="null"||e.kind==="union"&&e.members.some(u=>u.kind==="null"):e.kind==="enum"?e.values.includes(a):e.kind==="literal"?a===e.value:!0;if(s?.example!==void 0&&i(s.example))return s.example;if(s?.default!==void 0&&i(s.default))return s.default;switch(e.kind){case"scalar":return K(e.scalar,s);case"array":{let a=k(e.items,r,n,t);return a===b?[]:[a]}case"object":return Object.fromEntries(e.properties.flatMap(a=>{let u=k(a.schema,r,n,t);return u===b?a.required?[[a.name,null]]:[]:[[a.name,u]]}));case"record":{let a=k(e.value,r,n,t);return a===b?{}:{key:a}}case"enum":return e.values[0];case"literal":return e.value;case"union":{for(let a of e.members){let u=k(a,r,n,t);if(u!==b)return u}return e.members.length>0?b:null}case"intersection":{let{merged:a,rest:u}=I(e.members,r),c=u.map(m=>k(m,r,n,t)).filter(m=>m!==b);if(a){let m=k(a,r,n,t),M=w(m)?m:{};for(let V of c)w(V)&&Object.assign(M,V);return M}let h=c.filter(w);return h.length>0?h.reduce((m,M)=>Object.assign(m,M),{}):c.length>0?c[0]:{}}case"omit":{let a=r.get(e.base);if(!a)return null;let u=k(a,r,n,t);if(w(u)){let c={...u};for(let h of e.keys)delete c[h];return c}return u}case"ref":{if(n.has(e.name))return b;let a=r.get(e.name);if(!a)return null;n.add(e.name);let u=k(a,r,n,t);return n.delete(e.name),u}case"null":case"unknown":return null}}function K(e,r){if(e==="boolean")return!0;if(e==="integer"||e==="number")return 0;switch(r?.format){case"email":return"user@example.com";case"uuid":return"00000000-0000-4000-8000-000000000000";case"date-time":return"2024-01-01T00:00:00Z";case"date":return"2024-01-01";case"uri":case"url":return"https://example.com";default:return"string"}}var f=e=>({kind:"expr",text:e}),d=e=>({kind:"object",entries:e});function l(e){return e.kind==="object"}function D(e,r){return l(e)?d([...e.entries,{spread:r}]):e}var L=" ";function x(e,r){switch(e.kind){case"expr":return e.text;case"wrap":return`${e.before}${x(e.value,r)}${e.after}`;case"array":{if(e.items.length===0)return"[]";let n=r+L;return`[
8
8
  ${e.items.map((o,s)=>`${n}${x(o,n)}${s===e.items.length-1?"":","}`).join(`
9
9
  `)}
10
10
  ${r}]`}case"object":{if(e.entries.length===0)return"{}";let n=r+L;return`{
@@ -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 $,b as a,c,d as i,e as m,f}from"./NADFEIIN.js";import{k as l}from"./LD5MEXEL.js";import{join as p}from"node:path";function k(t,n){let e=$(t,"swr");if(e.length===0)return"";let s=e.some(a),o=e.some(r=>!a(r));return[...s?['import useSWR from "swr";']:[],...o?['import useSWRMutation from "swr/mutation";']:[],f(e,n.sdkModule,s),...e.flatMap(r=>a(r)?g(r):[S(r)])].join(`
7
+ import{a as $,b as a,c,d as i,e as m,f}from"./S3STDXJN.js";import{k as l}from"./LD5MEXEL.js";import{join as p}from"node:path";function k(t,n){let e=$(t,"swr");if(e.length===0)return"";let s=e.some(a),o=e.some(r=>!a(r));return[...s?['import useSWR from "swr";']:[],...o?['import useSWRMutation from "swr/mutation";']:[],f(e,n.sdkModule,s),...e.flatMap(r=>a(r)?g(r):[S(r)])].join(`
8
8
 
9
9
  `)}function y(t,n,e){return`export function use${l(t.name)}(${n}) {
10
10
  return ${e};
@@ -0,0 +1,11 @@
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 d,m as u}from"./UW4UC7ZI.js";function f(e,t){let n=t??{},i=e.specName??e.name;if(Array.isArray(n.exclude)&&n.exclude.includes(i))return;let r=(n.operations??{})[i]??e.paginationExtension;if(r===void 0&&typeof n.style=="string"){let{exclude:c,operations:j,...l}=n,g=l.style==="cursor"?l.cursorParam:l.offsetParam;(l.style==="link"?e.successResponseHeaders?.some(p=>p.name==="link")===!0:typeof g=="string"&&e.queryParams.some(p=>p.name===g))&&(r=l)}if(r===void 0||typeof r.style!="string")return;let s=r.style==="cursor"?r.cursorParam:r.offsetParam;return{style:r.style,...typeof s=="string"?{param:s}:{},...typeof r.nextCursor=="string"?{nextCursor:r.nextCursor}:{},...typeof r.hasMore=="string"?{hasMore:r.hasMore}:{},...typeof r.limitParam=="string"?{limitParam:r.limitParam}:{},...typeof r.items=="string"?{items:r.items}:{}}}function x(e){return e.successResponses.find(t=>t.contentType.toLowerCase().includes("json"))?.schema}function k(e){return e.successResponses.find(t=>t.contentType.toLowerCase().includes("text/event-stream"))}function h(e){return e.requestBody?.contentType.toLowerCase().includes("multipart")??!1}function b(e){let t=e.requestBody?.schema.kind;return h(e)&&t!=="object"&&t!=="ref"}var R=["application/octet-stream","application/pdf","image/","audio/","video/","font/","application/x-font-","application/zip","application/x-zip-compressed","application/gzip","application/x-gzip","application/x-bzip2","application/x-tar","application/x-rar-compressed","application/x-7z-compressed","application/vnd.openxmlformats-officedocument","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/msword","application/x-shockwave-flash"];function m(e){let t=e.split(";")[0].trim().toLowerCase();return R.some(n=>t.startsWith(n))}function S(e){let t=new Set(e.variables.map(s=>s.name)),n=[],i="",a=e.url,r=/\{([^{}]+)\}/;for(let s=r.exec(a);s!==null;s=r.exec(a))i+=a.slice(0,s.index),t.has(s[1])?(i!==""&&n.push({kind:"literal",value:i}),i="",n.push({kind:"variable",name:s[1]})):i+=s[0],a=a.slice(s.index+s[0].length);return i+=a,(i!==""||n.length===0)&&n.push({kind:"literal",value:i}),n}function $(e,t){return e.security.map(n=>n.flatMap(i=>{let a=t.securitySchemes.find(r=>r.key===i);return a===void 0?[]:a.kind==="bearer"||a.kind==="basic"?[{scheme:i,kind:a.kind}]:a.kind==="apiKeyHeader"?[{scheme:i,kind:"apiKey",name:a.headerName,in:"header"}]:a.kind==="apiKeyQuery"?[{scheme:i,kind:"apiKey",name:a.paramName,in:"query"}]:[{scheme:i,kind:"apiKey",name:a.cookieName,in:"cookie"}]})).filter(n=>n.length>0)}function P(e,t,n){if(e===void 0||t===void 0)return;let i=u(e,t,n);return i?.kind==="array"?i.items:void 0}function y(e){return(e??"").replace(/\s+/g," ").trim().replace(/\\/g,"\\\\").replace(/\|/g,"\\|")}function o(e){switch(e.kind){case"ref":return e.name;case"omit":return e.base;case"scalar":return e.scalar;case"array":return`array of ${o(e.items)}`;case"record":return`map of ${o(e.value)}`;case"enum":{let t=e.values.map(String),n=t.slice(0,6).join(", ");return t.length>6?`enum: ${n}, and ${t.length-6} more`:`enum: ${n}`}case"literal":return String(e.value);case"union":return e.members.map(o).join(" or ");case"intersection":return e.members.map(o).join(" and ");case"object":return"object";case"null":return"null";case"unknown":return"any"}}function T(e){return e.successResponses.some(t=>t.contentType.toLowerCase().includes("json"))?!1:e.successResponses.some(t=>m(t.contentType))}function C(e,t){e.line("| Parameter | In | Type | Required | Description |"),e.line("| --------- | -- | ---- | -------- | ----------- |");for(let n of t)e.line(`| \`${n.name}\` | ${n.in} | ${y(o(n.schema))} | ${n.required?"yes":"no"} | ${y(n.description)} |`);e.blank()}function v(e,t,n){e.line(`### \`${t.specName??t.name}\``),e.blank(),t.summary!==void 0&&(e.line(y(t.summary)),e.blank()),e.line(`\`${t.method.toUpperCase()} ${t.path}\``),e.blank();let i=n.sample(t);if(i!==void 0){e.line("```"+n.language.fence);for(let c of i.source.replace(/\n+$/,"").split(`
8
+ `))e.line(c);e.line("```"),e.blank()}let a=[...t.pathParams,...t.queryParams,...t.headerParams];a.length>0&&C(e,a),t.requestBody!==void 0&&e.line(`Body: \`${t.requestBody.contentType}\`${t.requestBody.required?", required":", optional"}, of type ${o(t.requestBody.schema)}.`);let r=t.successResponses[0];e.line(r===void 0?"Returns no content.":`Returns \`${r.contentType}\`, of type ${o(r.schema)}.`),(n.paginated!==void 0?n.paginated.has(t.name):f(t,n.pagination)!==void 0)&&e.line("This operation is paginated, so the SDK gives it page and item iterators."),t.successResponses.some(c=>c.contentType==="text/event-stream")&&e.line("This operation streams server-sent events, so the SDK iterates the events."),T(t)&&e.line("This operation returns binary content."),e.blank()}function N(e,t){let n=new d;if(t.frontmatter&&(n.line("---"),n.line(`title: ${t.title}`),n.line("---"),n.blank()),n.line(`# ${t.title}`),n.blank(),n.line(`Generated reference for the ${t.language.label} SDK, produced from the API description by \`redocly generate-client\`.`),n.line("Re-run generation to update it \u2014 this file is not hand-edited."),n.blank(),n.line(t.language.requires),n.blank(),n.line("## Authentication"),n.blank(),e.securitySchemes.length===0)n.line("The description declares no security schemes.");else{n.line("The description declares these schemes, which you pass to the client:"),n.blank(),n.line("| Scheme | Kind | Sent as |"),n.line("| ------ | ---- | ------- |");for(let r of e.securitySchemes){let s=r.kind==="bearer"?"`Authorization: Bearer <token>`":r.kind==="basic"?"`Authorization: Basic <base64>`":r.kind==="apiKeyHeader"?`the \`${r.headerName}\` header`:r.kind==="apiKeyQuery"?`the \`${r.paramName}\` query parameter`:`the \`${r.cookieName}\` cookie`;n.line(`| \`${r.key}\` | ${r.kind} | ${s} |`)}}n.blank();let i=e.services.flatMap(r=>r.operations),a=[...new Set(i.map(r=>r.tags[0]))];for(let r of a){n.line(r===void 0?"## Operations":`## ${r}`),n.blank();for(let s of i.filter(c=>c.tags[0]===r))v(n,s,t)}return n.toString().replace(/\n{3,}/g,`
9
+
10
+ `).trimEnd()+`
11
+ `}var ne=["Printer","casing","identifierFor","uniqueIdentifiers","RESERVED_WORDS","flattenAllOf","deref","discriminatorCases","jsonSuccessSchema","sseResponse","isMultipartBody","isUntypedMultipartBody","isBinaryContentType","serverUrlParts","securityRequirements","paginationItemSchema","isNullable","unwrapNullable","enumValues","docText","headerCoerceType","schemaAtPointer","paginationRuleFor","renderReferencePage","NotSupportedError"];function E(e){return e}function w(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join("-")}function q(e){return e.replace(/[^A-Za-z0-9]+/g,"_").replace(/([a-z0-9])([A-Z])/g,"$1_$2").toUpperCase()}function A(e,t){let n={...e};for(let[i,a]of Object.entries(t))a!==void 0&&(n[i]=a);return n}function ye(e){return e}async function be(e){return(await import("./G5N3UXMR.js")).generateClient(e)}export{f as a,x as b,k as c,h as d,b as e,m as f,S as g,$ as h,P as i,N as j,ne as k,E as l,w as m,q as n,A as o,ye as p,be as q};
@@ -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 S,c as E,d as w,f as A,g as M,h as q,i as D,j as B,k as F}from"./O5WCU6SC.js";import{g as b,i as T}from"./BZBFESBB.js";import{a as f,c as R,d as v,e as k}from"./4WAQNM63.js";import{d as I,f as N,h as P,i as j,m as C}from"./LD5MEXEL.js";import{join as Y}from"node:path";var y="// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";function $(e){return e.filter(t=>t.length>0).join(`
7
+ import{b as S,c as E,d as w,f as A,g as M,h as q,i as D,j as B,k as F}from"./OMIM3KH6.js";import{h as b,j as T}from"./C67OKMFJ.js";import{a as f,c as R,d as v,e as k}from"./SS6PCAMM.js";import{d as I,f as N,h as P,i as j,m as C}from"./LD5MEXEL.js";import{join as Y}from"node:path";var y="// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";function $(e){return e.filter(t=>t.length>0).join(`
8
8
 
9
9
  `)+`
10
10
  `}function O(e){let t=["/**",` * ${j(`${e.title} (v${e.version})`)}`];if(e.description)for(let n of C(j(e.description)))t.push(` * ${n}`.replace(/ +$/,""));return t.push(" */"),t.join(`
@@ -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{h as g}from"./O5WCU6SC.js";import{e as C,l as u,m as p}from"./BZBFESBB.js";import{c as j,d as v}from"./4WAQNM63.js";import{ia as b}from"./AP2GA7RS.js";import{a as S,b as k}from"./UW4UC7ZI.js";import{join as $}from"node:path";function h(r){return(r??"").replace(/\s+/g," ").trim().replace(/\\/g,"\\\\").replace(/\|/g,"\\|")}function w(r){return[r.group===void 0?void 0:u(r.group),r.name].filter(Boolean).join(" ")}function T(r,e){return[r,w(e),...e.positionals.map(o=>`<${o.name}>`),...e.flags.filter(o=>o.required).map(o=>`--${o.name} <${o.type}>`),...e.body?[e.body.required?"--json '<json>'":"[--json '<json>']"]:[]].filter(o=>o!=="").join(" ")}function B(r,e){r.line("| Flag | Type | Required | Description |"),r.line("| ---- | ---- | -------- | ----------- |");for(let n of e){let o=[h(n.description),n.enum===void 0?"":`One of ${n.enum.map(t=>`\`${t}\``).join(", ")}.`,n.type==="array"?"Repeat the flag for multiple values.":""].filter(t=>t!=="").join(" ");r.line(`| \`--${n.name}\` | ${n.type} | ${n.required?"yes":"no"} | ${o} |`)}r.blank()}function D(r,e,n){if(r.line(`### \`${w(e)}\``),r.blank(),e.summary!==void 0&&(r.line(h(e.summary)),r.blank()),r.line(`\`${e.method} ${e.path}\``),r.blank(),r.line("```sh"),r.line(T(n.name,e)),r.line("```"),r.blank(),e.positionals.length>0){r.line("| Argument | Description |"),r.line("| -------- | ----------- |");for(let t of e.positionals)r.line(`| \`<${t.name}>\` | ${h(t.description)} |`);r.blank()}e.flags.length>0&&B(r,e.flags);let o=[e.body===void 0?"":`Takes a JSON body${e.body.required?" (required)":""}: \`--json '<json>'\`, \`--json @file.json\`, or \`--json @-\` for stdin.`,e.unsupportedBody===void 0?"":`Takes a \`${e.unsupportedBody}\` body, which the CLI cannot build \u2014 call this operation through the generated client instead.`,e.paginated===!0?"Paginated: `--page-all` follows every page, printing one JSON page per line.":"",e.sse===!0?"Streams server-sent events as one JSON object per line.":"",e.blob===!0?"Returns binary content, so `--output <path>` is required.":""].filter(t=>t!=="");for(let t of o)r.line(t);o.length>0&&r.blank()}function R(r,e){let n=new S;e.frontmatter&&(n.line("---"),n.line(`title: ${e.title}`),n.line("---"),n.blank()),n.line(`# ${e.title}`),n.blank(),n.line(`Generated command-line reference for \`${e.name}\`, produced from the API description by \`redocly generate-client\`.`),n.line("Re-run generation to update it \u2014 this file is not hand-edited."),n.blank(),n.line("## Usage"),n.blank(),n.line("```sh"),n.line(`${e.name} <command> [flags]`),n.line(`${e.name} --help`),n.line(`${e.name} schema <command> # request/response schemas`),n.line("```"),n.blank(),n.line("Install the file under any `bin` name: the command takes that name, and the credential variables below do not change."),n.blank(),n.line("## Global flags"),n.blank(),n.line("| Flag | Description |"),n.line("| ---- | ----------- |");let o=e.schemes.some(i=>i.kind==="bearer");for(let[i,s]of[["--server-url <url>","Override the server URL included in the client."],["--format <json\\|ndjson>","Output format."],["--dry-run","Print the prepared request, credentials redacted, without sending it."],["--page-all","Follow pagination, printing one JSON page per line."],["--output <path>","Write the response body to a file. Required for binary responses."],...o?[["--token <token>","Bearer token, overriding the environment."]]:[],["--json <json\\|@file\\|@->","Request body, inline or from a file or stdin."]])n.line(`| \`${i}\` | ${s} |`);n.blank();let t=p(e.name);if(n.line("## Credentials"),n.blank(),e.schemes.length===0)n.line("The description declares no security schemes, so no credentials are read.");else{n.line("Credentials come from the environment:"),n.blank(),n.line("| Scheme | Variable |"),n.line("| ------ | -------- |");for(let i of e.schemes){let s=i.kind==="bearer"?`\`${t}_TOKEN\` (or \`--token\`)`:i.kind==="basic"?`\`${t}_USERNAME\` and \`${t}_PASSWORD\``:`\`${t}_API_KEY_${p(i.key)}\``;n.line(`| ${i.kind} (\`${i.key}\`) | ${s} |`)}}n.blank(),n.line("## Exit codes"),n.blank(),n.line("| Code | Meaning |"),n.line("| ---- | ------- |");for(let[i,s]of[[0,"success"],[1,"API error (status other than 401 or 403)"],[2,"auth error (401 or 403)"],[3,"validation error"],[4,"usage error (unknown command or flag, bad `--json`)"]])n.line(`| ${i} | ${s} |`);n.blank(),n.line("Errors print one JSON object to stderr, so stdout stays clean for piping."),n.blank();let a=[...new Set(r.map(i=>i.group))];for(let i of a){let s=r.filter(l=>l.group===i);i===void 0?(n.line("## Commands"),n.blank()):(n.line(`## ${i}`),n.blank(),n.line(`Addressed as \`${e.name} ${u(i)} <command>\`.`),n.blank());for(let l of s)D(n,l,e)}return n.toString().replace(/\n{3,}/g,`
7
+ import{h as g}from"./OMIM3KH6.js";import{f as C,m as u,n as p}from"./C67OKMFJ.js";import{c as j,d as v}from"./SS6PCAMM.js";import{ia as b}from"./22EANOP2.js";import{a as S,b as k}from"./UW4UC7ZI.js";import{join as $}from"node:path";function h(r){return(r??"").replace(/\s+/g," ").trim().replace(/\\/g,"\\\\").replace(/\|/g,"\\|")}function w(r){return[r.group===void 0?void 0:u(r.group),r.name].filter(Boolean).join(" ")}function T(r,e){return[r,w(e),...e.positionals.map(o=>`<${o.name}>`),...e.flags.filter(o=>o.required).map(o=>`--${o.name} <${o.type}>`),...e.body?[e.body.required?"--json '<json>'":"[--json '<json>']"]:[]].filter(o=>o!=="").join(" ")}function B(r,e){r.line("| Flag | Type | Required | Description |"),r.line("| ---- | ---- | -------- | ----------- |");for(let n of e){let o=[h(n.description),n.enum===void 0?"":`One of ${n.enum.map(t=>`\`${t}\``).join(", ")}.`,n.type==="array"?"Repeat the flag for multiple values.":""].filter(t=>t!=="").join(" ");r.line(`| \`--${n.name}\` | ${n.type} | ${n.required?"yes":"no"} | ${o} |`)}r.blank()}function D(r,e,n){if(r.line(`### \`${w(e)}\``),r.blank(),e.summary!==void 0&&(r.line(h(e.summary)),r.blank()),r.line(`\`${e.method} ${e.path}\``),r.blank(),r.line("```sh"),r.line(T(n.name,e)),r.line("```"),r.blank(),e.positionals.length>0){r.line("| Argument | Description |"),r.line("| -------- | ----------- |");for(let t of e.positionals)r.line(`| \`<${t.name}>\` | ${h(t.description)} |`);r.blank()}e.flags.length>0&&B(r,e.flags);let o=[e.body===void 0?"":`Takes a JSON body${e.body.required?" (required)":""}: \`--json '<json>'\`, \`--json @file.json\`, or \`--json @-\` for stdin.`,e.unsupportedBody===void 0?"":`Takes a \`${e.unsupportedBody}\` body, which the CLI cannot build \u2014 call this operation through the generated client instead.`,e.paginated===!0?"Paginated: `--page-all` follows every page, printing one JSON page per line.":"",e.sse===!0?"Streams server-sent events as one JSON object per line.":"",e.blob===!0?"Returns binary content, so `--output <path>` is required.":""].filter(t=>t!=="");for(let t of o)r.line(t);o.length>0&&r.blank()}function R(r,e){let n=new S;e.frontmatter&&(n.line("---"),n.line(`title: ${e.title}`),n.line("---"),n.blank()),n.line(`# ${e.title}`),n.blank(),n.line(`Generated command-line reference for \`${e.name}\`, produced from the API description by \`redocly generate-client\`.`),n.line("Re-run generation to update it \u2014 this file is not hand-edited."),n.blank(),n.line("## Usage"),n.blank(),n.line("```sh"),n.line(`${e.name} <command> [flags]`),n.line(`${e.name} --help`),n.line(`${e.name} schema <command> # request/response schemas`),n.line("```"),n.blank(),n.line("Install the file under any `bin` name: the command takes that name, and the credential variables below do not change."),n.blank(),n.line("## Global flags"),n.blank(),n.line("| Flag | Description |"),n.line("| ---- | ----------- |");let o=e.schemes.some(i=>i.kind==="bearer");for(let[i,s]of[["--server-url <url>","Override the server URL included in the client."],["--format <json\\|ndjson>","Output format."],["--dry-run","Print the prepared request, credentials redacted, without sending it."],["--page-all","Follow pagination, printing one JSON page per line."],["--output <path>","Write the response body to a file. Required for binary responses."],...o?[["--token <token>","Bearer token, overriding the environment."]]:[],["--json <json\\|@file\\|@->","Request body, inline or from a file or stdin."]])n.line(`| \`${i}\` | ${s} |`);n.blank();let t=p(e.name);if(n.line("## Credentials"),n.blank(),e.schemes.length===0)n.line("The description declares no security schemes, so no credentials are read.");else{n.line("Credentials come from the environment:"),n.blank(),n.line("| Scheme | Variable |"),n.line("| ------ | -------- |");for(let i of e.schemes){let s=i.kind==="bearer"?`\`${t}_TOKEN\` (or \`--token\`)`:i.kind==="basic"?`\`${t}_USERNAME\` and \`${t}_PASSWORD\``:`\`${t}_API_KEY_${p(i.key)}\``;n.line(`| ${i.kind} (\`${i.key}\`) | ${s} |`)}}n.blank(),n.line("## Exit codes"),n.blank(),n.line("| Code | Meaning |"),n.line("| ---- | ------- |");for(let[i,s]of[[0,"success"],[1,"API error (status other than 401 or 403)"],[2,"auth error (401 or 403)"],[3,"validation error"],[4,"usage error (unknown command or flag, bad `--json`)"]])n.line(`| ${i} | ${s} |`);n.blank(),n.line("Errors print one JSON object to stderr, so stdout stays clean for piping."),n.blank();let a=[...new Set(r.map(i=>i.group))];for(let i of a){let s=r.filter(l=>l.group===i);i===void 0?(n.line("## Commands"),n.blank()):(n.line(`## ${i}`),n.blank(),n.line(`Addressed as \`${e.name} ${u(i)} <command>\`.`),n.blank());for(let l of s)D(n,l,e)}return n.toString().replace(/\n{3,}/g,`
8
8
 
9
9
  `).trimEnd()+`
10
10
  `}function x(){return v["cli.ts"]}function E(){return j["cli.ts"]}var q="// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";function P(r){return k.snake(r).replace(/_/g,"-")}function O(r){let e=r.schema,n=e.kind==="array"?"array":e.kind==="scalar"&&(e.scalar==="integer"||e.scalar==="number")?"number":e.kind==="scalar"&&e.scalar==="boolean"?"boolean":"string";return{name:P(r.name),param:r.name,type:n,required:r.required,...e.kind==="enum"?{enum:e.values.map(String)}:{},...r.description!==void 0?{description:r.description}:{}}}function F(r){let e=r.successResponses;return e.some(n=>n.contentType.toLowerCase().includes("json"))?!1:e.some(n=>C(n.contentType))}function M(r){return r.successResponses.find(e=>e.contentType.toLowerCase().includes("json"))?.schema}function U(r,e,n){if(n!=="flat")return{};let o=g(r,e.schemas);return"mergeBody"in o&&o.mergeBody?{merged:!0}:{}}function _(r,e,n){return n!=="flat"?{}:"collisions"in g(r,e.schemas)?{argsStyle:"grouped"}:{}}function f(r,e){let n=[];for(let o of r.services)for(let t of o.operations){let a=t.requestBody?.contentType.toLowerCase().includes("json")?t.requestBody:void 0,i=M(t);n.push({...t.tags.length>0?{group:t.tags[0]}:{},name:t.name,...t.summary!==void 0?{summary:t.summary}:{},method:t.method.toUpperCase(),path:t.path,positionals:t.pathParams.map(s=>({name:s.name,type:O(s).type,...s.description!==void 0?{description:s.description}:{}})),flags:t.queryParams.map(O),...a?{body:{required:a.required,...U(t,r,e.argsStyle)}}:{},...a===void 0&&t.requestBody!==void 0?{unsupportedBody:t.requestBody.contentType}:{},...e.pagination?.has(t.name)===!0?{paginated:!0}:{},..._(t,r,e.argsStyle),...t.sse!==void 0?{sse:!0}:{},...F(t)?{blob:!0}:{},...a!==void 0||i!==void 0?{schemas:{...a?{request:a.schema}:{},...i!==void 0?{response:i}:{}}}:{}})}return n}var A=`function isProcessEntry(): boolean {
@@ -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 jc,b as Xr,c as Vc}from"./UF2ZCH7W.js";import{K as Ot,c as P,l as Zr,n as Ee,na as $t,ra as Qa,ta as Kt,u as Ft,va as Jt,wa as zt,ya as _t}from"./AP2GA7RS.js";import{c as Q,e as re}from"./RFWIIJFG.js";var dn=Q((Ma,un)=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.outdent=void 0;function lr(){for(var e=[],a=0;a<arguments.length;a++)e[a]=arguments[a]}function Ei(){return typeof WeakMap<"u"?new WeakMap:Wu()}function Wu(){return{add:lr,delete:lr,get:lr,set:lr,has:function(e){return!1}}}var Gu=Object.prototype.hasOwnProperty,cn=function(e,a){return Gu.call(e,a)};function ln(e,a){for(var r in a)cn(a,r)&&(e[r]=a[r]);return e}var Iu=/^[ \t]*(?:\r\n|\r|\n)/,Fu=/(?:\r\n|\r|\n)[ \t]*$/,Ou=/^(?:[\r\n]|$)/,$u=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,Ku=/^[ \t]*[\r\n][ \t\r\n]*$/;function Li(e,a,r){var n=0,t=e[0].match($u);t&&(n=t[1].length);var i="(\\r\\n|\\r|\\n).{0,"+n+"}",o=new RegExp(i,"g");a&&(e=e.slice(1));var s=r.newline,c=r.trimLeadingNewline,h=r.trimTrailingNewline,p=typeof s=="string",m=e.length,k=e.map(function(S,B){return S=S.replace(o,"$1"),B===0&&c&&(S=S.replace(Iu,"")),B===m-1&&h&&(S=S.replace(Fu,"")),p&&(S=S.replace(/\r\n|\n|\r/g,function(M){return s})),S});return k}function Ju(e,a){for(var r="",n=0,t=e.length;n<t;n++)r+=e[n],n<t-1&&(r+=a[n]);return r}function zu(e){return cn(e,"raw")&&cn(e,"length")}function xi(e){var a=Ei(),r=Ei();function n(i){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];if(zu(i)){var c=i,h=(o[0]===n||o[0]===we)&&Ku.test(c[0])&&Ou.test(c[1]),p=h?r:a,m=p.get(c);if(m||(m=Li(c,h,e),p.set(c,m)),o.length===0)return m[0];var k=Ju(m,h?o.slice(1):o);return k}else return xi(ln(ln({},e),i||{}))}var t=ln(n,{string:function(i){return Li([i],!1,e)[0]}});return t}var we=xi({trimLeadingNewline:!0,trimTrailingNewline:!0});Ma.outdent=we;Ma.default=we;if(typeof un<"u")try{un.exports=we,Object.defineProperty(we,"__esModule",{value:!0}),we.default=we,we.outdent=we}catch{}});var os=Q(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});var Zh="[",Xh="]",Qh="{",em="}",am=":",rm=",",es="true",as="false",rs="null",qo='"',nm=new Map([["t",es],["f",as],["n",rs]]),Wn=new Map([[qo,qo],["\\","\\"],["/","/"],["b","\b"],["n",`
7
+ import{a as jc,b as Xr,c as Vc}from"./UF2ZCH7W.js";import{K as Ot,c as P,l as Zr,n as Ee,na as $t,ra as Qa,ta as Kt,u as Ft,va as Jt,wa as zt,ya as _t}from"./22EANOP2.js";import{c as Q,e as re}from"./RFWIIJFG.js";var dn=Q((Ma,un)=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.outdent=void 0;function lr(){for(var e=[],a=0;a<arguments.length;a++)e[a]=arguments[a]}function Ei(){return typeof WeakMap<"u"?new WeakMap:Wu()}function Wu(){return{add:lr,delete:lr,get:lr,set:lr,has:function(e){return!1}}}var Gu=Object.prototype.hasOwnProperty,cn=function(e,a){return Gu.call(e,a)};function ln(e,a){for(var r in a)cn(a,r)&&(e[r]=a[r]);return e}var Iu=/^[ \t]*(?:\r\n|\r|\n)/,Fu=/(?:\r\n|\r|\n)[ \t]*$/,Ou=/^(?:[\r\n]|$)/,$u=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,Ku=/^[ \t]*[\r\n][ \t\r\n]*$/;function Li(e,a,r){var n=0,t=e[0].match($u);t&&(n=t[1].length);var i="(\\r\\n|\\r|\\n).{0,"+n+"}",o=new RegExp(i,"g");a&&(e=e.slice(1));var s=r.newline,c=r.trimLeadingNewline,h=r.trimTrailingNewline,p=typeof s=="string",m=e.length,k=e.map(function(S,B){return S=S.replace(o,"$1"),B===0&&c&&(S=S.replace(Iu,"")),B===m-1&&h&&(S=S.replace(Fu,"")),p&&(S=S.replace(/\r\n|\n|\r/g,function(M){return s})),S});return k}function Ju(e,a){for(var r="",n=0,t=e.length;n<t;n++)r+=e[n],n<t-1&&(r+=a[n]);return r}function zu(e){return cn(e,"raw")&&cn(e,"length")}function xi(e){var a=Ei(),r=Ei();function n(i){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];if(zu(i)){var c=i,h=(o[0]===n||o[0]===we)&&Ku.test(c[0])&&Ou.test(c[1]),p=h?r:a,m=p.get(c);if(m||(m=Li(c,h,e),p.set(c,m)),o.length===0)return m[0];var k=Ju(m,h?o.slice(1):o);return k}else return xi(ln(ln({},e),i||{}))}var t=ln(n,{string:function(i){return Li([i],!1,e)[0]}});return t}var we=xi({trimLeadingNewline:!0,trimTrailingNewline:!0});Ma.outdent=we;Ma.default=we;if(typeof un<"u")try{un.exports=we,Object.defineProperty(we,"__esModule",{value:!0}),we.default=we,we.outdent=we}catch{}});var os=Q(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});var Zh="[",Xh="]",Qh="{",em="}",am=":",rm=",",es="true",as="false",rs="null",qo='"',nm=new Map([["t",es],["f",as],["n",rs]]),Wn=new Map([[qo,qo],["\\","\\"],["/","/"],["b","\b"],["n",`
8
8
  `],["f","\f"],["r","\r"],["t"," "]]),Nn=new Map([[Zh,"Punctuator"],[Xh,"Punctuator"],[Qh,"Punctuator"],[em,"Punctuator"],[am,"Punctuator"],[rm,"Punctuator"],[es,"Boolean"],[as,"Boolean"],[rs,"Null"]]),qe=class extends Error{constructor(a,{line:r,column:n,index:t}){super(`${a} (${r}:${n})`),this.line=r,this.column=n,this.index=t}},Gn=class extends qe{constructor(a,r){super(`Unexpected character ${a} found.`,r)}},da=class extends qe{constructor(a){super(`Unexpected token ${a.type}(${a.value}) found.`,a.loc.start)}},In=class extends qe{constructor(a){super("Unexpected end of input found.",a)}},Zo='"',Xo="/",Qo="*",tm={comments:!1,ranges:!1};function im(e){return/[\s\n]/.test(e)}function Ge(e){return e>="0"&&e<="9"}function om(e){return Ge(e)||/[a-f]/i.test(e)}function sm(e){return e>="1"&&e<="9"}function lm(e){return/[tfn]/.test(e)}function cm(e){return Ge(e)||e==="."||e==="-"}function ns(e,a){a=Object.freeze({...tm,...a});let r=-1,n=1,t=0,i=!1,o=[];function s(b,g,A,w){let T=A.offset+g.length,_=a.ranges?{range:[A.offset,T]}:void 0;return{type:b,value:g,loc:{start:A,end:w||{line:A.line,column:A.column+g.length,offset:T}},..._}}function c(){let b=e.charAt(++r);return i?(n++,t=1,i=!1):t++,b==="\r"?(i=!0,e.charAt(r+1)===`
9
9
  `&&r++):b===`
10
10
  `&&(i=!0),b}function h(){return{line:n,column:t,offset:r}}function p(b){let g=nm.get(b);if(e.slice(r,r+g.length)===g)return r+=g.length-1,t+=g.length-1,{value:g,c:c()};for(let A=1;A<g.length;A++)g[A]!==e.charAt(r+A)&&B(c())}function m(b){let g=b;for(b=c();b&&b!==Zo;){if(b==="\\")if(g+=b,b=c(),Wn.has(b))g+=b;else if(b==="u"){g+=b;for(let A=0;A<4;A++)b=c(),om(b)?g+=b:B(b)}else B(b);else g+=b;b=c()}return b||M(),g+=b,{value:g,c:c()}}function k(b){let g="";if(b==="-"&&(g+=b,b=c(),Ge(b)||B(b)),b==="0")g+=b,b=c(),Ge(b)&&B(b);else{sm(b)||B(b);do g+=b,b=c();while(Ge(b))}if(b===".")do g+=b,b=c();while(Ge(b));if(b==="e"||b==="E")for(g+=b,b=c(),(b==="+"||b==="-")&&(g+=b,b=c()),Ge(b)||B(b);Ge(b);)g+=b,b=c();return{value:g,c:b}}function S(b){let g=b;if(b=c(),b==="/"){do g+=b,b=c();while(b&&b!=="\r"&&b!==`
@@ -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 a,d as b}from"./Q526MFO3.js";import"./4WAQNM63.js";import"./WZXA5XPB.js";import"./AP2GA7RS.js";import"./NEWT5A6S.js";import"./LD5MEXEL.js";import"./UW4UC7ZI.js";import"./RFWIIJFG.js";export{b as generateClient,a as runGenerators};
7
+ import{c as a,d as b}from"./WQ3XMPU7.js";import"./SS6PCAMM.js";import"./WZXA5XPB.js";import"./22EANOP2.js";import"./NEWT5A6S.js";import"./LD5MEXEL.js";import"./UW4UC7ZI.js";import"./RFWIIJFG.js";export{b as generateClient,a as runGenerators};
@@ -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 T,b as O,c as A,d as E}from"./MCJLOALK.js";import{c as m,k as C,r as $}from"./52MW7SRF.js";import{a as q}from"./LRUXN6H5.js";import{c as H,ia as u,oa as y,pa as R}from"./AP2GA7RS.js";import"./NEWT5A6S.js";import{e as z}from"./RFWIIJFG.js";import{createReadStream as F,createWriteStream as k,existsSync as N}from"node:fs";import{appendFile as V,mkdir as _,rm as j,writeFile as W}from"node:fs/promises";import B from"node:path";import{createInterface as G}from"node:readline";var w=class{outputPath;entriesPath;creatorVersion;writeChain=Promise.resolve();directoryEnsured=!1;started=!1;count=0;constructor(t,r){this.outputPath=B.resolve(process.cwd(),t),this.entriesPath=`${this.outputPath}.entries.tmp`,this.creatorVersion=r}get entryCount(){return this.count}add(t){let r=`${JSON.stringify(t)}
7
+ import{a as T,b as O,c as A,d as E}from"./YDVWNFMS.js";import{c as m,k as C,r as $}from"./KRCCY64H.js";import{a as q}from"./LRUXN6H5.js";import{c as H,ia as u,oa as y,pa as R}from"./22EANOP2.js";import"./NEWT5A6S.js";import{e as z}from"./RFWIIJFG.js";import{createReadStream as F,createWriteStream as k,existsSync as N}from"node:fs";import{appendFile as V,mkdir as _,rm as j,writeFile as W}from"node:fs/promises";import B from"node:path";import{createInterface as G}from"node:readline";var w=class{outputPath;entriesPath;creatorVersion;writeChain=Promise.resolve();directoryEnsured=!1;started=!1;count=0;constructor(t,r){this.outputPath=B.resolve(process.cwd(),t),this.entriesPath=`${this.outputPath}.entries.tmp`,this.creatorVersion=r}get entryCount(){return this.count}add(t){let r=`${JSON.stringify(t)}
8
8
  `,n=this.writeChain.catch(()=>{}).then(()=>this.append(r)).then(()=>{this.count+=1});return this.writeChain=n.catch(()=>{}),n}async finalize(){await this.writeChain.catch(()=>{}),await this.ensureDirectory(),await this.writeDocument(),await j(this.entriesPath,{force:!0})}async append(t){if(await this.ensureDirectory(),!this.started){await W(this.entriesPath,t,"utf8"),this.started=!0;return}await V(this.entriesPath,t,"utf8")}async ensureDirectory(){this.directoryEnsured||(await _(B.dirname(this.outputPath),{recursive:!0}),this.directoryEnsured=!0)}async writeDocument(){let t=k(this.outputPath,{encoding:"utf8"}),r=n=>new Promise((o,s)=>{t.write(n,i=>i?s(i):o())});try{let n=JSON.stringify({name:"redocly-cli proxy",version:this.creatorVersion});await r(`{
9
9
  "log": {
10
10
  "version": "1.2",
@@ -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 S,c as N,e as R,j as g,k as _,o as v,q as F,r as U,s as b,v as s}from"./MJYI42E6.js";import{aa as y,ba as $,ca as i,ga as u,ia as n,pa as k,ra as T,u as O,va as B,wa as E}from"./AP2GA7RS.js";import{writeFileSync as L}from"fs";import{resolve as j}from"path";import{performance as q}from"perf_hooks";var P={};async function Y({argv:e,config:l,version:W,collectSpecData:G}){let A=await S(e.apis,l),a={errors:0,warnings:0,ignored:0},I=N(l);for(let{path:o,alias:c,output:J}of A)try{let d=q.now(),p=l.forAlias(c);p.skipPreprocessors(e["skip-preprocessor"]),p.skipDecorators(e["skip-decorator"]);let m=e.overlay??p.resolvedConfig.overlays?.map(t=>O(t)?t:j(I,t));m?.length&&(P.bundle_overlays_count=(P.bundle_overlays_count??0)+m.length),c===void 0?n.info(u(`bundling ${s(o)}...
7
+ import{b as S,c as N,e as R,j as g,k as _,o as v,q as F,r as U,s as b,v as s}from"./6NB3FKVN.js";import{aa as y,ba as $,ca as i,ga as u,ia as n,pa as k,ra as T,u as O,va as B,wa as E}from"./22EANOP2.js";import{writeFileSync as L}from"fs";import{resolve as j}from"path";import{performance as q}from"perf_hooks";var P={};async function Y({argv:e,config:l,version:W,collectSpecData:G}){let A=await S(e.apis,l),a={errors:0,warnings:0,ignored:0},I=N(l);for(let{path:o,alias:c,output:J}of A)try{let d=q.now(),p=l.forAlias(c);p.skipPreprocessors(e["skip-preprocessor"]),p.skipDecorators(e["skip-decorator"]);let m=e.overlay??p.resolvedConfig.overlays?.map(t=>O(t)?t:j(I,t));m?.length&&(P.bundle_overlays_count=(P.bundle_overlays_count??0)+m.length),c===void 0?n.info(u(`bundling ${s(o)}...
8
8
  `)):n.info(u(`bundling ${s(o)} using configuration for api '${c}'...
9
9
  `));let{bundle:D,problems:w,...x}=await T({ref:o,config:p,dereference:e.dereferenced,removeUnusedComponents:e["remove-unused-components"],keepUrlRefs:e["keep-url-references"],componentRenamingConflicts:e["component-renaming-conflicts-severity"],componentNamesStrategy:e["component-names-strategy"],overlays:m,collectSpecData:G}),r=B(w),{outputFile:f,ext:K}=F({entrypoint:o,output:J,argvOutput:e.output,ext:e.ext,entries:e?.apis?.length||0});if(r.errors===0||e.force)if(f){let t=g(b(D.parsed),K,e.dereferenced);_(f,t)}else{let t=g(b(D.parsed),e.ext||"yaml",e.dereferenced);n.output(t)}a.errors+=r.errors,a.warnings+=r.warnings,a.ignored+=r.ignored,E(w,{format:"codeframe",totals:r,version:W,command:"bundle"}),e.metafile&&(A.length>1&&n.warn('[WARNING] "--metafile" cannot be used with multiple apis. Skipping...'),L(e.metafile,JSON.stringify(x),"utf-8"));let h=R(d);r.errors>0?e.force?n.info(`\u2753 Created a bundle for ${i(s(o))} at ${i(f||"stdout")} with errors ${y(h)}.
10
10
  ${$("Errors ignored because of --force")}.
@@ -0,0 +1,20 @@
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{c as U}from"./XJE2OFDN.js";import{b as R,c as F,d as G,e as L,f as V,g as ae,h as z,i as ie,j as ce}from"./C67OKMFJ.js";import{a as ne,c as T,d as N,e as D,g as Y,h as B,i as te,j as se,k as oe,l as K,n as re}from"./UW4UC7ZI.js";var M=T.python,j=class extends ne{constructor(){super(" ")}typeName(n){return N(n,{style:"pascal",reserved:M})}memberName(n){let t=N(n,{style:"snake",reserved:M});return{identifier:t,renamed:t!==n}}identifier(n){return N(n,{style:"snake",reserved:M})}identifiers(n,t){return D(n,{style:"snake",reserved:M,taken:t})}constName(n){return N(n,{style:"screaming",reserved:M})}string(n){let t='"';for(let s of n){let r=s.codePointAt(0);s==="\\"?t+="\\\\":s==='"'?t+='\\"':s===`
8
+ `?t+="\\n":s==="\r"?t+="\\r":s===" "?t+="\\t":r<32||r===127?t+=`\\x${r.toString(16).padStart(2,"0")}`:r>=55296&&r<=57343?t+=`\\u${r.toString(16).padStart(4,"0")}`:t+=s}return t+'"'}literal(n){return n==null?"None":n===!0?"True":n===!1?"False":typeof n=="number"?String(n):typeof n=="string"?this.string(n):Array.isArray(n)?`[${n.map(s=>this.literal(s)).join(", ")}]`:`{${Object.entries(n).map(([s,r])=>`${this.string(s)}: ${this.literal(r)}`).join(", ")}}`}comment(n){for(let t of K(n))this.line(t===""?"#":`# ${t}`);return this}doc(n){let t=K(n);if(t.length===0)return this;if(t.length===1)return this.line(`"""${t[0]}"""`);this.line(`"""${t[0]}`);for(let s of t.slice(1))this.line(s);return this.line('"""')}};var S=T.python,f=new j;function O(e){return f.typeName(e)}function q(e){let{identifier:n,renamed:t}=f.memberName(e);return{python:n,renamed:t}}function I(e){let n=e.services.flatMap(s=>s.operations),t=D(n.map(s=>s.name),{style:"snake",reserved:S});return n.map((s,r)=>({op:s,ident:t[r]}))}var W=["self","body","headers","timeout","retry","idempotency_key"];function le(e){return f.literal(e)}function de(e){if(e!==void 0)return{style:e.style,...e.param!==void 0?{param:e.param}:{},...e.nextCursor!==void 0?{next_cursor:e.nextCursor}:{},...e.hasMore!==void 0?{has_more:e.hasMore}:{},...e.limitParam!==void 0?{limit_param:e.limitParam}:{},...e.items!==void 0?{items:e.items}:{}}}function pe(e,n){let t=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let a=N(r.name,{style:"snake",reserved:S}),c=a,i=2;for(;t.has(c);)c=`${a}_${i++}`;t.add(c);let m=re(r.schema,n);return`(${f.string(r.name)}, ${f.string(c)}, ${f.string(m)})`}).join(", ")}]`}function h(e,n="string"){if(te(e))return`Optional[${h(se(e),n)}]`;switch(e.kind){case"scalar":if(n==="Date"&&e.scalar==="string"){if(e.metadata?.format==="date-time")return"datetime";if(e.metadata?.format==="date")return"date"}return{string:"str",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"array":return`List[${h(e.items,n)}]`;case"record":return`Dict[str, ${h(e.value,n)}]`;case"ref":return O(e.name);case"literal":return`Literal[${f.literal(e.value)}]`;case"enum":return{string:"str",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"union":return`Union[${e.members.map(t=>h(t,n)).join(", ")}]`;case"null":return"None";case"omit":return O(e.base);case"object":case"intersection":case"unknown":return"Any"}}function J(e,n,t,s,r,a,c,i=!1){let m=D([...n.pathParams,...n.queryParams].map(x=>x.name),{style:"snake",reserved:S,taken:W}),l=n.pathParams.map((x,v)=>({param:x,python:m[v]})),o=n.queryParams.map((x,v)=>({param:x,python:m[n.pathParams.length+v]})),d=l.map(({param:x,python:v})=>`${v}: ${h(x.schema,a)}`),u=L(n)||n.requestBody!==void 0&&V(n.requestBody.contentType),y=n.requestBody?[`body: ${u?"Any":h(n.requestBody.schema,a)}`]:[],b=[...o.map(({param:x,python:v})=>{let A=h(x.schema,a),E=A.startsWith("Optional[")?A:`Optional[${A}]`;return`${v}: ${E} = None`}),"headers: Optional[Dict[str, str]] = None","timeout: Optional[float] = None","retry: Optional[Dict[str, Any]] = None","idempotency_key: Any = None"],$=R(n),k=F(n),P=i?`Envelope[${$===void 0?"None":h($,a)}]`:k!==void 0?`${r?"AsyncIterator":"Iterator"}[ServerSentEvent]`:s==="result"?"Result":$===void 0?"None":h($,a),p=r&&k===void 0?"async def":"def",_=r?"await ":"",g=r?"send_async":"send",w=["self",...d,...y,"*",...b].join(", "),H=i?`${t}_with_headers`:t;e.block(`${p} ${H}(${w}) -> ${P}:`,()=>{e.doc(i?`Like ${t}(), returning an Envelope with the declared response headers.`:n.summary),e.line(`op = _OPERATIONS["${t}"]`),e.line('auth_headers, auth_query = resolve_auth(op.get("security") or [], self._auth)'),e.line("params: Dict[str, Any] = dict(auth_query)");for(let{param:E,python:C}of o)e.block(`if ${C} is not None:`,()=>{e.line(`params[${f.string(E.name)}] = encode(${C})`)});let x=l.map(({param:E,python:C})=>`${f.string(E.name)}: ${C}`).join(", ");if(e.line(`url = build_url(self._server_url, op["path"], {${x}})`),k!==void 0){let E=k.schema!==void 0&&k.schema.kind!=="unknown"?"json":"text";e.block("def _open(extra_headers: Dict[str, str]):",()=>{e.line('return self._http.stream(op["method"], url, headers={**auth_headers, **(headers or {}), **extra_headers}, params=params, timeout=timeout)')}),e.line(`return ${r?"aiter_sse":"iter_sse"}(_open, data_kind="${E}")`);return}G(n)&&!L(n)&&e.line("form_data, form_files = to_multipart(body)");let v=n.requestBody?L(n)?", **multipart_arguments(body)":G(n)?", data=form_data, files=form_files":V(n.requestBody.contentType)?`, content=body, content_type=${f.string(n.requestBody.contentType)}`:", json_body=encode(body)":"";e.line(`response = ${_}${g}(self._http, self._config, op, url, method=op["method"], headers={**auth_headers, **(headers or {})}, params=params${v}, timeout=timeout, retry=retry, idempotency_key=idempotency_key)`);let A=$===void 0?"None":`decode(${h($,a)}, _safe_json(response))`;i?(e.block("if not response.is_success:",()=>{e.line("raise ApiError(url, response.status_code, response.reason_phrase, _safe_json(response))")}),e.line(`return Envelope(data=${A}, headers=read_envelope_headers(response, ${pe(n,c)}), response=response)`)):s==="result"?(e.block("if not response.is_success:",()=>{e.line("return Result(data=None, error=_safe_json(response), response=response)")}),e.line(`return Result(data=${A}, error=None, response=response)`)):(e.block("if not response.is_success:",()=>{e.line("raise ApiError(url, response.status_code, response.reason_phrase, _safe_json(response))")}),e.line($===void 0?"return None":`return ${A}`))}),e.blank()}function me(e,n,t,s,r,a){let c=R(n),i=c===void 0?"Any":h(c,a),m=D([...n.pathParams,...n.queryParams].map(p=>p.name),{style:"snake",reserved:S,taken:W}),l=n.pathParams.map((p,_)=>({param:p,python:m[_]})),o=n.queryParams.map((p,_)=>({param:p,python:m[n.pathParams.length+_]})),d=l.map(({param:p,python:_})=>`${_}: ${h(p.schema,a)}`),u=[...o.map(({param:p,python:_})=>{let g=h(p.schema,a),w=g.startsWith("Optional[")?g:`Optional[${g}]`;return`${_}: ${w} = None`}),"headers: Optional[Dict[str, str]] = None","timeout: Optional[float] = None","retry: Optional[Dict[str, Any]] = None"],y=["self",...d,"*",...u].join(", "),b=s?"AsyncIterator":"Iterator",$=s?"aiter_pages":"iter_pages",k=s?"aiter_items":"iter_items",P=()=>{e.line("base: Dict[str, Any] = {}");for(let{param:g,python:w}of o)e.block(`if ${w} is not None:`,()=>{e.line(`base[${f.string(g.name)}] = encode(${w})`)});let p=s?"async def":"def",_=s?"await ":"";e.block(`${p} _page(page_params: Dict[str, Any]) -> Tuple[Any, Any]:`,()=>{e.line('auth_headers, auth_query = resolve_auth(op.get("security") or [], self._auth)');let g=l.map(({param:w,python:H})=>`${f.string(w.name)}: ${H}`).join(", ");e.line(`url = build_url(self._server_url, op["path"], {${g}})`),e.line(`response = ${_}${s?"send_async":"send"}(self._http, self._config, op, url, method=op["method"], headers={**auth_headers, **(headers or {})}, params={**page_params, **auth_query}, timeout=timeout, retry=retry)`),e.block("if not response.is_success:",()=>{e.line("raise ApiError(url, response.status_code, response.reason_phrase, _safe_json(response))")}),e.line("return _safe_json(response), response")})};s?(e.block(`async def ${t}_pages(${y}) -> ${b}[${i}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),P(),e.block(`async for page in ${$}(_page, op["pagination"], base):`,()=>{e.line(i==="Any"?"yield page":`yield decode(${i}, page)`)})}),e.blank(),e.block(`async def ${t}_items(${y}) -> ${b}[${r}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),P(),e.block(`async for item in ${k}(_page, op["pagination"], base):`,()=>{e.line(r==="Any"?"yield item":`yield decode(${r}, item)`)})})):(e.block(`def ${t}_pages(${y}) -> ${b}[${i}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),P(),e.line(i==="Any"?`return ${$}(_page, op["pagination"], base)`:`return (decode(${i}, page) for page in ${$}(_page, op["pagination"], base))`)}),e.blank(),e.block(`def ${t}_items(${y}) -> ${b}[${r}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),P(),e.line(r==="Any"?`return ${k}(_page, op["pagination"], base)`:`return (decode(${r}, item) for item in ${k}(_page, op["pagination"], base))`)})),e.blank()}function he(e){return ae(e).map(t=>t.kind==="literal"?f.string(t.value):q(t.name).python).join(" + ")}function fe(e,n){let t=n.servers??[];if(t.length===0)return;let s=new Set;e.block("class Servers:",()=>{e.line('"""The declared servers; variables default to the values from the description."""'),e.blank(),t.forEach((r,a)=>{let c=N(r.description??`server${a+1}`,{style:"snake",reserved:S});s.has(c)&&(c=`${c}_${a+1}`),s.add(c);let i=r.variables.map(m=>`${q(m.name).python}: str = ${f.string(m.default)}`);a>0&&e.blank(),e.line("@staticmethod"),e.block(`def ${c}(${i.join(", ")}) -> str:`,()=>{e.line(`return ${he(r)}`)})})}),e.blank()}function Q(e,n,t,s,r,a,c){let i=s?"AsyncClient":"Client",m=s?"httpx.AsyncClient":"httpx.Client";e.block(`class ${i}:`,()=>{e.doc(`${s?"Async ":""}client for ${n.title} (${n.version}).`),e.block(`def __init__(self, server_url: str = ${f.string(a)}, *, auth: Optional[Dict[str, Any]] = None, headers: Optional[Dict[str, str]] = None, timeout: Optional[float] = None, retry: Optional[Dict[str, Any]] = None, middleware: Optional[List[Any]] = None, idempotency_key: Any = None, http_client: Optional[${m}] = None) -> None:`,()=>{e.line("self._server_url = server_url"),e.line("self._auth = auth or {}"),e.line("self._config: Dict[str, Any] = {"),e.indent(()=>{e.line('"headers": headers or {},'),e.line('"timeout": timeout,'),e.line('"retry": retry or {},'),e.line('"middleware": middleware or [],'),e.line('"idempotency_key": idempotency_key,')}),e.line("}"),e.line(`self._http = http_client or ${m}()`)}),e.blank();for(let{op:l,ident:o}of I(n)){J(e,l,o,t,s,c),F(l)===void 0&&(l.successResponseHeaders?.length??0)>0&&J(e,l,o,t,s,c,n,!0);let d=r.get(o);if(d!==void 0){let u=R(l),y=ie(u,typeof d.items=="string"?d.items:void 0,n);me(e,l,o,s,y===void 0?"Any":h(y,c),c)}}}),e.blank()}function X(e){let n=new Map,t=new Set,s=[];for(let{name:a,schema:c}of e.schemas){let i=B(c,e);if(!(i===void 0||!i.cases.every(l=>Y(l.schema,e)?.properties.some(o=>o.name===i.property)===!0))){for(let l of i.cases){let o=n.get(l.schemaName);if(o!==void 0&&o.value!==l.value){t.add(l.schemaName);continue}n.set(l.schemaName,{property:i.property,value:l.value})}s.push({name:a,property:i.property,members:i.cases.map(l=>l.schemaName)})}}let r=new Map;for(let a of s)a.members.some(c=>t.has(c))||r.set(a.name,q(a.property).python);for(let a of t)n.delete(a);return{pins:n,unions:r}}function ye(e,n,t,s,r,a,c){let i=r==="pydantic";i||e.line("@dataclass");let m=i?`class ${O(n)}(BaseModel):`:`class ${O(n)}:`;e.block(m,()=>{e.doc(a),i&&(e.line("model_config = ConfigDict(populate_by_name=True)"),e.blank());let l=[...t.filter(d=>d.required),...t.filter(d=>!d.required)],o=[];l.length===0&&e.line("pass");for(let d of l){let{python:u,renamed:y}=q(d.name);y&&!i&&o.push([u,d.name]);let b=y&&i?`alias=${f.string(d.name)}`:void 0,$=c?.property===d.name?`Literal[${f.literal(c.value)}]`:h(d.schema,s);if(d.required){let k=b===void 0?"":` = Field(${b})`;e.line(`${u}: ${$}${k}`)}else{let k=$.startsWith("Optional[")?$:`Optional[${$}]`,P=b===void 0?"None":`Field(default=None, ${b})`;e.line(`${u}: ${k} = ${P}`)}}if(o.length>0){e.blank(),e.line("# Python field name -> wire (JSON) name, for (de)serialization.");let d=o.map(([u,y])=>`"${u}": ${f.string(y)}`).join(", ");e.line(`_field_map: ClassVar[Dict[str, str]] = {${d}}`)}}),e.blank(),e.blank()}function Z(e,n="string",t="dataclass"){let s=new j,{pins:r,unions:a}=t==="pydantic"?X(e):{pins:new Map,unions:new Map};s.line("from __future__ import annotations"),s.blank(),t==="dataclass"&&s.line("from dataclasses import dataclass"),s.line("from enum import Enum");let c=["Any","AsyncIterator","Dict","Iterator","List","Literal","Optional","Tuple","Union"];t==="dataclass"&&c.splice(2,0,"ClassVar"),a.size>0&&c.unshift("Annotated"),s.line(`from typing import ${c.join(", ")}`),t==="pydantic"&&s.line("from pydantic import BaseModel, ConfigDict, Field"),n==="Date"&&s.line("from datetime import date, datetime"),s.blank(),s.blank();let i=[];for(let{name:m,schema:l}of e.schemas){let o=oe(l);if(o!==void 0){let d=o.scalar==="string"?"str, Enum":"int, Enum";s.block(`class ${O(m)}(${d}):`,()=>{s.doc(l.description),o.values.forEach((u,y)=>{s.line(`${o.memberNames[y]} = ${f.literal(u)}`)})}),s.blank(),s.blank();continue}if(l.kind==="object"||l.kind==="intersection"){let d=Y(l,e);if(d!==void 0){ye(s,m,d.properties,n,t,d.description??l.description,r.get(m));continue}}i.push(()=>{let d=B(l,e);if(d!==void 0){let b=d.cases.map($=>`${$.value} -> ${O($.schemaName)}`).join(", ");s.line(`# Discriminated by "${d.property}": ${b}`)}let u=a.get(m),y=u===void 0?h(l,n):`Annotated[${h(l,n)}, Field(discriminator=${f.string(u)})]`;s.line(`${O(m)} = ${y}`),s.blank()})}for(let m of i)m();return s.toString()}function ue(e,n){let t=[];for(let{name:s,schema:r}of e.schemas){if(n.has(s))continue;let a=B(r,e);if(a===void 0)continue;let c=a.cases.map(i=>`${f.string(i.value)}: ${O(i.schemaName)}`).join(", ");t.push(`DISCRIMINATORS[${O(s)}] = (${f.string(a.property)}, {${c}})`)}return t}var on={type:"object",properties:{models:{enum:["dataclass","pydantic"],default:"dataclass",description:"Model style: standard-library dataclasses (default, httpx is the only dependency), or pydantic BaseModel classes (adds pydantic)."}},additionalProperties:!1};function ee(e){let n=e.lastIndexOf("/")>=0?"/":"\\",t=e.lastIndexOf(n),s=t>=0?e.slice(0,t+1):"",r=(t>=0?e.slice(t+1):e).replace(/\.[^.]+$/,"");return`${s}${N(r,{style:"snake",reserved:S})}.py`}var rn=({model:e,output:n,banner:t,emit:s,options:r,pagination:a})=>{let c=s.errorMode??"throw",i=s.dateType??"string",m=r?.models??"dataclass",l=m==="pydantic"?X(e):void 0,o=new j;if(o.line(`# Generated by @redocly/client-generator (python) from "${e.title}" ${e.version}.`),o.line("# Do not edit by hand \u2014 regenerate with `redocly generate-client`."),o.line(m==="pydantic"?"# Requires Python >= 3.9, httpx, and pydantic: pip install httpx pydantic":"# Requires Python >= 3.9 and httpx: pip install httpx"),o.blank(),o.line(Z(e,i,m).trimEnd()),o.blank(),o.blank(),fe(o,e),s.runtime==="module"){o.line("# \u2500\u2500\u2500 Runtime (real modules beside this file, written by the same run) \u2500\u2500\u2500");for(let p of Object.keys(U))o.line(`from ${p.replace(/\.py$/,"")} import *`);o.blank(),o.blank()}else{o.line("# \u2500\u2500\u2500 Embedded runtime (@redocly/client-generator python runtime) \u2500\u2500\u2500");for(let p of Object.values(U)){let _=p.split(`
9
+ `).filter(g=>!g.startsWith("from __future__")&&!g.startsWith("from ._")).join(`
10
+ `).trim();o.line(_),o.blank()}o.blank()}let d=ue(e,new Set(l?.unions.keys()));if(d.length>0){o.line("# Discriminated unions dispatch by their property inside decode().");for(let p of d)o.line(p);o.blank()}o.block("def _safe_json(response: httpx.Response) -> Any:",()=>{o.block("try:",()=>{o.line("return response.json()")}),o.block("except Exception:",()=>{o.line("return None")})}),o.blank();let u=new Map;for(let{op:p,ident:_}of I(e))u.set(_,de(a?.get(p.name)?.spec));o.line("_OPERATIONS = {"),o.indent(()=>{for(let{op:p,ident:_}of I(e)){let g={id:p.specName??p.name,method:p.method.toUpperCase(),path:p.path,...z(p,e).length>0?{security:z(p,e)}:{},...u.get(_)!==void 0?{pagination:u.get(_)}:{}};o.line(`"${_}": ${le(g)},`)}}),o.line("}"),o.blank(),o.blank();let y=s.serverUrl??e.serverUrl??"";Q(o,e,c,!1,u,y,i),Q(o,e,c,!0,u,y,i);let b={path:ee(n.path),content:o.toString()};if(s.runtime!=="module")return[b];let $=t.map(p=>`# ${p}`).join(`
11
+ `),k=ee(n.path).replace(/[^\\/]+$/,""),P=Object.entries(U).map(([p,_])=>({path:`${k}${p}`,content:`${$}
12
+
13
+ ${_.split(`
14
+ `).map(g=>g.startsWith("from ._")?g.replace("from ._","from _"):g).join(`
15
+ `).trim()}
16
+ `}));return[b,...P]};function $e(e,n){let t=ee(n.outputPath).replace(/^.*[\\/]/,"").replace(/\.py$/,""),s=I(n.model).find(a=>a.op.name===e.name)?.ident??N(e.name,{style:"snake",reserved:S}),r=[...e.pathParams.map(a=>{let c=N(a.name,{style:"snake",reserved:S});return`${c}="<${c}>"`}),...e.queryParams.filter(a=>a.required).map(a=>`${N(a.name,{style:"snake",reserved:S})}=...`),...e.requestBody?["body=..."]:[]];return{lang:"python",label:"Python SDK",source:`from ${t} import Client
17
+
18
+ client = Client()
19
+ result = client.${s}(${r.join(", ")})
20
+ `}}var an=({model:e,output:n,emit:t,pagination:s})=>[{path:n.path.replace(/\.[^.\\/]+$/,".python.md"),content:ce(e,{title:`${e.title} Python SDK reference`,frontmatter:t.docsFrontmatter===!0,language:{name:"python",label:"Python",fence:"python",requires:"The SDK needs `httpx`."},sample:r=>$e(r,{model:e,emit:t,outputPath:n.path}),paginated:new Set(s?.keys()??[])})}];export{h as a,Z as b,on as c,rn as d,$e as e,an as f};
@@ -0,0 +1,20 @@
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{b as G}from"./XJE2OFDN.js";import{b as E,c as I,d as F,e as W,f as ne,g as te,h as re,i as ie,j as se}from"./C67OKMFJ.js";import{a as X,c as C,d as p,e as S,f as N,g as R,h as B,i as Z,j,k as D,l as O,n as ee}from"./UW4UC7ZI.js";var U=C.php,w=class extends X{constructor(){super(" ")}typeName(n){return p(n,{style:"pascal",reserved:U})}memberName(n){return p(n,{style:"camel",reserved:U})}identifier(n){return p(n,{style:"camel",reserved:U})}identifiers(n,s){return S(n,{style:"camel",reserved:U,taken:s})}string(n){return`'${n.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}literal(n){return n==null?"null":typeof n=="boolean"||typeof n=="number"?String(n):typeof n=="string"?this.string(n):Array.isArray(n)?`[${n.map(i=>this.literal(i)).join(", ")}]`:`[${Object.entries(n).map(([i,r])=>`${this.string(i)} => ${this.literal(r)}`).join(", ")}]`}comment(n){for(let s of O(n))this.line(s===""?"//":`// ${s}`);return this}doc(n,s,i=[]){let r=O(s);if(r.length===0&&i.length===0)return this;let t=r.length===0?n:`${n} \u2014 ${r.join(" ")}`;if(i.length===0)return this.line(`/** ${t} */`);this.line("/**"),this.line(` * ${t}`),this.line(" *");for(let a of i)this.line(` * ${a}`);return this.line(" */")}};var h=C.php,K=new w;function y(e){return K.typeName(e)}function k(e){return K.memberName(e)}function o(e){return K.string(e)}function ae(e){return p(e.name,{style:"camel",reserved:h})}function L(e){let n=e.services.flatMap(i=>i.operations),s=S(n.map(i=>i.name),{style:"camel",reserved:h});return new Map(n.map((i,r)=>[i.name,s[r]]))}function he(e){return te(e).map(s=>s.kind==="literal"?o(s.value):`$${k(s.name)}`).join(" . ")}function oe(e,n){let s=n.servers??[];if(s.length===0)return;let i=new Set;e.line("/** The declared servers; variables default to the values from the description. */"),e.line("final class Servers"),e.block("{",()=>{s.forEach((r,t)=>{let a=p(r.description??`server${t+1}`,{style:"camel",reserved:h});i.has(a)&&(a=`${a}${t+1}`),i.add(a);let c=r.variables.map(l=>`string $${k(l.name)} = ${o(l.default)}`);t>0&&e.blank(),e.line(`public static function ${a}(${c.join(", ")}): string`),e.block("{",()=>{e.line(`return ${he(r)};`)},"}")})},"}"),e.blank()}function ce(e,n){let s=re(e,n).map(i=>`[${i.map(t=>t.kind==="apiKey"?`['kind' => 'apiKey', 'scheme' => ${o(t.scheme)}, 'name' => ${o(t.name)}, 'in' => ${o(t.in)}]`:`['kind' => ${o(t.kind)}, 'scheme' => ${o(t.scheme)}]`).join(", ")}]`);if(s.length!==0)return`[${s.join(", ")}]`}function le(e){return`[${[`'style' => ${o(e.style)}`,...e.param!==void 0?[`'param' => ${o(e.param)}`]:[],...e.nextCursor!==void 0?[`'nextCursor' => ${o(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`'hasMore' => ${o(e.hasMore)}`]:[],...e.limitParam!==void 0?[`'limitParam' => ${o(e.limitParam)}`]:[],...e.items!==void 0?[`'items' => ${o(e.items)}`]:[]].join(", ")}]`}function ue(e,n){let s=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let t=p(r.name,{style:"camel",reserved:h}),a=2;for(;s.has(t);)t=`${p(r.name,{style:"camel",reserved:h})}_${a++}`;s.add(t);let c=ee(r.schema,n);return`[${o(r.name)}, ${o(t)}, ${o(c)}]`}).join(", ")}]`}function _(e,n){let s=n.schemas.find(t=>t.name===e);if(s===void 0)return"other";let i=s.schema,r=D(i);return r!==void 0&&(r.scalar==="string"||r.scalar==="integer")?"enum":(i.kind==="object"||i.kind==="intersection")&&R(i,n)!==void 0?"class":"other"}function m(e,n,s="string"){if(Z(e)){let i=m(j(e),n,s);return A(i)}switch(e.kind){case"scalar":return s==="Date"&&e.scalar==="string"&&J(e)?"\\DateTimeImmutable":{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"array":case"record":return"array";case"ref":{let i=_(e.name,n);if(i==="class"||i==="enum")return y(e.name);let r=N(e,n);return r===void 0?"mixed":m(r,n,s)}case"enum":return{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float";case"omit":return y(e.base);case"union":return ye(e.members,n,s);case"null":case"object":case"intersection":case"unknown":return"mixed"}}function J(e){let n=e.metadata?.format;return n==="date"||n==="date-time"}function A(e){return e==="mixed"||e.startsWith("?")||e.endsWith("|null")?e:e.includes("|")?`${e}|null`:`?${e}`}function ye(e,n,s){let i=[];for(let r of e){if(r.kind==="null")continue;let t=m(r,n,s);if(t==="mixed")return"mixed";let a=t.startsWith("?")?t.slice(1):t;i.includes(a)||i.push(a),t.startsWith("?")&&!i.includes("null")&&i.push("null")}return i.length===0?"mixed":i.join("|")}function V(e,n,s){if(e===void 0)return;let i=j(e);if(i.kind==="ref"){let t=N(i,n);return _(i.name,n)==="other"?V(t,n,s):void 0}if(i.kind!=="array")return;let r=m(i.items,n,s);return r==="mixed"?void 0:r}function $e(e,n){let s=n.schemas.find(i=>i.name===e);return s!==void 0&&B(s.schema,n)!==void 0}function q(e,n,s,i){let r=j(e);if(i==="Date"&&r.kind==="scalar"&&r.scalar==="string"&&J(r))return`new \\DateTimeImmutable(${n})`;if(r.kind==="omit")return q({kind:"ref",name:r.base},n,s,i);if(r.kind==="ref"){let t=_(r.name,s);if(t==="class")return`${y(r.name)}::fromArray(${n})`;if(t==="enum")return`${y(r.name)}::from(${n})`;if($e(r.name,s))return`unmarshal${y(r.name)}(${n})`;let a=N(r,s);return a===void 0?void 0:q(a,n,s,i)}if(r.kind==="array"){let t=q(r.items,"$item",s,i);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}if(r.kind==="record"){let t=q(r.value,"$item",s,i);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}}function x(e,n,s,i="string"){let r=j(e);if(i==="Date"&&r.kind==="scalar"&&r.scalar==="string"){if(r.metadata?.format==="date")return`${n}->format('Y-m-d')`;if(r.metadata?.format==="date-time")return`${n}->format(\\DateTimeInterface::ATOM)`}if(r.kind==="omit")return x({kind:"ref",name:r.base},n,s,i);if(r.kind==="ref"){let t=_(r.name,s);if(t==="class")return`${n}->toArray()`;if(t==="enum")return`${n}->value`;if($e(r.name,s))return`is_object(${n}) ? ${n}->toArray() : ${n}`;let a=N(r,s);return a===void 0?void 0:x(a,n,s,i)}if(r.kind==="array"||r.kind==="record"){let t=r.kind==="array"?r.items:r.value,a=x(t,"$item",s,i);return a===void 0?void 0:`array_map(static fn ($item) => ${a}, ${n})`}}function ge(e,n,s,i,r,t){let a=[...s.filter(c=>c.required),...s.filter(c=>!c.required)];e.doc(y(n),t),e.line(`final class ${y(n)}`),e.block("{",()=>{e.block("public function __construct(",()=>{for(let c of a){let l=m(c.schema,i,r);if(c.required)e.line(`public ${l} $${k(c.name)},`);else{let u=A(l);e.line(`public ${u} $${k(c.name)} = null,`)}}},") {"),e.line("}"),e.blank(),e.line("public static function fromArray(array $data): self"),e.block("{",()=>{e.block("return new self(",()=>{for(let c of a){let l=`$data[${o(c.name)}]`,u=q(c.schema,l,i,r),d=k(c.name);c.required?e.line(`${d}: ${u??l},`):u===void 0?e.line(`${d}: ${l} ?? null,`):e.line(`${d}: isset(${l}) ? ${u} : null,`)}},");")},"}"),e.blank(),e.line("public function toArray(): array"),e.block("{",()=>{e.line("$data = [];");for(let c of a){let l=`$this->${k(c.name)}`,u=x(c.schema,l,i,r)??l;c.required?e.line(`$data[${o(c.name)}] = ${u};`):e.block(`if (${l} !== null) {`,()=>{e.line(`$data[${o(c.name)}] = ${u};`)},"}")}e.line("return $data;")},"}")},"}"),e.blank()}function z(e,n="string"){let s=new w;for(let{name:i,schema:r}of e.schemas){let t=D(r);if(t!==void 0&&(t.scalar==="string"||t.scalar==="integer")){let c=t.scalar==="string"?"string":"int";s.doc(y(i),r.description),s.line(`enum ${y(i)}: ${c}`),s.block("{",()=>{let l=S(t.values.map(u=>String(u)),{style:"pascal",reserved:h});t.values.forEach((u,d)=>{let b=typeof u=="string"?o(u):String(u);s.line(`case ${l[d]} = ${b};`)})},"}"),s.blank();continue}if(r.kind==="object"||r.kind==="intersection"){let c=R(r,e);if(c!==void 0){ge(s,i,c.properties,e,n,c.description??r.description);continue}}let a=B(r,e);if(a!==void 0){let c=y(i),l=a.cases.map(u=>`${u.value} -> ${y(u.schemaName)}`).join(", ");s.line(`/** ${c} is a discriminated union (${o(a.property)}): ${l}. */`),s.line(`function unmarshal${c}(array $data): mixed`),s.block("{",()=>{s.block(`return match ($data[${o(a.property)}] ?? null) {`,()=>{for(let u of a.cases)s.line(`${o(u.value)} => ${y(u.schemaName)}::fromArray($data),`);s.line("default => $data,")},"};")},"}"),s.blank();continue}}return s.toString()}var de=new Set(["post","put","patch"]),be=["body","headers","idempotencyKey"];function fe(e){return W(e)||e.requestBody!==void 0&&ne(e.requestBody.contentType)}function Q(e,n,s,i){let r=S([...e.pathParams,...e.queryParams].map(l=>l.name),{style:"camel",reserved:h,taken:be}),t=e.pathParams.map((l,u)=>({php:r[u],wire:l.name,type:m(l.schema,n,i)})),a=e.queryParams.map((l,u)=>{let d=r[e.pathParams.length+u];return{php:d,wire:l.name,type:m(l.schema,n,i),value:x(l.schema,`$${d}`,n,i)??`$${d}`}}),c=[...t.map(({php:l,type:u})=>`${u} $${l}`),...s&&e.requestBody?[`${fe(e)?"mixed":F(e)?"array":m(e.requestBody.schema,n,i)} $body`]:[],...a.map(({php:l,type:u})=>`${A(u)} $${l} = null`),"?array $headers = null",...s&&de.has(e.method.toLowerCase())?["?string $idempotencyKey = null"]:[]];return{pathArgs:t,queryArgs:a,signature:c}}function ke(e,n,s){e.line(`$op = self::OPERATIONS[${o(n.specName??n.name)}];`),e.line("[$authHeaders, $query, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);");for(let{php:r,wire:t,value:a}of s.queryArgs)e.block(`if ($${r} !== null) {`,()=>{e.line(`$query[${o(t)}] = ${a};`)},"}");let i=s.pathArgs.map(({php:r,wire:t})=>`${o(t)} => $${r}`).join(", ");e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${i}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}")}function Y(e,n,s,i,r,t=!1){let a=Q(n,i,!0,r),c=I(n),l=E(n),u=c===void 0&&l===void 0&&n.successResponses.some(g=>g.contentType!==""),d=t?"Envelope":c!==void 0?"\\Generator":l!==void 0?m(l,i,r):u?"string":"void",b=t?`${s}WithHeaders`:s,H=t?void 0:V(l,i,r);e.doc(b,t?`Like ${s}(), returning an Envelope with the declared response headers.`:n.summary??`${n.method.toUpperCase()} ${n.path}`,H===void 0?[]:[`@return ${H}[]`]),e.line(`public function ${b}(${a.signature.join(", ")}): ${d}`),e.block("{",()=>{if(ke(e,n,a),c!==void 0){let f=c.schema!==void 0&&c.schema.kind!=="unknown";e.line("$url = appendQuery($url, $query);"),e.block("$open = function (array $extraHeaders) use ($url, $requestHeaders): \\CurlHandle {",()=>{e.line("$handle = curl_init($url);"),e.line("$lines = [];"),e.block("foreach (array_merge($requestHeaders, $extraHeaders) as $name => $value) {",()=>{e.line("$lines[] = $name . ': ' . $value;")},"}"),e.line("curl_setopt($handle, CURLOPT_HTTPHEADER, $lines);"),e.line("return $handle;")},"};"),e.line(`yield from iterSse($open, ${f?"true":"false"});`);return}let g=["'operationId' => $op['id']","'method' => $op['method']","'url' => $url","'headers' => $requestHeaders","'query' => $query"];if(W(n))e.line("[$contentType, $encoded] = multipartBody($body);"),g.push("'body' => $encoded","'contentType' => $contentType");else if(n.requestBody&&fe(n))g.push("'body' => binaryBody($body)",`'contentType' => ${o(n.requestBody.contentType)}`);else if(n.requestBody&&F(n))e.line("[$contentType, $encoded] = toMultipart($body);"),g.push("'body' => $encoded","'contentType' => $contentType");else if(n.requestBody){let f=x(n.requestBody.schema,"$body",i,r)??"$body";e.line(`$payload = json_encode(${f});`),g.push("'body' => $payload",`'contentType' => ${o(n.requestBody.contentType)}`)}de.has(n.method.toLowerCase())&&n.requestBody&&g.push("'idempotencyKey' => $idempotencyKey"),e.line(`$response = send($this->config, [${g.join(", ")}]);`),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}");let $=u?"$response['body']":(l===void 0?void 0:q(l,"decodeJson($response)",i,r))??"decodeJson($response)";if(t){e.line(`$data = ${$};`),e.line(`return new Envelope(data: $data, headers: readEnvelopeHeaders($response, ${ue(n,i)}), status: $response['status']);`);return}if(u){e.line("return $response['body'];");return}if(d==="void"){e.line("decodeJson($response);");return}e.line(`return ${$};`)},"}"),e.blank()}function me(e,n,s,i,r,t,a,c,l){let u=Q(n,i,!1,r),d=s,b=()=>{e.line(`$op = self::OPERATIONS[${o(n.specName??n.name)}];`),e.line("$base = [];");for(let{php:f,wire:P,value:v}of u.queryArgs)e.block(`if ($${f} !== null) {`,()=>{e.line(`$base[${o(P)}] = ${v};`)},"}");let $=u.pathArgs.map(({php:f,wire:P})=>`${o(P)} => $${f}`).join(", ");e.block("$call = function (array $params) use ($op, $headers): array {",()=>{e.line("[$authHeaders, $authQuery, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);"),e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${$}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}"),e.line("$response = send($this->config, ['operationId' => $op['id'], 'method' => $op['method'], 'url' => $url, 'headers' => $requestHeaders, 'query' => array_merge($params, $authQuery)]);"),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}"),e.line("return [decodeJson($response), $response];")},"};")},H=m(E(n)??{kind:"unknown"},i,r),g=H==="mixed"?"mixed":H;e.line("/**"),e.line(` * ${d} response pages, following the pagination rule automatically.`),e.line(" *"),e.line(` * @return \\Generator<int, ${g}>`),e.line(" */"),e.line(`public function ${d}Pages(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{b(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`yield ${t??"$page"};`)},"}")},"}"),e.blank(),e.line("/**"),e.line(` * The items of every ${d} page.`),e.line(" *"),e.line(` * @return \\Generator<int, ${l}>`),e.line(" */"),e.line(`public function ${d}Items(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{b(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`$items = resolvePointer($page, ${o(c??"")});`),e.block("foreach (is_array($items) ? $items : [] as $item) {",()=>{e.line(`yield ${a??"$item"};`)},"}")},"}")},"}"),e.blank()}function Pe(e){let n=e.split(`
8
+ `),s=0;for(let i=0;i<n.length;i++)if(n[i].trim().startsWith("namespace ")){s=i+1;break}return n.slice(s).join(`
9
+ `).trim()}var dn=({model:e,output:n,banner:s,emit:i,pagination:r})=>{let t=new w,a=i.dateType??"string",c=p(e.title,{style:"pascal",reserved:h});t.line("<?php"),t.blank(),t.line(`// Code generated by @redocly/client-generator (php) from ${o(e.title)} ${e.version}. DO NOT EDIT.`),t.line("// Regenerate with `redocly generate-client`. PHP >= 8.1, curl extension \u2014 zero Composer dependencies."),t.blank(),t.line("declare(strict_types=1);"),t.blank(),t.line(`namespace ${c};`),t.blank(),t.line(z(e,a)),oe(t,e),i.runtime==="module"?(t.line("// \u2500\u2500\u2500 Runtime (a real file beside this one, written by the same run) \u2500\u2500\u2500"),t.line("require_once __DIR__ . '/runtime.php';"),t.blank()):(t.line("// \u2500\u2500\u2500 Embedded runtime (@redocly/client-generator php runtime) \u2500\u2500\u2500"),t.line(Pe(G)),t.blank());let l=e.services.flatMap($=>$.operations),u=L(e),d=new Map;for(let $ of l){let f=r?.get($.name)?.spec;f!==void 0&&d.set($.name,f)}t.doc("Client",`Client for ${e.title} (${e.version}).`),t.line("class Client"),t.block("{",()=>{t.block("public const OPERATIONS = [",()=>{for(let $ of l){let f=$.specName??$.name,P=ce($,e),v=d.get($.name),M=[`'id' => ${o(f)}`,`'method' => ${o($.method.toUpperCase())}`,`'path' => ${o($.path)}`,...P!==void 0?[`'security' => ${P}`]:[],...v!==void 0?[`'pagination' => ${le(v)}`]:[]];t.line(`${o(f)} => [${M.join(", ")}],`)}},"];"),t.blank(),t.line("public function __construct(private Config $config)"),t.block("{",()=>{t.block("if ($this->config->serverUrl === '') {",()=>{t.line(`$this->config->serverUrl = ${o(i.serverUrl??e.serverUrl??"")};`)},"}")},"}"),t.blank();for(let $ of l){let f=u.get($.name);Y(t,$,f,e,a),I($)===void 0&&($.successResponseHeaders?.length??0)>0&&Y(t,$,f,e,a,!0);let P=d.get($.name);if(P===void 0)continue;let v=E($),M=v===void 0?void 0:q(v,"$page",e,a),T=ie(v,P.items,e),pe=T===void 0?void 0:q(T,"$item",e,a);me(t,$,f,e,a,M,pe,P.items,T===void 0?"mixed":m(T,e,a))}},"}");let b={path:n.path.replace(/\.[^.\\/]+$/,".php"),content:t.toString()};if(i.runtime!=="module")return[b];let H=s.map($=>`// ${$}`).join(`
10
+ `),g=G.replace(/^namespace .*$/m,`namespace ${c};`).replace(/^<\?php\n/,`<?php
11
+
12
+ ${H}
13
+ `).trimEnd();return[b,{path:b.path.replace(/[^\\/]+$/,"runtime.php"),content:`${g}
14
+ `}]};function qe(e,n){let s=[...e.pathParams.map(t=>`${o(`<${k(t.name)}>`)}`),...e.requestBody?["$body"]:[],...e.queryParams.length>0?[`${k(e.queryParams[0].name)}: ${o("<value>")}`]:[]],i=p(n.model.title,{style:"pascal",reserved:h});return{lang:"php",label:"PHP SDK",source:`require '${n.outputPath.replace(/^.*[\\/]/,"").replace(/\.[^.]+$/,".php")}';
15
+
16
+ use ${i}\\{Client, Config};
17
+
18
+ $client = new Client(new Config());
19
+ $result = $client->${L(n.model).get(e.name)??ae(e)}(${s.join(", ")});
20
+ `}}var fn=({model:e,output:n,emit:s,pagination:i})=>[{path:n.path.replace(/\.[^.\\/]+$/,".php.md"),content:se(e,{title:`${e.title} PHP SDK reference`,frontmatter:s.docsFrontmatter===!0,language:{name:"php",label:"PHP",fence:"php",requires:"The SDK needs the curl extension."},sample:r=>qe(r,{model:e,emit:s,outputPath:n.path}),paginated:new Set(i?.keys()??[])})}];export{m as a,z as b,dn as c,qe as d,fn as e};