@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,12 @@
1
+ /**
2
+ * Structure create operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ import { CreateStructureParams } from './types';
7
+ /**
8
+ * Create ABAP structure using DDL SQL
9
+ * Full workflow: create empty -> lock -> add DDL -> unlock -> activate -> verify
10
+ */
11
+ export declare function createStructure(connection: AbapConnection, params: CreateStructureParams): Promise<AxiosResponse>;
12
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/structure/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+DhD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA+ExB"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * Structure create operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createStructure = createStructure;
7
+ const connection_1 = require("@mcp-abap-adt/connection");
8
+ const fast_xml_parser_1 = require("fast-xml-parser");
9
+ const internalUtils_1 = require("../../utils/internalUtils");
10
+ const sessionUtils_1 = require("../../utils/sessionUtils");
11
+ const lock_1 = require("./lock");
12
+ const unlock_1 = require("./unlock");
13
+ const activation_1 = require("./activation");
14
+ /**
15
+ * Parse XML response to extract structure creation information
16
+ */
17
+ function parseStructureCreationResponse(xml) {
18
+ const parser = new fast_xml_parser_1.XMLParser({
19
+ ignoreAttributes: false,
20
+ attributeNamePrefix: '',
21
+ parseAttributeValue: true,
22
+ trimValues: true
23
+ });
24
+ try {
25
+ const result = parser.parse(xml);
26
+ if (result.error || result['asx:abap']?.['asx:values']?.ERROR) {
27
+ const errorMsg = result.error?.message ||
28
+ result['asx:abap']?.['asx:values']?.ERROR?.MESSAGE ||
29
+ 'Unknown error during structure creation';
30
+ throw new Error(errorMsg);
31
+ }
32
+ if (result['ddic:structure']) {
33
+ const structure = result['ddic:structure'];
34
+ return {
35
+ name: structure['adtcore:name'],
36
+ description: structure['adtcore:description'],
37
+ package: structure['adtcore:packageRef']?.['adtcore:name'],
38
+ status: 'created',
39
+ objectType: 'structure'
40
+ };
41
+ }
42
+ return { raw: result, status: 'created' };
43
+ }
44
+ catch (parseError) {
45
+ return {
46
+ raw_xml: xml,
47
+ status: 'created',
48
+ note: 'XML parsing failed, but structure creation might have succeeded'
49
+ };
50
+ }
51
+ }
52
+ /**
53
+ * Verify structure exists and get its details
54
+ */
55
+ async function verifyStructureCreation(connection, structureName) {
56
+ const baseUrl = await connection.getBaseUrl();
57
+ const url = `${baseUrl}/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName)}/source/main`;
58
+ return connection.makeAdtRequest({
59
+ url,
60
+ method: 'GET',
61
+ timeout: (0, connection_1.getTimeout)('default'),
62
+ headers: {}
63
+ });
64
+ }
65
+ /**
66
+ * Create ABAP structure using DDL SQL
67
+ * Full workflow: create empty -> lock -> add DDL -> unlock -> activate -> verify
68
+ */
69
+ async function createStructure(connection, params) {
70
+ if (!params.structure_name) {
71
+ throw new Error('Structure name is required');
72
+ }
73
+ if (!params.package_name) {
74
+ throw new Error('Package name is required');
75
+ }
76
+ if (!params.ddl_code) {
77
+ throw new Error('DDL code is required');
78
+ }
79
+ const sessionId = (0, sessionUtils_1.generateSessionId)();
80
+ let lockHandle = null;
81
+ try {
82
+ // Step 1: Create empty structure with POST
83
+ const createUrl = `/sap/bc/adt/ddic/structures${params.transport_request ? `?corrNr=${params.transport_request}` : ''}`;
84
+ const description = params.description || params.structure_name;
85
+ const structureXml = `<?xml version="1.0" encoding="UTF-8"?><blue:blueSource xmlns:blue="http://www.sap.com/wbobj/blue" xmlns:adtcore="http://www.sap.com/adt/core" adtcore:description="${description}" adtcore:language="EN" adtcore:name="${params.structure_name.toUpperCase()}" adtcore:type="STRU/DT" adtcore:masterLanguage="EN" adtcore:masterSystem="${process.env.SAP_SYSTEM || process.env.SAP_SYSTEM_ID || 'DEV'}" adtcore:responsible="${process.env.SAP_USER || process.env.SAP_USERNAME || 'DEVELOPER'}">
86
+ <adtcore:packageRef adtcore:name="${params.package_name.toUpperCase()}"/>
87
+ </blue:blueSource>`;
88
+ const headers = {
89
+ 'Accept': 'application/vnd.sap.adt.blues.v1+xml, application/vnd.sap.adt.structures.v2+xml',
90
+ 'Content-Type': 'application/vnd.sap.adt.structures.v2+xml'
91
+ };
92
+ const createResponse = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, createUrl, 'POST', sessionId, structureXml, headers);
93
+ // Step 2: Get lockHandle for the created structure
94
+ lockHandle = await (0, lock_1.lockStructure)(connection, params.structure_name, sessionId);
95
+ // Step 3: Add DDL content to the structure with lockHandle
96
+ const ddlUrl = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(params.structure_name)}/source/main?lockHandle=${lockHandle}${params.transport_request ? `&corrNr=${params.transport_request}` : ''}`;
97
+ const ddlHeaders = {
98
+ 'Accept': 'application/xml, application/json, text/plain, */*',
99
+ 'Content-Type': 'text/plain; charset=utf-8'
100
+ };
101
+ const ddlResponse = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, ddlUrl, 'PUT', sessionId, params.ddl_code, ddlHeaders);
102
+ parseStructureCreationResponse(ddlResponse.data);
103
+ // Step 4: Unlock the structure after DDL content is added
104
+ try {
105
+ await (0, unlock_1.unlockStructure)(connection, params.structure_name, lockHandle, sessionId);
106
+ lockHandle = null;
107
+ }
108
+ catch (unlockError) {
109
+ // Continue even if unlock fails
110
+ }
111
+ // Step 5: Activate structure
112
+ try {
113
+ await (0, activation_1.activateStructure)(connection, params.structure_name, sessionId);
114
+ }
115
+ catch (activateError) {
116
+ // Continue even if activation fails
117
+ }
118
+ // Return the DDL response
119
+ return ddlResponse;
120
+ }
121
+ catch (error) {
122
+ // Try to unlock if still locked
123
+ if (lockHandle) {
124
+ try {
125
+ await (0, unlock_1.unlockStructure)(connection, params.structure_name, lockHandle, sessionId);
126
+ }
127
+ catch (unlockError) {
128
+ // Ignore unlock errors
129
+ }
130
+ }
131
+ const errorMessage = error.response?.data
132
+ ? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
133
+ : error.message;
134
+ throw new Error(`Failed to create structure ${params.structure_name}: ${errorMessage}`);
135
+ }
136
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Structure delete operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ export interface DeleteStructureParams {
7
+ structure_name: string;
8
+ transport_request?: string;
9
+ }
10
+ /**
11
+ * Delete ABAP structure
12
+ */
13
+ export declare function deleteStructure(connection: AbapConnection, params: DeleteStructureParams): Promise<AxiosResponse>;
14
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/core/structure/delete.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAYxB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Structure delete operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.deleteStructure = deleteStructure;
7
+ const delete_1 = require("../delete");
8
+ /**
9
+ * Delete ABAP structure
10
+ */
11
+ async function deleteStructure(connection, params) {
12
+ if (!params.structure_name) {
13
+ throw new Error('structure_name is required');
14
+ }
15
+ const deleteParams = {
16
+ object_name: params.structure_name,
17
+ object_type: 'STRU/DT',
18
+ transport_request: params.transport_request
19
+ };
20
+ return await (0, delete_1.deleteObject)(connection, deleteParams);
21
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Structure operations - exports
3
+ */
4
+ export * from './types';
5
+ export * from './create';
6
+ export * from './read';
7
+ export * from './update';
8
+ export * from './delete';
9
+ export * from './lock';
10
+ export * from './unlock';
11
+ export * from './activation';
12
+ export * from './check';
13
+ export * from './validation';
14
+ export { StructureBuilder, type StructureBuilderConfig, type StructureBuilderLogger, type StructureBuilderState } from './StructureBuilder';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/structure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * Structure operations - exports
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.StructureBuilder = void 0;
21
+ __exportStar(require("./types"), exports);
22
+ __exportStar(require("./create"), exports);
23
+ __exportStar(require("./read"), exports);
24
+ __exportStar(require("./update"), exports);
25
+ __exportStar(require("./delete"), exports);
26
+ __exportStar(require("./lock"), exports);
27
+ __exportStar(require("./unlock"), exports);
28
+ __exportStar(require("./activation"), exports);
29
+ __exportStar(require("./check"), exports);
30
+ __exportStar(require("./validation"), exports);
31
+ var StructureBuilder_1 = require("./StructureBuilder");
32
+ Object.defineProperty(exports, "StructureBuilder", { enumerable: true, get: function () { return StructureBuilder_1.StructureBuilder; } });
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Structure lock operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ /**
6
+ * Lock structure for modification
7
+ * Returns lock handle that must be used in subsequent requests
8
+ */
9
+ export declare function lockStructure(connection: AbapConnection, structureName: string, sessionId: string): Promise<string>;
10
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/core/structure/lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Structure lock operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.lockStructure = lockStructure;
7
+ const fast_xml_parser_1 = require("fast-xml-parser");
8
+ const internalUtils_1 = require("../../utils/internalUtils");
9
+ const sessionUtils_1 = require("../../utils/sessionUtils");
10
+ /**
11
+ * Lock structure for modification
12
+ * Returns lock handle that must be used in subsequent requests
13
+ */
14
+ async function lockStructure(connection, structureName, sessionId) {
15
+ const url = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName).toLowerCase()}?_action=LOCK&accessMode=MODIFY`;
16
+ const headers = {
17
+ 'Accept': 'application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result;q=0.8, application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result2;q=0.9'
18
+ };
19
+ const response = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null, headers);
20
+ // Parse lock handle from XML response
21
+ const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '' });
22
+ const result = parser.parse(response.data);
23
+ const lockHandle = result?.['asx:abap']?.['asx:values']?.['DATA']?.['LOCK_HANDLE'];
24
+ if (!lockHandle) {
25
+ throw new Error('Failed to obtain lock handle from SAP. Structure may be locked by another user.');
26
+ }
27
+ return lockHandle;
28
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Structure read operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Get ABAP structure metadata (without source code)
8
+ */
9
+ export declare function getStructureMetadata(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
10
+ /**
11
+ * Get ABAP structure source code
12
+ */
13
+ export declare function getStructureSource(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
14
+ /**
15
+ * Get ABAP structure (source code by default for backward compatibility)
16
+ * @deprecated Use getStructureSource() or getStructureMetadata() instead
17
+ */
18
+ export declare function getStructure(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
19
+ /**
20
+ * Get transport request for ABAP structure
21
+ * @param connection - SAP connection
22
+ * @param structureName - Structure name
23
+ * @returns Transport request information
24
+ */
25
+ export declare function getStructureTransport(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
26
+ //# sourceMappingURL=read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/structure/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAaxB"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * Structure read operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getStructureMetadata = getStructureMetadata;
7
+ exports.getStructureSource = getStructureSource;
8
+ exports.getStructure = getStructure;
9
+ exports.getStructureTransport = getStructureTransport;
10
+ const connection_1 = require("@mcp-abap-adt/connection");
11
+ const internalUtils_1 = require("../../utils/internalUtils");
12
+ const readMetadata_1 = require("../shared/readMetadata");
13
+ const readSource_1 = require("../shared/readSource");
14
+ /**
15
+ * Get ABAP structure metadata (without source code)
16
+ */
17
+ async function getStructureMetadata(connection, structureName) {
18
+ return (0, readMetadata_1.readObjectMetadata)(connection, 'structure', structureName);
19
+ }
20
+ /**
21
+ * Get ABAP structure source code
22
+ */
23
+ async function getStructureSource(connection, structureName) {
24
+ return (0, readSource_1.readObjectSource)(connection, 'structure', structureName);
25
+ }
26
+ /**
27
+ * Get ABAP structure (source code by default for backward compatibility)
28
+ * @deprecated Use getStructureSource() or getStructureMetadata() instead
29
+ */
30
+ async function getStructure(connection, structureName) {
31
+ return getStructureSource(connection, structureName);
32
+ }
33
+ /**
34
+ * Get transport request for ABAP structure
35
+ * @param connection - SAP connection
36
+ * @param structureName - Structure name
37
+ * @returns Transport request information
38
+ */
39
+ async function getStructureTransport(connection, structureName) {
40
+ const baseUrl = await connection.getBaseUrl();
41
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(structureName);
42
+ const url = `${baseUrl}/sap/bc/adt/ddic/structures/${encodedName}/transport`;
43
+ return connection.makeAdtRequest({
44
+ url,
45
+ method: 'GET',
46
+ timeout: (0, connection_1.getTimeout)('default'),
47
+ headers: {
48
+ 'Accept': 'application/vnd.sap.adt.transportorganizer.v1+xml'
49
+ }
50
+ });
51
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Structure types
3
+ */
4
+ export interface StructureField {
5
+ name: string;
6
+ data_type?: string;
7
+ length?: number;
8
+ decimals?: number;
9
+ domain?: string;
10
+ data_element?: string;
11
+ structure_ref?: string;
12
+ table_ref?: string;
13
+ description?: string;
14
+ }
15
+ export interface StructureInclude {
16
+ name: string;
17
+ suffix?: string;
18
+ }
19
+ export interface CreateStructureParams {
20
+ structure_name: string;
21
+ description?: string;
22
+ package_name: string;
23
+ transport_request?: string;
24
+ ddl_code: string;
25
+ fields?: StructureField[];
26
+ includes?: StructureInclude[];
27
+ }
28
+ export interface UpdateStructureParams {
29
+ structure_name: string;
30
+ ddl_code: string;
31
+ transport_request?: string;
32
+ }
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/structure/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Structure types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Structure unlock operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Unlock structure
8
+ * Must use same session and lock handle from lock operation
9
+ */
10
+ export declare function unlockStructure(connection: AbapConnection, structureName: string, lockHandle: string, sessionId: string): Promise<AxiosResponse>;
11
+ //# sourceMappingURL=unlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/core/structure/unlock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAIxB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Structure unlock operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unlockStructure = unlockStructure;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const sessionUtils_1 = require("../../utils/sessionUtils");
9
+ /**
10
+ * Unlock structure
11
+ * Must use same session and lock handle from lock operation
12
+ */
13
+ async function unlockStructure(connection, structureName, lockHandle, sessionId) {
14
+ const url = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName).toLowerCase()}?_action=UNLOCK&lockHandle=${lockHandle}`;
15
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null);
16
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Structure update operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ import { UpdateStructureParams } from './types';
7
+ /**
8
+ * Update structure with DDL code
9
+ */
10
+ export declare function updateStructure(connection: AbapConnection, params: UpdateStructureParams, lockHandle: string, sessionId: string): Promise<AxiosResponse>;
11
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/structure/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Structure update operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateStructure = updateStructure;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const sessionUtils_1 = require("../../utils/sessionUtils");
9
+ /**
10
+ * Update structure with DDL code
11
+ */
12
+ async function updateStructure(connection, params, lockHandle, sessionId) {
13
+ if (!params.structure_name) {
14
+ throw new Error('structure_name is required');
15
+ }
16
+ if (!params.ddl_code) {
17
+ throw new Error('ddl_code is required');
18
+ }
19
+ const structureNameEncoded = (0, internalUtils_1.encodeSapObjectName)(params.structure_name);
20
+ const url = `/sap/bc/adt/ddic/structures/${structureNameEncoded}/source/main?lockHandle=${lockHandle}${params.transport_request ? `&corrNr=${params.transport_request}` : ''}`;
21
+ const headers = {
22
+ 'Accept': 'application/xml, application/json, text/plain, */*',
23
+ 'Content-Type': 'text/plain; charset=utf-8'
24
+ };
25
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'PUT', sessionId, params.ddl_code, headers);
26
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Structure validation
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { ValidationResult } from '../shared/validation';
6
+ /**
7
+ * Validate structure name
8
+ */
9
+ export declare function validateStructureName(connection: AbapConnection, structureName: string, description?: string): Promise<ValidationResult>;
10
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/core/structure/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Structure validation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateStructureName = validateStructureName;
7
+ const validation_1 = require("../shared/validation");
8
+ /**
9
+ * Validate structure name
10
+ */
11
+ async function validateStructureName(connection, structureName, description) {
12
+ const params = {};
13
+ if (description) {
14
+ params.description = description;
15
+ }
16
+ return (0, validation_1.validateObjectName)(connection, 'STRU/DT', structureName, params);
17
+ }
@@ -0,0 +1,115 @@
1
+ /**
2
+ * TableBuilder - Fluent API for table operations with Promise chaining
3
+ *
4
+ * Supports:
5
+ * - Method chaining: builder.create().then(b => b.lock()).then(b => b.update())...
6
+ * - Error handling: .catch() for error callbacks
7
+ * - Cleanup: .finally() for guaranteed execution
8
+ * - Result storage: all results stored in logger/state
9
+ * - Chain interruption: chain stops on first error (standard Promise behavior)
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const builder = new TableBuilder(connection, logger, {
14
+ * tableName: 'Z_TEST_TABLE',
15
+ * packageName: 'ZOK_TEST_PKG_01'
16
+ * });
17
+ *
18
+ * await builder
19
+ * .setDdlCode('@AbapCatalog.tableType : #TRANSPARENT\n...')
20
+ * .create()
21
+ * .then(b => b.lock())
22
+ * .then(b => b.update())
23
+ * .then(b => b.check())
24
+ * .then(b => b.unlock())
25
+ * .then(b => b.activate())
26
+ * .catch(error => {
27
+ * logger.error('Operation failed:', error);
28
+ * });
29
+ * ```
30
+ */
31
+ import { AbapConnection } from '@mcp-abap-adt/connection';
32
+ import { AxiosResponse } from 'axios';
33
+ import { ValidationResult } from '../shared/validation';
34
+ export interface TableBuilderLogger {
35
+ debug?: (message: string, ...args: any[]) => void;
36
+ info?: (message: string, ...args: any[]) => void;
37
+ warn?: (message: string, ...args: any[]) => void;
38
+ error?: (message: string, ...args: any[]) => void;
39
+ }
40
+ export interface TableBuilderConfig {
41
+ tableName: string;
42
+ packageName?: string;
43
+ transportRequest?: string;
44
+ ddlCode?: string;
45
+ sessionId?: string;
46
+ onLock?: (lockHandle: string, sessionId: string) => void;
47
+ }
48
+ export interface TableBuilderState {
49
+ validationResult?: ValidationResult;
50
+ createResult?: AxiosResponse;
51
+ lockHandle?: string;
52
+ updateResult?: AxiosResponse;
53
+ checkResult?: AxiosResponse;
54
+ unlockResult?: AxiosResponse;
55
+ activateResult?: AxiosResponse;
56
+ readResult?: AxiosResponse;
57
+ errors: Array<{
58
+ method: string;
59
+ error: Error;
60
+ timestamp: Date;
61
+ }>;
62
+ }
63
+ export declare class TableBuilder {
64
+ private connection;
65
+ private logger;
66
+ private config;
67
+ private lockHandle?;
68
+ private sessionId;
69
+ private state;
70
+ constructor(connection: AbapConnection, logger: TableBuilderLogger, config: TableBuilderConfig);
71
+ setPackage(packageName: string): this;
72
+ setRequest(transportRequest: string): this;
73
+ setName(tableName: string): this;
74
+ setDdlCode(ddlCode: string): this;
75
+ validate(): Promise<this>;
76
+ create(): Promise<this>;
77
+ lock(): Promise<this>;
78
+ update(): Promise<this>;
79
+ check(reporter?: 'tableStatusCheck' | 'abapCheckRun'): Promise<this>;
80
+ unlock(): Promise<this>;
81
+ activate(): Promise<this>;
82
+ read(version?: 'active' | 'inactive'): Promise<this>;
83
+ forceUnlock(): Promise<void>;
84
+ getState(): Readonly<TableBuilderState>;
85
+ getTableName(): string;
86
+ getLockHandle(): string | undefined;
87
+ getSessionId(): string;
88
+ getValidationResult(): ValidationResult | undefined;
89
+ getCreateResult(): AxiosResponse | undefined;
90
+ getUpdateResult(): AxiosResponse | undefined;
91
+ getCheckResult(): AxiosResponse | undefined;
92
+ getUnlockResult(): AxiosResponse | undefined;
93
+ getActivateResult(): AxiosResponse | undefined;
94
+ getReadResult(): AxiosResponse | undefined;
95
+ getErrors(): ReadonlyArray<{
96
+ method: string;
97
+ error: Error;
98
+ timestamp: Date;
99
+ }>;
100
+ getResults(): {
101
+ validate?: ValidationResult;
102
+ create?: AxiosResponse;
103
+ update?: AxiosResponse;
104
+ check?: AxiosResponse;
105
+ unlock?: AxiosResponse;
106
+ activate?: AxiosResponse;
107
+ lockHandle?: string;
108
+ errors: Array<{
109
+ method: string;
110
+ error: Error;
111
+ timestamp: Date;
112
+ }>;
113
+ };
114
+ }
115
+ //# sourceMappingURL=TableBuilder.d.ts.map