@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
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Oleksii Kyslytsia
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
package/README.md ADDED
@@ -0,0 +1,184 @@
1
+ # @mcp-abap-adt/adt-clients
2
+
3
+ ADT (ABAP Development Tools) clients for SAP ABAP systems with a **Builder-first API**.
4
+ Low-level helpers stay internal; consumers interact via Builders and high-level clients (Management, Lock, Validation).
5
+
6
+ ## Features
7
+
8
+ - ✅ **Builder-first workflow** – every supported object type exposes a fluent Builder (`ClassBuilder`, `TableBuilder`, …) that wraps validate/create/lock/update/activate in one chain.
9
+ - ✅ **High-level clients** – `ManagementClient`, `LockClient`, `ValidationClient` cover cross-object tasks (activation, ad-hoc locking, name validation) without touching internal modules.
10
+ - ✅ **Stateful session propagation** – builders and clients keep the same `sap-adt-connection-id` across lock/update/unlock; session state can be exported/imported via the connection package.
11
+ - ✅ **Lock registry + CLI** – persistent `.locks/active-locks.json` plus `adt-manage-locks` / `adt-unlock-objects` scripts to recover from crashes.
12
+ - ✅ **Test-friendly logging** – `DEBUG_TESTS=true` for per-step output, `LOG_LOCKS=false` to silence `[LOCK] ...` lines.
13
+
14
+ ## Installation
15
+
16
+ ### As npm Package
17
+
18
+ ```bash
19
+ # Install globally for CLI tools
20
+ npm install -g @mcp-abap-adt/adt-clients
21
+
22
+ # Or install in project
23
+ npm install @mcp-abap-adt/adt-clients
24
+ ```
25
+
26
+ ### CLI Tools
27
+
28
+ After global installation, you get 5 CLI commands:
29
+
30
+ - `adt-lock-object` - Lock an object and save session
31
+ - `adt-unlock-object` - Unlock using saved session
32
+ - `adt-manage-locks` - View/manage lock registry
33
+ - `adt-manage-sessions` - View/manage session files
34
+ - `adt-unlock-objects` - Cleanup test objects
35
+
36
+ See [CLI Tools documentation](./bin/README.md) for details.
37
+
38
+ ## Supported Object Types
39
+
40
+ - **Classes** (CLAS/OC) - Full CRUD + run (if_oo_adt_classrun)
41
+ - **Interfaces** (INTF/OI) - Full CRUD
42
+ - **Programs** (PROG/P) - Full CRUD
43
+ - **Function Groups** (FUGR/F) - Full CRUD
44
+ - **Function Modules** (FUGR/FF) - Full CRUD
45
+ - **Domains** (DOMA/DD) - Full CRUD
46
+ - **Data Elements** (DTEL/DE) - Full CRUD
47
+ - **CDS Views** (DDLS/DL) - Full CRUD
48
+ - **Tables** (TABL/DT) - Read operations
49
+ - **Structures** (TABL/DS) - Read operations
50
+ - **Packages** (DEVC/K) - Create, read
51
+ - **Transports** (TRNS/R3TR) - Create
52
+
53
+ ## Quick Start
54
+
55
+ ```typescript
56
+ import { createAbapConnection } from '@mcp-abap-adt/connection';
57
+ import { ClassBuilder, LockClient, ManagementClient } from '@mcp-abap-adt/adt-clients';
58
+
59
+ const connection = createAbapConnection({
60
+ url: 'https://your-sap-system.example.com',
61
+ client: '100',
62
+ authType: 'basic',
63
+ username: process.env.SAP_USERNAME!,
64
+ password: process.env.SAP_PASSWORD!
65
+ }, console);
66
+
67
+ // Full builder workflow
68
+ const builder = new ClassBuilder(connection, console, {
69
+ className: 'ZCL_MY_CLASS',
70
+ packageName: 'ZADT_BLD_PKG01',
71
+ description: 'Demo builder class',
72
+ transportRequest: 'E19K900001'
73
+ });
74
+
75
+ await builder
76
+ .setCode(`CLASS zcl_my_class DEFINITION PUBLIC.
77
+ PUBLIC SECTION.
78
+ METHODS: hello.
79
+ ENDCLASS.
80
+
81
+ CLASS zcl_my_class IMPLEMENTATION.
82
+ METHOD hello.
83
+ WRITE: 'Hello from builder'.
84
+ ENDMETHOD.
85
+ ENDCLASS.`)
86
+ .validate()
87
+ .then(b => b.create())
88
+ .then(b => b.check('inactive'))
89
+ .then(b => b.lock())
90
+ .then(b => {
91
+ b.setCode(b.getState().sourceCode!.replace('builder', 'builder v2'));
92
+ return b.update();
93
+ })
94
+ .then(b => b.check('inactive'))
95
+ .then(b => b.unlock())
96
+ .then(b => b.activate())
97
+ .then(b => b.check('active'));
98
+
99
+ // Ad-hoc management helpers
100
+ const lockClient = new LockClient(connection);
101
+ const mgmtClient = new ManagementClient(connection);
102
+
103
+ const { lockHandle, sessionId } = await lockClient.lock({
104
+ objectType: 'class',
105
+ objectName: 'ZCL_MY_CLASS'
106
+ });
107
+
108
+ await mgmtClient.activateObjectsGroup([{ name: 'ZCL_MY_CLASS', uri: '/sap/bc/adt/oo/classes/zcl_my_class' }]);
109
+
110
+ await lockClient.unlock({
111
+ objectType: 'class',
112
+ objectName: 'ZCL_MY_CLASS',
113
+ lockHandle,
114
+ sessionId
115
+ });
116
+ ```
117
+
118
+ > ℹ️ Need to persist the `sessionId` / cookies between processes? See [doc/architecture/STATEFUL_SESSION_GUIDE.md](../../doc/architecture/STATEFUL_SESSION_GUIDE.md) and the `@mcp-abap-adt/connection` README for details.
119
+
120
+ ## CLI Tools
121
+
122
+ After installation, the following commands are available:
123
+
124
+ ### Manage Locks
125
+
126
+ ```bash
127
+ # List all active locks
128
+ adt-manage-locks list
129
+
130
+ # Clean up stale locks
131
+ adt-manage-locks cleanup
132
+
133
+ # Unlock specific object
134
+ adt-manage-locks unlock class ZCL_TEST
135
+ ```
136
+
137
+ ### Manage Sessions
138
+
139
+ ```bash
140
+ # List all sessions
141
+ adt-manage-sessions list
142
+
143
+ # Show session details
144
+ adt-manage-sessions info <sessionId>
145
+
146
+ # Clean up stale sessions
147
+ adt-manage-sessions cleanup
148
+ ```
149
+
150
+ See [bin/README.md](bin/README.md) for details.
151
+
152
+ ## Builders & Clients
153
+
154
+ - **Builders**: classes, interfaces, programs, domains, data elements, tables, structures, views, packages, transports, function groups, function modules.
155
+ Each builder exposes `.validate()`, `.create()`, `.lock()`, `.update()`, `.activate()`, `.check()`, `.read()`, `.forceUnlock()`.
156
+ - **ManagementClient**: batch activation + check operations.
157
+ - **LockClient**: explicit lock/unlock helpers that integrate with the `.locks` registry (used by tests and CLI tools).
158
+ - **ValidationClient**: name validation helper mirroring ADT validation endpoint.
159
+
160
+ Refer to the TypeScript typings (`src/index.ts`) for the full API surface.
161
+
162
+ ## Documentation
163
+
164
+ - **[Stateful Session Guide](docs/STATEFUL_SESSION_GUIDE.md)** – how Builders and clients manage `sessionId`, `lockHandle`, and the lock registry
165
+ - **[Architecture](docs/reference/ARCHITECTURE.md)** – package structure and design decisions
166
+ - **[Builder Test Pattern](docs/BUILDER_TEST_PATTERN.md)** – test structure and patterns for contributors
167
+ - **[Test Configuration Schema](docs/TEST_CONFIG_SCHEMA.md)** – YAML test configuration reference
168
+
169
+ ## Logging
170
+
171
+ - `DEBUG_TESTS=true` – verbose step-by-step logging for tests
172
+ - `LOG_LOCKS=false` – disable `[LOCK] ...` lines (enabled by default)
173
+
174
+ ## Changelog
175
+
176
+ See [CHANGELOG.md](CHANGELOG.md) for package-specific release notes.
177
+
178
+ ## License
179
+
180
+ MIT
181
+
182
+ ## Author
183
+
184
+ Oleksii Kyslytsia <oleksij.kyslytsja@gmail.com>
package/bin/README.md ADDED
@@ -0,0 +1,368 @@
1
+ # CLI Utilities
2
+
3
+ This directory contains command-line utilities for managing ADT client sessions and locks.
4
+
5
+ ## Overview of All Scripts
6
+
7
+ | Command | Purpose | Use Case |
8
+ |---------|---------|----------|
9
+ | `adt-lock-object` | Lock an object and save session | Start work on object, persist session for later |
10
+ | `adt-unlock-object` | Unlock object using saved session | Resume work and unlock after crash/restart |
11
+ | `adt-manage-locks` | View/clean lock registry | Debug locks, cleanup stale locks |
12
+ | `adt-manage-sessions` | View/clean session files | Debug sessions, cleanup old sessions |
13
+ | `adt-unlock-objects` | Unlock predefined test objects | Cleanup after failed integration tests |
14
+
15
+ ### Key Differences
16
+
17
+ **Lock/Unlock Pair (for production use):**
18
+ - `adt-lock-object` + `adt-unlock-object` - Full workflow: lock → save session → restore session → unlock
19
+ - Works with ANY object specified via CLI args
20
+ - Designed for manual/scripted workflows
21
+
22
+ **Management Tools (for debugging/maintenance):**
23
+ - `adt-manage-locks` - View and manage lock registry only
24
+ - `adt-manage-sessions` - View and manage session files only
25
+ - Read-only inspection + cleanup operations
26
+
27
+ **Test Cleanup (for testing):**
28
+ - `adt-unlock-objects` - Hardcoded list of test objects from test-config.yaml
29
+ - Used specifically for cleanup after integration test failures
30
+
31
+ ## Installation
32
+
33
+ ### Global Installation (Recommended)
34
+
35
+ Install globally to use CLI commands from anywhere:
36
+
37
+ ```bash
38
+ npm install -g @mcp-abap-adt/adt-clients
39
+ ```
40
+
41
+ After global installation, all commands are available in your PATH:
42
+
43
+ ```bash
44
+ adt-lock-object --help
45
+ adt-unlock-object --help
46
+ adt-manage-locks --help
47
+ adt-manage-sessions --help
48
+ ```
49
+
50
+ ### Local Installation
51
+
52
+ Install as a dependency in your project:
53
+
54
+ ```bash
55
+ npm install @mcp-abap-adt/adt-clients
56
+ ```
57
+
58
+ Run commands using npx:
59
+
60
+ ```bash
61
+ npx adt-lock-object class ZCL_MY_CLASS
62
+ npx adt-manage-locks list
63
+ ```
64
+
65
+ ### Development Installation
66
+
67
+ For local development from repository:
68
+
69
+ ```bash
70
+ cd packages/adt-clients
71
+ npm install
72
+ npm run build
73
+ npm link # Makes commands available globally
74
+ ```
75
+
76
+ The following commands will be available:
77
+
78
+ ## Commands
79
+
80
+ ### adt-lock-object
81
+
82
+ Lock an SAP object and save session state for later recovery.
83
+
84
+ ```bash
85
+ # Lock a class
86
+ adt-lock-object class ZCL_MY_CLASS
87
+
88
+ # Lock with custom session ID
89
+ adt-lock-object class ZCL_MY_CLASS --session-id my_work
90
+
91
+ # Lock a function module
92
+ adt-lock-object fm MY_FUNCTION --function-group Z_MY_FUGR
93
+
94
+ # Lock a program
95
+ adt-lock-object program Z_MY_PROGRAM
96
+ ```
97
+
98
+ **What it does:**
99
+ 1. Connects to SAP and locks the object
100
+ 2. Saves session (cookies, CSRF token) to `.sessions/<session-id>.json`
101
+ 3. Registers lock handle in `.locks/active-locks.json`
102
+ 4. Prints unlock command for later use
103
+
104
+ **Supported types:** class, program, interface, fm, domain, dataelement
105
+
106
+ ### adt-unlock-object
107
+
108
+ Unlock an SAP object using previously saved session state.
109
+
110
+ ```bash
111
+ # Unlock using saved session
112
+ adt-unlock-object class ZCL_MY_CLASS --session-id my_work
113
+
114
+ # Unlock function module
115
+ adt-unlock-object fm MY_FUNCTION --function-group Z_MY_FUGR --session-id my_work
116
+ ```
117
+
118
+ **What it does:**
119
+ 1. Loads session from `.sessions/<session-id>.json`
120
+ 2. Restores session state to new connection
121
+ 3. Retrieves lock handle from `.locks/active-locks.json`
122
+ 4. Unlocks the object on SAP server
123
+ 5. Removes lock from registry
124
+
125
+ **Note:** Requires `--session-id` used with `adt-lock-object`
126
+
127
+ ### adt-manage-locks
128
+
129
+ Manage persistent lock registry - view, cleanup, and force unlock.
130
+
131
+ ```bash
132
+ # List all active locks
133
+ adt-manage-locks list
134
+
135
+ # Clean up stale locks (>30 min or dead processes)
136
+ adt-manage-locks cleanup
137
+
138
+ # Force unlock specific object on SAP server
139
+ adt-manage-locks unlock class ZCL_TEST
140
+ adt-manage-locks unlock fm MY_FUNCTION Z_MY_FUGR
141
+
142
+ # Clear all locks from registry
143
+ adt-manage-locks clear
144
+ ```
145
+
146
+ **What it does:**
147
+ - `list` - Shows all locks with session ID, handle, object, timestamp, PID
148
+ - `cleanup` - Removes stale locks (>30min old or dead processes)
149
+ - `unlock` - Connects to SAP and force unlocks object, removes from registry
150
+ - `clear` - Removes ALL locks from registry (doesn't unlock on SAP!)
151
+
152
+ **Use case:** Debugging lock issues, cleanup after crashes
153
+
154
+ ### adt-manage-sessions
155
+
156
+ Manage saved session files - view, inspect, and cleanup.
157
+
158
+ ```bash
159
+ # List all sessions
160
+ adt-manage-sessions list
161
+
162
+ # View session details
163
+ adt-manage-sessions info my_session_id
164
+
165
+ # Clean up old sessions (>24 hours)
166
+ adt-manage-sessions cleanup
167
+
168
+ # Clear all sessions
169
+ adt-manage-sessions clear
170
+ ```
171
+
172
+ **What it does:**
173
+ - `list` - Shows all session files with ID, timestamp, age, PID
174
+ - `info` - Displays session details (cookies, CSRF token, metadata)
175
+ - `cleanup` - Removes stale sessions (>24h old or dead processes)
176
+ - `clear` - Deletes ALL session files
177
+
178
+ **Use case:** Debugging session issues, inspect saved state, cleanup old files
179
+
180
+ ### adt-unlock-objects
181
+
182
+ Unlock predefined test objects from test-config.yaml.
183
+
184
+ ```bash
185
+ # Unlock all test objects defined in test-config.yaml
186
+ adt-unlock-objects
187
+
188
+ # Use custom config file
189
+ adt-unlock-objects --config custom-test-config.yaml
190
+
191
+ # Use custom locks directory
192
+ adt-unlock-objects --locks-dir /custom/path/.locks
193
+ ```
194
+
195
+ **What it does:**
196
+ 1. Reads test object list from `test-config.yaml`
197
+ 2. For each object: retrieves lock handle from registry
198
+ 3. Connects to SAP and unlocks object
199
+ 4. Removes lock from registry
200
+
201
+ **Use case:** Cleanup after integration test failures when objects remain locked
202
+
203
+ **Note:** Hardcoded to work with test objects only, not for general use
204
+
205
+ ## Common Options
206
+
207
+ Most commands support:
208
+
209
+ | Option | Description | Default |
210
+ |--------|-------------|---------|
211
+ | `--locks-dir <path>` | Lock registry directory | `.locks` |
212
+ | `--sessions-dir <path>` | Sessions directory | `.sessions` |
213
+ | `--env <path>` | Path to .env file | `.env` |
214
+ | `--help, -h` | Show help message | - |
215
+
216
+ ## Workflow Examples
217
+
218
+ ### Daily Work on a Class
219
+
220
+ ```bash
221
+ # Morning - lock class and start work
222
+ adt-lock-object class ZCL_MY_WORK --session-id daily_work
223
+ # Session ID: daily_work
224
+
225
+ # ... work all day, make changes via other tools ...
226
+
227
+ # Evening - unlock when done
228
+ adt-unlock-object class ZCL_MY_WORK --session-id daily_work
229
+ ```
230
+
231
+ ### Recovery After Crash
232
+
233
+ ```bash
234
+ # Process crashed while object was locked
235
+ # Check what was locked
236
+ adt-manage-locks list
237
+
238
+ # Resume and unlock using saved session
239
+ adt-unlock-object class ZCL_MY_CLASS --session-id <session-from-list>
240
+ ```
241
+
242
+ ### Integration Test Cleanup
243
+
244
+ ```bash
245
+ # Tests failed and left objects locked
246
+ # Quick cleanup of all test objects
247
+ adt-unlock-objects
248
+ ```
249
+
250
+ ### Debug Session Issues
251
+
252
+ ```bash
253
+ # See what sessions are saved
254
+ adt-manage-sessions list
255
+
256
+ # Inspect specific session
257
+ adt-manage-sessions info my_session_id
258
+
259
+ # Clean up old sessions
260
+ adt-manage-sessions cleanup
261
+ ```
262
+
263
+ ## File Structure
264
+
265
+ ```
266
+ .sessions/
267
+ ├── my_work_session.json # Session state (cookies, CSRF)
268
+ └── lock_class_ZCL_TEST_*.json # Auto-generated session
269
+
270
+ .locks/
271
+ └── active-locks.json # Lock registry
272
+ ```
273
+
274
+ ## Environment Setup
275
+
276
+ Required in `.env`:
277
+
278
+ ```bash
279
+ SAP_URL=https://your-sap-system.com
280
+ SAP_USERNAME=your_username
281
+ SAP_PASSWORD=your_password
282
+ ```
283
+
284
+ ## Gitignore
285
+
286
+ Ensure these directories are in `.gitignore`:
287
+
288
+ ```gitignore
289
+ .sessions/
290
+ .locks/
291
+ ```
292
+
293
+ ## See Also
294
+
295
+ - [Session State Management](../docs/archive/SESSION_STATE_MANAGEMENT.md)
296
+ - [Lock State Management](../docs/archive/LOCK_STATE_MANAGEMENT.md)
297
+ - [Lock Recovery Test](../src/__tests__/integration/README_LOCK_RECOVERY.md)
298
+
299
+
300
+ # Clear all locks from registry
301
+ adt-manage-locks clear
302
+ ```
303
+
304
+ ### adt-manage-sessions
305
+
306
+ Manage HTTP session state (cookies, CSRF tokens).
307
+
308
+ ```bash
309
+ # List all active sessions
310
+ adt-manage-sessions list
311
+
312
+ # Show session details
313
+ adt-manage-sessions info <sessionId>
314
+
315
+ # Clean up stale sessions (>30 min or dead processes)
316
+ adt-manage-sessions cleanup
317
+
318
+ # Clear all sessions
319
+ adt-manage-sessions clear
320
+ ```
321
+
322
+ ### adt-unlock-objects
323
+
324
+ Unlock predefined test objects (used after failed tests).
325
+
326
+ ```bash
327
+ adt-unlock-objects
328
+ ```
329
+
330
+ ## With npx
331
+
332
+ You can also run these commands without installing:
333
+
334
+ ```bash
335
+ npx @mcp-abap-adt/adt-clients adt-manage-locks list
336
+ npx @mcp-abap-adt/adt-clients adt-manage-sessions list
337
+ ```
338
+
339
+ ## Configuration
340
+
341
+ Commands require `.env` file in the project root with SAP connection details:
342
+
343
+ ```env
344
+ SAP_URL=https://your-sap-system.com:443
345
+ SAP_CLIENT=100
346
+ SAP_USERNAME=your-username
347
+ SAP_PASSWORD=your-password
348
+ SAP_AUTH_TYPE=basic
349
+ ```
350
+
351
+ For JWT authentication:
352
+ ```env
353
+ SAP_AUTH_TYPE=jwt
354
+ SAP_JWT_TOKEN=your-jwt-token
355
+ ```
356
+
357
+ ## Data Storage
358
+
359
+ - **Locks**: `.locks/active-locks.json`
360
+ - **Sessions**: `.sessions/<sessionId>.json`
361
+
362
+ Both directories are in `.gitignore` and should not be committed.
363
+
364
+ ## Documentation
365
+
366
+ For detailed information, see:
367
+ - [Lock State Management](../docs/archive/LOCK_STATE_MANAGEMENT.md)
368
+ - [Session State Management](../docs/archive/SESSION_STATE_MANAGEMENT.md)