@mcp-abap-adt/core 2.5.1 → 2.5.2

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 (306) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +3 -0
  3. package/dist/handlers/bdef/handleCreateBehaviorDefinition.d.ts +50 -0
  4. package/dist/handlers/bdef/handleCreateBehaviorDefinition.d.ts.map +1 -0
  5. package/dist/handlers/bdef/handleCreateBehaviorDefinition.js +101 -0
  6. package/dist/handlers/bdef/handleGetBdef.d.ts +54 -0
  7. package/dist/handlers/bdef/handleGetBdef.d.ts.map +1 -0
  8. package/dist/handlers/bdef/handleGetBdef.js +89 -0
  9. package/dist/handlers/bdef/handleUpdateBehaviorDefinition.d.ts +37 -0
  10. package/dist/handlers/bdef/handleUpdateBehaviorDefinition.d.ts.map +1 -0
  11. package/dist/handlers/bdef/handleUpdateBehaviorDefinition.js +85 -0
  12. package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts +54 -0
  13. package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts.map +1 -0
  14. package/dist/handlers/behavior_definition/readonly/handleGetBdef.js +89 -0
  15. package/dist/handlers/class/handleCheckClass.d.ts +59 -0
  16. package/dist/handlers/class/handleCheckClass.d.ts.map +1 -0
  17. package/dist/handlers/class/handleCheckClass.js +138 -0
  18. package/dist/handlers/class/handleCreateClass.d.ts +80 -0
  19. package/dist/handlers/class/handleCreateClass.d.ts.map +1 -0
  20. package/dist/handlers/class/handleCreateClass.js +192 -0
  21. package/dist/handlers/class/handleGetClass.d.ts +16 -0
  22. package/dist/handlers/class/handleGetClass.d.ts.map +1 -0
  23. package/dist/handlers/class/handleGetClass.js +159 -0
  24. package/dist/handlers/class/handleUpdateClassSource.d.ts +44 -0
  25. package/dist/handlers/class/handleUpdateClassSource.d.ts.map +1 -0
  26. package/dist/handlers/class/handleUpdateClassSource.js +131 -0
  27. package/dist/handlers/class/handleValidateClass.d.ts +62 -0
  28. package/dist/handlers/class/handleValidateClass.d.ts.map +1 -0
  29. package/dist/handlers/class/handleValidateClass.js +136 -0
  30. package/dist/handlers/class/readonly/handleGetClass.d.ts +20 -0
  31. package/dist/handlers/class/readonly/handleGetClass.d.ts.map +1 -0
  32. package/dist/handlers/class/readonly/handleGetClass.js +159 -0
  33. package/dist/handlers/common/handleActivateObject.d.ts +62 -0
  34. package/dist/handlers/common/handleActivateObject.d.ts.map +1 -0
  35. package/dist/handlers/common/handleActivateObject.js +137 -0
  36. package/dist/handlers/common/handleCheckObject.d.ts +63 -0
  37. package/dist/handlers/common/handleCheckObject.d.ts.map +1 -0
  38. package/dist/handlers/common/handleCheckObject.js +197 -0
  39. package/dist/handlers/common/handleDeleteObject.d.ts +46 -0
  40. package/dist/handlers/common/handleDeleteObject.d.ts.map +1 -0
  41. package/dist/handlers/common/handleDeleteObject.js +176 -0
  42. package/dist/handlers/common/handleLockObject.d.ts +57 -0
  43. package/dist/handlers/common/handleLockObject.d.ts.map +1 -0
  44. package/dist/handlers/common/handleLockObject.js +195 -0
  45. package/dist/handlers/common/handleUnlockObject.d.ts +61 -0
  46. package/dist/handlers/common/handleUnlockObject.d.ts.map +1 -0
  47. package/dist/handlers/common/handleUnlockObject.js +178 -0
  48. package/dist/handlers/common/handleValidateObject.d.ts +58 -0
  49. package/dist/handlers/common/handleValidateObject.d.ts.map +1 -0
  50. package/dist/handlers/common/handleValidateObject.js +177 -0
  51. package/dist/handlers/data_element/handleCreateDataElement.d.ts +83 -0
  52. package/dist/handlers/data_element/handleCreateDataElement.d.ts.map +1 -0
  53. package/dist/handlers/data_element/handleCreateDataElement.js +180 -0
  54. package/dist/handlers/data_element/handleGetDataElement.d.ts +29 -0
  55. package/dist/handlers/data_element/handleGetDataElement.d.ts.map +1 -0
  56. package/dist/handlers/data_element/handleGetDataElement.js +173 -0
  57. package/dist/handlers/data_element/handleUpdateDataElement.d.ts +131 -0
  58. package/dist/handlers/data_element/handleUpdateDataElement.d.ts.map +1 -0
  59. package/dist/handlers/data_element/handleUpdateDataElement.js +258 -0
  60. package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts +33 -0
  61. package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts.map +1 -0
  62. package/dist/handlers/data_element/readonly/handleGetDataElement.js +173 -0
  63. package/dist/handlers/ddlx/handleCreateMetadataExtension.d.ts +41 -0
  64. package/dist/handlers/ddlx/handleCreateMetadataExtension.d.ts.map +1 -0
  65. package/dist/handlers/ddlx/handleCreateMetadataExtension.js +92 -0
  66. package/dist/handlers/ddlx/handleUpdateMetadataExtension.d.ts +37 -0
  67. package/dist/handlers/ddlx/handleUpdateMetadataExtension.d.ts.map +1 -0
  68. package/dist/handlers/ddlx/handleUpdateMetadataExtension.js +81 -0
  69. package/dist/handlers/domain/handleCreateDomain.d.ts +104 -0
  70. package/dist/handlers/domain/handleCreateDomain.d.ts.map +1 -0
  71. package/dist/handlers/domain/handleCreateDomain.js +187 -0
  72. package/dist/handlers/domain/handleGetDomain.d.ts +19 -0
  73. package/dist/handlers/domain/handleGetDomain.d.ts.map +1 -0
  74. package/dist/handlers/domain/handleGetDomain.js +138 -0
  75. package/dist/handlers/domain/handleUpdateDomain.d.ts +99 -0
  76. package/dist/handlers/domain/handleUpdateDomain.d.ts.map +1 -0
  77. package/dist/handlers/domain/handleUpdateDomain.js +204 -0
  78. package/dist/handlers/domain/readonly/handleGetDomain.d.ts +23 -0
  79. package/dist/handlers/domain/readonly/handleGetDomain.d.ts.map +1 -0
  80. package/dist/handlers/domain/readonly/handleGetDomain.js +138 -0
  81. package/dist/handlers/enhancement/handleGetEnhancementImpl.d.ts +69 -0
  82. package/dist/handlers/enhancement/handleGetEnhancementImpl.d.ts.map +1 -0
  83. package/dist/handlers/enhancement/handleGetEnhancementImpl.js +171 -0
  84. package/dist/handlers/enhancement/handleGetEnhancementSpot.d.ts +53 -0
  85. package/dist/handlers/enhancement/handleGetEnhancementSpot.d.ts.map +1 -0
  86. package/dist/handlers/enhancement/handleGetEnhancementSpot.js +153 -0
  87. package/dist/handlers/enhancement/handleGetEnhancements.d.ts +64 -0
  88. package/dist/handlers/enhancement/handleGetEnhancements.d.ts.map +1 -0
  89. package/dist/handlers/enhancement/handleGetEnhancements.js +599 -0
  90. package/dist/handlers/function/handleCheckFunctionModule.d.ts +59 -0
  91. package/dist/handlers/function/handleCheckFunctionModule.d.ts.map +1 -0
  92. package/dist/handlers/function/handleCheckFunctionModule.js +140 -0
  93. package/dist/handlers/function/handleCreateFunctionGroup.d.ts +52 -0
  94. package/dist/handlers/function/handleCreateFunctionGroup.d.ts.map +1 -0
  95. package/dist/handlers/function/handleCreateFunctionGroup.js +114 -0
  96. package/dist/handlers/function/handleCreateFunctionModule.d.ts +57 -0
  97. package/dist/handlers/function/handleCreateFunctionModule.d.ts.map +1 -0
  98. package/dist/handlers/function/handleCreateFunctionModule.js +137 -0
  99. package/dist/handlers/function/handleGetFunction.d.ts +17 -0
  100. package/dist/handlers/function/handleGetFunction.d.ts.map +1 -0
  101. package/dist/handlers/function/handleGetFunction.js +172 -0
  102. package/dist/handlers/function/handleGetFunctionGroup.d.ts +16 -0
  103. package/dist/handlers/function/handleGetFunctionGroup.d.ts.map +1 -0
  104. package/dist/handlers/function/handleGetFunctionGroup.js +132 -0
  105. package/dist/handlers/function/handleUpdateFunctionModuleSource.d.ts +54 -0
  106. package/dist/handlers/function/handleUpdateFunctionModuleSource.d.ts.map +1 -0
  107. package/dist/handlers/function/handleUpdateFunctionModuleSource.js +108 -0
  108. package/dist/handlers/function/handleValidateFunctionModule.d.ts +58 -0
  109. package/dist/handlers/function/handleValidateFunctionModule.d.ts.map +1 -0
  110. package/dist/handlers/function/handleValidateFunctionModule.js +132 -0
  111. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts +16 -0
  112. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts.map +1 -0
  113. package/dist/handlers/function/readonly/handleGetFunctionGroup.js +132 -0
  114. package/dist/handlers/include/handleGetInclude.d.ts +16 -0
  115. package/dist/handlers/include/handleGetInclude.d.ts.map +1 -0
  116. package/dist/handlers/include/handleGetInclude.js +81 -0
  117. package/dist/handlers/include/handleGetIncludesList.d.ts +36 -0
  118. package/dist/handlers/include/handleGetIncludesList.d.ts.map +1 -0
  119. package/dist/handlers/include/handleGetIncludesList.js +223 -0
  120. package/dist/handlers/interface/handleCreateInterface.d.ts +64 -0
  121. package/dist/handlers/interface/handleCreateInterface.d.ts.map +1 -0
  122. package/dist/handlers/interface/handleCreateInterface.js +175 -0
  123. package/dist/handlers/interface/handleGetInterface.d.ts +40 -0
  124. package/dist/handlers/interface/handleGetInterface.d.ts.map +1 -0
  125. package/dist/handlers/interface/handleGetInterface.js +134 -0
  126. package/dist/handlers/interface/handleUpdateInterfaceSource.d.ts +48 -0
  127. package/dist/handlers/interface/handleUpdateInterfaceSource.d.ts.map +1 -0
  128. package/dist/handlers/interface/handleUpdateInterfaceSource.js +127 -0
  129. package/dist/handlers/interface/readonly/handleGetInterface.d.ts +44 -0
  130. package/dist/handlers/interface/readonly/handleGetInterface.d.ts.map +1 -0
  131. package/dist/handlers/interface/readonly/handleGetInterface.js +134 -0
  132. package/dist/handlers/package/handleCreatePackage.d.ts +38 -0
  133. package/dist/handlers/package/handleCreatePackage.d.ts.map +1 -0
  134. package/dist/handlers/package/handleCreatePackage.js +127 -0
  135. package/dist/handlers/package/handleGetPackage.d.ts +16 -0
  136. package/dist/handlers/package/handleGetPackage.d.ts.map +1 -0
  137. package/dist/handlers/package/handleGetPackage.js +94 -0
  138. package/dist/handlers/package/readonly/handleGetPackage.d.ts +21 -0
  139. package/dist/handlers/package/readonly/handleGetPackage.d.ts.map +1 -0
  140. package/dist/handlers/package/readonly/handleGetPackage.js +94 -0
  141. package/dist/handlers/program/handleCreateProgram.d.ts +73 -0
  142. package/dist/handlers/program/handleCreateProgram.d.ts.map +1 -0
  143. package/dist/handlers/program/handleCreateProgram.js +220 -0
  144. package/dist/handlers/program/handleGetProgFullCode.d.ts +67 -0
  145. package/dist/handlers/program/handleGetProgFullCode.d.ts.map +1 -0
  146. package/dist/handlers/program/handleGetProgFullCode.js +249 -0
  147. package/dist/handlers/program/handleGetProgram.d.ts +16 -0
  148. package/dist/handlers/program/handleGetProgram.d.ts.map +1 -0
  149. package/dist/handlers/program/handleGetProgram.js +71 -0
  150. package/dist/handlers/program/handleUpdateProgramSource.d.ts +44 -0
  151. package/dist/handlers/program/handleUpdateProgramSource.d.ts.map +1 -0
  152. package/dist/handlers/program/handleUpdateProgramSource.js +121 -0
  153. package/dist/handlers/program/readonly/handleGetProgram.d.ts +20 -0
  154. package/dist/handlers/program/readonly/handleGetProgram.d.ts.map +1 -0
  155. package/dist/handlers/program/readonly/handleGetProgram.js +71 -0
  156. package/dist/handlers/search/handleGetObjectsByType.d.ts +42 -0
  157. package/dist/handlers/search/handleGetObjectsByType.d.ts.map +1 -0
  158. package/dist/handlers/search/handleGetObjectsByType.js +166 -0
  159. package/dist/handlers/search/handleGetObjectsList.d.ts +46 -0
  160. package/dist/handlers/search/handleGetObjectsList.d.ts.map +1 -0
  161. package/dist/handlers/search/handleGetObjectsList.js +145 -0
  162. package/dist/handlers/search/handleSearchObject.d.ts +28 -0
  163. package/dist/handlers/search/handleSearchObject.d.ts.map +1 -0
  164. package/dist/handlers/search/handleSearchObject.js +119 -0
  165. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts +17 -0
  166. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts.map +1 -0
  167. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js +136 -0
  168. package/dist/handlers/structure/handleCreateStructure.d.ts +107 -0
  169. package/dist/handlers/structure/handleCreateStructure.d.ts.map +1 -0
  170. package/dist/handlers/structure/handleCreateStructure.js +184 -0
  171. package/dist/handlers/structure/handleGetStructure.d.ts +16 -0
  172. package/dist/handlers/structure/handleGetStructure.d.ts.map +1 -0
  173. package/dist/handlers/structure/handleGetStructure.js +139 -0
  174. package/dist/handlers/structure/readonly/handleGetStructure.d.ts +16 -0
  175. package/dist/handlers/structure/readonly/handleGetStructure.d.ts.map +1 -0
  176. package/dist/handlers/structure/readonly/handleGetStructure.js +139 -0
  177. package/dist/handlers/system/handleDescribeByList.d.ts +36 -0
  178. package/dist/handlers/system/handleDescribeByList.d.ts.map +1 -0
  179. package/dist/handlers/system/handleDescribeByList.js +121 -0
  180. package/dist/handlers/system/handleGetAbapAST.d.ts +26 -0
  181. package/dist/handlers/system/handleGetAbapAST.d.ts.map +1 -0
  182. package/dist/handlers/system/handleGetAbapAST.js +172 -0
  183. package/dist/handlers/system/handleGetAbapSemanticAnalysis.d.ts +26 -0
  184. package/dist/handlers/system/handleGetAbapSemanticAnalysis.d.ts.map +1 -0
  185. package/dist/handlers/system/handleGetAbapSemanticAnalysis.js +353 -0
  186. package/dist/handlers/system/handleGetAbapSystemSymbols.d.ts +26 -0
  187. package/dist/handlers/system/handleGetAbapSystemSymbols.d.ts.map +1 -0
  188. package/dist/handlers/system/handleGetAbapSystemSymbols.js +574 -0
  189. package/dist/handlers/system/handleGetAllTypes.d.ts +22 -0
  190. package/dist/handlers/system/handleGetAllTypes.d.ts.map +1 -0
  191. package/dist/handlers/system/handleGetAllTypes.js +102 -0
  192. package/dist/handlers/system/handleGetInactiveObjects.d.ts +20 -0
  193. package/dist/handlers/system/handleGetInactiveObjects.d.ts.map +1 -0
  194. package/dist/handlers/system/handleGetInactiveObjects.js +41 -0
  195. package/dist/handlers/system/handleGetObjectInfo.d.ts +41 -0
  196. package/dist/handlers/system/handleGetObjectInfo.d.ts.map +1 -0
  197. package/dist/handlers/system/handleGetObjectInfo.js +210 -0
  198. package/dist/handlers/system/handleGetObjectNodeFromCache.d.ts +40 -0
  199. package/dist/handlers/system/handleGetObjectNodeFromCache.d.ts.map +1 -0
  200. package/dist/handlers/system/handleGetObjectNodeFromCache.js +70 -0
  201. package/dist/handlers/system/handleGetObjectStructure.d.ts +26 -0
  202. package/dist/handlers/system/handleGetObjectStructure.d.ts.map +1 -0
  203. package/dist/handlers/system/handleGetObjectStructure.js +103 -0
  204. package/dist/handlers/system/handleGetSession.d.ts +33 -0
  205. package/dist/handlers/system/handleGetSession.d.ts.map +1 -0
  206. package/dist/handlers/system/handleGetSession.js +63 -0
  207. package/dist/handlers/system/handleGetSqlQuery.d.ts +49 -0
  208. package/dist/handlers/system/handleGetSqlQuery.d.ts.map +1 -0
  209. package/dist/handlers/system/handleGetSqlQuery.js +176 -0
  210. package/dist/handlers/system/handleGetTransaction.d.ts +42 -0
  211. package/dist/handlers/system/handleGetTransaction.d.ts.map +1 -0
  212. package/dist/handlers/system/handleGetTransaction.js +91 -0
  213. package/dist/handlers/system/handleGetTypeInfo.d.ts +69 -0
  214. package/dist/handlers/system/handleGetTypeInfo.d.ts.map +1 -0
  215. package/dist/handlers/system/handleGetTypeInfo.js +169 -0
  216. package/dist/handlers/system/handleGetWhereUsed.d.ts +69 -0
  217. package/dist/handlers/system/handleGetWhereUsed.d.ts.map +1 -0
  218. package/dist/handlers/system/handleGetWhereUsed.js +405 -0
  219. package/dist/handlers/table/handleCheckTable.d.ts +55 -0
  220. package/dist/handlers/table/handleCheckTable.d.ts.map +1 -0
  221. package/dist/handlers/table/handleCheckTable.js +138 -0
  222. package/dist/handlers/table/handleCreateTable.d.ts +42 -0
  223. package/dist/handlers/table/handleCreateTable.d.ts.map +1 -0
  224. package/dist/handlers/table/handleCreateTable.js +118 -0
  225. package/dist/handlers/table/handleGetTable.d.ts +16 -0
  226. package/dist/handlers/table/handleGetTable.d.ts.map +1 -0
  227. package/dist/handlers/table/handleGetTable.js +140 -0
  228. package/dist/handlers/table/handleGetTableContents.d.ts +56 -0
  229. package/dist/handlers/table/handleGetTableContents.d.ts.map +1 -0
  230. package/dist/handlers/table/handleGetTableContents.js +387 -0
  231. package/dist/handlers/table/handleValidateTable.d.ts +53 -0
  232. package/dist/handlers/table/handleValidateTable.d.ts.map +1 -0
  233. package/dist/handlers/table/handleValidateTable.js +125 -0
  234. package/dist/handlers/table/readonly/handleGetTable.d.ts +20 -0
  235. package/dist/handlers/table/readonly/handleGetTable.d.ts.map +1 -0
  236. package/dist/handlers/table/readonly/handleGetTable.js +140 -0
  237. package/dist/handlers/transport/handleCreateTransport.d.ts +50 -0
  238. package/dist/handlers/transport/handleCreateTransport.d.ts.map +1 -0
  239. package/dist/handlers/transport/handleCreateTransport.js +151 -0
  240. package/dist/handlers/transport/handleGetTransport.d.ts +44 -0
  241. package/dist/handlers/transport/handleGetTransport.d.ts.map +1 -0
  242. package/dist/handlers/transport/handleGetTransport.js +183 -0
  243. package/dist/handlers/view/handleCreateView.d.ts +52 -0
  244. package/dist/handlers/view/handleCreateView.d.ts.map +1 -0
  245. package/dist/handlers/view/handleCreateView.js +139 -0
  246. package/dist/handlers/view/handleGetView.d.ts +26 -0
  247. package/dist/handlers/view/handleGetView.d.ts.map +1 -0
  248. package/dist/handlers/view/handleGetView.js +349 -0
  249. package/dist/handlers/view/handleUpdateViewSource.d.ts +44 -0
  250. package/dist/handlers/view/handleUpdateViewSource.d.ts.map +1 -0
  251. package/dist/handlers/view/handleUpdateViewSource.js +136 -0
  252. package/dist/handlers/view/readonly/handleGetView.d.ts +26 -0
  253. package/dist/handlers/view/readonly/handleGetView.d.ts.map +1 -0
  254. package/dist/handlers/view/readonly/handleGetView.js +349 -0
  255. package/dist/index.d.ts +94 -0
  256. package/dist/index.d.ts.map +1 -0
  257. package/dist/index.js +2453 -0
  258. package/dist/lib/activationUtils.d.ts +59 -0
  259. package/dist/lib/activationUtils.d.ts.map +1 -0
  260. package/dist/lib/activationUtils.js +168 -0
  261. package/dist/lib/config/ArgumentsParser.d.ts +2 -0
  262. package/dist/lib/config/ArgumentsParser.d.ts.map +1 -1
  263. package/dist/lib/config/ArgumentsParser.js +11 -1
  264. package/dist/lib/config/ArgumentsParser.js.map +1 -1
  265. package/dist/lib/config/IServerConfig.d.ts +2 -0
  266. package/dist/lib/config/IServerConfig.d.ts.map +1 -1
  267. package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
  268. package/dist/lib/config/ServerConfigManager.js +3 -0
  269. package/dist/lib/config/ServerConfigManager.js.map +1 -1
  270. package/dist/lib/getFullCodeCache.d.ts +3 -0
  271. package/dist/lib/getFullCodeCache.d.ts.map +1 -0
  272. package/dist/lib/getFullCodeCache.js +56 -0
  273. package/dist/lib/toolsRegistry.d.ts +13 -0
  274. package/dist/lib/toolsRegistry.d.ts.map +1 -0
  275. package/dist/lib/toolsRegistry.js +410 -0
  276. package/dist/server/AuthBrokerConfig.d.ts.map +1 -1
  277. package/dist/server/AuthBrokerConfig.js +14 -9
  278. package/dist/server/AuthBrokerConfig.js.map +1 -1
  279. package/dist/server/BaseMcpServer.d.ts.map +1 -1
  280. package/dist/server/BaseMcpServer.js +6 -0
  281. package/dist/server/BaseMcpServer.js.map +1 -1
  282. package/dist/server/launcher.js +4 -4
  283. package/dist/server/launcher.js.map +1 -1
  284. package/dist/utils/lockStateManager.d.ts +64 -0
  285. package/dist/utils/lockStateManager.d.ts.map +1 -0
  286. package/dist/utils/lockStateManager.js +173 -0
  287. package/dist/utils/lockStateManager.js.map +1 -0
  288. package/docs/user-guide/AUTHENTICATION.md +7 -0
  289. package/docs/user-guide/CLI_OPTIONS.md +14 -0
  290. package/package.json +2 -1
  291. package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts +0 -44
  292. package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts.map +0 -1
  293. package/dist/handlers/service_binding/high/handleListServiceBindings.js +0 -211
  294. package/dist/handlers/service_binding/high/handleListServiceBindings.js.map +0 -1
  295. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts +0 -11
  296. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts.map +0 -1
  297. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js +0 -27
  298. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js.map +0 -1
  299. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.d.ts +0 -27
  300. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.d.ts.map +0 -1
  301. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.js +0 -47
  302. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.js.map +0 -1
  303. package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts +0 -8
  304. package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts.map +0 -1
  305. package/dist/handlers/system/readonly/runtimeDumpReadCompat.js +0 -55
  306. package/dist/handlers/system/readonly/runtimeDumpReadCompat.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * ActivateObject Handler - Universal ABAP Object Activation via ADT API
4
+ *
5
+ * Uses activateObjectsGroup and parseActivationResponse from @mcp-abap-adt/adt-clients/core for all operations.
6
+ * Connection management handled internally.
7
+ *
8
+ * Activates one or multiple ABAP repository objects using ADT activation endpoint.
9
+ * This is a stateless operation - no session management or locking required.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TOOL_DEFINITION = void 0;
13
+ exports.handleActivateObject = handleActivateObject;
14
+ const utils_1 = require("../../lib/utils");
15
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
16
+ exports.TOOL_DEFINITION = {
17
+ name: "ActivateObject",
18
+ description: "Activate one or multiple ABAP repository objects. Works with any object type: classes, programs, tables, views, domains, data elements, etc. URI is auto-generated from name and type. Returns activation status and any warnings/errors.",
19
+ inputSchema: {
20
+ type: "object",
21
+ properties: {
22
+ objects: {
23
+ type: "array",
24
+ description: "Array of objects to activate. Each object must have 'name' and 'type'. URI is auto-generated.",
25
+ items: {
26
+ type: "object",
27
+ properties: {
28
+ name: {
29
+ type: "string",
30
+ description: "Object name in uppercase (e.g., 'ZCL_MY_CLASS', 'Z_MY_PROGRAM', 'ZOK_I_MARKET_0001')"
31
+ },
32
+ type: {
33
+ type: "string",
34
+ description: "Object type code (e.g., 'CLAS/OC', 'PROG/P', 'DDLS/DF', 'TABL/DT'). URI will be auto-generated from this."
35
+ },
36
+ uri: {
37
+ type: "string",
38
+ description: "Optional: Object URI in ADT format. If not provided, will be auto-generated from name and type."
39
+ }
40
+ },
41
+ required: ["name", "type"]
42
+ }
43
+ },
44
+ preaudit: {
45
+ type: "boolean",
46
+ description: "Request pre-audit before activation. Default: true"
47
+ }
48
+ },
49
+ required: ["objects"]
50
+ }
51
+ };
52
+ /**
53
+ * Main handler for ActivateObject MCP tool
54
+ *
55
+ * Uses activateObjectsGroup and parseActivationResponse from @mcp-abap-adt/adt-clients/core for all operations
56
+ * Connection management handled internally
57
+ *
58
+ * This is a stateless operation - no session management needed.
59
+ * Activation endpoint handles multiple objects in one request.
60
+ */
61
+ async function handleActivateObject(params) {
62
+ try {
63
+ const args = params;
64
+ // Validate required parameters
65
+ if (!args.objects || !Array.isArray(args.objects) || args.objects.length === 0) {
66
+ return (0, utils_1.return_error)(new Error("Missing required parameter: objects (must be non-empty array)"));
67
+ }
68
+ // Validate each object has required properties
69
+ for (const obj of args.objects) {
70
+ if (!obj.name) {
71
+ return (0, utils_1.return_error)(new Error("Each object must have 'name' property"));
72
+ }
73
+ if (!obj.uri && !obj.type) {
74
+ utils_1.logger.warn(`Object ${obj.name} has no URI or type, will attempt to guess from name`);
75
+ }
76
+ }
77
+ const connection = (0, utils_1.getManagedConnection)();
78
+ const preaudit = args.preaudit !== false; // Default: true
79
+ const client = new adt_clients_1.CrudClient(connection);
80
+ utils_1.logger.info(`Starting activation of ${args.objects.length} object(s)`);
81
+ try {
82
+ // Prepare objects for group activation
83
+ const activationObjects = args.objects.map(obj => ({
84
+ type: obj.type,
85
+ name: obj.name.toUpperCase()
86
+ }));
87
+ utils_1.logger.debug('Activating objects:', activationObjects);
88
+ // Make group activation request using CrudClient
89
+ const response = await client.activateObjectsGroup(activationObjects, preaudit);
90
+ // Debug: log raw response
91
+ utils_1.logger.debug('Activation response status:', response.status);
92
+ utils_1.logger.debug('Activation response data:', typeof response.data === 'string' ? response.data.substring(0, 500) : response.data);
93
+ // Parse response
94
+ const activationResult = client.parseActivationResponse(response.data);
95
+ const success = activationResult.activated && activationResult.checked;
96
+ // Build result object
97
+ const result = {
98
+ success,
99
+ objects_count: args.objects.length,
100
+ objects: activationObjects.map((obj, idx) => ({
101
+ name: obj.name,
102
+ uri: args.objects[idx].uri,
103
+ type: args.objects[idx].type
104
+ })),
105
+ activation: {
106
+ activated: activationResult.activated,
107
+ checked: activationResult.checked,
108
+ generated: activationResult.generated
109
+ },
110
+ messages: activationResult.messages,
111
+ warnings: activationResult.messages.filter(m => m.type === 'warning' || m.type === 'W'),
112
+ errors: activationResult.messages.filter(m => m.type === 'error' || m.type === 'E'),
113
+ message: success
114
+ ? `Successfully activated ${args.objects.length} object(s)`
115
+ : `Activation completed with issues: ${activationResult.messages.length} message(s)`
116
+ };
117
+ utils_1.logger.info(`Activation completed: ${success ? 'SUCCESS' : 'WITH ISSUES'}`);
118
+ return (0, utils_1.return_response)({
119
+ data: JSON.stringify(result, null, 2),
120
+ status: 200,
121
+ statusText: 'OK',
122
+ headers: {},
123
+ config: {}
124
+ });
125
+ }
126
+ catch (error) {
127
+ const errorMessage = error.response?.data
128
+ ? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
129
+ : error.message || String(error);
130
+ utils_1.logger.error(`Activation failed:`, errorMessage);
131
+ return (0, utils_1.return_error)(new Error(`Failed to activate objects: ${errorMessage}`));
132
+ }
133
+ }
134
+ catch (error) {
135
+ return (0, utils_1.return_error)(error);
136
+ }
137
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * CheckObject Handler - Syntax check for ABAP objects via ADT API
3
+ *
4
+ * Uses runCheckRun and parseCheckRunResponse from @mcp-abap-adt/adt-clients/core for all operations.
5
+ * Connection management handled internally.
6
+ */
7
+ export declare const TOOL_DEFINITION: {
8
+ readonly name: "CheckObject";
9
+ readonly description: "Perform syntax check on an ABAP object without activation. Returns syntax errors, warnings, and messages. Useful for validation during development. Can use session_id and session_state from GetSession to maintain the same session.";
10
+ readonly inputSchema: {
11
+ readonly type: "object";
12
+ readonly properties: {
13
+ readonly object_name: {
14
+ readonly type: "string";
15
+ readonly description: "Object name (e.g., ZCL_MY_CLASS, Z_MY_PROGRAM, ZIF_MY_INTERFACE)";
16
+ };
17
+ readonly object_type: {
18
+ readonly type: "string";
19
+ readonly description: "Object type: 'class', 'program', 'interface', 'function_group', 'table', 'structure', 'view', 'domain', 'data_element', 'behavior_definition', 'metadata_extension'";
20
+ readonly enum: readonly ["class", "program", "interface", "function_group", "table", "structure", "view", "domain", "data_element", "behavior_definition", "metadata_extension"];
21
+ };
22
+ readonly version: {
23
+ readonly type: "string";
24
+ readonly description: "Version to check: 'active' (last activated) or 'inactive' (current unsaved). Default: active";
25
+ readonly enum: readonly ["active", "inactive"];
26
+ };
27
+ readonly session_id: {
28
+ readonly type: "string";
29
+ readonly description: "Session ID from GetSession. If not provided, a new session will be created.";
30
+ };
31
+ readonly session_state: {
32
+ readonly type: "object";
33
+ readonly description: "Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.";
34
+ readonly properties: {
35
+ readonly cookies: {
36
+ readonly type: "string";
37
+ };
38
+ readonly csrf_token: {
39
+ readonly type: "string";
40
+ };
41
+ readonly cookie_store: {
42
+ readonly type: "object";
43
+ };
44
+ };
45
+ };
46
+ };
47
+ readonly required: readonly ["object_name", "object_type"];
48
+ };
49
+ };
50
+ /**
51
+ * Main handler for CheckObject MCP tool
52
+ *
53
+ * Uses runCheckRun and parseCheckRunResponse from @mcp-abap-adt/adt-clients/core for all operations
54
+ * Connection management handled internally
55
+ */
56
+ export declare function handleCheckObject(args: any): Promise<{
57
+ isError: boolean;
58
+ content: {
59
+ type: string;
60
+ text: any;
61
+ }[];
62
+ }>;
63
+ //# sourceMappingURL=handleCheckObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCheckObject.d.ts","sourceRoot":"","sources":["../../../src/handlers/common/handleCheckObject.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoClB,CAAC;AAeX;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,GAAG;;;;;;GA+JhD"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ /**
3
+ * CheckObject Handler - Syntax check for ABAP objects via ADT API
4
+ *
5
+ * Uses runCheckRun and parseCheckRunResponse from @mcp-abap-adt/adt-clients/core for all operations.
6
+ * Connection management handled internally.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TOOL_DEFINITION = void 0;
10
+ exports.handleCheckObject = handleCheckObject;
11
+ const utils_1 = require("../../lib/utils");
12
+ const fast_xml_parser_1 = require("fast-xml-parser");
13
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
14
+ const checkRunParser_1 = require("../../lib/checkRunParser");
15
+ exports.TOOL_DEFINITION = {
16
+ name: "CheckObject",
17
+ description: "Perform syntax check on an ABAP object without activation. Returns syntax errors, warnings, and messages. Useful for validation during development. Can use session_id and session_state from GetSession to maintain the same session.",
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ object_name: {
22
+ type: "string",
23
+ description: "Object name (e.g., ZCL_MY_CLASS, Z_MY_PROGRAM, ZIF_MY_INTERFACE)"
24
+ },
25
+ object_type: {
26
+ type: "string",
27
+ description: "Object type: 'class', 'program', 'interface', 'function_group', 'table', 'structure', 'view', 'domain', 'data_element', 'behavior_definition', 'metadata_extension'",
28
+ enum: ["class", "program", "interface", "function_group", "table", "structure", "view", "domain", "data_element", "behavior_definition", "metadata_extension"]
29
+ },
30
+ version: {
31
+ type: "string",
32
+ description: "Version to check: 'active' (last activated) or 'inactive' (current unsaved). Default: active",
33
+ enum: ["active", "inactive"]
34
+ },
35
+ session_id: {
36
+ type: "string",
37
+ description: "Session ID from GetSession. If not provided, a new session will be created."
38
+ },
39
+ session_state: {
40
+ type: "object",
41
+ description: "Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.",
42
+ properties: {
43
+ cookies: { type: "string" },
44
+ csrf_token: { type: "string" },
45
+ cookie_store: { type: "object" }
46
+ }
47
+ }
48
+ },
49
+ required: ["object_name", "object_type"]
50
+ }
51
+ };
52
+ /**
53
+ * Main handler for CheckObject MCP tool
54
+ *
55
+ * Uses runCheckRun and parseCheckRunResponse from @mcp-abap-adt/adt-clients/core for all operations
56
+ * Connection management handled internally
57
+ */
58
+ async function handleCheckObject(args) {
59
+ try {
60
+ const { object_name, object_type, version = 'active', session_id, session_state } = args;
61
+ // Validation
62
+ if (!object_name || !object_type) {
63
+ return (0, utils_1.return_error)(new Error('object_name and object_type are required'));
64
+ }
65
+ const validTypes = ['class', 'program', 'interface', 'function_group', 'table', 'structure', 'view', 'domain', 'data_element', 'behavior_definition', 'metadata_extension'];
66
+ if (!validTypes.includes(object_type.toLowerCase())) {
67
+ return (0, utils_1.return_error)(new Error(`Invalid object_type. Must be one of: ${validTypes.join(', ')}`));
68
+ }
69
+ const checkVersion = (version && ['active', 'inactive'].includes(version.toLowerCase()))
70
+ ? version.toLowerCase()
71
+ : 'active';
72
+ const connection = (0, utils_1.getManagedConnection)();
73
+ // Restore session state if provided
74
+ if (session_id && session_state) {
75
+ connection.setSessionState({
76
+ cookies: session_state.cookies || null,
77
+ csrfToken: session_state.csrf_token || null,
78
+ cookieStore: session_state.cookie_store || {}
79
+ });
80
+ }
81
+ else {
82
+ // Ensure connection is established
83
+ await connection.connect();
84
+ }
85
+ const objectName = object_name.toUpperCase();
86
+ utils_1.logger.info(`Starting object check: ${objectName} (type: ${object_type}, version: ${checkVersion})`);
87
+ try {
88
+ const client = new adt_clients_1.CrudClient(connection);
89
+ let response;
90
+ // Call appropriate check method based on object type
91
+ switch (object_type.toLowerCase()) {
92
+ case 'class':
93
+ await client.checkClass(objectName);
94
+ response = client.getCheckResult();
95
+ break;
96
+ case 'program':
97
+ await client.checkProgram(objectName);
98
+ response = client.getCheckResult();
99
+ break;
100
+ case 'interface':
101
+ await client.checkInterface(objectName);
102
+ response = client.getCheckResult();
103
+ break;
104
+ case 'function_group':
105
+ await client.checkFunctionGroup(objectName);
106
+ response = client.getCheckResult();
107
+ break;
108
+ case 'table':
109
+ await client.checkTable(objectName);
110
+ response = client.getCheckResult();
111
+ break;
112
+ case 'structure':
113
+ await client.checkStructure(objectName);
114
+ response = client.getCheckResult();
115
+ break;
116
+ case 'view':
117
+ await client.checkView(objectName);
118
+ response = client.getCheckResult();
119
+ break;
120
+ case 'domain':
121
+ await client.checkDomain(objectName);
122
+ response = client.getCheckResult();
123
+ break;
124
+ case 'data_element':
125
+ await client.checkDataElement(objectName);
126
+ response = client.getCheckResult();
127
+ break;
128
+ case 'behavior_definition':
129
+ await client.checkBehaviorDefinition(objectName, checkVersion);
130
+ response = client.getCheckResult();
131
+ break;
132
+ case 'metadata_extension':
133
+ await client.checkMetadataExtension(objectName, checkVersion);
134
+ response = client.getCheckResult();
135
+ break;
136
+ default:
137
+ return (0, utils_1.return_error)(new Error(`Unsupported object_type: ${object_type}`));
138
+ }
139
+ if (!response) {
140
+ throw new Error(`Check did not return a response for object ${objectName}`);
141
+ }
142
+ // Parse check results
143
+ const checkResult = (0, checkRunParser_1.parseCheckRunResponse)(response);
144
+ // Get updated session state after check
145
+ const updatedSessionState = connection.getSessionState();
146
+ utils_1.logger.info(`✅ CheckObject completed: ${objectName}`);
147
+ utils_1.logger.info(` Status: ${checkResult.status}`);
148
+ utils_1.logger.info(` Errors: ${checkResult.errors.length}, Warnings: ${checkResult.warnings.length}`);
149
+ return (0, utils_1.return_response)({
150
+ data: JSON.stringify({
151
+ success: checkResult.success,
152
+ object_name: objectName,
153
+ object_type,
154
+ version: checkVersion,
155
+ check_result: checkResult,
156
+ session_id: session_id || null,
157
+ session_state: updatedSessionState ? {
158
+ cookies: updatedSessionState.cookies,
159
+ csrf_token: updatedSessionState.csrfToken,
160
+ cookie_store: updatedSessionState.cookieStore
161
+ } : null,
162
+ message: checkResult.success
163
+ ? `Object ${objectName} has no syntax errors`
164
+ : `Object ${objectName} has ${checkResult.errors.length} error(s) and ${checkResult.warnings.length} warning(s)`
165
+ }, null, 2)
166
+ });
167
+ }
168
+ catch (error) {
169
+ utils_1.logger.error(`Error checking object ${objectName}:`, error);
170
+ // Parse error message
171
+ let errorMessage = `Failed to check object: ${error.message || String(error)}`;
172
+ if (error.response?.status === 404) {
173
+ errorMessage = `Object ${objectName} not found.`;
174
+ }
175
+ else if (error.response?.data && typeof error.response.data === 'string') {
176
+ try {
177
+ const parser = new fast_xml_parser_1.XMLParser({
178
+ ignoreAttributes: false,
179
+ attributeNamePrefix: '@_'
180
+ });
181
+ const errorData = parser.parse(error.response.data);
182
+ const errorMsg = errorData['exc:exception']?.message?.['#text'] || errorData['exc:exception']?.message;
183
+ if (errorMsg) {
184
+ errorMessage = `SAP Error: ${errorMsg}`;
185
+ }
186
+ }
187
+ catch (parseError) {
188
+ // Ignore parse errors
189
+ }
190
+ }
191
+ return (0, utils_1.return_error)(new Error(errorMessage));
192
+ }
193
+ }
194
+ catch (error) {
195
+ return (0, utils_1.return_error)(error);
196
+ }
197
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * DeleteObject Handler - Delete ABAP objects via ADT API
3
+ *
4
+ * Uses deleteObject function from @mcp-abap-adt/adt-clients for all operations.
5
+ * Connection management handled internally.
6
+ */
7
+ export declare const TOOL_DEFINITION: {
8
+ readonly name: "DeleteObject";
9
+ readonly description: "Delete an ABAP object from the SAP system via ADT deletion API. Object URI is built automatically from object_name and object_type. Transport request optional for $TMP objects.";
10
+ readonly inputSchema: {
11
+ readonly type: "object";
12
+ readonly properties: {
13
+ readonly object_name: {
14
+ readonly type: "string";
15
+ readonly description: "Object name (e.g., ZCL_MY_CLASS, Z_MY_PROGRAM, Z_TEST_FM_MCP01)";
16
+ };
17
+ readonly object_type: {
18
+ readonly type: "string";
19
+ readonly description: "Object type: 'CLAS/OC' (class), 'PROG/P' (program), 'INTF/OI' (interface), 'FUGR/F' (function group), 'FUGR/FF' (function module), 'TABL/DT' (table), 'TTYP/ST' (structure), 'DDLS/DF' (view), 'DTEL/DE' (data element), 'DOMA/DM' (domain), 'BDEF/BD' (behavior definition), 'DDLX/EX' (metadata extension). Or simplified: 'class', 'program', 'interface', 'function_group', 'function_module', 'table', 'structure', 'view', 'domain', 'data_element', 'behavior_definition', 'metadata_extension'";
20
+ };
21
+ readonly function_group_name: {
22
+ readonly type: "string";
23
+ readonly description: "Required only for function_module type - name of the function group containing the module";
24
+ };
25
+ readonly transport_request: {
26
+ readonly type: "string";
27
+ readonly description: "Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).";
28
+ };
29
+ };
30
+ readonly required: readonly ["object_name", "object_type"];
31
+ };
32
+ };
33
+ /**
34
+ * Main handler for DeleteObject MCP tool
35
+ *
36
+ * Uses deleteObject function from @mcp-abap-adt/adt-clients for all operations
37
+ * Connection management handled internally
38
+ */
39
+ export declare function handleDeleteObject(args: any): Promise<{
40
+ isError: boolean;
41
+ content: {
42
+ type: string;
43
+ text: any;
44
+ }[];
45
+ }>;
46
+ //# sourceMappingURL=handleDeleteObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDeleteObject.d.ts","sourceRoot":"","sources":["../../../src/handlers/common/handleDeleteObject.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AAUX;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;GA8IjD"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * DeleteObject Handler - Delete ABAP objects via ADT API
4
+ *
5
+ * Uses deleteObject function from @mcp-abap-adt/adt-clients for all operations.
6
+ * Connection management handled internally.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TOOL_DEFINITION = void 0;
10
+ exports.handleDeleteObject = handleDeleteObject;
11
+ const utils_1 = require("../../lib/utils");
12
+ const fast_xml_parser_1 = require("fast-xml-parser");
13
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
14
+ exports.TOOL_DEFINITION = {
15
+ name: "DeleteObject",
16
+ description: "Delete an ABAP object from the SAP system via ADT deletion API. Object URI is built automatically from object_name and object_type. Transport request optional for $TMP objects.",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {
20
+ object_name: {
21
+ type: "string",
22
+ description: "Object name (e.g., ZCL_MY_CLASS, Z_MY_PROGRAM, Z_TEST_FM_MCP01)"
23
+ },
24
+ object_type: {
25
+ type: "string",
26
+ description: "Object type: 'CLAS/OC' (class), 'PROG/P' (program), 'INTF/OI' (interface), 'FUGR/F' (function group), 'FUGR/FF' (function module), 'TABL/DT' (table), 'TTYP/ST' (structure), 'DDLS/DF' (view), 'DTEL/DE' (data element), 'DOMA/DM' (domain), 'BDEF/BD' (behavior definition), 'DDLX/EX' (metadata extension). Or simplified: 'class', 'program', 'interface', 'function_group', 'function_module', 'table', 'structure', 'view', 'domain', 'data_element', 'behavior_definition', 'metadata_extension'"
27
+ },
28
+ function_group_name: {
29
+ type: "string",
30
+ description: "Required only for function_module type - name of the function group containing the module"
31
+ },
32
+ transport_request: {
33
+ type: "string",
34
+ description: "Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP)."
35
+ }
36
+ },
37
+ required: ["object_name", "object_type"]
38
+ }
39
+ };
40
+ /**
41
+ * Main handler for DeleteObject MCP tool
42
+ *
43
+ * Uses deleteObject function from @mcp-abap-adt/adt-clients for all operations
44
+ * Connection management handled internally
45
+ */
46
+ async function handleDeleteObject(args) {
47
+ try {
48
+ const { object_name, object_type, function_group_name, transport_request } = args;
49
+ // Validation
50
+ if (!object_name || !object_type) {
51
+ return (0, utils_1.return_error)(new Error('object_name and object_type are required'));
52
+ }
53
+ const connection = (0, utils_1.getManagedConnection)();
54
+ const crudClient = new adt_clients_1.CrudClient(connection);
55
+ const objectName = object_name.toUpperCase();
56
+ utils_1.logger.info(`Starting object deletion: ${objectName} (type: ${object_type})`);
57
+ try {
58
+ let response;
59
+ // Call appropriate delete method based on object type
60
+ switch (object_type.toLowerCase()) {
61
+ case 'class':
62
+ case 'clas/oc':
63
+ await crudClient.deleteClass(objectName, transport_request);
64
+ response = crudClient.getDeleteResult();
65
+ break;
66
+ case 'program':
67
+ case 'prog/p':
68
+ await crudClient.deleteProgram(objectName, transport_request);
69
+ response = crudClient.getDeleteResult();
70
+ break;
71
+ case 'interface':
72
+ case 'intf/oi':
73
+ await crudClient.deleteInterface(objectName, transport_request);
74
+ response = crudClient.getDeleteResult();
75
+ break;
76
+ case 'function_group':
77
+ case 'fugr/f':
78
+ await crudClient.deleteFunctionGroup(objectName, transport_request);
79
+ response = crudClient.getDeleteResult();
80
+ break;
81
+ case 'function_module':
82
+ case 'fugr/ff':
83
+ if (!function_group_name) {
84
+ return (0, utils_1.return_error)(new Error('function_group_name is required for function_module deletion'));
85
+ }
86
+ await crudClient.deleteFunctionModule(objectName, function_group_name, transport_request);
87
+ response = crudClient.getDeleteResult();
88
+ break;
89
+ case 'table':
90
+ case 'tabl/dt':
91
+ await crudClient.deleteTable(objectName, transport_request);
92
+ response = crudClient.getDeleteResult();
93
+ break;
94
+ case 'structure':
95
+ case 'ttyp/st':
96
+ await crudClient.deleteStructure(objectName, transport_request);
97
+ response = crudClient.getDeleteResult();
98
+ break;
99
+ case 'view':
100
+ case 'ddls/df':
101
+ await crudClient.deleteView(objectName, transport_request);
102
+ response = crudClient.getDeleteResult();
103
+ break;
104
+ case 'domain':
105
+ case 'doma/dm':
106
+ await crudClient.deleteDomain(objectName, transport_request);
107
+ response = crudClient.getDeleteResult();
108
+ break;
109
+ case 'data_element':
110
+ case 'dtel/de':
111
+ await crudClient.deleteDataElement(objectName, transport_request);
112
+ response = crudClient.getDeleteResult();
113
+ break;
114
+ case 'package':
115
+ case 'devc/k':
116
+ await crudClient.deletePackage(objectName, transport_request);
117
+ response = crudClient.getDeleteResult();
118
+ break;
119
+ case 'behavior_definition':
120
+ case 'bdef/bd':
121
+ await crudClient.deleteBehaviorDefinition(objectName, transport_request);
122
+ response = crudClient.getDeleteResult();
123
+ break;
124
+ case 'metadata_extension':
125
+ case 'ddlx/ex':
126
+ await crudClient.deleteMetadataExtension(objectName, transport_request);
127
+ response = crudClient.getDeleteResult();
128
+ break;
129
+ default:
130
+ return (0, utils_1.return_error)(new Error(`Unsupported object_type: ${object_type}`));
131
+ }
132
+ if (!response) {
133
+ throw new Error(`Delete did not return a response for object ${objectName}`);
134
+ }
135
+ utils_1.logger.info(`✅ DeleteObject completed successfully: ${objectName}`);
136
+ return (0, utils_1.return_response)({
137
+ data: JSON.stringify(response.data, null, 2)
138
+ });
139
+ }
140
+ catch (error) {
141
+ utils_1.logger.error(`Error deleting object ${objectName}:`, error);
142
+ // Parse error message for better user feedback
143
+ let errorMessage = `Failed to delete object: ${error.message || String(error)}`;
144
+ if (error.response?.status === 404) {
145
+ errorMessage = `Object ${objectName} not found. It may already be deleted.`;
146
+ }
147
+ else if (error.response?.status === 423) {
148
+ errorMessage = `Object ${objectName} is locked by another user. Cannot delete.`;
149
+ }
150
+ else if (error.response?.status === 400) {
151
+ errorMessage = `Bad request. Check if transport request is required and valid.`;
152
+ }
153
+ else if (error.response?.data && typeof error.response.data === 'string') {
154
+ // Try to parse XML error message
155
+ try {
156
+ const parser = new fast_xml_parser_1.XMLParser({
157
+ ignoreAttributes: false,
158
+ attributeNamePrefix: '@_'
159
+ });
160
+ const errorData = parser.parse(error.response.data);
161
+ const errorMsg = errorData['exc:exception']?.message?.['#text'] || errorData['exc:exception']?.message;
162
+ if (errorMsg) {
163
+ errorMessage = `SAP Error: ${errorMsg}`;
164
+ }
165
+ }
166
+ catch (parseError) {
167
+ // Ignore parse errors, use default message
168
+ }
169
+ }
170
+ return (0, utils_1.return_error)(new Error(errorMessage));
171
+ }
172
+ }
173
+ catch (error) {
174
+ return (0, utils_1.return_error)(error);
175
+ }
176
+ }