@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,159 @@
1
+ "use strict";
2
+ /**
3
+ * Program create operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createProgram = createProgram;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const sessionUtils_1 = require("../../utils/sessionUtils");
9
+ const lock_1 = require("./lock");
10
+ const unlock_1 = require("./unlock");
11
+ const activation_1 = require("./activation");
12
+ const systemInfo_1 = require("../shared/systemInfo");
13
+ /**
14
+ * Convert readable program type to SAP internal code
15
+ */
16
+ function convertProgramType(programType) {
17
+ const typeMap = {
18
+ 'executable': '1',
19
+ 'include': 'I',
20
+ 'module_pool': 'M',
21
+ 'function_group': 'F',
22
+ 'class_pool': 'K',
23
+ 'interface_pool': 'J'
24
+ };
25
+ return typeMap[programType || 'executable'] || '1';
26
+ }
27
+ /**
28
+ * Generate minimal program source code if not provided
29
+ */
30
+ function generateProgramTemplate(programName, programType, description) {
31
+ const upperName = programName.toUpperCase();
32
+ switch (programType) {
33
+ case 'I': // Include
34
+ return `*&---------------------------------------------------------------------*
35
+ *& Include ${upperName}
36
+ *& ${description}
37
+ *&---------------------------------------------------------------------*
38
+
39
+ " Include program logic here
40
+ `;
41
+ case 'M': // Module Pool
42
+ return `*&---------------------------------------------------------------------*
43
+ *& Module Pool ${upperName}
44
+ *& ${description}
45
+ *&---------------------------------------------------------------------*
46
+
47
+ PROGRAM ${upperName}.
48
+ `;
49
+ case '1': // Executable (Report)
50
+ default:
51
+ return `*&---------------------------------------------------------------------*
52
+ *& Report ${upperName}
53
+ *& ${description}
54
+ *&---------------------------------------------------------------------*
55
+ REPORT ${upperName}.
56
+
57
+ START-OF-SELECTION.
58
+ WRITE: / 'Program ${upperName} executed successfully.'.
59
+ `;
60
+ }
61
+ }
62
+ /**
63
+ * Create program object with metadata
64
+ */
65
+ async function createProgramObject(connection, args, sessionId) {
66
+ const description = args.description || args.program_name;
67
+ const programType = convertProgramType(args.program_type);
68
+ const application = args.application || '*';
69
+ const url = `/sap/bc/adt/programs/programs${args.transport_request ? `?corrNr=${args.transport_request}` : ''}`;
70
+ // Get masterSystem and responsible (only for cloud systems)
71
+ // On cloud, getSystemInformation returns systemID and userName
72
+ // On on-premise, it returns null, so we don't add these attributes
73
+ let masterSystem = args.master_system;
74
+ let username = args.responsible;
75
+ const systemInfo = await (0, systemInfo_1.getSystemInformation)(connection);
76
+ if (systemInfo) {
77
+ masterSystem = masterSystem || systemInfo.systemID;
78
+ username = username || systemInfo.userName;
79
+ }
80
+ // Only use masterSystem from getSystemInformation (cloud), not from env
81
+ // username can fallback to env if not provided
82
+ username = username || process.env.SAP_USERNAME || process.env.SAP_USER || '';
83
+ const masterSystemAttr = masterSystem ? ` adtcore:masterSystem="${masterSystem}"` : '';
84
+ const responsibleAttr = username ? ` adtcore:responsible="${username}"` : '';
85
+ const metadataXml = `<?xml version="1.0" encoding="UTF-8"?><program:abapProgram xmlns:program="http://www.sap.com/adt/programs/programs" xmlns:adtcore="http://www.sap.com/adt/core" adtcore:description="${description}" adtcore:language="EN" adtcore:name="${args.program_name}" adtcore:type="PROG/P" adtcore:masterLanguage="EN"${masterSystemAttr}${responsibleAttr} program:programType="${programType}" program:application="${application}">
86
+ <adtcore:packageRef adtcore:name="${args.package_name}"/>
87
+ </program:abapProgram>`;
88
+ const headers = {
89
+ 'Accept': 'application/vnd.sap.adt.programs.programs.v2+xml',
90
+ 'Content-Type': 'application/vnd.sap.adt.programs.programs.v2+xml'
91
+ };
92
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, metadataXml, headers);
93
+ }
94
+ /**
95
+ * Upload program source code
96
+ */
97
+ async function uploadProgramSource(connection, programName, sourceCode, lockHandle, sessionId, transportRequest) {
98
+ const queryParams = `lockHandle=${lockHandle}${transportRequest ? `&corrNr=${transportRequest}` : ''}`;
99
+ const url = `/sap/bc/adt/programs/programs/${(0, internalUtils_1.encodeSapObjectName)(programName).toLowerCase()}/source/main?${queryParams}`;
100
+ const headers = {
101
+ 'Accept': 'text/plain',
102
+ 'Content-Type': 'text/plain; charset=utf-8'
103
+ };
104
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'PUT', sessionId, sourceCode, headers);
105
+ }
106
+ /**
107
+ * Create ABAP program
108
+ * Full workflow: create object -> lock -> upload source -> unlock -> activate
109
+ */
110
+ async function createProgram(connection, params) {
111
+ const programName = params.program_name.toUpperCase();
112
+ const sessionId = (0, sessionUtils_1.generateSessionId)();
113
+ let lockHandle = null;
114
+ try {
115
+ // Step 1: Create program object with metadata
116
+ const createResponse = await createProgramObject(connection, params, sessionId);
117
+ if (createResponse.status < 200 || createResponse.status >= 300) {
118
+ throw new Error(`Failed to create program object: ${createResponse.status} ${createResponse.statusText}`);
119
+ }
120
+ // Extract lock handle from response headers
121
+ lockHandle = createResponse.headers['sap-adt-lockhandle'] ||
122
+ createResponse.headers['lockhandle'] ||
123
+ createResponse.headers['x-sap-adt-lockhandle'];
124
+ if (!lockHandle) {
125
+ // Fallback: do explicit LOCK
126
+ lockHandle = await (0, lock_1.lockProgram)(connection, programName, sessionId);
127
+ }
128
+ // Step 2: Upload source code
129
+ const programType = convertProgramType(params.program_type);
130
+ const sourceCode = params.source_code || generateProgramTemplate(programName, programType, params.description || programName);
131
+ const uploadResponse = await uploadProgramSource(connection, programName, sourceCode, lockHandle, sessionId, params.transport_request);
132
+ if (uploadResponse.status < 200 || uploadResponse.status >= 300) {
133
+ throw new Error(`Failed to upload source: ${uploadResponse.status} ${uploadResponse.statusText}`);
134
+ }
135
+ // Step 3: Unlock the program
136
+ await (0, unlock_1.unlockProgram)(connection, programName, lockHandle, sessionId);
137
+ lockHandle = null;
138
+ // Step 4: Activate the program (optional)
139
+ const shouldActivate = params.activate !== false;
140
+ if (shouldActivate) {
141
+ await (0, activation_1.activateProgram)(connection, programName, sessionId);
142
+ }
143
+ // Return the real response from SAP (from initial POST)
144
+ return createResponse;
145
+ }
146
+ catch (error) {
147
+ // Attempt to unlock if we have a lock handle
148
+ if (lockHandle) {
149
+ try {
150
+ await (0, unlock_1.unlockProgram)(connection, programName, lockHandle, sessionId);
151
+ }
152
+ catch (unlockError) {
153
+ // Ignore unlock errors
154
+ }
155
+ }
156
+ const errorMessage = error.response?.data || error.message || 'Unknown error';
157
+ throw new Error(`Failed to create program ${programName}: ${errorMessage}`);
158
+ }
159
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Program delete operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ export interface DeleteProgramParams {
7
+ program_name: string;
8
+ transport_request?: string;
9
+ }
10
+ /**
11
+ * Delete ABAP program
12
+ */
13
+ export declare function deleteProgram(connection: AbapConnection, params: DeleteProgramParams): Promise<AxiosResponse>;
14
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/core/program/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,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAYxB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Program delete operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.deleteProgram = deleteProgram;
7
+ const delete_1 = require("../delete");
8
+ /**
9
+ * Delete ABAP program
10
+ */
11
+ async function deleteProgram(connection, params) {
12
+ if (!params.program_name) {
13
+ throw new Error('program_name is required');
14
+ }
15
+ const deleteParams = {
16
+ object_name: params.program_name,
17
+ object_type: 'PROG/P',
18
+ transport_request: params.transport_request
19
+ };
20
+ return await (0, delete_1.deleteObject)(connection, deleteParams);
21
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Program operations - exports
3
+ */
4
+ export * from './create';
5
+ export * from './update';
6
+ export * from './read';
7
+ export * from './lock';
8
+ export * from './unlock';
9
+ export * from './activation';
10
+ export * from './check';
11
+ export * from './validation';
12
+ export * from './delete';
13
+ export { ProgramBuilder, type ProgramBuilderConfig, type ProgramBuilderLogger, type ProgramBuilderState } from './ProgramBuilder';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/program/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Program 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.ProgramBuilder = void 0;
21
+ __exportStar(require("./create"), exports);
22
+ __exportStar(require("./update"), exports);
23
+ __exportStar(require("./read"), exports);
24
+ __exportStar(require("./lock"), exports);
25
+ __exportStar(require("./unlock"), exports);
26
+ __exportStar(require("./activation"), exports);
27
+ __exportStar(require("./check"), exports);
28
+ __exportStar(require("./validation"), exports);
29
+ __exportStar(require("./delete"), exports);
30
+ var ProgramBuilder_1 = require("./ProgramBuilder");
31
+ Object.defineProperty(exports, "ProgramBuilder", { enumerable: true, get: function () { return ProgramBuilder_1.ProgramBuilder; } });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Program lock operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Lock program for modification
8
+ * Returns lock handle that must be used in subsequent requests
9
+ */
10
+ export declare function lockProgram(connection: AbapConnection, programName: string, sessionId: string): Promise<string>;
11
+ /**
12
+ * Lock program for editing (for update)
13
+ * Returns lock handle and transport number
14
+ */
15
+ export declare function lockProgramForUpdate(connection: AbapConnection, programName: string, sessionId: string): Promise<{
16
+ response: AxiosResponse;
17
+ lockHandle: string;
18
+ corrNr?: string;
19
+ }>;
20
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/core/program/lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB3E"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Program lock operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.lockProgram = lockProgram;
7
+ exports.lockProgramForUpdate = lockProgramForUpdate;
8
+ const fast_xml_parser_1 = require("fast-xml-parser");
9
+ const internalUtils_1 = require("../../utils/internalUtils");
10
+ const sessionUtils_1 = require("../../utils/sessionUtils");
11
+ /**
12
+ * Lock program for modification
13
+ * Returns lock handle that must be used in subsequent requests
14
+ */
15
+ async function lockProgram(connection, programName, sessionId) {
16
+ const url = `/sap/bc/adt/programs/programs/${(0, internalUtils_1.encodeSapObjectName)(programName).toLowerCase()}?_action=LOCK&accessMode=MODIFY`;
17
+ const headers = {
18
+ 'Accept': 'application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result;q=0.8, application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result2;q=0.9'
19
+ };
20
+ const response = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null, headers);
21
+ // Parse lock handle from XML response
22
+ const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '' });
23
+ const result = parser.parse(response.data);
24
+ const lockHandle = result?.['asx:abap']?.['asx:values']?.['DATA']?.['LOCK_HANDLE'];
25
+ if (!lockHandle) {
26
+ throw new Error('Failed to obtain lock handle from SAP. Program may be locked by another user.');
27
+ }
28
+ return lockHandle;
29
+ }
30
+ /**
31
+ * Lock program for editing (for update)
32
+ * Returns lock handle and transport number
33
+ */
34
+ async function lockProgramForUpdate(connection, programName, sessionId) {
35
+ const url = `/sap/bc/adt/programs/programs/${(0, internalUtils_1.encodeSapObjectName)(programName).toLowerCase()}?_action=LOCK&accessMode=MODIFY`;
36
+ const headers = {
37
+ 'Accept': 'application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result;q=0.8, application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result2;q=0.9'
38
+ };
39
+ const response = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null, headers);
40
+ // Parse lock handle and transport number from XML response
41
+ const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@_' });
42
+ const result = parser.parse(response.data);
43
+ const lockHandle = result?.['asx:abap']?.['asx:values']?.['DATA']?.['LOCK_HANDLE'];
44
+ const corrNr = result?.['asx:abap']?.['asx:values']?.['DATA']?.['CORRNR'];
45
+ if (!lockHandle) {
46
+ throw new Error('Failed to obtain lock handle from SAP. Program may be locked by another user.');
47
+ }
48
+ return { response, lockHandle, corrNr };
49
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Program read operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Get ABAP program metadata (without source code)
8
+ */
9
+ export declare function getProgramMetadata(connection: AbapConnection, programName: string): Promise<AxiosResponse>;
10
+ /**
11
+ * Get ABAP program source code
12
+ */
13
+ export declare function getProgramSource(connection: AbapConnection, programName: string): Promise<AxiosResponse>;
14
+ /**
15
+ * Get ABAP program (source code by default for backward compatibility)
16
+ * @deprecated Use getProgramSource() or getProgramMetadata() instead
17
+ */
18
+ export declare function getProgram(connection: AbapConnection, programName: string): Promise<AxiosResponse>;
19
+ /**
20
+ * Get transport request for ABAP program
21
+ * @param connection - SAP connection
22
+ * @param programName - Program name
23
+ * @returns Transport request information
24
+ */
25
+ export declare function getProgramTransport(connection: AbapConnection, programName: string): Promise<AxiosResponse>;
26
+ //# sourceMappingURL=read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/program/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAaxB"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * Program read operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getProgramMetadata = getProgramMetadata;
7
+ exports.getProgramSource = getProgramSource;
8
+ exports.getProgram = getProgram;
9
+ exports.getProgramTransport = getProgramTransport;
10
+ const connection_1 = require("@mcp-abap-adt/connection");
11
+ const internalUtils_1 = require("../../utils/internalUtils");
12
+ const readMetadata_1 = require("../shared/readMetadata");
13
+ const readSource_1 = require("../shared/readSource");
14
+ /**
15
+ * Get ABAP program metadata (without source code)
16
+ */
17
+ async function getProgramMetadata(connection, programName) {
18
+ return (0, readMetadata_1.readObjectMetadata)(connection, 'program', programName);
19
+ }
20
+ /**
21
+ * Get ABAP program source code
22
+ */
23
+ async function getProgramSource(connection, programName) {
24
+ return (0, readSource_1.readObjectSource)(connection, 'program', programName);
25
+ }
26
+ /**
27
+ * Get ABAP program (source code by default for backward compatibility)
28
+ * @deprecated Use getProgramSource() or getProgramMetadata() instead
29
+ */
30
+ async function getProgram(connection, programName) {
31
+ return getProgramSource(connection, programName);
32
+ }
33
+ /**
34
+ * Get transport request for ABAP program
35
+ * @param connection - SAP connection
36
+ * @param programName - Program name
37
+ * @returns Transport request information
38
+ */
39
+ async function getProgramTransport(connection, programName) {
40
+ const baseUrl = await connection.getBaseUrl();
41
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(programName);
42
+ const url = `${baseUrl}/sap/bc/adt/programs/programs/${encodedName}/transport`;
43
+ return connection.makeAdtRequest({
44
+ url,
45
+ method: 'GET',
46
+ timeout: (0, connection_1.getTimeout)('default'),
47
+ headers: {
48
+ 'Accept': 'application/vnd.sap.adt.transportorganizer.v1+xml'
49
+ }
50
+ });
51
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Program unlock operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Unlock program
8
+ * Must use same session and lock handle from lock operation
9
+ */
10
+ export declare function unlockProgram(connection: AbapConnection, programName: string, lockHandle: string, sessionId: string): Promise<AxiosResponse>;
11
+ //# sourceMappingURL=unlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/core/program/unlock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAIxB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Program unlock operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unlockProgram = unlockProgram;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const sessionUtils_1 = require("../../utils/sessionUtils");
9
+ /**
10
+ * Unlock program
11
+ * Must use same session and lock handle from lock operation
12
+ */
13
+ async function unlockProgram(connection, programName, lockHandle, sessionId) {
14
+ const url = `/sap/bc/adt/programs/programs/${(0, internalUtils_1.encodeSapObjectName)(programName).toLowerCase()}?_action=UNLOCK&lockHandle=${lockHandle}`;
15
+ return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null);
16
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Program update operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ export interface UpdateProgramSourceParams {
7
+ program_name: string;
8
+ source_code: string;
9
+ activate?: boolean;
10
+ }
11
+ /**
12
+ * Update program source code
13
+ * Full workflow: lock -> upload source -> unlock -> activate (optional)
14
+ */
15
+ export declare function updateProgramSource(connection: AbapConnection, params: UpdateProgramSourceParams): Promise<AxiosResponse>;
16
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/program/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0BD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CA2DxB"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * Program update operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateProgramSource = updateProgramSource;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const sessionUtils_1 = require("../../utils/sessionUtils");
9
+ const lock_1 = require("./lock");
10
+ const unlock_1 = require("./unlock");
11
+ const activation_1 = require("./activation");
12
+ /**
13
+ * Upload program source code (for update)
14
+ */
15
+ async function uploadProgramSourceForUpdate(connection, programName, sourceCode, lockHandle, sessionId, corrNr) {
16
+ let url = `/sap/bc/adt/programs/programs/${(0, internalUtils_1.encodeSapObjectName)(programName).toLowerCase()}/source/main?lockHandle=${lockHandle}`;
17
+ if (corrNr) {
18
+ url += `&corrNr=${corrNr}`;
19
+ }
20
+ const headers = {
21
+ 'Content-Type': 'text/plain; charset=utf-8',
22
+ 'Accept': 'text/plain'
23
+ };
24
+ return await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'PUT', sessionId, sourceCode, headers);
25
+ }
26
+ /**
27
+ * Update program source code
28
+ * Full workflow: lock -> upload source -> unlock -> activate (optional)
29
+ */
30
+ async function updateProgramSource(connection, params) {
31
+ const programName = params.program_name.toUpperCase();
32
+ const sessionId = (0, sessionUtils_1.generateSessionId)();
33
+ let lockHandle = null;
34
+ try {
35
+ // Step 1: Lock the program
36
+ const lockResult = await (0, lock_1.lockProgramForUpdate)(connection, programName, sessionId);
37
+ lockHandle = lockResult.lockHandle;
38
+ const corrNr = lockResult.corrNr;
39
+ // Step 2: Upload new source code
40
+ await uploadProgramSourceForUpdate(connection, programName, params.source_code, lockHandle, sessionId, corrNr);
41
+ // Step 3: Unlock the program
42
+ await (0, unlock_1.unlockProgram)(connection, programName, lockHandle, sessionId);
43
+ lockHandle = null;
44
+ // Step 4: Activate the program (optional)
45
+ const shouldActivate = params.activate === true;
46
+ if (shouldActivate) {
47
+ await (0, activation_1.activateProgram)(connection, programName, sessionId);
48
+ }
49
+ // Return success response
50
+ return {
51
+ data: {
52
+ success: true,
53
+ program_name: programName,
54
+ type: 'PROG/P',
55
+ message: shouldActivate
56
+ ? `Program ${programName} source updated and activated successfully`
57
+ : `Program ${programName} source updated successfully (not activated)`,
58
+ uri: `/sap/bc/adt/programs/programs/${(0, internalUtils_1.encodeSapObjectName)(programName).toLowerCase()}`,
59
+ source_size_bytes: params.source_code.length
60
+ },
61
+ status: 200,
62
+ statusText: 'OK',
63
+ headers: {},
64
+ config: {}
65
+ };
66
+ }
67
+ catch (error) {
68
+ // CRITICAL: Always try to unlock on error to prevent locked objects
69
+ if (lockHandle) {
70
+ try {
71
+ await (0, unlock_1.unlockProgram)(connection, programName, lockHandle, sessionId);
72
+ }
73
+ catch (unlockError) {
74
+ // Ignore unlock errors
75
+ }
76
+ }
77
+ const errorMessage = error.response?.data
78
+ ? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
79
+ : error.message;
80
+ throw new Error(`Failed to update program ${programName}: ${errorMessage}`);
81
+ }
82
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Program validation
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { ValidationResult } from '../shared/validation';
6
+ /**
7
+ * Validate program name
8
+ */
9
+ export declare function validateProgramName(connection: AbapConnection, programName: string, description?: string): Promise<ValidationResult>;
10
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/core/program/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Program validation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateProgramName = validateProgramName;
7
+ const validation_1 = require("../shared/validation");
8
+ /**
9
+ * Validate program name
10
+ */
11
+ async function validateProgramName(connection, programName, description) {
12
+ const params = {};
13
+ if (description) {
14
+ params.description = description;
15
+ }
16
+ return (0, validation_1.validateObjectName)(connection, 'PROG/P', programName, params);
17
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Core read operations - private implementations
3
+ * All read-only methods are implemented here once and reused by clients
4
+ */
5
+ import { AbapConnection } from '@mcp-abap-adt/connection';
6
+ import { AxiosResponse } from 'axios';
7
+ /**
8
+ * Get ABAP program source code
9
+ */
10
+ export declare function getProgram(connection: AbapConnection, programName: string): Promise<AxiosResponse>;
11
+ /**
12
+ * Get ABAP class source code
13
+ */
14
+ export declare function getClass(connection: AbapConnection, className: string): Promise<AxiosResponse>;
15
+ /**
16
+ * Get ABAP table structure
17
+ */
18
+ export declare function getTable(connection: AbapConnection, tableName: string): Promise<AxiosResponse>;
19
+ /**
20
+ * Get ABAP structure
21
+ */
22
+ export declare function getStructure(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
23
+ /**
24
+ * Get ABAP domain
25
+ */
26
+ export declare function getDomain(connection: AbapConnection, domainName: string): Promise<AxiosResponse>;
27
+ /**
28
+ * Get ABAP data element
29
+ */
30
+ export declare function getDataElement(connection: AbapConnection, dataElementName: string): Promise<AxiosResponse>;
31
+ /**
32
+ * Get ABAP interface
33
+ */
34
+ export declare function getInterface(connection: AbapConnection, interfaceName: string): Promise<AxiosResponse>;
35
+ /**
36
+ * Get ABAP function group
37
+ */
38
+ export declare function getFunctionGroup(connection: AbapConnection, functionGroupName: string): Promise<AxiosResponse>;
39
+ /**
40
+ * Get ABAP function module
41
+ */
42
+ export declare function getFunction(connection: AbapConnection, functionName: string, functionGroup: string): Promise<AxiosResponse>;
43
+ /**
44
+ * Get ABAP package
45
+ */
46
+ export declare function getPackage(connection: AbapConnection, packageName: string): Promise<AxiosResponse>;
47
+ /**
48
+ * Get ABAP view (CDS or Classic)
49
+ */
50
+ export declare function getView(connection: AbapConnection, viewName: string): Promise<AxiosResponse>;
51
+ /**
52
+ * Fetches node structure from SAP ADT repository
53
+ */
54
+ export declare function fetchNodeStructure(connection: AbapConnection, parentName: string, parentTechName: string, parentType: string, nodeKey: string, withShortDescriptions?: boolean): Promise<AxiosResponse>;
55
+ /**
56
+ * Get system information from SAP ADT (for cloud systems)
57
+ * Returns systemID and userName if available
58
+ */
59
+ export declare function getSystemInformation(connection: AbapConnection): Promise<{
60
+ systemID?: string;
61
+ userName?: string;
62
+ } | null>;
63
+ //# sourceMappingURL=readOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readOperations.d.ts","sourceRoot":"","sources":["../../src/core/readOperations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkCtC;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKxG;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKpG;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKpG;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAK5G;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKtG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKhH;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAK5G;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKpH;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKxG;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKlG;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,qBAAqB,GAAE,OAAc,GACpC,OAAO,CAAC,aAAa,CAAC,CAoBxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAuB1D"}