mcp-proxy 5.12.0 → 5.12.2

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
@@ -56,7 +56,7 @@ npx mcp-proxy --port 8080 -- my-command -v
56
56
 
57
57
  ### Stateless Mode
58
58
 
59
- By default, MCP Proxy maintains persistent sessions for HTTP streamable transport, where each client connection is associated with a server instance that stays alive for the duration of the session.
59
+ By default, MCP Proxy maintains persistent sessions for HTTP streamable transport, where each client connection is associated with a server instance that stays alive for the duration of the session.
60
60
 
61
61
  Stateless mode (`--stateless`) changes this behavior:
62
62
 
@@ -94,11 +94,13 @@ MCP Proxy supports optional API key authentication to secure your endpoints. Whe
94
94
  Authentication is disabled by default for backward compatibility. To enable it, provide an API key via:
95
95
 
96
96
  **Command-line:**
97
+
97
98
  ```bash
98
99
  npx mcp-proxy --port 8080 --apiKey "your-secret-key" tsx server.js
99
100
  ```
100
101
 
101
102
  **Environment variable:**
103
+
102
104
  ```bash
103
105
  export MCP_PROXY_API_KEY="your-secret-key"
104
106
  npx mcp-proxy --port 8080 tsx server.js
@@ -111,28 +113,26 @@ Clients must include the API key in the `X-API-Key` header:
111
113
  ```typescript
112
114
  // For streamable HTTP transport
113
115
  const transport = new StreamableHTTPClientTransport(
114
- new URL('http://localhost:8080/mcp'),
116
+ new URL("http://localhost:8080/mcp"),
115
117
  {
116
118
  headers: {
117
- 'X-API-Key': 'your-secret-key'
118
- }
119
- }
119
+ "X-API-Key": "your-secret-key",
120
+ },
121
+ },
120
122
  );
121
123
 
122
124
  // For SSE transport
123
- const transport = new SSEClientTransport(
124
- new URL('http://localhost:8080/sse'),
125
- {
126
- headers: {
127
- 'X-API-Key': 'your-secret-key'
128
- }
129
- }
130
- );
125
+ const transport = new SSEClientTransport(new URL("http://localhost:8080/sse"), {
126
+ headers: {
127
+ "X-API-Key": "your-secret-key",
128
+ },
129
+ });
131
130
  ```
132
131
 
133
132
  #### Exempt Endpoints
134
133
 
135
134
  The following endpoints do not require authentication:
135
+
136
136
  - `/ping` - Health check endpoint
137
137
  - `OPTIONS` requests - CORS preflight requests
138
138
 
@@ -150,6 +150,7 @@ MCP Proxy provides flexible CORS (Cross-Origin Resource Sharing) configuration t
150
150
  #### Default Behavior
151
151
 
152
152
  By default, CORS is enabled with the following settings:
153
+
153
154
  - **Origin**: `*` (allow all origins)
154
155
  - **Methods**: `GET, POST, OPTIONS`
155
156
  - **Headers**: `Content-Type, Authorization, Accept, Mcp-Session-Id, Last-Event-Id`
@@ -159,24 +160,30 @@ By default, CORS is enabled with the following settings:
159
160
  #### Basic Configuration
160
161
 
161
162
  ```typescript
162
- import { startHTTPServer } from 'mcp-proxy';
163
+ import { startHTTPServer } from "mcp-proxy";
163
164
 
164
165
  // Use default CORS settings (backward compatible)
165
166
  await startHTTPServer({
166
- createServer: async () => { /* ... */ },
167
+ createServer: async () => {
168
+ /* ... */
169
+ },
167
170
  port: 3000,
168
171
  });
169
172
 
170
173
  // Explicitly enable default CORS
171
174
  await startHTTPServer({
172
- createServer: async () => { /* ... */ },
175
+ createServer: async () => {
176
+ /* ... */
177
+ },
173
178
  port: 3000,
174
179
  cors: true,
175
180
  });
176
181
 
177
182
  // Disable CORS completely
178
183
  await startHTTPServer({
179
- createServer: async () => { /* ... */ },
184
+ createServer: async () => {
185
+ /* ... */
186
+ },
180
187
  port: 3000,
181
188
  cors: false,
182
189
  });
@@ -187,44 +194,46 @@ await startHTTPServer({
187
194
  For more control over CORS behavior, you can provide a detailed configuration:
188
195
 
189
196
  ```typescript
190
- import { startHTTPServer, CorsOptions } from 'mcp-proxy';
197
+ import { startHTTPServer, CorsOptions } from "mcp-proxy";
191
198
 
192
199
  const corsOptions: CorsOptions = {
193
200
  // Allow specific origins
194
- origin: ['https://app.example.com', 'https://admin.example.com'],
195
-
201
+ origin: ["https://app.example.com", "https://admin.example.com"],
202
+
196
203
  // Or use a function for dynamic origin validation
197
- origin: (origin: string) => origin.endsWith('.example.com'),
198
-
204
+ origin: (origin: string) => origin.endsWith(".example.com"),
205
+
199
206
  // Specify allowed methods
200
- methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
201
-
207
+ methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
208
+
202
209
  // Allow any headers (useful for browser clients with custom headers)
203
- allowedHeaders: '*',
204
-
210
+ allowedHeaders: "*",
211
+
205
212
  // Or specify exact headers
206
213
  allowedHeaders: [
207
- 'Content-Type',
208
- 'Authorization',
209
- 'Accept',
210
- 'Mcp-Session-Id',
211
- 'Last-Event-Id',
212
- 'X-Custom-Header',
213
- 'X-API-Key'
214
+ "Content-Type",
215
+ "Authorization",
216
+ "Accept",
217
+ "Mcp-Session-Id",
218
+ "Last-Event-Id",
219
+ "X-Custom-Header",
220
+ "X-API-Key",
214
221
  ],
215
-
222
+
216
223
  // Headers to expose to the client
217
- exposedHeaders: ['Mcp-Session-Id', 'X-Total-Count'],
218
-
224
+ exposedHeaders: ["Mcp-Session-Id", "X-Total-Count"],
225
+
219
226
  // Allow credentials
220
227
  credentials: true,
221
-
228
+
222
229
  // Cache preflight requests for 24 hours
223
230
  maxAge: 86400,
224
231
  };
225
232
 
226
233
  await startHTTPServer({
227
- createServer: async () => { /* ... */ },
234
+ createServer: async () => {
235
+ /* ... */
236
+ },
228
237
  port: 3000,
229
238
  cors: corsOptions,
230
239
  });
@@ -233,36 +242,45 @@ await startHTTPServer({
233
242
  #### Common Use Cases
234
243
 
235
244
  **Allow any custom headers (solves browser CORS issues):**
245
+
236
246
  ```typescript
237
247
  await startHTTPServer({
238
- createServer: async () => { /* ... */ },
248
+ createServer: async () => {
249
+ /* ... */
250
+ },
239
251
  port: 3000,
240
252
  cors: {
241
- allowedHeaders: '*', // Allows X-Custom-Header, X-API-Key, etc.
253
+ allowedHeaders: "*", // Allows X-Custom-Header, X-API-Key, etc.
242
254
  },
243
255
  });
244
256
  ```
245
257
 
246
258
  **Restrict to specific domains:**
259
+
247
260
  ```typescript
248
261
  await startHTTPServer({
249
- createServer: async () => { /* ... */ },
262
+ createServer: async () => {
263
+ /* ... */
264
+ },
250
265
  port: 3000,
251
266
  cors: {
252
- origin: ['https://myapp.com', 'https://admin.myapp.com'],
253
- allowedHeaders: '*',
267
+ origin: ["https://myapp.com", "https://admin.myapp.com"],
268
+ allowedHeaders: "*",
254
269
  },
255
270
  });
256
271
  ```
257
272
 
258
273
  **Development-friendly settings:**
274
+
259
275
  ```typescript
260
276
  await startHTTPServer({
261
- createServer: async () => { /* ... */ },
277
+ createServer: async () => {
278
+ /* ... */
279
+ },
262
280
  port: 3000,
263
281
  cors: {
264
- origin: ['http://localhost:3000', 'http://localhost:5173'], // Common dev ports
265
- allowedHeaders: '*',
282
+ origin: ["http://localhost:3000", "http://localhost:5173"], // Common dev ports
283
+ allowedHeaders: "*",
266
284
  credentials: true,
267
285
  },
268
286
  });
@@ -275,16 +293,20 @@ If you were using mcp-proxy 5.5.6 and want the same permissive behavior in 5.9.0
275
293
  ```typescript
276
294
  // Old behavior (5.5.6) - automatic wildcard headers
277
295
  await startHTTPServer({
278
- createServer: async () => { /* ... */ },
296
+ createServer: async () => {
297
+ /* ... */
298
+ },
279
299
  port: 3000,
280
300
  });
281
301
 
282
302
  // New equivalent (5.9.0+) - explicit wildcard headers
283
303
  await startHTTPServer({
284
- createServer: async () => { /* ... */ },
304
+ createServer: async () => {
305
+ /* ... */
306
+ },
285
307
  port: 3000,
286
308
  cors: {
287
- allowedHeaders: '*',
309
+ allowedHeaders: "*",
288
310
  },
289
311
  });
290
312
  ```
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { Client, InMemoryEventStore, ReadBuffer, Server, __commonJS, __toESM, proxyServer, serializeMessage, startHTTPServer } from "../stdio-CfAxSAGj.js";
2
+ import { D as __toESM, E as __commonJSMin, a as startHTTPServer, i as Client, n as serializeMessage, o as proxyServer, r as Server, t as ReadBuffer, w as InMemoryEventStore } from "../stdio-DBuYn6eo.mjs";
3
3
  import { createRequire } from "node:module";
4
4
  import { basename, dirname, extname, join, normalize, relative, resolve } from "path";
5
5
  import { format, inspect } from "util";
6
- import { fileURLToPath } from "url";
7
6
  import { setTimeout as setTimeout$1 } from "node:timers";
8
7
  import util from "node:util";
9
8
  import { notStrictEqual, strictEqual } from "assert";
10
9
  import { readFileSync, readdirSync, statSync, writeFile } from "fs";
10
+ import { fileURLToPath } from "url";
11
11
  import { readFileSync as readFileSync$1, readdirSync as readdirSync$1 } from "node:fs";
12
12
  import { spawn } from "node:child_process";
13
13
  import { PassThrough, Transform } from "node:stream";
@@ -39,8 +39,8 @@ function createParser(callbacks) {
39
39
  }
40
40
  const fieldSeparatorIndex = line.indexOf(":");
41
41
  if (fieldSeparatorIndex !== -1) {
42
- const field = line.slice(0, fieldSeparatorIndex), offset = line[fieldSeparatorIndex + 1] === " " ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);
43
- processField(field, value, line);
42
+ const field = line.slice(0, fieldSeparatorIndex), offset = line[fieldSeparatorIndex + 1] === " " ? 2 : 1;
43
+ processField(field, line.slice(fieldSeparatorIndex + offset), line);
44
44
  return;
45
45
  }
46
46
  processField(line, "", line);
@@ -110,7 +110,7 @@ function splitLines(chunk) {
110
110
  }
111
111
 
112
112
  //#endregion
113
- //#region node_modules/.pnpm/eventsource@4.0.0/node_modules/eventsource/dist/index.js
113
+ //#region node_modules/.pnpm/eventsource@4.1.0/node_modules/eventsource/dist/index.js
114
114
  var ErrorEvent = class extends Event {
115
115
  /**
116
116
  * Constructs a new `ErrorEvent` instance. This is typically not called directly,
@@ -336,6 +336,12 @@ _readyState = /* @__PURE__ */ new WeakMap(), _url = /* @__PURE__ */ new WeakMap(
336
336
  });
337
337
  (_a$1 = __privateGet(this, _onError)) == null || _a$1.call(this, errorEvent), this.dispatchEvent(errorEvent), __privateSet(this, _reconnectTimer, setTimeout(__privateGet(this, _reconnect), __privateGet(this, _reconnectInterval)));
338
338
  }, _reconnect = /* @__PURE__ */ new WeakMap(), EventSource.CONNECTING = 0, EventSource.OPEN = 1, EventSource.CLOSED = 2;
339
+ Object.defineProperty(EventSource, Symbol.for("eventsource.supports-fetch-override"), {
340
+ value: !0,
341
+ writable: !1,
342
+ configurable: !1,
343
+ enumerable: !1
344
+ });
339
345
  function getBaseURL() {
340
346
  const doc = "document" in globalThis ? globalThis.document : void 0;
341
347
  return doc && typeof doc == "object" && "baseURI" in doc && typeof doc.baseURI == "string" ? doc.baseURI : void 0;
@@ -596,11 +602,11 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
596
602
 
597
603
  //#endregion
598
604
  //#region node_modules/.pnpm/emoji-regex@10.4.0/node_modules/emoji-regex/index.js
599
- var require_emoji_regex = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/emoji-regex@10.4.0/node_modules/emoji-regex/index.js": ((exports, module) => {
605
+ var require_emoji_regex = /* @__PURE__ */ __commonJSMin(((exports, module) => {
600
606
  module.exports = () => {
601
607
  return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
602
608
  };
603
- }) });
609
+ }));
604
610
 
605
611
  //#endregion
606
612
  //#region node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js
@@ -1038,6 +1044,11 @@ var DefaultValuesForTypeKey;
1038
1044
 
1039
1045
  //#endregion
1040
1046
  //#region node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser.js
1047
+ /**
1048
+ * @license
1049
+ * Copyright (c) 2016, Contributors
1050
+ * SPDX-License-Identifier: ISC
1051
+ */
1041
1052
  let mixin;
1042
1053
  var YargsParser = class {
1043
1054
  constructor(_mixin) {
@@ -1355,18 +1366,14 @@ var YargsParser = class {
1355
1366
  return i;
1356
1367
  }
1357
1368
  function setArg(key, val, shouldStripQuotes = inputIsString) {
1358
- if (/-/.test(key) && configuration["camel-case-expansion"]) {
1359
- const alias = key.split(".").map(function(prop) {
1360
- return camelCase(prop);
1361
- }).join(".");
1362
- addNewAlias(key, alias);
1363
- }
1369
+ if (/-/.test(key) && configuration["camel-case-expansion"]) addNewAlias(key, key.split(".").map(function(prop) {
1370
+ return camelCase(prop);
1371
+ }).join("."));
1364
1372
  const value = processValue(key, val, shouldStripQuotes);
1365
1373
  const splitKey = key.split(".");
1366
1374
  setKey(argv$1, splitKey, value);
1367
1375
  if (flags.aliases[key]) flags.aliases[key].forEach(function(x) {
1368
- const keyProperties = x.split(".");
1369
- setKey(argv$1, keyProperties, value);
1376
+ setKey(argv$1, x.split("."), value);
1370
1377
  });
1371
1378
  if (splitKey.length > 1 && configuration["dot-notation"]) (flags.aliases[splitKey[0]] || []).forEach(function(x) {
1372
1379
  let keyProperties = x.split(".");
@@ -1918,7 +1925,7 @@ var y18n_default = y18n$1;
1918
1925
 
1919
1926
  //#endregion
1920
1927
  //#region node_modules/.pnpm/get-caller-file@2.0.5/node_modules/get-caller-file/index.js
1921
- var require_get_caller_file = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/get-caller-file@2.0.5/node_modules/get-caller-file/index.js": ((exports, module) => {
1928
+ var require_get_caller_file = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1922
1929
  module.exports = function getCallerFile$1(position) {
1923
1930
  if (position === void 0) position = 2;
1924
1931
  if (position >= Error.stackTraceLimit) throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `" + position + "` and Error.stackTraceLimit was: `" + Error.stackTraceLimit + "`");
@@ -1930,7 +1937,7 @@ var require_get_caller_file = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/g
1930
1937
  Error.prepareStackTrace = oldPrepareStackTrace;
1931
1938
  if (stack !== null && typeof stack === "object") return stack[position] ? stack[position].getFileName() : void 0;
1932
1939
  };
1933
- }) });
1940
+ }));
1934
1941
 
1935
1942
  //#endregion
1936
1943
  //#region node_modules/.pnpm/yargs@18.0.0/node_modules/yargs/lib/platform-shims/esm.mjs
@@ -2076,15 +2083,13 @@ function argsert(arg1, arg2, arg3) {
2076
2083
  const totalCommands = parsed.demanded.length + parsed.optional.length;
2077
2084
  if (length > totalCommands) throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`);
2078
2085
  parsed.demanded.forEach((demanded) => {
2079
- const arg = args.shift();
2080
- const observedType = guessType(arg);
2086
+ const observedType = guessType(args.shift());
2081
2087
  if (demanded.cmd.filter((type) => type === observedType || type === "*").length === 0) argumentTypeError(observedType, demanded.cmd, position);
2082
2088
  position += 1;
2083
2089
  });
2084
2090
  parsed.optional.forEach((optional) => {
2085
2091
  if (args.length === 0) return;
2086
- const arg = args.shift();
2087
- const observedType = guessType(arg);
2092
+ const observedType = guessType(args.shift());
2088
2093
  if (optional.cmd.filter((type) => type === observedType || type === "*").length === 0) argumentTypeError(observedType, optional.cmd, position);
2089
2094
  position += 1;
2090
2095
  });
@@ -2781,27 +2786,25 @@ function usage(yargs, shim$2) {
2781
2786
  addUngroupedKeys(keys, options.alias, groups, defaultGroup);
2782
2787
  const isLongSwitch = (sw) => /^--/.test(getText(sw));
2783
2788
  const displayedGroups = Object.keys(groups).filter((groupName) => groups[groupName].length > 0).map((groupName) => {
2784
- const normalizedKeys = groups[groupName].filter(filterHiddenOptions).map((key) => {
2785
- if (aliasKeys.includes(key)) return key;
2786
- for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== void 0; i++) if ((options.alias[aliasKey] || []).includes(key)) return aliasKey;
2787
- return key;
2788
- });
2789
2789
  return {
2790
2790
  groupName,
2791
- normalizedKeys
2791
+ normalizedKeys: groups[groupName].filter(filterHiddenOptions).map((key) => {
2792
+ if (aliasKeys.includes(key)) return key;
2793
+ for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== void 0; i++) if ((options.alias[aliasKey] || []).includes(key)) return aliasKey;
2794
+ return key;
2795
+ })
2792
2796
  };
2793
2797
  }).filter(({ normalizedKeys }) => normalizedKeys.length > 0).map(({ groupName, normalizedKeys }) => {
2794
- const switches = normalizedKeys.reduce((acc, key) => {
2795
- acc[key] = [key].concat(options.alias[key] || []).map((sw) => {
2796
- if (groupName === self.getPositionalGroupName()) return sw;
2797
- else return (/^[0-9]$/.test(sw) ? options.boolean.includes(key) ? "-" : "--" : sw.length > 1 ? "--" : "-") + sw;
2798
- }).sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2) ? 0 : isLongSwitch(sw1) ? 1 : -1).join(", ");
2799
- return acc;
2800
- }, {});
2801
2798
  return {
2802
2799
  groupName,
2803
2800
  normalizedKeys,
2804
- switches
2801
+ switches: normalizedKeys.reduce((acc, key) => {
2802
+ acc[key] = [key].concat(options.alias[key] || []).map((sw) => {
2803
+ if (groupName === self.getPositionalGroupName()) return sw;
2804
+ else return (/^[0-9]$/.test(sw) ? options.boolean.includes(key) ? "-" : "--" : sw.length > 1 ? "--" : "-") + sw;
2805
+ }).sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2) ? 0 : isLongSwitch(sw1) ? 1 : -1).join(", ");
2806
+ return acc;
2807
+ }, {})
2805
2808
  };
2806
2809
  });
2807
2810
  if (displayedGroups.filter(({ groupName }) => groupName !== self.getPositionalGroupName()).some(({ normalizedKeys, switches }) => !normalizedKeys.every((key) => isLongSwitch(switches[key])))) displayedGroups.filter(({ groupName }) => groupName !== self.getPositionalGroupName()).forEach(({ normalizedKeys, switches }) => {
@@ -3748,8 +3751,7 @@ var YargsInstance = class {
3748
3751
  __classPrivateFieldGet(this, _YargsInstance_options, "f").key[coerceKey] = true;
3749
3752
  __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").addCoerceMiddleware((argv$1, yargs) => {
3750
3753
  var _a$1;
3751
- const coerceKeyAliases = (_a$1 = yargs.getAliases()[coerceKey]) !== null && _a$1 !== void 0 ? _a$1 : [];
3752
- const argvKeys = [coerceKey, ...coerceKeyAliases].filter((key) => Object.prototype.hasOwnProperty.call(argv$1, key));
3754
+ const argvKeys = [coerceKey, ...(_a$1 = yargs.getAliases()[coerceKey]) !== null && _a$1 !== void 0 ? _a$1 : []].filter((key) => Object.prototype.hasOwnProperty.call(argv$1, key));
3753
3755
  if (argvKeys.length === 0) return argv$1;
3754
3756
  return maybeAsyncResult(() => {
3755
3757
  return value(argv$1[argvKeys[0]]);
@@ -4872,6 +4874,9 @@ var JSONFilterTransform = class extends Transform {
4872
4874
  //#endregion
4873
4875
  //#region src/StdioClientTransport.ts
4874
4876
  /**
4877
+ * Forked from https://github.com/modelcontextprotocol/typescript-sdk/blob/a1608a6513d18eb965266286904760f830de96fe/src/client/stdio.ts
4878
+ */
4879
+ /**
4875
4880
  * Client transport for stdio: this will connect to a server by spawning a process and communicating with it over stdin/stdout.
4876
4881
  *
4877
4882
  * This transport is only available in Node.js environments.
@@ -5140,9 +5145,8 @@ const createGracefulShutdown = ({ server, timeout }) => {
5140
5145
  };
5141
5146
  const main = async () => {
5142
5147
  try {
5143
- const server = await proxy();
5144
5148
  createGracefulShutdown({
5145
- server,
5149
+ server: await proxy(),
5146
5150
  timeout: argv.gracefulShutdownTimeout
5147
5151
  });
5148
5152
  } catch (error) {
@@ -5156,4 +5160,4 @@ await main();
5156
5160
 
5157
5161
  //#endregion
5158
5162
  export { };
5159
- //# sourceMappingURL=mcp-proxy.js.map
5163
+ //# sourceMappingURL=mcp-proxy.mjs.map