@ibm/ibmi-mcp-server 0.1.0

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 (482) hide show
  1. package/README.md +88 -0
  2. package/dist/config/index.d.ts +100 -0
  3. package/dist/config/index.d.ts.map +1 -0
  4. package/dist/config/index.js +463 -0
  5. package/dist/config/index.js.map +1 -0
  6. package/dist/config/resolver.d.ts +32 -0
  7. package/dist/config/resolver.d.ts.map +1 -0
  8. package/dist/config/resolver.js +60 -0
  9. package/dist/config/resolver.js.map +1 -0
  10. package/dist/ibmi-mcp-server/auth/crypto.d.ts +11 -0
  11. package/dist/ibmi-mcp-server/auth/crypto.d.ts.map +1 -0
  12. package/dist/ibmi-mcp-server/auth/crypto.js +100 -0
  13. package/dist/ibmi-mcp-server/auth/crypto.js.map +1 -0
  14. package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.d.ts +28 -0
  15. package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.d.ts.map +1 -0
  16. package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.js +243 -0
  17. package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.js.map +1 -0
  18. package/dist/ibmi-mcp-server/auth/index.d.ts +9 -0
  19. package/dist/ibmi-mcp-server/auth/index.d.ts.map +1 -0
  20. package/dist/ibmi-mcp-server/auth/index.js +8 -0
  21. package/dist/ibmi-mcp-server/auth/index.js.map +1 -0
  22. package/dist/ibmi-mcp-server/auth/tokenManager.d.ts +86 -0
  23. package/dist/ibmi-mcp-server/auth/tokenManager.d.ts.map +1 -0
  24. package/dist/ibmi-mcp-server/auth/tokenManager.js +214 -0
  25. package/dist/ibmi-mcp-server/auth/tokenManager.js.map +1 -0
  26. package/dist/ibmi-mcp-server/auth/types.d.ts +31 -0
  27. package/dist/ibmi-mcp-server/auth/types.d.ts.map +1 -0
  28. package/dist/ibmi-mcp-server/auth/types.js +5 -0
  29. package/dist/ibmi-mcp-server/auth/types.js.map +1 -0
  30. package/dist/ibmi-mcp-server/index.d.ts +8 -0
  31. package/dist/ibmi-mcp-server/index.d.ts.map +1 -0
  32. package/dist/ibmi-mcp-server/index.js +126 -0
  33. package/dist/ibmi-mcp-server/index.js.map +1 -0
  34. package/dist/ibmi-mcp-server/resources/toolsetsResource/index.d.ts +7 -0
  35. package/dist/ibmi-mcp-server/resources/toolsetsResource/index.d.ts.map +1 -0
  36. package/dist/ibmi-mcp-server/resources/toolsetsResource/index.js +7 -0
  37. package/dist/ibmi-mcp-server/resources/toolsetsResource/index.js.map +1 -0
  38. package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.d.ts +106 -0
  39. package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.d.ts.map +1 -0
  40. package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.js +145 -0
  41. package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.js.map +1 -0
  42. package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.d.ts +16 -0
  43. package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.d.ts.map +1 -0
  44. package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.js +110 -0
  45. package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.js.map +1 -0
  46. package/dist/ibmi-mcp-server/schemas/common.d.ts +174 -0
  47. package/dist/ibmi-mcp-server/schemas/common.d.ts.map +1 -0
  48. package/dist/ibmi-mcp-server/schemas/common.js +119 -0
  49. package/dist/ibmi-mcp-server/schemas/common.js.map +1 -0
  50. package/dist/ibmi-mcp-server/schemas/config.d.ts +858 -0
  51. package/dist/ibmi-mcp-server/schemas/config.d.ts.map +1 -0
  52. package/dist/ibmi-mcp-server/schemas/config.js +248 -0
  53. package/dist/ibmi-mcp-server/schemas/config.js.map +1 -0
  54. package/dist/ibmi-mcp-server/schemas/index.d.ts +12 -0
  55. package/dist/ibmi-mcp-server/schemas/index.d.ts.map +1 -0
  56. package/dist/ibmi-mcp-server/schemas/index.js +20 -0
  57. package/dist/ibmi-mcp-server/schemas/index.js.map +1 -0
  58. package/dist/ibmi-mcp-server/schemas/tools.d.ts +287 -0
  59. package/dist/ibmi-mcp-server/schemas/tools.d.ts.map +1 -0
  60. package/dist/ibmi-mcp-server/schemas/tools.js +167 -0
  61. package/dist/ibmi-mcp-server/schemas/tools.js.map +1 -0
  62. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +82 -0
  63. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -0
  64. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +262 -0
  65. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -0
  66. package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +130 -0
  67. package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -0
  68. package/dist/ibmi-mcp-server/services/baseConnectionPool.js +431 -0
  69. package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -0
  70. package/dist/ibmi-mcp-server/services/connectionPool.d.ts +60 -0
  71. package/dist/ibmi-mcp-server/services/connectionPool.d.ts.map +1 -0
  72. package/dist/ibmi-mcp-server/services/connectionPool.js +153 -0
  73. package/dist/ibmi-mcp-server/services/connectionPool.js.map +1 -0
  74. package/dist/ibmi-mcp-server/services/securityValidation.d.ts +35 -0
  75. package/dist/ibmi-mcp-server/services/securityValidation.d.ts.map +1 -0
  76. package/dist/ibmi-mcp-server/services/securityValidation.js +93 -0
  77. package/dist/ibmi-mcp-server/services/securityValidation.js.map +1 -0
  78. package/dist/ibmi-mcp-server/services/sourceManager.d.ts +82 -0
  79. package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -0
  80. package/dist/ibmi-mcp-server/services/sourceManager.js +151 -0
  81. package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -0
  82. package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts +9 -0
  83. package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts.map +1 -0
  84. package/dist/ibmi-mcp-server/tools/executeSql/index.js +9 -0
  85. package/dist/ibmi-mcp-server/tools/executeSql/index.js.map +1 -0
  86. package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts +51 -0
  87. package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts.map +1 -0
  88. package/dist/ibmi-mcp-server/tools/executeSql/logic.js +179 -0
  89. package/dist/ibmi-mcp-server/tools/executeSql/logic.js.map +1 -0
  90. package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts +52 -0
  91. package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts.map +1 -0
  92. package/dist/ibmi-mcp-server/tools/executeSql/registration.js +161 -0
  93. package/dist/ibmi-mcp-server/tools/executeSql/registration.js.map +1 -0
  94. package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts +13 -0
  95. package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts.map +1 -0
  96. package/dist/ibmi-mcp-server/tools/generateSql/index.js +13 -0
  97. package/dist/ibmi-mcp-server/tools/generateSql/index.js.map +1 -0
  98. package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts +64 -0
  99. package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts.map +1 -0
  100. package/dist/ibmi-mcp-server/tools/generateSql/logic.js +190 -0
  101. package/dist/ibmi-mcp-server/tools/generateSql/logic.js.map +1 -0
  102. package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts +18 -0
  103. package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts.map +1 -0
  104. package/dist/ibmi-mcp-server/tools/generateSql/registration.js +64 -0
  105. package/dist/ibmi-mcp-server/tools/generateSql/registration.js.map +1 -0
  106. package/dist/ibmi-mcp-server/utils/cli/argumentParser.d.ts +42 -0
  107. package/dist/ibmi-mcp-server/utils/cli/argumentParser.d.ts.map +1 -0
  108. package/dist/ibmi-mcp-server/utils/cli/argumentParser.js +156 -0
  109. package/dist/ibmi-mcp-server/utils/cli/argumentParser.js.map +1 -0
  110. package/dist/ibmi-mcp-server/utils/cli/index.d.ts +6 -0
  111. package/dist/ibmi-mcp-server/utils/cli/index.d.ts.map +1 -0
  112. package/dist/ibmi-mcp-server/utils/cli/index.js +6 -0
  113. package/dist/ibmi-mcp-server/utils/cli/index.js.map +1 -0
  114. package/dist/ibmi-mcp-server/utils/config/configParser.d.ts +77 -0
  115. package/dist/ibmi-mcp-server/utils/config/configParser.d.ts.map +1 -0
  116. package/dist/ibmi-mcp-server/utils/config/configParser.js +309 -0
  117. package/dist/ibmi-mcp-server/utils/config/configParser.js.map +1 -0
  118. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.d.ts +143 -0
  119. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.d.ts.map +1 -0
  120. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js +665 -0
  121. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js.map +1 -0
  122. package/dist/ibmi-mcp-server/utils/config/toolConfigCache.d.ts +71 -0
  123. package/dist/ibmi-mcp-server/utils/config/toolConfigCache.d.ts.map +1 -0
  124. package/dist/ibmi-mcp-server/utils/config/toolConfigCache.js +158 -0
  125. package/dist/ibmi-mcp-server/utils/config/toolConfigCache.js.map +1 -0
  126. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts +206 -0
  127. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts.map +1 -0
  128. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js +236 -0
  129. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js.map +1 -0
  130. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts +65 -0
  131. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -0
  132. package/dist/ibmi-mcp-server/utils/config/toolFactory.js +236 -0
  133. package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -0
  134. package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts +175 -0
  135. package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts.map +1 -0
  136. package/dist/ibmi-mcp-server/utils/config/toolProcessor.js +460 -0
  137. package/dist/ibmi-mcp-server/utils/config/toolProcessor.js.map +1 -0
  138. package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts +126 -0
  139. package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts.map +1 -0
  140. package/dist/ibmi-mcp-server/utils/config/toolsetManager.js +240 -0
  141. package/dist/ibmi-mcp-server/utils/config/toolsetManager.js.map +1 -0
  142. package/dist/ibmi-mcp-server/utils/config/types.d.ts +74 -0
  143. package/dist/ibmi-mcp-server/utils/config/types.d.ts.map +1 -0
  144. package/dist/ibmi-mcp-server/utils/config/types.js +8 -0
  145. package/dist/ibmi-mcp-server/utils/config/types.js.map +1 -0
  146. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts +116 -0
  147. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts.map +1 -0
  148. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js +426 -0
  149. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js.map +1 -0
  150. package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.d.ts +182 -0
  151. package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.d.ts.map +1 -0
  152. package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.js +726 -0
  153. package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.js.map +1 -0
  154. package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.d.ts +90 -0
  155. package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.d.ts.map +1 -0
  156. package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.js +187 -0
  157. package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.js.map +1 -0
  158. package/dist/index.d.ts +10 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +270 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/mcp-server/constants.d.ts +13 -0
  163. package/dist/mcp-server/constants.d.ts.map +1 -0
  164. package/dist/mcp-server/constants.js +13 -0
  165. package/dist/mcp-server/constants.js.map +1 -0
  166. package/dist/mcp-server/logging/index.d.ts +8 -0
  167. package/dist/mcp-server/logging/index.d.ts.map +1 -0
  168. package/dist/mcp-server/logging/index.js +8 -0
  169. package/dist/mcp-server/logging/index.js.map +1 -0
  170. package/dist/mcp-server/logging/setLevelHandler.d.ts +38 -0
  171. package/dist/mcp-server/logging/setLevelHandler.d.ts.map +1 -0
  172. package/dist/mcp-server/logging/setLevelHandler.js +83 -0
  173. package/dist/mcp-server/logging/setLevelHandler.js.map +1 -0
  174. package/dist/mcp-server/resources/echoResource/index.d.ts +14 -0
  175. package/dist/mcp-server/resources/echoResource/index.d.ts.map +1 -0
  176. package/dist/mcp-server/resources/echoResource/index.js +14 -0
  177. package/dist/mcp-server/resources/echoResource/index.js.map +1 -0
  178. package/dist/mcp-server/resources/echoResource/logic.d.ts +37 -0
  179. package/dist/mcp-server/resources/echoResource/logic.d.ts.map +1 -0
  180. package/dist/mcp-server/resources/echoResource/logic.js +46 -0
  181. package/dist/mcp-server/resources/echoResource/logic.js.map +1 -0
  182. package/dist/mcp-server/resources/echoResource/registration.d.ts +7 -0
  183. package/dist/mcp-server/resources/echoResource/registration.d.ts.map +1 -0
  184. package/dist/mcp-server/resources/echoResource/registration.js +51 -0
  185. package/dist/mcp-server/resources/echoResource/registration.js.map +1 -0
  186. package/dist/mcp-server/resources/index.d.ts +10 -0
  187. package/dist/mcp-server/resources/index.d.ts.map +1 -0
  188. package/dist/mcp-server/resources/index.js +19 -0
  189. package/dist/mcp-server/resources/index.js.map +1 -0
  190. package/dist/mcp-server/resources/utils/resource-utils.d.ts +43 -0
  191. package/dist/mcp-server/resources/utils/resource-utils.d.ts.map +1 -0
  192. package/dist/mcp-server/resources/utils/resource-utils.js +44 -0
  193. package/dist/mcp-server/resources/utils/resource-utils.js.map +1 -0
  194. package/dist/mcp-server/server.d.ts +23 -0
  195. package/dist/mcp-server/server.d.ts.map +1 -0
  196. package/dist/mcp-server/server.js +114 -0
  197. package/dist/mcp-server/server.js.map +1 -0
  198. package/dist/mcp-server/tools/catFactFetcher/index.d.ts +8 -0
  199. package/dist/mcp-server/tools/catFactFetcher/index.d.ts.map +1 -0
  200. package/dist/mcp-server/tools/catFactFetcher/index.js +8 -0
  201. package/dist/mcp-server/tools/catFactFetcher/index.js.map +1 -0
  202. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts +52 -0
  203. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts.map +1 -0
  204. package/dist/mcp-server/tools/catFactFetcher/logic.js +95 -0
  205. package/dist/mcp-server/tools/catFactFetcher/logic.js.map +1 -0
  206. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts +9 -0
  207. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts.map +1 -0
  208. package/dist/mcp-server/tools/catFactFetcher/registration.js +43 -0
  209. package/dist/mcp-server/tools/catFactFetcher/registration.js.map +1 -0
  210. package/dist/mcp-server/tools/echoTool/index.d.ts +13 -0
  211. package/dist/mcp-server/tools/echoTool/index.d.ts.map +1 -0
  212. package/dist/mcp-server/tools/echoTool/index.js +13 -0
  213. package/dist/mcp-server/tools/echoTool/index.js.map +1 -0
  214. package/dist/mcp-server/tools/echoTool/logic.d.ts +69 -0
  215. package/dist/mcp-server/tools/echoTool/logic.d.ts.map +1 -0
  216. package/dist/mcp-server/tools/echoTool/logic.js +119 -0
  217. package/dist/mcp-server/tools/echoTool/logic.js.map +1 -0
  218. package/dist/mcp-server/tools/echoTool/registration.d.ts +9 -0
  219. package/dist/mcp-server/tools/echoTool/registration.d.ts.map +1 -0
  220. package/dist/mcp-server/tools/echoTool/registration.js +45 -0
  221. package/dist/mcp-server/tools/echoTool/registration.js.map +1 -0
  222. package/dist/mcp-server/tools/imageTest/index.d.ts +7 -0
  223. package/dist/mcp-server/tools/imageTest/index.d.ts.map +1 -0
  224. package/dist/mcp-server/tools/imageTest/index.js +7 -0
  225. package/dist/mcp-server/tools/imageTest/index.js.map +1 -0
  226. package/dist/mcp-server/tools/imageTest/logic.d.ts +27 -0
  227. package/dist/mcp-server/tools/imageTest/logic.d.ts.map +1 -0
  228. package/dist/mcp-server/tools/imageTest/logic.js +44 -0
  229. package/dist/mcp-server/tools/imageTest/logic.js.map +1 -0
  230. package/dist/mcp-server/tools/imageTest/registration.d.ts +9 -0
  231. package/dist/mcp-server/tools/imageTest/registration.d.ts.map +1 -0
  232. package/dist/mcp-server/tools/imageTest/registration.js +49 -0
  233. package/dist/mcp-server/tools/imageTest/registration.js.map +1 -0
  234. package/dist/mcp-server/tools/index.d.ts +4 -0
  235. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  236. package/dist/mcp-server/tools/index.js +13 -0
  237. package/dist/mcp-server/tools/index.js.map +1 -0
  238. package/dist/mcp-server/tools/utils/tool-utils.d.ts +43 -0
  239. package/dist/mcp-server/tools/utils/tool-utils.d.ts.map +1 -0
  240. package/dist/mcp-server/tools/utils/tool-utils.js +44 -0
  241. package/dist/mcp-server/tools/utils/tool-utils.js.map +1 -0
  242. package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
  243. package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
  244. package/dist/mcp-server/transports/auth/authFactory.js +46 -0
  245. package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
  246. package/dist/mcp-server/transports/auth/authMiddleware.d.ts +20 -0
  247. package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
  248. package/dist/mcp-server/transports/auth/authMiddleware.js +58 -0
  249. package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
  250. package/dist/mcp-server/transports/auth/index.d.ts +14 -0
  251. package/dist/mcp-server/transports/auth/index.d.ts.map +1 -0
  252. package/dist/mcp-server/transports/auth/index.js +12 -0
  253. package/dist/mcp-server/transports/auth/index.js.map +1 -0
  254. package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
  255. package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
  256. package/dist/mcp-server/transports/auth/lib/authContext.js +25 -0
  257. package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
  258. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +15 -0
  259. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
  260. package/dist/mcp-server/transports/auth/lib/authTypes.js +9 -0
  261. package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
  262. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +19 -0
  263. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
  264. package/dist/mcp-server/transports/auth/lib/authUtils.js +53 -0
  265. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
  266. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
  267. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
  268. package/dist/mcp-server/transports/auth/strategies/authStrategy.js +2 -0
  269. package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
  270. package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.d.ts +21 -0
  271. package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.d.ts.map +1 -0
  272. package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.js +64 -0
  273. package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.js.map +1 -0
  274. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +8 -0
  275. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
  276. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +118 -0
  277. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
  278. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +8 -0
  279. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
  280. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +118 -0
  281. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
  282. package/dist/mcp-server/transports/core/autoTransportManager.d.ts +48 -0
  283. package/dist/mcp-server/transports/core/autoTransportManager.d.ts.map +1 -0
  284. package/dist/mcp-server/transports/core/autoTransportManager.js +57 -0
  285. package/dist/mcp-server/transports/core/autoTransportManager.js.map +1 -0
  286. package/dist/mcp-server/transports/core/baseTransportManager.d.ts +17 -0
  287. package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -0
  288. package/dist/mcp-server/transports/core/baseTransportManager.js +20 -0
  289. package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -0
  290. package/dist/mcp-server/transports/core/headerUtils.d.ts +27 -0
  291. package/dist/mcp-server/transports/core/headerUtils.d.ts.map +1 -0
  292. package/dist/mcp-server/transports/core/headerUtils.js +53 -0
  293. package/dist/mcp-server/transports/core/headerUtils.js.map +1 -0
  294. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +77 -0
  295. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -0
  296. package/dist/mcp-server/transports/core/honoNodeBridge.js +150 -0
  297. package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -0
  298. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +81 -0
  299. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -0
  300. package/dist/mcp-server/transports/core/statefulTransportManager.js +326 -0
  301. package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -0
  302. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +57 -0
  303. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -0
  304. package/dist/mcp-server/transports/core/statelessTransportManager.js +151 -0
  305. package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -0
  306. package/dist/mcp-server/transports/core/transportRequest.d.ts +9 -0
  307. package/dist/mcp-server/transports/core/transportRequest.d.ts.map +1 -0
  308. package/dist/mcp-server/transports/core/transportRequest.js +2 -0
  309. package/dist/mcp-server/transports/core/transportRequest.js.map +1 -0
  310. package/dist/mcp-server/transports/core/transportTypes.d.ts +112 -0
  311. package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -0
  312. package/dist/mcp-server/transports/core/transportTypes.js +15 -0
  313. package/dist/mcp-server/transports/core/transportTypes.js.map +1 -0
  314. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +25 -0
  315. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
  316. package/dist/mcp-server/transports/http/httpErrorHandler.js +86 -0
  317. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
  318. package/dist/mcp-server/transports/http/httpTransport.d.ts +27 -0
  319. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
  320. package/dist/mcp-server/transports/http/httpTransport.js +407 -0
  321. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
  322. package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
  323. package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
  324. package/dist/mcp-server/transports/http/httpTypes.js +6 -0
  325. package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
  326. package/dist/mcp-server/transports/http/index.d.ts +8 -0
  327. package/dist/mcp-server/transports/http/index.d.ts.map +1 -0
  328. package/dist/mcp-server/transports/http/index.js +7 -0
  329. package/dist/mcp-server/transports/http/index.js.map +1 -0
  330. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +21 -0
  331. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -0
  332. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +54 -0
  333. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -0
  334. package/dist/mcp-server/transports/stdio/index.d.ts +6 -0
  335. package/dist/mcp-server/transports/stdio/index.d.ts.map +1 -0
  336. package/dist/mcp-server/transports/stdio/index.js +6 -0
  337. package/dist/mcp-server/transports/stdio/index.js.map +1 -0
  338. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +43 -0
  339. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
  340. package/dist/mcp-server/transports/stdio/stdioTransport.js +71 -0
  341. package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
  342. package/dist/services/duck-db/duckDBConnectionManager.d.ts +55 -0
  343. package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +1 -0
  344. package/dist/services/duck-db/duckDBConnectionManager.js +184 -0
  345. package/dist/services/duck-db/duckDBConnectionManager.js.map +1 -0
  346. package/dist/services/duck-db/duckDBQueryExecutor.d.ts +18 -0
  347. package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +1 -0
  348. package/dist/services/duck-db/duckDBQueryExecutor.js +115 -0
  349. package/dist/services/duck-db/duckDBQueryExecutor.js.map +1 -0
  350. package/dist/services/duck-db/duckDBService.d.ts +27 -0
  351. package/dist/services/duck-db/duckDBService.d.ts.map +1 -0
  352. package/dist/services/duck-db/duckDBService.js +151 -0
  353. package/dist/services/duck-db/duckDBService.js.map +1 -0
  354. package/dist/services/duck-db/types.d.ts +135 -0
  355. package/dist/services/duck-db/types.d.ts.map +1 -0
  356. package/dist/services/duck-db/types.js +6 -0
  357. package/dist/services/duck-db/types.js.map +1 -0
  358. package/dist/services/llm-providers/openRouterProvider.d.ts +36 -0
  359. package/dist/services/llm-providers/openRouterProvider.d.ts.map +1 -0
  360. package/dist/services/llm-providers/openRouterProvider.js +235 -0
  361. package/dist/services/llm-providers/openRouterProvider.js.map +1 -0
  362. package/dist/services/supabase/supabaseClient.d.ts +25 -0
  363. package/dist/services/supabase/supabaseClient.d.ts.map +1 -0
  364. package/dist/services/supabase/supabaseClient.js +68 -0
  365. package/dist/services/supabase/supabaseClient.js.map +1 -0
  366. package/dist/storage/duckdbExample.d.ts +8 -0
  367. package/dist/storage/duckdbExample.d.ts.map +1 -0
  368. package/dist/storage/duckdbExample.js +197 -0
  369. package/dist/storage/duckdbExample.js.map +1 -0
  370. package/dist/types-global/errors.d.ts +101 -0
  371. package/dist/types-global/errors.d.ts.map +1 -0
  372. package/dist/types-global/errors.js +109 -0
  373. package/dist/types-global/errors.js.map +1 -0
  374. package/dist/utils/formatting/index.d.ts +10 -0
  375. package/dist/utils/formatting/index.d.ts.map +1 -0
  376. package/dist/utils/formatting/index.js +10 -0
  377. package/dist/utils/formatting/index.js.map +1 -0
  378. package/dist/utils/formatting/markdownBuilder.d.ts +348 -0
  379. package/dist/utils/formatting/markdownBuilder.d.ts.map +1 -0
  380. package/dist/utils/formatting/markdownBuilder.js +501 -0
  381. package/dist/utils/formatting/markdownBuilder.js.map +1 -0
  382. package/dist/utils/formatting/sqlFormattingUtils.d.ts +69 -0
  383. package/dist/utils/formatting/sqlFormattingUtils.d.ts.map +1 -0
  384. package/dist/utils/formatting/sqlFormattingUtils.js +131 -0
  385. package/dist/utils/formatting/sqlFormattingUtils.js.map +1 -0
  386. package/dist/utils/formatting/tableFormatter.d.ts +268 -0
  387. package/dist/utils/formatting/tableFormatter.d.ts.map +1 -0
  388. package/dist/utils/formatting/tableFormatter.js +550 -0
  389. package/dist/utils/formatting/tableFormatter.js.map +1 -0
  390. package/dist/utils/index.d.ts +13 -0
  391. package/dist/utils/index.d.ts.map +1 -0
  392. package/dist/utils/index.js +21 -0
  393. package/dist/utils/index.js.map +1 -0
  394. package/dist/utils/internal/asyncContext.d.ts +35 -0
  395. package/dist/utils/internal/asyncContext.d.ts.map +1 -0
  396. package/dist/utils/internal/asyncContext.js +38 -0
  397. package/dist/utils/internal/asyncContext.js.map +1 -0
  398. package/dist/utils/internal/errorHandler.d.ts +95 -0
  399. package/dist/utils/internal/errorHandler.d.ts.map +1 -0
  400. package/dist/utils/internal/errorHandler.js +210 -0
  401. package/dist/utils/internal/errorHandler.js.map +1 -0
  402. package/dist/utils/internal/index.d.ts +12 -0
  403. package/dist/utils/internal/index.d.ts.map +1 -0
  404. package/dist/utils/internal/index.js +12 -0
  405. package/dist/utils/internal/index.js.map +1 -0
  406. package/dist/utils/internal/logger.d.ts +30 -0
  407. package/dist/utils/internal/logger.d.ts.map +1 -0
  408. package/dist/utils/internal/logger.js +228 -0
  409. package/dist/utils/internal/logger.js.map +1 -0
  410. package/dist/utils/internal/logging-helpers.d.ts +49 -0
  411. package/dist/utils/internal/logging-helpers.d.ts.map +1 -0
  412. package/dist/utils/internal/logging-helpers.js +60 -0
  413. package/dist/utils/internal/logging-helpers.js.map +1 -0
  414. package/dist/utils/internal/performance.d.ts +19 -0
  415. package/dist/utils/internal/performance.d.ts.map +1 -0
  416. package/dist/utils/internal/performance.js +110 -0
  417. package/dist/utils/internal/performance.js.map +1 -0
  418. package/dist/utils/internal/requestContext.d.ts +41 -0
  419. package/dist/utils/internal/requestContext.d.ts.map +1 -0
  420. package/dist/utils/internal/requestContext.js +47 -0
  421. package/dist/utils/internal/requestContext.js.map +1 -0
  422. package/dist/utils/metrics/index.d.ts +8 -0
  423. package/dist/utils/metrics/index.d.ts.map +1 -0
  424. package/dist/utils/metrics/index.js +8 -0
  425. package/dist/utils/metrics/index.js.map +1 -0
  426. package/dist/utils/metrics/tokenCounter.d.ts +36 -0
  427. package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
  428. package/dist/utils/metrics/tokenCounter.js +115 -0
  429. package/dist/utils/metrics/tokenCounter.js.map +1 -0
  430. package/dist/utils/network/fetchWithTimeout.d.ts +22 -0
  431. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
  432. package/dist/utils/network/fetchWithTimeout.js +78 -0
  433. package/dist/utils/network/fetchWithTimeout.js.map +1 -0
  434. package/dist/utils/network/index.d.ts +7 -0
  435. package/dist/utils/network/index.d.ts.map +1 -0
  436. package/dist/utils/network/index.js +6 -0
  437. package/dist/utils/network/index.js.map +1 -0
  438. package/dist/utils/parsing/dateParser.d.ts +73 -0
  439. package/dist/utils/parsing/dateParser.d.ts.map +1 -0
  440. package/dist/utils/parsing/dateParser.js +108 -0
  441. package/dist/utils/parsing/dateParser.js.map +1 -0
  442. package/dist/utils/parsing/index.d.ts +9 -0
  443. package/dist/utils/parsing/index.d.ts.map +1 -0
  444. package/dist/utils/parsing/index.js +9 -0
  445. package/dist/utils/parsing/index.js.map +1 -0
  446. package/dist/utils/parsing/jsonParser.d.ts +83 -0
  447. package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
  448. package/dist/utils/parsing/jsonParser.js +128 -0
  449. package/dist/utils/parsing/jsonParser.js.map +1 -0
  450. package/dist/utils/scheduling/index.d.ts +7 -0
  451. package/dist/utils/scheduling/index.d.ts.map +1 -0
  452. package/dist/utils/scheduling/index.js +7 -0
  453. package/dist/utils/scheduling/index.js.map +1 -0
  454. package/dist/utils/scheduling/scheduler.d.ts +73 -0
  455. package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
  456. package/dist/utils/scheduling/scheduler.js +155 -0
  457. package/dist/utils/scheduling/scheduler.js.map +1 -0
  458. package/dist/utils/security/idGenerator.d.ts +144 -0
  459. package/dist/utils/security/idGenerator.d.ts.map +1 -0
  460. package/dist/utils/security/idGenerator.js +232 -0
  461. package/dist/utils/security/idGenerator.js.map +1 -0
  462. package/dist/utils/security/index.d.ts +10 -0
  463. package/dist/utils/security/index.d.ts.map +1 -0
  464. package/dist/utils/security/index.js +10 -0
  465. package/dist/utils/security/index.js.map +1 -0
  466. package/dist/utils/security/rateLimiter.d.ts +109 -0
  467. package/dist/utils/security/rateLimiter.d.ts.map +1 -0
  468. package/dist/utils/security/rateLimiter.js +202 -0
  469. package/dist/utils/security/rateLimiter.js.map +1 -0
  470. package/dist/utils/security/sanitization.d.ts +185 -0
  471. package/dist/utils/security/sanitization.d.ts.map +1 -0
  472. package/dist/utils/security/sanitization.js +472 -0
  473. package/dist/utils/security/sanitization.js.map +1 -0
  474. package/dist/utils/telemetry/instrumentation.d.ts +8 -0
  475. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -0
  476. package/dist/utils/telemetry/instrumentation.js +121 -0
  477. package/dist/utils/telemetry/instrumentation.js.map +1 -0
  478. package/dist/utils/telemetry/semconv.d.ts +16 -0
  479. package/dist/utils/telemetry/semconv.d.ts.map +1 -0
  480. package/dist/utils/telemetry/semconv.js +16 -0
  481. package/dist/utils/telemetry/semconv.js.map +1 -0
  482. package/package.json +161 -0
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Global constants for MCP-related configuration and specification metadata.
3
+ */
4
+ /**
5
+ * The MCP specification snapshot version used by this server.
6
+ * Keep in sync with documentation references and transport implementations.
7
+ */
8
+ export declare const MCP_SPEC_VERSION: "2025-06-18";
9
+ /** Base URL to the MCP specification directory for the selected version. */
10
+ export declare const MCP_SPEC_URL_BASE: "https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification";
11
+ /** Convenience link to the stdio transport spec for the selected version. */
12
+ export declare const MCP_STDIO_SPEC_URL: "https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-06-18/basic/transports.mdx#stdio";
13
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/mcp-server/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAG,YAAqB,CAAC;AAEtD,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,EAC5B,2FAAoG,CAAC;AAEvG,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,mIACiD,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Global constants for MCP-related configuration and specification metadata.
3
+ */
4
+ /**
5
+ * The MCP specification snapshot version used by this server.
6
+ * Keep in sync with documentation references and transport implementations.
7
+ */
8
+ export const MCP_SPEC_VERSION = "2025-06-18";
9
+ /** Base URL to the MCP specification directory for the selected version. */
10
+ export const MCP_SPEC_URL_BASE = "https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification";
11
+ /** Convenience link to the stdio transport spec for the selected version. */
12
+ export const MCP_STDIO_SPEC_URL = `${MCP_SPEC_URL_BASE}/${MCP_SPEC_VERSION}/basic/transports.mdx#stdio`;
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/mcp-server/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAqB,CAAC;AAEtD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAC5B,2FAAoG,CAAC;AAEvG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAC7B,GAAG,iBAAiB,IAAI,gBAAgB,6BAAsC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Barrel export for MCP logging protocol handlers.
3
+ * This module provides a centralized export point for all logging-related
4
+ * MCP protocol implementations.
5
+ * @module src/mcp-server/logging
6
+ */
7
+ export { registerLoggingSetLevelHandler } from "./setLevelHandler.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Barrel export for MCP logging protocol handlers.
3
+ * This module provides a centralized export point for all logging-related
4
+ * MCP protocol implementations.
5
+ * @module src/mcp-server/logging
6
+ */
7
+ export { registerLoggingSetLevelHandler } from "./setLevelHandler.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @fileoverview Implements the MCP logging/setLevel request handler.
3
+ * This module enables MCP clients (like Claude Desktop, Inspector) to dynamically
4
+ * control the server's logging verbosity at runtime, per the MCP specification.
5
+ *
6
+ * MCP Specification Reference:
7
+ * - Logging: https://modelcontextprotocol.io/specification/2025-03-26/server/utilities/logging
8
+ *
9
+ * @module src/mcp-server/logging/setLevelHandler
10
+ * @see {@link https://github.com/modelcontextprotocol/inspector/issues/610} for context on this requirement
11
+ */
12
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
+ /**
14
+ * Registers the `logging/setLevel` request handler with the MCP server.
15
+ *
16
+ * This handler allows MCP clients to dynamically adjust the server's minimum
17
+ * log level. When a client sends a `logging/setLevel` request, the server will:
18
+ * 1. Validate the requested level (via Zod schema)
19
+ * 2. Update the internal logger's minimum level
20
+ * 3. Return an empty result to acknowledge the change
21
+ *
22
+ * Per the MCP specification, the server must respond with an empty result
23
+ * object upon successful configuration.
24
+ *
25
+ * Supported log levels (per RFC 5424 syslog severity):
26
+ * - debug, info, notice, warning, error, critical, alert, emergency
27
+ *
28
+ * @param server - The McpServer instance to attach the handler to
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const server = new McpServer({ name: "my-server", version: "1.0.0" });
33
+ * registerLoggingSetLevelHandler(server);
34
+ * await server.connect(transport);
35
+ * ```
36
+ */
37
+ export declare function registerLoggingSetLevelHandler(server: McpServer): void;
38
+ //# sourceMappingURL=setLevelHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setLevelHandler.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/logging/setLevelHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwDtE"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @fileoverview Implements the MCP logging/setLevel request handler.
3
+ * This module enables MCP clients (like Claude Desktop, Inspector) to dynamically
4
+ * control the server's logging verbosity at runtime, per the MCP specification.
5
+ *
6
+ * MCP Specification Reference:
7
+ * - Logging: https://modelcontextprotocol.io/specification/2025-03-26/server/utilities/logging
8
+ *
9
+ * @module src/mcp-server/logging/setLevelHandler
10
+ * @see {@link https://github.com/modelcontextprotocol/inspector/issues/610} for context on this requirement
11
+ */
12
+ import { SetLevelRequestSchema } from "@modelcontextprotocol/sdk/types.js";
13
+ import { logger } from "../../utils/internal/logger.js";
14
+ import { requestContextService } from "../../utils/index.js";
15
+ /**
16
+ * Registers the `logging/setLevel` request handler with the MCP server.
17
+ *
18
+ * This handler allows MCP clients to dynamically adjust the server's minimum
19
+ * log level. When a client sends a `logging/setLevel` request, the server will:
20
+ * 1. Validate the requested level (via Zod schema)
21
+ * 2. Update the internal logger's minimum level
22
+ * 3. Return an empty result to acknowledge the change
23
+ *
24
+ * Per the MCP specification, the server must respond with an empty result
25
+ * object upon successful configuration.
26
+ *
27
+ * Supported log levels (per RFC 5424 syslog severity):
28
+ * - debug, info, notice, warning, error, critical, alert, emergency
29
+ *
30
+ * @param server - The McpServer instance to attach the handler to
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const server = new McpServer({ name: "my-server", version: "1.0.0" });
35
+ * registerLoggingSetLevelHandler(server);
36
+ * await server.connect(transport);
37
+ * ```
38
+ */
39
+ export function registerLoggingSetLevelHandler(server) {
40
+ const context = requestContextService.createRequestContext({
41
+ operation: "registerLoggingSetLevelHandler",
42
+ });
43
+ logger.debug(context, "Registering logging/setLevel request handler");
44
+ server.server.setRequestHandler(SetLevelRequestSchema, async (request) => {
45
+ const { level } = request.params;
46
+ const handlerContext = requestContextService.createRequestContext({
47
+ operation: "logging/setLevel",
48
+ previousLevel: logger.pino.level,
49
+ requestedLevel: level,
50
+ });
51
+ try {
52
+ // Map MCP log level to our internal logger
53
+ // The logger.setLevel method handles validation and mapping to Pino levels
54
+ logger.setLevel(level);
55
+ logger.info({
56
+ ...handlerContext,
57
+ previousLevel: handlerContext.previousLevel,
58
+ newLevel: level,
59
+ }, `Log level changed via MCP request`);
60
+ // Per MCP spec: "The server responds with an empty result,
61
+ // confirming the logging level has been set."
62
+ return {
63
+ _meta: {},
64
+ };
65
+ }
66
+ catch (error) {
67
+ // Log the error but still return a valid response
68
+ // The schema validation should catch invalid levels before we get here
69
+ logger.error({
70
+ ...handlerContext,
71
+ error: error instanceof Error ? error.message : String(error),
72
+ requestedLevel: level,
73
+ }, "Failed to set log level");
74
+ // Still return success - the logger will log the validation error
75
+ // This prevents clients from seeing failures for our internal issues
76
+ return {
77
+ _meta: {},
78
+ };
79
+ }
80
+ });
81
+ logger.debug(context, "logging/setLevel handler registered successfully");
82
+ }
83
+ //# sourceMappingURL=setLevelHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setLevelHandler.js","sourceRoot":"","sources":["../../../src/mcp-server/logging/setLevelHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAiB;IAC9D,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,gCAAgC;KAC5C,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,8CAA8C,CAAC,CAAC;IAEtE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACvE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjC,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,SAAS,EAAE,kBAAkB;YAC7B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YAChC,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,2CAA2C;YAC3C,2EAA2E;YAC3E,MAAM,CAAC,QAAQ,CAAC,KAAoB,CAAC,CAAC;YAEtC,MAAM,CAAC,IAAI,CACT;gBACE,GAAG,cAAc;gBACjB,aAAa,EAAE,cAAc,CAAC,aAAa;gBAC3C,QAAQ,EAAE,KAAK;aAChB,EACD,mCAAmC,CACpC,CAAC;YAEF,2DAA2D;YAC3D,8CAA8C;YAC9C,OAAO;gBACL,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,uEAAuE;YACvE,MAAM,CAAC,KAAK,CACV;gBACE,GAAG,cAAc;gBACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,cAAc,EAAE,KAAK;aACtB,EACD,yBAAyB,CAC1B,CAAC;YAEF,kEAAkE;YAClE,qEAAqE;YACrE,OAAO;gBACL,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview Barrel file for the `echo` resource.
3
+ * This file serves as the public interface for the echo resource module,
4
+ * primarily exporting the `registerEchoResource` function. This function is
5
+ * responsible for registering the echo resource, including its templates and handler,
6
+ * with an MCP server instance. This makes the resource accessible to clients
7
+ * via defined URI patterns.
8
+ *
9
+ * Consuming modules should import from this barrel file to access
10
+ * the echo resource's registration capabilities.
11
+ * @module src/mcp-server/resources/echoResource/index
12
+ */
13
+ export { registerEchoResource } from "./registration.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview Barrel file for the `echo` resource.
3
+ * This file serves as the public interface for the echo resource module,
4
+ * primarily exporting the `registerEchoResource` function. This function is
5
+ * responsible for registering the echo resource, including its templates and handler,
6
+ * with an MCP server instance. This makes the resource accessible to clients
7
+ * via defined URI patterns.
8
+ *
9
+ * Consuming modules should import from this barrel file to access
10
+ * the echo resource's registration capabilities.
11
+ * @module src/mcp-server/resources/echoResource/index
12
+ */
13
+ export { registerEchoResource } from "./registration.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the `echo` resource.
3
+ * @module src/mcp-server/resources/echoResource/logic
4
+ **/
5
+ import { z } from "zod";
6
+ import { type RequestContext } from "../../../utils/index.js";
7
+ /**
8
+ * Zod schema defining expected query parameters for the echo resource.
9
+ */
10
+ export declare const EchoResourceQuerySchema: z.ZodObject<{
11
+ message: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ message?: string | undefined;
14
+ }, {
15
+ message?: string | undefined;
16
+ }>;
17
+ /**
18
+ * TypeScript type inferred from the {@link EchoResourceQuerySchema}.
19
+ */
20
+ export type EchoResourceParams = z.infer<typeof EchoResourceQuerySchema>;
21
+ /**
22
+ * Defines the structure of the JSON payload returned by the `processEchoResource` function.
23
+ */
24
+ export interface EchoResourceResponsePayload {
25
+ message: string;
26
+ timestamp: string;
27
+ requestUri: string;
28
+ }
29
+ /**
30
+ * Processes the core logic for an echo resource request.
31
+ * @param uri - The full URL object of the incoming resource request.
32
+ * @param params - The validated query parameters for the request.
33
+ * @param context - The request context, used for logging and tracing the operation.
34
+ * @returns The data payload for the response.
35
+ */
36
+ export declare function echoResourceLogic(uri: URL, params: EchoResourceParams, context: RequestContext): Promise<EchoResourceResponsePayload>;
37
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/logic.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;EAOlC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAiCtC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the `echo` resource.
3
+ * @module src/mcp-server/resources/echoResource/logic
4
+ **/
5
+ import { z } from "zod";
6
+ import { logger } from "../../../utils/index.js";
7
+ /**
8
+ * Zod schema defining expected query parameters for the echo resource.
9
+ */
10
+ export const EchoResourceQuerySchema = z.object({
11
+ message: z
12
+ .string()
13
+ .optional()
14
+ .describe("Optional message to echo back in the response. If not provided, a default may be used or derived from the path."),
15
+ });
16
+ /**
17
+ * Processes the core logic for an echo resource request.
18
+ * @param uri - The full URL object of the incoming resource request.
19
+ * @param params - The validated query parameters for the request.
20
+ * @param context - The request context, used for logging and tracing the operation.
21
+ * @returns The data payload for the response.
22
+ */
23
+ export async function echoResourceLogic(uri, params, context) {
24
+ // The message can come from a query parameter or the path itself.
25
+ // For a URI like `echo://my-message?param=1`, `hostname` is `my-message`.
26
+ const messageFromPath = uri.hostname || uri.pathname.replace(/^\/+/g, "");
27
+ const messageToEcho = params.message || messageFromPath || "Default echo message";
28
+ logger.debug({
29
+ ...context,
30
+ resourceUri: uri.href,
31
+ extractedMessage: messageToEcho,
32
+ }, "Processing echo resource logic.");
33
+ const responsePayload = {
34
+ message: messageToEcho,
35
+ timestamp: new Date().toISOString(),
36
+ requestUri: uri.href,
37
+ };
38
+ logger.debug({
39
+ ...context,
40
+ responsePayloadSummary: {
41
+ messageLength: responsePayload.message.length,
42
+ },
43
+ }, "Echo resource processed successfully.");
44
+ return responsePayload;
45
+ }
46
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/logic.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;CACJ,CAAC,CAAC;AAgBH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAQ,EACR,MAA0B,EAC1B,OAAuB;IAEvB,kEAAkE;IAClE,0EAA0E;IAC1E,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,aAAa,GACjB,MAAM,CAAC,OAAO,IAAI,eAAe,IAAI,sBAAsB,CAAC;IAE9D,MAAM,CAAC,KAAK,CACV;QACE,GAAG,OAAO;QACV,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,gBAAgB,EAAE,aAAa;KAChC,EACD,iCAAiC,CAClC,CAAC;IAEF,MAAM,eAAe,GAAgC;QACnD,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,GAAG,CAAC,IAAI;KACrB,CAAC;IAEF,MAAM,CAAC,KAAK,CACV;QACE,GAAG,OAAO;QACV,sBAAsB,EAAE;YACtB,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM;SAC9C;KACF,EACD,uCAAuC,CACxC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview Handles the registration of the `echo` resource with an MCP server instance.
3
+ * @module src/mcp-server/resources/echoResource/registration.ts
4
+ **/
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ export declare const registerEchoResource: (server: McpServer) => Promise<void>;
7
+ //# sourceMappingURL=registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EACL,SAAS,EAEV,MAAM,yCAAyC,CAAC;AA+BjD,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAoDd,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @fileoverview Handles the registration of the `echo` resource with an MCP server instance.
3
+ * @module src/mcp-server/resources/echoResource/registration.ts
4
+ **/
5
+ import { ResourceTemplate, } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { JsonRpcErrorCode } from "../../../types-global/errors.js";
7
+ import { ErrorHandler, requestContextService, } from "../../../utils/index.js";
8
+ import { logOperationStart, logOperationSuccess, } from "../../../utils/internal/logging-helpers.js";
9
+ import { createResourceHandler, } from "../../resources/utils/resource-utils.js";
10
+ import { echoResourceLogic } from "./logic.js";
11
+ const RESOURCE_NAME = "echo-resource";
12
+ const responseFormatter = (result, uri) => ({
13
+ contents: [
14
+ {
15
+ uri: uri.href,
16
+ mimeType: "application/json",
17
+ text: JSON.stringify(result),
18
+ },
19
+ ],
20
+ });
21
+ export const registerEchoResource = async (server) => {
22
+ const registrationContext = requestContextService.createRequestContext({
23
+ operation: "RegisterResource",
24
+ resourceName: RESOURCE_NAME,
25
+ });
26
+ logOperationStart(registrationContext, `Registering resource: '${RESOURCE_NAME}'`);
27
+ await ErrorHandler.tryCatch(async () => {
28
+ const template = new ResourceTemplate("echo://{message}", {
29
+ list: async () => ({
30
+ resources: [
31
+ {
32
+ uri: "echo://hello",
33
+ name: "Default Echo Message",
34
+ description: "A simple echo resource example.",
35
+ },
36
+ ],
37
+ }),
38
+ });
39
+ server.registerResource(RESOURCE_NAME, template, {
40
+ description: "A simple echo resource that returns a message.",
41
+ mimeType: "application/json",
42
+ }, createResourceHandler(RESOURCE_NAME, echoResourceLogic, responseFormatter));
43
+ logOperationSuccess(registrationContext, `Resource '${RESOURCE_NAME}' registered successfully.`);
44
+ }, {
45
+ operation: `RegisteringResource_${RESOURCE_NAME}`,
46
+ context: registrationContext,
47
+ errorCode: JsonRpcErrorCode.InitializationFailed,
48
+ critical: true,
49
+ });
50
+ };
51
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAEL,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,YAAY,EAEZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,qBAAqB,GAEtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAA+B,MAAM,YAAY,CAAC;AAE5E,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,iBAAiB,GAEnB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,oBAAoB,CAAC;QACzC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IAEL,iBAAiB,CACf,mBAAmB,EACnB,0BAA0B,aAAa,GAAG,CAC3C,CAAC;IAEF,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;YACxD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,cAAc;wBACnB,IAAI,EAAE,sBAAsB;wBAC5B,WAAW,EAAE,iCAAiC;qBAC/C;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CACrB,aAAa,EACb,QAAQ,EACR;YACE,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,kBAAkB;SAC7B,EACD,qBAAqB,CACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,CAClB,CACF,CAAC;QAEF,mBAAmB,CACjB,mBAAmB,EACnB,aAAa,aAAa,4BAA4B,CACvD,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,uBAAuB,aAAa,EAAE;QACjD,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview Centralized registration for all available MCP resources.
3
+ * This module imports all resource registration functions and exports a single
4
+ * function to register them all with the MCP server, simplifying server setup.
5
+ * @module src/mcp-server/resources/index
6
+ */
7
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ /** Registers all available resources with the MCP server. */
9
+ export declare const registerAllResources: (server: McpServer) => Promise<void>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAYd,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Centralized registration for all available MCP resources.
3
+ * This module imports all resource registration functions and exports a single
4
+ * function to register them all with the MCP server, simplifying server setup.
5
+ * @module src/mcp-server/resources/index
6
+ */
7
+ import { requestContextService } from "../../utils/index.js";
8
+ import { logOperationStart, logOperationSuccess, } from "../../utils/internal/logging-helpers.js";
9
+ import { registerToolsetsResource } from "../../ibmi-mcp-server/resources/toolsetsResource/index.js";
10
+ /** Registers all available resources with the MCP server. */
11
+ export const registerAllResources = async (server) => {
12
+ const context = requestContextService.createRequestContext({
13
+ operation: "registerAllResources",
14
+ });
15
+ logOperationStart(context, "Starting registration of all resources...");
16
+ await Promise.all([registerToolsetsResource(server)]);
17
+ logOperationSuccess(context, "All resources have been registered successfully.");
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG,6DAA6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,sBAAsB;KAClC,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IAExE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtD,mBAAmB,CACjB,OAAO,EACP,kDAAkD,CACnD,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @fileoverview Provides a generic factory for creating MCP resource handlers.
3
+ * This utility centralizes common logic for context creation, performance measurement,
4
+ * error handling, and response formatting, reducing boilerplate in individual
5
+ * resource registration files.
6
+ * @module src/mcp-server/resources/utils/resource-utils
7
+ */
8
+ import { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
9
+ import { RequestContext } from "../../../utils/index.js";
10
+ /**
11
+ * Defines the function signature for a core resource logic implementation.
12
+ * @template TParams The type of the validated query parameters.
13
+ * @template TPayload The type of the successful output payload from the logic.
14
+ * @param uri The full URL object of the incoming resource request.
15
+ * @param params The validated query parameters for the request.
16
+ * @param context The request context for logging and tracing.
17
+ * @returns A promise that resolves with the resource's data payload.
18
+ */
19
+ type ResourceLogicFn<TParams, TPayload> = (uri: URL, params: TParams, context: RequestContext) => Promise<TPayload>;
20
+ /**
21
+ * Defines the function signature for formatting a successful resource logic result
22
+ * into the final structure expected by the MCP server.
23
+ * @template TPayload The type of the successful output from the logic.
24
+ * @param result The successful output from the resource's logic function.
25
+ * @param uri The original request URI.
26
+ * @returns The formatted resource response.
27
+ */
28
+ export type ResourceResponseFormatter<TPayload> = (result: TPayload, uri: URL) => ReadResourceResult;
29
+ /**
30
+ * Creates a standardized MCP resource handler.
31
+ * This factory wraps the core business logic with context creation, performance
32
+ * monitoring, and centralized error handling.
33
+ *
34
+ * @template TParams The type of the validated query parameters.
35
+ * @template TPayload The type of the successful output from the logic.
36
+ * @param resourceName The name of the resource, used for logging and metrics.
37
+ * @param logicFn The core business logic function for the resource.
38
+ * @param responseFormatter A function to format the successful output.
39
+ * @returns A complete MCP resource handler function.
40
+ */
41
+ export declare function createResourceHandler<TParams, TPayload>(resourceName: string, logicFn: ResourceLogicFn<TParams, TPayload>, responseFormatter: ResourceResponseFormatter<TPayload>): (uri: URL, params: TParams, callContext: Record<string, unknown>) => Promise<ReadResourceResult>;
42
+ export {};
43
+ //# sourceMappingURL=resource-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/utils/resource-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAIL,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,KAAK,eAAe,CAAC,OAAO,EAAE,QAAQ,IAAI,CACxC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,CAAC,QAAQ,IAAI,CAChD,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,GAAG,KACL,kBAAkB,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EACrD,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC3C,iBAAiB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,IAGpD,KAAK,GAAG,EACR,QAAQ,OAAO,EACf,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,kBAAkB,CAAC,CAyB/B"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @fileoverview Provides a generic factory for creating MCP resource handlers.
3
+ * This utility centralizes common logic for context creation, performance measurement,
4
+ * error handling, and response formatting, reducing boilerplate in individual
5
+ * resource registration files.
6
+ * @module src/mcp-server/resources/utils/resource-utils
7
+ */
8
+ import { ErrorHandler, measureToolExecution, requestContextService, } from "../../../utils/index.js";
9
+ /**
10
+ * Creates a standardized MCP resource handler.
11
+ * This factory wraps the core business logic with context creation, performance
12
+ * monitoring, and centralized error handling.
13
+ *
14
+ * @template TParams The type of the validated query parameters.
15
+ * @template TPayload The type of the successful output from the logic.
16
+ * @param resourceName The name of the resource, used for logging and metrics.
17
+ * @param logicFn The core business logic function for the resource.
18
+ * @param responseFormatter A function to format the successful output.
19
+ * @returns A complete MCP resource handler function.
20
+ */
21
+ export function createResourceHandler(resourceName, logicFn, responseFormatter) {
22
+ return async (uri, params, callContext) => {
23
+ const handlerContext = requestContextService.createRequestContext({
24
+ parentContext: callContext,
25
+ operation: "HandleResourceRead",
26
+ resourceUri: uri.href,
27
+ inputParams: params,
28
+ });
29
+ try {
30
+ // Wrap the logic call with performance measurement
31
+ const result = await measureToolExecution(`resource:${resourceName}`, () => logicFn(uri, params, handlerContext), params);
32
+ return responseFormatter(result, uri);
33
+ }
34
+ catch (error) {
35
+ // Re-throw to be caught by the SDK's top-level error handler
36
+ throw ErrorHandler.handleError(error, {
37
+ operation: `resource:${resourceName}`,
38
+ context: handlerContext,
39
+ input: { uri: uri.href, params },
40
+ });
41
+ }
42
+ };
43
+ }
44
+ //# sourceMappingURL=resource-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/utils/resource-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AA8BjC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,OAA2C,EAC3C,iBAAsD;IAEtD,OAAO,KAAK,EACV,GAAQ,EACR,MAAe,EACf,WAAoC,EACP,EAAE;QAC/B,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,YAAY,YAAY,EAAE,EAC1B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAC1C,MAAM,CACP,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6DAA6D;YAC7D,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,SAAS,EAAE,YAAY,YAAY,EAAE;gBACrC,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @fileoverview Main entry point for the MCP (Model Context Protocol) server.
3
+ * This file orchestrates the server's lifecycle:
4
+ * 1. Initializes the core `McpServer` instance (from `@modelcontextprotocol/sdk`) with its identity and capabilities.
5
+ * 2. Registers available resources and tools, making them discoverable and usable by clients.
6
+ * 3. Selects and starts the appropriate communication transport (stdio or Streamable HTTP)
7
+ * based on configuration.
8
+ * 4. Handles top-level error management during startup.
9
+ *
10
+ * MCP Specification References:
11
+ * - Lifecycle: https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-03-26/basic/lifecycle.mdx
12
+ * - Overview (Capabilities): https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-03-26/basic/index.mdx
13
+ * - Transports: https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-03-26/basic/transports.mdx
14
+ * @module src/mcp-server/server
15
+ */
16
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
17
+ import http from "http";
18
+ /**
19
+ * Main application entry point. Initializes and starts the MCP server.
20
+ *
21
+ */
22
+ export declare function initializeAndStartServer(): Promise<McpServer | http.Server>;
23
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AAoGxB;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CACvD,SAAS,GAAG,IAAI,CAAC,MAAM,CACxB,CAsBA"}