@zuplo/cli 6.71.21 → 6.71.23
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/node_modules/@posthog/core/dist/error-tracking/exception-steps.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/error-tracking/exception-steps.js +6 -24
- package/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs +7 -25
- package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts +6 -0
- package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.js +75 -17
- package/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +73 -18
- package/node_modules/@posthog/core/dist/posthog-core.d.ts +2 -2
- package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core.js +10 -6
- package/node_modules/@posthog/core/dist/posthog-core.mjs +11 -7
- package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.d.ts +1 -0
- package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.js +3 -0
- package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.mjs +3 -0
- package/node_modules/@posthog/core/dist/utils/promise-queue.d.ts +3 -0
- package/node_modules/@posthog/core/dist/utils/promise-queue.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/utils/promise-queue.js +15 -3
- package/node_modules/@posthog/core/dist/utils/promise-queue.mjs +15 -3
- package/node_modules/@posthog/core/dist/utils/string-utils.d.ts +1 -0
- package/node_modules/@posthog/core/dist/utils/string-utils.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/utils/string-utils.js +21 -0
- package/node_modules/@posthog/core/dist/utils/string-utils.mjs +19 -1
- package/node_modules/@posthog/core/package.json +1 -1
- package/node_modules/@posthog/core/src/error-tracking/exception-steps.ts +5 -42
- package/node_modules/@posthog/core/src/posthog-core-stateless.ts +118 -23
- package/node_modules/@posthog/core/src/posthog-core.ts +18 -7
- package/node_modules/@posthog/core/src/testing/PostHogCoreTestClient.ts +4 -0
- package/node_modules/@posthog/core/src/utils/promise-queue.ts +17 -4
- package/node_modules/@posthog/core/src/utils/string-utils.spec.ts +38 -1
- package/node_modules/@posthog/core/src/utils/string-utils.ts +42 -0
- package/node_modules/@posthog/types/dist/posthog.d.ts +12 -0
- package/node_modules/@posthog/types/dist/posthog.d.ts.map +1 -1
- package/node_modules/@posthog/types/package.json +1 -1
- package/node_modules/@posthog/types/src/posthog.ts +13 -0
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.d.ts +64 -25
- package/node_modules/@types/node/crypto.d.ts +18 -5
- package/node_modules/@types/node/diagnostics_channel.d.ts +237 -3
- package/node_modules/@types/node/dns.d.ts +1 -1
- package/node_modules/@types/node/ffi.d.ts +486 -0
- package/node_modules/@types/node/fs/promises.d.ts +3 -0
- package/node_modules/@types/node/fs.d.ts +21 -6
- package/node_modules/@types/node/http.d.ts +25 -0
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/process.d.ts +14 -1
- package/node_modules/@types/node/quic.d.ts +92 -11
- package/node_modules/@types/node/sqlite.d.ts +55 -0
- package/node_modules/@types/node/stream/iter.d.ts +150 -0
- package/node_modules/@types/node/stream.d.ts +32 -0
- package/node_modules/@types/node/test.d.ts +112 -2
- package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/node_modules/@types/node/util.d.ts +19 -2
- package/node_modules/@types/node/v8.d.ts +84 -2
- package/node_modules/@types/node/worker_threads.d.ts +8 -7
- package/node_modules/@zuplo/core/customer.cli.minified.js +2 -2
- package/node_modules/@zuplo/core/index.minified.js +2 -2
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/out/esm/index.js +11 -11
- package/node_modules/@zuplo/graphql/out/esm/index.js.map +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-DQ4ANJLR.js → chunk-4MNJC7E2.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/chunk-4MNJC7E2.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/{chunk-2Y72LML3.js → chunk-4QJJMELB.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-2Y72LML3.js.map → chunk-4QJJMELB.js.map} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-5CYWMN74.js +402 -0
- package/node_modules/@zuplo/runtime/out/esm/chunk-5CYWMN74.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/{chunk-L3MZGNQA.js → chunk-DSZS6PZJ.js} +10 -10
- package/node_modules/@zuplo/runtime/out/esm/chunk-DSZS6PZJ.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +7 -7
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/types/index.d.ts +1050 -18
- package/node_modules/@zuplo/runtime/out/types/mcp-gateway/index.d.ts +33 -7
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/node_modules/iconv-lite/encodings/sbcs-data.js +2 -0
- package/node_modules/iconv-lite/encodings/utf32.js +10 -3
- package/node_modules/iconv-lite/package.json +2 -2
- package/node_modules/iconv-lite/types/encodings.d.ts +2 -0
- package/node_modules/protobufjs/dist/light/protobuf.js +2 -2
- package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/protobuf.js +5 -2
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/package.json +1 -1
- package/node_modules/protobufjs/src/parse.js +3 -0
- package/node_modules/toad-cache/README.md +10 -9
- package/node_modules/toad-cache/dist/toad-cache.cjs +139 -139
- package/node_modules/toad-cache/dist/toad-cache.mjs +136 -140
- package/node_modules/toad-cache/package.json +8 -8
- package/node_modules/toad-cache/toad-cache.d.cts +20 -14
- package/node_modules/toad-cache/toad-cache.d.ts +18 -14
- package/package.json +6 -6
- package/node_modules/@zuplo/runtime/out/esm/chunk-DQ4ANJLR.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-I5HLAHUY.js +0 -357
- package/node_modules/@zuplo/runtime/out/esm/chunk-I5HLAHUY.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-L3MZGNQA.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-I5HLAHUY.js.LEGAL.txt → chunk-5CYWMN74.js.LEGAL.txt} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-L3MZGNQA.js.LEGAL.txt → chunk-DSZS6PZJ.js.LEGAL.txt} +0 -0
|
@@ -974,6 +974,8 @@ declare module "node:util" {
|
|
|
974
974
|
* `reason`.
|
|
975
975
|
*
|
|
976
976
|
* ```js
|
|
977
|
+
* import util from 'node:util';
|
|
978
|
+
*
|
|
977
979
|
* function fn() {
|
|
978
980
|
* return Promise.reject(null);
|
|
979
981
|
* }
|
|
@@ -1246,13 +1248,28 @@ declare module "node:util" {
|
|
|
1246
1248
|
*
|
|
1247
1249
|
* The special format value `none` applies no additional styling to the text.
|
|
1248
1250
|
*
|
|
1251
|
+
* In addition to predefined color names, `util.styleText()` supports hex color
|
|
1252
|
+
* strings using ANSI TrueColor (24-bit) escape sequences. Hex colors can be
|
|
1253
|
+
* specified in either 3-digit (`#RGB`) or 6-digit (`#RRGGBB`) format:
|
|
1254
|
+
*
|
|
1255
|
+
* ```js
|
|
1256
|
+
* import { styleText } from 'node:util';
|
|
1257
|
+
*
|
|
1258
|
+
* // 6-digit hex color
|
|
1259
|
+
* console.log(styleText('#ff5733', 'Orange text'));
|
|
1260
|
+
*
|
|
1261
|
+
* // 3-digit hex color (shorthand)
|
|
1262
|
+
* console.log(styleText('#f00', 'Red text'));
|
|
1263
|
+
* ```
|
|
1264
|
+
*
|
|
1249
1265
|
* The full list of formats can be found in [modifiers](https://nodejs.org/docs/latest-v26.x/api/util.html#modifiers).
|
|
1250
|
-
* @param format A text format or an Array of text formats defined in `util.inspect.colors
|
|
1266
|
+
* @param format A text format or an Array of text formats defined in `util.inspect.colors`, or a hex color in `#RGB`
|
|
1267
|
+
* or `#RRGGBB` form.
|
|
1251
1268
|
* @param text The text to to be formatted.
|
|
1252
1269
|
* @since v20.12.0
|
|
1253
1270
|
*/
|
|
1254
1271
|
export function styleText(
|
|
1255
|
-
format: InspectColor | readonly InspectColor[]
|
|
1272
|
+
format: InspectColor | readonly InspectColor[] | `#${string}`,
|
|
1256
1273
|
text: string,
|
|
1257
1274
|
options?: StyleTextOptions,
|
|
1258
1275
|
): string;
|
|
@@ -412,6 +412,21 @@ declare module "node:v8" {
|
|
|
412
412
|
*/
|
|
413
413
|
[Symbol.dispose](): void;
|
|
414
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* @since v26.1.0
|
|
417
|
+
*/
|
|
418
|
+
interface SyncHeapProfileHandle {
|
|
419
|
+
/**
|
|
420
|
+
* Stopping collecting the profile and return the profile data.
|
|
421
|
+
* @since v26.1.0
|
|
422
|
+
*/
|
|
423
|
+
stop(): string;
|
|
424
|
+
/**
|
|
425
|
+
* Stopping collecting the profile and the profile will be discarded.
|
|
426
|
+
* @since v26.1.0
|
|
427
|
+
*/
|
|
428
|
+
[Symbol.dispose](): void;
|
|
429
|
+
}
|
|
415
430
|
/**
|
|
416
431
|
* @since v24.8.0
|
|
417
432
|
*/
|
|
@@ -444,18 +459,85 @@ declare module "node:v8" {
|
|
|
444
459
|
*/
|
|
445
460
|
[Symbol.asyncDispose](): Promise<void>;
|
|
446
461
|
}
|
|
462
|
+
interface CPUProfileOptions {
|
|
463
|
+
/**
|
|
464
|
+
* Requested sampling interval in milliseconds. **Default:** `0`.
|
|
465
|
+
*/
|
|
466
|
+
sampleInterval?: number | undefined;
|
|
467
|
+
/**
|
|
468
|
+
* Maximum number of samples to keep before older
|
|
469
|
+
* entries are discarded. **Default:** `4294967295`.
|
|
470
|
+
*/
|
|
471
|
+
maxBufferSize?: number | undefined;
|
|
472
|
+
}
|
|
447
473
|
/**
|
|
448
474
|
* Starting a CPU profile then return a `SyncCPUProfileHandle` object.
|
|
449
475
|
* This API supports `using` syntax.
|
|
450
476
|
*
|
|
451
477
|
* ```js
|
|
452
|
-
* const handle = v8.startCpuProfile();
|
|
478
|
+
* const handle = v8.startCpuProfile({ sampleInterval: 1, maxBufferSize: 10_000 });
|
|
453
479
|
* const profile = handle.stop();
|
|
454
480
|
* console.log(profile);
|
|
455
481
|
* ```
|
|
456
482
|
* @since v25.0.0
|
|
457
483
|
*/
|
|
458
|
-
function startCpuProfile(): SyncCPUProfileHandle;
|
|
484
|
+
function startCpuProfile(options?: CPUProfileOptions): SyncCPUProfileHandle;
|
|
485
|
+
interface HeapProfileOptions {
|
|
486
|
+
/**
|
|
487
|
+
* The average sampling interval in bytes.
|
|
488
|
+
* **Default:** `524288` (512 KiB).
|
|
489
|
+
*/
|
|
490
|
+
sampleInterval?: number | undefined;
|
|
491
|
+
/**
|
|
492
|
+
* The maximum stack depth for samples.
|
|
493
|
+
* **Default:** `16`.
|
|
494
|
+
*/
|
|
495
|
+
stackDepth?: number | undefined;
|
|
496
|
+
/**
|
|
497
|
+
* Force garbage collection before taking the profile.
|
|
498
|
+
* **Default:** `false`.
|
|
499
|
+
*/
|
|
500
|
+
forceGC?: boolean | undefined;
|
|
501
|
+
/**
|
|
502
|
+
* Include objects collected
|
|
503
|
+
* by major GC. **Default:** `false`.
|
|
504
|
+
*/
|
|
505
|
+
includeObjectsCollectedByMajorGC?: boolean | undefined;
|
|
506
|
+
/**
|
|
507
|
+
* Include objects collected
|
|
508
|
+
* by minor GC. **Default:** `false`.
|
|
509
|
+
*/
|
|
510
|
+
includeObjectsCollectedByMinorGC?: boolean | undefined;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Starting a heap profile then return a `SyncHeapProfileHandle` object.
|
|
514
|
+
* This API supports `using` syntax.
|
|
515
|
+
*
|
|
516
|
+
* ```js
|
|
517
|
+
* import v8 from 'node:v8';
|
|
518
|
+
*
|
|
519
|
+
* const handle = v8.startHeapProfile();
|
|
520
|
+
* const profile = handle.stop();
|
|
521
|
+
* console.log(profile);
|
|
522
|
+
* ```
|
|
523
|
+
*
|
|
524
|
+
* With custom parameters:
|
|
525
|
+
*
|
|
526
|
+
* ```js
|
|
527
|
+
* import v8 from 'node:v8';
|
|
528
|
+
*
|
|
529
|
+
* const handle = v8.startHeapProfile({
|
|
530
|
+
* sampleInterval: 1024,
|
|
531
|
+
* stackDepth: 8,
|
|
532
|
+
* forceGC: true,
|
|
533
|
+
* includeObjectsCollectedByMajorGC: true,
|
|
534
|
+
* });
|
|
535
|
+
* const profile = handle.stop();
|
|
536
|
+
* console.log(profile);
|
|
537
|
+
* ```
|
|
538
|
+
* @since v26.1.0
|
|
539
|
+
*/
|
|
540
|
+
function startHeapProfile(options?: HeapProfileOptions): SyncHeapProfileHandle;
|
|
459
541
|
/**
|
|
460
542
|
* V8 only supports `Latin-1/ISO-8859-1` and `UTF16` as the underlying representation of a string.
|
|
461
543
|
* If the `content` uses `Latin-1/ISO-8859-1` as the underlying representation, this function will return true;
|
|
@@ -10,7 +10,7 @@ declare module "node:worker_threads" {
|
|
|
10
10
|
import { Readable, Writable } from "node:stream";
|
|
11
11
|
import { ReadableStream, TransformStream, WritableStream } from "node:stream/web";
|
|
12
12
|
import { URL } from "node:url";
|
|
13
|
-
import { CPUProfileHandle, HeapInfo, HeapProfileHandle } from "node:v8";
|
|
13
|
+
import { CPUProfileHandle, CPUProfileOptions, HeapInfo, HeapProfileHandle, HeapProfileOptions } from "node:v8";
|
|
14
14
|
import { Context } from "node:vm";
|
|
15
15
|
import { MessageEvent } from "undici-types";
|
|
16
16
|
const isInternalThread: boolean;
|
|
@@ -259,7 +259,7 @@ declare module "node:worker_threads" {
|
|
|
259
259
|
* `, { eval: true });
|
|
260
260
|
*
|
|
261
261
|
* worker.on('online', async () => {
|
|
262
|
-
* const handle = await worker.startCpuProfile();
|
|
262
|
+
* const handle = await worker.startCpuProfile({ sampleInterval: 1 });
|
|
263
263
|
* const profile = await handle.stop();
|
|
264
264
|
* console.log(profile);
|
|
265
265
|
* worker.terminate();
|
|
@@ -283,16 +283,16 @@ declare module "node:worker_threads" {
|
|
|
283
283
|
* ```
|
|
284
284
|
* @since v24.8.0
|
|
285
285
|
*/
|
|
286
|
-
startCpuProfile(): Promise<CPUProfileHandle>;
|
|
286
|
+
startCpuProfile(options?: CPUProfileOptions): Promise<CPUProfileHandle>;
|
|
287
287
|
/**
|
|
288
288
|
* Starting a Heap profile then return a Promise that fulfills with an error
|
|
289
289
|
* or an `HeapProfileHandle` object. This API supports `await using` syntax.
|
|
290
290
|
*
|
|
291
291
|
* ```js
|
|
292
|
-
*
|
|
292
|
+
* import { Worker } from 'node:worker_threads';
|
|
293
293
|
*
|
|
294
294
|
* const worker = new Worker(`
|
|
295
|
-
* const { parentPort } = require('worker_threads');
|
|
295
|
+
* const { parentPort } = require('node:worker_threads');
|
|
296
296
|
* parentPort.on('message', () => {});
|
|
297
297
|
* `, { eval: true });
|
|
298
298
|
*
|
|
@@ -307,7 +307,7 @@ declare module "node:worker_threads" {
|
|
|
307
307
|
* `await using` example.
|
|
308
308
|
*
|
|
309
309
|
* ```js
|
|
310
|
-
*
|
|
310
|
+
* import { Worker } from 'node:worker_threads';
|
|
311
311
|
*
|
|
312
312
|
* const w = new Worker(`
|
|
313
313
|
* const { parentPort } = require('node:worker_threads');
|
|
@@ -319,8 +319,9 @@ declare module "node:worker_threads" {
|
|
|
319
319
|
* await using handle = await w.startHeapProfile();
|
|
320
320
|
* });
|
|
321
321
|
* ```
|
|
322
|
+
* @since v24.9.0
|
|
322
323
|
*/
|
|
323
|
-
startHeapProfile(): Promise<HeapProfileHandle>;
|
|
324
|
+
startHeapProfile(options?: HeapProfileOptions): Promise<HeapProfileHandle>;
|
|
324
325
|
/**
|
|
325
326
|
* Calls `worker.terminate()` when the dispose scope is exited.
|
|
326
327
|
*
|
|
@@ -568,11 +568,11 @@ globstar while`,s,de,o,ae,He),this.matchOne(s.slice(de),o.slice(ae),f))return th
|
|
|
568
568
|
`],[102,"\f"],[114,"\r"],[116," "]]),Poe=new Map([...EV,[118,"\v"],[48,"\0"]]),QKt=new Map([['"','"'],["\\","\\"],["/","/"],["\b","b"],[`
|
|
569
569
|
`,"n"],["\f","f"],["\r","r"],[" ","t"]]),tCr=new Map([...QKt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),Doe=new Map([["[","LBracket"],["]","RBracket"],["{","LBrace"],["}","RBrace"],[":","Colon"],[",","Comma"],[YKt,"Boolean"],[KKt,"Boolean"],[XKt,"Null"]]),woe=new Map([...Doe,["NaN","Number"],[ZKt,"Number"]]),MPe=new Set([10,13,8232,8233]),jP=class extends Error{static{t(this,"ErrorWithLocation")}constructor(o,{line:f,column:d,offset:y}){super(`${o} (${f}:${d})`),this.line=f,this.column=d,this.offset=y}},jPe=class extends jP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},BPe=class extends jP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},dO=class extends jP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Aoe=class extends jP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},eXt=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,tXt=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,rXt=13,Rnt=10,UPe=class{static{t(this,"CharCodeReader")}#e="";#n=1;#t=0;#r=-1;#s=!1;#m=-1;#c=!1;constructor(o){this.#e=o}#u(){this.#c||(this.#t++,this.#r++,this.#m=-1,this.#c=!0)}locate(){return{line:this.#n,column:this.#t,offset:this.#r}}next(){if(this.#r>=this.#e.length-1)return this.#u(),-1;this.#r++;let o=this.#e.charCodeAt(this.#r);return this.#s?(this.#n++,this.#t=1,this.#s=!1):this.#t++,o===rXt?(this.#s=!0,this.peek()===Rnt&&this.#r++):o===Rnt&&(this.#s=!0),this.#m=o,o}peek(){return this.#r===this.#e.length-1?-1:this.#e.charCodeAt(this.#r+1)}match(o){return o(this.peek())?(this.next(),!0):!1}current(){return this.#m}},nXt="Infinity",iXt="NaN",sXt=new Set([116,102,110]),zPe=new Set([32,9,10,13]),Mnt=new Set([...zPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),aXt={mode:"json",ranges:!1},oXt=new Set(["true","false","null"]),b_={EOF:0,Number:1,String:2,Boolean:3,Null:4,NaN:5,Infinity:6,Identifier:7,Colon:20,LBrace:21,RBrace:22,LBracket:23,RBracket:24,Comma:25,LineComment:40,BlockComment:41};function MP(s){return s>=48&&s<=57}t(MP,"isDigit");function RPe(s){return MP(s)||s>=65&&s<=70||s>=97&&s<=102}t(RPe,"isHexDigit");function cXt(s){return s>=49&&s<=57}t(cXt,"isPositiveDigit");function lXt(s){return sXt.has(s)}t(lXt,"isKeywordStart");function Bnt(s){return MP(s)||s===46||s===45}t(Bnt,"isNumberStart");function uXt(s){return Bnt(s)||s===43}t(uXt,"isJSON5NumberStart");function jnt(s,o){return s===34||o&&s===39}t(jnt,"isStringStart");function Unt(s){if(s===36||s===95||s===92||s>=97&&s<=122||s>=65&&s<=90||s===8204||s===8205)return!0;let o=String.fromCharCode(s);return eXt.test(o)}t(Unt,"isJSON5IdentifierStart");function fXt(s){if(Unt(s)||MP(s))return!0;let o=String.fromCharCode(s);return tXt.test(o)}t(fXt,"isJSON5IdentifierPart");var $Pe=class{static{t(this,"Tokenizer")}#e;#n;#t;#r;#s;#m;#c;#u;#f;#p;#a;constructor(o,f){this.#n=o,this.#e={...aXt,...f},this.#t=new UPe(o),this.#r=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#m=this.#e.ranges,this.#u=this.#r?Poe.has.bind(Poe):EV.has.bind(EV),this.#f=this.#r?MPe.has.bind(MPe):()=>!1,this.#p=this.#r?d=>d===120:()=>!1,this.#a=this.#r?Mnt.has.bind(Mnt):zPe.has.bind(zPe)}#i(o,f=this.#t.locate()){throw new jPe(o,f)}#o(o,f=this.#t.locate()){throw new BPe(o,f)}#h(){throw new Aoe(this.#t.locate())}#d(o,f,d,y){let E=d.offset+f,P=this.#e.ranges?{range:[d.offset,E]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:E}},...P}}#_(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),RPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#y(o){let f="";do{if(f+=String.fromCharCode(o),o===92&&(o=this.#t.next(),o!==117&&this.#i(o),f+=String.fromCharCode(o),f+=this.#_(4)),o=this.#t.peek(),!fXt(o))break;this.#t.next()}while(!0);return f}#b(o){let f=o,d=1;for(o=this.#t.peek();o!==-1&&o!==f;){if(this.#t.next(),d++,o===92)if(o=this.#t.peek(),this.#u(o)||this.#f(o))this.#t.next(),d++;else if(o===117){this.#t.next(),d++;let y=this.#_(4);d+=y.length}else if(this.#p(o)){this.#t.next(),d++;let y=this.#_(2);d+=y.length}else this.#r?(this.#t.next(),d++):this.#i(o);o=this.#t.peek()}return o===-1&&(this.#t.next(),this.#h()),this.#t.next(),d++,d}#v(o){let f=1;if(o===45||this.#r&&o===43){if(o=this.#t.peek(),this.#r&&(o===73||o===78)){this.#t.next();let d=this.#y(o);return d!==nXt&&d!==iXt&&this.#i(o),f+d.length}MP(o)||this.#i(o),this.#t.next(),f++}if(o===48)if(o=this.#t.peek(),this.#r&&(o===120||o===88)){this.#t.next(),f++,o=this.#t.peek(),RPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(RPe(o))}else MP(o)&&this.#i(o);else if(!this.#r||o!==46)for(cXt(o)||this.#i(o),o=this.#t.peek();MP(o);)this.#t.next(),f++,o=this.#t.peek();if(o===46){let d=-1;for(this.#t.next(),f++,d++,o=this.#t.peek();MP(o);)this.#t.next(),f++,d++,o=this.#t.peek();!this.#r&&d===0&&(this.#t.next(),o?this.#i(o):this.#h())}if(o===101||o===69)for(this.#t.next(),f++,o=this.#t.peek(),(o===43||o===45)&&(this.#t.next(),f++,o=this.#t.peek()),o===-1&&(this.#t.next(),this.#h()),MP(o)||(this.#t.next(),this.#i(o));MP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#C(o){let f=1;if(o=this.#t.peek(),o===47){do this.#t.next(),f+=1,o=this.#t.peek();while(o>-1&&o!==13&&o!==10);return{length:f,multiline:!1}}if(o===42){for(this.#t.next(),f+=1;o>-1;)if(o=this.#t.peek(),o===42){if(this.#t.next(),f+=1,o=this.#t.peek(),o===47)return this.#t.next(),f+=1,{length:f,multiline:!0}}else this.#t.next(),f+=1;this.#t.next(),this.#h()}this.#t.next(),this.#i(o)}next(){let o=this.#t.next();for(;this.#a(o);)o=this.#t.next();if(o===-1)return b_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#r)if(woe.has(d))this.#c=this.#d(woe.get(d),1,f);else if(Unt(o)){let y=this.#y(o);woe.has(y)?this.#c=this.#d(woe.get(y),y.length,f):this.#c=this.#d("Identifier",y.length,f)}else if(uXt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(jnt(o,this.#r)){let y=this.#b(o),E=this.#t.locate();this.#c=this.#d("String",y,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);else if(Doe.has(d))this.#c=this.#d(Doe.get(d),1,f);else if(lXt(o)){let y=this.#y(o);oXt.has(y)||this.#o(y,f),this.#c=this.#d(Doe.get(y),y.length,f)}else if(Bnt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(jnt(o,this.#r)){let y=this.#b(o);this.#c=this.#d("String",y,f)}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);return b_[this.#c.type]}get token(){return this.#c}};var cT={document(s,o={}){return{type:"Document",body:s,loc:o.loc,...o}},string(s,o={}){return{type:"String",value:s,loc:o.loc,...o}},number(s,o={}){return{type:"Number",value:s,loc:o.loc,...o}},boolean(s,o={}){return{type:"Boolean",value:s,loc:o.loc,...o}},null(s={}){return{type:"Null",loc:s.loc,...s}},array(s,o={}){return{type:"Array",elements:s,loc:o.loc,...o}},element(s,o={}){return{type:"Element",value:s,loc:o.loc,...o}},object(s,o={}){return{type:"Object",members:s,loc:o.loc,...o}},member(s,o,f={}){return{type:"Member",name:s,value:o,loc:f.loc,...f}},identifier(s,o={}){return{type:"Identifier",name:s,loc:o.loc,...o}},nan(s="",o={}){return{type:"NaN",sign:s,loc:o.loc,...o}},infinity(s="",o={}){return{type:"Infinity",sign:s,loc:o.loc,...o}}},_Xt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function pXt(s,o,f=!1){let d="",y=s.indexOf("\\"),E=0;for(;y>=0;){d+=s.slice(E,y);let P=s.charAt(y+1),F=P.charCodeAt(0);if(f&&Poe.has(F))d+=Poe.get(F),E=y+2;else if(EV.has(F))d+=EV.get(F),E=y+2;else if(P==="u"){let J=s.slice(y+2,y+6);if(J.length<4||/[^0-9a-f]/i.test(J))throw new jP(`Invalid unicode escape \\u${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+6}else if(f&&P==="x"){let J=s.slice(y+2,y+4);if(J.length<2||/[^0-9a-f]/i.test(J))throw new jP(`Invalid hex escape \\x${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+4}else if(f&&MPe.has(F))E=y+2,P==="\r"&&s.charAt(E)===`
|
|
570
570
|
`&&E++;else if(f)d+=P,E=y+2;else throw new jP(`Invalid escape \\${P}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",E)}return d+=s.slice(E),d}t(pXt,"getStringValue");function dXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return pXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(dXt,"getLiteralValue");function znt(s,o){o=Object.freeze({..._Xt,...o});let f=[],d=new $Pe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",E=o.allowTrailingCommas||y;function P(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr}t(P,"nextNoComments");function F(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr>=b_.LineComment?F():wr}t(F,"nextSkipComments");let J=o.mode==="json"?P:F;function G(wr,yr){if(wr!==yr)throw new dO(d.token)}t(G,"assertTokenType");function Te(wr,yr){if(!yr.includes(wr))throw new dO(d.token)}t(Te,"assertTokenTypes");function de(wr,yr){return o.ranges?{range:[wr.offset,yr.offset]}:void 0}t(de,"createRange");function ae(wr){let yr=d.token,xs=de(yr.loc.start,yr.loc.end),bi=dXt(s.slice(yr.loc.start.offset,yr.loc.end.offset),yr,y),Ci={loc:{start:{...yr.loc.start},end:{...yr.loc.end}},...xs};switch(wr){case b_.String:return cT.string(bi,Ci);case b_.Number:return cT.number(bi,Ci);case b_.Boolean:return cT.boolean(bi,Ci);default:throw new TypeError(`Unknown token type ${yr.type}.`)}}t(ae,"createLiteralNode");function He(wr){let yr=de(wr.loc.start,wr.loc.end),xs=s.slice(wr.loc.start.offset,wr.loc.end.offset),fc={loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...yr};if(wr.type!=="Identifier"){let Ci="";return(xs[0]==="+"||xs[0]==="-")&&(Ci=xs[0]),cT[xs.includes("NaN")?"nan":"infinity"](Ci,fc)}return cT.identifier(xs,fc)}t(He,"createJSON5IdentifierNode");function Ue(wr){let yr=de(wr.loc.start,wr.loc.end);return cT.null({loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...yr})}t(Ue,"createNullNode");function je(wr){y?Te(wr,[b_.String,b_.Identifier,b_.Number]):G(wr,b_.String);let yr=d.token,xs=wr===b_.String?ae(wr):He(yr);if(y&&(xs.type==="NaN"||xs.type==="Infinity")){if(xs.sign!=="")throw new dO(d.token);xs=cT.identifier(xs.type,{loc:xs.loc,...de(xs.loc.start,xs.loc.end)})}wr=J(),G(wr,b_.Colon);let bi=Sr(),fc=de(xs.loc.start,bi.loc.end);return cT.member(xs,bi,{loc:{start:{...xs.loc.start},end:{...bi.loc.end}},...fc})}t(je,"parseProperty");function Yt(wr){G(wr,b_.LBrace);let yr=d.token,xs=[],bi=J();if(bi!==b_.RBrace)do{if(xs.push(je(bi)),bi=J(),!bi)throw new Aoe(xs[xs.length-1].loc.end);if(bi===b_.Comma){if(bi=J(),E&&bi===b_.RBrace)break}else break}while(bi);G(bi,b_.RBrace);let fc=d.token,Ci=de(yr.loc.start,fc.loc.end);return cT.object(xs,{loc:{start:{...yr.loc.start},end:{...fc.loc.end}},...Ci})}t(Yt,"parseObject");function zt(wr){G(wr,b_.LBracket);let yr=d.token,xs=[],bi=J();if(bi!==b_.RBracket)do{let bf=Sr(bi);if(xs.push(cT.element(bf,{loc:bf.loc})),bi=J(),bi===b_.Comma){if(bi=J(),E&&bi===b_.RBracket)break}else break}while(bi);G(bi,b_.RBracket);let fc=d.token,Ci=de(yr.loc.start,fc.loc.end);return cT.array(xs,{loc:{start:{...yr.loc.start},end:{...fc.loc.end}},...Ci})}t(zt,"parseArray");function Sr(wr){wr=wr??J();let yr=d.token;switch(wr){case b_.String:case b_.Boolean:return ae(wr);case b_.Number:if(y){let xs=s.slice(yr.loc.start.offset,yr.loc.end.offset);if((xs[0]==="+"||xs[0]==="-")&&(xs=xs.slice(1)),xs==="NaN"||xs==="Infinity")return He(yr)}return ae(wr);case b_.Null:return Ue(yr);case b_.LBrace:return Yt(wr);case b_.LBracket:return zt(wr);default:throw new dO(yr)}}t(Sr,"parseValue");let wn=Sr();if(J())throw new dO(d.token);let Jn={loc:{start:{line:1,column:1,offset:0},end:{...wn.loc.end}}};return o.tokens&&(Jn.tokens=f),o.ranges&&(Jn.range=[Jn.loc.start.offset,Jn.loc.end.offset]),cT.document(wn,Jn)}t(znt,"parse");var mXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function $nt(s){return s&&typeof s=="object"}t($nt,"isObject");function hXt(s){return $nt(s)&&typeof s.type=="string"}t(hXt,"isNode");function gXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of mXt.get(d.type)){let P=d[E];$nt(P)&&(Array.isArray(P)?P.forEach(F=>f(F,d)):hXt(P)&&f(P,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(gXt,"traverse");function Jnt(s,o=()=>!0){let f=[];return gXt(s,{enter(d,y){f.push({node:d,parent:y,phase:"enter"})},exit(d,y){f.push({node:d,parent:y,phase:"exit"})}}),f.filter(o).values()}t(Jnt,"iterator");import yXt from"node:fs/promises";var CV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Noe=t(async s=>{try{return await yXt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),kV=t(async s=>{try{return znt(s)}catch(o){if(o.column&&o.line&&o.message){let f=CV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var Wnt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Noe(d),E=await vXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),vXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await kV(s);if(E){for(let{node:P}of Jnt(E))if(P.value&&P.value===f){y=P.loc;break}if(y!==null){let P=CV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:P,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import qnt from"node:fs/promises";import vE from"node:path";var JPe="schemas",WPe=".oas.json";var mO=t(async s=>(await qnt.readdir(s)).map(f=>vE.join(s,f)).filter(f=>f.endsWith(WPe)).sort(),"getOpenApiFilesByAlphabetical"),W9=t(async s=>{let o=vE.resolve(s,"config");return(await qnt.readdir(o)).filter(d=>d.endsWith(WPe)).length>=1},"oasFileInProject");function wV(s,o,f,d,y,E,P){if(E.has(f))return;let F;try{F=d.get(f)}catch(Ue){throw new D1({text:`Failed to resolve reference: ${f}`,detail:Ue.message,severity:"error",message:"Failed to resolve reference",location:{file:s,column:0,line:0,length:0,lineText:f,namespace:o,suggestion:"Check the reference and try again."}})}let J=Ooe(f),G=vE.basename(J,vE.extname(J)),Te=f.indexOf("#"),de=Te>=0?f.substring(0,Te):f,ae=Te>=0?f.substring(Te+1):"",He=d.get(de);if(ae){let Ue=ae.split("/").filter(Boolean);for(let je of Ue)if(He=He[je],He===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(He&&typeof He=="object"&&"$ref"in He&&typeof He.$ref=="string"&&!He.$ref.startsWith("#")){let Ue=vE.resolve(vE.dirname(de),He.$ref);if(J=Ue,G=vE.basename(J,vE.extname(J)),de=Ue,E.has(de)){let Yt=E.get(de);if(Yt===void 0)throw new Error(`Expected to find ${de} in refsVisited map`);E.set(f,Yt);return}let je=y.length;E.set(f,je),E.set(de,je),y.push(de),Ioe(J,G,F,d,y,E,P)}else E.set(f,y.length),y.push(f),Ioe(Ooe(f),o,F,d,y,E,P)}t(wV,"chaseRefs");function Ioe(s,o,f,d,y,E,P){if(Array.isArray(f))for(let F of f)Ioe(s,o,F,d,y,E,P);else if(typeof f=="object")for(let F in f){if(F==="$ref"){let J=f[F];P&&(f[F]=P(o,J,s)),wV(s,o,HN(s,J),d,y,E,P)}Ioe(s,o,f[F],d,y,E,P)}}t(Ioe,"lookForRefs");function HN(s,o){let f=o.indexOf("#");return f>=0?`${vE.resolve(s,o.substring(0,f))}${o.substring(f)}`:vE.resolve(vE.dirname(s),o)}t(HN,"getFullyQualifiedRefName");function Ooe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Ooe,"getFilePathNameFromRefName");import ole from"node:path";function bXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let G=0;G<o.length;G++)o[G]=255;for(let G=0;G<s.length;G++){let Te=s.charAt(G),de=Te.charCodeAt(0);if(o[de]!==255)throw new TypeError(Te+" is ambiguous");o[de]=G}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),E=Math.log(256)/Math.log(f);function P(G){if(G instanceof Uint8Array||(ArrayBuffer.isView(G)?G=new Uint8Array(G.buffer,G.byteOffset,G.byteLength):Array.isArray(G)&&(G=Uint8Array.from(G))),!(G instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(G.length===0)return"";let Te=0,de=0,ae=0,He=G.length;for(;ae!==He&&G[ae]===0;)ae++,Te++;let Ue=(He-ae)*E+1>>>0,je=new Uint8Array(Ue);for(;ae!==He;){let Sr=G[ae],wn=0;for(let sn=Ue-1;(Sr!==0||wn<de)&&sn!==-1;sn--,wn++)Sr+=256*je[sn]>>>0,je[sn]=Sr%f>>>0,Sr=Sr/f>>>0;if(Sr!==0)throw new Error("Non-zero carry");de=wn,ae++}let Yt=Ue-de;for(;Yt!==Ue&&je[Yt]===0;)Yt++;let zt=d.repeat(Te);for(;Yt<Ue;++Yt)zt+=s.charAt(je[Yt]);return zt}t(P,"encode");function F(G){if(typeof G!="string")throw new TypeError("Expected String");if(G.length===0)return new Uint8Array;let Te=0,de=0,ae=0;for(;G[Te]===d;)de++,Te++;let He=(G.length-Te)*y+1>>>0,Ue=new Uint8Array(He);for(;G[Te];){let Sr=o[G.charCodeAt(Te)];if(Sr===255)return;let wn=0;for(let sn=He-1;(Sr!==0||wn<ae)&&sn!==-1;sn--,wn++)Sr+=f*Ue[sn]>>>0,Ue[sn]=Sr%256>>>0,Sr=Sr/256>>>0;if(Sr!==0)throw new Error("Non-zero carry");ae=wn,Te++}let je=He-ae;for(;je!==He&&Ue[je]===0;)je++;let Yt=new Uint8Array(de+(He-je)),zt=de;for(;je!==He;)Yt[zt++]=Ue[je++];return Yt}t(F,"decodeUnsafe");function J(G){let Te=F(G);if(Te)return Te;throw new Error("Non-base"+f+" character")}return t(J,"decode"),{encode:P,decodeUnsafe:F,decode:J}}t(bXt,"base");var Vnt=bXt;var SXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Foe=Vnt(SXt);var TXt=!1;function q9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(q9,"code");function V9(s,o){return TXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(V9,"run");function xXt(s){return V9(s,q9([31],39))}t(xXt,"red");function EXt(s){return V9(s,q9([32],39))}t(EXt,"green");function CXt(s){return V9(s,q9([33],39))}t(CXt,"yellow");function kXt(s){return V9(s,q9([34],39))}t(kXt,"blue");function wXt(s){return V9(s,q9([35],39))}t(wXt,"magenta");function DXt(s){return V9(s,q9([36],39))}t(DXt,"cyan");var xCr=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");var Hnt=[xXt,EXt,CXt,kXt,wXt,DXt];function PXt(s){let o=0,f=s.length,d=0;if(f>0)for(;d<f;)o=(o<<5)-o+s.charCodeAt(d++)|0;return o}t(PXt,"hashCode");function Gnt(s){let o=Math.abs(PXt(s));return Hnt[o%Hnt.length]}t(Gnt,"generateColor");import{inspect as AXt}from"node:util";function Ynt(s,o,...f){let d=0,y=f.length,E=String(o).replace(/%[sdjoO%]/g,P=>{if(P==="%%")return"%";if(d>=y)return P;switch(P){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
|
|
571
|
-
`).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(Ynt,"format");var Knt=t((s,...o)=>Ynt(AXt,s,o),"format");var qPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Gnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Knt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},VPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function NXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(NXt,"extract");var Loe;function Roe(s){Loe||(Loe=new VPe(NXt(process.env.DEBUG)));let o=new qPe(Loe,s);return Loe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Roe,"debug");var Xnt="zp-local-service";var BP=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var GN=Roe("zuplo:runtime:external-service");function IXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(IXt,"getServiceAuth");async function Znt(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Yt=E.slice(0,-f.length),zt=new URL(`http://${Yt}${y.pathname}${y.search}`);GN(`Routing to proxy: ${zt.toString()}`);let Sr=o??{};return DV(zt.toString(),Sr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new BP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let G=P?E.slice(0,-d.length):E,Te=IXt();if(!Te)throw GN("There is no external service auth configured for this zup."),new BP("There are no external services configured for this zup.");GN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let He;if(Te.customServiceMapping?.[G])He=`https://${Te.customServiceMapping[G]}`;else if(Cm.instance.useLegacyServiceRouting)He=`https://${G}.zuptunnel.com`;else{GN("Using sha256 service routing");let Yt=Cm.instance.build;if(Yt.ACCOUNT_NAME&&Yt.PROJECT_NAME&&Yt.ENVIRONMENT_TYPE){let zt=await OXt(G,Yt.ACCOUNT_NAME,Yt.PROJECT_NAME,Yt.ENVIRONMENT_TYPE),Sr=eit(Yt.ENVIRONMENT_TYPE),wn=await HPe(`${Yt.ACCOUNT_NAME}-${Yt.PROJECT_NAME}-${Sr}`);wn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||wn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?He=`https://${zt}.zuptunnel.com`:He=`https://${zt}.t.zuplo.app`}else throw GN("Cannot use sha256 service routing, missing build variables"),new BP("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${He}${y.pathname}${y.search}`);GN(`Calling external service: ${Ue.toString()}`);let je=await DV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw PV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:He}),new BP("Could not connect to secure tunnel.");return je}else throw GN("Cannot call external service with Request object"),new BP("Currently, we only support fetch(<some_string>, ...).")}t(Znt,"externalServiceHandler");async function Qnt(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(Xnt,d),y.headers=F,await DV(P.toString(),y)}else throw new BP("Currently, we only support fetch(<some_string>, ...).")}t(Qnt,"clusterServiceHandler");async function OXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=eit(d);GN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await HPe(`${E}-${y}`),G=await HPe(`${E}-${P}-${F}`);return`${J}.${G}`}t(OXt,"hashServiceName");async function HPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(HPe,"hashSegment");function eit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(eit,"sanitizeEnvironmentType");var GPe=new Map;GPe.set("service:",Znt);GPe.set("local:",Qnt);var DV=globalThis.fetch;function YPe(s,o){let{transformedInit:f,mtlsCertificate:d}=FXt(o);if(typeof s=="string"){let y=new URL(s),E=GPe.get(y.protocol);return E?E(s,f):tit(s,f,d)}else return tit(s,f,d)}t(YPe,"internalFetch");globalThis.fetch=YPe;function tit(s,o,f){if(!f)return DV(s,o);if(Cm.instance.isCloudflare){let y=Cm.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Cm.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(tit,"performFetch");var FXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var LXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:YPe},PV=LXt;var KPe="2025-02-06",rit=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function nit(){return new Cm({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:KPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:rit[KPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(nit,"getMockEnvironment");var Cm=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(PV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e??=nit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Foe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){PV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var RXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function iit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!RXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(iit,"isRestrictedEnvVariableName");function sit(s){return!!s.startsWith("ZUPLO_")}t(sit,"isZuploReadableEnvVariableName");var fkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Cm.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(iit(f)&&!sit(f)))return Cm.instance.runtime[f]}});function AV(s,o,f){return`_${UP(`${s}_${o}_${f}`)}`}t(AV,"getRawOperationDataIdentifierName");function XPe(s,o,f,d){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(XPe,"getIdForParameterSchema");function ZPe(s,o,f){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_rb_${UP(f.toLowerCase())}`}t(ZPe,"getIdForRequestBodySchema");function NV(s,o){return`_${UP(s)}_${UP(o)}`}t(NV,"getIdForRefSchema");function UP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(UP,"sanitizedIdentifierName");var eAe={};Rtt(eAe,{UnsafePathError:()=>Moe,deleteFolder:()=>KXt,dirExists:()=>QPe,fileExists:()=>UXt,getParentDirFilename:()=>HXt,isNotFileOrDirectory:()=>$Xt,listFolderContents:()=>cit,listFolders:()=>WXt,mkDirTemp:()=>zXt,mkdirForFilePathIfNotExits:()=>qXt,mkdirIfNotExists:()=>lit,safePath:()=>VXt,tarFolder:()=>GXt,untarFile:()=>YXt});import{spawn as ait}from"node:child_process";import{randomUUID as MXt}from"node:crypto";import YN from"node:fs/promises";import{platform as jXt,tmpdir as BXt}from"node:os";import O1 from"node:path";var oit=[".git","node_modules",".yarn",".DS_Store"];async function UXt(s){try{return(await YN.stat(s)).isFile()}catch{return!1}}t(UXt,"fileExists");async function zXt(){let s=process.env.BUILD_FILE_PATH??BXt(),o=MXt().replaceAll("-",""),f=O1.join(s,o);return await YN.mkdir(f,{recursive:!0}),f}t(zXt,"mkDirTemp");async function QPe(s){try{return(await YN.stat(s)).isDirectory()}catch{return!1}}t(QPe,"dirExists");async function $Xt(s){try{return await YN.stat(s),!1}catch{return!0}}t($Xt,"isNotFileOrDirectory");function JXt(s,o){let f=O1.sep==="\\"?"\\\\":O1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":O1.join(O1.sep,E[1])}t(JXt,"getParentDirectory");async function WXt(s){if(!await QPe(s))return[];let o=await YN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)oit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(WXt,"listFolders");async function cit(s,o,f=!0){let d=JXt(s,o),y=await YN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!oit.includes(P.name)||!f)if(P.isDirectory()){let F=await cit(O1.join(s,P.name),o,f);E.push(...F)}else E.push(O1.join(d,P.name));return E}t(cit,"listFolderContents");var lit=t(async s=>{await YN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),qXt=t(async s=>{let o=O1.dirname(s);return lit(o)},"mkdirForFilePathIfNotExits"),Moe=class extends Error{static{t(this,"UnsafePathError")}};function VXt(s){let o=O1.normalize(s),f=t(d=>{let y=O1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Moe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(O1.resolve(...d)),"resolve")}}t(VXt,"safePath");function HXt(s){return O1.join(O1.basename(O1.dirname(s)),O1.basename(s))}t(HXt,"getParentDirFilename");async function GXt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let G=ait("tar",[...f.flatMap(Te=>["--exclude",Te]),...jXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);G.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),G.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),G.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),G.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
|
|
571
|
+
`).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(Ynt,"format");var Knt=t((s,...o)=>Ynt(AXt,s,o),"format");var qPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Gnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Knt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},VPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function NXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(NXt,"extract");var Loe;function Roe(s){Loe||(Loe=new VPe(NXt(process.env.DEBUG)));let o=new qPe(Loe,s);return Loe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Roe,"debug");var Xnt="zp-local-service";var BP=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var GN=Roe("zuplo:runtime:external-service");function IXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(IXt,"getServiceAuth");async function Znt(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Yt=E.slice(0,-f.length),zt=new URL(`http://${Yt}${y.pathname}${y.search}`);GN(`Routing to proxy: ${zt.toString()}`);let Sr=o??{};return DV(zt.toString(),Sr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new BP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let G=P?E.slice(0,-d.length):E,Te=IXt();if(!Te)throw GN("There is no external service auth configured for this zup."),new BP("There are no external services configured for this zup.");GN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let He;if(Te.customServiceMapping?.[G])He=`https://${Te.customServiceMapping[G]}`;else if(Cm.instance.useLegacyServiceRouting)He=`https://${G}.zuptunnel.com`;else{GN("Using sha256 service routing");let Yt=Cm.instance.build;if(Yt.ACCOUNT_NAME&&Yt.PROJECT_NAME&&Yt.ENVIRONMENT_TYPE){let zt=await OXt(G,Yt.ACCOUNT_NAME,Yt.PROJECT_NAME,Yt.ENVIRONMENT_TYPE),Sr=eit(Yt.ENVIRONMENT_TYPE),wn=await HPe(`${Yt.ACCOUNT_NAME}-${Yt.PROJECT_NAME}-${Sr}`);wn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||wn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?He=`https://${zt}.zuptunnel.com`:He=`https://${zt}.t.zuplo.app`}else throw GN("Cannot use sha256 service routing, missing build variables"),new BP("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${He}${y.pathname}${y.search}`);GN(`Calling external service: ${Ue.toString()}`);let je=await DV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw PV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:He}),new BP("Could not connect to secure tunnel.");return je}else throw GN("Cannot call external service with Request object"),new BP("Currently, we only support fetch(<some_string>, ...).")}t(Znt,"externalServiceHandler");async function Qnt(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(Xnt,d),y.headers=F,await DV(P.toString(),y)}else throw new BP("Currently, we only support fetch(<some_string>, ...).")}t(Qnt,"clusterServiceHandler");async function OXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=eit(d);GN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await HPe(`${E}-${y}`),G=await HPe(`${E}-${P}-${F}`);return`${J}.${G}`}t(OXt,"hashServiceName");async function HPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(HPe,"hashSegment");function eit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(eit,"sanitizeEnvironmentType");var GPe=new Map;GPe.set("service:",Znt);GPe.set("local:",Qnt);var DV=globalThis.fetch;function YPe(s,o){let{transformedInit:f,mtlsCertificate:d}=FXt(o);if(typeof s=="string"){let y=new URL(s),E=GPe.get(y.protocol);return E?E(s,f):tit(s,f,d)}else return tit(s,f,d)}t(YPe,"internalFetch");globalThis.fetch=YPe;function tit(s,o,f){if(!f)return DV(s,o);if(Cm.instance.isCloudflare){let y=Cm.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Cm.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(tit,"performFetch");var FXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var LXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:YPe},PV=LXt;var KPe="2025-02-06",rit=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function nit(){return new Cm({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:KPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:rit[KPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(nit,"getMockEnvironment");var Cm=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(PV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e??=nit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Foe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){PV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get accountName(){return this.build.ACCOUNT_NAME??this.runtime.ZUPLO_ACCOUNT_NAME??void 0}get projectName(){return this.build.PROJECT_NAME??this.runtime.ZUPLO_PROJECT_NAME??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var RXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function iit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!RXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(iit,"isRestrictedEnvVariableName");function sit(s){return!!s.startsWith("ZUPLO_")}t(sit,"isZuploReadableEnvVariableName");var fkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.accountName;case"ZUPLO_PROJECT_NAME":return Cm.instance.projectName;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(iit(f)&&!sit(f)))return Cm.instance.runtime[f]}});function AV(s,o,f){return`_${UP(`${s}_${o}_${f}`)}`}t(AV,"getRawOperationDataIdentifierName");function XPe(s,o,f,d){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(XPe,"getIdForParameterSchema");function ZPe(s,o,f){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_rb_${UP(f.toLowerCase())}`}t(ZPe,"getIdForRequestBodySchema");function NV(s,o){return`_${UP(s)}_${UP(o)}`}t(NV,"getIdForRefSchema");function UP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(UP,"sanitizedIdentifierName");var eAe={};Rtt(eAe,{UnsafePathError:()=>Moe,deleteFolder:()=>KXt,dirExists:()=>QPe,fileExists:()=>UXt,getParentDirFilename:()=>HXt,isNotFileOrDirectory:()=>$Xt,listFolderContents:()=>cit,listFolders:()=>WXt,mkDirTemp:()=>zXt,mkdirForFilePathIfNotExits:()=>qXt,mkdirIfNotExists:()=>lit,safePath:()=>VXt,tarFolder:()=>GXt,untarFile:()=>YXt});import{spawn as ait}from"node:child_process";import{randomUUID as MXt}from"node:crypto";import YN from"node:fs/promises";import{platform as jXt,tmpdir as BXt}from"node:os";import O1 from"node:path";var oit=[".git","node_modules",".yarn",".DS_Store"];async function UXt(s){try{return(await YN.stat(s)).isFile()}catch{return!1}}t(UXt,"fileExists");async function zXt(){let s=process.env.BUILD_FILE_PATH??BXt(),o=MXt().replaceAll("-",""),f=O1.join(s,o);return await YN.mkdir(f,{recursive:!0}),f}t(zXt,"mkDirTemp");async function QPe(s){try{return(await YN.stat(s)).isDirectory()}catch{return!1}}t(QPe,"dirExists");async function $Xt(s){try{return await YN.stat(s),!1}catch{return!0}}t($Xt,"isNotFileOrDirectory");function JXt(s,o){let f=O1.sep==="\\"?"\\\\":O1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":O1.join(O1.sep,E[1])}t(JXt,"getParentDirectory");async function WXt(s){if(!await QPe(s))return[];let o=await YN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)oit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(WXt,"listFolders");async function cit(s,o,f=!0){let d=JXt(s,o),y=await YN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!oit.includes(P.name)||!f)if(P.isDirectory()){let F=await cit(O1.join(s,P.name),o,f);E.push(...F)}else E.push(O1.join(d,P.name));return E}t(cit,"listFolderContents");var lit=t(async s=>{await YN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),qXt=t(async s=>{let o=O1.dirname(s);return lit(o)},"mkdirForFilePathIfNotExits"),Moe=class extends Error{static{t(this,"UnsafePathError")}};function VXt(s){let o=O1.normalize(s),f=t(d=>{let y=O1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Moe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(O1.resolve(...d)),"resolve")}}t(VXt,"safePath");function HXt(s){return O1.join(O1.basename(O1.dirname(s)),O1.basename(s))}t(HXt,"getParentDirFilename");async function GXt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let G=ait("tar",[...f.flatMap(Te=>["--exclude",Te]),...jXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);G.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),G.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),G.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),G.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
|
|
572
572
|
`),stderr:E.join(`
|
|
573
573
|
`),exitCode:P},"Tar process logs")}}t(GXt,"tarFolder");async function YXt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((P,F)=>{let J=ait("sh",["-c",`tar -xvf ${s} -C ${o};`]);J.stdout.on("data",G=>{let Te=G.toString().trim();Te.length>0&&d.push(Te.trim())}),J.stderr.on("data",G=>{let Te=G.toString().trim();Te.length>0&&y.push(Te.trim())}),J.on("close",G=>{E=G,G===0?P():F(new Error(`tar process exited with code ${G}`))}),J.on("error",G=>{F(G)})})}catch(P){throw new Error("Failed to untar file",{cause:P})}finally{f.info({stdout:d.join(`
|
|
574
574
|
`),stderr:y.join(`
|
|
575
|
-
`),exitCode:E},"Untar process logs")}}t(YXt,"untarFile");async function KXt(s){if(await QPe(s))return await YN.rm(s,{recursive:!0})}t(KXt,"deleteFolder");var eu=eAe;var _lt=Hp(Ast(),1);var Nst=["ai-gateway-semantic-cache-inbound","ai-gateway-semantic-cache-outbound","akamai-ai-firewall","akamai-firewall-for-ai-inbound","akamai-firewall-for-ai-outbound","prompt-injection-outbound","semantic-cache-inbound"];var WV=class{static{t(this,"R")}type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(s,o,f,d,y,E){this.type=s,this.name=o,this.prefix=f,this.value=d,this.suffix=y,this.modifier=E}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},xer=/[$_\p{ID_Start}]/u,Eer=/[$_\u200C\u200D\p{ID_Continue}]/u,FAe=".*";function Cer(s,o){return(o?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(s)}t(Cer,"Re");function Fst(s,o=!1){let f=[],d=0;for(;d<s.length;){let y=s[d],E=t(function(P){if(!o)throw new TypeError(P);f.push({type:"INVALID_CHAR",index:d,value:s[d++]})},"c");if(y==="*"){f.push({type:"ASTERISK",index:d,value:s[d++]});continue}if(y==="+"||y==="?"){f.push({type:"OTHER_MODIFIER",index:d,value:s[d++]});continue}if(y==="\\"){f.push({type:"ESCAPED_CHAR",index:d++,value:s[d++]});continue}if(y==="{"){f.push({type:"OPEN",index:d,value:s[d++]});continue}if(y==="}"){f.push({type:"CLOSE",index:d,value:s[d++]});continue}if(y===":"){let P="",F=d+1;for(;F<s.length;){let J=s.substr(F,1);if(F===d+1&&xer.test(J)||F!==d+1&&Eer.test(J)){P+=s[F++];continue}break}if(!P){E(`Missing parameter name at ${d}`);continue}f.push({type:"NAME",index:d,value:P}),d=F;continue}if(y==="("){let P=1,F="",J=d+1,G=!1;if(s[J]==="?"){E(`Pattern cannot start with "?" at ${J}`);continue}for(;J<s.length;){if(!Cer(s[J],!1)){E(`Invalid character '${s[J]}' at ${J}.`),G=!0;break}if(s[J]==="\\"){F+=s[J++]+s[J++];continue}if(s[J]===")"){if(P--,P===0){J++;break}}else if(s[J]==="("&&(P++,s[J+1]!=="?")){E(`Capturing groups are not allowed at ${J}`),G=!0;break}F+=s[J++]}if(G)continue;if(P){E(`Unbalanced pattern at ${d}`);continue}if(!F){E(`Missing pattern at ${d}`);continue}f.push({type:"REGEX",index:d,value:F}),d=J;continue}f.push({type:"CHAR",index:d,value:s[d++]})}return f.push({type:"END",index:d,value:""}),f}t(Fst,"v");function Lst(s,o={}){let f=Fst(s);o.delimiter??="/#?",o.prefixes??="./";let d=`[^${fT(o.delimiter)}]+?`,y=[],E=0,P=0,F="",J=new Set,G=t(wn=>{if(P<f.length&&f[P].type===wn)return f[P++].value},"a"),Te=t(()=>G("OTHER_MODIFIER")??G("ASTERISK"),"f"),de=t(wn=>{let sn=G(wn);if(sn!==void 0)return sn;let{type:Jn,index:wr}=f[P];throw new TypeError(`Unexpected ${Jn} at ${wr}, expected ${wn}`)},"d"),ae=t(()=>{let wn="",sn;for(;sn=G("CHAR")??G("ESCAPED_CHAR");)wn+=sn;return wn},"T"),He=t(wn=>wn,"Se"),Ue=o.encodePart||He,je="",Yt=t(wn=>{je+=wn},"U"),zt=t(()=>{je.length&&(y.push(new WV(3,"","",Ue(je),"",3)),je="")},"$"),Sr=t((wn,sn,Jn,wr,yr)=>{let xs=3;switch(yr){case"?":xs=1;break;case"*":xs=0;break;case"+":xs=2;break}if(!sn&&!Jn&&xs===3){Yt(wn);return}if(zt(),!sn&&!Jn){if(!wn)return;y.push(new WV(3,"","",Ue(wn),"",xs));return}let bi;Jn?Jn==="*"?bi=FAe:bi=Jn:bi=d;let fc=2;bi===d?(fc=1,bi=""):bi===FAe&&(fc=0,bi="");let Ci;if(sn?Ci=sn:Jn&&(Ci=E++),J.has(Ci))throw new TypeError(`Duplicate name '${Ci}'.`);J.add(Ci),y.push(new WV(fc,Ci,Ue(wn),bi,Ue(wr),xs))},"V");for(;P<f.length;){let wn=G("CHAR"),sn=G("NAME"),Jn=G("REGEX");if(!sn&&!Jn&&(Jn=G("ASTERISK")),sn||Jn){let yr=wn??"";o.prefixes.indexOf(yr)===-1&&(Yt(yr),yr=""),zt();let xs=Te();Sr(yr,sn,Jn,"",xs);continue}let wr=wn??G("ESCAPED_CHAR");if(wr){Yt(wr);continue}if(G("OPEN")){let yr=ae(),xs=G("NAME"),bi=G("REGEX");!xs&&!bi&&(bi=G("ASTERISK"));let fc=ae();de("CLOSE");let Ci=Te();Sr(yr,xs,bi,fc,Ci);continue}zt(),de("END")}return y}t(Lst,"D");function fT(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(fT,"S");function Ist(s){return s&&s.ignoreCase?"ui":"u"}t(Ist,"X");function ker(s,o,f){return Rst(Lst(s,f),o,f)}t(ker,"Z");function X9(s){switch(s){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}t(X9,"k");function Rst(s,o,f={}){f.delimiter??="/#?",f.prefixes??="./",f.sensitive??=!1,f.strict??=!1,f.end??=!0,f.start??=!0,f.endsWith="";let d=f.start?"^":"";for(let F of s){if(F.type===3){F.modifier===3?d+=fT(F.value):d+=`(?:${fT(F.value)})${X9(F.modifier)}`;continue}o&&o.push(F.name);let J=`[^${fT(f.delimiter)}]+?`,G=F.value;if(F.type===1?G=J:F.type===0&&(G=FAe),!F.prefix.length&&!F.suffix.length){F.modifier===3||F.modifier===1?d+=`(${G})${X9(F.modifier)}`:d+=`((?:${G})${X9(F.modifier)})`;continue}if(F.modifier===3||F.modifier===1){d+=`(?:${fT(F.prefix)}(${G})${fT(F.suffix)})`,d+=X9(F.modifier);continue}d+=`(?:${fT(F.prefix)}`,d+=`((?:${G})(?:`,d+=fT(F.suffix),d+=fT(F.prefix),d+=`(?:${G}))*)${fT(F.suffix)})`,F.modifier===0&&(d+="?")}let y=`[${fT(f.endsWith)}]|$`,E=`[${fT(f.delimiter)}]`;if(f.end)return f.strict||(d+=`${E}?`),f.endsWith.length?d+=`(?=${y})`:d+="$",new RegExp(d,Ist(f));f.strict||(d+=`(?:${E}(?=${y}))?`);let P=!1;if(s.length){let F=s[s.length-1];F.type===3&&F.modifier===3&&(P=f.delimiter.indexOf(F)>-1)}return P||(d+=`(?=${E}|${y})`),new RegExp(d,Ist(f))}t(Rst,"F");var QN={delimiter:"",prefixes:"",sensitive:!0,strict:!0},wer={delimiter:".",prefixes:"",sensitive:!0,strict:!0},Der={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function Per(s,o){return s.length?s[0]==="/"?!0:!o||s.length<2?!1:(s[0]=="\\"||s[0]=="{")&&s[1]=="/":!1}t(Per,"J");function Mst(s,o){return s.startsWith(o)?s.substring(o.length,s.length):s}t(Mst,"Q");function Aer(s,o){return s.endsWith(o)?s.substr(0,s.length-o.length):s}t(Aer,"Ee");function jst(s){return!s||s.length<2?!1:s[0]==="["||(s[0]==="\\"||s[0]==="{")&&s[1]==="["}t(jst,"W");var Bst=["ftp","file","http","https","ws","wss"];function Ust(s){if(!s)return!0;for(let o of Bst)if(s.test(o))return!0;return!1}t(Ust,"N");function Ner(s,o){if(s=Mst(s,"#"),o||s==="")return s;let f=new URL("https://example.com");return f.hash=s,f.hash?f.hash.substring(1,f.hash.length):""}t(Ner,"te");function Ier(s,o){if(s=Mst(s,"?"),o||s==="")return s;let f=new URL("https://example.com");return f.search=s,f.search?f.search.substring(1,f.search.length):""}t(Ier,"re");function Oer(s,o){return o||s===""?s:jst(s)?Jst(s):$st(s)}t(Oer,"ne");function Fer(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.password=s,f.password}t(Fer,"se");function Ler(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.username=s,f.username}t(Ler,"ie");function Rer(s,o,f){if(f||s==="")return s;if(o&&!Bst.includes(o))return new URL(`${o}:${s}`).pathname;let d=s[0]=="/";return s=new URL(d?s:"/-"+s,"https://example.com").pathname,d||(s=s.substring(2,s.length)),s}t(Rer,"ae");function Mer(s,o,f){return zst(o)===s&&(s=""),f||s===""?s:Wst(s)}t(Mer,"oe");function jer(s,o){return s=Aer(s,":"),o||s===""?s:LAe(s)}t(jer,"ce");function zst(s){switch(s){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}t(zst,"_");function LAe(s){if(s==="")return s;if(/^[-+.A-Za-z0-9]*$/.test(s))return s.toLowerCase();throw new TypeError(`Invalid protocol '${s}'.`)}t(LAe,"y");function Ber(s){if(s==="")return s;let o=new URL("https://example.com");return o.username=s,o.username}t(Ber,"le");function Uer(s){if(s==="")return s;let o=new URL("https://example.com");return o.password=s,o.password}t(Uer,"fe");function $st(s){if(s==="")return s;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(s))throw new TypeError(`Invalid hostname '${s}'`);let o=new URL("https://example.com");return o.hostname=s,o.hostname}t($st,"z");function Jst(s){if(s==="")return s;if(/[^0-9a-fA-F[\]:]/g.test(s))throw new TypeError(`Invalid IPv6 hostname '${s}'`);return s.toLowerCase()}t(Jst,"j");function Wst(s){if(s===""||/^[0-9]*$/.test(s)&&parseInt(s)<=65535)return s;throw new TypeError(`Invalid port '${s}'.`)}t(Wst,"K");function zer(s){if(s==="")return s;let o=new URL("https://example.com");return o.pathname=s[0]!=="/"?"/-"+s:s,s[0]!=="/"?o.pathname.substring(2,o.pathname.length):o.pathname}t(zer,"he");function $er(s){return s===""?s:new URL(`data:${s}`).pathname}t($er,"ue");function Jer(s){if(s==="")return s;let o=new URL("https://example.com");return o.search=s,o.search.substring(1,o.search.length)}t(Jer,"de");function Wer(s){if(s==="")return s;let o=new URL("https://example.com");return o.hash=s,o.hash.substring(1,o.hash.length)}t(Wer,"pe");var qer=class{static{t(this,"H")}#e;#n=[];#t={};#r=0;#s=1;#m=0;#c=0;#u=0;#f=0;#p=!1;constructor(s){this.#e=s}get result(){return this.#t}parse(){for(this.#n=Fst(this.#e,!0);this.#r<this.#n.length;this.#r+=this.#s){if(this.#s=1,this.#n[this.#r].type==="END"){if(this.#c===0){this.#o(),this.#g()?this.#a(9,1):this.#E()?this.#a(8,1):this.#a(7,0);continue}else if(this.#c===2){this.#h(5);continue}this.#a(10,0);break}if(this.#u>0)if(this.#l())this.#u-=1;else continue;if(this.#A()){this.#u+=1;continue}switch(this.#c){case 0:this.#y()&&this.#h(1);break;case 1:if(this.#y()){this.#D();let s=7,o=1;this.#b()?(s=2,o=3):this.#p&&(s=2),this.#a(s,o)}break;case 2:this.#v()?this.#h(3):(this.#S()||this.#E()||this.#g())&&this.#h(5);break;case 3:this.#C()?this.#a(4,1):this.#v()&&this.#a(5,1);break;case 4:this.#v()&&this.#a(5,1);break;case 5:this.#O()?this.#f+=1:this.#N()&&(this.#f-=1),this.#k()&&!this.#f?this.#a(6,1):this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 6:this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 7:this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 8:this.#g()&&this.#a(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#a(s,o){switch(this.#c){case 0:break;case 1:this.#t.protocol=this.#w();break;case 2:break;case 3:this.#t.username=this.#w();break;case 4:this.#t.password=this.#w();break;case 5:this.#t.hostname=this.#w();break;case 6:this.#t.port=this.#w();break;case 7:this.#t.pathname=this.#w();break;case 8:this.#t.search=this.#w();break;case 9:this.#t.hash=this.#w();break;case 10:break}this.#c!==0&&s!==10&&([1,2,3,4].includes(this.#c)&&[6,7,8,9].includes(s)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#c)&&[8,9].includes(s)&&(this.#t.pathname??=this.#p?"/":""),[1,2,3,4,5,6,7].includes(this.#c)&&s===9&&(this.#t.search??="")),this.#i(s,o)}#i(s,o){this.#c=s,this.#m=this.#r+o,this.#r+=o,this.#s=0}#o(){this.#r=this.#m,this.#s=0}#h(s){this.#o(),this.#c=s}#d(s){return s<0&&(s=this.#n.length-s),s<this.#n.length?this.#n[s]:this.#n[this.#n.length-1]}#_(s,o){let f=this.#d(s);return f.value===o&&(f.type==="CHAR"||f.type==="ESCAPED_CHAR"||f.type==="INVALID_CHAR")}#y(){return this.#_(this.#r,":")}#b(){return this.#_(this.#r+1,"/")&&this.#_(this.#r+2,"/")}#v(){return this.#_(this.#r,"@")}#C(){return this.#_(this.#r,":")}#k(){return this.#_(this.#r,":")}#S(){return this.#_(this.#r,"/")}#E(){if(this.#_(this.#r,"?"))return!0;if(this.#n[this.#r].value!=="?")return!1;let s=this.#d(this.#r-1);return s.type!=="NAME"&&s.type!=="REGEX"&&s.type!=="CLOSE"&&s.type!=="ASTERISK"}#g(){return this.#_(this.#r,"#")}#A(){return this.#n[this.#r].type=="OPEN"}#l(){return this.#n[this.#r].type=="CLOSE"}#O(){return this.#_(this.#r,"[")}#N(){return this.#_(this.#r,"]")}#w(){let s=this.#n[this.#r],o=this.#d(this.#m).index;return this.#e.substring(o,s.index)}#D(){let s={};Object.assign(s,QN),s.encodePart=LAe;let o=ker(this.#w(),void 0,s);this.#p=Ust(o)}},OAe=["protocol","username","password","hostname","port","pathname","search","hash"],ZN="*";function Ost(s,o){if(typeof s!="string")throw new TypeError("parameter 1 is not of type 'string'.");let f=new URL(s,o);return{protocol:f.protocol.substring(0,f.protocol.length-1),username:f.username,password:f.password,hostname:f.hostname,port:f.port,pathname:f.pathname,search:f.search!==""?f.search.substring(1,f.search.length):void 0,hash:f.hash!==""?f.hash.substring(1,f.hash.length):void 0}}t(Ost,"ge");function WP(s,o){return o?JV(s):s}t(WP,"b");function $V(s,o,f){let d;if(typeof o.baseURL=="string")try{d=new URL(o.baseURL),o.protocol===void 0&&(s.protocol=WP(d.protocol.substring(0,d.protocol.length-1),f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&(s.username=WP(d.username,f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&o.password===void 0&&(s.password=WP(d.password,f)),o.protocol===void 0&&o.hostname===void 0&&(s.hostname=WP(d.hostname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&(s.port=WP(d.port,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&(s.pathname=WP(d.pathname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&(s.search=WP(d.search.substring(1,d.search.length),f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&o.hash===void 0&&(s.hash=WP(d.hash.substring(1,d.hash.length),f))}catch{throw new TypeError(`invalid baseURL '${o.baseURL}'.`)}if(typeof o.protocol=="string"&&(s.protocol=jer(o.protocol,f)),typeof o.username=="string"&&(s.username=Ler(o.username,f)),typeof o.password=="string"&&(s.password=Fer(o.password,f)),typeof o.hostname=="string"&&(s.hostname=Oer(o.hostname,f)),typeof o.port=="string"&&(s.port=Mer(o.port,s.protocol,f)),typeof o.pathname=="string"){if(s.pathname=o.pathname,d&&!Per(s.pathname,f)){let y=d.pathname.lastIndexOf("/");y>=0&&(s.pathname=WP(d.pathname.substring(0,y+1),f)+s.pathname)}s.pathname=Rer(s.pathname,s.protocol,f)}return typeof o.search=="string"&&(s.search=Ier(o.search,f)),typeof o.hash=="string"&&(s.hash=Ner(o.hash,f)),s}t($V,"w");function JV(s){return s.replace(/([+*?:{}()\\])/g,"\\$1")}t(JV,"C");function Ver(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(Ver,"Oe");function Her(s,o){o.delimiter??="/#?",o.prefixes??="./",o.sensitive??=!1,o.strict??=!1,o.end??=!0,o.start??=!0,o.endsWith="";let f=".*",d=`[^${Ver(o.delimiter)}]+?`,y=/[$_\u200C\u200D\p{ID_Continue}]/u,E="";for(let P=0;P<s.length;++P){let F=s[P];if(F.type===3){if(F.modifier===3){E+=JV(F.value);continue}E+=`{${JV(F.value)}}${X9(F.modifier)}`;continue}let J=F.hasCustomName(),G=!!F.suffix.length||!!F.prefix.length&&(F.prefix.length!==1||!o.prefixes.includes(F.prefix)),Te=P>0?s[P-1]:null,de=P<s.length-1?s[P+1]:null;if(!G&&J&&F.type===1&&F.modifier===3&&de&&!de.prefix.length&&!de.suffix.length)if(de.type===3){let ae=de.value.length>0?de.value[0]:"";G=y.test(ae)}else G=!de.hasCustomName();if(!G&&!F.prefix.length&&Te&&Te.type===3){let ae=Te.value[Te.value.length-1];G=o.prefixes.includes(ae)}G&&(E+="{"),E+=JV(F.prefix),J&&(E+=`:${F.name}`),F.type===2?E+=`(${F.value})`:F.type===1?J||(E+=`(${d})`):F.type===0&&(!J&&(!Te||Te.type===3||Te.modifier!==3||G||F.prefix!=="")?E+="*":E+=`(${f})`),F.type===1&&J&&F.suffix.length&&y.test(F.suffix[0])&&(E+="\\"),E+=JV(F.suffix),G&&(E+="}"),F.modifier!==3&&(E+=X9(F.modifier))}return E}t(Her,"ke");var qst=class{static{t(this,"me")}#e;#n={};#t={};#r={};#s={};#m=!1;constructor(s={},o,f){try{let d;if(typeof o=="string"?d=o:f=o,typeof s=="string"){let F=new qer(s);if(F.parse(),s=F.result,d===void 0&&typeof s.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");s.baseURL=d}else{if(!s||typeof s!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(d)throw new TypeError("parameter 1 is not of type 'string'.")}typeof f>"u"&&(f={ignoreCase:!1});let y={ignoreCase:f.ignoreCase===!0},E={pathname:ZN,protocol:ZN,username:ZN,password:ZN,hostname:ZN,port:ZN,search:ZN,hash:ZN};this.#e=$V(E,s,!0),zst(this.#e.protocol)===this.#e.port&&(this.#e.port="");let P;for(P of OAe){if(!(P in this.#e))continue;let F={},J=this.#e[P];switch(this.#t[P]=[],P){case"protocol":Object.assign(F,QN),F.encodePart=LAe;break;case"username":Object.assign(F,QN),F.encodePart=Ber;break;case"password":Object.assign(F,QN),F.encodePart=Uer;break;case"hostname":Object.assign(F,wer),jst(J)?F.encodePart=Jst:F.encodePart=$st;break;case"port":Object.assign(F,QN),F.encodePart=Wst;break;case"pathname":Ust(this.#n.protocol)?(Object.assign(F,Der,y),F.encodePart=zer):(Object.assign(F,QN,y),F.encodePart=$er);break;case"search":Object.assign(F,QN,y),F.encodePart=Jer;break;case"hash":Object.assign(F,QN,y),F.encodePart=Wer;break}try{this.#s[P]=Lst(J,F),this.#n[P]=Rst(this.#s[P],this.#t[P],F),this.#r[P]=Her(this.#s[P],F),this.#m=this.#m||this.#s[P].some(G=>G.type===2)}catch{throw new TypeError(`invalid ${P} pattern '${this.#e[P]}'.`)}}}catch(d){throw new TypeError(`Failed to construct 'URLPattern': ${d.message}`)}}test(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return!1;try{typeof s=="object"?f=$V(f,s,!1):f=$V(f,Ost(s,o),!1)}catch{return!1}let d;for(d of OAe)if(!this.#n[d].exec(f[d]))return!1;return!0}exec(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return;try{typeof s=="object"?f=$V(f,s,!1):f=$V(f,Ost(s,o),!1)}catch{return null}let d={};o?d.inputs=[s,o]:d.inputs=[s];let y;for(y of OAe){let E=this.#n[y].exec(f[y]);if(!E)return null;let P={};for(let[F,J]of this.#t[y].entries())if(typeof J=="string"||typeof J=="number"){let G=E[F+1];P[J]=G}d[y]={input:f[y]??"",groups:P}}return d}static compareComponent(s,o,f){let d=t((F,J)=>{for(let G of["type","modifier","prefix","value","suffix"]){if(F[G]<J[G])return-1;if(F[G]!==J[G])return 1}return 0},"o"),y=new WV(3,"","","","",3),E=new WV(0,"","","","",3),P=t((F,J)=>{let G=0;for(;G<Math.min(F.length,J.length);++G){let Te=d(F[G],J[G]);if(Te)return Te}return F.length===J.length?0:d(F[G]??y,J[G]??y)},"s");return!o.#r[s]&&!f.#r[s]?0:o.#r[s]&&!f.#r[s]?P(o.#s[s],[E]):!o.#r[s]&&f.#r[s]?P([E],f.#s[s]):P(o.#s[s],f.#s[s])}get protocol(){return this.#r.protocol}get username(){return this.#r.username}get password(){return this.#r.password}get hostname(){return this.#r.hostname}get port(){return this.#r.port}get pathname(){return this.#r.pathname}get search(){return this.#r.search}get hash(){return this.#r.hash}get hasRegExpGroups(){return this.#m}};globalThis.URLPattern||(globalThis.URLPattern=qst);import{AssertionError as Ger}from"node:assert";function qP(s,o){if(s===!1)throw new Ger({message:o})}t(qP,"assert");var Wo;(function(s){s.Object="Object",s.Property="Property",s.Array="Array",s.Literal="Literal",s.TemplateString="TemplateString",s.Identifier="Identifier",s.FunctionCall="FunctionCall",s.Raw="Raw"})(Wo||(Wo={}));function Z9(s){return s.type===Wo.Object}t(Z9,"isAstObject");function VP(s){return s.type===Wo.Property}t(VP,"isAstProperty");function RAe(s){return s.type===Wo.Array}t(RAe,"isAstArray");function bO(s){return s.type===Wo.Literal}t(bO,"isAstLiteral");function eI(s){if(s===void 0)throw new Error("Node is undefined");if(!Z9(s))throw new Error("Node is not object")}t(eI,"assertAstObject");import{findNodeAtLocation as Yer,getNodeValue as Ker,printParseErrorCode as Xer,visit as Zer}from"jsonc-parser";var Qer={DEFAULT:{allowTrailingComma:!1}};function qV(s,o=[],f=Qer.DEFAULT){let d={type:"array",offset:-1,length:-1,line:-1,column:-1,children:[],parent:void 0};function y(J){d.type==="property"&&(d.length=J-d.offset,d=d.parent)}t(y,"ensurePropertyComplete");function E(J){return d.children?.push(J),J}t(E,"onValue"),Zer(s,{onObjectBegin:t((J,G,Te)=>{d=E({type:"object",offset:J,length:-1,line:G+1,column:Te+1,parent:d,children:[]})},"onObjectBegin"),onObjectProperty:t((J,G,Te,de,ae)=>{d=E({type:"property",offset:G,length:-1,line:de+1,column:ae+1,parent:d,children:[]}),d.children?.push({type:"string",value:J,offset:G,length:Te,line:de,column:ae,parent:d})},"onObjectProperty"),onObjectEnd:t((J,G)=>{y(J+G),d.length=J+G-d.offset,d=d.parent,y(J+G)},"onObjectEnd"),onArrayBegin:t((J,G,Te,de)=>{d=E({type:"array",offset:J,length:-1,line:Te+1,column:de+1,parent:d,children:[]})},"onArrayBegin"),onArrayEnd:t((J,G)=>{d.length=J+G-d.offset,d=d.parent,y(J+G)},"onArrayEnd"),onLiteralValue:t((J,G,Te,de,ae)=>{E({type:etr(J),offset:G,length:Te,line:de+1,column:ae+1,parent:d,value:J}),y(G+Te)},"onLiteralValue"),onSeparator:t((J,G)=>{d.type==="property"&&(J===":"?d.colonOffset=G:J===","&&y(G))},"onSeparator"),onError:t((J,G,Te,de,ae)=>{o.push({error:J,offset:G,length:Te,line:de+1,column:ae+1})},"onError")},f);let F=d.children?.[0];return F&&delete F.parent,F}t(qV,"parse");function etr(s){switch(typeof s){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(s){if(Array.isArray(s))return"array"}else return"null";return"object"}default:return"null"}}t(etr,"getNodeType");function MAe(s,o){return Yer(s,o)}t(MAe,"findNodeAtLocation");function VV(s){return Ker(s)}t(VV,"getNodeValue");function Vst(s){return Xer(s)}t(Vst,"printParseErrorCode");var HV=class{static{t(this,"AstAdapter")}parse(o){let d=qV(o,[]);if(d)return this.parseNode(d,void 0);throw new Error("Failed to parse JSON")}convert(o){return this.parseNode(o,void 0)}parseNode(o,f){switch(o.type){case"object":return this.createObject(o,f);case"array":return this.createArray(o,f);case"property":return this.createProperty(o,f);case"string":return this.createLiteral(o,f);case"number":return this.createLiteral(o,f);case"boolean":return this.createLiteral(o,f);case"null":return this.createLiteral(o,f)}}createLiteral(o,f){return{type:Wo.Literal,location:{line:o.line,column:o.column},parent:f,value:o.type==="null"?null:o.value}}createObject(o,f){let d={type:Wo.Object,children:[],parent:f,location:{line:o.line,column:o.column}};return o.children?.forEach(y=>{d.children.push(this.parseNode(y,d))}),d}createProperty(o,f){qP(o.children?.length===2,"Invalid property node");let d={type:Wo.Property,location:{line:o.line,column:o.column},parent:f,name:null,value:null};return d.name={value:o.children[0].value,location:{line:o.line,column:o.column},type:Wo.Identifier,parent:d},d.value=this.parseNode(o.children[1],d),d}createArray(o,f){let d={type:Wo.Array,location:{line:o.line,column:o.column},parent:f,children:[]};return o.children?.forEach(y=>d.children.push(this.parseNode(y,d))),d}};var DS={createLiteral:t((s,o)=>({type:Wo.Literal,parent:o,value:s}),"createLiteral"),createTemplateString:t((s,o)=>({type:Wo.TemplateString,parent:o,value:s}),"createTemplateString"),createIdentifier:t((s,o)=>({type:Wo.Identifier,value:s,parent:o}),"createIdentifier"),createProperty:t((s,o,f)=>{let d={type:Wo.Property,parent:f,name:null,value:o};return d.name={value:s,type:Wo.Identifier,parent:d},d.value.parent=d,d},"createProperty"),createArrayOfLiterals:t((s,o)=>{let f={type:Wo.Array,parent:o,children:[]};for(let d of s)f.children.push(DS.createLiteral(d,f));return f},"createArrayOfLiterals")};var ttr=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,GV=class{static{t(this,"SourceGenerator")}generate(o){let f=[];return this.generateSource(f,o),f.join("")}generateSource(o,f){switch(f.type){case Wo.Array:return this.generateArray(o,f);case Wo.Object:return this.generateObject(o,f);case Wo.Property:return this.generateProperty(o,f);case Wo.Literal:return this.generateLiteral(o,f);case Wo.FunctionCall:return this.generateFunctionCall(o,f);case Wo.Identifier:return this.generateIdentifier(o,f);case Wo.Raw:return this.generateRaw(o,f);case Wo.TemplateString:return this.generateTemplateString(o,f)}}generateArray(o,f){o.push("["),f.children.map(d=>{this.generateSource(o,d),o.push(",")}),o.push("]")}generateObject(o,f){o.push("{"),f.children.forEach(d=>{this.generateSource(o,d),o.push(",")}),o.push("}")}generateProperty(o,f){this.generateIdentifier(o,f.name),o.push(":"),this.generateSource(o,f.value)}generateFunctionCall(o,f){o.push(f.name.value),o.push("("),f.children.forEach((d,y,E)=>{this.generateSource(o,d),y<E.length&&o.push(",")}),o.push(")")}generateRaw(o,f){o.push(f.value)}generateTemplateString(o,f){o.push("`"),o.push(f.value.replaceAll("`","\\`")),o.push("`")}generateLiteral(o,f){if(f.value===null)return o.push("null");switch(typeof f.value){case"number":case"boolean":return o.push(`${f.value}`);case"string":{let d=f.value,y=JSON.stringify(d);return o.push(`${y}`)}}}generateIdentifier(o,f){let d=ttr.test(f.value)?f.value:`'${f.value}'`;o.push(d)}};import rtr from"node:fs/promises";import{parse as ntr}from"@swc/core";var Hst=t(async s=>{let o=new Set;try{let f=await rtr.readFile(s,"utf-8");(await ntr(f,{syntax:"typescript"})).body.forEach(y=>{y.type==="ExportDefaultDeclaration"||y.type==="ExportDefaultExpression"?o.add("default"):y.type==="ExportDeclaration"&&y.declaration.type==="FunctionDeclaration"?o.add(y.declaration.identifier.value):y.type==="ExportDeclaration"&&y.declaration.type==="VariableDeclaration"&&y.declaration.declarations[0].id.type==="Identifier"&&o.add(y.declaration.declarations[0].id.value)})}catch{return null}return o},"getJSFileExports");var Gst={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/fragments.schema.json",$defs:{corsPolicyConfiguration:{type:"object",required:["name","allowedOrigins"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},allowCredentials:{type:"boolean"},maxAge:{type:"number"},allowedOrigins:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},allowedMethods:{oneOf:[{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},{type:"string"}]},allowedHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},exposeHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]}}},handlerDefinition:{type:"object",properties:{module:{type:"string",pattern:"^\\$import\\([^ )]*?\\)$"},export:{type:"string"},options:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["module","export"]},httpMethod:{type:"string",enum:["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH"]}}};var jAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policies.schema.json",title:"Policies Config File",type:"object",additionalProperties:!1,properties:{policies:{type:"array",items:{$ref:"policy-configuration.schema.json"}},corsPolicies:{type:"array",items:{$ref:"fragments.schema.json#/$defs/corsPolicyConfiguration"}}}};var Yst={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policy-configuration.schema.json",title:"Policy Configuration Fragment",type:"object",required:["name","policyType","handler"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},policyType:{type:"string"},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},options:{type:"object",additionalProperties:!0}}};var BAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration.schema.json",title:"Route Configuration Fragment",description:"",type:"object",required:["path","methods","handler"],additionalProperties:!1,$defs:{corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"}},properties:{operationId:{type:"string"},path:{type:"string",pattern:"^/[^\\s]*$"},methods:{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},label:{type:"string",description:"An internal user-friendly identifier of the route."},enforceOpenApi:{type:"boolean",description:"If true, schema validation found in the OpenAPI spec will be enforced on requests/responses."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{$ref:"#/$defs/corsPolicy"},custom:{},mcp:{type:"object",additionalProperties:!1,properties:{enabled:{type:"boolean"}}},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},summary:{type:"string"},description:{type:"string"},excludeFromOpenApi:{type:"boolean"},tags:{type:"array",items:{type:"string"}}}};var UAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration-open-api.schema.json",title:"Open API Route Configuration Fragment",description:"These are the properties that can appear under the x-zuplo-route extension in a PathObject in Open API. It's a subset of what can appear in Zuplo's routes.json.",type:"object",required:["handler"],additionalProperties:!1,properties:{label:{type:"string",description:"An internal user-friendly identifier of the route."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"},custom:{},mcp:{oneOf:[{type:"object",additionalProperties:!1,properties:{type:{const:"tool"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"},includeOutputSchema:{type:"boolean"},includeStructuredContent:{type:"boolean"},annotations:{type:"object",additionalProperties:!1,properties:{title:{type:"string"},readOnlyHint:{type:"boolean"},destructiveHint:{type:"boolean"},idempotentHint:{type:"boolean"},openWorldHint:{type:"boolean"}}},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"prompt"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"resource"},name:{type:"string"},description:{type:"string"},uri:{type:"string"},mimeType:{type:"string"},enabled:{type:"boolean"},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"graphql"},enabled:{type:"boolean"},introspectionTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}},executeTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}}},required:["type"]}]},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},tags:{type:"array",items:{type:"string"}}}};var tlt=Hp(Kce(),1),rlt=Hp(elt(),1);var Qce=class s{static{t(this,"JsonValidator")}static#e=new s;static get instance(){return s.#e}ajv;constructor(){this.ajv=new tlt.Ajv2020({allErrors:!0,allowUnionTypes:!0}),this.ajv.addKeyword("faker"),(0,rlt.default)(this.ajv,{mode:"fast"})}addSchema(o,f){this.ajv.addSchema(o,f)}compile(o){let f=this.ajv.compile(o);return t(y=>({isValid:f(y),errors:this.toSimpleErrors(f.errors,y),warnings:[]}),"validator")}toSimpleErrors(o,f){let d=[];return o?.forEach(y=>{y.keyword==="enum"&&y.params.allowedValues&&Array.isArray(y.params.allowedValues)&&(y.message+=`; ${y.params.allowedValues.join(", ")}`),y.instancePath&&(y.instancePath=y.instancePath.replaceAll(/(\/)?(~1)(\/)?/gm,"/"));let E={details:{}},P=y.instancePath.split("/");if(P.length>2){let J=P[1],G=P[2]?parseInt(P[2],10):0,Te=P[3],de=Number.isNaN(G)?void 0:f[J][G][Te];E={details:{property:J,index:G,field:Te,fieldValue:de}}}if(y.keyword==="required"&&y.params.missingProperty&&y.instancePath&&(y.message=`A 'path' is missing required property '${y.params.missingProperty}'`),y.keyword==="additionalProperties"&&y.params.additionalProperty&&y.instancePath&&(y.message=`A 'path' should NOT include property '${y.params.additionalProperty}'`),y.keyword==="type"&&y.params.type&&y.instancePath){let J=y.instancePath.split("/"),G=J[J.length-1];y.message=`Value of property '${G}' must be '${y.params.type}'`}let F=Object.assign(y,E);d.push(F)}),d}};var uI=Qce.instance;uI.addSchema(BAe,"route-configuration.schema.json");uI.addSchema(Yst,"policy-configuration.schema.json");uI.addSchema(jAe,"policies.schema.json");uI.addSchema(UAe,"open-api-route-configuration.schema.json");uI.addSchema(Gst,"fragments.schema.json");var ZAr=uI.compile(BAe),nlt=uI.compile(UAe),tIe=uI.compile(jAe);var ele=class{static{t(this,"PoliciesConfigurationValidator")}results;validate(o){return this.results=tIe(o),this.results}};var tle=class{static{t(this,"OpenAPILocalizedValidator")}results;validate(o){return this.results=nlt(o),this.results}};import pcr from"node:path";var rIe=/\$import\((.*)\)/,kH=/\$env\((.*?)\)/g;var Bk=class extends Error{static{t(this,"CodeGenError")}location;constructor(o,f,d,y){super(o),this.location={file:f,namespace:"",line:d?d.line:0,column:d?d.column:0,length:0,lineText:y??"",suggestion:""}}},_cr=t(s=>{let o=[],f=s;for(;f.parent;)o.push(f),f=f.parent;return o.reverse()},"invertTree"),XP=t((s,o)=>{if(!s)return!1;let f=_cr(s);return o.split("/").every((E,P)=>{let F=f[P];return F?E==="*"||VP(F)&&F.name.value===E?!0:E==="{}"?F.type===Wo.Object:E==="[]"?F.type===Wo.Array:!1:!1})},"testPosition");var rle=class{static{t(this,"AstTransformer")}errors=[];transform(o){return this.visitor(o),o}visitor(o){this.visit(o),Z9(o)?o.children.forEach(f=>{this.visitor(f)}):RAe(o)?o.children.forEach(f=>{this.visitor(f)}):VP(o)&&this.visitor(o.value)}},ilt=t(s=>{let o=new RegExp(kH).exec(s);if(o?.length===2&&o[0]===s)return{type:"raw",value:`environment["${o[1]}"]`};{let f=s.replaceAll(new RegExp(kH),(d,y)=>`\${environment["${y}"] ? environment["${y}"] : ""}`);if(f!==s)return{type:"template",value:f}}return null},"replaceEnvInString"),slt=t((s,o,f)=>d=>{if(bO(d)&&typeof d.value=="string"&&d.parent&&RAe(d.parent)){if(!s.some(P=>XP(d.parent,P))){kH.test(d.value)&&o.push(new Bk("An $env() statement is not expected at this location.",f,d.location,d.value));return}let E=ilt(d.value);if(E){let P=d.parent,F=P.children.indexOf(d);if(F!==-1)if(E.type==="raw"){let J={type:Wo.Raw,parent:P,value:E.value};P.children[F]=J}else P.children[F]=DS.createTemplateString(E.value,d)}return}if(!VP(d)||!bO(d.value)||typeof d.value.value!="string")return;if(!s.some(E=>XP(d,E))){kH.test(d.value.value)&&o.push(new Bk("An $env() statement is not expected at this location.",f,d.location,d.value.value));return}let y=ilt(d.value.value);if(y)if(y.type==="raw"){let E={type:Wo.Raw,parent:null,value:y.value};d.value=E}else d.value=DS.createTemplateString(y.value,d)},"getEnvStatementTransformer");var wH="config/routes.json",dcr=["handler/{}/options/*","handler/{}/options/*/[]","policies/[]/{}/handler/{}/options/*","policies/[]/{}/handler/{}/options/*/[]","corsPolicies/[]/{}/*","corsPolicies/[]/{}/*/[]"],mcr=["handler/{}/module","handler/{}/options/{}/policies/{}/inbound/[]/{}/module","handler/{}/options/{}/policies/{}/outbound/[]/{}/module","policies/[]/{}/handler/{}/module","policies/[]/{}/handler/{}/options/{}/identifier/{}/module","policies/[]/{}/handler/{}/options/{}/validator"],alt=["handler/{}/options/*","policies/[]/{}/handler/{}/options/*"],hcr="handler/{}/options/{}/rewritePattern",gcr="handler/{}/options/{}/baseUrl",nle=class extends rle{static{t(this,"OpenAPIRoutesFragmentAstTransformer")}importCount=0;addedImports=new Map;getImportName(o){this.addedImports.has(o)||this.addedImports.set(o,`__import${this.importCount++}`);let f=this.addedImports.get(o);if(!f)throw new Error("Import name is undefined. This should not happen.");return f}getImports(){let o=[];return this.addedImports.forEach((f,d)=>{o.push({name:f,path:d})}),o}visit(o){this.rewriteHandlerFunction(o),this.rewriteForwardFunction(o),this.replaceImportStatements(o),this.replaceEnvStatements(o)}rewriteHandlerFunction(o){if(!(!VP(o)||!bO(o.value)||typeof o.value.value!="string")&&XP(o,hcr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new Bk("Invalid node, expected object",wH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:olt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}rewriteForwardFunction(o){if(!(!VP(o)||!bO(o.value)||typeof o.value.value!="string")&&XP(o,gcr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new Bk("Invalid node, expected object",wH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:olt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}replaceImportStatements(o){if(!VP(o)||!bO(o.value))return;let f=o.value.value;if(typeof f!="string")return;if(!mcr.some(F=>XP(o,F))&&!alt.some(F=>XP(o,F))){if(rIe.test(f)){if(o.name.value==="$ref")return;this.errors.push(new Bk("An $import() statement is not expected at this location.",wH,o.location,f))}return}let d=rIe.exec(f);if(alt.some(F=>XP(o,F))&&!d)return;if(!d){this.errors.push(new Bk("Invalid $import() statement",wH,o.location,f));return}let y=d[1];y=y.replace(/\\/g,"/"),y.startsWith(".")&&(y=pcr.posix.join("..",y));let E=this.getImportName(y),P={type:Wo.Identifier,parent:o.parent,value:E};o.value=P}replaceEnvStatements=slt(dcr,this.errors,wH)};function olt(s){return`(request, context) => {
|
|
575
|
+
`),exitCode:E},"Untar process logs")}}t(YXt,"untarFile");async function KXt(s){if(await QPe(s))return await YN.rm(s,{recursive:!0})}t(KXt,"deleteFolder");var eu=eAe;var _lt=Hp(Ast(),1);var Nst=["ai-gateway-semantic-cache-inbound","ai-gateway-semantic-cache-inbound-v2","ai-gateway-semantic-cache-outbound","akamai-ai-firewall","akamai-ai-firewall-inbound-v2","akamai-firewall-for-ai-inbound","akamai-firewall-for-ai-outbound","comet-opik-tracing-inbound-v2","galileo-tracing-inbound-v2","prompt-injection-outbound","semantic-cache-inbound"];var WV=class{static{t(this,"R")}type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(s,o,f,d,y,E){this.type=s,this.name=o,this.prefix=f,this.value=d,this.suffix=y,this.modifier=E}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},xer=/[$_\p{ID_Start}]/u,Eer=/[$_\u200C\u200D\p{ID_Continue}]/u,FAe=".*";function Cer(s,o){return(o?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(s)}t(Cer,"Re");function Fst(s,o=!1){let f=[],d=0;for(;d<s.length;){let y=s[d],E=t(function(P){if(!o)throw new TypeError(P);f.push({type:"INVALID_CHAR",index:d,value:s[d++]})},"c");if(y==="*"){f.push({type:"ASTERISK",index:d,value:s[d++]});continue}if(y==="+"||y==="?"){f.push({type:"OTHER_MODIFIER",index:d,value:s[d++]});continue}if(y==="\\"){f.push({type:"ESCAPED_CHAR",index:d++,value:s[d++]});continue}if(y==="{"){f.push({type:"OPEN",index:d,value:s[d++]});continue}if(y==="}"){f.push({type:"CLOSE",index:d,value:s[d++]});continue}if(y===":"){let P="",F=d+1;for(;F<s.length;){let J=s.substr(F,1);if(F===d+1&&xer.test(J)||F!==d+1&&Eer.test(J)){P+=s[F++];continue}break}if(!P){E(`Missing parameter name at ${d}`);continue}f.push({type:"NAME",index:d,value:P}),d=F;continue}if(y==="("){let P=1,F="",J=d+1,G=!1;if(s[J]==="?"){E(`Pattern cannot start with "?" at ${J}`);continue}for(;J<s.length;){if(!Cer(s[J],!1)){E(`Invalid character '${s[J]}' at ${J}.`),G=!0;break}if(s[J]==="\\"){F+=s[J++]+s[J++];continue}if(s[J]===")"){if(P--,P===0){J++;break}}else if(s[J]==="("&&(P++,s[J+1]!=="?")){E(`Capturing groups are not allowed at ${J}`),G=!0;break}F+=s[J++]}if(G)continue;if(P){E(`Unbalanced pattern at ${d}`);continue}if(!F){E(`Missing pattern at ${d}`);continue}f.push({type:"REGEX",index:d,value:F}),d=J;continue}f.push({type:"CHAR",index:d,value:s[d++]})}return f.push({type:"END",index:d,value:""}),f}t(Fst,"v");function Lst(s,o={}){let f=Fst(s);o.delimiter??="/#?",o.prefixes??="./";let d=`[^${fT(o.delimiter)}]+?`,y=[],E=0,P=0,F="",J=new Set,G=t(wn=>{if(P<f.length&&f[P].type===wn)return f[P++].value},"a"),Te=t(()=>G("OTHER_MODIFIER")??G("ASTERISK"),"f"),de=t(wn=>{let sn=G(wn);if(sn!==void 0)return sn;let{type:Jn,index:wr}=f[P];throw new TypeError(`Unexpected ${Jn} at ${wr}, expected ${wn}`)},"d"),ae=t(()=>{let wn="",sn;for(;sn=G("CHAR")??G("ESCAPED_CHAR");)wn+=sn;return wn},"T"),He=t(wn=>wn,"Se"),Ue=o.encodePart||He,je="",Yt=t(wn=>{je+=wn},"U"),zt=t(()=>{je.length&&(y.push(new WV(3,"","",Ue(je),"",3)),je="")},"$"),Sr=t((wn,sn,Jn,wr,yr)=>{let xs=3;switch(yr){case"?":xs=1;break;case"*":xs=0;break;case"+":xs=2;break}if(!sn&&!Jn&&xs===3){Yt(wn);return}if(zt(),!sn&&!Jn){if(!wn)return;y.push(new WV(3,"","",Ue(wn),"",xs));return}let bi;Jn?Jn==="*"?bi=FAe:bi=Jn:bi=d;let fc=2;bi===d?(fc=1,bi=""):bi===FAe&&(fc=0,bi="");let Ci;if(sn?Ci=sn:Jn&&(Ci=E++),J.has(Ci))throw new TypeError(`Duplicate name '${Ci}'.`);J.add(Ci),y.push(new WV(fc,Ci,Ue(wn),bi,Ue(wr),xs))},"V");for(;P<f.length;){let wn=G("CHAR"),sn=G("NAME"),Jn=G("REGEX");if(!sn&&!Jn&&(Jn=G("ASTERISK")),sn||Jn){let yr=wn??"";o.prefixes.indexOf(yr)===-1&&(Yt(yr),yr=""),zt();let xs=Te();Sr(yr,sn,Jn,"",xs);continue}let wr=wn??G("ESCAPED_CHAR");if(wr){Yt(wr);continue}if(G("OPEN")){let yr=ae(),xs=G("NAME"),bi=G("REGEX");!xs&&!bi&&(bi=G("ASTERISK"));let fc=ae();de("CLOSE");let Ci=Te();Sr(yr,xs,bi,fc,Ci);continue}zt(),de("END")}return y}t(Lst,"D");function fT(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(fT,"S");function Ist(s){return s&&s.ignoreCase?"ui":"u"}t(Ist,"X");function ker(s,o,f){return Rst(Lst(s,f),o,f)}t(ker,"Z");function X9(s){switch(s){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}t(X9,"k");function Rst(s,o,f={}){f.delimiter??="/#?",f.prefixes??="./",f.sensitive??=!1,f.strict??=!1,f.end??=!0,f.start??=!0,f.endsWith="";let d=f.start?"^":"";for(let F of s){if(F.type===3){F.modifier===3?d+=fT(F.value):d+=`(?:${fT(F.value)})${X9(F.modifier)}`;continue}o&&o.push(F.name);let J=`[^${fT(f.delimiter)}]+?`,G=F.value;if(F.type===1?G=J:F.type===0&&(G=FAe),!F.prefix.length&&!F.suffix.length){F.modifier===3||F.modifier===1?d+=`(${G})${X9(F.modifier)}`:d+=`((?:${G})${X9(F.modifier)})`;continue}if(F.modifier===3||F.modifier===1){d+=`(?:${fT(F.prefix)}(${G})${fT(F.suffix)})`,d+=X9(F.modifier);continue}d+=`(?:${fT(F.prefix)}`,d+=`((?:${G})(?:`,d+=fT(F.suffix),d+=fT(F.prefix),d+=`(?:${G}))*)${fT(F.suffix)})`,F.modifier===0&&(d+="?")}let y=`[${fT(f.endsWith)}]|$`,E=`[${fT(f.delimiter)}]`;if(f.end)return f.strict||(d+=`${E}?`),f.endsWith.length?d+=`(?=${y})`:d+="$",new RegExp(d,Ist(f));f.strict||(d+=`(?:${E}(?=${y}))?`);let P=!1;if(s.length){let F=s[s.length-1];F.type===3&&F.modifier===3&&(P=f.delimiter.indexOf(F)>-1)}return P||(d+=`(?=${E}|${y})`),new RegExp(d,Ist(f))}t(Rst,"F");var QN={delimiter:"",prefixes:"",sensitive:!0,strict:!0},wer={delimiter:".",prefixes:"",sensitive:!0,strict:!0},Der={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function Per(s,o){return s.length?s[0]==="/"?!0:!o||s.length<2?!1:(s[0]=="\\"||s[0]=="{")&&s[1]=="/":!1}t(Per,"J");function Mst(s,o){return s.startsWith(o)?s.substring(o.length,s.length):s}t(Mst,"Q");function Aer(s,o){return s.endsWith(o)?s.substr(0,s.length-o.length):s}t(Aer,"Ee");function jst(s){return!s||s.length<2?!1:s[0]==="["||(s[0]==="\\"||s[0]==="{")&&s[1]==="["}t(jst,"W");var Bst=["ftp","file","http","https","ws","wss"];function Ust(s){if(!s)return!0;for(let o of Bst)if(s.test(o))return!0;return!1}t(Ust,"N");function Ner(s,o){if(s=Mst(s,"#"),o||s==="")return s;let f=new URL("https://example.com");return f.hash=s,f.hash?f.hash.substring(1,f.hash.length):""}t(Ner,"te");function Ier(s,o){if(s=Mst(s,"?"),o||s==="")return s;let f=new URL("https://example.com");return f.search=s,f.search?f.search.substring(1,f.search.length):""}t(Ier,"re");function Oer(s,o){return o||s===""?s:jst(s)?Jst(s):$st(s)}t(Oer,"ne");function Fer(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.password=s,f.password}t(Fer,"se");function Ler(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.username=s,f.username}t(Ler,"ie");function Rer(s,o,f){if(f||s==="")return s;if(o&&!Bst.includes(o))return new URL(`${o}:${s}`).pathname;let d=s[0]=="/";return s=new URL(d?s:"/-"+s,"https://example.com").pathname,d||(s=s.substring(2,s.length)),s}t(Rer,"ae");function Mer(s,o,f){return zst(o)===s&&(s=""),f||s===""?s:Wst(s)}t(Mer,"oe");function jer(s,o){return s=Aer(s,":"),o||s===""?s:LAe(s)}t(jer,"ce");function zst(s){switch(s){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}t(zst,"_");function LAe(s){if(s==="")return s;if(/^[-+.A-Za-z0-9]*$/.test(s))return s.toLowerCase();throw new TypeError(`Invalid protocol '${s}'.`)}t(LAe,"y");function Ber(s){if(s==="")return s;let o=new URL("https://example.com");return o.username=s,o.username}t(Ber,"le");function Uer(s){if(s==="")return s;let o=new URL("https://example.com");return o.password=s,o.password}t(Uer,"fe");function $st(s){if(s==="")return s;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(s))throw new TypeError(`Invalid hostname '${s}'`);let o=new URL("https://example.com");return o.hostname=s,o.hostname}t($st,"z");function Jst(s){if(s==="")return s;if(/[^0-9a-fA-F[\]:]/g.test(s))throw new TypeError(`Invalid IPv6 hostname '${s}'`);return s.toLowerCase()}t(Jst,"j");function Wst(s){if(s===""||/^[0-9]*$/.test(s)&&parseInt(s)<=65535)return s;throw new TypeError(`Invalid port '${s}'.`)}t(Wst,"K");function zer(s){if(s==="")return s;let o=new URL("https://example.com");return o.pathname=s[0]!=="/"?"/-"+s:s,s[0]!=="/"?o.pathname.substring(2,o.pathname.length):o.pathname}t(zer,"he");function $er(s){return s===""?s:new URL(`data:${s}`).pathname}t($er,"ue");function Jer(s){if(s==="")return s;let o=new URL("https://example.com");return o.search=s,o.search.substring(1,o.search.length)}t(Jer,"de");function Wer(s){if(s==="")return s;let o=new URL("https://example.com");return o.hash=s,o.hash.substring(1,o.hash.length)}t(Wer,"pe");var qer=class{static{t(this,"H")}#e;#n=[];#t={};#r=0;#s=1;#m=0;#c=0;#u=0;#f=0;#p=!1;constructor(s){this.#e=s}get result(){return this.#t}parse(){for(this.#n=Fst(this.#e,!0);this.#r<this.#n.length;this.#r+=this.#s){if(this.#s=1,this.#n[this.#r].type==="END"){if(this.#c===0){this.#o(),this.#g()?this.#a(9,1):this.#E()?this.#a(8,1):this.#a(7,0);continue}else if(this.#c===2){this.#h(5);continue}this.#a(10,0);break}if(this.#u>0)if(this.#l())this.#u-=1;else continue;if(this.#A()){this.#u+=1;continue}switch(this.#c){case 0:this.#y()&&this.#h(1);break;case 1:if(this.#y()){this.#D();let s=7,o=1;this.#b()?(s=2,o=3):this.#p&&(s=2),this.#a(s,o)}break;case 2:this.#v()?this.#h(3):(this.#S()||this.#E()||this.#g())&&this.#h(5);break;case 3:this.#C()?this.#a(4,1):this.#v()&&this.#a(5,1);break;case 4:this.#v()&&this.#a(5,1);break;case 5:this.#O()?this.#f+=1:this.#N()&&(this.#f-=1),this.#k()&&!this.#f?this.#a(6,1):this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 6:this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 7:this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 8:this.#g()&&this.#a(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#a(s,o){switch(this.#c){case 0:break;case 1:this.#t.protocol=this.#w();break;case 2:break;case 3:this.#t.username=this.#w();break;case 4:this.#t.password=this.#w();break;case 5:this.#t.hostname=this.#w();break;case 6:this.#t.port=this.#w();break;case 7:this.#t.pathname=this.#w();break;case 8:this.#t.search=this.#w();break;case 9:this.#t.hash=this.#w();break;case 10:break}this.#c!==0&&s!==10&&([1,2,3,4].includes(this.#c)&&[6,7,8,9].includes(s)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#c)&&[8,9].includes(s)&&(this.#t.pathname??=this.#p?"/":""),[1,2,3,4,5,6,7].includes(this.#c)&&s===9&&(this.#t.search??="")),this.#i(s,o)}#i(s,o){this.#c=s,this.#m=this.#r+o,this.#r+=o,this.#s=0}#o(){this.#r=this.#m,this.#s=0}#h(s){this.#o(),this.#c=s}#d(s){return s<0&&(s=this.#n.length-s),s<this.#n.length?this.#n[s]:this.#n[this.#n.length-1]}#_(s,o){let f=this.#d(s);return f.value===o&&(f.type==="CHAR"||f.type==="ESCAPED_CHAR"||f.type==="INVALID_CHAR")}#y(){return this.#_(this.#r,":")}#b(){return this.#_(this.#r+1,"/")&&this.#_(this.#r+2,"/")}#v(){return this.#_(this.#r,"@")}#C(){return this.#_(this.#r,":")}#k(){return this.#_(this.#r,":")}#S(){return this.#_(this.#r,"/")}#E(){if(this.#_(this.#r,"?"))return!0;if(this.#n[this.#r].value!=="?")return!1;let s=this.#d(this.#r-1);return s.type!=="NAME"&&s.type!=="REGEX"&&s.type!=="CLOSE"&&s.type!=="ASTERISK"}#g(){return this.#_(this.#r,"#")}#A(){return this.#n[this.#r].type=="OPEN"}#l(){return this.#n[this.#r].type=="CLOSE"}#O(){return this.#_(this.#r,"[")}#N(){return this.#_(this.#r,"]")}#w(){let s=this.#n[this.#r],o=this.#d(this.#m).index;return this.#e.substring(o,s.index)}#D(){let s={};Object.assign(s,QN),s.encodePart=LAe;let o=ker(this.#w(),void 0,s);this.#p=Ust(o)}},OAe=["protocol","username","password","hostname","port","pathname","search","hash"],ZN="*";function Ost(s,o){if(typeof s!="string")throw new TypeError("parameter 1 is not of type 'string'.");let f=new URL(s,o);return{protocol:f.protocol.substring(0,f.protocol.length-1),username:f.username,password:f.password,hostname:f.hostname,port:f.port,pathname:f.pathname,search:f.search!==""?f.search.substring(1,f.search.length):void 0,hash:f.hash!==""?f.hash.substring(1,f.hash.length):void 0}}t(Ost,"ge");function WP(s,o){return o?JV(s):s}t(WP,"b");function $V(s,o,f){let d;if(typeof o.baseURL=="string")try{d=new URL(o.baseURL),o.protocol===void 0&&(s.protocol=WP(d.protocol.substring(0,d.protocol.length-1),f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&(s.username=WP(d.username,f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&o.password===void 0&&(s.password=WP(d.password,f)),o.protocol===void 0&&o.hostname===void 0&&(s.hostname=WP(d.hostname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&(s.port=WP(d.port,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&(s.pathname=WP(d.pathname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&(s.search=WP(d.search.substring(1,d.search.length),f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&o.hash===void 0&&(s.hash=WP(d.hash.substring(1,d.hash.length),f))}catch{throw new TypeError(`invalid baseURL '${o.baseURL}'.`)}if(typeof o.protocol=="string"&&(s.protocol=jer(o.protocol,f)),typeof o.username=="string"&&(s.username=Ler(o.username,f)),typeof o.password=="string"&&(s.password=Fer(o.password,f)),typeof o.hostname=="string"&&(s.hostname=Oer(o.hostname,f)),typeof o.port=="string"&&(s.port=Mer(o.port,s.protocol,f)),typeof o.pathname=="string"){if(s.pathname=o.pathname,d&&!Per(s.pathname,f)){let y=d.pathname.lastIndexOf("/");y>=0&&(s.pathname=WP(d.pathname.substring(0,y+1),f)+s.pathname)}s.pathname=Rer(s.pathname,s.protocol,f)}return typeof o.search=="string"&&(s.search=Ier(o.search,f)),typeof o.hash=="string"&&(s.hash=Ner(o.hash,f)),s}t($V,"w");function JV(s){return s.replace(/([+*?:{}()\\])/g,"\\$1")}t(JV,"C");function Ver(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(Ver,"Oe");function Her(s,o){o.delimiter??="/#?",o.prefixes??="./",o.sensitive??=!1,o.strict??=!1,o.end??=!0,o.start??=!0,o.endsWith="";let f=".*",d=`[^${Ver(o.delimiter)}]+?`,y=/[$_\u200C\u200D\p{ID_Continue}]/u,E="";for(let P=0;P<s.length;++P){let F=s[P];if(F.type===3){if(F.modifier===3){E+=JV(F.value);continue}E+=`{${JV(F.value)}}${X9(F.modifier)}`;continue}let J=F.hasCustomName(),G=!!F.suffix.length||!!F.prefix.length&&(F.prefix.length!==1||!o.prefixes.includes(F.prefix)),Te=P>0?s[P-1]:null,de=P<s.length-1?s[P+1]:null;if(!G&&J&&F.type===1&&F.modifier===3&&de&&!de.prefix.length&&!de.suffix.length)if(de.type===3){let ae=de.value.length>0?de.value[0]:"";G=y.test(ae)}else G=!de.hasCustomName();if(!G&&!F.prefix.length&&Te&&Te.type===3){let ae=Te.value[Te.value.length-1];G=o.prefixes.includes(ae)}G&&(E+="{"),E+=JV(F.prefix),J&&(E+=`:${F.name}`),F.type===2?E+=`(${F.value})`:F.type===1?J||(E+=`(${d})`):F.type===0&&(!J&&(!Te||Te.type===3||Te.modifier!==3||G||F.prefix!=="")?E+="*":E+=`(${f})`),F.type===1&&J&&F.suffix.length&&y.test(F.suffix[0])&&(E+="\\"),E+=JV(F.suffix),G&&(E+="}"),F.modifier!==3&&(E+=X9(F.modifier))}return E}t(Her,"ke");var qst=class{static{t(this,"me")}#e;#n={};#t={};#r={};#s={};#m=!1;constructor(s={},o,f){try{let d;if(typeof o=="string"?d=o:f=o,typeof s=="string"){let F=new qer(s);if(F.parse(),s=F.result,d===void 0&&typeof s.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");s.baseURL=d}else{if(!s||typeof s!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(d)throw new TypeError("parameter 1 is not of type 'string'.")}typeof f>"u"&&(f={ignoreCase:!1});let y={ignoreCase:f.ignoreCase===!0},E={pathname:ZN,protocol:ZN,username:ZN,password:ZN,hostname:ZN,port:ZN,search:ZN,hash:ZN};this.#e=$V(E,s,!0),zst(this.#e.protocol)===this.#e.port&&(this.#e.port="");let P;for(P of OAe){if(!(P in this.#e))continue;let F={},J=this.#e[P];switch(this.#t[P]=[],P){case"protocol":Object.assign(F,QN),F.encodePart=LAe;break;case"username":Object.assign(F,QN),F.encodePart=Ber;break;case"password":Object.assign(F,QN),F.encodePart=Uer;break;case"hostname":Object.assign(F,wer),jst(J)?F.encodePart=Jst:F.encodePart=$st;break;case"port":Object.assign(F,QN),F.encodePart=Wst;break;case"pathname":Ust(this.#n.protocol)?(Object.assign(F,Der,y),F.encodePart=zer):(Object.assign(F,QN,y),F.encodePart=$er);break;case"search":Object.assign(F,QN,y),F.encodePart=Jer;break;case"hash":Object.assign(F,QN,y),F.encodePart=Wer;break}try{this.#s[P]=Lst(J,F),this.#n[P]=Rst(this.#s[P],this.#t[P],F),this.#r[P]=Her(this.#s[P],F),this.#m=this.#m||this.#s[P].some(G=>G.type===2)}catch{throw new TypeError(`invalid ${P} pattern '${this.#e[P]}'.`)}}}catch(d){throw new TypeError(`Failed to construct 'URLPattern': ${d.message}`)}}test(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return!1;try{typeof s=="object"?f=$V(f,s,!1):f=$V(f,Ost(s,o),!1)}catch{return!1}let d;for(d of OAe)if(!this.#n[d].exec(f[d]))return!1;return!0}exec(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return;try{typeof s=="object"?f=$V(f,s,!1):f=$V(f,Ost(s,o),!1)}catch{return null}let d={};o?d.inputs=[s,o]:d.inputs=[s];let y;for(y of OAe){let E=this.#n[y].exec(f[y]);if(!E)return null;let P={};for(let[F,J]of this.#t[y].entries())if(typeof J=="string"||typeof J=="number"){let G=E[F+1];P[J]=G}d[y]={input:f[y]??"",groups:P}}return d}static compareComponent(s,o,f){let d=t((F,J)=>{for(let G of["type","modifier","prefix","value","suffix"]){if(F[G]<J[G])return-1;if(F[G]!==J[G])return 1}return 0},"o"),y=new WV(3,"","","","",3),E=new WV(0,"","","","",3),P=t((F,J)=>{let G=0;for(;G<Math.min(F.length,J.length);++G){let Te=d(F[G],J[G]);if(Te)return Te}return F.length===J.length?0:d(F[G]??y,J[G]??y)},"s");return!o.#r[s]&&!f.#r[s]?0:o.#r[s]&&!f.#r[s]?P(o.#s[s],[E]):!o.#r[s]&&f.#r[s]?P([E],f.#s[s]):P(o.#s[s],f.#s[s])}get protocol(){return this.#r.protocol}get username(){return this.#r.username}get password(){return this.#r.password}get hostname(){return this.#r.hostname}get port(){return this.#r.port}get pathname(){return this.#r.pathname}get search(){return this.#r.search}get hash(){return this.#r.hash}get hasRegExpGroups(){return this.#m}};globalThis.URLPattern||(globalThis.URLPattern=qst);import{AssertionError as Ger}from"node:assert";function qP(s,o){if(s===!1)throw new Ger({message:o})}t(qP,"assert");var Wo;(function(s){s.Object="Object",s.Property="Property",s.Array="Array",s.Literal="Literal",s.TemplateString="TemplateString",s.Identifier="Identifier",s.FunctionCall="FunctionCall",s.Raw="Raw"})(Wo||(Wo={}));function Z9(s){return s.type===Wo.Object}t(Z9,"isAstObject");function VP(s){return s.type===Wo.Property}t(VP,"isAstProperty");function RAe(s){return s.type===Wo.Array}t(RAe,"isAstArray");function bO(s){return s.type===Wo.Literal}t(bO,"isAstLiteral");function eI(s){if(s===void 0)throw new Error("Node is undefined");if(!Z9(s))throw new Error("Node is not object")}t(eI,"assertAstObject");import{findNodeAtLocation as Yer,getNodeValue as Ker,printParseErrorCode as Xer,visit as Zer}from"jsonc-parser";var Qer={DEFAULT:{allowTrailingComma:!1}};function qV(s,o=[],f=Qer.DEFAULT){let d={type:"array",offset:-1,length:-1,line:-1,column:-1,children:[],parent:void 0};function y(J){d.type==="property"&&(d.length=J-d.offset,d=d.parent)}t(y,"ensurePropertyComplete");function E(J){return d.children?.push(J),J}t(E,"onValue"),Zer(s,{onObjectBegin:t((J,G,Te)=>{d=E({type:"object",offset:J,length:-1,line:G+1,column:Te+1,parent:d,children:[]})},"onObjectBegin"),onObjectProperty:t((J,G,Te,de,ae)=>{d=E({type:"property",offset:G,length:-1,line:de+1,column:ae+1,parent:d,children:[]}),d.children?.push({type:"string",value:J,offset:G,length:Te,line:de,column:ae,parent:d})},"onObjectProperty"),onObjectEnd:t((J,G)=>{y(J+G),d.length=J+G-d.offset,d=d.parent,y(J+G)},"onObjectEnd"),onArrayBegin:t((J,G,Te,de)=>{d=E({type:"array",offset:J,length:-1,line:Te+1,column:de+1,parent:d,children:[]})},"onArrayBegin"),onArrayEnd:t((J,G)=>{d.length=J+G-d.offset,d=d.parent,y(J+G)},"onArrayEnd"),onLiteralValue:t((J,G,Te,de,ae)=>{E({type:etr(J),offset:G,length:Te,line:de+1,column:ae+1,parent:d,value:J}),y(G+Te)},"onLiteralValue"),onSeparator:t((J,G)=>{d.type==="property"&&(J===":"?d.colonOffset=G:J===","&&y(G))},"onSeparator"),onError:t((J,G,Te,de,ae)=>{o.push({error:J,offset:G,length:Te,line:de+1,column:ae+1})},"onError")},f);let F=d.children?.[0];return F&&delete F.parent,F}t(qV,"parse");function etr(s){switch(typeof s){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(s){if(Array.isArray(s))return"array"}else return"null";return"object"}default:return"null"}}t(etr,"getNodeType");function MAe(s,o){return Yer(s,o)}t(MAe,"findNodeAtLocation");function VV(s){return Ker(s)}t(VV,"getNodeValue");function Vst(s){return Xer(s)}t(Vst,"printParseErrorCode");var HV=class{static{t(this,"AstAdapter")}parse(o){let d=qV(o,[]);if(d)return this.parseNode(d,void 0);throw new Error("Failed to parse JSON")}convert(o){return this.parseNode(o,void 0)}parseNode(o,f){switch(o.type){case"object":return this.createObject(o,f);case"array":return this.createArray(o,f);case"property":return this.createProperty(o,f);case"string":return this.createLiteral(o,f);case"number":return this.createLiteral(o,f);case"boolean":return this.createLiteral(o,f);case"null":return this.createLiteral(o,f)}}createLiteral(o,f){return{type:Wo.Literal,location:{line:o.line,column:o.column},parent:f,value:o.type==="null"?null:o.value}}createObject(o,f){let d={type:Wo.Object,children:[],parent:f,location:{line:o.line,column:o.column}};return o.children?.forEach(y=>{d.children.push(this.parseNode(y,d))}),d}createProperty(o,f){qP(o.children?.length===2,"Invalid property node");let d={type:Wo.Property,location:{line:o.line,column:o.column},parent:f,name:null,value:null};return d.name={value:o.children[0].value,location:{line:o.line,column:o.column},type:Wo.Identifier,parent:d},d.value=this.parseNode(o.children[1],d),d}createArray(o,f){let d={type:Wo.Array,location:{line:o.line,column:o.column},parent:f,children:[]};return o.children?.forEach(y=>d.children.push(this.parseNode(y,d))),d}};var DS={createLiteral:t((s,o)=>({type:Wo.Literal,parent:o,value:s}),"createLiteral"),createTemplateString:t((s,o)=>({type:Wo.TemplateString,parent:o,value:s}),"createTemplateString"),createIdentifier:t((s,o)=>({type:Wo.Identifier,value:s,parent:o}),"createIdentifier"),createProperty:t((s,o,f)=>{let d={type:Wo.Property,parent:f,name:null,value:o};return d.name={value:s,type:Wo.Identifier,parent:d},d.value.parent=d,d},"createProperty"),createArrayOfLiterals:t((s,o)=>{let f={type:Wo.Array,parent:o,children:[]};for(let d of s)f.children.push(DS.createLiteral(d,f));return f},"createArrayOfLiterals")};var ttr=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,GV=class{static{t(this,"SourceGenerator")}generate(o){let f=[];return this.generateSource(f,o),f.join("")}generateSource(o,f){switch(f.type){case Wo.Array:return this.generateArray(o,f);case Wo.Object:return this.generateObject(o,f);case Wo.Property:return this.generateProperty(o,f);case Wo.Literal:return this.generateLiteral(o,f);case Wo.FunctionCall:return this.generateFunctionCall(o,f);case Wo.Identifier:return this.generateIdentifier(o,f);case Wo.Raw:return this.generateRaw(o,f);case Wo.TemplateString:return this.generateTemplateString(o,f)}}generateArray(o,f){o.push("["),f.children.map(d=>{this.generateSource(o,d),o.push(",")}),o.push("]")}generateObject(o,f){o.push("{"),f.children.forEach(d=>{this.generateSource(o,d),o.push(",")}),o.push("}")}generateProperty(o,f){this.generateIdentifier(o,f.name),o.push(":"),this.generateSource(o,f.value)}generateFunctionCall(o,f){o.push(f.name.value),o.push("("),f.children.forEach((d,y,E)=>{this.generateSource(o,d),y<E.length&&o.push(",")}),o.push(")")}generateRaw(o,f){o.push(f.value)}generateTemplateString(o,f){o.push("`"),o.push(f.value.replaceAll("`","\\`")),o.push("`")}generateLiteral(o,f){if(f.value===null)return o.push("null");switch(typeof f.value){case"number":case"boolean":return o.push(`${f.value}`);case"string":{let d=f.value,y=JSON.stringify(d);return o.push(`${y}`)}}}generateIdentifier(o,f){let d=ttr.test(f.value)?f.value:`'${f.value}'`;o.push(d)}};import rtr from"node:fs/promises";import{parse as ntr}from"@swc/core";var Hst=t(async s=>{let o=new Set;try{let f=await rtr.readFile(s,"utf-8");(await ntr(f,{syntax:"typescript"})).body.forEach(y=>{y.type==="ExportDefaultDeclaration"||y.type==="ExportDefaultExpression"?o.add("default"):y.type==="ExportDeclaration"&&y.declaration.type==="FunctionDeclaration"?o.add(y.declaration.identifier.value):y.type==="ExportDeclaration"&&y.declaration.type==="VariableDeclaration"&&y.declaration.declarations[0].id.type==="Identifier"&&o.add(y.declaration.declarations[0].id.value)})}catch{return null}return o},"getJSFileExports");var Gst={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/fragments.schema.json",$defs:{corsPolicyConfiguration:{type:"object",required:["name","allowedOrigins"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},allowCredentials:{type:"boolean"},maxAge:{type:"number"},allowedOrigins:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},allowedMethods:{oneOf:[{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},{type:"string"}]},allowedHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},exposeHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]}}},handlerDefinition:{type:"object",properties:{module:{type:"string",pattern:"^\\$import\\([^ )]*?\\)$"},export:{type:"string"},options:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["module","export"]},httpMethod:{type:"string",enum:["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH"]}}};var jAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policies.schema.json",title:"Policies Config File",type:"object",additionalProperties:!1,properties:{policies:{type:"array",items:{$ref:"policy-configuration.schema.json"}},corsPolicies:{type:"array",items:{$ref:"fragments.schema.json#/$defs/corsPolicyConfiguration"}}}};var Yst={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policy-configuration.schema.json",title:"Policy Configuration Fragment",type:"object",required:["name","policyType","handler"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},policyType:{type:"string"},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},options:{type:"object",additionalProperties:!0}}};var BAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration.schema.json",title:"Route Configuration Fragment",description:"",type:"object",required:["path","methods","handler"],additionalProperties:!1,$defs:{corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"}},properties:{operationId:{type:"string"},path:{type:"string",pattern:"^/[^\\s]*$"},methods:{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},label:{type:"string",description:"An internal user-friendly identifier of the route."},enforceOpenApi:{type:"boolean",description:"If true, schema validation found in the OpenAPI spec will be enforced on requests/responses."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{$ref:"#/$defs/corsPolicy"},custom:{},mcp:{type:"object",additionalProperties:!1,properties:{enabled:{type:"boolean"}}},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},summary:{type:"string"},description:{type:"string"},excludeFromOpenApi:{type:"boolean"},tags:{type:"array",items:{type:"string"}}}};var UAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration-open-api.schema.json",title:"Open API Route Configuration Fragment",description:"These are the properties that can appear under the x-zuplo-route extension in a PathObject in Open API. It's a subset of what can appear in Zuplo's routes.json.",type:"object",required:["handler"],additionalProperties:!1,properties:{label:{type:"string",description:"An internal user-friendly identifier of the route."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"},custom:{},mcp:{oneOf:[{type:"object",additionalProperties:!1,properties:{type:{const:"tool"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"},includeOutputSchema:{type:"boolean"},includeStructuredContent:{type:"boolean"},annotations:{type:"object",additionalProperties:!1,properties:{title:{type:"string"},readOnlyHint:{type:"boolean"},destructiveHint:{type:"boolean"},idempotentHint:{type:"boolean"},openWorldHint:{type:"boolean"}}},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"prompt"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"resource"},name:{type:"string"},description:{type:"string"},uri:{type:"string"},mimeType:{type:"string"},enabled:{type:"boolean"},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"graphql"},enabled:{type:"boolean"},introspectionTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}},executeTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}}},required:["type"]}]},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},tags:{type:"array",items:{type:"string"}}}};var tlt=Hp(Kce(),1),rlt=Hp(elt(),1);var Qce=class s{static{t(this,"JsonValidator")}static#e=new s;static get instance(){return s.#e}ajv;constructor(){this.ajv=new tlt.Ajv2020({allErrors:!0,allowUnionTypes:!0}),this.ajv.addKeyword("faker"),(0,rlt.default)(this.ajv,{mode:"fast"})}addSchema(o,f){this.ajv.addSchema(o,f)}compile(o){let f=this.ajv.compile(o);return t(y=>({isValid:f(y),errors:this.toSimpleErrors(f.errors,y),warnings:[]}),"validator")}toSimpleErrors(o,f){let d=[];return o?.forEach(y=>{y.keyword==="enum"&&y.params.allowedValues&&Array.isArray(y.params.allowedValues)&&(y.message+=`; ${y.params.allowedValues.join(", ")}`),y.instancePath&&(y.instancePath=y.instancePath.replaceAll(/(\/)?(~1)(\/)?/gm,"/"));let E={details:{}},P=y.instancePath.split("/");if(P.length>2){let J=P[1],G=P[2]?parseInt(P[2],10):0,Te=P[3],de=Number.isNaN(G)?void 0:f[J][G][Te];E={details:{property:J,index:G,field:Te,fieldValue:de}}}if(y.keyword==="required"&&y.params.missingProperty&&y.instancePath&&(y.message=`A 'path' is missing required property '${y.params.missingProperty}'`),y.keyword==="additionalProperties"&&y.params.additionalProperty&&y.instancePath&&(y.message=`A 'path' should NOT include property '${y.params.additionalProperty}'`),y.keyword==="type"&&y.params.type&&y.instancePath){let J=y.instancePath.split("/"),G=J[J.length-1];y.message=`Value of property '${G}' must be '${y.params.type}'`}let F=Object.assign(y,E);d.push(F)}),d}};var uI=Qce.instance;uI.addSchema(BAe,"route-configuration.schema.json");uI.addSchema(Yst,"policy-configuration.schema.json");uI.addSchema(jAe,"policies.schema.json");uI.addSchema(UAe,"open-api-route-configuration.schema.json");uI.addSchema(Gst,"fragments.schema.json");var ZAr=uI.compile(BAe),nlt=uI.compile(UAe),tIe=uI.compile(jAe);var ele=class{static{t(this,"PoliciesConfigurationValidator")}results;validate(o){return this.results=tIe(o),this.results}};var tle=class{static{t(this,"OpenAPILocalizedValidator")}results;validate(o){return this.results=nlt(o),this.results}};import pcr from"node:path";var rIe=/\$import\((.*)\)/,kH=/\$env\((.*?)\)/g;var Bk=class extends Error{static{t(this,"CodeGenError")}location;constructor(o,f,d,y){super(o),this.location={file:f,namespace:"",line:d?d.line:0,column:d?d.column:0,length:0,lineText:y??"",suggestion:""}}},_cr=t(s=>{let o=[],f=s;for(;f.parent;)o.push(f),f=f.parent;return o.reverse()},"invertTree"),XP=t((s,o)=>{if(!s)return!1;let f=_cr(s);return o.split("/").every((E,P)=>{let F=f[P];return F?E==="*"||VP(F)&&F.name.value===E?!0:E==="{}"?F.type===Wo.Object:E==="[]"?F.type===Wo.Array:!1:!1})},"testPosition");var rle=class{static{t(this,"AstTransformer")}errors=[];transform(o){return this.visitor(o),o}visitor(o){this.visit(o),Z9(o)?o.children.forEach(f=>{this.visitor(f)}):RAe(o)?o.children.forEach(f=>{this.visitor(f)}):VP(o)&&this.visitor(o.value)}},ilt=t(s=>{let o=new RegExp(kH).exec(s);if(o?.length===2&&o[0]===s)return{type:"raw",value:`environment["${o[1]}"]`};{let f=s.replaceAll(new RegExp(kH),(d,y)=>`\${environment["${y}"] ? environment["${y}"] : ""}`);if(f!==s)return{type:"template",value:f}}return null},"replaceEnvInString"),slt=t((s,o,f)=>d=>{if(bO(d)&&typeof d.value=="string"&&d.parent&&RAe(d.parent)){if(!s.some(P=>XP(d.parent,P))){kH.test(d.value)&&o.push(new Bk("An $env() statement is not expected at this location.",f,d.location,d.value));return}let E=ilt(d.value);if(E){let P=d.parent,F=P.children.indexOf(d);if(F!==-1)if(E.type==="raw"){let J={type:Wo.Raw,parent:P,value:E.value};P.children[F]=J}else P.children[F]=DS.createTemplateString(E.value,d)}return}if(!VP(d)||!bO(d.value)||typeof d.value.value!="string")return;if(!s.some(E=>XP(d,E))){kH.test(d.value.value)&&o.push(new Bk("An $env() statement is not expected at this location.",f,d.location,d.value.value));return}let y=ilt(d.value.value);if(y)if(y.type==="raw"){let E={type:Wo.Raw,parent:null,value:y.value};d.value=E}else d.value=DS.createTemplateString(y.value,d)},"getEnvStatementTransformer");var wH="config/routes.json",dcr=["handler/{}/options/*","handler/{}/options/*/[]","policies/[]/{}/handler/{}/options/*","policies/[]/{}/handler/{}/options/*/[]","corsPolicies/[]/{}/*","corsPolicies/[]/{}/*/[]"],mcr=["handler/{}/module","handler/{}/options/{}/policies/{}/inbound/[]/{}/module","handler/{}/options/{}/policies/{}/outbound/[]/{}/module","policies/[]/{}/handler/{}/module","policies/[]/{}/handler/{}/options/{}/identifier/{}/module","policies/[]/{}/handler/{}/options/{}/validator"],alt=["handler/{}/options/*","policies/[]/{}/handler/{}/options/*"],hcr="handler/{}/options/{}/rewritePattern",gcr="handler/{}/options/{}/baseUrl",nle=class extends rle{static{t(this,"OpenAPIRoutesFragmentAstTransformer")}importCount=0;addedImports=new Map;getImportName(o){this.addedImports.has(o)||this.addedImports.set(o,`__import${this.importCount++}`);let f=this.addedImports.get(o);if(!f)throw new Error("Import name is undefined. This should not happen.");return f}getImports(){let o=[];return this.addedImports.forEach((f,d)=>{o.push({name:f,path:d})}),o}visit(o){this.rewriteHandlerFunction(o),this.rewriteForwardFunction(o),this.replaceImportStatements(o),this.replaceEnvStatements(o)}rewriteHandlerFunction(o){if(!(!VP(o)||!bO(o.value)||typeof o.value.value!="string")&&XP(o,hcr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new Bk("Invalid node, expected object",wH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:olt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}rewriteForwardFunction(o){if(!(!VP(o)||!bO(o.value)||typeof o.value.value!="string")&&XP(o,gcr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new Bk("Invalid node, expected object",wH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:olt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}replaceImportStatements(o){if(!VP(o)||!bO(o.value))return;let f=o.value.value;if(typeof f!="string")return;if(!mcr.some(F=>XP(o,F))&&!alt.some(F=>XP(o,F))){if(rIe.test(f)){if(o.name.value==="$ref")return;this.errors.push(new Bk("An $import() statement is not expected at this location.",wH,o.location,f))}return}let d=rIe.exec(f);if(alt.some(F=>XP(o,F))&&!d)return;if(!d){this.errors.push(new Bk("Invalid $import() statement",wH,o.location,f));return}let y=d[1];y=y.replace(/\\/g,"/"),y.startsWith(".")&&(y=pcr.posix.join("..",y));let E=this.getImportName(y),P={type:Wo.Identifier,parent:o.parent,value:E};o.value=P}replaceEnvStatements=slt(dcr,this.errors,wH)};function olt(s){return`(request, context) => {
|
|
576
576
|
const { params, url, query, method, headers } = request;
|
|
577
577
|
const { host, hostname, origin, pathname, port, search } = new URL(url);
|
|
578
578
|
const e = encodeURIComponent;
|