@cyanheads/mcp-ts-core 0.1.0-beta.12

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 (485) hide show
  1. package/CLAUDE.md +583 -0
  2. package/LICENSE +201 -0
  3. package/README.md +287 -0
  4. package/biome.json +103 -0
  5. package/dist/app.d.ts +82 -0
  6. package/dist/app.d.ts.map +1 -0
  7. package/dist/app.js +222 -0
  8. package/dist/app.js.map +1 -0
  9. package/dist/cli/init.d.ts +8 -0
  10. package/dist/cli/init.d.ts.map +1 -0
  11. package/dist/cli/init.js +161 -0
  12. package/dist/cli/init.js.map +1 -0
  13. package/dist/config/index.d.ts +349 -0
  14. package/dist/config/index.d.ts.map +1 -0
  15. package/dist/config/index.js +464 -0
  16. package/dist/config/index.js.map +1 -0
  17. package/dist/context.d.ts +119 -0
  18. package/dist/context.d.ts.map +1 -0
  19. package/dist/context.js +144 -0
  20. package/dist/context.js.map +1 -0
  21. package/dist/index.d.ts +8 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +9 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/mcp-server/prompts/prompt-registration.d.ts +33 -0
  26. package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -0
  27. package/dist/mcp-server/prompts/prompt-registration.js +91 -0
  28. package/dist/mcp-server/prompts/prompt-registration.js.map +1 -0
  29. package/dist/mcp-server/prompts/utils/newPromptDefinition.d.ts +49 -0
  30. package/dist/mcp-server/prompts/utils/newPromptDefinition.d.ts.map +1 -0
  31. package/dist/mcp-server/prompts/utils/newPromptDefinition.js +39 -0
  32. package/dist/mcp-server/prompts/utils/newPromptDefinition.js.map +1 -0
  33. package/dist/mcp-server/prompts/utils/promptDefinition.d.ts +37 -0
  34. package/dist/mcp-server/prompts/utils/promptDefinition.d.ts.map +1 -0
  35. package/dist/mcp-server/prompts/utils/promptDefinition.js +2 -0
  36. package/dist/mcp-server/prompts/utils/promptDefinition.js.map +1 -0
  37. package/dist/mcp-server/resources/resource-registration.d.ts +27 -0
  38. package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -0
  39. package/dist/mcp-server/resources/resource-registration.js +85 -0
  40. package/dist/mcp-server/resources/resource-registration.js.map +1 -0
  41. package/dist/mcp-server/resources/utils/newResourceDefinition.d.ts +84 -0
  42. package/dist/mcp-server/resources/utils/newResourceDefinition.d.ts.map +1 -0
  43. package/dist/mcp-server/resources/utils/newResourceDefinition.js +40 -0
  44. package/dist/mcp-server/resources/utils/newResourceDefinition.js.map +1 -0
  45. package/dist/mcp-server/resources/utils/newResourceHandlerFactory.d.ts +32 -0
  46. package/dist/mcp-server/resources/utils/newResourceHandlerFactory.d.ts.map +1 -0
  47. package/dist/mcp-server/resources/utils/newResourceHandlerFactory.js +103 -0
  48. package/dist/mcp-server/resources/utils/newResourceHandlerFactory.js.map +1 -0
  49. package/dist/mcp-server/resources/utils/resourceDefinition.d.ts +94 -0
  50. package/dist/mcp-server/resources/utils/resourceDefinition.d.ts.map +1 -0
  51. package/dist/mcp-server/resources/utils/resourceDefinition.js +2 -0
  52. package/dist/mcp-server/resources/utils/resourceDefinition.js.map +1 -0
  53. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +14 -0
  54. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -0
  55. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +111 -0
  56. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -0
  57. package/dist/mcp-server/roots/roots-registration.d.ts +22 -0
  58. package/dist/mcp-server/roots/roots-registration.d.ts.map +1 -0
  59. package/dist/mcp-server/roots/roots-registration.js +25 -0
  60. package/dist/mcp-server/roots/roots-registration.js.map +1 -0
  61. package/dist/mcp-server/server.d.ts +34 -0
  62. package/dist/mcp-server/server.d.ts.map +1 -0
  63. package/dist/mcp-server/server.js +62 -0
  64. package/dist/mcp-server/server.js.map +1 -0
  65. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts +42 -0
  66. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts.map +1 -0
  67. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js +70 -0
  68. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js.map +1 -0
  69. package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts +109 -0
  70. package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts.map +1 -0
  71. package/dist/mcp-server/tasks/core/storageBackedTaskStore.js +209 -0
  72. package/dist/mcp-server/tasks/core/storageBackedTaskStore.js.map +1 -0
  73. package/dist/mcp-server/tasks/core/taskManager.d.ts +103 -0
  74. package/dist/mcp-server/tasks/core/taskManager.d.ts.map +1 -0
  75. package/dist/mcp-server/tasks/core/taskManager.js +144 -0
  76. package/dist/mcp-server/tasks/core/taskManager.js.map +1 -0
  77. package/dist/mcp-server/tasks/core/taskTypes.d.ts +11 -0
  78. package/dist/mcp-server/tasks/core/taskTypes.d.ts.map +1 -0
  79. package/dist/mcp-server/tasks/core/taskTypes.js +13 -0
  80. package/dist/mcp-server/tasks/core/taskTypes.js.map +1 -0
  81. package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts +108 -0
  82. package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts.map +1 -0
  83. package/dist/mcp-server/tasks/utils/taskToolDefinition.js +14 -0
  84. package/dist/mcp-server/tasks/utils/taskToolDefinition.js.map +1 -0
  85. package/dist/mcp-server/tools/tool-registration.d.ts +49 -0
  86. package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -0
  87. package/dist/mcp-server/tools/tool-registration.js +269 -0
  88. package/dist/mcp-server/tools/tool-registration.js.map +1 -0
  89. package/dist/mcp-server/tools/utils/newToolDefinition.d.ts +73 -0
  90. package/dist/mcp-server/tools/utils/newToolDefinition.d.ts.map +1 -0
  91. package/dist/mcp-server/tools/utils/newToolDefinition.js +45 -0
  92. package/dist/mcp-server/tools/utils/newToolDefinition.js.map +1 -0
  93. package/dist/mcp-server/tools/utils/newToolHandlerFactory.d.ts +33 -0
  94. package/dist/mcp-server/tools/utils/newToolHandlerFactory.d.ts.map +1 -0
  95. package/dist/mcp-server/tools/utils/newToolHandlerFactory.js +107 -0
  96. package/dist/mcp-server/tools/utils/newToolHandlerFactory.js.map +1 -0
  97. package/dist/mcp-server/tools/utils/toolDefinition.d.ts +118 -0
  98. package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -0
  99. package/dist/mcp-server/tools/utils/toolDefinition.js +2 -0
  100. package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -0
  101. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +34 -0
  102. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -0
  103. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +68 -0
  104. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -0
  105. package/dist/mcp-server/transports/ITransport.d.ts +15 -0
  106. package/dist/mcp-server/transports/ITransport.d.ts.map +1 -0
  107. package/dist/mcp-server/transports/ITransport.js +2 -0
  108. package/dist/mcp-server/transports/ITransport.js.map +1 -0
  109. package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
  110. package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
  111. package/dist/mcp-server/transports/auth/authFactory.js +43 -0
  112. package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
  113. package/dist/mcp-server/transports/auth/authMiddleware.d.ts +24 -0
  114. package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
  115. package/dist/mcp-server/transports/auth/authMiddleware.js +69 -0
  116. package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
  117. package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
  118. package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
  119. package/dist/mcp-server/transports/auth/lib/authContext.js +25 -0
  120. package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
  121. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +19 -0
  122. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
  123. package/dist/mcp-server/transports/auth/lib/authTypes.js +2 -0
  124. package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
  125. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +18 -0
  126. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
  127. package/dist/mcp-server/transports/auth/lib/authUtils.js +64 -0
  128. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
  129. package/dist/mcp-server/transports/auth/lib/checkScopes.d.ts +25 -0
  130. package/dist/mcp-server/transports/auth/lib/checkScopes.d.ts.map +1 -0
  131. package/dist/mcp-server/transports/auth/lib/checkScopes.js +34 -0
  132. package/dist/mcp-server/transports/auth/lib/checkScopes.js.map +1 -0
  133. package/dist/mcp-server/transports/auth/lib/claimParser.d.ts +34 -0
  134. package/dist/mcp-server/transports/auth/lib/claimParser.d.ts.map +1 -0
  135. package/dist/mcp-server/transports/auth/lib/claimParser.js +58 -0
  136. package/dist/mcp-server/transports/auth/lib/claimParser.js.map +1 -0
  137. package/dist/mcp-server/transports/auth/lib/withAuth.d.ts +25 -0
  138. package/dist/mcp-server/transports/auth/lib/withAuth.d.ts.map +1 -0
  139. package/dist/mcp-server/transports/auth/lib/withAuth.js +30 -0
  140. package/dist/mcp-server/transports/auth/lib/withAuth.js.map +1 -0
  141. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
  142. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
  143. package/dist/mcp-server/transports/auth/strategies/authStrategy.js +2 -0
  144. package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
  145. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +14 -0
  146. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
  147. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +86 -0
  148. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
  149. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +14 -0
  150. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
  151. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +113 -0
  152. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
  153. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +25 -0
  154. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
  155. package/dist/mcp-server/transports/http/httpErrorHandler.js +112 -0
  156. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
  157. package/dist/mcp-server/transports/http/httpTransport.d.ts +47 -0
  158. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
  159. package/dist/mcp-server/transports/http/httpTransport.js +396 -0
  160. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
  161. package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
  162. package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
  163. package/dist/mcp-server/transports/http/httpTypes.js +2 -0
  164. package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
  165. package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts +21 -0
  166. package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts.map +1 -0
  167. package/dist/mcp-server/transports/http/protectedResourceMetadata.js +44 -0
  168. package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -0
  169. package/dist/mcp-server/transports/http/sessionIdUtils.d.ts +33 -0
  170. package/dist/mcp-server/transports/http/sessionIdUtils.d.ts.map +1 -0
  171. package/dist/mcp-server/transports/http/sessionIdUtils.js +54 -0
  172. package/dist/mcp-server/transports/http/sessionIdUtils.js.map +1 -0
  173. package/dist/mcp-server/transports/http/sessionStore.d.ts +87 -0
  174. package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -0
  175. package/dist/mcp-server/transports/http/sessionStore.js +209 -0
  176. package/dist/mcp-server/transports/http/sessionStore.js.map +1 -0
  177. package/dist/mcp-server/transports/manager.d.ts +22 -0
  178. package/dist/mcp-server/transports/manager.d.ts.map +1 -0
  179. package/dist/mcp-server/transports/manager.js +62 -0
  180. package/dist/mcp-server/transports/manager.js.map +1 -0
  181. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +44 -0
  182. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
  183. package/dist/mcp-server/transports/stdio/stdioTransport.js +63 -0
  184. package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
  185. package/dist/services/graph/core/GraphService.d.ts +205 -0
  186. package/dist/services/graph/core/GraphService.d.ts.map +1 -0
  187. package/dist/services/graph/core/GraphService.js +231 -0
  188. package/dist/services/graph/core/GraphService.js.map +1 -0
  189. package/dist/services/graph/core/IGraphProvider.d.ts +295 -0
  190. package/dist/services/graph/core/IGraphProvider.d.ts.map +1 -0
  191. package/dist/services/graph/core/IGraphProvider.js +8 -0
  192. package/dist/services/graph/core/IGraphProvider.js.map +1 -0
  193. package/dist/services/graph/types.d.ts +107 -0
  194. package/dist/services/graph/types.d.ts.map +1 -0
  195. package/dist/services/graph/types.js +8 -0
  196. package/dist/services/graph/types.js.map +1 -0
  197. package/dist/services/llm/core/ILlmProvider.d.ts +86 -0
  198. package/dist/services/llm/core/ILlmProvider.d.ts.map +1 -0
  199. package/dist/services/llm/core/ILlmProvider.js +2 -0
  200. package/dist/services/llm/core/ILlmProvider.js.map +1 -0
  201. package/dist/services/llm/providers/openrouter.provider.d.ts +187 -0
  202. package/dist/services/llm/providers/openrouter.provider.d.ts.map +1 -0
  203. package/dist/services/llm/providers/openrouter.provider.js +302 -0
  204. package/dist/services/llm/providers/openrouter.provider.js.map +1 -0
  205. package/dist/services/llm/types.d.ts +16 -0
  206. package/dist/services/llm/types.d.ts.map +1 -0
  207. package/dist/services/llm/types.js +9 -0
  208. package/dist/services/llm/types.js.map +1 -0
  209. package/dist/services/speech/core/ISpeechProvider.d.ts +92 -0
  210. package/dist/services/speech/core/ISpeechProvider.d.ts.map +1 -0
  211. package/dist/services/speech/core/ISpeechProvider.js +34 -0
  212. package/dist/services/speech/core/ISpeechProvider.js.map +1 -0
  213. package/dist/services/speech/core/SpeechService.d.ts +87 -0
  214. package/dist/services/speech/core/SpeechService.d.ts.map +1 -0
  215. package/dist/services/speech/core/SpeechService.js +135 -0
  216. package/dist/services/speech/core/SpeechService.js.map +1 -0
  217. package/dist/services/speech/providers/elevenlabs.provider.d.ts +77 -0
  218. package/dist/services/speech/providers/elevenlabs.provider.d.ts.map +1 -0
  219. package/dist/services/speech/providers/elevenlabs.provider.js +199 -0
  220. package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -0
  221. package/dist/services/speech/providers/whisper.provider.d.ts +94 -0
  222. package/dist/services/speech/providers/whisper.provider.d.ts.map +1 -0
  223. package/dist/services/speech/providers/whisper.provider.js +240 -0
  224. package/dist/services/speech/providers/whisper.provider.js.map +1 -0
  225. package/dist/services/speech/types.d.ts +173 -0
  226. package/dist/services/speech/types.d.ts.map +1 -0
  227. package/dist/services/speech/types.js +8 -0
  228. package/dist/services/speech/types.js.map +1 -0
  229. package/dist/storage/core/IStorageProvider.d.ts +159 -0
  230. package/dist/storage/core/IStorageProvider.d.ts.map +1 -0
  231. package/dist/storage/core/IStorageProvider.js +2 -0
  232. package/dist/storage/core/IStorageProvider.js.map +1 -0
  233. package/dist/storage/core/StorageService.d.ts +22 -0
  234. package/dist/storage/core/StorageService.d.ts.map +1 -0
  235. package/dist/storage/core/StorageService.js +151 -0
  236. package/dist/storage/core/StorageService.js.map +1 -0
  237. package/dist/storage/core/storageFactory.d.ts +66 -0
  238. package/dist/storage/core/storageFactory.d.ts.map +1 -0
  239. package/dist/storage/core/storageFactory.js +122 -0
  240. package/dist/storage/core/storageFactory.js.map +1 -0
  241. package/dist/storage/core/storageValidation.d.ts +77 -0
  242. package/dist/storage/core/storageValidation.d.ts.map +1 -0
  243. package/dist/storage/core/storageValidation.js +303 -0
  244. package/dist/storage/core/storageValidation.js.map +1 -0
  245. package/dist/storage/providers/cloudflare/d1Provider.d.ts +94 -0
  246. package/dist/storage/providers/cloudflare/d1Provider.d.ts.map +1 -0
  247. package/dist/storage/providers/cloudflare/d1Provider.js +347 -0
  248. package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -0
  249. package/dist/storage/providers/cloudflare/kvProvider.d.ts +21 -0
  250. package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -0
  251. package/dist/storage/providers/cloudflare/kvProvider.js +183 -0
  252. package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -0
  253. package/dist/storage/providers/cloudflare/r2Provider.d.ts +28 -0
  254. package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -0
  255. package/dist/storage/providers/cloudflare/r2Provider.js +222 -0
  256. package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -0
  257. package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts +20 -0
  258. package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts.map +1 -0
  259. package/dist/storage/providers/fileSystem/fileSystemProvider.js +282 -0
  260. package/dist/storage/providers/fileSystem/fileSystemProvider.js.map +1 -0
  261. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +21 -0
  262. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -0
  263. package/dist/storage/providers/inMemory/inMemoryProvider.js +139 -0
  264. package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -0
  265. package/dist/storage/providers/supabase/supabase.types.d.ts +49 -0
  266. package/dist/storage/providers/supabase/supabase.types.d.ts.map +1 -0
  267. package/dist/storage/providers/supabase/supabase.types.js +8 -0
  268. package/dist/storage/providers/supabase/supabase.types.js.map +1 -0
  269. package/dist/storage/providers/supabase/supabaseProvider.d.ts +24 -0
  270. package/dist/storage/providers/supabase/supabaseProvider.d.ts.map +1 -0
  271. package/dist/storage/providers/supabase/supabaseProvider.js +209 -0
  272. package/dist/storage/providers/supabase/supabaseProvider.js.map +1 -0
  273. package/dist/testing/index.d.ts +53 -0
  274. package/dist/testing/index.d.ts.map +1 -0
  275. package/dist/testing/index.js +132 -0
  276. package/dist/testing/index.js.map +1 -0
  277. package/dist/types-global/errors.d.ts +83 -0
  278. package/dist/types-global/errors.d.ts.map +1 -0
  279. package/dist/types-global/errors.js +113 -0
  280. package/dist/types-global/errors.js.map +1 -0
  281. package/dist/utils/formatting/diffFormatter.d.ts +227 -0
  282. package/dist/utils/formatting/diffFormatter.d.ts.map +1 -0
  283. package/dist/utils/formatting/diffFormatter.js +369 -0
  284. package/dist/utils/formatting/diffFormatter.js.map +1 -0
  285. package/dist/utils/formatting/index.d.ts +9 -0
  286. package/dist/utils/formatting/index.d.ts.map +1 -0
  287. package/dist/utils/formatting/index.js +9 -0
  288. package/dist/utils/formatting/index.js.map +1 -0
  289. package/dist/utils/formatting/markdownBuilder.d.ts +543 -0
  290. package/dist/utils/formatting/markdownBuilder.d.ts.map +1 -0
  291. package/dist/utils/formatting/markdownBuilder.js +674 -0
  292. package/dist/utils/formatting/markdownBuilder.js.map +1 -0
  293. package/dist/utils/formatting/tableFormatter.d.ts +261 -0
  294. package/dist/utils/formatting/tableFormatter.d.ts.map +1 -0
  295. package/dist/utils/formatting/tableFormatter.js +456 -0
  296. package/dist/utils/formatting/tableFormatter.js.map +1 -0
  297. package/dist/utils/formatting/treeFormatter.d.ts +344 -0
  298. package/dist/utils/formatting/treeFormatter.d.ts.map +1 -0
  299. package/dist/utils/formatting/treeFormatter.js +400 -0
  300. package/dist/utils/formatting/treeFormatter.js.map +1 -0
  301. package/dist/utils/internal/encoding.d.ts +42 -0
  302. package/dist/utils/internal/encoding.d.ts.map +1 -0
  303. package/dist/utils/internal/encoding.js +87 -0
  304. package/dist/utils/internal/encoding.js.map +1 -0
  305. package/dist/utils/internal/error-handler/errorHandler.d.ts +140 -0
  306. package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -0
  307. package/dist/utils/internal/error-handler/errorHandler.js +318 -0
  308. package/dist/utils/internal/error-handler/errorHandler.js.map +1 -0
  309. package/dist/utils/internal/error-handler/helpers.d.ts +98 -0
  310. package/dist/utils/internal/error-handler/helpers.d.ts.map +1 -0
  311. package/dist/utils/internal/error-handler/helpers.js +214 -0
  312. package/dist/utils/internal/error-handler/helpers.js.map +1 -0
  313. package/dist/utils/internal/error-handler/mappings.d.ts +85 -0
  314. package/dist/utils/internal/error-handler/mappings.d.ts.map +1 -0
  315. package/dist/utils/internal/error-handler/mappings.js +234 -0
  316. package/dist/utils/internal/error-handler/mappings.js.map +1 -0
  317. package/dist/utils/internal/error-handler/types.d.ts +160 -0
  318. package/dist/utils/internal/error-handler/types.d.ts.map +1 -0
  319. package/dist/utils/internal/error-handler/types.js +6 -0
  320. package/dist/utils/internal/error-handler/types.js.map +1 -0
  321. package/dist/utils/internal/health.d.ts +60 -0
  322. package/dist/utils/internal/health.d.ts.map +1 -0
  323. package/dist/utils/internal/health.js +46 -0
  324. package/dist/utils/internal/health.js.map +1 -0
  325. package/dist/utils/internal/logger.d.ts +300 -0
  326. package/dist/utils/internal/logger.d.ts.map +1 -0
  327. package/dist/utils/internal/logger.js +573 -0
  328. package/dist/utils/internal/logger.js.map +1 -0
  329. package/dist/utils/internal/performance.d.ts +78 -0
  330. package/dist/utils/internal/performance.d.ts.map +1 -0
  331. package/dist/utils/internal/performance.js +227 -0
  332. package/dist/utils/internal/performance.js.map +1 -0
  333. package/dist/utils/internal/requestContext.d.ts +200 -0
  334. package/dist/utils/internal/requestContext.d.ts.map +1 -0
  335. package/dist/utils/internal/requestContext.js +163 -0
  336. package/dist/utils/internal/requestContext.js.map +1 -0
  337. package/dist/utils/internal/runtime.d.ts +49 -0
  338. package/dist/utils/internal/runtime.d.ts.map +1 -0
  339. package/dist/utils/internal/runtime.js +90 -0
  340. package/dist/utils/internal/runtime.js.map +1 -0
  341. package/dist/utils/internal/startupBanner.d.ts +23 -0
  342. package/dist/utils/internal/startupBanner.d.ts.map +1 -0
  343. package/dist/utils/internal/startupBanner.js +34 -0
  344. package/dist/utils/internal/startupBanner.js.map +1 -0
  345. package/dist/utils/metrics/tokenCounter.d.ts +97 -0
  346. package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
  347. package/dist/utils/metrics/tokenCounter.js +162 -0
  348. package/dist/utils/metrics/tokenCounter.js.map +1 -0
  349. package/dist/utils/network/fetchWithTimeout.d.ts +91 -0
  350. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
  351. package/dist/utils/network/fetchWithTimeout.js +305 -0
  352. package/dist/utils/network/fetchWithTimeout.js.map +1 -0
  353. package/dist/utils/pagination/pagination.d.ts +157 -0
  354. package/dist/utils/pagination/pagination.d.ts.map +1 -0
  355. package/dist/utils/pagination/pagination.js +191 -0
  356. package/dist/utils/pagination/pagination.js.map +1 -0
  357. package/dist/utils/parsing/csvParser.d.ts +84 -0
  358. package/dist/utils/parsing/csvParser.d.ts.map +1 -0
  359. package/dist/utils/parsing/csvParser.js +132 -0
  360. package/dist/utils/parsing/csvParser.js.map +1 -0
  361. package/dist/utils/parsing/dateParser.d.ts +103 -0
  362. package/dist/utils/parsing/dateParser.d.ts.map +1 -0
  363. package/dist/utils/parsing/dateParser.js +142 -0
  364. package/dist/utils/parsing/dateParser.js.map +1 -0
  365. package/dist/utils/parsing/frontmatterParser.d.ts +91 -0
  366. package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -0
  367. package/dist/utils/parsing/frontmatterParser.js +163 -0
  368. package/dist/utils/parsing/frontmatterParser.js.map +1 -0
  369. package/dist/utils/parsing/index.d.ts +15 -0
  370. package/dist/utils/parsing/index.d.ts.map +1 -0
  371. package/dist/utils/parsing/index.js +15 -0
  372. package/dist/utils/parsing/index.js.map +1 -0
  373. package/dist/utils/parsing/jsonParser.d.ts +115 -0
  374. package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
  375. package/dist/utils/parsing/jsonParser.js +177 -0
  376. package/dist/utils/parsing/jsonParser.js.map +1 -0
  377. package/dist/utils/parsing/pdfParser.d.ts +563 -0
  378. package/dist/utils/parsing/pdfParser.d.ts.map +1 -0
  379. package/dist/utils/parsing/pdfParser.js +775 -0
  380. package/dist/utils/parsing/pdfParser.js.map +1 -0
  381. package/dist/utils/parsing/thinkBlock.d.ts +31 -0
  382. package/dist/utils/parsing/thinkBlock.d.ts.map +1 -0
  383. package/dist/utils/parsing/thinkBlock.js +31 -0
  384. package/dist/utils/parsing/thinkBlock.js.map +1 -0
  385. package/dist/utils/parsing/xmlParser.d.ts +69 -0
  386. package/dist/utils/parsing/xmlParser.d.ts.map +1 -0
  387. package/dist/utils/parsing/xmlParser.js +140 -0
  388. package/dist/utils/parsing/xmlParser.js.map +1 -0
  389. package/dist/utils/parsing/yamlParser.d.ts +64 -0
  390. package/dist/utils/parsing/yamlParser.d.ts.map +1 -0
  391. package/dist/utils/parsing/yamlParser.js +129 -0
  392. package/dist/utils/parsing/yamlParser.js.map +1 -0
  393. package/dist/utils/scheduling/scheduler.d.ts +174 -0
  394. package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
  395. package/dist/utils/scheduling/scheduler.js +248 -0
  396. package/dist/utils/scheduling/scheduler.js.map +1 -0
  397. package/dist/utils/security/idGenerator.d.ts +189 -0
  398. package/dist/utils/security/idGenerator.d.ts.map +1 -0
  399. package/dist/utils/security/idGenerator.js +301 -0
  400. package/dist/utils/security/idGenerator.js.map +1 -0
  401. package/dist/utils/security/index.d.ts +8 -0
  402. package/dist/utils/security/index.d.ts.map +1 -0
  403. package/dist/utils/security/index.js +8 -0
  404. package/dist/utils/security/index.js.map +1 -0
  405. package/dist/utils/security/rateLimiter.d.ts +171 -0
  406. package/dist/utils/security/rateLimiter.d.ts.map +1 -0
  407. package/dist/utils/security/rateLimiter.js +294 -0
  408. package/dist/utils/security/rateLimiter.js.map +1 -0
  409. package/dist/utils/security/sanitization.d.ts +430 -0
  410. package/dist/utils/security/sanitization.d.ts.map +1 -0
  411. package/dist/utils/security/sanitization.js +759 -0
  412. package/dist/utils/security/sanitization.js.map +1 -0
  413. package/dist/utils/telemetry/index.d.ts +12 -0
  414. package/dist/utils/telemetry/index.d.ts.map +1 -0
  415. package/dist/utils/telemetry/index.js +12 -0
  416. package/dist/utils/telemetry/index.js.map +1 -0
  417. package/dist/utils/telemetry/instrumentation.d.ts +62 -0
  418. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -0
  419. package/dist/utils/telemetry/instrumentation.js +223 -0
  420. package/dist/utils/telemetry/instrumentation.js.map +1 -0
  421. package/dist/utils/telemetry/metrics.d.ts +170 -0
  422. package/dist/utils/telemetry/metrics.d.ts.map +1 -0
  423. package/dist/utils/telemetry/metrics.js +205 -0
  424. package/dist/utils/telemetry/metrics.js.map +1 -0
  425. package/dist/utils/telemetry/semconv.d.ts +147 -0
  426. package/dist/utils/telemetry/semconv.d.ts.map +1 -0
  427. package/dist/utils/telemetry/semconv.js +159 -0
  428. package/dist/utils/telemetry/semconv.js.map +1 -0
  429. package/dist/utils/telemetry/trace.d.ts +141 -0
  430. package/dist/utils/telemetry/trace.d.ts.map +1 -0
  431. package/dist/utils/telemetry/trace.js +193 -0
  432. package/dist/utils/telemetry/trace.js.map +1 -0
  433. package/dist/utils/types/guards.d.ts +209 -0
  434. package/dist/utils/types/guards.d.ts.map +1 -0
  435. package/dist/utils/types/guards.js +229 -0
  436. package/dist/utils/types/guards.js.map +1 -0
  437. package/dist/utils/types/index.d.ts +6 -0
  438. package/dist/utils/types/index.d.ts.map +1 -0
  439. package/dist/utils/types/index.js +6 -0
  440. package/dist/utils/types/index.js.map +1 -0
  441. package/dist/worker.d.ts +59 -0
  442. package/dist/worker.d.ts.map +1 -0
  443. package/dist/worker.js +216 -0
  444. package/dist/worker.js.map +1 -0
  445. package/package.json +377 -0
  446. package/skills/README.md +38 -0
  447. package/skills/add-export/SKILL.md +49 -0
  448. package/skills/add-prompt/SKILL.md +97 -0
  449. package/skills/add-provider/SKILL.md +53 -0
  450. package/skills/add-resource/SKILL.md +107 -0
  451. package/skills/add-service/SKILL.md +113 -0
  452. package/skills/add-tool/SKILL.md +110 -0
  453. package/skills/api-auth/SKILL.md +173 -0
  454. package/skills/api-config/SKILL.md +68 -0
  455. package/skills/api-context/SKILL.md +321 -0
  456. package/skills/api-errors/SKILL.md +146 -0
  457. package/skills/api-services/SKILL.md +24 -0
  458. package/skills/api-services/references/graph.md +124 -0
  459. package/skills/api-services/references/llm.md +46 -0
  460. package/skills/api-services/references/speech.md +72 -0
  461. package/skills/api-testing/SKILL.md +263 -0
  462. package/skills/api-utils/SKILL.md +106 -0
  463. package/skills/api-utils/references/formatting.md +237 -0
  464. package/skills/api-utils/references/parsing.md +263 -0
  465. package/skills/api-utils/references/security.md +226 -0
  466. package/skills/api-workers/SKILL.md +165 -0
  467. package/skills/devcheck/SKILL.md +31 -0
  468. package/skills/maintenance/SKILL.md +52 -0
  469. package/skills/migrate-mcp-ts-template/SKILL.md +131 -0
  470. package/skills/release/SKILL.md +67 -0
  471. package/skills/setup/SKILL.md +89 -0
  472. package/skills/walkthrough-init/SKILL.md +50 -0
  473. package/templates/.env.example +17 -0
  474. package/templates/AGENTS.md +113 -0
  475. package/templates/CLAUDE.md +113 -0
  476. package/templates/_tsconfig.json +33 -0
  477. package/templates/biome.template.json +43 -0
  478. package/templates/package.json +26 -0
  479. package/templates/src/index.ts +16 -0
  480. package/templates/src/mcp-server/prompts/definitions/echo.prompt.ts +19 -0
  481. package/templates/src/mcp-server/resources/definitions/echo.resource.ts +30 -0
  482. package/templates/src/mcp-server/tools/definitions/echo.tool.ts +24 -0
  483. package/templates/vitest.config.ts +12 -0
  484. package/tsconfig.base.json +44 -0
  485. package/vitest.config.base.ts +38 -0
@@ -0,0 +1,214 @@
1
+ /**
2
+ * @fileoverview Helper utilities for error inspection and normalization.
3
+ * Enhanced with cause chain extraction and circular reference detection.
4
+ * @module src/utils/internal/error-handler/helpers
5
+ */
6
+ import { McpError } from '../../../types-global/errors.js';
7
+ import { isAggregateError } from '../../../utils/types/guards.js';
8
+ /**
9
+ * Retrieves a descriptive name for an error object or value.
10
+ *
11
+ * - `Error` instances → `error.name` (e.g. `'TypeError'`), falling back to `'Error'`.
12
+ * - `null` → `'NullValueEncountered'`
13
+ * - `undefined` → `'UndefinedValueEncountered'`
14
+ * - Non-plain objects with a named constructor → `'<ConstructorName>Encountered'`
15
+ * - Everything else → `'<typeof value>Encountered'` (e.g. `'stringEncountered'`)
16
+ *
17
+ * @param error - The error object or value.
18
+ * @returns A stable, human-readable string identifying the error's type.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * getErrorName(new TypeError('bad')); // → 'TypeError'
23
+ * getErrorName('oops'); // → 'stringEncountered'
24
+ * getErrorName(null); // → 'NullValueEncountered'
25
+ * ```
26
+ */
27
+ export function getErrorName(error) {
28
+ if (error instanceof Error) {
29
+ return error.name || 'Error';
30
+ }
31
+ if (error === null) {
32
+ return 'NullValueEncountered';
33
+ }
34
+ if (error === undefined) {
35
+ return 'UndefinedValueEncountered';
36
+ }
37
+ if (typeof error === 'object' &&
38
+ error !== null &&
39
+ error.constructor &&
40
+ typeof error.constructor.name === 'string' &&
41
+ error.constructor.name !== 'Object') {
42
+ return `${error.constructor.name}Encountered`;
43
+ }
44
+ return `${typeof error}Encountered`;
45
+ }
46
+ /**
47
+ * Extracts a human-readable message string from any thrown value.
48
+ *
49
+ * Handles every JavaScript type so that `catch (e)` blocks never produce `[object Object]`:
50
+ * - `AggregateError` → combines up to 3 inner error messages after the outer message.
51
+ * - `Error` → `error.message`
52
+ * - `null` / `undefined` → descriptive literal strings.
53
+ * - Primitives (`string`, `number`, `boolean`, `bigint`, `symbol`) → string-coerced value.
54
+ * - Functions → `[function <name>]`
55
+ * - Objects → JSON-serialized if possible; otherwise constructor name fallback.
56
+ * - If conversion itself throws, returns a safe fallback describing the conversion error.
57
+ *
58
+ * @param error - The thrown value to extract a message from.
59
+ * @returns A non-empty string describing the error.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * getErrorMessage(new Error('oops')); // → 'oops'
64
+ * getErrorMessage('string thrown'); // → 'string thrown'
65
+ * getErrorMessage(42); // → '42'
66
+ * getErrorMessage(null); // → 'Null value encountered as error'
67
+ * getErrorMessage(new AggregateError([new Error('a'), new Error('b')], 'multi'));
68
+ * // → 'multi: a; b'
69
+ * ```
70
+ */
71
+ export function getErrorMessage(error) {
72
+ try {
73
+ if (error instanceof Error) {
74
+ // AggregateError should surface combined messages succinctly
75
+ if (isAggregateError(error)) {
76
+ const inner = error.errors
77
+ .map((e) => (e instanceof Error ? e.message : String(e)))
78
+ .filter(Boolean)
79
+ .slice(0, 3)
80
+ .join('; ');
81
+ return inner ? `${error.message}: ${inner}` : error.message;
82
+ }
83
+ return error.message;
84
+ }
85
+ if (error === null) {
86
+ return 'Null value encountered as error';
87
+ }
88
+ if (error === undefined) {
89
+ return 'Undefined value encountered as error';
90
+ }
91
+ if (typeof error === 'string') {
92
+ return error;
93
+ }
94
+ if (typeof error === 'number' || typeof error === 'boolean') {
95
+ return String(error);
96
+ }
97
+ if (typeof error === 'bigint') {
98
+ return error.toString();
99
+ }
100
+ if (typeof error === 'function') {
101
+ return `[function ${error.name || 'anonymous'}]`;
102
+ }
103
+ if (typeof error === 'object') {
104
+ try {
105
+ const json = JSON.stringify(error);
106
+ if (json && json !== '{}')
107
+ return json;
108
+ }
109
+ catch {
110
+ // fall through
111
+ }
112
+ const ctor = error.constructor?.name;
113
+ return `Non-Error object encountered (constructor: ${ctor || 'Object'})`;
114
+ }
115
+ if (typeof error === 'symbol') {
116
+ return error.toString();
117
+ }
118
+ // c8 ignore next
119
+ return '[unrepresentable error]';
120
+ }
121
+ catch (conversionError) {
122
+ return `Error converting error to string: ${conversionError instanceof Error ? conversionError.message : 'Unknown conversion error'}`;
123
+ }
124
+ }
125
+ /**
126
+ * Extracts the complete error cause chain into a flat array of `ErrorCauseNode` objects.
127
+ *
128
+ * Starts at `error` (depth 0) and follows `error.cause` links until:
129
+ * - a non-Error value is encountered (appended as the terminal node, then stops),
130
+ * - a circular reference is detected (sentinel node appended, then stops),
131
+ * - or `maxDepth` is reached (sentinel node appended, then stops).
132
+ *
133
+ * String causes are treated as terminal `StringError` nodes.
134
+ * `McpError` nodes include the `data` property when present.
135
+ * Circular references are detected via `WeakSet` identity tracking.
136
+ *
137
+ * @param error - The outermost error to start traversal from.
138
+ * @param maxDepth - Maximum number of nodes to traverse before stopping. Defaults to `20`.
139
+ * @returns An array of `ErrorCauseNode` objects ordered from outermost (depth 0) to deepest cause.
140
+ * An empty array is returned if `error` itself is falsy.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * const inner = new Error('db connection failed');
145
+ * const outer = new Error('user lookup failed', { cause: inner });
146
+ * const chain = extractErrorCauseChain(outer);
147
+ * // → [
148
+ * // { name: 'Error', message: 'user lookup failed', depth: 0, stack: '...' },
149
+ * // { name: 'Error', message: 'db connection failed', depth: 1, stack: '...' },
150
+ * // ]
151
+ * ```
152
+ */
153
+ export function extractErrorCauseChain(error, maxDepth = 20) {
154
+ const chain = [];
155
+ const seen = new WeakSet();
156
+ let current = error;
157
+ let depth = 0;
158
+ while (current && depth < maxDepth) {
159
+ // Circular reference detection
160
+ if (typeof current === 'object' && current !== null) {
161
+ if (seen.has(current)) {
162
+ chain.push({
163
+ name: 'CircularReference',
164
+ message: 'Circular reference detected in error cause chain',
165
+ depth,
166
+ });
167
+ break;
168
+ }
169
+ seen.add(current);
170
+ }
171
+ if (current instanceof Error) {
172
+ const node = {
173
+ name: current.name,
174
+ message: current.message,
175
+ depth,
176
+ // Only include stack if it exists (exact optional property types)
177
+ ...(current.stack !== undefined ? { stack: current.stack } : {}),
178
+ };
179
+ // Extract data from McpError instances
180
+ if (current instanceof McpError && current.data) {
181
+ node.data = current.data;
182
+ }
183
+ chain.push(node);
184
+ // Continue traversing cause chain
185
+ current = current.cause;
186
+ }
187
+ else if (typeof current === 'string') {
188
+ chain.push({
189
+ name: 'StringError',
190
+ message: current,
191
+ depth,
192
+ });
193
+ break;
194
+ }
195
+ else {
196
+ chain.push({
197
+ name: getErrorName(current),
198
+ message: getErrorMessage(current),
199
+ depth,
200
+ });
201
+ break;
202
+ }
203
+ depth++;
204
+ }
205
+ if (depth >= maxDepth) {
206
+ chain.push({
207
+ name: 'MaxDepthExceeded',
208
+ message: `Error cause chain exceeded maximum depth of ${maxDepth}`,
209
+ depth,
210
+ });
211
+ }
212
+ return chain;
213
+ }
214
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @fileoverview Shared error classification constants used by the error handler.
3
+ * Enhanced with regex caching for performance and provider-specific error patterns.
4
+ * @module src/utils/internal/error-handler/mappings
5
+ */
6
+ import { JsonRpcErrorCode } from '../../../types-global/errors.js';
7
+ import type { BaseErrorMapping } from './types.js';
8
+ /**
9
+ * Compiles and caches a regex pattern for repeated use without re-compilation overhead.
10
+ *
11
+ * - String patterns are compiled with the `i` (case-insensitive) flag.
12
+ * - `RegExp` patterns are re-compiled without the `g` flag (global flag is removed to prevent
13
+ * stateful `lastIndex` bugs when the same pattern is reused across multiple `.test()` calls)
14
+ * and with `i` added if absent.
15
+ * - Cache key for `RegExp` inputs is `source + flags`; for strings it is the string itself.
16
+ *
17
+ * @param pattern - A string or `RegExp` to compile and cache.
18
+ * @returns The compiled, cached `RegExp` instance.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const re = getCompiledPattern('not found');
23
+ * re.test('Resource not found'); // → true
24
+ *
25
+ * const re2 = getCompiledPattern(/ThrottlingException/i);
26
+ * re2.test('ThrottlingException: rate exceeded'); // → true
27
+ * ```
28
+ */
29
+ export declare function getCompiledPattern(pattern: string | RegExp): RegExp;
30
+ /**
31
+ * Extended error mapping interface that includes pre-compiled regex pattern.
32
+ * @private
33
+ */
34
+ interface CompiledErrorMapping extends BaseErrorMapping {
35
+ /** Pre-compiled regex pattern for efficient matching */
36
+ compiledPattern: RegExp;
37
+ }
38
+ /**
39
+ * Maps standard JavaScript error constructor names to `JsonRpcErrorCode` values.
40
+ *
41
+ * Consulted by `ErrorHandler.determineErrorCode` as the first pattern-match step after
42
+ * checking for `McpError` instances. Constructor names are matched via `getErrorName()`.
43
+ *
44
+ * | Constructor | Mapped Code |
45
+ * |-------------|-------------|
46
+ * | `SyntaxError` | `ValidationError` |
47
+ * | `TypeError` | `ValidationError` |
48
+ * | `RangeError` | `ValidationError` |
49
+ * | `URIError` | `ValidationError` |
50
+ * | `ReferenceError` | `InternalError` |
51
+ * | `EvalError` | `InternalError` |
52
+ * | `AggregateError` | `InternalError` |
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * ERROR_TYPE_MAPPINGS['TypeError']; // → JsonRpcErrorCode.ValidationError
57
+ * ```
58
+ */
59
+ export declare const ERROR_TYPE_MAPPINGS: Readonly<Record<string, JsonRpcErrorCode>>;
60
+ /**
61
+ * Pre-compiled common error patterns used by `ErrorHandler.determineErrorCode`.
62
+ *
63
+ * Derived from `COMMON_ERROR_PATTERNS` — each entry has its `pattern` compiled via
64
+ * `getCompiledPattern` at module initialization. Checked after `COMPILED_PROVIDER_PATTERNS`
65
+ * (provider patterns are more specific and take priority).
66
+ *
67
+ * Patterns cover: auth/unauthorized, forbidden, not-found, validation, conflict,
68
+ * rate-limit, timeout/abort, service-unavailable, and Zod schema errors.
69
+ */
70
+ export declare const COMPILED_ERROR_PATTERNS: ReadonlyArray<Readonly<CompiledErrorMapping>>;
71
+ /**
72
+ * Pre-compiled provider-specific error patterns used by `ErrorHandler.determineErrorCode`.
73
+ *
74
+ * Derived from `PROVIDER_ERROR_PATTERNS` — each entry has its `pattern` compiled via
75
+ * `getCompiledPattern` at module initialization. Checked before `COMPILED_ERROR_PATTERNS`
76
+ * because provider patterns are more specific (e.g. `status code 429` is more precise than
77
+ * the generic `rate limit` common pattern).
78
+ *
79
+ * Covers: AWS service errors, HTTP status codes (401/403/404/409/429/5xx),
80
+ * database connection/constraint errors, Supabase JWT/RLS, OpenRouter/LLM quota errors,
81
+ * and low-level network errors (ECONNREFUSED, ECONNRESET, ENOTFOUND, ETIMEDOUT).
82
+ */
83
+ export declare const COMPILED_PROVIDER_PATTERNS: ReadonlyArray<Readonly<CompiledErrorMapping>>;
84
+ export {};
85
+ //# sourceMappingURL=mappings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/mappings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAyBnE;AAED;;;GAGG;AACH,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAQ1E,CAAC;AAkDF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAI7E,CAAC;AA6EN;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAIhF,CAAC"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * @fileoverview Shared error classification constants used by the error handler.
3
+ * Enhanced with regex caching for performance and provider-specific error patterns.
4
+ * @module src/utils/internal/error-handler/mappings
5
+ */
6
+ import { JsonRpcErrorCode } from '../../../types-global/errors.js';
7
+ /**
8
+ * Compiled regex cache for performance optimization.
9
+ * Prevents repeated regex compilation on every error classification.
10
+ * @private
11
+ */
12
+ const COMPILED_PATTERN_CACHE = new Map();
13
+ /**
14
+ * Compiles and caches a regex pattern for repeated use without re-compilation overhead.
15
+ *
16
+ * - String patterns are compiled with the `i` (case-insensitive) flag.
17
+ * - `RegExp` patterns are re-compiled without the `g` flag (global flag is removed to prevent
18
+ * stateful `lastIndex` bugs when the same pattern is reused across multiple `.test()` calls)
19
+ * and with `i` added if absent.
20
+ * - Cache key for `RegExp` inputs is `source + flags`; for strings it is the string itself.
21
+ *
22
+ * @param pattern - A string or `RegExp` to compile and cache.
23
+ * @returns The compiled, cached `RegExp` instance.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const re = getCompiledPattern('not found');
28
+ * re.test('Resource not found'); // → true
29
+ *
30
+ * const re2 = getCompiledPattern(/ThrottlingException/i);
31
+ * re2.test('ThrottlingException: rate exceeded'); // → true
32
+ * ```
33
+ */
34
+ export function getCompiledPattern(pattern) {
35
+ // Create a stable cache key
36
+ const cacheKey = pattern instanceof RegExp ? pattern.source + pattern.flags : pattern;
37
+ // Return cached pattern if available
38
+ if (COMPILED_PATTERN_CACHE.has(cacheKey)) {
39
+ return COMPILED_PATTERN_CACHE.get(cacheKey);
40
+ }
41
+ // Compile new pattern
42
+ let compiled;
43
+ if (pattern instanceof RegExp) {
44
+ // Remove global flag, ensure case-insensitive
45
+ let flags = pattern.flags.replace('g', '');
46
+ if (!flags.includes('i')) {
47
+ flags += 'i';
48
+ }
49
+ compiled = new RegExp(pattern.source, flags);
50
+ }
51
+ else {
52
+ compiled = new RegExp(pattern, 'i');
53
+ }
54
+ // Cache for future use
55
+ COMPILED_PATTERN_CACHE.set(cacheKey, compiled);
56
+ return compiled;
57
+ }
58
+ /**
59
+ * Maps standard JavaScript error constructor names to `JsonRpcErrorCode` values.
60
+ *
61
+ * Consulted by `ErrorHandler.determineErrorCode` as the first pattern-match step after
62
+ * checking for `McpError` instances. Constructor names are matched via `getErrorName()`.
63
+ *
64
+ * | Constructor | Mapped Code |
65
+ * |-------------|-------------|
66
+ * | `SyntaxError` | `ValidationError` |
67
+ * | `TypeError` | `ValidationError` |
68
+ * | `RangeError` | `ValidationError` |
69
+ * | `URIError` | `ValidationError` |
70
+ * | `ReferenceError` | `InternalError` |
71
+ * | `EvalError` | `InternalError` |
72
+ * | `AggregateError` | `InternalError` |
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * ERROR_TYPE_MAPPINGS['TypeError']; // → JsonRpcErrorCode.ValidationError
77
+ * ```
78
+ */
79
+ export const ERROR_TYPE_MAPPINGS = {
80
+ SyntaxError: JsonRpcErrorCode.ValidationError,
81
+ TypeError: JsonRpcErrorCode.ValidationError,
82
+ ReferenceError: JsonRpcErrorCode.InternalError,
83
+ RangeError: JsonRpcErrorCode.ValidationError,
84
+ URIError: JsonRpcErrorCode.ValidationError,
85
+ EvalError: JsonRpcErrorCode.InternalError,
86
+ AggregateError: JsonRpcErrorCode.InternalError,
87
+ };
88
+ /**
89
+ * Common error patterns for classifying errors by message/name.
90
+ * Order matters: more specific patterns should precede generic ones.
91
+ * @private — only consumed via COMPILED_ERROR_PATTERNS
92
+ */
93
+ const COMMON_ERROR_PATTERNS = [
94
+ {
95
+ pattern: /auth|unauthorized|unauthenticated|not.*logged.*in|invalid.*token|expired.*token/i,
96
+ errorCode: JsonRpcErrorCode.Unauthorized,
97
+ },
98
+ {
99
+ pattern: /permission|forbidden|access.*denied|not.*allowed/i,
100
+ errorCode: JsonRpcErrorCode.Forbidden,
101
+ },
102
+ {
103
+ pattern: /not found|missing|no such|doesn't exist|couldn't find/i,
104
+ errorCode: JsonRpcErrorCode.NotFound,
105
+ },
106
+ {
107
+ pattern: /invalid|validation|malformed|bad request|wrong format|missing required/i,
108
+ errorCode: JsonRpcErrorCode.ValidationError,
109
+ },
110
+ {
111
+ pattern: /conflict|already exists|duplicate|unique constraint/i,
112
+ errorCode: JsonRpcErrorCode.Conflict,
113
+ },
114
+ {
115
+ pattern: /rate limit|too many requests|throttled/i,
116
+ errorCode: JsonRpcErrorCode.RateLimited,
117
+ },
118
+ {
119
+ pattern: /timeout|timed out|deadline exceeded/i,
120
+ errorCode: JsonRpcErrorCode.Timeout,
121
+ },
122
+ {
123
+ pattern: /abort(ed)?|cancell?ed/i,
124
+ errorCode: JsonRpcErrorCode.Timeout,
125
+ },
126
+ {
127
+ pattern: /service unavailable|bad gateway|gateway timeout|upstream error/i,
128
+ errorCode: JsonRpcErrorCode.ServiceUnavailable,
129
+ },
130
+ {
131
+ pattern: /zod|zoderror|schema validation/i,
132
+ errorCode: JsonRpcErrorCode.ValidationError,
133
+ },
134
+ ];
135
+ /**
136
+ * Pre-compiled common error patterns used by `ErrorHandler.determineErrorCode`.
137
+ *
138
+ * Derived from `COMMON_ERROR_PATTERNS` — each entry has its `pattern` compiled via
139
+ * `getCompiledPattern` at module initialization. Checked after `COMPILED_PROVIDER_PATTERNS`
140
+ * (provider patterns are more specific and take priority).
141
+ *
142
+ * Patterns cover: auth/unauthorized, forbidden, not-found, validation, conflict,
143
+ * rate-limit, timeout/abort, service-unavailable, and Zod schema errors.
144
+ */
145
+ export const COMPILED_ERROR_PATTERNS = COMMON_ERROR_PATTERNS.map((mapping) => ({
146
+ ...mapping,
147
+ compiledPattern: getCompiledPattern(mapping.pattern),
148
+ }));
149
+ /**
150
+ * Provider-specific error patterns for external service integration.
151
+ * Covers common error formats from AWS, HTTP status codes, databases, and LLM providers.
152
+ * @private — only consumed via COMPILED_PROVIDER_PATTERNS
153
+ */
154
+ const PROVIDER_ERROR_PATTERNS = [
155
+ // AWS Service Errors
156
+ {
157
+ pattern: /ThrottlingException|TooManyRequestsException/i,
158
+ errorCode: JsonRpcErrorCode.RateLimited,
159
+ },
160
+ {
161
+ pattern: /AccessDenied|UnauthorizedOperation/i,
162
+ errorCode: JsonRpcErrorCode.Forbidden,
163
+ },
164
+ {
165
+ pattern: /ResourceNotFoundException/i,
166
+ errorCode: JsonRpcErrorCode.NotFound,
167
+ },
168
+ // HTTP Status-based errors
169
+ { pattern: /status code 401/i, errorCode: JsonRpcErrorCode.Unauthorized },
170
+ { pattern: /status code 403/i, errorCode: JsonRpcErrorCode.Forbidden },
171
+ { pattern: /status code 404/i, errorCode: JsonRpcErrorCode.NotFound },
172
+ { pattern: /status code 409/i, errorCode: JsonRpcErrorCode.Conflict },
173
+ { pattern: /status code 429/i, errorCode: JsonRpcErrorCode.RateLimited },
174
+ {
175
+ pattern: /status code 5\d\d/i,
176
+ errorCode: JsonRpcErrorCode.ServiceUnavailable,
177
+ },
178
+ // Database connection and constraint errors
179
+ {
180
+ pattern: /ECONNREFUSED|connection refused/i,
181
+ errorCode: JsonRpcErrorCode.ServiceUnavailable,
182
+ },
183
+ {
184
+ pattern: /ETIMEDOUT|connection timeout/i,
185
+ errorCode: JsonRpcErrorCode.Timeout,
186
+ },
187
+ {
188
+ pattern: /unique constraint|duplicate key/i,
189
+ errorCode: JsonRpcErrorCode.Conflict,
190
+ },
191
+ {
192
+ pattern: /foreign key constraint/i,
193
+ errorCode: JsonRpcErrorCode.ValidationError,
194
+ },
195
+ // Supabase-specific errors
196
+ { pattern: /JWT expired/i, errorCode: JsonRpcErrorCode.Unauthorized },
197
+ {
198
+ pattern: /row level security/i,
199
+ errorCode: JsonRpcErrorCode.Forbidden,
200
+ },
201
+ // OpenRouter/LLM provider errors
202
+ {
203
+ pattern: /insufficient_quota|quota exceeded/i,
204
+ errorCode: JsonRpcErrorCode.RateLimited,
205
+ },
206
+ { pattern: /model_not_found/i, errorCode: JsonRpcErrorCode.NotFound },
207
+ {
208
+ pattern: /context_length_exceeded/i,
209
+ errorCode: JsonRpcErrorCode.ValidationError,
210
+ },
211
+ // Network errors
212
+ { pattern: /ENOTFOUND|DNS/i, errorCode: JsonRpcErrorCode.ServiceUnavailable },
213
+ {
214
+ pattern: /ECONNRESET|connection reset/i,
215
+ errorCode: JsonRpcErrorCode.ServiceUnavailable,
216
+ },
217
+ ];
218
+ /**
219
+ * Pre-compiled provider-specific error patterns used by `ErrorHandler.determineErrorCode`.
220
+ *
221
+ * Derived from `PROVIDER_ERROR_PATTERNS` — each entry has its `pattern` compiled via
222
+ * `getCompiledPattern` at module initialization. Checked before `COMPILED_ERROR_PATTERNS`
223
+ * because provider patterns are more specific (e.g. `status code 429` is more precise than
224
+ * the generic `rate limit` common pattern).
225
+ *
226
+ * Covers: AWS service errors, HTTP status codes (401/403/404/409/429/5xx),
227
+ * database connection/constraint errors, Supabase JWT/RLS, OpenRouter/LLM quota errors,
228
+ * and low-level network errors (ECONNREFUSED, ECONNRESET, ENOTFOUND, ETIMEDOUT).
229
+ */
230
+ export const COMPILED_PROVIDER_PATTERNS = PROVIDER_ERROR_PATTERNS.map((mapping) => ({
231
+ ...mapping,
232
+ compiledPattern: getCompiledPattern(mapping.pattern),
233
+ }));
234
+ //# sourceMappingURL=mappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappings.js","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/mappings.ts"],"names":[],"mappings":"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"}