@tronsfey/openapi2cli 1.0.11 → 1.0.12

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/README.md CHANGED
@@ -7,6 +7,45 @@ Two modes in one tool:
7
7
  1. **Generate** — scaffold a fully typed Commander.js CLI project from an OpenAPI 3.x spec
8
8
  2. **Run** — proxy an OpenAPI spec directly from the command line, no code generation needed
9
9
 
10
+ ## Architecture
11
+
12
+ ```mermaid
13
+ flowchart TD
14
+ CLI["CLI Entry · src/index.ts"]
15
+
16
+ CLI -->|"generate"| GEN["generate action"]
17
+ CLI -->|"run"| RUN["run action"]
18
+ CLI -->|"completion"| CMP["completer.ts\nbash / zsh / fish"]
19
+ CLI -->|"__completions"| HID["hidden: dynamic\ngroup & op listing"]
20
+
21
+ GEN --> PARSE["parseOASWithCache()\nsrc/cache.ts"]
22
+ GEN --> ANA["analyzeSchema()\nanalyzer/schema-analyzer.ts"]
23
+ GEN --> GENP["generateProject()\ngenerator/command-generator.ts"]
24
+ GENP --> TMPL["renderTemplate()\ngenerator/template-engine.ts\n+ Handlebars *.hbs"]
25
+
26
+ RUN --> CACHE["parseOASWithCache()\nsrc/cache.ts"]
27
+ RUN --> ANA2["analyzeSchema()"]
28
+ RUN --> PR["proxyRun()\nrunner/proxy-runner.ts"]
29
+
30
+ PR -->|"no op"| LIST["listOperations()"]
31
+ PR -->|"with op"| BOP["buildOperationsProgram()"]
32
+ BOP --> REG["registerOperation()"]
33
+ REG --> EXE["executeOperation()"]
34
+ EXE --> HC["createRuntimeClient()\nrunner/http-client.ts"]
35
+ HC -->|"REST"| AX["axios\n+ timeout + retry\n+ keep-alive"]
36
+ HC -->|"SSE"| SSE["fetch()\n+ AbortController"]
37
+ EXE --> FMT["formatOutput()\nrunner/output.ts"]
38
+ FMT --> OUT["JSON / YAML / Table\n+ JMESPath filter"]
39
+
40
+ CACHE --> DISK["~/.cache/openapi2cli/\nSHA-256 keyed, 1 h TTL"]
41
+ CACHE --> PARSE2["parseOAS()\nparser/oas-parser.ts"]
42
+ PARSE2 --> SP["swagger-parser\n$ref resolution + validation"]
43
+
44
+ ANA --> AUTH["extractAuthConfig()\nauth/auth-provider.ts"]
45
+ HID --> CACHE
46
+ HID --> ANA2
47
+ ```
48
+
10
49
  ## Features
11
50
 
12
51
  - Parse OAS 3.x specs from a **file path or URL** (full `$ref` resolution)
@@ -214,11 +253,13 @@ Completion covers:
214
253
  ```
215
254
  openapi2cli generate [options]
216
255
 
217
- --oas <path|url> Path or URL to the OpenAPI 3.x spec (required)
218
- --name <name> CLI executable name (required)
219
- --output <dir> Output directory (required)
220
- --overwrite Overwrite existing output directory
221
- -h, --help Display help
256
+ --oas <path|url> Path or URL to the OpenAPI 3.x spec (required)
257
+ --name <name> CLI executable name (required)
258
+ --output <dir> Output directory (required)
259
+ --overwrite Overwrite existing output directory
260
+ --no-cache Bypass spec cache (always re-fetch remote specs)
261
+ --cache-ttl <seconds> Cache TTL in seconds (default: 3600)
262
+ -h, --help Display help
222
263
 
223
264
  openapi2cli run [options] [group] [operation] [operation-options]
224
265
 
@@ -229,6 +270,10 @@ openapi2cli run [options] [group] [operation] [operation-options]
229
270
  --basic <user:pass> HTTP Basic credentials
230
271
  --header <Name: Value> Extra header, repeatable
231
272
  --endpoint <url> Override base URL from the spec
273
+ --timeout <ms> Request timeout in milliseconds (default: 30000)
274
+ --retries <n> Max retry attempts for 5xx/network errors (default: 3)
275
+ --no-cache Bypass spec cache (always re-fetch remote specs)
276
+ --cache-ttl <seconds> Cache TTL in seconds (default: 3600)
232
277
  -h, --help Display help
233
278
 
234
279
  Per-operation output flags (after the operation name):
@@ -238,6 +283,36 @@ openapi2cli run [options] [group] [operation] [operation-options]
238
283
  --verbose Print HTTP method + URL to stderr
239
284
  ```
240
285
 
286
+ ### Spec Caching
287
+
288
+ Remote OAS specs are cached in `~/.cache/openapi2cli/` with a 1-hour TTL by default,
289
+ making repeated `run` invocations near-instant after the first load.
290
+
291
+ ```bash
292
+ # Force a fresh fetch (bypass cache)
293
+ openapi2cli run --oas https://api.example.com/openapi.json --no-cache ...
294
+
295
+ # Extend cache TTL to 24 hours
296
+ openapi2cli run --oas https://api.example.com/openapi.json --cache-ttl 86400 ...
297
+ ```
298
+
299
+ ### Stability Flags
300
+
301
+ ```bash
302
+ # Set a 60-second timeout for slow APIs
303
+ openapi2cli run --oas ./spec.yaml --timeout 60000 items list-items
304
+
305
+ # Disable retries (fail immediately on errors)
306
+ openapi2cli run --oas ./spec.yaml --retries 0 items list-items
307
+
308
+ # Aggressive retry for flaky staging environments
309
+ openapi2cli run --oas ./spec.yaml --retries 5 items list-items
310
+ ```
311
+
312
+ Retries use exponential backoff (500 ms → 1 s → 2 s) and only apply to retryable
313
+ errors: network failures (`ECONNREFUSED`, `ETIMEDOUT`, `ECONNRESET`) and HTTP 429, 500,
314
+ 502, 503, 504. Non-retryable 4xx errors (401, 403, 404, 422 …) fail immediately.
315
+
241
316
  ## License
242
317
 
243
318
  MIT
package/README.zh.md CHANGED
@@ -7,6 +7,45 @@
7
7
  1. **generate(生成)** — 将 OpenAPI 3.x 规范脚手架为完整的 TypeScript CLI 项目
8
8
  2. **run(直接代理)** — 无需生成代码,直接在命令行调用 OpenAPI 接口
9
9
 
10
+ ## 架构图
11
+
12
+ ```mermaid
13
+ flowchart TD
14
+ CLI["CLI 入口 · src/index.ts"]
15
+
16
+ CLI -->|"generate"| GEN["generate 动作"]
17
+ CLI -->|"run"| RUN["run 动作"]
18
+ CLI -->|"completion"| CMP["completer.ts\nbash / zsh / fish"]
19
+ CLI -->|"__completions"| HID["隐藏命令:动态\n获取命令组和操作名"]
20
+
21
+ GEN --> PARSE["parseOASWithCache()\nsrc/cache.ts"]
22
+ GEN --> ANA["analyzeSchema()\nanalyzer/schema-analyzer.ts"]
23
+ GEN --> GENP["generateProject()\ngenerator/command-generator.ts"]
24
+ GENP --> TMPL["renderTemplate()\ngenerator/template-engine.ts\n+ Handlebars *.hbs"]
25
+
26
+ RUN --> CACHE["parseOASWithCache()\nsrc/cache.ts"]
27
+ RUN --> ANA2["analyzeSchema()"]
28
+ RUN --> PR["proxyRun()\nrunner/proxy-runner.ts"]
29
+
30
+ PR -->|"无操作名"| LIST["listOperations()"]
31
+ PR -->|"有操作名"| BOP["buildOperationsProgram()"]
32
+ BOP --> REG["registerOperation()"]
33
+ REG --> EXE["executeOperation()"]
34
+ EXE --> HC["createRuntimeClient()\nrunner/http-client.ts"]
35
+ HC -->|"REST"| AX["axios\n+ 超时 + 重试\n+ keep-alive"]
36
+ HC -->|"SSE"| SSE["fetch()\n+ AbortController"]
37
+ EXE --> FMT["formatOutput()\nrunner/output.ts"]
38
+ FMT --> OUT["JSON / YAML / 表格\n+ JMESPath 过滤"]
39
+
40
+ CACHE --> DISK["~/.cache/openapi2cli/\nSHA-256 键,1 小时 TTL"]
41
+ CACHE --> PARSE2["parseOAS()\nparser/oas-parser.ts"]
42
+ PARSE2 --> SP["swagger-parser\n$ref 解析 + 校验"]
43
+
44
+ ANA --> AUTH["extractAuthConfig()\nauth/auth-provider.ts"]
45
+ HID --> CACHE
46
+ HID --> ANA2
47
+ ```
48
+
10
49
  ## 功能特性
11
50
 
12
51
  - 支持从**文件路径或 URL** 解析 OAS 3.x 规范(完整 `$ref` 解析)
@@ -213,11 +252,13 @@ openapi2cli completion fish > ~/.config/fish/completions/openapi2cli.fish
213
252
  ```
214
253
  openapi2cli generate [options]
215
254
 
216
- --oas <path|url> OpenAPI 3.x 规范的文件路径或 URL(必填)
217
- --name <name> CLI 可执行文件名称(必填)
218
- --output <dir> 输出目录(必填)
219
- --overwrite 覆盖已存在的输出目录
220
- -h, --help 显示帮助信息
255
+ --oas <path|url> OpenAPI 3.x 规范的文件路径或 URL(必填)
256
+ --name <name> CLI 可执行文件名称(必填)
257
+ --output <dir> 输出目录(必填)
258
+ --overwrite 覆盖已存在的输出目录
259
+ --no-cache 跳过规范缓存(始终重新拉取远端规范)
260
+ --cache-ttl <seconds> 缓存 TTL(秒),默认 3600
261
+ -h, --help 显示帮助信息
221
262
 
222
263
  openapi2cli run [options] [group] [operation] [operation-options]
223
264
 
@@ -228,6 +269,10 @@ openapi2cli run [options] [group] [operation] [operation-options]
228
269
  --basic <user:pass> HTTP Basic 凭证
229
270
  --header <Name: Value> 自定义请求头,可多次指定
230
271
  --endpoint <url> 覆盖规范中的 Base URL
272
+ --timeout <ms> 请求超时(毫秒),默认 30000
273
+ --retries <n> 5xx/网络错误的最大重试次数,默认 3
274
+ --no-cache 跳过规范缓存(始终重新拉取远端规范)
275
+ --cache-ttl <seconds> 缓存 TTL(秒),默认 3600
231
276
  -h, --help 显示帮助信息
232
277
 
233
278
  操作级输出选项(在操作名称之后指定):
@@ -237,6 +282,33 @@ openapi2cli run [options] [group] [operation] [operation-options]
237
282
  --verbose 向 stderr 打印 HTTP 方法和 URL
238
283
  ```
239
284
 
285
+ ### 规范缓存
286
+
287
+ 远端 OAS 规范默认缓存到 `~/.cache/openapi2cli/`,TTL 1 小时。
288
+ 首次加载后,后续调用几乎无延迟。
289
+
290
+ ```bash
291
+ # 强制重新拉取(跳过缓存)
292
+ openapi2cli run --oas https://api.example.com/openapi.json --no-cache ...
293
+
294
+ # 延长缓存到 24 小时
295
+ openapi2cli run --oas https://api.example.com/openapi.json --cache-ttl 86400 ...
296
+ ```
297
+
298
+ ### 稳定性选项
299
+
300
+ ```bash
301
+ # 为慢速 API 设置 60 秒超时
302
+ openapi2cli run --oas ./spec.yaml --timeout 60000 items list-items
303
+
304
+ # 禁用重试(出错立即失败)
305
+ openapi2cli run --oas ./spec.yaml --retries 0 items list-items
306
+ ```
307
+
308
+ 重试使用指数退避(500 ms → 1 s → 2 s),仅对可重试错误生效:
309
+ 网络故障(`ECONNREFUSED`、`ETIMEDOUT`、`ECONNRESET`)及 HTTP 429、500、502、503、504。
310
+ 非可重试的 4xx 错误(401、403、404、422 等)立即失败。
311
+
240
312
  ## 许可证
241
313
 
242
314
  MIT
@@ -0,0 +1,23 @@
1
+ /**
2
+ * OAS Spec Caching — src/cache.ts
3
+ *
4
+ * Wraps parseOAS() with a disk-based cache in ~/.cache/openapi2cli/.
5
+ * Only remote URLs are cached (local files are cheap to read directly).
6
+ * Cache keys are SHA-256 hashes of the input URL.
7
+ * TTL: configurable, default 3600 seconds (1 hour).
8
+ */
9
+ import { OpenAPIV3 } from 'openapi-types';
10
+ /**
11
+ * Parse an OpenAPI spec with optional disk caching.
12
+ *
13
+ * - Local file paths: always calls parseOAS() directly (never cached).
14
+ * - Remote URLs: checks ~/.cache/openapi2cli/<sha256>.json first;
15
+ * re-fetches if the file is older than ttlMs or noCache is true.
16
+ */
17
+ export declare function parseOASWithCache(input: string, opts?: {
18
+ noCache?: boolean;
19
+ ttlMs?: number;
20
+ }): Promise<OpenAPIV3.Document>;
21
+ /** Remove all cached specs (useful for `--no-cache` debug workflows). */
22
+ export declare function clearCache(): Promise<void>;
23
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAc1C;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CA4B7B;AAED,yEAAyE;AACzE,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhD"}
package/dist/cache.js ADDED
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * OAS Spec Caching — src/cache.ts
4
+ *
5
+ * Wraps parseOAS() with a disk-based cache in ~/.cache/openapi2cli/.
6
+ * Only remote URLs are cached (local files are cheap to read directly).
7
+ * Cache keys are SHA-256 hashes of the input URL.
8
+ * TTL: configurable, default 3600 seconds (1 hour).
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.parseOASWithCache = parseOASWithCache;
45
+ exports.clearCache = clearCache;
46
+ const crypto = __importStar(require("crypto"));
47
+ const os = __importStar(require("os"));
48
+ const path = __importStar(require("path"));
49
+ const fse = __importStar(require("fs-extra"));
50
+ const oas_parser_1 = require("./parser/oas-parser");
51
+ const CACHE_DIR = path.join(os.homedir(), '.cache', 'openapi2cli');
52
+ const DEFAULT_TTL_MS = 3600000; // 1 hour
53
+ function cacheKey(input) {
54
+ return crypto.createHash('sha256').update(input).digest('hex');
55
+ }
56
+ function cacheFile(input) {
57
+ return path.join(CACHE_DIR, `${cacheKey(input)}.json`);
58
+ }
59
+ /**
60
+ * Parse an OpenAPI spec with optional disk caching.
61
+ *
62
+ * - Local file paths: always calls parseOAS() directly (never cached).
63
+ * - Remote URLs: checks ~/.cache/openapi2cli/<sha256>.json first;
64
+ * re-fetches if the file is older than ttlMs or noCache is true.
65
+ */
66
+ async function parseOASWithCache(input, opts = {}) {
67
+ const isUrl = /^https?:\/\//.test(input);
68
+ // Local files: skip cache entirely
69
+ if (!isUrl)
70
+ return (0, oas_parser_1.parseOAS)(input);
71
+ const ttl = opts.ttlMs ?? DEFAULT_TTL_MS;
72
+ const file = cacheFile(input);
73
+ if (!opts.noCache) {
74
+ try {
75
+ const stat = await fse.stat(file);
76
+ if (Date.now() - stat.mtimeMs < ttl) {
77
+ return (await fse.readJSON(file));
78
+ }
79
+ }
80
+ catch {
81
+ // File does not exist or is unreadable — proceed to fetch
82
+ }
83
+ }
84
+ const doc = await (0, oas_parser_1.parseOAS)(input);
85
+ try {
86
+ await fse.ensureDir(CACHE_DIR);
87
+ await fse.writeJSON(file, doc);
88
+ }
89
+ catch {
90
+ // Cache write failure is non-fatal — proceed with the parsed doc
91
+ }
92
+ return doc;
93
+ }
94
+ /** Remove all cached specs (useful for `--no-cache` debug workflows). */
95
+ async function clearCache() {
96
+ await fse.emptyDir(CACHE_DIR);
97
+ }
98
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BH,8CA+BC;AAGD,gCAEC;AA7DD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAgC;AAEhC,oDAA+C;AAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACnE,MAAM,cAAc,GAAG,OAAS,CAAC,CAAC,SAAS;AAE3C,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,OAA8C,EAAE;IAEhD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzC,mCAAmC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;IACzC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;gBACpC,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAuB,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yEAAyE;AAClE,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC"}
package/dist/index.js CHANGED
@@ -42,16 +42,17 @@ const chalk_1 = __importDefault(require("chalk"));
42
42
  const ora_1 = __importDefault(require("ora"));
43
43
  const fse = __importStar(require("fs-extra"));
44
44
  const path = __importStar(require("path"));
45
- const oas_parser_1 = require("./parser/oas-parser");
45
+ const cache_1 = require("./cache");
46
46
  const schema_analyzer_1 = require("./analyzer/schema-analyzer");
47
47
  const command_generator_1 = require("./generator/command-generator");
48
48
  const proxy_runner_1 = require("./runner/proxy-runner");
49
49
  const completer_1 = require("./completer");
50
+ const package_json_1 = require("../package.json");
50
51
  const program = new commander_1.Command();
51
52
  program
52
53
  .name('openapi2cli')
53
54
  .description('Generate a typed CLI from an OpenAPI 3.x specification, or proxy one directly')
54
- .version('1.0.0')
55
+ .version(package_json_1.version)
55
56
  .enablePositionalOptions(true);
56
57
  // ─── generate ────────────────────────────────────────────────────────────────
57
58
  program
@@ -61,6 +62,8 @@ program
61
62
  .requiredOption('--name <cli-name>', 'Name for the generated CLI tool')
62
63
  .requiredOption('--output <dir>', 'Output directory for the generated project')
63
64
  .option('--overwrite', 'Overwrite output directory if it exists', false)
65
+ .option('--no-cache', 'Bypass spec cache (always re-fetch remote specs)')
66
+ .option('--cache-ttl <seconds>', 'Remote spec cache TTL in seconds', parseInt, 3600)
64
67
  .action(async (opts) => {
65
68
  await generate(opts);
66
69
  });
@@ -75,11 +78,17 @@ program
75
78
  .option('--basic <credentials>', 'HTTP Basic credentials (user:password)')
76
79
  .option('--header <header>', 'Extra HTTP header "Name: Value" (repeatable)', collect, [])
77
80
  .option('--endpoint <url>', 'Override base URL from the spec')
81
+ .option('--timeout <ms>', 'Request timeout in milliseconds', parseInt, 30000)
82
+ .option('--retries <n>', 'Max retry attempts for 5xx/network errors', parseInt, 3)
83
+ .option('--no-cache', 'Bypass spec cache (always re-fetch remote specs)')
84
+ .option('--cache-ttl <seconds>', 'Remote spec cache TTL in seconds', parseInt, 3600)
78
85
  .allowUnknownOption(true)
79
86
  .passThroughOptions(true)
80
87
  .action(async function (opts) {
88
+ // Commander uses `cache: false` when user passes --no-cache
89
+ const proxyOpts = { ...opts, noCache: opts.cache === false };
81
90
  const remaining = this.args;
82
- await (0, proxy_runner_1.proxyRun)(opts, remaining);
91
+ await (0, proxy_runner_1.proxyRun)(proxyOpts, remaining);
83
92
  });
84
93
  // ─── completion ──────────────────────────────────────────────────────────────
85
94
  program
@@ -112,7 +121,8 @@ program
112
121
  if (!opts.oas)
113
122
  return;
114
123
  try {
115
- const api = await (0, oas_parser_1.parseOAS)(opts.oas);
124
+ // Use cache with a generous TTL so completions are fast
125
+ const api = await (0, cache_1.parseOASWithCache)(opts.oas, { ttlMs: 3600000 });
116
126
  const structure = (0, schema_analyzer_1.analyzeSchema)(api, '_proxy_');
117
127
  if (opts.group) {
118
128
  const g = structure.groups.find(gr => gr.name === opts.group);
@@ -155,7 +165,10 @@ async function generate(opts) {
155
165
  const parseSpinner = (0, ora_1.default)('Parsing OpenAPI spec...').start();
156
166
  let api;
157
167
  try {
158
- api = await (0, oas_parser_1.parseOAS)(opts.oas);
168
+ api = await (0, cache_1.parseOASWithCache)(opts.oas, {
169
+ noCache: opts.cache === false,
170
+ ttlMs: opts.cacheTtl * 1000,
171
+ });
159
172
  parseSpinner.succeed(chalk_1.default.green(`Parsed: ${api.info.title} v${api.info.version}`));
160
173
  }
161
174
  catch (err) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,8CAAgC;AAChC,2CAA6B;AAC7B,oDAA+C;AAC/C,gEAA2D;AAC3D,qEAAgE;AAEhE,wDAA4D;AAC5D,2CAAoG;AAEpG,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,+EAA+E,CAAC;KAC5F,OAAO,CAAC,OAAO,CAAC;KAChB,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEjC,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,0DAA0D,CAAC;KACvE,cAAc,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;KAC7E,cAAc,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;KACtE,cAAc,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;KAC9E,MAAM,CAAC,aAAa,EAAE,yCAAyC,EAAE,KAAK,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,IAAwC,EAAE,EAAE;IACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACpC,WAAW,CAAC,2DAA2D,CAAC;KACxE,cAAc,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;KAC7E,MAAM,CAAC,kBAAkB,EAAE,gDAAgD,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC1C,MAAM,CAAC,2BAA2B,EAAE,8CAA8C,EAAE,WAAW,CAAC;KAChG,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,OAAO,EAAE,EAAE,CAAC;KACxF,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;KAC7D,kBAAkB,CAAC,IAAI,CAAC;KACxB,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,KAAK,WAA0B,IAAe;IACpD,MAAM,SAAS,GAAa,IAAI,CAAC,IAAI,CAAC;IACtC,MAAM,IAAA,uBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,CAAC,KAAyB,EAAE,EAAE;IACpC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,kCAAsB,GAAE,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,iCAAqB,GAAE,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,kCAAsB,GAAE,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC1C,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC;KACzD,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,wCAAwC,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,IAAsD,EAAE,EAAE;IACvE,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,OAAO;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAA,+BAAa,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1E,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACpD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,SAAS,OAAO,CAAC,GAAW,EAAE,GAAa;IACzC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAwC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,oCAAoC,SAAS,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,aAAG,EAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,qBAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,YAAY,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAClD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,+BAAa,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG;QACd,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,mBAAmB,CAAC,CAAC,CAAC,EAAE;QACtD,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,cAAc,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IAExD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9D,IAAI,KAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,IAAA,mCAAe,EAAC,SAAS,CAAC,CAAC;QACzC,UAAU,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACpD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,aAAG,EAAC,cAAc,SAAS,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ export interface RuntimeAuth {
5
5
  basic?: string;
6
6
  extraHeaders?: Record<string, string>;
7
7
  }
8
+ export interface RuntimeClientOptions {
9
+ /** Request timeout in milliseconds. Default: 30 000 ms. */
10
+ timeout?: number;
11
+ /** Maximum number of retry attempts for retryable errors. Default: 3. */
12
+ maxRetries?: number;
13
+ }
8
14
  export interface RequestOptions {
9
15
  method: string;
10
16
  path: string;
@@ -14,8 +20,8 @@ export interface RequestOptions {
14
20
  verbose?: boolean;
15
21
  allPages?: boolean;
16
22
  }
17
- export declare function createRuntimeClient(baseURL: string, auth: RuntimeAuth): {
18
- request({ method, path, pathParams, queryParams, body, verbose, allPages }: RequestOptions): Promise<unknown>;
19
- requestStream({ method, path, pathParams, queryParams, body, verbose }: RequestOptions): AsyncGenerator<string, void, unknown>;
23
+ export declare function createRuntimeClient(baseURL: string, auth: RuntimeAuth, options?: RuntimeClientOptions): {
24
+ request({ method, path, pathParams, queryParams, body, verbose, allPages, }: RequestOptions): Promise<unknown>;
25
+ requestStream({ method, path, pathParams, queryParams, body, verbose, }: RequestOptions): AsyncGenerator<string, void, unknown>;
20
26
  };
21
27
  //# sourceMappingURL=http-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runner/http-client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;gFAIgB,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;4EAwCpC,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;EA8BxI"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runner/http-client.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAqED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,oBAAyB;iFAgB7B,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;6EAgDjC,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;EAuC5D"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,7 +39,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.createRuntimeClient = createRuntimeClient;
7
40
  const axios_1 = __importDefault(require("axios"));
8
41
  const chalk_1 = __importDefault(require("chalk"));
42
+ const http = __importStar(require("http"));
43
+ const https = __importStar(require("https"));
9
44
  const stream_1 = require("eventsource-parser/stream");
45
+ // Status codes that warrant a retry
46
+ const RETRYABLE_STATUS = new Set([429, 500, 502, 503, 504]);
47
+ // Node.js error codes that warrant a retry
48
+ const RETRYABLE_CODES = new Set([
49
+ 'ECONNREFUSED', 'ETIMEDOUT', 'ENOTFOUND', 'ECONNRESET', 'EPIPE',
50
+ ]);
51
+ function sleep(ms) {
52
+ return new Promise((r) => setTimeout(r, ms));
53
+ }
54
+ async function withRetry(fn, maxRetries) {
55
+ for (let attempt = 0;; attempt++) {
56
+ try {
57
+ return await fn();
58
+ }
59
+ catch (err) {
60
+ const axErr = err;
61
+ const status = axErr.response?.status;
62
+ const code = axErr.code;
63
+ const isRetryable = (status !== undefined && RETRYABLE_STATUS.has(status)) ||
64
+ (code !== undefined && RETRYABLE_CODES.has(code));
65
+ if (!isRetryable || attempt >= maxRetries)
66
+ throw err;
67
+ // Exponential backoff: 500 ms, 1 000 ms, 2 000 ms, …
68
+ await sleep(500 * Math.pow(2, attempt));
69
+ }
70
+ }
71
+ }
10
72
  function buildAuthHeaders(auth) {
11
73
  const headers = {};
12
74
  if (auth.bearer) {
@@ -41,10 +103,21 @@ function parseLinkNext(linkHeader) {
41
103
  }
42
104
  return null;
43
105
  }
44
- function createRuntimeClient(baseURL, auth) {
45
- const instance = axios_1.default.create({ baseURL, proxy: false });
106
+ // Shared keep-alive agents so connections are reused across paginated requests.
107
+ const sharedHttpAgent = new http.Agent({ keepAlive: true });
108
+ const sharedHttpsAgent = new https.Agent({ keepAlive: true });
109
+ function createRuntimeClient(baseURL, auth, options = {}) {
110
+ const timeout = options.timeout ?? 30000;
111
+ const maxRetries = options.maxRetries ?? 3;
112
+ const instance = axios_1.default.create({
113
+ baseURL,
114
+ proxy: false,
115
+ timeout,
116
+ httpAgent: sharedHttpAgent,
117
+ httpsAgent: sharedHttpsAgent,
118
+ });
46
119
  return {
47
- async request({ method, path, pathParams, queryParams, body, verbose, allPages }) {
120
+ async request({ method, path, pathParams, queryParams, body, verbose, allPages, }) {
48
121
  const url = buildUrl(path, pathParams);
49
122
  const authHeaders = buildAuthHeaders(auth);
50
123
  const config = {
@@ -68,7 +141,7 @@ function createRuntimeClient(baseURL, auth) {
68
141
  ? { ...config }
69
142
  : { method, url: nextUrl, headers: authHeaders };
70
143
  isFirst = false;
71
- const response = await instance.request(pageConfig);
144
+ const response = await withRetry(() => instance.request(pageConfig), maxRetries);
72
145
  if (verbose)
73
146
  console.error(chalk_1.default.dim('←'), chalk_1.default.bold(String(response.status)), response.statusText);
74
147
  const data = response.data;
@@ -80,23 +153,32 @@ function createRuntimeClient(baseURL, auth) {
80
153
  }
81
154
  return results;
82
155
  }
83
- const response = await instance.request(config);
156
+ const response = await withRetry(() => instance.request(config), maxRetries);
84
157
  if (verbose)
85
158
  console.error(chalk_1.default.dim('←'), chalk_1.default.bold(String(response.status)), response.statusText);
86
159
  return response.data;
87
160
  },
88
- async *requestStream({ method, path, pathParams, queryParams, body, verbose }) {
161
+ async *requestStream({ method, path, pathParams, queryParams, body, verbose, }) {
89
162
  const url = buildUrl(path, pathParams);
90
163
  const qs = new URLSearchParams(queryParams).toString();
91
164
  const fullUrl = baseURL + url + (qs ? `?${qs}` : '');
92
165
  const authHeaders = buildAuthHeaders(auth);
93
166
  if (verbose)
94
167
  console.error(chalk_1.default.dim('→ SSE'), chalk_1.default.bold(method.toUpperCase()), fullUrl);
95
- const response = await fetch(fullUrl, {
96
- method,
97
- headers: { Accept: 'text/event-stream', 'Cache-Control': 'no-cache', ...authHeaders },
98
- body: body !== undefined ? JSON.stringify(body) : undefined,
99
- });
168
+ const controller = new AbortController();
169
+ const timer = setTimeout(() => controller.abort(), timeout);
170
+ let response;
171
+ try {
172
+ response = await fetch(fullUrl, {
173
+ method,
174
+ headers: { Accept: 'text/event-stream', 'Cache-Control': 'no-cache', ...authHeaders },
175
+ body: body !== undefined ? JSON.stringify(body) : undefined,
176
+ signal: controller.signal,
177
+ });
178
+ }
179
+ finally {
180
+ clearTimeout(timer);
181
+ }
100
182
  if (!response.ok)
101
183
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
102
184
  if (!response.body)
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/runner/http-client.ts"],"names":[],"mappings":";;;;;AAsDA,kDA0EC;AAhID,kDAAgF;AAChF,kDAA0B;AAC1B,sDAAoE;AAoBpE,SAAS,gBAAgB,CAAC,IAAiB;IACzC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1D,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,YAAoB,EAAE,UAAkC;IACxE,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QAClF,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,UAA8B;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACpD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAe,EAAE,IAAiB;IACpE,MAAM,QAAQ,GAAkB,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAExE,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAkB;YAC9F,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAuB;gBACjC,MAAM;gBACN,GAAG;gBACH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACjE,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,WAAW;aACrB,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;gBAC/E,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAc,EAAE,CAAC;gBAC9B,IAAI,OAAO,GAAkB,GAAG,CAAC;gBACjC,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,OAAO,OAAO,EAAE,CAAC;oBACf,MAAM,UAAU,GAAuB,OAAO;wBAC5C,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE;wBACf,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;oBACnD,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM,QAAQ,GAAkB,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACnE,IAAI,OAAO;wBAAE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACrG,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;wBAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,QAAQ,GAAkB,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrG,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAkB;YAC3F,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAE1F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM;gBACN,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE;gBACrF,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,OAAO;YAE3B,IAAI,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAEzG,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI;iBAC9B,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;iBACpC,WAAW,CAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC;YAE9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1C,MAAM,KAAK,CAAC,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/runner/http-client.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ export interface ProxyOpts {
6
6
  basic?: string;
7
7
  header?: string[];
8
8
  endpoint?: string;
9
+ timeout?: number;
10
+ retries?: number;
11
+ noCache?: boolean;
12
+ cacheTtl?: number;
9
13
  }
10
14
  export declare function proxyRun(proxyOpts: ProxyOpts, remainingArgs: string[]): Promise<void>;
11
15
  //# sourceMappingURL=proxy-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-runner.d.ts","sourceRoot":"","sources":["../../src/runner/proxy-runner.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4LD,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
1
+ {"version":3,"file":"proxy-runner.d.ts","sourceRoot":"","sources":["../../src/runner/proxy-runner.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmPD,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAwDf"}
@@ -42,7 +42,7 @@ const chalk_1 = __importDefault(require("chalk"));
42
42
  const lodash_1 = __importDefault(require("lodash"));
43
43
  const fse = __importStar(require("fs-extra"));
44
44
  const path = __importStar(require("path"));
45
- const oas_parser_1 = require("../parser/oas-parser");
45
+ const cache_1 = require("../cache");
46
46
  const schema_analyzer_1 = require("../analyzer/schema-analyzer");
47
47
  const http_client_1 = require("./http-client");
48
48
  const output_1 = require("./output");
@@ -62,8 +62,43 @@ function parseExtraHeaders(headers) {
62
62
  function optsKey(flagName) {
63
63
  return lodash_1.default.camelCase(flagName);
64
64
  }
65
+ // Format an HTTP or network error with contextual hints.
66
+ function formatHttpError(err, method, fullUrl) {
67
+ const axErr = err;
68
+ if (axErr.response) {
69
+ const { status, statusText, data } = axErr.response;
70
+ console.error(chalk_1.default.red(`[HTTP ${status} ${statusText}]`), chalk_1.default.dim(`${method.toUpperCase()} ${fullUrl}`));
71
+ if (status === 401 || status === 403) {
72
+ console.error(chalk_1.default.yellow(' → Check your --bearer / --api-key / --basic credentials'));
73
+ }
74
+ else if (status === 404) {
75
+ console.error(chalk_1.default.yellow(' → Endpoint not found — verify the operation name and path params'));
76
+ }
77
+ else if (status >= 500) {
78
+ console.error(chalk_1.default.yellow(' → Server error — the API returned a 5xx response'));
79
+ }
80
+ if (data) {
81
+ console.error(chalk_1.default.dim(JSON.stringify(data, null, 2)));
82
+ }
83
+ }
84
+ else if (axErr.name === 'AbortError' || axErr.code === 'ETIMEDOUT') {
85
+ console.error(chalk_1.default.red('[Timeout]'), chalk_1.default.dim(`${method.toUpperCase()} ${fullUrl}`));
86
+ console.error(chalk_1.default.yellow(' → Request timed out — use --timeout <ms> to increase the limit'));
87
+ }
88
+ else if (axErr.code === 'ECONNREFUSED') {
89
+ console.error(chalk_1.default.red('[Connection Refused]'), chalk_1.default.dim(`${method.toUpperCase()} ${fullUrl}`));
90
+ console.error(chalk_1.default.yellow(' → Is the API server running and reachable?'));
91
+ }
92
+ else if (axErr.code === 'ENOTFOUND') {
93
+ console.error(chalk_1.default.red('[DNS Error]'), chalk_1.default.dim(`${method.toUpperCase()} ${fullUrl}`));
94
+ console.error(chalk_1.default.yellow(' → Hostname not found — check the --endpoint URL or spec server URL'));
95
+ }
96
+ else {
97
+ console.error(chalk_1.default.red('[Error]'), axErr.message ?? String(err));
98
+ }
99
+ }
65
100
  // Build and execute the HTTP call for a matched operation.
66
- async function executeOperation(sub, opts, client) {
101
+ async function executeOperation(sub, opts, client, baseURL) {
67
102
  const verbose = opts['verbose'] ?? false;
68
103
  const format = opts['format'] ?? 'json';
69
104
  const query = opts['query'];
@@ -82,6 +117,9 @@ async function executeOperation(sub, opts, client) {
82
117
  queryParams[param.name] = String(val);
83
118
  }
84
119
  }
120
+ // Build the full URL for error messages (best effort)
121
+ const resolvedPath = sub.path.replace(/\{(\w+)\}/g, (_, k) => pathParams[k] ?? `{${k}}`);
122
+ const fullUrl = baseURL.replace(/\/$/, '') + resolvedPath;
85
123
  // --data raw override: short-circuit individual body field options
86
124
  if (opts['data'] !== undefined) {
87
125
  const rawData = opts['data'];
@@ -121,9 +159,11 @@ async function executeOperation(sub, opts, client) {
121
159
  else {
122
160
  (0, output_1.formatOutput)(await client.request({ method: sub.method, path: sub.path, pathParams, queryParams, body, verbose, allPages }), format, query);
123
161
  }
162
+ return;
163
+ void fullUrl; // used in catch handler below — suppress unused warning if needed
124
164
  }
125
165
  // Register one operation as a Commander subcommand on `parent`.
126
- function registerOperation(parent, sub, client) {
166
+ function registerOperation(parent, sub, client, baseURL) {
127
167
  const cmd = new commander_1.Command(sub.name).description(sub.description);
128
168
  for (const alias of sub.aliases ?? []) {
129
169
  cmd.alias(alias);
@@ -146,27 +186,28 @@ function registerOperation(parent, sub, client) {
146
186
  cmd.option('--query <expr>', 'JMESPath expression to filter the response');
147
187
  cmd.option('--all-pages', 'Auto-paginate via Link rel="next" headers', false);
148
188
  cmd.action(async (opts) => {
189
+ // Reconstruct the full URL for error reporting
190
+ const pathParams = {};
191
+ for (const param of sub.parameters.filter(p => p.in === 'path')) {
192
+ const key = optsKey(lodash_1.default.kebabCase(param.name));
193
+ const val = opts[key];
194
+ if (val !== undefined && val !== null)
195
+ pathParams[param.name] = String(val);
196
+ }
197
+ const resolvedPath = sub.path.replace(/\{(\w+)\}/g, (_, k) => pathParams[k] ?? `{${k}}`);
198
+ const fullUrl = baseURL.replace(/\/$/, '') + resolvedPath;
149
199
  try {
150
- await executeOperation(sub, opts, client);
200
+ await executeOperation(sub, opts, client, baseURL);
151
201
  }
152
202
  catch (err) {
153
- const axiosErr = err;
154
- if (axiosErr.response) {
155
- console.error(chalk_1.default.red(`HTTP ${axiosErr.response.status}:`), axiosErr.response.statusText);
156
- if (axiosErr.response.data) {
157
- console.error(chalk_1.default.dim(JSON.stringify(axiosErr.response.data, null, 2)));
158
- }
159
- }
160
- else {
161
- console.error(chalk_1.default.red('Error:'), err.message);
162
- }
203
+ formatHttpError(err, sub.method, fullUrl);
163
204
  process.exit(1);
164
205
  }
165
206
  });
166
207
  parent.addCommand(cmd);
167
208
  }
168
209
  // Build a Commander program with all operations from the analyzed structure.
169
- function buildOperationsProgram(structure, client) {
210
+ function buildOperationsProgram(structure, client, baseURL) {
170
211
  const prog = new commander_1.Command()
171
212
  .name('run')
172
213
  .description(structure.description || `API proxy for OpenAPI spec`);
@@ -177,12 +218,12 @@ function buildOperationsProgram(structure, client) {
177
218
  .description(group.description)
178
219
  .exitOverride();
179
220
  for (const sub of group.subcommands) {
180
- registerOperation(groupCmd, sub, client);
221
+ registerOperation(groupCmd, sub, client, baseURL);
181
222
  }
182
223
  prog.addCommand(groupCmd);
183
224
  }
184
225
  for (const sub of structure.flatCommands) {
185
- registerOperation(prog, sub, client);
226
+ registerOperation(prog, sub, client, baseURL);
186
227
  }
187
228
  return prog;
188
229
  }
@@ -213,10 +254,17 @@ async function proxyRun(proxyOpts, remainingArgs) {
213
254
  // Load and analyse the spec (name is irrelevant in proxy mode)
214
255
  let api;
215
256
  try {
216
- api = await (0, oas_parser_1.parseOAS)(proxyOpts.oas);
257
+ api = await (0, cache_1.parseOASWithCache)(proxyOpts.oas, {
258
+ noCache: proxyOpts.noCache,
259
+ ttlMs: (proxyOpts.cacheTtl ?? 3600) * 1000,
260
+ });
217
261
  }
218
262
  catch (err) {
219
- console.error(chalk_1.default.red('Failed to load spec:'), err.message);
263
+ const msg = err.message;
264
+ console.error(chalk_1.default.red('Failed to load spec:'), msg);
265
+ if (/ENOTFOUND|ECONNREFUSED/.test(msg)) {
266
+ console.error(chalk_1.default.yellow(' → Is the spec URL reachable? Try --no-cache to force a fresh fetch.'));
267
+ }
220
268
  process.exit(1);
221
269
  }
222
270
  const structure = (0, schema_analyzer_1.analyzeSchema)(api, '_proxy_');
@@ -228,13 +276,17 @@ async function proxyRun(proxyOpts, remainingArgs) {
228
276
  basic: proxyOpts.basic,
229
277
  extraHeaders: parseExtraHeaders(proxyOpts.header),
230
278
  };
231
- const client = (0, http_client_1.createRuntimeClient)(baseURL, auth);
279
+ const clientOpts = {
280
+ timeout: proxyOpts.timeout ?? 30000,
281
+ maxRetries: proxyOpts.retries ?? 3,
282
+ };
283
+ const client = (0, http_client_1.createRuntimeClient)(baseURL, auth, clientOpts);
232
284
  // No operation given → show available commands
233
285
  if (remainingArgs.length === 0) {
234
286
  listOperations(structure);
235
287
  return;
236
288
  }
237
- const prog = buildOperationsProgram(structure, client);
289
+ const prog = buildOperationsProgram(structure, client, baseURL);
238
290
  try {
239
291
  await prog.parseAsync(['node', 'run', ...remainingArgs]);
240
292
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-runner.js","sourceRoot":"","sources":["../../src/runner/proxy-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+MA,4BAgDC;AA/PD,yCAA+D;AAC/D,kDAA0B;AAC1B,oDAAuB;AACvB,8CAAgC;AAChC,2CAA6B;AAC7B,qDAAgD;AAChD,iEAA4D;AAE5D,+CAAiE;AACjE,qCAAwC;AAYxC,iDAAiD;AACjD,SAAS,iBAAiB,CAAC,OAA6B;IACtD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,SAAS;QACzB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,wDAAwD;AACxD,SAAS,OAAO,CAAC,QAAgB;IAC/B,OAAO,gBAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,2DAA2D;AAC3D,KAAK,UAAU,gBAAgB,CAC7B,GAAe,EACf,IAA6B,EAC7B,MAA8C;IAE9C,MAAM,OAAO,GAAI,IAAI,CAAC,SAAS,CAAyB,IAAI,KAAK,CAAC;IAClE,MAAM,MAAM,GAAI,IAAI,CAAC,QAAQ,CAAwB,IAAI,MAAM,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAuB,CAAC;IAClD,MAAM,QAAQ,GAAI,IAAI,CAAC,UAAU,CAAyB,IAAI,KAAK,CAAC;IAEpE,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAChD,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACxB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YAChC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAW,CAAC;QACvC,IAAI,IAAa,CAAC;QAClB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAA,qBAAY,EAAC,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9I,CAAC;QACD,OAAO;IACT,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC/H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAA,qBAAY,EAAC,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9I,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAS,iBAAiB,CACxB,MAAe,EACf,GAAe,EACf,MAA8C;IAE9C,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE/D,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,iEAAiE;IACjE,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS;YACjC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE;YACjB,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,UAAU,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,kBAAe,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,IAAI;YAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;YAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,0DAA0D;IAC1D,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;IAC5E,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,mCAAmC,EAAE,KAAK,CAAC,CAAC;IACpE,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAC;IAC3E,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,2CAA2C,EAAE,KAAK,CAAC,CAAC;IAE9E,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,GAA2E,CAAC;YAC7F,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC5F,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,6EAA6E;AAC7E,SAAS,sBAAsB,CAC7B,SAA2B,EAC3B,MAA8C;IAE9C,MAAM,IAAI,GAAG,IAAI,mBAAO,EAAE;SACvB,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,4BAA4B,CAAC,CAAC;IAEtE,uFAAuF;IACvF,IAAI,CAAC,YAAY,EAAE,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC,IAAI,CAAC;aACrC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;aAC9B,YAAY,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uDAAuD;AACvD,SAAS,cAAc,CAAC,SAA2B;IACjD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,gEAAgE;AACzD,KAAK,UAAU,QAAQ,CAC5B,SAAoB,EACpB,aAAuB;IAEvB,+DAA+D;IAC/D,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,qBAAQ,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,+BAAa,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC;IACxD,MAAM,IAAI,GAAgB;QACxB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC;KAClD,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,iCAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,+CAA+C;IAC/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6DAA6D;QAC7D,MAAM,MAAM,GAAG,GAA0C,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"proxy-runner.js","sourceRoot":"","sources":["../../src/runner/proxy-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tronsfey/openapi2cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "Generate or proxy any OpenAPI 3.x spec as a typed Commander.js CLI, with shell completion",
5
5
  "main": "dist/index.js",
6
6
  "bin": {