@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,92 @@
1
+ "use strict";
2
+ /**
3
+ * CreateMetadataExtension Handler - ABAP Metadata Extension Creation via ADT API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TOOL_DEFINITION = void 0;
7
+ exports.handleCreateMetadataExtension = handleCreateMetadataExtension;
8
+ const utils_1 = require("../../lib/utils");
9
+ const transportValidation_js_1 = require("../../utils/transportValidation.js");
10
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
11
+ exports.TOOL_DEFINITION = {
12
+ name: "CreateMetadataExtension",
13
+ description: "Create a new ABAP Metadata Extension (DDLX) in SAP system.",
14
+ inputSchema: {
15
+ type: "object",
16
+ properties: {
17
+ name: {
18
+ type: "string",
19
+ description: "Metadata Extension name"
20
+ },
21
+ description: {
22
+ type: "string",
23
+ description: "Description"
24
+ },
25
+ package_name: {
26
+ type: "string",
27
+ description: "Package name"
28
+ },
29
+ transport_request: {
30
+ type: "string",
31
+ description: "Transport request number"
32
+ },
33
+ activate: {
34
+ type: "boolean",
35
+ description: "Activate after creation. Default: true"
36
+ }
37
+ },
38
+ required: ["name", "package_name"]
39
+ }
40
+ };
41
+ async function handleCreateMetadataExtension(params) {
42
+ const args = params;
43
+ if (!args.name || !args.package_name) {
44
+ return (0, utils_1.return_error)(new Error("Missing required parameters"));
45
+ }
46
+ try {
47
+ (0, transportValidation_js_1.validateTransportRequest)(args.package_name, args.transport_request);
48
+ }
49
+ catch (error) {
50
+ return (0, utils_1.return_error)(error);
51
+ }
52
+ const name = args.name.toUpperCase();
53
+ const connection = (0, utils_1.getManagedConnection)();
54
+ utils_1.logger.info(`Starting DDLX creation: ${name}`);
55
+ try {
56
+ const client = new adt_clients_1.CrudClient(connection);
57
+ const shouldActivate = args.activate !== false;
58
+ // Create
59
+ await client.createMetadataExtension(name, args.description || name, args.package_name, args.transport_request || '');
60
+ // Lock
61
+ await client.lockMetadataExtension(name);
62
+ const lockHandle = client.getLockHandle();
63
+ // Check
64
+ await client.checkMetadataExtension(name);
65
+ // Unlock
66
+ await client.unlockMetadataExtension(name, lockHandle);
67
+ // Activate if requested
68
+ if (shouldActivate) {
69
+ await client.activateMetadataExtension(name);
70
+ }
71
+ const result = {
72
+ success: true,
73
+ name: name,
74
+ package_name: args.package_name,
75
+ type: 'DDLX',
76
+ message: shouldActivate
77
+ ? `Metadata Extension ${name} created and activated successfully`
78
+ : `Metadata Extension ${name} created successfully`
79
+ };
80
+ return (0, utils_1.return_response)({
81
+ data: JSON.stringify(result, null, 2),
82
+ status: 200,
83
+ statusText: 'OK',
84
+ headers: {},
85
+ config: {}
86
+ });
87
+ }
88
+ catch (error) {
89
+ utils_1.logger.error(`Error creating DDLX ${name}:`, error);
90
+ return (0, utils_1.return_error)(error);
91
+ }
92
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * UpdateMetadataExtension Handler - ABAP Metadata Extension Update via ADT API
3
+ */
4
+ export declare const TOOL_DEFINITION: {
5
+ readonly name: "UpdateMetadataExtension";
6
+ readonly description: "Update source code of an ABAP Metadata Extension.";
7
+ readonly inputSchema: {
8
+ readonly type: "object";
9
+ readonly properties: {
10
+ readonly name: {
11
+ readonly type: "string";
12
+ readonly description: "Metadata Extension name";
13
+ };
14
+ readonly source_code: {
15
+ readonly type: "string";
16
+ readonly description: "New source code";
17
+ };
18
+ readonly lock_handle: {
19
+ readonly type: "string";
20
+ readonly description: "Lock handle from LockObject. If not provided, will attempt to lock internally.";
21
+ };
22
+ readonly activate: {
23
+ readonly type: "boolean";
24
+ readonly description: "Activate after update. Default: true";
25
+ };
26
+ };
27
+ readonly required: readonly ["name", "source_code"];
28
+ };
29
+ };
30
+ export declare function handleUpdateMetadataExtension(params: any): Promise<{
31
+ isError: boolean;
32
+ content: {
33
+ type: string;
34
+ text: any;
35
+ }[];
36
+ }>;
37
+ //# sourceMappingURL=handleUpdateMetadataExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleUpdateMetadataExtension.d.ts","sourceRoot":"","sources":["../../../src/handlers/ddlx/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AASX,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,GAAG;;;;;;GAsD9D"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * UpdateMetadataExtension Handler - ABAP Metadata Extension Update via ADT API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TOOL_DEFINITION = void 0;
7
+ exports.handleUpdateMetadataExtension = handleUpdateMetadataExtension;
8
+ const utils_1 = require("../../lib/utils");
9
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
10
+ exports.TOOL_DEFINITION = {
11
+ name: "UpdateMetadataExtension",
12
+ description: "Update source code of an ABAP Metadata Extension.",
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {
16
+ name: {
17
+ type: "string",
18
+ description: "Metadata Extension name"
19
+ },
20
+ source_code: {
21
+ type: "string",
22
+ description: "New source code"
23
+ },
24
+ lock_handle: {
25
+ type: "string",
26
+ description: "Lock handle from LockObject. If not provided, will attempt to lock internally."
27
+ },
28
+ activate: {
29
+ type: "boolean",
30
+ description: "Activate after update. Default: true"
31
+ }
32
+ },
33
+ required: ["name", "source_code"]
34
+ }
35
+ };
36
+ async function handleUpdateMetadataExtension(params) {
37
+ const args = params;
38
+ if (!args.name || !args.source_code) {
39
+ return (0, utils_1.return_error)(new Error("Missing required parameters"));
40
+ }
41
+ const name = args.name.toUpperCase();
42
+ const connection = (0, utils_1.getManagedConnection)();
43
+ try {
44
+ const client = new adt_clients_1.CrudClient(connection);
45
+ const shouldActivate = args.activate !== false;
46
+ let lockHandle = args.lock_handle;
47
+ // Lock if not provided
48
+ if (!lockHandle) {
49
+ await client.lockMetadataExtension(name);
50
+ lockHandle = client.getLockHandle();
51
+ }
52
+ // Update
53
+ await client.updateMetadataExtension(name, args.source_code, lockHandle);
54
+ // Unlock if we locked it internally
55
+ if (!args.lock_handle) {
56
+ await client.unlockMetadataExtension(name, lockHandle);
57
+ }
58
+ // Activate if requested
59
+ if (shouldActivate) {
60
+ await client.activateMetadataExtension(name);
61
+ }
62
+ const result = {
63
+ success: true,
64
+ name: name,
65
+ message: shouldActivate
66
+ ? `Metadata Extension ${name} updated and activated successfully`
67
+ : `Metadata Extension ${name} updated successfully`
68
+ };
69
+ return (0, utils_1.return_response)({
70
+ data: JSON.stringify(result, null, 2),
71
+ status: 200,
72
+ statusText: 'OK',
73
+ headers: {},
74
+ config: {}
75
+ });
76
+ }
77
+ catch (error) {
78
+ utils_1.logger.error(`Error updating DDLX ${name}:`, error);
79
+ return (0, utils_1.return_error)(error);
80
+ }
81
+ }
@@ -0,0 +1,104 @@
1
+ /**
2
+ * CreateDomain Handler - ABAP Domain Creation via ADT API
3
+ *
4
+ * Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations.
5
+ * Session and lock management handled internally by builder.
6
+ *
7
+ * Workflow: create -> check -> unlock -> (activate)
8
+ */
9
+ export declare const TOOL_DEFINITION: {
10
+ readonly name: "CreateDomain";
11
+ readonly description: "Create a new ABAP domain in SAP system with all required steps: lock, create, check, unlock, activate, and verify.";
12
+ readonly inputSchema: {
13
+ readonly type: "object";
14
+ readonly properties: {
15
+ readonly domain_name: {
16
+ readonly type: "string";
17
+ readonly description: "Domain name (e.g., ZZ_TEST_0001). Must follow SAP naming conventions.";
18
+ };
19
+ readonly description: {
20
+ readonly type: "string";
21
+ readonly description: "(optional) Domain description. If not provided, domain_name will be used.";
22
+ };
23
+ readonly package_name: {
24
+ readonly type: "string";
25
+ readonly description: "(optional) Package name (e.g., ZOK_LOCAL, $TMP for local objects)";
26
+ };
27
+ readonly transport_request: {
28
+ readonly type: "string";
29
+ readonly description: "(optional) Transport request number (e.g., E19K905635). Required for transportable packages.";
30
+ };
31
+ readonly datatype: {
32
+ readonly type: "string";
33
+ readonly description: "(optional) Data type: CHAR, NUMC, DATS, TIMS, DEC, INT1, INT2, INT4, INT8, CURR, QUAN, etc.";
34
+ readonly default: "CHAR";
35
+ };
36
+ readonly length: {
37
+ readonly type: "number";
38
+ readonly description: "(optional) Field length (max depends on datatype)";
39
+ readonly default: 100;
40
+ };
41
+ readonly decimals: {
42
+ readonly type: "number";
43
+ readonly description: "(optional) Decimal places (for DEC, CURR, QUAN types)";
44
+ readonly default: 0;
45
+ };
46
+ readonly conversion_exit: {
47
+ readonly type: "string";
48
+ readonly description: "(optional) Conversion exit routine name (without CONVERSION_EXIT_ prefix)";
49
+ };
50
+ readonly lowercase: {
51
+ readonly type: "boolean";
52
+ readonly description: "(optional) Allow lowercase input";
53
+ readonly default: false;
54
+ };
55
+ readonly sign_exists: {
56
+ readonly type: "boolean";
57
+ readonly description: "(optional) Field has sign (+/-)";
58
+ readonly default: false;
59
+ };
60
+ readonly value_table: {
61
+ readonly type: "string";
62
+ readonly description: "(optional) Value table name for foreign key relationship";
63
+ };
64
+ readonly activate: {
65
+ readonly type: "boolean";
66
+ readonly description: "(optional) Activate domain after creation (default: true)";
67
+ readonly default: true;
68
+ };
69
+ readonly fixed_values: {
70
+ readonly type: "array";
71
+ readonly description: "(optional) Array of fixed values for domain value range";
72
+ readonly items: {
73
+ readonly type: "object";
74
+ readonly properties: {
75
+ readonly low: {
76
+ readonly type: "string";
77
+ readonly description: "Fixed value (e.g., '001', 'A')";
78
+ };
79
+ readonly text: {
80
+ readonly type: "string";
81
+ readonly description: "Description text for the fixed value";
82
+ };
83
+ };
84
+ readonly required: readonly ["low", "text"];
85
+ };
86
+ };
87
+ };
88
+ readonly required: readonly ["domain_name"];
89
+ };
90
+ };
91
+ /**
92
+ * Main handler for CreateDomain MCP tool
93
+ *
94
+ * Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations
95
+ * Session and lock management handled internally by builder
96
+ */
97
+ export declare function handleCreateDomain(args: any): Promise<{
98
+ isError: boolean;
99
+ content: {
100
+ type: string;
101
+ text: any;
102
+ }[];
103
+ }>;
104
+ //# sourceMappingURL=handleCreateDomain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCreateDomain.d.ts","sourceRoot":"","sources":["../../../src/handlers/domain/handleCreateDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFlB,CAAC;AAmBX;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;GA6GjD"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ /**
3
+ * CreateDomain Handler - ABAP Domain Creation via ADT API
4
+ *
5
+ * Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations.
6
+ * Session and lock management handled internally by builder.
7
+ *
8
+ * Workflow: create -> check -> unlock -> (activate)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.TOOL_DEFINITION = void 0;
12
+ exports.handleCreateDomain = handleCreateDomain;
13
+ const utils_1 = require("../../lib/utils");
14
+ const utils_2 = require("../../lib/utils");
15
+ const transportValidation_1 = require("../../utils/transportValidation");
16
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
17
+ exports.TOOL_DEFINITION = {
18
+ name: "CreateDomain",
19
+ description: "Create a new ABAP domain in SAP system with all required steps: lock, create, check, unlock, activate, and verify.",
20
+ inputSchema: {
21
+ type: "object",
22
+ properties: {
23
+ domain_name: {
24
+ type: "string",
25
+ description: "Domain name (e.g., ZZ_TEST_0001). Must follow SAP naming conventions."
26
+ },
27
+ description: {
28
+ type: "string",
29
+ description: "(optional) Domain description. If not provided, domain_name will be used."
30
+ },
31
+ package_name: {
32
+ type: "string",
33
+ description: "(optional) Package name (e.g., ZOK_LOCAL, $TMP for local objects)"
34
+ },
35
+ transport_request: {
36
+ type: "string",
37
+ description: "(optional) Transport request number (e.g., E19K905635). Required for transportable packages."
38
+ },
39
+ datatype: {
40
+ type: "string",
41
+ description: "(optional) Data type: CHAR, NUMC, DATS, TIMS, DEC, INT1, INT2, INT4, INT8, CURR, QUAN, etc.",
42
+ default: "CHAR"
43
+ },
44
+ length: {
45
+ type: "number",
46
+ description: "(optional) Field length (max depends on datatype)",
47
+ default: 100
48
+ },
49
+ decimals: {
50
+ type: "number",
51
+ description: "(optional) Decimal places (for DEC, CURR, QUAN types)",
52
+ default: 0
53
+ },
54
+ conversion_exit: {
55
+ type: "string",
56
+ description: "(optional) Conversion exit routine name (without CONVERSION_EXIT_ prefix)"
57
+ },
58
+ lowercase: {
59
+ type: "boolean",
60
+ description: "(optional) Allow lowercase input",
61
+ default: false
62
+ },
63
+ sign_exists: {
64
+ type: "boolean",
65
+ description: "(optional) Field has sign (+/-)",
66
+ default: false
67
+ },
68
+ value_table: {
69
+ type: "string",
70
+ description: "(optional) Value table name for foreign key relationship"
71
+ },
72
+ activate: {
73
+ type: "boolean",
74
+ description: "(optional) Activate domain after creation (default: true)",
75
+ default: true
76
+ },
77
+ fixed_values: {
78
+ type: "array",
79
+ description: "(optional) Array of fixed values for domain value range",
80
+ items: {
81
+ type: "object",
82
+ properties: {
83
+ low: {
84
+ type: "string",
85
+ description: "Fixed value (e.g., '001', 'A')"
86
+ },
87
+ text: {
88
+ type: "string",
89
+ description: "Description text for the fixed value"
90
+ }
91
+ },
92
+ required: ["low", "text"]
93
+ }
94
+ }
95
+ },
96
+ required: ["domain_name"]
97
+ }
98
+ };
99
+ /**
100
+ * Main handler for CreateDomain MCP tool
101
+ *
102
+ * Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations
103
+ * Session and lock management handled internally by builder
104
+ */
105
+ async function handleCreateDomain(args) {
106
+ try {
107
+ // Validate required parameters
108
+ if (!args?.domain_name) {
109
+ throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Domain name is required');
110
+ }
111
+ if (!args?.package_name) {
112
+ throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Package name is required');
113
+ }
114
+ // Validate transport_request: required for non-$TMP, non-ZLOCAL packages
115
+ (0, transportValidation_1.validateTransportRequest)(args.package_name, args.transport_request, args.super_package);
116
+ const typedArgs = args;
117
+ const connection = (0, utils_2.getManagedConnection)();
118
+ const domainName = typedArgs.domain_name.toUpperCase();
119
+ utils_2.logger.info(`Starting domain creation: ${domainName}`);
120
+ try {
121
+ // Create client
122
+ const client = new adt_clients_1.CrudClient(connection);
123
+ const shouldActivate = typedArgs.activate !== false; // Default to true if not specified
124
+ // Validate
125
+ await client.validateDomain(domainName);
126
+ // Create
127
+ await client.createDomain(domainName, typedArgs.description || domainName, typedArgs.package_name, typedArgs.transport_request);
128
+ // Lock
129
+ await client.lockDomain(domainName);
130
+ const lockHandle = client.getLockHandle();
131
+ // Update with properties
132
+ const properties = {
133
+ datatype: typedArgs.datatype || 'CHAR',
134
+ length: typedArgs.length || 100,
135
+ decimals: typedArgs.decimals || 0,
136
+ conversion_exit: typedArgs.conversion_exit,
137
+ lowercase: typedArgs.lowercase || false,
138
+ sign_exists: typedArgs.sign_exists || false,
139
+ value_table: typedArgs.value_table,
140
+ fixed_values: typedArgs.fixed_values
141
+ };
142
+ await client.updateDomain(domainName, properties, lockHandle);
143
+ // Check
144
+ await client.checkDomain(domainName);
145
+ // Unlock
146
+ await client.unlockDomain(domainName, lockHandle);
147
+ // Activate if requested
148
+ if (shouldActivate) {
149
+ await client.activateDomain(domainName);
150
+ }
151
+ // Get domain details from create result (createDomain already does verification)
152
+ const createResult = client.getCreateResult();
153
+ let domainDetails = null;
154
+ if (createResult?.data && typeof createResult.data === 'object' && 'domain_details' in createResult.data) {
155
+ domainDetails = createResult.data.domain_details;
156
+ }
157
+ return (0, utils_2.return_response)({
158
+ data: JSON.stringify({
159
+ success: true,
160
+ domain_name: domainName,
161
+ package: typedArgs.package_name,
162
+ transport_request: typedArgs.transport_request,
163
+ status: shouldActivate ? 'active' : 'inactive',
164
+ message: `Domain ${domainName} created${shouldActivate ? ' and activated' : ''} successfully`,
165
+ domain_details: domainDetails
166
+ })
167
+ });
168
+ }
169
+ catch (error) {
170
+ utils_2.logger.error(`Error creating domain ${domainName}:`, error);
171
+ // Check if domain already exists
172
+ if (error.message?.includes('already exists') || error.response?.data?.includes('ExceptionResourceAlreadyExists')) {
173
+ throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, `Domain ${domainName} already exists. Please delete it first or use a different name.`);
174
+ }
175
+ const errorMessage = error.response?.data
176
+ ? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
177
+ : error.message || String(error);
178
+ throw new utils_1.McpError(utils_1.ErrorCode.InternalError, `Failed to create domain ${domainName}: ${errorMessage}`);
179
+ }
180
+ }
181
+ catch (error) {
182
+ if (error instanceof utils_1.McpError) {
183
+ throw error;
184
+ }
185
+ return (0, utils_2.return_error)(error);
186
+ }
187
+ }
@@ -0,0 +1,19 @@
1
+ import * as z from 'zod';
2
+ export declare const TOOL_DEFINITION: {
3
+ readonly name: "GetDomain";
4
+ readonly description: "Retrieve ABAP domain structure and properties from SAP system.";
5
+ readonly inputSchema: {
6
+ readonly domain_name: z.ZodString;
7
+ };
8
+ };
9
+ /**
10
+ * Main handler for GetDomain MCP tool
11
+ */
12
+ export declare function handleGetDomain(args: any): Promise<{
13
+ isError: boolean;
14
+ content: {
15
+ type: string;
16
+ text: any;
17
+ }[];
18
+ }>;
19
+ //# sourceMappingURL=handleGetDomain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGetDomain.d.ts","sourceRoot":"","sources":["../../../src/handlers/domain/handleGetDomain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAMX;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG;;;;;;GA6F9C"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TOOL_DEFINITION = void 0;
37
+ exports.handleGetDomain = handleGetDomain;
38
+ const utils_1 = require("../../lib/utils");
39
+ const utils_2 = require("../../lib/utils");
40
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
41
+ const fast_xml_parser_1 = require("fast-xml-parser");
42
+ const z = __importStar(require("zod"));
43
+ exports.TOOL_DEFINITION = {
44
+ name: "GetDomain",
45
+ description: "Retrieve ABAP domain structure and properties from SAP system.",
46
+ inputSchema: {
47
+ domain_name: z.string().describe("Domain name (e.g., MATNR, CHAR20, ZZ_TEST_DOMAIN)")
48
+ }
49
+ };
50
+ /**
51
+ * Main handler for GetDomain MCP tool
52
+ */
53
+ async function handleGetDomain(args) {
54
+ try {
55
+ // Validate required parameters
56
+ if (!args?.domain_name) {
57
+ throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Domain name is required');
58
+ }
59
+ const typedArgs = args;
60
+ const connection = (0, utils_1.getManagedConnection)();
61
+ const client = new adt_clients_1.CrudClient(connection);
62
+ await client.readDomain(typedArgs.domain_name);
63
+ const response = client.getReadResult();
64
+ if (!response) {
65
+ throw new utils_1.McpError(utils_1.ErrorCode.InternalError, 'Failed to read domain');
66
+ }
67
+ // Parse XML response
68
+ const parser = new fast_xml_parser_1.XMLParser({
69
+ ignoreAttributes: false,
70
+ attributeNamePrefix: '',
71
+ });
72
+ const result = parser.parse(response.data);
73
+ const domain = result['doma:domain'];
74
+ if (!domain) {
75
+ throw new utils_1.McpError(utils_1.ErrorCode.InternalError, 'Failed to parse domain XML response');
76
+ }
77
+ // Extract domain information
78
+ const domainInfo = {
79
+ name: domain['adtcore:name'],
80
+ type: domain['adtcore:type'],
81
+ description: domain['adtcore:description'] || '',
82
+ language: domain['adtcore:language'],
83
+ masterLanguage: domain['adtcore:masterLanguage'],
84
+ masterSystem: domain['adtcore:masterSystem'],
85
+ responsible: domain['adtcore:responsible'],
86
+ createdBy: domain['adtcore:createdBy'],
87
+ createdAt: domain['adtcore:createdAt'],
88
+ changedBy: domain['adtcore:changedBy'],
89
+ changedAt: domain['adtcore:changedAt'],
90
+ version: domain['adtcore:version'],
91
+ abapLanguageVersion: domain['adtcore:abapLanguageVersion'],
92
+ package: {
93
+ name: domain['adtcore:packageRef']?.['adtcore:name'],
94
+ type: domain['adtcore:packageRef']?.['adtcore:type'],
95
+ description: domain['adtcore:packageRef']?.['adtcore:description'],
96
+ uri: domain['adtcore:packageRef']?.['adtcore:uri']
97
+ },
98
+ content: domain['doma:content'] ? {
99
+ typeInformation: {
100
+ datatype: domain['doma:content']['doma:typeInformation']?.['doma:datatype'],
101
+ length: domain['doma:content']['doma:typeInformation']?.['doma:length'],
102
+ decimals: domain['doma:content']['doma:typeInformation']?.['doma:decimals']
103
+ },
104
+ outputInformation: {
105
+ length: domain['doma:content']['doma:outputInformation']?.['doma:length'],
106
+ style: domain['doma:content']['doma:outputInformation']?.['doma:style'],
107
+ conversionExit: domain['doma:content']['doma:outputInformation']?.['doma:conversionExit'] || '',
108
+ signExists: domain['doma:content']['doma:outputInformation']?.['doma:signExists'],
109
+ lowercase: domain['doma:content']['doma:outputInformation']?.['doma:lowercase'],
110
+ ampmFormat: domain['doma:content']['doma:outputInformation']?.['doma:ampmFormat']
111
+ },
112
+ valueInformation: {
113
+ valueTableRef: domain['doma:content']['doma:valueInformation']?.['doma:valueTableRef'] || '',
114
+ appendExists: domain['doma:content']['doma:valueInformation']?.['doma:appendExists'],
115
+ fixValues: domain['doma:content']['doma:valueInformation']?.['doma:fixValues']
116
+ }
117
+ } : null
118
+ };
119
+ return (0, utils_2.return_response)({
120
+ data: JSON.stringify({
121
+ success: true,
122
+ domain: domainInfo,
123
+ raw_xml: response.data
124
+ }, null, 2),
125
+ status: response.status,
126
+ statusText: response.statusText,
127
+ headers: response.headers,
128
+ config: response.config
129
+ });
130
+ }
131
+ catch (error) {
132
+ console.error('[GetDomain] Error:', error);
133
+ if (error instanceof utils_1.McpError) {
134
+ throw error;
135
+ }
136
+ return (0, utils_2.return_error)(error);
137
+ }
138
+ }