@cyanheads/mcp-ts-core 0.11.3 → 0.11.5

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 (73) hide show
  1. package/AGENTS.md +2 -2
  2. package/CLAUDE.md +2 -2
  3. package/README.md +1 -1
  4. package/changelog/0.11.x/0.11.4.md +67 -0
  5. package/changelog/0.11.x/0.11.5.md +28 -0
  6. package/changelog/template.md +55 -16
  7. package/dist/linter/rules/enrichment-rules.d.ts +3 -2
  8. package/dist/linter/rules/enrichment-rules.d.ts.map +1 -1
  9. package/dist/linter/rules/enrichment-rules.js +35 -7
  10. package/dist/linter/rules/enrichment-rules.js.map +1 -1
  11. package/dist/linter/rules/format-parity-rules.d.ts +8 -4
  12. package/dist/linter/rules/format-parity-rules.d.ts.map +1 -1
  13. package/dist/linter/rules/format-parity-rules.js +72 -20
  14. package/dist/linter/rules/format-parity-rules.js.map +1 -1
  15. package/dist/linter/rules/index.d.ts +1 -1
  16. package/dist/linter/rules/index.d.ts.map +1 -1
  17. package/dist/linter/rules/index.js +1 -1
  18. package/dist/linter/rules/index.js.map +1 -1
  19. package/dist/linter/rules/prompt-rules.d.ts.map +1 -1
  20. package/dist/linter/rules/prompt-rules.js +6 -3
  21. package/dist/linter/rules/prompt-rules.js.map +1 -1
  22. package/dist/linter/rules/resource-rules.d.ts.map +1 -1
  23. package/dist/linter/rules/resource-rules.js +11 -5
  24. package/dist/linter/rules/resource-rules.js.map +1 -1
  25. package/dist/linter/rules/schema-rules.d.ts +21 -2
  26. package/dist/linter/rules/schema-rules.d.ts.map +1 -1
  27. package/dist/linter/rules/schema-rules.js +110 -2
  28. package/dist/linter/rules/schema-rules.js.map +1 -1
  29. package/dist/linter/rules/tool-rules.d.ts.map +1 -1
  30. package/dist/linter/rules/tool-rules.js +11 -5
  31. package/dist/linter/rules/tool-rules.js.map +1 -1
  32. package/dist/logs/combined.log +22 -16
  33. package/dist/logs/error.log +18 -12
  34. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  35. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +44 -10
  36. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  37. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
  38. package/dist/mcp-server/transports/http/httpTransport.js +67 -4
  39. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
  40. package/dist/mcp-server/transports/http/sessionStore.d.ts +25 -2
  41. package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -1
  42. package/dist/mcp-server/transports/http/sessionStore.js +58 -4
  43. package/dist/mcp-server/transports/http/sessionStore.js.map +1 -1
  44. package/dist/testing/fuzz.d.ts.map +1 -1
  45. package/dist/testing/fuzz.js +57 -2
  46. package/dist/testing/fuzz.js.map +1 -1
  47. package/dist/utils/overflow/outlineOnOverflow.d.ts +4 -3
  48. package/dist/utils/overflow/outlineOnOverflow.d.ts.map +1 -1
  49. package/dist/utils/overflow/outlineOnOverflow.js +27 -8
  50. package/dist/utils/overflow/outlineOnOverflow.js.map +1 -1
  51. package/package.json +1 -1
  52. package/scripts/tree.ts +9 -3
  53. package/skills/api-canvas/SKILL.md +2 -2
  54. package/skills/api-context/SKILL.md +2 -1
  55. package/skills/api-linter/SKILL.md +59 -5
  56. package/skills/api-testing/SKILL.md +3 -1
  57. package/skills/design-mcp-server/SKILL.md +4 -2
  58. package/skills/git-wrapup/SKILL.md +3 -3
  59. package/skills/setup/SKILL.md +6 -3
  60. package/skills/techniques/SKILL.md +1 -1
  61. package/skills/techniques/references/outline-on-overflow.md +3 -1
  62. package/templates/.github/CODE_OF_CONDUCT.md +28 -0
  63. package/templates/.github/CONTRIBUTING.md +50 -0
  64. package/templates/.github/SECURITY.md +24 -0
  65. package/templates/Dockerfile +7 -2
  66. package/templates/_tsconfig.build.json +5 -0
  67. package/templates/_tsconfig.json +4 -2
  68. package/templates/changelog/template.md +55 -16
  69. package/templates/package.json +1 -0
  70. package/templates/tests/prompts/echo.prompt.test.ts +4 -3
  71. package/templates/tests/resources/echo.resource.test.ts +11 -3
  72. package/templates/tests/smoke/definitions.smoke.test.ts +8 -4
  73. package/templates/tests/tools/echo.tool.test.ts +23 -4
@@ -1,16 +1,22 @@
1
- {"level":50,"time":1786355643970,"env":"testing","version":"0.0.0-test","pid":20757,"requestId":"0796ac6f-2b10-450f-a3aa-afc9e5afd9e9","timestamp":"2026-08-10T09:54:03.969Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"9c7cdae492bcb0a7b734086564df62e7","toolName":"auto_echo","errorData":{"taskId":"9c7cdae492bcb0a7b734086564df62e7","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: stdio-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
2
- {"level":50,"time":1786355651067,"env":"testing","version":"0.0.0-test","pid":20757,"requestId":"85a7c8d1-5db8-40dc-9582-27d611c2610c","timestamp":"2026-08-10T09:54:11.067Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"bdba0c04c6273baac152a8d399aec106","toolName":"long_control","errorData":{"taskId":"bdba0c04c6273baac152a8d399aec106","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
3
- {"level":50,"time":1786355652529,"env":"testing","version":"0.0.0-test","pid":20811,"requestId":"21944399-9c90-4496-aad0-4d5550fc1f23","timestamp":"2026-08-10T09:54:12.529Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"ab518e67680b0878cdb570552cfd9d16","toolName":"auto_echo","errorData":{"taskId":"ab518e67680b0878cdb570552cfd9d16","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: http-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
4
- {"level":50,"time":1786355659662,"env":"testing","version":"0.0.0-test","pid":20811,"requestId":"9d83cfe0-a1a3-4c19-a328-bb6647b73e6a","timestamp":"2026-08-10T09:54:19.662Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"0a7324de339d3bbca3a9e1a596fcd7b8","toolName":"long_control","errorData":{"taskId":"0a7324de339d3bbca3a9e1a596fcd7b8","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
5
- {"level":40,"time":1786355660098,"env":"testing","version":"0.11.3","pid":20858,"transport":"http","requestId":"Q706M-MJD1O","timestamp":"2026-08-10T09:54:20.097Z","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":1786355662006,"env":"testing","version":"0.11.3","pid":20858,"component":"HttpTransport","requestId":"7FM6Z-PHMPW","timestamp":"2026-08-10T09:54:22.006Z","operation":"HttpRpcRequest","sessionId":"not-a-real-session-1786355662005","msg":"Session validation failed - invalid or hijacked session"}
7
- {"level":50,"time":1786355665294,"env":"testing","version":"0.0.0-test","pid":20880,"requestId":"O6XB9-51I99","timestamp":"2026-08-10T09:54:25.294Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"04f241b4702cef081f7df131653e982037492a8192bcf202fb894d8960a9f0d7","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"04f241b4702cef081f7df131653e982037492a8192bcf202fb894d8960a9f0d7","toolName":"scoped_echo","requestId":"O6XB9-51I99","timestamp":"2026-08-10T09:54:25.294Z","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:251: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:300: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."}
8
- {"level":50,"time":1786355665304,"env":"testing","version":"0.0.0-test","pid":20880,"requestId":"HNUEZ-SA801","timestamp":"2026-08-10T09:54:25.304Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"73e723222f122e782a537b6aea6696fb732c0a85bd6b2201073d04a2e429c69f","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":"73e723222f122e782a537b6aea6696fb732c0a85bd6b2201073d04a2e429c69f","toolName":"scoped_echo","requestId":"HNUEZ-SA801","timestamp":"2026-08-10T09:54:25.304Z","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:251: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:300: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."}
9
- {"level":50,"time":1786355677942,"env":"testing","version":"0.0.0-test","pid":20968,"requestId":"a7b18215-0a17-4115-8166-7c2ac279ed28","timestamp":"2026-08-10T09:54:37.941Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"4c50acaaa49431b65435209ca290b383","toolName":"auto_echo","errorData":{"taskId":"4c50acaaa49431b65435209ca290b383","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: stdio-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
10
- {"level":50,"time":1786355685002,"env":"testing","version":"0.0.0-test","pid":20968,"requestId":"bff21d5d-7abe-4f04-9fd6-f562f82807fa","timestamp":"2026-08-10T09:54:45.002Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"d88ffd467dc756996dcbaba74238a229","toolName":"long_control","errorData":{"taskId":"d88ffd467dc756996dcbaba74238a229","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
11
- {"level":50,"time":1786355686315,"env":"testing","version":"0.0.0-test","pid":21009,"requestId":"f73e3fe3-ca14-40cf-abfa-e60923ec955b","timestamp":"2026-08-10T09:54:46.315Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"d5def97d802d98a7239ab34a402af92a","toolName":"auto_echo","errorData":{"taskId":"d5def97d802d98a7239ab34a402af92a","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: http-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
12
- {"level":50,"time":1786355693444,"env":"testing","version":"0.0.0-test","pid":21009,"requestId":"69c06f06-7927-4ed8-a558-bff91280b178","timestamp":"2026-08-10T09:54:53.444Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"4672f29ed8a4edf42fdd4c1bc19fd3c6","toolName":"long_control","errorData":{"taskId":"4672f29ed8a4edf42fdd4c1bc19fd3c6","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
13
- {"level":40,"time":1786355693769,"env":"testing","version":"0.11.3","pid":21047,"transport":"http","requestId":"GZDRM-Q35FL","timestamp":"2026-08-10T09:54:53.769Z","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."}
14
- {"level":40,"time":1786355695537,"env":"testing","version":"0.11.3","pid":21047,"component":"HttpTransport","requestId":"11T81-2IUQG","timestamp":"2026-08-10T09:54:55.537Z","operation":"HttpRpcRequest","sessionId":"not-a-real-session-1786355695537","msg":"Session validation failed - invalid or hijacked session"}
15
- {"level":50,"time":1786355697700,"env":"testing","version":"0.0.0-test","pid":21065,"requestId":"4K2O5-X8M89","timestamp":"2026-08-10T09:54:57.699Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"e338a3d5256ad5ec93414fce2ab657430880898daaf9f98795e70b53baf915bf","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"e338a3d5256ad5ec93414fce2ab657430880898daaf9f98795e70b53baf915bf","toolName":"scoped_echo","requestId":"4K2O5-X8M89","timestamp":"2026-08-10T09:54:57.699Z","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:251: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:300: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."}
16
- {"level":50,"time":1786355697708,"env":"testing","version":"0.0.0-test","pid":21065,"requestId":"J2QI1-0UOBS","timestamp":"2026-08-10T09:54:57.707Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"e0694439661bc7f37c76daf80bce90484e77b196ad0ad6c42bd5ba1319f0774a","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":"e0694439661bc7f37c76daf80bce90484e77b196ad0ad6c42bd5ba1319f0774a","toolName":"scoped_echo","requestId":"J2QI1-0UOBS","timestamp":"2026-08-10T09:54:57.707Z","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:251: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:300: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
+ {"level":50,"time":1786587207192,"env":"testing","version":"0.0.0-test","pid":55811,"requestId":"f2329fff-5675-4e20-960b-3b89dc4de0cd","timestamp":"2026-08-13T02:13:27.191Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"ac8ab5b7edb731c9268df12778d666f1","toolName":"auto_echo","errorData":{"taskId":"ac8ab5b7edb731c9268df12778d666f1","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: stdio-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
2
+ {"level":50,"time":1786587214226,"env":"testing","version":"0.0.0-test","pid":55811,"requestId":"34d06d74-cbc7-4bf9-8697-a1c1efa30498","timestamp":"2026-08-13T02:13:34.225Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"97339f846d164bf6b822c6f3ab7879d1","toolName":"long_control","errorData":{"taskId":"97339f846d164bf6b822c6f3ab7879d1","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
3
+ {"level":50,"time":1786587215689,"env":"testing","version":"0.0.0-test","pid":55851,"requestId":"f8a9296e-ecad-4d89-ae36-03d8bb7146ad","timestamp":"2026-08-13T02:13:35.689Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"7e268ea849fb4c9ee67c0e840eb95eb0","toolName":"auto_echo","errorData":{"taskId":"7e268ea849fb4c9ee67c0e840eb95eb0","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: http-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
4
+ {"level":50,"time":1786587222871,"env":"testing","version":"0.0.0-test","pid":55851,"requestId":"fffc253c-74ab-4fd3-a5dd-c14886196ac9","timestamp":"2026-08-13T02:13:42.871Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"49568958ba8bf82f6caa9b5f23878b74","toolName":"long_control","errorData":{"taskId":"49568958ba8bf82f6caa9b5f23878b74","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
5
+ {"level":40,"time":1786587223309,"env":"testing","version":"0.11.5","pid":55897,"transport":"http","requestId":"266NX-DRMYK","timestamp":"2026-08-13T02:13:43.308Z","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":1786587225201,"env":"testing","version":"0.11.5","pid":55897,"component":"HttpTransport","requestId":"B4121-8CUXS","timestamp":"2026-08-13T02:13:45.201Z","operation":"HttpRpcRequest","sessionId":"not-a-real-session-1786587225200","msg":"Session validation failed - invalid or hijacked session"}
7
+ {"level":50,"time":1786587228488,"env":"testing","version":"0.0.0-test","pid":55927,"requestId":"V7FDF-DP0S4","timestamp":"2026-08-13T02:13:48.487Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"164b0f5396d7e66484798e20df0a0aa4f90881c3349d8de0b6789f8f88d6b843","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"164b0f5396d7e66484798e20df0a0aa4f90881c3349d8de0b6789f8f88d6b843","toolName":"scoped_echo","requestId":"V7FDF-DP0S4","timestamp":"2026-08-13T02:13:48.487Z","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:285: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:334: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."}
8
+ {"level":50,"time":1786587228499,"env":"testing","version":"0.0.0-test","pid":55927,"requestId":"0PT9F-IS96K","timestamp":"2026-08-13T02:13:48.499Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"da1df465acb6d1da47f6afb0929d334fb251d35318426f1752254efb488e61d6","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":"da1df465acb6d1da47f6afb0929d334fb251d35318426f1752254efb488e61d6","toolName":"scoped_echo","requestId":"0PT9F-IS96K","timestamp":"2026-08-13T02:13:48.499Z","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:285: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:334: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."}
9
+ {"level":50,"time":1786587230922,"env":"testing","version":"0.0.0-test","pid":55943,"requestId":"5X7AN-6XKAS","timestamp":"2026-08-13T02:13:50.918Z","operation":"HandleToolRequest","critical":false,"errorCode":-32602,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"1e6b675822dbe8b61a4020e2582bc88c5937b1e1afd9003e8d2145d6c92ca457","toolName":"session_elicitation_probe","errorData":{"reason":"elicitation_response_invalid","issues":[{"path":"value","code":"invalid_type"}],"sessionId":"1e6b675822dbe8b61a4020e2582bc88c5937b1e1afd9003e8d2145d6c92ca457","toolName":"session_elicitation_probe","requestId":"5X7AN-6XKAS","timestamp":"2026-08-13T02:13:50.918Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"Elicitation response content does not match the requested schema.","originalStack":"McpError: Elicitation response content does not match the requested schema.\n at invalidParams (file:///Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:78:58)\n at assertElicitedContent (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:26:11)\n at Object.formFn [as elicit] (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:69:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/http-protocol-session-server.js:50:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:212:28\n at async measureToolExecution (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:194:12)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:306:28\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32"},"stack":"McpError: Elicitation response content does not match the requested schema.\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:334:26\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32\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:session_elicitation_probe: Elicitation response content does not match the requested schema."}
10
+ {"level":50,"time":1786587230935,"env":"testing","version":"0.0.0-test","pid":55943,"requestId":"0J4GZ-52X01","timestamp":"2026-08-13T02:13:50.931Z","operation":"HandleToolRequest","critical":false,"errorCode":-32603,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"06ba48d957a5497eebd1bcdc46f35f99c8c46e65439e3035231c2717e2f15e3f","toolName":"session_elicitation_probe","errorData":{"sessionId":"06ba48d957a5497eebd1bcdc46f35f99c8c46e65439e3035231c2717e2f15e3f","toolName":"session_elicitation_probe","requestId":"0J4GZ-52X01","timestamp":"2026-08-13T02:13:50.931Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"MCP error -32602: Client refused the elicitation request.","originalStack":"McpError: MCP error -32602: Client refused the elicitation request.\n at McpError.fromError (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js:2048:16)\n at Server._onresponse (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:490:36)\n at _transport.onmessage (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:234:22)\n at Object.deliver (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:55:29)\n at SessionStore.routeServerResponse (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/sessionStore.js:208:15)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:626:38\n at Array.filter (<anonymous>)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:623:39\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)"},"stack":"McpError: MCP error -32602: Client refused the elicitation request.\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32\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:session_elicitation_probe: MCP error -32602: Client refused the elicitation request."}
11
+ {"level":50,"time":1786587231021,"env":"testing","version":"0.0.0-test","pid":55943,"requestId":"IKG5Z-ZRC90","timestamp":"2026-08-13T02:13:51.017Z","operation":"HandleToolRequest","critical":false,"errorCode":-32004,"originalErrorType":"AbortError","finalErrorType":"McpError","sessionId":"9cfa68fd06bea3003fbcdae970efafd4b54ea5b49bc2bfe9a888099e37741295","toolName":"session_cancellable_tool","errorData":{"sessionId":"9cfa68fd06bea3003fbcdae970efafd4b54ea5b49bc2bfe9a888099e37741295","toolName":"session_cancellable_tool","requestId":"IKG5Z-ZRC90","timestamp":"2026-08-13T02:13:51.017Z","operation":"HandleToolRequest","originalErrorName":"AbortError","originalMessage":"AbortError: cancel tool request","originalStack":"AbortError: AbortError: cancel tool request\n at new DOMException (node:internal/per_context/domexception:79:18)\n at SessionStore.cancelRequest (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/sessionStore.js:166:29)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:644:30\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:358:20\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:312:16\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)\n at async cors2 (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/middleware/cors/index.js:76:5)"},"stack":"McpError: AbortError: cancel tool request\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32\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:session_cancellable_tool: AbortError: cancel tool request"}
12
+ {"level":50,"time":1786587241316,"env":"testing","version":"0.0.0-test","pid":56023,"requestId":"61be143c-7657-453e-9110-30352866c484","timestamp":"2026-08-13T02:14:01.316Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"ee8662227fa5467d4a1a989958fdfc01","toolName":"auto_echo","errorData":{"taskId":"ee8662227fa5467d4a1a989958fdfc01","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: stdio-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
13
+ {"level":50,"time":1786587248382,"env":"testing","version":"0.0.0-test","pid":56023,"requestId":"3dfac909-5392-47a9-88e8-60d1aac7998d","timestamp":"2026-08-13T02:14:08.381Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"3ee3f4f482e0a099831113580b27ae78","toolName":"long_control","errorData":{"taskId":"3ee3f4f482e0a099831113580b27ae78","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
14
+ {"level":50,"time":1786587249679,"env":"testing","version":"0.0.0-test","pid":56062,"requestId":"30fc1d93-3755-4a5b-8c10-7950ed90a37e","timestamp":"2026-08-13T02:14:09.678Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"bdbb37189f0f574e0ba253b84fe59eb3","toolName":"auto_echo","errorData":{"taskId":"bdbb37189f0f574e0ba253b84fe59eb3","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: http-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
15
+ {"level":50,"time":1786587256826,"env":"testing","version":"0.0.0-test","pid":56062,"requestId":"d6aebeb6-8df3-41da-9c88-8245392951f5","timestamp":"2026-08-13T02:14:16.825Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"1dc5de9df5f2813bc528625ebcb26f02","toolName":"long_control","errorData":{"taskId":"1dc5de9df5f2813bc528625ebcb26f02","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
16
+ {"level":40,"time":1786587257067,"env":"testing","version":"0.11.5","pid":56106,"transport":"http","requestId":"R4G2X-O8783","timestamp":"2026-08-13T02:14:17.067Z","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."}
17
+ {"level":40,"time":1786587258863,"env":"testing","version":"0.11.5","pid":56106,"component":"HttpTransport","requestId":"IN1UL-B7JW5","timestamp":"2026-08-13T02:14:18.863Z","operation":"HttpRpcRequest","sessionId":"not-a-real-session-1786587258862","msg":"Session validation failed - invalid or hijacked session"}
18
+ {"level":50,"time":1786587260986,"env":"testing","version":"0.0.0-test","pid":56135,"requestId":"1O3E3-DP8AC","timestamp":"2026-08-13T02:14:20.986Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"0a72407c6557c4b3a331a8213ac870a88349344596bf8981a51db854f105e588","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"0a72407c6557c4b3a331a8213ac870a88349344596bf8981a51db854f105e588","toolName":"scoped_echo","requestId":"1O3E3-DP8AC","timestamp":"2026-08-13T02:14:20.986Z","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:285: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:334: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."}
19
+ {"level":50,"time":1786587260994,"env":"testing","version":"0.0.0-test","pid":56135,"requestId":"CBMKP-O20TK","timestamp":"2026-08-13T02:14:20.994Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"9b0f4cf27f3fc78bc5d7e088047c8fc5204c88edcb5b4d9f03380a5e2684e9ca","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":"9b0f4cf27f3fc78bc5d7e088047c8fc5204c88edcb5b4d9f03380a5e2684e9ca","toolName":"scoped_echo","requestId":"CBMKP-O20TK","timestamp":"2026-08-13T02:14:20.994Z","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:285: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:334: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."}
20
+ {"level":50,"time":1786587262572,"env":"testing","version":"0.0.0-test","pid":56148,"requestId":"RXKXK-ZNGJF","timestamp":"2026-08-13T02:14:22.569Z","operation":"HandleToolRequest","critical":false,"errorCode":-32602,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"6d95cfc46799cee8ec354ea235bbc0047af16776fd1d30ebd05272161da3b9ff","toolName":"session_elicitation_probe","errorData":{"reason":"elicitation_response_invalid","issues":[{"path":"value","code":"invalid_type"}],"sessionId":"6d95cfc46799cee8ec354ea235bbc0047af16776fd1d30ebd05272161da3b9ff","toolName":"session_elicitation_probe","requestId":"RXKXK-ZNGJF","timestamp":"2026-08-13T02:14:22.569Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"Elicitation response content does not match the requested schema.","originalStack":"McpError: Elicitation response content does not match the requested schema.\n at invalidParams (/Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:78:62)\n at assertElicitedContent (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:26:11)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:69:13)\n at async handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/http-protocol-session-server.js:50:30)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:212:34)\n at async measureToolExecution (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:194:25)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:306:34)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)"},"stack":"McpError: Elicitation response content does not match the requested schema.\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:334:26)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:session_elicitation_probe: Elicitation response content does not match the requested schema."}
21
+ {"level":50,"time":1786587262580,"env":"testing","version":"0.0.0-test","pid":56148,"requestId":"X47C9-0LGGG","timestamp":"2026-08-13T02:14:22.578Z","operation":"HandleToolRequest","critical":false,"errorCode":-32603,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"f50b3cf6fc2f019ba54811c9b2aa89309eec20d4c11220d01ef05a4e5edad963","toolName":"session_elicitation_probe","errorData":{"sessionId":"f50b3cf6fc2f019ba54811c9b2aa89309eec20d4c11220d01ef05a4e5edad963","toolName":"session_elicitation_probe","requestId":"X47C9-0LGGG","timestamp":"2026-08-13T02:14:22.578Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"MCP error -32602: Client refused the elicitation request.","originalStack":"McpError: MCP error -32602: Client refused the elicitation request.\n at fromError (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js:2048:20)\n at _onresponse (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:490:36)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:234:22)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:55:18)\n at routeServerResponse (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/sessionStore.js:208:15)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:626:38)\n at filter (native:1:11)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:623:39)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:358:26)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:312:22)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async cors2 (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/middleware/cors/index.js:76:11)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/hono-base.js:307:31)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: MCP error -32602: Client refused the elicitation request.\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:session_elicitation_probe: MCP error -32602: Client refused the elicitation request."}
22
+ {"level":50,"time":1786587262653,"env":"testing","version":"0.0.0-test","pid":56148,"requestId":"5KYGH-LMTHY","timestamp":"2026-08-13T02:14:22.651Z","operation":"HandleToolRequest","critical":false,"errorCode":-32004,"originalErrorType":"AbortError","finalErrorType":"McpError","sessionId":"3d74267a99633ef41a291060a6a52f06aa50143237ad9d1dc58aab9f50d0ae34","toolName":"session_cancellable_tool","errorData":{"sessionId":"3d74267a99633ef41a291060a6a52f06aa50143237ad9d1dc58aab9f50d0ae34","toolName":"session_cancellable_tool","requestId":"5KYGH-LMTHY","timestamp":"2026-08-13T02:14:22.651Z","operation":"HandleToolRequest","originalErrorName":"AbortError","originalMessage":"AbortError: cancel tool request"},"stack":"McpError: AbortError: cancel tool request\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:session_cancellable_tool: AbortError: cancel tool request"}
@@ -1,12 +1,18 @@
1
- {"level":50,"time":1786355643970,"env":"testing","version":"0.0.0-test","pid":20757,"requestId":"0796ac6f-2b10-450f-a3aa-afc9e5afd9e9","timestamp":"2026-08-10T09:54:03.969Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"9c7cdae492bcb0a7b734086564df62e7","toolName":"auto_echo","errorData":{"taskId":"9c7cdae492bcb0a7b734086564df62e7","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: stdio-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
2
- {"level":50,"time":1786355651067,"env":"testing","version":"0.0.0-test","pid":20757,"requestId":"85a7c8d1-5db8-40dc-9582-27d611c2610c","timestamp":"2026-08-10T09:54:11.067Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"bdba0c04c6273baac152a8d399aec106","toolName":"long_control","errorData":{"taskId":"bdba0c04c6273baac152a8d399aec106","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
3
- {"level":50,"time":1786355652529,"env":"testing","version":"0.0.0-test","pid":20811,"requestId":"21944399-9c90-4496-aad0-4d5550fc1f23","timestamp":"2026-08-10T09:54:12.529Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"ab518e67680b0878cdb570552cfd9d16","toolName":"auto_echo","errorData":{"taskId":"ab518e67680b0878cdb570552cfd9d16","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: http-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
4
- {"level":50,"time":1786355659662,"env":"testing","version":"0.0.0-test","pid":20811,"requestId":"9d83cfe0-a1a3-4c19-a328-bb6647b73e6a","timestamp":"2026-08-10T09:54:19.662Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"0a7324de339d3bbca3a9e1a596fcd7b8","toolName":"long_control","errorData":{"taskId":"0a7324de339d3bbca3a9e1a596fcd7b8","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
5
- {"level":50,"time":1786355665294,"env":"testing","version":"0.0.0-test","pid":20880,"requestId":"O6XB9-51I99","timestamp":"2026-08-10T09:54:25.294Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"04f241b4702cef081f7df131653e982037492a8192bcf202fb894d8960a9f0d7","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"04f241b4702cef081f7df131653e982037492a8192bcf202fb894d8960a9f0d7","toolName":"scoped_echo","requestId":"O6XB9-51I99","timestamp":"2026-08-10T09:54:25.294Z","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:251: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:300: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."}
6
- {"level":50,"time":1786355665304,"env":"testing","version":"0.0.0-test","pid":20880,"requestId":"HNUEZ-SA801","timestamp":"2026-08-10T09:54:25.304Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"73e723222f122e782a537b6aea6696fb732c0a85bd6b2201073d04a2e429c69f","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":"73e723222f122e782a537b6aea6696fb732c0a85bd6b2201073d04a2e429c69f","toolName":"scoped_echo","requestId":"HNUEZ-SA801","timestamp":"2026-08-10T09:54:25.304Z","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:251: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:300: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."}
7
- {"level":50,"time":1786355677942,"env":"testing","version":"0.0.0-test","pid":20968,"requestId":"a7b18215-0a17-4115-8166-7c2ac279ed28","timestamp":"2026-08-10T09:54:37.941Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"4c50acaaa49431b65435209ca290b383","toolName":"auto_echo","errorData":{"taskId":"4c50acaaa49431b65435209ca290b383","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: stdio-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
8
- {"level":50,"time":1786355685002,"env":"testing","version":"0.0.0-test","pid":20968,"requestId":"bff21d5d-7abe-4f04-9fd6-f562f82807fa","timestamp":"2026-08-10T09:54:45.002Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"d88ffd467dc756996dcbaba74238a229","toolName":"long_control","errorData":{"taskId":"d88ffd467dc756996dcbaba74238a229","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
9
- {"level":50,"time":1786355686315,"env":"testing","version":"0.0.0-test","pid":21009,"requestId":"f73e3fe3-ca14-40cf-abfa-e60923ec955b","timestamp":"2026-08-10T09:54:46.315Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"d5def97d802d98a7239ab34a402af92a","toolName":"auto_echo","errorData":{"taskId":"d5def97d802d98a7239ab34a402af92a","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: http-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
10
- {"level":50,"time":1786355693444,"env":"testing","version":"0.0.0-test","pid":21009,"requestId":"69c06f06-7927-4ed8-a558-bff91280b178","timestamp":"2026-08-10T09:54:53.444Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"4672f29ed8a4edf42fdd4c1bc19fd3c6","toolName":"long_control","errorData":{"taskId":"4672f29ed8a4edf42fdd4c1bc19fd3c6","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
11
- {"level":50,"time":1786355697700,"env":"testing","version":"0.0.0-test","pid":21065,"requestId":"4K2O5-X8M89","timestamp":"2026-08-10T09:54:57.699Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"e338a3d5256ad5ec93414fce2ab657430880898daaf9f98795e70b53baf915bf","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"e338a3d5256ad5ec93414fce2ab657430880898daaf9f98795e70b53baf915bf","toolName":"scoped_echo","requestId":"4K2O5-X8M89","timestamp":"2026-08-10T09:54:57.699Z","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:251: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:300: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."}
12
- {"level":50,"time":1786355697708,"env":"testing","version":"0.0.0-test","pid":21065,"requestId":"J2QI1-0UOBS","timestamp":"2026-08-10T09:54:57.707Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"e0694439661bc7f37c76daf80bce90484e77b196ad0ad6c42bd5ba1319f0774a","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":"e0694439661bc7f37c76daf80bce90484e77b196ad0ad6c42bd5ba1319f0774a","toolName":"scoped_echo","requestId":"J2QI1-0UOBS","timestamp":"2026-08-10T09:54:57.707Z","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:251: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:300: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
+ {"level":50,"time":1786587207192,"env":"testing","version":"0.0.0-test","pid":55811,"requestId":"f2329fff-5675-4e20-960b-3b89dc4de0cd","timestamp":"2026-08-13T02:13:27.191Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"ac8ab5b7edb731c9268df12778d666f1","toolName":"auto_echo","errorData":{"taskId":"ac8ab5b7edb731c9268df12778d666f1","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: stdio-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
2
+ {"level":50,"time":1786587214226,"env":"testing","version":"0.0.0-test","pid":55811,"requestId":"34d06d74-cbc7-4bf9-8697-a1c1efa30498","timestamp":"2026-08-13T02:13:34.225Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"97339f846d164bf6b822c6f3ab7879d1","toolName":"long_control","errorData":{"taskId":"97339f846d164bf6b822c6f3ab7879d1","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
3
+ {"level":50,"time":1786587215689,"env":"testing","version":"0.0.0-test","pid":55851,"requestId":"f8a9296e-ecad-4d89-ae36-03d8bb7146ad","timestamp":"2026-08-13T02:13:35.689Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"7e268ea849fb4c9ee67c0e840eb95eb0","toolName":"auto_echo","errorData":{"taskId":"7e268ea849fb4c9ee67c0e840eb95eb0","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:28)"},"stack":"McpError: intentional task failure: http-failure\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
4
+ {"level":50,"time":1786587222871,"env":"testing","version":"0.0.0-test","pid":55851,"requestId":"fffc253c-74ab-4fd3-a5dd-c14886196ac9","timestamp":"2026-08-13T02:13:42.871Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"49568958ba8bf82f6caa9b5f23878b74","toolName":"long_control","errorData":{"taskId":"49568958ba8bf82f6caa9b5f23878b74","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at ToolRegistry.runAutoTaskHandler (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
5
+ {"level":50,"time":1786587228488,"env":"testing","version":"0.0.0-test","pid":55927,"requestId":"V7FDF-DP0S4","timestamp":"2026-08-13T02:13:48.487Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"164b0f5396d7e66484798e20df0a0aa4f90881c3349d8de0b6789f8f88d6b843","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"164b0f5396d7e66484798e20df0a0aa4f90881c3349d8de0b6789f8f88d6b843","toolName":"scoped_echo","requestId":"V7FDF-DP0S4","timestamp":"2026-08-13T02:13:48.487Z","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:285: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:334: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."}
6
+ {"level":50,"time":1786587228499,"env":"testing","version":"0.0.0-test","pid":55927,"requestId":"0PT9F-IS96K","timestamp":"2026-08-13T02:13:48.499Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"da1df465acb6d1da47f6afb0929d334fb251d35318426f1752254efb488e61d6","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":"da1df465acb6d1da47f6afb0929d334fb251d35318426f1752254efb488e61d6","toolName":"scoped_echo","requestId":"0PT9F-IS96K","timestamp":"2026-08-13T02:13:48.499Z","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:285: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:334: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."}
7
+ {"level":50,"time":1786587230922,"env":"testing","version":"0.0.0-test","pid":55943,"requestId":"5X7AN-6XKAS","timestamp":"2026-08-13T02:13:50.918Z","operation":"HandleToolRequest","critical":false,"errorCode":-32602,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"1e6b675822dbe8b61a4020e2582bc88c5937b1e1afd9003e8d2145d6c92ca457","toolName":"session_elicitation_probe","errorData":{"reason":"elicitation_response_invalid","issues":[{"path":"value","code":"invalid_type"}],"sessionId":"1e6b675822dbe8b61a4020e2582bc88c5937b1e1afd9003e8d2145d6c92ca457","toolName":"session_elicitation_probe","requestId":"5X7AN-6XKAS","timestamp":"2026-08-13T02:13:50.918Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"Elicitation response content does not match the requested schema.","originalStack":"McpError: Elicitation response content does not match the requested schema.\n at invalidParams (file:///Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:78:58)\n at assertElicitedContent (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:26:11)\n at Object.formFn [as elicit] (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:69:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async Object.handler (file:///Users/casey/Developer/github/mcp-ts-core/tests/fixtures/http-protocol-session-server.js:50:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:212:28\n at async measureToolExecution (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:194:12)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:306:28\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32"},"stack":"McpError: Elicitation response content does not match the requested schema.\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:334:26\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32\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:session_elicitation_probe: Elicitation response content does not match the requested schema."}
8
+ {"level":50,"time":1786587230935,"env":"testing","version":"0.0.0-test","pid":55943,"requestId":"0J4GZ-52X01","timestamp":"2026-08-13T02:13:50.931Z","operation":"HandleToolRequest","critical":false,"errorCode":-32603,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"06ba48d957a5497eebd1bcdc46f35f99c8c46e65439e3035231c2717e2f15e3f","toolName":"session_elicitation_probe","errorData":{"sessionId":"06ba48d957a5497eebd1bcdc46f35f99c8c46e65439e3035231c2717e2f15e3f","toolName":"session_elicitation_probe","requestId":"0J4GZ-52X01","timestamp":"2026-08-13T02:13:50.931Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"MCP error -32602: Client refused the elicitation request.","originalStack":"McpError: MCP error -32602: Client refused the elicitation request.\n at McpError.fromError (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js:2048:16)\n at Server._onresponse (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:490:36)\n at _transport.onmessage (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:234:22)\n at Object.deliver (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:55:29)\n at SessionStore.routeServerResponse (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/sessionStore.js:208:15)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:626:38\n at Array.filter (<anonymous>)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:623:39\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)"},"stack":"McpError: MCP error -32602: Client refused the elicitation request.\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32\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:session_elicitation_probe: MCP error -32602: Client refused the elicitation request."}
9
+ {"level":50,"time":1786587231021,"env":"testing","version":"0.0.0-test","pid":55943,"requestId":"IKG5Z-ZRC90","timestamp":"2026-08-13T02:13:51.017Z","operation":"HandleToolRequest","critical":false,"errorCode":-32004,"originalErrorType":"AbortError","finalErrorType":"McpError","sessionId":"9cfa68fd06bea3003fbcdae970efafd4b54ea5b49bc2bfe9a888099e37741295","toolName":"session_cancellable_tool","errorData":{"sessionId":"9cfa68fd06bea3003fbcdae970efafd4b54ea5b49bc2bfe9a888099e37741295","toolName":"session_cancellable_tool","requestId":"IKG5Z-ZRC90","timestamp":"2026-08-13T02:13:51.017Z","operation":"HandleToolRequest","originalErrorName":"AbortError","originalMessage":"AbortError: cancel tool request","originalStack":"AbortError: AbortError: cancel tool request\n at new DOMException (node:internal/per_context/domexception:79:18)\n at SessionStore.cancelRequest (file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/sessionStore.js:166:29)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:644:30\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:358:20\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)\n at async file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:312:16\n at async dispatch (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:17)\n at async cors2 (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/middleware/cors/index.js:76:5)"},"stack":"McpError: AbortError: cancel tool request\n at ErrorHandler.handleError (file:///Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:19)\n at file:///Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async McpServer.executeToolHandler (file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:20)\n at async file:///Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:32\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:session_cancellable_tool: AbortError: cancel tool request"}
10
+ {"level":50,"time":1786587241316,"env":"testing","version":"0.0.0-test","pid":56023,"requestId":"61be143c-7657-453e-9110-30352866c484","timestamp":"2026-08-13T02:14:01.316Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"stdio-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"ee8662227fa5467d4a1a989958fdfc01","toolName":"auto_echo","errorData":{"taskId":"ee8662227fa5467d4a1a989958fdfc01","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: stdio-failure","originalStack":"Error: intentional task failure: stdio-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: stdio-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: stdio-failure"}
11
+ {"level":50,"time":1786587248382,"env":"testing","version":"0.0.0-test","pid":56023,"requestId":"3dfac909-5392-47a9-88e8-60d1aac7998d","timestamp":"2026-08-13T02:14:08.381Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"3ee3f4f482e0a099831113580b27ae78","toolName":"long_control","errorData":{"taskId":"3ee3f4f482e0a099831113580b27ae78","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
12
+ {"level":50,"time":1786587249679,"env":"testing","version":"0.0.0-test","pid":56062,"requestId":"30fc1d93-3755-4a5b-8c10-7950ed90a37e","timestamp":"2026-08-13T02:14:09.678Z","operation":"auto-task:auto_echo","input":{"fail":true,"value":"http-failure"},"critical":false,"errorCode":-32603,"originalErrorType":"Error","finalErrorType":"McpError","taskId":"bdbb37189f0f574e0ba253b84fe59eb3","toolName":"auto_echo","errorData":{"taskId":"bdbb37189f0f574e0ba253b84fe59eb3","toolName":"auto_echo","originalErrorName":"Error","originalMessage":"intentional task failure: http-failure","originalStack":"Error: intentional task failure: http-failure\n at handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/task-protocol-server.js:60:31)\n at async runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:253:42)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: intentional task failure: http-failure\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:auto_echo: intentional task failure: http-failure"}
13
+ {"level":50,"time":1786587256826,"env":"testing","version":"0.0.0-test","pid":56062,"requestId":"d6aebeb6-8df3-41da-9c88-8245392951f5","timestamp":"2026-08-13T02:14:16.825Z","operation":"auto-task:long_control","input":{"mode":"timeout"},"critical":false,"errorCode":-32004,"originalErrorType":"symbolEncountered","finalErrorType":"McpError","taskId":"1dc5de9df5f2813bc528625ebcb26f02","toolName":"long_control","errorData":{"taskId":"1dc5de9df5f2813bc528625ebcb26f02","toolName":"long_control","originalErrorName":"symbolEncountered","originalMessage":"Symbol(AUTO_TASK_TIMEOUT)"},"stack":"McpError: Symbol(AUTO_TASK_TIMEOUT)\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at runAutoTaskHandler (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/tool-registration.js:266:26)\n at processTicksAndRejections (native:7:39)","msg":"Error in auto-task:long_control: Symbol(AUTO_TASK_TIMEOUT)"}
14
+ {"level":50,"time":1786587260986,"env":"testing","version":"0.0.0-test","pid":56135,"requestId":"1O3E3-DP8AC","timestamp":"2026-08-13T02:14:20.986Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"0a72407c6557c4b3a331a8213ac870a88349344596bf8981a51db854f105e588","toolName":"scoped_echo","tenantId":"authz-tenant","auth":{"sub":"authz-user","scopes":["tool:other:read"],"clientId":"authz-client","tenantId":"authz-tenant","token":"[REDACTED]"},"errorData":{"sessionId":"0a72407c6557c4b3a331a8213ac870a88349344596bf8981a51db854f105e588","toolName":"scoped_echo","requestId":"1O3E3-DP8AC","timestamp":"2026-08-13T02:14:20.986Z","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:285: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:334: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."}
15
+ {"level":50,"time":1786587260994,"env":"testing","version":"0.0.0-test","pid":56135,"requestId":"CBMKP-O20TK","timestamp":"2026-08-13T02:14:20.994Z","operation":"HandleToolRequest","critical":false,"errorCode":-32005,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"9b0f4cf27f3fc78bc5d7e088047c8fc5204c88edcb5b4d9f03380a5e2684e9ca","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":"9b0f4cf27f3fc78bc5d7e088047c8fc5204c88edcb5b4d9f03380a5e2684e9ca","toolName":"scoped_echo","requestId":"CBMKP-O20TK","timestamp":"2026-08-13T02:14:20.994Z","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:285: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:334: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."}
16
+ {"level":50,"time":1786587262572,"env":"testing","version":"0.0.0-test","pid":56148,"requestId":"RXKXK-ZNGJF","timestamp":"2026-08-13T02:14:22.569Z","operation":"HandleToolRequest","critical":false,"errorCode":-32602,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"6d95cfc46799cee8ec354ea235bbc0047af16776fd1d30ebd05272161da3b9ff","toolName":"session_elicitation_probe","errorData":{"reason":"elicitation_response_invalid","issues":[{"path":"value","code":"invalid_type"}],"sessionId":"6d95cfc46799cee8ec354ea235bbc0047af16776fd1d30ebd05272161da3b9ff","toolName":"session_elicitation_probe","requestId":"RXKXK-ZNGJF","timestamp":"2026-08-13T02:14:22.569Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"Elicitation response content does not match the requested schema.","originalStack":"McpError: Elicitation response content does not match the requested schema.\n at invalidParams (/Users/casey/Developer/github/mcp-ts-core/dist/types-global/errors.js:78:62)\n at assertElicitedContent (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:26:11)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/elicitation.js:69:13)\n at async handler (/Users/casey/Developer/github/mcp-ts-core/tests/fixtures/http-protocol-session-server.js:50:30)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:212:34)\n at async measureToolExecution (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/performance.js:194:25)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:306:34)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)"},"stack":"McpError: Elicitation response content does not match the requested schema.\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:334:26)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:session_elicitation_probe: Elicitation response content does not match the requested schema."}
17
+ {"level":50,"time":1786587262580,"env":"testing","version":"0.0.0-test","pid":56148,"requestId":"X47C9-0LGGG","timestamp":"2026-08-13T02:14:22.578Z","operation":"HandleToolRequest","critical":false,"errorCode":-32603,"originalErrorType":"McpError","finalErrorType":"McpError","sessionId":"f50b3cf6fc2f019ba54811c9b2aa89309eec20d4c11220d01ef05a4e5edad963","toolName":"session_elicitation_probe","errorData":{"sessionId":"f50b3cf6fc2f019ba54811c9b2aa89309eec20d4c11220d01ef05a4e5edad963","toolName":"session_elicitation_probe","requestId":"X47C9-0LGGG","timestamp":"2026-08-13T02:14:22.578Z","operation":"HandleToolRequest","originalErrorName":"McpError","originalMessage":"MCP error -32602: Client refused the elicitation request.","originalStack":"McpError: MCP error -32602: Client refused the elicitation request.\n at fromError (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js:2048:20)\n at _onresponse (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:490:36)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:234:22)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:55:18)\n at routeServerResponse (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/sessionStore.js:208:15)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:626:38)\n at filter (native:1:11)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:623:39)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:358:26)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/transports/http/httpTransport.js:312:22)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async cors2 (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/middleware/cors/index.js:76:11)\n at async dispatch (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/compose.js:22:23)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/hono/dist/hono-base.js:307:31)\n at processTicksAndRejections (native:7:39)"},"stack":"McpError: MCP error -32602: Client refused the elicitation request.\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:session_elicitation_probe: MCP error -32602: Client refused the elicitation request."}
18
+ {"level":50,"time":1786587262653,"env":"testing","version":"0.0.0-test","pid":56148,"requestId":"5KYGH-LMTHY","timestamp":"2026-08-13T02:14:22.651Z","operation":"HandleToolRequest","critical":false,"errorCode":-32004,"originalErrorType":"AbortError","finalErrorType":"McpError","sessionId":"3d74267a99633ef41a291060a6a52f06aa50143237ad9d1dc58aab9f50d0ae34","toolName":"session_cancellable_tool","errorData":{"sessionId":"3d74267a99633ef41a291060a6a52f06aa50143237ad9d1dc58aab9f50d0ae34","toolName":"session_cancellable_tool","requestId":"5KYGH-LMTHY","timestamp":"2026-08-13T02:14:22.651Z","operation":"HandleToolRequest","originalErrorName":"AbortError","originalMessage":"AbortError: cancel tool request"},"stack":"McpError: AbortError: cancel tool request\n at handleError (/Users/casey/Developer/github/mcp-ts-core/dist/utils/internal/error-handler/errorHandler.js:178:23)\n at <anonymous> (/Users/casey/Developer/github/mcp-ts-core/dist/mcp-server/tools/utils/toolHandlerFactory.js:334:26)\n at async executeToolHandler (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:233:34)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js:126:43)\n at async <anonymous> (/Users/casey/Developer/github/mcp-ts-core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js:114:46)\n at processTicksAndRejections (native:7:39)","msg":"Error in tool:session_cancellable_tool: AbortError: cancel tool request"}
@@ -1 +1 @@
1
- {"version":3,"file":"toolHandlerFactory.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAGjE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAOlE,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,KAAK,gBAAgB,EAAY,MAAM,0BAA0B,CAAC;AAE3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,KAAK,QAAQ,GAAG,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAEvE,qEAAqE;AACrE,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,2BAA2B,CAAC;CACrF;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,cAAc,CAchB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAO9E;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,CAGpF;AAuED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,aAAa,EAAE,YAAY,EAAE,GAC5B,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,mBAAmB,CAAC,CAkBvD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,cAAc,CAAC,CAiI9E"}
1
+ {"version":3,"file":"toolHandlerFactory.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAGjE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAOlE,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,KAAK,gBAAgB,EAAY,MAAM,0BAA0B,CAAC;AAE3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,KAAK,QAAQ,GAAG,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAEvE,qEAAqE;AACrE,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,2BAA2B,CAAC;CACrF;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,cAAc,CAchB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAO9E;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,CAGpF;AA0GD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,aAAa,EAAE,YAAY,EAAE,GAC5B,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,mBAAmB,CAAC,CAkBvD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,cAAc,CAAC,CAiI9E"}
@@ -102,6 +102,39 @@ function formatEnrichmentScalar(value) {
102
102
  return JSON.stringify(value);
103
103
  return String(value);
104
104
  }
105
+ /**
106
+ * True when a rendered field's last line leaves open a CommonMark container that
107
+ * lazy continuation would pull the next field into — a block quote (`>`) or a
108
+ * list item (`-`, `+`, `*`, `1.`, `1)`), each indented up to three spaces.
109
+ *
110
+ * Keyed on the line, not the field kind: a custom `enrichmentTrailer.render` can
111
+ * emit multi-line markdown whose final line is a quote or a bullet, and either
112
+ * one swallows what follows exactly as a `notice` does.
113
+ *
114
+ * A list marker must be followed by a space or end the line, so `**0 total**`
115
+ * and a `***` rule are not mistaken for bullets.
116
+ */
117
+ function opensLazyContainer(text) {
118
+ const lastLine = text.slice(text.lastIndexOf('\n') + 1);
119
+ return /^ {0,3}(?:>|(?:[-+*]|\d{1,9}[.)])(?: |$))/.test(lastLine);
120
+ }
121
+ /**
122
+ * Joins rendered fields into the trailer body, closing any open container before
123
+ * the next field. CommonMark lazy continuation folds an unprefixed paragraph line
124
+ * that follows a block quote or list item *into* it, so a bare `\n` would render
125
+ * server-authored facts (totals, query echoes) as quoted text attributed to the
126
+ * notice, or as the tail of somebody's last bullet. Emitting the blank line only
127
+ * after those lines keeps the compact single-`\n` layout everywhere else.
128
+ */
129
+ function joinTrailerFields(fields) {
130
+ let text = '';
131
+ for (const field of fields) {
132
+ if (text.length > 0)
133
+ text += opensLazyContainer(text) ? '\n\n' : '\n';
134
+ text += field;
135
+ }
136
+ return text;
137
+ }
105
138
  /**
106
139
  * Renders accumulated enrichment as a single `content[]` trailer block, so
107
140
  * `content[]`-only clients see the same context `structuredContent` clients get
@@ -121,11 +154,12 @@ function formatEnrichmentScalar(value) {
121
154
  * leads with a blank-line separator so it stands off the preceding block on
122
155
  * clients that concatenate adjacent text blocks with no join (#257); markdown
123
156
  * collapses consecutive blank lines, so clients that do insert their own
124
- * separator render at most one blank line either way. Returns `[]` when
125
- * nothing was enriched.
157
+ * separator render at most one blank line either way. Fields are joined by
158
+ * {@link joinTrailerFields}, which terminates block quotes so a following field
159
+ * renders as its own block (#308). Returns `[]` when nothing was enriched.
126
160
  */
127
161
  function renderEnrichmentTrailer(store, trailer, parsed) {
128
- const lines = [];
162
+ const fields = [];
129
163
  for (const key of Object.keys(store.values)) {
130
164
  // Skip keys the effective-output parse stripped (enriched but not declared in
131
165
  // the block) — the trailer mirrors what reached structuredContent.
@@ -134,29 +168,29 @@ function renderEnrichmentTrailer(store, trailer, parsed) {
134
168
  const value = parsed[key];
135
169
  const cfg = trailer?.[key];
136
170
  if (cfg?.render) {
137
- lines.push(cfg.render(value));
171
+ fields.push(cfg.render(value));
138
172
  continue;
139
173
  }
140
174
  switch (store.kinds.get(key)) {
141
175
  case 'notice':
142
- lines.push(`> ${String(value)}`);
176
+ fields.push(`> ${String(value)}`);
143
177
  break;
144
178
  case 'total':
145
- lines.push(`**${String(value)} total**`);
179
+ fields.push(`**${String(value)} total**`);
146
180
  break;
147
181
  case 'echo':
148
- lines.push(`Query: ${String(value)}`);
182
+ fields.push(`Query: ${String(value)}`);
149
183
  break;
150
184
  case 'delta': {
151
185
  const d = (value ?? {});
152
- lines.push(`**${cfg?.label ?? key}:** ${formatEnrichmentScalar(d.before)} → ${formatEnrichmentScalar(d.after)}`);
186
+ fields.push(`**${cfg?.label ?? key}:** ${formatEnrichmentScalar(d.before)} → ${formatEnrichmentScalar(d.after)}`);
153
187
  break;
154
188
  }
155
189
  default:
156
- lines.push(`**${cfg?.label ?? key}:** ${formatEnrichmentScalar(value)}`);
190
+ fields.push(`**${cfg?.label ?? key}:** ${formatEnrichmentScalar(value)}`);
157
191
  }
158
192
  }
159
- return lines.length > 0 ? [{ type: 'text', text: `\n\n${lines.join('\n')}` }] : [];
193
+ return fields.length > 0 ? [{ type: 'text', text: `\n\n${joinTrailerFields(fields)}` }] : [];
160
194
  }
161
195
  /**
162
196
  * Shapes the success `CallToolResult` surfaces from the validated domain payload