@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,531 @@
1
+ "use strict";
2
+ /**
3
+ * Unified AuthBrokerFactory for both old and new servers
4
+ * Implements unified broker creation logic according to UNIFIED_BROKER_LOGIC.md
5
+ *
6
+ * Key principles:
7
+ * - One broker per destination (key = destination name or 'default')
8
+ * - Default broker created at startup based on CLI args and .env file presence
9
+ * - Shared stores for destinations with same directory and type
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.AuthBrokerFactory = void 0;
46
+ const auth_broker_1 = require("@mcp-abap-adt/auth-broker");
47
+ const auth_providers_1 = require("@mcp-abap-adt/auth-providers");
48
+ const auth_stores_1 = require("@mcp-abap-adt/auth-stores");
49
+ const logger_1 = require("@mcp-abap-adt/logger");
50
+ const path = __importStar(require("path"));
51
+ const fs = __importStar(require("fs"));
52
+ const stores_1 = require("./stores");
53
+ const platformPaths_1 = require("./stores/platformPaths");
54
+ class AuthBrokerFactory {
55
+ // Map of brokers: key = destination name (or 'default' for default broker)
56
+ authBrokers = new Map();
57
+ // Shared stores - one per store type and directory
58
+ // Key: `${storeType}::${serviceKeysDir}::${sessionsDir}::${unsafe}`
59
+ sharedStores = new Map();
60
+ config;
61
+ defaultBrokerInitialized = false;
62
+ constructor(config) {
63
+ this.config = config;
64
+ }
65
+ /**
66
+ * Create AuthBrokerFactory from ServerConfig (recommended)
67
+ */
68
+ static fromServerConfig(config) {
69
+ return new AuthBrokerFactory(config);
70
+ }
71
+ /**
72
+ * Get config values (handles both ServerConfig and legacy AuthBrokerFactoryConfig)
73
+ */
74
+ getConfigValue(key) {
75
+ if (this.isServerConfig(this.config)) {
76
+ return this.config[key];
77
+ }
78
+ // Legacy config mapping
79
+ const legacyConfig = this.config;
80
+ switch (key) {
81
+ case "defaultMcpDestination":
82
+ return legacyConfig.defaultMcpDestination;
83
+ case "defaultDestination":
84
+ return legacyConfig.defaultDestination;
85
+ case "envFilePath":
86
+ return legacyConfig.envFilePath;
87
+ case "authBrokerPath":
88
+ return legacyConfig.authBrokerPath;
89
+ case "unsafe":
90
+ return legacyConfig.unsafe;
91
+ case "useAuthBroker":
92
+ // If explicitly set, use it; otherwise if --mcp is set, use auth-broker (--mcp implies auth-broker)
93
+ return legacyConfig.useAuthBroker !== undefined
94
+ ? legacyConfig.useAuthBroker
95
+ : !!legacyConfig.defaultMcpDestination;
96
+ case "transport":
97
+ return {
98
+ type: legacyConfig.transportType === "sse" ? "sse" :
99
+ legacyConfig.transportType === "streamable-http" || legacyConfig.transportType === "http" ? "streamable-http" :
100
+ "stdio",
101
+ };
102
+ case "logger":
103
+ return legacyConfig.logger;
104
+ default:
105
+ return undefined;
106
+ }
107
+ }
108
+ isServerConfig(config) {
109
+ return config && typeof config === "object" && "transport" in config;
110
+ }
111
+ /**
112
+ * Check if transport type supports AuthBroker
113
+ */
114
+ isTransportSupported() {
115
+ const transport = this.getConfigValue("transport");
116
+ if (!transport)
117
+ return false;
118
+ return (transport.type === "streamable-http" ||
119
+ transport.type === "stdio" ||
120
+ transport.type === "sse");
121
+ }
122
+ /**
123
+ * Initialize default broker based on CLI args and .env file presence
124
+ * Called once at server startup
125
+ *
126
+ * Creates default broker ('default' key) according to unified logic:
127
+ * 1. --mcp=destination → default broker with serviceKeyStore for destination
128
+ * 2. --env=path → default broker with sessionStore from path (no serviceKeyStore)
129
+ * 3. stdio/sse + .env in current folder + NOT --auth-broker → default broker with sessionStore (no serviceKeyStore)
130
+ * 4. Other cases → default broker NOT created
131
+ */
132
+ async initializeDefaultBroker() {
133
+ if (this.defaultBrokerInitialized) {
134
+ return; // Already initialized
135
+ }
136
+ if (!this.isTransportSupported()) {
137
+ return;
138
+ }
139
+ const logger = this.getConfigValue("logger") || logger_1.defaultLogger;
140
+ const defaultMcpDestination = this.getConfigValue("defaultMcpDestination");
141
+ const envFilePath = this.getConfigValue("envFilePath");
142
+ const useAuthBroker = this.getConfigValue("useAuthBroker");
143
+ const unsafe = this.getConfigValue("unsafe") || false;
144
+ const transport = this.getConfigValue("transport");
145
+ const isStdio = transport?.type === "stdio";
146
+ const isSse = transport?.type === "sse";
147
+ const customPath = this.getConfigValue("authBrokerPath")
148
+ ? path.resolve(this.getConfigValue("authBrokerPath"))
149
+ : undefined;
150
+ // Check if .env exists in current directory
151
+ const cwdEnvPath = path.resolve(process.cwd(), ".env");
152
+ const hasCwdEnv = fs.existsSync(cwdEnvPath);
153
+ // Determine if we should create default broker
154
+ let shouldCreateDefault = false;
155
+ let defaultBrokerConfig = null;
156
+ // Variant 1: --mcp=destination specified
157
+ if (defaultMcpDestination) {
158
+ shouldCreateDefault = true;
159
+ const serviceKeysPaths = (0, platformPaths_1.getPlatformPaths)(customPath, 'service-keys');
160
+ const sessionsPaths = (0, platformPaths_1.getPlatformPaths)(customPath, 'sessions');
161
+ const serviceKeysDir = serviceKeysPaths[0];
162
+ const sessionsDir = sessionsPaths[0];
163
+ const detected = await (0, stores_1.detectStoreType)(serviceKeysDir, defaultMcpDestination);
164
+ defaultBrokerConfig = {
165
+ hasServiceKeyStore: true,
166
+ serviceKeyDestination: defaultMcpDestination,
167
+ sessionStorePath: sessionsDir,
168
+ storeType: detected.storeType,
169
+ };
170
+ }
171
+ // Variant 2: --env=path specified
172
+ else if (envFilePath) {
173
+ shouldCreateDefault = true;
174
+ const envFileDir = path.dirname(envFilePath);
175
+ const serviceKeysPaths = (0, platformPaths_1.getPlatformPaths)(envFileDir, 'service-keys');
176
+ const sessionsPaths = (0, platformPaths_1.getPlatformPaths)(envFileDir, 'sessions');
177
+ const serviceKeysDir = serviceKeysPaths[0];
178
+ const sessionsDir = sessionsPaths[0];
179
+ const detected = await (0, stores_1.detectStoreType)(serviceKeysDir);
180
+ defaultBrokerConfig = {
181
+ hasServiceKeyStore: false,
182
+ sessionStorePath: sessionsDir,
183
+ storeType: detected.storeType,
184
+ };
185
+ }
186
+ // Variant 3: stdio/sse + .env in current folder + NOT --auth-broker
187
+ else if ((isStdio || isSse) && hasCwdEnv && !useAuthBroker) {
188
+ shouldCreateDefault = true;
189
+ const serviceKeysPaths = (0, platformPaths_1.getPlatformPaths)(process.cwd(), 'service-keys');
190
+ const sessionsPaths = (0, platformPaths_1.getPlatformPaths)(process.cwd(), 'sessions');
191
+ const serviceKeysDir = serviceKeysPaths[0];
192
+ const sessionsDir = sessionsPaths[0];
193
+ const detected = await (0, stores_1.detectStoreType)(serviceKeysDir);
194
+ defaultBrokerConfig = {
195
+ hasServiceKeyStore: false,
196
+ sessionStorePath: sessionsDir,
197
+ storeType: detected.storeType,
198
+ };
199
+ }
200
+ if (shouldCreateDefault && defaultBrokerConfig) {
201
+ try {
202
+ logger.debug("Initializing default broker", {
203
+ type: "DEFAULT_BROKER_INIT_START",
204
+ hasServiceKeyStore: defaultBrokerConfig.hasServiceKeyStore,
205
+ serviceKeyDestination: defaultBrokerConfig.serviceKeyDestination,
206
+ sessionStorePath: defaultBrokerConfig.sessionStorePath,
207
+ storeType: defaultBrokerConfig.storeType,
208
+ });
209
+ await this.createBrokerForDestination('default', defaultBrokerConfig.hasServiceKeyStore, defaultBrokerConfig.serviceKeyDestination, defaultBrokerConfig.sessionStorePath, defaultBrokerConfig.storeType, unsafe);
210
+ // Load .env file into session store for Variant 2 and 3
211
+ if (!defaultBrokerConfig.hasServiceKeyStore && envFilePath) {
212
+ const broker = this.authBrokers.get('default');
213
+ if (broker) {
214
+ try {
215
+ await this.loadEnvFileIntoSessionStore(envFilePath, 'default', broker, logger);
216
+ }
217
+ catch (error) {
218
+ logger.error("Failed to load .env file into session store", {
219
+ type: "ENV_LOAD_FAILED",
220
+ envFilePath,
221
+ error: error instanceof Error ? error.message : String(error),
222
+ });
223
+ throw error;
224
+ }
225
+ }
226
+ }
227
+ this.defaultBrokerInitialized = true;
228
+ logger.info("Default broker initialized", {
229
+ type: "DEFAULT_BROKER_INIT_SUCCESS",
230
+ hasServiceKeyStore: defaultBrokerConfig.hasServiceKeyStore,
231
+ serviceKeyDestination: defaultBrokerConfig.serviceKeyDestination,
232
+ hasEnvFile: !defaultBrokerConfig.hasServiceKeyStore && !!envFilePath,
233
+ });
234
+ }
235
+ catch (error) {
236
+ logger.error("Failed to initialize default broker", {
237
+ type: "DEFAULT_BROKER_INIT_FAILED",
238
+ error: error instanceof Error ? error.message : String(error),
239
+ });
240
+ // Don't throw - server can still work without default broker
241
+ }
242
+ }
243
+ else {
244
+ logger.debug("Default broker not created (no conditions met)", {
245
+ type: "DEFAULT_BROKER_NOT_CREATED",
246
+ hasMcpDestination: !!defaultMcpDestination,
247
+ hasEnvFilePath: !!envFilePath,
248
+ isStdio,
249
+ isSse,
250
+ hasCwdEnv,
251
+ useAuthBroker,
252
+ });
253
+ }
254
+ this.defaultBrokerInitialized = true; // Mark as initialized even if not created
255
+ }
256
+ /**
257
+ * Get default broker (if initialized)
258
+ */
259
+ getDefaultBroker() {
260
+ return this.authBrokers.get('default');
261
+ }
262
+ /**
263
+ * Get or create AuthBroker for specific destination
264
+ * For HTTP/SSE: called when destination is specified in headers
265
+ * For stdio: called to get default broker
266
+ */
267
+ async getOrCreateAuthBroker(destination, clientKey) {
268
+ if (!this.isTransportSupported()) {
269
+ return undefined;
270
+ }
271
+ // If no destination specified, try to get default broker
272
+ if (!destination) {
273
+ // Ensure default broker is initialized
274
+ if (!this.defaultBrokerInitialized) {
275
+ await this.initializeDefaultBroker();
276
+ }
277
+ return this.getDefaultBroker();
278
+ }
279
+ // Get or create broker for specific destination
280
+ if (!this.authBrokers.has(destination)) {
281
+ const logger = this.getConfigValue("logger") || logger_1.defaultLogger;
282
+ const unsafe = this.getConfigValue("unsafe") || false;
283
+ const customPath = this.getConfigValue("authBrokerPath")
284
+ ? path.resolve(this.getConfigValue("authBrokerPath"))
285
+ : undefined;
286
+ const serviceKeysPaths = (0, platformPaths_1.getPlatformPaths)(customPath, 'service-keys');
287
+ const sessionsPaths = (0, platformPaths_1.getPlatformPaths)(customPath, 'sessions');
288
+ const serviceKeysDir = serviceKeysPaths[0];
289
+ const sessionsDir = sessionsPaths[0];
290
+ const detected = await (0, stores_1.detectStoreType)(serviceKeysDir, destination);
291
+ try {
292
+ await this.createBrokerForDestination(destination, true, // Always create serviceKeyStore for specific destination
293
+ destination, sessionsDir, detected.storeType, unsafe);
294
+ }
295
+ catch (error) {
296
+ logger.error("Failed to create AuthBroker for destination", {
297
+ type: "AUTH_BROKER_CREATE_FAILED",
298
+ destination,
299
+ error: error instanceof Error ? error.message : String(error),
300
+ });
301
+ return undefined;
302
+ }
303
+ }
304
+ return this.authBrokers.get(destination);
305
+ }
306
+ /**
307
+ * Create broker for specific destination
308
+ * Internal method used by both initializeDefaultBroker and getOrCreateAuthBroker
309
+ */
310
+ async createBrokerForDestination(brokerKey, hasServiceKeyStore, serviceKeyDestination, sessionsDir, storeType, unsafe) {
311
+ const logger = this.getConfigValue("logger") || logger_1.defaultLogger;
312
+ const customPath = this.getConfigValue("authBrokerPath")
313
+ ? path.resolve(this.getConfigValue("authBrokerPath"))
314
+ : undefined;
315
+ const serviceKeysPaths = (0, platformPaths_1.getPlatformPaths)(customPath, 'service-keys');
316
+ const serviceKeysDir = serviceKeysPaths[0];
317
+ // Get or create shared stores
318
+ const storeKey = `${storeType}::${serviceKeysDir}::${sessionsDir}::${unsafe}`;
319
+ let stores = this.sharedStores.get(storeKey);
320
+ if (!stores) {
321
+ // Create new shared stores
322
+ if (unsafe) {
323
+ switch (storeType) {
324
+ case 'abap':
325
+ stores = {
326
+ serviceKeyStore: hasServiceKeyStore ? new auth_stores_1.AbapServiceKeyStore(serviceKeysDir) : undefined,
327
+ sessionStore: new auth_stores_1.AbapSessionStore(sessionsDir),
328
+ };
329
+ break;
330
+ case 'btp':
331
+ stores = {
332
+ serviceKeyStore: hasServiceKeyStore ? new auth_stores_1.BtpServiceKeyStore(serviceKeysDir) : undefined,
333
+ sessionStore: new auth_stores_1.BtpSessionStore(sessionsDir, ''),
334
+ };
335
+ break;
336
+ }
337
+ }
338
+ else {
339
+ switch (storeType) {
340
+ case 'abap':
341
+ // Use safe in-memory store to avoid stale/locked files in ~/.config
342
+ stores = {
343
+ serviceKeyStore: hasServiceKeyStore ? new auth_stores_1.AbapServiceKeyStore(serviceKeysDir) : undefined,
344
+ sessionStore: new auth_stores_1.SafeAbapSessionStore(undefined, undefined),
345
+ };
346
+ break;
347
+ case 'btp':
348
+ stores = {
349
+ serviceKeyStore: hasServiceKeyStore ? new auth_stores_1.BtpServiceKeyStore(serviceKeysDir) : undefined,
350
+ sessionStore: new auth_stores_1.SafeBtpSessionStore(''),
351
+ };
352
+ break;
353
+ }
354
+ }
355
+ this.sharedStores.set(storeKey, stores);
356
+ logger.debug("Created shared stores", {
357
+ type: "SHARED_STORES_CREATED",
358
+ storeKey,
359
+ storeType,
360
+ hasServiceKeyStore,
361
+ serviceKeysDir,
362
+ sessionsDir,
363
+ unsafe,
364
+ });
365
+ }
366
+ else {
367
+ // If stores exist but we need serviceKeyStore and it's missing, add it
368
+ if (hasServiceKeyStore && !stores.serviceKeyStore) {
369
+ switch (storeType) {
370
+ case 'abap':
371
+ stores.serviceKeyStore = new auth_stores_1.AbapServiceKeyStore(serviceKeysDir);
372
+ break;
373
+ case 'btp':
374
+ stores.serviceKeyStore = new auth_stores_1.BtpServiceKeyStore(serviceKeysDir);
375
+ break;
376
+ }
377
+ logger.debug("Added serviceKeyStore to existing shared stores", {
378
+ type: "SERVICE_KEY_STORE_ADDED",
379
+ storeKey,
380
+ storeType,
381
+ });
382
+ }
383
+ }
384
+ const { serviceKeyStore, sessionStore } = stores;
385
+ // Create token provider only when service key store is available
386
+ // For .env-only setup (no service key), no token provider needed - user manages tokens
387
+ const tokenProvider = hasServiceKeyStore ? new auth_providers_1.BtpTokenProvider() : undefined;
388
+ // Pre-seed session store with data from service key (without tokens) to avoid stale/absent configs
389
+ if (hasServiceKeyStore && serviceKeyDestination) {
390
+ try {
391
+ const skConn = await serviceKeyStore?.getConnectionConfig?.(serviceKeyDestination);
392
+ const skAuth = await serviceKeyStore?.getAuthorizationConfig?.(serviceKeyDestination);
393
+ if (skConn && sessionStore?.setConnectionConfig) {
394
+ await sessionStore.setConnectionConfig(serviceKeyDestination, {
395
+ ...skConn,
396
+ authorizationToken: undefined,
397
+ });
398
+ }
399
+ if (skAuth && sessionStore?.setAuthorizationConfig) {
400
+ await sessionStore.setAuthorizationConfig(serviceKeyDestination, skAuth);
401
+ }
402
+ }
403
+ catch (e) {
404
+ logger.warn("Failed to seed session store from service key", {
405
+ type: "SESSION_SEED_FAILED",
406
+ brokerKey,
407
+ serviceKeyDestination,
408
+ error: e?.message,
409
+ });
410
+ }
411
+ }
412
+ // Create AuthBroker
413
+ const authBroker = new auth_broker_1.AuthBroker({
414
+ serviceKeyStore: hasServiceKeyStore ? serviceKeyStore : undefined,
415
+ sessionStore,
416
+ tokenProvider,
417
+ // Allow client_credentials flow for all store types (including ABAP)
418
+ // This prevents browser auth conflicts when UAA credentials are available
419
+ allowClientCredentials: true,
420
+ }, 'system', logger);
421
+ this.authBrokers.set(brokerKey, authBroker);
422
+ logger.info("AuthBroker created", {
423
+ type: "AUTH_BROKER_CREATED",
424
+ brokerKey,
425
+ hasServiceKeyStore,
426
+ serviceKeyDestination,
427
+ storeType,
428
+ });
429
+ }
430
+ /**
431
+ * Load .env file and populate session store with connection config
432
+ * @param envFilePath Path to .env file
433
+ * @param destination Destination name (usually 'default')
434
+ * @param broker AuthBroker instance
435
+ * @param logger Logger instance
436
+ */
437
+ async loadEnvFileIntoSessionStore(envFilePath, destination, broker, logger) {
438
+ if (!fs.existsSync(envFilePath)) {
439
+ throw new Error(`.env file not found: ${envFilePath}`);
440
+ }
441
+ logger.debug("Loading .env file into session store", {
442
+ type: "ENV_LOAD_START",
443
+ envFilePath,
444
+ destination,
445
+ });
446
+ // Parse .env file
447
+ const envContent = fs.readFileSync(envFilePath, "utf8");
448
+ const envVars = {};
449
+ for (const line of envContent.split(/\r?\n/)) {
450
+ const trimmed = line.trim();
451
+ if (!trimmed || trimmed.startsWith("#"))
452
+ continue;
453
+ const eqIndex = trimmed.indexOf("=");
454
+ if (eqIndex === -1)
455
+ continue;
456
+ const key = trimmed.substring(0, eqIndex).trim();
457
+ let value = trimmed.substring(eqIndex + 1);
458
+ // Remove inline comments
459
+ const commentIndex = value.indexOf('#');
460
+ if (commentIndex !== -1) {
461
+ value = value.substring(0, commentIndex).trim();
462
+ }
463
+ else {
464
+ value = value.trim();
465
+ }
466
+ // Remove quotes
467
+ value = value.replace(/^["']+|["']+$/g, '').trim();
468
+ if (key) {
469
+ envVars[key] = value;
470
+ }
471
+ }
472
+ // Validate required fields
473
+ if (!envVars.SAP_URL) {
474
+ throw new Error(".env file missing SAP_URL");
475
+ }
476
+ // Build connection config from .env
477
+ const connectionConfig = {
478
+ serviceUrl: envVars.SAP_URL,
479
+ sapClient: envVars.SAP_CLIENT,
480
+ };
481
+ // Check auth type
482
+ const authType = envVars.SAP_AUTH_TYPE || 'basic';
483
+ connectionConfig.authType = authType;
484
+ if (authType === 'basic') {
485
+ if (!envVars.SAP_USERNAME || !envVars.SAP_PASSWORD) {
486
+ throw new Error(".env file missing SAP_USERNAME or SAP_PASSWORD for basic auth");
487
+ }
488
+ connectionConfig.username = envVars.SAP_USERNAME;
489
+ connectionConfig.password = envVars.SAP_PASSWORD;
490
+ }
491
+ else if (authType === 'jwt') {
492
+ if (!envVars.SAP_JWT_TOKEN) {
493
+ throw new Error(".env file missing SAP_JWT_TOKEN for JWT auth");
494
+ }
495
+ connectionConfig.authorizationToken = envVars.SAP_JWT_TOKEN;
496
+ }
497
+ // Store in session store via broker's session store
498
+ const sessionStore = broker.sessionStore;
499
+ if (sessionStore?.setConnectionConfig) {
500
+ await sessionStore.setConnectionConfig(destination, connectionConfig);
501
+ logger.info(".env file loaded into session store", {
502
+ type: "ENV_LOAD_SUCCESS",
503
+ destination,
504
+ serviceUrl: connectionConfig.serviceUrl,
505
+ authType: connectionConfig.authType,
506
+ });
507
+ }
508
+ else {
509
+ throw new Error("Session store does not support setConnectionConfig");
510
+ }
511
+ }
512
+ /**
513
+ * Get existing AuthBroker without creating new one
514
+ */
515
+ getAuthBroker(destination) {
516
+ if (!destination) {
517
+ return this.getDefaultBroker();
518
+ }
519
+ return this.authBrokers.get(destination);
520
+ }
521
+ /**
522
+ * Clear all AuthBroker instances
523
+ */
524
+ clear() {
525
+ this.authBrokers.clear();
526
+ this.sharedStores.clear();
527
+ this.defaultBrokerInitialized = false;
528
+ }
529
+ }
530
+ exports.AuthBrokerFactory = AuthBrokerFactory;
531
+ //# sourceMappingURL=authBrokerFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authBrokerFactory.js","sourceRoot":"","sources":["../../src/lib/authBrokerFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Base server configuration interface
3
+ * Shared by both v1 and v2 servers
4
+ */
5
+ export interface ServerConfig {
6
+ /** Path to .env file */
7
+ envFilePath?: string;
8
+ /** Custom path for auth broker storage */
9
+ authBrokerPath?: string;
10
+ /** Default MCP destination from --mcp parameter */
11
+ mcpDestination?: string;
12
+ /** Use unsafe mode (file-based session store) */
13
+ unsafe?: boolean;
14
+ /** Use auth-broker instead of .env file */
15
+ useAuthBroker?: boolean;
16
+ }
17
+ //# sourceMappingURL=ServerConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/config/ServerConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Base server configuration interface
4
+ * Shared by both v1 and v2 servers
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=ServerConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerConfig.js","sourceRoot":"","sources":["../../../src/lib/config/ServerConfig.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,3 @@
1
+ export declare function saveFullCodeCache(data: any): void;
2
+ export declare function loadFullCodeCache(): any | null;
3
+ //# sourceMappingURL=getFullCodeCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFullCodeCache.d.ts","sourceRoot":"","sources":["../../src/lib/getFullCodeCache.ts"],"names":[],"mappings":"AAOA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,QAE1C;AAED,wBAAgB,iBAAiB,IAAI,GAAG,GAAG,IAAI,CAU9C"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ // Simple file-based cache for GetFullCode
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.saveFullCodeCache = saveFullCodeCache;
38
+ exports.loadFullCodeCache = loadFullCodeCache;
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ const CACHE_FILE = path.join(process.cwd(), '.getfullcode.cache.json');
42
+ function saveFullCodeCache(data) {
43
+ fs.writeFileSync(CACHE_FILE, JSON.stringify(data, null, 2), 'utf-8');
44
+ }
45
+ function loadFullCodeCache() {
46
+ if (fs.existsSync(CACHE_FILE)) {
47
+ const raw = fs.readFileSync(CACHE_FILE, 'utf-8');
48
+ try {
49
+ return JSON.parse(raw);
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ }
55
+ return null;
56
+ }