@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,64 @@
1
+ /**
2
+ * CreateInterface Handler - ABAP Interface Creation via ADT API
3
+ *
4
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations.
5
+ * Session and lock management handled internally by client.
6
+ *
7
+ * Workflow: validate -> create -> lock -> update -> check -> unlock -> (activate)
8
+ */
9
+ export declare const TOOL_DEFINITION: {
10
+ readonly name: "CreateInterface";
11
+ readonly description: "Create a new ABAP interface in SAP system with source code. Interfaces define method signatures, events, and types for implementation by classes. Uses stateful session for proper lock management.";
12
+ readonly inputSchema: {
13
+ readonly type: "object";
14
+ readonly properties: {
15
+ readonly interface_name: {
16
+ readonly type: "string";
17
+ readonly description: "Interface name (e.g., ZIF_TEST_INTERFACE_001). Must follow SAP naming conventions (start with Z or Y).";
18
+ };
19
+ readonly description: {
20
+ readonly type: "string";
21
+ readonly description: "Interface description. If not provided, interface_name will be used.";
22
+ };
23
+ readonly package_name: {
24
+ readonly type: "string";
25
+ readonly description: "Package name (e.g., ZOK_LAB, $TMP for local objects)";
26
+ };
27
+ readonly transport_request: {
28
+ readonly type: "string";
29
+ readonly description: "Transport request number (e.g., E19K905635). Required for transportable packages.";
30
+ };
31
+ readonly source_code: {
32
+ readonly type: "string";
33
+ readonly description: "Complete ABAP interface source code with INTERFACE...ENDINTERFACE section. If not provided, generates minimal template.";
34
+ };
35
+ readonly activate: {
36
+ readonly type: "boolean";
37
+ readonly description: "Activate interface after creation. Default: true. Set to false for batch operations (activate multiple objects later).";
38
+ };
39
+ readonly master_system: {
40
+ readonly type: "string";
41
+ readonly description: "Master system ID (e.g., 'TRL' for cloud trial). Optional - will be retrieved from system if not provided.";
42
+ };
43
+ readonly responsible: {
44
+ readonly type: "string";
45
+ readonly description: "User responsible for the object (e.g., 'CB9980002377'). Optional - will be retrieved from system if not provided.";
46
+ };
47
+ };
48
+ readonly required: readonly ["interface_name", "package_name"];
49
+ };
50
+ };
51
+ /**
52
+ * Main handler for CreateInterface MCP tool
53
+ *
54
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations
55
+ * Session and lock management handled internally by client
56
+ */
57
+ export declare function handleCreateInterface(args: any): Promise<{
58
+ isError: boolean;
59
+ content: {
60
+ type: string;
61
+ text: any;
62
+ }[];
63
+ }>;
64
+ //# sourceMappingURL=handleCreateInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCreateInterface.d.ts","sourceRoot":"","sources":["../../../src/handlers/interface/handleCreateInterface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC;AA6BX;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,GAAG;;;;;;GA2GpD"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ /**
3
+ * CreateInterface Handler - ABAP Interface Creation via ADT API
4
+ *
5
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations.
6
+ * Session and lock management handled internally by client.
7
+ *
8
+ * Workflow: validate -> create -> lock -> update -> check -> unlock -> (activate)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.TOOL_DEFINITION = void 0;
12
+ exports.handleCreateInterface = handleCreateInterface;
13
+ const utils_1 = require("../../lib/utils");
14
+ const transportValidation_js_1 = require("../../utils/transportValidation.js");
15
+ const fast_xml_parser_1 = require("fast-xml-parser");
16
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
17
+ exports.TOOL_DEFINITION = {
18
+ name: "CreateInterface",
19
+ description: "Create a new ABAP interface in SAP system with source code. Interfaces define method signatures, events, and types for implementation by classes. Uses stateful session for proper lock management.",
20
+ inputSchema: {
21
+ type: "object",
22
+ properties: {
23
+ interface_name: {
24
+ type: "string",
25
+ description: "Interface name (e.g., ZIF_TEST_INTERFACE_001). Must follow SAP naming conventions (start with Z or Y)."
26
+ },
27
+ description: {
28
+ type: "string",
29
+ description: "Interface description. If not provided, interface_name will be used."
30
+ },
31
+ package_name: {
32
+ type: "string",
33
+ description: "Package name (e.g., ZOK_LAB, $TMP for local objects)"
34
+ },
35
+ transport_request: {
36
+ type: "string",
37
+ description: "Transport request number (e.g., E19K905635). Required for transportable packages."
38
+ },
39
+ source_code: {
40
+ type: "string",
41
+ description: "Complete ABAP interface source code with INTERFACE...ENDINTERFACE section. If not provided, generates minimal template."
42
+ },
43
+ activate: {
44
+ type: "boolean",
45
+ description: "Activate interface after creation. Default: true. Set to false for batch operations (activate multiple objects later)."
46
+ },
47
+ master_system: {
48
+ type: "string",
49
+ description: "Master system ID (e.g., 'TRL' for cloud trial). Optional - will be retrieved from system if not provided."
50
+ },
51
+ responsible: {
52
+ type: "string",
53
+ description: "User responsible for the object (e.g., 'CB9980002377'). Optional - will be retrieved from system if not provided."
54
+ }
55
+ },
56
+ required: ["interface_name", "package_name"]
57
+ }
58
+ };
59
+ /**
60
+ * Generate minimal interface source code if not provided
61
+ */
62
+ function generateInterfaceTemplate(interfaceName, description) {
63
+ return `INTERFACE ${interfaceName}
64
+ PUBLIC.
65
+
66
+ " ${description}
67
+
68
+ METHODS: get_value
69
+ RETURNING VALUE(rv_result) TYPE string.
70
+
71
+ ENDINTERFACE.`;
72
+ }
73
+ /**
74
+ * Main handler for CreateInterface MCP tool
75
+ *
76
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations
77
+ * Session and lock management handled internally by client
78
+ */
79
+ async function handleCreateInterface(args) {
80
+ try {
81
+ // Validate required parameters
82
+ if (!args?.interface_name) {
83
+ return (0, utils_1.return_error)(new Error('interface_name is required'));
84
+ }
85
+ if (!args?.package_name) {
86
+ return (0, utils_1.return_error)(new Error('package_name is required'));
87
+ }
88
+ // Validate transport_request: required for non-$TMP packages
89
+ try {
90
+ (0, transportValidation_js_1.validateTransportRequest)(args.package_name, args.transport_request);
91
+ }
92
+ catch (error) {
93
+ return (0, utils_1.return_error)(error);
94
+ }
95
+ const typedArgs = args;
96
+ const connection = (0, utils_1.getManagedConnection)();
97
+ const interfaceName = typedArgs.interface_name.toUpperCase();
98
+ utils_1.logger.info(`Starting interface creation: ${interfaceName}`);
99
+ try {
100
+ // Generate source code if not provided
101
+ const sourceCode = typedArgs.source_code || generateInterfaceTemplate(interfaceName, typedArgs.description || interfaceName);
102
+ // Create CrudClient
103
+ const client = new adt_clients_1.CrudClient(connection);
104
+ const description = typedArgs.description || interfaceName;
105
+ const packageName = typedArgs.package_name;
106
+ const transportRequest = typedArgs.transport_request || '';
107
+ const shouldActivate = typedArgs.activate !== false;
108
+ // Extract options
109
+ const masterSystem = typedArgs.master_system;
110
+ const responsible = typedArgs.responsible;
111
+ // Execute the workflow
112
+ await client
113
+ .createInterface(interfaceName, description, packageName, transportRequest, {
114
+ masterSystem,
115
+ responsible
116
+ })
117
+ .then(c => c.lockInterface(interfaceName))
118
+ .then(c => c.updateInterface(interfaceName, sourceCode))
119
+ .then(c => c.checkInterface(interfaceName))
120
+ .then(c => c.unlockInterface(interfaceName))
121
+ .then(c => shouldActivate ? c.activateInterface(interfaceName) : Promise.resolve(c))
122
+ .catch(error => {
123
+ utils_1.logger.error('Interface creation chain failed:', error);
124
+ throw error;
125
+ });
126
+ // Parse activation warnings if activation was performed
127
+ let activationWarnings = [];
128
+ if (shouldActivate && client.getActivateResult()) {
129
+ const activateResponse = client.getActivateResult();
130
+ if (typeof activateResponse.data === 'string' && activateResponse.data.includes('<chkl:messages')) {
131
+ const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@_' });
132
+ const result = parser.parse(activateResponse.data);
133
+ const messages = result?.['chkl:messages']?.['msg'];
134
+ if (messages) {
135
+ const msgArray = Array.isArray(messages) ? messages : [messages];
136
+ activationWarnings = msgArray.map((msg) => `${msg['@_type']}: ${msg['shortText']?.['txt'] || 'Unknown'}`);
137
+ }
138
+ }
139
+ }
140
+ // Return success result
141
+ const stepsCompleted = ['validate', 'create', 'lock', 'update', 'check', 'unlock'];
142
+ if (shouldActivate) {
143
+ stepsCompleted.push('activate');
144
+ }
145
+ const result = {
146
+ success: true,
147
+ interface_name: interfaceName,
148
+ package_name: packageName,
149
+ transport_request: transportRequest || null,
150
+ type: 'INTF/OI',
151
+ message: shouldActivate
152
+ ? `Interface ${interfaceName} created and activated successfully`
153
+ : `Interface ${interfaceName} created successfully (not activated)`,
154
+ uri: `/sap/bc/adt/oo/interfaces/${(0, utils_1.encodeSapObjectName)(interfaceName).toLowerCase()}`,
155
+ steps_completed: stepsCompleted,
156
+ activation_warnings: activationWarnings.length > 0 ? activationWarnings : undefined
157
+ };
158
+ return (0, utils_1.return_response)({
159
+ data: JSON.stringify(result, null, 2),
160
+ status: 200,
161
+ statusText: 'OK',
162
+ headers: {},
163
+ config: {}
164
+ });
165
+ }
166
+ catch (error) {
167
+ utils_1.logger.error('Interface creation failed:', error);
168
+ return (0, utils_1.return_error)(error);
169
+ }
170
+ }
171
+ catch (error) {
172
+ utils_1.logger.error('CreateInterface handler error:', error);
173
+ return (0, utils_1.return_error)(error);
174
+ }
175
+ }
@@ -0,0 +1,40 @@
1
+ import * as z from 'zod';
2
+ export declare const TOOL_DEFINITION: {
3
+ readonly name: "GetInterface";
4
+ readonly description: "Retrieve ABAP interface source code.";
5
+ readonly inputSchema: {
6
+ readonly interface_name: z.ZodString;
7
+ };
8
+ };
9
+ export declare function handleGetInterface(args: any): Promise<{
10
+ isError: boolean;
11
+ content: {
12
+ type: string;
13
+ text: any;
14
+ }[];
15
+ } | {
16
+ isError: boolean;
17
+ content: {
18
+ type: string;
19
+ json: {
20
+ name: any;
21
+ objectType: string;
22
+ description: any;
23
+ package: any;
24
+ interfaces: any[];
25
+ methods: any[];
26
+ attributes: any[];
27
+ raw?: undefined;
28
+ } | {
29
+ raw: any;
30
+ name?: undefined;
31
+ objectType?: undefined;
32
+ description?: undefined;
33
+ package?: undefined;
34
+ interfaces?: undefined;
35
+ methods?: undefined;
36
+ attributes?: undefined;
37
+ };
38
+ }[];
39
+ }>;
40
+ //# sourceMappingURL=handleGetInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGetInterface.d.ts","sourceRoot":"","sources":["../../../src/handlers/interface/handleGetInterface.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAyCX,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CjD"}
@@ -0,0 +1,134 @@
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.handleGetInterface = handleGetInterface;
38
+ const utils_1 = require("../../lib/utils");
39
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
40
+ const fast_xml_parser_1 = require("fast-xml-parser");
41
+ const writeResultToFile_1 = require("../../lib/writeResultToFile");
42
+ const z = __importStar(require("zod"));
43
+ exports.TOOL_DEFINITION = {
44
+ name: "GetInterface",
45
+ description: "Retrieve ABAP interface source code.",
46
+ inputSchema: {
47
+ interface_name: z.string().describe("Name of the ABAP interface")
48
+ }
49
+ };
50
+ function parseInterfaceXml(xml) {
51
+ const parser = new fast_xml_parser_1.XMLParser({
52
+ ignoreAttributes: false,
53
+ attributeNamePrefix: '',
54
+ parseAttributeValue: true,
55
+ trimValues: true
56
+ });
57
+ const result = parser.parse(xml);
58
+ // ADT Interface XML (INTF/OI)
59
+ if (result['oo:interface']) {
60
+ const i = result['oo:interface'];
61
+ return {
62
+ name: i['adtcore:name'],
63
+ objectType: 'interface',
64
+ description: i['adtcore:description'],
65
+ package: i['adtcore:packageRef']?.['adtcore:name'] || null,
66
+ interfaces: Array.isArray(i['oo:interfaces']?.['oo:interface'])
67
+ ? i['oo:interfaces']['oo:interface'].map(ii => ii['adtcore:name'])
68
+ : i['oo:interfaces']?.['oo:interface']
69
+ ? [i['oo:interfaces']['oo:interface']['adtcore:name']]
70
+ : [],
71
+ methods: Array.isArray(i['oo:methods']?.['oo:method'])
72
+ ? i['oo:methods']['oo:method'].map(m => m['adtcore:name'])
73
+ : i['oo:methods']?.['oo:method']
74
+ ? [i['oo:methods']['oo:method']['adtcore:name']]
75
+ : [],
76
+ attributes: Array.isArray(i['oo:attributes']?.['oo:attribute'])
77
+ ? i['oo:attributes']['oo:attribute'].map(a => a['adtcore:name'])
78
+ : i['oo:attributes']?.['oo:attribute']
79
+ ? [i['oo:attributes']['oo:attribute']['adtcore:name']]
80
+ : []
81
+ };
82
+ }
83
+ // fallback: return raw
84
+ return { raw: result };
85
+ }
86
+ async function handleGetInterface(args) {
87
+ try {
88
+ if (!args?.interface_name) {
89
+ throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Interface name is required');
90
+ }
91
+ const connection = (0, utils_1.getManagedConnection)();
92
+ const client = new adt_clients_1.CrudClient(connection);
93
+ await client.readInterface(args.interface_name);
94
+ const response = client.getReadResult();
95
+ if (!response) {
96
+ throw new utils_1.McpError(utils_1.ErrorCode.InternalError, 'Failed to read interface');
97
+ }
98
+ // Parse XML responses; otherwise return the payload unchanged
99
+ if (typeof response.data === 'string' && response.data.trim().startsWith('<?xml')) {
100
+ const result = {
101
+ isError: false,
102
+ content: [
103
+ {
104
+ type: "json",
105
+ json: parseInterfaceXml(response.data)
106
+ }
107
+ ]
108
+ };
109
+ if (args.filePath) {
110
+ (0, writeResultToFile_1.writeResultToFile)(result, args.filePath);
111
+ }
112
+ return result;
113
+ }
114
+ else {
115
+ const plainResult = (0, utils_1.return_response)(response);
116
+ if (args.filePath) {
117
+ (0, writeResultToFile_1.writeResultToFile)(plainResult, args.filePath);
118
+ }
119
+ return plainResult;
120
+ }
121
+ }
122
+ catch (error) {
123
+ // MCP-compliant error response: always return content[] with type "text"
124
+ return {
125
+ isError: true,
126
+ content: [
127
+ {
128
+ type: "text",
129
+ text: `ADT error: ${String(error)}`
130
+ }
131
+ ]
132
+ };
133
+ }
134
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * UpdateInterfaceSource Handler - Update existing ABAP Interface source code
3
+ *
4
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations.
5
+ * Session and lock management handled internally by builder.
6
+ *
7
+ * Workflow: validate -> lock -> update -> check -> unlock -> (activate)
8
+ */
9
+ export declare const TOOL_DEFINITION: {
10
+ readonly name: "UpdateInterfaceSource";
11
+ readonly description: "Update source code of an existing ABAP interface. Uses stateful session with proper lock/unlock mechanism. Lock handle and transport number are passed in URL parameters.";
12
+ readonly inputSchema: {
13
+ readonly type: "object";
14
+ readonly properties: {
15
+ readonly interface_name: {
16
+ readonly type: "string";
17
+ readonly description: "Interface name (e.g., ZIF_MY_INTERFACE). Must exist in the system.";
18
+ };
19
+ readonly source_code: {
20
+ readonly type: "string";
21
+ readonly description: "Complete ABAP interface source code with INTERFACE...ENDINTERFACE section.";
22
+ };
23
+ readonly transport_request: {
24
+ readonly type: "string";
25
+ readonly description: "Transport request number (e.g., E19K905635). Optional if object is local or already in transport.";
26
+ };
27
+ readonly activate: {
28
+ readonly type: "boolean";
29
+ readonly description: "Activate interface after update. Default: true.";
30
+ };
31
+ };
32
+ readonly required: readonly ["interface_name", "source_code"];
33
+ };
34
+ };
35
+ /**
36
+ * Main handler for UpdateInterfaceSource MCP tool
37
+ *
38
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations
39
+ * Session and lock management handled internally by builder
40
+ */
41
+ export declare function handleUpdateInterfaceSource(args: any): Promise<{
42
+ isError: boolean;
43
+ content: {
44
+ type: string;
45
+ text: any;
46
+ }[];
47
+ }>;
48
+ //# sourceMappingURL=handleUpdateInterfaceSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleUpdateInterfaceSource.d.ts","sourceRoot":"","sources":["../../../src/handlers/interface/handleUpdateInterfaceSource.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AAUX;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,GAAG;;;;;;GAoG1D"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /**
3
+ * UpdateInterfaceSource Handler - Update existing ABAP Interface source code
4
+ *
5
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations.
6
+ * Session and lock management handled internally by builder.
7
+ *
8
+ * Workflow: validate -> lock -> update -> check -> unlock -> (activate)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.TOOL_DEFINITION = void 0;
12
+ exports.handleUpdateInterfaceSource = handleUpdateInterfaceSource;
13
+ const utils_1 = require("../../lib/utils");
14
+ const fast_xml_parser_1 = require("fast-xml-parser");
15
+ const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
16
+ exports.TOOL_DEFINITION = {
17
+ name: "UpdateInterfaceSource",
18
+ description: "Update source code of an existing ABAP interface. Uses stateful session with proper lock/unlock mechanism. Lock handle and transport number are passed in URL parameters.",
19
+ inputSchema: {
20
+ type: "object",
21
+ properties: {
22
+ interface_name: {
23
+ type: "string",
24
+ description: "Interface name (e.g., ZIF_MY_INTERFACE). Must exist in the system."
25
+ },
26
+ source_code: {
27
+ type: "string",
28
+ description: "Complete ABAP interface source code with INTERFACE...ENDINTERFACE section."
29
+ },
30
+ transport_request: {
31
+ type: "string",
32
+ description: "Transport request number (e.g., E19K905635). Optional if object is local or already in transport."
33
+ },
34
+ activate: {
35
+ type: "boolean",
36
+ description: "Activate interface after update. Default: true."
37
+ }
38
+ },
39
+ required: ["interface_name", "source_code"]
40
+ }
41
+ };
42
+ /**
43
+ * Main handler for UpdateInterfaceSource MCP tool
44
+ *
45
+ * Uses InterfaceBuilder from @mcp-abap-adt/adt-clients for all operations
46
+ * Session and lock management handled internally by builder
47
+ */
48
+ async function handleUpdateInterfaceSource(args) {
49
+ try {
50
+ const { interface_name, source_code, transport_request, activate = true } = args;
51
+ // Validation
52
+ if (!interface_name || !source_code) {
53
+ return (0, utils_1.return_error)(new Error('interface_name and source_code are required'));
54
+ }
55
+ const connection = (0, utils_1.getManagedConnection)();
56
+ const interfaceName = interface_name.toUpperCase();
57
+ utils_1.logger.info(`Starting interface source update: ${interfaceName}`);
58
+ try {
59
+ // Create client
60
+ const client = new adt_clients_1.CrudClient(connection);
61
+ // Build operation chain: validate -> lock -> update -> check -> unlock -> (activate)
62
+ const shouldActivate = activate !== false; // Default to true if not specified
63
+ // Validate
64
+ await client.validateInterface(interfaceName);
65
+ // Lock
66
+ await client.lockInterface(interfaceName);
67
+ const lockHandle = client.getLockHandle();
68
+ try {
69
+ // Update source code
70
+ await client.updateInterface(interfaceName, source_code, lockHandle);
71
+ // Check
72
+ await client.checkInterface(interfaceName);
73
+ // Unlock
74
+ await client.unlockInterface(interfaceName, lockHandle);
75
+ // Activate if requested
76
+ if (shouldActivate) {
77
+ await client.activateInterface(interfaceName);
78
+ }
79
+ }
80
+ catch (error) {
81
+ // Try to unlock on error
82
+ try {
83
+ await client.unlockInterface(interfaceName, lockHandle);
84
+ }
85
+ catch (unlockError) {
86
+ utils_1.logger.error('Failed to unlock interface after error:', unlockError);
87
+ }
88
+ throw error;
89
+ }
90
+ // Parse activation warnings if activation was performed
91
+ let activationWarnings = [];
92
+ if (shouldActivate && client.getActivateResult()) {
93
+ const activateResponse = client.getActivateResult();
94
+ if (typeof activateResponse.data === 'string' && activateResponse.data.includes('<chkl:messages')) {
95
+ const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@_' });
96
+ const result = parser.parse(activateResponse.data);
97
+ const messages = result?.['chkl:messages']?.['msg'];
98
+ if (messages) {
99
+ const msgArray = Array.isArray(messages) ? messages : [messages];
100
+ activationWarnings = msgArray.map((msg) => `${msg['@_type']}: ${msg['shortText']?.['txt'] || 'Unknown'}`);
101
+ }
102
+ }
103
+ }
104
+ utils_1.logger.info(`✅ UpdateInterfaceSource completed successfully: ${interfaceName}`);
105
+ return (0, utils_1.return_response)({
106
+ data: JSON.stringify({
107
+ success: true,
108
+ interface_name: interfaceName,
109
+ transport_request: transport_request || 'local',
110
+ activated: shouldActivate,
111
+ message: `Interface ${interfaceName} updated successfully${shouldActivate ? ' and activated' : ''}`,
112
+ activation_warnings: activationWarnings.length > 0 ? activationWarnings : undefined
113
+ })
114
+ });
115
+ }
116
+ catch (error) {
117
+ utils_1.logger.error(`Error updating interface source ${interfaceName}:`, error);
118
+ const errorMessage = error.response?.data
119
+ ? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
120
+ : error.message || String(error);
121
+ return (0, utils_1.return_error)(new Error(`Failed to update interface: ${errorMessage}`));
122
+ }
123
+ }
124
+ catch (error) {
125
+ return (0, utils_1.return_error)(error);
126
+ }
127
+ }
@@ -0,0 +1,44 @@
1
+ import * as z from 'zod';
2
+ export declare const TOOL_DEFINITION: {
3
+ readonly name: "GetInterface";
4
+ readonly description: "[read-only] Retrieve ABAP interface source code.";
5
+ readonly inputSchema: {
6
+ readonly interface_name: z.ZodString;
7
+ };
8
+ };
9
+ interface GetInterfaceArgs {
10
+ [key: string]: any;
11
+ }
12
+ export declare function handleGetInterface(args: GetInterfaceArgs): Promise<{
13
+ isError: boolean;
14
+ content: {
15
+ type: string;
16
+ text: any;
17
+ }[];
18
+ } | {
19
+ isError: boolean;
20
+ content: {
21
+ type: string;
22
+ json: {
23
+ name: any;
24
+ objectType: string;
25
+ description: any;
26
+ package: any;
27
+ interfaces: any[];
28
+ methods: any[];
29
+ attributes: any[];
30
+ raw?: undefined;
31
+ } | {
32
+ raw: any;
33
+ name?: undefined;
34
+ objectType?: undefined;
35
+ description?: undefined;
36
+ package?: undefined;
37
+ interfaces?: undefined;
38
+ methods?: undefined;
39
+ attributes?: undefined;
40
+ };
41
+ }[];
42
+ }>;
43
+ export {};
44
+ //# sourceMappingURL=handleGetInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGetInterface.d.ts","sourceRoot":"","sources":["../../../../src/handlers/interface/readonly/handleGetInterface.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,UAAU,gBAAgB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA0CD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8C9D"}