@mcp-abap-adt/core 2.1.3 → 2.1.6

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 (438) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/bin/help.d.ts +6 -0
  3. package/dist/bin/help.d.ts.map +1 -0
  4. package/dist/bin/help.js +59 -0
  5. package/dist/bin/mcp-abap-adt-v2.d.ts +9 -0
  6. package/dist/bin/mcp-abap-adt-v2.d.ts.map +1 -0
  7. package/dist/bin/mcp-abap-adt-v2.js +247 -0
  8. package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts +21 -0
  9. package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts.map +1 -0
  10. package/dist/handlers/behavior_definition/readonly/handleGetBdef.js +24 -0
  11. package/dist/handlers/behavior_definition/readonly/handleGetBdef.js.map +1 -0
  12. package/dist/handlers/class/high/handleCreateLocalTestClass.d.ts.map +1 -1
  13. package/dist/handlers/class/high/handleCreateLocalTestClass.js +6 -1
  14. package/dist/handlers/class/high/handleCreateLocalTestClass.js.map +1 -1
  15. package/dist/handlers/class/high/handleGetUnitTest.d.ts +38 -0
  16. package/dist/handlers/class/high/handleGetUnitTest.d.ts.map +1 -0
  17. package/dist/handlers/class/high/handleGetUnitTest.js +73 -0
  18. package/dist/handlers/class/high/handleGetUnitTest.js.map +1 -0
  19. package/dist/handlers/class/high/handleRunUnitTest.d.ts +122 -0
  20. package/dist/handlers/class/high/handleRunUnitTest.d.ts.map +1 -0
  21. package/dist/handlers/class/high/handleRunUnitTest.js +133 -0
  22. package/dist/handlers/class/high/handleRunUnitTest.js.map +1 -0
  23. package/dist/handlers/class/readonly/handleGetClass.d.ts +23 -0
  24. package/dist/handlers/class/readonly/handleGetClass.d.ts.map +1 -0
  25. package/dist/handlers/class/readonly/handleGetClass.js +77 -0
  26. package/dist/handlers/class/readonly/handleGetClass.js.map +1 -0
  27. package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts +23 -0
  28. package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts.map +1 -0
  29. package/dist/handlers/data_element/readonly/handleGetDataElement.js +79 -0
  30. package/dist/handlers/data_element/readonly/handleGetDataElement.js.map +1 -0
  31. package/dist/handlers/domain/readonly/handleGetDomain.d.ts +23 -0
  32. package/dist/handlers/domain/readonly/handleGetDomain.d.ts.map +1 -0
  33. package/dist/handlers/domain/readonly/handleGetDomain.js +79 -0
  34. package/dist/handlers/domain/readonly/handleGetDomain.js.map +1 -0
  35. package/dist/handlers/enhancement/readonly/handleGetEnhancements.d.ts.map +1 -1
  36. package/dist/handlers/enhancement/readonly/handleGetEnhancements.js +7 -7
  37. package/dist/handlers/enhancement/readonly/handleGetEnhancements.js.map +1 -1
  38. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts +23 -0
  39. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts.map +1 -0
  40. package/dist/handlers/function/readonly/handleGetFunctionGroup.js +77 -0
  41. package/dist/handlers/function/readonly/handleGetFunctionGroup.js.map +1 -0
  42. package/dist/handlers/include/readonly/handleGetIncludesList.d.ts.map +1 -1
  43. package/dist/handlers/include/readonly/handleGetIncludesList.js +8 -5
  44. package/dist/handlers/include/readonly/handleGetIncludesList.js.map +1 -1
  45. package/dist/handlers/interface/readonly/handleGetInterface.d.ts +23 -0
  46. package/dist/handlers/interface/readonly/handleGetInterface.d.ts.map +1 -0
  47. package/dist/handlers/interface/readonly/handleGetInterface.js +77 -0
  48. package/dist/handlers/interface/readonly/handleGetInterface.js.map +1 -0
  49. package/dist/handlers/package/readonly/handleGetPackage.d.ts +22 -0
  50. package/dist/handlers/package/readonly/handleGetPackage.d.ts.map +1 -0
  51. package/dist/handlers/package/readonly/handleGetPackage.js +108 -0
  52. package/dist/handlers/package/readonly/handleGetPackage.js.map +1 -0
  53. package/dist/handlers/program/readonly/handleGetProgram.d.ts +23 -0
  54. package/dist/handlers/program/readonly/handleGetProgram.d.ts.map +1 -0
  55. package/dist/handlers/program/readonly/handleGetProgram.js +77 -0
  56. package/dist/handlers/program/readonly/handleGetProgram.js.map +1 -0
  57. package/dist/handlers/search/readonly/handleGetObjectsByType.d.ts.map +1 -1
  58. package/dist/handlers/search/readonly/handleGetObjectsByType.js +5 -1
  59. package/dist/handlers/search/readonly/handleGetObjectsByType.js.map +1 -1
  60. package/dist/handlers/search/readonly/handleGetObjectsList.d.ts.map +1 -1
  61. package/dist/handlers/search/readonly/handleGetObjectsList.js +8 -4
  62. package/dist/handlers/search/readonly/handleGetObjectsList.js.map +1 -1
  63. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts +18 -0
  64. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts.map +1 -0
  65. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js +109 -0
  66. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js.map +1 -0
  67. package/dist/handlers/structure/readonly/handleGetStructure.d.ts +23 -0
  68. package/dist/handlers/structure/readonly/handleGetStructure.d.ts.map +1 -0
  69. package/dist/handlers/structure/readonly/handleGetStructure.js +77 -0
  70. package/dist/handlers/structure/readonly/handleGetStructure.js.map +1 -0
  71. package/dist/handlers/system/readonly/handleGetObjectInfo.d.ts.map +1 -1
  72. package/dist/handlers/system/readonly/handleGetObjectInfo.js +8 -14
  73. package/dist/handlers/system/readonly/handleGetObjectInfo.js.map +1 -1
  74. package/dist/handlers/table/readonly/handleGetTable.d.ts +23 -0
  75. package/dist/handlers/table/readonly/handleGetTable.d.ts.map +1 -0
  76. package/dist/handlers/table/readonly/handleGetTable.js +77 -0
  77. package/dist/handlers/table/readonly/handleGetTable.js.map +1 -0
  78. package/dist/handlers/view/readonly/handleGetView.d.ts +33 -0
  79. package/dist/handlers/view/readonly/handleGetView.d.ts.map +1 -0
  80. package/dist/handlers/view/readonly/handleGetView.js +90 -0
  81. package/dist/handlers/view/readonly/handleGetView.js.map +1 -0
  82. package/dist/index.d.ts +126 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +2979 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/lib/ServerConfigManager.d.ts +90 -0
  87. package/dist/lib/ServerConfigManager.d.ts.map +1 -0
  88. package/dist/lib/ServerConfigManager.js +237 -0
  89. package/dist/lib/ServerConfigManager.js.map +1 -0
  90. package/dist/lib/activationUtils.d.ts +59 -0
  91. package/dist/lib/activationUtils.d.ts.map +1 -0
  92. package/dist/lib/activationUtils.js +168 -0
  93. package/dist/lib/authBrokerFactory.d.ts +96 -0
  94. package/dist/lib/authBrokerFactory.d.ts.map +1 -0
  95. package/dist/lib/authBrokerFactory.js +531 -0
  96. package/dist/lib/authBrokerFactory.js.map +1 -0
  97. package/dist/lib/config/ServerConfig.d.ts +17 -0
  98. package/dist/lib/config/ServerConfig.d.ts.map +1 -0
  99. package/dist/lib/config/ServerConfig.js +7 -0
  100. package/dist/lib/config/ServerConfig.js.map +1 -0
  101. package/dist/lib/getFullCodeCache.d.ts +3 -0
  102. package/dist/lib/getFullCodeCache.d.ts.map +1 -0
  103. package/dist/lib/getFullCodeCache.js +56 -0
  104. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.d.ts +36 -0
  105. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.d.ts.map +1 -0
  106. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.js +268 -0
  107. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.js.map +1 -0
  108. package/dist/lib/handlers/handlers/examples/usage-example.d.ts +29 -0
  109. package/dist/lib/handlers/handlers/examples/usage-example.d.ts.map +1 -0
  110. package/dist/lib/handlers/handlers/examples/usage-example.js +119 -0
  111. package/dist/lib/handlers/handlers/examples/usage-example.js.map +1 -0
  112. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.d.ts +14 -0
  113. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -0
  114. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.js +322 -0
  115. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.js.map +1 -0
  116. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.d.ts +14 -0
  117. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.d.ts.map +1 -0
  118. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.js +1214 -0
  119. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.js.map +1 -0
  120. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.d.ts +14 -0
  121. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -0
  122. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.js +232 -0
  123. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -0
  124. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.d.ts +14 -0
  125. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.d.ts.map +1 -0
  126. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.js +57 -0
  127. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.js.map +1 -0
  128. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.d.ts +14 -0
  129. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.d.ts.map +1 -0
  130. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.js +176 -0
  131. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.js.map +1 -0
  132. package/dist/lib/handlers/handlers/groups/index.d.ts +13 -0
  133. package/dist/lib/handlers/handlers/groups/index.d.ts.map +1 -0
  134. package/dist/lib/handlers/handlers/groups/index.js +21 -0
  135. package/dist/lib/handlers/handlers/groups/index.js.map +1 -0
  136. package/dist/lib/handlers/handlers/index.d.ts +14 -0
  137. package/dist/lib/handlers/handlers/index.d.ts.map +1 -0
  138. package/dist/lib/handlers/handlers/index.js +37 -0
  139. package/dist/lib/handlers/handlers/index.js.map +1 -0
  140. package/dist/lib/handlers/handlers/interfaces.d.ts +67 -0
  141. package/dist/lib/handlers/handlers/interfaces.d.ts.map +1 -0
  142. package/dist/lib/handlers/handlers/interfaces.js +3 -0
  143. package/dist/lib/handlers/handlers/interfaces.js.map +1 -0
  144. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.d.ts +49 -0
  145. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.d.ts.map +1 -0
  146. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.js +88 -0
  147. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.js.map +1 -0
  148. package/dist/lib/runtimeConfig.d.ts +20 -0
  149. package/dist/lib/runtimeConfig.d.ts.map +1 -0
  150. package/dist/lib/runtimeConfig.js +130 -0
  151. package/dist/lib/runtimeConfig.js.map +1 -0
  152. package/dist/lib/servers/BaseMcpServer.d.ts +56 -0
  153. package/dist/lib/servers/BaseMcpServer.d.ts.map +1 -0
  154. package/dist/lib/servers/BaseMcpServer.js +198 -0
  155. package/dist/lib/servers/BaseMcpServer.js.map +1 -0
  156. package/dist/lib/servers/ConnectionContext.d.ts +20 -0
  157. package/dist/lib/servers/ConnectionContext.d.ts.map +1 -0
  158. package/dist/lib/servers/ConnectionContext.js +3 -0
  159. package/dist/lib/servers/ConnectionContext.js.map +1 -0
  160. package/dist/lib/servers/SseServer.d.ts +32 -0
  161. package/dist/lib/servers/SseServer.d.ts.map +1 -0
  162. package/dist/lib/servers/SseServer.js +139 -0
  163. package/dist/lib/servers/SseServer.js.map +1 -0
  164. package/dist/lib/servers/StdioServer.d.ts +20 -0
  165. package/dist/lib/servers/StdioServer.d.ts.map +1 -0
  166. package/dist/lib/servers/StdioServer.js +32 -0
  167. package/dist/lib/servers/StdioServer.js.map +1 -0
  168. package/dist/lib/servers/StreamableHttpServer.d.ts +30 -0
  169. package/dist/lib/servers/StreamableHttpServer.d.ts.map +1 -0
  170. package/dist/lib/servers/StreamableHttpServer.js +83 -0
  171. package/dist/lib/servers/StreamableHttpServer.js.map +1 -0
  172. package/dist/lib/servers/handlers/base/BaseHandlerGroup.d.ts +36 -0
  173. package/dist/lib/servers/handlers/base/BaseHandlerGroup.d.ts.map +1 -0
  174. package/dist/lib/servers/handlers/base/BaseHandlerGroup.js +268 -0
  175. package/dist/lib/servers/handlers/base/BaseHandlerGroup.js.map +1 -0
  176. package/dist/lib/servers/handlers/examples/usage-example.d.ts +29 -0
  177. package/dist/lib/servers/handlers/examples/usage-example.d.ts.map +1 -0
  178. package/dist/lib/servers/handlers/examples/usage-example.js +119 -0
  179. package/dist/lib/servers/handlers/examples/usage-example.js.map +1 -0
  180. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.d.ts +14 -0
  181. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -0
  182. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.js +322 -0
  183. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.js.map +1 -0
  184. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.d.ts +14 -0
  185. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.d.ts.map +1 -0
  186. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.js +1214 -0
  187. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.js.map +1 -0
  188. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.d.ts +14 -0
  189. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -0
  190. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.js +232 -0
  191. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -0
  192. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.d.ts +14 -0
  193. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.d.ts.map +1 -0
  194. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.js +57 -0
  195. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.js.map +1 -0
  196. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.d.ts +14 -0
  197. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.d.ts.map +1 -0
  198. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.js +176 -0
  199. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.js.map +1 -0
  200. package/dist/lib/servers/handlers/groups/index.d.ts +13 -0
  201. package/dist/lib/servers/handlers/groups/index.d.ts.map +1 -0
  202. package/dist/lib/servers/handlers/groups/index.js +21 -0
  203. package/dist/lib/servers/handlers/groups/index.js.map +1 -0
  204. package/dist/lib/servers/handlers/index.d.ts +14 -0
  205. package/dist/lib/servers/handlers/index.d.ts.map +1 -0
  206. package/dist/lib/servers/handlers/index.js +37 -0
  207. package/dist/lib/servers/handlers/index.js.map +1 -0
  208. package/dist/lib/servers/handlers/interfaces.d.ts +67 -0
  209. package/dist/lib/servers/handlers/interfaces.d.ts.map +1 -0
  210. package/dist/lib/servers/handlers/interfaces.js +3 -0
  211. package/dist/lib/servers/handlers/interfaces.js.map +1 -0
  212. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.d.ts +49 -0
  213. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.d.ts.map +1 -0
  214. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.js +88 -0
  215. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.js.map +1 -0
  216. package/dist/lib/servers/index.d.ts +5 -0
  217. package/dist/lib/servers/index.d.ts.map +1 -0
  218. package/dist/lib/servers/index.js +21 -0
  219. package/dist/lib/servers/index.js.map +1 -0
  220. package/dist/lib/servers/launcher.d.ts +2 -0
  221. package/dist/lib/servers/launcher.d.ts.map +1 -0
  222. package/dist/lib/servers/launcher.js +123 -0
  223. package/dist/lib/servers/launcher.js.map +1 -0
  224. package/dist/lib/servers/mcp_handlers.d.ts +25 -0
  225. package/dist/lib/servers/mcp_handlers.d.ts.map +1 -0
  226. package/dist/lib/servers/mcp_handlers.js +822 -0
  227. package/dist/lib/servers/mcp_handlers.js.map +1 -0
  228. package/dist/lib/servers/mcp_server.d.ts +7 -0
  229. package/dist/lib/servers/mcp_server.d.ts.map +1 -0
  230. package/dist/lib/servers/mcp_server.js +12 -0
  231. package/dist/lib/servers/utils.d.ts +42 -0
  232. package/dist/lib/servers/utils.d.ts.map +1 -0
  233. package/dist/lib/servers/utils.js +620 -0
  234. package/dist/lib/servers/utils.js.map +1 -0
  235. package/dist/lib/servers/v2/__tests__/unit/McpServer.test.d.ts +7 -0
  236. package/dist/lib/servers/v2/__tests__/unit/McpServer.test.d.ts.map +1 -0
  237. package/dist/lib/servers/v2/__tests__/unit/McpServer.test.js +218 -0
  238. package/dist/lib/servers/v2/connection/LocalConnectionProvider.d.ts +20 -0
  239. package/dist/lib/servers/v2/connection/LocalConnectionProvider.d.ts.map +1 -0
  240. package/dist/lib/servers/v2/connection/LocalConnectionProvider.js +70 -0
  241. package/dist/lib/servers/v2/connection/RemoteConnectionProvider.d.ts +21 -0
  242. package/dist/lib/servers/v2/connection/RemoteConnectionProvider.d.ts.map +1 -0
  243. package/dist/lib/servers/v2/connection/RemoteConnectionProvider.js +36 -0
  244. package/dist/lib/servers/v2/connection/index.d.ts +6 -0
  245. package/dist/lib/servers/v2/connection/index.d.ts.map +1 -0
  246. package/dist/lib/servers/v2/connection/index.js +10 -0
  247. package/dist/lib/servers/v2/factory/AuthBrokerFactory.d.ts +29 -0
  248. package/dist/lib/servers/v2/factory/AuthBrokerFactory.d.ts.map +1 -0
  249. package/dist/lib/servers/v2/factory/AuthBrokerFactory.js +79 -0
  250. package/dist/lib/servers/v2/factory/LocalModeFactory.d.ts +38 -0
  251. package/dist/lib/servers/v2/factory/LocalModeFactory.d.ts.map +1 -0
  252. package/dist/lib/servers/v2/factory/LocalModeFactory.js +38 -0
  253. package/dist/lib/servers/v2/factory/index.d.ts +6 -0
  254. package/dist/lib/servers/v2/factory/index.d.ts.map +1 -0
  255. package/dist/lib/servers/v2/factory/index.js +10 -0
  256. package/dist/lib/servers/v2/index.d.ts +9 -0
  257. package/dist/lib/servers/v2/index.d.ts.map +1 -0
  258. package/dist/lib/servers/v2/index.js +27 -0
  259. package/dist/lib/servers/v2/index.js.map +1 -0
  260. package/dist/lib/servers/v2/interfaces/connection.d.ts +188 -0
  261. package/dist/lib/servers/v2/interfaces/connection.d.ts.map +1 -0
  262. package/dist/lib/servers/v2/interfaces/connection.js +7 -0
  263. package/dist/lib/servers/v2/interfaces/index.d.ts +10 -0
  264. package/dist/lib/servers/v2/interfaces/index.d.ts.map +1 -0
  265. package/dist/lib/servers/v2/interfaces/index.js +25 -0
  266. package/dist/lib/servers/v2/interfaces/protocol.d.ts +30 -0
  267. package/dist/lib/servers/v2/interfaces/protocol.d.ts.map +1 -0
  268. package/dist/lib/servers/v2/interfaces/protocol.js +7 -0
  269. package/dist/lib/servers/v2/interfaces/session.d.ts +98 -0
  270. package/dist/lib/servers/v2/interfaces/session.d.ts.map +1 -0
  271. package/dist/lib/servers/v2/interfaces/session.js +7 -0
  272. package/dist/lib/servers/v2/interfaces/transport.d.ts +88 -0
  273. package/dist/lib/servers/v2/interfaces/transport.d.ts.map +1 -0
  274. package/dist/lib/servers/v2/interfaces/transport.js +7 -0
  275. package/dist/lib/servers/v2/protocol/ProtocolHandler.d.ts +21 -0
  276. package/dist/lib/servers/v2/protocol/ProtocolHandler.d.ts.map +1 -0
  277. package/dist/lib/servers/v2/protocol/ProtocolHandler.js +77 -0
  278. package/dist/lib/servers/v2/protocol/index.d.ts +5 -0
  279. package/dist/lib/servers/v2/protocol/index.d.ts.map +1 -0
  280. package/dist/lib/servers/v2/protocol/index.js +8 -0
  281. package/dist/lib/servers/v2/server/McpServer.d.ts +76 -0
  282. package/dist/lib/servers/v2/server/McpServer.d.ts.map +1 -0
  283. package/dist/lib/servers/v2/server/McpServer.js +243 -0
  284. package/dist/lib/servers/v2/server/index.d.ts +5 -0
  285. package/dist/lib/servers/v2/server/index.d.ts.map +1 -0
  286. package/dist/lib/servers/v2/server/index.js +8 -0
  287. package/dist/lib/servers/v2/session/SessionManager.d.ts +40 -0
  288. package/dist/lib/servers/v2/session/SessionManager.d.ts.map +1 -0
  289. package/dist/lib/servers/v2/session/SessionManager.js +136 -0
  290. package/dist/lib/servers/v2/session/index.d.ts +5 -0
  291. package/dist/lib/servers/v2/session/index.d.ts.map +1 -0
  292. package/dist/lib/servers/v2/session/index.js +8 -0
  293. package/dist/lib/servers/v2/transports/SseTransport.d.ts +49 -0
  294. package/dist/lib/servers/v2/transports/SseTransport.d.ts.map +1 -0
  295. package/dist/lib/servers/v2/transports/SseTransport.js +89 -0
  296. package/dist/lib/servers/v2/transports/StdioTransport.d.ts +31 -0
  297. package/dist/lib/servers/v2/transports/StdioTransport.d.ts.map +1 -0
  298. package/dist/lib/servers/v2/transports/StdioTransport.js +91 -0
  299. package/dist/lib/servers/v2/transports/StreamableHttpTransport.d.ts +51 -0
  300. package/dist/lib/servers/v2/transports/StreamableHttpTransport.d.ts.map +1 -0
  301. package/dist/lib/servers/v2/transports/StreamableHttpTransport.js +147 -0
  302. package/dist/lib/servers/v2/transports/index.d.ts +7 -0
  303. package/dist/lib/servers/v2/transports/index.d.ts.map +1 -0
  304. package/dist/lib/servers/v2/transports/index.js +12 -0
  305. package/dist/lib/servers/v2/types/common.d.ts +17 -0
  306. package/dist/lib/servers/v2/types/common.d.ts.map +1 -0
  307. package/dist/lib/servers/v2/types/common.js +6 -0
  308. package/dist/lib/servers/v2/types/common.js.map +1 -0
  309. package/dist/lib/servers/v2/types/index.d.ts +8 -0
  310. package/dist/lib/servers/v2/types/index.d.ts.map +1 -0
  311. package/dist/lib/servers/v2/types/index.js +24 -0
  312. package/dist/lib/servers/v2/types/index.js.map +1 -0
  313. package/dist/lib/servers/v2/types/transport.d.ts +28 -0
  314. package/dist/lib/servers/v2/types/transport.d.ts.map +1 -0
  315. package/dist/lib/servers/v2/types/transport.js +8 -0
  316. package/dist/lib/servers/v2/types/transport.js.map +1 -0
  317. package/dist/lib/servers/v2/utils/StdioLogger.d.ts +17 -0
  318. package/dist/lib/servers/v2/utils/StdioLogger.d.ts.map +1 -0
  319. package/dist/lib/servers/v2/utils/StdioLogger.js +33 -0
  320. package/dist/lib/servers/v2/utils/StdioLogger.js.map +1 -0
  321. package/dist/lib/stores/UnixFileServiceKeyStore.d.ts +42 -0
  322. package/dist/lib/stores/UnixFileServiceKeyStore.d.ts.map +1 -0
  323. package/dist/lib/stores/UnixFileServiceKeyStore.js +53 -0
  324. package/dist/lib/stores/UnixFileSessionStore.d.ts +54 -0
  325. package/dist/lib/stores/UnixFileSessionStore.d.ts.map +1 -0
  326. package/dist/lib/stores/UnixFileSessionStore.js +70 -0
  327. package/dist/lib/stores/WindowsFileServiceKeyStore.d.ts +42 -0
  328. package/dist/lib/stores/WindowsFileServiceKeyStore.d.ts.map +1 -0
  329. package/dist/lib/stores/WindowsFileServiceKeyStore.js +53 -0
  330. package/dist/lib/stores/WindowsFileSessionStore.d.ts +54 -0
  331. package/dist/lib/stores/WindowsFileSessionStore.d.ts.map +1 -0
  332. package/dist/lib/stores/WindowsFileSessionStore.js +70 -0
  333. package/dist/lib/toolsRegistry.d.ts +13 -0
  334. package/dist/lib/toolsRegistry.d.ts.map +1 -0
  335. package/dist/lib/toolsRegistry.js +410 -0
  336. package/dist/lib/transportConfig.d.ts +27 -0
  337. package/dist/lib/transportConfig.d.ts.map +1 -0
  338. package/dist/lib/transportConfig.js +124 -0
  339. package/dist/lib/transports/stdio.d.ts +10 -0
  340. package/dist/lib/transports/stdio.d.ts.map +1 -0
  341. package/dist/lib/transports/stdio.js +73 -0
  342. package/dist/lib/utils.d.ts +37 -0
  343. package/dist/lib/utils.d.ts.map +1 -1
  344. package/dist/lib/utils.js +83 -0
  345. package/dist/lib/utils.js.map +1 -1
  346. package/dist/lib/yamlConfig.d.ts +59 -0
  347. package/dist/lib/yamlConfig.d.ts.map +1 -0
  348. package/dist/lib/yamlConfig.js +349 -0
  349. package/dist/lib/yamlConfig.js.map +1 -0
  350. package/dist/server/launcher.js +49 -0
  351. package/dist/server/launcher.js.map +1 -1
  352. package/dist/server/v1/AuthBrokerConfig.d.ts +19 -0
  353. package/dist/server/v1/AuthBrokerConfig.d.ts.map +1 -0
  354. package/dist/server/v1/AuthBrokerConfig.js +44 -0
  355. package/dist/server/v1/AuthBrokerConfig.js.map +1 -0
  356. package/dist/server/v1/IServerConfig.d.ts +17 -0
  357. package/dist/server/v1/IServerConfig.d.ts.map +1 -0
  358. package/dist/server/v1/IServerConfig.js +7 -0
  359. package/dist/server/v1/IServerConfig.js.map +1 -0
  360. package/dist/server/v1/ServerConfig.d.ts +16 -0
  361. package/dist/server/v1/ServerConfig.d.ts.map +1 -0
  362. package/dist/server/v1/ServerConfig.js +6 -0
  363. package/dist/server/v1/ServerConfig.js.map +1 -0
  364. package/dist/server/v1/embeddable-server.d.ts +89 -0
  365. package/dist/server/v1/embeddable-server.d.ts.map +1 -0
  366. package/dist/server/v1/embeddable-server.js +83 -0
  367. package/dist/server/v1/embeddable-server.js.map +1 -0
  368. package/dist/server/v1/index.d.ts +30 -0
  369. package/dist/server/v1/index.d.ts.map +1 -0
  370. package/dist/server/v1/index.js +65 -0
  371. package/dist/server/v1/index.js.map +1 -0
  372. package/dist/server/v1/legacy-server.d.ts +141 -0
  373. package/dist/server/v1/legacy-server.d.ts.map +1 -0
  374. package/dist/server/v1/legacy-server.js +2099 -0
  375. package/dist/server/v1/legacy-server.js.map +1 -0
  376. package/dist/server/v1/mcp_handlers.d.ts +19 -0
  377. package/dist/server/v1/mcp_handlers.d.ts.map +1 -0
  378. package/dist/server/v1/mcp_handlers.js +85 -0
  379. package/dist/server/v1/mcp_handlers.js.map +1 -0
  380. package/dist/server/v2/AuthBrokerConfig.d.ts +22 -0
  381. package/dist/server/v2/AuthBrokerConfig.d.ts.map +1 -0
  382. package/dist/server/v2/AuthBrokerConfig.js +46 -0
  383. package/dist/server/v2/AuthBrokerConfig.js.map +1 -0
  384. package/dist/server/v2/BaseMcpServer.d.ts +67 -0
  385. package/dist/server/v2/BaseMcpServer.d.ts.map +1 -0
  386. package/dist/server/v2/BaseMcpServer.js +273 -0
  387. package/dist/server/v2/BaseMcpServer.js.map +1 -0
  388. package/dist/server/v2/ConnectionContext.d.ts +20 -0
  389. package/dist/server/v2/ConnectionContext.d.ts.map +1 -0
  390. package/dist/server/v2/ConnectionContext.js +3 -0
  391. package/dist/server/v2/ConnectionContext.js.map +1 -0
  392. package/dist/server/v2/IHttpApplication.d.ts +42 -0
  393. package/dist/server/v2/IHttpApplication.d.ts.map +1 -0
  394. package/dist/server/v2/IHttpApplication.js +3 -0
  395. package/dist/server/v2/IHttpApplication.js.map +1 -0
  396. package/dist/server/v2/IServerConfig.d.ts +15 -0
  397. package/dist/server/v2/IServerConfig.d.ts.map +1 -0
  398. package/dist/server/v2/IServerConfig.js +7 -0
  399. package/dist/server/v2/IServerConfig.js.map +1 -0
  400. package/dist/server/v2/ServerConfig.d.ts +16 -0
  401. package/dist/server/v2/ServerConfig.d.ts.map +1 -0
  402. package/dist/server/v2/ServerConfig.js +6 -0
  403. package/dist/server/v2/ServerConfig.js.map +1 -0
  404. package/dist/server/v2/SseServer.d.ts +95 -0
  405. package/dist/server/v2/SseServer.d.ts.map +1 -0
  406. package/dist/server/v2/SseServer.js +217 -0
  407. package/dist/server/v2/SseServer.js.map +1 -0
  408. package/dist/server/v2/StdioServer.d.ts +20 -0
  409. package/dist/server/v2/StdioServer.d.ts.map +1 -0
  410. package/dist/server/v2/StdioServer.js +32 -0
  411. package/dist/server/v2/StdioServer.js.map +1 -0
  412. package/dist/server/v2/StreamableHttpServer.d.ts +94 -0
  413. package/dist/server/v2/StreamableHttpServer.d.ts.map +1 -0
  414. package/dist/server/v2/StreamableHttpServer.js +170 -0
  415. package/dist/server/v2/StreamableHttpServer.js.map +1 -0
  416. package/dist/server/v2/index.d.ts +6 -0
  417. package/dist/server/v2/index.d.ts.map +1 -0
  418. package/dist/server/v2/index.js +22 -0
  419. package/dist/server/v2/index.js.map +1 -0
  420. package/dist/server/v2/launcher.d.ts +2 -0
  421. package/dist/server/v2/launcher.d.ts.map +1 -0
  422. package/dist/server/v2/launcher.js +181 -0
  423. package/dist/server/v2/launcher.js.map +1 -0
  424. package/dist/server/v2/mcp_handlers.d.ts +25 -0
  425. package/dist/server/v2/mcp_handlers.d.ts.map +1 -0
  426. package/dist/server/v2/mcp_handlers.js +828 -0
  427. package/dist/server/v2/mcp_handlers.js.map +1 -0
  428. package/dist/server/v2/utils.d.ts +42 -0
  429. package/dist/server/v2/utils.d.ts.map +1 -0
  430. package/dist/server/v2/utils.js +620 -0
  431. package/dist/server/v2/utils.js.map +1 -0
  432. package/dist/tools/test-v2-server-stdio-compiled.js +132 -0
  433. package/dist/utils/lockStateManager.d.ts +2 -12
  434. package/dist/utils/lockStateManager.d.ts.map +1 -1
  435. package/dist/utils/lockStateManager.js +4 -63
  436. package/dist/utils/lockStateManager.js.map +1 -1
  437. package/docs/user-guide/AVAILABLE_TOOLS.md +1 -1
  438. package/package.json +1 -1
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMcpServer = void 0;
4
+ const connection_1 = require("@mcp-abap-adt/connection");
5
+ const logger_1 = require("@mcp-abap-adt/logger");
6
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
7
+ const CompositeHandlersRegistry_js_1 = require("../../lib/handlers/registry/CompositeHandlersRegistry.js");
8
+ const schemaUtils_js_1 = require("../../lib/handlers/utils/schemaUtils.js");
9
+ const utils_js_1 = require("../../lib/utils.js");
10
+ /**
11
+ * Base MCP Server class that extends SDK McpServer
12
+ * Manages connection context and provides connection injection for handlers
13
+ */
14
+ class BaseMcpServer extends mcp_js_1.McpServer {
15
+ /**
16
+ * Logger used for handler context
17
+ */
18
+ logger;
19
+ /**
20
+ * Connection context (set per request for SSE/HTTP, once for stdio)
21
+ */
22
+ connectionContext = null;
23
+ /**
24
+ * Auth broker for token and service key management
25
+ */
26
+ authBroker;
27
+ /**
28
+ * Cached connection for stdio mode (created once, reused for all requests)
29
+ */
30
+ cachedConnection = null;
31
+ constructor(options) {
32
+ super({ name: options.name, version: options.version ?? '1.0.0' });
33
+ this.logger = options.logger ?? logger_1.defaultLogger;
34
+ }
35
+ /**
36
+ * Sets connection context using auth broker
37
+ * For stdio: called once on startup
38
+ * For SSE/HTTP: called per-request
39
+ */
40
+ async setConnectionContext(destination, authBroker) {
41
+ this.authBroker = authBroker;
42
+ // Register broker so destination-aware connections can refresh tokens
43
+ (0, utils_js_1.registerAuthBroker)(destination, authBroker);
44
+ this.logger.debug(`[BaseMcpServer] Getting connection config for destination: ${destination}`);
45
+ // Get connection parameters from broker
46
+ // AuthBroker.getConnectionConfig() automatically checks session store first, then service key store
47
+ const connectionConfig = await authBroker.getConnectionConfig(destination);
48
+ this.logger.debug(`[BaseMcpServer] Connection config result:`, {
49
+ found: !!connectionConfig,
50
+ destination,
51
+ hasServiceUrl: !!connectionConfig?.serviceUrl,
52
+ });
53
+ if (!connectionConfig) {
54
+ throw new Error(`Connection config not found for destination: ${destination}`);
55
+ }
56
+ // Try to get fresh token from broker
57
+ // If broker can't refresh (no UAA credentials), use existing token from connectionConfig
58
+ let freshToken;
59
+ try {
60
+ freshToken = await authBroker.getToken(destination);
61
+ }
62
+ catch (error) {
63
+ // Broker can't provide/refresh token (e.g., no UAA credentials for .env-only setup)
64
+ // Use existing token from connectionConfig - user is responsible for token management
65
+ this.logger.debug(`Broker can't refresh token, using existing token from session: ${error instanceof Error ? error.message : String(error)}`);
66
+ freshToken = connectionConfig.authorizationToken;
67
+ }
68
+ const tokenToUse = freshToken || connectionConfig.authorizationToken || '';
69
+ // Determine auth type from connection config
70
+ const authType = connectionConfig.authType ||
71
+ (connectionConfig.username && connectionConfig.password
72
+ ? 'basic'
73
+ : 'jwt');
74
+ this.connectionContext = {
75
+ sessionId: destination,
76
+ connectionParams: authType === 'basic'
77
+ ? {
78
+ url: connectionConfig.serviceUrl || '',
79
+ authType: 'basic',
80
+ username: connectionConfig.username || '',
81
+ password: connectionConfig.password || '',
82
+ client: connectionConfig.sapClient || '',
83
+ }
84
+ : {
85
+ url: connectionConfig.serviceUrl || '',
86
+ authType: 'jwt',
87
+ jwtToken: tokenToUse, // broker keeps it fresh
88
+ client: connectionConfig.sapClient || '',
89
+ },
90
+ metadata: {
91
+ destination,
92
+ },
93
+ };
94
+ }
95
+ /**
96
+ * Sets connection context from HTTP headers (direct SAP connection, no broker)
97
+ * Used when x-sap-url + auth headers are provided
98
+ */
99
+ setConnectionContextFromHeaders(headers) {
100
+ const url = headers['x-sap-url'] || headers['X-SAP-URL'];
101
+ const jwtToken = headers['x-sap-jwt-token'] || headers['X-SAP-JWT-Token'];
102
+ const username = headers['x-sap-login'] || headers['X-SAP-Login'];
103
+ const password = headers['x-sap-password'] || headers['X-SAP-Password'];
104
+ const client = headers['x-sap-client'] || headers['X-SAP-Client'] || '';
105
+ if (!url) {
106
+ throw new Error('x-sap-url header is required for direct SAP connection');
107
+ }
108
+ if (jwtToken) {
109
+ // JWT auth
110
+ this.connectionContext = {
111
+ sessionId: 'direct-jwt',
112
+ connectionParams: {
113
+ url,
114
+ authType: 'jwt',
115
+ jwtToken,
116
+ client,
117
+ },
118
+ metadata: {},
119
+ };
120
+ }
121
+ else if (username && password) {
122
+ // Basic auth
123
+ this.connectionContext = {
124
+ sessionId: 'direct-basic',
125
+ connectionParams: {
126
+ url,
127
+ authType: 'basic',
128
+ username,
129
+ password,
130
+ client,
131
+ },
132
+ metadata: {},
133
+ };
134
+ }
135
+ else {
136
+ throw new Error('Either x-sap-jwt-token or x-sap-login+x-sap-password headers are required');
137
+ }
138
+ }
139
+ /**
140
+ * Gets current connection context
141
+ */
142
+ getConnectionContext() {
143
+ return this.connectionContext;
144
+ }
145
+ /**
146
+ * Gets ABAP connection from connection context
147
+ * Creates connection using connectionParams from context
148
+ * Automatically refreshes token via AuthBroker if available (inside makeAdtRequest)
149
+ * For stdio mode: caches connection and reuses it for all requests (like v1)
150
+ * For SSE/HTTP: creates new connection per request
151
+ */
152
+ async getConnection() {
153
+ if (!this.connectionContext?.connectionParams) {
154
+ throw new Error('Connection context not set. Call setConnectionContext() first.');
155
+ }
156
+ const destination = this.connectionContext.metadata?.destination;
157
+ const sessionId = this.connectionContext.sessionId;
158
+ // For stdio mode: cache connection and reuse it (like v1)
159
+ // This prevents creating new connection on each request, which would trigger browser auth
160
+ // Check if we have cached connection with same sessionId (stdio uses destination as sessionId)
161
+ if (destination && this.cachedConnection && sessionId === destination) {
162
+ // Reuse cached connection for stdio mode
163
+ return this.cachedConnection;
164
+ }
165
+ const connection = (0, connection_1.createAbapConnection)(this.connectionContext.connectionParams);
166
+ // Cache connection for stdio mode (when sessionId === destination, it's stdio)
167
+ // SSE/HTTP modes use different sessionId per request, so caching won't interfere
168
+ if (destination && sessionId === destination) {
169
+ this.cachedConnection = connection;
170
+ }
171
+ return connection;
172
+ }
173
+ /**
174
+ * Registers handlers from registry
175
+ * Wraps handlers to inject connection as first parameter
176
+ *
177
+ * Handler signature: (connection: AbapConnection, args: any) => Promise<any>
178
+ * Registered as: (args: any) => handler(getConnection(), args)
179
+ *
180
+ * This ensures connection is injected but NOT exposed in MCP tool signature
181
+ */
182
+ registerHandlers(handlersRegistry) {
183
+ // Get handler groups from registry
184
+ if (handlersRegistry instanceof CompositeHandlersRegistry_js_1.CompositeHandlersRegistry) {
185
+ const groups = handlersRegistry.getHandlerGroups();
186
+ for (const group of groups) {
187
+ const handlers = group.getHandlers();
188
+ for (const entry of handlers) {
189
+ // Wrap handler to inject connection from context
190
+ // Original handler: (context: HandlerContext, args: any) => Promise<any>
191
+ const wrappedHandler = async (args) => {
192
+ // Get connection from context (this.connectionContext)
193
+ // Token will be automatically refreshed via AuthBroker if needed
194
+ const context = {
195
+ connection: await this.getConnection(),
196
+ logger: this.logger,
197
+ };
198
+ // If handler expects context+args (preferred), pass both.
199
+ // Otherwise, update group context and call with args only for backward compatibility.
200
+ // NOTE: Always await the handler result to ensure we get the resolved value for normalization
201
+ let handlerPromise;
202
+ if (entry.handler.length >= 2) {
203
+ handlerPromise = entry.handler(context, args);
204
+ }
205
+ else {
206
+ try {
207
+ if (typeof group.setContext === 'function') {
208
+ group.setContext(context);
209
+ }
210
+ else {
211
+ group.context = context;
212
+ }
213
+ }
214
+ catch {
215
+ // ignore if group doesn't expose context setter
216
+ }
217
+ handlerPromise = entry.handler(args);
218
+ }
219
+ const result = await handlerPromise;
220
+ // Handle errors: if handler returns isError, throw McpError
221
+ if (result?.isError) {
222
+ const { ErrorCode, McpError } = await import('@modelcontextprotocol/sdk/types.js');
223
+ const errorText = (result.content || [])
224
+ .map((item) => {
225
+ if (item?.type === 'json' && item.json !== undefined) {
226
+ return JSON.stringify(item.json);
227
+ }
228
+ return item?.text || String(item);
229
+ })
230
+ .join('\n') || 'Unknown error';
231
+ throw new McpError(ErrorCode.InternalError, errorText);
232
+ }
233
+ // Normalize content: SDK expects text/image/audio/resource, convert custom json to text
234
+ const content = (result?.content || []).map((item) => {
235
+ if (item?.type === 'json' && item.json !== undefined) {
236
+ return {
237
+ type: 'text',
238
+ text: JSON.stringify(item.json),
239
+ };
240
+ }
241
+ // Ensure all items have proper text type structure
242
+ return {
243
+ type: 'text',
244
+ text: item?.text || String(item || ''),
245
+ };
246
+ });
247
+ return { content };
248
+ };
249
+ // Convert JSON Schema to Zod if needed, otherwise pass as-is
250
+ const zodSchema = entry.toolDefinition.inputSchema &&
251
+ typeof entry.toolDefinition.inputSchema === 'object' &&
252
+ entry.toolDefinition.inputSchema.type === 'object' &&
253
+ entry.toolDefinition.inputSchema.properties
254
+ ? (0, schemaUtils_js_1.jsonSchemaToZod)(entry.toolDefinition.inputSchema)
255
+ : entry.toolDefinition.inputSchema;
256
+ // Register wrapped handler via SDK registerTool
257
+ // Note: connection is NOT part of MCP tool signature
258
+ this.registerTool(entry.toolDefinition.name, {
259
+ description: entry.toolDefinition.description,
260
+ inputSchema: zodSchema,
261
+ }, wrappedHandler);
262
+ }
263
+ }
264
+ }
265
+ else {
266
+ // Fallback: use registerAllTools directly (handlers won't have connection injected)
267
+ // This should not happen in normal flow
268
+ handlersRegistry.registerAllTools(this);
269
+ }
270
+ }
271
+ }
272
+ exports.BaseMcpServer = BaseMcpServer;
273
+ //# sourceMappingURL=BaseMcpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMcpServer.js","sourceRoot":"","sources":["../../../src/server/v2/BaseMcpServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { SapConfig } from '@mcp-abap-adt/connection';
2
+ /**
3
+ * Connection context for MCP server
4
+ * Contains connection parameters and session information
5
+ */
6
+ export interface ConnectionContext {
7
+ /**
8
+ * Connection parameters (SAP URL, auth, client)
9
+ */
10
+ connectionParams: SapConfig;
11
+ /**
12
+ * Session ID for this connection context
13
+ */
14
+ sessionId: string;
15
+ /**
16
+ * Optional metadata for additional context information
17
+ */
18
+ metadata?: Record<string, any>;
19
+ }
20
+ //# sourceMappingURL=ConnectionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionContext.d.ts","sourceRoot":"","sources":["../../../src/server/v2/ConnectionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,gBAAgB,EAAE,SAAS,CAAC;IAE5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ConnectionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionContext.js","sourceRoot":"","sources":["../../../src/server/v2/ConnectionContext.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import type { NextFunction, Request, Response } from 'express';
2
+ /**
3
+ * Handler function type for HTTP routes
4
+ */
5
+ export type RouteHandler = (req: Request, res: Response, next?: NextFunction) => void | Promise<void>;
6
+ /**
7
+ * Interface for Express-like HTTP application
8
+ * Allows injection of external HTTP server into v2 MCP servers
9
+ *
10
+ * This enables integration with existing Express/CDS/CAP servers
11
+ * without creating a separate HTTP server instance
12
+ */
13
+ export interface IHttpApplication {
14
+ /**
15
+ * Register GET route handler
16
+ */
17
+ get(path: string, handler: RouteHandler): void;
18
+ /**
19
+ * Register POST route handler
20
+ */
21
+ post(path: string, handler: RouteHandler): void;
22
+ /**
23
+ * Register handler for all HTTP methods
24
+ */
25
+ all(path: string, handler: RouteHandler): void;
26
+ /**
27
+ * Register middleware (optional - not all apps support this)
28
+ */
29
+ use?(path: string | RouteHandler, handler?: RouteHandler): void;
30
+ }
31
+ /**
32
+ * Options for route registration on external app
33
+ */
34
+ export interface RouteRegistrationOptions {
35
+ /**
36
+ * Whether to add express.json() middleware for the routes
37
+ * Set to false if the external app already has JSON parsing middleware
38
+ * @default true for standalone, false for external app
39
+ */
40
+ addJsonMiddleware?: boolean;
41
+ }
42
+ //# sourceMappingURL=IHttpApplication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHttpApplication.d.ts","sourceRoot":"","sources":["../../../src/server/v2/IHttpApplication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,CAAC,EAAE,YAAY,KAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHttpApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHttpApplication.js","sourceRoot":"","sources":["../../../src/server/v2/IHttpApplication.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * V2 Server configuration
3
+ * Re-exports unified IServerConfig from lib/config
4
+ */
5
+ export type { HandlerSet, IServerConfig, Transport, } from '../../lib/config/IServerConfig.js';
6
+ import type { HandlerSet, IServerConfig as IBaseServerConfig, Transport } from '../../lib/config/IServerConfig.js';
7
+ /**
8
+ * V2 Server configuration with required fields
9
+ * @deprecated Use IServerConfig from lib/config/IServerConfig.js
10
+ */
11
+ export interface IV2ServerConfig extends IBaseServerConfig {
12
+ transport: Transport;
13
+ exposition: HandlerSet[];
14
+ }
15
+ //# sourceMappingURL=IServerConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IServerConfig.d.ts","sourceRoot":"","sources":["../../../src/server/v2/IServerConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,mCAAmC,CAAC;AAG3C,OAAO,KAAK,EACV,UAAU,EACV,aAAa,IAAI,iBAAiB,EAClC,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IAExD,SAAS,EAAE,SAAS,CAAC;IAErB,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * V2 Server configuration
4
+ * Re-exports unified IServerConfig from lib/config
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=IServerConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IServerConfig.js","sourceRoot":"","sources":["../../../src/server/v2/IServerConfig.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * V2 Server configuration
3
+ */
4
+ import { ServerConfig as BaseServerConfig } from "../../lib/config/ServerConfig.js";
5
+ export type Transport = 'stdio' | 'sse' | 'http';
6
+ export type HandlerSet = 'readonly' | 'high' | 'low';
7
+ export interface ServerConfig extends BaseServerConfig {
8
+ transport: Transport;
9
+ host?: string;
10
+ port?: number;
11
+ httpJsonResponse?: boolean;
12
+ envFile?: string;
13
+ exposition: HandlerSet[];
14
+ configFile?: string;
15
+ }
16
+ //# sourceMappingURL=ServerConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerConfig.d.ts","sourceRoot":"","sources":["../../../src/server/v2/ServerConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IAEpD,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,UAAU,EAAE,CAAC;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * V2 Server configuration
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=ServerConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerConfig.js","sourceRoot":"","sources":["../../../src/server/v2/ServerConfig.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,95 @@
1
+ import type { Logger } from '@mcp-abap-adt/logger';
2
+ import type { AuthBrokerFactory } from '../../lib/auth/index.js';
3
+ import type { IHandlersRegistry } from '../../lib/handlers/interfaces.js';
4
+ import type { IHttpApplication, RouteRegistrationOptions } from './IHttpApplication.js';
5
+ export interface SseServerOptions {
6
+ /**
7
+ * Host to bind to (only used when no external app is provided)
8
+ * @default "127.0.0.1"
9
+ */
10
+ host?: string;
11
+ /**
12
+ * Port to listen on (only used when no external app is provided)
13
+ * @default 3001
14
+ */
15
+ port?: number;
16
+ /**
17
+ * Path for SSE GET endpoint
18
+ * @default "/sse"
19
+ */
20
+ ssePath?: string;
21
+ /**
22
+ * Path for POST messages endpoint
23
+ * @default "/messages"
24
+ */
25
+ postPath?: string;
26
+ /**
27
+ * Default SAP destination to use if not specified in headers
28
+ */
29
+ defaultDestination?: string;
30
+ /**
31
+ * Logger instance
32
+ */
33
+ logger?: Logger;
34
+ /**
35
+ * Server version
36
+ */
37
+ version?: string;
38
+ /**
39
+ * External HTTP application to register routes on
40
+ * When provided, start() will only register routes without creating a server
41
+ * This enables integration with existing Express/CDS/CAP servers
42
+ */
43
+ app?: IHttpApplication;
44
+ }
45
+ /**
46
+ * Minimal SSE server: creates a new BaseMcpServer per GET connection, routes POST by sessionId.
47
+ *
48
+ * Supports two modes:
49
+ * 1. Standalone mode: Creates its own Express server (when no app option provided)
50
+ * 2. Embedded mode: Registers routes on external app (when app option provided)
51
+ */
52
+ export declare class SseServer {
53
+ private readonly handlersRegistry;
54
+ private readonly authBrokerFactory;
55
+ private readonly host;
56
+ private readonly port;
57
+ private readonly ssePath;
58
+ private readonly postPath;
59
+ private readonly defaultDestination?;
60
+ private readonly sessions;
61
+ private readonly logger;
62
+ private readonly version;
63
+ private readonly externalApp?;
64
+ constructor(handlersRegistry: IHandlersRegistry, authBrokerFactory: AuthBrokerFactory, opts?: SseServerOptions);
65
+ /**
66
+ * Register routes on an external HTTP application
67
+ * Use this when integrating with existing Express/CDS/CAP server
68
+ *
69
+ * @param app - External HTTP application (Express, CDS, etc.)
70
+ * @param options - Route registration options
71
+ */
72
+ registerRoutes(app: IHttpApplication, _options?: RouteRegistrationOptions): void;
73
+ /**
74
+ * Get the configured SSE endpoint path
75
+ */
76
+ getSsePath(): string;
77
+ /**
78
+ * Get the configured POST endpoint path
79
+ */
80
+ getPostPath(): string;
81
+ /**
82
+ * Start the server
83
+ *
84
+ * In standalone mode (no external app): Creates Express server and starts listening
85
+ * In embedded mode (external app provided): Only registers routes on external app
86
+ */
87
+ start(): Promise<void>;
88
+ private handleGet;
89
+ private handlePost;
90
+ /**
91
+ * Check if request has SAP connection headers
92
+ */
93
+ private hasSapConnectionHeaders;
94
+ }
95
+ //# sourceMappingURL=SseServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SseServer.d.ts","sourceRoot":"","sources":["../../../src/server/v2/SseServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAOD;;;;;;GAMG;AACH,qBAAa,SAAS;IAYlB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAZpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAmB;gBAG7B,gBAAgB,EAAE,iBAAiB,EACnC,iBAAiB,EAAE,iBAAiB,EACrD,IAAI,CAAC,EAAE,gBAAgB;IAYzB;;;;;;OAMG;IACH,cAAc,CACZ,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,IAAI;IAoBP;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA+Bd,SAAS;YAgGT,UAAU;IAwCxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAShC"}