@cyanheads/mcp-ts-core 0.12.1 → 0.12.3
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/AGENTS.md +7 -3
- package/CLAUDE.md +7 -3
- package/README.md +1 -1
- package/changelog/0.12.x/0.12.2.md +29 -0
- package/changelog/0.12.x/0.12.3.md +26 -0
- package/dist/core/app.d.ts +22 -0
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +41 -2
- package/dist/core/app.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/serverManifest.d.ts +6 -1
- package/dist/core/serverManifest.d.ts.map +1 -1
- package/dist/core/serverManifest.js +2 -2
- package/dist/core/serverManifest.js.map +1 -1
- package/dist/linter/rules/schema-rules.d.ts +18 -0
- package/dist/linter/rules/schema-rules.d.ts.map +1 -1
- package/dist/linter/rules/schema-rules.js +35 -0
- package/dist/linter/rules/schema-rules.js.map +1 -1
- package/dist/linter/rules/tool-rules.d.ts.map +1 -1
- package/dist/linter/rules/tool-rules.js +4 -1
- package/dist/linter/rules/tool-rules.js.map +1 -1
- package/dist/mcp-server/cacheHints.d.ts +35 -0
- package/dist/mcp-server/cacheHints.d.ts.map +1 -0
- package/dist/mcp-server/cacheHints.js +43 -0
- package/dist/mcp-server/cacheHints.js.map +1 -0
- package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
- package/dist/mcp-server/resources/resource-registration.js +3 -0
- package/dist/mcp-server/resources/resource-registration.js.map +1 -1
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts +14 -1
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceDefinition.js.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +21 -13
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
- package/dist/mcp-server/server.d.ts +7 -0
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +1 -0
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/mcp-server/tools/utils/headerParam.d.ts +113 -0
- package/dist/mcp-server/tools/utils/headerParam.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/headerParam.js +280 -0
- package/dist/mcp-server/tools/utils/headerParam.js.map +1 -0
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts +1 -0
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolDefinition.js +5 -1
- package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +45 -36
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/mcp-server/transports/http/httpServer.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpServer.js +97 -14
- package/dist/mcp-server/transports/http/httpServer.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +5 -3
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +29 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.js +33 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -1
- package/dist/mcp-server/types.d.ts +20 -1
- package/dist/mcp-server/types.d.ts.map +1 -1
- package/dist/mcp-server/types.js +14 -0
- package/dist/mcp-server/types.js.map +1 -1
- package/dist/utils/internal/logger.d.ts +12 -0
- package/dist/utils/internal/logger.d.ts.map +1 -1
- package/dist/utils/internal/logger.js +39 -6
- package/dist/utils/internal/logger.js.map +1 -1
- package/dist/utils/internal/performance.d.ts +18 -9
- package/dist/utils/internal/performance.d.ts.map +1 -1
- package/dist/utils/internal/performance.js +66 -14
- package/dist/utils/internal/performance.js.map +1 -1
- package/package.json +4 -4
- package/skills/add-resource/SKILL.md +31 -1
- package/skills/add-tool/SKILL.md +35 -1
- package/skills/api-config/SKILL.md +36 -4
- package/skills/api-linter/SKILL.md +25 -2
- package/skills/api-telemetry/SKILL.md +35 -3
- package/skills/git-wrapup/SKILL.md +4 -2
- package/skills/polish-docs-meta/references/package-meta.md +1 -1
- package/skills/release-and-publish/SKILL.md +9 -2
- package/templates/Dockerfile +2 -2
- package/templates/package.json +1 -1
- package/dist/logs/combined.log +0 -10
- package/dist/logs/error.log +0 -6
- package/dist/logs/interactions.log +0 -0
|
@@ -59,6 +59,16 @@ const MAX_SANITIZE_DEPTH = 4;
|
|
|
59
59
|
* high-cardinality burst grow the map without bound inside a single window.
|
|
60
60
|
*/
|
|
61
61
|
const MAX_TRACKED_LOG_KEYS = 1000;
|
|
62
|
+
/**
|
|
63
|
+
* How long {@link Logger.close} waits on one pino instance's drain.
|
|
64
|
+
*
|
|
65
|
+
* `flush(cb)` is unbounded by contract, and under workerd the callback never
|
|
66
|
+
* arrives at all — an unbounded await there hangs every shutdown path that
|
|
67
|
+
* reaches the logger (#342). Node and Bun call back in milliseconds, so this
|
|
68
|
+
* window is orders of magnitude past a real drain: it ends a hang, it never
|
|
69
|
+
* truncates a flush that is going to complete.
|
|
70
|
+
*/
|
|
71
|
+
const FLUSH_DRAIN_TIMEOUT_MS = 2_000;
|
|
62
72
|
/**
|
|
63
73
|
* Recursively sanitizes a value for pino consumption. Returns a JSON-safe
|
|
64
74
|
* replacement, or `undefined` when the value is unsafe and should be dropped.
|
|
@@ -346,6 +356,23 @@ export class Logger {
|
|
|
346
356
|
async [Symbol.asyncDispose]() {
|
|
347
357
|
return await this.close();
|
|
348
358
|
}
|
|
359
|
+
/**
|
|
360
|
+
* Reports a drain problem on the only channel available while the logger is
|
|
361
|
+
* shutting down — and only an interactive one. In stdio mode stderr carries
|
|
362
|
+
* the server's log stream, so a bare console line there is noise a host has
|
|
363
|
+
* to filter; the pino instance that would normally carry it is the thing that
|
|
364
|
+
* just failed.
|
|
365
|
+
*/
|
|
366
|
+
reportFlushProblem(message, detail) {
|
|
367
|
+
if (typeof process === 'undefined')
|
|
368
|
+
return;
|
|
369
|
+
if (!process.stderr?.isTTY || this.transportType === 'stdio')
|
|
370
|
+
return;
|
|
371
|
+
if (detail === undefined)
|
|
372
|
+
console.error(message);
|
|
373
|
+
else
|
|
374
|
+
console.error(message, detail);
|
|
375
|
+
}
|
|
349
376
|
/**
|
|
350
377
|
* Flushes all pending log entries and shuts down transports gracefully.
|
|
351
378
|
*
|
|
@@ -354,6 +381,10 @@ export class Logger {
|
|
|
354
381
|
* before resolving. Safe to call multiple times — subsequent calls on an
|
|
355
382
|
* already-closed logger resolve immediately.
|
|
356
383
|
*
|
|
384
|
+
* Each drain is bounded. A completing flush callback is awaited in full; a
|
|
385
|
+
* runtime whose pino instance never calls back (workerd — #342) releases the
|
|
386
|
+
* shutdown path after {@link FLUSH_DRAIN_TIMEOUT_MS} instead of hanging it.
|
|
387
|
+
*
|
|
357
388
|
* @returns Promise that resolves when all writes have completed.
|
|
358
389
|
* @example
|
|
359
390
|
* ```ts
|
|
@@ -365,16 +396,18 @@ export class Logger {
|
|
|
365
396
|
return Promise.resolve();
|
|
366
397
|
this.info('Logger shutting down.', requestContextService.createRequestContext({ operation: 'loggerClose' }));
|
|
367
398
|
this.flushSuppressedMessages();
|
|
368
|
-
// Wait for
|
|
399
|
+
// Wait for pending writes, but never longer than the drain window.
|
|
369
400
|
const flushPino = (pinoInstance, label) => {
|
|
370
401
|
const { promise, resolve } = Promise.withResolvers();
|
|
371
402
|
if (pinoInstance != null) {
|
|
403
|
+
const drainTimeout = setTimeout(() => {
|
|
404
|
+
this.reportFlushProblem(`Timed out flushing ${label} after ${FLUSH_DRAIN_TIMEOUT_MS}ms; continuing shutdown.`);
|
|
405
|
+
resolve();
|
|
406
|
+
}, FLUSH_DRAIN_TIMEOUT_MS);
|
|
372
407
|
pinoInstance.flush((err) => {
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
console.error(`Error flushing ${label}:`, err);
|
|
377
|
-
}
|
|
408
|
+
clearTimeout(drainTimeout);
|
|
409
|
+
if (err)
|
|
410
|
+
this.reportFlushProblem(`Error flushing ${label}:`, err);
|
|
378
411
|
resolve();
|
|
379
412
|
});
|
|
380
413
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/internal/logger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/internal/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,12 +48,17 @@ export declare const nowMs: () => number;
|
|
|
48
48
|
* On success the resolved value is passed through transparently.
|
|
49
49
|
* On failure the error is re-thrown after being recorded on the span and metrics;
|
|
50
50
|
* `McpError` instances surface their numeric `code` as the error code attribute.
|
|
51
|
+
* A failure anywhere in the callback — handler or response pipeline — is
|
|
52
|
+
* recorded, and no output-size histogram is emitted for it.
|
|
51
53
|
*
|
|
52
54
|
* @template T - The resolved type of the tool's return value.
|
|
53
|
-
* @param toolLogicFn - Async function containing the tool's business logic
|
|
54
|
-
* `context` re-bound to the
|
|
55
|
-
*
|
|
56
|
-
* rather than to the
|
|
55
|
+
* @param toolLogicFn - Async function containing the tool's business logic and
|
|
56
|
+
* the response assembly that follows it. Receives `context` re-bound to the
|
|
57
|
+
* execution span this function opens, so a handler context built from it
|
|
58
|
+
* correlates to the span the handler actually runs in rather than to the
|
|
59
|
+
* enclosing request span, plus `recordOutput` — call it with the handler's
|
|
60
|
+
* domain value to designate what `mcp.tool.output_bytes` and partial-success
|
|
61
|
+
* detection measure. Without a call, the callback's return value is measured.
|
|
57
62
|
* @param context - Request context extended with `toolName`; used for span/log correlation.
|
|
58
63
|
* @param inputPayload - The raw input object passed to the tool, serialized to compute byte size.
|
|
59
64
|
* @param successAttributes - Optional thunk evaluated after a successful run; its
|
|
@@ -64,23 +69,27 @@ export declare const nowMs: () => number;
|
|
|
64
69
|
*/
|
|
65
70
|
export declare function measureToolExecution<T>(toolLogicFn: (spanContext: RequestContext & {
|
|
66
71
|
toolName: string;
|
|
67
|
-
}) => Promise<T>, context: RequestContext & {
|
|
72
|
+
}, recordOutput: (payload: unknown) => void) => Promise<T>, context: RequestContext & {
|
|
68
73
|
toolName: string;
|
|
69
74
|
}, inputPayload: unknown, successAttributes?: () => Record<string, boolean | number | string>): Promise<T>;
|
|
70
75
|
/**
|
|
71
76
|
* Wraps a resource handler with observability: OTel span, metric counters/histogram,
|
|
72
|
-
* and a structured log. Mirrors {@link measureToolExecution} but tuned for resource reads
|
|
77
|
+
* and a structured log. Mirrors {@link measureToolExecution} but tuned for resource reads,
|
|
78
|
+
* including the measured-region semantics documented there.
|
|
73
79
|
*
|
|
74
80
|
* @template T - The resolved type of the resource handler's return value.
|
|
75
|
-
* @param resourceLogicFn - Async function containing the resource handler
|
|
76
|
-
* `context` re-bound to the execution
|
|
81
|
+
* @param resourceLogicFn - Async function containing the resource handler and the
|
|
82
|
+
* response assembly that follows it. Receives `context` re-bound to the execution
|
|
83
|
+
* span this function opens, plus `recordOutput` — call it with the handler's domain
|
|
84
|
+
* value to designate what `mcp.resource.output_bytes` measures. Without a call, the
|
|
85
|
+
* callback's return value is measured.
|
|
77
86
|
* @param context - Request context extended with `resourceName`; used for span/log correlation.
|
|
78
87
|
* @param meta - Resource metadata: URI and MIME type for span attributes.
|
|
79
88
|
* @returns A promise that resolves with the handler's return value or rejects with the original error.
|
|
80
89
|
*/
|
|
81
90
|
export declare function measureResourceExecution<T>(resourceLogicFn: (spanContext: RequestContext & {
|
|
82
91
|
resourceName: string;
|
|
83
|
-
}) => Promise<T>, context: RequestContext & {
|
|
92
|
+
}, recordOutput: (payload: unknown) => void) => Promise<T>, context: RequestContext & {
|
|
84
93
|
resourceName: string;
|
|
85
94
|
}, meta: {
|
|
86
95
|
uri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAkEpG,kGAAkG;AAClG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAWD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC;IACvC,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,MAAM,CAAA;KAAE,CAAC;CACpC,CAAC,CAID;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,OAAO,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF;AAED;;;;;;;;;GASG;AAGH,eAAO,MAAM,KAAK,QAAO,MAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAkEpG,kGAAkG;AAClG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAWD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC;IACvC,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,MAAM,CAAA;KAAE,CAAC;CACpC,CAAC,CAID;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,OAAO,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF;AAED;;;;;;;;;GASG;AAGH,eAAO,MAAM,KAAK,QAAO,MAA2B,CAAC;AAqHrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,WAAW,EAAE,CACX,WAAW,EAAE,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAClD,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KACrC,OAAO,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9C,YAAY,EAAE,OAAO,EACrB,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAClE,OAAO,CAAC,CAAC,CAAC,CA2JZ;AAoCD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,eAAe,EAAE,CACf,WAAW,EAAE,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,EACtD,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KACrC,OAAO,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,EAClD,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,CAAC,CAAC,CAyGZ;AAkDD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,EAChD,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,CAAC,CAAC,CAwHZ"}
|
|
@@ -169,6 +169,34 @@ const toBytes = (payload) => {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
|
+
// ==========================================================================
|
|
173
|
+
// Tool execution measurement
|
|
174
|
+
// ==========================================================================
|
|
175
|
+
/*
|
|
176
|
+
* Measured-region semantics, settled in #346 and shared by
|
|
177
|
+
* {@link measureToolExecution} and {@link measureResourceExecution}.
|
|
178
|
+
*
|
|
179
|
+
* The measured region spans everything that decides the client-visible
|
|
180
|
+
* outcome: the handler **and** the response pipeline that follows it
|
|
181
|
+
* (output-schema validation, `format()`, the enrichment merge and its trailer
|
|
182
|
+
* render). Telemetry that closed when the handler returned reported a
|
|
183
|
+
* successful call while the client was handed `isError: true`.
|
|
184
|
+
*
|
|
185
|
+
* Two consequences of that width:
|
|
186
|
+
*
|
|
187
|
+
* 1. `mcp.*.duration` covers validation, formatting, and the merge, not the
|
|
188
|
+
* handler alone. It is time-to-produce-the-result, which is what the
|
|
189
|
+
* caller waited for.
|
|
190
|
+
* 2. The callback's return value is the assembled client result, so it is no
|
|
191
|
+
* longer what `mcp.*.output_bytes` should measure — `content[]` re-renders
|
|
192
|
+
* the same data the structured payload carries, and counting both would
|
|
193
|
+
* silently redefine an existing series. Callers therefore designate the
|
|
194
|
+
* payload explicitly via the `recordOutput` argument, which also feeds
|
|
195
|
+
* partial-success detection. `output_bytes` keeps measuring the handler's
|
|
196
|
+
* returned domain value, unchanged from 0.12.2. When nothing is
|
|
197
|
+
* designated, the callback's return value is measured — the single-value
|
|
198
|
+
* form for callers with no assembly step.
|
|
199
|
+
*/
|
|
172
200
|
/**
|
|
173
201
|
* Wraps a tool's logic function with observability: an OpenTelemetry span,
|
|
174
202
|
* OTel metric counters/histogram, payload size capture, and structured log.
|
|
@@ -179,12 +207,17 @@ const toBytes = (payload) => {
|
|
|
179
207
|
* On success the resolved value is passed through transparently.
|
|
180
208
|
* On failure the error is re-thrown after being recorded on the span and metrics;
|
|
181
209
|
* `McpError` instances surface their numeric `code` as the error code attribute.
|
|
210
|
+
* A failure anywhere in the callback — handler or response pipeline — is
|
|
211
|
+
* recorded, and no output-size histogram is emitted for it.
|
|
182
212
|
*
|
|
183
213
|
* @template T - The resolved type of the tool's return value.
|
|
184
|
-
* @param toolLogicFn - Async function containing the tool's business logic
|
|
185
|
-
* `context` re-bound to the
|
|
186
|
-
*
|
|
187
|
-
* rather than to the
|
|
214
|
+
* @param toolLogicFn - Async function containing the tool's business logic and
|
|
215
|
+
* the response assembly that follows it. Receives `context` re-bound to the
|
|
216
|
+
* execution span this function opens, so a handler context built from it
|
|
217
|
+
* correlates to the span the handler actually runs in rather than to the
|
|
218
|
+
* enclosing request span, plus `recordOutput` — call it with the handler's
|
|
219
|
+
* domain value to designate what `mcp.tool.output_bytes` and partial-success
|
|
220
|
+
* detection measure. Without a call, the callback's return value is measured.
|
|
188
221
|
* @param context - Request context extended with `toolName`; used for span/log correlation.
|
|
189
222
|
* @param inputPayload - The raw input object passed to the tool, serialized to compute byte size.
|
|
190
223
|
* @param successAttributes - Optional thunk evaluated after a successful run; its
|
|
@@ -219,14 +252,23 @@ export async function measureToolExecution(toolLogicFn, context, inputPayload, s
|
|
|
219
252
|
let partialSuccess = false;
|
|
220
253
|
let batchSucceeded;
|
|
221
254
|
let batchFailed;
|
|
255
|
+
let designatedOutput;
|
|
256
|
+
let outputDesignated = false;
|
|
257
|
+
const recordOutput = (payload) => {
|
|
258
|
+
designatedOutput = payload;
|
|
259
|
+
outputDesignated = true;
|
|
260
|
+
};
|
|
222
261
|
try {
|
|
223
|
-
const result = await toolLogicFn(spanContext);
|
|
262
|
+
const result = await toolLogicFn(spanContext, recordOutput);
|
|
224
263
|
ok = true;
|
|
225
|
-
|
|
226
|
-
|
|
264
|
+
const measuredOutput = outputDesignated ? designatedOutput : result;
|
|
265
|
+
outputBytes = toBytes(measuredOutput);
|
|
266
|
+
// Detect partial success: the measured payload contains a non-empty `failed` array.
|
|
227
267
|
// Convention-based — matches the batch response pattern recommended by the design skill.
|
|
228
|
-
if (
|
|
229
|
-
|
|
268
|
+
if (measuredOutput != null &&
|
|
269
|
+
typeof measuredOutput === 'object' &&
|
|
270
|
+
!Array.isArray(measuredOutput)) {
|
|
271
|
+
const obj = measuredOutput;
|
|
230
272
|
if (Array.isArray(obj.failed) && obj.failed.length > 0) {
|
|
231
273
|
partialSuccess = true;
|
|
232
274
|
batchFailed = obj.failed.length;
|
|
@@ -342,11 +384,15 @@ function getResourceMetrics() {
|
|
|
342
384
|
}
|
|
343
385
|
/**
|
|
344
386
|
* Wraps a resource handler with observability: OTel span, metric counters/histogram,
|
|
345
|
-
* and a structured log. Mirrors {@link measureToolExecution} but tuned for resource reads
|
|
387
|
+
* and a structured log. Mirrors {@link measureToolExecution} but tuned for resource reads,
|
|
388
|
+
* including the measured-region semantics documented there.
|
|
346
389
|
*
|
|
347
390
|
* @template T - The resolved type of the resource handler's return value.
|
|
348
|
-
* @param resourceLogicFn - Async function containing the resource handler
|
|
349
|
-
* `context` re-bound to the execution
|
|
391
|
+
* @param resourceLogicFn - Async function containing the resource handler and the
|
|
392
|
+
* response assembly that follows it. Receives `context` re-bound to the execution
|
|
393
|
+
* span this function opens, plus `recordOutput` — call it with the handler's domain
|
|
394
|
+
* value to designate what `mcp.resource.output_bytes` measures. Without a call, the
|
|
395
|
+
* callback's return value is measured.
|
|
350
396
|
* @param context - Request context extended with `resourceName`; used for span/log correlation.
|
|
351
397
|
* @param meta - Resource metadata: URI and MIME type for span attributes.
|
|
352
398
|
* @returns A promise that resolves with the handler's return value or rejects with the original error.
|
|
@@ -370,10 +416,16 @@ export async function measureResourceExecution(resourceLogicFn, context, meta) {
|
|
|
370
416
|
let inputRequired = false;
|
|
371
417
|
let errorCode;
|
|
372
418
|
let outputBytes = 0;
|
|
419
|
+
let designatedOutput;
|
|
420
|
+
let outputDesignated = false;
|
|
421
|
+
const recordOutput = (payload) => {
|
|
422
|
+
designatedOutput = payload;
|
|
423
|
+
outputDesignated = true;
|
|
424
|
+
};
|
|
373
425
|
try {
|
|
374
|
-
const result = await resourceLogicFn(spanContext);
|
|
426
|
+
const result = await resourceLogicFn(spanContext, recordOutput);
|
|
375
427
|
ok = true;
|
|
376
|
-
outputBytes = toBytes(result);
|
|
428
|
+
outputBytes = toBytes(outputDesignated ? designatedOutput : result);
|
|
377
429
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
378
430
|
span.setAttribute(ATTR_MCP_RESOURCE_SIZE_BYTES, outputBytes);
|
|
379
431
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAuB,cAAc,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnG,6EAA6E;AAC7E,IAAI,eAA6D,CAAC;AAClE,IAAI,gBAAgE,CAAC;AACrE,IAAI,cAA4D,CAAC;AACjE,IAAI,cAA8D,CAAC;AACnE,IAAI,eAA+D,CAAC;AACpE,IAAI,cAA4D,CAAC;AACjE,IAAI,cAAkE,CAAC;AAEvE,SAAS,cAAc;IACrB,eAAe,KAAK,aAAa,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAC7F,gBAAgB,KAAK,eAAe,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC/F,cAAc,KAAK,aAAa,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;IACzF,cAAc,KAAK,eAAe,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC/F,eAAe,KAAK,eAAe,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAClG,cAAc,KAAK,aAAa,CAC9B,sBAAsB,EACtB,0CAA0C,EAC1C,QAAQ,CACT,CAAC;IACF,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,kBAAkB;IAChC,cAAc,EAAE,CAAC;IACjB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;IACnB,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB;IAC7B,cAAc,KAAK,mBAAmB,CACpC,qBAAqB,EACrB,mEAAmE,EACnE,YAAY,CACb,CAAC;IACF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAG3B,6EAA6E;IAC7E,6EAA6E;IAC7E,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAkC;IACjE,2EAA2E;IAC3E,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAErD,gEAAgE;AAChE,IAAI,aAAsC,CAAC;AAC3C,SAAS,UAAU;IACjB,aAAa,KAAK,IAAI,WAAW,EAAE,CAAC;IACpC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC,SAAS;IAE9D,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,4BAA4B;QACvD,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB;YACE,MAAM;IACV,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ;YAC/B,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ;YAC/B,KAAK,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;YAClC,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC3C,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAA+E,EAC/E,OAA8C,EAC9C,YAAqB,EACrB,iBAAmE;IAEnE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,kBAAkB,QAAQ,EAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACxF,uEAAuE;QACvE,2EAA2E;QAC3E,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,uBAAuB,CAAC,EAAE,QAAQ;YACnC,CAAC,mBAAmB,CAAC,EAAE,WAAW;YAClC,CAAC,yBAAyB,CAAC,EAAE,UAAU;SACxC,CAAC,CAAC;QAEH,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAA6B,CAAC;QAClC,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,cAAkC,CAAC;QACvC,IAAI,WAA+B,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9C,EAAE,GAAG,IAAI,CAAC;YACV,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE9B,2FAA2F;YAC3F,yFAAyF;YACzF,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3E,MAAM,GAAG,GAAG,MAAiC,CAAC;gBAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,cAAc,GAAG,IAAI,CAAC;oBACtB,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;oBAChC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;wBAAE,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;YAC3D,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,WAAW,KAAK,SAAS;oBAAE,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;gBAC1F,IAAI,cAAc,KAAK,SAAS;oBAC9B,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;YACd,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,2DAA2D;YAC3D,4BAA4B;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,GAAG,IAAI,CAAC;gBACV,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;gBACtD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACvE,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;YAED,IAAI,GAAG,YAAY,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAErD,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,yBAAyB,CAAC,EAAE,UAAU;gBACvC,CAAC,qBAAqB,CAAC,EAAE,EAAE;aAC5B,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,8DAA8D;YAC9D,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC;YACrD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACtC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,aAAa;gBAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtB,GAAG,SAAS;oBACZ,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,4BAA4B,CAAC,EAAE,aAAa,EAAE,CAAC;iBACxE,CAAC,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAuC,CAAC,EAAE,CAAC;oBACzE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CACT,sBAAsB,CAAC,qBAAqB,EAC5C,SAAS,CAAC,WAAW,EAAE;gBACrB,QAAQ;gBACR,OAAO,EAAE;oBACP,UAAU;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;oBACvC,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;iBACvE;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,iCAAiC;AACjC,6EAA6E;AAE7E,IAAI,mBAAiE,CAAC;AACtE,IAAI,oBAAoE,CAAC;AACzE,IAAI,kBAAgE,CAAC;AAErE,IAAI,mBAAmE,CAAC;AAExE,SAAS,kBAAkB;IACzB,mBAAmB,KAAK,aAAa,CACnC,oBAAoB,EACpB,qCAAqC,EACrC,SAAS,CACV,CAAC;IACF,oBAAoB,KAAK,eAAe,CACtC,uBAAuB,EACvB,sCAAsC,EACtC,IAAI,CACL,CAAC;IACF,kBAAkB,KAAK,aAAa,CAClC,qBAAqB,EACrB,gCAAgC,EAChC,UAAU,CACX,CAAC;IACF,mBAAmB,KAAK,eAAe,CACrC,2BAA2B,EAC3B,8BAA8B,EAC9B,OAAO,CACR,CAAC;IACF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AAChG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,eAAuF,EACvF,OAAkD,EAClD,IAAuC;IAEvC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEjC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,iBAAiB,YAAY,EAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3F,kEAAkE;QAClE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QAEnB,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,uBAAuB,CAAC,EAAE,YAAY;YACvC,CAAC,mBAAmB,CAAC,EAAE,eAAe;YACtC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,GAAG;YACjC,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,QAAQ;SAC7C,CAAC,CAAC;QAEH,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAA6B,CAAC;QAClC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;YAClD,EAAE,GAAG,IAAI,CAAC;YACV,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;YACd,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,2DAA2D;YAC3D,4BAA4B;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,GAAG,IAAI,CAAC;gBACV,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;gBAC1D,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,QAAQ;gBAAE,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACrD,IAAI,GAAG,YAAY,KAAK;gBAAE,SAAS,GAAG,iBAAiB,CAAC;;gBACxD,SAAS,GAAG,eAAe,CAAC;YAEjC,IAAI,GAAG,YAAY,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAErD,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,6BAA6B,CAAC,EAAE,UAAU;gBAC3C,CAAC,yBAAyB,CAAC,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG;gBAClB,CAAC,sBAAsB,CAAC,EAAE,YAAY;gBACtC,CAAC,yBAAyB,CAAC,EAAE,EAAE;aAChC,CAAC;YACF,MAAM,aAAa,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,CAAC;YACjE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACvD,IAAI,EAAE,IAAI,CAAC,aAAa;gBAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YACnF,IAAI,CAAC,EAAE;gBAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAEpD,MAAM,CAAC,IAAI,CACT,sBAAsB,CAAC,oBAAoB,EAC3C,SAAS,CAAC,WAAW,EAAE;gBACrB,YAAY;gBACZ,OAAO,EAAE;oBACP,UAAU;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS;oBACT,WAAW;oBACX,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;oBACvC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,gCAAgC;AAChC,6EAA6E;AAE7E,IAAI,gBAA8D,CAAC;AACnE,IAAI,iBAAiE,CAAC;AACtE,IAAI,eAA6D,CAAC;AAClE,IAAI,gBAAgE,CAAC;AACrE,IAAI,iBAAiE,CAAC;AACtE,IAAI,kBAAkE,CAAC;AAEvE,SAAS,gBAAgB;IACvB,gBAAgB,KAAK,aAAa,CAChC,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,CAChB,CAAC;IACF,iBAAiB,KAAK,eAAe,CACnC,qBAAqB,EACrB,gCAAgC,EAChC,IAAI,CACL,CAAC;IACF,eAAe,KAAK,aAAa,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,UAAU,CAAC,CAAC;IAC9F,gBAAgB,KAAK,eAAe,CAClC,wBAAwB,EACxB,8BAA8B,EAC9B,OAAO,CACR,CAAC;IACF,iBAAiB,KAAK,eAAe,CACnC,yBAAyB,EACzB,wCAAwC,EACxC,OAAO,CACR,CAAC;IACF,kBAAkB,KAAK,eAAe,CACpC,0BAA0B,EAC1B,uDAAuD,EACvD,YAAY,CACb,CAAC;IACF,OAAO;QACL,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAA+B,EAC/B,OAAgD,EAChD,YAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,qBAAqB,UAAU,EAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7F,yEAAyE;QACzE,2EAA2E;QAC3E,aAAa;QACb,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,uBAAuB,CAAC,EAAE,UAAU;YACrC,CAAC,mBAAmB,CAAC,EAAE,aAAa;YACpC,CAAC,2BAA2B,CAAC,EAAE,UAAU;SAC1C,CAAC,CAAC;QAEH,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAA6B,CAAC;QAClC,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACrC,EAAE,GAAG,IAAI,CAAC;YACV,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAExD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC;YACd,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,2DAA2D;YAC3D,4BAA4B;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,GAAG,IAAI,CAAC;gBACV,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;gBACxD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACvE,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;YAED,IAAI,GAAG,YAAY,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAErD,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,2BAA2B,CAAC,EAAE,UAAU;gBACzC,CAAC,uBAAuB,CAAC,EAAE,EAAE;aAC9B,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,CAAC;YAC1F,MAAM,WAAW,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;YAC3D,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACvC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;oBACvB,GAAG,WAAW;oBACd,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,8BAA8B,CAAC,EAAE,aAAa,EAAE,CAAC;iBAC1E,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,MAAM,aAAa,GAAG,EAAE;gBACtB,CAAC,CAAC,sBAAsB,CAAC,wBAAwB;gBACjD,CAAC,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAClD,KAAK,CAAC,IAAI,CACR,MAAM,EACN,aAAa,EACb,SAAS,CAAC,WAAW,EAAE;gBACrB,UAAU;gBACV,OAAO,EAAE;oBACP,UAAU;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;iBACxC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAuB,cAAc,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnG,6EAA6E;AAC7E,IAAI,eAA6D,CAAC;AAClE,IAAI,gBAAgE,CAAC;AACrE,IAAI,cAA4D,CAAC;AACjE,IAAI,cAA8D,CAAC;AACnE,IAAI,eAA+D,CAAC;AACpE,IAAI,cAA4D,CAAC;AACjE,IAAI,cAAkE,CAAC;AAEvE,SAAS,cAAc;IACrB,eAAe,KAAK,aAAa,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAC7F,gBAAgB,KAAK,eAAe,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC/F,cAAc,KAAK,aAAa,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;IACzF,cAAc,KAAK,eAAe,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC/F,eAAe,KAAK,eAAe,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAClG,cAAc,KAAK,aAAa,CAC9B,sBAAsB,EACtB,0CAA0C,EAC1C,QAAQ,CACT,CAAC;IACF,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,kBAAkB;IAChC,cAAc,EAAE,CAAC;IACjB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;IACnB,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB;IAC7B,cAAc,KAAK,mBAAmB,CACpC,qBAAqB,EACrB,mEAAmE,EACnE,YAAY,CACb,CAAC;IACF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAG3B,6EAA6E;IAC7E,6EAA6E;IAC7E,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAkC;IACjE,2EAA2E;IAC3E,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAErD,gEAAgE;AAChE,IAAI,aAAsC,CAAC;AAC3C,SAAS,UAAU;IACjB,aAAa,KAAK,IAAI,WAAW,EAAE,CAAC;IACpC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC,SAAS;IAE9D,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,4BAA4B;QACvD,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB;YACE,MAAM;IACV,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ;YAC/B,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ;YAC/B,KAAK,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;YAClC,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC3C,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,6EAA6E;AAC7E,6BAA6B;AAC7B,6EAA6E;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAGe,EACf,OAA8C,EAC9C,YAAqB,EACrB,iBAAmE;IAEnE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,kBAAkB,QAAQ,EAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACxF,uEAAuE;QACvE,2EAA2E;QAC3E,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,uBAAuB,CAAC,EAAE,QAAQ;YACnC,CAAC,mBAAmB,CAAC,EAAE,WAAW;YAClC,CAAC,yBAAyB,CAAC,EAAE,UAAU;SACxC,CAAC,CAAC;QAEH,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAA6B,CAAC;QAClC,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,cAAkC,CAAC;QACvC,IAAI,WAA+B,CAAC;QAEpC,IAAI,gBAAyB,CAAC;QAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE;YAC9C,gBAAgB,GAAG,OAAO,CAAC;YAC3B,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC5D,EAAE,GAAG,IAAI,CAAC;YACV,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAEtC,oFAAoF;YACpF,yFAAyF;YACzF,IACE,cAAc,IAAI,IAAI;gBACtB,OAAO,cAAc,KAAK,QAAQ;gBAClC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAC9B,CAAC;gBACD,MAAM,GAAG,GAAG,cAAyC,CAAC;gBACtD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,cAAc,GAAG,IAAI,CAAC;oBACtB,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;oBAChC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;wBAAE,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;YAC3D,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,WAAW,KAAK,SAAS;oBAAE,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;gBAC1F,IAAI,cAAc,KAAK,SAAS;oBAC9B,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;YACd,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,2DAA2D;YAC3D,4BAA4B;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,GAAG,IAAI,CAAC;gBACV,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;gBACtD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACvE,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;YAED,IAAI,GAAG,YAAY,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAErD,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,yBAAyB,CAAC,EAAE,UAAU;gBACvC,CAAC,qBAAqB,CAAC,EAAE,EAAE;aAC5B,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,8DAA8D;YAC9D,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC;YACrD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACtC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,aAAa;gBAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtB,GAAG,SAAS;oBACZ,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,4BAA4B,CAAC,EAAE,aAAa,EAAE,CAAC;iBACxE,CAAC,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAuC,CAAC,EAAE,CAAC;oBACzE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CACT,sBAAsB,CAAC,qBAAqB,EAC5C,SAAS,CAAC,WAAW,EAAE;gBACrB,QAAQ;gBACR,OAAO,EAAE;oBACP,UAAU;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;oBACvC,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;iBACvE;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,iCAAiC;AACjC,6EAA6E;AAE7E,IAAI,mBAAiE,CAAC;AACtE,IAAI,oBAAoE,CAAC;AACzE,IAAI,kBAAgE,CAAC;AAErE,IAAI,mBAAmE,CAAC;AAExE,SAAS,kBAAkB;IACzB,mBAAmB,KAAK,aAAa,CACnC,oBAAoB,EACpB,qCAAqC,EACrC,SAAS,CACV,CAAC;IACF,oBAAoB,KAAK,eAAe,CACtC,uBAAuB,EACvB,sCAAsC,EACtC,IAAI,CACL,CAAC;IACF,kBAAkB,KAAK,aAAa,CAClC,qBAAqB,EACrB,gCAAgC,EAChC,UAAU,CACX,CAAC;IACF,mBAAmB,KAAK,eAAe,CACrC,2BAA2B,EAC3B,8BAA8B,EAC9B,OAAO,CACR,CAAC;IACF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,eAGe,EACf,OAAkD,EAClD,IAAuC;IAEvC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEjC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,iBAAiB,YAAY,EAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3F,kEAAkE;QAClE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QAEnB,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,uBAAuB,CAAC,EAAE,YAAY;YACvC,CAAC,mBAAmB,CAAC,EAAE,eAAe;YACtC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,GAAG;YACjC,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,QAAQ;SAC7C,CAAC,CAAC;QAEH,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAA6B,CAAC;QAClC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,gBAAyB,CAAC;QAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE;YAC9C,gBAAgB,GAAG,OAAO,CAAC;YAC3B,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAChE,EAAE,GAAG,IAAI,CAAC;YACV,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;YACd,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,2DAA2D;YAC3D,4BAA4B;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,GAAG,IAAI,CAAC;gBACV,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;gBAC1D,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,QAAQ;gBAAE,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACrD,IAAI,GAAG,YAAY,KAAK;gBAAE,SAAS,GAAG,iBAAiB,CAAC;;gBACxD,SAAS,GAAG,eAAe,CAAC;YAEjC,IAAI,GAAG,YAAY,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAErD,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,6BAA6B,CAAC,EAAE,UAAU;gBAC3C,CAAC,yBAAyB,CAAC,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG;gBAClB,CAAC,sBAAsB,CAAC,EAAE,YAAY;gBACtC,CAAC,yBAAyB,CAAC,EAAE,EAAE;aAChC,CAAC;YACF,MAAM,aAAa,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,CAAC;YACjE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACvD,IAAI,EAAE,IAAI,CAAC,aAAa;gBAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YACnF,IAAI,CAAC,EAAE;gBAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAEpD,MAAM,CAAC,IAAI,CACT,sBAAsB,CAAC,oBAAoB,EAC3C,SAAS,CAAC,WAAW,EAAE;gBACrB,YAAY;gBACZ,OAAO,EAAE;oBACP,UAAU;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS;oBACT,WAAW;oBACX,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;oBACvC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,gCAAgC;AAChC,6EAA6E;AAE7E,IAAI,gBAA8D,CAAC;AACnE,IAAI,iBAAiE,CAAC;AACtE,IAAI,eAA6D,CAAC;AAClE,IAAI,gBAAgE,CAAC;AACrE,IAAI,iBAAiE,CAAC;AACtE,IAAI,kBAAkE,CAAC;AAEvE,SAAS,gBAAgB;IACvB,gBAAgB,KAAK,aAAa,CAChC,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,CAChB,CAAC;IACF,iBAAiB,KAAK,eAAe,CACnC,qBAAqB,EACrB,gCAAgC,EAChC,IAAI,CACL,CAAC;IACF,eAAe,KAAK,aAAa,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,UAAU,CAAC,CAAC;IAC9F,gBAAgB,KAAK,eAAe,CAClC,wBAAwB,EACxB,8BAA8B,EAC9B,OAAO,CACR,CAAC;IACF,iBAAiB,KAAK,eAAe,CACnC,yBAAyB,EACzB,wCAAwC,EACxC,OAAO,CACR,CAAC;IACF,kBAAkB,KAAK,eAAe,CACpC,0BAA0B,EAC1B,uDAAuD,EACvD,YAAY,CACb,CAAC;IACF,OAAO;QACL,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAA+B,EAC/B,OAAgD,EAChD,YAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAC5B,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,qBAAqB,UAAU,EAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7F,yEAAyE;QACzE,2EAA2E;QAC3E,aAAa;QACb,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,uBAAuB,CAAC,EAAE,UAAU;YACrC,CAAC,mBAAmB,CAAC,EAAE,aAAa;YACpC,CAAC,2BAA2B,CAAC,EAAE,UAAU;SAC1C,CAAC,CAAC;QAEH,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAA6B,CAAC;QAClC,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACrC,EAAE,GAAG,IAAI,CAAC;YACV,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAExD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC;YACd,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,2DAA2D;YAC3D,4BAA4B;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,GAAG,IAAI,CAAC;gBACV,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;gBACxD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACvE,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;YAED,IAAI,GAAG,YAAY,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,cAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAErD,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,2BAA2B,CAAC,EAAE,UAAU;gBACzC,CAAC,uBAAuB,CAAC,EAAE,EAAE;aAC9B,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,CAAC;YAC1F,MAAM,WAAW,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;YAC3D,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACvC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;oBACvB,GAAG,WAAW;oBACd,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,8BAA8B,CAAC,EAAE,aAAa,EAAE,CAAC;iBAC1E,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,MAAM,aAAa,GAAG,EAAE;gBACtB,CAAC,CAAC,sBAAsB,CAAC,wBAAwB;gBACjD,CAAC,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAClD,KAAK,CAAC,IAAI,CACR,MAAM,EACN,aAAa,EACb,SAAS,CAAC,WAAW,EAAE;gBACrB,UAAU;gBACV,OAAO,EAAE;oBACP,UAAU;oBACV,SAAS,EAAE,EAAE;oBACb,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;iBACxC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/mcp-ts-core",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.3",
|
|
4
4
|
"mcpName": "io.github.cyanheads/mcp-ts-core",
|
|
5
|
-
"description": "Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.",
|
|
5
|
+
"description": "Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.",
|
|
6
6
|
"files": [
|
|
7
7
|
"changelog/",
|
|
8
8
|
"dist/",
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
"js-yaml": "^5.3.0",
|
|
228
228
|
"linkedom": "^0.18.13",
|
|
229
229
|
"node-cron": "^4.6.0",
|
|
230
|
-
"openai": "^7.
|
|
230
|
+
"openai": "^7.5.0",
|
|
231
231
|
"papaparse": "^5.6.0",
|
|
232
232
|
"partial-json": "^0.1.7",
|
|
233
233
|
"pdf-lib": "^1.17.1",
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
"url": "https://www.buymeacoffee.com/cyanheads"
|
|
274
274
|
}
|
|
275
275
|
],
|
|
276
|
-
"packageManager": "bun@1.
|
|
276
|
+
"packageManager": "bun@1.4.0",
|
|
277
277
|
"engines": {
|
|
278
278
|
"bun": ">=1.3.0",
|
|
279
279
|
"node": ">=24.0.0"
|
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Scaffold a new MCP resource definition. Use when the user asks to add a resource, expose data via URI, or create a readable endpoint.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.5"
|
|
8
8
|
audience: external
|
|
9
9
|
type: reference
|
|
10
10
|
---
|
|
@@ -177,6 +177,35 @@ Beyond `description`, `params`, `handler`, and `list`, the builder also supports
|
|
|
177
177
|
| `title` | Human-readable display title (defaults to `name`). |
|
|
178
178
|
| `examples` | Array of `{ name, uri }` example entries surfaced in `resources/list` for discoverability. |
|
|
179
179
|
| `complete` | Per-variable completion callbacks for URI template variables. Keys match template variable names. Enables `completion/complete` and the `completions` capability. |
|
|
180
|
+
| `cacheHint` | `{ ttlMs?, cacheScope? }` — how long a client may cache this resource's `resources/read` result on protocol revision 2026-07-28. See below. |
|
|
181
|
+
|
|
182
|
+
### Cache hints (2026-07-28)
|
|
183
|
+
|
|
184
|
+
A resource that serves slow-changing data can declare how long its `resources/read` result stays fresh. `ttlMs` is the lifetime in milliseconds (a non-negative safe integer); `cacheScope` is `'private'` (only the requesting client may cache it) or `'public'` (shared caches may too).
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
export const referenceTable = resource('reference://units', {
|
|
188
|
+
description: 'Unit conversion reference table.',
|
|
189
|
+
cacheHint: { ttlMs: 86_400_000, cacheScope: 'public' },
|
|
190
|
+
handler: () => UNIT_TABLE,
|
|
191
|
+
});
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Resolution is per field, most specific first: the resource's own `cacheHint`, then the `resources/read` entry of `createApp({ cacheHints })`, then the SDK defaults (`ttlMs: 0`, `cacheScope: 'private'`). So a resource that names only a scope still inherits the server-wide lifetime.
|
|
195
|
+
|
|
196
|
+
Set a server-wide policy for the list operations alongside it — those results the SDK builds itself, so a resource cannot speak for them:
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
await createApp({
|
|
200
|
+
cacheHints: {
|
|
201
|
+
'tools/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
202
|
+
'resources/read': { ttlMs: 60_000 },
|
|
203
|
+
},
|
|
204
|
+
resources: [referenceTable],
|
|
205
|
+
});
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Cacheable operations are `tools/list`, `prompts/list`, `resources/list`, `resources/templates/list`, `resources/read`, and `server/discover`. Responses to 2025-era clients are unaffected — the hint only fills fields the 2026-07-28 revision defines.
|
|
180
209
|
|
|
181
210
|
## Checklist
|
|
182
211
|
|
|
@@ -189,6 +218,7 @@ Beyond `description`, `params`, `handler`, and `list`, the builder also supports
|
|
|
189
218
|
- [ ] If `errors[]` contract declared: every entry has a `recovery` field (≥5 words, lint-enforced)
|
|
190
219
|
- [ ] Data is reachable via the tool surface — confirm by checking `src/mcp-server/tools/definitions/` for a tool that exposes this data, or document why this resource is resources-only
|
|
191
220
|
- [ ] `list()` function provided if the resource is discoverable
|
|
221
|
+
- [ ] `cacheHint` set if the data is slow-changing and worth caching (`ttlMs` a non-negative safe integer)
|
|
192
222
|
- [ ] Pagination used for large result sets (`extractCursor`/`paginateArray`) — applies to both `handler` data and `list()` catalogs with many entries
|
|
193
223
|
- [ ] Registered in the project's existing `createApp()` resource list (directly or via barrel)
|
|
194
224
|
- [ ] `bun run devcheck` passes
|
package/skills/add-tool/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "2.
|
|
7
|
+
version: "2.20"
|
|
8
8
|
audience: external
|
|
9
9
|
type: reference
|
|
10
10
|
---
|
|
@@ -279,6 +279,40 @@ Three constraints:
|
|
|
279
279
|
- **The union must be discriminated.** A bare `z.union(...)` is rejected: with no literal-tagged key the model has nothing to choose a branch by, and every variant's `required` would read as applying at once.
|
|
280
280
|
- **`output` stays a flat `z.object`** — see the widening section below for why a non-object output root breaks the success path. When the *result* shape varies by mode, use a `kind` discriminator with presence-based optional fields and render each arm on field presence in `format()`.
|
|
281
281
|
- **Portability is unmeasured at the parameter root.** `schema-root-oneof-portability` (strict mode only) says so; for Anthropic clients the union is the better shape, and flattening is the escape hatch if you target the widest vendor matrix.
|
|
282
|
+
- **A union root rules out `headerParam`.** See below — the branches sit under `oneOf`, which the reachability rule excludes.
|
|
283
|
+
|
|
284
|
+
### `headerParam` mirrors an argument into a request header
|
|
285
|
+
|
|
286
|
+
Protocol revision 2026-07-28 lets a tool designate an input property with `x-mcp-header`, so its value also rides an `Mcp-Param-<Name>` request header. A proxy, gateway, or router can then read it without parsing the JSON-RPC body:
|
|
287
|
+
|
|
288
|
+
```ts
|
|
289
|
+
import { headerParam, tool, z } from '@cyanheads/mcp-ts-core';
|
|
290
|
+
|
|
291
|
+
input: z.object({
|
|
292
|
+
query: z.string().describe('Search query.'),
|
|
293
|
+
routing: z.object({
|
|
294
|
+
region: headerParam(z.string(), 'Region').describe('Deployment region.'),
|
|
295
|
+
shard: headerParam(z.int(), 'Shard-Id').describe('Shard the record lives on.'),
|
|
296
|
+
}).describe('Where to route the lookup.'),
|
|
297
|
+
}),
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
The emitted property carries `"x-mcp-header": "Region"` and nothing else about the field changes — description, type, validation, and requiredness are untouched. Order does not matter: `headerParam(z.string(), 'Region').describe('…')` and `headerParam(z.string().describe('…'), 'Region')` are the same schema.
|
|
301
|
+
|
|
302
|
+
**It mirrors, it does not relocate.** When the body carries a value for a designated property, the matching `Mcp-Param-<Name>` header MUST be present and decode to an equal value; the SDK cross-checks the pair before dispatch and rejects a disagreement with `-32020` (`HeaderMismatch`, HTTP `400`). Absent or `null` in the body means no header is expected. **Your handler still reads the argument from `input`** — there is nothing new to do in the handler body.
|
|
303
|
+
|
|
304
|
+
**Where a designation is legal.** The property must be primitive-typed (`string`, `integer`, `number`, `boolean`) and statically reachable through a chain of `properties` keys. Top-level and nested `z.object()` fields qualify. These do not:
|
|
305
|
+
|
|
306
|
+
| Placement | Why |
|
|
307
|
+
|:--|:--|
|
|
308
|
+
| An array element (`z.array(z.object({ … }))`) | Lives under `items` |
|
|
309
|
+
| A `z.record()` value | Lives under `additionalProperties` |
|
|
310
|
+
| Any field of a **discriminated-union input root** | The root advertises `oneOf`, so every branch is off the chain — no field of a union-input tool can be designated |
|
|
311
|
+
| A schema reused under `.meta({ id })` | Hoisted into `$defs` and reached by `$ref` |
|
|
312
|
+
|
|
313
|
+
Header names must be non-empty RFC 9110 tokens (no spaces, control characters, or HTTP delimiters) and case-insensitively unique across the whole input schema.
|
|
314
|
+
|
|
315
|
+
**Violations fail at definition time.** `tool()` throws on import, naming the field path and the reason. That is deliberate: the SDK only `console.warn`s and registers the tool anyway, leaving conforming Streamable HTTP clients to drop it from `tools/list` — a tool that silently disappears with nothing reporting the gap. The linter reports the same verdict as `header-param-designation` for definitions assembled without the builder.
|
|
282
316
|
|
|
283
317
|
### The advertised `outputSchema` is widened
|
|
284
318
|
|
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Reference for core and server configuration in `@cyanheads/mcp-ts-core`. Covers env var tables with defaults, priority order, server-specific Zod schema pattern, and Workers lazy-parsing requirement.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.13"
|
|
8
8
|
audience: external
|
|
9
9
|
type: reference
|
|
10
10
|
---
|
|
@@ -47,12 +47,36 @@ Managed by `@cyanheads/mcp-ts-core`. Validated via Zod from environment variable
|
|
|
47
47
|
| `websiteUrl` | `string?` | Canonical homepage / repository URL |
|
|
48
48
|
| `description` | `string?` | One-line description; wins over `MCP_SERVER_DESCRIPTION` when set |
|
|
49
49
|
| `icons` | `Implementation['icons']?` | Array of icon objects: `{ src, mimeType?, sizes?: string[], theme?: 'light'\|'dark' }` |
|
|
50
|
+
| `cacheHints` | `CacheHints?` | Cache hints for the 2026-07-28 cacheable results, keyed by operation — see below |
|
|
51
|
+
|
|
52
|
+
#### Cache hints (`cacheHints`)
|
|
53
|
+
|
|
54
|
+
API-only, no env var. Sets the `ttlMs` / `cacheScope` a client may cache a cacheable result for on protocol revision 2026-07-28. Keys are the closed set of cacheable operations: `tools/list`, `prompts/list`, `resources/list`, `resources/templates/list`, `resources/read`, `server/discover`.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
await createApp({
|
|
58
|
+
cacheHints: {
|
|
59
|
+
'tools/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
60
|
+
'resources/read': { ttlMs: 60_000 },
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- `ttlMs` — cache lifetime in milliseconds; must be a non-negative safe integer. An invalid value fails at startup with a `ConfigurationError` naming the field.
|
|
66
|
+
- `cacheScope` — `'private'` (only the requesting client may cache) or `'public'` (shared caches may too).
|
|
67
|
+
- A resource's own `cacheHint` overrides the `resources/read` entry for that resource, field by field — see the `add-resource` skill.
|
|
68
|
+
- Omitting a hint keeps the SDK defaults (`ttlMs: 0`, `cacheScope: 'private'`). Responses to 2025-era clients are never affected.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### Environment & logging
|
|
73
|
+
|
|
74
|
+
| Env Var | `AppConfig` field | Default | Notes |
|
|
75
|
+
|:--------|:-----------------|:--------|:------|
|
|
50
76
|
| `NODE_ENV` | `environment` | `development` | Aliases: `dev`→`development`, `prod`→`production`, `test`→`testing` |
|
|
51
77
|
| `MCP_LOG_LEVEL` | `logLevel` | `debug` | Aliases: `warn`→`warning`, `err`→`error`, `fatal`/`silent`→`emerg`, `trace`→`debug`, `information`→`info` |
|
|
52
78
|
| `LOGS_DIR` | `logsPath` | `<project-root>/logs` | Node.js only; absolute or relative to project root |
|
|
53
79
|
|
|
54
|
-
---
|
|
55
|
-
|
|
56
80
|
### Transport
|
|
57
81
|
|
|
58
82
|
| Env Var | `AppConfig` field | Default | Notes |
|
|
@@ -62,7 +86,7 @@ Managed by `@cyanheads/mcp-ts-core`. Validated via Zod from environment variable
|
|
|
62
86
|
| `MCP_HTTP_HOST` | `mcpHttpHost` | `127.0.0.1` | Bind address |
|
|
63
87
|
| `MCP_HTTP_ENDPOINT_PATH` | `mcpHttpEndpointPath` | `/mcp` | HTTP endpoint path |
|
|
64
88
|
| `MCP_HTTP_MAX_BODY_BYTES` | `mcpHttpMaxBodyBytes` | `1048576` (1 MiB) | Max **inbound** JSON-RPC request body; oversized requests get `413` before per-request allocation. Does **not** cap upstream data staged into a canvas or response sizes. `0` disables (defer to runtime/proxy). |
|
|
65
|
-
| `MCP_HTTP_MAX_PORT_RETRIES` | `mcpHttpMaxPortRetries` | `15` |
|
|
89
|
+
| `MCP_HTTP_MAX_PORT_RETRIES` | `mcpHttpMaxPortRetries` | `15` | Rungs of the port ladder walked when a bind collides; each rung tries `port + 1`. See [Port binding](#port-binding) |
|
|
66
90
|
| `MCP_HTTP_PORT_RETRY_DELAY_MS` | `mcpHttpPortRetryDelayMs` | `50` | Delay between port retries (ms) |
|
|
67
91
|
| `MCP_SESSION_MODE` | `mcpSessionMode` | `auto` | `stateless` \| `stateful` \| `auto` |
|
|
68
92
|
| `MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS` | `mcpStatefulSessionStaleTimeoutMs` | `1800000` | 30 min; stale session eviction |
|
|
@@ -77,6 +101,14 @@ Managed by `@cyanheads/mcp-ts-core`. Validated via Zod from environment variable
|
|
|
77
101
|
| `MCP_HEARTBEAT_MISS_THRESHOLD` | `mcpHeartbeatMissThreshold` | `3` | Missed heartbeats before session is considered stale |
|
|
78
102
|
| `MCP_GC_PRESSURE_INTERVAL_MS` | `mcpGcPressureIntervalMs` | `0` (disabled) | Bun-only opt-in forced GC loop for HTTP deployments with heap growth |
|
|
79
103
|
|
|
104
|
+
#### Port binding
|
|
105
|
+
|
|
106
|
+
`MCP_HTTP_PORT` is where the HTTP transport starts, not necessarily where it ends up. Startup walks a ladder: bind `MCP_HTTP_PORT`, and on a collision wait `MCP_HTTP_PORT_RETRY_DELAY_MS` and try the next port, up to `MCP_HTTP_MAX_PORT_RETRIES` times. Read the bound port off the `HTTP transport listening at …` log line or the startup banner — with the defaults the server may be anywhere in `3010`–`3025`. Pin the port by setting `MCP_HTTP_MAX_PORT_RETRIES=0`, which makes a collision a startup failure instead of a silent move.
|
|
107
|
+
|
|
108
|
+
- **Startup resolves only once the server reports `'listening'`.** A bind failure arriving after the listen call — a collision the pre-bind probe could not see, because another process took the port in between — is routed to the ladder like any other, not reported as a successful start.
|
|
109
|
+
- **A failure the ladder cannot clear rejects immediately.** Each rung only changes the port, so `EACCES` (privileged port, typically `<1024` as a non-root user) and `EADDRNOTAVAIL` (the `MCP_HTTP_HOST` address is not local to this machine) fail startup on the first attempt with the OS error as the rejection's `cause`, rather than burning every rung. Ladder exhaustion carries the last bind error as `cause` too, when a real bind attempt produced one.
|
|
110
|
+
- **Runtime caveat:** Bun reports a permission-denied bind as `EADDRINUSE` where Node reports `EACCES`. On Bun a privileged port therefore reads as an ordinary collision and walks the whole ladder before failing with `Failed to bind to any port after N retries.` — on Node the same port fails on the first attempt, naming `EACCES`.
|
|
111
|
+
|
|
80
112
|
---
|
|
81
113
|
|
|
82
114
|
### Auth
|