@mcp-abap-adt/core 2.1.2 → 2.1.4

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 (468) hide show
  1. package/CHANGELOG.md +14 -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/function/readonly/handleGetFunctionGroup.d.ts +23 -0
  36. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts.map +1 -0
  37. package/dist/handlers/function/readonly/handleGetFunctionGroup.js +77 -0
  38. package/dist/handlers/function/readonly/handleGetFunctionGroup.js.map +1 -0
  39. package/dist/handlers/interface/readonly/handleGetInterface.d.ts +23 -0
  40. package/dist/handlers/interface/readonly/handleGetInterface.d.ts.map +1 -0
  41. package/dist/handlers/interface/readonly/handleGetInterface.js +77 -0
  42. package/dist/handlers/interface/readonly/handleGetInterface.js.map +1 -0
  43. package/dist/handlers/package/readonly/handleGetPackage.d.ts +22 -0
  44. package/dist/handlers/package/readonly/handleGetPackage.d.ts.map +1 -0
  45. package/dist/handlers/package/readonly/handleGetPackage.js +108 -0
  46. package/dist/handlers/package/readonly/handleGetPackage.js.map +1 -0
  47. package/dist/handlers/program/readonly/handleGetProgram.d.ts +23 -0
  48. package/dist/handlers/program/readonly/handleGetProgram.d.ts.map +1 -0
  49. package/dist/handlers/program/readonly/handleGetProgram.js +77 -0
  50. package/dist/handlers/program/readonly/handleGetProgram.js.map +1 -0
  51. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts +18 -0
  52. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts.map +1 -0
  53. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js +109 -0
  54. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js.map +1 -0
  55. package/dist/handlers/structure/readonly/handleGetStructure.d.ts +23 -0
  56. package/dist/handlers/structure/readonly/handleGetStructure.d.ts.map +1 -0
  57. package/dist/handlers/structure/readonly/handleGetStructure.js +77 -0
  58. package/dist/handlers/structure/readonly/handleGetStructure.js.map +1 -0
  59. package/dist/handlers/table/readonly/handleGetTable.d.ts +23 -0
  60. package/dist/handlers/table/readonly/handleGetTable.d.ts.map +1 -0
  61. package/dist/handlers/table/readonly/handleGetTable.js +77 -0
  62. package/dist/handlers/table/readonly/handleGetTable.js.map +1 -0
  63. package/dist/handlers/view/readonly/handleGetView.d.ts +33 -0
  64. package/dist/handlers/view/readonly/handleGetView.d.ts.map +1 -0
  65. package/dist/handlers/view/readonly/handleGetView.js +90 -0
  66. package/dist/handlers/view/readonly/handleGetView.js.map +1 -0
  67. package/dist/index.d.ts +126 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +2979 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/lib/ServerConfigManager.d.ts +90 -0
  72. package/dist/lib/ServerConfigManager.d.ts.map +1 -0
  73. package/dist/lib/ServerConfigManager.js +237 -0
  74. package/dist/lib/ServerConfigManager.js.map +1 -0
  75. package/dist/lib/activationUtils.d.ts +59 -0
  76. package/dist/lib/activationUtils.d.ts.map +1 -0
  77. package/dist/lib/activationUtils.js +168 -0
  78. package/dist/lib/authBrokerFactory.d.ts +96 -0
  79. package/dist/lib/authBrokerFactory.d.ts.map +1 -0
  80. package/dist/lib/authBrokerFactory.js +531 -0
  81. package/dist/lib/authBrokerFactory.js.map +1 -0
  82. package/dist/lib/config/ServerConfig.d.ts +17 -0
  83. package/dist/lib/config/ServerConfig.d.ts.map +1 -0
  84. package/dist/lib/config/ServerConfig.js +7 -0
  85. package/dist/lib/config/ServerConfig.js.map +1 -0
  86. package/dist/lib/getFullCodeCache.d.ts +3 -0
  87. package/dist/lib/getFullCodeCache.d.ts.map +1 -0
  88. package/dist/lib/getFullCodeCache.js +56 -0
  89. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.d.ts +36 -0
  90. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.d.ts.map +1 -0
  91. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.js +268 -0
  92. package/dist/lib/handlers/handlers/base/BaseHandlerGroup.js.map +1 -0
  93. package/dist/lib/handlers/handlers/examples/usage-example.d.ts +29 -0
  94. package/dist/lib/handlers/handlers/examples/usage-example.d.ts.map +1 -0
  95. package/dist/lib/handlers/handlers/examples/usage-example.js +119 -0
  96. package/dist/lib/handlers/handlers/examples/usage-example.js.map +1 -0
  97. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.d.ts +14 -0
  98. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -0
  99. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.js +322 -0
  100. package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.js.map +1 -0
  101. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.d.ts +14 -0
  102. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.d.ts.map +1 -0
  103. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.js +1214 -0
  104. package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.js.map +1 -0
  105. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.d.ts +14 -0
  106. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -0
  107. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.js +232 -0
  108. package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -0
  109. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.d.ts +14 -0
  110. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.d.ts.map +1 -0
  111. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.js +57 -0
  112. package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.js.map +1 -0
  113. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.d.ts +14 -0
  114. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.d.ts.map +1 -0
  115. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.js +176 -0
  116. package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.js.map +1 -0
  117. package/dist/lib/handlers/handlers/groups/index.d.ts +13 -0
  118. package/dist/lib/handlers/handlers/groups/index.d.ts.map +1 -0
  119. package/dist/lib/handlers/handlers/groups/index.js +21 -0
  120. package/dist/lib/handlers/handlers/groups/index.js.map +1 -0
  121. package/dist/lib/handlers/handlers/index.d.ts +14 -0
  122. package/dist/lib/handlers/handlers/index.d.ts.map +1 -0
  123. package/dist/lib/handlers/handlers/index.js +37 -0
  124. package/dist/lib/handlers/handlers/index.js.map +1 -0
  125. package/dist/lib/handlers/handlers/interfaces.d.ts +67 -0
  126. package/dist/lib/handlers/handlers/interfaces.d.ts.map +1 -0
  127. package/dist/lib/handlers/handlers/interfaces.js +3 -0
  128. package/dist/lib/handlers/handlers/interfaces.js.map +1 -0
  129. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.d.ts +49 -0
  130. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.d.ts.map +1 -0
  131. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.js +88 -0
  132. package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.js.map +1 -0
  133. package/dist/lib/runtimeConfig.d.ts +20 -0
  134. package/dist/lib/runtimeConfig.d.ts.map +1 -0
  135. package/dist/lib/runtimeConfig.js +130 -0
  136. package/dist/lib/runtimeConfig.js.map +1 -0
  137. package/dist/lib/servers/BaseMcpServer.d.ts +56 -0
  138. package/dist/lib/servers/BaseMcpServer.d.ts.map +1 -0
  139. package/dist/lib/servers/BaseMcpServer.js +198 -0
  140. package/dist/lib/servers/BaseMcpServer.js.map +1 -0
  141. package/dist/lib/servers/ConnectionContext.d.ts +20 -0
  142. package/dist/lib/servers/ConnectionContext.d.ts.map +1 -0
  143. package/dist/lib/servers/ConnectionContext.js +3 -0
  144. package/dist/lib/servers/ConnectionContext.js.map +1 -0
  145. package/dist/lib/servers/SseServer.d.ts +32 -0
  146. package/dist/lib/servers/SseServer.d.ts.map +1 -0
  147. package/dist/lib/servers/SseServer.js +139 -0
  148. package/dist/lib/servers/SseServer.js.map +1 -0
  149. package/dist/lib/servers/StdioServer.d.ts +20 -0
  150. package/dist/lib/servers/StdioServer.d.ts.map +1 -0
  151. package/dist/lib/servers/StdioServer.js +32 -0
  152. package/dist/lib/servers/StdioServer.js.map +1 -0
  153. package/dist/lib/servers/StreamableHttpServer.d.ts +30 -0
  154. package/dist/lib/servers/StreamableHttpServer.d.ts.map +1 -0
  155. package/dist/lib/servers/StreamableHttpServer.js +83 -0
  156. package/dist/lib/servers/StreamableHttpServer.js.map +1 -0
  157. package/dist/lib/servers/handlers/base/BaseHandlerGroup.d.ts +36 -0
  158. package/dist/lib/servers/handlers/base/BaseHandlerGroup.d.ts.map +1 -0
  159. package/dist/lib/servers/handlers/base/BaseHandlerGroup.js +268 -0
  160. package/dist/lib/servers/handlers/base/BaseHandlerGroup.js.map +1 -0
  161. package/dist/lib/servers/handlers/examples/usage-example.d.ts +29 -0
  162. package/dist/lib/servers/handlers/examples/usage-example.d.ts.map +1 -0
  163. package/dist/lib/servers/handlers/examples/usage-example.js +119 -0
  164. package/dist/lib/servers/handlers/examples/usage-example.js.map +1 -0
  165. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.d.ts +14 -0
  166. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -0
  167. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.js +322 -0
  168. package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.js.map +1 -0
  169. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.d.ts +14 -0
  170. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.d.ts.map +1 -0
  171. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.js +1214 -0
  172. package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.js.map +1 -0
  173. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.d.ts +14 -0
  174. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -0
  175. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.js +232 -0
  176. package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -0
  177. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.d.ts +14 -0
  178. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.d.ts.map +1 -0
  179. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.js +57 -0
  180. package/dist/lib/servers/handlers/groups/SearchHandlersGroup.js.map +1 -0
  181. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.d.ts +14 -0
  182. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.d.ts.map +1 -0
  183. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.js +176 -0
  184. package/dist/lib/servers/handlers/groups/SystemHandlersGroup.js.map +1 -0
  185. package/dist/lib/servers/handlers/groups/index.d.ts +13 -0
  186. package/dist/lib/servers/handlers/groups/index.d.ts.map +1 -0
  187. package/dist/lib/servers/handlers/groups/index.js +21 -0
  188. package/dist/lib/servers/handlers/groups/index.js.map +1 -0
  189. package/dist/lib/servers/handlers/index.d.ts +14 -0
  190. package/dist/lib/servers/handlers/index.d.ts.map +1 -0
  191. package/dist/lib/servers/handlers/index.js +37 -0
  192. package/dist/lib/servers/handlers/index.js.map +1 -0
  193. package/dist/lib/servers/handlers/interfaces.d.ts +67 -0
  194. package/dist/lib/servers/handlers/interfaces.d.ts.map +1 -0
  195. package/dist/lib/servers/handlers/interfaces.js +3 -0
  196. package/dist/lib/servers/handlers/interfaces.js.map +1 -0
  197. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.d.ts +49 -0
  198. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.d.ts.map +1 -0
  199. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.js +88 -0
  200. package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.js.map +1 -0
  201. package/dist/lib/servers/index.d.ts +5 -0
  202. package/dist/lib/servers/index.d.ts.map +1 -0
  203. package/dist/lib/servers/index.js +21 -0
  204. package/dist/lib/servers/index.js.map +1 -0
  205. package/dist/lib/servers/launcher.d.ts +2 -0
  206. package/dist/lib/servers/launcher.d.ts.map +1 -0
  207. package/dist/lib/servers/launcher.js +123 -0
  208. package/dist/lib/servers/launcher.js.map +1 -0
  209. package/dist/lib/servers/mcp_handlers.d.ts +25 -0
  210. package/dist/lib/servers/mcp_handlers.d.ts.map +1 -0
  211. package/dist/lib/servers/mcp_handlers.js +822 -0
  212. package/dist/lib/servers/mcp_handlers.js.map +1 -0
  213. package/dist/lib/servers/mcp_server.d.ts +7 -0
  214. package/dist/lib/servers/mcp_server.d.ts.map +1 -0
  215. package/dist/lib/servers/mcp_server.js +12 -0
  216. package/dist/lib/servers/utils.d.ts +42 -0
  217. package/dist/lib/servers/utils.d.ts.map +1 -0
  218. package/dist/lib/servers/utils.js +620 -0
  219. package/dist/lib/servers/utils.js.map +1 -0
  220. package/dist/lib/servers/v2/__tests__/unit/McpServer.test.d.ts +7 -0
  221. package/dist/lib/servers/v2/__tests__/unit/McpServer.test.d.ts.map +1 -0
  222. package/dist/lib/servers/v2/__tests__/unit/McpServer.test.js +218 -0
  223. package/dist/lib/servers/v2/connection/LocalConnectionProvider.d.ts +20 -0
  224. package/dist/lib/servers/v2/connection/LocalConnectionProvider.d.ts.map +1 -0
  225. package/dist/lib/servers/v2/connection/LocalConnectionProvider.js +70 -0
  226. package/dist/lib/servers/v2/connection/RemoteConnectionProvider.d.ts +21 -0
  227. package/dist/lib/servers/v2/connection/RemoteConnectionProvider.d.ts.map +1 -0
  228. package/dist/lib/servers/v2/connection/RemoteConnectionProvider.js +36 -0
  229. package/dist/lib/servers/v2/connection/index.d.ts +6 -0
  230. package/dist/lib/servers/v2/connection/index.d.ts.map +1 -0
  231. package/dist/lib/servers/v2/connection/index.js +10 -0
  232. package/dist/lib/servers/v2/factory/AuthBrokerFactory.d.ts +29 -0
  233. package/dist/lib/servers/v2/factory/AuthBrokerFactory.d.ts.map +1 -0
  234. package/dist/lib/servers/v2/factory/AuthBrokerFactory.js +79 -0
  235. package/dist/lib/servers/v2/factory/LocalModeFactory.d.ts +38 -0
  236. package/dist/lib/servers/v2/factory/LocalModeFactory.d.ts.map +1 -0
  237. package/dist/lib/servers/v2/factory/LocalModeFactory.js +38 -0
  238. package/dist/lib/servers/v2/factory/index.d.ts +6 -0
  239. package/dist/lib/servers/v2/factory/index.d.ts.map +1 -0
  240. package/dist/lib/servers/v2/factory/index.js +10 -0
  241. package/dist/lib/servers/v2/index.d.ts +9 -0
  242. package/dist/lib/servers/v2/index.d.ts.map +1 -0
  243. package/dist/lib/servers/v2/index.js +27 -0
  244. package/dist/lib/servers/v2/index.js.map +1 -0
  245. package/dist/lib/servers/v2/interfaces/connection.d.ts +188 -0
  246. package/dist/lib/servers/v2/interfaces/connection.d.ts.map +1 -0
  247. package/dist/lib/servers/v2/interfaces/connection.js +7 -0
  248. package/dist/lib/servers/v2/interfaces/index.d.ts +10 -0
  249. package/dist/lib/servers/v2/interfaces/index.d.ts.map +1 -0
  250. package/dist/lib/servers/v2/interfaces/index.js +25 -0
  251. package/dist/lib/servers/v2/interfaces/protocol.d.ts +30 -0
  252. package/dist/lib/servers/v2/interfaces/protocol.d.ts.map +1 -0
  253. package/dist/lib/servers/v2/interfaces/protocol.js +7 -0
  254. package/dist/lib/servers/v2/interfaces/session.d.ts +98 -0
  255. package/dist/lib/servers/v2/interfaces/session.d.ts.map +1 -0
  256. package/dist/lib/servers/v2/interfaces/session.js +7 -0
  257. package/dist/lib/servers/v2/interfaces/transport.d.ts +88 -0
  258. package/dist/lib/servers/v2/interfaces/transport.d.ts.map +1 -0
  259. package/dist/lib/servers/v2/interfaces/transport.js +7 -0
  260. package/dist/lib/servers/v2/protocol/ProtocolHandler.d.ts +21 -0
  261. package/dist/lib/servers/v2/protocol/ProtocolHandler.d.ts.map +1 -0
  262. package/dist/lib/servers/v2/protocol/ProtocolHandler.js +77 -0
  263. package/dist/lib/servers/v2/protocol/index.d.ts +5 -0
  264. package/dist/lib/servers/v2/protocol/index.d.ts.map +1 -0
  265. package/dist/lib/servers/v2/protocol/index.js +8 -0
  266. package/dist/lib/servers/v2/server/McpServer.d.ts +76 -0
  267. package/dist/lib/servers/v2/server/McpServer.d.ts.map +1 -0
  268. package/dist/lib/servers/v2/server/McpServer.js +243 -0
  269. package/dist/lib/servers/v2/server/index.d.ts +5 -0
  270. package/dist/lib/servers/v2/server/index.d.ts.map +1 -0
  271. package/dist/lib/servers/v2/server/index.js +8 -0
  272. package/dist/lib/servers/v2/session/SessionManager.d.ts +40 -0
  273. package/dist/lib/servers/v2/session/SessionManager.d.ts.map +1 -0
  274. package/dist/lib/servers/v2/session/SessionManager.js +136 -0
  275. package/dist/lib/servers/v2/session/index.d.ts +5 -0
  276. package/dist/lib/servers/v2/session/index.d.ts.map +1 -0
  277. package/dist/lib/servers/v2/session/index.js +8 -0
  278. package/dist/lib/servers/v2/transports/SseTransport.d.ts +49 -0
  279. package/dist/lib/servers/v2/transports/SseTransport.d.ts.map +1 -0
  280. package/dist/lib/servers/v2/transports/SseTransport.js +89 -0
  281. package/dist/lib/servers/v2/transports/StdioTransport.d.ts +31 -0
  282. package/dist/lib/servers/v2/transports/StdioTransport.d.ts.map +1 -0
  283. package/dist/lib/servers/v2/transports/StdioTransport.js +91 -0
  284. package/dist/lib/servers/v2/transports/StreamableHttpTransport.d.ts +51 -0
  285. package/dist/lib/servers/v2/transports/StreamableHttpTransport.d.ts.map +1 -0
  286. package/dist/lib/servers/v2/transports/StreamableHttpTransport.js +147 -0
  287. package/dist/lib/servers/v2/transports/index.d.ts +7 -0
  288. package/dist/lib/servers/v2/transports/index.d.ts.map +1 -0
  289. package/dist/lib/servers/v2/transports/index.js +12 -0
  290. package/dist/lib/servers/v2/types/common.d.ts +17 -0
  291. package/dist/lib/servers/v2/types/common.d.ts.map +1 -0
  292. package/dist/lib/servers/v2/types/common.js +6 -0
  293. package/dist/lib/servers/v2/types/common.js.map +1 -0
  294. package/dist/lib/servers/v2/types/index.d.ts +8 -0
  295. package/dist/lib/servers/v2/types/index.d.ts.map +1 -0
  296. package/dist/lib/servers/v2/types/index.js +24 -0
  297. package/dist/lib/servers/v2/types/index.js.map +1 -0
  298. package/dist/lib/servers/v2/types/transport.d.ts +28 -0
  299. package/dist/lib/servers/v2/types/transport.d.ts.map +1 -0
  300. package/dist/lib/servers/v2/types/transport.js +8 -0
  301. package/dist/lib/servers/v2/types/transport.js.map +1 -0
  302. package/dist/lib/servers/v2/utils/StdioLogger.d.ts +17 -0
  303. package/dist/lib/servers/v2/utils/StdioLogger.d.ts.map +1 -0
  304. package/dist/lib/servers/v2/utils/StdioLogger.js +33 -0
  305. package/dist/lib/servers/v2/utils/StdioLogger.js.map +1 -0
  306. package/dist/lib/stores/UnixFileServiceKeyStore.d.ts +42 -0
  307. package/dist/lib/stores/UnixFileServiceKeyStore.d.ts.map +1 -0
  308. package/dist/lib/stores/UnixFileServiceKeyStore.js +53 -0
  309. package/dist/lib/stores/UnixFileSessionStore.d.ts +54 -0
  310. package/dist/lib/stores/UnixFileSessionStore.d.ts.map +1 -0
  311. package/dist/lib/stores/UnixFileSessionStore.js +70 -0
  312. package/dist/lib/stores/WindowsFileServiceKeyStore.d.ts +42 -0
  313. package/dist/lib/stores/WindowsFileServiceKeyStore.d.ts.map +1 -0
  314. package/dist/lib/stores/WindowsFileServiceKeyStore.js +53 -0
  315. package/dist/lib/stores/WindowsFileSessionStore.d.ts +54 -0
  316. package/dist/lib/stores/WindowsFileSessionStore.d.ts.map +1 -0
  317. package/dist/lib/stores/WindowsFileSessionStore.js +70 -0
  318. package/dist/lib/toolsRegistry.d.ts +13 -0
  319. package/dist/lib/toolsRegistry.d.ts.map +1 -0
  320. package/dist/lib/toolsRegistry.js +410 -0
  321. package/dist/lib/transportConfig.d.ts +27 -0
  322. package/dist/lib/transportConfig.d.ts.map +1 -0
  323. package/dist/lib/transportConfig.js +124 -0
  324. package/dist/lib/transports/stdio.d.ts +10 -0
  325. package/dist/lib/transports/stdio.d.ts.map +1 -0
  326. package/dist/lib/transports/stdio.js +73 -0
  327. package/dist/lib/utils.d.ts.map +1 -1
  328. package/dist/lib/utils.js +0 -5
  329. package/dist/lib/utils.js.map +1 -1
  330. package/dist/lib/yamlConfig.d.ts +59 -0
  331. package/dist/lib/yamlConfig.d.ts.map +1 -0
  332. package/dist/lib/yamlConfig.js +349 -0
  333. package/dist/lib/yamlConfig.js.map +1 -0
  334. package/dist/server/v1/AuthBrokerConfig.d.ts +19 -0
  335. package/dist/server/v1/AuthBrokerConfig.d.ts.map +1 -0
  336. package/dist/server/v1/AuthBrokerConfig.js +44 -0
  337. package/dist/server/v1/AuthBrokerConfig.js.map +1 -0
  338. package/dist/server/v1/IServerConfig.d.ts +17 -0
  339. package/dist/server/v1/IServerConfig.d.ts.map +1 -0
  340. package/dist/server/v1/IServerConfig.js +7 -0
  341. package/dist/server/v1/IServerConfig.js.map +1 -0
  342. package/dist/server/v1/ServerConfig.d.ts +16 -0
  343. package/dist/server/v1/ServerConfig.d.ts.map +1 -0
  344. package/dist/server/v1/ServerConfig.js +6 -0
  345. package/dist/server/v1/ServerConfig.js.map +1 -0
  346. package/dist/server/v1/embeddable-server.d.ts +89 -0
  347. package/dist/server/v1/embeddable-server.d.ts.map +1 -0
  348. package/dist/server/v1/embeddable-server.js +83 -0
  349. package/dist/server/v1/embeddable-server.js.map +1 -0
  350. package/dist/server/v1/index.d.ts +30 -0
  351. package/dist/server/v1/index.d.ts.map +1 -0
  352. package/dist/server/v1/index.js +65 -0
  353. package/dist/server/v1/index.js.map +1 -0
  354. package/dist/server/v1/legacy-server.d.ts +141 -0
  355. package/dist/server/v1/legacy-server.d.ts.map +1 -0
  356. package/dist/server/v1/legacy-server.js +2099 -0
  357. package/dist/server/v1/legacy-server.js.map +1 -0
  358. package/dist/server/v1/mcp_handlers.d.ts +19 -0
  359. package/dist/server/v1/mcp_handlers.d.ts.map +1 -0
  360. package/dist/server/v1/mcp_handlers.js +85 -0
  361. package/dist/server/v1/mcp_handlers.js.map +1 -0
  362. package/dist/server/v2/AuthBrokerConfig.d.ts +22 -0
  363. package/dist/server/v2/AuthBrokerConfig.d.ts.map +1 -0
  364. package/dist/server/v2/AuthBrokerConfig.js +46 -0
  365. package/dist/server/v2/AuthBrokerConfig.js.map +1 -0
  366. package/dist/server/v2/BaseMcpServer.d.ts +67 -0
  367. package/dist/server/v2/BaseMcpServer.d.ts.map +1 -0
  368. package/dist/server/v2/BaseMcpServer.js +273 -0
  369. package/dist/server/v2/BaseMcpServer.js.map +1 -0
  370. package/dist/server/v2/ConnectionContext.d.ts +20 -0
  371. package/dist/server/v2/ConnectionContext.d.ts.map +1 -0
  372. package/dist/server/v2/ConnectionContext.js +3 -0
  373. package/dist/server/v2/ConnectionContext.js.map +1 -0
  374. package/dist/server/v2/IHttpApplication.d.ts +42 -0
  375. package/dist/server/v2/IHttpApplication.d.ts.map +1 -0
  376. package/dist/server/v2/IHttpApplication.js +3 -0
  377. package/dist/server/v2/IHttpApplication.js.map +1 -0
  378. package/dist/server/v2/IServerConfig.d.ts +15 -0
  379. package/dist/server/v2/IServerConfig.d.ts.map +1 -0
  380. package/dist/server/v2/IServerConfig.js +7 -0
  381. package/dist/server/v2/IServerConfig.js.map +1 -0
  382. package/dist/server/v2/ServerConfig.d.ts +16 -0
  383. package/dist/server/v2/ServerConfig.d.ts.map +1 -0
  384. package/dist/server/v2/ServerConfig.js +6 -0
  385. package/dist/server/v2/ServerConfig.js.map +1 -0
  386. package/dist/server/v2/SseServer.d.ts +95 -0
  387. package/dist/server/v2/SseServer.d.ts.map +1 -0
  388. package/dist/server/v2/SseServer.js +217 -0
  389. package/dist/server/v2/SseServer.js.map +1 -0
  390. package/dist/server/v2/StdioServer.d.ts +20 -0
  391. package/dist/server/v2/StdioServer.d.ts.map +1 -0
  392. package/dist/server/v2/StdioServer.js +32 -0
  393. package/dist/server/v2/StdioServer.js.map +1 -0
  394. package/dist/server/v2/StreamableHttpServer.d.ts +94 -0
  395. package/dist/server/v2/StreamableHttpServer.d.ts.map +1 -0
  396. package/dist/server/v2/StreamableHttpServer.js +170 -0
  397. package/dist/server/v2/StreamableHttpServer.js.map +1 -0
  398. package/dist/server/v2/index.d.ts +6 -0
  399. package/dist/server/v2/index.d.ts.map +1 -0
  400. package/dist/server/v2/index.js +22 -0
  401. package/dist/server/v2/index.js.map +1 -0
  402. package/dist/server/v2/launcher.d.ts +2 -0
  403. package/dist/server/v2/launcher.d.ts.map +1 -0
  404. package/dist/server/v2/launcher.js +181 -0
  405. package/dist/server/v2/launcher.js.map +1 -0
  406. package/dist/server/v2/mcp_handlers.d.ts +25 -0
  407. package/dist/server/v2/mcp_handlers.d.ts.map +1 -0
  408. package/dist/server/v2/mcp_handlers.js +828 -0
  409. package/dist/server/v2/mcp_handlers.js.map +1 -0
  410. package/dist/server/v2/utils.d.ts +42 -0
  411. package/dist/server/v2/utils.d.ts.map +1 -0
  412. package/dist/server/v2/utils.js +620 -0
  413. package/dist/server/v2/utils.js.map +1 -0
  414. package/dist/tools/test-v2-server-stdio-compiled.js +132 -0
  415. package/dist/utils/lockStateManager.d.ts +2 -12
  416. package/dist/utils/lockStateManager.d.ts.map +1 -1
  417. package/dist/utils/lockStateManager.js +4 -63
  418. package/dist/utils/lockStateManager.js.map +1 -1
  419. package/docs/README.md +1 -2
  420. package/docs/architecture/CONNECTION_ISOLATION.md +0 -1
  421. package/docs/architecture/README.md +1 -1
  422. package/docs/architecture/STATEFUL_SESSION_GUIDE.md +28 -717
  423. package/docs/deployment/DOCKER.md +1 -18
  424. package/docs/development/roadmaps/archive/test_locking_roadmap.md +0 -3
  425. package/docs/installation/CLINE_CONFIGURATION.md +1 -32
  426. package/docs/installation/platforms/INSTALL_LINUX.md +1 -1
  427. package/docs/installation/platforms/INSTALL_MACOS.md +1 -1
  428. package/docs/installation/platforms/INSTALL_WINDOWS.md +1 -1
  429. package/docs/user-guide/AVAILABLE_TOOLS.md +2 -2
  430. package/docs/user-guide/CLIENT_CONFIGURATION.md +1 -1
  431. package/docs/user-guide/HANDLERS_MANAGEMENT.md +2 -2
  432. package/docs/user-guide/README.md +0 -2
  433. package/package.json +1 -2
  434. package/bin/README.md +0 -125
  435. package/bin/lock-object.js +0 -240
  436. package/docs/user-guide/scenarios/COMMON_PATTERNS.md +0 -603
  437. package/docs/user-guide/scenarios/CREATING_CDS_VIEWS.md +0 -441
  438. package/docs/user-guide/scenarios/CREATING_CLASSES.md +0 -456
  439. package/docs/user-guide/scenarios/CREATING_FUNCTION_GROUPS.md +0 -582
  440. package/docs/user-guide/scenarios/README.md +0 -51
  441. package/docs/user-guide/scenarios/SESSION_MANAGEMENT.md +0 -335
  442. package/docs/user-guide/usage/README.md +0 -137
  443. package/docs/user-guide/usage/rap-business-objects/README.md +0 -28
  444. package/docs/user-guide/usage/rap-business-objects/creating-rap-bo.md +0 -189
  445. package/docs/user-guide/usage/rap-business-objects/deferred-activation.md +0 -82
  446. package/docs/user-guide/usage/simple-objects/README.md +0 -23
  447. package/docs/user-guide/usage/simple-objects/classes-high.md +0 -32
  448. package/docs/user-guide/usage/simple-objects/classes-low.md +0 -165
  449. package/docs/user-guide/usage/simple-objects/data-elements-high.md +0 -48
  450. package/docs/user-guide/usage/simple-objects/data-elements-low.md +0 -144
  451. package/docs/user-guide/usage/simple-objects/domains-high.md +0 -32
  452. package/docs/user-guide/usage/simple-objects/domains-low.md +0 -144
  453. package/docs/user-guide/usage/simple-objects/function-groups-high.md +0 -32
  454. package/docs/user-guide/usage/simple-objects/function-groups-low.md +0 -144
  455. package/docs/user-guide/usage/simple-objects/function-modules-high.md +0 -32
  456. package/docs/user-guide/usage/simple-objects/function-modules-low.md +0 -160
  457. package/docs/user-guide/usage/simple-objects/interfaces-high.md +0 -32
  458. package/docs/user-guide/usage/simple-objects/interfaces-low.md +0 -160
  459. package/docs/user-guide/usage/simple-objects/programs-high.md +0 -32
  460. package/docs/user-guide/usage/simple-objects/programs-low.md +0 -160
  461. package/docs/user-guide/usage/simple-objects/service-definitions-high.md +0 -32
  462. package/docs/user-guide/usage/simple-objects/service-definitions-low.md +0 -160
  463. package/docs/user-guide/usage/simple-objects/structures-high.md +0 -32
  464. package/docs/user-guide/usage/simple-objects/structures-low.md +0 -160
  465. package/docs/user-guide/usage/simple-objects/tables-high.md +0 -32
  466. package/docs/user-guide/usage/simple-objects/tables-low.md +0 -165
  467. package/docs/user-guide/usage/simple-objects/views-high.md +0 -32
  468. package/docs/user-guide/usage/simple-objects/views-low.md +0 -160
@@ -1,582 +0,0 @@
1
- # Creating Function Groups with Low-Level Handlers
2
-
3
- This guide demonstrates how to create a function group and add function modules using low-level MCP handlers.
4
-
5
- ## Overview
6
-
7
- Function groups require a slightly different workflow than classes:
8
-
9
- ```
10
- GetSession → ValidateFunctionGroup → CreateFunctionGroup → LockFunctionGroup →
11
- CreateFunctionModule → UpdateFunctionModule → UnlockFunctionGroup → ActivateFunctionGroup
12
- ```
13
-
14
- **Note**: Function groups cannot be updated directly - you add function modules to them instead.
15
-
16
- ## Step-by-Step Workflow
17
-
18
- ### Step 1: Get Session
19
-
20
- Obtain a session ID and session state.
21
-
22
- **Tool**: `GetSession`
23
-
24
- **Request**:
25
- ```json
26
- {
27
- "force_new": false
28
- }
29
- ```
30
-
31
- **Response**:
32
- ```json
33
- {
34
- "success": true,
35
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
36
- "session_state": {
37
- "cookies": "SAP_SESSIONID_E19_100=xyz...",
38
- "csrf_token": "AbCdEf123456",
39
- "cookie_store": {}
40
- }
41
- }
42
- ```
43
-
44
- ---
45
-
46
- ### Step 2: Validate Function Group Name
47
-
48
- Check if the function group name is valid and available.
49
-
50
- **Tool**: `ValidateFunctionGroupLow`
51
-
52
- **Request**:
53
- ```json
54
- {
55
- "function_group_name": "ZFG_MY_GROUP",
56
- "package_name": "ZOK_LOCAL",
57
- "description": "Test function group",
58
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
59
- "session_state": {
60
- "cookies": "...",
61
- "csrf_token": "...",
62
- "cookie_store": {}
63
- }
64
- }
65
- ```
66
-
67
- **Response** (Success):
68
- ```json
69
- {
70
- "success": true,
71
- "function_group_name": "ZFG_MY_GROUP",
72
- "validation_result": {
73
- "valid": true
74
- },
75
- "session_state": {
76
- "cookies": "...",
77
- "csrf_token": "...",
78
- "cookie_store": {}
79
- }
80
- }
81
- ```
82
-
83
- ---
84
-
85
- ### Step 3: Create Function Group
86
-
87
- Create the function group structure.
88
-
89
- **Tool**: `CreateFunctionGroupLow`
90
-
91
- **Request**:
92
- ```json
93
- {
94
- "function_group_name": "ZFG_MY_GROUP",
95
- "description": "Test function group for demonstration",
96
- "package_name": "ZOK_LOCAL",
97
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
98
- "session_state": {
99
- "cookies": "...",
100
- "csrf_token": "...",
101
- "cookie_store": {}
102
- }
103
- }
104
- ```
105
-
106
- **Response**:
107
- ```json
108
- {
109
- "success": true,
110
- "function_group_name": "ZFG_MY_GROUP",
111
- "package_name": "ZOK_LOCAL",
112
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
113
- "session_state": {
114
- "cookies": "...",
115
- "csrf_token": "...",
116
- "cookie_store": {}
117
- },
118
- "message": "Function group ZFG_MY_GROUP created successfully..."
119
- }
120
- ```
121
-
122
- **Note**: Function groups are created empty. You add function modules to them in the next steps.
123
-
124
- ---
125
-
126
- ### Step 4: Lock Function Group
127
-
128
- Acquire an exclusive lock on the function group.
129
-
130
- **Tool**: `LockFunctionGroupLow`
131
-
132
- **Request**:
133
- ```json
134
- {
135
- "function_group_name": "ZFG_MY_GROUP",
136
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
137
- "session_state": {
138
- "cookies": "...",
139
- "csrf_token": "...",
140
- "cookie_store": {}
141
- }
142
- }
143
- ```
144
-
145
- **Response**:
146
- ```json
147
- {
148
- "success": true,
149
- "function_group_name": "ZFG_MY_GROUP",
150
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
151
- "lock_handle": "BD53F3688D0F164CA3ADF06FD43C39E1CC1C3B32",
152
- "session_state": {
153
- "cookies": "...",
154
- "csrf_token": "...",
155
- "cookie_store": {}
156
- }
157
- }
158
- ```
159
-
160
- **CRITICAL**:
161
- - Save `lock_handle` - it's required for Unlock operation
162
- - **Save `session_id` and `session_state` from this response** - they MUST be used in Unlock operation
163
- - **Lock and Unlock MUST use the same session** - use the `session_id` and `session_state` from this Lock response
164
-
165
- ---
166
-
167
- ### Step 5: Create Function Module
168
-
169
- Create a function module within the locked function group.
170
-
171
- **Tool**: `CreateFunctionModuleLow`
172
-
173
- **Request**:
174
- ```json
175
- {
176
- "function_module_name": "ZFM_TEST_FUNCTION",
177
- "function_group_name": "ZFG_MY_GROUP",
178
- "description": "Test function module",
179
- "package_name": "ZOK_LOCAL",
180
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
181
- "session_state": {
182
- "cookies": "...",
183
- "csrf_token": "...",
184
- "cookie_store": {}
185
- }
186
- }
187
- ```
188
-
189
- **Response**:
190
- ```json
191
- {
192
- "success": true,
193
- "function_module_name": "ZFM_TEST_FUNCTION",
194
- "function_group_name": "ZFG_MY_GROUP",
195
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
196
- "session_state": {
197
- "cookies": "...",
198
- "csrf_token": "...",
199
- "cookie_store": {}
200
- },
201
- "message": "Function module ZFM_TEST_FUNCTION created successfully..."
202
- }
203
- ```
204
-
205
- ---
206
-
207
- ### Step 6: Lock Function Module
208
-
209
- Lock the function module to add source code.
210
-
211
- **Tool**: `LockFunctionModuleLow`
212
-
213
- **Request**:
214
- ```json
215
- {
216
- "function_module_name": "ZFM_TEST_FUNCTION",
217
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
218
- "session_state": {
219
- "cookies": "...",
220
- "csrf_token": "...",
221
- "cookie_store": {}
222
- }
223
- }
224
- ```
225
-
226
- **Response**:
227
- ```json
228
- {
229
- "success": true,
230
- "function_module_name": "ZFM_TEST_FUNCTION",
231
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
232
- "lock_handle": "A1B2C3D4E5F6789012345678901234567890ABCD",
233
- "session_state": {
234
- "cookies": "...",
235
- "csrf_token": "...",
236
- "cookie_store": {}
237
- }
238
- }
239
- ```
240
-
241
- **CRITICAL**:
242
- - Function modules have their own lock handle, separate from the function group lock
243
- - **Save `session_id` and `session_state` from this response** - they MUST be used in Update and Unlock operations for this function module
244
- - **Lock, Update, and Unlock for function module MUST use the same session** - use the `session_id` and `session_state` from this Lock response
245
-
246
- ---
247
-
248
- ### Step 7: Update Function Module
249
-
250
- Add source code to the function module.
251
-
252
- **Tool**: `UpdateFunctionModuleLow`
253
-
254
- **Request**:
255
- ```json
256
- {
257
- "function_module_name": "ZFM_TEST_FUNCTION",
258
- "source_code": "FUNCTION zfm_test_function.\n*\"----------------------------------------------------------------------\n*\"*\"Local Interface:\n*\" IMPORTING\n*\" VALUE(IV_INPUT) TYPE STRING\n*\" EXPORTING\n*\" VALUE(EV_OUTPUT) TYPE STRING\n*\"----------------------------------------------------------------------\n\n ev_output = |Hello from { iv_input }|.\n\nENDFUNCTION.",
259
- "lock_handle": "A1B2C3D4E5F6789012345678901234567890ABCD",
260
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
261
- "session_state": {
262
- "cookies": "...",
263
- "csrf_token": "...",
264
- "cookie_store": {}
265
- }
266
- }
267
- ```
268
-
269
- **Response**:
270
- ```json
271
- {
272
- "success": true,
273
- "function_module_name": "ZFM_TEST_FUNCTION",
274
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
275
- "session_state": {
276
- "cookies": "...",
277
- "csrf_token": "...",
278
- "cookie_store": {}
279
- },
280
- "message": "Function module ZFM_TEST_FUNCTION updated successfully..."
281
- }
282
- ```
283
-
284
- ---
285
-
286
- ### Step 8: Unlock Function Module
287
-
288
- Release the lock on the function module.
289
-
290
- **Tool**: `UnlockFunctionModuleLow`
291
-
292
- **Request**:
293
- ```json
294
- {
295
- "function_module_name": "ZFM_TEST_FUNCTION",
296
- "lock_handle": "A1B2C3D4E5F6789012345678901234567890ABCD",
297
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
298
- "session_state": {
299
- "cookies": "...",
300
- "csrf_token": "...",
301
- "cookie_store": {}
302
- }
303
- }
304
- ```
305
-
306
- ---
307
-
308
- ### Step 9: Unlock Function Group
309
-
310
- Release the lock on the function group.
311
-
312
- **Tool**: `UnlockFunctionGroupLow`
313
-
314
- **Request**:
315
- ```json
316
- {
317
- "function_group_name": "ZFG_MY_GROUP",
318
- "lock_handle": "BD53F3688D0F164CA3ADF06FD43C39E1CC1C3B32",
319
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
320
- "session_state": {
321
- "cookies": "...",
322
- "csrf_token": "...",
323
- "cookie_store": {}
324
- }
325
- }
326
- ```
327
-
328
- ---
329
-
330
- ### Step 10: Activate Function Group
331
-
332
- Activate the function group (this also activates all function modules within it).
333
-
334
- **Tool**: `ActivateFunctionGroupLow`
335
-
336
- **Request**:
337
- ```json
338
- {
339
- "function_group_name": "ZFG_MY_GROUP",
340
- "session_id": "a1b2c3d4e5f6789012345678901234567890abcd",
341
- "session_state": {
342
- "cookies": "...",
343
- "csrf_token": "...",
344
- "cookie_store": {}
345
- }
346
- }
347
- ```
348
-
349
- **Response**:
350
- ```json
351
- {
352
- "success": true,
353
- "function_group_name": "ZFG_MY_GROUP",
354
- "activation_result": {
355
- "status": "success",
356
- "warnings": [],
357
- "errors": []
358
- },
359
- "message": "Function group ZFG_MY_GROUP activated successfully"
360
- }
361
- ```
362
-
363
- ---
364
-
365
- ## Complete Example
366
-
367
- ```python
368
- # Step 1: Get Session
369
- session = get_session()
370
- session_id = session["session_id"]
371
- session_state = session["session_state"]
372
-
373
- try:
374
- # Step 2: Validate Function Group
375
- validation = validate_function_group(
376
- function_group_name="ZFG_MY_GROUP",
377
- package_name="ZOK_LOCAL",
378
- session_id=session_id,
379
- session_state=session_state
380
- )
381
- if not validation["validation_result"]["valid"]:
382
- raise Error(f"Validation failed: {validation['validation_result']['message']}")
383
- session_state = validation["session_state"]
384
-
385
- # Step 3: Create Function Group
386
- create_result = create_function_group(
387
- function_group_name="ZFG_MY_GROUP",
388
- description="Test function group",
389
- package_name="ZOK_LOCAL",
390
- session_id=session_id,
391
- session_state=session_state
392
- )
393
- session_state = create_result["session_state"]
394
-
395
- # Step 4: Lock Function Group
396
- lock_result = lock_function_group(
397
- function_group_name="ZFG_MY_GROUP",
398
- session_id=session_id,
399
- session_state=session_state
400
- )
401
- fg_lock_handle = lock_result["lock_handle"]
402
- # CRITICAL: Save session_id and session_state from Lock response
403
- # These MUST be used in Unlock operation
404
- fg_lock_session_id = lock_result["session_id"]
405
- fg_lock_session_state = lock_result["session_state"]
406
-
407
- try:
408
- # Step 5: Create Function Module
409
- fm_create_result = create_function_module(
410
- function_module_name="ZFM_TEST_FUNCTION",
411
- function_group_name="ZFG_MY_GROUP",
412
- description="Test function module",
413
- package_name="ZOK_LOCAL",
414
- session_id=session_id,
415
- session_state=session_state
416
- )
417
- session_state = fm_create_result["session_state"]
418
-
419
- # Step 6: Lock Function Module
420
- fm_lock_result = lock_function_module(
421
- function_module_name="ZFM_TEST_FUNCTION",
422
- session_id=session_id,
423
- session_state=session_state
424
- )
425
- fm_lock_handle = fm_lock_result["lock_handle"]
426
- # CRITICAL: Save session_id and session_state from Lock response
427
- # These MUST be used in Update and Unlock operations
428
- fm_lock_session_id = fm_lock_result["session_id"]
429
- fm_lock_session_state = fm_lock_result["session_state"]
430
-
431
- try:
432
- # Step 7: Update Function Module
433
- fm_source = """FUNCTION zfm_test_function.
434
- *"----------------------------------------------------------------------
435
- *"*"Local Interface:
436
- *" IMPORTING
437
- *" VALUE(IV_INPUT) TYPE STRING
438
- *" EXPORTING
439
- *" VALUE(EV_OUTPUT) TYPE STRING
440
- *"----------------------------------------------------------------------
441
-
442
- ev_output = |Hello from { iv_input }|.
443
-
444
- ENDFUNCTION."""
445
-
446
- # CRITICAL: Use session_id and session_state from Lock response
447
- fm_update_result = update_function_module(
448
- function_module_name="ZFM_TEST_FUNCTION",
449
- source_code=fm_source,
450
- lock_handle=fm_lock_handle,
451
- session_id=fm_lock_session_id, # ← From Lock response
452
- session_state=fm_lock_session_state # ← From Lock response
453
- )
454
- session_state = fm_update_result["session_state"]
455
-
456
- finally:
457
- # Step 8: Unlock Function Module
458
- # CRITICAL: Use session_id and session_state from Lock response
459
- unlock_function_module(
460
- function_module_name="ZFM_TEST_FUNCTION",
461
- lock_handle=fm_lock_handle,
462
- session_id=fm_lock_session_id, # ← From Lock response
463
- session_state=fm_lock_session_state # ← From Lock response
464
- )
465
- session_state = unlock_result["session_state"]
466
-
467
- finally:
468
- # Step 9: Unlock Function Group
469
- # CRITICAL: Use session_id and session_state from Lock response
470
- unlock_result = unlock_function_group(
471
- function_group_name="ZFG_MY_GROUP",
472
- lock_handle=fg_lock_handle,
473
- session_id=fg_lock_session_id, # ← From Lock response
474
- session_state=fg_lock_session_state # ← From Lock response
475
- )
476
- session_state = unlock_result["session_state"]
477
-
478
- # Step 10: Activate Function Group
479
- activate_result = activate_function_group(
480
- function_group_name="ZFG_MY_GROUP",
481
- session_id=session_id,
482
- session_state=session_state
483
- )
484
-
485
- print("✅ Function group and function module created and activated successfully!")
486
-
487
- except Error as e:
488
- print(f"❌ Error: {e}")
489
- # Unlock both function module and function group if locked
490
- if 'fm_lock_handle' in locals():
491
- try:
492
- unlock_function_module(
493
- function_module_name="ZFM_TEST_FUNCTION",
494
- lock_handle=fm_lock_handle,
495
- session_id=session_id,
496
- session_state=session_state
497
- )
498
- except:
499
- pass
500
- if 'fg_lock_handle' in locals():
501
- try:
502
- unlock_function_group(
503
- function_group_name="ZFG_MY_GROUP",
504
- lock_handle=fg_lock_handle,
505
- session_id=session_id,
506
- session_state=session_state
507
- )
508
- except:
509
- pass
510
- ```
511
-
512
- ## Function Module Source Code Format
513
-
514
- Function modules use standard ABAP function syntax:
515
-
516
- ```abap
517
- FUNCTION zfm_test_function.
518
- *"----------------------------------------------------------------------
519
- *"*"Local Interface:
520
- *" IMPORTING
521
- *" VALUE(IV_INPUT) TYPE STRING
522
- *" EXPORTING
523
- *" VALUE(EV_OUTPUT) TYPE STRING
524
- *" CHANGING
525
- *" VALUE(CV_VALUE) TYPE STRING OPTIONAL
526
- *" TABLES
527
- *" IT_TABLE TYPE TABLE_TYPE OPTIONAL
528
- *"----------------------------------------------------------------------
529
-
530
- ev_output = |Hello from { iv_input }|.
531
-
532
- ENDFUNCTION.
533
- ```
534
-
535
- ## Important Notes
536
-
537
- 1. **Function groups cannot be updated directly** - You add function modules to them
538
- 2. **Two-level locking** - Function group and function module have separate locks
539
- 3. **Activation** - Activating the function group activates all function modules within it
540
- 4. **Lock order** - Lock function group first, then create/lock/update/unlock function modules, then unlock function group
541
-
542
- ## Common Errors
543
-
544
- ### Error: "Function group already exists"
545
- - **Solution**: Delete the existing function group or choose a different name
546
-
547
- ### Error: "Function module must belong to a function group"
548
- - **Solution**: Ensure the function group is created and locked before creating function modules
549
-
550
- ### Error: "Invalid lock handle"
551
- - **Solution**:
552
- - **CRITICAL**: You MUST use the `session_id` and `session_state` from the Lock response in Update and Unlock operations
553
- - Lock, Update, and Unlock MUST be in the same session
554
- - Always save `session_id` and `session_state` from Lock response and pass them to Update and Unlock
555
- - Use the correct lock handle for each operation (function group vs function module)
556
-
557
- ## Best Practices
558
-
559
- 1. **Lock function group first** - Lock the function group before creating function modules
560
- 2. **Unlock in reverse order** - Unlock function modules before unlocking the function group
561
- 3. **Handle errors carefully** - Unlock both function module and function group in error handlers
562
- 4. **Activate after unlock** - Activate the function group after all unlocks are complete
563
-
564
- ## Related Tools
565
-
566
- - `GetSession` - Get session ID and state
567
- - `ValidateFunctionGroupLow` - Validate function group name
568
- - `CreateFunctionGroupLow` - Create function group
569
- - `LockFunctionGroupLow` - Lock function group
570
- - `CreateFunctionModuleLow` - Create function module
571
- - `LockFunctionModuleLow` - Lock function module
572
- - `UpdateFunctionModuleLow` - Update function module source
573
- - `UnlockFunctionModuleLow` - Unlock function module
574
- - `UnlockFunctionGroupLow` - Unlock function group
575
- - `ActivateFunctionGroupLow` - Activate function group
576
-
577
- ## See Also
578
-
579
- - [Creating Classes](./CREATING_CLASSES.md) - Similar workflow for classes
580
- - [Session Management](./SESSION_MANAGEMENT.md) - Understanding sessions
581
- - [Common Patterns](./COMMON_PATTERNS.md) - Reusable patterns
582
-
@@ -1,51 +0,0 @@
1
- # Low-Level Handler Usage Scenarios
2
-
3
- This directory contains practical examples and scenarios for using low-level MCP handlers to create and modify ABAP objects.
4
-
5
- ## Overview
6
-
7
- Low-level handlers provide fine-grained control over ABAP object operations. They require explicit session management and follow a specific workflow pattern:
8
-
9
- 1. **GetSession** - Obtain session ID and state
10
- 2. **Validate** - Check if object name is valid and available
11
- 3. **Create** - Create the object
12
- 4. **Lock** - Acquire lock for modification
13
- 5. **Update** - Modify the object (source code, metadata, etc.)
14
- 6. **Unlock** - Release the lock
15
- 7. **Activate** - Activate the object
16
-
17
- ## Available Scenarios
18
-
19
- | Document | Description |
20
- |----------|-------------|
21
- | [Creating Classes](./CREATING_CLASSES.md) | Complete workflow for creating ABAP classes with source code |
22
- | [Creating CDS Views](./CREATING_CDS_VIEWS.md) | Workflow for creating CDS views (DDL source) |
23
- | [Creating Function Groups](./CREATING_FUNCTION_GROUPS.md) | Workflow for creating function groups and function modules |
24
- | [Session Management](./SESSION_MANAGEMENT.md) | Understanding and managing stateful sessions |
25
- | [Common Patterns](./COMMON_PATTERNS.md) | Reusable patterns for different object types |
26
-
27
- ## When to Use Low-Level vs High-Level Handlers
28
-
29
- ### Use Low-Level Handlers When:
30
- - You need fine-grained control over each step
31
- - You want to reuse the same session across multiple operations
32
- - You need to handle errors at each step individually
33
- - You're building custom workflows or automation scripts
34
- - You're integrating with external systems that need explicit control
35
-
36
- ### Use High-Level Handlers When:
37
- - You want a simple, all-in-one operation
38
- - You don't need to customize the workflow
39
- - You're doing quick, one-off operations
40
- - You prefer automatic error handling and session management
41
-
42
- ## Quick Start
43
-
44
- For a quick example, see [Creating Classes](./CREATING_CLASSES.md) which demonstrates the complete workflow.
45
-
46
- ## Related Documentation
47
-
48
- - [Stateful Session Guide](../../architecture/STATEFUL_SESSION_GUIDE.md) - Technical details on session management
49
- - [Available Tools](../AVAILABLE_TOOLS.md) - Complete list of all MCP tools
50
- - [Client Configuration](../CLIENT_CONFIGURATION.md) - How to configure MCP clients
51
-