@cyanheads/mcp-ts-core 0.12.5 → 0.12.7

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 (154) hide show
  1. package/AGENTS.md +26 -14
  2. package/CLAUDE.md +26 -14
  3. package/README.md +124 -76
  4. package/biome.json +1 -1
  5. package/changelog/0.12.x/0.12.6.md +44 -0
  6. package/changelog/0.12.x/0.12.7.md +39 -0
  7. package/dist/core/app.d.ts +2 -2
  8. package/dist/core/app.js +2 -2
  9. package/dist/core/index.d.ts +5 -5
  10. package/dist/core/index.js +2 -2
  11. package/dist/core/worker.d.ts +2 -2
  12. package/dist/core/worker.d.ts.map +1 -1
  13. package/dist/core/worker.js +1 -1
  14. package/dist/core/worker.js.map +1 -1
  15. package/dist/mcp-server/apps/appBuilders.d.ts +2 -2
  16. package/dist/mcp-server/apps/appBuilders.js +2 -2
  17. package/dist/mcp-server/cacheHints.d.ts +1 -1
  18. package/dist/mcp-server/prompts/prompt-registration.d.ts +1 -1
  19. package/dist/mcp-server/prompts/prompt-registration.js +1 -1
  20. package/dist/mcp-server/resources/resource-registration.d.ts +3 -3
  21. package/dist/mcp-server/resources/resource-registration.js +1 -1
  22. package/dist/mcp-server/resources/resourceSubscriptions.d.ts +1 -1
  23. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +2 -2
  24. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +4 -4
  25. package/dist/mcp-server/server.d.ts +4 -4
  26. package/dist/mcp-server/server.js +1 -1
  27. package/dist/mcp-server/tools/tool-registration.d.ts +3 -3
  28. package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/tool-registration.js +9 -3
  30. package/dist/mcp-server/tools/tool-registration.js.map +1 -1
  31. package/dist/mcp-server/tools/utils/deferredInputSchema.d.ts +39 -0
  32. package/dist/mcp-server/tools/utils/deferredInputSchema.d.ts.map +1 -0
  33. package/dist/mcp-server/tools/utils/deferredInputSchema.js +33 -0
  34. package/dist/mcp-server/tools/utils/deferredInputSchema.js.map +1 -0
  35. package/dist/mcp-server/tools/utils/disabled-tool.d.ts +1 -1
  36. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +11 -3
  37. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +29 -7
  39. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  40. package/dist/mcp-server/transports/auth/authFactory.d.ts +1 -1
  41. package/dist/mcp-server/transports/auth/authFactory.js +2 -2
  42. package/dist/mcp-server/transports/auth/authMiddleware.d.ts +1 -1
  43. package/dist/mcp-server/transports/auth/authMiddleware.js +1 -1
  44. package/dist/mcp-server/transports/auth/lib/authUtils.js +1 -1
  45. package/dist/mcp-server/transports/auth/lib/claimParser.d.ts +1 -1
  46. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +1 -1
  47. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +2 -2
  48. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +1 -1
  49. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +2 -2
  50. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +1 -1
  51. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +1 -1
  52. package/dist/mcp-server/transports/http/httpServer.d.ts +1 -1
  53. package/dist/mcp-server/transports/http/httpServer.js +1 -1
  54. package/dist/mcp-server/transports/http/httpTransport.d.ts +3 -3
  55. package/dist/mcp-server/transports/http/httpTransport.js +12 -12
  56. package/dist/mcp-server/transports/http/landing-page/handler.d.ts +1 -1
  57. package/dist/mcp-server/transports/http/sessionStore.js +1 -1
  58. package/dist/mcp-server/transports/manager.d.ts +2 -2
  59. package/dist/mcp-server/transports/manager.js +3 -3
  60. package/dist/services/llm/providers/openrouter.provider.d.ts +1 -1
  61. package/dist/services/speech/providers/whisper.provider.d.ts.map +1 -1
  62. package/dist/services/speech/providers/whisper.provider.js +4 -2
  63. package/dist/services/speech/providers/whisper.provider.js.map +1 -1
  64. package/dist/storage/core/StorageService.d.ts +1 -1
  65. package/dist/storage/core/StorageService.js +1 -1
  66. package/dist/storage/core/storageFactory.d.ts +2 -2
  67. package/dist/storage/core/storageFactory.js +6 -6
  68. package/dist/storage/core/storageValidation.d.ts.map +1 -1
  69. package/dist/storage/core/storageValidation.js +5 -3
  70. package/dist/storage/core/storageValidation.js.map +1 -1
  71. package/dist/storage/providers/cloudflare/d1Provider.d.ts +1 -1
  72. package/dist/storage/providers/cloudflare/d1Provider.js +1 -1
  73. package/dist/storage/providers/cloudflare/kvProvider.d.ts +1 -1
  74. package/dist/storage/providers/cloudflare/kvProvider.js +1 -1
  75. package/dist/storage/providers/cloudflare/r2Provider.d.ts +1 -1
  76. package/dist/storage/providers/cloudflare/r2Provider.js +1 -1
  77. package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts +1 -1
  78. package/dist/storage/providers/fileSystem/fileSystemProvider.js +1 -1
  79. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +3 -1
  80. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
  81. package/dist/storage/providers/inMemory/inMemoryProvider.js +11 -7
  82. package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
  83. package/dist/storage/providers/supabase/supabaseProvider.d.ts +2 -2
  84. package/dist/storage/providers/supabase/supabaseProvider.js +1 -1
  85. package/dist/testing/fuzz.d.ts.map +1 -1
  86. package/dist/testing/fuzz.js +92 -53
  87. package/dist/testing/fuzz.js.map +1 -1
  88. package/dist/utils/formatting/diffFormatter.d.ts +2 -2
  89. package/dist/utils/formatting/diffFormatter.js +4 -4
  90. package/dist/utils/formatting/tableFormatter.d.ts +2 -2
  91. package/dist/utils/formatting/tableFormatter.js +3 -3
  92. package/dist/utils/formatting/treeFormatter.d.ts +3 -3
  93. package/dist/utils/formatting/treeFormatter.js +4 -4
  94. package/dist/utils/internal/error-handler/errorHandler.js +6 -6
  95. package/dist/utils/internal/error-handler/helpers.js +1 -1
  96. package/dist/utils/internal/error-handler/types.d.ts +1 -1
  97. package/dist/utils/internal/health.js +2 -2
  98. package/dist/utils/internal/lazyImport.js +1 -1
  99. package/dist/utils/internal/logger.d.ts +3 -3
  100. package/dist/utils/internal/logger.js +4 -4
  101. package/dist/utils/internal/performance.d.ts +1 -1
  102. package/dist/utils/internal/performance.js +6 -6
  103. package/dist/utils/internal/requestContext.d.ts +1 -1
  104. package/dist/utils/internal/requestContext.js +2 -2
  105. package/dist/utils/metrics/tokenCounter.d.ts +1 -1
  106. package/dist/utils/metrics/tokenCounter.js +2 -2
  107. package/dist/utils/network/fetchWithTimeout.d.ts +1 -1
  108. package/dist/utils/network/fetchWithTimeout.js +6 -6
  109. package/dist/utils/network/httpError.js +1 -1
  110. package/dist/utils/network/retry.d.ts +1 -1
  111. package/dist/utils/network/retry.js +1 -1
  112. package/dist/utils/pagination/pagination.d.ts +2 -2
  113. package/dist/utils/pagination/pagination.js +4 -4
  114. package/dist/utils/parsing/csvParser.d.ts +4 -4
  115. package/dist/utils/parsing/csvParser.js +6 -6
  116. package/dist/utils/parsing/dateParser.d.ts +3 -3
  117. package/dist/utils/parsing/dateParser.js +6 -6
  118. package/dist/utils/parsing/frontmatterParser.d.ts +2 -2
  119. package/dist/utils/parsing/frontmatterParser.js +3 -3
  120. package/dist/utils/parsing/htmlExtractor.d.ts +3 -3
  121. package/dist/utils/parsing/htmlExtractor.js +5 -5
  122. package/dist/utils/parsing/jsonParser.d.ts +4 -4
  123. package/dist/utils/parsing/jsonParser.js +6 -6
  124. package/dist/utils/parsing/pdfParser.d.ts +2 -2
  125. package/dist/utils/parsing/pdfParser.js +4 -4
  126. package/dist/utils/parsing/xmlParser.d.ts +4 -4
  127. package/dist/utils/parsing/xmlParser.js +5 -5
  128. package/dist/utils/parsing/yamlParser.d.ts +4 -4
  129. package/dist/utils/parsing/yamlParser.js +6 -6
  130. package/dist/utils/scheduling/scheduler.d.ts +3 -3
  131. package/dist/utils/scheduling/scheduler.js +5 -5
  132. package/dist/utils/security/rateLimiter.d.ts +2 -2
  133. package/dist/utils/security/rateLimiter.js +3 -3
  134. package/dist/utils/security/rateLimiter.js.map +1 -1
  135. package/dist/utils/security/sanitization.d.ts +3 -3
  136. package/dist/utils/security/sanitization.js +7 -7
  137. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -1
  138. package/dist/utils/telemetry/instrumentation.js +7 -8
  139. package/dist/utils/telemetry/instrumentation.js.map +1 -1
  140. package/dist/utils/telemetry/trace.d.ts +1 -1
  141. package/dist/utils/telemetry/trace.js +1 -1
  142. package/package.json +33 -26
  143. package/scripts/check-framework-antipatterns.ts +4 -1
  144. package/scripts/devcheck.ts +309 -37
  145. package/scripts/lint-packaging.ts +28 -6
  146. package/skills/add-tool/SKILL.md +33 -1
  147. package/skills/api-errors/SKILL.md +2 -1
  148. package/skills/api-workers/SKILL.md +3 -3
  149. package/skills/design-mcp-server/SKILL.md +6 -1
  150. package/skills/field-test/SKILL.md +70 -30
  151. package/skills/git-wrapup/SKILL.md +4 -3
  152. package/templates/AGENTS.md +2 -2
  153. package/templates/CLAUDE.md +2 -2
  154. package/templates/package.json +6 -6
@@ -5,9 +5,9 @@
5
5
  * @module src/utils/parsing/jsonParser
6
6
  */
7
7
  import { validationError } from '../../types-global/errors.js';
8
- import { lazyImport } from '../../utils/internal/lazyImport.js';
9
- import { logger } from '../../utils/internal/logger.js';
10
- import { requestContextService, withExtra, } from '../../utils/internal/requestContext.js';
8
+ import { lazyImport } from '../internal/lazyImport.js';
9
+ import { logger } from '../internal/logger.js';
10
+ import { requestContextService, withExtra, } from '../internal/requestContext.js';
11
11
  import { assertTextInputBudget } from './inputBudget.js';
12
12
  import { thinkBlockRegex } from './thinkBlock.js';
13
13
  const getPartialJson = lazyImport(() => import('partial-json'), 'Install "partial-json" to use partial JSON parsing: bun add partial-json');
@@ -88,7 +88,7 @@ export class JsonParser {
88
88
  * @throws {McpError} With `ConfigurationError` if the `partial-json` package is not installed.
89
89
  * @example
90
90
  * ```typescript
91
- * import { jsonParser, Allow } from '../../utils/parsing/jsonParser.js';
91
+ * import { jsonParser, Allow } from './jsonParser.js';
92
92
  *
93
93
  * // Parse complete JSON
94
94
  * const obj = await jsonParser.parse<{ key: string }>('{"key": "value"}');
@@ -149,8 +149,8 @@ export class JsonParser {
149
149
  *
150
150
  * @example
151
151
  * ```typescript
152
- * import { jsonParser, Allow } from '../../utils/parsing/jsonParser.js';
153
- * import { requestContextService } from '../../utils/internal/requestContext.js';
152
+ * import { jsonParser, Allow } from './jsonParser.js';
153
+ * import { requestContextService } from '../internal/requestContext.js';
154
154
  *
155
155
  * const ctx = requestContextService.createRequestContext({ operation: 'myOp' });
156
156
  *
@@ -5,7 +5,7 @@
5
5
  * @module src/utils/parsing/pdfParser
6
6
  */
7
7
  import type { PDFDocument, PDFFont, PDFImage, PDFPage, RGB } from 'pdf-lib';
8
- import { type RequestContext } from '../../utils/internal/requestContext.js';
8
+ import { type RequestContext } from '../internal/requestContext.js';
9
9
  import { type ParserInputBudgetOptions } from './inputBudget.js';
10
10
  /**
11
11
  * Options for adding a new page to a PDF document.
@@ -564,7 +564,7 @@ export declare class PdfParser {
564
564
  *
565
565
  * @example
566
566
  * ```typescript
567
- * import { pdfParser } from '../../utils/parsing/pdfParser.js';
567
+ * import { pdfParser } from './pdfParser.js';
568
568
  * import { writeFile } from 'node:fs/promises';
569
569
  *
570
570
  * const doc = await pdfParser.createDocument();
@@ -1,7 +1,7 @@
1
1
  import { JsonRpcErrorCode, McpError } from '../../types-global/errors.js';
2
- import { lazyImport } from '../../utils/internal/lazyImport.js';
3
- import { logger } from '../../utils/internal/logger.js';
4
- import { requestContextService, withExtra, } from '../../utils/internal/requestContext.js';
2
+ import { lazyImport } from '../internal/lazyImport.js';
3
+ import { logger } from '../internal/logger.js';
4
+ import { requestContextService, withExtra, } from '../internal/requestContext.js';
5
5
  import { assertBinaryInputBudget, assertBinaryInputsBudget, } from './inputBudget.js';
6
6
  const getPdfLib = lazyImport(() => import('pdf-lib'), 'Install "pdf-lib" to use PDF operations: bun add pdf-lib');
7
7
  const getUnpdf = lazyImport(() => import('unpdf'), 'Install "unpdf" to use PDF text extraction: bun add unpdf');
@@ -694,7 +694,7 @@ export class PdfParser {
694
694
  *
695
695
  * @example
696
696
  * ```typescript
697
- * import { pdfParser } from '../../utils/parsing/pdfParser.js';
697
+ * import { pdfParser } from './pdfParser.js';
698
698
  * import { writeFile } from 'node:fs/promises';
699
699
  *
700
700
  * const doc = await pdfParser.createDocument();
@@ -1,4 +1,4 @@
1
- import { type RequestContext } from '../../utils/internal/requestContext.js';
1
+ import { type RequestContext } from '../internal/requestContext.js';
2
2
  import { type ParserInputBudgetOptions } from './inputBudget.js';
3
3
  /**
4
4
  * Utility class for parsing XML strings.
@@ -30,7 +30,7 @@ export declare class XmlParser {
30
30
  * the `<think>` block, or if `fast-xml-parser` throws during parsing.
31
31
  * @example
32
32
  * ```typescript
33
- * import { xmlParser } from '../../utils/parsing/xmlParser.js';
33
+ * import { xmlParser } from './xmlParser.js';
34
34
  *
35
35
  * const result = await xmlParser.parse<{ root: { key: string } }>('<root><key>value</key></root>');
36
36
  * console.log(result.root.key); // 'value'
@@ -51,14 +51,14 @@ export declare class XmlParser {
51
51
  *
52
52
  * @example
53
53
  * ```typescript
54
- * import { xmlParser } from '../../utils/parsing/xmlParser.js';
54
+ * import { xmlParser } from './xmlParser.js';
55
55
  *
56
56
  * // Basic parse
57
57
  * const result = await xmlParser.parse<{ root: { id: string } }>('<root><id>42</id></root>');
58
58
  * console.log(result.root.id); // '42'
59
59
  *
60
60
  * // With request context for correlated logging
61
- * import { requestContextService } from '../../utils/internal/requestContext.js';
61
+ * import { requestContextService } from '../internal/requestContext.js';
62
62
  * const ctx = requestContextService.createRequestContext({ operation: 'parseResponse' });
63
63
  * const data = await xmlParser.parse<ApiResponse>(rawXml, ctx);
64
64
  *
@@ -9,8 +9,8 @@
9
9
  * @module src/utils/parsing/xmlParser
10
10
  */
11
11
  import { configurationError, validationError } from '../../types-global/errors.js';
12
- import { logger } from '../../utils/internal/logger.js';
13
- import { requestContextService, withExtra, } from '../../utils/internal/requestContext.js';
12
+ import { logger } from '../internal/logger.js';
13
+ import { requestContextService, withExtra, } from '../internal/requestContext.js';
14
14
  import { assertTextInputBudget } from './inputBudget.js';
15
15
  import { thinkBlockRegex } from './thinkBlock.js';
16
16
  let _fxp;
@@ -54,7 +54,7 @@ export class XmlParser {
54
54
  * the `<think>` block, or if `fast-xml-parser` throws during parsing.
55
55
  * @example
56
56
  * ```typescript
57
- * import { xmlParser } from '../../utils/parsing/xmlParser.js';
57
+ * import { xmlParser } from './xmlParser.js';
58
58
  *
59
59
  * const result = await xmlParser.parse<{ root: { key: string } }>('<root><key>value</key></root>');
60
60
  * console.log(result.root.key); // 'value'
@@ -118,14 +118,14 @@ export class XmlParser {
118
118
  *
119
119
  * @example
120
120
  * ```typescript
121
- * import { xmlParser } from '../../utils/parsing/xmlParser.js';
121
+ * import { xmlParser } from './xmlParser.js';
122
122
  *
123
123
  * // Basic parse
124
124
  * const result = await xmlParser.parse<{ root: { id: string } }>('<root><id>42</id></root>');
125
125
  * console.log(result.root.id); // '42'
126
126
  *
127
127
  * // With request context for correlated logging
128
- * import { requestContextService } from '../../utils/internal/requestContext.js';
128
+ * import { requestContextService } from '../internal/requestContext.js';
129
129
  * const ctx = requestContextService.createRequestContext({ operation: 'parseResponse' });
130
130
  * const data = await xmlParser.parse<ApiResponse>(rawXml, ctx);
131
131
  *
@@ -1,4 +1,4 @@
1
- import { type RequestContext } from '../../utils/internal/requestContext.js';
1
+ import { type RequestContext } from '../internal/requestContext.js';
2
2
  import { type ParserInputBudgetOptions } from './inputBudget.js';
3
3
  /**
4
4
  * Utility class for parsing YAML strings.
@@ -26,7 +26,7 @@ export declare class YamlParser {
26
26
  * the `<think>` block, or if `js-yaml` fails to parse the content.
27
27
  * @example
28
28
  * ```typescript
29
- * import { yamlParser } from '../../utils/parsing/yamlParser.js';
29
+ * import { yamlParser } from './yamlParser.js';
30
30
  *
31
31
  * const result = await yamlParser.parse<{ key: string }>('key: value');
32
32
  * console.log(result.key); // 'value'
@@ -46,14 +46,14 @@ export declare class YamlParser {
46
46
  *
47
47
  * @example
48
48
  * ```typescript
49
- * import { yamlParser } from '../../utils/parsing/yamlParser.js';
49
+ * import { yamlParser } from './yamlParser.js';
50
50
  *
51
51
  * // Basic parse
52
52
  * const result = await yamlParser.parse<{ name: string }>('name: Claude');
53
53
  * console.log(result.name); // 'Claude'
54
54
  *
55
55
  * // With request context for correlated logging
56
- * import { requestContextService } from '../../utils/internal/requestContext.js';
56
+ * import { requestContextService } from '../internal/requestContext.js';
57
57
  * const ctx = requestContextService.createRequestContext({ operation: 'parseConfig' });
58
58
  * const config = await yamlParser.parse<AppConfig>(rawYaml, ctx);
59
59
  *
@@ -8,9 +8,9 @@
8
8
  * @module src/utils/parsing/yamlParser
9
9
  */
10
10
  import { validationError } from '../../types-global/errors.js';
11
- import { lazyImport } from '../../utils/internal/lazyImport.js';
12
- import { logger } from '../../utils/internal/logger.js';
13
- import { requestContextService, withExtra, } from '../../utils/internal/requestContext.js';
11
+ import { lazyImport } from '../internal/lazyImport.js';
12
+ import { logger } from '../internal/logger.js';
13
+ import { requestContextService, withExtra, } from '../internal/requestContext.js';
14
14
  import { assertTextInputBudget } from './inputBudget.js';
15
15
  import { thinkBlockRegex } from './thinkBlock.js';
16
16
  const getYaml = lazyImport(() => import('js-yaml'), 'Install "js-yaml" to use YAML parsing: bun add js-yaml');
@@ -40,7 +40,7 @@ export class YamlParser {
40
40
  * the `<think>` block, or if `js-yaml` fails to parse the content.
41
41
  * @example
42
42
  * ```typescript
43
- * import { yamlParser } from '../../utils/parsing/yamlParser.js';
43
+ * import { yamlParser } from './yamlParser.js';
44
44
  *
45
45
  * const result = await yamlParser.parse<{ key: string }>('key: value');
46
46
  * console.log(result.key); // 'value'
@@ -102,14 +102,14 @@ export class YamlParser {
102
102
  *
103
103
  * @example
104
104
  * ```typescript
105
- * import { yamlParser } from '../../utils/parsing/yamlParser.js';
105
+ * import { yamlParser } from './yamlParser.js';
106
106
  *
107
107
  * // Basic parse
108
108
  * const result = await yamlParser.parse<{ name: string }>('name: Claude');
109
109
  * console.log(result.name); // 'Claude'
110
110
  *
111
111
  * // With request context for correlated logging
112
- * import { requestContextService } from '../../utils/internal/requestContext.js';
112
+ * import { requestContextService } from '../internal/requestContext.js';
113
113
  * const ctx = requestContextService.createRequestContext({ operation: 'parseConfig' });
114
114
  * const config = await yamlParser.parse<AppConfig>(rawYaml, ctx);
115
115
  *
@@ -13,7 +13,7 @@
13
13
  * @module src/utils/scheduling/scheduler
14
14
  */
15
15
  import type { ScheduledTask } from 'node-cron';
16
- import type { RequestContext } from '../../utils/internal/requestContext.js';
16
+ import type { RequestContext } from '../internal/requestContext.js';
17
17
  /**
18
18
  * Represents a scheduled job managed by the {@link SchedulerService}.
19
19
  *
@@ -51,7 +51,7 @@ export interface Job {
51
51
  * instantiating this class directly.
52
52
  *
53
53
  * @example
54
- * import { schedulerService } from '../../utils/scheduling/scheduler.js';
54
+ * import { schedulerService } from './scheduler.js';
55
55
  *
56
56
  * await schedulerService.schedule(
57
57
  * 'cleanup',
@@ -182,7 +182,7 @@ export declare class SchedulerService {
182
182
  * `SchedulerService.getInstance()` directly.
183
183
  *
184
184
  * @example
185
- * import { schedulerService } from '../../utils/scheduling/scheduler.js';
185
+ * import { schedulerService } from './scheduler.js';
186
186
  *
187
187
  * await schedulerService.schedule('heartbeat', '* * * * *', heartbeatFn, 'Heartbeat');
188
188
  * schedulerService.start('heartbeat');
@@ -1,7 +1,7 @@
1
1
  import { configurationError, conflict, invalidParams, notFound } from '../../types-global/errors.js';
2
- import { logger } from '../../utils/internal/logger.js';
3
- import { requestContextService } from '../../utils/internal/requestContext.js';
4
- import { runtimeCaps } from '../../utils/internal/runtime.js';
2
+ import { logger } from '../internal/logger.js';
3
+ import { requestContextService } from '../internal/requestContext.js';
4
+ import { runtimeCaps } from '../internal/runtime.js';
5
5
  /**
6
6
  * Lazily loads the `node-cron` module on first call and caches the resulting
7
7
  * promise so subsequent calls resolve from the same import. Throws
@@ -35,7 +35,7 @@ async function loadCron() {
35
35
  * instantiating this class directly.
36
36
  *
37
37
  * @example
38
- * import { schedulerService } from '../../utils/scheduling/scheduler.js';
38
+ * import { schedulerService } from './scheduler.js';
39
39
  *
40
40
  * await schedulerService.schedule(
41
41
  * 'cleanup',
@@ -268,7 +268,7 @@ export class SchedulerService {
268
268
  * `SchedulerService.getInstance()` directly.
269
269
  *
270
270
  * @example
271
- * import { schedulerService } from '../../utils/scheduling/scheduler.js';
271
+ * import { schedulerService } from './scheduler.js';
272
272
  *
273
273
  * await schedulerService.schedule('heartbeat', '* * * * *', heartbeatFn, 'Heartbeat');
274
274
  * schedulerService.start('heartbeat');
@@ -1,6 +1,6 @@
1
1
  import type { config as ConfigType } from '../../config/index.js';
2
- import type { logger as LoggerType } from '../../utils/internal/logger.js';
3
- import { type RequestContext } from '../../utils/internal/requestContext.js';
2
+ import type { logger as LoggerType } from '../internal/logger.js';
3
+ import { type RequestContext } from '../internal/requestContext.js';
4
4
  /** Eagerly creates the rate limit rejection counter so the series exists from startup. */
5
5
  export declare function initRateLimitMetrics(): void;
6
6
  /**
@@ -5,8 +5,8 @@
5
5
  */
6
6
  import { trace } from '@opentelemetry/api';
7
7
  import { rateLimited } from '../../types-global/errors.js';
8
- import { requestContextService } from '../../utils/internal/requestContext.js';
9
- import { createCounter } from '../../utils/telemetry/metrics.js';
8
+ import { requestContextService } from '../internal/requestContext.js';
9
+ import { createCounter } from '../telemetry/metrics.js';
10
10
  let rejectionCounter;
11
11
  function getRateLimitMetrics() {
12
12
  rejectionCounter ??= createCounter('mcp.ratelimit.rejections', 'Rate limit rejections', '{rejections}');
@@ -82,7 +82,7 @@ export class RateLimiter {
82
82
  oldestKey = key;
83
83
  }
84
84
  }
85
- if (oldestKey) {
85
+ if (oldestKey !== null) {
86
86
  this.limits.delete(oldestKey);
87
87
  const logContext = requestContextService.createRequestContext({
88
88
  operation: 'RateLimiter.evictLRUEntry',
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimiter.js","sourceRoot":"","sources":["../../../src/utils/security/rateLimiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rateLimiter.js","sourceRoot":"","sources":["../../../src/utils/security/rateLimiter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAuB,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,IAAI,gBAA8D,CAAC;AAEnE,SAAS,mBAAmB;IAC1B,gBAAgB,KAAK,aAAa,CAChC,0BAA0B,EAC1B,uBAAuB,EACvB,cAAc,CACf,CAAC;IACF,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC9B,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB;IAClC,mBAAmB,EAAE,CAAC;AACxB,CAAC;AAkCD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,WAAW;IAiBZ,MAAM;IACN,MAAM;IAjBC,MAAM,CAA8B;IAC7C,YAAY,GAA0B,IAAI,CAAC;IAClC,eAAe,CAAkB;IAElD;;;;;;;;;;OAUG;IACH,YACU,MAAyB,EACzB,MAAyB;sBADzB,MAAM;sBACN,MAAM;QAEd,MAAM,aAAa,GAAoB;YACrC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;YACxB,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,8DAA8D;YAC5E,iBAAiB,EAAE,KAAK;YACxB,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;YAC9B,cAAc,EAAE,KAAK;SACtB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAEnC,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,UAAU,GAAG,QAAQ,CAAC;QAE1B,iDAAiD;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;gBAClC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC9B,SAAS,GAAG,GAAG,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;gBAC5D,SAAS,EAAE,2BAA2B;gBACtC,iBAAiB,EAAE;oBACjB,UAAU,EAAE,SAAS;oBACrB,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;iBACnC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;QACtD,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC,EAAE,QAAQ,CAAC,CAAC;YACb,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,qBAAqB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;gBAC5D,SAAS,EAAE,mCAAmC;gBAC9C,iBAAiB,EAAE;oBACjB,YAAY,EAAE,YAAY;oBAC1B,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;iBAC3C;aACF,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,YAAY,6BAA6B,EAAE,UAAU,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,SAAS,CAAC,MAAgC;QAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,SAAS;QACd,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAC5D,SAAS,EAAE,mBAAmB;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACI,KAAK,CAAC,GAAW,EAAE,OAAwB;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,UAAU,EAAE,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YACxF,UAAU,EAAE,YAAY,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY;YAChD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC;YACjD,CAAC,CAAC,GAAG,CAAC;QACR,UAAU,EAAE,YAAY,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACrC,6DAA6D;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,IAAI,KAAK,CAAC;YAC7D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,UAAU,EAAE,QAAQ,CAAC,yBAAyB,EAAE;oBAC9C,qCAAqC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;oBAC3D,yBAAyB,EAAE,OAAO;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,KAAK,GAAG;gBACN,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ;gBAC9C,UAAU,EAAE,GAAG;aAChB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,uBAAuB;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9E,UAAU,EAAE,aAAa,CAAC;YACxB,sBAAsB,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;YACxD,sBAAsB,EAAE,KAAK,CAAC,KAAK;YACnC,0BAA0B,EAAE,SAAS;YACrC,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;SAChD,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,CACnB,IAAI,CAAC,eAAe,CAAC,YAAY;gBACjC,8DAA8D,CAC/D,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE7C,UAAU,EAAE,QAAQ,CAAC,qBAAqB,EAAE;gBAC1C,kCAAkC,EAAE,QAAQ;aAC7C,CAAC,CAAC;YAEH,wEAAwE;YACxE,uEAAuE;YACvE,oEAAoE;YACpE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE9C,MAAM,WAAW,CAAC,YAAY,EAAE;gBAC9B,eAAe,EAAE,QAAQ;gBACzB,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;gBACvC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,SAAS,CAAC,GAAW;QAM1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;YACvC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YACtE,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;CACF"}
@@ -104,7 +104,7 @@ export interface HtmlSanitizeConfig {
104
104
  *
105
105
  * @example
106
106
  * ```ts
107
- * import { sanitization } from '../../utils/security/sanitization.js';
107
+ * import { sanitization } from './sanitization.js';
108
108
  *
109
109
  * const clean = await sanitization.sanitizeHtml('<script>alert(1)</script><b>hi</b>');
110
110
  * // => '<b>hi</b>'
@@ -407,7 +407,7 @@ export declare class Sanitization {
407
407
  *
408
408
  * @example
409
409
  * ```ts
410
- * import { sanitization } from '../../utils/security/sanitization.js';
410
+ * import { sanitization } from './sanitization.js';
411
411
  * const safe = await sanitization.sanitizeHtml(userHtml);
412
412
  * ```
413
413
  */
@@ -421,7 +421,7 @@ export declare const sanitization: Sanitization;
421
421
  * or `'[Log Sanitization Failed]'` on clone error.
422
422
  * @example
423
423
  * ```ts
424
- * import { sanitizeInputForLogging } from '../../utils/security/sanitization.js';
424
+ * import { sanitizeInputForLogging } from './sanitization.js';
425
425
  * logger.info('Request', sanitizeInputForLogging({ user: 'alice', token: 'secret' }));
426
426
  * // logs: { user: 'alice', token: '[REDACTED]' }
427
427
  * ```
@@ -1,8 +1,8 @@
1
1
  import { configurationError, JsonRpcErrorCode, McpError, validationError, } from '../../types-global/errors.js';
2
- import { logger } from '../../utils/internal/logger.js';
3
- import { requestContextService } from '../../utils/internal/requestContext.js';
4
- import { runtimeCaps } from '../../utils/internal/runtime.js';
5
- import { isRecord } from '../../utils/types/guards.js';
2
+ import { logger } from '../internal/logger.js';
3
+ import { requestContextService } from '../internal/requestContext.js';
4
+ import { runtimeCaps } from '../internal/runtime.js';
5
+ import { isRecord } from '../types/guards.js';
6
6
  let _sanitizeHtmlFn;
7
7
  async function loadSanitizeHtml() {
8
8
  _sanitizeHtmlFn ??= (await import('sanitize-html').catch(() => {
@@ -38,7 +38,7 @@ if (runtimeCaps.isNode) {
38
38
  *
39
39
  * @example
40
40
  * ```ts
41
- * import { sanitization } from '../../utils/security/sanitization.js';
41
+ * import { sanitization } from './sanitization.js';
42
42
  *
43
43
  * const clean = await sanitization.sanitizeHtml('<script>alert(1)</script><b>hi</b>');
44
44
  * // => '<b>hi</b>'
@@ -741,7 +741,7 @@ export class Sanitization {
741
741
  *
742
742
  * @example
743
743
  * ```ts
744
- * import { sanitization } from '../../utils/security/sanitization.js';
744
+ * import { sanitization } from './sanitization.js';
745
745
  * const safe = await sanitization.sanitizeHtml(userHtml);
746
746
  * ```
747
747
  */
@@ -755,7 +755,7 @@ export const sanitization = Sanitization.getInstance();
755
755
  * or `'[Log Sanitization Failed]'` on clone error.
756
756
  * @example
757
757
  * ```ts
758
- * import { sanitizeInputForLogging } from '../../utils/security/sanitization.js';
758
+ * import { sanitizeInputForLogging } from './sanitization.js';
759
759
  * logger.info('Request', sanitizeInputForLogging({ user: 'alice', token: 'secret' }));
760
760
  * // logs: { user: 'alice', token: '[REDACTED]' }
761
761
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/utils/telemetry/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKvD;;;;;GAKG;AACH,eAAO,IAAI,GAAG,EAAE,OAAO,GAAG,IAAW,CAAC;AAmEtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsH7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B3E"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/utils/telemetry/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKvD;;;;;GAKG;AACH,eAAO,IAAI,GAAG,EAAE,OAAO,GAAG,IAAW,CAAC;AAmEtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsH7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3E"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';
8
8
  import { config } from '../../config/index.js';
9
- import { runtimeCaps } from '../../utils/internal/runtime.js';
9
+ import { runtimeCaps } from '../internal/runtime.js';
10
10
  /**
11
11
  * The active OpenTelemetry `NodeSDK` instance, or `null` when telemetry is disabled,
12
12
  * the runtime is not Node/Bun, or the SDK has been shut down.
@@ -211,15 +211,13 @@ export async function shutdownOpenTelemetry(timeoutMs = 5000) {
211
211
  if (!sdk) {
212
212
  return;
213
213
  }
214
+ let timer;
214
215
  try {
215
216
  const shutdownPromise = sdk.shutdown();
216
- // Attach a no-op catch so the promise doesn't become an unhandled rejection
217
- // if the timeout wins the race and sdk.shutdown() later rejects.
218
- shutdownPromise.catch(() => { });
219
- const { promise: timeoutPromise, reject } = Promise.withResolvers();
220
- const timer = setTimeout(() => reject(new Error('OpenTelemetry SDK shutdown timeout')), timeoutMs);
221
- await Promise.race([shutdownPromise, timeoutPromise]);
222
- clearTimeout(timer);
217
+ await new Promise((resolve, reject) => {
218
+ timer = setTimeout(() => reject(new Error('OpenTelemetry SDK shutdown timeout')), timeoutMs);
219
+ shutdownPromise.then(resolve, reject);
220
+ });
223
221
  diag.info('OpenTelemetry SDK terminated successfully.');
224
222
  }
225
223
  catch (error) {
@@ -227,6 +225,7 @@ export async function shutdownOpenTelemetry(timeoutMs = 5000) {
227
225
  throw error; // Propagate for caller handling
228
226
  }
229
227
  finally {
228
+ clearTimeout(timer);
230
229
  sdk = null;
231
230
  isOtelInitialized = false;
232
231
  initializationPromise = null;
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../src/utils/telemetry/instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../src/utils/telemetry/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * @module src/utils/telemetry/trace
6
6
  */
7
7
  import { type Span } from '@opentelemetry/api';
8
- import type { RequestContext } from '../../utils/internal/requestContext.js';
8
+ import type { RequestContext } from '../internal/requestContext.js';
9
9
  /**
10
10
  * Parsed fields from a W3C `traceparent` header (`00-<traceId>-<spanId>-<flags>`).
11
11
  * Used to propagate distributed trace context across service boundaries.
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { context as otContext, propagation, ROOT_CONTEXT, SpanStatusCode, trace, } from '@opentelemetry/api';
8
8
  import { config } from '../../config/index.js';
9
- import { requestContextService } from '../../utils/internal/requestContext.js';
9
+ import { requestContextService } from '../internal/requestContext.js';
10
10
  /**
11
11
  * Builds a W3C `traceparent` header value from a `RequestContext` or the currently active span.
12
12
  * Uses `ctx.traceId`/`ctx.spanId` when provided; falls back to the active OTel span context.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@cyanheads/mcp-ts-core",
3
- "version": "0.12.5",
3
+ "version": "0.12.7",
4
4
  "mcpName": "io.github.cyanheads/mcp-ts-core",
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.",
5
+ "description": "Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.",
6
6
  "files": [
7
7
  "changelog/",
8
8
  "dist/",
@@ -164,21 +164,28 @@
164
164
  "format:unsafe": "biome check --write --unsafe .",
165
165
  "typecheck": "bunx tsc --noEmit",
166
166
  "typecheck:scripts": "bunx tsc --project tsconfig.scripts.json --noEmit",
167
+ "typecheck:worker": "bunx tsc --project tsconfig.worker.json --noEmit",
168
+ "list-skills": "bun run scripts/list-skills.ts",
167
169
  "tree": "bun run scripts/tree.ts",
168
170
  "fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
171
+ "bench": "bunx vitest bench --run --config tests/config/vitest.benchmark.ts",
172
+ "bench:node": "bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts",
173
+ "bench:io": "bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts",
174
+ "bench:io:bun": "bunx vitest run --config tests/config/vitest.performance.ts --project http --project native",
169
175
  "test": "bunx vitest run",
170
176
  "test:all": "bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration",
171
- "test:integration": "bunx vitest run --config vitest.integration.ts",
172
- "test:leaks": "bunx vitest run --detect-async-leaks",
173
- "test:node": "sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'",
174
- "test:order": "sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'",
175
- "test:package": "bun run rebuild && bunx vitest run --config vitest.package.ts",
177
+ "test:integration": "bunx vitest run --config tests/config/vitest.integration.ts",
178
+ "test:leaks": "bun run tests/leaks/run.ts",
179
+ "test:node": "bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts",
180
+ "test:order": "bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions",
181
+ "test:package": "bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts",
176
182
  "test:unit": "bunx vitest run --project unit",
177
183
  "test:smoke": "bunx vitest run --project smoke",
178
184
  "test:fuzz": "bunx vitest run --project fuzz",
179
185
  "test:typecheck": "bunx vitest run --project typecheck",
180
186
  "test:compliance": "bunx vitest run --project compliance",
181
- "test:worker": "sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'",
187
+ "test:leak-gate": "bunx vitest run --project leak-gate",
188
+ "test:worker": "bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts",
182
189
  "test:ui": "bunx vitest --ui",
183
190
  "test:coverage": "bunx vitest run --coverage",
184
191
  "audit": "bun audit",
@@ -190,23 +197,23 @@
190
197
  "publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish"
191
198
  },
192
199
  "devDependencies": {
193
- "@biomejs/biome": "2.5.11",
200
+ "@biomejs/biome": "2.5.12",
194
201
  "@cloudflare/vitest-pool-workers": "^0.22.0",
195
- "@cloudflare/workers-types": "5.20260730.1",
202
+ "@cloudflare/workers-types": "5.20260905.1",
196
203
  "@duckdb/node-api": "^1.5.5-r.4",
197
204
  "@hono/otel": "^1.1.2",
198
- "@opentelemetry/exporter-metrics-otlp-http": "^0.221.0",
199
- "@opentelemetry/exporter-trace-otlp-http": "^0.221.0",
200
- "@opentelemetry/instrumentation-http": "^0.221.0",
201
- "@opentelemetry/instrumentation-pino": "^0.67.0",
205
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.222.0",
206
+ "@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
207
+ "@opentelemetry/instrumentation-http": "^0.222.0",
208
+ "@opentelemetry/instrumentation-pino": "^0.68.0",
202
209
  "@opentelemetry/resources": "^2.10.0",
203
210
  "@opentelemetry/sdk-metrics": "^2.10.0",
204
- "@opentelemetry/sdk-node": "^0.221.0",
211
+ "@opentelemetry/sdk-node": "^0.222.0",
205
212
  "@opentelemetry/sdk-trace-node": "^2.10.0",
206
213
  "@opentelemetry/semantic-conventions": "^1.43.0",
207
214
  "@socketsecurity/bun-security-scanner": "^1.1.2",
208
- "@supabase/supabase-js": "^2.112.4",
209
- "@types/bun": "^1.4.0",
215
+ "@supabase/supabase-js": "^2.115.0",
216
+ "@types/bun": "^1.4.1",
210
217
  "@types/node": "26.4.0",
211
218
  "@types/papaparse": "^5.5.2",
212
219
  "@types/sanitize-html": "^2.16.1",
@@ -214,7 +221,7 @@
214
221
  "@vitest/coverage-istanbul": "4.1.11",
215
222
  "@vitest/ui": "4.1.11",
216
223
  "better-sqlite3": "^13.0.3",
217
- "bun-types": "^1.4.0",
224
+ "bun-types": "^1.4.2",
218
225
  "chrono-node": "^2.10.1",
219
226
  "clipboardy": "^5.3.2",
220
227
  "defuddle": "^0.19.3",
@@ -227,7 +234,7 @@
227
234
  "js-yaml": "^5.4.1",
228
235
  "linkedom": "^0.18.13",
229
236
  "node-cron": "^4.6.0",
230
- "openai": "^7.8.0",
237
+ "openai": "^7.10.0",
231
238
  "papaparse": "^5.7.0",
232
239
  "partial-json": "^0.1.7",
233
240
  "pdf-lib": "^1.17.1",
@@ -299,21 +306,21 @@
299
306
  "@modelcontextprotocol/server": "^2.0.0",
300
307
  "@opentelemetry/api": "^1.9.1",
301
308
  "dotenv": "^17.4.2",
302
- "hono": "^4.13.5",
303
- "jose": "^6.2.10",
309
+ "hono": "^4.13.7",
310
+ "jose": "^6.2.12",
304
311
  "pino": "^10.3.1",
305
312
  "zod": "^4.5.4"
306
313
  },
307
314
  "peerDependencies": {
308
315
  "@duckdb/node-api": "^1.5.5-r.1",
309
316
  "@hono/otel": "^1.1.2",
310
- "@opentelemetry/instrumentation-http": "^0.221.0",
311
- "@opentelemetry/exporter-metrics-otlp-http": "^0.221.0",
312
- "@opentelemetry/exporter-trace-otlp-http": "^0.221.0",
313
- "@opentelemetry/instrumentation-pino": "^0.66.0",
317
+ "@opentelemetry/instrumentation-http": "^0.222.0",
318
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.222.0",
319
+ "@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
320
+ "@opentelemetry/instrumentation-pino": "^0.68.0",
314
321
  "@opentelemetry/resources": "^2.10.0",
315
322
  "@opentelemetry/sdk-metrics": "^2.10.0",
316
- "@opentelemetry/sdk-node": "^0.221.0",
323
+ "@opentelemetry/sdk-node": "^0.222.0",
317
324
  "@opentelemetry/sdk-trace-node": "^2.10.0",
318
325
  "@opentelemetry/semantic-conventions": "^1.43.0",
319
326
  "@supabase/supabase-js": "^2.110.8",