@cyanheads/mcp-ts-core 0.13.7 → 0.13.8

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 (210) hide show
  1. package/AGENTS.md +3 -3
  2. package/CLAUDE.md +3 -3
  3. package/README.md +3 -1
  4. package/changelog/0.13.x/0.13.8.md +101 -0
  5. package/dist/config/index.d.ts +9 -0
  6. package/dist/config/index.d.ts.map +1 -1
  7. package/dist/config/index.js +19 -0
  8. package/dist/config/index.js.map +1 -1
  9. package/dist/core/app.d.ts.map +1 -1
  10. package/dist/core/app.js +14 -2
  11. package/dist/core/app.js.map +1 -1
  12. package/dist/core/context.d.ts.map +1 -1
  13. package/dist/core/context.js +13 -3
  14. package/dist/core/context.js.map +1 -1
  15. package/dist/core/worker.d.ts +2 -0
  16. package/dist/core/worker.d.ts.map +1 -1
  17. package/dist/core/worker.js +2 -0
  18. package/dist/core/worker.js.map +1 -1
  19. package/dist/linter/rules/enrichment-rules.d.ts +3 -2
  20. package/dist/linter/rules/enrichment-rules.d.ts.map +1 -1
  21. package/dist/linter/rules/enrichment-rules.js +9 -2
  22. package/dist/linter/rules/enrichment-rules.js.map +1 -1
  23. package/dist/linter/rules/handler-body-rules.d.ts.map +1 -1
  24. package/dist/linter/rules/handler-body-rules.js +10 -4
  25. package/dist/linter/rules/handler-body-rules.js.map +1 -1
  26. package/dist/linter/rules/schema-rules.d.ts +5 -0
  27. package/dist/linter/rules/schema-rules.d.ts.map +1 -1
  28. package/dist/linter/rules/schema-rules.js +44 -17
  29. package/dist/linter/rules/schema-rules.js.map +1 -1
  30. package/dist/mcp-server/outputContract.d.ts +33 -0
  31. package/dist/mcp-server/outputContract.d.ts.map +1 -0
  32. package/dist/mcp-server/outputContract.js +43 -0
  33. package/dist/mcp-server/outputContract.js.map +1 -0
  34. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
  35. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +10 -2
  36. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
  37. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +16 -5
  38. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +65 -13
  40. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  41. package/dist/mcp-server/transports/auth/lib/authUtils.js +4 -1
  42. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -1
  43. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -1
  44. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +1 -1
  45. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -1
  46. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -1
  47. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +2 -5
  48. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -1
  49. package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -1
  50. package/dist/mcp-server/transports/http/sessionStore.js +2 -2
  51. package/dist/mcp-server/transports/http/sessionStore.js.map +1 -1
  52. package/dist/services/canvas/core/CanvasRegistry.js +1 -1
  53. package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
  54. package/dist/services/canvas/core/DataCanvas.d.ts.map +1 -1
  55. package/dist/services/canvas/core/DataCanvas.js +7 -5
  56. package/dist/services/canvas/core/DataCanvas.js.map +1 -1
  57. package/dist/services/canvas/core/canvasFactory.d.ts.map +1 -1
  58. package/dist/services/canvas/core/canvasFactory.js +2 -2
  59. package/dist/services/canvas/core/canvasFactory.js.map +1 -1
  60. package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
  61. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +25 -16
  62. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
  63. package/dist/services/llm/providers/openrouter.provider.js +1 -1
  64. package/dist/services/llm/providers/openrouter.provider.js.map +1 -1
  65. package/dist/services/speech/providers/elevenlabs.provider.js +3 -3
  66. package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -1
  67. package/dist/services/speech/providers/whisper.provider.d.ts.map +1 -1
  68. package/dist/services/speech/providers/whisper.provider.js +5 -5
  69. package/dist/services/speech/providers/whisper.provider.js.map +1 -1
  70. package/dist/storage/core/StorageService.d.ts.map +1 -1
  71. package/dist/storage/core/StorageService.js +3 -6
  72. package/dist/storage/core/StorageService.js.map +1 -1
  73. package/dist/storage/core/storageFactory.d.ts.map +1 -1
  74. package/dist/storage/core/storageFactory.js +12 -15
  75. package/dist/storage/core/storageFactory.js.map +1 -1
  76. package/dist/storage/core/storageValidation.d.ts +13 -13
  77. package/dist/storage/core/storageValidation.d.ts.map +1 -1
  78. package/dist/storage/core/storageValidation.js +49 -125
  79. package/dist/storage/core/storageValidation.js.map +1 -1
  80. package/dist/storage/providers/cloudflare/d1Provider.d.ts.map +1 -1
  81. package/dist/storage/providers/cloudflare/d1Provider.js +5 -3
  82. package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -1
  83. package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -1
  84. package/dist/storage/providers/cloudflare/kvProvider.js +1 -1
  85. package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -1
  86. package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -1
  87. package/dist/storage/providers/cloudflare/r2Provider.js +3 -3
  88. package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -1
  89. package/dist/storage/providers/fileSystem/fileSystemProvider.js +4 -4
  90. package/dist/storage/providers/fileSystem/fileSystemProvider.js.map +1 -1
  91. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +1 -1
  92. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
  93. package/dist/storage/providers/inMemory/inMemoryProvider.js +6 -5
  94. package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
  95. package/dist/testing/fuzz.d.ts.map +1 -1
  96. package/dist/testing/fuzz.js +7 -1
  97. package/dist/testing/fuzz.js.map +1 -1
  98. package/dist/testing/index.d.ts +15 -2
  99. package/dist/testing/index.d.ts.map +1 -1
  100. package/dist/testing/index.js +51 -6
  101. package/dist/testing/index.js.map +1 -1
  102. package/dist/types-global/errors.d.ts +7 -4
  103. package/dist/types-global/errors.d.ts.map +1 -1
  104. package/dist/types-global/errors.js.map +1 -1
  105. package/dist/utils/formatting/codeSpan.d.ts +27 -0
  106. package/dist/utils/formatting/codeSpan.d.ts.map +1 -0
  107. package/dist/utils/formatting/codeSpan.js +42 -0
  108. package/dist/utils/formatting/codeSpan.js.map +1 -0
  109. package/dist/utils/formatting/diffFormatter.d.ts.map +1 -1
  110. package/dist/utils/formatting/diffFormatter.js +7 -15
  111. package/dist/utils/formatting/diffFormatter.js.map +1 -1
  112. package/dist/utils/formatting/markdownBuilder.d.ts +12 -5
  113. package/dist/utils/formatting/markdownBuilder.d.ts.map +1 -1
  114. package/dist/utils/formatting/markdownBuilder.js +14 -2
  115. package/dist/utils/formatting/markdownBuilder.js.map +1 -1
  116. package/dist/utils/formatting/tableFormatter.d.ts.map +1 -1
  117. package/dist/utils/formatting/tableFormatter.js +5 -9
  118. package/dist/utils/formatting/tableFormatter.js.map +1 -1
  119. package/dist/utils/formatting/treeFormatter.d.ts.map +1 -1
  120. package/dist/utils/formatting/treeFormatter.js +5 -9
  121. package/dist/utils/formatting/treeFormatter.js.map +1 -1
  122. package/dist/utils/internal/error-handler/errorHandler.d.ts +17 -10
  123. package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
  124. package/dist/utils/internal/error-handler/errorHandler.js +47 -26
  125. package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
  126. package/dist/utils/internal/error-handler/mappings.d.ts +17 -1
  127. package/dist/utils/internal/error-handler/mappings.d.ts.map +1 -1
  128. package/dist/utils/internal/error-handler/mappings.js +22 -1
  129. package/dist/utils/internal/error-handler/mappings.js.map +1 -1
  130. package/dist/utils/internal/error-handler/types.d.ts +2 -0
  131. package/dist/utils/internal/error-handler/types.d.ts.map +1 -1
  132. package/dist/utils/internal/logger.d.ts +75 -3
  133. package/dist/utils/internal/logger.d.ts.map +1 -1
  134. package/dist/utils/internal/logger.js +181 -52
  135. package/dist/utils/internal/logger.js.map +1 -1
  136. package/dist/utils/internal/performance.d.ts +11 -0
  137. package/dist/utils/internal/performance.d.ts.map +1 -1
  138. package/dist/utils/internal/performance.js +46 -12
  139. package/dist/utils/internal/performance.js.map +1 -1
  140. package/dist/utils/network/fetchWithTimeout.d.ts +11 -5
  141. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
  142. package/dist/utils/network/fetchWithTimeout.js +50 -23
  143. package/dist/utils/network/fetchWithTimeout.js.map +1 -1
  144. package/dist/utils/network/retry.d.ts +16 -8
  145. package/dist/utils/network/retry.d.ts.map +1 -1
  146. package/dist/utils/network/retry.js +19 -8
  147. package/dist/utils/network/retry.js.map +1 -1
  148. package/dist/utils/overflow/outlineOnOverflow.d.ts +18 -2
  149. package/dist/utils/overflow/outlineOnOverflow.d.ts.map +1 -1
  150. package/dist/utils/overflow/outlineOnOverflow.js +28 -3
  151. package/dist/utils/overflow/outlineOnOverflow.js.map +1 -1
  152. package/dist/utils/pagination/pagination.d.ts +3 -1
  153. package/dist/utils/pagination/pagination.d.ts.map +1 -1
  154. package/dist/utils/pagination/pagination.js +10 -2
  155. package/dist/utils/pagination/pagination.js.map +1 -1
  156. package/dist/utils/parsing/csvParser.d.ts.map +1 -1
  157. package/dist/utils/parsing/csvParser.js +4 -2
  158. package/dist/utils/parsing/csvParser.js.map +1 -1
  159. package/dist/utils/parsing/htmlExtractor.js +1 -1
  160. package/dist/utils/parsing/htmlExtractor.js.map +1 -1
  161. package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
  162. package/dist/utils/parsing/jsonParser.js +3 -1
  163. package/dist/utils/parsing/jsonParser.js.map +1 -1
  164. package/dist/utils/parsing/xmlParser.d.ts.map +1 -1
  165. package/dist/utils/parsing/xmlParser.js +3 -1
  166. package/dist/utils/parsing/xmlParser.js.map +1 -1
  167. package/dist/utils/parsing/yamlParser.d.ts.map +1 -1
  168. package/dist/utils/parsing/yamlParser.js +3 -1
  169. package/dist/utils/parsing/yamlParser.js.map +1 -1
  170. package/dist/utils/security/idGenerator.d.ts.map +1 -1
  171. package/dist/utils/security/idGenerator.js +20 -4
  172. package/dist/utils/security/idGenerator.js.map +1 -1
  173. package/dist/utils/security/sanitization.d.ts +31 -0
  174. package/dist/utils/security/sanitization.d.ts.map +1 -1
  175. package/dist/utils/security/sanitization.js +98 -11
  176. package/dist/utils/security/sanitization.js.map +1 -1
  177. package/dist/utils/telemetry/attributes.d.ts +16 -1
  178. package/dist/utils/telemetry/attributes.d.ts.map +1 -1
  179. package/dist/utils/telemetry/attributes.js +16 -1
  180. package/dist/utils/telemetry/attributes.js.map +1 -1
  181. package/dist/utils/telemetry/instrumentation.d.ts +9 -3
  182. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -1
  183. package/dist/utils/telemetry/instrumentation.js +85 -13
  184. package/dist/utils/telemetry/instrumentation.js.map +1 -1
  185. package/framework-skills/api-auth/SKILL.md +3 -1
  186. package/framework-skills/api-canvas/SKILL.md +3 -3
  187. package/framework-skills/api-config/SKILL.md +6 -3
  188. package/framework-skills/api-context/SKILL.md +3 -3
  189. package/framework-skills/api-errors/SKILL.md +16 -11
  190. package/framework-skills/api-linter/SKILL.md +7 -3
  191. package/framework-skills/api-telemetry/SKILL.md +31 -11
  192. package/framework-skills/api-testing/SKILL.md +5 -3
  193. package/framework-skills/api-utils/SKILL.md +9 -9
  194. package/framework-skills/api-utils/references/formatting.md +1 -1
  195. package/framework-skills/api-utils/references/parsing.md +2 -2
  196. package/framework-skills/api-utils/references/security.md +6 -4
  197. package/framework-skills/git-wrapup/SKILL.md +5 -2
  198. package/framework-skills/maintenance/SKILL.md +2 -2
  199. package/framework-skills/polish-docs-meta/SKILL.md +1 -1
  200. package/framework-skills/polish-docs-meta/references/readme.md +1 -0
  201. package/framework-skills/release-and-publish/SKILL.md +2 -2
  202. package/framework-skills/techniques/SKILL.md +1 -1
  203. package/framework-skills/techniques/references/outline-on-overflow.md +12 -7
  204. package/package.json +18 -3
  205. package/scripts/check-skill-versions.ts +103 -22
  206. package/scripts/devcheck.ts +4 -3
  207. package/scripts/lint-packaging.ts +38 -1
  208. package/templates/.env.example +4 -0
  209. package/templates/Dockerfile +26 -6
  210. package/templates/package.json +1 -0
@@ -9,6 +9,34 @@ import { type RequestContext } from './requestContext.js';
9
9
  * - `alert` / `emerg` → pino `fatal`
10
10
  */
11
11
  export type McpLogLevel = 'debug' | 'info' | 'notice' | 'warning' | 'error' | 'crit' | 'alert' | 'emerg';
12
+ /** The three file sinks under `logsPath`. */
13
+ declare const FILE_SINK_NAMES: readonly ['combined.log', 'error.log', 'interactions.log'];
14
+ type FileSinkName = (typeof FILE_SINK_NAMES)[number];
15
+ /** A file sink the startup probe could not open, with the error code that stopped it. */
16
+ interface DroppedFileSink {
17
+ code: string;
18
+ name: FileSinkName;
19
+ path: string;
20
+ }
21
+ /** Outcome of {@link probeFileSinks}: the openable destinations by name, and the rest. */
22
+ interface FileSinkProbe {
23
+ dropped: DroppedFileSink[];
24
+ writable: Partial<Record<FileSinkName, string>>;
25
+ }
26
+ /**
27
+ * Opens each file sink under `dir` for append and closes it again,
28
+ * synchronously, before any transport exists. `pino/file` opens its
29
+ * destination inside the transport worker, where a failure surfaces as an
30
+ * unhandled `'error'` that ends the process and takes the stderr sink sharing
31
+ * that worker with it — so an unwritable destination has to be found here and
32
+ * left out, not discovered there.
33
+ *
34
+ * A directory that cannot be created drops every sink under it with the
35
+ * `mkdir` error code.
36
+ *
37
+ * @internal Exported only for unit testing. Not part of the public API.
38
+ */
39
+ export declare function probeFileSinks(dir: string): Promise<FileSinkProbe>;
12
40
  /**
13
41
  * Pino `formatters.log` hook. Strips values that break pino-redact's wildcard
14
42
  * traversal on Node 25+ — notably `AbortSignal` (via `ctx.signal`) and the
@@ -19,14 +47,52 @@ export type McpLogLevel = 'debug' | 'info' | 'notice' | 'warning' | 'error' | 'c
19
47
  * @internal Exported only for unit testing. Not part of the public API.
20
48
  */
21
49
  export declare function sanitizeLogBindings(obj: Record<string, unknown>): Record<string, unknown>;
50
+ /**
51
+ * The record shape an OTel Logs API `Logger` accepts, narrowed to the fields
52
+ * the framework sets. Declared here rather than imported so this module's
53
+ * public types never require the optional `@opentelemetry/api-logs` peer.
54
+ *
55
+ * @internal Exported only for tests that capture records. Not part of the public API.
56
+ */
57
+ export interface OtelLogRecord {
58
+ attributes: Record<string, OtelAttributeValue>;
59
+ body: string;
60
+ severityNumber: number;
61
+ severityText: McpLogLevel;
62
+ }
63
+ /** An attribute value as the OTel Logs API `AnyValue` accepts it. */
64
+ type OtelAttributeValue = string | number | boolean | Uint8Array | null | undefined | OtelAttributeValue[] | {
65
+ [key: string]: OtelAttributeValue;
66
+ };
67
+ /** The one method of an OTel Logs API `Logger` the framework logger calls. */
68
+ interface OtelLogSink {
69
+ emit(record: OtelLogRecord): void;
70
+ }
71
+ /**
72
+ * Attaches (or, with `undefined`, detaches) the OTel Logs API sink that every
73
+ * record passing the logger's level filter and rate limit is also emitted to.
74
+ * `initializeOpenTelemetry` attaches it when OTLP log export is configured
75
+ * and `shutdownOpenTelemetry` detaches it.
76
+ *
77
+ * A module function rather than a `Logger` method, so the published `Logger`
78
+ * type carries no telemetry-lifecycle hook.
79
+ *
80
+ * @internal Called by the telemetry lifecycle and tests. Not part of the public API.
81
+ */
82
+ export declare function setOtelLogSink(sink: OtelLogSink | undefined): void;
22
83
  /**
23
84
  * Singleton structured logger backed by Pino with RFC 5424 level semantics.
24
85
  *
25
86
  * Features:
26
87
  * - Environment-adaptive output: pretty-printed (pino-pretty) in HTTP development mode,
27
88
  * JSON to stderr in stdio/production mode (MCP spec requires clean stdout).
28
- * - Optional file sinks: `combined.log` at the configured log level, `error.log` for
29
- * errors and above, and `interactions.log` for structured interaction records.
89
+ * - Optional file sinks: `combined.log` with every record the active level admits,
90
+ * `error.log` for errors and above, and `interactions.log` for structured
91
+ * interaction records. A file sink that cannot be opened at startup is dropped
92
+ * with one `warning` naming it; the process and the remaining sinks carry on.
93
+ * - Optional OTel log export: once `initializeOpenTelemetry` attaches a Logs API
94
+ * sink, every record that passes the level filter and rate limit is also emitted
95
+ * there, redacted like the pino output.
30
96
  * - Sensitive field redaction via Pino's `redact` option.
31
97
  * - Rate limiting per level + message to suppress log storms, configurable via
32
98
  * `MCP_LOG_RATE_LIMIT_THRESHOLD` (0 disables) and `MCP_LOG_RATE_LIMIT_WINDOW_MS`.
@@ -59,6 +125,8 @@ export declare class Logger {
59
125
  private pendingRecords;
60
126
  private droppedPendingRecords;
61
127
  private everInitialized;
128
+ /** Set when the startup probe dropped `interactions.log`, which the startup warning already reported. */
129
+ private interactionSinkDropped;
62
130
  private constructor();
63
131
  /**
64
132
  * Returns the singleton `Logger` instance.
@@ -93,6 +161,8 @@ export declare class Logger {
93
161
  * ```
94
162
  */
95
163
  initialize(level?: McpLogLevel, transportType?: 'stdio' | 'http'): Promise<void>;
164
+ /** Emits the one warning that names every file sink the startup probe dropped. */
165
+ private reportDroppedFileSinks;
96
166
  /**
97
167
  * Changes the active log level at runtime without restarting transports.
98
168
  *
@@ -354,7 +424,8 @@ export declare class Logger {
354
424
  * `Logger.getInstance()` in most contexts.
355
425
  *
356
426
  * Must be initialized once at startup via `logger.initialize()` before any log methods
357
- * will produce output. Log calls made before initialization are silently dropped.
427
+ * will produce output. Log calls made before initialization are held in a bounded
428
+ * buffer and replayed once the sinks exist.
358
429
  *
359
430
  * @example
360
431
  * ```ts
@@ -369,4 +440,5 @@ export declare class Logger {
369
440
  * ```
370
441
  */
371
442
  export declare const logger: Logger;
443
+ export {};
372
444
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/logger.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,73 @@ const pinoToMcpLevelSeverity = {
20
20
  info: 6,
21
21
  debug: 7,
22
22
  };
23
+ /**
24
+ * OTel `SeverityNumber` per MCP level. Each RFC 5424 level sharing a pino level
25
+ * with a milder one takes the next step inside the same OTel range, so export
26
+ * keeps the ordering pino collapses.
27
+ */
28
+ const mcpToOtelSeverity = {
29
+ debug: 5, // DEBUG
30
+ info: 9, // INFO
31
+ notice: 10, // INFO2
32
+ warning: 13, // WARN
33
+ error: 17, // ERROR
34
+ crit: 18, // ERROR2
35
+ alert: 21, // FATAL
36
+ emerg: 22, // FATAL2
37
+ };
38
+ /**
39
+ * Level every non-error sink is built with: the lowest the framework emits.
40
+ * A transport target without its own `level` defaults to `info`, and target
41
+ * levels are fixed when the transport is built, so anything higher would
42
+ * filter records the logger's active level — the only intended gate — admits,
43
+ * at startup and after {@link Logger.setLevel} alike.
44
+ */
45
+ const ALL_RECORDS_LEVEL = 'debug';
46
+ /** A `pino/file` transport target writing to a file path or file descriptor. */
47
+ function fileTarget(destination, level = ALL_RECORDS_LEVEL) {
48
+ return { level, target: 'pino/file', options: { destination } };
49
+ }
50
+ /** The three file sinks under `logsPath`. */
51
+ const FILE_SINK_NAMES = ['combined.log', 'error.log', 'interactions.log'];
52
+ /**
53
+ * Opens each file sink under `dir` for append and closes it again,
54
+ * synchronously, before any transport exists. `pino/file` opens its
55
+ * destination inside the transport worker, where a failure surfaces as an
56
+ * unhandled `'error'` that ends the process and takes the stderr sink sharing
57
+ * that worker with it — so an unwritable destination has to be found here and
58
+ * left out, not discovered there.
59
+ *
60
+ * A directory that cannot be created drops every sink under it with the
61
+ * `mkdir` error code.
62
+ *
63
+ * @internal Exported only for unit testing. Not part of the public API.
64
+ */
65
+ export async function probeFileSinks(dir) {
66
+ const { default: fs } = await import('node:fs');
67
+ const { default: path } = await import('node:path');
68
+ const probe = { dropped: [], writable: {} };
69
+ const codeOf = (err) => err.code ?? (err instanceof Error ? err.message : String(err));
70
+ try {
71
+ fs.mkdirSync(dir, { recursive: true });
72
+ }
73
+ catch (err) {
74
+ const code = codeOf(err);
75
+ probe.dropped = FILE_SINK_NAMES.map((name) => ({ code, name, path: path.join(dir, name) }));
76
+ return probe;
77
+ }
78
+ for (const name of FILE_SINK_NAMES) {
79
+ const destination = path.join(dir, name);
80
+ try {
81
+ fs.closeSync(fs.openSync(destination, 'a'));
82
+ probe.writable[name] = destination;
83
+ }
84
+ catch (err) {
85
+ probe.dropped.push({ code: codeOf(err), name, path: destination });
86
+ }
87
+ }
88
+ return probe;
89
+ }
23
90
  /**
24
91
  * Evaluated at call time (not module load) so worker.ts can set
25
92
  * `process.env.IS_SERVERLESS = 'true'` before the first log call. The
@@ -116,14 +183,87 @@ function sanitizeValue(value, depth) {
116
183
  export function sanitizeLogBindings(obj) {
117
184
  return sanitizeValue(obj, 0);
118
185
  }
186
+ const SENSITIVE_FIELD_NAMES = new Set(DEFAULT_SENSITIVE_FIELDS);
187
+ /**
188
+ * Converts one sanitized binding into an attribute value: an `Error` becomes
189
+ * the `type`/`message`/`stack` object pino's serializer would have written, and
190
+ * a primitive JSON has no form for becomes its string.
191
+ */
192
+ function toExportValue(value) {
193
+ if (value instanceof Error)
194
+ return { message: value.message, stack: value.stack, type: value.name };
195
+ if (Array.isArray(value))
196
+ return value.map(toExportValue);
197
+ if (value !== null && typeof value === 'object') {
198
+ return toExportAttributes(value);
199
+ }
200
+ if (typeof value === 'bigint' || typeof value === 'symbol')
201
+ return String(value);
202
+ return value;
203
+ }
204
+ /**
205
+ * Builds exported attributes from sanitized bindings, replacing every field
206
+ * named in {@link DEFAULT_SENSITIVE_FIELDS} at any depth. OTel records bypass
207
+ * pino's `redact`, so without this a value kept out of every file and stream
208
+ * would leave the process in the clear.
209
+ */
210
+ function toExportAttributes(fields) {
211
+ const out = {};
212
+ for (const [key, field] of Object.entries(fields)) {
213
+ out[key] = SENSITIVE_FIELD_NAMES.has(key) ? '[REDACTED]' : toExportValue(field);
214
+ }
215
+ return out;
216
+ }
217
+ /**
218
+ * Builds the OTel record for one framework log line: the message as the body,
219
+ * the sanitized and redacted bindings as attributes, and an `Error` as the
220
+ * `exception.*` semantic-convention attributes. Trace context is left to the
221
+ * Logs API, which takes it from the active context at emit time.
222
+ */
223
+ function toOtelLogRecord(level, msg, bindings, error) {
224
+ const attributes = toExportAttributes(sanitizeLogBindings(bindings));
225
+ if (error) {
226
+ attributes['exception.type'] = error.name;
227
+ attributes['exception.message'] = error.message;
228
+ if (error.stack)
229
+ attributes['exception.stacktrace'] = error.stack;
230
+ }
231
+ return {
232
+ attributes,
233
+ body: msg,
234
+ severityNumber: mcpToOtelSeverity[level],
235
+ severityText: level,
236
+ };
237
+ }
238
+ /** The OTel Logs API sink every written record is also emitted to, when attached. */
239
+ let otelLogSink;
240
+ /**
241
+ * Attaches (or, with `undefined`, detaches) the OTel Logs API sink that every
242
+ * record passing the logger's level filter and rate limit is also emitted to.
243
+ * `initializeOpenTelemetry` attaches it when OTLP log export is configured
244
+ * and `shutdownOpenTelemetry` detaches it.
245
+ *
246
+ * A module function rather than a `Logger` method, so the published `Logger`
247
+ * type carries no telemetry-lifecycle hook.
248
+ *
249
+ * @internal Called by the telemetry lifecycle and tests. Not part of the public API.
250
+ */
251
+ export function setOtelLogSink(sink) {
252
+ otelLogSink = sink;
253
+ }
119
254
  /**
120
255
  * Singleton structured logger backed by Pino with RFC 5424 level semantics.
121
256
  *
122
257
  * Features:
123
258
  * - Environment-adaptive output: pretty-printed (pino-pretty) in HTTP development mode,
124
259
  * JSON to stderr in stdio/production mode (MCP spec requires clean stdout).
125
- * - Optional file sinks: `combined.log` at the configured log level, `error.log` for
126
- * errors and above, and `interactions.log` for structured interaction records.
260
+ * - Optional file sinks: `combined.log` with every record the active level admits,
261
+ * `error.log` for errors and above, and `interactions.log` for structured
262
+ * interaction records. A file sink that cannot be opened at startup is dropped
263
+ * with one `warning` naming it; the process and the remaining sinks carry on.
264
+ * - Optional OTel log export: once `initializeOpenTelemetry` attaches a Logs API
265
+ * sink, every record that passes the level filter and rate limit is also emitted
266
+ * there, redacted like the pino output.
127
267
  * - Sensitive field redaction via Pino's `redact` option.
128
268
  * - Rate limiting per level + message to suppress log storms, configurable via
129
269
  * `MCP_LOG_RATE_LIMIT_THRESHOLD` (0 disables) and `MCP_LOG_RATE_LIMIT_WINDOW_MS`.
@@ -156,6 +296,8 @@ export class Logger {
156
296
  pendingRecords = [];
157
297
  droppedPendingRecords = 0;
158
298
  everInitialized = false;
299
+ /** Set when the startup probe dropped `interactions.log`, which the startup warning already reported. */
300
+ interactionSinkDropped = false;
159
301
  constructor() {
160
302
  // The constructor is now safe to call in a global scope.
161
303
  }
@@ -174,7 +316,7 @@ export class Logger {
174
316
  static getInstance() {
175
317
  return Logger.instance;
176
318
  }
177
- async createPinoLogger(level, transportType) {
319
+ async createPinoLogger(level, transportType, fileSinks) {
178
320
  const pinoLevel = mcpToPinoLevel[level] ?? 'info';
179
321
  const pinoOptions = {
180
322
  level: pinoLevel,
@@ -194,9 +336,6 @@ export class Logger {
194
336
  if (isServerless()) {
195
337
  return pino(pinoOptions);
196
338
  }
197
- // Node.js specific transports
198
- const { default: fs } = await import('node:fs');
199
- const { default: path } = await import('node:path');
200
339
  const transports = [];
201
340
  const isDevelopment = config.environment === 'development';
202
341
  const isTest = config.environment === 'testing';
@@ -214,6 +353,7 @@ export class Logger {
214
353
  const require = createRequire(import.meta.url);
215
354
  const prettyTarget = require.resolve('pino-pretty');
216
355
  transports.push({
356
+ level: ALL_RECORDS_LEVEL,
217
357
  target: prettyTarget,
218
358
  options: { colorize: true, translateTime: 'yyyy-mm-dd HH:MM:ss' },
219
359
  });
@@ -223,50 +363,24 @@ export class Logger {
223
363
  if (process.stderr?.isTTY) {
224
364
  console.warn(`[Logger Init] Pretty transport unavailable (${err instanceof Error ? err.message : String(err)}); falling back to stdout JSON.`);
225
365
  }
226
- transports.push({ target: 'pino/file', options: { destination: 1 } });
366
+ transports.push(fileTarget(1));
227
367
  }
228
368
  }
229
369
  else if (!isTest) {
230
370
  // CRITICAL: For STDIO transport, logs MUST go to stderr (fd 2), NOT stdout (fd 1).
231
371
  // The MCP specification requires only JSON-RPC messages on stdout.
232
372
  // For HTTP transport or production, we also use stderr to avoid polluting stdout.
233
- transports.push({ target: 'pino/file', options: { destination: 2 } });
234
- }
235
- if (config.logsPath) {
236
- try {
237
- if (!fs.existsSync(config.logsPath)) {
238
- fs.mkdirSync(config.logsPath, { recursive: true });
239
- }
240
- transports.push({
241
- level: pinoLevel,
242
- target: 'pino/file',
243
- options: {
244
- destination: path.join(config.logsPath, 'combined.log'),
245
- mkdir: true,
246
- },
247
- });
248
- transports.push({
249
- level: 'error',
250
- target: 'pino/file',
251
- options: {
252
- destination: path.join(config.logsPath, 'error.log'),
253
- mkdir: true,
254
- },
255
- });
256
- }
257
- catch (err) {
258
- // Only log to console if TTY to avoid polluting stderr in STDIO mode
259
- if (process.stderr?.isTTY) {
260
- console.error(`[Logger Init] Failed to configure file logging: ${err instanceof Error ? err.message : String(err)}`);
261
- }
262
- }
373
+ transports.push(fileTarget(2));
263
374
  }
375
+ if (fileSinks['combined.log'])
376
+ transports.push(fileTarget(fileSinks['combined.log']));
377
+ if (fileSinks['error.log'])
378
+ transports.push(fileTarget(fileSinks['error.log'], 'error'));
264
379
  return pino({ ...pinoOptions, transport: { targets: transports } });
265
380
  }
266
- async createInteractionLogger() {
267
- if (isServerless() || !config.logsPath)
381
+ createInteractionLogger(destination) {
382
+ if (!destination)
268
383
  return;
269
- const { default: path } = await import('node:path');
270
384
  return pino({
271
385
  redact: {
272
386
  paths: SENSITIVE_PINO_FIELDS,
@@ -277,10 +391,7 @@ export class Logger {
277
391
  },
278
392
  transport: {
279
393
  target: 'pino/file',
280
- options: {
281
- destination: path.join(config.logsPath, 'interactions.log'),
282
- mkdir: true,
283
- },
394
+ options: { destination },
284
395
  },
285
396
  });
286
397
  }
@@ -310,14 +421,29 @@ export class Logger {
310
421
  }
311
422
  this.currentMcpLevel = level;
312
423
  this.transportType = transportType;
313
- this.pinoLogger = await this.createPinoLogger(level, transportType);
314
- this.interactionLogger = await this.createInteractionLogger();
424
+ const fileSinks = !isServerless() && config.logsPath
425
+ ? await probeFileSinks(config.logsPath)
426
+ : { dropped: [], writable: {} };
427
+ this.pinoLogger = await this.createPinoLogger(level, transportType, fileSinks.writable);
428
+ this.interactionLogger = this.createInteractionLogger(fileSinks.writable['interactions.log']);
429
+ this.interactionSinkDropped = fileSinks.dropped.some((sink) => sink.name === 'interactions.log');
315
430
  this.lastSweep = Date.now();
316
431
  this.initialized = true;
317
432
  this.everInitialized = true;
318
433
  this.info(`Logger initialized. MCP level: ${level}.`, requestContextService.createRequestContext({ operation: 'loggerInit' }));
434
+ this.reportDroppedFileSinks(fileSinks.dropped);
319
435
  this.replayPendingRecords();
320
436
  }
437
+ /** Emits the one warning that names every file sink the startup probe dropped. */
438
+ reportDroppedFileSinks(dropped) {
439
+ if (dropped.length === 0)
440
+ return;
441
+ const detail = dropped.map((sink) => `${sink.path} (${sink.code})`).join(', ');
442
+ this.warning(`File logging disabled for ${dropped.length} sink(s): ${detail}. Point LOGS_DIR at a writable directory to restore them.`, requestContextService.createRequestContext({
443
+ operation: 'loggerInit',
444
+ additionalContext: { droppedLogFiles: dropped },
445
+ }));
446
+ }
321
447
  /**
322
448
  * Changes the active log level at runtime without restarting transports.
323
449
  *
@@ -613,14 +739,16 @@ export class Logger {
613
739
  // runs first: `logger.info(msg, ctx)` with a handler context is a documented
614
740
  // call, and that object carries live request machinery and the user-entered
615
741
  // content in `inputs.responses` — none of which belongs in a log line.
742
+ // The canonical fields are spread again after `extra`, so a caller's key
743
+ // reusing a canonical name (`requestId`, `traceId`, …) never replaces the
744
+ // context's value — the first spread only keeps them leading the line.
616
745
  const { extra, ...canonical } = toCanonicalContext((context ?? {}));
617
- const logObject = { ...canonical, ...extra };
746
+ const bindings = { ...canonical, ...extra, ...canonical };
618
747
  // Pass the raw Error so pino's `err` serializer (default: `pino.stdSerializers.err`)
619
748
  // runs *after* our `formatters.log` sanitizer. Pre-serializing here would produce
620
749
  // an object whose prototype (`pinoErrProto`) trips the sanitizer's plain-object check.
621
- if (error)
622
- logObject.err = error;
623
- this.pinoLogger[pinoLevel](logObject, msg);
750
+ this.pinoLogger[pinoLevel](error ? { ...bindings, err: error } : bindings, msg);
751
+ otelLogSink?.emit(toOtelLogRecord(level, msg, bindings, error));
624
752
  }
625
753
  logWithError(level, msg, errorOrContext, context) {
626
754
  const errorObj = errorOrContext instanceof Error ? errorOrContext : undefined;
@@ -793,7 +921,7 @@ export class Logger {
793
921
  */
794
922
  logInteraction(interactionName, data) {
795
923
  if (!this.interactionLogger) {
796
- if (!isServerless())
924
+ if (!isServerless() && !this.interactionSinkDropped)
797
925
  this.warning('Interaction logger not available.', (data.context || {}));
798
926
  return;
799
927
  }
@@ -805,7 +933,8 @@ export class Logger {
805
933
  * `Logger.getInstance()` in most contexts.
806
934
  *
807
935
  * Must be initialized once at startup via `logger.initialize()` before any log methods
808
- * will produce output. Log calls made before initialization are silently dropped.
936
+ * will produce output. Log calls made before initialization are held in a bounded
937
+ * buffer and replayed once the sinks exist.
809
938
  *
810
939
  * @example
811
940
  * ```ts
@@ -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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"}
@@ -54,6 +54,17 @@ export declare function measureToolExecution<T>(toolLogicFn: (spanContext: Reque
54
54
  }, recordOutput: (payload: unknown) => void) => Promise<T>, context: RequestContext & {
55
55
  toolName: string;
56
56
  }, inputPayload: unknown, successAttributes?: () => Record<string, boolean | number | string>, partialResultKeys?: PartialResultKeys): Promise<T>;
57
+ /**
58
+ * Counts a tool call rejected before {@link measureToolExecution} started — the
59
+ * inline `auth` scope check or argument validation — on `mcp.tool.rejections`
60
+ * (#546). Such a call never reaches `mcp.tool.calls`, `mcp.tool.duration`, or
61
+ * `mcp.tool.errors`, so this is the only per-tool trace it leaves; the code and
62
+ * category are the ones the caller receives.
63
+ *
64
+ * @param toolName - Registered name of the rejected tool.
65
+ * @param error - The value the rejection threw.
66
+ */
67
+ export declare function recordToolRejection(toolName: string, error: unknown): void;
57
68
  /**
58
69
  * Wraps a resource handler with observability: OTel span, metric counters/histogram,
59
70
  * and a structured log. Mirrors {@link measureToolExecution} but tuned for resource reads,
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAkEpG,kGAAkG;AAClG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAWD;;;;;;;;;GASG;AAGH,eAAO,MAAM,KAAK,QAAO,MAA2B,CAAC;AA2RrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,EACnE,iBAAiB,GAAE,iBAA+C,GACjE,OAAO,CAAC,CAAC,CAAC,CAyEZ;AA+CD;;;;;;;;;;;;;;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,CA4CZ;AA6DD;;;;;;;;;;;;;GAaG;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,CA0DZ"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AA0EpG,kGAAkG;AAClG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAWD;;;;;;;;;GASG;AAGH,eAAO,MAAM,KAAK,QAAO,MAA2B,CAAC;AAqSrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,EACnE,iBAAiB,GAAE,iBAA+C,GACjE,OAAO,CAAC,CAAC,CAAC,CAgFZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAU1E;AA+CD;;;;;;;;;;;;;;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,CA4CZ;AA6DD;;;;;;;;;;;;;GAaG;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,CA0DZ"}