@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 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/internal/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @fileoverview Provides centralized helper functions for common logging scenarios.
3
+ * This module standardizes how operations, successes, and errors are logged
4
+ * throughout the application, ensuring consistency and making future enhancements easier.
5
+ * @module src/utils/internal/logging-helpers
6
+ */
7
+ import { RequestContext } from "./requestContext.js";
8
+ interface OperationPayload {
9
+ [key: string]: unknown;
10
+ }
11
+ /**
12
+ * Logs the start of an operation.
13
+ * @param context - The request context for the operation.
14
+ * @param message - The log message describing the operation.
15
+ * @param payload - Additional structured data to include in the log.
16
+ */
17
+ export declare function logOperationStart(context: RequestContext, message: string, payload?: OperationPayload): void;
18
+ /**
19
+ * Logs the successful completion of an operation.
20
+ * @param context - The request context for the operation.
21
+ * @param message - The log message describing the success.
22
+ * @param payload - Additional structured data, like performance metrics.
23
+ */
24
+ export declare function logOperationSuccess(context: RequestContext, message: string, payload?: OperationPayload): void;
25
+ /**
26
+ * Logs a failed operation.
27
+ * @param context - The request context for the operation.
28
+ * @param message - The log message describing the error.
29
+ * @param error - The error object.
30
+ * @param payload - Additional structured data.
31
+ */
32
+ export declare function logOperationError(context: RequestContext, message: string, error: unknown, payload?: OperationPayload): void;
33
+ /**
34
+ * Logs a warning.
35
+ * @param context - The request context.
36
+ * @param message - The warning message.
37
+ * @param payload - Additional structured data.
38
+ */
39
+ export declare function logWarning(context: RequestContext, message: string, payload?: OperationPayload): void;
40
+ /**
41
+ * Logs a fatal error and terminates the process.
42
+ * This should be used for unrecoverable errors during critical phases like startup.
43
+ * @param context - The request context.
44
+ * @param message - The fatal error message.
45
+ * @param error - The error object.
46
+ */
47
+ export declare function logFatal(context: RequestContext, message: string, error: unknown): void;
48
+ export {};
49
+ //# sourceMappingURL=logging-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/logging-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,UAAU,gBAAgB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAEN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAGN;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,IAAI,CAMN"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @fileoverview Provides centralized helper functions for common logging scenarios.
3
+ * This module standardizes how operations, successes, and errors are logged
4
+ * throughout the application, ensuring consistency and making future enhancements easier.
5
+ * @module src/utils/internal/logging-helpers
6
+ */
7
+ import { logger } from "./logger.js";
8
+ /**
9
+ * Logs the start of an operation.
10
+ * @param context - The request context for the operation.
11
+ * @param message - The log message describing the operation.
12
+ * @param payload - Additional structured data to include in the log.
13
+ */
14
+ export function logOperationStart(context, message, payload) {
15
+ logger.info({ ...context, ...payload }, message);
16
+ }
17
+ /**
18
+ * Logs the successful completion of an operation.
19
+ * @param context - The request context for the operation.
20
+ * @param message - The log message describing the success.
21
+ * @param payload - Additional structured data, like performance metrics.
22
+ */
23
+ export function logOperationSuccess(context, message, payload) {
24
+ logger.info({ ...context, ...payload }, message);
25
+ }
26
+ /**
27
+ * Logs a failed operation.
28
+ * @param context - The request context for the operation.
29
+ * @param message - The log message describing the error.
30
+ * @param error - The error object.
31
+ * @param payload - Additional structured data.
32
+ */
33
+ export function logOperationError(context, message, error, payload) {
34
+ const err = error instanceof Error ? error : new Error(String(error));
35
+ logger.error({ err, ...context, ...payload }, message);
36
+ }
37
+ /**
38
+ * Logs a warning.
39
+ * @param context - The request context.
40
+ * @param message - The warning message.
41
+ * @param payload - Additional structured data.
42
+ */
43
+ export function logWarning(context, message, payload) {
44
+ logger.warning({ ...context, ...payload }, message);
45
+ }
46
+ /**
47
+ * Logs a fatal error and terminates the process.
48
+ * This should be used for unrecoverable errors during critical phases like startup.
49
+ * @param context - The request context.
50
+ * @param message - The fatal error message.
51
+ * @param error - The error object.
52
+ */
53
+ export function logFatal(context, message, error) {
54
+ const err = error instanceof Error ? error : new Error(String(error));
55
+ // The logger's uncaughtException handler will exit, but we call fatal here for consistency.
56
+ logger.fatal({ err, ...context }, message);
57
+ // Ensure process exits if not already handled by uncaughtException handler
58
+ setTimeout(() => process.exit(1), 10);
59
+ }
60
+ //# sourceMappingURL=logging-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-helpers.js","sourceRoot":"","sources":["../../../src/utils/internal/logging-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOrC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,OAAe,EACf,OAA0B;IAE1B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,OAAe,EACf,OAA0B;IAE1B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,OAAe,EACf,KAAc,EACd,OAA0B;IAE1B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,OAAuB,EACvB,OAAe,EACf,OAA0B;IAE1B,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAuB,EACvB,OAAe,EACf,KAAc;IAEd,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,4FAA4F;IAC5F,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Provides a utility for performance monitoring of tool execution.
3
+ * This module introduces a higher-order function to wrap tool logic, measure its
4
+ * execution time, and log a structured metrics event.
5
+ * @module src/utils/internal/performance
6
+ */
7
+ /**
8
+ * A higher-order function that wraps a tool's core logic to measure its performance
9
+ * and log a structured metrics event upon completion.
10
+ *
11
+ * @template T The expected return type of the tool's logic function.
12
+ * @param toolName - The name of the tool being executed.
13
+ * @param toolLogicFn - The asynchronous tool logic function to be executed and measured.
14
+ * @param inputPayload - The input payload to the tool for size calculation.
15
+ * @returns A promise that resolves with the result of the tool logic function.
16
+ * @throws Re-throws any error caught from the tool logic function after logging the failure.
17
+ */
18
+ export declare function measureToolExecution<T>(toolName: string, toolLogicFn: () => Promise<T>, inputPayload: unknown): Promise<T>;
19
+ //# sourceMappingURL=performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC7B,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,CAAC,CAAC,CA4EZ"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @fileoverview Provides a utility for performance monitoring of tool execution.
3
+ * This module introduces a higher-order function to wrap tool logic, measure its
4
+ * execution time, and log a structured metrics event.
5
+ * @module src/utils/internal/performance
6
+ */
7
+ import { SpanStatusCode, trace } from "@opentelemetry/api";
8
+ import { ATTR_CODE_FUNCTION, ATTR_CODE_NAMESPACE, } from "../telemetry/semconv.js";
9
+ import { config } from "../../config/index.js";
10
+ import { McpError } from "../../types-global/errors.js";
11
+ import { getRequestContext } from "./asyncContext.js";
12
+ import { logOperationSuccess } from "./logging-helpers.js";
13
+ import { requestContextService } from "./requestContext.js";
14
+ /**
15
+ * Calculates the size of a payload in bytes.
16
+ * @param payload - The payload to measure.
17
+ * @returns The size in bytes.
18
+ * @private
19
+ */
20
+ function getPayloadSize(payload) {
21
+ if (!payload)
22
+ return 0;
23
+ try {
24
+ const stringified = JSON.stringify(payload);
25
+ return Buffer.byteLength(stringified, "utf8");
26
+ }
27
+ catch {
28
+ return 0; // Could not stringify
29
+ }
30
+ }
31
+ /**
32
+ * A higher-order function that wraps a tool's core logic to measure its performance
33
+ * and log a structured metrics event upon completion.
34
+ *
35
+ * @template T The expected return type of the tool's logic function.
36
+ * @param toolName - The name of the tool being executed.
37
+ * @param toolLogicFn - The asynchronous tool logic function to be executed and measured.
38
+ * @param inputPayload - The input payload to the tool for size calculation.
39
+ * @returns A promise that resolves with the result of the tool logic function.
40
+ * @throws Re-throws any error caught from the tool logic function after logging the failure.
41
+ */
42
+ export async function measureToolExecution(toolName, toolLogicFn, inputPayload) {
43
+ // Ensure a valid context exists for logging and tracing.
44
+ const context = getRequestContext() ??
45
+ requestContextService.createRequestContext({
46
+ operation: `measureToolExecution:${toolName}`,
47
+ });
48
+ const tracer = trace.getTracer(config.openTelemetry.serviceName, config.openTelemetry.serviceVersion);
49
+ return tracer.startActiveSpan(`tool_execution:${toolName}`, async (span) => {
50
+ span.setAttributes({
51
+ [ATTR_CODE_FUNCTION]: toolName,
52
+ [ATTR_CODE_NAMESPACE]: "mcp-tools",
53
+ "mcp.tool.input_bytes": getPayloadSize(inputPayload),
54
+ });
55
+ const startTime = process.hrtime.bigint();
56
+ let isSuccess = false;
57
+ let errorCode;
58
+ let outputPayload;
59
+ try {
60
+ const result = await toolLogicFn();
61
+ isSuccess = true;
62
+ outputPayload = result;
63
+ span.setStatus({ code: SpanStatusCode.OK });
64
+ span.setAttribute("mcp.tool.output_bytes", getPayloadSize(outputPayload));
65
+ return result;
66
+ }
67
+ catch (error) {
68
+ if (error instanceof McpError) {
69
+ errorCode = error.code;
70
+ }
71
+ else if (error instanceof Error) {
72
+ errorCode = "UNHANDLED_ERROR";
73
+ }
74
+ else {
75
+ errorCode = "UNKNOWN_ERROR";
76
+ }
77
+ if (error instanceof Error) {
78
+ span.recordException(error);
79
+ }
80
+ span.setStatus({
81
+ code: SpanStatusCode.ERROR,
82
+ message: error instanceof Error ? error.message : String(error),
83
+ });
84
+ throw error;
85
+ }
86
+ finally {
87
+ const endTime = process.hrtime.bigint();
88
+ const durationMs = Number(endTime - startTime) / 1_000_000;
89
+ span.setAttributes({
90
+ "mcp.tool.duration_ms": parseFloat(durationMs.toFixed(2)),
91
+ "mcp.tool.success": isSuccess,
92
+ });
93
+ if (errorCode) {
94
+ span.setAttribute("mcp.tool.error_code", errorCode);
95
+ }
96
+ span.end();
97
+ logOperationSuccess(context, "Tool execution finished.", {
98
+ performance: {
99
+ toolName,
100
+ durationMs: parseFloat(durationMs.toFixed(2)),
101
+ isSuccess,
102
+ errorCode,
103
+ inputBytes: getPayloadSize(inputPayload),
104
+ outputBytes: getPayloadSize(outputPayload),
105
+ },
106
+ });
107
+ }
108
+ });
109
+ }
110
+ //# sourceMappingURL=performance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Defines the core structure for context information associated with a request or operation.
3
+ * This is fundamental for logging, tracing, and passing operational data.
4
+ */
5
+ export interface RequestContext {
6
+ requestId: string;
7
+ timestamp: string;
8
+ [key: string]: unknown;
9
+ }
10
+ /**
11
+ * Options for creating a new RequestContext.
12
+ */
13
+ export interface CreateRequestContextOptions {
14
+ /**
15
+ * An optional parent context. If provided, the new context will inherit the
16
+ * `requestId` and `traceId` from the parent, creating a logical link.
17
+ */
18
+ parentContext?: RequestContext | Record<string, unknown>;
19
+ /**
20
+ * Allows for arbitrary additional context information.
21
+ */
22
+ [key: string]: unknown;
23
+ }
24
+ /**
25
+ * Creates a new {@link RequestContext} instance.
26
+ * Each context is assigned a unique `requestId` and a current `timestamp`.
27
+ * It automatically injects OpenTelemetry trace and span IDs if an active span exists.
28
+ * If a `parentContext` is provided, it inherits the `requestId` for continuity.
29
+ *
30
+ * @param options - An optional object containing a `parentContext` and other
31
+ * key-value pairs to be included in the created request context.
32
+ * @returns A new `RequestContext` object.
33
+ */
34
+ export declare function createRequestContext(options?: CreateRequestContextOptions): RequestContext;
35
+ /**
36
+ * A service object for managing request context operations.
37
+ */
38
+ export declare const requestContextService: {
39
+ createRequestContext: typeof createRequestContext;
40
+ };
41
+ //# sourceMappingURL=requestContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/requestContext.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,aAAa,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,2BAAgC,GACxC,cAAc,CAyBhB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;CAEjC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @fileoverview Utilities for creating and managing request contexts.
3
+ * A request context is an object carrying a unique ID, timestamp, and other
4
+ * relevant data for logging, tracing, and processing.
5
+ * @module src/utils/internal/requestContext
6
+ */
7
+ import { trace } from "@opentelemetry/api";
8
+ import { generateShortAlphanumericId } from "../security/idGenerator.js";
9
+ /**
10
+ * Creates a new {@link RequestContext} instance.
11
+ * Each context is assigned a unique `requestId` and a current `timestamp`.
12
+ * It automatically injects OpenTelemetry trace and span IDs if an active span exists.
13
+ * If a `parentContext` is provided, it inherits the `requestId` for continuity.
14
+ *
15
+ * @param options - An optional object containing a `parentContext` and other
16
+ * key-value pairs to be included in the created request context.
17
+ * @returns A new `RequestContext` object.
18
+ */
19
+ export function createRequestContext(options = {}) {
20
+ const { parentContext, ...additionalContext } = options;
21
+ const baseRequestId = parentContext && typeof parentContext.requestId === "string"
22
+ ? parentContext.requestId
23
+ : generateShortAlphanumericId();
24
+ const context = {
25
+ requestId: baseRequestId,
26
+ timestamp: new Date().toISOString(),
27
+ ...additionalContext,
28
+ };
29
+ const activeSpan = trace.getActiveSpan();
30
+ if (activeSpan) {
31
+ const spanContext = activeSpan.spanContext();
32
+ context.traceId = spanContext.traceId;
33
+ context.spanId = spanContext.spanId;
34
+ }
35
+ else if (parentContext && typeof parentContext.traceId === "string") {
36
+ // Inherit traceId from parent if not in an active span
37
+ context.traceId = parentContext.traceId;
38
+ }
39
+ return context;
40
+ }
41
+ /**
42
+ * A service object for managing request context operations.
43
+ */
44
+ export const requestContextService = {
45
+ createRequestContext,
46
+ };
47
+ //# sourceMappingURL=requestContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestContext.js","sourceRoot":"","sources":["../../../src/utils/internal/requestContext.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AA2BzE;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAuC,EAAE;IAEzC,MAAM,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAExD,MAAM,aAAa,GACjB,aAAa,IAAI,OAAO,aAAa,CAAC,SAAS,KAAK,QAAQ;QAC1D,CAAC,CAAC,aAAa,CAAC,SAAS;QACzB,CAAC,CAAC,2BAA2B,EAAE,CAAC;IAEpC,MAAM,OAAO,GAAmB;QAC9B,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,iBAAiB;KACrB,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,CAAC;SAAM,IAAI,aAAa,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtE,uDAAuD;QACvD,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,oBAAoB;CACrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Barrel file for metrics-related utility modules.
3
+ * This file re-exports utilities for collecting and processing metrics,
4
+ * such as token counting.
5
+ * @module src/utils/metrics
6
+ */
7
+ export * from "./tokenCounter.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Barrel file for metrics-related utility modules.
3
+ * This file re-exports utilities for collecting and processing metrics,
4
+ * such as token counting.
5
+ * @module src/utils/metrics
6
+ */
7
+ export * from "./tokenCounter.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview Provides utility functions for counting tokens in text and chat messages
3
+ * using the `tiktoken` library, specifically configured for 'gpt-4o' tokenization.
4
+ * These functions are essential for managing token limits and estimating costs
5
+ * when interacting with language models.
6
+ * @module src/utils/metrics/tokenCounter
7
+ */
8
+ import { ChatCompletionMessageParam } from "openai/resources/chat/completions";
9
+ import { RequestContext } from "../index.js";
10
+ /**
11
+ * Calculates the number of tokens for a given text string using the
12
+ * tokenizer specified by `TOKENIZATION_MODEL`.
13
+ * Wraps tokenization in `ErrorHandler.tryCatch` for robust error management.
14
+ *
15
+ * @param text - The input text to tokenize.
16
+ * @param context - Optional request context for logging and error handling.
17
+ * @returns A promise that resolves with the number of tokens in the text.
18
+ * @throws {McpError} If tokenization fails.
19
+ */
20
+ export declare function countTokens(text: string, context?: RequestContext): Promise<number>;
21
+ /**
22
+ * Calculates the estimated number of tokens for an array of chat messages.
23
+ * Uses the tokenizer specified by `TOKENIZATION_MODEL` and accounts for
24
+ * special tokens and message overhead according to OpenAI's guidelines.
25
+ *
26
+ * For multi-part content, only text parts are currently tokenized.
27
+ *
28
+ * Reference: {@link https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb}
29
+ *
30
+ * @param messages - An array of chat messages.
31
+ * @param context - Optional request context for logging and error handling.
32
+ * @returns A promise that resolves with the estimated total number of tokens.
33
+ * @throws {McpError} If tokenization fails.
34
+ */
35
+ export declare function countChatTokens(messages: ReadonlyArray<ChatCompletionMessageParam>, context?: RequestContext): Promise<number>;
36
+ //# sourceMappingURL=tokenCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenCounter.d.ts","sourceRoot":"","sources":["../../../src/utils/metrics/tokenCounter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAwB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASxE;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,aAAa,CAAC,0BAA0B,CAAC,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CA6EjB"}
@@ -0,0 +1,115 @@
1
+ import { encoding_for_model } from "tiktoken";
2
+ import { JsonRpcErrorCode } from "../../types-global/errors.js";
3
+ import { ErrorHandler, logger } from "../index.js";
4
+ /**
5
+ * The specific Tiktoken model used for all tokenization operations in this module.
6
+ * This ensures consistent token counting.
7
+ * @private
8
+ */
9
+ const TOKENIZATION_MODEL = "gpt-4o";
10
+ /**
11
+ * Calculates the number of tokens for a given text string using the
12
+ * tokenizer specified by `TOKENIZATION_MODEL`.
13
+ * Wraps tokenization in `ErrorHandler.tryCatch` for robust error management.
14
+ *
15
+ * @param text - The input text to tokenize.
16
+ * @param context - Optional request context for logging and error handling.
17
+ * @returns A promise that resolves with the number of tokens in the text.
18
+ * @throws {McpError} If tokenization fails.
19
+ */
20
+ export async function countTokens(text, context) {
21
+ return ErrorHandler.tryCatch(() => {
22
+ let encoding = null;
23
+ try {
24
+ encoding = encoding_for_model(TOKENIZATION_MODEL);
25
+ const tokens = encoding.encode(text);
26
+ return tokens.length;
27
+ }
28
+ finally {
29
+ encoding?.free();
30
+ }
31
+ }, {
32
+ operation: "countTokens",
33
+ context: context,
34
+ input: { textSample: text.substring(0, 50) + "..." },
35
+ errorCode: JsonRpcErrorCode.InternalError,
36
+ });
37
+ }
38
+ /**
39
+ * Calculates the estimated number of tokens for an array of chat messages.
40
+ * Uses the tokenizer specified by `TOKENIZATION_MODEL` and accounts for
41
+ * special tokens and message overhead according to OpenAI's guidelines.
42
+ *
43
+ * For multi-part content, only text parts are currently tokenized.
44
+ *
45
+ * Reference: {@link https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb}
46
+ *
47
+ * @param messages - An array of chat messages.
48
+ * @param context - Optional request context for logging and error handling.
49
+ * @returns A promise that resolves with the estimated total number of tokens.
50
+ * @throws {McpError} If tokenization fails.
51
+ */
52
+ export async function countChatTokens(messages, context) {
53
+ return ErrorHandler.tryCatch(() => {
54
+ let encoding = null;
55
+ let num_tokens = 0;
56
+ try {
57
+ encoding = encoding_for_model(TOKENIZATION_MODEL);
58
+ const tokens_per_message = 3; // For gpt-4o, gpt-4, gpt-3.5-turbo
59
+ const tokens_per_name = 1; // For gpt-4o, gpt-4, gpt-3.5-turbo
60
+ for (const message of messages) {
61
+ num_tokens += tokens_per_message;
62
+ num_tokens += encoding.encode(message.role).length;
63
+ if (typeof message.content === "string") {
64
+ num_tokens += encoding.encode(message.content).length;
65
+ }
66
+ else if (Array.isArray(message.content)) {
67
+ for (const part of message.content) {
68
+ if (part.type === "text") {
69
+ num_tokens += encoding.encode(part.text).length;
70
+ }
71
+ else {
72
+ if (context) {
73
+ logger.warning(context, `Non-text content part found (type: ${part.type}), token count contribution ignored.`);
74
+ }
75
+ }
76
+ }
77
+ }
78
+ if ("name" in message && message.name) {
79
+ num_tokens += tokens_per_name;
80
+ num_tokens += encoding.encode(message.name).length;
81
+ }
82
+ if (message.role === "assistant" &&
83
+ "tool_calls" in message &&
84
+ message.tool_calls) {
85
+ for (const tool_call of message.tool_calls) {
86
+ if (tool_call.type === "function") {
87
+ if (tool_call.function.name) {
88
+ num_tokens += encoding.encode(tool_call.function.name).length;
89
+ }
90
+ if (tool_call.function.arguments) {
91
+ num_tokens += encoding.encode(tool_call.function.arguments).length;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ if (message.role === "tool" &&
97
+ "tool_call_id" in message &&
98
+ message.tool_call_id) {
99
+ num_tokens += encoding.encode(message.tool_call_id).length;
100
+ }
101
+ }
102
+ num_tokens += 3; // Every reply is primed with <|start|>assistant<|message|>
103
+ return num_tokens;
104
+ }
105
+ finally {
106
+ encoding?.free();
107
+ }
108
+ }, {
109
+ operation: "countChatTokens",
110
+ context: context,
111
+ input: { messageCount: messages.length },
112
+ errorCode: JsonRpcErrorCode.InternalError,
113
+ });
114
+ }
115
+ //# sourceMappingURL=tokenCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenCounter.js","sourceRoot":"","sources":["../../../src/utils/metrics/tokenCounter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview Provides a utility function to make fetch requests with a specified timeout.
3
+ * @module src/utils/network/fetchWithTimeout
4
+ */
5
+ import type { RequestContext } from "../internal/requestContext.js";
6
+ /**
7
+ * Options for the fetchWithTimeout utility.
8
+ * Extends standard RequestInit but omits 'signal' as it's handled internally.
9
+ */
10
+ export type FetchWithTimeoutOptions = Omit<RequestInit, "signal">;
11
+ /**
12
+ * Fetches a resource with a specified timeout.
13
+ *
14
+ * @param url - The URL to fetch.
15
+ * @param timeoutMs - The timeout duration in milliseconds.
16
+ * @param context - The request context for logging.
17
+ * @param options - Optional fetch options (RequestInit), excluding 'signal'.
18
+ * @returns A promise that resolves to the Response object.
19
+ * @throws {McpError} If the request times out or another fetch-related error occurs.
20
+ */
21
+ export declare function fetchWithTimeout(url: string | URL, timeoutMs: number, context: RequestContext, options?: FetchWithTimeoutOptions): Promise<Response>;
22
+ //# sourceMappingURL=fetchWithTimeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchWithTimeout.d.ts","sourceRoot":"","sources":["../../../src/utils/network/fetchWithTimeout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAElE;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,QAAQ,CAAC,CA6FnB"}