@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,335 @@
1
+ "use strict";
2
+ /**
3
+ * ViewBuilder - Fluent API for view 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 ViewBuilder(connection, logger, {
15
+ * viewName: 'Z_TEST_VIEW',
16
+ * packageName: 'ZOK_TEST_PKG_01'
17
+ * });
18
+ *
19
+ * await builder
20
+ * .setDdlSource('@AbapCatalog.viewType: #BASIC\n...')
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.ViewBuilder = 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 ViewBuilder {
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(viewName) {
71
+ this.config.viewName = viewName;
72
+ this.logger.debug?.('View name set:', viewName);
73
+ return this;
74
+ }
75
+ setDescription(description) {
76
+ this.config.description = description;
77
+ return this;
78
+ }
79
+ setDdlSource(ddlSource) {
80
+ this.config.ddlSource = ddlSource;
81
+ this.logger.debug?.('DDL source set, length:', ddlSource.length);
82
+ return this;
83
+ }
84
+ // Operation methods - return Promise<this> for Promise chaining
85
+ async validate() {
86
+ try {
87
+ this.logger.info?.('Validating view name:', this.config.viewName);
88
+ const result = await (0, validation_1.validateViewName)(this.connection, this.config.viewName, this.config.description);
89
+ this.state.validationResult = result;
90
+ if (!result.valid) {
91
+ throw new Error(`View name validation failed: ${result.message}`);
92
+ }
93
+ this.logger.info?.('View name validation successful');
94
+ return this;
95
+ }
96
+ catch (error) {
97
+ this.state.errors.push({
98
+ method: 'validate',
99
+ error: error instanceof Error ? error : new Error(String(error)),
100
+ timestamp: new Date()
101
+ });
102
+ this.logger.error?.('Validation failed:', error);
103
+ throw error;
104
+ }
105
+ }
106
+ async create() {
107
+ try {
108
+ if (!this.config.packageName) {
109
+ throw new Error('Package name is required');
110
+ }
111
+ if (!this.config.ddlSource) {
112
+ throw new Error('DDL source is required');
113
+ }
114
+ this.logger.info?.('Creating view:', this.config.viewName);
115
+ const params = {
116
+ view_name: this.config.viewName,
117
+ ddl_source: this.config.ddlSource,
118
+ package_name: this.config.packageName,
119
+ transport_request: this.config.transportRequest,
120
+ description: this.config.description
121
+ };
122
+ const result = await (0, create_1.createView)(this.connection, params);
123
+ this.state.createResult = result;
124
+ this.logger.info?.('View created successfully:', result.status);
125
+ return this;
126
+ }
127
+ catch (error) {
128
+ this.state.errors.push({
129
+ method: 'create',
130
+ error: error instanceof Error ? error : new Error(String(error)),
131
+ timestamp: new Date()
132
+ });
133
+ this.logger.error?.('Create failed:', error);
134
+ throw error;
135
+ }
136
+ }
137
+ async lock() {
138
+ try {
139
+ this.logger.info?.('Locking view:', this.config.viewName);
140
+ const lockHandle = await (0, lock_1.lockDDLS)(this.connection, this.config.viewName, this.sessionId);
141
+ this.lockHandle = lockHandle;
142
+ this.state.lockHandle = lockHandle;
143
+ // Register lock in persistent storage if callback provided
144
+ if (this.config.onLock) {
145
+ this.config.onLock(lockHandle, this.sessionId);
146
+ }
147
+ this.logger.info?.('View locked, handle:', lockHandle.substring(0, 10) + '...');
148
+ return this;
149
+ }
150
+ catch (error) {
151
+ this.state.errors.push({
152
+ method: 'lock',
153
+ error: error instanceof Error ? error : new Error(String(error)),
154
+ timestamp: new Date()
155
+ });
156
+ this.logger.error?.('Lock failed:', error);
157
+ throw error;
158
+ }
159
+ }
160
+ async update() {
161
+ try {
162
+ if (!this.lockHandle) {
163
+ throw new Error('View must be locked before update. Call lock() first.');
164
+ }
165
+ if (!this.config.ddlSource) {
166
+ throw new Error('DDL source is required');
167
+ }
168
+ this.logger.info?.('Updating view:', this.config.viewName);
169
+ const params = {
170
+ view_name: this.config.viewName,
171
+ ddl_source: this.config.ddlSource,
172
+ activate: false,
173
+ lock_handle: this.lockHandle,
174
+ session_id: this.sessionId,
175
+ transport_request: this.config.transportRequest
176
+ };
177
+ const result = await (0, update_1.updateViewSource)(this.connection, params);
178
+ this.state.updateResult = result;
179
+ this.logger.info?.('View updated successfully:', result.status);
180
+ return this;
181
+ }
182
+ catch (error) {
183
+ this.state.errors.push({
184
+ method: 'update',
185
+ error: error instanceof Error ? error : new Error(String(error)),
186
+ timestamp: new Date()
187
+ });
188
+ this.logger.error?.('Update failed:', error);
189
+ throw error;
190
+ }
191
+ }
192
+ async check(version = 'inactive') {
193
+ try {
194
+ this.logger.info?.('Checking view:', this.config.viewName, 'version:', version);
195
+ const result = await (0, check_1.checkView)(this.connection, this.config.viewName, version, this.sessionId);
196
+ this.state.checkResult = result;
197
+ this.logger.info?.('View check successful:', result.status);
198
+ return this;
199
+ }
200
+ catch (error) {
201
+ this.state.errors.push({
202
+ method: 'check',
203
+ error: error instanceof Error ? error : new Error(String(error)),
204
+ timestamp: new Date()
205
+ });
206
+ this.logger.error?.('Check failed:', error);
207
+ throw error;
208
+ }
209
+ }
210
+ async unlock() {
211
+ try {
212
+ if (!this.lockHandle) {
213
+ throw new Error('View is not locked. Call lock() first.');
214
+ }
215
+ this.logger.info?.('Unlocking view:', this.config.viewName);
216
+ const result = await (0, unlock_1.unlockDDLS)(this.connection, this.config.viewName, this.lockHandle, this.sessionId);
217
+ this.state.unlockResult = result;
218
+ this.lockHandle = undefined;
219
+ this.state.lockHandle = undefined;
220
+ this.logger.info?.('View unlocked successfully');
221
+ return this;
222
+ }
223
+ catch (error) {
224
+ this.state.errors.push({
225
+ method: 'unlock',
226
+ error: error instanceof Error ? error : new Error(String(error)),
227
+ timestamp: new Date()
228
+ });
229
+ this.logger.error?.('Unlock failed:', error);
230
+ throw error;
231
+ }
232
+ }
233
+ async activate() {
234
+ try {
235
+ this.logger.info?.('Activating view:', this.config.viewName);
236
+ const result = await (0, activation_1.activateDDLS)(this.connection, this.config.viewName, this.sessionId);
237
+ this.state.activateResult = result;
238
+ this.logger.info?.('View activated successfully:', result.status);
239
+ return this;
240
+ }
241
+ catch (error) {
242
+ this.state.errors.push({
243
+ method: 'activate',
244
+ error: error instanceof Error ? error : new Error(String(error)),
245
+ timestamp: new Date()
246
+ });
247
+ this.logger.error?.('Activate failed:', error);
248
+ throw error;
249
+ }
250
+ }
251
+ async read(version = 'active') {
252
+ try {
253
+ this.logger.info?.('Reading view:', this.config.viewName);
254
+ const result = await (0, read_1.getViewSource)(this.connection, this.config.viewName);
255
+ this.state.readResult = result;
256
+ this.logger.info?.('View read successfully:', result.status);
257
+ return this;
258
+ }
259
+ catch (error) {
260
+ this.state.errors.push({
261
+ method: 'read',
262
+ error: error instanceof Error ? error : new Error(String(error)),
263
+ timestamp: new Date()
264
+ });
265
+ this.logger.error?.('Read failed:', error);
266
+ throw error;
267
+ }
268
+ }
269
+ async forceUnlock() {
270
+ if (!this.lockHandle) {
271
+ return;
272
+ }
273
+ try {
274
+ await (0, unlock_1.unlockDDLS)(this.connection, this.config.viewName, this.lockHandle, this.sessionId);
275
+ this.logger.info?.('Force unlock successful for', this.config.viewName);
276
+ }
277
+ catch (error) {
278
+ this.logger.warn?.('Force unlock failed:', error);
279
+ }
280
+ finally {
281
+ this.lockHandle = undefined;
282
+ this.state.lockHandle = undefined;
283
+ }
284
+ }
285
+ // Getters for accessing results
286
+ getState() {
287
+ return { ...this.state };
288
+ }
289
+ getViewName() {
290
+ return this.config.viewName;
291
+ }
292
+ getLockHandle() {
293
+ return this.lockHandle;
294
+ }
295
+ getSessionId() {
296
+ return this.sessionId;
297
+ }
298
+ getValidationResult() {
299
+ return this.state.validationResult;
300
+ }
301
+ getCreateResult() {
302
+ return this.state.createResult;
303
+ }
304
+ getUpdateResult() {
305
+ return this.state.updateResult;
306
+ }
307
+ getCheckResult() {
308
+ return this.state.checkResult;
309
+ }
310
+ getUnlockResult() {
311
+ return this.state.unlockResult;
312
+ }
313
+ getActivateResult() {
314
+ return this.state.activateResult;
315
+ }
316
+ getReadResult() {
317
+ return this.state.readResult;
318
+ }
319
+ getErrors() {
320
+ return [...this.state.errors];
321
+ }
322
+ getResults() {
323
+ return {
324
+ validate: this.state.validationResult,
325
+ create: this.state.createResult,
326
+ update: this.state.updateResult,
327
+ check: this.state.checkResult,
328
+ unlock: this.state.unlockResult,
329
+ activate: this.state.activateResult,
330
+ lockHandle: this.lockHandle,
331
+ errors: [...this.state.errors]
332
+ };
333
+ }
334
+ }
335
+ exports.ViewBuilder = ViewBuilder;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * View activation operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Activate DDLS
8
+ */
9
+ export declare function activateDDLS(connection: AbapConnection, viewName: 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/view/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,YAAY,CAChC,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAGxB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * View activation operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.activateDDLS = activateDDLS;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const activationUtils_1 = require("../../utils/activationUtils");
9
+ /**
10
+ * Activate DDLS
11
+ */
12
+ async function activateDDLS(connection, viewName, sessionId) {
13
+ const objectUri = `/sap/bc/adt/ddic/ddl/sources/${(0, internalUtils_1.encodeSapObjectName)(viewName).toLowerCase()}`;
14
+ return await (0, activationUtils_1.activateObjectInSession)(connection, objectUri, viewName, sessionId, true);
15
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * View check operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ export declare function checkView(connection: AbapConnection, viewName: string, version?: string, sessionId?: string): Promise<AxiosResponse>;
7
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/view/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkBtC,wBAAsB,SAAS,CAC7B,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAiB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CA2CxB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * View check operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkView = checkView;
7
+ const checkRun_1 = require("../shared/checkRun");
8
+ /**
9
+ * Check view (DDLS) syntax
10
+ */
11
+ function shouldRetryMissingVersion(checkResult) {
12
+ if (checkResult.status !== 'notProcessed') {
13
+ return false;
14
+ }
15
+ const message = (checkResult.message || '').toLowerCase();
16
+ return message.includes('does not exist') || message.includes('missing data definition');
17
+ }
18
+ function delay(ms) {
19
+ return new Promise(resolve => setTimeout(resolve, ms));
20
+ }
21
+ async function checkView(connection, viewName, version = 'active', sessionId) {
22
+ let attempt = 0;
23
+ // Allow one retry when system did not materialize inactive version yet
24
+ while (attempt < 2) {
25
+ const response = await (0, checkRun_1.runCheckRun)(connection, 'view', viewName, version, 'abapCheckRun', sessionId);
26
+ const checkResult = (0, checkRun_1.parseCheckRunResponse)(response);
27
+ if (!checkResult.success && checkResult.has_errors) {
28
+ const errorMessage = checkResult.message || '';
29
+ const hasCheckedMessage = errorMessage.toLowerCase().includes('has been checked') ||
30
+ checkResult.errors.some((err) => (err.text || '').toLowerCase().includes('has been checked'));
31
+ if (hasCheckedMessage) {
32
+ if (process.env.DEBUG_TESTS === 'true') {
33
+ console.warn(`Check warning for view ${viewName}: ${errorMessage} (view was already checked)`);
34
+ }
35
+ return response;
36
+ }
37
+ if (attempt === 0 && shouldRetryMissingVersion(checkResult)) {
38
+ if (process.env.DEBUG_TESTS === 'true') {
39
+ console.warn(`Check retry for view ${viewName}: ${errorMessage} (waiting for inactive version)`);
40
+ }
41
+ attempt += 1;
42
+ await delay(2000);
43
+ continue;
44
+ }
45
+ if (shouldRetryMissingVersion(checkResult)) {
46
+ if (process.env.DEBUG_TESTS === 'true') {
47
+ console.warn(`Check warning for view ${viewName}: ${errorMessage} (version not available, continue)`);
48
+ }
49
+ return response;
50
+ }
51
+ throw new Error(`View check failed: ${checkResult.message}`);
52
+ }
53
+ return response;
54
+ }
55
+ // Should not reach here because loop returns on success
56
+ throw new Error(`View check failed: Version ${version} not available for ${viewName}`);
57
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * View create operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ import { CreateViewParams } from './types';
7
+ /**
8
+ * Create ABAP view (CDS or Classic)
9
+ * Full workflow: create object -> lock -> upload source -> unlock -> activate
10
+ */
11
+ export declare function createView(connection: AbapConnection, params: CreateViewParams): Promise<AxiosResponse>;
12
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/view/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAwD3C;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /**
3
+ * View create operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createView = createView;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const sessionUtils_1 = require("../../utils/sessionUtils");
9
+ const systemInfo_1 = require("../shared/systemInfo");
10
+ const lock_1 = require("./lock");
11
+ const unlock_1 = require("./unlock");
12
+ const activation_1 = require("./activation");
13
+ /**
14
+ * Create DDLS object with metadata
15
+ */
16
+ async function createDDLSObject(connection, args, sessionId) {
17
+ const description = args.description || args.view_name;
18
+ const url = `/sap/bc/adt/ddic/ddl/sources${args.transport_request ? `?corrNr=${args.transport_request}` : ''}`;
19
+ // Get masterSystem and responsible (only for cloud systems)
20
+ // On cloud, getSystemInformation returns systemID and userName
21
+ // On on-premise, it returns null, so we don't add these attributes
22
+ const systemInfo = await (0, systemInfo_1.getSystemInformation)(connection);
23
+ const masterSystem = systemInfo?.systemID;
24
+ const username = systemInfo?.userName || process.env.SAP_USER || process.env.SAP_USERNAME || 'MPCUSER';
25
+ const masterSystemAttr = masterSystem ? ` adtcore:masterSystem="${masterSystem}"` : '';
26
+ const responsibleAttr = username ? ` adtcore:responsible="${username}"` : '';
27
+ const metadataXml = `<?xml version="1.0" encoding="UTF-8"?><ddl:ddlSource xmlns:ddl="http://www.sap.com/adt/ddic/ddlsources" xmlns:adtcore="http://www.sap.com/adt/core" adtcore:description="${description}" adtcore:language="EN" adtcore:name="${args.view_name}" adtcore:type="DDLS/DF" adtcore:masterLanguage="EN"${masterSystemAttr}${responsibleAttr}>
28
+ <adtcore:packageRef adtcore:name="${args.package_name}"/>
29
+ </ddl:ddlSource>`;
30
+ const headers = {
31
+ 'Accept': 'application/vnd.sap.adt.ddlSource.v2+xml, application/vnd.sap.adt.ddlSource+xml',
32
+ 'Content-Type': 'application/vnd.sap.adt.ddlSource+xml'
33
+ };
34
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, metadataXml, headers);
35
+ }
36
+ /**
37
+ * Upload DDL source code
38
+ */
39
+ async function uploadDDLSource(connection, viewName, ddlSource, lockHandle, sessionId, transportRequest) {
40
+ const queryParams = `lockHandle=${lockHandle}${transportRequest ? `&corrNr=${transportRequest}` : ''}`;
41
+ const url = `/sap/bc/adt/ddic/ddl/sources/${(0, internalUtils_1.encodeSapObjectName)(viewName).toLowerCase()}/source/main?${queryParams}`;
42
+ const headers = {
43
+ 'Content-Type': 'text/plain; charset=utf-8'
44
+ };
45
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'PUT', sessionId, ddlSource, headers);
46
+ }
47
+ /**
48
+ * Create ABAP view (CDS or Classic)
49
+ * Full workflow: create object -> lock -> upload source -> unlock -> activate
50
+ */
51
+ async function createView(connection, params) {
52
+ if (!params.view_name || !params.ddl_source || !params.package_name) {
53
+ throw new Error('Missing required parameters: view_name, ddl_source, and package_name');
54
+ }
55
+ const viewName = params.view_name.toUpperCase();
56
+ const sessionId = (0, sessionUtils_1.generateSessionId)();
57
+ let lockHandle = null;
58
+ try {
59
+ const createResponse = await createDDLSObject(connection, params, sessionId);
60
+ if (createResponse.status < 200 || createResponse.status >= 300) {
61
+ throw new Error(`Failed to create DDLS: ${createResponse.status} ${createResponse.statusText}`);
62
+ }
63
+ lockHandle = await (0, lock_1.lockDDLS)(connection, viewName, sessionId);
64
+ const uploadResponse = await uploadDDLSource(connection, viewName, params.ddl_source, lockHandle, sessionId, params.transport_request);
65
+ if (uploadResponse.status < 200 || uploadResponse.status >= 300) {
66
+ throw new Error(`Failed to upload DDL: ${uploadResponse.status} ${uploadResponse.statusText}`);
67
+ }
68
+ await (0, unlock_1.unlockDDLS)(connection, viewName, lockHandle, sessionId);
69
+ lockHandle = null;
70
+ await (0, activation_1.activateDDLS)(connection, viewName, sessionId);
71
+ // Return the real response from SAP (from initial POST)
72
+ return createResponse;
73
+ }
74
+ catch (error) {
75
+ if (lockHandle) {
76
+ try {
77
+ await (0, unlock_1.unlockDDLS)(connection, viewName, lockHandle, sessionId);
78
+ }
79
+ catch (unlockError) {
80
+ // Ignore unlock errors
81
+ }
82
+ }
83
+ const errorMessage = error.response?.data
84
+ ? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
85
+ : error.message;
86
+ throw new Error(`Failed to create view ${viewName}: ${errorMessage}`);
87
+ }
88
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * View delete operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ export interface DeleteViewParams {
7
+ view_name: string;
8
+ transport_request?: string;
9
+ }
10
+ /**
11
+ * Delete ABAP view (DDLS)
12
+ */
13
+ export declare function deleteView(connection: AbapConnection, params: DeleteViewParams): Promise<AxiosResponse>;
14
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/core/view/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,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,aAAa,CAAC,CAYxB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * View delete operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.deleteView = deleteView;
7
+ const delete_1 = require("../delete");
8
+ /**
9
+ * Delete ABAP view (DDLS)
10
+ */
11
+ async function deleteView(connection, params) {
12
+ if (!params.view_name) {
13
+ throw new Error('view_name is required');
14
+ }
15
+ const deleteParams = {
16
+ object_name: params.view_name,
17
+ object_type: 'DDLS/DF',
18
+ transport_request: params.transport_request
19
+ };
20
+ return await (0, delete_1.deleteObject)(connection, deleteParams);
21
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * View 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 { ViewBuilder, type ViewBuilderConfig, type ViewBuilderLogger, type ViewBuilderState } from './ViewBuilder';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/view/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,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * View 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.ViewBuilder = 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 ViewBuilder_1 = require("./ViewBuilder");
32
+ Object.defineProperty(exports, "ViewBuilder", { enumerable: true, get: function () { return ViewBuilder_1.ViewBuilder; } });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * View lock operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Lock DDLS for modification
8
+ */
9
+ export declare function lockDDLS(connection: AbapConnection, viewName: string, sessionId: string): Promise<string>;
10
+ /**
11
+ * Lock DDLS for editing (for update)
12
+ */
13
+ export declare function lockDDLSForUpdate(connection: AbapConnection, viewName: string, sessionId: string): Promise<{
14
+ response: AxiosResponse;
15
+ lockHandle: string;
16
+ corrNr?: string;
17
+ }>;
18
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/core/view/lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3E"}