@plurnk/plurnk-mcp 1.18.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/.env.defaults +11 -5
  2. package/README.md +13 -6
  3. package/SPEC.md +185 -54
  4. package/dist/ContentProjection.d.ts +11 -0
  5. package/dist/ContentProjection.d.ts.map +1 -0
  6. package/dist/ContentProjection.js +24 -0
  7. package/dist/ContentProjection.js.map +1 -0
  8. package/dist/McpExecutor.d.ts +1 -1
  9. package/dist/McpExecutor.d.ts.map +1 -1
  10. package/dist/McpExecutor.js +42 -50
  11. package/dist/McpExecutor.js.map +1 -1
  12. package/dist/McpResources.d.ts.map +1 -1
  13. package/dist/McpResources.js +27 -5
  14. package/dist/McpResources.js.map +1 -1
  15. package/dist/Module.d.ts +7 -2
  16. package/dist/Module.d.ts.map +1 -1
  17. package/dist/Module.js +92 -29
  18. package/dist/Module.js.map +1 -1
  19. package/dist/Summary.d.ts +3 -0
  20. package/dist/Summary.d.ts.map +1 -0
  21. package/dist/Summary.js +15 -0
  22. package/dist/Summary.js.map +1 -0
  23. package/dist/ToolPresentation.d.ts.map +1 -1
  24. package/dist/ToolPresentation.js +3 -23
  25. package/dist/ToolPresentation.js.map +1 -1
  26. package/dist/capabilityMatrix.js +37 -37
  27. package/dist/capabilityMatrix.js.map +1 -1
  28. package/dist/client.d.ts +3 -0
  29. package/dist/client.d.ts.map +1 -1
  30. package/dist/client.js +114 -60
  31. package/dist/client.js.map +1 -1
  32. package/dist/config.d.ts +6 -0
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +54 -33
  35. package/dist/config.js.map +1 -1
  36. package/dist/inputRequired.d.ts +5 -2
  37. package/dist/inputRequired.d.ts.map +1 -1
  38. package/dist/inputRequired.js +31 -8
  39. package/dist/inputRequired.js.map +1 -1
  40. package/dist/mcp-watchdog.mjs +3 -2
  41. package/dist/subscriptions.d.ts +4 -2
  42. package/dist/subscriptions.d.ts.map +1 -1
  43. package/dist/subscriptions.js +27 -12
  44. package/dist/subscriptions.js.map +1 -1
  45. package/dist/tasks.d.ts.map +1 -1
  46. package/dist/tasks.js +11 -13
  47. package/dist/tasks.js.map +1 -1
  48. package/docs/mcp.md +37 -13
  49. package/package.json +6 -6
package/dist/client.js CHANGED
@@ -1,8 +1,9 @@
1
- import { OAuthClientFlowError, OAuthError, UnauthorizedError, Client, ClientCredentialsProvider, StreamableHTTPClientTransport, } from "@modelcontextprotocol/client";
1
+ import { isAbsolute, resolve } from "node:path";
2
+ import { OAuthClientFlowError, OAuthError, UnauthorizedError, ProtocolError, METHOD_NOT_FOUND, Client, ClientCredentialsProvider, StreamableHTTPClientTransport, } from "@modelcontextprotocol/client";
2
3
  import { StdioClientTransport, getDefaultEnvironment, } from "@modelcontextprotocol/client/stdio";
3
4
  import { Validator, } from "@plurnk/plurnk-contracts";
4
5
  import packageJson from "../package.json" with { type: "json" };
5
- import { connectTimeoutMs, expandReferences, requestTimeoutMs, } from "./config.js";
6
+ import { connectTimeoutMs, expandReferences, requestTimeoutMs, retryPacing, } from "./config.js";
6
7
  import { INPUT_REQUIRED_MAX_ROUNDS, runInputRequiredRequest, } from "./inputRequired.js";
7
8
  import InteractiveOAuthProvider from "./oauth.js";
8
9
  import ExtensionChannel from "./extensionChannel.js";
@@ -52,7 +53,7 @@ const resolveDefinition = (source, environ) => {
52
53
  args: (definition.args ?? []).map((argument, index) => expandReferences(argument, environ, `${definition.name}.args[${index}]`)),
53
54
  ...(definition.cwd === undefined
54
55
  ? {}
55
- : { cwd: expandReferences(definition.cwd, environ, `${definition.name}.cwd`) }),
56
+ : { cwd: resolve(expandReferences(definition.cwd, environ, `${definition.name}.cwd`)) }),
56
57
  ...(definition.env === undefined
57
58
  ? {}
58
59
  : { env: expandedRecord(definition.env, environ, `${definition.name}.env`) }),
@@ -141,7 +142,7 @@ const resolveDefinition = (source, environ) => {
141
142
  cachePartition,
142
143
  };
143
144
  };
144
- const openTransport = (definition) => {
145
+ const openTransport = (definition, environment = getDefaultEnvironment()) => {
145
146
  if (definition.transport === "http") {
146
147
  return new StreamableHTTPClientTransport(new URL(definition.url), {
147
148
  ...(definition.headers === undefined
@@ -174,6 +175,9 @@ const openTransport = (definition) => {
174
175
  },
175
176
  });
176
177
  }
178
+ if (definition.cwd === undefined || !isAbsolute(definition.cwd)) {
179
+ throw new Error("A stdio MCP connection requires an absolute working directory.");
180
+ }
177
181
  // {§mcp-stdio-process-ownership} — stdio servers spawn through the
178
182
  // parent-death watchdog wrapper: the real server runs detached (own
179
183
  // process group) and the wrapper group-kills it (grandchildren included)
@@ -190,7 +194,10 @@ const openTransport = (definition) => {
190
194
  ],
191
195
  cwd: definition.cwd,
192
196
  env: {
193
- ...getDefaultEnvironment(),
197
+ // The SDK merges its defaults even with an explicit env. Node spawn
198
+ // accepts undefined to omit a key; the SDK's narrower type does not.
199
+ ...Object.fromEntries(Object.keys(getDefaultEnvironment()).map((name) => [name, undefined])),
200
+ ...environment,
194
201
  ...definition.env,
195
202
  },
196
203
  });
@@ -201,7 +208,12 @@ const openTransport = (definition) => {
201
208
  // aggregate as if it were whole. This client watches the pages the SDK requests and refuses the page
202
209
  // that repeats a cursor, so a non-converging server fails the listing loudly and nothing partial is
203
210
  // published or cached. Pagination, caching, and the page cap stay the SDK's.
204
- const LIST_METHODS = new Set(["tools/list", "resources/list", "resources/templates/list", "prompts/list"]);
211
+ const LIST_COLLECTIONS = new Map([
212
+ ["tools/list", "tools"],
213
+ ["resources/list", "resources"],
214
+ ["resources/templates/list", "resourceTemplates"],
215
+ ["prompts/list", "prompts"],
216
+ ]);
205
217
  export class CatalogNonConvergenceError extends Error {
206
218
  method;
207
219
  cursor;
@@ -212,15 +224,33 @@ export class CatalogNonConvergenceError extends Error {
212
224
  this.cursor = cursor;
213
225
  }
214
226
  }
215
- class ConvergingClient extends Client {
227
+ class CatalogClient extends Client {
216
228
  // Cursors the server has returned in the current walk of each list method; a walk begins at
217
229
  // the SDK's cursorless first page.
218
230
  #returned = new Map();
231
+ #unsupported = new Set();
232
+ get unsupportedLists() {
233
+ return [...this.#unsupported].sort();
234
+ }
219
235
  async request(...args) {
220
- const result = await super.request(...args);
221
236
  const sent = args[0];
222
- if (typeof sent.method !== "string" || !LIST_METHODS.has(sent.method))
237
+ const collection = typeof sent.method === "string" ? LIST_COLLECTIONS.get(sent.method) : undefined;
238
+ let result;
239
+ try {
240
+ result = await super.request(...args);
241
+ }
242
+ catch (error) {
243
+ // {§mcp-catalog-list-absence} — never turn a later-page error into a partial success.
244
+ if (collection === undefined || typeof sent.method !== "string"
245
+ || sent.params?.cursor !== undefined
246
+ || !ProtocolError.isInstance(error) || error.code !== METHOD_NOT_FOUND)
247
+ throw error;
248
+ this.#unsupported.add(sent.method);
249
+ return { resultType: "complete", [collection]: [], ttlMs: 0, cacheScope: "private" };
250
+ }
251
+ if (collection === undefined || typeof sent.method !== "string")
223
252
  return result;
253
+ this.#unsupported.delete(sent.method);
224
254
  const cursor = sent.params?.cursor;
225
255
  if (cursor === undefined)
226
256
  this.#returned.set(sent.method, new Set());
@@ -263,7 +293,7 @@ const openClient = async (definition, environ, options, transport) => {
263
293
  : {}),
264
294
  },
265
295
  };
266
- const client = new ConvergingClient(clientInfo, {
296
+ const client = new CatalogClient(clientInfo, {
267
297
  capabilities: clientCapabilities,
268
298
  versionNegotiation: {
269
299
  mode: "auto",
@@ -343,6 +373,7 @@ const openClient = async (definition, environ, options, transport) => {
343
373
  protocolVersion: negotiated,
344
374
  subscriptions: new Subscriptions(client, {
345
375
  timeout: requestTimeoutMs(environ),
376
+ retry: retryPacing(environ),
346
377
  tasks: serverSupportsTasks(discover?.capabilities ?? client.getServerCapabilities()),
347
378
  onError: options.onInfrastructureError,
348
379
  }),
@@ -356,7 +387,9 @@ export default class ServerConnection {
356
387
  #client;
357
388
  #pendingAuthorization;
358
389
  #openingTransport;
359
- #activeRequests = 0;
390
+ #requests = new Set();
391
+ #abort = new AbortController();
392
+ #closure;
360
393
  #closed = false;
361
394
  constructor(definition, environ = process.env, options = {}) {
362
395
  this.#definition = structuredClone(Validator.assertMcpServerDefinition(definition));
@@ -368,7 +401,7 @@ export default class ServerConnection {
368
401
  return structuredClone(this.#definition);
369
402
  }
370
403
  get activeRequests() {
371
- return this.#activeRequests;
404
+ return this.#requests.size;
372
405
  }
373
406
  get authorizationUrl() {
374
407
  return this.#pendingAuthorization?.authorizationUrl ?? null;
@@ -381,9 +414,17 @@ export default class ServerConnection {
381
414
  }
382
415
  if (this.#client !== undefined)
383
416
  return this.#client;
384
- const transport = openTransport(this.#resolved);
385
- this.#openingTransport = transport;
386
- const pending = openClient(this.#resolved, this.#environ, this.#options, transport).catch((cause) => {
417
+ let transport;
418
+ const pending = (async () => {
419
+ const definition = this.#resolved.transport === "stdio" && this.#resolved.cwd === undefined
420
+ ? { ...this.#resolved, cwd: await this.#options.workingDirectory?.() }
421
+ : this.#resolved;
422
+ if (this.#closed)
423
+ throw new Error(`MCP server '${this.#definition.name}' connection is closed.`);
424
+ transport = openTransport(definition, this.#options.environment);
425
+ this.#openingTransport = transport;
426
+ return openClient(definition, this.#environ, this.#options, transport);
427
+ })().catch((cause) => {
387
428
  if (cause instanceof AuthorizationRequiredError
388
429
  && this.#resolved.transport === "http"
389
430
  && this.#resolved.oauthProvider !== undefined
@@ -425,12 +466,16 @@ export default class ServerConnection {
425
466
  this.#pendingAuthorization = undefined;
426
467
  await this.connect();
427
468
  }
428
- async #request(run) {
429
- this.#activeRequests += 1;
469
+ async #request(run, owner) {
470
+ const settled = Promise.withResolvers();
471
+ this.#requests.add(settled.promise);
472
+ const signal = owner === undefined ? this.#abort.signal : AbortSignal.any([owner, this.#abort.signal]);
430
473
  try {
474
+ signal.throwIfAborted();
431
475
  const opened = await this.#open();
476
+ signal.throwIfAborted();
432
477
  try {
433
- return await run(opened.client, opened.subscriptions, opened.extensions);
478
+ return await run(opened, signal);
434
479
  }
435
480
  catch (cause) {
436
481
  const authorization = this.#takeAuthorization(opened, cause);
@@ -440,7 +485,8 @@ export default class ServerConnection {
440
485
  }
441
486
  }
442
487
  finally {
443
- this.#activeRequests -= 1;
488
+ this.#requests.delete(settled.promise);
489
+ settled.resolve();
444
490
  }
445
491
  }
446
492
  #takeAuthorization(opened, cause) {
@@ -460,16 +506,30 @@ export default class ServerConnection {
460
506
  };
461
507
  return new AuthorizationRequiredError(authorizationUrl.href, cause);
462
508
  }
509
+ async #list(run, owner) {
510
+ return this.#request(async ({ client }, signal) => {
511
+ const timeout = connectTimeoutMs(this.#environ);
512
+ const settled = new AbortController();
513
+ // {§mcp-catalog-deadline}: one bound across parallel lists and every SDK pagination leg.
514
+ const deadline = AbortSignal.any([signal, AbortSignal.timeout(timeout), settled.signal]);
515
+ try {
516
+ return await run(client, { signal: deadline, timeout, maxTotalTimeout: timeout });
517
+ }
518
+ finally {
519
+ settled.abort();
520
+ }
521
+ }, owner);
522
+ }
463
523
  async tools(signal) {
464
- return this.#request(async (client) => {
524
+ return this.#list(async (client, options) => {
465
525
  if (serverCapabilities(client)?.tools === undefined)
466
526
  return [];
467
- const { tools } = await client.listTools(undefined, this.#requestOptions(signal));
527
+ const { tools } = await client.listTools(undefined, options);
468
528
  return tools;
469
- });
529
+ }, signal);
470
530
  }
471
531
  async catalog(signal) {
472
- return this.#request(async (client) => {
532
+ return this.#list(async (client, options) => {
473
533
  // {§mcp-authority} — the discover result is the modern identity and
474
534
  // capability source; a legacy server's initialize result supplies the
475
535
  // same facts at its negotiated revision.
@@ -477,17 +537,17 @@ export default class ServerConnection {
477
537
  const [tools, resources, resourceTemplates, prompts] = await Promise.all([
478
538
  capabilities.tools === undefined
479
539
  ? Promise.resolve([])
480
- : client.listTools(undefined, this.#requestOptions(signal)).then((result) => result.tools),
540
+ : client.listTools(undefined, options).then((result) => result.tools),
481
541
  capabilities.resources === undefined
482
542
  ? Promise.resolve([])
483
- : client.listResources(undefined, this.#requestOptions(signal)).then((result) => result.resources),
543
+ : client.listResources(undefined, options).then((result) => result.resources),
484
544
  capabilities.resources === undefined
485
545
  ? Promise.resolve([])
486
- : client.listResourceTemplates(undefined, this.#requestOptions(signal))
546
+ : client.listResourceTemplates(undefined, options)
487
547
  .then((result) => result.resourceTemplates),
488
548
  capabilities.prompts === undefined
489
549
  ? Promise.resolve([])
490
- : client.listPrompts(undefined, this.#requestOptions(signal)).then((result) => result.prompts),
550
+ : client.listPrompts(undefined, options).then((result) => result.prompts),
491
551
  ]);
492
552
  return {
493
553
  protocolVersion: client.getNegotiatedProtocolVersion() ?? "",
@@ -498,35 +558,36 @@ export default class ServerConnection {
498
558
  resources,
499
559
  resourceTemplates,
500
560
  prompts,
561
+ unsupportedLists: client.unsupportedLists,
501
562
  };
502
- });
563
+ }, signal);
503
564
  }
504
565
  async resources(signal) {
505
- return this.#request(async (client) => {
566
+ return this.#list(async (client, options) => {
506
567
  if (serverCapabilities(client)?.resources === undefined) {
507
568
  return { resources: [], resourceTemplates: [] };
508
569
  }
509
570
  const [resources, resourceTemplates] = await Promise.all([
510
- client.listResources(undefined, this.#requestOptions(signal))
571
+ client.listResources(undefined, options)
511
572
  .then((result) => result.resources),
512
- client.listResourceTemplates(undefined, this.#requestOptions(signal))
573
+ client.listResourceTemplates(undefined, options)
513
574
  .then((result) => result.resourceTemplates),
514
575
  ]);
515
576
  return { resources, resourceTemplates };
516
- });
577
+ }, signal);
517
578
  }
518
579
  async prompts(signal) {
519
- return this.#request(async (client) => {
580
+ return this.#list(async (client, options) => {
520
581
  if (serverCapabilities(client)?.prompts === undefined)
521
582
  return [];
522
- return (await client.listPrompts(undefined, this.#requestOptions(signal))).prompts;
523
- });
583
+ return (await client.listPrompts(undefined, options)).prompts;
584
+ }, signal);
524
585
  }
525
586
  async callTool(name, args, signal, onProgress, interact, toolDefinition) {
526
- return this.#request(async (client, subscriptions, extensions) => {
587
+ return this.#request(async ({ client, subscriptions, extensions }, signal) => {
527
588
  const timeout = requestTimeoutMs(this.#environ);
528
589
  if (serverSupportsTasks(serverCapabilities(client))) {
529
- const tool = toolDefinition ?? (await client.listTools(undefined, this.#requestOptions(signal))).tools.find((candidate) => candidate.name === name);
590
+ const tool = toolDefinition ?? (await this.tools(signal)).find((candidate) => candidate.name === name);
530
591
  if (tool === undefined) {
531
592
  throw new Error(`MCP server '${this.#definition.name}' did not list tool '${name}'.`);
532
593
  }
@@ -556,11 +617,11 @@ export default class ServerConnection {
556
617
  ...(toolDefinition === undefined ? {} : { toolDefinition }),
557
618
  }),
558
619
  });
559
- });
620
+ }, signal);
560
621
  }
561
622
  async readResource(uri, signal, interact) {
562
- return this.#request(async (client, subscriptions) => {
563
- await subscriptions.selectResource(uri);
623
+ return this.#request(async ({ client, subscriptions }, signal) => {
624
+ await subscriptions.selectResource(uri, signal);
564
625
  return runInputRequiredRequest({
565
626
  server: this.#definition.name,
566
627
  operation: "resources/read",
@@ -570,10 +631,10 @@ export default class ServerConnection {
570
631
  timeout: requestTimeoutMs(this.#environ),
571
632
  requestLeg: (params, options, retry) => client.readResource(params, retry ? { ...options, cacheMode: "refresh" } : options),
572
633
  });
573
- });
634
+ }, signal);
574
635
  }
575
636
  async getPrompt(name, args, signal, interact) {
576
- return this.#request(async (client) => runInputRequiredRequest({
637
+ return this.#request(async ({ client }, signal) => runInputRequiredRequest({
577
638
  server: this.#definition.name,
578
639
  operation: "prompts/get",
579
640
  originalParams: { name, ...(args === undefined ? {} : { arguments: args }) },
@@ -581,10 +642,10 @@ export default class ServerConnection {
581
642
  interact,
582
643
  timeout: requestTimeoutMs(this.#environ),
583
644
  requestLeg: (params, options) => client.getPrompt(params, options),
584
- }));
645
+ }), signal);
585
646
  }
586
647
  async complete(params, signal) {
587
- return this.#request(async (client) => client.complete(params, this.#requestOptions(signal)));
648
+ return this.#request(async ({ client }, signal) => client.complete(params, this.#requestOptions(signal)), signal);
588
649
  }
589
650
  #requestOptions(signal, onProgress) {
590
651
  const timeout = requestTimeoutMs(this.#environ);
@@ -595,10 +656,13 @@ export default class ServerConnection {
595
656
  ...(onProgress === undefined ? {} : { onprogress: onProgress }),
596
657
  };
597
658
  }
598
- async close() {
599
- if (this.#closed)
600
- return;
659
+ close() {
660
+ this.#closure ??= this.#close();
661
+ return this.#closure;
662
+ }
663
+ async #close() {
601
664
  this.#closed = true;
665
+ this.#abort.abort(new Error(`MCP server '${this.#definition.name}' connection is closed.`));
602
666
  const client = this.#client;
603
667
  this.#client = undefined;
604
668
  const openingTransport = this.#openingTransport;
@@ -610,20 +674,10 @@ export default class ServerConnection {
610
674
  closures.push(openingTransport.close());
611
675
  if (client !== undefined) {
612
676
  closures.push(client.then(async ({ client: connected, extensions, subscriptions }) => {
613
- const failures = [];
677
+ // {§mcp-connection-shutdown} — active Task cleanup still needs the transport.
678
+ await Promise.all([...this.#requests, subscriptions.retire()]);
614
679
  extensions?.close();
615
- // A full connection close terminates its listen request. Retiring first
616
- // avoids a redundant cancellation racing the SDK's removed listen ID.
617
- const settled = await Promise.allSettled([
618
- subscriptions.retire(),
619
- connected.close(),
620
- ]);
621
- failures.push(...settled.flatMap((result) => result.status === "rejected" ? [result.reason] : []));
622
- if (failures.length === 1)
623
- throw failures[0];
624
- if (failures.length > 1) {
625
- throw new AggregateError(failures, `MCP server '${this.#definition.name}' connection shutdown failed.`);
626
- }
680
+ await connected.close();
627
681
  }, () => undefined));
628
682
  }
629
683
  if (pending?.standaloneTransport === true)
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -15,5 +15,11 @@ export declare const summaryOverrides: (environ?: NodeJS.ProcessEnv) => {
15
15
  };
16
16
  export declare const serviceEnabledNames: (environ?: NodeJS.ProcessEnv) => string[];
17
17
  export declare const connectTimeoutMs: (environ?: NodeJS.ProcessEnv) => number;
18
+ export interface RetryPacing {
19
+ readonly floorMs: number;
20
+ readonly ceilingMs: number;
21
+ }
22
+ export declare const retryPacing: (environ?: NodeJS.ProcessEnv) => RetryPacing;
23
+ export declare const retryDelayMs: ({ floorMs, ceilingMs }: RetryPacing, attempt: number) => number;
18
24
  export declare const requestTimeoutMs: (environ?: NodeJS.ProcessEnv) => number;
19
25
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAC3B,MAAM,0BAA0B,CAAC;AAkClC,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAyFD,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,MAKtF,CAAC;AAwDP,eAAO,MAAM,WAAW,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EACjB,CAAC;AA6G7D,eAAO,MAAM,gBAAgB,SACnB,MAAM,YACH,MAAM,CAAC,UAAU,KAC3B,mBAAmB,GAAG,IAGxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,YACxB,uBAAuB,UACzB,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAChD,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAajC,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAClB,MAAM,CAAC,UAAU,KAC3B,mBAAmB,EAIpB,CAAC;AASH,eAAO,MAAM,mBAAmB,aACnB,MAAM,CAAC,UAAU,KAC3B,MAAM,EAgBR,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAChB,MAAM,CAAC,UAAU,KAC3B;IAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAoB5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,aACnB,MAAM,CAAC,UAAU,KAC3B,MAAM,EAgBR,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAO3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAO3E,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAC3B,MAAM,0BAA0B,CAAC;AAoClC,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAyFD,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,MAKtF,CAAC;AAwDP,eAAO,MAAM,WAAW,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EAI1D,CAAC;AA6GpB,eAAO,MAAM,gBAAgB,SACnB,MAAM,YACH,MAAM,CAAC,UAAU,KAC3B,mBAAmB,GAAG,IAGxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,YACxB,uBAAuB,UACzB,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAChD,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAkBjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAClB,MAAM,CAAC,UAAU,KAC3B,mBAAmB,EAIpB,CAAC;AA+BH,eAAO,MAAM,mBAAmB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EAChC,CAAC;AAEtD,eAAO,MAAM,gBAAgB,aAChB,MAAM,CAAC,UAAU,KAC3B;IAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAsB5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EAKpF,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAO3E,CAAC;AAGF,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,aAAa,MAAM,CAAC,UAAU,KAAiB,WAYtE,CAAC;AAEF,eAAO,MAAM,YAAY,2BAA4B,WAAW,WAAW,MAAM,KAAG,MACnC,CAAC;AAElD,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAO3E,CAAC"}