@redocly/cli 2.71.0 → 2.71.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES +3 -3
- package/lib/chunks/{SXIMN47K.js → 25RSTUQA.js} +1 -1
- package/lib/chunks/{N37OGNC4.js → 2IUGP2IH.js} +3 -3
- package/lib/chunks/{STAMDB3P.js → 2NYYNBAC.js} +1 -1
- package/lib/chunks/{YDGFDJ2K.js → 3N7LKSDD.js} +1 -1
- package/lib/chunks/4DUOPCYP.js +7 -0
- package/lib/chunks/{QAPQYNI3.js → 54EKLNNI.js} +1 -1
- package/lib/chunks/5BQNATJZ.js +20 -0
- package/lib/chunks/{PF43QQZA.js → 5DW3QRJB.js} +2 -2
- package/lib/chunks/{E4MPGN3Z.js → 5SSWNONM.js} +1 -1
- package/lib/chunks/{B5KSRXXW.js → 6TCEQRVX.js} +1 -1
- package/lib/chunks/{G2M6SQCS.js → 6ZNJ7RDX.js} +2 -2
- package/lib/chunks/{YLRH4RVF.js → 7HFLPQAB.js} +2 -2
- package/lib/chunks/{JCP37EY3.js → ACAPGKSR.js} +59 -25
- package/lib/chunks/ACECCMWJ.js +14 -0
- package/lib/chunks/{O37B7ABT.js → AH6ANNYP.js} +1 -1
- package/lib/chunks/{EHQY7ZOF.js → B5SUTVG4.js} +1 -1
- package/lib/chunks/{HAOBCQWB.js → BE4Z5FOC.js} +10 -8
- package/lib/chunks/{TXSBWL3Y.js → BOWZV5S6.js} +1 -1
- package/lib/chunks/{IULINGO6.js → BPSWCUZE.js} +1 -1
- package/lib/chunks/{V6VNRABV.js → BXXX3ZCV.js} +1 -1
- package/lib/chunks/{QMS4UKIK.js → CHX7O5AM.js} +5 -5
- package/lib/chunks/{2NVGTELR.js → CJWIDJTB.js} +1 -1
- package/lib/chunks/{L4F2ERUL.js → CX76LEFC.js} +1 -1
- package/lib/chunks/{WBWCX3LS.js → DORXGE7Z.js} +93 -93
- package/lib/chunks/{LD5MEXEL.js → DP3T6VZX.js} +1 -1
- package/lib/chunks/{FKKC7G6X.js → DURXFJ7H.js} +1 -1
- package/lib/chunks/DVLD4FET.js +20 -0
- package/lib/chunks/{MV3ZJ5HR.js → EAFZ6DNQ.js} +1 -1
- package/lib/chunks/{LS3G7CUH.js → EBHQXW6Z.js} +1 -1
- package/lib/chunks/{RIGQPR2I.js → EO65RJ4Z.js} +1 -1
- package/lib/chunks/{T55LQK2H.js → EQOFXQKD.js} +1 -1
- package/lib/chunks/FBEEMKTB.js +7 -0
- package/lib/chunks/{BU4AMVHN.js → FGJDZKD2.js} +1 -1
- package/lib/chunks/G6SB4ZP5.js +7 -0
- package/lib/chunks/{LRMOPAZ4.js → GAKWND4S.js} +1 -1
- package/lib/chunks/HAGYQ4BK.js +20 -0
- package/lib/chunks/{LNEXTJNF.js → HBWCMTP3.js} +1 -1
- package/lib/chunks/{2R2CXBRH.js → HWOL3HHR.js} +1 -1
- package/lib/chunks/{2UAA6O26.js → ILYXMZRT.js} +1 -1
- package/lib/chunks/{NBMSBQEL.js → INGAWMLB.js} +1 -1
- package/lib/chunks/{3DMXMP4K.js → IYV7EO2J.js} +1 -1
- package/lib/chunks/IZMDARCL.js +22 -0
- package/lib/chunks/JOWPA3MJ.js +7 -0
- package/lib/chunks/KFQC57GK.js +145 -0
- package/lib/chunks/{CZS2ZXJ7.js → KJIUDCYZ.js} +1 -1
- package/lib/chunks/{QB6CQ2CV.js → L2O63VRM.js} +1 -1
- package/lib/chunks/{MYSYBBIO.js → MH5X2EVH.js} +1 -1
- package/lib/chunks/{RLJVKAOL.js → NLAPR7D4.js} +1 -1
- package/lib/chunks/O53IFFP3.js +98 -0
- package/lib/chunks/{MQUZ5IJ2.js → PBQOGZ5C.js} +1 -1
- package/lib/chunks/{BCRM4BTA.js → Q3IJURM3.js} +1 -1
- package/lib/chunks/{HHCU6T2V.js → QXBSAWH3.js} +1 -1
- package/lib/chunks/QXHFS5G6.js +7 -0
- package/lib/chunks/{E3FBSKNS.js → QZJAXPYF.js} +1 -1
- package/lib/chunks/{QTGTCBFK.js → RBJCAITC.js} +1 -1
- package/lib/chunks/{CN2ZOHYL.js → RBNQC5ZB.js} +1 -1
- package/lib/chunks/{2CMKIFTE.js → RNA6JDRC.js} +1 -1
- package/lib/chunks/{DHP4BBTH.js → RNL7TC2W.js} +1 -1
- package/lib/chunks/{WKDC6LN3.js → RUPTJCF5.js} +1 -1
- package/lib/chunks/{YDQCJP4F.js → S6W63XAS.js} +1 -1
- package/lib/chunks/{B3GE7EIX.js → TN3JQHMS.js} +1 -1
- package/lib/chunks/TNRIBQHV.js +7 -0
- package/lib/chunks/TZROZMVE.js +20 -0
- package/lib/chunks/{TR67FYLT.js → U7KIB7CD.js} +1 -1
- package/lib/chunks/{EFB2YVY2.js → UMN7TKTH.js} +2 -2
- package/lib/chunks/{VXD5O25A.js → V34D5CUU.js} +1 -1
- package/lib/chunks/{SBHCUK5I.js → W2CABGMW.js} +1 -1
- package/lib/chunks/{MYOQDPQZ.js → WCJ2HAN3.js} +1 -1
- package/lib/chunks/{5ECOOGVW.js → WJ3YDHQA.js} +1 -1
- package/lib/chunks/{6TE6AFQ3.js → WLI2XLEP.js} +1 -1
- package/lib/chunks/{NCDX4IGX.js → X7C43UBI.js} +1 -1
- package/lib/chunks/{EH6VW7JO.js → XGPGFZMH.js} +1 -1
- package/lib/chunks/{YUEIHUPX.js → XZIK3H6V.js} +1 -1
- package/lib/chunks/{P7LM57HK.js → Y3LDWYZD.js} +1 -1
- package/lib/chunks/{VJHJJBVN.js → Y5DDX2MU.js} +1 -1
- package/lib/chunks/{MT4W54PL.js → YL3LVBZF.js} +1 -1
- package/lib/chunks/{O6NMXFEP.js → ZBB6PS6I.js} +1 -1
- package/lib/chunks/{NZE22F7Q.js → ZQTHHPK3.js} +2 -2
- package/lib/eject-assets/generators/cli/docs.ts +1 -1
- package/lib/eject-assets/generators/cli/engine-source.ts +1 -1
- package/lib/eject-assets/generators/cli/index.ts +2 -2
- package/lib/eject-assets/generators/cli/render.ts +1 -1
- package/lib/eject-assets/generators/go/client.ts +1 -1
- package/lib/eject-assets/generators/go/descriptor.ts +1 -1
- package/lib/eject-assets/generators/go/index.ts +2 -2
- package/lib/eject-assets/generators/go/models.ts +7 -2
- package/lib/eject-assets/generators/go/naming.ts +1 -1
- package/lib/eject-assets/generators/go/operations.ts +1 -1
- package/lib/eject-assets/generators/go/pagination.ts +1 -1
- package/lib/eject-assets/generators/go/types.ts +1 -1
- package/lib/eject-assets/generators/mock/faker.ts +17 -9
- package/lib/eject-assets/generators/mock/index.ts +4 -3
- package/lib/eject-assets/generators/mock/render.ts +128 -9
- package/lib/eject-assets/generators/mock/sample.ts +87 -4
- package/lib/eject-assets/generators/mock/values.ts +1 -1
- package/lib/eject-assets/generators/php/client.ts +1 -1
- package/lib/eject-assets/generators/php/descriptor.ts +10 -1
- package/lib/eject-assets/generators/php/index.ts +2 -2
- package/lib/eject-assets/generators/php/models.ts +8 -3
- package/lib/eject-assets/generators/php/naming.ts +1 -1
- package/lib/eject-assets/generators/php/operations.ts +11 -6
- package/lib/eject-assets/generators/php/pagination.ts +3 -2
- package/lib/eject-assets/generators/php/types.ts +12 -2
- package/lib/eject-assets/generators/python/client.ts +1 -1
- package/lib/eject-assets/generators/python/descriptor.ts +1 -1
- package/lib/eject-assets/generators/python/index.ts +3 -3
- package/lib/eject-assets/generators/python/models.ts +9 -3
- package/lib/eject-assets/generators/python/naming.ts +1 -1
- package/lib/eject-assets/generators/python/operations.ts +6 -5
- package/lib/eject-assets/generators/python/pagination.ts +1 -1
- package/lib/eject-assets/generators/python/types.ts +1 -1
- package/lib/eject-assets/generators/swr/index.ts +2 -2
- package/lib/eject-assets/generators/swr/render.ts +1 -1
- package/lib/eject-assets/generators/tanstack-query/index.ts +2 -2
- package/lib/eject-assets/generators/tanstack-query/render.ts +6 -5
- package/lib/eject-assets/generators/transformers/index.ts +2 -2
- package/lib/eject-assets/generators/transformers/render.ts +34 -7
- package/lib/eject-assets/generators/typescript/banner.ts +1 -1
- package/lib/eject-assets/generators/typescript/client.ts +1 -1
- package/lib/eject-assets/generators/typescript/descriptor.ts +1 -1
- package/lib/eject-assets/generators/typescript/index.ts +2 -2
- package/lib/eject-assets/generators/typescript/inline-runtime.ts +1 -1
- package/lib/eject-assets/generators/typescript/operation-signature.ts +1 -1
- package/lib/eject-assets/generators/typescript/operation-types.ts +1 -1
- package/lib/eject-assets/generators/typescript/operations.ts +1 -1
- package/lib/eject-assets/generators/typescript/response-headers.ts +1 -1
- package/lib/eject-assets/generators/typescript/type-guards.ts +1 -1
- package/lib/eject-assets/generators/typescript/types.ts +1 -1
- package/lib/eject-assets/generators/zod/index.ts +2 -2
- package/lib/eject-assets/generators/zod/schemas.ts +1 -1
- package/lib/eject-assets/skills/go-generator/SKILL.md +3 -0
- package/lib/eject-assets/skills/mock-generator/SKILL.md +22 -0
- package/lib/eject-assets/skills/php-generator/SKILL.md +9 -2
- package/lib/eject-assets/skills/python-generator/SKILL.md +6 -0
- package/lib/eject-assets/skills/tanstack-query-generator/SKILL.md +2 -1
- package/lib/eject-assets/skills/transformers-generator/SKILL.md +4 -0
- package/lib/eject-assets/skills/typescript-generator/SKILL.md +5 -0
- package/lib/index.js +5 -5
- package/lib/skills/redocly-cli/SKILL.md +20 -1
- package/package.json +1 -1
- package/lib/chunks/2Y7MGFQS.js +0 -105
- package/lib/chunks/BPDHBW3N.js +0 -7
- package/lib/chunks/EWU57NBY.js +0 -20
- package/lib/chunks/GKXY6U4S.js +0 -145
- package/lib/chunks/GMGZQR6Q.js +0 -7
- package/lib/chunks/JM7BMZLD.js +0 -13
- package/lib/chunks/K6VR5YNF.js +0 -22
- package/lib/chunks/M6UVHV6D.js +0 -7
- package/lib/chunks/O72R3AD4.js +0 -20
- package/lib/chunks/RZ3FGCBT.js +0 -20
- package/lib/chunks/SBT63VHF.js +0 -7
- package/lib/chunks/UW4UC7ZI.js +0 -9
- package/lib/chunks/VQRJE4I2.js +0 -7
- package/lib/chunks/WACZWFKN.js +0 -19
- package/lib/chunks/WJXIZZA6.js +0 -7
package/THIRD_PARTY_NOTICES
CHANGED
|
@@ -340,7 +340,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
340
340
|
BSD-3-Clause
|
|
341
341
|
|
|
342
342
|
Packages:
|
|
343
|
-
fast-uri@3.1.
|
|
343
|
+
fast-uri@3.1.9 — Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae
|
|
344
344
|
source-map@0.6.1 — Copyright (c) 2009-2011, Mozilla Foundation and contributors
|
|
345
345
|
|
|
346
346
|
License text:
|
|
@@ -495,9 +495,9 @@ Packages:
|
|
|
495
495
|
supports-color@7.2.0
|
|
496
496
|
ulid@2.4.0 — Copyright (c) 2017 Alizain Feerasta
|
|
497
497
|
ulid@3.0.2 — Copyright (c) 2017 Alizain Feerasta
|
|
498
|
-
undici@7.30.
|
|
498
|
+
undici@7.30.1 — Copyright (c) Matteo Collina and Undici contributors
|
|
499
499
|
yargs@17.0.1 — Copyright 2010 James Halliday (mail@substack.net); Modified work Copyright 2014 Contributors (ben@npmjs.com)
|
|
500
|
-
zod@4.
|
|
500
|
+
zod@4.6.7 — Copyright (c) 2025 Colin McDonnell
|
|
501
501
|
|
|
502
502
|
License text:
|
|
503
503
|
(no license text found)
|
|
@@ -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,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./
|
|
7
|
+
import{A,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./AH6ANNYP.js";import"./KFQC57GK.js";import"./DORXGE7Z.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{j as InvalidReuniteUrlError,f as REUNITE_URLS,l as RedoclyOAuthClient,k as RedoclyOAuthDeviceFlow,c as ReuniteApi,b as ReuniteApiClient,a as ReuniteApiError,m as buildProjectGitUrl,s as collectFilesToPush,o as createPullRequest,y as evaluatePluginsFromCode,v as fetchRemoteScorecardAndPlugins,e as getApiKeys,g as getDomain,d as getMostUrgentSunsetWarning,p as getPullRequestStatus,t as getPushStatus,h as getReuniteUrl,x as getTarget,z as isAllowedScorecardProjectUrl,i as isValidReuniteUrl,n as parseProjectGitUrl,r as pushFiles,w as resolveConfigForTarget,q as resolveProjectRef,A as validateScorecard,u as waitForDeployment};
|
|
@@ -4,10 +4,10 @@ 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 p,b as U,c as F,d as R,e as j}from"./U5DIFWGH.js";import{b as O}from"./
|
|
7
|
+
import{a as p,b as U,c as F,d as R,e as j}from"./U5DIFWGH.js";import{b as O}from"./CHX7O5AM.js";import{$ as A,_ as $,c as b,da as v,fa as k,k as P,la as d}from"./DORXGE7Z.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import{readFileSync as H}from"node:fs";import{mkdir as B,writeFile as D}from"node:fs/promises";import{basename as I,dirname as S,extname as N,isAbsolute as L,relative as x,resolve as f}from"node:path";var V=/^[a-z][a-z0-9+.-]+:/i;function W(e,t){let{setup:i}=e;if(typeof i!="string")return e;if(V.test(i))throw new d(`
|
|
8
8
|
\u274C \`client.setup\` must be a local file path \u2014 remote setup modules are not supported.
|
|
9
9
|
Got: ${i}
|
|
10
|
-
`);return L(i)?e:{...e,setup:f(t,i)}}function q(e){return`${e.replace(/[\\/]/g,"_")}.client.ts`}function J(e){if(e.startsWith("//"))return!1;if(e.startsWith("/"))return!0;try{let t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}async function se({argv:e,config:t,collectSpecData:i}){let{AUTHORING_HELPER_NAMES:r,generateClient:m,mergeConfig:n}=await import("./
|
|
10
|
+
`);return L(i)?e:{...e,setup:f(t,i)}}function q(e){return`${e.replace(/[\\/]/g,"_")}.client.ts`}function J(e){if(e.startsWith("//"))return!1;if(e.startsWith("/"))return!0;try{let t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}async function se({argv:e,config:t,collectSpecData:i}){let{AUTHORING_HELPER_NAMES:r,generateClient:m,mergeConfig:n}=await import("./FBEEMKTB.js"),l=t.configPath?S(t.configPath):process.cwd(),o={serverUrl:e["server-url"],outputMode:e["output-mode"],runtime:e.runtime,importExt:e["import-ext"],goPackage:e["go-package"],argsStyle:e["args-style"],errorMode:e["error-mode"],dateType:e["date-type"],mockData:e["mock-data"],mockSeed:e["mock-seed"],docs:e.docs,generators:e.generator?.map(c=>c.startsWith(".")?f(c):c),setup:e.setup===void 0?void 0:W({setup:e.setup},process.cwd()).setup},s=t.resolvedConfig.apis??{},a=Object.keys(s).filter(c=>b(s[c].client)||s[c].clientOutput!==void 0);if(e.api===void 0){if(e.output)throw new d("\n\u274C --output can't target multiple APIs. Set `clientOutput` under each api in redocly.yaml, or pass a single <api>.\n");if(a.length===0)throw new d("\n\u274C No API to generate. Add a `client` block or `clientOutput` under an `apis:` entry, or pass <api> (a file/URL or an `apis:` alias).\n")}let h=await O(e.api===void 0?a:[e.api],t),g={config:t,collectSpecData:i,configDir:l,cliFlags:o,outputFlag:e.output,toolkit:{generateClient:m,mergeConfig:n,helperNames:r},seenOutputs:new Set,composable:[]};for(let c of h)await K(c,g);let w=b(t.resolvedConfig.client)?t.resolvedConfig.client:{};w.cliOutput!==void 0&&e.api===void 0&&g.composable.length>0&&await Q(w.cliOutput,g)}async function K(e,{config:t,collectSpecData:i,configDir:r,cliFlags:m,outputFlag:n,toolkit:l,seenOutputs:o,composable:s}){let{path:a,alias:h}=e,g=h??I(a,N(a)),w=t.forAlias(h),{client:c,clientOutput:E}=w.resolvedConfig,M=W(b(c)?c:{},r),C=l.mergeConfig(M,m);X(C.generators??[],l.helperNames,r);let y=n!==void 0?f(n):E!==void 0?f(r,E):f(r,q(g));if(!y.endsWith(".ts"))throw new d(`
|
|
11
11
|
\u274C output must point at a TypeScript file (ending in .ts).
|
|
12
12
|
Got: ${y}
|
|
13
13
|
`);if(o.has(y))throw new d(`
|
|
@@ -23,7 +23,7 @@ import{a as p,b as U,c as F,d as R,e as j}from"./U5DIFWGH.js";import{b as O}from
|
|
|
23
23
|
`)}catch(u){let _=u instanceof Error?u.message:String(u);throw p.generate_client_error_category=j(_),new d(`
|
|
24
24
|
\u274C Failed to generate client for ${g}.
|
|
25
25
|
${_}
|
|
26
|
-
`)}}async function Q(e,{configDir:t,seenOutputs:i,composable:r}){let{renderComposedCliEntry:m}=await import("./
|
|
26
|
+
`)}}async function Q(e,{configDir:t,seenOutputs:i,composable:r}){let{renderComposedCliEntry:m}=await import("./JOWPA3MJ.js"),n=f(t,e);if(!n.endsWith(".ts"))throw new d(`
|
|
27
27
|
\u274C client.cliOutput must point at a TypeScript file (ending in .ts).
|
|
28
28
|
Got: ${n}
|
|
29
29
|
`);if(i.has(n))throw new d(`
|
|
@@ -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{
|
|
7
|
+
import{e as g,h as p,k as $}from"./DP3T6VZX.js";import{o as h}from"./ACAPGKSR.js";import{join as R}from"node:path";var a=" ";function m(e){return`${$(e)}Schema`}var y=new Map;function u(e,r=y,t=""){return j(w(e,r,t),e)}function w(e,r,t){switch(e.kind){case"scalar":return z(e.scalar,e.metadata);case"object":return b(e.properties,r,t);case"array":return`z.array(${u(e.items,r,t)})`;case"record":return`z.record(z.string(), ${u(e.value,r,t)})`;case"ref":return`z.lazy(() => ${m(e.name)})`;case"literal":return`z.literal(${p(e.value)})`;case"enum":return q(e.values);case"union":return k(e.members,r,t);case"intersection":return e.members.map(n=>u(n,r,t)).reduce((n,o)=>`${n}.and(${o})`);case"null":return"z.null()";case"unknown":return"z.unknown()";case"omit":return E(e.base,e.keys,r,t)}}function z(e,r){switch(e){case"string":return r?.format==="binary"?"z.instanceof(Blob)":"z.string()";case"integer":return"z.number().int()";case"number":return"z.number()";case"boolean":return"z.boolean()"}}function c(e){return g(e)===e?e:JSON.stringify(e)}function b(e,r,t){if(e.length===0)return"z.object({})";let n=t+a;return`z.object({
|
|
8
8
|
${e.map((s,i)=>{let d=u(s.schema,r,n),l=s.required?d:`${d}.optional()`,x=i===e.length-1?"":",";return`${n}${c(s.name)}: ${l}${x}`}).join(`
|
|
9
9
|
`)}
|
|
10
10
|
${t}})`}function q(e){return e.every(r=>typeof r=="string")?`z.enum([${e.map(r=>JSON.stringify(r)).join(", ")}])`:`z.union([${e.map(r=>`z.literal(${p(r)})`).join(", ")}])`}function k(e,r,t){let n=e.map(o=>u(o,r,t));return n.length===1?n[0]:`z.union([${n.join(", ")}])`}function E(e,r,t,n){let o=t.get(e);if(o&&o.kind!=="object")return u(f(o,r,t,new Set([e])),t,n);let s=r.map(i=>`${c(i)}: true`).join(", ");return`${m(e)}.omit({ ${s} })`}function f(e,r,t,n){switch(e.kind){case"object":return{...e,properties:e.properties.filter(o=>!r.includes(o.name))};case"union":case"intersection":return{...e,members:e.members.map(o=>f(o,r,t,n))};case"ref":{if(n.has(e.name))return e;let o=t.get(e.name);if(!o)return e;if(o.kind==="object"){let s=r.filter(i=>o.properties.some(d=>d.name===i));return s.length>0?{kind:"omit",base:e.name,keys:s}:e}return f(o,r,t,new Set([...n,e.name]))}default:return e}}function j(e,r){let t=r.metadata;if(!t)return e;let n=e;return r.kind==="scalar"&&r.scalar==="string"&&(t.minLength!==void 0&&(n=`${n}.min(${t.minLength})`),t.maxLength!==void 0&&(n=`${n}.max(${t.maxLength})`),t.pattern!==void 0&&(n=`${n}.regex(new RegExp(${JSON.stringify(t.pattern)}))`)),r.kind==="scalar"&&(r.scalar==="number"||r.scalar==="integer")&&(t.minimum!==void 0&&(n=`${n}.min(${t.minimum})`),t.maximum!==void 0&&(n=`${n}.max(${t.maximum})`),t.exclusiveMinimum!==void 0&&(n=`${n}.gt(${t.exclusiveMinimum})`),t.exclusiveMaximum!==void 0&&(n=`${n}.lt(${t.exclusiveMaximum})`)),r.kind==="array"&&(t.minItems!==void 0&&(n=`${n}.min(${t.minItems})`),t.maxItems!==void 0&&(n=`${n}.max(${t.maxItems})`)),n}function Z(e,r){let t=[];for(let n of h(e.services)){if(n.sse!==void 0)continue;let o=n.requestBody,s=o&&o.contentType.toLowerCase().includes("json")?u(o.schema,r,a):void 0,i=n.successResponses.find(l=>l.contentType.toLowerCase().includes("json")),d=i?u(i.schema,r,a):void 0;!s&&!d||t.push({name:n.specName??n.name,request:s,response:d})}return t}function I(e){let r=e.flatMap(n=>[`${a}${c(n.name)}: {`,...n.request?[`${a}${a}request: z.ZodType;`]:[],...n.response?[`${a}${a}response: z.ZodType;`]:[],`${a}};`]),t=e.map((n,o)=>{let s=[...n.request?[`request: ${n.request}`]:[],...n.response?[`response: ${n.response}`]:[]].join(", "),i=o===e.length-1?"":",";return`${a}${c(n.name)}: { ${s} }${i}`});return["/**"," * Request/response validators by operationId \u2014 powers `zodValidation`, or import one directly."," */","export const operationSchemas: {",...r,"} = {",...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{b as k,f as v}from"./
|
|
7
|
+
import{b as k,f as v}from"./CHX7O5AM.js";import{I as A,J as S,K as y,S as f,T as w,aa as d,ea as l,fa as n,ha as x,ia as h,ja as O,la as g,oa as b,p as u,v as p}from"./DORXGE7Z.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import{performance as F}from"perf_hooks";function I(o){let t=Object.fromEntries(Object.entries(o).map(([s,{metric:e,total:r,counts:a}])=>[s,{metric:e,total:r,counts:a}]));n.output(JSON.stringify(t,null,2))}function P(o){let t=`| Feature | Count |
|
|
8
8
|
| --- | --- |
|
|
9
9
|
`,s=[];for(let{metric:e,total:r,counts:a}of Object.values(o)){t+=`| ${e} | ${r} |
|
|
10
10
|
`;let c=Object.entries(a??{});c.length&&s.push(`
|
|
@@ -0,0 +1,7 @@
|
|
|
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 a,c as b,d as c}from"./QZJAXPYF.js";import"./BE4Z5FOC.js";import"./L2O63VRM.js";import"./IYV7EO2J.js";import"./DP3T6VZX.js";import"./UMN7TKTH.js";import"./ACAPGKSR.js";import"./WZXA5XPB.js";import"./DORXGE7Z.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{b as cliDocs,a as cliGenerator,c as cliSample};
|
|
@@ -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"./
|
|
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"./CHX7O5AM.js";import{$ as i,Z as y,_ as $,da as u,fa as n,ma as k,oa as T,sa as B,t as O,ta as E}from"./DORXGE7Z.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 W}from"./BE4Z5FOC.js";import{b as R,c as L,d as z,e as U,f as J,g as ce,h as Q,i as le,j as de}from"./UMN7TKTH.js";import{a as se,c as B,d as N,e as A,g as G,h as F,i as oe,j as re,k as ae,l as V,n as ie}from"./ACAPGKSR.js";var C=B.python,D=class extends se{constructor(){super(" ")}typeName(n){return N(n,{style:"pascal",reserved:C})}memberName(n){let t=N(n,{style:"snake",reserved:C});return{identifier:t,renamed:t!==n}}identifier(n){return N(n,{style:"snake",reserved:C})}identifiers(n,t){return A(n,{style:"snake",reserved:C,taken:t})}constName(n){return N(n,{style:"screaming",reserved:C})}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 V(n))this.line(t===""?"#":`# ${t}`);return this}doc(n){let t=V(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 x=B.python,m=new D;function v(e){return m.typeName(e)}function E(e){let{identifier:n,renamed:t}=m.memberName(e);return{python:n,renamed:t}}function q(e){let n=e.services.flatMap(s=>s.operations),t=A(n.map(s=>s.name),{style:"snake",reserved:x});return n.map((s,r)=>({op:s,ident:t[r]}))}var H=["self","body","headers","timeout","retry","idempotency_key"];function fe(e){return m.literal(e)}function pe(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.nextLink!==void 0?{next_link:e.nextLink}:{},...e.limitParam!==void 0?{limit_param:e.limitParam}:{},...e.items!==void 0?{items:e.items}:{}}}function me(e,n){let t=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let a=N(r.name,{style:"snake",reserved:x}),i=a,c=2;for(;t.has(i);)i=`${a}_${c++}`;t.add(i);let f=ie(r.schema,n);return`(${m.string(r.name)}, ${m.string(i)}, ${m.string(f)})`}).join(", ")}]`}function y(e,n="string"){if(oe(e))return`Optional[${y(re(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[${y(e.items,n)}]`;case"record":return`Dict[str, ${y(e.value,n)}]`;case"ref":return v(e.name);case"literal":return`Literal[${m.literal(e.value)}]`;case"enum":return{string:"str",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"union":return`Union[${e.members.map(t=>y(t,n)).join(", ")}]`;case"null":return"None";case"omit":return v(e.base);case"object":case"intersection":case"unknown":return"Any"}}function X(e,n,t,s,r,a,i,c=!1){let f=A([...n.pathParams,...n.queryParams].map(O=>O.name),{style:"snake",reserved:x,taken:H}),l=n.pathParams.map((O,w)=>({param:O,python:f[w]})),o=n.queryParams.map((O,w)=>({param:O,python:f[n.pathParams.length+w]})),u=l.map(({param:O,python:w})=>`${w}: ${y(O.schema,a)}`),p=U(n)||n.requestBody!==void 0&&J(n.requestBody.contentType),h=n.requestBody?[`body: ${p?"Any":y(n.requestBody.schema,a)}`]:[],b=[...o.map(({param:O,python:w})=>{let j=y(O.schema,a),M=j.startsWith("Optional[")?j:`Optional[${j}]`;return`${w}: ${M} = None`}),"headers: Optional[Dict[str, str]] = None","timeout: Optional[float] = None","retry: Optional[Dict[str, Any]] = None","idempotency_key: Any = None"],_=R(n),k=L(n),S=c?`Envelope[${_===void 0?"None":y(_,a)}]`:k!==void 0?`${r?"AsyncIterator":"Iterator"}[ServerSentEvent]`:s==="result"?`Result[${_===void 0?"None":y(_,a)}, Any]`:_===void 0?"None":y(_,a),d=r&&k===void 0?"async def":"def",$=r?"await ":"",g=r?"send_async":"send",P=["self",...u,...h,"*",...b].join(", "),K=c?`${t}_with_headers`:t;e.block(`${d} ${K}(${P}) -> ${S}:`,()=>{e.doc(c?`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:I,python:T}of o)e.block(`if ${T} is not None:`,()=>{e.line(`params[${m.string(I.name)}] = encode(${T})`)});let O=l.map(({param:I,python:T})=>`${m.string(I.name)}: ${T}`).join(", ");if(e.line(`url = build_url(self._server_url, op["path"], {${O}})`),k!==void 0){let I=k.schema!==void 0&&k.schema.kind!=="unknown"?"json":"text";e.block("def _open(extra_headers: Dict[str, str]) -> Any:",()=>{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="${I}")`);return}z(n)&&!U(n)&&e.line("form_data, form_files = to_multipart(body)");let w=n.requestBody?U(n)?", **multipart_arguments(body)":z(n)?", data=form_data, files=form_files":J(n.requestBody.contentType)?`, content=body, content_type=${m.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${w}, timeout=timeout, retry=retry, idempotency_key=idempotency_key)`);let j=_===void 0?void 0:y(_,a),M=j===void 0?"None":`cast(${j}, decode(${j}, _safe_json(response)))`;c?(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=${M}, headers=read_envelope_headers(response, ${me(n,i)}), 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=${M}, 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 ${M}`))}),e.blank()}function ue(e,n,t,s,r,a){let i=R(n),c=i===void 0?"Any":y(i,a),f=A([...n.pathParams,...n.queryParams].map(d=>d.name),{style:"snake",reserved:x,taken:H}),l=n.pathParams.map((d,$)=>({param:d,python:f[$]})),o=n.queryParams.map((d,$)=>({param:d,python:f[n.pathParams.length+$]})),u=l.map(({param:d,python:$})=>`${$}: ${y(d.schema,a)}`),p=[...o.map(({param:d,python:$})=>{let g=y(d.schema,a),P=g.startsWith("Optional[")?g:`Optional[${g}]`;return`${$}: ${P} = None`}),"headers: Optional[Dict[str, str]] = None","timeout: Optional[float] = None","retry: Optional[Dict[str, Any]] = None"],h=["self",...u,"*",...p].join(", "),b=s?"AsyncIterator":"Iterator",_=s?"aiter_pages":"iter_pages",k=s?"aiter_items":"iter_items",S=()=>{e.line("base: Dict[str, Any] = {}");for(let{param:g,python:P}of o)e.block(`if ${P} is not None:`,()=>{e.line(`base[${m.string(g.name)}] = encode(${P})`)});let d=s?"async def":"def",$=s?"await ":"";e.block(`${d} _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:P,python:K})=>`${m.string(P.name)}: ${K}`).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(${h}) -> ${b}[${c}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),S(),e.block(`async for page in ${_}(_page, op["pagination"], base):`,()=>{e.line(c==="Any"?"yield page":`yield decode(${c}, page)`)})}),e.blank(),e.block(`async def ${t}_items(${h}) -> ${b}[${r}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),S(),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(${h}) -> ${b}[${c}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),S(),e.line(c==="Any"?`return ${_}(_page, op["pagination"], base)`:`return (decode(${c}, page) for page in ${_}(_page, op["pagination"], base))`)}),e.blank(),e.block(`def ${t}_items(${h}) -> ${b}[${r}]:`,()=>{e.line(`op = _OPERATIONS["${t}"]`),S(),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 $e(e){return ce(e).map(t=>t.kind==="literal"?m.string(t.value):E(t.name).python).join(" + ")}function ye(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 i=N(r.description??`server${a+1}`,{style:"snake",reserved:x});s.has(i)&&(i=`${i}_${a+1}`),s.add(i);let c=r.variables.map(f=>`${E(f.name).python}: str = ${m.string(f.default)}`);a>0&&e.blank(),e.line("@staticmethod"),e.block(`def ${i}(${c.join(", ")}) -> str:`,()=>{e.line(`return ${$e(r)}`)})})}),e.blank()}function Z(e,n,t,s,r,a,i){let c=s?"AsyncClient":"Client",f=s?"httpx.AsyncClient":"httpx.Client";e.block(`class ${c}:`,()=>{e.doc(`${s?"Async ":""}client for ${n.title} (${n.version}).`),e.block(`def __init__(self, server_url: str = ${m.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[${f}] = 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 ${f}()`)}),e.blank();for(let{op:l,ident:o}of q(n)){X(e,l,o,t,s,i),L(l)===void 0&&(l.successResponseHeaders?.length??0)>0&&X(e,l,o,t,s,i,n,!0);let u=r.get(o);if(u!==void 0){let p=R(l),h=le(p,typeof u.items=="string"?u.items:void 0,n);ue(e,l,o,s,h===void 0?"Any":y(h,i),i)}}}),e.blank()}function ee(e){let n=new Map,t=new Set,s=[];for(let{name:a,schema:i}of e.schemas){let c=F(i,e);if(!(c===void 0||!c.cases.every(l=>G(l.schema,e)?.properties.some(o=>o.name===c.property)===!0))){for(let l of c.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:c.property,value:l.value})}s.push({name:a,property:c.property,members:c.cases.map(l=>l.schemaName)})}}let r=new Map;for(let a of s)a.members.some(i=>t.has(i))||r.set(a.name,E(a.property).python);for(let a of t)n.delete(a);return{pins:n,unions:r}}function _e(e,n,t,s,r,a,i){let c=t.map(o=>o.writeOnly?{...o,required:!1}:o),f=r==="pydantic";f||e.line("@dataclass");let l=f?`class ${v(n)}(BaseModel):`:`class ${v(n)}:`;e.block(l,()=>{e.doc(a),f&&(e.line("model_config = ConfigDict(populate_by_name=True)"),e.blank());let o=[...c.filter(p=>p.required),...c.filter(p=>!p.required)],u=[];o.length===0&&e.line("pass");for(let p of o){let{python:h,renamed:b}=E(p.name);b&&!f&&u.push([h,p.name]);let _=b&&f?`alias=${m.string(p.name)}`:void 0,k=i?.property===p.name?`Literal[${m.literal(i.value)}]`:y(p.schema,s);if(p.required){let S=_===void 0?"":` = Field(${_})`;e.line(`${h}: ${k}${S}`)}else{let S=k.startsWith("Optional[")?k:`Optional[${k}]`,d=_===void 0?"None":`Field(default=None, ${_})`;e.line(`${h}: ${S} = ${d}`)}}if(u.length>0){e.blank(),e.line("# Python field name -> wire (JSON) name, for (de)serialization.");let p=u.map(([h,b])=>`"${h}": ${m.string(b)}`).join(", ");e.line(`_field_map: ClassVar[Dict[str, str]] = {${p}}`)}}),e.blank(),e.blank()}function ne(e,n="string",t="dataclass"){let s=new D,{pins:r,unions:a}=t==="pydantic"?ee(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 i=["Any","AsyncIterator","Dict","Iterator","List","Literal","Optional","Tuple","Union","cast"];t==="dataclass"&&i.splice(2,0,"ClassVar"),a.size>0&&i.unshift("Annotated"),s.line(`from typing import ${i.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 c=new Map;for(let{name:f,schema:l}of e.schemas){let o=ae(l);if(o!==void 0){let u=o.scalar==="string"?"str, Enum":"int, Enum";s.block(`class ${v(f)}(${u}):`,()=>{s.doc(l.description),o.values.forEach((p,h)=>{s.line(`${o.memberNames[h]} = ${m.literal(p)}`)})}),s.blank(),s.blank();continue}if(l.kind==="object"||l.kind==="intersection"){let u=G(l,e);if(u!==void 0){_e(s,f,u.properties,n,t,u.description??l.description,r.get(f));continue}}c.set(f,l)}for(let[f,l]of ge(c)){let o=F(l,e);if(o!==void 0){let h=o.cases.map(b=>`${b.value} -> ${v(b.schemaName)}`).join(", ");s.line(`# Discriminated by "${o.property}": ${h}`)}let u=a.get(f),p=u===void 0?y(l,n):`Annotated[${y(l,n)}, Field(discriminator=${m.string(u)})]`;s.line(`${v(f)} = ${p}`),s.blank()}return s.toString()}function ge(e){let n=[],t=new Set,s=r=>{let a=e.get(r);if(!(a===void 0||t.has(r))){t.add(r);for(let i of Y(a))s(i);n.push([r,a])}};for(let r of e.keys())s(r);return n}function Y(e){return e.kind==="ref"?[e.name]:e.kind==="array"?Y(e.items):e.kind==="record"?Y(e.value):e.kind==="union"?e.members.flatMap(Y):[]}function he(e,n){let t=[];for(let{name:s,schema:r}of e.schemas){if(n.has(s))continue;let a=F(r,e);if(a===void 0)continue;let i=a.cases.map(c=>`${m.string(c.value)}: ${v(c.schemaName)}`).join(", ");t.push(`DISCRIMINATORS[${v(s)}] = (${m.string(a.property)}, {${i}})`)}return t}var cn={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 te(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:x})}.py`}var ln=({model:e,output:n,banner:t,emit:s,options:r,pagination:a})=>{let i=s.errorMode??"throw",c=s.dateType??"string",f=r?.models??"dataclass",l=f==="pydantic"?ee(e):void 0,o=new D;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(f==="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(ne(e,c,f).trimEnd()),o.blank(),o.blank(),ye(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 d of Object.keys(W))o.line(`from ${d.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 d of Object.values(W)){let $=d.split(`
|
|
9
|
+
`).filter(g=>!g.startsWith("from __future__")&&!g.startsWith("from ._")).join(`
|
|
10
|
+
`).trim();o.line($),o.blank()}o.blank()}let u=he(e,new Set(l?.unions.keys()));if(u.length>0){o.line("# Discriminated unions dispatch by their property inside decode().");for(let d of u)o.line(d);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 p=new Map;for(let{op:d,ident:$}of q(e))p.set($,pe(a?.get(d.name)?.spec));o.line("_OPERATIONS: Dict[str, Dict[str, Any]] = {"),o.indent(()=>{for(let{op:d,ident:$}of q(e)){let g={id:d.specName??d.name,method:d.method.toUpperCase(),path:d.path,...Q(d,e).length>0?{security:Q(d,e)}:{},...p.get($)!==void 0?{pagination:p.get($)}:{}};o.line(`"${$}": ${fe(g)},`)}}),o.line("}"),o.blank(),o.blank();let h=s.serverUrl??e.serverUrl??"";Z(o,e,i,!1,p,h,c),Z(o,e,i,!0,p,h,c);let b={path:te(n.path),content:o.toString()};if(s.runtime!=="module")return[b];let _=t.map(d=>`# ${d}`).join(`
|
|
11
|
+
`),k=te(n.path).replace(/[^\\/]+$/,""),S=Object.entries(W).map(([d,$])=>({path:`${k}${d}`,content:`${_}
|
|
12
|
+
|
|
13
|
+
${$.split(`
|
|
14
|
+
`).map(g=>g.startsWith("from ._")?g.replace("from ._","from _"):g).join(`
|
|
15
|
+
`).trim()}
|
|
16
|
+
`}));return[b,...S]};function be(e,n){let t=te(n.outputPath).replace(/^.*[\\/]/,"").replace(/\.py$/,""),s=q(n.model).find(a=>a.op.name===e.name)?.ident??N(e.name,{style:"snake",reserved:x}),r=[...e.pathParams.map(a=>{let i=N(a.name,{style:"snake",reserved:x});return`${i}="<${i}>"`}),...e.queryParams.filter(a=>a.required).map(a=>`${N(a.name,{style:"snake",reserved:x})}=...`),...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 dn=({model:e,output:n,emit:t,pagination:s})=>[{path:n.path.replace(/\.[^.\\/]+$/,".python.md"),content:de(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=>be(r,{model:e,emit:t,outputPath:n.path}),paginated:new Set(s?.keys()??[])})}];export{y as a,ne as b,cn as c,ln as d,be as e,dn as f};
|
|
@@ -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{c as D,d as se,f as oe}from"./
|
|
7
|
+
import{c as D,d as se,f as oe}from"./CJWIDJTB.js";import{a as q,b as ne}from"./VOLUJUI5.js";import{a as re}from"./KFQC57GK.js";import{a as Me}from"./ERBLCNSR.js";import{$ as z,S as Y,Y as I,Z as S,_ as ee,c as Q,da as w,fa as k,la as te}from"./DORXGE7Z.js";import"./NEWT5A6S.js";import{c as X,e as A}from"./RFWIIJFG.js";var ge=X(V=>{"use strict";V.parse=Ie;V.serialize=ze;var $e=Object.prototype.toString,De=Object.prototype.hasOwnProperty,Oe=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,We=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Be=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Fe=/^[\u0020-\u003A\u003D-\u007E]*$/;function Ie(e,r){if(typeof e!="string")throw new TypeError("argument str must be a string");var t={},s=e.length;if(s<2)return t;var n=r&&r.decode||qe,o=0,i=0,a=0;do{if(i=e.indexOf("=",o),i===-1)break;if(a=e.indexOf(";",o),a===-1)a=s;else if(i>a){o=e.lastIndexOf(";",i-1)+1;continue}var c=he(e,o,i),f=ye(e,i,c),p=e.slice(c,f);if(!De.call(t,p)){var u=he(e,i+1,a),m=ye(e,a,u);e.charCodeAt(u)===34&&e.charCodeAt(m-1)===34&&(u++,m--);var l=e.slice(u,m);t[p]=Ne(l,n)}o=a+1}while(o<s);return t}function he(e,r,t){do{var s=e.charCodeAt(r);if(s!==32&&s!==9)return r}while(++r<t);return t}function ye(e,r,t){for(;r>t;){var s=e.charCodeAt(--r);if(s!==32&&s!==9)return r+1}return t}function ze(e,r,t){var s=t&&t.encode||encodeURIComponent;if(typeof s!="function")throw new TypeError("option encode is invalid");if(!Oe.test(e))throw new TypeError("argument name is invalid");var n=s(r);if(!We.test(n))throw new TypeError("argument val is invalid");var o=e+"="+n;if(!t)return o;if(t.maxAge!=null){var i=Math.floor(t.maxAge);if(!isFinite(i))throw new TypeError("option maxAge is invalid");o+="; Max-Age="+i}if(t.domain){if(!Be.test(t.domain))throw new TypeError("option domain is invalid");o+="; Domain="+t.domain}if(t.path){if(!Fe.test(t.path))throw new TypeError("option path is invalid");o+="; Path="+t.path}if(t.expires){var a=t.expires;if(!Ue(a)||isNaN(a.valueOf()))throw new TypeError("option expires is invalid");o+="; Expires="+a.toUTCString()}if(t.httpOnly&&(o+="; HttpOnly"),t.secure&&(o+="; Secure"),t.partitioned&&(o+="; Partitioned"),t.priority){var c=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(c){case"low":o+="; Priority=Low";break;case"medium":o+="; Priority=Medium";break;case"high":o+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var f=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(f){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return o}function qe(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}function Ue(e){return $e.call(e)==="[object Date]"}function Ne(e,r){try{return r(e)}catch{return e}}});var ke=X((wt,P)=>{"use strict";var O={decodeValues:!0,map:!1,silent:!1};function H(e){return typeof e=="string"&&!!e.trim()}function J(e,r){var t=e.split(";").filter(H),s=t.shift(),n=Ve(s),o=n.name,i=n.value;r=r?Object.assign({},O,r):O;try{i=r.decodeValues?decodeURIComponent(i):i}catch(c){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+i+"'. Set options.decodeValues to false to disable this feature.",c)}var a={name:o,value:i};return t.forEach(function(c){var f=c.split("="),p=f.shift().trimLeft().toLowerCase(),u=f.join("=");p==="expires"?a.expires=new Date(u):p==="max-age"?a.maxAge=parseInt(u,10):p==="secure"?a.secure=!0:p==="httponly"?a.httpOnly=!0:p==="samesite"?a.sameSite=u:p==="partitioned"?a.partitioned=!0:a[p]=u}),a}function Ve(e){var r="",t="",s=e.split("=");return s.length>1?(r=s.shift(),t=s.join("=")):t=e,{name:r,value:t}}function be(e,r){if(r=r?Object.assign({},O,r):O,!e)return r.map?{}:[];if(e.headers)if(typeof e.headers.getSetCookie=="function")e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var t=e.headers[Object.keys(e.headers).find(function(n){return n.toLowerCase()==="set-cookie"})];!t&&e.headers.cookie&&!r.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=t}if(Array.isArray(e)||(e=[e]),r.map){var s={};return e.filter(H).reduce(function(n,o){var i=J(o,r);return n[i.name]=i,n},s)}else return e.filter(H).map(function(n){return J(n,r)})}function He(e){if(Array.isArray(e))return e;if(typeof e!="string")return[];var r=[],t=0,s,n,o,i,a;function c(){for(;t<e.length&&/\s/.test(e.charAt(t));)t+=1;return t<e.length}function f(){return n=e.charAt(t),n!=="="&&n!==";"&&n!==","}for(;t<e.length;){for(s=t,a=!1;c();)if(n=e.charAt(t),n===","){for(o=t,t+=1,c(),i=t;t<e.length&&f();)t+=1;t<e.length&&e.charAt(t)==="="?(a=!0,t=i,r.push(e.substring(s,o)),s=t):t=o+1}else t+=1;(!a||t>=e.length)&&r.push(e.substring(s,e.length))}return r}P.exports=be;P.exports.parse=be;P.exports.parseString=J;P.exports.splitCookiesString=He});import{existsSync as Ye,readFileSync as et,writeFileSync as Ae}from"node:fs";import{dirname as tt,basename as rt}from"node:path";function U(e,r){return JSON.stringify(e,(s,n)=>{if(n instanceof ArrayBuffer){if(n.byteLength>1048576)return{__type:"ArrayBuffer",data:`File too large to serialize (${n.byteLength} bytes). Maximum allowed size is 1048576 bytes.`,byteLength:n.byteLength};let o=new Uint8Array(n);return{__type:"ArrayBuffer",data:Buffer.from(o).toString("base64"),byteLength:n.byteLength}}return n instanceof File?{__type:"File",name:n.name||"[File Object]",size:n.size||0,type:n.type||"",lastModified:n.lastModified||0}:n},r)}var ie=A(Me(),1);import*as ae from"node:fs";import*as E from"node:path";function ce(e){if(e){let r=E.dirname(e);for(;r!==E.resolve(r,"..");){let t=E.join(r,".env");if(ae.existsSync(t)){ie.config({path:t});break}r=E.resolve(r,"..")}}return process.env}var C=A(re(),1);function Pe(e,r={}){let{clientCert:t,clientKey:s,caCert:n}=r,o=new URL(e).origin,i=q(),a=i&&!ne(e);if(t&&s&&a)return new C.ProxyAgent({uri:i,requestTls:{key:Buffer.from(s),cert:Buffer.from(t),...n&&{ca:Buffer.from(n)},rejectUnauthorized:!0}});if(t&&s)return new C.Client(o,{connect:{key:Buffer.from(s),cert:Buffer.from(t),...n&&{ca:Buffer.from(n)},rejectUnauthorized:!0}});if(a)return new C.ProxyAgent({uri:i})}function ue(e){if(!q()&&(!e||Object.keys(e).length===0))return fe;let t=new Map;return(s,n)=>{let o=typeof s=="string"?s:s instanceof URL?s.toString():"url"in s?s.url:void 0;if(!o)throw new Error("Invalid input URL");let i=e?je(o,e):void 0,a=new URL(o).origin,c=t.get(a);return c||(c=Pe(o,i)||n?.dispatcher,c&&t.set(a,c)),fe(s,{...n,dispatcher:c})}}function fe(e,r){if(!(r?.body instanceof globalThis.FormData))return(0,C.fetch)(e,r);let t=new C.FormData;for(let[s,n]of r.body)t.append(s,n);return(0,C.fetch)(e,{...r,body:t})}function je(e,r){let t=new URL(e);return r[t.origin]||r[t.hostname]}import*as N from"node:path";function le(e,r){let s=Math.max(...e.map(({file:i})=>N.basename(i).length+40)),n=[{name:"Filename",width:s},{name:"Workflows",width:10},{name:"Passed",width:7},{name:"Failed",width:7},{name:"Warnings",width:8}],o="";o+=`${w(`\u250C${n.map(i=>"\u2500".repeat(i.width+2)).join("\u252C")}\u2510`)}
|
|
8
8
|
`,o+=`${w(`\u2502${n.map(i=>` ${i.name.padEnd(i.width)} `).join("\u2502")}\u2502`)}
|
|
9
9
|
`,o+=`${w(`\u251C${n.map(i=>"\u2500".repeat(i.width+2)).join("\u253C")}\u2524`)}
|
|
10
10
|
`,e.forEach(({file:i,executedWorkflows:a,argv:c})=>{let f=N.basename(i),p=c?.workflow||[],u=c?.skip||[],m=p&&p.length?a.filter(({workflowId:R})=>p.includes(R)):a;m=u&&u.length?m.filter(({workflowId:R})=>!u.includes(R)):m;let{workflows:l}=D(m),d=w(l.total.toString().padEnd(11)),L=S(l.passed.toString().padEnd(8)),y=l.failed>0?I(l.failed.toString().padEnd(8)):w("-".padEnd(8)),b=l.warnings>0?ee(l.warnings.toString().padEnd(9)):w("-".padEnd(9)),j=`${l.failed>0?"x":"\u2713"} ${f}`.padEnd(s+1),B=l.failed>0?I(j):S(j);o+=w("\u2502")+` ${B}`+w("\u2502")+` ${d}`+w("\u2502")+` ${L}`+w("\u2502")+` ${y}`+w("\u2502")+` ${b}`+w("\u2502")+`
|
|
@@ -16,7 +16,7 @@ import{c as D,d as se,f as oe}from"./2NVGTELR.js";import{a as q,b as ne}from"./V
|
|
|
16
16
|
`);if(h._compressed=/^(gzip|compress|deflate|br)$/.test(d.headers.get("content-encoding")||""),h.response.content||(h.response.content={size:-1}),h._compressed){let x=await y.arrayBuffer();h.response.content.size=x.byteLength}else h.response.content.size=b?Buffer.byteLength(b):-1;let Z=b?Buffer.byteLength(b):-1;h.response={headers:M(d.headers),cookies:ve(d.headers),status:d.status,statusText:d.statusText||"",httpVersion:d.httpVersion?`HTTP/${d.httpVersion}`:"HTTP/1.1",redirectURL:d.headers.location||"",content:{size:h._compressed&&h.response.content.size!==-1?h.response.content.size:Buffer.byteLength(b),mimeType:d.headers.get("content-type")||"",text:b,compression:h._compressed&&h.response.content.size!==-1?h.response.content.size-Z:0},bodySize:Z,headersSize:R};let{_timestamps:g}=h;h.timings={blocked:Math.max(v(g.start,g.socket),.01),dns:-1,connect:Math.max(v(g.lookup,g.connect),-1),ssl:g.secureConnect?Math.max(v(g.connect,g.secureConnect),-1):-1,send:v(g.secureConnect||g.connect,g.sent),wait:Math.max(v(g.sent,g.firstByte),0),receive:v(g.firstByte,g.received)},h.time=v(g.start,g.received);let _=[],$=h;do{let x=$._parent;delete $._parent,x&&_.unshift(x),$=x}while($);return m.pageref=i||"page_1",_.forEach(x=>{x.pageref=m.pageref}),d.harEntry=m,Array.isArray(o?.log?.entries)&&o.log.entries.push(..._,m),a&&(_.forEach(x=>{a(x)}),a(m)),d}};function Se(e){let r={};for(let t of e){let{executedWorkflows:s,globalTimeoutError:n,ctx:o,secretValues:i}=t;r[t.file]=oe({value:{totalRequests:t.totalRequests,executedWorkflows:s.map(a=>Te(a)),totalTimeMs:t.totalTimeMs,globalTimeoutError:n,secretValues:i},noSecretsMasking:o.noSecretsMasking,secretsSet:o.secretsSet||new Set})}return r}function Te(e){let{ctx:r,...t}=e,s=e.executedSteps.map(i=>Ge(i,e.workflowId,r)),n=D([e]);return{...t,executedSteps:s,status:n.steps.failed>0?"error":n.steps.warnings>0?"warn":"success",totalRequests:n.totalRequests,totalTimeMs:e.totalTimeMs}}function Ge(e,r,t){if("executedSteps"in e)return Te(e);let s=t.$workflows[r].steps[e.stepId];return{type:"step",stepId:e.stepId,workflowId:r,request:{method:s?.request?.method||"",url:e.response?.requestUrl||"",headers:s?.request?.header||{},body:s?.request?.body},response:{statusCode:e.response?.statusCode||0,body:s?.response?.body,headers:e.response?.header||{},time:e.response?.time||0,size:e.response?.responseSize},checks:e.checks.map(n=>({...n,status:Ze(n)})),totalTimeMs:s?.response?.time||0,retriesLeft:e.retriesLeft,status:Xe(e.checks)}}function Ze(e){return e.passed?"success":e.severity==="error"?"error":"warn"}function Xe(e){let r=!1;for(let t of e){if(!t.passed&&t.severity==="error")return"error";!t.passed&&t.severity==="warn"&&(r=!0)}return r?"warn":"success"}import*as T from"node:fs";import*as Le from"node:path";function Re(e={},r){let t={};for(let[s,n]of Object.entries(e))t[s]={clientCert:G(n.clientCert,r),clientKey:G(n.clientKey,r),caCert:G(n.caCert,r)};return t}function G(e,r){if(e)try{if(!(e.includes("-----BEGIN")&&e.includes("-----END"))){let s=Le.resolve(r,e);return T.accessSync(s,T.constants.R_OK),T.readFileSync(s,"utf-8")}return Qe(e)}catch(t){throw new Error(`Failed to read certificate: ${t.message}`)}}function Qe(e){let r=e.match(/^(-----BEGIN[^-]+-----)\r?\n([A-Za-z0-9+/=\r\n\t ]+)\r?\n(-----END[^-]+-----)/);if(!r)throw new Error("Invalid certificate format");let[,t,s,n]=r,o=s.replace(/\s+/g,"").match(/.{1,64}/g)?.join(`
|
|
17
17
|
`)||"";return`${t}
|
|
18
18
|
${o}
|
|
19
|
-
${n}`}async function Ht({argv:e,config:r,version:t,collectSpecData:s}){let n,o;try{let{run:i,conditionallyMaskSecrets:a}=await import("./
|
|
19
|
+
${n}`}async function Ht({argv:e,config:r,version:t,collectSpecData:s}){let n,o;try{let{run:i,conditionallyMaskSecrets:a}=await import("./XGPGFZMH.js"),c=r.configPath?tt(r.configPath):process.cwd();e.mtls&&(n=Re(e.mtls,c));let f=ue(n);e["har-output"]&&(o=pe({version:t}),f=K(f,{har:o}));let p=new Y({http:{headers:r.resolve?.http?.headers??[],customFetch:f}}),u={files:e.files,input:e.input,server:e.server,workflow:e.workflow,skip:e.skip,verbose:e.verbose,config:r,version:t,collectSpecData:s,severity:e.severity,maxSteps:e["max-steps"],maxFetchTimeout:e["max-fetch-timeout"],executionTimeout:e["execution-timeout"],requestFileLoader:{getFileBody:async y=>{if(!Ye(y))throw new Error(`File ${y} doesn't exist or isn't readable.`);let b=et(y);return new File([b],rt(y))}},envVariables:ce(c)||{},logger:k,fetch:f,externalRefResolver:p,noSecretsMasking:e["no-secrets-masking"]};if(u.skip&&u.workflow)throw new Error("Cannot use both --skip and --workflow flags at the same time.");if(e["har-output"]&&!e["har-output"].endsWith(".har"))throw new Error("File for HAR logs should be in .har format");if(e["json-output"]&&!e["json-output"].endsWith(".json"))throw new Error("File for JSON logs should be in .json format");if(u.files.length>1&&e["har-output"])throw new Error("Currently only a single file can be run with --har-output. Please run a single file at a time.");let m=performance.now(),l=await i(u);k.printNewLine(),le(l,k),k.printNewLine();let d=l.some(y=>y.hasProblems),L=l.some(y=>y.hasWarnings);if(e["json-output"]){let y={files:Se(l),status:d?"error":L?"warn":"success",totalTime:performance.now()-m};Ae(e["json-output"],U(y,2),"utf-8"),k.output(z(k.indent(`JSON logs saved in ${S(e["json-output"])}`,2))),k.printNewLine(),k.printNewLine()}if(e["har-output"])for(let y of l){let b=a({value:o,noSecretsMasking:y.ctx.noSecretsMasking,secretsSet:y.ctx.secretsSet||new Set});Ae(e["har-output"],U(b,2),"utf-8"),k.output(z(`Har logs saved in ${S(e["har-output"])}`)),k.printNewLine(),k.printNewLine()}if(d)throw new Error(" Tests exited with error ")}catch(i){throw new te(i?.message??i)}}export{Ht as handleRespect};
|
|
20
20
|
/*! Bundled license information:
|
|
21
21
|
|
|
22
22
|
cookie/index.js:
|
|
@@ -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"./
|
|
7
|
+
import{a as c}from"./DURXFJ7H.js";import{h as s,l as a}from"./AH6ANNYP.js";import"./KFQC57GK.js";import{Z as t,fa as e,la as i}from"./DORXGE7Z.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";async function y({argv:r,config:l,version:d}){let o=s(l,r.residency);try{let n=new a(d);r.verbose&&(e.info(`OAuth client initialized.
|
|
8
8
|
`),e.info(`Local credentials file path: ${n.credentialsFilePath}
|
|
9
9
|
`)),await n.login(o,c),e.output(t(`\u2705 Logged in
|
|
10
10
|
|
|
@@ -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}from"./
|
|
7
|
+
import{b as s}from"./X7C43UBI.js";import{l as d,n as p,o as l,p as f}from"./AH6ANNYP.js";import"./KFQC57GK.js";import{fa as c,la as o}from"./DORXGE7Z.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import{readFile as E}from"node:fs/promises";var P={APPROVED:"approved",REQUESTED_CHANGES:"changes requested",REVIEW_REQUIRED:"review required"},C={PENDING:"pending",IN_PROGRESS:"pending",SUCCESS:"passed",FAILED:"failed",CANCELLED:"cancelled"};async function D({argv:t,version:e}){let{project:r,branch:n}=await w();if((await s(["rev-parse","--verify","--quiet",`refs/remotes/origin/${n}`],{capture:!0})).code!==0)throw new o(`Push the branch first: \`git push -u origin ${n}\`.`);let i=await l({...r,accessToken:await g(r.reuniteUrl,e),version:e,branch:n,title:t.title??(await s(["log","-1","--format=%s"],{capture:!0})).output,description:await y(t),base:t.base,draft:t.draft}).catch(m);c.output(`${h(r,i.number)}
|
|
8
8
|
`)}async function I({version:t}){let{project:e,branch:r}=await w(),n=await f({...e,accessToken:await g(e.reuniteUrl,t),version:t,branch:r}).catch(m);if(!n)throw new o(`No pull request for \`${r}\`. Open one with \`redocly project pr create\`.`);c.output($(n,h(e,n.pullRequest.number)))}function $({pullRequest:t,checks:e,previewUrl:r},n){let u=t.status==="OPEN"&&t.isDraft?"draft":t.status.toLowerCase(),i=t.reviewDecision?P[t.reviewDecision]:"none";return`${[`#${t.number} ${t.title}`,n,`State: ${u}`,`Review: ${i}`,e.length>0?"Checks:":"Checks: none",...e.map(a=>` ${C[a.state].padEnd(9)} ${a.context}`+(a.description?` - ${a.description}`:"")+(a.targetUrl?` ${a.targetUrl}`:"")),`Preview: ${r??"not ready"}`].join(`
|
|
9
9
|
`)}
|
|
10
10
|
`}async function y({body:t,"body-file":e}){if(e===void 0)return t;if(e==="-"){let r="";for await(let n of process.stdin)r+=n;return r}try{return await E(e,"utf8")}catch(r){throw new o(`Can't read the body file \`${e}\`: ${r.message}`)}}async function w(){let t=await s(["remote","get-url","origin"],{capture:!0}),e=p(t.output);if(!e)throw new o("Run this command in a clone of a Redocly-hosted project. Clone one with `redocly project clone`.");let{output:r}=await s(["branch","--show-current"],{capture:!0});if(!r)throw new o("Check out a branch first.");return{project:e,branch:r}}async function g(t,e){let r=await new d(e).getAccessToken(t);if(!r)throw new o(`You are not logged in to ${t}. Run \`redocly login --residency ${t}\`.`);return r}function h({reuniteUrl:t,organization:e,project:r},n){return`${t}/org/${encodeURIComponent(e)}/project/${encodeURIComponent(r)}/pull-requests/${n}`}function m(t){throw new o(t.message)}export{$ as formatPullRequestStatus,D as handleProjectPrCreate,I as handleProjectPrStatus,y as readBody};
|
|
@@ -4,5 +4,5 @@ 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,e as P,g as L,h as v,i as R,k as V}from"./
|
|
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("./
|
|
7
|
+
import{a as C,e as P,g as L,h as v,i as R,k as V}from"./V34D5CUU.js";import{u as S}from"./CHX7O5AM.js";import{_ as u,c as m,ga as k,t as I}from"./DORXGE7Z.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("./QXBSAWH3.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("./25RSTUQA.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("./W2CABGMW.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,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 x,b as y,c as g,d}from"./
|
|
7
|
+
import{a as x,b as y,c as g,d}from"./L2O63VRM.js";import{b as P,d as h,e as m}from"./DP3T6VZX.js";import{m as v}from"./ACAPGKSR.js";import{join as B}from"node:path";function b(e,t){let n=x(e,"tanstack-query");if(n.length===0)return"";let r=t.pagination??new Map;return[I(n,t,r),...n.some(s=>M(s,r))?[j]:[],...n.filter(y).map(s=>F(s,t.queryKeyPrefix)),S(e,n,r,t.queryKeyPrefix,t.argsStyle),...E(n,r)].join(`
|
|
8
8
|
`)}function p(e,t){if(!y(e))return!1;let n=t.get(e.name);return n===void 0||n.spec.style==="link"?!1:n.spec.style!=="body-link"||e.queryParams.length>0}function M(e,t){return p(e,t)&&t.get(e.name)?.spec.style==="body-link"}var j=`/** The query parameters of a next-page link; a repeated key becomes an array. */
|
|
9
9
|
const nextLinkQuery = (link: string) => {
|
|
10
10
|
const query: Record<string, string | string[]> = {};
|
|
@@ -38,7 +38,7 @@ export const createQueryFactories = (instance: typeof client = client) => ({
|
|
|
38
38
|
initialPageParam: undefined as string | undefined,
|
|
39
39
|
getNextPageParam: (lastPage) => {
|
|
40
40
|
`+u+` },
|
|
41
|
-
})`}let a
|
|
41
|
+
})`}let a=`...(pageParam === undefined ? {} : { ${m(n.param)}: pageParam })`,o=r==="flat"?`{ ...vars, ${a} }`:`{ ...vars, query: { ...vars.query, ${a} } }`;return` ${t.name}InfiniteOptions: (${i}) => infiniteQueryOptions({
|
|
42
42
|
queryKey: [...${t.name}QueryKey(${s}), "infinite"] as const,
|
|
43
43
|
queryFn: ({ pageParam, signal }) => instance.${t.name}(${o}, { ...init, signal, envelope: undefined }),
|
|
44
44
|
`+R(e,t,n,r)+" })"}function R(e,t,n,r){let i=T(n.param),s=r==="flat"?w("vars",n.param):`vars.query?.${i}`;if(n.style==="cursor"){let c=n.hasMore===void 0?"":` if (lastPage${$(n.hasMore)} === false) return undefined;
|