@mcp-abap-adt/interfaces-adt 1.0.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 (266) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/COPYING +674 -0
  3. package/LICENSE +165 -0
  4. package/README.md +35 -0
  5. package/dist/Headers.d.ts +57 -0
  6. package/dist/Headers.d.ts.map +1 -0
  7. package/dist/Headers.js +62 -0
  8. package/dist/adt/AdtTypes.d.ts +40 -0
  9. package/dist/adt/AdtTypes.d.ts.map +1 -0
  10. package/dist/adt/AdtTypes.js +5 -0
  11. package/dist/adt/IAdtAbapGit.d.ts +60 -0
  12. package/dist/adt/IAdtAbapGit.d.ts.map +1 -0
  13. package/dist/adt/IAdtAbapGit.js +2 -0
  14. package/dist/adt/IAdtAccessControl.d.ts +30 -0
  15. package/dist/adt/IAdtAccessControl.d.ts.map +1 -0
  16. package/dist/adt/IAdtAccessControl.js +5 -0
  17. package/dist/adt/IAdtAppendStructure.d.ts +32 -0
  18. package/dist/adt/IAdtAppendStructure.d.ts.map +1 -0
  19. package/dist/adt/IAdtAppendStructure.js +5 -0
  20. package/dist/adt/IAdtAuthorizationField.d.ts +49 -0
  21. package/dist/adt/IAdtAuthorizationField.d.ts.map +1 -0
  22. package/dist/adt/IAdtAuthorizationField.js +5 -0
  23. package/dist/adt/IAdtBehaviorDefinition.d.ts +58 -0
  24. package/dist/adt/IAdtBehaviorDefinition.d.ts.map +1 -0
  25. package/dist/adt/IAdtBehaviorDefinition.js +7 -0
  26. package/dist/adt/IAdtBehaviorImplementation.d.ts +30 -0
  27. package/dist/adt/IAdtBehaviorImplementation.d.ts.map +1 -0
  28. package/dist/adt/IAdtBehaviorImplementation.js +5 -0
  29. package/dist/adt/IAdtCapabilities.d.ts +391 -0
  30. package/dist/adt/IAdtCapabilities.d.ts.map +1 -0
  31. package/dist/adt/IAdtCapabilities.js +2 -0
  32. package/dist/adt/IAdtClass.d.ts +66 -0
  33. package/dist/adt/IAdtClass.d.ts.map +1 -0
  34. package/dist/adt/IAdtClass.js +5 -0
  35. package/dist/adt/IAdtClientOptions.d.ts +25 -0
  36. package/dist/adt/IAdtClientOptions.d.ts.map +1 -0
  37. package/dist/adt/IAdtClientOptions.js +9 -0
  38. package/dist/adt/IAdtContentTypes.d.ts +45 -0
  39. package/dist/adt/IAdtContentTypes.d.ts.map +1 -0
  40. package/dist/adt/IAdtContentTypes.js +13 -0
  41. package/dist/adt/IAdtDataElement.d.ts +95 -0
  42. package/dist/adt/IAdtDataElement.d.ts.map +1 -0
  43. package/dist/adt/IAdtDataElement.js +5 -0
  44. package/dist/adt/IAdtDdl.d.ts +37 -0
  45. package/dist/adt/IAdtDdl.d.ts.map +1 -0
  46. package/dist/adt/IAdtDdl.js +7 -0
  47. package/dist/adt/IAdtDomain.d.ts +79 -0
  48. package/dist/adt/IAdtDomain.d.ts.map +1 -0
  49. package/dist/adt/IAdtDomain.js +5 -0
  50. package/dist/adt/IAdtEnhancement.d.ts +61 -0
  51. package/dist/adt/IAdtEnhancement.d.ts.map +1 -0
  52. package/dist/adt/IAdtEnhancement.js +7 -0
  53. package/dist/adt/IAdtFeatureToggle.d.ts +100 -0
  54. package/dist/adt/IAdtFeatureToggle.d.ts.map +1 -0
  55. package/dist/adt/IAdtFeatureToggle.js +5 -0
  56. package/dist/adt/IAdtFunctionGroup.d.ts +52 -0
  57. package/dist/adt/IAdtFunctionGroup.d.ts.map +1 -0
  58. package/dist/adt/IAdtFunctionGroup.js +5 -0
  59. package/dist/adt/IAdtFunctionInclude.d.ts +23 -0
  60. package/dist/adt/IAdtFunctionInclude.d.ts.map +1 -0
  61. package/dist/adt/IAdtFunctionInclude.js +5 -0
  62. package/dist/adt/IAdtFunctionModule.d.ts +35 -0
  63. package/dist/adt/IAdtFunctionModule.d.ts.map +1 -0
  64. package/dist/adt/IAdtFunctionModule.js +5 -0
  65. package/dist/adt/IAdtInclude.d.ts +45 -0
  66. package/dist/adt/IAdtInclude.d.ts.map +1 -0
  67. package/dist/adt/IAdtInclude.js +17 -0
  68. package/dist/adt/IAdtInterface.d.ts +33 -0
  69. package/dist/adt/IAdtInterface.d.ts.map +1 -0
  70. package/dist/adt/IAdtInterface.js +5 -0
  71. package/dist/adt/IAdtMessageClass.d.ts +35 -0
  72. package/dist/adt/IAdtMessageClass.d.ts.map +1 -0
  73. package/dist/adt/IAdtMessageClass.js +2 -0
  74. package/dist/adt/IAdtMetadataExtension.d.ts +29 -0
  75. package/dist/adt/IAdtMetadataExtension.d.ts.map +1 -0
  76. package/dist/adt/IAdtMetadataExtension.js +5 -0
  77. package/dist/adt/IAdtObject.d.ts +224 -0
  78. package/dist/adt/IAdtObject.d.ts.map +1 -0
  79. package/dist/adt/IAdtObject.js +82 -0
  80. package/dist/adt/IAdtObjectState.d.ts +36 -0
  81. package/dist/adt/IAdtObjectState.d.ts.map +1 -0
  82. package/dist/adt/IAdtObjectState.js +13 -0
  83. package/dist/adt/IAdtPackage.d.ts +69 -0
  84. package/dist/adt/IAdtPackage.d.ts.map +1 -0
  85. package/dist/adt/IAdtPackage.js +5 -0
  86. package/dist/adt/IAdtProgram.d.ts +37 -0
  87. package/dist/adt/IAdtProgram.d.ts.map +1 -0
  88. package/dist/adt/IAdtProgram.js +5 -0
  89. package/dist/adt/IAdtResponse.d.ts +289 -0
  90. package/dist/adt/IAdtResponse.d.ts.map +1 -0
  91. package/dist/adt/IAdtResponse.js +51 -0
  92. package/dist/adt/IAdtScalarFunction.d.ts +30 -0
  93. package/dist/adt/IAdtScalarFunction.d.ts.map +1 -0
  94. package/dist/adt/IAdtScalarFunction.js +5 -0
  95. package/dist/adt/IAdtScalarFunctionImplementation.d.ts +35 -0
  96. package/dist/adt/IAdtScalarFunctionImplementation.d.ts.map +1 -0
  97. package/dist/adt/IAdtScalarFunctionImplementation.js +5 -0
  98. package/dist/adt/IAdtServiceBinding.d.ts +61 -0
  99. package/dist/adt/IAdtServiceBinding.d.ts.map +1 -0
  100. package/dist/adt/IAdtServiceBinding.js +33 -0
  101. package/dist/adt/IAdtServiceDefinition.d.ts +30 -0
  102. package/dist/adt/IAdtServiceDefinition.d.ts.map +1 -0
  103. package/dist/adt/IAdtServiceDefinition.js +5 -0
  104. package/dist/adt/IAdtShared.d.ts +110 -0
  105. package/dist/adt/IAdtShared.d.ts.map +1 -0
  106. package/dist/adt/IAdtShared.js +5 -0
  107. package/dist/adt/IAdtStructure.d.ts +48 -0
  108. package/dist/adt/IAdtStructure.d.ts.map +1 -0
  109. package/dist/adt/IAdtStructure.js +5 -0
  110. package/dist/adt/IAdtTable.d.ts +30 -0
  111. package/dist/adt/IAdtTable.d.ts.map +1 -0
  112. package/dist/adt/IAdtTable.js +5 -0
  113. package/dist/adt/IAdtTableType.d.ts +61 -0
  114. package/dist/adt/IAdtTableType.d.ts.map +1 -0
  115. package/dist/adt/IAdtTableType.js +5 -0
  116. package/dist/adt/IAdtTransformation.d.ts +33 -0
  117. package/dist/adt/IAdtTransformation.d.ts.map +1 -0
  118. package/dist/adt/IAdtTransformation.js +7 -0
  119. package/dist/adt/IAdtTransport.d.ts +104 -0
  120. package/dist/adt/IAdtTransport.d.ts.map +1 -0
  121. package/dist/adt/IAdtTransport.js +8 -0
  122. package/dist/adt/IAdtUnitTest.d.ts +125 -0
  123. package/dist/adt/IAdtUnitTest.d.ts.map +1 -0
  124. package/dist/adt/IAdtUnitTest.js +5 -0
  125. package/dist/adt/IAdtUtilities.d.ts +310 -0
  126. package/dist/adt/IAdtUtilities.d.ts.map +1 -0
  127. package/dist/adt/IAdtUtilities.js +92 -0
  128. package/dist/auth/AuthType.d.ts +5 -0
  129. package/dist/auth/AuthType.d.ts.map +1 -0
  130. package/dist/auth/AuthType.js +2 -0
  131. package/dist/auth/IAuthorizationConfig.d.ts +15 -0
  132. package/dist/auth/IAuthorizationConfig.d.ts.map +1 -0
  133. package/dist/auth/IAuthorizationConfig.js +2 -0
  134. package/dist/auth/IAuthorizationStrategy.d.ts +59 -0
  135. package/dist/auth/IAuthorizationStrategy.d.ts.map +1 -0
  136. package/dist/auth/IAuthorizationStrategy.js +12 -0
  137. package/dist/auth/ICallbackServer.d.ts +139 -0
  138. package/dist/auth/ICallbackServer.d.ts.map +1 -0
  139. package/dist/auth/ICallbackServer.js +2 -0
  140. package/dist/auth/ICertificateMaterialLoader.d.ts +7 -0
  141. package/dist/auth/ICertificateMaterialLoader.d.ts.map +1 -0
  142. package/dist/auth/ICertificateMaterialLoader.js +2 -0
  143. package/dist/auth/IConfig.d.ts +8 -0
  144. package/dist/auth/IConfig.d.ts.map +1 -0
  145. package/dist/auth/IConfig.js +2 -0
  146. package/dist/auth/IConnectionConfig.d.ts +23 -0
  147. package/dist/auth/IConnectionConfig.d.ts.map +1 -0
  148. package/dist/auth/IConnectionConfig.js +2 -0
  149. package/dist/connection/CalmService.d.ts +3 -0
  150. package/dist/connection/CalmService.d.ts.map +1 -0
  151. package/dist/connection/CalmService.js +14 -0
  152. package/dist/connection/IAbapConnection.d.ts +73 -0
  153. package/dist/connection/IAbapConnection.d.ts.map +1 -0
  154. package/dist/connection/IAbapConnection.js +2 -0
  155. package/dist/connection/IAbapRequestOptions.d.ts +9 -0
  156. package/dist/connection/IAbapRequestOptions.d.ts.map +1 -0
  157. package/dist/connection/IAbapRequestOptions.js +2 -0
  158. package/dist/connection/ICalmConnection.d.ts +29 -0
  159. package/dist/connection/ICalmConnection.d.ts.map +1 -0
  160. package/dist/connection/ICalmConnection.js +2 -0
  161. package/dist/connection/ICalmRequestOptions.d.ts +11 -0
  162. package/dist/connection/ICalmRequestOptions.d.ts.map +1 -0
  163. package/dist/connection/ICalmRequestOptions.js +2 -0
  164. package/dist/connection/IConnectionCapabilities.d.ts +217 -0
  165. package/dist/connection/IConnectionCapabilities.d.ts.map +1 -0
  166. package/dist/connection/IConnectionCapabilities.js +29 -0
  167. package/dist/execution/IAdtExecutors.d.ts +78 -0
  168. package/dist/execution/IAdtExecutors.d.ts.map +1 -0
  169. package/dist/execution/IAdtExecutors.js +9 -0
  170. package/dist/execution/IAdtRunnable.d.ts +61 -0
  171. package/dist/execution/IAdtRunnable.d.ts.map +1 -0
  172. package/dist/execution/IAdtRunnable.js +2 -0
  173. package/dist/execution/ITraceScheduling.d.ts +39 -0
  174. package/dist/execution/ITraceScheduling.d.ts.map +1 -0
  175. package/dist/execution/ITraceScheduling.js +15 -0
  176. package/dist/feeds/IFeedRepository.d.ts +32 -0
  177. package/dist/feeds/IFeedRepository.d.ts.map +1 -0
  178. package/dist/feeds/IFeedRepository.js +8 -0
  179. package/dist/feeds/types.d.ts +18 -0
  180. package/dist/feeds/types.d.ts.map +1 -0
  181. package/dist/feeds/types.js +9 -0
  182. package/dist/index.d.ts +103 -0
  183. package/dist/index.d.ts.map +1 -0
  184. package/dist/index.js +57 -0
  185. package/dist/runtime/IApplicationLog.d.ts +21 -0
  186. package/dist/runtime/IApplicationLog.d.ts.map +1 -0
  187. package/dist/runtime/IApplicationLog.js +2 -0
  188. package/dist/runtime/IAtcLog.d.ts +15 -0
  189. package/dist/runtime/IAtcLog.d.ts.map +1 -0
  190. package/dist/runtime/IAtcLog.js +2 -0
  191. package/dist/runtime/IAtcRun.d.ts +99 -0
  192. package/dist/runtime/IAtcRun.d.ts.map +1 -0
  193. package/dist/runtime/IAtcRun.js +10 -0
  194. package/dist/runtime/ICrossTrace.d.ts +32 -0
  195. package/dist/runtime/ICrossTrace.d.ts.map +1 -0
  196. package/dist/runtime/ICrossTrace.js +2 -0
  197. package/dist/runtime/IDdicActivation.d.ts +12 -0
  198. package/dist/runtime/IDdicActivation.d.ts.map +1 -0
  199. package/dist/runtime/IDdicActivation.js +2 -0
  200. package/dist/runtime/IGatewayErrorLog.d.ts +10 -0
  201. package/dist/runtime/IGatewayErrorLog.d.ts.map +1 -0
  202. package/dist/runtime/IGatewayErrorLog.js +2 -0
  203. package/dist/runtime/IProfiler.d.ts +65 -0
  204. package/dist/runtime/IProfiler.d.ts.map +1 -0
  205. package/dist/runtime/IProfiler.js +2 -0
  206. package/dist/runtime/IRuntimeDumps.d.ts +23 -0
  207. package/dist/runtime/IRuntimeDumps.d.ts.map +1 -0
  208. package/dist/runtime/IRuntimeDumps.js +2 -0
  209. package/dist/runtime/ISt05Trace.d.ts +8 -0
  210. package/dist/runtime/ISt05Trace.d.ts.map +1 -0
  211. package/dist/runtime/ISt05Trace.js +2 -0
  212. package/dist/runtime/ISystemMessages.d.ts +10 -0
  213. package/dist/runtime/ISystemMessages.d.ts.map +1 -0
  214. package/dist/runtime/ISystemMessages.js +2 -0
  215. package/dist/runtime/ITrace.d.ts +170 -0
  216. package/dist/runtime/ITrace.d.ts.map +1 -0
  217. package/dist/runtime/ITrace.js +14 -0
  218. package/dist/sap/ISapConfig.d.ts +22 -0
  219. package/dist/sap/ISapConfig.d.ts.map +1 -0
  220. package/dist/sap/ISapConfig.js +2 -0
  221. package/dist/sap/SapAuthType.d.ts +3 -0
  222. package/dist/sap/SapAuthType.d.ts.map +1 -0
  223. package/dist/sap/SapAuthType.js +2 -0
  224. package/dist/service/IAdtService.d.ts +84 -0
  225. package/dist/service/IAdtService.d.ts.map +1 -0
  226. package/dist/service/IAdtService.js +27 -0
  227. package/dist/serviceKey/IServiceKeyStore.d.ts +31 -0
  228. package/dist/serviceKey/IServiceKeyStore.d.ts.map +1 -0
  229. package/dist/serviceKey/IServiceKeyStore.js +7 -0
  230. package/dist/session/ISessionStore.d.ts +59 -0
  231. package/dist/session/ISessionStore.d.ts.map +1 -0
  232. package/dist/session/ISessionStore.js +7 -0
  233. package/dist/shared/IReadOptions.d.ts +9 -0
  234. package/dist/shared/IReadOptions.d.ts.map +1 -0
  235. package/dist/shared/IReadOptions.js +2 -0
  236. package/dist/store/StoreErrorCodes.d.ts +12 -0
  237. package/dist/store/StoreErrorCodes.d.ts.map +1 -0
  238. package/dist/store/StoreErrorCodes.js +13 -0
  239. package/dist/token/AuthType.d.ts +43 -0
  240. package/dist/token/AuthType.d.ts.map +1 -0
  241. package/dist/token/AuthType.js +41 -0
  242. package/dist/token/ITokenProvider.d.ts +27 -0
  243. package/dist/token/ITokenProvider.d.ts.map +1 -0
  244. package/dist/token/ITokenProvider.js +8 -0
  245. package/dist/token/ITokenProviderOptions.d.ts +23 -0
  246. package/dist/token/ITokenProviderOptions.d.ts.map +1 -0
  247. package/dist/token/ITokenProviderOptions.js +2 -0
  248. package/dist/token/ITokenRefresher.d.ts +39 -0
  249. package/dist/token/ITokenRefresher.d.ts.map +1 -0
  250. package/dist/token/ITokenRefresher.js +12 -0
  251. package/dist/token/ITokenResult.d.ts +36 -0
  252. package/dist/token/ITokenResult.d.ts.map +1 -0
  253. package/dist/token/ITokenResult.js +7 -0
  254. package/dist/token/TokenProviderErrorCodes.d.ts +26 -0
  255. package/dist/token/TokenProviderErrorCodes.d.ts.map +1 -0
  256. package/dist/token/TokenProviderErrorCodes.js +24 -0
  257. package/dist/utils/ITokenRefreshResult.d.ts +8 -0
  258. package/dist/utils/ITokenRefreshResult.d.ts.map +1 -0
  259. package/dist/utils/ITokenRefreshResult.js +2 -0
  260. package/dist/validation/IHeaderValidationResult.d.ts +15 -0
  261. package/dist/validation/IHeaderValidationResult.d.ts.map +1 -0
  262. package/dist/validation/IHeaderValidationResult.js +2 -0
  263. package/dist/validation/IValidatedAuthConfig.d.ts +46 -0
  264. package/dist/validation/IValidatedAuthConfig.d.ts.map +1 -0
  265. package/dist/validation/IValidatedAuthConfig.js +15 -0
  266. package/package.json +42 -0
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Behavior Definition ADT operation parameter interfaces (snake_case, low-level)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // Result/check helper types — promoted verbatim from adt-clients
7
+ // src/core/behaviorDefinition/types.ts (publicly exported, consumer-facing).
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Behavior Implementation ADT operation parameter interfaces (snake_case, low-level)
3
+ */
4
+ export interface ICreateBehaviorImplementationParams {
5
+ class_name: string;
6
+ description?: string;
7
+ package_name: string;
8
+ transport_request?: string;
9
+ master_system?: string;
10
+ responsible?: string;
11
+ behavior_definition: string;
12
+ }
13
+ export interface IBehaviorImplementationConfig {
14
+ className: string;
15
+ description?: string;
16
+ packageName?: string;
17
+ transportRequest?: string;
18
+ behaviorDefinition: string;
19
+ sourceCode?: string;
20
+ /**
21
+ * Custom code for implementations include (local handler class) - used in updateImplementations()
22
+ * If provided, takes precedence over sourceCode and default generated code.
23
+ * Should contain the complete local handler class definition and implementation.
24
+ * Example: "CLASS lhc_Z_I_SOME_ENTITY DEFINITION INHERITING FROM cl_abap_behavior_handler..."
25
+ */
26
+ implementationCode?: string;
27
+ masterSystem?: string;
28
+ responsible?: string;
29
+ }
30
+ //# sourceMappingURL=IAdtBehaviorImplementation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAdtBehaviorImplementation.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtBehaviorImplementation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Behavior Implementation ADT operation parameter interfaces (snake_case, low-level)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,391 @@
1
+ /**
2
+ * Capability atoms — one small interface per operation, and nothing above them.
3
+ *
4
+ * There is no composite. `IAdtObject`, `IAdtCrud`, `IAdtModifiable` and
5
+ * `IAdtSourceObject` were removed in 29.0.0 because they forced one result type
6
+ * on members that answer different things: a create does not answer what a read
7
+ * answers, and a type saying they do was saying something untrue about ADT. A
8
+ * handler declares the atoms it honours, so a consumer reading it learns what
9
+ * that object can do and what comes back, rather than what the fattest object
10
+ * could do.
11
+ *
12
+ * **Each atom names its own result, and one resource.**
13
+ * `IAdtCreatable<TConfig, TCreated>`, `IAdtUpdatable<TConfig, TUpdated>`, and so
14
+ * on. Reading and writing come in pairs — `IAdtReadable`/`IAdtMetadataReadable`
15
+ * and `IAdtUpdatable`/`IAdtMetadataUpdatable` — because an object has up to two
16
+ * resources, a source and its own document, and which it has is a property of
17
+ * the type. One atom carrying both made eight of them answer `read` and
18
+ * `readMetadata` with the identical request; they were split in 36.0.0.
19
+ *
20
+ * The grain comes from ADT itself: a lock and its unlock are one operation seen
21
+ * from two ends, and a version list is useless without the source behind an
22
+ * entry, so each pair is honoured or refused whole. `update` and `delete` were
23
+ * taken for a third such pair until 15.0.0 and are not one: nothing in ADT ties
24
+ * changing an object to removing it.
25
+ *
26
+ * **Nothing here throws.** Until 30.0.0 four members did — `lock`, `unlock`,
27
+ * `getVersions` and `getVersionSource` — on the grounds that they answer a lock
28
+ * handle, nothing, a version list and a source string and so have no failure
29
+ * half. That premise was false: a lock refused because another user holds it is
30
+ * a 403, and a version resource a system does not expose is a 404. They answer
31
+ * like everything else, and decision 20 says why — a thrown error is invisible
32
+ * to the compiler, so a consumer never learns from the type that a failure path
33
+ * exists.
34
+ */
35
+ import type { IAdtCreateOptions, IAdtOperationOptions, IAnalyse } from './IAdtObject';
36
+ import type { IAdtError, IAdtResponse } from './IAdtResponse';
37
+ /**
38
+ * Bring an object into existence.
39
+ *
40
+ * Separate from the mutation atoms because creation and mutation do not travel
41
+ * together: a unit-test run is created and never updated.
42
+ */
43
+ export interface IAdtCreatable<TConfig, TCreated> {
44
+ /**
45
+ * Create the object — **the POST, and nothing after it.**
46
+ *
47
+ * This used to say "with full operation chain: validate, create, check,
48
+ * lock, check(inactive), update, unlock, activate". It is one request.
49
+ * Validating a name, checking the result, locking, writing source and
50
+ * activating are members of their own, and a caller composes them in the
51
+ * order they want: which of six requests failed is knowable that way and was
52
+ * not before.
53
+ *
54
+ * **It does not take the object's source.** This used to say `sourceCode`
55
+ * applied "where this object's create endpoint carries a body: a DDL source,
56
+ * a table and a program are created from their source". None of the three
57
+ * is: measured across all 27 create implementations in
58
+ * `@mcp-abap-adt/adt-clients`, every one posts a metadata document and not
59
+ * one carries source. So the field is off the member — `config` without it,
60
+ * and {@link IAdtCreateOptions} in place of the write options — because a
61
+ * value that cannot be honoured is worse accepted than refused. Passing it
62
+ * used to compile, run, answer ok and leave an empty object behind.
63
+ *
64
+ * The source is `update`'s, after `lock`.
65
+ *
66
+ * @param config - Object configuration, source excluded
67
+ * @param options - `analyse` for what counts as a failure
68
+ * @returns whatever this implementation’s reading makes of the answer
69
+ */
70
+ create<E extends IAdtError>(config: Omit<TConfig, 'sourceCode'> & {
71
+ sourceCode?: never;
72
+ }, options: IAdtCreateOptions<E> & {
73
+ analyse: IAnalyse<E>;
74
+ }): Promise<IAdtResponse<TCreated, E>>;
75
+ create(config: Omit<TConfig, 'sourceCode'> & {
76
+ sourceCode?: never;
77
+ }, options?: IAdtCreateOptions): Promise<IAdtResponse<TCreated>>;
78
+ }
79
+ /** Obtain a representation of an object — its source, or the metadata about it. */
80
+ /**
81
+ * The object has a **source** — an ABAP text, a DDL, a JSON body — at its own
82
+ * `source/main`, and it can be read.
83
+ *
84
+ * One member, because the atom names one resource. It used to name two, and its
85
+ * own documentation confessed what that cost: *"For objects without source code
86
+ * (Domain, DataElement), this returns metadata XML"* and *"readMetadata may
87
+ * delegate to read() as read() already returns metadata"*. Eight types were
88
+ * measured doing exactly that — `read` and `readMetadata` issuing the identical
89
+ * request — which is one endpoint behind two members, the thing decision 16
90
+ * exists to prevent.
91
+ *
92
+ * A domain has no source. It composes {@link IAdtMetadataReadable} and nothing
93
+ * else, and that omission is the statement.
94
+ */
95
+ export interface IAdtReadable<TConfig, TSource> {
96
+ /**
97
+ * Read the object's source.
98
+ *
99
+ * @param config - Object identification (name, etc.)
100
+ * @param version - 'active' or 'inactive'
101
+ * @param options - `withLongPolling` waits for the object to become
102
+ * available, which is what a read straight after a create or
103
+ * an activation needs; `analyse` for the verdict
104
+ * @returns whatever this implementation's reading makes of the answer
105
+ */
106
+ read<E extends IAdtError>(config: Partial<TConfig>, version: 'active' | 'inactive' | undefined, options: {
107
+ withLongPolling?: boolean;
108
+ } & IAdtOperationOptions<E> & {
109
+ analyse: IAnalyse<E>;
110
+ }): Promise<IAdtResponse<TSource, E>>;
111
+ read(config: Partial<TConfig>, version?: 'active' | 'inactive', options?: {
112
+ withLongPolling?: boolean;
113
+ } & IAdtOperationOptions): Promise<IAdtResponse<TSource>>;
114
+ }
115
+ /**
116
+ * The object has a **document of its own** — the `adtcore` XML describing it:
117
+ * package, responsible, description, its type's own fields — and it can be read.
118
+ *
119
+ * Almost everything has one; a few things are only this. A domain, a data
120
+ * element, a package and a table type *are* their document, and for them this
121
+ * is the whole of reading.
122
+ */
123
+ export interface IAdtMetadataReadable<TConfig, TMetadata> {
124
+ /**
125
+ * Read the object's own document.
126
+ *
127
+ * @param config - Object identification (name, etc.)
128
+ * @param options - `withLongPolling` and `version` as for
129
+ * {@link IAdtReadable.read}; `analyse` for the verdict
130
+ * @returns whatever this implementation's reading makes of the answer
131
+ */
132
+ readMetadata<E extends IAdtError>(config: Partial<TConfig>, options: {
133
+ withLongPolling?: boolean;
134
+ version?: 'active' | 'inactive';
135
+ } & IAdtOperationOptions<E> & {
136
+ analyse: IAnalyse<E>;
137
+ }): Promise<IAdtResponse<TMetadata, E>>;
138
+ readMetadata(config: Partial<TConfig>, options?: {
139
+ withLongPolling?: boolean;
140
+ version?: 'active' | 'inactive';
141
+ } & IAdtOperationOptions): Promise<IAdtResponse<TMetadata>>;
142
+ }
143
+ /**
144
+ * The object's **source** can be written.
145
+ *
146
+ * **`TConfig` is taken as given, not wrapped in `Partial`.** The atoms that
147
+ * *identify* an object — `read`, `delete`, `activate`, `lock` and the rest —
148
+ * wrap it, and are right to: `read({ className })` has no business demanding a
149
+ * package. {@link IAdtCreatable} never did, because a create must say what to
150
+ * make, and a write is no more an identifier than a create is. A service
151
+ * binding's publication needs the protocol that selects its endpoint, and an
152
+ * atom that decided optionality on the implementation's behalf made that
153
+ * requirement unsayable. Implementations pass `Partial<IClassConfig>` where
154
+ * everything really is optional, and their own shape where it is not.
155
+ *
156
+ * `update` writes the source, which is what makes the name mean the same thing
157
+ * across the types that have one. A domain has no source to write; it composes
158
+ * {@link IAdtMetadataUpdatable} instead, and the member it offers says what it
159
+ * writes.
160
+ *
161
+ * **One object is neither.** A service binding has no source and no document to
162
+ * PUT: its `update` is a publication job, `POST …/publishjobs`, which changes
163
+ * the object's state rather than its content. It is still `update` — writing an
164
+ * object's state is what the member is for — but "the source and only the
165
+ * source" would be a claim this atom cannot make for every implementation.
166
+ */
167
+ export interface IAdtUpdatable<TConfig, TUpdated> {
168
+ /**
169
+ * Write what the object has — **the write, and nothing around it.**
170
+ *
171
+ * For the types that have a source, that is the source. A service binding has
172
+ * neither a source nor a document to PUT: its `update` is a publication job,
173
+ * `POST …/publishjobs`, which changes the object's state. Writing an object's
174
+ * state is what this member is for, so "writes the source" is a claim the
175
+ * hover text cannot make for every implementation — and the hover is where a
176
+ * consumer reads the contract.
177
+ *
178
+ * This used to say "with full operation chain: lock, check(inactive),
179
+ * update, unlock, check, activate (optional)". It is one request, and the
180
+ * lock is the caller’s: `lock` and `unlock` are members, `lockHandle` goes
181
+ * in the options, and how long a lock is held is a policy no library can
182
+ * choose for every caller of a shared connection.
183
+ *
184
+ * Sending no lock handle is not refused here. ADT judges that, and answers it.
185
+ *
186
+ * @param config - taken as given, so an implementation that needs a field can
187
+ * require it — a publication needs the protocol that selects
188
+ * its endpoint
189
+ * @param options - `sourceCode`/`xmlContent` for the body, `lockHandle` for
190
+ * the lock the caller took, `analyse` for the verdict
191
+ * @returns whatever this implementation’s reading makes of the answer
192
+ */
193
+ update<E extends IAdtError>(config: TConfig, options: IAdtOperationOptions<E> & {
194
+ analyse: IAnalyse<E>;
195
+ }): Promise<IAdtResponse<TUpdated, E>>;
196
+ update(config: TConfig, options?: IAdtOperationOptions): Promise<IAdtResponse<TUpdated>>;
197
+ }
198
+ /**
199
+ * The object's **own document** can be written.
200
+ *
201
+ * Three types offer this beside {@link IAdtUpdatable}, because they have two
202
+ * writable resources and ADT keeps them apart: a function include, a scalar
203
+ * function implementation and a feature toggle each answer a document at their
204
+ * own URL and a source at `source/main`. Eight more offer *only* this — a
205
+ * domain, a data element, a package, a table type and their neighbours are
206
+ * their document, and writing them is writing it.
207
+ *
208
+ * The same rule as reading, and for the same reason: the member is named for
209
+ * the resource it addresses, so a caller never has to know which kind of object
210
+ * it is holding to know what `update` will write.
211
+ */
212
+ export interface IAdtMetadataUpdatable<TConfig, TMetadataUpdated> {
213
+ /**
214
+ * Write the object's own document.
215
+ *
216
+ * One request, and the lock handle is passed as given — see
217
+ * {@link IAdtUpdatable.update}, which this mirrors in everything but the
218
+ * resource it addresses.
219
+ *
220
+ * @param config - Object configuration with updates
221
+ * @param options - `xmlContent` for the body, `lockHandle` for the lock the
222
+ * caller took, `analyse` for the verdict
223
+ * @returns whatever this implementation's reading makes of the answer
224
+ */
225
+ updateMetadata<E extends IAdtError>(config: TConfig, options: IAdtOperationOptions<E> & {
226
+ analyse: IAnalyse<E>;
227
+ }): Promise<IAdtResponse<TMetadataUpdated, E>>;
228
+ updateMetadata(config: TConfig, options?: IAdtOperationOptions): Promise<IAdtResponse<TMetadataUpdated>>;
229
+ }
230
+ export interface IAdtDeletable<TConfig, TDeleted, TChecked = string> {
231
+ /**
232
+ * Delete the object. One request, and it is the deletion.
233
+ *
234
+ * **It does not ask first.** {@link IAdtDeletable.checkDeletion} is the
235
+ * question, and it is a separate request answering a separate thing — "is
236
+ * anything still pointing at this?" An implementation that ran it inside this
237
+ * member gave a caller no way to skip it and no way to read what it said, so
238
+ * the two stand side by side and the caller orders them.
239
+ *
240
+ * Deleting without asking is allowed: the server answers its own refusal. What
241
+ * a caller gives up is the *reason* — the check's document names what still
242
+ * references the object, and the deletion's does not.
243
+ *
244
+ * @param config - Object identification
245
+ * @param options - `analyse` for the verdict
246
+ * @returns whatever this implementation's reading makes of the answer
247
+ */
248
+ delete<E extends IAdtError>(config: Partial<TConfig>, options: IAdtOperationOptions<E> & {
249
+ analyse: IAnalyse<E>;
250
+ }): Promise<IAdtResponse<TDeleted, E>>;
251
+ delete(config: Partial<TConfig>, options?: IAdtOperationOptions): Promise<IAdtResponse<TDeleted>>;
252
+ /**
253
+ * Ask whether the object can be deleted *now*.
254
+ *
255
+ * Almost anything that was created can be deleted; what varies is the moment.
256
+ * Something still references it, a transport holds it, it is locked by another
257
+ * user — and every one of those is a fact about the server at this instant,
258
+ * not about the object's kind. Only the server knows, so the member's whole
259
+ * job is to ask it.
260
+ *
261
+ * That is why it lives here rather than in an atom of its own: it is not a
262
+ * separate capability, it is the question that belongs to deleting. A type
263
+ * that can be deleted can be asked whether it can be deleted right now.
264
+ *
265
+ * One request, like every other member, and the answer is a document rather
266
+ * than a status — ADT reports a refusal inside a 200. The shipped `analyse`
267
+ * reads it; a caller who wants another reading passes their own.
268
+ *
269
+ * @param config - Object identification
270
+ * @param options - `analyse` for the verdict
271
+ * @returns whatever this implementation's reading makes of the answer
272
+ */
273
+ checkDeletion<E extends IAdtError>(config: Partial<TConfig>, options: IAdtOperationOptions<E> & {
274
+ analyse: IAnalyse<E>;
275
+ }): Promise<IAdtResponse<TChecked, E>>;
276
+ checkDeletion(config: Partial<TConfig>, options?: IAdtOperationOptions): Promise<IAdtResponse<TChecked>>;
277
+ }
278
+ export interface IAdtValidatable<TConfig, TValidated> {
279
+ /**
280
+ * Validate object configuration before creation
281
+ * @param config - Object configuration
282
+ * @returns State with validation result
283
+ */
284
+ validate<E extends IAdtError>(config: Partial<TConfig>, options: IAdtOperationOptions<E> & {
285
+ analyse: IAnalyse<E>;
286
+ }): Promise<IAdtResponse<TValidated, E>>;
287
+ validate(config: Partial<TConfig>, options?: IAdtOperationOptions): Promise<IAdtResponse<TValidated>>;
288
+ }
289
+ export interface IAdtCheckable<TConfig, TChecked> {
290
+ /**
291
+ * Check object (syntax, consistency, etc.)
292
+ * @param config - Object identification
293
+ * @param status - Optional status to check ('active', 'inactive', 'deletion')
294
+ * @returns State with check result
295
+ */
296
+ check<E extends IAdtError>(config: Partial<TConfig>, status: string | undefined, options: IAdtOperationOptions<E> & {
297
+ analyse: IAnalyse<E>;
298
+ }): Promise<IAdtResponse<TChecked, E>>;
299
+ check(config: Partial<TConfig>, status?: string, options?: IAdtOperationOptions): Promise<IAdtResponse<TChecked>>;
300
+ }
301
+ export interface IAdtActivatable<TConfig, TActivated> {
302
+ /**
303
+ * Activate object
304
+ * @param config - Object identification
305
+ * @returns State with activation result
306
+ */
307
+ activate<E extends IAdtError>(config: Partial<TConfig>, options: IAdtOperationOptions<E> & {
308
+ analyse: IAnalyse<E>;
309
+ }): Promise<IAdtResponse<TActivated, E>>;
310
+ activate(config: Partial<TConfig>, options?: IAdtOperationOptions): Promise<IAdtResponse<TActivated>>;
311
+ }
312
+ export interface IAdtLockable<TConfig> {
313
+ /**
314
+ * Lock object for modification
315
+ * Sets connection to stateful mode before locking.
316
+ *
317
+ * @param config - Object identification
318
+ * @returns the lock handle that `unlock` and `update` must be given
319
+ *
320
+ * A refusal — another user holds the lock — is a failure in the answer, not
321
+ * an exception. The pair migrated together, because a lock and its unlock are
322
+ * one operation seen from two ends.
323
+ */
324
+ lock(config: Partial<TConfig>): Promise<IAdtResponse<string>>;
325
+ /**
326
+ * Unlock object
327
+ * Sets connection to stateless mode after unlocking.
328
+ * Must use the same session and lock handle from lock() operation.
329
+ *
330
+ * @param config - Object identification
331
+ * @param lockHandle - Lock handle returned from lock() operation
332
+ * @returns nothing to read, and the answer says whether it happened
333
+ */
334
+ unlock(config: Partial<TConfig>, lockHandle: string): Promise<IAdtResponse<void>>;
335
+ }
336
+ export interface IAdtVersionable<TConfig, TVersions, TSource> {
337
+ /**
338
+ * List the version history of this object's source. Identity is passed per
339
+ * call (the implementations are stateless factories) — e.g.
340
+ * `getVersions({ className: 'ZCL_X' })`.
341
+ * An object with no version resource — SAP answers 404 or 406, or the type
342
+ * has no source at all — is a failure in the answer, and the strategy names it
343
+ * in {@link IAdtError.code} as `AdtObjectErrorCodes.UNSUPPORTED_OPERATION`, so
344
+ * a consumer branches on it without a cast. Not an exception: a caller asking
345
+ * a type it did not choose is the normal case here, and a normal case belongs
346
+ * in the return type.
347
+ */
348
+ getVersions(config: Partial<TConfig>): Promise<IAdtResponse<TVersions>>;
349
+ /**
350
+ * Fetch the source code of a specific version.
351
+ * @param contentUri the opaque, complete `contentUri` from a getVersions() entry.
352
+ *
353
+ * Answers like its pair above: a version resource that cannot be read is a
354
+ * failure in the answer.
355
+ */
356
+ getVersionSource(contentUri: string): Promise<IAdtResponse<TSource>>;
357
+ }
358
+ /**
359
+ * `IAdtSearchable` was here until 30.0.0.
360
+ *
361
+ * Searching is not something an object does to itself, and the question already
362
+ * had a home: {@link IAdtInformationSystem.search}, over
363
+ * `/repository/informationsystem/search`. Declaring it here as well made one
364
+ * endpoint two members across two files — decision 16 — and gave a consumer two
365
+ * places to look for one answer.
366
+ *
367
+ * Not to be confused with `IAdtObjectSearch`, which 40.0.0 added in
368
+ * `IAdtUtilities.ts`. That one is the information system's own member, split
369
+ * out of the bundle so an implementation can offer the search without offering
370
+ * the where-used pair. Same subject, different layer — which is why it did not
371
+ * reuse this name.
372
+ */
373
+ export interface IAdtTransportAware<TConfig, TTransport> {
374
+ /**
375
+ * Read transport request information for the object
376
+ * @param config - Object identification
377
+ * @param options - Optional read options
378
+ * @param options.withLongPolling - If true, adds ?withLongPolling=true to wait for object to become available
379
+ * Useful after create/activate operations to wait until object is ready
380
+ * @returns State with transport result
381
+ */
382
+ readTransport<E extends IAdtError>(config: Partial<TConfig>, options: {
383
+ withLongPolling?: boolean;
384
+ } & IAdtOperationOptions<E> & {
385
+ analyse: IAnalyse<E>;
386
+ }): Promise<IAdtResponse<TTransport, E>>;
387
+ readTransport(config: Partial<TConfig>, options?: {
388
+ withLongPolling?: boolean;
389
+ } & IAdtOperationOptions): Promise<IAdtResponse<TTransport>>;
390
+ }
391
+ //# sourceMappingURL=IAdtCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAdtCapabilities.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtCapabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Class ADT operation parameter interfaces (snake_case, low-level)
3
+ */
4
+ export interface ICreateClassParams {
5
+ class_name: string;
6
+ description?: string;
7
+ package_name: string;
8
+ transport_request?: string;
9
+ master_system?: string;
10
+ responsible?: string;
11
+ masterLanguage?: string;
12
+ superclass?: string;
13
+ final?: boolean;
14
+ abstract?: boolean;
15
+ create_protected?: boolean;
16
+ template_xml?: string;
17
+ }
18
+ export interface IDeleteClassParams {
19
+ class_name: string;
20
+ transport_request?: string;
21
+ }
22
+ export interface IClassConfig {
23
+ className: string;
24
+ masterLanguage?: string;
25
+ description?: string;
26
+ packageName?: string;
27
+ transportRequest?: string;
28
+ sourceCode?: string;
29
+ testClassCode?: string;
30
+ testClassName?: string;
31
+ localTypesCode?: string;
32
+ definitionsCode?: string;
33
+ macrosCode?: string;
34
+ superclass?: string;
35
+ final?: boolean;
36
+ abstract?: boolean;
37
+ createProtected?: boolean;
38
+ masterSystem?: string;
39
+ responsible?: string;
40
+ classTemplate?: string;
41
+ }
42
+ export interface ILocalTestClassConfig {
43
+ className: string;
44
+ /**
45
+ * Source of the whole testclasses include. ADT addresses the include, not a
46
+ * single test class inside it, so there is no field naming one.
47
+ */
48
+ testClassCode?: string;
49
+ transportRequest?: string;
50
+ }
51
+ export interface ILocalTypesConfig {
52
+ className: string;
53
+ localTypesCode?: string;
54
+ transportRequest?: string;
55
+ }
56
+ export interface ILocalDefinitionsConfig {
57
+ className: string;
58
+ definitionsCode?: string;
59
+ transportRequest?: string;
60
+ }
61
+ export interface ILocalMacrosConfig {
62
+ className: string;
63
+ macrosCode?: string;
64
+ transportRequest?: string;
65
+ }
66
+ //# sourceMappingURL=IAdtClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAdtClass.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtClass.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAKD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Class ADT operation parameter interfaces (snake_case, low-level)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ /**
2
+ * How a consumer configures an ADT client.
3
+ *
4
+ * Here rather than in adt-clients because configuring the client is the first
5
+ * thing a consumer does, and it should not require importing the implementation
6
+ * package to describe.
7
+ */
8
+ import type { IAdtContentTypes } from './IAdtContentTypes';
9
+ export interface IAdtSystemContext {
10
+ masterSystem?: string;
11
+ responsible?: string;
12
+ /** Master/original language for newly created objects (adtcore:masterLanguage). Sourced from SAP_LANGUAGE; defaults to EN when unset. */
13
+ masterLanguage?: string;
14
+ }
15
+ export interface IAdtClientOptions {
16
+ enableAcceptCorrection?: boolean;
17
+ masterSystem?: string;
18
+ responsible?: string;
19
+ /** Master/original language for newly created objects. Falls back to EN when unset. */
20
+ masterLanguage?: string;
21
+ contentTypes?: IAdtContentTypes;
22
+ /** Whether the SAP system uses Unicode encoding. Affects Content-Type headers for source code operations. */
23
+ unicode?: boolean;
24
+ }
25
+ //# sourceMappingURL=IAdtClientOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAdtClientOptions.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtClientOptions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yIAAyI;IACzI,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,6GAA6G;IAC7G,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * How a consumer configures an ADT client.
4
+ *
5
+ * Here rather than in adt-clients because configuring the client is the first
6
+ * thing a consumer does, and it should not require importing the implementation
7
+ * package to describe.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,45 @@
1
+ /**
2
+ * ADT Content-Type / Accept header provider — the contract a consumer
3
+ * overrides when its SAP system needs different Accept/Content-Type headers.
4
+ *
5
+ * Each method returns { accept, contentType } for a specific operation.
6
+ * Accept can contain multiple values (comma-separated), Content-Type is always single.
7
+ *
8
+ * The two shipped implementations (base v1 headers for older systems; modern
9
+ * v2+ headers for S/4 HANA/BTP) stay in adt-clients — they are behaviour
10
+ * (concrete classes), not contract.
11
+ */
12
+ export interface IAdtHeaders {
13
+ accept: string;
14
+ contentType: string;
15
+ }
16
+ export interface IAdtContentTypes {
17
+ programCreate(): IAdtHeaders;
18
+ programRead(): IAdtHeaders;
19
+ /**
20
+ * Standalone `PROG/I` include creation.
21
+ *
22
+ * Measured `application/vnd.sap.adt.programs.includes.v2+xml` — NOT the
23
+ * program type. The two collections advertise different accepts, so reusing
24
+ * `programCreate()` here posts a document the server does not accept.
25
+ */
26
+ includeCreate(): IAdtHeaders;
27
+ classCreate(): IAdtHeaders;
28
+ classRead(): IAdtHeaders;
29
+ interfaceCreate(): IAdtHeaders;
30
+ domainCreate(): IAdtHeaders;
31
+ domainRead(): IAdtHeaders;
32
+ domainUpdate(): IAdtHeaders;
33
+ dataElementCreate(): IAdtHeaders;
34
+ dataElementRead(): IAdtHeaders;
35
+ dataElementUpdate(): IAdtHeaders;
36
+ structureCreate(): IAdtHeaders;
37
+ tableCreate(): IAdtHeaders;
38
+ packageCreate(): IAdtHeaders;
39
+ packageRead(): IAdtHeaders;
40
+ packageUpdate(): IAdtHeaders;
41
+ functionGroupCreate(): IAdtHeaders;
42
+ functionGroupUpdate(): IAdtHeaders;
43
+ sourceArtifactContentType(): string;
44
+ }
45
+ //# sourceMappingURL=IAdtContentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAdtContentTypes.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtContentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAE/B,aAAa,IAAI,WAAW,CAAC;IAC7B,WAAW,IAAI,WAAW,CAAC;IAE3B;;;;;;OAMG;IACH,aAAa,IAAI,WAAW,CAAC;IAG7B,WAAW,IAAI,WAAW,CAAC;IAC3B,SAAS,IAAI,WAAW,CAAC;IAGzB,eAAe,IAAI,WAAW,CAAC;IAG/B,YAAY,IAAI,WAAW,CAAC;IAC5B,UAAU,IAAI,WAAW,CAAC;IAC1B,YAAY,IAAI,WAAW,CAAC;IAG5B,iBAAiB,IAAI,WAAW,CAAC;IACjC,eAAe,IAAI,WAAW,CAAC;IAC/B,iBAAiB,IAAI,WAAW,CAAC;IAGjC,eAAe,IAAI,WAAW,CAAC;IAG/B,WAAW,IAAI,WAAW,CAAC;IAG3B,aAAa,IAAI,WAAW,CAAC;IAC7B,WAAW,IAAI,WAAW,CAAC;IAC3B,aAAa,IAAI,WAAW,CAAC;IAG7B,mBAAmB,IAAI,WAAW,CAAC;IACnC,mBAAmB,IAAI,WAAW,CAAC;IAKnC,yBAAyB,IAAI,MAAM,CAAC;CACrC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * ADT Content-Type / Accept header provider — the contract a consumer
4
+ * overrides when its SAP system needs different Accept/Content-Type headers.
5
+ *
6
+ * Each method returns { accept, contentType } for a specific operation.
7
+ * Accept can contain multiple values (comma-separated), Content-Type is always single.
8
+ *
9
+ * The two shipped implementations (base v1 headers for older systems; modern
10
+ * v2+ headers for S/4 HANA/BTP) stay in adt-clients — they are behaviour
11
+ * (concrete classes), not contract.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });