@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,42 @@
1
+ /**
2
+ * @fileoverview Command-line argument parser for MCP server
3
+ * Handles --tools argument and sets environment variables accordingly
4
+ * @module src/utils/cli/argumentParser
5
+ */
6
+ type mcpTransportType = "stdio" | "http";
7
+ export interface CliArguments {
8
+ tools?: string;
9
+ transport?: mcpTransportType;
10
+ toolsets?: string[];
11
+ listToolsets?: boolean;
12
+ help?: boolean;
13
+ errors?: string[];
14
+ warnings?: string[];
15
+ }
16
+ /**
17
+ *
18
+ * This function should:
19
+ * 1. Parse process.argv.slice(2) to get command line arguments
20
+ * 2. Look for --tools flag and capture the next argument as the path
21
+ * 3. Look for --help or -h flags
22
+ * 5. Return a CliArguments object with the parsed values
23
+ *
24
+ * Handle edge cases like:
25
+ * - Missing value after --tools
26
+ * - Unknown arguments (should warn but not fail)
27
+ * - Multiple --tools arguments (use the last one)
28
+ */
29
+ export declare function parseCliArguments(): CliArguments;
30
+ /**
31
+ * Validates that a tools path exists and is accessible
32
+ */
33
+ export declare function validateToolsPath(path: string): {
34
+ valid: boolean;
35
+ message?: string;
36
+ };
37
+ /**
38
+ * Shows help information for CLI usage
39
+ */
40
+ export declare function showHelp(): void;
41
+ export {};
42
+ //# sourceMappingURL=argumentParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argumentParser.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/cli/argumentParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,KAAK,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAwDhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CA8BA;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAoC/B"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @fileoverview Command-line argument parser for MCP server
3
+ * Handles --tools argument and sets environment variables accordingly
4
+ * @module src/utils/cli/argumentParser
5
+ */
6
+ import { existsSync, statSync } from "fs";
7
+ import { resolve } from "path";
8
+ /**
9
+ *
10
+ * This function should:
11
+ * 1. Parse process.argv.slice(2) to get command line arguments
12
+ * 2. Look for --tools flag and capture the next argument as the path
13
+ * 3. Look for --help or -h flags
14
+ * 5. Return a CliArguments object with the parsed values
15
+ *
16
+ * Handle edge cases like:
17
+ * - Missing value after --tools
18
+ * - Unknown arguments (should warn but not fail)
19
+ * - Multiple --tools arguments (use the last one)
20
+ */
21
+ export function parseCliArguments() {
22
+ const args = process.argv.slice(2);
23
+ const parsed = {
24
+ errors: [],
25
+ warnings: [],
26
+ };
27
+ for (let i = 0; i < args.length; i++) {
28
+ const arg = args[i];
29
+ if (arg === "--tools") {
30
+ if (i + 1 < args.length) {
31
+ const toolsPath = args[i + 1];
32
+ parsed.tools = toolsPath;
33
+ i++; // Skip the next argument as it's the tools path
34
+ }
35
+ else {
36
+ parsed.errors?.push("--tools flag requires a path argument");
37
+ }
38
+ }
39
+ else if (arg === "--help" || arg === "-h") {
40
+ parsed.help = true;
41
+ }
42
+ else if (arg === "--transport" || arg === "-t") {
43
+ if (i + 1 < args.length) {
44
+ const transport = args[i + 1];
45
+ if (transport === "stdio" || transport === "http") {
46
+ parsed.transport = transport;
47
+ i++; // Skip the next argument as it's the transport type
48
+ }
49
+ else {
50
+ parsed.errors?.push(`Invalid transport type: ${transport}`);
51
+ }
52
+ }
53
+ else {
54
+ parsed.errors?.push("--transport flag requires a type argument");
55
+ }
56
+ }
57
+ else if (arg === "--toolsets" || arg === "-ts") {
58
+ if (i + 1 < args.length) {
59
+ const toolsetsValue = args[i + 1];
60
+ // Split by comma and trim whitespace
61
+ parsed.toolsets =
62
+ toolsetsValue
63
+ ?.split(",")
64
+ .map((t) => t.trim())
65
+ .filter((t) => t.length > 0) || [];
66
+ i++; // Skip the next argument as it's the toolsets value
67
+ }
68
+ else {
69
+ parsed.errors?.push("--toolsets flag requires a comma-separated list argument");
70
+ }
71
+ }
72
+ else if (arg === "--list-toolsets") {
73
+ parsed.listToolsets = true;
74
+ }
75
+ else if (arg?.startsWith("--")) {
76
+ parsed.warnings?.push(`Unknown argument detected: ${arg}`);
77
+ i++;
78
+ }
79
+ }
80
+ return parsed;
81
+ }
82
+ /**
83
+ * Validates that a tools path exists and is accessible
84
+ */
85
+ export function validateToolsPath(path) {
86
+ try {
87
+ const resolvedPath = resolve(path);
88
+ if (existsSync(resolvedPath)) {
89
+ const stats = statSync(resolvedPath);
90
+ if (stats.isFile()) {
91
+ return {
92
+ valid: true,
93
+ message: `Using tools file: ${resolvedPath}`,
94
+ };
95
+ }
96
+ else if (stats.isDirectory()) {
97
+ return {
98
+ valid: true,
99
+ message: `Using tools directory: ${resolvedPath}`,
100
+ };
101
+ }
102
+ }
103
+ // For glob patterns or remote paths, let the YAML loader handle validation
104
+ return {
105
+ valid: true,
106
+ message: `Tools path "${path}" will be validated by YAML tools loader`,
107
+ };
108
+ }
109
+ catch (error) {
110
+ return {
111
+ valid: false,
112
+ message: `Cannot access tools path "${path}": ${error instanceof Error ? error.message : String(error)}`,
113
+ };
114
+ }
115
+ }
116
+ /**
117
+ * Shows help information for CLI usage
118
+ */
119
+ export function showHelp() {
120
+ console.log(`
121
+ IBM i MCP Server
122
+
123
+ Usage: npx ibmi-mcp-server [options]
124
+
125
+ Options:
126
+ --tools <path> Path to YAML tools configuration
127
+ Supports:
128
+ - Files: performance.yaml, config.yml
129
+ - Directories: tools/, custom-tools/
130
+ - Globs: "**/*.yaml" (quote for shell safety)
131
+ --toolsets, -ts <list> Comma-separated list of toolsets (e.g., "performance,system")
132
+ --list-toolsets List all available toolsets and exit
133
+ --transport, -t <type> Transport type: "stdio" or "http"
134
+
135
+ -h, --help Show this help message
136
+
137
+ Examples:
138
+ npx ibmi-mcp-server --tools tools
139
+ npx ibmi-mcp-server --tools tools/performance.yaml
140
+ npx ibmi-mcp-server --toolsets performance,system
141
+ npx ibmi-mcp-server --list-toolsets --tools tools
142
+ npx ibmi-mcp-server --tools ../custom-tools/
143
+ npx ibmi-mcp-server --tools "configs/**/*.yaml"
144
+
145
+ Environment Variables:
146
+ TOOLS_YAML_PATH Path to YAML tools (CLI --tools takes precedence)
147
+ MCP_TRANSPORT_TYPE Transport mode: 'stdio' (default) or 'http'
148
+ MCP_LOG_LEVEL Log level: debug, info, warning, error
149
+
150
+ See .env.example for complete environment variable reference.
151
+
152
+ Note: The server runs in stdio mode by default for MCP client integration.
153
+ Use MCP_TRANSPORT_TYPE=http for HTTP mode testing.
154
+ `);
155
+ }
156
+ //# sourceMappingURL=argumentParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argumentParser.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/cli/argumentParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Barrel file for CLI utilities
3
+ * @module src/utils/cli/index
4
+ */
5
+ export { parseCliArguments, validateToolsPath, showHelp, type CliArguments, } from "./argumentParser.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Barrel file for CLI utilities
3
+ * @module src/utils/cli/index
4
+ */
5
+ export { parseCliArguments, validateToolsPath, showHelp, } from "./argumentParser.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,GAET,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @fileoverview YAML configuration parser with validation and environment variable interpolation
3
+ * Handles parsing, validation, and processing of YAML tool configurations
4
+ *
5
+ * @module src/utils/yaml/yamlParser
6
+ */
7
+ import { ParsingResult } from "../../schemas/index.js";
8
+ import { SqlToolParameter } from "../../schemas/index.js";
9
+ import { RequestContext } from "../../../utils/internal/requestContext.js";
10
+ /**
11
+ * YAML configuration parser with validation and environment variable interpolation
12
+ */
13
+ export declare class ConfigParser {
14
+ /**
15
+ * Parse and validate a YAML tools configuration file
16
+ * @param filePath - Path to the YAML configuration file
17
+ * @param context - Request context for logging
18
+ * @returns Parsing result with validation information
19
+ */
20
+ static parseYamlFile(filePath: string, context?: RequestContext): Promise<ParsingResult>;
21
+ /**
22
+ * Interpolate environment variables in YAML content
23
+ * Supports ${VAR_NAME} syntax
24
+ * @param content - YAML content string
25
+ * @param context - Request context for logging
26
+ * @returns Content with environment variables interpolated
27
+ * @private
28
+ */
29
+ private static interpolateEnvironmentVariables;
30
+ /**
31
+ * Interpolate environment variables using client-provided environment
32
+ * Supports ${VAR_NAME} syntax
33
+ *
34
+ * NOT USED CURRENTLY
35
+ * @param content - Content string with environment variable placeholders
36
+ * @param clientEnvironment - Environment variables provided by the client
37
+ * @param context - Request context for logging
38
+ * @returns Content with environment variables interpolated
39
+ */
40
+ static interpolateClientEnvironmentVariables(content: string, clientEnvironment?: Record<string, string>, context?: RequestContext): string;
41
+ /**
42
+ * Validate that all tool source references exist in the sources section
43
+ * @param config - Parsed YAML configuration
44
+ * @returns Array of validation errors
45
+ * @private
46
+ */
47
+ private static validateToolSourceReferences;
48
+ /**
49
+ * Validate tool-specific requirements
50
+ * @param config - Parsed YAML configuration
51
+ * @returns Array of validation errors
52
+ * @private
53
+ */
54
+ private static validateToolRequirements;
55
+ /**
56
+ * Process tools from YAML configuration into runtime format
57
+ * @param config - Validated YAML configuration
58
+ * @returns Array of processed tools
59
+ * @private
60
+ */
61
+ private static processTools;
62
+ /**
63
+ * Validate a single tool parameter definition
64
+ * @param parameter - Parameter definition to validate
65
+ * @returns Validation result
66
+ */
67
+ static validateParameter(parameter: SqlToolParameter): {
68
+ valid: boolean;
69
+ errors: string[];
70
+ };
71
+ /**
72
+ * Get available parameter types
73
+ * @returns Array of supported parameter types
74
+ */
75
+ static getAvailableParameterTypes(): string[];
76
+ }
77
+ //# sourceMappingURL=configParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configParser.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/configParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAS5C;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;WACU,aAAa,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAiKzB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IA4B9C;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC9C,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM;IA0CT;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAuB3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkBvC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAwD3B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG;QACrD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;IAWD;;;OAGG;IACH,MAAM,CAAC,0BAA0B,IAAI,MAAM,EAAE;CAG9C"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * @fileoverview YAML configuration parser with validation and environment variable interpolation
3
+ * Handles parsing, validation, and processing of YAML tool configurations
4
+ *
5
+ * @module src/utils/yaml/yamlParser
6
+ */
7
+ import { readFileSync, existsSync } from "fs";
8
+ import { resolve } from "path";
9
+ import { load as yamlLoad } from "js-yaml";
10
+ import { ErrorHandler, logger } from "../../../utils/internal/index.js";
11
+ import { requestContextService, } from "../../../utils/internal/requestContext.js";
12
+ // Import schemas from centralized location
13
+ import { SqlToolsConfigSchema, SqlToolParameterSchema, } from "../../schemas/index.js";
14
+ import { JsonRpcErrorCode, McpError } from "../../../types-global/errors.js";
15
+ /**
16
+ * YAML configuration parser with validation and environment variable interpolation
17
+ */
18
+ export class ConfigParser {
19
+ /**
20
+ * Parse and validate a YAML tools configuration file
21
+ * @param filePath - Path to the YAML configuration file
22
+ * @param context - Request context for logging
23
+ * @returns Parsing result with validation information
24
+ */
25
+ static async parseYamlFile(filePath, context) {
26
+ const operationContext = context ||
27
+ requestContextService.createRequestContext({
28
+ operation: "ParseYamlFile",
29
+ filePath,
30
+ });
31
+ return ErrorHandler.tryCatch(async () => {
32
+ logger.info({
33
+ ...operationContext,
34
+ filePath,
35
+ }, "Parsing YAML configuration file");
36
+ // Check if file exists
37
+ const resolvedPath = resolve(filePath);
38
+ if (!existsSync(resolvedPath)) {
39
+ throw new McpError(JsonRpcErrorCode.ValidationError, `YAML configuration file not found: ${resolvedPath}`);
40
+ }
41
+ // Read file content
42
+ const fileContent = readFileSync(resolvedPath, "utf8");
43
+ logger.debug({
44
+ ...operationContext,
45
+ contentLength: fileContent.length,
46
+ }, "YAML file content loaded");
47
+ // Interpolate environment variables at startup
48
+ // TODO: In the future, this should use client-provided environment variables
49
+ // instead of server-side environment variables
50
+ const interpolatedContent = this.interpolateEnvironmentVariables(fileContent, operationContext);
51
+ // Parse YAML
52
+ const parsedYaml = yamlLoad(interpolatedContent);
53
+ // Validate against schema
54
+ const validationResult = SqlToolsConfigSchema.safeParse(parsedYaml);
55
+ if (!validationResult.success) {
56
+ const errors = validationResult.error.errors.map((err) => `${err.path.join(".")}: ${err.message}`);
57
+ logger.error({
58
+ ...operationContext,
59
+ errors,
60
+ }, "YAML validation failed");
61
+ return {
62
+ success: false,
63
+ errors,
64
+ };
65
+ }
66
+ const config = validationResult.data;
67
+ // Additional validation - check tool source references
68
+ const sourceValidationErrors = this.validateToolSourceReferences(config);
69
+ if (sourceValidationErrors.length > 0) {
70
+ logger.error({
71
+ ...operationContext,
72
+ errors: sourceValidationErrors,
73
+ }, "Source reference validation failed");
74
+ return {
75
+ success: false,
76
+ errors: sourceValidationErrors,
77
+ };
78
+ }
79
+ // Note: Toolset validation is intentionally deferred to post-merge validation
80
+ // in YamlConfigBuilder to support cross-file tool references with YAML_MERGE_ARRAYS
81
+ // Additional validation - check tool-specific requirements
82
+ const toolValidationErrors = this.validateToolRequirements(config);
83
+ if (toolValidationErrors.length > 0) {
84
+ logger.error({
85
+ ...operationContext,
86
+ errors: toolValidationErrors,
87
+ }, "Tool requirements validation failed");
88
+ return {
89
+ success: false,
90
+ errors: toolValidationErrors,
91
+ };
92
+ }
93
+ // Process tools
94
+ const processedTools = this.processTools(config);
95
+ // Count disabled tools
96
+ const totalTools = config.tools ? Object.keys(config.tools).length : 0;
97
+ const disabledTools = config.tools
98
+ ? Object.values(config.tools).filter((tool) => tool.enabled === false)
99
+ .length
100
+ : 0;
101
+ const enabledTools = totalTools - disabledTools;
102
+ // Generate statistics
103
+ const stats = {
104
+ sourceCount: config.sources ? Object.keys(config.sources).length : 0,
105
+ toolCount: totalTools,
106
+ enabledToolCount: enabledTools,
107
+ disabledToolCount: disabledTools,
108
+ toolsetCount: config.toolsets
109
+ ? Object.keys(config.toolsets).length
110
+ : 0,
111
+ totalParameterCount: config.tools
112
+ ? Object.values(config.tools).reduce((sum, tool) => sum + (tool.parameters?.length || 0), 0)
113
+ : 0,
114
+ };
115
+ logger.info({
116
+ ...operationContext,
117
+ stats,
118
+ }, "YAML configuration parsed successfully");
119
+ return {
120
+ success: true,
121
+ config,
122
+ processedTools,
123
+ stats,
124
+ };
125
+ }, {
126
+ operation: "ParseYamlFile",
127
+ context: operationContext,
128
+ errorCode: JsonRpcErrorCode.ConfigurationError,
129
+ });
130
+ }
131
+ /**
132
+ * Interpolate environment variables in YAML content
133
+ * Supports ${VAR_NAME} syntax
134
+ * @param content - YAML content string
135
+ * @param context - Request context for logging
136
+ * @returns Content with environment variables interpolated
137
+ * @private
138
+ */
139
+ static interpolateEnvironmentVariables(content, context) {
140
+ return content.replace(/\$\{([^}]+)\}/g, (match, varName) => {
141
+ const envValue = process.env[varName];
142
+ if (envValue === undefined) {
143
+ logger.debug({
144
+ ...context,
145
+ varName,
146
+ }, `Environment variable ${varName} not found, keeping placeholder`);
147
+ return match;
148
+ }
149
+ logger.debug({
150
+ ...context,
151
+ varName,
152
+ envValue: envValue.substring(0, 10) + "...", // Only show first 10 chars for security
153
+ }, `Environment variable ${varName} found and substituted`);
154
+ return envValue;
155
+ });
156
+ }
157
+ /**
158
+ * Interpolate environment variables using client-provided environment
159
+ * Supports ${VAR_NAME} syntax
160
+ *
161
+ * NOT USED CURRENTLY
162
+ * @param content - Content string with environment variable placeholders
163
+ * @param clientEnvironment - Environment variables provided by the client
164
+ * @param context - Request context for logging
165
+ * @returns Content with environment variables interpolated
166
+ */
167
+ static interpolateClientEnvironmentVariables(content, clientEnvironment = {}, context) {
168
+ const operationContext = context ||
169
+ requestContextService.createRequestContext({
170
+ operation: "InterpolateClientEnvironmentVariables",
171
+ });
172
+ logger.debug({
173
+ ...operationContext,
174
+ contentLength: content.length,
175
+ availableClientVars: Object.keys(clientEnvironment),
176
+ }, "Starting client environment variable interpolation");
177
+ return content.replace(/\$\{([^}]+)\}/g, (match, varName) => {
178
+ const envValue = clientEnvironment[varName];
179
+ if (envValue === undefined) {
180
+ logger.debug({
181
+ ...operationContext,
182
+ match,
183
+ varName,
184
+ availableClientVars: Object.keys(clientEnvironment),
185
+ }, `Client environment variable ${varName} not found, keeping placeholder`);
186
+ return match;
187
+ }
188
+ logger.debug({
189
+ ...operationContext,
190
+ varName,
191
+ envValue: envValue.substring(0, 10) + "...", // Only show first 10 chars for security
192
+ }, `Client environment variable ${varName} found and substituted`);
193
+ return envValue;
194
+ });
195
+ }
196
+ /**
197
+ * Validate that all tool source references exist in the sources section
198
+ * @param config - Parsed YAML configuration
199
+ * @returns Array of validation errors
200
+ * @private
201
+ */
202
+ static validateToolSourceReferences(config) {
203
+ const errors = [];
204
+ // Skip validation if either section is missing
205
+ if (!config.sources || !config.tools) {
206
+ return errors;
207
+ }
208
+ const sourceNames = Object.keys(config.sources);
209
+ Object.entries(config.tools).forEach(([toolName, tool]) => {
210
+ if (!sourceNames.includes(tool.source)) {
211
+ errors.push(`Tool '${toolName}' references unknown source '${tool.source}'. Available sources: ${sourceNames.join(", ")}`);
212
+ }
213
+ });
214
+ return errors;
215
+ }
216
+ /**
217
+ * Validate tool-specific requirements
218
+ * @param config - Parsed YAML configuration
219
+ * @returns Array of validation errors
220
+ * @private
221
+ */
222
+ static validateToolRequirements(config) {
223
+ const errors = [];
224
+ // Skip validation if tools section is missing
225
+ if (!config.tools) {
226
+ return errors;
227
+ }
228
+ Object.entries(config.tools).forEach(([toolName, tool]) => {
229
+ // All tools must have a statement
230
+ if (!tool.statement || tool.statement.trim().length === 0) {
231
+ errors.push(`Tool '${toolName}' must have a non-empty statement field`);
232
+ }
233
+ });
234
+ return errors;
235
+ }
236
+ /**
237
+ * Process tools from YAML configuration into runtime format
238
+ * @param config - Validated YAML configuration
239
+ * @returns Array of processed tools
240
+ * @private
241
+ */
242
+ static processTools(config) {
243
+ const processedTools = [];
244
+ // Return empty array if tools section is missing
245
+ if (!config.tools) {
246
+ return processedTools;
247
+ }
248
+ // Build toolset membership map
249
+ const toolToToolsets = {};
250
+ if (config.toolsets) {
251
+ Object.entries(config.toolsets).forEach(([toolsetName, toolset]) => {
252
+ toolset.tools.forEach((toolName) => {
253
+ if (!toolToToolsets[toolName]) {
254
+ toolToToolsets[toolName] = [];
255
+ }
256
+ toolToToolsets[toolName].push(toolsetName);
257
+ });
258
+ });
259
+ }
260
+ // Process each tool
261
+ Object.entries(config.tools).forEach(([toolName, tool]) => {
262
+ // Skip disabled tools
263
+ if (tool.enabled === false) {
264
+ logger.debug({
265
+ toolName,
266
+ enabled: false,
267
+ }, `Skipping disabled tool: ${toolName}`);
268
+ return;
269
+ }
270
+ const source = config.sources?.[tool.source];
271
+ const toolsets = toolToToolsets[toolName] || [];
272
+ processedTools.push({
273
+ name: toolName,
274
+ config: tool,
275
+ source: source,
276
+ toolsets,
277
+ metadata: {
278
+ name: toolName,
279
+ description: tool.description,
280
+ domain: tool.domain,
281
+ category: tool.category,
282
+ toolsets,
283
+ },
284
+ });
285
+ });
286
+ return processedTools;
287
+ }
288
+ /**
289
+ * Validate a single tool parameter definition
290
+ * @param parameter - Parameter definition to validate
291
+ * @returns Validation result
292
+ */
293
+ static validateParameter(parameter) {
294
+ const result = SqlToolParameterSchema.safeParse(parameter);
295
+ if (result.success) {
296
+ return { valid: true, errors: [] };
297
+ }
298
+ const errors = result.error.errors.map((err) => err.message);
299
+ return { valid: false, errors };
300
+ }
301
+ /**
302
+ * Get available parameter types
303
+ * @returns Array of supported parameter types
304
+ */
305
+ static getAvailableParameterTypes() {
306
+ return ["string", "number", "boolean", "integer"];
307
+ }
308
+ }
309
+ //# sourceMappingURL=configParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configParser.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/configParser.ts"],"names":[],"mappings":"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"}