@mcp-abap-adt/core 2.5.2 → 2.6.1

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 (348) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.d.ts +4 -0
  3. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.d.ts.map +1 -1
  4. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js +5 -0
  5. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js.map +1 -1
  6. package/dist/handlers/class/high/handleUpdateClass.d.ts +5 -0
  7. package/dist/handlers/class/high/handleUpdateClass.d.ts.map +1 -1
  8. package/dist/handlers/class/high/handleUpdateClass.js +9 -3
  9. package/dist/handlers/class/high/handleUpdateClass.js.map +1 -1
  10. package/dist/handlers/data_element/high/handleCreateDataElement.d.ts.map +1 -1
  11. package/dist/handlers/data_element/high/handleCreateDataElement.js +1 -0
  12. package/dist/handlers/data_element/high/handleCreateDataElement.js.map +1 -1
  13. package/dist/handlers/domain/high/handleCreateDomain.d.ts.map +1 -1
  14. package/dist/handlers/domain/high/handleCreateDomain.js +1 -0
  15. package/dist/handlers/domain/high/handleCreateDomain.js.map +1 -1
  16. package/dist/handlers/domain/high/handleUpdateDomain.d.ts.map +1 -1
  17. package/dist/handlers/domain/high/handleUpdateDomain.js +1 -0
  18. package/dist/handlers/domain/high/handleUpdateDomain.js.map +1 -1
  19. package/dist/handlers/function/high/handleCreateFunctionModule.d.ts.map +1 -1
  20. package/dist/handlers/function/high/handleCreateFunctionModule.js +1 -0
  21. package/dist/handlers/function/high/handleCreateFunctionModule.js.map +1 -1
  22. package/dist/handlers/interface/high/handleCreateInterface.d.ts.map +1 -1
  23. package/dist/handlers/interface/high/handleCreateInterface.js +5 -3
  24. package/dist/handlers/interface/high/handleCreateInterface.js.map +1 -1
  25. package/dist/handlers/program/high/handleCreateProgram.d.ts.map +1 -1
  26. package/dist/handlers/program/high/handleCreateProgram.js +5 -3
  27. package/dist/handlers/program/high/handleCreateProgram.js.map +1 -1
  28. package/dist/handlers/program/high/handleUpdateProgram.d.ts +4 -0
  29. package/dist/handlers/program/high/handleUpdateProgram.d.ts.map +1 -1
  30. package/dist/handlers/program/high/handleUpdateProgram.js +9 -3
  31. package/dist/handlers/program/high/handleUpdateProgram.js.map +1 -1
  32. package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts +44 -0
  33. package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts.map +1 -0
  34. package/dist/handlers/service_binding/high/handleListServiceBindings.js +211 -0
  35. package/dist/handlers/service_binding/high/handleListServiceBindings.js.map +1 -0
  36. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts +11 -0
  37. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts.map +1 -0
  38. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js +27 -0
  39. package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js.map +1 -0
  40. package/dist/handlers/service_definition/high/handleUpdateServiceDefinition.d.ts.map +1 -1
  41. package/dist/handlers/service_definition/high/handleUpdateServiceDefinition.js +5 -3
  42. package/dist/handlers/service_definition/high/handleUpdateServiceDefinition.js.map +1 -1
  43. package/dist/handlers/structure/high/handleUpdateStructure.d.ts.map +1 -1
  44. package/dist/handlers/structure/high/handleUpdateStructure.js +5 -3
  45. package/dist/handlers/structure/high/handleUpdateStructure.js.map +1 -1
  46. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.d.ts +27 -0
  47. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.d.ts.map +1 -0
  48. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.js +47 -0
  49. package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.js.map +1 -0
  50. package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts +8 -0
  51. package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts.map +1 -0
  52. package/dist/handlers/system/readonly/runtimeDumpReadCompat.js +55 -0
  53. package/dist/handlers/system/readonly/runtimeDumpReadCompat.js.map +1 -0
  54. package/dist/handlers/table/high/handleCreateTable.d.ts.map +1 -1
  55. package/dist/handlers/table/high/handleCreateTable.js +5 -3
  56. package/dist/handlers/table/high/handleCreateTable.js.map +1 -1
  57. package/dist/handlers/transport/readonly/handleListTransports.d.ts +38 -0
  58. package/dist/handlers/transport/readonly/handleListTransports.d.ts.map +1 -0
  59. package/dist/handlers/transport/readonly/handleListTransports.js +94 -0
  60. package/dist/handlers/transport/readonly/handleListTransports.js.map +1 -0
  61. package/dist/handlers/transport/readonly/handleResolveTransport.d.ts +42 -0
  62. package/dist/handlers/transport/readonly/handleResolveTransport.d.ts.map +1 -0
  63. package/dist/handlers/transport/readonly/handleResolveTransport.js +75 -0
  64. package/dist/handlers/transport/readonly/handleResolveTransport.js.map +1 -0
  65. package/dist/handlers/view/high/handleCreateView.d.ts.map +1 -1
  66. package/dist/handlers/view/high/handleCreateView.js +5 -3
  67. package/dist/handlers/view/high/handleCreateView.js.map +1 -1
  68. package/dist/handlers/view/high/handleUpdateView.d.ts +4 -0
  69. package/dist/handlers/view/high/handleUpdateView.d.ts.map +1 -1
  70. package/dist/handlers/view/high/handleUpdateView.js +9 -3
  71. package/dist/handlers/view/high/handleUpdateView.js.map +1 -1
  72. package/dist/lib/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -1
  73. package/dist/lib/handlers/groups/ReadOnlyHandlersGroup.js +9 -0
  74. package/dist/lib/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -1
  75. package/docs/user-guide/AVAILABLE_TOOLS.md +20 -3
  76. package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
  77. package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +5 -1
  78. package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1 -1
  79. package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +15 -2
  80. package/package.json +3 -3
  81. package/dist/handlers/bdef/handleCreateBehaviorDefinition.d.ts +0 -50
  82. package/dist/handlers/bdef/handleCreateBehaviorDefinition.d.ts.map +0 -1
  83. package/dist/handlers/bdef/handleCreateBehaviorDefinition.js +0 -101
  84. package/dist/handlers/bdef/handleGetBdef.d.ts +0 -54
  85. package/dist/handlers/bdef/handleGetBdef.d.ts.map +0 -1
  86. package/dist/handlers/bdef/handleGetBdef.js +0 -89
  87. package/dist/handlers/bdef/handleUpdateBehaviorDefinition.d.ts +0 -37
  88. package/dist/handlers/bdef/handleUpdateBehaviorDefinition.d.ts.map +0 -1
  89. package/dist/handlers/bdef/handleUpdateBehaviorDefinition.js +0 -85
  90. package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts +0 -54
  91. package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts.map +0 -1
  92. package/dist/handlers/behavior_definition/readonly/handleGetBdef.js +0 -89
  93. package/dist/handlers/class/handleCheckClass.d.ts +0 -59
  94. package/dist/handlers/class/handleCheckClass.d.ts.map +0 -1
  95. package/dist/handlers/class/handleCheckClass.js +0 -138
  96. package/dist/handlers/class/handleCreateClass.d.ts +0 -80
  97. package/dist/handlers/class/handleCreateClass.d.ts.map +0 -1
  98. package/dist/handlers/class/handleCreateClass.js +0 -192
  99. package/dist/handlers/class/handleGetClass.d.ts +0 -16
  100. package/dist/handlers/class/handleGetClass.d.ts.map +0 -1
  101. package/dist/handlers/class/handleGetClass.js +0 -159
  102. package/dist/handlers/class/handleUpdateClassSource.d.ts +0 -44
  103. package/dist/handlers/class/handleUpdateClassSource.d.ts.map +0 -1
  104. package/dist/handlers/class/handleUpdateClassSource.js +0 -131
  105. package/dist/handlers/class/handleValidateClass.d.ts +0 -62
  106. package/dist/handlers/class/handleValidateClass.d.ts.map +0 -1
  107. package/dist/handlers/class/handleValidateClass.js +0 -136
  108. package/dist/handlers/class/readonly/handleGetClass.d.ts +0 -20
  109. package/dist/handlers/class/readonly/handleGetClass.d.ts.map +0 -1
  110. package/dist/handlers/class/readonly/handleGetClass.js +0 -159
  111. package/dist/handlers/common/handleActivateObject.d.ts +0 -62
  112. package/dist/handlers/common/handleActivateObject.d.ts.map +0 -1
  113. package/dist/handlers/common/handleActivateObject.js +0 -137
  114. package/dist/handlers/common/handleCheckObject.d.ts +0 -63
  115. package/dist/handlers/common/handleCheckObject.d.ts.map +0 -1
  116. package/dist/handlers/common/handleCheckObject.js +0 -197
  117. package/dist/handlers/common/handleDeleteObject.d.ts +0 -46
  118. package/dist/handlers/common/handleDeleteObject.d.ts.map +0 -1
  119. package/dist/handlers/common/handleDeleteObject.js +0 -176
  120. package/dist/handlers/common/handleLockObject.d.ts +0 -57
  121. package/dist/handlers/common/handleLockObject.d.ts.map +0 -1
  122. package/dist/handlers/common/handleLockObject.js +0 -195
  123. package/dist/handlers/common/handleUnlockObject.d.ts +0 -61
  124. package/dist/handlers/common/handleUnlockObject.d.ts.map +0 -1
  125. package/dist/handlers/common/handleUnlockObject.js +0 -178
  126. package/dist/handlers/common/handleValidateObject.d.ts +0 -58
  127. package/dist/handlers/common/handleValidateObject.d.ts.map +0 -1
  128. package/dist/handlers/common/handleValidateObject.js +0 -177
  129. package/dist/handlers/data_element/handleCreateDataElement.d.ts +0 -83
  130. package/dist/handlers/data_element/handleCreateDataElement.d.ts.map +0 -1
  131. package/dist/handlers/data_element/handleCreateDataElement.js +0 -180
  132. package/dist/handlers/data_element/handleGetDataElement.d.ts +0 -29
  133. package/dist/handlers/data_element/handleGetDataElement.d.ts.map +0 -1
  134. package/dist/handlers/data_element/handleGetDataElement.js +0 -173
  135. package/dist/handlers/data_element/handleUpdateDataElement.d.ts +0 -131
  136. package/dist/handlers/data_element/handleUpdateDataElement.d.ts.map +0 -1
  137. package/dist/handlers/data_element/handleUpdateDataElement.js +0 -258
  138. package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts +0 -33
  139. package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts.map +0 -1
  140. package/dist/handlers/data_element/readonly/handleGetDataElement.js +0 -173
  141. package/dist/handlers/ddlx/handleCreateMetadataExtension.d.ts +0 -41
  142. package/dist/handlers/ddlx/handleCreateMetadataExtension.d.ts.map +0 -1
  143. package/dist/handlers/ddlx/handleCreateMetadataExtension.js +0 -92
  144. package/dist/handlers/ddlx/handleUpdateMetadataExtension.d.ts +0 -37
  145. package/dist/handlers/ddlx/handleUpdateMetadataExtension.d.ts.map +0 -1
  146. package/dist/handlers/ddlx/handleUpdateMetadataExtension.js +0 -81
  147. package/dist/handlers/domain/handleCreateDomain.d.ts +0 -104
  148. package/dist/handlers/domain/handleCreateDomain.d.ts.map +0 -1
  149. package/dist/handlers/domain/handleCreateDomain.js +0 -187
  150. package/dist/handlers/domain/handleGetDomain.d.ts +0 -19
  151. package/dist/handlers/domain/handleGetDomain.d.ts.map +0 -1
  152. package/dist/handlers/domain/handleGetDomain.js +0 -138
  153. package/dist/handlers/domain/handleUpdateDomain.d.ts +0 -99
  154. package/dist/handlers/domain/handleUpdateDomain.d.ts.map +0 -1
  155. package/dist/handlers/domain/handleUpdateDomain.js +0 -204
  156. package/dist/handlers/domain/readonly/handleGetDomain.d.ts +0 -23
  157. package/dist/handlers/domain/readonly/handleGetDomain.d.ts.map +0 -1
  158. package/dist/handlers/domain/readonly/handleGetDomain.js +0 -138
  159. package/dist/handlers/enhancement/handleGetEnhancementImpl.d.ts +0 -69
  160. package/dist/handlers/enhancement/handleGetEnhancementImpl.d.ts.map +0 -1
  161. package/dist/handlers/enhancement/handleGetEnhancementImpl.js +0 -171
  162. package/dist/handlers/enhancement/handleGetEnhancementSpot.d.ts +0 -53
  163. package/dist/handlers/enhancement/handleGetEnhancementSpot.d.ts.map +0 -1
  164. package/dist/handlers/enhancement/handleGetEnhancementSpot.js +0 -153
  165. package/dist/handlers/enhancement/handleGetEnhancements.d.ts +0 -64
  166. package/dist/handlers/enhancement/handleGetEnhancements.d.ts.map +0 -1
  167. package/dist/handlers/enhancement/handleGetEnhancements.js +0 -599
  168. package/dist/handlers/function/handleCheckFunctionModule.d.ts +0 -59
  169. package/dist/handlers/function/handleCheckFunctionModule.d.ts.map +0 -1
  170. package/dist/handlers/function/handleCheckFunctionModule.js +0 -140
  171. package/dist/handlers/function/handleCreateFunctionGroup.d.ts +0 -52
  172. package/dist/handlers/function/handleCreateFunctionGroup.d.ts.map +0 -1
  173. package/dist/handlers/function/handleCreateFunctionGroup.js +0 -114
  174. package/dist/handlers/function/handleCreateFunctionModule.d.ts +0 -57
  175. package/dist/handlers/function/handleCreateFunctionModule.d.ts.map +0 -1
  176. package/dist/handlers/function/handleCreateFunctionModule.js +0 -137
  177. package/dist/handlers/function/handleGetFunction.d.ts +0 -17
  178. package/dist/handlers/function/handleGetFunction.d.ts.map +0 -1
  179. package/dist/handlers/function/handleGetFunction.js +0 -172
  180. package/dist/handlers/function/handleGetFunctionGroup.d.ts +0 -16
  181. package/dist/handlers/function/handleGetFunctionGroup.d.ts.map +0 -1
  182. package/dist/handlers/function/handleGetFunctionGroup.js +0 -132
  183. package/dist/handlers/function/handleUpdateFunctionModuleSource.d.ts +0 -54
  184. package/dist/handlers/function/handleUpdateFunctionModuleSource.d.ts.map +0 -1
  185. package/dist/handlers/function/handleUpdateFunctionModuleSource.js +0 -108
  186. package/dist/handlers/function/handleValidateFunctionModule.d.ts +0 -58
  187. package/dist/handlers/function/handleValidateFunctionModule.d.ts.map +0 -1
  188. package/dist/handlers/function/handleValidateFunctionModule.js +0 -132
  189. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts +0 -16
  190. package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts.map +0 -1
  191. package/dist/handlers/function/readonly/handleGetFunctionGroup.js +0 -132
  192. package/dist/handlers/include/handleGetInclude.d.ts +0 -16
  193. package/dist/handlers/include/handleGetInclude.d.ts.map +0 -1
  194. package/dist/handlers/include/handleGetInclude.js +0 -81
  195. package/dist/handlers/include/handleGetIncludesList.d.ts +0 -36
  196. package/dist/handlers/include/handleGetIncludesList.d.ts.map +0 -1
  197. package/dist/handlers/include/handleGetIncludesList.js +0 -223
  198. package/dist/handlers/interface/handleCreateInterface.d.ts +0 -64
  199. package/dist/handlers/interface/handleCreateInterface.d.ts.map +0 -1
  200. package/dist/handlers/interface/handleCreateInterface.js +0 -175
  201. package/dist/handlers/interface/handleGetInterface.d.ts +0 -40
  202. package/dist/handlers/interface/handleGetInterface.d.ts.map +0 -1
  203. package/dist/handlers/interface/handleGetInterface.js +0 -134
  204. package/dist/handlers/interface/handleUpdateInterfaceSource.d.ts +0 -48
  205. package/dist/handlers/interface/handleUpdateInterfaceSource.d.ts.map +0 -1
  206. package/dist/handlers/interface/handleUpdateInterfaceSource.js +0 -127
  207. package/dist/handlers/interface/readonly/handleGetInterface.d.ts +0 -44
  208. package/dist/handlers/interface/readonly/handleGetInterface.d.ts.map +0 -1
  209. package/dist/handlers/interface/readonly/handleGetInterface.js +0 -134
  210. package/dist/handlers/package/handleCreatePackage.d.ts +0 -38
  211. package/dist/handlers/package/handleCreatePackage.d.ts.map +0 -1
  212. package/dist/handlers/package/handleCreatePackage.js +0 -127
  213. package/dist/handlers/package/handleGetPackage.d.ts +0 -16
  214. package/dist/handlers/package/handleGetPackage.d.ts.map +0 -1
  215. package/dist/handlers/package/handleGetPackage.js +0 -94
  216. package/dist/handlers/package/readonly/handleGetPackage.d.ts +0 -21
  217. package/dist/handlers/package/readonly/handleGetPackage.d.ts.map +0 -1
  218. package/dist/handlers/package/readonly/handleGetPackage.js +0 -94
  219. package/dist/handlers/program/handleCreateProgram.d.ts +0 -73
  220. package/dist/handlers/program/handleCreateProgram.d.ts.map +0 -1
  221. package/dist/handlers/program/handleCreateProgram.js +0 -220
  222. package/dist/handlers/program/handleGetProgFullCode.d.ts +0 -67
  223. package/dist/handlers/program/handleGetProgFullCode.d.ts.map +0 -1
  224. package/dist/handlers/program/handleGetProgFullCode.js +0 -249
  225. package/dist/handlers/program/handleGetProgram.d.ts +0 -16
  226. package/dist/handlers/program/handleGetProgram.d.ts.map +0 -1
  227. package/dist/handlers/program/handleGetProgram.js +0 -71
  228. package/dist/handlers/program/handleUpdateProgramSource.d.ts +0 -44
  229. package/dist/handlers/program/handleUpdateProgramSource.d.ts.map +0 -1
  230. package/dist/handlers/program/handleUpdateProgramSource.js +0 -121
  231. package/dist/handlers/program/readonly/handleGetProgram.d.ts +0 -20
  232. package/dist/handlers/program/readonly/handleGetProgram.d.ts.map +0 -1
  233. package/dist/handlers/program/readonly/handleGetProgram.js +0 -71
  234. package/dist/handlers/search/handleGetObjectsByType.d.ts +0 -42
  235. package/dist/handlers/search/handleGetObjectsByType.d.ts.map +0 -1
  236. package/dist/handlers/search/handleGetObjectsByType.js +0 -166
  237. package/dist/handlers/search/handleGetObjectsList.d.ts +0 -46
  238. package/dist/handlers/search/handleGetObjectsList.d.ts.map +0 -1
  239. package/dist/handlers/search/handleGetObjectsList.js +0 -145
  240. package/dist/handlers/search/handleSearchObject.d.ts +0 -28
  241. package/dist/handlers/search/handleSearchObject.d.ts.map +0 -1
  242. package/dist/handlers/search/handleSearchObject.js +0 -119
  243. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts +0 -17
  244. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts.map +0 -1
  245. package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js +0 -136
  246. package/dist/handlers/structure/handleCreateStructure.d.ts +0 -107
  247. package/dist/handlers/structure/handleCreateStructure.d.ts.map +0 -1
  248. package/dist/handlers/structure/handleCreateStructure.js +0 -184
  249. package/dist/handlers/structure/handleGetStructure.d.ts +0 -16
  250. package/dist/handlers/structure/handleGetStructure.d.ts.map +0 -1
  251. package/dist/handlers/structure/handleGetStructure.js +0 -139
  252. package/dist/handlers/structure/readonly/handleGetStructure.d.ts +0 -16
  253. package/dist/handlers/structure/readonly/handleGetStructure.d.ts.map +0 -1
  254. package/dist/handlers/structure/readonly/handleGetStructure.js +0 -139
  255. package/dist/handlers/system/handleDescribeByList.d.ts +0 -36
  256. package/dist/handlers/system/handleDescribeByList.d.ts.map +0 -1
  257. package/dist/handlers/system/handleDescribeByList.js +0 -121
  258. package/dist/handlers/system/handleGetAbapAST.d.ts +0 -26
  259. package/dist/handlers/system/handleGetAbapAST.d.ts.map +0 -1
  260. package/dist/handlers/system/handleGetAbapAST.js +0 -172
  261. package/dist/handlers/system/handleGetAbapSemanticAnalysis.d.ts +0 -26
  262. package/dist/handlers/system/handleGetAbapSemanticAnalysis.d.ts.map +0 -1
  263. package/dist/handlers/system/handleGetAbapSemanticAnalysis.js +0 -353
  264. package/dist/handlers/system/handleGetAbapSystemSymbols.d.ts +0 -26
  265. package/dist/handlers/system/handleGetAbapSystemSymbols.d.ts.map +0 -1
  266. package/dist/handlers/system/handleGetAbapSystemSymbols.js +0 -574
  267. package/dist/handlers/system/handleGetAllTypes.d.ts +0 -22
  268. package/dist/handlers/system/handleGetAllTypes.d.ts.map +0 -1
  269. package/dist/handlers/system/handleGetAllTypes.js +0 -102
  270. package/dist/handlers/system/handleGetInactiveObjects.d.ts +0 -20
  271. package/dist/handlers/system/handleGetInactiveObjects.d.ts.map +0 -1
  272. package/dist/handlers/system/handleGetInactiveObjects.js +0 -41
  273. package/dist/handlers/system/handleGetObjectInfo.d.ts +0 -41
  274. package/dist/handlers/system/handleGetObjectInfo.d.ts.map +0 -1
  275. package/dist/handlers/system/handleGetObjectInfo.js +0 -210
  276. package/dist/handlers/system/handleGetObjectNodeFromCache.d.ts +0 -40
  277. package/dist/handlers/system/handleGetObjectNodeFromCache.d.ts.map +0 -1
  278. package/dist/handlers/system/handleGetObjectNodeFromCache.js +0 -70
  279. package/dist/handlers/system/handleGetObjectStructure.d.ts +0 -26
  280. package/dist/handlers/system/handleGetObjectStructure.d.ts.map +0 -1
  281. package/dist/handlers/system/handleGetObjectStructure.js +0 -103
  282. package/dist/handlers/system/handleGetSession.d.ts +0 -33
  283. package/dist/handlers/system/handleGetSession.d.ts.map +0 -1
  284. package/dist/handlers/system/handleGetSession.js +0 -63
  285. package/dist/handlers/system/handleGetSqlQuery.d.ts +0 -49
  286. package/dist/handlers/system/handleGetSqlQuery.d.ts.map +0 -1
  287. package/dist/handlers/system/handleGetSqlQuery.js +0 -176
  288. package/dist/handlers/system/handleGetTransaction.d.ts +0 -42
  289. package/dist/handlers/system/handleGetTransaction.d.ts.map +0 -1
  290. package/dist/handlers/system/handleGetTransaction.js +0 -91
  291. package/dist/handlers/system/handleGetTypeInfo.d.ts +0 -69
  292. package/dist/handlers/system/handleGetTypeInfo.d.ts.map +0 -1
  293. package/dist/handlers/system/handleGetTypeInfo.js +0 -169
  294. package/dist/handlers/system/handleGetWhereUsed.d.ts +0 -69
  295. package/dist/handlers/system/handleGetWhereUsed.d.ts.map +0 -1
  296. package/dist/handlers/system/handleGetWhereUsed.js +0 -405
  297. package/dist/handlers/table/handleCheckTable.d.ts +0 -55
  298. package/dist/handlers/table/handleCheckTable.d.ts.map +0 -1
  299. package/dist/handlers/table/handleCheckTable.js +0 -138
  300. package/dist/handlers/table/handleCreateTable.d.ts +0 -42
  301. package/dist/handlers/table/handleCreateTable.d.ts.map +0 -1
  302. package/dist/handlers/table/handleCreateTable.js +0 -118
  303. package/dist/handlers/table/handleGetTable.d.ts +0 -16
  304. package/dist/handlers/table/handleGetTable.d.ts.map +0 -1
  305. package/dist/handlers/table/handleGetTable.js +0 -140
  306. package/dist/handlers/table/handleGetTableContents.d.ts +0 -56
  307. package/dist/handlers/table/handleGetTableContents.d.ts.map +0 -1
  308. package/dist/handlers/table/handleGetTableContents.js +0 -387
  309. package/dist/handlers/table/handleValidateTable.d.ts +0 -53
  310. package/dist/handlers/table/handleValidateTable.d.ts.map +0 -1
  311. package/dist/handlers/table/handleValidateTable.js +0 -125
  312. package/dist/handlers/table/readonly/handleGetTable.d.ts +0 -20
  313. package/dist/handlers/table/readonly/handleGetTable.d.ts.map +0 -1
  314. package/dist/handlers/table/readonly/handleGetTable.js +0 -140
  315. package/dist/handlers/transport/handleCreateTransport.d.ts +0 -50
  316. package/dist/handlers/transport/handleCreateTransport.d.ts.map +0 -1
  317. package/dist/handlers/transport/handleCreateTransport.js +0 -151
  318. package/dist/handlers/transport/handleGetTransport.d.ts +0 -44
  319. package/dist/handlers/transport/handleGetTransport.d.ts.map +0 -1
  320. package/dist/handlers/transport/handleGetTransport.js +0 -183
  321. package/dist/handlers/view/handleCreateView.d.ts +0 -52
  322. package/dist/handlers/view/handleCreateView.d.ts.map +0 -1
  323. package/dist/handlers/view/handleCreateView.js +0 -139
  324. package/dist/handlers/view/handleGetView.d.ts +0 -26
  325. package/dist/handlers/view/handleGetView.d.ts.map +0 -1
  326. package/dist/handlers/view/handleGetView.js +0 -349
  327. package/dist/handlers/view/handleUpdateViewSource.d.ts +0 -44
  328. package/dist/handlers/view/handleUpdateViewSource.d.ts.map +0 -1
  329. package/dist/handlers/view/handleUpdateViewSource.js +0 -136
  330. package/dist/handlers/view/readonly/handleGetView.d.ts +0 -26
  331. package/dist/handlers/view/readonly/handleGetView.d.ts.map +0 -1
  332. package/dist/handlers/view/readonly/handleGetView.js +0 -349
  333. package/dist/index.d.ts +0 -94
  334. package/dist/index.d.ts.map +0 -1
  335. package/dist/index.js +0 -2453
  336. package/dist/lib/activationUtils.d.ts +0 -59
  337. package/dist/lib/activationUtils.d.ts.map +0 -1
  338. package/dist/lib/activationUtils.js +0 -168
  339. package/dist/lib/getFullCodeCache.d.ts +0 -3
  340. package/dist/lib/getFullCodeCache.d.ts.map +0 -1
  341. package/dist/lib/getFullCodeCache.js +0 -56
  342. package/dist/lib/toolsRegistry.d.ts +0 -13
  343. package/dist/lib/toolsRegistry.d.ts.map +0 -1
  344. package/dist/lib/toolsRegistry.js +0 -410
  345. package/dist/utils/lockStateManager.d.ts +0 -64
  346. package/dist/utils/lockStateManager.d.ts.map +0 -1
  347. package/dist/utils/lockStateManager.js +0 -173
  348. package/dist/utils/lockStateManager.js.map +0 -1
@@ -1,387 +0,0 @@
1
- "use strict";
2
- /**
3
- * SAP ADT Data Preview API Implementation - COMPLETED
4
- *
5
- * TASK: Fix the SAP ADT data preview API implementation for getting table contents.
6
- * The task involved correcting the POST request format to match Eclipse ADT behavior,
7
- * which sends SQL SELECT statements with explicit field lists instead of "SELECT *" queries.
8
- *
9
- * COMPLETED FIXES:
10
- * ✅ Fixed makeAdtRequest function to use POST instead of GET for table contents
11
- * ✅ Added Content-Type "text/plain; charset=utf-8" for SQL queries
12
- * ✅ Improved cleanup() function in utils.ts to properly clear axios interceptors
13
- * ✅ Updated Jest configuration with forceExit and increased timeouts
14
- * ✅ Added comprehensive logging to handleGetTableContents for debugging
15
- * ✅ Fixed CDS field parsing to correctly extract field names from "define table" syntax
16
- * ✅ Generate proper SQL SELECT statements with explicit field lists for any table
17
- * ✅ Tested with T000, T100S, and TOBJ tables - all working successfully
18
- * ✅ Added test to verify generated SQL matches expected format
19
- *
20
- * IMPLEMENTATION DETAILS:
21
- * - CDS field parsing using line-by-line regex matching for field definitions
22
- * - SQL generation with table-prefixed field names (e.g., "T000~MANDT")
23
- * - Fallback mechanisms for different table structure formats
24
- * - Proper error handling and logging throughout the process
25
- * - All 19 tests passing including new SQL format validation test
26
- *
27
- * The implementation now correctly sends SQL SELECT statements like:
28
- * "SELECT T000~MANDT, T000~MTEXT, T000~ORT01, T000~MWAER, T000~ADRNR, ... FROM T000"
29
- * instead of "SELECT * FROM T000" which SAP ADT doesn't support.
30
- */
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.TOOL_DEFINITION = void 0;
33
- exports.handleGetTableContents = handleGetTableContents;
34
- const utils_1 = require("../../lib/utils");
35
- const utils_2 = require("../../lib/utils");
36
- const index_1 = require("../../index");
37
- const writeResultToFile_1 = require("../../lib/writeResultToFile");
38
- exports.TOOL_DEFINITION = {
39
- "name": "GetTableContents",
40
- "description": "Retrieve contents of an ABAP table.",
41
- "inputSchema": {
42
- "type": "object",
43
- "properties": {
44
- "table_name": {
45
- "type": "string",
46
- "description": "Name of the ABAP table"
47
- },
48
- "max_rows": {
49
- "type": "number",
50
- "description": "Maximum number of rows to retrieve",
51
- "default": 100
52
- }
53
- },
54
- "required": [
55
- "table_name"
56
- ]
57
- }
58
- };
59
- /**
60
- * Parse SAP ADT XML response and convert to JSON format with rows
61
- */
62
- function parseTableDataXml(xmlData, tableName) {
63
- try {
64
- // Extract basic information
65
- const totalRowsMatch = xmlData.match(/<dataPreview:totalRows>(\d+)<\/dataPreview:totalRows>/);
66
- const totalRows = totalRowsMatch ? parseInt(totalRowsMatch[1]) : 0;
67
- const queryTimeMatch = xmlData.match(/<dataPreview:queryExecutionTime>([\d.]+)<\/dataPreview:queryExecutionTime>/);
68
- const queryExecutionTime = queryTimeMatch ? parseFloat(queryTimeMatch[1]) : 0;
69
- // Extract column metadata
70
- const columns = [];
71
- const columnMatches = xmlData.match(/<dataPreview:metadata[^>]*>/g);
72
- if (columnMatches) {
73
- columnMatches.forEach(match => {
74
- const nameMatch = match.match(/dataPreview:name="([^"]+)"/);
75
- const typeMatch = match.match(/dataPreview:type="([^"]+)"/);
76
- const descMatch = match.match(/dataPreview:description="([^"]+)"/);
77
- const lengthMatch = match.match(/dataPreview:length="(\d+)"/);
78
- if (nameMatch) {
79
- columns.push({
80
- name: nameMatch[1],
81
- type: typeMatch ? typeMatch[1] : 'UNKNOWN',
82
- description: descMatch ? descMatch[1] : '',
83
- length: lengthMatch ? parseInt(lengthMatch[1]) : undefined
84
- });
85
- }
86
- });
87
- }
88
- // Extract row data - each column has its own dataSet with multiple data elements
89
- const rows = [];
90
- // Find all column sections
91
- const columnSections = xmlData.match(/<dataPreview:columns>.*?<\/dataPreview:columns>/gs);
92
- if (columnSections && columnSections.length > 0) {
93
- // Extract data for each column
94
- const columnData = {};
95
- columnSections.forEach((section, index) => {
96
- if (index < columns.length) {
97
- const columnName = columns[index].name;
98
- const dataMatches = section.match(/<dataPreview:data[^>]*>(.*?)<\/dataPreview:data>/g);
99
- if (dataMatches) {
100
- columnData[columnName] = dataMatches.map(match => {
101
- const content = match.replace(/<[^>]+>/g, '');
102
- return content || null;
103
- });
104
- }
105
- else {
106
- columnData[columnName] = [];
107
- }
108
- }
109
- });
110
- // Convert column-based data to row-based data
111
- const maxRowCount = Math.max(...Object.values(columnData).map(arr => arr.length), 0);
112
- for (let rowIndex = 0; rowIndex < maxRowCount; rowIndex++) {
113
- const row = {};
114
- columns.forEach(column => {
115
- const columnValues = columnData[column.name] || [];
116
- row[column.name] = columnValues[rowIndex] || null;
117
- });
118
- rows.push(row);
119
- }
120
- }
121
- return {
122
- tableName,
123
- totalRows,
124
- queryExecutionTime,
125
- columns,
126
- rows,
127
- metadata: {
128
- recordCount: rows.length,
129
- columnCount: columns.length
130
- }
131
- };
132
- }
133
- catch (error) {
134
- utils_1.logger.error('Error parsing table data XML', { error: error instanceof Error ? error.message : String(error) });
135
- // Return basic structure on parse error
136
- return {
137
- tableName,
138
- totalRows: 0,
139
- queryExecutionTime: 0,
140
- columns: [],
141
- rows: [],
142
- metadata: {
143
- recordCount: 0,
144
- columnCount: 0
145
- },
146
- error: 'Failed to parse XML response'
147
- };
148
- }
149
- }
150
- // ABAP table source may contain statements such as "INCLUDE STRUCTURE" that
151
- // are not real fields, so we maintain an explicit deny-list to avoid injecting
152
- // pseudo identifiers into the SQL statement sent to SAP.
153
- const STRUCTURE_KEYWORDS = new Set([
154
- 'INCLUDE',
155
- 'APPEND',
156
- 'BEGIN',
157
- 'END',
158
- 'FOREIGN',
159
- 'PRIMARY',
160
- 'INDEX',
161
- 'UNIQUE',
162
- 'CHECK',
163
- 'CONSTRAINT',
164
- 'KEY'
165
- ]);
166
- async function getFieldsFromDatapreviewMetadata(tableName) {
167
- try {
168
- const metadataUrl = `${await (0, utils_2.getBaseUrl)()}/sap/bc/adt/datapreview/ddic/${(0, utils_2.encodeSapObjectName)(tableName)}/metadata`;
169
- utils_1.logger.info('Fetching datapreview metadata', { metadataUrl });
170
- const metadataResponse = await (0, utils_2.makeAdtRequestWithTimeout)(metadataUrl, 'GET', 'default');
171
- const xmlText = metadataResponse.data;
172
- const fieldMatches = xmlText.match(/<dataPreview:metadata[^>]*dataPreview:name="([^"]+)"[^>]*>/gi);
173
- if (!fieldMatches) {
174
- return [];
175
- }
176
- const fields = fieldMatches
177
- .map((match) => {
178
- const fieldNameMatch = match.match(/dataPreview:name="([^"]+)"/i);
179
- const fieldName = fieldNameMatch?.[1]?.toUpperCase();
180
- if (!fieldName || STRUCTURE_KEYWORDS.has(fieldName)) {
181
- return '';
182
- }
183
- if (!/^[A-Z0-9_\/]+$/.test(fieldName)) {
184
- return '';
185
- }
186
- return `${tableName}~${fieldName}`;
187
- })
188
- .filter((field) => field !== '');
189
- return Array.from(new Set(fields));
190
- }
191
- catch (error) {
192
- utils_1.logger.warn('Failed to fetch datapreview metadata', {
193
- error: error instanceof Error ? error.message : String(error),
194
- tableName
195
- });
196
- return [];
197
- }
198
- }
199
- async function handleGetTableContents(args) {
200
- try {
201
- utils_1.logger.info('handleGetTableContents called', { args });
202
- if (!args?.table_name) {
203
- throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Table name is required');
204
- }
205
- const maxRows = args.max_rows || 100;
206
- const tableName = args.table_name;
207
- // Detect deployment type by authentication method. JWT ~= cloud (BTP) where
208
- // direct table datapreview access is restricted. Basic auth typically
209
- // indicates on-premise systems where ADT datapreview may work.
210
- try {
211
- const cfg = (0, index_1.getConfig)();
212
- if (cfg.authType === 'jwt') {
213
- utils_1.logger.warn('handleGetTableContents blocked on cloud deployment (JWT auth)', { tableName });
214
- return {
215
- isError: true,
216
- content: [
217
- {
218
- type: 'text',
219
- text: 'Forbidden: Direct table contents preview via ADT is not permitted on cloud ABAP (BTP) when using JWT authentication. Use an on-premise system or another API that exposes data, or run this tool against a system with basic auth.'
220
- }
221
- ]
222
- };
223
- }
224
- }
225
- catch (cfgErr) {
226
- // If config cannot be determined, proceed with normal flow but log it.
227
- utils_1.logger.warn('Could not determine SAP config for deployment detection', { error: cfgErr instanceof Error ? cfgErr.message : String(cfgErr) });
228
- }
229
- utils_1.logger.info('Making table contents request', { tableName, maxRows });
230
- // First, get the table structure to know all fields
231
- const tableStructureUrl = `${await (0, utils_2.getBaseUrl)()}/sap/bc/adt/ddic/tables/${(0, utils_2.encodeSapObjectName)(tableName)}/source/main`;
232
- utils_1.logger.info('Getting table structure first', { tableStructureUrl });
233
- let tableFields = await getFieldsFromDatapreviewMetadata(tableName);
234
- try {
235
- if (tableFields.length > 0) {
236
- utils_1.logger.info('Using fields from datapreview metadata', { count: tableFields.length, fields: tableFields.slice(0, 5) });
237
- }
238
- if (tableFields.length === 0) {
239
- const structureResponse = await (0, utils_2.makeAdtRequestWithTimeout)(tableStructureUrl, 'GET', 'default');
240
- // Parse table structure to extract field names
241
- const structureText = structureResponse.data;
242
- // Extract field names from ABAP table definition
243
- // Support both old and new CDS view syntax
244
- const fieldNames = new Set();
245
- // Check if this is a CDS view (contains "define table")
246
- if (structureText.includes('define table')) {
247
- // New CDS syntax: parse line by line to properly handle field definitions
248
- const lines = structureText.split('\n');
249
- for (const line of lines) {
250
- const trimmedLine = line.trim();
251
- // Match field definitions inside the CDS table definition
252
- const fieldMatch = trimmedLine.match(/^(key\s+)?([a-z0-9_]+)\s*:\s*[a-z0-9_]+/i);
253
- if (fieldMatch) {
254
- const fieldName = fieldMatch[2].trim().toUpperCase();
255
- if (fieldName && fieldName.length > 0) {
256
- fieldNames.add(fieldName);
257
- }
258
- }
259
- }
260
- utils_1.logger.info('Parsed CDS view fields', { count: fieldNames.size, fields: Array.from(fieldNames).slice(0, 10) });
261
- }
262
- else {
263
- // Old ABAP syntax patterns
264
- const patterns = [
265
- /^\s+([A-Z0-9_]+)\s*:\s*(TYPE|LIKE)/gmi, // FIELD : TYPE pattern
266
- /^\s+([A-Z0-9_]+)\s+(TYPE|LIKE)/gmi, // FIELD TYPE pattern
267
- /^\s+([A-Z0-9_]+)\s*:\s*[A-Z0-9_]+/gmi, // FIELD : DOMAIN pattern
268
- /^\s+([A-Z0-9_]+)\s+[A-Z0-9_]+(?:\([0-9]+\))?/gmi // FIELD DOMAIN(LENGTH) pattern
269
- ];
270
- for (const pattern of patterns) {
271
- const matches = structureText.match(pattern);
272
- if (matches) {
273
- matches.forEach((match) => {
274
- const fieldName = match.trim().split(/[\s:]+/)[0].trim();
275
- if (fieldName && fieldName.length > 0 && !fieldName.includes('.')) {
276
- fieldNames.add(fieldName);
277
- }
278
- });
279
- }
280
- }
281
- utils_1.logger.info('Parsed traditional ABAP fields', { count: fieldNames.size, fields: Array.from(fieldNames).slice(0, 10) });
282
- }
283
- if (fieldNames.size > 0) {
284
- tableFields = Array.from(fieldNames)
285
- .filter((fieldName) => {
286
- const upper = fieldName.toUpperCase();
287
- if (STRUCTURE_KEYWORDS.has(upper)) {
288
- return false;
289
- }
290
- return /^[A-Z0-9_\/]+$/.test(upper);
291
- })
292
- .map((fieldName) => `${tableName}~${fieldName}`);
293
- }
294
- utils_1.logger.info('Extracted table fields', { count: tableFields.length, fields: tableFields.slice(0, 5) });
295
- }
296
- }
297
- catch (structureError) {
298
- utils_1.logger.warn('Could not get table structure, falling back to alternative method', {
299
- error: structureError instanceof Error ? structureError.message : String(structureError)
300
- });
301
- // If we can't get structure from main source, try alternative endpoints
302
- try {
303
- // Try getting table metadata via different endpoint
304
- const metadataUrl = `${await (0, utils_2.getBaseUrl)()}/sap/bc/adt/ddic/tables/${(0, utils_2.encodeSapObjectName)(tableName)}`;
305
- const metadataResponse = await (0, utils_2.makeAdtRequestWithTimeout)(metadataUrl, 'GET', 'default');
306
- // Parse XML metadata to extract field names
307
- const xmlText = metadataResponse.data;
308
- const fieldMatches = xmlText.match(/<ddic:field[^>]*name="([^"]+)"/gi);
309
- if (fieldMatches) {
310
- tableFields = fieldMatches
311
- .map((match) => {
312
- const fieldName = match.match(/name="([^"]+)"/);
313
- const nameValue = fieldName?.[1];
314
- if (!nameValue) {
315
- return '';
316
- }
317
- if (STRUCTURE_KEYWORDS.has(nameValue.toUpperCase())) {
318
- return '';
319
- }
320
- return `${tableName}~${nameValue}`;
321
- })
322
- .filter(field => field !== '');
323
- utils_1.logger.info('Extracted fields from metadata', { count: tableFields.length, fields: tableFields.slice(0, 5) });
324
- }
325
- }
326
- catch (metadataError) {
327
- utils_1.logger.warn('Could not get table metadata either, using generic approach', {
328
- error: metadataError instanceof Error ? metadataError.message : String(metadataError)
329
- });
330
- // Last resort: use SELECT * but this might not work with SAP ADT
331
- // In real implementation, you might want to maintain a cache of known table structures
332
- tableFields = [`*`];
333
- }
334
- }
335
- // Always generate SELECT statement with explicit field list when possible
336
- let selectStatement;
337
- if (tableFields.length > 0 && !tableFields.includes('*')) {
338
- selectStatement = `SELECT ${tableFields.join(', ')} FROM ${tableName}`;
339
- }
340
- else {
341
- // Fallback: try with SELECT * (might not work but worth trying)
342
- selectStatement = `SELECT * FROM ${tableName}`;
343
- utils_1.logger.warn('Using SELECT * as fallback - this might not work with SAP ADT', { tableName });
344
- }
345
- utils_1.logger.info('Making request with SQL payload', { selectStatement });
346
- // Use ADT data preview service to get table contents
347
- const url = `${await (0, utils_2.getBaseUrl)()}/sap/bc/adt/datapreview/ddic?rowNumber=${maxRows}&ddicEntityName=${(0, utils_2.encodeSapObjectName)(tableName)}`;
348
- const response = await (0, utils_2.makeAdtRequestWithTimeout)(url, 'POST', 'long', selectStatement);
349
- utils_1.logger.info('Table contents request completed', { status: response.status });
350
- // Parse XML response and convert to JSON format with rows
351
- const xmlData = response.data;
352
- const parsedData = parseTableDataXml(xmlData, tableName);
353
- utils_1.logger.info('Parsed table data', {
354
- totalRows: parsedData.totalRows,
355
- columnsCount: parsedData.columns.length,
356
- rowsCount: parsedData.rows.length
357
- });
358
- const result = {
359
- isError: false,
360
- content: [
361
- {
362
- type: 'text',
363
- text: JSON.stringify(parsedData, null, 2)
364
- }
365
- ]
366
- };
367
- if (args.filePath) {
368
- (0, writeResultToFile_1.writeResultToFile)(JSON.stringify(result, null, 2), args.filePath);
369
- }
370
- return result;
371
- }
372
- catch (error) {
373
- utils_1.logger.error('Error in handleGetTableContents', {
374
- error: error instanceof Error ? error.message : String(error),
375
- tableName: args?.table_name
376
- });
377
- return {
378
- isError: true,
379
- content: [
380
- {
381
- type: "text",
382
- text: error instanceof Error ? error.message : String(error)
383
- }
384
- ]
385
- };
386
- }
387
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * ValidateTable Handler - Validate ABAP table name via ADT API
3
- *
4
- * Uses validateTableName from @mcp-abap-adt/adt-clients/core/table for table-specific validation.
5
- */
6
- export declare const TOOL_DEFINITION: {
7
- readonly name: "ValidateTable";
8
- readonly description: "Validate an ABAP table name before creation. Checks if the name is valid and available. Can use session_id and session_state from GetSession to maintain the same session.";
9
- readonly inputSchema: {
10
- readonly type: "object";
11
- readonly properties: {
12
- readonly table_name: {
13
- readonly type: "string";
14
- readonly description: "Table name to validate (e.g., Z_MY_TABLE)";
15
- };
16
- readonly description: {
17
- readonly type: "string";
18
- readonly description: "Optional description for validation";
19
- };
20
- readonly session_id: {
21
- readonly type: "string";
22
- readonly description: "Session ID from GetSession. If not provided, a new session will be created.";
23
- };
24
- readonly session_state: {
25
- readonly type: "object";
26
- readonly description: "Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.";
27
- readonly properties: {
28
- readonly cookies: {
29
- readonly type: "string";
30
- };
31
- readonly csrf_token: {
32
- readonly type: "string";
33
- };
34
- readonly cookie_store: {
35
- readonly type: "object";
36
- };
37
- };
38
- };
39
- };
40
- readonly required: readonly ["table_name"];
41
- };
42
- };
43
- /**
44
- * Main handler for ValidateTable MCP tool
45
- */
46
- export declare function handleValidateTable(args: any): Promise<{
47
- isError: boolean;
48
- content: {
49
- type: string;
50
- text: any;
51
- }[];
52
- }>;
53
- //# sourceMappingURL=handleValidateTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleValidateTable.d.ts","sourceRoot":"","sources":["../../../src/handlers/table/handleValidateTable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BlB,CAAC;AAaX;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,GAAG;;;;;;GA8FlD"}
@@ -1,125 +0,0 @@
1
- "use strict";
2
- /**
3
- * ValidateTable Handler - Validate ABAP table name via ADT API
4
- *
5
- * Uses validateTableName from @mcp-abap-adt/adt-clients/core/table for table-specific validation.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.TOOL_DEFINITION = void 0;
9
- exports.handleValidateTable = handleValidateTable;
10
- const utils_1 = require("../../lib/utils");
11
- const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
12
- exports.TOOL_DEFINITION = {
13
- name: "ValidateTable",
14
- description: "Validate an ABAP table name before creation. Checks if the name is valid and available. Can use session_id and session_state from GetSession to maintain the same session.",
15
- inputSchema: {
16
- type: "object",
17
- properties: {
18
- table_name: {
19
- type: "string",
20
- description: "Table name to validate (e.g., Z_MY_TABLE)"
21
- },
22
- description: {
23
- type: "string",
24
- description: "Optional description for validation"
25
- },
26
- session_id: {
27
- type: "string",
28
- description: "Session ID from GetSession. If not provided, a new session will be created."
29
- },
30
- session_state: {
31
- type: "object",
32
- description: "Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.",
33
- properties: {
34
- cookies: { type: "string" },
35
- csrf_token: { type: "string" },
36
- cookie_store: { type: "object" }
37
- }
38
- }
39
- },
40
- required: ["table_name"]
41
- }
42
- };
43
- /**
44
- * Main handler for ValidateTable MCP tool
45
- */
46
- async function handleValidateTable(args) {
47
- try {
48
- const { table_name, description, session_id, session_state } = args;
49
- if (!table_name) {
50
- return (0, utils_1.return_error)(new Error('table_name is required'));
51
- }
52
- const connection = (0, utils_1.getManagedConnection)();
53
- // Restore session state if provided
54
- if (session_id && session_state) {
55
- connection.setSessionState({
56
- cookies: session_state.cookies || null,
57
- csrfToken: session_state.csrf_token || null,
58
- cookieStore: session_state.cookie_store || {}
59
- });
60
- }
61
- else {
62
- // Ensure connection is established
63
- await connection.connect();
64
- }
65
- const tableName = table_name.toUpperCase();
66
- utils_1.logger.info(`Starting table validation: ${tableName}`);
67
- try {
68
- const client = new adt_clients_1.CrudClient(connection);
69
- await client.validateTable(tableName);
70
- const result = client.getValidationResult();
71
- if (!result) {
72
- throw new Error('Validation did not return a result');
73
- }
74
- // Get updated session state after validation
75
- const updatedSessionState = connection.getSessionState();
76
- utils_1.logger.info(`✅ ValidateTable completed: ${tableName}`);
77
- utils_1.logger.info(` Valid: ${result.valid}, Message: ${result.message || 'N/A'}`);
78
- return (0, utils_1.return_response)({
79
- data: JSON.stringify({
80
- success: result.valid,
81
- table_name: tableName,
82
- description: description || null,
83
- validation_result: result,
84
- session_id: session_id || null,
85
- session_state: updatedSessionState ? {
86
- cookies: updatedSessionState.cookies,
87
- csrf_token: updatedSessionState.csrfToken,
88
- cookie_store: updatedSessionState.cookieStore
89
- } : null,
90
- message: result.valid
91
- ? `Table name ${tableName} is valid and available`
92
- : `Table name ${tableName} validation failed: ${result.message || 'Unknown error'}`
93
- }, null, 2)
94
- });
95
- }
96
- catch (error) {
97
- utils_1.logger.error(`Error validating table ${tableName}:`, error);
98
- let errorMessage = `Failed to validate table: ${error.message || String(error)}`;
99
- if (error.response?.status === 404) {
100
- errorMessage = `Table ${tableName} not found.`;
101
- }
102
- else if (error.response?.data && typeof error.response.data === 'string') {
103
- try {
104
- const { XMLParser } = require('fast-xml-parser');
105
- const parser = new XMLParser({
106
- ignoreAttributes: false,
107
- attributeNamePrefix: '@_'
108
- });
109
- const errorData = parser.parse(error.response.data);
110
- const errorMsg = errorData['exc:exception']?.message?.['#text'] || errorData['exc:exception']?.message;
111
- if (errorMsg) {
112
- errorMessage = `SAP Error: ${errorMsg}`;
113
- }
114
- }
115
- catch (parseError) {
116
- // Ignore parse errors
117
- }
118
- }
119
- return (0, utils_1.return_error)(new Error(errorMessage));
120
- }
121
- }
122
- catch (error) {
123
- return (0, utils_1.return_error)(error);
124
- }
125
- }
@@ -1,20 +0,0 @@
1
- import * as z from 'zod';
2
- export declare const TOOL_DEFINITION: {
3
- readonly name: "GetTable";
4
- readonly description: "[read-only] Retrieve ABAP table structure.";
5
- readonly inputSchema: {
6
- readonly table_name: z.ZodString;
7
- };
8
- };
9
- interface GetTableArgs {
10
- [key: string]: any;
11
- }
12
- export declare function handleGetTable(args: GetTableArgs): Promise<{
13
- isError: boolean;
14
- content: {
15
- type: string;
16
- text: any;
17
- }[];
18
- }>;
19
- export {};
20
- //# sourceMappingURL=handleGetTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleGetTable.d.ts","sourceRoot":"","sources":["../../../../src/handlers/table/readonly/handleGetTable.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAwCD,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY;;;;;;GAsDtD"}