@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,27 @@
1
+ /**
2
+ * Function Module validation
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ import { ValidationResult } from '../shared/validation';
7
+ /**
8
+ * Validate function module name
9
+ */
10
+ export declare function validateFunctionModuleName(connection: AbapConnection, functionGroupName: string, functionModuleName: string, description?: string): Promise<ValidationResult>;
11
+ /**
12
+ * Validate function module source code.
13
+ *
14
+ * If sourceCode is provided: validates unsaved code (live validation with artifacts)
15
+ * If sourceCode is not provided: validates existing FM code in SAP system (without artifacts)
16
+ *
17
+ * @param connection - SAP connection
18
+ * @param functionGroupName - Function group name
19
+ * @param functionModuleName - Function module name
20
+ * @param sourceCode - Optional: source code to validate. If omitted, validates existing FM in SAP
21
+ * @param version - 'active' (default) or 'inactive' - version context for validation
22
+ * @param sessionId - Optional session ID
23
+ * @returns Check result with errors/warnings
24
+ * @throws Error if validation finds syntax errors
25
+ */
26
+ export declare function validateFunctionModuleSource(connection: AbapConnection, functionGroupName: string, functionModuleName: string, sourceCode?: string, version?: 'inactive' | 'active', sessionId?: string): Promise<AxiosResponse>;
27
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAsB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,UAAU,GAAG,QAAmB,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CA+CxB"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ /**
3
+ * Function Module validation
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.validateFunctionModuleName = validateFunctionModuleName;
40
+ exports.validateFunctionModuleSource = validateFunctionModuleSource;
41
+ const internalUtils_1 = require("../../utils/internalUtils");
42
+ const validation_1 = require("../shared/validation");
43
+ /**
44
+ * Validate function module name
45
+ */
46
+ async function validateFunctionModuleName(connection, functionGroupName, functionModuleName, description) {
47
+ const params = {
48
+ fugrname: (0, internalUtils_1.encodeSapObjectName)(functionGroupName)
49
+ };
50
+ if (description) {
51
+ params.description = description;
52
+ }
53
+ return (0, validation_1.validateObjectName)(connection, 'FUGR/FF', functionModuleName, params);
54
+ }
55
+ /**
56
+ * Validate function module source code.
57
+ *
58
+ * If sourceCode is provided: validates unsaved code (live validation with artifacts)
59
+ * If sourceCode is not provided: validates existing FM code in SAP system (without artifacts)
60
+ *
61
+ * @param connection - SAP connection
62
+ * @param functionGroupName - Function group name
63
+ * @param functionModuleName - Function module name
64
+ * @param sourceCode - Optional: source code to validate. If omitted, validates existing FM in SAP
65
+ * @param version - 'active' (default) or 'inactive' - version context for validation
66
+ * @param sessionId - Optional session ID
67
+ * @returns Check result with errors/warnings
68
+ * @throws Error if validation finds syntax errors
69
+ */
70
+ async function validateFunctionModuleSource(connection, functionGroupName, functionModuleName, sourceCode, version = 'active', sessionId) {
71
+ const { runCheckRun, runCheckRunWithSource, parseCheckRunResponse } = await Promise.resolve().then(() => __importStar(require('../shared/checkRun')));
72
+ // Build object type path for function module
73
+ const objectType = 'function_module';
74
+ const objectName = `${functionGroupName}/${functionModuleName}`;
75
+ let response;
76
+ if (sourceCode) {
77
+ // Live validation with artifacts (code not saved to SAP)
78
+ response = await runCheckRunWithSource(connection, objectType, objectName, sourceCode, version, 'abapCheckRun', sessionId);
79
+ }
80
+ else {
81
+ // Validate existing object in SAP (without artifacts)
82
+ response = await runCheckRun(connection, objectType, objectName, version, 'abapCheckRun', sessionId);
83
+ }
84
+ const checkResult = parseCheckRunResponse(response);
85
+ // Check result is OK if:
86
+ // 1. Message says "has been checked" or "was checked" - object was already checked, this is OK
87
+ // Problems are: ERROR and WARNING
88
+ // Only throw error if there are actual ERROR or WARNING messages
89
+ // If message indicates object was already checked, it's OK (even if has errors/warnings)
90
+ const isAlreadyChecked = checkResult.message?.toLowerCase().includes('has been checked') ||
91
+ checkResult.message?.toLowerCase().includes('was checked');
92
+ if (isAlreadyChecked) {
93
+ return response; // Object was already checked - this is OK
94
+ }
95
+ // Problems: ERROR (errors) and WARNING (warnings)
96
+ if (checkResult.errors.length > 0) {
97
+ throw new Error(`Source validation failed: ${checkResult.message || 'Unknown error'}`);
98
+ }
99
+ if (checkResult.warnings.length > 0) {
100
+ throw new Error(`Source validation failed: ${checkResult.message || 'Warnings found'}`);
101
+ }
102
+ // If status is 'notProcessed', it's an error
103
+ if (checkResult.status === 'notProcessed') {
104
+ throw new Error(`Source validation failed: ${checkResult.message || 'Object could not be processed'}`);
105
+ }
106
+ return response;
107
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * InterfaceBuilder - Fluent API for interface operations with Promise chaining
3
+ *
4
+ * Supports:
5
+ * - Method chaining: builder.validate().then(b => b.create()).then(b => b.lock())...
6
+ * - Error handling: .catch() for error callbacks
7
+ * - Cleanup: .finally() for guaranteed execution
8
+ * - Result storage: all results stored in logger/state
9
+ * - Chain interruption: chain stops on first error (standard Promise behavior)
10
+ */
11
+ import { AbapConnection } from '@mcp-abap-adt/connection';
12
+ import { AxiosResponse } from 'axios';
13
+ import { ValidationResult } from '../shared/validation';
14
+ export interface InterfaceBuilderLogger {
15
+ debug?: (message: string, ...args: any[]) => void;
16
+ info?: (message: string, ...args: any[]) => void;
17
+ warn?: (message: string, ...args: any[]) => void;
18
+ error?: (message: string, ...args: any[]) => void;
19
+ }
20
+ export interface InterfaceBuilderConfig {
21
+ interfaceName: string;
22
+ packageName?: string;
23
+ transportRequest?: string;
24
+ description?: string;
25
+ sourceCode?: string;
26
+ sessionId?: string;
27
+ onLock?: (lockHandle: string, sessionId: string) => void;
28
+ }
29
+ export interface InterfaceBuilderState {
30
+ validationResult?: ValidationResult;
31
+ createResult?: AxiosResponse;
32
+ lockHandle?: string;
33
+ updateResult?: AxiosResponse;
34
+ checkResult?: AxiosResponse;
35
+ unlockResult?: AxiosResponse;
36
+ activateResult?: AxiosResponse;
37
+ readResult?: AxiosResponse;
38
+ errors: Array<{
39
+ method: string;
40
+ error: Error;
41
+ timestamp: Date;
42
+ }>;
43
+ }
44
+ export declare class InterfaceBuilder {
45
+ private connection;
46
+ private logger;
47
+ private config;
48
+ private sourceCode?;
49
+ private lockHandle?;
50
+ private sessionId;
51
+ private state;
52
+ constructor(connection: AbapConnection, logger: InterfaceBuilderLogger, config: InterfaceBuilderConfig);
53
+ setPackage(packageName: string): this;
54
+ setRequest(transportRequest: string): this;
55
+ setName(interfaceName: string): this;
56
+ setCode(sourceCode: string): this;
57
+ setDescription(description: string): this;
58
+ validate(): Promise<this>;
59
+ create(): Promise<this>;
60
+ lock(): Promise<this>;
61
+ update(sourceCode?: string): Promise<this>;
62
+ check(version?: 'active' | 'inactive'): Promise<this>;
63
+ unlock(): Promise<this>;
64
+ activate(): Promise<this>;
65
+ read(version?: 'active' | 'inactive'): Promise<this>;
66
+ forceUnlock(): Promise<void>;
67
+ getState(): Readonly<InterfaceBuilderState>;
68
+ getInterfaceName(): string;
69
+ getLockHandle(): string | undefined;
70
+ getSessionId(): string;
71
+ getValidationResult(): ValidationResult | undefined;
72
+ getCreateResult(): AxiosResponse | undefined;
73
+ getUpdateResult(): AxiosResponse | undefined;
74
+ getCheckResult(): AxiosResponse | undefined;
75
+ getUnlockResult(): AxiosResponse | undefined;
76
+ getActivateResult(): AxiosResponse | undefined;
77
+ getReadResult(): AxiosResponse | undefined;
78
+ getErrors(): ReadonlyArray<{
79
+ method: string;
80
+ error: Error;
81
+ timestamp: Date;
82
+ }>;
83
+ getResults(): {
84
+ validation?: ValidationResult;
85
+ create?: AxiosResponse;
86
+ update?: AxiosResponse;
87
+ check?: AxiosResponse;
88
+ unlock?: AxiosResponse;
89
+ activate?: AxiosResponse;
90
+ lockHandle?: string;
91
+ errors: Array<{
92
+ method: string;
93
+ error: Error;
94
+ timestamp: Date;
95
+ }>;
96
+ };
97
+ }
98
+ //# sourceMappingURL=InterfaceBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InterfaceBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/interface/InterfaceBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ /**
3
+ * InterfaceBuilder - Fluent API for interface operations with Promise chaining
4
+ *
5
+ * Supports:
6
+ * - Method chaining: builder.validate().then(b => b.create()).then(b => b.lock())...
7
+ * - Error handling: .catch() for error callbacks
8
+ * - Cleanup: .finally() for guaranteed execution
9
+ * - Result storage: all results stored in logger/state
10
+ * - Chain interruption: chain stops on first error (standard Promise behavior)
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.InterfaceBuilder = void 0;
14
+ const sessionUtils_1 = require("../../utils/sessionUtils");
15
+ const validation_1 = require("./validation");
16
+ const create_1 = require("./create");
17
+ const lock_1 = require("./lock");
18
+ const update_1 = require("./update");
19
+ const check_1 = require("./check");
20
+ const unlock_1 = require("./unlock");
21
+ const activation_1 = require("./activation");
22
+ const read_1 = require("./read");
23
+ class InterfaceBuilder {
24
+ connection;
25
+ logger;
26
+ config;
27
+ sourceCode;
28
+ lockHandle;
29
+ sessionId;
30
+ state;
31
+ constructor(connection, logger, config) {
32
+ this.connection = connection;
33
+ this.logger = logger;
34
+ this.config = { ...config };
35
+ this.sourceCode = config.sourceCode;
36
+ this.sessionId = config.sessionId || (0, sessionUtils_1.generateSessionId)();
37
+ this.state = {
38
+ errors: []
39
+ };
40
+ }
41
+ // Builder methods - return this for chaining
42
+ setPackage(packageName) {
43
+ this.config.packageName = packageName;
44
+ this.logger.debug?.('Package set:', packageName);
45
+ return this;
46
+ }
47
+ setRequest(transportRequest) {
48
+ this.config.transportRequest = transportRequest;
49
+ this.logger.debug?.('Transport request set:', transportRequest);
50
+ return this;
51
+ }
52
+ setName(interfaceName) {
53
+ this.config.interfaceName = interfaceName;
54
+ this.logger.debug?.('Interface name set:', interfaceName);
55
+ return this;
56
+ }
57
+ setCode(sourceCode) {
58
+ this.sourceCode = sourceCode;
59
+ this.logger.debug?.('Source code set, length:', sourceCode.length);
60
+ return this;
61
+ }
62
+ setDescription(description) {
63
+ this.config.description = description;
64
+ return this;
65
+ }
66
+ // Operation methods - return Promise<this> for Promise chaining
67
+ async validate() {
68
+ try {
69
+ this.logger.info?.('Validating interface:', this.config.interfaceName);
70
+ const result = await (0, validation_1.validateInterfaceName)(this.connection, this.config.interfaceName, this.config.description);
71
+ this.state.validationResult = result;
72
+ this.logger.info?.('Validation successful:', result.valid);
73
+ return this;
74
+ }
75
+ catch (error) {
76
+ this.state.errors.push({
77
+ method: 'validate',
78
+ error: error instanceof Error ? error : new Error(String(error)),
79
+ timestamp: new Date()
80
+ });
81
+ this.logger.error?.('Validation failed:', error);
82
+ throw error; // Interrupts chain
83
+ }
84
+ }
85
+ async create() {
86
+ try {
87
+ if (!this.config.packageName) {
88
+ throw new Error('Package name is required');
89
+ }
90
+ this.logger.info?.('Creating interface:', this.config.interfaceName);
91
+ const params = {
92
+ interface_name: this.config.interfaceName,
93
+ package_name: this.config.packageName,
94
+ transport_request: this.config.transportRequest,
95
+ description: this.config.description,
96
+ source_code: this.sourceCode,
97
+ activate: false // Don't activate in low-level function
98
+ };
99
+ const result = await (0, create_1.createInterface)(this.connection, params);
100
+ this.state.createResult = result;
101
+ this.logger.info?.('Interface created successfully:', result.status);
102
+ return this;
103
+ }
104
+ catch (error) {
105
+ this.state.errors.push({
106
+ method: 'create',
107
+ error: error instanceof Error ? error : new Error(String(error)),
108
+ timestamp: new Date()
109
+ });
110
+ this.logger.error?.('Create failed:', error);
111
+ throw error; // Interrupts chain
112
+ }
113
+ }
114
+ async lock() {
115
+ try {
116
+ this.logger.info?.('Locking interface:', this.config.interfaceName);
117
+ const lockData = await (0, lock_1.lockInterface)(this.connection, this.config.interfaceName, this.sessionId);
118
+ this.lockHandle = lockData.lockHandle;
119
+ this.state.lockHandle = lockData.lockHandle;
120
+ // Register lock in persistent storage if callback provided
121
+ if (this.config.onLock) {
122
+ this.config.onLock(lockData.lockHandle, this.sessionId);
123
+ }
124
+ this.logger.info?.('Interface locked, handle:', lockData.lockHandle.substring(0, 10) + '...');
125
+ return this;
126
+ }
127
+ catch (error) {
128
+ this.state.errors.push({
129
+ method: 'lock',
130
+ error: error instanceof Error ? error : new Error(String(error)),
131
+ timestamp: new Date()
132
+ });
133
+ this.logger.error?.('Lock failed:', error);
134
+ throw error; // Interrupts chain
135
+ }
136
+ }
137
+ async update(sourceCode) {
138
+ try {
139
+ if (!this.lockHandle) {
140
+ throw new Error('Interface must be locked before update. Call lock() first.');
141
+ }
142
+ const code = sourceCode || this.sourceCode;
143
+ if (!code) {
144
+ throw new Error('Source code is required. Use setCode() or pass as parameter.');
145
+ }
146
+ this.logger.info?.('Updating interface source:', this.config.interfaceName);
147
+ const params = {
148
+ interface_name: this.config.interfaceName,
149
+ source_code: code,
150
+ activate: false // Don't activate in low-level function
151
+ };
152
+ const result = await (0, update_1.updateInterfaceSource)(this.connection, params);
153
+ this.state.updateResult = result;
154
+ this.logger.info?.('Interface updated successfully:', result.status);
155
+ return this;
156
+ }
157
+ catch (error) {
158
+ this.state.errors.push({
159
+ method: 'update',
160
+ error: error instanceof Error ? error : new Error(String(error)),
161
+ timestamp: new Date()
162
+ });
163
+ this.logger.error?.('Update failed:', error);
164
+ throw error; // Interrupts chain
165
+ }
166
+ }
167
+ async check(version = 'inactive') {
168
+ try {
169
+ this.logger.info?.('Checking interface:', this.config.interfaceName, 'version:', version);
170
+ const result = await (0, check_1.checkInterface)(this.connection, this.config.interfaceName, version, this.sessionId);
171
+ this.state.checkResult = result;
172
+ this.logger.info?.('Interface check successful:', result.status);
173
+ return this;
174
+ }
175
+ catch (error) {
176
+ this.state.errors.push({
177
+ method: 'check',
178
+ error: error instanceof Error ? error : new Error(String(error)),
179
+ timestamp: new Date()
180
+ });
181
+ this.logger.error?.('Check failed:', error);
182
+ throw error; // Interrupts chain
183
+ }
184
+ }
185
+ async unlock() {
186
+ try {
187
+ if (!this.lockHandle) {
188
+ throw new Error('Interface is not locked. Call lock() first.');
189
+ }
190
+ this.logger.info?.('Unlocking interface:', this.config.interfaceName);
191
+ const result = await (0, unlock_1.unlockInterface)(this.connection, this.config.interfaceName, this.lockHandle, this.sessionId);
192
+ this.state.unlockResult = result;
193
+ this.lockHandle = undefined;
194
+ this.state.lockHandle = undefined;
195
+ this.logger.info?.('Interface unlocked successfully');
196
+ return this;
197
+ }
198
+ catch (error) {
199
+ this.state.errors.push({
200
+ method: 'unlock',
201
+ error: error instanceof Error ? error : new Error(String(error)),
202
+ timestamp: new Date()
203
+ });
204
+ this.logger.error?.('Unlock failed:', error);
205
+ throw error; // Interrupts chain
206
+ }
207
+ }
208
+ async activate() {
209
+ try {
210
+ this.logger.info?.('Activating interface:', this.config.interfaceName);
211
+ const result = await (0, activation_1.activateInterface)(this.connection, this.config.interfaceName, this.sessionId);
212
+ this.state.activateResult = result;
213
+ this.logger.info?.('Interface activated successfully:', result.status);
214
+ return this;
215
+ }
216
+ catch (error) {
217
+ this.state.errors.push({
218
+ method: 'activate',
219
+ error: error instanceof Error ? error : new Error(String(error)),
220
+ timestamp: new Date()
221
+ });
222
+ this.logger.error?.('Activate failed:', error);
223
+ throw error; // Interrupts chain
224
+ }
225
+ }
226
+ async read(version = 'active') {
227
+ try {
228
+ this.logger.info?.('Reading interface:', this.config.interfaceName);
229
+ const result = await (0, read_1.getInterfaceSource)(this.connection, this.config.interfaceName);
230
+ this.state.readResult = result;
231
+ this.logger.info?.('Interface read successfully:', result.status);
232
+ return this;
233
+ }
234
+ catch (error) {
235
+ this.state.errors.push({
236
+ method: 'read',
237
+ error: error instanceof Error ? error : new Error(String(error)),
238
+ timestamp: new Date()
239
+ });
240
+ this.logger.error?.('Read failed:', error);
241
+ throw error; // Interrupts chain
242
+ }
243
+ }
244
+ async forceUnlock() {
245
+ if (!this.lockHandle) {
246
+ return;
247
+ }
248
+ try {
249
+ await (0, unlock_1.unlockInterface)(this.connection, this.config.interfaceName, this.lockHandle, this.sessionId);
250
+ this.logger.info?.('Force unlock successful for', this.config.interfaceName);
251
+ }
252
+ catch (error) {
253
+ this.logger.warn?.('Force unlock failed:', error);
254
+ }
255
+ finally {
256
+ this.lockHandle = undefined;
257
+ this.state.lockHandle = undefined;
258
+ }
259
+ }
260
+ // Getters for accessing results
261
+ getState() {
262
+ return { ...this.state };
263
+ }
264
+ getInterfaceName() {
265
+ return this.config.interfaceName;
266
+ }
267
+ getLockHandle() {
268
+ return this.lockHandle;
269
+ }
270
+ getSessionId() {
271
+ return this.sessionId;
272
+ }
273
+ getValidationResult() {
274
+ return this.state.validationResult;
275
+ }
276
+ getCreateResult() {
277
+ return this.state.createResult;
278
+ }
279
+ getUpdateResult() {
280
+ return this.state.updateResult;
281
+ }
282
+ getCheckResult() {
283
+ return this.state.checkResult;
284
+ }
285
+ getUnlockResult() {
286
+ return this.state.unlockResult;
287
+ }
288
+ getActivateResult() {
289
+ return this.state.activateResult;
290
+ }
291
+ getReadResult() {
292
+ return this.state.readResult;
293
+ }
294
+ getErrors() {
295
+ return [...this.state.errors];
296
+ }
297
+ // Helper method to get all results
298
+ getResults() {
299
+ return {
300
+ validation: this.state.validationResult,
301
+ create: this.state.createResult,
302
+ update: this.state.updateResult,
303
+ check: this.state.checkResult,
304
+ unlock: this.state.unlockResult,
305
+ activate: this.state.activateResult,
306
+ lockHandle: this.lockHandle,
307
+ errors: [...this.state.errors]
308
+ };
309
+ }
310
+ }
311
+ exports.InterfaceBuilder = InterfaceBuilder;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Interface activation operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Activate interface
8
+ * Makes interface active and usable in SAP system
9
+ */
10
+ export declare function activateInterface(connection: AbapConnection, interfaceName: string, sessionId: string): Promise<AxiosResponse>;
11
+ //# sourceMappingURL=activation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../src/core/interface/activation.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,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAGxB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Interface activation operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.activateInterface = activateInterface;
7
+ const internalUtils_1 = require("../../utils/internalUtils");
8
+ const activationUtils_1 = require("../../utils/activationUtils");
9
+ /**
10
+ * Activate interface
11
+ * Makes interface active and usable in SAP system
12
+ */
13
+ async function activateInterface(connection, interfaceName, sessionId) {
14
+ const objectUri = `/sap/bc/adt/oo/interfaces/${(0, internalUtils_1.encodeSapObjectName)(interfaceName).toLowerCase()}`;
15
+ return await (0, activationUtils_1.activateObjectInSession)(connection, objectUri, interfaceName, sessionId, true);
16
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Interface check operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ /**
7
+ * Check interface syntax
8
+ */
9
+ export declare function checkInterface(connection: AbapConnection, interfaceName: string, version?: string, sessionId?: string): Promise<AxiosResponse>;
10
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/interface/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,MAAiB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CASxB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Interface check operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkInterface = checkInterface;
7
+ const checkRun_1 = require("../shared/checkRun");
8
+ /**
9
+ * Check interface syntax
10
+ */
11
+ async function checkInterface(connection, interfaceName, version = 'active', sessionId) {
12
+ const response = await (0, checkRun_1.runCheckRun)(connection, 'interface', interfaceName, version, 'abapCheckRun', sessionId);
13
+ const checkResult = (0, checkRun_1.parseCheckRunResponse)(response);
14
+ if (!checkResult.success && checkResult.has_errors) {
15
+ throw new Error(`Interface check failed: ${checkResult.message}`);
16
+ }
17
+ return response;
18
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Interface create operations
3
+ */
4
+ import { AbapConnection } from '@mcp-abap-adt/connection';
5
+ import { AxiosResponse } from 'axios';
6
+ import { CreateInterfaceParams } from './types';
7
+ /**
8
+ * Create ABAP interface
9
+ * Full workflow: create object -> lock -> upload source -> unlock -> activate
10
+ */
11
+ export declare function createInterface(connection: AbapConnection, params: CreateInterfaceParams): Promise<AxiosResponse>;
12
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/interface/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAqGhD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAoExB"}