@mcp-abap-adt/interfaces 0.1.8 → 0.1.10

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.10] - 2025-12-10
11
+
12
+ ### Added
13
+ - **IAdtObject Interface - Transport Request Reading**: Added `readTransport()` method to `IAdtObject` interface
14
+ - `readTransport(config: Partial<TConfig>): Promise<TReadResult>` - Reads transport request information for the object
15
+ - Returns state with transport result in `transportResult` field
16
+ - Allows consumers to query transport request details for any ADT object
17
+
18
+ ## [0.1.9] - 2025-12-10
19
+
20
+ ### Changed
21
+ - **IAdtObject Interface - Unified Return Types**: All methods now return `Promise<TReadResult>` instead of mixed types
22
+ - `validate()`: Changed from `Promise<AxiosResponse>` to `Promise<TReadResult>`
23
+ - `check()`: Changed from `Promise<AxiosResponse>` to `Promise<TReadResult>`
24
+ - `activate()`: Changed from `Promise<AxiosResponse>` to `Promise<TReadResult>`
25
+ - `delete()`: Changed from `Promise<AxiosResponse>` to `Promise<TReadResult>`
26
+ - This provides consistent return types across all IAdtObject methods
27
+ - State types (e.g., `ClassBuilderState`) should include fields for all operation results
28
+
10
29
  ## [0.1.8] - 2025-12-10
11
30
 
12
31
  ### Added
@@ -7,7 +7,6 @@
7
7
  * Unlike Builders which provide low-level method chaining, this interface
8
8
  * provides high-level operation chains with automatic error handling and cleanup.
9
9
  */
10
- import { AxiosResponse } from 'axios';
11
10
  /**
12
11
  * Error codes that can be thrown by IAdtObject methods
13
12
  * Consumers can catch specific errors using these constants
@@ -102,9 +101,9 @@ export interface IAdtObject<TConfig, TReadResult = TConfig> {
102
101
  /**
103
102
  * Validate object configuration before creation
104
103
  * @param config - Object configuration
105
- * @returns Validation response from ADT
104
+ * @returns State with validation result
106
105
  */
107
- validate(config: Partial<TConfig>): Promise<AxiosResponse>;
106
+ validate(config: Partial<TConfig>): Promise<TReadResult>;
108
107
  /**
109
108
  * Create object with full operation chain:
110
109
  * validate → create → check → lock → check(inactive) → update → unlock → check → activate (optional)
@@ -139,22 +138,29 @@ export interface IAdtObject<TConfig, TReadResult = TConfig> {
139
138
  * Performs deletion check before deleting.
140
139
  *
141
140
  * @param config - Object identification
142
- * @returns Delete response from ADT
141
+ * @returns State with delete result
143
142
  * @throws Error if deletion check fails (object is not deleted)
144
143
  */
145
- delete(config: Partial<TConfig>): Promise<AxiosResponse>;
144
+ delete(config: Partial<TConfig>): Promise<TReadResult>;
146
145
  /**
147
146
  * Activate object
148
147
  * @param config - Object identification
149
- * @returns Activation response from ADT
148
+ * @returns State with activation result
150
149
  */
151
- activate(config: Partial<TConfig>): Promise<AxiosResponse>;
150
+ activate(config: Partial<TConfig>): Promise<TReadResult>;
152
151
  /**
153
152
  * Check object (syntax, consistency, etc.)
154
153
  * @param config - Object identification
155
154
  * @param status - Optional status to check ('active', 'inactive', 'deletion')
156
- * @returns Check response from ADT
155
+ * @returns State with check result
156
+ * @throws Error if check finds errors (type E in XML response)
157
157
  */
158
- check(config: Partial<TConfig>, status?: string): Promise<AxiosResponse>;
158
+ check(config: Partial<TConfig>, status?: string): Promise<TReadResult>;
159
+ /**
160
+ * Read transport request information for the object
161
+ * @param config - Object identification
162
+ * @returns State with transport result
163
+ */
164
+ readTransport(config: Partial<TConfig>): Promise<TReadResult>;
159
165
  }
160
166
  //# sourceMappingURL=IAdtObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IAdtObject.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB;IAC9B,6BAA6B;;IAE7B,iFAAiF;;IAEjF,+BAA+B;;IAE/B,6BAA6B;;IAE7B,2BAA2B;;IAE3B,6BAA6B;;IAE7B,+BAA+B;;IAE/B,0BAA0B;;IAE1B,4BAA4B;;IAE5B,8BAA8B;;CAEtB,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IACxD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3D;;;;;;;;;OASG;IACH,MAAM,CACJ,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;OAKG;IACH,IAAI,CACF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAC9B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC;;;;;;;;;OASG;IACH,MAAM,CACJ,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,KAAK,CACH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"IAdtObject.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB;IAC9B,6BAA6B;;IAE7B,iFAAiF;;IAEjF,+BAA+B;;IAE/B,6BAA6B;;IAE7B,2BAA2B;;IAE3B,6BAA6B;;IAE7B,+BAA+B;;IAE/B,0BAA0B;;IAE1B,4BAA4B;;IAE5B,8BAA8B;;CAEtB,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IACxD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD;;;;;;;;;OASG;IACH,MAAM,CACJ,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;OAKG;IACH,IAAI,CACF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAC9B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC;;;;;;;;;OASG;IACH,MAAM,CACJ,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,KAAK,CACH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/D"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Base state interface for all ADT Object operations
3
+ *
4
+ * All specific state types (DomainBuilderState, DataElementBuilderState, etc.)
5
+ * should extend this interface to ensure consistency across all ADT object types.
6
+ */
7
+ import { AxiosResponse } from 'axios';
8
+ /**
9
+ * Base state that all ADT Object state types should extend
10
+ *
11
+ * This interface defines the common structure for all operation results
12
+ * returned by IAdtObject methods (validate, create, read, update, delete, activate, check).
13
+ *
14
+ * Specific state types can extend this interface to add entity-specific fields.
15
+ *
16
+ * Example:
17
+ * ```typescript
18
+ * export interface DomainBuilderState extends IAdtObjectState {
19
+ * transportResult?: any; // Domain-specific field
20
+ * }
21
+ * ```
22
+ */
23
+ export interface IAdtObjectState {
24
+ /** Validation response from validate() method */
25
+ validationResponse?: AxiosResponse;
26
+ /** Create operation response from create() method */
27
+ createResult?: AxiosResponse;
28
+ /** Lock handle obtained from lock operations */
29
+ lockHandle?: string;
30
+ /** Update operation response from update() method */
31
+ updateResult?: AxiosResponse;
32
+ /** Check operation response from check() method */
33
+ checkResult?: AxiosResponse;
34
+ /** Unlock operation response from unlock operations */
35
+ unlockResult?: AxiosResponse;
36
+ /** Activate operation response from activate() method */
37
+ activateResult?: AxiosResponse;
38
+ /** Delete operation response from delete() method */
39
+ deleteResult?: AxiosResponse;
40
+ /** Read operation response from read() method */
41
+ readResult?: AxiosResponse;
42
+ /** Transport request read result from readTransport() method */
43
+ transportResult?: AxiosResponse;
44
+ /** Array of errors that occurred during operations */
45
+ errors: Array<{
46
+ method: string;
47
+ error: Error;
48
+ timestamp: Date;
49
+ }>;
50
+ }
51
+ /**
52
+ * Base configuration interface for all ADT Object operations
53
+ *
54
+ * This interface can be extended by specific configuration types
55
+ * to ensure consistency. However, most configurations are entity-specific
56
+ * and may not need a common base interface.
57
+ *
58
+ * Example:
59
+ * ```typescript
60
+ * export interface DomainBuilderConfig extends IAdtObjectConfig {
61
+ * domainName: string;
62
+ * packageName?: string;
63
+ * // ... domain-specific fields
64
+ * }
65
+ * ```
66
+ */
67
+ export interface IAdtObjectConfig {
68
+ /** Transport request (optional, used for create/update/delete operations) */
69
+ transportRequest?: string;
70
+ }
71
+ //# sourceMappingURL=IAdtObjectState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAdtObjectState.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtObjectState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,qDAAqD;IACrD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,uDAAuD;IACvD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,yDAAyD;IACzD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,qDAAqD;IACrD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,iDAAiD;IACjD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gEAAgE;IAChE,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,sDAAsD;IACtD,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Base state interface for all ADT Object operations
4
+ *
5
+ * All specific state types (DomainBuilderState, DataElementBuilderState, etc.)
6
+ * should extend this interface to ensure consistency across all ADT object types.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/index.d.ts CHANGED
@@ -28,6 +28,7 @@ export type { ITimeoutConfig } from './utils/ITimeoutConfig';
28
28
  export * from './Headers';
29
29
  export type { IAdtObject, IAdtOperationOptions } from './adt/IAdtObject';
30
30
  export { AdtObjectErrorCodes } from './adt/IAdtObject';
31
+ export type { IAdtObjectState, IAdtObjectConfig } from './adt/IAdtObjectState';
31
32
  export type { ITransportBuilderConfig } from './adt/ITransportBuilderConfig';
32
33
  export type { IUnitTestBuilderConfig, IClassUnitTestDefinition, IClassUnitTestRunOptions } from './adt/IUnitTestBuilderConfig';
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAG3E,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,cAAc,WAAW,CAAC;AAG1B,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAG3E,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,cAAc,WAAW,CAAC;AAG1B,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/interfaces",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Shared interfaces for MCP ABAP ADT packages",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",