@cyanheads/mcp-ts-core 0.11.1 → 0.11.2

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 (161) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +1 -1
  4. package/biome.json +1 -1
  5. package/changelog/0.11.x/0.11.2.md +98 -0
  6. package/dist/config/index.d.ts +10 -0
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js +27 -13
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/core/app.d.ts +37 -14
  11. package/dist/core/app.d.ts.map +1 -1
  12. package/dist/core/app.js +56 -23
  13. package/dist/core/app.js.map +1 -1
  14. package/dist/core/index.d.ts +1 -1
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core/index.js.map +1 -1
  17. package/dist/core/worker.d.ts.map +1 -1
  18. package/dist/core/worker.js +35 -18
  19. package/dist/core/worker.js.map +1 -1
  20. package/dist/mcp-server/elicitation.d.ts +64 -0
  21. package/dist/mcp-server/elicitation.d.ts.map +1 -0
  22. package/dist/mcp-server/elicitation.js +81 -0
  23. package/dist/mcp-server/elicitation.js.map +1 -0
  24. package/dist/mcp-server/protocolSession.d.ts +34 -0
  25. package/dist/mcp-server/protocolSession.d.ts.map +1 -0
  26. package/dist/mcp-server/protocolSession.js +13 -0
  27. package/dist/mcp-server/protocolSession.js.map +1 -0
  28. package/dist/mcp-server/resources/resource-registration.d.ts +2 -1
  29. package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
  30. package/dist/mcp-server/resources/resource-registration.js +6 -2
  31. package/dist/mcp-server/resources/resource-registration.js.map +1 -1
  32. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +7 -12
  33. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
  34. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +24 -31
  35. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
  36. package/dist/mcp-server/server.d.ts +3 -0
  37. package/dist/mcp-server/server.d.ts.map +1 -1
  38. package/dist/mcp-server/server.js +12 -2
  39. package/dist/mcp-server/server.js.map +1 -1
  40. package/dist/mcp-server/tools/tool-registration.d.ts +2 -1
  41. package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
  42. package/dist/mcp-server/tools/tool-registration.js +6 -2
  43. package/dist/mcp-server/tools/tool-registration.js.map +1 -1
  44. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +7 -13
  45. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  46. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +11 -44
  47. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  48. package/dist/mcp-server/transports/http/httpErrorHandler.js +1 -1
  49. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
  50. package/dist/mcp-server/transports/http/httpServer.d.ts +2 -2
  51. package/dist/mcp-server/transports/http/httpServer.d.ts.map +1 -1
  52. package/dist/mcp-server/transports/http/httpServer.js.map +1 -1
  53. package/dist/mcp-server/transports/http/httpTransport.d.ts +2 -2
  54. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
  55. package/dist/mcp-server/transports/http/httpTransport.js +113 -55
  56. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
  57. package/dist/mcp-server/transports/http/sessionStore.d.ts +17 -0
  58. package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -1
  59. package/dist/mcp-server/transports/http/sessionStore.js +71 -0
  60. package/dist/mcp-server/transports/http/sessionStore.js.map +1 -1
  61. package/dist/mcp-server/transports/manager.d.ts +2 -6
  62. package/dist/mcp-server/transports/manager.d.ts.map +1 -1
  63. package/dist/mcp-server/transports/manager.js +4 -0
  64. package/dist/mcp-server/transports/manager.js.map +1 -1
  65. package/dist/services/canvas/core/CanvasRegistry.d.ts +2 -2
  66. package/dist/services/canvas/core/CanvasRegistry.d.ts.map +1 -1
  67. package/dist/services/canvas/core/CanvasRegistry.js +14 -3
  68. package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
  69. package/dist/services/canvas/core/DataCanvas.d.ts +1 -1
  70. package/dist/services/canvas/core/DataCanvas.d.ts.map +1 -1
  71. package/dist/services/canvas/core/DataCanvas.js +2 -2
  72. package/dist/services/canvas/core/DataCanvas.js.map +1 -1
  73. package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
  74. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +11 -3
  75. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
  76. package/dist/services/canvas/providers/duckdb/exportWriter.d.ts.map +1 -1
  77. package/dist/services/canvas/providers/duckdb/exportWriter.js +23 -2
  78. package/dist/services/canvas/providers/duckdb/exportWriter.js.map +1 -1
  79. package/dist/services/mirror/core/defineMirror.d.ts.map +1 -1
  80. package/dist/services/mirror/core/defineMirror.js +18 -7
  81. package/dist/services/mirror/core/defineMirror.js.map +1 -1
  82. package/dist/services/mirror/core/runner.d.ts.map +1 -1
  83. package/dist/services/mirror/core/runner.js +3 -0
  84. package/dist/services/mirror/core/runner.js.map +1 -1
  85. package/dist/services/mirror/index.d.ts +1 -1
  86. package/dist/services/mirror/index.d.ts.map +1 -1
  87. package/dist/services/mirror/index.js.map +1 -1
  88. package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts +20 -0
  89. package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts.map +1 -1
  90. package/dist/services/mirror/sqlite/sqliteMirrorStore.js +87 -8
  91. package/dist/services/mirror/sqlite/sqliteMirrorStore.js.map +1 -1
  92. package/dist/storage/core/StorageService.d.ts.map +1 -1
  93. package/dist/storage/core/StorageService.js +4 -1
  94. package/dist/storage/core/StorageService.js.map +1 -1
  95. package/dist/storage/core/storageValidation.d.ts +8 -0
  96. package/dist/storage/core/storageValidation.d.ts.map +1 -1
  97. package/dist/storage/core/storageValidation.js +38 -0
  98. package/dist/storage/core/storageValidation.js.map +1 -1
  99. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +1 -1
  100. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
  101. package/dist/storage/providers/inMemory/inMemoryProvider.js +67 -25
  102. package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
  103. package/dist/testing/fuzz.d.ts.map +1 -1
  104. package/dist/testing/fuzz.js +33 -14
  105. package/dist/testing/fuzz.js.map +1 -1
  106. package/dist/testing/vitest.d.ts +11 -2
  107. package/dist/testing/vitest.d.ts.map +1 -1
  108. package/dist/testing/vitest.js +3 -0
  109. package/dist/testing/vitest.js.map +1 -1
  110. package/dist/utils/index.d.ts +1 -1
  111. package/dist/utils/index.d.ts.map +1 -1
  112. package/dist/utils/index.js +1 -1
  113. package/dist/utils/index.js.map +1 -1
  114. package/dist/utils/network/fetchWithTimeout.d.ts +7 -6
  115. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
  116. package/dist/utils/network/fetchWithTimeout.js +141 -51
  117. package/dist/utils/network/fetchWithTimeout.js.map +1 -1
  118. package/dist/utils/network/httpError.d.ts.map +1 -1
  119. package/dist/utils/network/httpError.js +3 -2
  120. package/dist/utils/network/httpError.js.map +1 -1
  121. package/dist/utils/network/responseBody.d.ts +15 -0
  122. package/dist/utils/network/responseBody.d.ts.map +1 -0
  123. package/dist/utils/network/responseBody.js +63 -0
  124. package/dist/utils/network/responseBody.js.map +1 -0
  125. package/dist/utils/parsing/frontmatterParser.d.ts +3 -1
  126. package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -1
  127. package/dist/utils/parsing/frontmatterParser.js +6 -7
  128. package/dist/utils/parsing/frontmatterParser.js.map +1 -1
  129. package/dist/utils/parsing/htmlExtractor.d.ts +4 -0
  130. package/dist/utils/parsing/htmlExtractor.d.ts.map +1 -1
  131. package/dist/utils/parsing/htmlExtractor.js +4 -5
  132. package/dist/utils/parsing/htmlExtractor.js.map +1 -1
  133. package/dist/utils/parsing/index.d.ts +1 -0
  134. package/dist/utils/parsing/index.d.ts.map +1 -1
  135. package/dist/utils/parsing/index.js +1 -0
  136. package/dist/utils/parsing/index.js.map +1 -1
  137. package/dist/utils/parsing/inputBudget.d.ts +28 -0
  138. package/dist/utils/parsing/inputBudget.d.ts.map +1 -0
  139. package/dist/utils/parsing/inputBudget.js +76 -0
  140. package/dist/utils/parsing/inputBudget.js.map +1 -0
  141. package/dist/utils/parsing/jsonParser.d.ts +3 -1
  142. package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
  143. package/dist/utils/parsing/jsonParser.js +5 -6
  144. package/dist/utils/parsing/jsonParser.js.map +1 -1
  145. package/dist/utils/parsing/pdfParser.d.ts +11 -3
  146. package/dist/utils/parsing/pdfParser.d.ts.map +1 -1
  147. package/dist/utils/parsing/pdfParser.js +65 -50
  148. package/dist/utils/parsing/pdfParser.js.map +1 -1
  149. package/dist/utils/parsing/xmlParser.d.ts +3 -1
  150. package/dist/utils/parsing/xmlParser.d.ts.map +1 -1
  151. package/dist/utils/parsing/xmlParser.js +8 -6
  152. package/dist/utils/parsing/xmlParser.js.map +1 -1
  153. package/dist/utils/parsing/yamlParser.d.ts +3 -1
  154. package/dist/utils/parsing/yamlParser.d.ts.map +1 -1
  155. package/dist/utils/parsing/yamlParser.js +5 -6
  156. package/dist/utils/parsing/yamlParser.js.map +1 -1
  157. package/package.json +17 -15
  158. package/skills/git-wrapup/SKILL.md +22 -1
  159. package/dist/logs/combined.log +0 -8
  160. package/dist/logs/error.log +0 -4
  161. package/dist/logs/interactions.log +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pdfParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/pdfParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdfParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/pdfParser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type RequestContext } from '../../utils/internal/requestContext.js';
2
+ import { type ParserInputBudgetOptions } from './inputBudget.js';
2
3
  /**
3
4
  * Utility class for parsing XML strings.
4
5
  *
@@ -22,6 +23,7 @@ export declare class XmlParser {
22
23
  * @template T - The expected type of the parsed result. Defaults to `unknown`.
23
24
  * @param xmlString - The XML string to parse. May be prefixed with a `<think>` block.
24
25
  * @param context - Optional request context for correlated logging and error metadata.
26
+ * @param budget - Optional UTF-8 byte budget for the input. Defaults to 1 MiB.
25
27
  * @returns A promise resolving to the parsed object cast to `T`.
26
28
  * @throws {McpError} With code `ConfigurationError` if `fast-xml-parser` is not installed.
27
29
  * @throws {McpError} With code `ValidationError` if the string is empty after stripping
@@ -38,7 +40,7 @@ export declare class XmlParser {
38
40
  * console.log(fromLlm); // { root: { key: 'value' } }
39
41
  * ```
40
42
  */
41
- parse<T = unknown>(xmlString: string, context?: RequestContext): Promise<T>;
43
+ parse<T = unknown>(xmlString: string, context?: RequestContext, budget?: ParserInputBudgetOptions): Promise<T>;
42
44
  }
43
45
  /**
44
46
  * Singleton instance of {@link XmlParser}.
@@ -1 +1 @@
1
- {"version":3,"file":"xmlParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/xmlParser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAsBhG;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CA4DhF;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,SAAS,WAAkB,CAAC"}
1
+ {"version":3,"file":"xmlParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/xmlParser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAyB,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAsBxF;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,CAAC,CAAC,CAgEZ;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -11,6 +11,7 @@
11
11
  import { configurationError, validationError } from '../../types-global/errors.js';
12
12
  import { logger } from '../../utils/internal/logger.js';
13
13
  import { requestContextService } from '../../utils/internal/requestContext.js';
14
+ import { assertTextInputBudget } from './inputBudget.js';
14
15
  import { thinkBlockRegex } from './thinkBlock.js';
15
16
  let _fxp;
16
17
  let _xmlParserInstance;
@@ -46,6 +47,7 @@ export class XmlParser {
46
47
  * @template T - The expected type of the parsed result. Defaults to `unknown`.
47
48
  * @param xmlString - The XML string to parse. May be prefixed with a `<think>` block.
48
49
  * @param context - Optional request context for correlated logging and error metadata.
50
+ * @param budget - Optional UTF-8 byte budget for the input. Defaults to 1 MiB.
49
51
  * @returns A promise resolving to the parsed object cast to `T`.
50
52
  * @throws {McpError} With code `ConfigurationError` if `fast-xml-parser` is not installed.
51
53
  * @throws {McpError} With code `ValidationError` if the string is empty after stripping
@@ -62,7 +64,8 @@ export class XmlParser {
62
64
  * console.log(fromLlm); // { root: { key: 'value' } }
63
65
  * ```
64
66
  */
65
- async parse(xmlString, context) {
67
+ async parse(xmlString, context, budget) {
68
+ assertTextInputBudget(xmlString, budget);
66
69
  let stringToParse = xmlString;
67
70
  const match = xmlString.match(thinkBlockRegex);
68
71
  if (match) {
@@ -92,6 +95,9 @@ export class XmlParser {
92
95
  _xmlParserInstance ??= new fxp.XMLParser({
93
96
  processEntities: false,
94
97
  htmlEntities: false,
98
+ // Pins fast-xml-parser's own nesting-depth default so an upstream change
99
+ // can't silently raise the bound a deeply nested document runs against.
100
+ maxNestedTags: 100,
95
101
  });
96
102
  return _xmlParserInstance.parse(stringToParse);
97
103
  }
@@ -106,11 +112,7 @@ export class XmlParser {
106
112
  errorDetails: error.message,
107
113
  contentAttempted: stringToParse.substring(0, 200),
108
114
  });
109
- throw validationError(`Failed to parse XML: ${error.message}`, {
110
- ...context,
111
- originalContentSample: stringToParse.substring(0, 200) + (stringToParse.length > 200 ? '...' : ''),
112
- rawError: error instanceof Error ? error.stack : String(error),
113
- });
115
+ throw validationError('Failed to parse XML content.', { reason: 'xml_parse_failed' }, { cause: error });
114
116
  }
115
117
  }
116
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xmlParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/xmlParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xmlParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/xmlParser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type RequestContext } from '../../utils/internal/requestContext.js';
2
+ import { type ParserInputBudgetOptions } from './inputBudget.js';
2
3
  /**
3
4
  * Utility class for parsing YAML strings.
4
5
  *
@@ -18,6 +19,7 @@ export declare class YamlParser {
18
19
  * @template T - The expected type of the parsed result. Defaults to `unknown`.
19
20
  * @param yamlString - The YAML string to parse. May be prefixed with a `<think>` block.
20
21
  * @param context - Optional request context for correlated logging and error metadata.
22
+ * @param budget - Optional UTF-8 byte budget for the input. Defaults to 1 MiB.
21
23
  * @returns A promise resolving to the parsed object cast to `T`.
22
24
  * @throws {McpError} With code `ConfigurationError` if `js-yaml` is not installed.
23
25
  * @throws {McpError} With code `ValidationError` if the string is empty after stripping
@@ -34,7 +36,7 @@ export declare class YamlParser {
34
36
  * console.log(fromLlm); // { key: 'value' }
35
37
  * ```
36
38
  */
37
- parse<T = unknown>(yamlString: string, context?: RequestContext): Promise<T>;
39
+ parse<T = unknown>(yamlString: string, context?: RequestContext, budget?: ParserInputBudgetOptions): Promise<T>;
38
40
  }
39
41
  /**
40
42
  * Singleton instance of {@link YamlParser}.
@@ -1 +1 @@
1
- {"version":3,"file":"yamlParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/yamlParser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAQhG;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CA2DjF;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU,YAAmB,CAAC"}
1
+ {"version":3,"file":"yamlParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/yamlParser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAyB,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAQxF;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,CAAC,CAAC,CA4DZ;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -11,6 +11,7 @@ import { validationError } from '../../types-global/errors.js';
11
11
  import { lazyImport } from '../../utils/internal/lazyImport.js';
12
12
  import { logger } from '../../utils/internal/logger.js';
13
13
  import { requestContextService } from '../../utils/internal/requestContext.js';
14
+ import { assertTextInputBudget } from './inputBudget.js';
14
15
  import { thinkBlockRegex } from './thinkBlock.js';
15
16
  const getYaml = lazyImport(() => import('js-yaml'), 'Install "js-yaml" to use YAML parsing: bun add js-yaml');
16
17
  /**
@@ -32,6 +33,7 @@ export class YamlParser {
32
33
  * @template T - The expected type of the parsed result. Defaults to `unknown`.
33
34
  * @param yamlString - The YAML string to parse. May be prefixed with a `<think>` block.
34
35
  * @param context - Optional request context for correlated logging and error metadata.
36
+ * @param budget - Optional UTF-8 byte budget for the input. Defaults to 1 MiB.
35
37
  * @returns A promise resolving to the parsed object cast to `T`.
36
38
  * @throws {McpError} With code `ConfigurationError` if `js-yaml` is not installed.
37
39
  * @throws {McpError} With code `ValidationError` if the string is empty after stripping
@@ -48,7 +50,8 @@ export class YamlParser {
48
50
  * console.log(fromLlm); // { key: 'value' }
49
51
  * ```
50
52
  */
51
- async parse(yamlString, context) {
53
+ async parse(yamlString, context, budget) {
54
+ assertTextInputBudget(yamlString, budget);
52
55
  let stringToParse = yamlString;
53
56
  const match = yamlString.match(thinkBlockRegex);
54
57
  if (match) {
@@ -91,11 +94,7 @@ export class YamlParser {
91
94
  errorDetails: error.message,
92
95
  contentAttempted: stringToParse.substring(0, 200),
93
96
  });
94
- throw validationError(`Failed to parse YAML: ${error.message}`, {
95
- ...context,
96
- originalContentSample: stringToParse.substring(0, 200) + (stringToParse.length > 200 ? '...' : ''),
97
- rawError: error instanceof Error ? error.stack : String(error),
98
- });
97
+ throw validationError('Failed to parse YAML content.', { reason: 'yaml_parse_failed' }, { cause: error });
99
98
  }
100
99
  }
101
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yamlParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/yamlParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/yamlParser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@cyanheads/mcp-ts-core",
3
- "version": "0.11.1",
3
+ "version": "0.11.2",
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 building MCP servers. 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/",
@@ -172,10 +172,12 @@
172
172
  "tree": "bun run scripts/tree.ts",
173
173
  "fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
174
174
  "test": "bunx vitest run",
175
- "test:all": "bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration",
175
+ "test:all": "bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration",
176
176
  "test:integration": "bunx vitest run --config vitest.integration.ts",
177
177
  "test:leaks": "bunx vitest run --detect-async-leaks",
178
178
  "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'",
179
+ "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'",
180
+ "test:package": "bun run rebuild && bunx vitest run --config vitest.package.ts",
179
181
  "test:unit": "bunx vitest run --project unit",
180
182
  "test:smoke": "bunx vitest run --project smoke",
181
183
  "test:fuzz": "bunx vitest run --project fuzz",
@@ -196,7 +198,7 @@
196
198
  "@biomejs/biome": "2.5.6",
197
199
  "@cloudflare/vitest-pool-workers": "^0.19.1",
198
200
  "@cloudflare/workers-types": "5.20260730.1",
199
- "@duckdb/node-api": "^1.5.5-r.2",
201
+ "@duckdb/node-api": "^1.5.5-r.3",
200
202
  "@hono/otel": "^1.1.2",
201
203
  "@opentelemetry/exporter-metrics-otlp-http": "^0.221.0",
202
204
  "@opentelemetry/exporter-trace-otlp-http": "^0.221.0",
@@ -208,7 +210,7 @@
208
210
  "@opentelemetry/sdk-trace-node": "^2.10.0",
209
211
  "@opentelemetry/semantic-conventions": "^1.43.0",
210
212
  "@socketsecurity/bun-security-scanner": "^1.1.2",
211
- "@supabase/supabase-js": "^2.111.0",
213
+ "@supabase/supabase-js": "^2.112.2",
212
214
  "@types/bun": "^1.3.14",
213
215
  "@types/node": "26.1.2",
214
216
  "@types/papaparse": "^5.5.2",
@@ -216,18 +218,18 @@
216
218
  "@types/validator": "^13.15.10",
217
219
  "@vitest/coverage-istanbul": "4.1.10",
218
220
  "@vitest/ui": "4.1.10",
219
- "better-sqlite3": "^13.0.2",
221
+ "better-sqlite3": "^13.0.3",
220
222
  "bun-types": "^1.3.14",
221
223
  "chrono-node": "^2.10.1",
222
224
  "clipboardy": "^5.3.2",
223
225
  "defuddle": "^0.19.2",
224
226
  "depcheck": "^1.4.7",
225
227
  "diff": "^9.0.0",
226
- "execa": "^10.0.0",
228
+ "execa": "^10.0.1",
227
229
  "fast-check": "^4.9.0",
228
230
  "fast-xml-parser": "^5.10.1",
229
231
  "ignore": "^7.0.6",
230
- "js-yaml": "^5.2.2",
232
+ "js-yaml": "^5.2.3",
231
233
  "linkedom": "^0.18.13",
232
234
  "node-cron": "^4.6.0",
233
235
  "openai": "^6.49.0",
@@ -235,7 +237,7 @@
235
237
  "partial-json": "^0.1.7",
236
238
  "pdf-lib": "^1.17.1",
237
239
  "pino-pretty": "^13.1.3",
238
- "repomix": "^1.17.0",
240
+ "repomix": "^1.18.0",
239
241
  "sanitize-html": "^2.17.6",
240
242
  "tsc-alias": "^1.9.1",
241
243
  "typedoc": "^0.28.20",
@@ -297,13 +299,13 @@
297
299
  },
298
300
  "dependencies": {
299
301
  "@hono/mcp": "^0.3.1",
300
- "@hono/node-server": "^2.0.12",
302
+ "@hono/node-server": "^2.1.0",
301
303
  "@modelcontextprotocol/ext-apps": "^1.7.5",
302
304
  "@modelcontextprotocol/sdk": "^1.30.0",
303
305
  "@opentelemetry/api": "^1.9.1",
304
306
  "dotenv": "^17.4.2",
305
- "hono": "^4.12.32",
306
- "jose": "^6.2.5",
307
+ "hono": "^4.13.1",
308
+ "jose": "^6.2.8",
307
309
  "pino": "^10.3.1",
308
310
  "zod": "^4.4.3"
309
311
  },
@@ -430,10 +432,10 @@
430
432
  },
431
433
  "overrides": {
432
434
  "brace-expansion": "^2.1.3",
433
- "postcss": "^8.5.22",
435
+ "postcss": "^8.5.23",
434
436
  "protobufjs": "^7.6.5",
435
437
  "sharp": "^0.35.3",
436
- "fast-uri": "^3.1.4",
437
- "@hono/node-server": "^2.0.11"
438
+ "fast-uri": "^3.1.5",
439
+ "ip-address": "^10.3.1"
438
440
  }
439
441
  }
@@ -4,7 +4,7 @@ description: >
4
4
  Land working-tree changes as logical commits — the work grouped by concern, topped by a release commit (version bump, changelog, regenerated artifacts) and an annotated tag. Verify, commit, tag. Stops at "committed and tagged locally" — no push, no publish. The release-and-publish skill picks up from here. Distilled from the git_wrapup_instructions protocol.
5
5
  metadata:
6
6
  author: cyanheads
7
- version: "1.8"
7
+ version: "1.9"
8
8
  audience: external
9
9
  type: workflow
10
10
  ---
@@ -95,6 +95,8 @@ security: false # true ONLY for a security fix in this server's own source
95
95
  ---
96
96
  ```
97
97
 
98
+ **Write `summary:` LAST, derived from the body you just wrote — never independently.** It is the line most readers see, and it propagates unedited to three further surfaces: the `CHANGELOG.md` rollup, the GitHub Release body, and the annotated tag (which cannot be edited once pushed). Written from recollection rather than from the body, it reliably names a mechanism that was never built or a target that was never fixed, while the body beside it stays correct. After writing it, re-read the body and confirm every claim in the summary appears there.
99
+
98
100
  **`security:` is a source-code signal — not a dependency-CVE signal.** Set `security: true` only when this release fixes a vulnerability or adds hardening in code *this server ships*. A dependency or transitive CVE bump — even one that clears an advisory (`bun audit` going 1 → 0) — is routine maintenance: record it under `## Dependencies` with the advisory ID and leave the flag `false`. The `🛡️ Security` badge answers "does the server itself have a vuln"; a dep bump must not trip it.
99
101
 
100
102
  **Body:** Section order follows Keep a Changelog — Added / Changed / Deprecated / Removed / Fixed / Security. Include only sections with entries. Delete empty sections.
@@ -142,6 +144,24 @@ git commit -m "<subject>"
142
144
  - Work commits (no version): `feat: hosted server endpoint`, `fix: handle empty SPARQL result sets`, `feat(linter): enrichment contract rules`, `docs: document the enrichment block`
143
145
  - Release commit (subject leads with the version): `chore(release): 0.2.1 — empty SPARQL result handling`
144
146
 
147
+ **Body: every commit has one, and it is one or two lines.** Uniform across the stack — no commit ships subject-only, none ships a paragraph. One sentence stating the *why* or the load-bearing constraint, a second only if the first genuinely cannot carry it. Two lines is the hard ceiling.
148
+
149
+ ```
150
+ fix: handle empty SPARQL result sets
151
+
152
+ Upstream returns 200 with an empty bindings array rather than 404.
153
+ ```
154
+
155
+ **Never put a closing keyword in a commit body.** `Fixes #N`, `Closes #N`, `Resolves #N` and friends close the issue the moment the commit is pushed — before the close-out comment recording what shipped, so the issue closes with no account of the fix. Reference issues as bare `(#N)` backlinks in the subject or body; closing is a deliberate later step.
156
+
157
+ A body is too long the moment it:
158
+ - enumerates the files, subsystems, or symbols touched — that is `git show --stat`
159
+ - walks through how the implementation works — that is the code
160
+ - narrates a fix's mechanism across multiple sentences — that is the changelog entry
161
+ - runs to a second paragraph, ever
162
+
163
+ The changelog carries the depth, the tag carries the headline, the commit carries one line of why. When the body wants to grow, that pressure is telling you the content belongs in the changelog entry.
164
+
145
165
  **Rules:**
146
166
  - Plain `-m` flag only — no heredoc, no command substitution
147
167
  - No `Co-authored-by` or `Generated with` trailers
@@ -218,6 +238,7 @@ If the working tree isn't clean or the tag doesn't point at HEAD, something went
218
238
  - [ ] `bun run devcheck` passes
219
239
  - [ ] `bun run test:all` (or `test`) passes
220
240
  - [ ] Work grouped into logical commits (large features split by layer); release artifacts (version + changelog + tree) committed separately on top, subject leading with the version
241
+ - [ ] Every commit carries a body, and every body is one or two lines — none subject-only, none a paragraph
221
242
  - [ ] Annotated tag `v<version>` with structured markdown message, final line linking this version's changelog file
222
243
  - [ ] Working tree clean
223
244
  - [ ] Nothing pushed — local only
@@ -1,8 +0,0 @@
1
- {"level":40,"time":1785693822104,"env":"testing","version":"0.11.1","pid":36606,"transport":"http","requestId":"HFRXU-4BH7I","timestamp":"2026-08-02T18:03:42.104Z","operation":"TransportManager.start","component":"HttpTransportSetup","msg":"MCP_ALLOWED_ORIGINS is not set — CORS is wildcard for CLI clients; browser Origin headers are restricted to loopback. Set MCP_ALLOWED_ORIGINS for production deployments accepting remote browser origins."}
2
- {"level":40,"time":1785693823928,"env":"testing","version":"0.11.1","pid":36606,"component":"HttpTransport","requestId":"5OFOA-HME3I","timestamp":"2026-08-02T18:03:43.928Z","operation":"HttpRpcRequest","sessionId":"not-a-real-session-1785693823927","msg":"Session validation failed - invalid or hijacked session"}
3
- {"level":50,"time":1785693826485,"env":"testing","version":"0.0.0-test","pid":36627,"requestId":"CADO7-L3PJZ","timestamp":"2026-08-02T18:03:46.485Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"ab280bd1fa662eedb59dd4ad976bc68ce2c055d82454d16a77158837e598a5a5","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"ab280bd1fa662eedb59dd4ad976bc68ce2c055d82454d16a77158837e598a5a5","toolName":"scoped_echo","requestId":"CADO7-L3PJZ","timestamp":"2026-08-02T18:03:46.485Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (file:///Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:54)\n at withRequiredScopes (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)"},"stack":"McpError: Insufficient permissions.\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
4
- {"level":50,"time":1785693826497,"env":"testing","version":"0.0.0-test","pid":36627,"requestId":"VYAG2-FLU7B","timestamp":"2026-08-02T18:03:46.497Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"c5b31d840c44642587c0979a57a7c12e3bcce4fd18f16912a3f7ce55ced0c850","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"c5b31d840c44642587c0979a57a7c12e3bcce4fd18f16912a3f7ce55ced0c850","toolName":"scoped_echo","requestId":"VYAG2-FLU7B","timestamp":"2026-08-02T18:03:46.497Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (file:///Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:54)\n at withRequiredScopes (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)"},"stack":"McpError: Insufficient permissions.\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
5
- {"level":40,"time":1785693839069,"env":"testing","version":"0.11.1","pid":36761,"transport":"http","requestId":"6LLX6-XECCU","timestamp":"2026-08-02T18:03:59.068Z","operation":"TransportManager.start","component":"HttpTransportSetup","msg":"MCP_ALLOWED_ORIGINS is not set — CORS is wildcard for CLI clients; browser Origin headers are restricted to loopback. Set MCP_ALLOWED_ORIGINS for production deployments accepting remote browser origins."}
6
- {"level":40,"time":1785693840805,"env":"testing","version":"0.11.1","pid":36761,"component":"HttpTransport","requestId":"2RZIN-4Q2EI","timestamp":"2026-08-02T18:04:00.805Z","operation":"HttpRpcRequest","sessionId":"not-a-real-session-1785693840805","msg":"Session validation failed - invalid or hijacked session"}
7
- {"level":50,"time":1785693843290,"env":"testing","version":"0.0.0-test","pid":36786,"requestId":"YPH96-FD95R","timestamp":"2026-08-02T18:04:03.289Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"8a2ffcfdf1e644a7e2130ed3b832d6f47b4f56d5dabf7fa0eb6b7a0a6f65387c","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"8a2ffcfdf1e644a7e2130ed3b832d6f47b4f56d5dabf7fa0eb6b7a0a6f65387c","toolName":"scoped_echo","requestId":"YPH96-FD95R","timestamp":"2026-08-02T18:04:03.289Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (/Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:58)\n at withRequiredScopes (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: Insufficient permissions.\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
8
- {"level":50,"time":1785693843300,"env":"testing","version":"0.0.0-test","pid":36786,"requestId":"TPS8Q-Y0DA9","timestamp":"2026-08-02T18:04:03.300Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"cac532ca1c52fe40248f43323d7b5f473bfb6d61722b4f0f7371d38b228fd200","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"cac532ca1c52fe40248f43323d7b5f473bfb6d61722b4f0f7371d38b228fd200","toolName":"scoped_echo","requestId":"TPS8Q-Y0DA9","timestamp":"2026-08-02T18:04:03.300Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (/Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:58)\n at withRequiredScopes (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: Insufficient permissions.\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
@@ -1,4 +0,0 @@
1
- {"level":50,"time":1785693826485,"env":"testing","version":"0.0.0-test","pid":36627,"requestId":"CADO7-L3PJZ","timestamp":"2026-08-02T18:03:46.485Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"ab280bd1fa662eedb59dd4ad976bc68ce2c055d82454d16a77158837e598a5a5","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"ab280bd1fa662eedb59dd4ad976bc68ce2c055d82454d16a77158837e598a5a5","toolName":"scoped_echo","requestId":"CADO7-L3PJZ","timestamp":"2026-08-02T18:03:46.485Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (file:///Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:54)\n at withRequiredScopes (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)"},"stack":"McpError: Insufficient permissions.\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
2
- {"level":50,"time":1785693826497,"env":"testing","version":"0.0.0-test","pid":36627,"requestId":"VYAG2-FLU7B","timestamp":"2026-08-02T18:03:46.497Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"c5b31d840c44642587c0979a57a7c12e3bcce4fd18f16912a3f7ce55ced0c850","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"c5b31d840c44642587c0979a57a7c12e3bcce4fd18f16912a3f7ce55ced0c850","toolName":"scoped_echo","requestId":"VYAG2-FLU7B","timestamp":"2026-08-02T18:03:46.497Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (file:///Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:54)\n at withRequiredScopes (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)"},"stack":"McpError: Insufficient permissions.\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26\n at McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:42)\n at file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43\n at async wrappedHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:32)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
3
- {"level":50,"time":1785693843290,"env":"testing","version":"0.0.0-test","pid":36786,"requestId":"YPH96-FD95R","timestamp":"2026-08-02T18:04:03.289Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"8a2ffcfdf1e644a7e2130ed3b832d6f47b4f56d5dabf7fa0eb6b7a0a6f65387c","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"8a2ffcfdf1e644a7e2130ed3b832d6f47b4f56d5dabf7fa0eb6b7a0a6f65387c","toolName":"scoped_echo","requestId":"YPH96-FD95R","timestamp":"2026-08-02T18:04:03.289Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (/Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:58)\n at withRequiredScopes (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: Insufficient permissions.\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
4
- {"level":50,"time":1785693843300,"env":"testing","version":"0.0.0-test","pid":36786,"requestId":"TPS8Q-Y0DA9","timestamp":"2026-08-02T18:04:03.300Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"cac532ca1c52fe40248f43323d7b5f473bfb6d61722b4f0f7371d38b228fd200","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"cac532ca1c52fe40248f43323d7b5f473bfb6d61722b4f0f7371d38b228fd200","toolName":"scoped_echo","requestId":"TPS8Q-Y0DA9","timestamp":"2026-08-02T18:04:03.300Z","tenantId":"authz-tenant","operation":"HandleToolRequest","auth":{"sub":"authz-user","scopes":["openid","email","profile","offline_access"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"originalErrorName":"McpError","originalMessage":"Insufficient permissions.","originalStack":"McpError: Insufficient permissions.\n at forbidden (/Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:84:58)\n at withRequiredScopes (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/auth/lib/authUtils.js:68:15)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:287:17)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: Insufficient permissions.\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:170:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:336:26)\n at executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:231:34)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:scoped_echo: Insufficient permissions."}
File without changes