@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,550 @@
1
+ /**
2
+ * @fileoverview Table formatter utility for creating tables in multiple formats.
3
+ * Supports markdown, ASCII, grid (Unicode), and compact table styles with configurable
4
+ * alignment, truncation, and formatting options.
5
+ * @module src/utils/formatting/tableFormatter
6
+ */
7
+ import { JsonRpcErrorCode, McpError } from "../../types-global/errors.js";
8
+ import { logger, requestContextService, } from "../index.js";
9
+ /**
10
+ * Utility class for formatting tabular data into various table styles.
11
+ * Provides methods for rendering arrays of objects or raw 2D arrays as tables.
12
+ */
13
+ export class TableFormatter {
14
+ /**
15
+ * Default formatting options.
16
+ * @private
17
+ */
18
+ defaultOptions = {
19
+ style: "markdown",
20
+ alignment: {},
21
+ maxWidth: 50,
22
+ truncate: true,
23
+ headerStyle: "none",
24
+ minWidth: 3,
25
+ padding: 1,
26
+ nullReplacement: "-",
27
+ };
28
+ /**
29
+ * Track NULL value counts per column during formatting.
30
+ * Reset before each formatting operation.
31
+ * @private
32
+ */
33
+ nullCounts = {};
34
+ /**
35
+ * Format an array of objects as a table.
36
+ * Automatically extracts headers from object keys.
37
+ *
38
+ * @template T - Type of objects in the array
39
+ * @param data - Array of objects to format
40
+ * @param options - Table formatting options
41
+ * @param context - Optional request context for logging
42
+ * @returns Formatted table string
43
+ * @throws {McpError} If data is invalid or formatting fails
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const data = [
48
+ * { name: 'Alice', age: 30, role: 'Engineer' },
49
+ * { name: 'Bob', age: 25, role: 'Designer' }
50
+ * ];
51
+ * const table = tableFormatter.format(data, { style: 'grid' });
52
+ * ```
53
+ */
54
+ format(data, options, context) {
55
+ const logContext = context ||
56
+ requestContextService.createRequestContext({
57
+ operation: "TableFormatter.format",
58
+ });
59
+ if (!Array.isArray(data)) {
60
+ throw new McpError(JsonRpcErrorCode.ValidationError, "Data must be an array", logContext);
61
+ }
62
+ if (data.length === 0) {
63
+ logger.debug(logContext, "Empty data array provided to table formatter");
64
+ return "";
65
+ }
66
+ // Extract headers from first object
67
+ const headers = Object.keys(data[0]);
68
+ // Merge options with defaults
69
+ const opts = {
70
+ ...this.defaultOptions,
71
+ ...options,
72
+ alignment: { ...this.defaultOptions.alignment, ...options?.alignment },
73
+ };
74
+ // Convert objects to 2D array (without NULL tracking for backward compatibility)
75
+ const rows = data.map((obj) => headers.map((header) => this.stringify(obj[header], opts.nullReplacement)));
76
+ logger.debug({
77
+ ...logContext,
78
+ rowCount: rows.length,
79
+ columnCount: headers.length,
80
+ }, "Formatting table from object array");
81
+ return this.formatRaw(headers, rows, options, context);
82
+ }
83
+ /**
84
+ * Format a raw 2D array with explicit headers.
85
+ * Provides full control over headers and cell values.
86
+ *
87
+ * @param headers - Array of column headers
88
+ * @param rows - 2D array of cell values
89
+ * @param options - Table formatting options
90
+ * @param context - Optional request context for logging
91
+ * @returns Formatted table string
92
+ * @throws {McpError} If headers/rows are invalid or formatting fails
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const headers = ['Name', 'Age', 'Role'];
97
+ * const rows = [
98
+ * ['Alice', '30', 'Engineer'],
99
+ * ['Bob', '25', 'Designer']
100
+ * ];
101
+ * const table = tableFormatter.formatRaw(headers, rows, { style: 'ascii' });
102
+ * ```
103
+ */
104
+ formatRaw(headers, rows, options, context) {
105
+ const logContext = context ||
106
+ requestContextService.createRequestContext({
107
+ operation: "TableFormatter.formatRaw",
108
+ });
109
+ // Validate inputs
110
+ if (!Array.isArray(headers) || headers.length === 0) {
111
+ throw new McpError(JsonRpcErrorCode.ValidationError, "Headers must be a non-empty array", logContext);
112
+ }
113
+ if (!Array.isArray(rows)) {
114
+ throw new McpError(JsonRpcErrorCode.ValidationError, "Rows must be an array", logContext);
115
+ }
116
+ if (rows.length === 0) {
117
+ logger.debug(logContext, "Empty rows array provided to table formatter");
118
+ return "";
119
+ }
120
+ // Validate row lengths
121
+ const columnCount = headers.length;
122
+ for (let i = 0; i < rows.length; i++) {
123
+ if (rows[i].length !== columnCount) {
124
+ throw new McpError(JsonRpcErrorCode.ValidationError, `Row ${i} has ${rows[i].length} columns but expected ${columnCount}`, { ...logContext, rowIndex: i, expectedColumns: columnCount });
125
+ }
126
+ }
127
+ // Merge options with defaults
128
+ const opts = {
129
+ ...this.defaultOptions,
130
+ ...options,
131
+ alignment: { ...this.defaultOptions.alignment, ...options?.alignment },
132
+ };
133
+ // Apply header styling
134
+ const styledHeaders = this.applyHeaderStyle(headers, opts.headerStyle);
135
+ // Calculate column widths and metadata
136
+ const columns = this.calculateColumns(styledHeaders, rows, opts, logContext);
137
+ // Render table based on style
138
+ try {
139
+ const result = this.renderTable(columns, styledHeaders, rows, opts);
140
+ logger.debug({
141
+ ...logContext,
142
+ style: opts.style,
143
+ rows: rows.length,
144
+ columns: columns.length,
145
+ }, "Table formatted successfully");
146
+ return result;
147
+ }
148
+ catch (error) {
149
+ const err = error;
150
+ logger.error({
151
+ ...logContext,
152
+ error: err.message,
153
+ }, "Failed to render table");
154
+ throw new McpError(JsonRpcErrorCode.InternalError, `Failed to render table: ${err.message}`, { ...logContext, originalError: err.stack });
155
+ }
156
+ }
157
+ /**
158
+ * Format an array of objects as a table with NULL value tracking.
159
+ * Returns both the formatted table and metadata about NULL values.
160
+ *
161
+ * @template T - Type of objects in the array
162
+ * @param data - Array of objects to format
163
+ * @param options - Table formatting options
164
+ * @param context - Optional request context for logging
165
+ * @returns Object containing formatted table and metadata
166
+ * @throws {McpError} If data is invalid or formatting fails
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * const data = [
171
+ * { name: 'Alice', age: 30, salary: null },
172
+ * { name: 'Bob', age: 25, salary: 50000 }
173
+ * ];
174
+ * const result = tableFormatter.formatWithMetadata(data, { style: 'grid' });
175
+ * console.log(result.table);
176
+ * console.log(result.metadata.nullCounts); // { salary: 1 }
177
+ * ```
178
+ */
179
+ formatWithMetadata(data, options, context) {
180
+ const logContext = context ||
181
+ requestContextService.createRequestContext({
182
+ operation: "TableFormatter.formatWithMetadata",
183
+ });
184
+ if (!Array.isArray(data)) {
185
+ throw new McpError(JsonRpcErrorCode.ValidationError, "Data must be an array", logContext);
186
+ }
187
+ if (data.length === 0) {
188
+ logger.debug(logContext, "Empty data array provided to table formatter");
189
+ return {
190
+ table: "",
191
+ metadata: { nullCounts: {} },
192
+ };
193
+ }
194
+ // Reset NULL tracking
195
+ this.nullCounts = {};
196
+ // Extract headers from first object
197
+ const headers = Object.keys(data[0]);
198
+ // Merge options with defaults
199
+ const opts = {
200
+ ...this.defaultOptions,
201
+ ...options,
202
+ alignment: { ...this.defaultOptions.alignment, ...options?.alignment },
203
+ };
204
+ // Convert objects to 2D array WITH NULL tracking
205
+ const rows = data.map((obj) => headers.map((header) => this.stringify(obj[header], opts.nullReplacement, header)));
206
+ logger.debug({
207
+ ...logContext,
208
+ rowCount: rows.length,
209
+ columnCount: headers.length,
210
+ nullCounts: this.nullCounts,
211
+ }, "Formatting table with metadata");
212
+ // Format the table
213
+ const table = this.formatRaw(headers, rows, options, context);
214
+ return {
215
+ table,
216
+ metadata: {
217
+ nullCounts: { ...this.nullCounts },
218
+ },
219
+ };
220
+ }
221
+ /**
222
+ * Format a raw 2D array with NULL value tracking.
223
+ * Returns both the formatted table and metadata about NULL values.
224
+ *
225
+ * Note: For raw arrays, NULL tracking uses column indices as keys.
226
+ *
227
+ * @param headers - Array of column headers
228
+ * @param rows - 2D array of cell values (may contain null/undefined)
229
+ * @param options - Table formatting options
230
+ * @param context - Optional request context for logging
231
+ * @returns Object containing formatted table and metadata
232
+ * @throws {McpError} If headers/rows are invalid or formatting fails
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * const headers = ['Name', 'Age', 'Salary'];
237
+ * const rows = [
238
+ * ['Alice', 30, null],
239
+ * ['Bob', 25, 50000]
240
+ * ];
241
+ * const result = tableFormatter.formatRawWithMetadata(headers, rows);
242
+ * console.log(result.metadata.nullCounts); // { '2': 1 } (column index 2)
243
+ * ```
244
+ */
245
+ formatRawWithMetadata(headers, rows, options, context) {
246
+ const logContext = context ||
247
+ requestContextService.createRequestContext({
248
+ operation: "TableFormatter.formatRawWithMetadata",
249
+ });
250
+ // Validate inputs
251
+ if (!Array.isArray(headers) || headers.length === 0) {
252
+ throw new McpError(JsonRpcErrorCode.ValidationError, "Headers must be a non-empty array", logContext);
253
+ }
254
+ if (!Array.isArray(rows)) {
255
+ throw new McpError(JsonRpcErrorCode.ValidationError, "Rows must be an array", logContext);
256
+ }
257
+ if (rows.length === 0) {
258
+ logger.debug(logContext, "Empty rows array provided to table formatter");
259
+ return {
260
+ table: "",
261
+ metadata: { nullCounts: {} },
262
+ };
263
+ }
264
+ // Reset NULL tracking
265
+ this.nullCounts = {};
266
+ // Merge options with defaults
267
+ const opts = {
268
+ ...this.defaultOptions,
269
+ ...options,
270
+ alignment: { ...this.defaultOptions.alignment, ...options?.alignment },
271
+ };
272
+ // Convert all cells to strings WITH NULL tracking
273
+ const stringRows = rows.map((row) => row.map((cell, colIndex) => this.stringify(cell, opts.nullReplacement, colIndex.toString())));
274
+ logger.debug({
275
+ ...logContext,
276
+ rowCount: stringRows.length,
277
+ columnCount: headers.length,
278
+ nullCounts: this.nullCounts,
279
+ }, "Formatting raw table with metadata");
280
+ // Format the table
281
+ const table = this.formatRaw(headers, stringRows, options, context);
282
+ return {
283
+ table,
284
+ metadata: {
285
+ nullCounts: { ...this.nullCounts },
286
+ },
287
+ };
288
+ }
289
+ /**
290
+ * Apply header styling transformations.
291
+ * @private
292
+ */
293
+ applyHeaderStyle(headers, style) {
294
+ switch (style) {
295
+ case "uppercase":
296
+ return headers.map((h) => h.toUpperCase());
297
+ case "bold":
298
+ case "none":
299
+ default:
300
+ return headers;
301
+ }
302
+ }
303
+ /**
304
+ * Calculate column widths and metadata.
305
+ * @private
306
+ */
307
+ calculateColumns(headers, rows, options, context) {
308
+ const columns = headers.map((header, index) => {
309
+ // Determine alignment (use configured or default to left)
310
+ const alignment = options.alignment[header] ||
311
+ options.alignment[index.toString()] ||
312
+ "left";
313
+ // Calculate max content width for this column
314
+ const headerWidth = header.length;
315
+ const maxContentWidth = Math.max(...rows.map((row) => (row[index] || "").length));
316
+ // Determine final width (respecting min/max constraints)
317
+ let width = Math.max(headerWidth, maxContentWidth);
318
+ width = Math.max(width, options.minWidth);
319
+ if (options.maxWidth && width > options.maxWidth) {
320
+ width = options.maxWidth;
321
+ }
322
+ return { name: header, width, alignment };
323
+ });
324
+ logger.debug({
325
+ ...context,
326
+ columns: columns.map((c) => ({ name: c.name, width: c.width })),
327
+ }, "Calculated column widths");
328
+ return columns;
329
+ }
330
+ /**
331
+ * Render table using the specified style.
332
+ * @private
333
+ */
334
+ renderTable(columns, headers, rows, options) {
335
+ switch (options.style) {
336
+ case "markdown":
337
+ return this.renderMarkdown(columns, headers, rows, options);
338
+ case "ascii":
339
+ return this.renderAscii(columns, headers, rows, options);
340
+ case "grid":
341
+ return this.renderGrid(columns, headers, rows, options);
342
+ case "compact":
343
+ return this.renderCompact(columns, headers, rows, options);
344
+ default:
345
+ throw new Error(`Unknown table style: ${String(options.style)}`);
346
+ }
347
+ }
348
+ /**
349
+ * Render markdown-style table.
350
+ * @private
351
+ */
352
+ renderMarkdown(columns, headers, rows, options) {
353
+ const lines = [];
354
+ const pad = " ".repeat(options.padding);
355
+ // Header row
356
+ const headerCells = headers.map((header, i) => this.formatCell(header, columns[i], options));
357
+ lines.push(`|${pad}${headerCells.join(`${pad}|${pad}`)}${pad}|`);
358
+ // Separator row
359
+ const separators = columns.map((col) => {
360
+ const dashes = "-".repeat(col.width);
361
+ return dashes;
362
+ });
363
+ lines.push(`|${pad}${separators.join(`${pad}|${pad}`)}${pad}|`);
364
+ // Data rows
365
+ for (const row of rows) {
366
+ const cells = row.map((cell, i) => this.formatCell(cell, columns[i], options));
367
+ lines.push(`|${pad}${cells.join(`${pad}|${pad}`)}${pad}|`);
368
+ }
369
+ return lines.join("\n");
370
+ }
371
+ /**
372
+ * Render ASCII box-drawing table.
373
+ * @private
374
+ */
375
+ renderAscii(columns, headers, rows, options) {
376
+ const lines = [];
377
+ const pad = " ".repeat(options.padding);
378
+ // Top border
379
+ const topBorder = columns
380
+ .map((col) => "-".repeat(col.width + options.padding * 2))
381
+ .join("+");
382
+ lines.push(`+${topBorder}+`);
383
+ // Header row
384
+ const headerCells = headers.map((header, i) => this.formatCell(header, columns[i], options));
385
+ lines.push(`|${pad}${headerCells.join(`${pad}|${pad}`)}${pad}|`);
386
+ // Header separator
387
+ const headerSep = columns
388
+ .map((col) => "-".repeat(col.width + options.padding * 2))
389
+ .join("+");
390
+ lines.push(`+${headerSep}+`);
391
+ // Data rows
392
+ for (const row of rows) {
393
+ const cells = row.map((cell, i) => this.formatCell(cell, columns[i], options));
394
+ lines.push(`|${pad}${cells.join(`${pad}|${pad}`)}${pad}|`);
395
+ }
396
+ // Bottom border
397
+ const bottomBorder = columns
398
+ .map((col) => "-".repeat(col.width + options.padding * 2))
399
+ .join("+");
400
+ lines.push(`+${bottomBorder}+`);
401
+ return lines.join("\n");
402
+ }
403
+ /**
404
+ * Render Unicode grid table.
405
+ * @private
406
+ */
407
+ renderGrid(columns, headers, rows, options) {
408
+ const lines = [];
409
+ const pad = " ".repeat(options.padding);
410
+ // Top border
411
+ const topBorder = columns
412
+ .map((col) => "─".repeat(col.width + options.padding * 2))
413
+ .join("┬");
414
+ lines.push(`┌${topBorder}┐`);
415
+ // Header row
416
+ const headerCells = headers.map((header, i) => this.formatCell(header, columns[i], options));
417
+ lines.push(`│${pad}${headerCells.join(`${pad}│${pad}`)}${pad}│`);
418
+ // Header separator
419
+ const headerSep = columns
420
+ .map((col) => "─".repeat(col.width + options.padding * 2))
421
+ .join("┼");
422
+ lines.push(`├${headerSep}┤`);
423
+ // Data rows
424
+ for (const row of rows) {
425
+ const cells = row.map((cell, i) => this.formatCell(cell, columns[i], options));
426
+ lines.push(`│${pad}${cells.join(`${pad}│${pad}`)}${pad}│`);
427
+ }
428
+ // Bottom border
429
+ const bottomBorder = columns
430
+ .map((col) => "─".repeat(col.width + options.padding * 2))
431
+ .join("┴");
432
+ lines.push(`└${bottomBorder}┘`);
433
+ return lines.join("\n");
434
+ }
435
+ /**
436
+ * Render compact space-separated table.
437
+ * @private
438
+ */
439
+ renderCompact(columns, headers, rows, options) {
440
+ const lines = [];
441
+ const pad = " ".repeat(options.padding * 2);
442
+ // Header row
443
+ const headerCells = headers.map((header, i) => this.formatCell(header, columns[i], options));
444
+ lines.push(headerCells.join(pad));
445
+ // Data rows
446
+ for (const row of rows) {
447
+ const cells = row.map((cell, i) => this.formatCell(cell, columns[i], options));
448
+ lines.push(cells.join(pad));
449
+ }
450
+ return lines.join("\n");
451
+ }
452
+ /**
453
+ * Format a single cell with alignment and truncation.
454
+ * @private
455
+ */
456
+ formatCell(content, column, options) {
457
+ let text = content;
458
+ // Truncate if needed
459
+ if (options.truncate && text.length > column.width) {
460
+ text = text.substring(0, column.width - 3) + "...";
461
+ }
462
+ // Apply alignment padding
463
+ const padding = column.width - text.length;
464
+ if (padding <= 0) {
465
+ return text;
466
+ }
467
+ switch (column.alignment) {
468
+ case "left":
469
+ return text + " ".repeat(padding);
470
+ case "right":
471
+ return " ".repeat(padding) + text;
472
+ case "center": {
473
+ const leftPad = Math.floor(padding / 2);
474
+ const rightPad = padding - leftPad;
475
+ return " ".repeat(leftPad) + text + " ".repeat(rightPad);
476
+ }
477
+ default:
478
+ return text;
479
+ }
480
+ }
481
+ /**
482
+ * Convert any value to a string for display in table.
483
+ * Tracks NULL values per column when columnKey is provided.
484
+ * @private
485
+ */
486
+ stringify(value, nullReplacement = "-", columnKey) {
487
+ // Handle NULL/undefined values with tracking
488
+ if (value === null || value === undefined) {
489
+ if (columnKey) {
490
+ this.nullCounts[columnKey] = (this.nullCounts[columnKey] || 0) + 1;
491
+ }
492
+ return nullReplacement;
493
+ }
494
+ // Standard value conversion
495
+ if (typeof value === "string")
496
+ return value;
497
+ if (typeof value === "number")
498
+ return value.toString();
499
+ if (typeof value === "boolean")
500
+ return value.toString();
501
+ if (typeof value === "bigint")
502
+ return value.toString();
503
+ if (typeof value === "symbol")
504
+ return value.toString();
505
+ if (typeof value === "function")
506
+ return "[Function]";
507
+ if (Array.isArray(value))
508
+ return JSON.stringify(value);
509
+ if (typeof value === "object") {
510
+ try {
511
+ return JSON.stringify(value);
512
+ }
513
+ catch {
514
+ return "[Object]";
515
+ }
516
+ }
517
+ return "[Unknown]";
518
+ }
519
+ }
520
+ /**
521
+ * Singleton instance of TableFormatter.
522
+ * Use this instance to format tabular data into various table styles.
523
+ *
524
+ * @example
525
+ * ```typescript
526
+ * import { tableFormatter } from '../index.js';
527
+ *
528
+ * const data = [
529
+ * { name: 'Alice', age: 30, role: 'Engineer' },
530
+ * { name: 'Bob', age: 25, role: 'Designer' }
531
+ * ];
532
+ *
533
+ * // Markdown table (default)
534
+ * console.log(tableFormatter.format(data));
535
+ *
536
+ * // Grid table with right-aligned age
537
+ * console.log(tableFormatter.format(data, {
538
+ * style: 'grid',
539
+ * alignment: { age: 'right' }
540
+ * }));
541
+ *
542
+ * // Compact table with uppercase headers
543
+ * console.log(tableFormatter.format(data, {
544
+ * style: 'compact',
545
+ * headerStyle: 'uppercase'
546
+ * }));
547
+ * ```
548
+ */
549
+ export const tableFormatter = new TableFormatter();
550
+ //# sourceMappingURL=tableFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableFormatter.js","sourceRoot":"","sources":["../../../src/utils/formatting/tableFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview Barrel file for the utils module.
3
+ * This file re-exports all utilities from their categorized subdirectories,
4
+ * providing a single entry point for accessing utility functions.
5
+ * @module src/utils
6
+ */
7
+ export * from "./internal/index.js";
8
+ export * from "./metrics/index.js";
9
+ export * from "./parsing/index.js";
10
+ export * from "./security/index.js";
11
+ export * from "./network/index.js";
12
+ export * from "./scheduling/index.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview Barrel file for the utils module.
3
+ * This file re-exports all utilities from their categorized subdirectories,
4
+ * providing a single entry point for accessing utility functions.
5
+ * @module src/utils
6
+ */
7
+ // Re-export all utilities from their categorized subdirectories
8
+ export * from "./internal/index.js";
9
+ export * from "./metrics/index.js";
10
+ export * from "./parsing/index.js";
11
+ export * from "./security/index.js";
12
+ export * from "./network/index.js";
13
+ export * from "./scheduling/index.js";
14
+ // It's good practice to have index.ts files in each subdirectory
15
+ // that export the contents of that directory.
16
+ // Assuming those will be created or already exist.
17
+ // If not, this might need adjustment to export specific files, e.g.:
18
+ // export * from './internal/errorHandler.js';
19
+ // export * from './internal/logger.js';
20
+ // ... etc.
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gEAAgE;AAChE,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AAEtC,iEAAiE;AACjE,8CAA8C;AAC9C,mDAAmD;AACnD,qEAAqE;AACrE,8CAA8C;AAC9C,wCAAwC;AACxC,WAAW"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @fileoverview Manages asynchronous context propagation using AsyncLocalStorage.
3
+ * This module provides a mechanism to store and retrieve a `RequestContext` across
4
+ * asynchronous operations, ensuring that critical metadata like `requestId` and trace
5
+ * information is available throughout the entire call stack without prop drilling.
6
+ * @module src/utils/internal/asyncContext
7
+ * @see {@link src/utils/internal/requestContext.ts} for the definition of RequestContext.
8
+ */
9
+ import { AsyncLocalStorage } from "node:async_hooks";
10
+ import type { RequestContext } from "./requestContext.js";
11
+ /**
12
+ * The singleton `AsyncLocalStorage` instance for storing the `RequestContext`.
13
+ * This holds the context for the duration of a single asynchronous operation,
14
+ * such as an incoming tool call or a scheduled job.
15
+ */
16
+ export declare const requestContextStore: AsyncLocalStorage<RequestContext>;
17
+ /**
18
+ * Retrieves the current `RequestContext` from the async local storage.
19
+ * It is a synchronous call that depends on the execution context.
20
+ *
21
+ * @returns {RequestContext | undefined} The current `RequestContext` if it exists
22
+ * in the current async context, otherwise `undefined`.
23
+ */
24
+ export declare function getRequestContext(): RequestContext | undefined;
25
+ /**
26
+ * A higher-order function that runs a given function within a specified `RequestContext`.
27
+ * This is the primary mechanism for establishing an async context for an operation.
28
+ *
29
+ * @template T The return type of the function to be executed.
30
+ * @param {RequestContext} context - The `RequestContext` to set for the duration of the function's execution.
31
+ * @param {() => T} fn - The function to execute within the context.
32
+ * @returns {T} The result returned by the function `fn`.
33
+ */
34
+ export declare function withRequestContext<T>(context: RequestContext, fn: () => T): T;
35
+ //# sourceMappingURL=asyncContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncContext.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/asyncContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mCAA0C,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE7E"}