@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,88 @@
1
+ "use strict";
2
+ /**
3
+ * Where-used operations for ABAP objects
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getWhereUsed = getWhereUsed;
7
+ const connection_1 = require("@mcp-abap-adt/connection");
8
+ const internalUtils_1 = require("../../utils/internalUtils");
9
+ /**
10
+ * Build object URI based on type and name
11
+ */
12
+ function buildObjectUri(objectName, objectType) {
13
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(objectName);
14
+ switch (objectType.toLowerCase()) {
15
+ case 'class':
16
+ case 'clas/oc':
17
+ return `/sap/bc/adt/oo/classes/${encodedName}`;
18
+ case 'program':
19
+ case 'prog/p':
20
+ return `/sap/bc/adt/programs/programs/${encodedName}`;
21
+ case 'include':
22
+ return `/sap/bc/adt/programs/includes/${encodedName}`;
23
+ case 'function':
24
+ case 'functiongroup':
25
+ case 'fugr':
26
+ return `/sap/bc/adt/functions/groups/${encodedName}`;
27
+ case 'functionmodule':
28
+ case 'function_module':
29
+ case 'fugr/ff':
30
+ if (objectName.includes('|')) {
31
+ const [group, fm] = objectName.split('|');
32
+ return `/sap/bc/adt/functions/groups/${(0, internalUtils_1.encodeSapObjectName)(group)}/fmodules/${(0, internalUtils_1.encodeSapObjectName)(fm)}`;
33
+ }
34
+ throw new Error('Function module name must be in format GROUP|FM_NAME');
35
+ case 'interface':
36
+ case 'intf/if':
37
+ return `/sap/bc/adt/oo/interfaces/${encodedName}`;
38
+ case 'package':
39
+ case 'devc/k':
40
+ return `/sap/bc/adt/packages/${encodedName}`;
41
+ case 'table':
42
+ case 'tabl/dt':
43
+ return `/sap/bc/adt/ddic/tables/${encodedName}`;
44
+ case 'structure':
45
+ case 'stru/dt':
46
+ return `/sap/bc/adt/ddic/structures/${encodedName}`;
47
+ case 'domain':
48
+ case 'doma/dd':
49
+ return `/sap/bc/adt/ddic/domains/${encodedName}`;
50
+ case 'dataelement':
51
+ case 'dtel':
52
+ return `/sap/bc/adt/ddic/dataelements/${encodedName}`;
53
+ case 'view':
54
+ case 'ddls/df':
55
+ return `/sap/bc/adt/ddic/ddl/sources/${encodedName}`;
56
+ default:
57
+ throw new Error(`Unsupported object type for where-used: ${objectType}`);
58
+ }
59
+ }
60
+ /**
61
+ * Get where-used references for ABAP object
62
+ *
63
+ * @param connection - ABAP connection
64
+ * @param params - Where-used parameters
65
+ * @returns Where-used references
66
+ */
67
+ async function getWhereUsed(connection, params) {
68
+ if (!params.object_name) {
69
+ throw new Error('Object name is required');
70
+ }
71
+ if (!params.object_type) {
72
+ throw new Error('Object type is required');
73
+ }
74
+ const baseUrl = await connection.getBaseUrl();
75
+ const objectUri = buildObjectUri(params.object_name, params.object_type);
76
+ const url = `${baseUrl}/sap/bc/adt/repository/informationsystem/usageReferences?uri=${encodeURIComponent(objectUri)}`;
77
+ const requestBody = '<?xml version="1.0" encoding="UTF-8"?><usagereferences:usageReferenceRequest xmlns:usagereferences="http://www.sap.com/adt/ris/usageReferences"><usagereferences:affectedObjects/></usagereferences:usageReferenceRequest>';
78
+ return connection.makeAdtRequest({
79
+ url,
80
+ method: 'POST',
81
+ timeout: (0, connection_1.getTimeout)('default'),
82
+ data: requestBody,
83
+ headers: {
84
+ 'Content-Type': 'application/xml',
85
+ 'Accept': 'application/xml'
86
+ }
87
+ });
88
+ }
@@ -0,0 +1,124 @@
1
+ /**
2
+ * StructureBuilder - Fluent API for structure 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 StructureBuilder(connection, logger, {
14
+ * structureName: 'Z_TEST_STRUCT',
15
+ * packageName: 'ZOK_TEST_PKG_01'
16
+ * });
17
+ *
18
+ * await builder
19
+ * .setFields([{ name: 'FIELD1', data_type: 'CHAR', length: 10 }])
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 { StructureField, StructureInclude } from './types';
34
+ import { ValidationResult } from '../shared/validation';
35
+ export interface StructureBuilderLogger {
36
+ debug?: (message: string, ...args: any[]) => void;
37
+ info?: (message: string, ...args: any[]) => void;
38
+ warn?: (message: string, ...args: any[]) => void;
39
+ error?: (message: string, ...args: any[]) => void;
40
+ }
41
+ export interface StructureBuilderConfig {
42
+ structureName: string;
43
+ packageName?: string;
44
+ transportRequest?: string;
45
+ description?: string;
46
+ ddlCode?: string;
47
+ fields?: StructureField[];
48
+ includes?: StructureInclude[];
49
+ sessionId?: string;
50
+ onLock?: (lockHandle: string, sessionId: string) => void;
51
+ }
52
+ export interface StructureBuilderState {
53
+ validationResult?: ValidationResult;
54
+ createResult?: AxiosResponse;
55
+ lockHandle?: string;
56
+ updateResult?: AxiosResponse;
57
+ checkResult?: AxiosResponse;
58
+ unlockResult?: AxiosResponse;
59
+ activateResult?: AxiosResponse;
60
+ readResult?: AxiosResponse;
61
+ errors: Array<{
62
+ method: string;
63
+ error: Error;
64
+ timestamp: Date;
65
+ }>;
66
+ }
67
+ export declare class StructureBuilder {
68
+ private connection;
69
+ private logger;
70
+ private config;
71
+ private lockHandle?;
72
+ private sessionId;
73
+ private state;
74
+ constructor(connection: AbapConnection, logger: StructureBuilderLogger, config: StructureBuilderConfig);
75
+ setPackage(packageName: string): this;
76
+ setRequest(transportRequest: string): this;
77
+ setName(structureName: string): this;
78
+ setDescription(description: string): this;
79
+ setDdlCode(ddlCode: string): this;
80
+ setFields(fields: StructureField[]): this;
81
+ setIncludes(includes: StructureInclude[]): this;
82
+ addField(field: StructureField): this;
83
+ addInclude(include: StructureInclude): this;
84
+ validate(): Promise<this>;
85
+ create(): Promise<this>;
86
+ lock(): Promise<this>;
87
+ update(ddlCode?: string): Promise<this>;
88
+ check(version?: 'active' | 'inactive'): Promise<this>;
89
+ unlock(): Promise<this>;
90
+ activate(): Promise<this>;
91
+ read(version?: 'active' | 'inactive'): Promise<this>;
92
+ forceUnlock(): Promise<void>;
93
+ getState(): Readonly<StructureBuilderState>;
94
+ getStructureName(): string;
95
+ getLockHandle(): string | undefined;
96
+ getSessionId(): string;
97
+ getValidationResult(): ValidationResult | undefined;
98
+ getCreateResult(): AxiosResponse | undefined;
99
+ getUpdateResult(): AxiosResponse | undefined;
100
+ getCheckResult(): AxiosResponse | undefined;
101
+ getUnlockResult(): AxiosResponse | undefined;
102
+ getActivateResult(): AxiosResponse | undefined;
103
+ getReadResult(): AxiosResponse | undefined;
104
+ getErrors(): ReadonlyArray<{
105
+ method: string;
106
+ error: Error;
107
+ timestamp: Date;
108
+ }>;
109
+ getResults(): {
110
+ validate?: ValidationResult;
111
+ create?: AxiosResponse;
112
+ update?: AxiosResponse;
113
+ check?: AxiosResponse;
114
+ unlock?: AxiosResponse;
115
+ activate?: AxiosResponse;
116
+ lockHandle?: string;
117
+ errors: Array<{
118
+ method: string;
119
+ error: Error;
120
+ timestamp: Date;
121
+ }>;
122
+ };
123
+ }
124
+ //# sourceMappingURL=StructureBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StructureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/structure/StructureBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+ /**
3
+ * StructureBuilder - Fluent API for structure operations with Promise chaining
4
+ *
5
+ * Supports:
6
+ * - Method chaining: builder.create().then(b => b.lock()).then(b => b.update())...
7
+ * - Error handling: .catch() for error callbacks
8
+ * - Cleanup: .finally() for guaranteed execution
9
+ * - Result storage: all results stored in logger/state
10
+ * - Chain interruption: chain stops on first error (standard Promise behavior)
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const builder = new StructureBuilder(connection, logger, {
15
+ * structureName: 'Z_TEST_STRUCT',
16
+ * packageName: 'ZOK_TEST_PKG_01'
17
+ * });
18
+ *
19
+ * await builder
20
+ * .setFields([{ name: 'FIELD1', data_type: 'CHAR', length: 10 }])
21
+ * .create()
22
+ * .then(b => b.lock())
23
+ * .then(b => b.update())
24
+ * .then(b => b.check())
25
+ * .then(b => b.unlock())
26
+ * .then(b => b.activate())
27
+ * .catch(error => {
28
+ * logger.error('Operation failed:', error);
29
+ * });
30
+ * ```
31
+ */
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.StructureBuilder = void 0;
34
+ const sessionUtils_1 = require("../../utils/sessionUtils");
35
+ const create_1 = require("./create");
36
+ const lock_1 = require("./lock");
37
+ const update_1 = require("./update");
38
+ const check_1 = require("./check");
39
+ const unlock_1 = require("./unlock");
40
+ const activation_1 = require("./activation");
41
+ const validation_1 = require("./validation");
42
+ const read_1 = require("./read");
43
+ class StructureBuilder {
44
+ connection;
45
+ logger;
46
+ config;
47
+ lockHandle;
48
+ sessionId;
49
+ state;
50
+ constructor(connection, logger, config) {
51
+ this.connection = connection;
52
+ this.logger = logger;
53
+ this.config = { ...config };
54
+ this.sessionId = config.sessionId || (0, sessionUtils_1.generateSessionId)();
55
+ this.state = {
56
+ errors: []
57
+ };
58
+ }
59
+ // Builder methods - return this for chaining
60
+ setPackage(packageName) {
61
+ this.config.packageName = packageName;
62
+ this.logger.debug?.('Package set:', packageName);
63
+ return this;
64
+ }
65
+ setRequest(transportRequest) {
66
+ this.config.transportRequest = transportRequest;
67
+ this.logger.debug?.('Transport request set:', transportRequest);
68
+ return this;
69
+ }
70
+ setName(structureName) {
71
+ this.config.structureName = structureName;
72
+ this.logger.debug?.('Structure name set:', structureName);
73
+ return this;
74
+ }
75
+ setDescription(description) {
76
+ this.config.description = description;
77
+ return this;
78
+ }
79
+ setDdlCode(ddlCode) {
80
+ this.config.ddlCode = ddlCode;
81
+ this.logger.debug?.('DDL code set');
82
+ return this;
83
+ }
84
+ setFields(fields) {
85
+ this.config.fields = fields;
86
+ this.logger.debug?.('Fields set:', fields.length);
87
+ return this;
88
+ }
89
+ setIncludes(includes) {
90
+ this.config.includes = includes;
91
+ this.logger.debug?.('Includes set:', includes.length);
92
+ return this;
93
+ }
94
+ addField(field) {
95
+ if (!this.config.fields) {
96
+ this.config.fields = [];
97
+ }
98
+ this.config.fields.push(field);
99
+ return this;
100
+ }
101
+ addInclude(include) {
102
+ if (!this.config.includes) {
103
+ this.config.includes = [];
104
+ }
105
+ this.config.includes.push(include);
106
+ return this;
107
+ }
108
+ // Operation methods - return Promise<this> for Promise chaining
109
+ async validate() {
110
+ try {
111
+ this.logger.info?.('Validating structure name:', this.config.structureName);
112
+ const result = await (0, validation_1.validateStructureName)(this.connection, this.config.structureName, this.config.description);
113
+ this.state.validationResult = result;
114
+ if (!result.valid) {
115
+ throw new Error(`Structure name validation failed: ${result.message}`);
116
+ }
117
+ this.logger.info?.('Structure name validation successful');
118
+ return this;
119
+ }
120
+ catch (error) {
121
+ this.state.errors.push({
122
+ method: 'validate',
123
+ error: error instanceof Error ? error : new Error(String(error)),
124
+ timestamp: new Date()
125
+ });
126
+ this.logger.error?.('Validation failed:', error);
127
+ throw error;
128
+ }
129
+ }
130
+ async create() {
131
+ try {
132
+ if (!this.config.packageName) {
133
+ throw new Error('Package name is required');
134
+ }
135
+ if (!this.config.ddlCode) {
136
+ throw new Error('DDL code is required');
137
+ }
138
+ this.logger.info?.('Creating structure:', this.config.structureName);
139
+ const params = {
140
+ structure_name: this.config.structureName,
141
+ package_name: this.config.packageName,
142
+ transport_request: this.config.transportRequest,
143
+ description: this.config.description,
144
+ ddl_code: this.config.ddlCode
145
+ };
146
+ const result = await (0, create_1.createStructure)(this.connection, params);
147
+ this.state.createResult = result;
148
+ this.logger.info?.('Structure created successfully:', result.status);
149
+ return this;
150
+ }
151
+ catch (error) {
152
+ this.state.errors.push({
153
+ method: 'create',
154
+ error: error instanceof Error ? error : new Error(String(error)),
155
+ timestamp: new Date()
156
+ });
157
+ this.logger.error?.('Create failed:', error);
158
+ throw error;
159
+ }
160
+ }
161
+ async lock() {
162
+ try {
163
+ this.logger.info?.('Locking structure:', this.config.structureName);
164
+ const lockHandle = await (0, lock_1.lockStructure)(this.connection, this.config.structureName, this.sessionId);
165
+ this.lockHandle = lockHandle;
166
+ this.state.lockHandle = lockHandle;
167
+ // Register lock in persistent storage if callback provided
168
+ if (this.config.onLock) {
169
+ this.config.onLock(lockHandle, this.sessionId);
170
+ }
171
+ this.logger.info?.('Structure locked, handle:', lockHandle.substring(0, 10) + '...');
172
+ return this;
173
+ }
174
+ catch (error) {
175
+ this.state.errors.push({
176
+ method: 'lock',
177
+ error: error instanceof Error ? error : new Error(String(error)),
178
+ timestamp: new Date()
179
+ });
180
+ this.logger.error?.('Lock failed:', error);
181
+ throw error;
182
+ }
183
+ }
184
+ async update(ddlCode) {
185
+ try {
186
+ if (!this.lockHandle) {
187
+ throw new Error('Structure must be locked before update. Call lock() first.');
188
+ }
189
+ const code = ddlCode || this.config.ddlCode;
190
+ if (!code) {
191
+ throw new Error('DDL code is required. Use setDdlCode() or pass as parameter.');
192
+ }
193
+ this.logger.info?.('Updating structure:', this.config.structureName);
194
+ const params = {
195
+ structure_name: this.config.structureName,
196
+ ddl_code: code,
197
+ transport_request: this.config.transportRequest
198
+ };
199
+ const result = await (0, update_1.updateStructure)(this.connection, params, this.lockHandle, this.sessionId);
200
+ this.state.updateResult = result;
201
+ this.logger.info?.('Structure updated successfully:', result.status);
202
+ return this;
203
+ }
204
+ catch (error) {
205
+ this.state.errors.push({
206
+ method: 'update',
207
+ error: error instanceof Error ? error : new Error(String(error)),
208
+ timestamp: new Date()
209
+ });
210
+ this.logger.error?.('Update failed:', error);
211
+ throw error;
212
+ }
213
+ }
214
+ async check(version = 'inactive') {
215
+ try {
216
+ this.logger.info?.('Checking structure:', this.config.structureName, 'version:', version);
217
+ const result = await (0, check_1.checkStructure)(this.connection, this.config.structureName, version, this.sessionId);
218
+ this.state.checkResult = result;
219
+ this.logger.info?.('Structure check successful:', result.status);
220
+ return this;
221
+ }
222
+ catch (error) {
223
+ this.state.errors.push({
224
+ method: 'check',
225
+ error: error instanceof Error ? error : new Error(String(error)),
226
+ timestamp: new Date()
227
+ });
228
+ this.logger.error?.('Check failed:', error);
229
+ throw error;
230
+ }
231
+ }
232
+ async unlock() {
233
+ try {
234
+ if (!this.lockHandle) {
235
+ throw new Error('Structure is not locked. Call lock() first.');
236
+ }
237
+ this.logger.info?.('Unlocking structure:', this.config.structureName);
238
+ const result = await (0, unlock_1.unlockStructure)(this.connection, this.config.structureName, this.lockHandle, this.sessionId);
239
+ this.state.unlockResult = result;
240
+ this.lockHandle = undefined;
241
+ this.state.lockHandle = undefined;
242
+ this.logger.info?.('Structure unlocked successfully');
243
+ return this;
244
+ }
245
+ catch (error) {
246
+ this.state.errors.push({
247
+ method: 'unlock',
248
+ error: error instanceof Error ? error : new Error(String(error)),
249
+ timestamp: new Date()
250
+ });
251
+ this.logger.error?.('Unlock failed:', error);
252
+ throw error;
253
+ }
254
+ }
255
+ async activate() {
256
+ try {
257
+ this.logger.info?.('Activating structure:', this.config.structureName);
258
+ const result = await (0, activation_1.activateStructure)(this.connection, this.config.structureName, this.sessionId);
259
+ this.state.activateResult = result;
260
+ this.logger.info?.('Structure activated successfully:', result.status);
261
+ return this;
262
+ }
263
+ catch (error) {
264
+ this.state.errors.push({
265
+ method: 'activate',
266
+ error: error instanceof Error ? error : new Error(String(error)),
267
+ timestamp: new Date()
268
+ });
269
+ this.logger.error?.('Activate failed:', error);
270
+ throw error;
271
+ }
272
+ }
273
+ async read(version = 'active') {
274
+ try {
275
+ this.logger.info?.('Reading structure:', this.config.structureName);
276
+ const result = await (0, read_1.getStructureSource)(this.connection, this.config.structureName);
277
+ this.state.readResult = result;
278
+ this.logger.info?.('Structure read successfully:', result.status);
279
+ return this;
280
+ }
281
+ catch (error) {
282
+ this.state.errors.push({
283
+ method: 'read',
284
+ error: error instanceof Error ? error : new Error(String(error)),
285
+ timestamp: new Date()
286
+ });
287
+ this.logger.error?.('Read failed:', error);
288
+ throw error;
289
+ }
290
+ }
291
+ async forceUnlock() {
292
+ if (!this.lockHandle) {
293
+ return;
294
+ }
295
+ try {
296
+ await (0, unlock_1.unlockStructure)(this.connection, this.config.structureName, this.lockHandle, this.sessionId);
297
+ this.logger.info?.('Force unlock successful for', this.config.structureName);
298
+ }
299
+ catch (error) {
300
+ this.logger.warn?.('Force unlock failed:', error);
301
+ }
302
+ finally {
303
+ this.lockHandle = undefined;
304
+ this.state.lockHandle = undefined;
305
+ }
306
+ }
307
+ // Getters for accessing results
308
+ getState() {
309
+ return { ...this.state };
310
+ }
311
+ getStructureName() {
312
+ return this.config.structureName;
313
+ }
314
+ getLockHandle() {
315
+ return this.lockHandle;
316
+ }
317
+ getSessionId() {
318
+ return this.sessionId;
319
+ }
320
+ getValidationResult() {
321
+ return this.state.validationResult;
322
+ }
323
+ getCreateResult() {
324
+ return this.state.createResult;
325
+ }
326
+ getUpdateResult() {
327
+ return this.state.updateResult;
328
+ }
329
+ getCheckResult() {
330
+ return this.state.checkResult;
331
+ }
332
+ getUnlockResult() {
333
+ return this.state.unlockResult;
334
+ }
335
+ getActivateResult() {
336
+ return this.state.activateResult;
337
+ }
338
+ getReadResult() {
339
+ return this.state.readResult;
340
+ }
341
+ getErrors() {
342
+ return [...this.state.errors];
343
+ }
344
+ getResults() {
345
+ return {
346
+ validate: this.state.validationResult,
347
+ create: this.state.createResult,
348
+ update: this.state.updateResult,
349
+ check: this.state.checkResult,
350
+ unlock: this.state.unlockResult,
351
+ activate: this.state.activateResult,
352
+ lockHandle: this.lockHandle,
353
+ errors: [...this.state.errors]
354
+ };
355
+ }
356
+ }
357
+ exports.StructureBuilder = StructureBuilder;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Structure activation operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Activate the structure after creation
8
+ */
9
+ export declare function activateStructure(connection: AbapConnection, structureName: string, sessionId: string): Promise<AxiosResponse>;
10
+ //# sourceMappingURL=activation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../src/core/structure/activation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAGxB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Structure activation operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.activateStructure = activateStructure;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const activationUtils_1 = require("../../utils/activationUtils");
9
+ /**
10
+ * Activate the structure after creation
11
+ */
12
+ async function activateStructure(connection, structureName, sessionId) {
13
+ const objectUri = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName)}`;
14
+ return await (0, activationUtils_1.activateObjectInSession)(connection, objectUri, structureName, sessionId, true);
15
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Structure check operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Check structure syntax
8
+ * Note: For DDIC objects like structures, check may not be fully supported in all SAP systems.
9
+ * If check fails with "inactive version does not exist" or "importing from database" error, it's often safe to skip.
10
+ */
11
+ export declare function checkStructure(connection: AbapConnection, structureName: string, version?: string, sessionId?: string): Promise<AxiosResponse>;
12
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/structure/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,MAAiB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAmCxB"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Structure check operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkStructure = checkStructure;
7
+ const checkRun_1 = require("../shared/checkRun");
8
+ /**
9
+ * Check structure syntax
10
+ * Note: For DDIC objects like structures, check may not be fully supported in all SAP systems.
11
+ * If check fails with "inactive version does not exist" or "importing from database" error, it's often safe to skip.
12
+ */
13
+ async function checkStructure(connection, structureName, version = 'active', sessionId) {
14
+ const response = await (0, checkRun_1.runCheckRun)(connection, 'structure', structureName, version, 'abapCheckRun', sessionId);
15
+ const checkResult = (0, checkRun_1.parseCheckRunResponse)(response);
16
+ if (!checkResult.success && checkResult.has_errors) {
17
+ // For DDIC objects, "inactive version does not exist", "importing from database", or "has been checked" errors
18
+ // are often non-critical and can be safely ignored, especially for inactive versions
19
+ const errorMessage = checkResult.message || '';
20
+ // Check both message and errors array for "has been checked" message
21
+ const hasCheckedMessage = errorMessage.toLowerCase().includes('has been checked') ||
22
+ checkResult.errors.some((err) => (err.text || '').toLowerCase().includes('has been checked'));
23
+ if (hasCheckedMessage) {
24
+ // This is expected behavior - structure was already checked, return response anyway
25
+ if (process.env.DEBUG_TESTS === 'true') {
26
+ console.warn(`Check warning for structure ${structureName}: ${errorMessage} (structure was already checked)`);
27
+ }
28
+ return response; // Return response anyway
29
+ }
30
+ if ((errorMessage.toLowerCase().includes('inactive version') &&
31
+ errorMessage.toLowerCase().includes('does not exist')) ||
32
+ (errorMessage.toLowerCase().includes('importing') &&
33
+ errorMessage.toLowerCase().includes('database'))) {
34
+ // This is expected behavior for DDIC objects - check may not be fully supported
35
+ // Return response without throwing - test chain can continue
36
+ if (process.env.DEBUG_TESTS === 'true') {
37
+ console.warn(`Check warning for structure ${structureName}: ${errorMessage} (check may not be fully supported for DDIC objects)`);
38
+ }
39
+ return response; // Return response anyway
40
+ }
41
+ throw new Error(`Structure check failed: ${checkResult.message}`);
42
+ }
43
+ return response;
44
+ }