@mcp-abap-adt/adt-clients 6.0.0 → 7.0.1

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 (166) hide show
  1. package/README.md +11 -0
  2. package/dist/core/accessControl/AdtAccessControl.d.ts +2 -0
  3. package/dist/core/accessControl/AdtAccessControl.d.ts.map +1 -1
  4. package/dist/core/accessControl/AdtAccessControl.js +7 -0
  5. package/dist/core/accessControl/versions.d.ts +5 -0
  6. package/dist/core/accessControl/versions.d.ts.map +1 -0
  7. package/dist/core/accessControl/versions.js +41 -0
  8. package/dist/core/appendStructure/AdtAppendStructure.d.ts +2 -0
  9. package/dist/core/appendStructure/AdtAppendStructure.d.ts.map +1 -1
  10. package/dist/core/appendStructure/AdtAppendStructure.js +7 -0
  11. package/dist/core/appendStructure/versions.d.ts +5 -0
  12. package/dist/core/appendStructure/versions.d.ts.map +1 -0
  13. package/dist/core/appendStructure/versions.js +41 -0
  14. package/dist/core/authorizationField/AdtAuthorizationField.d.ts +3 -1
  15. package/dist/core/authorizationField/AdtAuthorizationField.d.ts.map +1 -1
  16. package/dist/core/authorizationField/AdtAuthorizationField.js +7 -0
  17. package/dist/core/behaviorDefinition/AdtBehaviorDefinition.d.ts +2 -0
  18. package/dist/core/behaviorDefinition/AdtBehaviorDefinition.d.ts.map +1 -1
  19. package/dist/core/behaviorDefinition/AdtBehaviorDefinition.js +7 -0
  20. package/dist/core/behaviorDefinition/versions.d.ts +5 -0
  21. package/dist/core/behaviorDefinition/versions.d.ts.map +1 -0
  22. package/dist/core/behaviorDefinition/versions.js +41 -0
  23. package/dist/core/behaviorImplementation/AdtBehaviorImplementation.d.ts +2 -0
  24. package/dist/core/behaviorImplementation/AdtBehaviorImplementation.d.ts.map +1 -1
  25. package/dist/core/behaviorImplementation/AdtBehaviorImplementation.js +7 -0
  26. package/dist/core/behaviorImplementation/versions.d.ts +5 -0
  27. package/dist/core/behaviorImplementation/versions.d.ts.map +1 -0
  28. package/dist/core/behaviorImplementation/versions.js +41 -0
  29. package/dist/core/class/AdtClass.d.ts +6 -1
  30. package/dist/core/class/AdtClass.d.ts.map +1 -1
  31. package/dist/core/class/AdtClass.js +13 -0
  32. package/dist/core/class/AdtLocalDefinitions.d.ts +4 -1
  33. package/dist/core/class/AdtLocalDefinitions.d.ts.map +1 -1
  34. package/dist/core/class/AdtLocalDefinitions.js +10 -0
  35. package/dist/core/class/AdtLocalMacros.d.ts +4 -1
  36. package/dist/core/class/AdtLocalMacros.d.ts.map +1 -1
  37. package/dist/core/class/AdtLocalMacros.js +10 -0
  38. package/dist/core/class/AdtLocalTestClass.d.ts +4 -1
  39. package/dist/core/class/AdtLocalTestClass.d.ts.map +1 -1
  40. package/dist/core/class/AdtLocalTestClass.js +12 -0
  41. package/dist/core/class/AdtLocalTypes.d.ts +4 -1
  42. package/dist/core/class/AdtLocalTypes.d.ts.map +1 -1
  43. package/dist/core/class/AdtLocalTypes.js +10 -0
  44. package/dist/core/class/versions.d.ts +6 -0
  45. package/dist/core/class/versions.d.ts.map +1 -0
  46. package/dist/core/class/versions.js +40 -0
  47. package/dist/core/dataElement/AdtDataElement.d.ts +3 -1
  48. package/dist/core/dataElement/AdtDataElement.d.ts.map +1 -1
  49. package/dist/core/dataElement/AdtDataElement.js +7 -0
  50. package/dist/core/ddl/AdtDdl.d.ts +2 -0
  51. package/dist/core/ddl/AdtDdl.d.ts.map +1 -1
  52. package/dist/core/ddl/AdtDdl.js +7 -0
  53. package/dist/core/ddl/versions.d.ts +5 -0
  54. package/dist/core/ddl/versions.d.ts.map +1 -0
  55. package/dist/core/ddl/versions.js +41 -0
  56. package/dist/core/domain/AdtDomain.d.ts +3 -1
  57. package/dist/core/domain/AdtDomain.d.ts.map +1 -1
  58. package/dist/core/domain/AdtDomain.js +7 -0
  59. package/dist/core/enhancement/AdtEnhancement.d.ts +2 -0
  60. package/dist/core/enhancement/AdtEnhancement.d.ts.map +1 -1
  61. package/dist/core/enhancement/AdtEnhancement.js +7 -0
  62. package/dist/core/enhancement/versions.d.ts +5 -0
  63. package/dist/core/enhancement/versions.d.ts.map +1 -0
  64. package/dist/core/enhancement/versions.js +42 -0
  65. package/dist/core/featureToggle/AdtFeatureToggle.d.ts +3 -1
  66. package/dist/core/featureToggle/AdtFeatureToggle.d.ts.map +1 -1
  67. package/dist/core/featureToggle/AdtFeatureToggle.js +7 -0
  68. package/dist/core/functionGroup/AdtFunctionGroup.d.ts +3 -1
  69. package/dist/core/functionGroup/AdtFunctionGroup.d.ts.map +1 -1
  70. package/dist/core/functionGroup/AdtFunctionGroup.js +7 -0
  71. package/dist/core/functionInclude/AdtFunctionInclude.d.ts +2 -0
  72. package/dist/core/functionInclude/AdtFunctionInclude.d.ts.map +1 -1
  73. package/dist/core/functionInclude/AdtFunctionInclude.js +7 -0
  74. package/dist/core/functionInclude/versions.d.ts +5 -0
  75. package/dist/core/functionInclude/versions.d.ts.map +1 -0
  76. package/dist/core/functionInclude/versions.js +44 -0
  77. package/dist/core/functionModule/AdtFunctionModule.d.ts +2 -0
  78. package/dist/core/functionModule/AdtFunctionModule.d.ts.map +1 -1
  79. package/dist/core/functionModule/AdtFunctionModule.js +7 -0
  80. package/dist/core/functionModule/versions.d.ts +5 -0
  81. package/dist/core/functionModule/versions.d.ts.map +1 -0
  82. package/dist/core/functionModule/versions.js +44 -0
  83. package/dist/core/interface/AdtInterface.d.ts +2 -0
  84. package/dist/core/interface/AdtInterface.d.ts.map +1 -1
  85. package/dist/core/interface/AdtInterface.js +7 -0
  86. package/dist/core/interface/versions.d.ts +5 -0
  87. package/dist/core/interface/versions.d.ts.map +1 -0
  88. package/dist/core/interface/versions.js +41 -0
  89. package/dist/core/metadataExtension/AdtMetadataExtension.d.ts +2 -0
  90. package/dist/core/metadataExtension/AdtMetadataExtension.d.ts.map +1 -1
  91. package/dist/core/metadataExtension/AdtMetadataExtension.js +7 -0
  92. package/dist/core/metadataExtension/versions.d.ts +5 -0
  93. package/dist/core/metadataExtension/versions.d.ts.map +1 -0
  94. package/dist/core/metadataExtension/versions.js +41 -0
  95. package/dist/core/package/AdtPackage.d.ts +3 -1
  96. package/dist/core/package/AdtPackage.d.ts.map +1 -1
  97. package/dist/core/package/AdtPackage.js +7 -0
  98. package/dist/core/program/AdtProgram.d.ts +2 -0
  99. package/dist/core/program/AdtProgram.d.ts.map +1 -1
  100. package/dist/core/program/AdtProgram.js +7 -0
  101. package/dist/core/program/versions.d.ts +5 -0
  102. package/dist/core/program/versions.d.ts.map +1 -0
  103. package/dist/core/program/versions.js +41 -0
  104. package/dist/core/scalarFunction/AdtScalarFunction.d.ts +2 -0
  105. package/dist/core/scalarFunction/AdtScalarFunction.d.ts.map +1 -1
  106. package/dist/core/scalarFunction/AdtScalarFunction.js +7 -0
  107. package/dist/core/scalarFunction/versions.d.ts +5 -0
  108. package/dist/core/scalarFunction/versions.d.ts.map +1 -0
  109. package/dist/core/scalarFunction/versions.js +41 -0
  110. package/dist/core/scalarFunctionImplementation/AdtScalarFunctionImplementation.d.ts +2 -0
  111. package/dist/core/scalarFunctionImplementation/AdtScalarFunctionImplementation.d.ts.map +1 -1
  112. package/dist/core/scalarFunctionImplementation/AdtScalarFunctionImplementation.js +7 -0
  113. package/dist/core/scalarFunctionImplementation/versions.d.ts +5 -0
  114. package/dist/core/scalarFunctionImplementation/versions.d.ts.map +1 -0
  115. package/dist/core/scalarFunctionImplementation/versions.js +41 -0
  116. package/dist/core/service/AdtService.d.ts +3 -1
  117. package/dist/core/service/AdtService.d.ts.map +1 -1
  118. package/dist/core/service/AdtService.js +7 -0
  119. package/dist/core/serviceDefinition/AdtServiceDefinition.d.ts +2 -0
  120. package/dist/core/serviceDefinition/AdtServiceDefinition.d.ts.map +1 -1
  121. package/dist/core/serviceDefinition/AdtServiceDefinition.js +7 -0
  122. package/dist/core/serviceDefinition/versions.d.ts +5 -0
  123. package/dist/core/serviceDefinition/versions.d.ts.map +1 -0
  124. package/dist/core/serviceDefinition/versions.js +41 -0
  125. package/dist/core/shared/AdtUtils.d.ts +7 -8
  126. package/dist/core/shared/AdtUtils.d.ts.map +1 -1
  127. package/dist/core/shared/AdtUtils.js +7 -8
  128. package/dist/core/shared/types.d.ts +21 -2
  129. package/dist/core/shared/types.d.ts.map +1 -1
  130. package/dist/core/shared/versions.d.ts +12 -0
  131. package/dist/core/shared/versions.d.ts.map +1 -0
  132. package/dist/core/shared/versions.js +64 -0
  133. package/dist/core/shared/whereUsed.d.ts +20 -8
  134. package/dist/core/shared/whereUsed.d.ts.map +1 -1
  135. package/dist/core/shared/whereUsed.js +148 -59
  136. package/dist/core/structure/AdtStructure.d.ts +2 -0
  137. package/dist/core/structure/AdtStructure.d.ts.map +1 -1
  138. package/dist/core/structure/AdtStructure.js +7 -0
  139. package/dist/core/structure/versions.d.ts +5 -0
  140. package/dist/core/structure/versions.d.ts.map +1 -0
  141. package/dist/core/structure/versions.js +41 -0
  142. package/dist/core/table/AdtTable.d.ts +2 -0
  143. package/dist/core/table/AdtTable.d.ts.map +1 -1
  144. package/dist/core/table/AdtTable.js +7 -0
  145. package/dist/core/table/versions.d.ts +5 -0
  146. package/dist/core/table/versions.d.ts.map +1 -0
  147. package/dist/core/table/versions.js +39 -0
  148. package/dist/core/tabletype/AdtDdicTableType.d.ts +2 -0
  149. package/dist/core/tabletype/AdtDdicTableType.d.ts.map +1 -1
  150. package/dist/core/tabletype/AdtDdicTableType.js +7 -0
  151. package/dist/core/tabletype/versions.d.ts +5 -0
  152. package/dist/core/tabletype/versions.d.ts.map +1 -0
  153. package/dist/core/tabletype/versions.js +41 -0
  154. package/dist/core/transformation/AdtTransformation.d.ts +2 -0
  155. package/dist/core/transformation/AdtTransformation.d.ts.map +1 -1
  156. package/dist/core/transformation/AdtTransformation.js +7 -0
  157. package/dist/core/transformation/versions.d.ts +5 -0
  158. package/dist/core/transformation/versions.d.ts.map +1 -0
  159. package/dist/core/transformation/versions.js +41 -0
  160. package/dist/core/transport/AdtRequest.d.ts +3 -1
  161. package/dist/core/transport/AdtRequest.d.ts.map +1 -1
  162. package/dist/core/transport/AdtRequest.js +7 -0
  163. package/dist/core/unitTest/AdtUnitTest.d.ts +3 -1
  164. package/dist/core/unitTest/AdtUnitTest.d.ts.map +1 -1
  165. package/dist/core/unitTest/AdtUnitTest.js +7 -0
  166. package/package.json +2 -2
package/README.md CHANGED
@@ -185,6 +185,17 @@ for (const ref of result.references) {
185
185
  console.log(`${ref.name} (${ref.type}) in ${ref.packageName}`);
186
186
  }
187
187
 
188
+ // Restrict to specific object types — SAP filters server-side, so it never
189
+ // returns the unwanted types (e.g. hundreds of classes when you want structures).
190
+ // On systems without the /usageReferences/scope sub-resource (some S/4 releases
191
+ // 404 it) the search falls back to unscoped and the filter is applied to the
192
+ // parsed references client-side, so you still get the narrowed set.
193
+ await utils.getWhereUsedList({
194
+ object_name: 'ZMY_TABLE',
195
+ object_type: 'table',
196
+ enableOnlyTypes: ['TABL/DS', 'TABL/DT'] // or disableTypes: ['CLAS/OC']
197
+ });
198
+
188
199
  // Where-used with raw XML (legacy)
189
200
  await utils.getWhereUsed({ object_name: 'ZCL_TEST', object_type: 'class' });
190
201
  ```
@@ -76,5 +76,7 @@ export declare class AdtAccessControl implements IAdtObject<IAccessControlConfig
76
76
  * Unlock access control
77
77
  */
78
78
  unlock(config: Partial<IAccessControlConfig>, lockHandle: string): Promise<IAccessControlState>;
79
+ getVersions(config: Partial<IAccessControlConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
80
+ getVersionSource(contentUri: string): Promise<string>;
79
81
  }
80
82
  //# sourceMappingURL=AdtAccessControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtAccessControl.d.ts","sourceRoot":"","sources":["../../../src/core/accessControl/AdtAccessControl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKzE,qBAAa,gBACX,YAAW,UAAU,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAmB;gBAGnD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IA6B/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAsC/B;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA2B3C;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAgN/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAmC/B;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAqB/B;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC;IAoB/B;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAalE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;CAiBhC"}
1
+ {"version":3,"file":"AdtAccessControl.d.ts","sourceRoot":"","sources":["../../../src/core/accessControl/AdtAccessControl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AASzE,qBAAa,gBACX,YAAW,UAAU,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAmB;gBAGnD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IA6B/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAsC/B;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA2B3C;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAgN/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAmC/B;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAqB/B;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC;IAoB/B;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAalE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;IAkB/B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAIjD,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
@@ -30,6 +30,7 @@ const read_1 = require("./read");
30
30
  const unlock_1 = require("./unlock");
31
31
  const update_1 = require("./update");
32
32
  const validation_1 = require("./validation");
33
+ const versions_1 = require("./versions");
33
34
  class AdtAccessControl {
34
35
  connection;
35
36
  logger;
@@ -426,5 +427,11 @@ class AdtAccessControl {
426
427
  errors: [],
427
428
  };
428
429
  }
430
+ getVersions(config) {
431
+ return (0, versions_1.getAccessControlVersions)(this.connection, config);
432
+ }
433
+ getVersionSource(contentUri) {
434
+ return (0, versions_1.getAccessControlVersionSource)(this.connection, contentUri);
435
+ }
429
436
  }
430
437
  exports.AdtAccessControl = AdtAccessControl;
@@ -0,0 +1,5 @@
1
+ import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
2
+ import type { IAccessControlConfig } from './types';
3
+ export declare function getAccessControlVersions(connection: IAbapConnection, config: Partial<IAccessControlConfig>): Promise<IObjectVersion[]>;
4
+ export declare function getAccessControlVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
5
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/accessControl/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAKpD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,cAAc,EAAE,CAAC,CAkB3B;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAccessControlVersions = getAccessControlVersions;
4
+ exports.getAccessControlVersionSource = getAccessControlVersionSource;
5
+ const internalUtils_1 = require("../../utils/internalUtils");
6
+ const timeouts_1 = require("../../utils/timeouts");
7
+ const versions_1 = require("../shared/versions");
8
+ const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
9
+ // candidate URI — probe-verify on trial
10
+ async function getAccessControlVersions(connection, config) {
11
+ if (!config.accessControlName)
12
+ throw new Error('accessControlName is required');
13
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.accessControlName.toLowerCase());
14
+ const url = `/sap/bc/adt/acm/dcl/sources/${encodedName}/source/main/versions`;
15
+ try {
16
+ const res = await connection.makeAdtRequest({
17
+ url,
18
+ method: 'GET',
19
+ timeout: (0, timeouts_1.getTimeout)('default'),
20
+ headers: { Accept: ACCEPT_VERSION_FEED },
21
+ });
22
+ return (0, versions_1.parseVersionsFeed)(String(res.data));
23
+ }
24
+ catch (e) {
25
+ (0, versions_1.throwVersionsError)(e, `access control ${config.accessControlName}`);
26
+ }
27
+ }
28
+ async function getAccessControlVersionSource(connection, contentUri) {
29
+ try {
30
+ const res = await connection.makeAdtRequest({
31
+ url: contentUri,
32
+ method: 'GET',
33
+ timeout: (0, timeouts_1.getTimeout)('default'),
34
+ headers: { Accept: 'text/plain' },
35
+ });
36
+ return String(res.data);
37
+ }
38
+ catch (e) {
39
+ (0, versions_1.throwVersionsError)(e, 'version content');
40
+ }
41
+ }
@@ -25,5 +25,7 @@ export declare class AdtAppendStructure implements IAdtObject<IAppendStructureCo
25
25
  check(config: Partial<IAppendStructureConfig>, status?: string): Promise<IAppendStructureState>;
26
26
  lock(config: Partial<IAppendStructureConfig>): Promise<string>;
27
27
  unlock(config: Partial<IAppendStructureConfig>, lockHandle: string): Promise<IAppendStructureState>;
28
+ getVersions(config: Partial<IAppendStructureConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
29
+ getVersionSource(contentUri: string): Promise<string>;
28
30
  }
29
31
  //# sourceMappingURL=AdtAppendStructure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtAppendStructure.d.ts","sourceRoot":"","sources":["../../../src/core/appendStructure/AdtAppendStructure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAO7E,qBAAa,kBACX,YAAW,UAAU,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IAEpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAqB;gBAGrD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAO7B,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6B3B,MAAM,CACV,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IA0B3B,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAkBvC,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAa3B,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAa3B,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IA6I3B,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAmB3B,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAU3B,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;IAY3B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;CAelC"}
1
+ {"version":3,"file":"AdtAppendStructure.d.ts","sourceRoot":"","sources":["../../../src/core/appendStructure/AdtAppendStructure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAW7E,qBAAa,kBACX,YAAW,UAAU,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IAEpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAqB;gBAGrD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAO7B,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6B3B,MAAM,CACV,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IA0B3B,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAkBvC,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAa3B,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAa3B,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IA6I3B,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAmB3B,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAU3B,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;IAY3B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAgBjC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAInD,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
@@ -12,6 +12,7 @@ const unlock_1 = require("./unlock");
12
12
  const update_1 = require("./update");
13
13
  const validation_1 = require("./validation");
14
14
  const VALIDATION_UNSUPPORTED_STATUSES = new Set([404, 405, 501]);
15
+ const versions_1 = require("./versions");
15
16
  class AdtAppendStructure {
16
17
  connection;
17
18
  logger;
@@ -238,5 +239,11 @@ class AdtAppendStructure {
238
239
  this.connection.setSessionType('stateless');
239
240
  }
240
241
  }
242
+ getVersions(config) {
243
+ return (0, versions_1.getAppendStructureVersions)(this.connection, config);
244
+ }
245
+ getVersionSource(contentUri) {
246
+ return (0, versions_1.getAppendStructureVersionSource)(this.connection, contentUri);
247
+ }
241
248
  }
242
249
  exports.AdtAppendStructure = AdtAppendStructure;
@@ -0,0 +1,5 @@
1
+ import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
2
+ import type { IAppendStructureConfig } from './types';
3
+ export declare function getAppendStructureVersions(connection: IAbapConnection, config: Partial<IAppendStructureConfig>): Promise<IObjectVersion[]>;
4
+ export declare function getAppendStructureVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
5
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/appendStructure/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAKtD,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,cAAc,EAAE,CAAC,CAkB3B;AAED,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAppendStructureVersions = getAppendStructureVersions;
4
+ exports.getAppendStructureVersionSource = getAppendStructureVersionSource;
5
+ const internalUtils_1 = require("../../utils/internalUtils");
6
+ const timeouts_1 = require("../../utils/timeouts");
7
+ const versions_1 = require("../shared/versions");
8
+ const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
9
+ // candidate URI — probe-verify on trial
10
+ async function getAppendStructureVersions(connection, config) {
11
+ if (!config.appendStructureName)
12
+ throw new Error('appendStructureName is required');
13
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.appendStructureName.toLowerCase());
14
+ const url = `/sap/bc/adt/ddic/structures/${encodedName}/source/main/versions`;
15
+ try {
16
+ const res = await connection.makeAdtRequest({
17
+ url,
18
+ method: 'GET',
19
+ timeout: (0, timeouts_1.getTimeout)('default'),
20
+ headers: { Accept: ACCEPT_VERSION_FEED },
21
+ });
22
+ return (0, versions_1.parseVersionsFeed)(String(res.data));
23
+ }
24
+ catch (e) {
25
+ (0, versions_1.throwVersionsError)(e, `append structure ${config.appendStructureName}`);
26
+ }
27
+ }
28
+ async function getAppendStructureVersionSource(connection, contentUri) {
29
+ try {
30
+ const res = await connection.makeAdtRequest({
31
+ url: contentUri,
32
+ method: 'GET',
33
+ timeout: (0, timeouts_1.getTimeout)('default'),
34
+ headers: { Accept: 'text/plain' },
35
+ });
36
+ return String(res.data);
37
+ }
38
+ catch (e) {
39
+ (0, versions_1.throwVersionsError)(e, 'version content');
40
+ }
41
+ }
@@ -14,7 +14,7 @@
14
14
  * - Update: lock → check(inactive, xmlContent?) → update → read(longPolling) → unlock → check(inactive) → optional activate + read
15
15
  * - Delete: check(deletion) → delete
16
16
  */
17
- import type { IAbapConnection, IAdtObject, IAdtOperationOptions, ILogger } from '@mcp-abap-adt/interfaces';
17
+ import type { IAbapConnection, IAdtObject, IAdtOperationOptions, ILogger, IObjectVersion } from '@mcp-abap-adt/interfaces';
18
18
  import type { IAdtSystemContext } from '../../clients/AdtClient';
19
19
  import { type IReadOptions } from './read';
20
20
  import type { IAuthorizationFieldConfig, IAuthorizationFieldState } from './types';
@@ -76,5 +76,7 @@ export declare class AdtAuthorizationField implements IAdtObject<IAuthorizationF
76
76
  * Unlock authorization field.
77
77
  */
78
78
  unlock(config: Partial<IAuthorizationFieldConfig>, lockHandle: string): Promise<IAuthorizationFieldState>;
79
+ getVersions(_config: Partial<IAuthorizationFieldConfig>): Promise<IObjectVersion[]>;
80
+ getVersionSource(_contentUri: string): Promise<string>;
79
81
  }
80
82
  //# sourceMappingURL=AdtAuthorizationField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtAuthorizationField.d.ts","sourceRoot":"","sources":["../../../src/core/authorizationField/AdtAuthorizationField.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAWjE,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,QAAQ,CAAC;AACnE,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAKjB,qBAAa,qBACX,YAAW,UAAU,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IAE1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAwB;gBAGxD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAkBpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAgDpC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA0BhD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE,GAC3D,OAAO,CAAC,wBAAwB,CAAC;IA6CpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAgMpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IA+BpC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAoBpC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IAmBpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;IASxD;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;CAcrC"}
1
+ {"version":3,"file":"AdtAuthorizationField.d.ts","sourceRoot":"","sources":["../../../src/core/authorizationField/AdtAuthorizationField.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAYjE,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,QAAQ,CAAC;AACnE,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAIjB,qBAAa,qBACX,YAAW,UAAU,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IAE1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAwB;gBAGxD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAkBpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAgDpC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA0BhD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE,GAC3D,OAAO,CAAC,wBAAwB,CAAC;IA6CpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAgMpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IA+BpC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAoBpC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IAmBpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;IASxD;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;IAe9B,WAAW,CACf,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAItB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG7D"}
@@ -18,6 +18,7 @@
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.AdtAuthorizationField = void 0;
20
20
  const internalUtils_1 = require("../../utils/internalUtils");
21
+ const versions_1 = require("../shared/versions");
21
22
  const activation_1 = require("./activation");
22
23
  const check_1 = require("./check");
23
24
  const create_1 = require("./create");
@@ -393,5 +394,11 @@ class AdtAuthorizationField {
393
394
  this.connection.setSessionType('stateless');
394
395
  return { errors: [] };
395
396
  }
397
+ async getVersions(_config) {
398
+ (0, versions_1.throwUnsupportedVersions)('authorization field');
399
+ }
400
+ async getVersionSource(_contentUri) {
401
+ (0, versions_1.throwUnsupportedVersions)('authorization field');
402
+ }
396
403
  }
397
404
  exports.AdtAuthorizationField = AdtAuthorizationField;
@@ -76,5 +76,7 @@ export declare class AdtBehaviorDefinition implements IAdtObject<IBehaviorDefini
76
76
  * Unlock behavior definition
77
77
  */
78
78
  unlock(config: Partial<IBehaviorDefinitionConfig>, lockHandle: string): Promise<IBehaviorDefinitionState>;
79
+ getVersions(config: Partial<IBehaviorDefinitionConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
80
+ getVersionSource(contentUri: string): Promise<string>;
79
81
  }
80
82
  //# sourceMappingURL=AdtBehaviorDefinition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtBehaviorDefinition.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/AdtBehaviorDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAKjB,qBAAa,qBACX,YAAW,UAAU,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IAE1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAwB;gBAGxD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IA+CpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAuEpC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA8BhD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,CAAC;IAoCpC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,wBAAwB,CAAC;IAoCpC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAoMpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAqCpC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAwBpC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IA4BpC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;CAarC"}
1
+ {"version":3,"file":"AdtBehaviorDefinition.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/AdtBehaviorDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AASjB,qBAAa,qBACX,YAAW,UAAU,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IAE1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAwB;gBAGxD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IA+CpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAuEpC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA8BhD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,CAAC;IAoCpC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,wBAAwB,CAAC;IAoCpC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAoMpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAqCpC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAwBpC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IA4BpC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;IAcpC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAItD,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
@@ -30,6 +30,7 @@ const read_1 = require("./read");
30
30
  const unlock_1 = require("./unlock");
31
31
  const update_1 = require("./update");
32
32
  const validation_1 = require("./validation");
33
+ const versions_1 = require("./versions");
33
34
  class AdtBehaviorDefinition {
34
35
  connection;
35
36
  logger;
@@ -492,5 +493,11 @@ class AdtBehaviorDefinition {
492
493
  errors: [],
493
494
  };
494
495
  }
496
+ getVersions(config) {
497
+ return (0, versions_1.getBehaviorDefinitionVersions)(this.connection, config);
498
+ }
499
+ getVersionSource(contentUri) {
500
+ return (0, versions_1.getBehaviorDefinitionVersionSource)(this.connection, contentUri);
501
+ }
495
502
  }
496
503
  exports.AdtBehaviorDefinition = AdtBehaviorDefinition;
@@ -0,0 +1,5 @@
1
+ import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
2
+ import type { IBehaviorDefinitionConfig } from './types';
3
+ export declare function getBehaviorDefinitionVersions(connection: IAbapConnection, config: Partial<IBehaviorDefinitionConfig>): Promise<IObjectVersion[]>;
4
+ export declare function getBehaviorDefinitionVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
5
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAKzD,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,cAAc,EAAE,CAAC,CAe3B;AAED,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBehaviorDefinitionVersions = getBehaviorDefinitionVersions;
4
+ exports.getBehaviorDefinitionVersionSource = getBehaviorDefinitionVersionSource;
5
+ const internalUtils_1 = require("../../utils/internalUtils");
6
+ const timeouts_1 = require("../../utils/timeouts");
7
+ const versions_1 = require("../shared/versions");
8
+ const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
9
+ // candidate URI — probe-verify on trial
10
+ async function getBehaviorDefinitionVersions(connection, config) {
11
+ if (!config.name)
12
+ throw new Error('name is required');
13
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.name).toLowerCase();
14
+ const url = `/sap/bc/adt/bo/behaviordefinitions/${encodedName}/source/main/versions`;
15
+ try {
16
+ const res = await connection.makeAdtRequest({
17
+ url,
18
+ method: 'GET',
19
+ timeout: (0, timeouts_1.getTimeout)('default'),
20
+ headers: { Accept: ACCEPT_VERSION_FEED },
21
+ });
22
+ return (0, versions_1.parseVersionsFeed)(String(res.data));
23
+ }
24
+ catch (e) {
25
+ (0, versions_1.throwVersionsError)(e, `behavior definition ${config.name}`);
26
+ }
27
+ }
28
+ async function getBehaviorDefinitionVersionSource(connection, contentUri) {
29
+ try {
30
+ const res = await connection.makeAdtRequest({
31
+ url: contentUri,
32
+ method: 'GET',
33
+ timeout: (0, timeouts_1.getTimeout)('default'),
34
+ headers: { Accept: 'text/plain' },
35
+ });
36
+ return String(res.data);
37
+ }
38
+ catch (e) {
39
+ (0, versions_1.throwVersionsError)(e, 'version content');
40
+ }
41
+ }
@@ -82,5 +82,7 @@ export declare class AdtBehaviorImplementation implements IAdtObject<IBehaviorIm
82
82
  * Delegates to AdtClass since behavior implementation is a class
83
83
  */
84
84
  unlock(config: Partial<IBehaviorImplementationConfig>, lockHandle: string): Promise<IBehaviorImplementationState>;
85
+ getVersions(config: Partial<IBehaviorImplementationConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
86
+ getVersionSource(contentUri: string): Promise<string>;
85
87
  }
86
88
  //# sourceMappingURL=AdtBehaviorImplementation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtBehaviorImplementation.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/AdtBehaviorImplementation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAIjB,qBAAa,yBACX,YACE,UAAU,CAAC,6BAA6B,EAAE,4BAA4B,CAAC;IAEzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,SAAgB,UAAU,EAAE,MAAM,CAA4B;gBAElD,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,OAAO;IAMzD;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IAmCxC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,6BAA6B,EACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IA4CxC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IA8BpD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,4BAA4B,CAAC;IAiCxC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,4BAA4B,CAAC;IAoCxC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC;IAiPxC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IA+BxC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IA0BxC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,4BAA4B,CAAC;IAuBxC;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3E;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,4BAA4B,CAAC;CAczC"}
1
+ {"version":3,"file":"AdtBehaviorImplementation.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/AdtBehaviorImplementation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAQjB,qBAAa,yBACX,YACE,UAAU,CAAC,6BAA6B,EAAE,4BAA4B,CAAC;IAEzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,SAAgB,UAAU,EAAE,MAAM,CAA4B;gBAElD,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,OAAO;IAMzD;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IAmCxC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,6BAA6B,EACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IA4CxC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IA8BpD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,4BAA4B,CAAC;IAiCxC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,4BAA4B,CAAC;IAoCxC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC;IAiPxC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IA+BxC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IA0BxC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,4BAA4B,CAAC;IAuBxC;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3E;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,4BAA4B,CAAC;IAexC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC;IAI1D,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
@@ -32,6 +32,7 @@ const update_1 = require("../class/update");
32
32
  const read_1 = require("./read");
33
33
  const update_2 = require("./update");
34
34
  const validation_1 = require("./validation");
35
+ const versions_1 = require("./versions");
35
36
  class AdtBehaviorImplementation {
36
37
  connection;
37
38
  logger;
@@ -475,5 +476,11 @@ ENDCLASS.`;
475
476
  errors: [],
476
477
  };
477
478
  }
479
+ getVersions(config) {
480
+ return (0, versions_1.getBehaviorImplementationVersions)(this.connection, config);
481
+ }
482
+ getVersionSource(contentUri) {
483
+ return (0, versions_1.getBehaviorImplementationVersionSource)(this.connection, contentUri);
484
+ }
478
485
  }
479
486
  exports.AdtBehaviorImplementation = AdtBehaviorImplementation;
@@ -0,0 +1,5 @@
1
+ import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
2
+ import type { IBehaviorImplementationConfig } from './types';
3
+ export declare function getBehaviorImplementationVersions(connection: IAbapConnection, config: Partial<IBehaviorImplementationConfig>): Promise<IObjectVersion[]>;
4
+ export declare function getBehaviorImplementationVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
5
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAK7D,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,cAAc,EAAE,CAAC,CAe3B;AAED,wBAAsB,sCAAsC,CAC1D,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBehaviorImplementationVersions = getBehaviorImplementationVersions;
4
+ exports.getBehaviorImplementationVersionSource = getBehaviorImplementationVersionSource;
5
+ const internalUtils_1 = require("../../utils/internalUtils");
6
+ const timeouts_1 = require("../../utils/timeouts");
7
+ const versions_1 = require("../shared/versions");
8
+ const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
9
+ // candidate URI — probe-verify on trial
10
+ async function getBehaviorImplementationVersions(connection, config) {
11
+ if (!config.className)
12
+ throw new Error('className is required');
13
+ const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.className);
14
+ const url = `/sap/bc/adt/oo/classes/${encodedName}/includes/implementations/versions`;
15
+ try {
16
+ const res = await connection.makeAdtRequest({
17
+ url,
18
+ method: 'GET',
19
+ timeout: (0, timeouts_1.getTimeout)('default'),
20
+ headers: { Accept: ACCEPT_VERSION_FEED },
21
+ });
22
+ return (0, versions_1.parseVersionsFeed)(String(res.data));
23
+ }
24
+ catch (e) {
25
+ (0, versions_1.throwVersionsError)(e, `behavior implementation ${config.className}`);
26
+ }
27
+ }
28
+ async function getBehaviorImplementationVersionSource(connection, contentUri) {
29
+ try {
30
+ const res = await connection.makeAdtRequest({
31
+ url: contentUri,
32
+ method: 'GET',
33
+ timeout: (0, timeouts_1.getTimeout)('default'),
34
+ headers: { Accept: 'text/plain' },
35
+ });
36
+ return String(res.data);
37
+ }
38
+ catch (e) {
39
+ (0, versions_1.throwVersionsError)(e, 'version content');
40
+ }
41
+ }
@@ -16,11 +16,12 @@
16
16
  * - Update: lock → check(inactive) → update → unlock → check → activate
17
17
  * - Delete: check(deletion) → delete
18
18
  */
19
- import { type IAdtResponse as AxiosResponse, type IAbapConnection, type IAdtObject, type IAdtOperationOptions, type ILogger } from '@mcp-abap-adt/interfaces';
19
+ import { type IAdtResponse as AxiosResponse, type IAbapConnection, type IAdtObject, type IAdtOperationOptions, type ILogger, type IObjectVersion } from '@mcp-abap-adt/interfaces';
20
20
  import type { IAdtSystemContext } from '../../clients/AdtClient';
21
21
  import type { IAdtContentTypes } from '../shared/contentTypes';
22
22
  import type { IReadOptions } from '../shared/types';
23
23
  import type { IClassConfig, IClassState } from './types';
24
+ import { type ClassIncludeType } from './versions';
24
25
  export declare class AdtClass implements IAdtObject<IClassConfig, IClassState> {
25
26
  protected readonly connection: IAbapConnection;
26
27
  protected readonly logger?: ILogger;
@@ -106,5 +107,9 @@ export declare class AdtClass implements IAdtObject<IClassConfig, IClassState> {
106
107
  readTransport(config: Partial<IClassConfig>, options?: {
107
108
  withLongPolling?: boolean;
108
109
  }): Promise<IClassState>;
110
+ getVersions(config: Partial<IClassConfig>): Promise<IObjectVersion[]>;
111
+ getVersionSource(contentUri: string): Promise<string>;
112
+ /** Shared by local-include subclasses to target their own include. */
113
+ protected getIncludeVersions(className: string, includeType: ClassIncludeType): Promise<IObjectVersion[]>;
109
114
  }
110
115
  //# sourceMappingURL=AdtClass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtClass.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAGL,KAAK,YAAY,IAAI,aAAa,EAElC,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKzD,qBAAa,QAAS,YAAW,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACnD,SAAgB,UAAU,EAAE,MAAM,CAAW;gBAG3C,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB,EACjC,YAAY,CAAC,EAAE,gBAAgB;IAQjC;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAgDnE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAoEvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAqDnC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC;IAmCvB;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IA2LvB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IA8DjE;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IA8CnE;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC;IA6EvB;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1D;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IAiBvB;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUrE;;;OAGG;IACG,iBAAiB,CACrB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAczB;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,EACzD,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,aAAa,CAAC;IAgBzB;;;OAGG;IACG,iBAAiB,CACrB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,aAAa,CAAC;IAwDzB;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,aAAa,CAAC;IAczB;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,WAAW,CAAC;CAmCxB"}
1
+ {"version":3,"file":"AdtClass.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtClass.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ const testclasses_1 = require("./testclasses");
64
64
  const unlock_1 = require("./unlock");
65
65
  const update_1 = require("./update");
66
66
  const validation_1 = require("./validation");
67
+ const versions_1 = require("./versions");
67
68
  class AdtClass {
68
69
  connection;
69
70
  logger;
@@ -683,5 +684,17 @@ class AdtClass {
683
684
  throw err;
684
685
  }
685
686
  }
687
+ getVersions(config) {
688
+ if (!config.className)
689
+ throw new Error('className is required');
690
+ return (0, versions_1.getClassIncludeVersions)(this.connection, config.className, 'main');
691
+ }
692
+ getVersionSource(contentUri) {
693
+ return (0, versions_1.getClassVersionSource)(this.connection, contentUri);
694
+ }
695
+ /** Shared by local-include subclasses to target their own include. */
696
+ getIncludeVersions(className, includeType) {
697
+ return (0, versions_1.getClassIncludeVersions)(this.connection, className, includeType);
698
+ }
686
699
  }
687
700
  exports.AdtClass = AdtClass;
@@ -4,7 +4,7 @@
4
4
  * Local definitions are type declarations needed for components in the private section.
5
5
  * All operations require the parent class to be locked.
6
6
  */
7
- import type { IAdtOperationOptions } from '@mcp-abap-adt/interfaces';
7
+ import type { IAdtOperationOptions, IObjectVersion } from '@mcp-abap-adt/interfaces';
8
8
  import type { IReadOptions } from '../shared/types';
9
9
  import { AdtClass } from './AdtClass';
10
10
  import type { IClassState } from './types';
@@ -47,5 +47,8 @@ export declare class AdtLocalDefinitions extends AdtClass {
47
47
  * Check local definitions code
48
48
  */
49
49
  check(config: Partial<ILocalDefinitionsConfig>, version?: 'active' | 'inactive'): Promise<IClassState>;
50
+ getVersions(config: Partial<{
51
+ className: string;
52
+ }>): Promise<IObjectVersion[]>;
50
53
  }
51
54
  //# sourceMappingURL=AdtLocalDefinitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtLocalDefinitions.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAa,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAsB;IAExD;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAsBvB;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAgFvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA+BnC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAyGvB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAY5E;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAQvB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,WAAW,CAAC;CA2BxB"}
1
+ {"version":3,"file":"AdtLocalDefinitions.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAsB;IAExD;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAsBvB;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAgFvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA+BnC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAyGvB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAY5E;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAQvB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,WAAW,CAAC;IA4BvB,WAAW,CACT,MAAM,EAAE,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC;CAI7B"}
@@ -252,5 +252,15 @@ class AdtLocalDefinitions extends AdtClass_1.AdtClass {
252
252
  errors: [],
253
253
  };
254
254
  }
255
+ // TODO: Investigate lock/unlock/delete operations for local definitions
256
+ // - Currently uses parent class lock (lockClass) for all operations
257
+ // - Eclipse ADT logs show parent class lock is used before updating local includes
258
+ // - Delete operation currently uses update() with empty code, but validation prevents empty strings
259
+ // - Consider: Should delete() bypass validation or use a different approach?
260
+ getVersions(config) {
261
+ if (!config.className)
262
+ throw new Error('className is required');
263
+ return this.getIncludeVersions(config.className, 'definitions');
264
+ }
255
265
  }
256
266
  exports.AdtLocalDefinitions = AdtLocalDefinitions;
@@ -5,7 +5,7 @@
5
5
  * Note: Macros are supported in older ABAP versions but not in newer ones.
6
6
  * All operations require the parent class to be locked.
7
7
  */
8
- import type { IAdtOperationOptions } from '@mcp-abap-adt/interfaces';
8
+ import type { IAdtOperationOptions, IObjectVersion } from '@mcp-abap-adt/interfaces';
9
9
  import type { IReadOptions } from '../shared/types';
10
10
  import { AdtClass } from './AdtClass';
11
11
  import type { IClassState } from './types';
@@ -48,5 +48,8 @@ export declare class AdtLocalMacros extends AdtClass {
48
48
  * Check local macros code
49
49
  */
50
50
  check(config: Partial<ILocalMacrosConfig>, version?: 'active' | 'inactive'): Promise<IClassState>;
51
+ getVersions(config: Partial<{
52
+ className: string;
53
+ }>): Promise<IObjectVersion[]>;
51
54
  }
52
55
  //# sourceMappingURL=AdtLocalMacros.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdtLocalMacros.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalMacros.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAa,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAgB,UAAU,EAAE,MAAM,CAAiB;IAEnD;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBzE;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IA6EvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA2BnC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAsGvB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAQzE;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,WAAW,CAAC;CA2BxB"}
1
+ {"version":3,"file":"AdtLocalMacros.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalMacros.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAgB,UAAU,EAAE,MAAM,CAAiB;IAEnD;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBzE;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IA6EvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA2BnC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAsGvB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAQzE;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,WAAW,CAAC;IA4BvB,WAAW,CACT,MAAM,EAAE,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC;CAI7B"}
@@ -253,5 +253,15 @@ class AdtLocalMacros extends AdtClass_1.AdtClass {
253
253
  errors: [],
254
254
  };
255
255
  }
256
+ // TODO: Investigate lock/unlock/delete operations for local macros
257
+ // - Currently uses parent class lock (lockClass) for all operations
258
+ // - Eclipse ADT logs show parent class lock is used before updating local includes
259
+ // - Delete operation currently uses update() with empty code, but validation prevents empty strings
260
+ // - Consider: Should delete() bypass validation or use a different approach?
261
+ getVersions(config) {
262
+ if (!config.className)
263
+ throw new Error('className is required');
264
+ return this.getIncludeVersions(config.className, 'macros');
265
+ }
256
266
  }
257
267
  exports.AdtLocalMacros = AdtLocalMacros;