@mcp-abap-adt/adt-clients 0.1.0

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 (477) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +184 -0
  3. package/bin/README.md +368 -0
  4. package/bin/lock-object.js +274 -0
  5. package/bin/manage-locks.js +331 -0
  6. package/bin/manage-sessions.js +235 -0
  7. package/bin/unlock-object.js +291 -0
  8. package/bin/unlock-test-objects.js +248 -0
  9. package/dist/clients/CrudClient.d.ts +48 -0
  10. package/dist/clients/CrudClient.d.ts.map +1 -0
  11. package/dist/clients/CrudClient.js +135 -0
  12. package/dist/clients/LockClient.d.ts +28 -0
  13. package/dist/clients/LockClient.d.ts.map +1 -0
  14. package/dist/clients/LockClient.js +141 -0
  15. package/dist/clients/ManagementClient.d.ts +34 -0
  16. package/dist/clients/ManagementClient.d.ts.map +1 -0
  17. package/dist/clients/ManagementClient.js +80 -0
  18. package/dist/clients/ReadOnlyClient.d.ts +70 -0
  19. package/dist/clients/ReadOnlyClient.d.ts.map +1 -0
  20. package/dist/clients/ReadOnlyClient.js +141 -0
  21. package/dist/clients/ValidationClient.d.ts +8 -0
  22. package/dist/clients/ValidationClient.d.ts.map +1 -0
  23. package/dist/clients/ValidationClient.js +14 -0
  24. package/dist/core/class/ClassBuilder.d.ts +140 -0
  25. package/dist/core/class/ClassBuilder.d.ts.map +1 -0
  26. package/dist/core/class/ClassBuilder.js +400 -0
  27. package/dist/core/class/activation.d.ts +11 -0
  28. package/dist/core/class/activation.d.ts.map +1 -0
  29. package/dist/core/class/activation.js +16 -0
  30. package/dist/core/class/check.d.ts +24 -0
  31. package/dist/core/class/check.d.ts.map +1 -0
  32. package/dist/core/class/check.js +73 -0
  33. package/dist/core/class/create.d.ts +30 -0
  34. package/dist/core/class/create.d.ts.map +1 -0
  35. package/dist/core/class/create.js +118 -0
  36. package/dist/core/class/index.d.ts +14 -0
  37. package/dist/core/class/index.d.ts.map +1 -0
  38. package/dist/core/class/index.js +31 -0
  39. package/dist/core/class/lock.d.ts +20 -0
  40. package/dist/core/class/lock.d.ts.map +1 -0
  41. package/dist/core/class/lock.js +49 -0
  42. package/dist/core/class/read.d.ts +34 -0
  43. package/dist/core/class/read.d.ts.map +1 -0
  44. package/dist/core/class/read.js +59 -0
  45. package/dist/core/class/run.d.ts +51 -0
  46. package/dist/core/class/run.d.ts.map +1 -0
  47. package/dist/core/class/run.js +105 -0
  48. package/dist/core/class/unlock.d.ts +11 -0
  49. package/dist/core/class/unlock.d.ts.map +1 -0
  50. package/dist/core/class/unlock.js +16 -0
  51. package/dist/core/class/update.d.ts +11 -0
  52. package/dist/core/class/update.d.ts.map +1 -0
  53. package/dist/core/class/update.js +30 -0
  54. package/dist/core/class/validation.d.ts +28 -0
  55. package/dist/core/class/validation.d.ts.map +1 -0
  56. package/dist/core/class/validation.js +269 -0
  57. package/dist/core/dataElement/DataElementBuilder.d.ts +113 -0
  58. package/dist/core/dataElement/DataElementBuilder.d.ts.map +1 -0
  59. package/dist/core/dataElement/DataElementBuilder.js +449 -0
  60. package/dist/core/dataElement/activation.d.ts +11 -0
  61. package/dist/core/dataElement/activation.d.ts.map +1 -0
  62. package/dist/core/dataElement/activation.js +123 -0
  63. package/dist/core/dataElement/check.d.ts +12 -0
  64. package/dist/core/dataElement/check.d.ts.map +1 -0
  65. package/dist/core/dataElement/check.js +32 -0
  66. package/dist/core/dataElement/create.d.ts +12 -0
  67. package/dist/core/dataElement/create.d.ts.map +1 -0
  68. package/dist/core/dataElement/create.js +259 -0
  69. package/dist/core/dataElement/delete.d.ts +14 -0
  70. package/dist/core/dataElement/delete.d.ts.map +1 -0
  71. package/dist/core/dataElement/delete.js +21 -0
  72. package/dist/core/dataElement/index.d.ts +14 -0
  73. package/dist/core/dataElement/index.d.ts.map +1 -0
  74. package/dist/core/dataElement/index.js +31 -0
  75. package/dist/core/dataElement/lock.d.ts +10 -0
  76. package/dist/core/dataElement/lock.d.ts.map +1 -0
  77. package/dist/core/dataElement/lock.js +31 -0
  78. package/dist/core/dataElement/read.d.ts +17 -0
  79. package/dist/core/dataElement/read.d.ts.map +1 -0
  80. package/dist/core/dataElement/read.js +42 -0
  81. package/dist/core/dataElement/types.d.ts +64 -0
  82. package/dist/core/dataElement/types.d.ts.map +1 -0
  83. package/dist/core/dataElement/types.js +5 -0
  84. package/dist/core/dataElement/unlock.d.ts +11 -0
  85. package/dist/core/dataElement/unlock.d.ts.map +1 -0
  86. package/dist/core/dataElement/unlock.js +17 -0
  87. package/dist/core/dataElement/update.d.ts +29 -0
  88. package/dist/core/dataElement/update.d.ts.map +1 -0
  89. package/dist/core/dataElement/update.js +269 -0
  90. package/dist/core/delete.d.ts +22 -0
  91. package/dist/core/delete.d.ts.map +1 -0
  92. package/dist/core/delete.js +148 -0
  93. package/dist/core/domain/DomainBuilder.d.ts +135 -0
  94. package/dist/core/domain/DomainBuilder.d.ts.map +1 -0
  95. package/dist/core/domain/DomainBuilder.js +430 -0
  96. package/dist/core/domain/activation.d.ts +11 -0
  97. package/dist/core/domain/activation.d.ts.map +1 -0
  98. package/dist/core/domain/activation.js +16 -0
  99. package/dist/core/domain/check.d.ts +16 -0
  100. package/dist/core/domain/check.d.ts.map +1 -0
  101. package/dist/core/domain/check.js +36 -0
  102. package/dist/core/domain/create.d.ts +21 -0
  103. package/dist/core/domain/create.d.ts.map +1 -0
  104. package/dist/core/domain/create.js +172 -0
  105. package/dist/core/domain/delete.d.ts +14 -0
  106. package/dist/core/domain/delete.d.ts.map +1 -0
  107. package/dist/core/domain/delete.js +21 -0
  108. package/dist/core/domain/index.d.ts +14 -0
  109. package/dist/core/domain/index.d.ts.map +1 -0
  110. package/dist/core/domain/index.js +31 -0
  111. package/dist/core/domain/lock.d.ts +15 -0
  112. package/dist/core/domain/lock.d.ts.map +1 -0
  113. package/dist/core/domain/lock.js +61 -0
  114. package/dist/core/domain/read.d.ts +17 -0
  115. package/dist/core/domain/read.d.ts.map +1 -0
  116. package/dist/core/domain/read.js +42 -0
  117. package/dist/core/domain/types.d.ts +38 -0
  118. package/dist/core/domain/types.d.ts.map +1 -0
  119. package/dist/core/domain/types.js +5 -0
  120. package/dist/core/domain/unlock.d.ts +11 -0
  121. package/dist/core/domain/unlock.d.ts.map +1 -0
  122. package/dist/core/domain/unlock.js +17 -0
  123. package/dist/core/domain/update.d.ts +12 -0
  124. package/dist/core/domain/update.d.ts.map +1 -0
  125. package/dist/core/domain/update.js +144 -0
  126. package/dist/core/functionGroup/FunctionGroupBuilder.d.ts +91 -0
  127. package/dist/core/functionGroup/FunctionGroupBuilder.d.ts.map +1 -0
  128. package/dist/core/functionGroup/FunctionGroupBuilder.js +268 -0
  129. package/dist/core/functionGroup/activation.d.ts +10 -0
  130. package/dist/core/functionGroup/activation.d.ts.map +1 -0
  131. package/dist/core/functionGroup/activation.js +30 -0
  132. package/dist/core/functionGroup/check.d.ts +24 -0
  133. package/dist/core/functionGroup/check.d.ts.map +1 -0
  134. package/dist/core/functionGroup/check.js +91 -0
  135. package/dist/core/functionGroup/create.d.ts +12 -0
  136. package/dist/core/functionGroup/create.d.ts.map +1 -0
  137. package/dist/core/functionGroup/create.js +90 -0
  138. package/dist/core/functionGroup/delete.d.ts +14 -0
  139. package/dist/core/functionGroup/delete.d.ts.map +1 -0
  140. package/dist/core/functionGroup/delete.js +21 -0
  141. package/dist/core/functionGroup/index.d.ts +15 -0
  142. package/dist/core/functionGroup/index.d.ts.map +1 -0
  143. package/dist/core/functionGroup/index.js +32 -0
  144. package/dist/core/functionGroup/lock.d.ts +25 -0
  145. package/dist/core/functionGroup/lock.d.ts.map +1 -0
  146. package/dist/core/functionGroup/lock.js +50 -0
  147. package/dist/core/functionGroup/read.d.ts +17 -0
  148. package/dist/core/functionGroup/read.d.ts.map +1 -0
  149. package/dist/core/functionGroup/read.js +42 -0
  150. package/dist/core/functionGroup/types.d.ts +11 -0
  151. package/dist/core/functionGroup/types.d.ts.map +1 -0
  152. package/dist/core/functionGroup/types.js +5 -0
  153. package/dist/core/functionGroup/unlock.d.ts +5 -0
  154. package/dist/core/functionGroup/unlock.d.ts.map +1 -0
  155. package/dist/core/functionGroup/unlock.js +8 -0
  156. package/dist/core/functionGroup/update.d.ts +20 -0
  157. package/dist/core/functionGroup/update.d.ts.map +1 -0
  158. package/dist/core/functionGroup/update.js +119 -0
  159. package/dist/core/functionGroup/validation.d.ts +10 -0
  160. package/dist/core/functionGroup/validation.d.ts.map +1 -0
  161. package/dist/core/functionGroup/validation.js +17 -0
  162. package/dist/core/functionModule/FunctionModuleBuilder.d.ts +101 -0
  163. package/dist/core/functionModule/FunctionModuleBuilder.d.ts.map +1 -0
  164. package/dist/core/functionModule/FunctionModuleBuilder.js +314 -0
  165. package/dist/core/functionModule/activation.d.ts +10 -0
  166. package/dist/core/functionModule/activation.d.ts.map +1 -0
  167. package/dist/core/functionModule/activation.js +17 -0
  168. package/dist/core/functionModule/check.d.ts +23 -0
  169. package/dist/core/functionModule/check.d.ts.map +1 -0
  170. package/dist/core/functionModule/check.js +116 -0
  171. package/dist/core/functionModule/create.d.ts +12 -0
  172. package/dist/core/functionModule/create.d.ts.map +1 -0
  173. package/dist/core/functionModule/create.js +158 -0
  174. package/dist/core/functionModule/delete.d.ts +15 -0
  175. package/dist/core/functionModule/delete.d.ts.map +1 -0
  176. package/dist/core/functionModule/delete.js +25 -0
  177. package/dist/core/functionModule/index.d.ts +15 -0
  178. package/dist/core/functionModule/index.d.ts.map +1 -0
  179. package/dist/core/functionModule/index.js +32 -0
  180. package/dist/core/functionModule/lock.d.ts +18 -0
  181. package/dist/core/functionModule/lock.d.ts.map +1 -0
  182. package/dist/core/functionModule/lock.js +52 -0
  183. package/dist/core/functionModule/read.d.ts +31 -0
  184. package/dist/core/functionModule/read.d.ts.map +1 -0
  185. package/dist/core/functionModule/read.js +57 -0
  186. package/dist/core/functionModule/types.d.ts +19 -0
  187. package/dist/core/functionModule/types.d.ts.map +1 -0
  188. package/dist/core/functionModule/types.js +5 -0
  189. package/dist/core/functionModule/unlock.d.ts +10 -0
  190. package/dist/core/functionModule/unlock.d.ts.map +1 -0
  191. package/dist/core/functionModule/unlock.js +20 -0
  192. package/dist/core/functionModule/update.d.ts +17 -0
  193. package/dist/core/functionModule/update.d.ts.map +1 -0
  194. package/dist/core/functionModule/update.js +103 -0
  195. package/dist/core/functionModule/validation.d.ts +27 -0
  196. package/dist/core/functionModule/validation.d.ts.map +1 -0
  197. package/dist/core/functionModule/validation.js +107 -0
  198. package/dist/core/interface/InterfaceBuilder.d.ts +98 -0
  199. package/dist/core/interface/InterfaceBuilder.d.ts.map +1 -0
  200. package/dist/core/interface/InterfaceBuilder.js +311 -0
  201. package/dist/core/interface/activation.d.ts +11 -0
  202. package/dist/core/interface/activation.d.ts.map +1 -0
  203. package/dist/core/interface/activation.js +16 -0
  204. package/dist/core/interface/check.d.ts +10 -0
  205. package/dist/core/interface/check.d.ts.map +1 -0
  206. package/dist/core/interface/check.js +18 -0
  207. package/dist/core/interface/create.d.ts +12 -0
  208. package/dist/core/interface/create.d.ts.map +1 -0
  209. package/dist/core/interface/create.js +119 -0
  210. package/dist/core/interface/delete.d.ts +20 -0
  211. package/dist/core/interface/delete.d.ts.map +1 -0
  212. package/dist/core/interface/delete.js +47 -0
  213. package/dist/core/interface/index.d.ts +15 -0
  214. package/dist/core/interface/index.d.ts.map +1 -0
  215. package/dist/core/interface/index.js +32 -0
  216. package/dist/core/interface/lock.d.ts +23 -0
  217. package/dist/core/interface/lock.d.ts.map +1 -0
  218. package/dist/core/interface/lock.js +51 -0
  219. package/dist/core/interface/read.d.ts +26 -0
  220. package/dist/core/interface/read.d.ts.map +1 -0
  221. package/dist/core/interface/read.js +51 -0
  222. package/dist/core/interface/types.d.ts +19 -0
  223. package/dist/core/interface/types.d.ts.map +1 -0
  224. package/dist/core/interface/types.js +5 -0
  225. package/dist/core/interface/unlock.d.ts +11 -0
  226. package/dist/core/interface/unlock.d.ts.map +1 -0
  227. package/dist/core/interface/unlock.js +35 -0
  228. package/dist/core/interface/update.d.ts +12 -0
  229. package/dist/core/interface/update.d.ts.map +1 -0
  230. package/dist/core/interface/update.js +82 -0
  231. package/dist/core/interface/validation.d.ts +10 -0
  232. package/dist/core/interface/validation.d.ts.map +1 -0
  233. package/dist/core/interface/validation.js +17 -0
  234. package/dist/core/managementOperations.d.ts +34 -0
  235. package/dist/core/managementOperations.d.ts.map +1 -0
  236. package/dist/core/managementOperations.js +136 -0
  237. package/dist/core/package/PackageBuilder.d.ts +129 -0
  238. package/dist/core/package/PackageBuilder.d.ts.map +1 -0
  239. package/dist/core/package/PackageBuilder.js +386 -0
  240. package/dist/core/package/check.d.ts +9 -0
  241. package/dist/core/package/check.d.ts.map +1 -0
  242. package/dist/core/package/check.js +29 -0
  243. package/dist/core/package/create.d.ts +12 -0
  244. package/dist/core/package/create.d.ts.map +1 -0
  245. package/dist/core/package/create.js +145 -0
  246. package/dist/core/package/delete.d.ts +27 -0
  247. package/dist/core/package/delete.d.ts.map +1 -0
  248. package/dist/core/package/delete.js +138 -0
  249. package/dist/core/package/index.d.ts +15 -0
  250. package/dist/core/package/index.d.ts.map +1 -0
  251. package/dist/core/package/index.js +32 -0
  252. package/dist/core/package/lock.d.ts +10 -0
  253. package/dist/core/package/lock.d.ts.map +1 -0
  254. package/dist/core/package/lock.js +28 -0
  255. package/dist/core/package/read.d.ts +17 -0
  256. package/dist/core/package/read.d.ts.map +1 -0
  257. package/dist/core/package/read.js +42 -0
  258. package/dist/core/package/transportCheck.d.ts +10 -0
  259. package/dist/core/package/transportCheck.d.ts.map +1 -0
  260. package/dist/core/package/transportCheck.js +52 -0
  261. package/dist/core/package/types.d.ts +15 -0
  262. package/dist/core/package/types.d.ts.map +1 -0
  263. package/dist/core/package/types.js +5 -0
  264. package/dist/core/package/unlock.d.ts +11 -0
  265. package/dist/core/package/unlock.d.ts.map +1 -0
  266. package/dist/core/package/unlock.js +16 -0
  267. package/dist/core/package/update.d.ts +19 -0
  268. package/dist/core/package/update.d.ts.map +1 -0
  269. package/dist/core/package/update.js +125 -0
  270. package/dist/core/package/validation.d.ts +14 -0
  271. package/dist/core/package/validation.d.ts.map +1 -0
  272. package/dist/core/package/validation.js +72 -0
  273. package/dist/core/program/ProgramBuilder.d.ts +102 -0
  274. package/dist/core/program/ProgramBuilder.d.ts.map +1 -0
  275. package/dist/core/program/ProgramBuilder.js +321 -0
  276. package/dist/core/program/activation.d.ts +11 -0
  277. package/dist/core/program/activation.d.ts.map +1 -0
  278. package/dist/core/program/activation.js +16 -0
  279. package/dist/core/program/check.d.ts +10 -0
  280. package/dist/core/program/check.d.ts.map +1 -0
  281. package/dist/core/program/check.js +18 -0
  282. package/dist/core/program/create.d.ts +23 -0
  283. package/dist/core/program/create.d.ts.map +1 -0
  284. package/dist/core/program/create.js +159 -0
  285. package/dist/core/program/delete.d.ts +14 -0
  286. package/dist/core/program/delete.d.ts.map +1 -0
  287. package/dist/core/program/delete.js +21 -0
  288. package/dist/core/program/index.d.ts +14 -0
  289. package/dist/core/program/index.d.ts.map +1 -0
  290. package/dist/core/program/index.js +31 -0
  291. package/dist/core/program/lock.d.ts +20 -0
  292. package/dist/core/program/lock.d.ts.map +1 -0
  293. package/dist/core/program/lock.js +49 -0
  294. package/dist/core/program/read.d.ts +26 -0
  295. package/dist/core/program/read.d.ts.map +1 -0
  296. package/dist/core/program/read.js +51 -0
  297. package/dist/core/program/unlock.d.ts +11 -0
  298. package/dist/core/program/unlock.d.ts.map +1 -0
  299. package/dist/core/program/unlock.js +16 -0
  300. package/dist/core/program/update.d.ts +16 -0
  301. package/dist/core/program/update.d.ts.map +1 -0
  302. package/dist/core/program/update.js +82 -0
  303. package/dist/core/program/validation.d.ts +10 -0
  304. package/dist/core/program/validation.d.ts.map +1 -0
  305. package/dist/core/program/validation.js +17 -0
  306. package/dist/core/readOperations.d.ts +63 -0
  307. package/dist/core/readOperations.d.ts.map +1 -0
  308. package/dist/core/readOperations.js +204 -0
  309. package/dist/core/shared/checkRun.d.ts +68 -0
  310. package/dist/core/shared/checkRun.d.ts.map +1 -0
  311. package/dist/core/shared/checkRun.js +292 -0
  312. package/dist/core/shared/readMetadata.d.ts +16 -0
  313. package/dist/core/shared/readMetadata.d.ts.map +1 -0
  314. package/dist/core/shared/readMetadata.js +74 -0
  315. package/dist/core/shared/readSource.d.ts +21 -0
  316. package/dist/core/shared/readSource.d.ts.map +1 -0
  317. package/dist/core/shared/readSource.js +83 -0
  318. package/dist/core/shared/search.d.ts +26 -0
  319. package/dist/core/shared/search.d.ts.map +1 -0
  320. package/dist/core/shared/search.js +32 -0
  321. package/dist/core/shared/sqlQuery.d.ts +22 -0
  322. package/dist/core/shared/sqlQuery.d.ts.map +1 -0
  323. package/dist/core/shared/sqlQuery.js +36 -0
  324. package/dist/core/shared/systemInfo.d.ts +22 -0
  325. package/dist/core/shared/systemInfo.d.ts.map +1 -0
  326. package/dist/core/shared/systemInfo.js +67 -0
  327. package/dist/core/shared/tableContents.d.ts +22 -0
  328. package/dist/core/shared/tableContents.d.ts.map +1 -0
  329. package/dist/core/shared/tableContents.js +89 -0
  330. package/dist/core/shared/validation.d.ts +26 -0
  331. package/dist/core/shared/validation.d.ts.map +1 -0
  332. package/dist/core/shared/validation.js +134 -0
  333. package/dist/core/shared/whereUsed.d.ts +19 -0
  334. package/dist/core/shared/whereUsed.d.ts.map +1 -0
  335. package/dist/core/shared/whereUsed.js +88 -0
  336. package/dist/core/structure/StructureBuilder.d.ts +124 -0
  337. package/dist/core/structure/StructureBuilder.d.ts.map +1 -0
  338. package/dist/core/structure/StructureBuilder.js +357 -0
  339. package/dist/core/structure/activation.d.ts +10 -0
  340. package/dist/core/structure/activation.d.ts.map +1 -0
  341. package/dist/core/structure/activation.js +15 -0
  342. package/dist/core/structure/check.d.ts +12 -0
  343. package/dist/core/structure/check.d.ts.map +1 -0
  344. package/dist/core/structure/check.js +44 -0
  345. package/dist/core/structure/create.d.ts +12 -0
  346. package/dist/core/structure/create.d.ts.map +1 -0
  347. package/dist/core/structure/create.js +136 -0
  348. package/dist/core/structure/delete.d.ts +14 -0
  349. package/dist/core/structure/delete.d.ts.map +1 -0
  350. package/dist/core/structure/delete.js +21 -0
  351. package/dist/core/structure/index.d.ts +15 -0
  352. package/dist/core/structure/index.d.ts.map +1 -0
  353. package/dist/core/structure/index.js +32 -0
  354. package/dist/core/structure/lock.d.ts +10 -0
  355. package/dist/core/structure/lock.d.ts.map +1 -0
  356. package/dist/core/structure/lock.js +28 -0
  357. package/dist/core/structure/read.d.ts +26 -0
  358. package/dist/core/structure/read.d.ts.map +1 -0
  359. package/dist/core/structure/read.js +51 -0
  360. package/dist/core/structure/types.d.ts +33 -0
  361. package/dist/core/structure/types.d.ts.map +1 -0
  362. package/dist/core/structure/types.js +5 -0
  363. package/dist/core/structure/unlock.d.ts +11 -0
  364. package/dist/core/structure/unlock.d.ts.map +1 -0
  365. package/dist/core/structure/unlock.js +16 -0
  366. package/dist/core/structure/update.d.ts +11 -0
  367. package/dist/core/structure/update.d.ts.map +1 -0
  368. package/dist/core/structure/update.js +26 -0
  369. package/dist/core/structure/validation.d.ts +10 -0
  370. package/dist/core/structure/validation.d.ts.map +1 -0
  371. package/dist/core/structure/validation.js +17 -0
  372. package/dist/core/table/TableBuilder.d.ts +115 -0
  373. package/dist/core/table/TableBuilder.d.ts.map +1 -0
  374. package/dist/core/table/TableBuilder.js +328 -0
  375. package/dist/core/table/activation.d.ts +10 -0
  376. package/dist/core/table/activation.d.ts.map +1 -0
  377. package/dist/core/table/activation.js +15 -0
  378. package/dist/core/table/check.d.ts +11 -0
  379. package/dist/core/table/check.d.ts.map +1 -0
  380. package/dist/core/table/check.js +30 -0
  381. package/dist/core/table/create.d.ts +12 -0
  382. package/dist/core/table/create.d.ts.map +1 -0
  383. package/dist/core/table/create.js +182 -0
  384. package/dist/core/table/delete.d.ts +14 -0
  385. package/dist/core/table/delete.d.ts.map +1 -0
  386. package/dist/core/table/delete.js +21 -0
  387. package/dist/core/table/index.d.ts +15 -0
  388. package/dist/core/table/index.d.ts.map +1 -0
  389. package/dist/core/table/index.js +32 -0
  390. package/dist/core/table/lock.d.ts +9 -0
  391. package/dist/core/table/lock.d.ts.map +1 -0
  392. package/dist/core/table/lock.js +29 -0
  393. package/dist/core/table/read.d.ts +26 -0
  394. package/dist/core/table/read.d.ts.map +1 -0
  395. package/dist/core/table/read.js +51 -0
  396. package/dist/core/table/types.d.ts +10 -0
  397. package/dist/core/table/types.d.ts.map +1 -0
  398. package/dist/core/table/types.js +5 -0
  399. package/dist/core/table/unlock.d.ts +15 -0
  400. package/dist/core/table/unlock.d.ts.map +1 -0
  401. package/dist/core/table/unlock.js +32 -0
  402. package/dist/core/table/update.d.ts +16 -0
  403. package/dist/core/table/update.d.ts.map +1 -0
  404. package/dist/core/table/update.js +32 -0
  405. package/dist/core/table/validation.d.ts +10 -0
  406. package/dist/core/table/validation.d.ts.map +1 -0
  407. package/dist/core/table/validation.js +17 -0
  408. package/dist/core/transport/TransportBuilder.d.ts +85 -0
  409. package/dist/core/transport/TransportBuilder.d.ts.map +1 -0
  410. package/dist/core/transport/TransportBuilder.js +154 -0
  411. package/dist/core/transport/create.d.ts +11 -0
  412. package/dist/core/transport/create.d.ts.map +1 -0
  413. package/dist/core/transport/create.js +157 -0
  414. package/dist/core/transport/index.d.ts +8 -0
  415. package/dist/core/transport/index.d.ts.map +1 -0
  416. package/dist/core/transport/index.js +25 -0
  417. package/dist/core/transport/read.d.ts +10 -0
  418. package/dist/core/transport/read.d.ts.map +1 -0
  419. package/dist/core/transport/read.js +22 -0
  420. package/dist/core/transport/types.d.ts +10 -0
  421. package/dist/core/transport/types.d.ts.map +1 -0
  422. package/dist/core/transport/types.js +5 -0
  423. package/dist/core/view/ViewBuilder.d.ts +117 -0
  424. package/dist/core/view/ViewBuilder.d.ts.map +1 -0
  425. package/dist/core/view/ViewBuilder.js +335 -0
  426. package/dist/core/view/activation.d.ts +10 -0
  427. package/dist/core/view/activation.d.ts.map +1 -0
  428. package/dist/core/view/activation.js +15 -0
  429. package/dist/core/view/check.d.ts +7 -0
  430. package/dist/core/view/check.d.ts.map +1 -0
  431. package/dist/core/view/check.js +57 -0
  432. package/dist/core/view/create.d.ts +12 -0
  433. package/dist/core/view/create.d.ts.map +1 -0
  434. package/dist/core/view/create.js +88 -0
  435. package/dist/core/view/delete.d.ts +14 -0
  436. package/dist/core/view/delete.d.ts.map +1 -0
  437. package/dist/core/view/delete.js +21 -0
  438. package/dist/core/view/index.d.ts +15 -0
  439. package/dist/core/view/index.d.ts.map +1 -0
  440. package/dist/core/view/index.js +32 -0
  441. package/dist/core/view/lock.d.ts +18 -0
  442. package/dist/core/view/lock.d.ts.map +1 -0
  443. package/dist/core/view/lock.js +45 -0
  444. package/dist/core/view/read.d.ts +26 -0
  445. package/dist/core/view/read.d.ts.map +1 -0
  446. package/dist/core/view/read.js +51 -0
  447. package/dist/core/view/types.d.ts +19 -0
  448. package/dist/core/view/types.d.ts.map +1 -0
  449. package/dist/core/view/types.js +5 -0
  450. package/dist/core/view/unlock.d.ts +10 -0
  451. package/dist/core/view/unlock.d.ts.map +1 -0
  452. package/dist/core/view/unlock.js +15 -0
  453. package/dist/core/view/update.d.ts +12 -0
  454. package/dist/core/view/update.d.ts.map +1 -0
  455. package/dist/core/view/update.js +89 -0
  456. package/dist/core/view/validation.d.ts +10 -0
  457. package/dist/core/view/validation.d.ts.map +1 -0
  458. package/dist/core/view/validation.js +17 -0
  459. package/dist/core.d.ts +133 -0
  460. package/dist/core.d.ts.map +1 -0
  461. package/dist/core.js +175 -0
  462. package/dist/index.d.ts +38 -0
  463. package/dist/index.d.ts.map +1 -0
  464. package/dist/index.js +60 -0
  465. package/dist/utils/activationUtils.d.ts +44 -0
  466. package/dist/utils/activationUtils.d.ts.map +1 -0
  467. package/dist/utils/activationUtils.js +127 -0
  468. package/dist/utils/internalUtils.d.ts +12 -0
  469. package/dist/utils/internalUtils.d.ts.map +1 -0
  470. package/dist/utils/internalUtils.js +16 -0
  471. package/dist/utils/lockStateManager.d.ts +64 -0
  472. package/dist/utils/lockStateManager.d.ts.map +1 -0
  473. package/dist/utils/lockStateManager.js +172 -0
  474. package/dist/utils/sessionUtils.d.ts +69 -0
  475. package/dist/utils/sessionUtils.d.ts.map +1 -0
  476. package/dist/utils/sessionUtils.js +134 -0
  477. package/package.json +75 -0
@@ -0,0 +1,248 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Utility script to unlock all test objects from .locks/active-locks.json
4
+ *
5
+ * Usage:
6
+ * node bin/unlock-test-objects.js [options]
7
+ * adt-unlock-objects [options]
8
+ *
9
+ * Options:
10
+ * --locks-dir <path> Lock registry directory (default: .locks)
11
+ * --env <path> Path to .env file (default: .env)
12
+ * -h, --help Show help message
13
+ */
14
+
15
+ const path = require('path');
16
+ const fs = require('fs');
17
+ const dotenv = require('dotenv');
18
+
19
+ // Show help if requested
20
+ if (process.argv.includes('--help') || process.argv.includes('-h')) {
21
+ console.log(`
22
+ 🔓 Unlock Test Objects - Utility to unlock all objects from lock registry
23
+
24
+ Usage:
25
+ node bin/unlock-test-objects.js [options]
26
+ adt-unlock-objects [options]
27
+
28
+ Options:
29
+ --locks-dir <path> Lock registry directory (default: .locks)
30
+ --env <path> Path to .env file (default: .env)
31
+ -h, --help Show this help message
32
+
33
+ Description:
34
+ This utility reads all active locks from .locks/active-locks.json and attempts
35
+ to unlock them on the SAP server. After successful unlock, locks are removed
36
+ from the registry.
37
+
38
+ The script uses JWT auto-refresh if refresh credentials are available in .env.
39
+
40
+ Environment Variables (from .env):
41
+ SAP_URL - SAP system URL
42
+ SAP_CLIENT - SAP client (optional)
43
+ SAP_AUTH_TYPE - Authentication type: basic, jwt, xsuaa
44
+ SAP_JWT_TOKEN - JWT token (for jwt/xsuaa auth)
45
+ SAP_REFRESH_TOKEN - Refresh token (optional, for auto-refresh)
46
+ SAP_UAA_URL - UAA URL (optional, for auto-refresh)
47
+ SAP_UAA_CLIENT_ID - UAA client ID (optional, for auto-refresh)
48
+ SAP_UAA_CLIENT_SECRET - UAA client secret (optional, for auto-refresh)
49
+ SAP_USERNAME - Username (for basic auth)
50
+ SAP_PASSWORD - Password (for basic auth)
51
+ `);
52
+ process.exit(0);
53
+ }
54
+
55
+ // Parse command line arguments
56
+ function parseArgs() {
57
+ const args = process.argv.slice(2);
58
+ const options = {
59
+ locksDir: '.locks',
60
+ envPath: '.env'
61
+ };
62
+
63
+ for (let i = 0; i < args.length; i++) {
64
+ const arg = args[i];
65
+ if (arg === '--locks-dir' && i + 1 < args.length) {
66
+ options.locksDir = args[++i];
67
+ } else if (arg === '--env' && i + 1 < args.length) {
68
+ options.envPath = args[++i];
69
+ }
70
+ }
71
+
72
+ return options;
73
+ }
74
+
75
+ // Load environment
76
+ const options = parseArgs();
77
+ const envPath = process.env.MCP_ENV_PATH || path.resolve(__dirname, '..', options.envPath);
78
+ if (fs.existsSync(envPath)) {
79
+ dotenv.config({ path: envPath });
80
+ }
81
+
82
+ const { createAbapConnection } = require('@mcp-abap-adt/connection');
83
+ const { LockStateManager } = require('../dist/utils/lockStateManager');
84
+ const { unlockClass } = require('../dist/core/class/unlock');
85
+ const { unlockInterface } = require('../dist/core/interface/unlock');
86
+ const { unlockProgram } = require('../dist/core/program/unlock');
87
+ const { unlockFunctionModule } = require('../dist/core/functionModule/unlock');
88
+ const { unlockDomain } = require('../dist/core/domain/unlock');
89
+ const { unlockDataElement } = require('../dist/core/dataElement/unlock');
90
+ const { unlockDDLS } = require('../dist/core/view/unlock');
91
+ const { unlockStructure } = require('../dist/core/structure/unlock');
92
+ const { unlockTable } = require('../dist/core/table/unlock');
93
+ const { unlockPackage } = require('../dist/core/package/unlock');
94
+
95
+ function getConfig() {
96
+ const rawUrl = process.env.SAP_URL;
97
+ const url = rawUrl ? rawUrl.split('#')[0].trim() : rawUrl;
98
+ const rawClient = process.env.SAP_CLIENT;
99
+ const client = rawClient ? rawClient.split('#')[0].trim() : rawClient;
100
+ const rawAuthType = process.env.SAP_AUTH_TYPE || 'basic';
101
+ const authType = rawAuthType.split('#')[0].trim();
102
+
103
+ if (!url || !/^https?:\/\//.test(url)) {
104
+ throw new Error(`Missing or invalid SAP_URL: ${url}`);
105
+ }
106
+
107
+ const config = {
108
+ url,
109
+ authType: authType === 'xsuaa' ? 'jwt' : authType,
110
+ };
111
+
112
+ if (client) {
113
+ config.client = client;
114
+ }
115
+
116
+ if (authType === 'jwt' || authType === 'xsuaa') {
117
+ const jwtToken = process.env.SAP_JWT_TOKEN;
118
+ if (!jwtToken) {
119
+ throw new Error('Missing SAP_JWT_TOKEN for JWT authentication');
120
+ }
121
+ config.jwtToken = jwtToken;
122
+
123
+ // Add refresh credentials if available (for auto-refresh)
124
+ if (process.env.SAP_REFRESH_TOKEN) {
125
+ config.refreshToken = process.env.SAP_REFRESH_TOKEN;
126
+ }
127
+ if (process.env.SAP_UAA_URL) {
128
+ config.uaaUrl = process.env.SAP_UAA_URL;
129
+ }
130
+ if (process.env.SAP_UAA_CLIENT_ID) {
131
+ config.uaaClientId = process.env.SAP_UAA_CLIENT_ID;
132
+ }
133
+ if (process.env.SAP_UAA_CLIENT_SECRET) {
134
+ config.uaaClientSecret = process.env.SAP_UAA_CLIENT_SECRET;
135
+ }
136
+ } else {
137
+ const username = process.env.SAP_USERNAME;
138
+ const password = process.env.SAP_PASSWORD;
139
+ if (!username || !password) {
140
+ throw new Error('Missing SAP_USERNAME or SAP_PASSWORD for basic authentication');
141
+ }
142
+ config.username = username;
143
+ config.password = password;
144
+ }
145
+
146
+ return config;
147
+ }
148
+
149
+ /**
150
+ * Unlock object based on type
151
+ */
152
+ async function unlockObject(connection, lock) {
153
+ const { objectType, objectName, functionGroupName, lockHandle, sessionId } = lock;
154
+
155
+ switch (objectType) {
156
+ case 'class':
157
+ return await unlockClass(connection, objectName, lockHandle, sessionId);
158
+ case 'interface':
159
+ return await unlockInterface(connection, objectName, lockHandle, sessionId);
160
+ case 'program':
161
+ return await unlockProgram(connection, objectName, lockHandle, sessionId);
162
+ case 'fm':
163
+ if (!functionGroupName) {
164
+ throw new Error(`Function group name required for FM: ${objectName}`);
165
+ }
166
+ return await unlockFunctionModule(connection, functionGroupName, objectName, lockHandle, sessionId);
167
+ case 'domain':
168
+ return await unlockDomain(connection, objectName, lockHandle, sessionId);
169
+ case 'dataElement':
170
+ return await unlockDataElement(connection, objectName, lockHandle, sessionId);
171
+ case 'view':
172
+ return await unlockDDLS(connection, objectName, lockHandle, sessionId);
173
+ case 'structure':
174
+ return await unlockStructure(connection, objectName, lockHandle, sessionId);
175
+ case 'table':
176
+ return await unlockTable(connection, objectName, lockHandle, sessionId);
177
+ case 'package':
178
+ return await unlockPackage(connection, objectName, lockHandle, sessionId);
179
+ default:
180
+ throw new Error(`Unknown object type: ${objectType}`);
181
+ }
182
+ }
183
+
184
+ function formatLockInfo(lock) {
185
+ const objectId = lock.functionGroupName
186
+ ? `${lock.functionGroupName}/${lock.objectName}`
187
+ : lock.objectName;
188
+ return `${lock.objectType.toUpperCase()}: ${objectId}`;
189
+ }
190
+
191
+ async function unlockTestObjects() {
192
+ try {
193
+ const config = getConfig();
194
+ const connection = createAbapConnection(config, console);
195
+
196
+ // Load lock registry
197
+ const lockManager = new LockStateManager(options.locksDir);
198
+ const locks = lockManager.getAllLocks();
199
+
200
+ if (locks.length === 0) {
201
+ console.log('✅ No active locks found in registry');
202
+ return;
203
+ }
204
+
205
+ console.log(`🔓 Found ${locks.length} lock(s) in registry\n`);
206
+
207
+ let successCount = 0;
208
+ let failCount = 0;
209
+
210
+ // Connection will auto-connect on first request (with JWT refresh if needed)
211
+ for (const lock of locks) {
212
+ try {
213
+ const lockInfo = formatLockInfo(lock);
214
+ console.log(`Attempting to unlock ${lockInfo}...`);
215
+
216
+ await unlockObject(connection, lock);
217
+
218
+ // Remove from registry after successful unlock
219
+ lockManager.removeLock(lock.objectType, lock.objectName, lock.functionGroupName);
220
+
221
+ console.log(`✅ Unlocked: ${lockInfo}\n`);
222
+ successCount++;
223
+ } catch (error) {
224
+ const lockInfo = formatLockInfo(lock);
225
+ console.log(`❌ Failed to unlock ${lockInfo}: ${error.message}\n`);
226
+ failCount++;
227
+
228
+ // Don't remove from registry if unlock failed - might be locked by another session
229
+ // User can manually clean up later
230
+ }
231
+ }
232
+
233
+ console.log('\n📊 Summary:');
234
+ console.log(` ✅ Successfully unlocked: ${successCount}`);
235
+ console.log(` ❌ Failed to unlock: ${failCount}`);
236
+
237
+ if (failCount > 0) {
238
+ console.log('\n💡 Note: Failed unlocks may be locked by another session or already unlocked.');
239
+ console.log(' You can check with: adt-manage-locks list');
240
+ }
241
+
242
+ } catch (error) {
243
+ console.error('❌ Error:', error.message);
244
+ process.exit(1);
245
+ }
246
+ }
247
+
248
+ unlockTestObjects();
@@ -0,0 +1,48 @@
1
+ /**
2
+ * CrudClient - Full CRUD operations for SAP ADT
3
+ *
4
+ * Extends ReadOnlyClient with Create, Update, and Delete operations.
5
+ * All methods return raw AxiosResponse - no MCP formatting.
6
+ *
7
+ * All implementations are in core/{object}/ modules (e.g., core/program/, core/class/).
8
+ * Read operations are inherited from ReadOnlyClient (which delegates to core/{object}/read.ts).
9
+ */
10
+ import { ReadOnlyClient } from './ReadOnlyClient';
11
+ import { AbapConnection } from '@mcp-abap-adt/connection';
12
+ import { AxiosResponse } from 'axios';
13
+ import * as programOps from '../core/program';
14
+ import * as classOps from '../core/class';
15
+ import * as domainOps from '../core/domain';
16
+ import * as dataElementOps from '../core/dataElement';
17
+ import * as interfaceOps from '../core/interface';
18
+ import * as tableOps from '../core/table';
19
+ import * as structureOps from '../core/structure';
20
+ import * as viewOps from '../core/view';
21
+ import * as functionGroupOps from '../core/functionGroup';
22
+ import * as functionModuleOps from '../core/functionModule';
23
+ import * as packageOps from '../core/package';
24
+ import * as transportOps from '../core/transport';
25
+ import * as deleteOps from '../core/delete';
26
+ export declare class CrudClient extends ReadOnlyClient {
27
+ constructor(connection: AbapConnection);
28
+ createProgram(params: programOps.CreateProgramParams): Promise<AxiosResponse>;
29
+ updateProgramSource(params: programOps.UpdateProgramSourceParams): Promise<AxiosResponse>;
30
+ createClass(params: classOps.CreateClassParams): Promise<AxiosResponse>;
31
+ createDomain(params: domainOps.CreateDomainParams): Promise<AxiosResponse>;
32
+ updateDomain(params: domainOps.UpdateDomainParams): Promise<AxiosResponse>;
33
+ createDataElement(params: dataElementOps.CreateDataElementParams): Promise<AxiosResponse>;
34
+ updateDataElement(params: dataElementOps.UpdateDataElementParams): Promise<AxiosResponse>;
35
+ createInterface(params: interfaceOps.CreateInterfaceParams): Promise<AxiosResponse>;
36
+ updateInterfaceSource(params: interfaceOps.UpdateInterfaceSourceParams): Promise<AxiosResponse>;
37
+ createTable(params: tableOps.CreateTableParams): Promise<AxiosResponse>;
38
+ createStructure(params: structureOps.CreateStructureParams): Promise<AxiosResponse>;
39
+ createView(params: viewOps.CreateViewParams): Promise<AxiosResponse>;
40
+ updateViewSource(params: viewOps.UpdateViewSourceParams): Promise<AxiosResponse>;
41
+ createFunctionGroup(params: functionGroupOps.CreateFunctionGroupParams): Promise<AxiosResponse>;
42
+ createFunctionModule(params: functionModuleOps.CreateFunctionModuleParams): Promise<AxiosResponse>;
43
+ updateFunctionModuleSource(params: functionModuleOps.UpdateFunctionModuleSourceParams): Promise<AxiosResponse>;
44
+ createPackage(params: packageOps.CreatePackageParams): Promise<AxiosResponse>;
45
+ createTransport(params: transportOps.CreateTransportParams): Promise<AxiosResponse>;
46
+ deleteObject(params: deleteOps.DeleteObjectParams): Promise<AxiosResponse>;
47
+ }
48
+ //# sourceMappingURL=CrudClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudClient.d.ts","sourceRoot":"","sources":["../../src/clients/CrudClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,UAAW,SAAQ,cAAc;gBAChC,UAAU,EAAE,cAAc;IAKhC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7E,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzF,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAMvE,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK1E,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzF,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzF,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAInF,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAK/F,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKvE,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKhF,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK/F,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlG,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,CAAC,gCAAgC,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9G,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK7E,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;CAGjF"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * CrudClient - Full CRUD operations for SAP ADT
4
+ *
5
+ * Extends ReadOnlyClient with Create, Update, and Delete operations.
6
+ * All methods return raw AxiosResponse - no MCP formatting.
7
+ *
8
+ * All implementations are in core/{object}/ modules (e.g., core/program/, core/class/).
9
+ * Read operations are inherited from ReadOnlyClient (which delegates to core/{object}/read.ts).
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.CrudClient = void 0;
46
+ const ReadOnlyClient_1 = require("./ReadOnlyClient");
47
+ const programOps = __importStar(require("../core/program"));
48
+ const classOps = __importStar(require("../core/class"));
49
+ const domainOps = __importStar(require("../core/domain"));
50
+ const dataElementOps = __importStar(require("../core/dataElement"));
51
+ const interfaceOps = __importStar(require("../core/interface"));
52
+ const tableOps = __importStar(require("../core/table"));
53
+ const structureOps = __importStar(require("../core/structure"));
54
+ const viewOps = __importStar(require("../core/view"));
55
+ const functionGroupOps = __importStar(require("../core/functionGroup"));
56
+ const functionModuleOps = __importStar(require("../core/functionModule"));
57
+ const packageOps = __importStar(require("../core/package"));
58
+ const transportOps = __importStar(require("../core/transport"));
59
+ const deleteOps = __importStar(require("../core/delete"));
60
+ class CrudClient extends ReadOnlyClient_1.ReadOnlyClient {
61
+ constructor(connection) {
62
+ super(connection);
63
+ }
64
+ // Program operations
65
+ async createProgram(params) {
66
+ return programOps.createProgram(this.connection, params);
67
+ }
68
+ async updateProgramSource(params) {
69
+ return programOps.updateProgramSource(this.connection, params);
70
+ }
71
+ // Class operations
72
+ async createClass(params) {
73
+ return classOps.createClass(this.connection, params);
74
+ }
75
+ // Domain operations
76
+ async createDomain(params) {
77
+ return domainOps.createDomain(this.connection, params);
78
+ }
79
+ async updateDomain(params) {
80
+ return domainOps.updateDomain(this.connection, params);
81
+ }
82
+ // DataElement operations
83
+ async createDataElement(params) {
84
+ return dataElementOps.createDataElement(this.connection, params);
85
+ }
86
+ async updateDataElement(params) {
87
+ return dataElementOps.updateDataElement(this.connection, params);
88
+ }
89
+ // Interface operations
90
+ async createInterface(params) {
91
+ return interfaceOps.createInterface(this.connection, params);
92
+ }
93
+ async updateInterfaceSource(params) {
94
+ return interfaceOps.updateInterfaceSource(this.connection, params);
95
+ }
96
+ // Table operations
97
+ async createTable(params) {
98
+ return tableOps.createTable(this.connection, params);
99
+ }
100
+ // Structure operations
101
+ async createStructure(params) {
102
+ return structureOps.createStructure(this.connection, params);
103
+ }
104
+ // View operations
105
+ async createView(params) {
106
+ return viewOps.createView(this.connection, params);
107
+ }
108
+ async updateViewSource(params) {
109
+ return viewOps.updateViewSource(this.connection, params);
110
+ }
111
+ // FunctionGroup operations
112
+ async createFunctionGroup(params) {
113
+ return functionGroupOps.createFunctionGroup(this.connection, params);
114
+ }
115
+ // FunctionModule operations
116
+ async createFunctionModule(params) {
117
+ return functionModuleOps.createFunctionModule(this.connection, params);
118
+ }
119
+ async updateFunctionModuleSource(params) {
120
+ return functionModuleOps.updateFunctionModuleSource(this.connection, params);
121
+ }
122
+ // Package operations
123
+ async createPackage(params) {
124
+ return packageOps.createPackage(this.connection, params);
125
+ }
126
+ // Transport operations
127
+ async createTransport(params) {
128
+ return transportOps.createTransport(this.connection, params);
129
+ }
130
+ // Delete operations (common for all object types)
131
+ async deleteObject(params) {
132
+ return deleteOps.deleteObject(this.connection, params);
133
+ }
134
+ }
135
+ exports.CrudClient = CrudClient;
@@ -0,0 +1,28 @@
1
+ import { AbapConnection } from '@mcp-abap-adt/connection';
2
+ export type LockableObjectType = 'class' | 'program' | 'interface' | 'function_group' | 'function_module' | 'table' | 'structure' | 'view' | 'domain' | 'data_element' | 'package';
3
+ export interface LockRequest {
4
+ objectType: LockableObjectType;
5
+ objectName: string;
6
+ sessionId?: string;
7
+ }
8
+ export interface LockResult {
9
+ objectType: LockableObjectType;
10
+ objectName: string;
11
+ lockHandle: string;
12
+ sessionId: string;
13
+ transportRequest?: string;
14
+ }
15
+ export interface UnlockRequest {
16
+ objectType: LockableObjectType;
17
+ objectName: string;
18
+ lockHandle: string;
19
+ sessionId: string;
20
+ }
21
+ export declare class LockClient {
22
+ private connection;
23
+ constructor(connection: AbapConnection);
24
+ lock(request: LockRequest): Promise<LockResult>;
25
+ unlock(request: UnlockRequest): Promise<void>;
26
+ private splitFunctionModuleName;
27
+ }
28
+ //# sourceMappingURL=LockClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockClient.d.ts","sourceRoot":"","sources":["../../src/clients/LockClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAyB1D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,SAAS,GACT,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,OAAO,GACP,WAAW,GACX,MAAM,GACN,QAAQ,GACR,cAAc,GACd,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,cAAc;IAExC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAwD/C,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CnD,OAAO,CAAC,uBAAuB;CAWhC"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LockClient = void 0;
4
+ const sessionUtils_1 = require("../utils/sessionUtils");
5
+ const lock_1 = require("../core/class/lock");
6
+ const unlock_1 = require("../core/class/unlock");
7
+ const lock_2 = require("../core/program/lock");
8
+ const unlock_2 = require("../core/program/unlock");
9
+ const lock_3 = require("../core/interface/lock");
10
+ const unlock_3 = require("../core/interface/unlock");
11
+ const lock_4 = require("../core/functionGroup/lock");
12
+ const unlock_4 = require("../core/functionGroup/unlock");
13
+ const lock_5 = require("../core/functionModule/lock");
14
+ const unlock_5 = require("../core/functionModule/unlock");
15
+ const lock_6 = require("../core/structure/lock");
16
+ const unlock_6 = require("../core/structure/unlock");
17
+ const lock_7 = require("../core/table/lock");
18
+ const unlock_7 = require("../core/table/unlock");
19
+ const lock_8 = require("../core/domain/lock");
20
+ const unlock_8 = require("../core/domain/unlock");
21
+ const lock_9 = require("../core/dataElement/lock");
22
+ const unlock_9 = require("../core/dataElement/unlock");
23
+ const lock_10 = require("../core/view/lock");
24
+ const unlock_10 = require("../core/view/unlock");
25
+ const lock_11 = require("../core/package/lock");
26
+ const unlock_11 = require("../core/package/unlock");
27
+ class LockClient {
28
+ connection;
29
+ constructor(connection) {
30
+ this.connection = connection;
31
+ }
32
+ async lock(request) {
33
+ const sessionId = request.sessionId || (0, sessionUtils_1.generateSessionId)();
34
+ const objectType = request.objectType.toLowerCase();
35
+ const objectName = request.objectName.toUpperCase();
36
+ switch (objectType) {
37
+ case 'class': {
38
+ const lockHandle = await (0, lock_1.lockClass)(this.connection, objectName, sessionId);
39
+ return { objectType, objectName, lockHandle, sessionId };
40
+ }
41
+ case 'program': {
42
+ const lockHandle = await (0, lock_2.lockProgram)(this.connection, objectName, sessionId);
43
+ return { objectType, objectName, lockHandle, sessionId };
44
+ }
45
+ case 'interface': {
46
+ const { lockHandle, corrNr } = await (0, lock_3.lockInterface)(this.connection, objectName, sessionId);
47
+ return { objectType, objectName, lockHandle, sessionId, transportRequest: corrNr };
48
+ }
49
+ case 'function_group': {
50
+ const lockHandle = await (0, lock_4.lockFunctionGroup)(this.connection, objectName, sessionId);
51
+ return { objectType, objectName, lockHandle, sessionId };
52
+ }
53
+ case 'function_module': {
54
+ const { group, module } = this.splitFunctionModuleName(objectName);
55
+ const lockHandle = await (0, lock_5.lockFunctionModule)(this.connection, group, module, sessionId);
56
+ return { objectType, objectName, lockHandle, sessionId };
57
+ }
58
+ case 'table': {
59
+ const lockHandle = await (0, lock_7.acquireTableLockHandle)(this.connection, objectName, sessionId);
60
+ return { objectType, objectName, lockHandle, sessionId };
61
+ }
62
+ case 'structure': {
63
+ const lockHandle = await (0, lock_6.lockStructure)(this.connection, objectName, sessionId);
64
+ return { objectType, objectName, lockHandle, sessionId };
65
+ }
66
+ case 'view': {
67
+ const lockHandle = await (0, lock_10.lockDDLS)(this.connection, objectName, sessionId);
68
+ return { objectType, objectName, lockHandle, sessionId };
69
+ }
70
+ case 'domain': {
71
+ const lockHandle = await (0, lock_8.lockDomain)(this.connection, objectName, sessionId);
72
+ return { objectType, objectName, lockHandle, sessionId };
73
+ }
74
+ case 'data_element': {
75
+ const lockHandle = await (0, lock_9.lockDataElement)(this.connection, objectName, sessionId);
76
+ return { objectType, objectName, lockHandle, sessionId };
77
+ }
78
+ case 'package': {
79
+ const lockHandle = await (0, lock_11.lockPackage)(this.connection, objectName, sessionId);
80
+ return { objectType, objectName, lockHandle, sessionId };
81
+ }
82
+ default:
83
+ throw new Error(`Unsupported object type for lock: ${objectType}`);
84
+ }
85
+ }
86
+ async unlock(request) {
87
+ const objectType = request.objectType.toLowerCase();
88
+ const objectName = request.objectName.toUpperCase();
89
+ switch (objectType) {
90
+ case 'class':
91
+ await (0, unlock_1.unlockClass)(this.connection, objectName, request.lockHandle, request.sessionId);
92
+ return;
93
+ case 'program':
94
+ await (0, unlock_2.unlockProgram)(this.connection, objectName, request.lockHandle, request.sessionId);
95
+ return;
96
+ case 'interface':
97
+ await (0, unlock_3.unlockInterface)(this.connection, objectName, request.lockHandle, request.sessionId);
98
+ return;
99
+ case 'function_group':
100
+ await (0, unlock_4.unlockFunctionGroup)(this.connection, objectName, request.lockHandle, request.sessionId);
101
+ return;
102
+ case 'function_module': {
103
+ const { group, module } = this.splitFunctionModuleName(objectName);
104
+ await (0, unlock_5.unlockFunctionModule)(this.connection, group, module, request.lockHandle, request.sessionId);
105
+ return;
106
+ }
107
+ case 'table':
108
+ await (0, unlock_7.unlockTable)(this.connection, objectName, request.lockHandle, request.sessionId);
109
+ return;
110
+ case 'structure':
111
+ await (0, unlock_6.unlockStructure)(this.connection, objectName, request.lockHandle, request.sessionId);
112
+ return;
113
+ case 'view':
114
+ await (0, unlock_10.unlockDDLS)(this.connection, objectName, request.lockHandle, request.sessionId);
115
+ return;
116
+ case 'domain':
117
+ await (0, unlock_8.unlockDomain)(this.connection, objectName, request.lockHandle, request.sessionId);
118
+ return;
119
+ case 'data_element':
120
+ await (0, unlock_9.unlockDataElement)(this.connection, objectName, request.lockHandle, request.sessionId);
121
+ return;
122
+ case 'package':
123
+ await (0, unlock_11.unlockPackage)(this.connection, objectName, request.lockHandle, request.sessionId);
124
+ return;
125
+ default:
126
+ throw new Error(`Unsupported object type for unlock: ${objectType}`);
127
+ }
128
+ }
129
+ splitFunctionModuleName(value) {
130
+ const separator = value.includes('|') ? '|' : '/';
131
+ const [group, module] = value.split(separator);
132
+ if (!group || !module) {
133
+ throw new Error('Function module name must include function group (e.g., ZFGROUP|Z_FM_NAME)');
134
+ }
135
+ return {
136
+ group,
137
+ module
138
+ };
139
+ }
140
+ }
141
+ exports.LockClient = LockClient;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * ManagementClient - Management operations for SAP ADT
3
+ *
4
+ * Provides methods for object activation and syntax checking.
5
+ * All methods return raw AxiosResponse - no MCP formatting.
6
+ *
7
+ * All implementations are in core/managementOperations.ts to avoid code duplication.
8
+ */
9
+ import { AbapConnection } from '@mcp-abap-adt/connection';
10
+ import { AxiosResponse } from 'axios';
11
+ export declare class ManagementClient {
12
+ private connection;
13
+ constructor(connection: AbapConnection);
14
+ /**
15
+ * Activate ABAP objects
16
+ */
17
+ activateObject(objects: Array<{
18
+ name: string;
19
+ type: string;
20
+ }>): Promise<AxiosResponse>;
21
+ /**
22
+ * Activate multiple objects with explicit URIs or inferred types
23
+ */
24
+ activateObjectsGroup(objects: Array<{
25
+ name: string;
26
+ type?: string;
27
+ uri?: string;
28
+ }>, preaudit?: boolean): Promise<AxiosResponse>;
29
+ /**
30
+ * Check ABAP object syntax
31
+ */
32
+ checkObject(name: string, type: string, version?: string): Promise<AxiosResponse>;
33
+ }
34
+ //# sourceMappingURL=ManagementClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagementClient.d.ts","sourceRoot":"","sources":["../../src/clients/ManagementClient.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,qBAAa,gBAAgB;IACf,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,cAAc;IAE9C;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAS1F;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7D,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAQzB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAMxF"}