@mcp-abap-adt/interfaces 0.1.5 → 0.1.7

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,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.7] - 2025-12-10
11
+
12
+ ### Added
13
+ - **Transport Request Builder Configuration Interface**: Added `ITransportBuilderConfig` interface
14
+ - Configuration interface for Transport Request operations
15
+ - Fields: `description`, `transportType`, `targetSystem`, `owner`, `transportNumber`
16
+ - Located in `src/adt/ITransportBuilderConfig.ts`
17
+ - Exported from package root: `import { ITransportBuilderConfig } from '@mcp-abap-adt/interfaces'`
18
+ - **Unit Test Builder Configuration Interfaces**: Added unit test configuration interfaces
19
+ - `IUnitTestBuilderConfig` - Main configuration interface for unit test operations
20
+ - Fields: `tests`, `options`, `runId`, `status`, `result`
21
+ - `IClassUnitTestDefinition` - Interface for defining class unit tests
22
+ - Fields: `containerClass`, `testClass`
23
+ - `IClassUnitTestRunOptions` - Interface for unit test run options
24
+ - Fields: `title`, `context`, `scope`, `riskLevel`, `duration`
25
+ - Located in `src/adt/IUnitTestBuilderConfig.ts`
26
+ - Exported from package root: `import { IUnitTestBuilderConfig, IClassUnitTestDefinition, IClassUnitTestRunOptions } from '@mcp-abap-adt/interfaces'`
27
+
28
+ ## [0.1.6] - 2025-12-09
29
+
30
+ ### Added
31
+ - **Unified Operation Options Interface**: Created `IAdtOperationOptions` interface
32
+ - Unified interface for both create and update operations (replaces `CreateOptions` and `UpdateOptions`)
33
+ - Includes all fields from both interfaces: `activateOnCreate`, `activateOnUpdate`, `deleteOnFailure`, `sourceCode`, `xmlContent`, `timeout`
34
+ - `sourceCode` and `xmlContent` now available for update operations (previously only in create)
35
+ - `timeout?: number` - Timeout for operations in milliseconds (default: 1000)
36
+ - Prevents operation failures due to system not completing commands in time
37
+ - Increase timeout for complex operations or slow systems
38
+
39
+ ### Changed
40
+ - **Operation Options Interfaces**: Unified `CreateOptions` and `UpdateOptions` into `IAdtOperationOptions`
41
+ - Both create and update operations now use the same interface
42
+ - `sourceCode` and `xmlContent` are now available for update operations
43
+ - Removed `lockHandle` field from update options (update operations always start with lock internally)
44
+ - All interfaces now follow `I` prefix convention (`IAdtOperationOptions`)
45
+
46
+ ### Removed
47
+ - **Deprecated Interfaces**: Removed `CreateOptions` and `UpdateOptions` interfaces
48
+ - Replaced by unified `IAdtOperationOptions` interface
49
+ - No backward compatibility maintained (version < 1.0.0)
50
+
10
51
  ## [0.1.5] - 2025-12-09
11
52
 
12
53
  ### Added
@@ -9,46 +9,46 @@
9
9
  */
10
10
  import { AxiosResponse } from 'axios';
11
11
  /**
12
- * Options for create operations
12
+ * Options for ADT operations (create and update)
13
+ * Unified interface for both create and update operations
13
14
  */
14
- export interface CreateOptions {
15
+ export interface IAdtOperationOptions {
15
16
  /**
16
- * Activate object after creation
17
+ * Activate object after creation (for create operations)
17
18
  * @default false
18
19
  */
19
20
  activateOnCreate?: boolean;
20
21
  /**
21
- * Delete object if creation fails
22
+ * Activate object after update (for update operations)
23
+ * @default false
24
+ */
25
+ activateOnUpdate?: boolean;
26
+ /**
27
+ * Delete object if operation fails
22
28
  * @default false
23
29
  */
24
30
  deleteOnFailure?: boolean;
25
31
  /**
26
- * Source code to use for update after create
32
+ * Source code to use for update
33
+ * Used in create operations for update after create, and in update operations
27
34
  */
28
35
  sourceCode?: string;
29
36
  /**
30
- * XML content to use for update after create
37
+ * XML content to use for update
38
+ * Used for objects that use XML format (e.g., Domain, DataElement)
39
+ * Used in create operations for update after create, and in update operations
31
40
  */
32
41
  xmlContent?: string;
33
- }
34
- /**
35
- * Options for update operations
36
- */
37
- export interface UpdateOptions {
38
42
  /**
39
- * Activate object after update
40
- * @default false
41
- */
42
- activateOnUpdate?: boolean;
43
- /**
44
- * Delete object if update fails
45
- * @default false
46
- */
47
- deleteOnFailure?: boolean;
48
- /**
49
- * Lock handle if object is already locked
43
+ * Timeout for operations in milliseconds
44
+ * @default 1000 (1 second)
45
+ *
46
+ * CRITICAL: Without timeouts, operations may fail due to system not completing commands in time.
47
+ * Increase timeout for complex operations or slow systems.
48
+ *
49
+ * Example: timeout: 5000 for 5 seconds
50
50
  */
51
- lockHandle?: string;
51
+ timeout?: number;
52
52
  }
53
53
  /**
54
54
  * High-level ADT Object Operations Interface
@@ -76,7 +76,7 @@ export interface IAdtObject<TConfig, TReadResult = TConfig> {
76
76
  * @throws Error if validation fails (object is not created)
77
77
  * @throws Error if any operation fails (with cleanup if deleteOnFailure=true)
78
78
  */
79
- create(config: TConfig, options?: CreateOptions): Promise<TReadResult>;
79
+ create(config: TConfig, options?: IAdtOperationOptions): Promise<TReadResult>;
80
80
  /**
81
81
  * Read object
82
82
  * @param config - Object identification (name, etc.)
@@ -94,7 +94,7 @@ export interface IAdtObject<TConfig, TReadResult = TConfig> {
94
94
  * @throws Error if lock fails
95
95
  * @throws Error if any operation fails (with cleanup if deleteOnFailure=true)
96
96
  */
97
- update(config: Partial<TConfig>, options?: UpdateOptions): Promise<TReadResult>;
97
+ update(config: Partial<TConfig>, options?: IAdtOperationOptions): Promise<TReadResult>;
98
98
  /**
99
99
  * Delete object
100
100
  * Performs deletion check before deleting.
@@ -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;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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,aAAa,GACtB,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,aAAa,GACtB,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;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC;;;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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Transport Request Builder Configuration Interface
3
+ */
4
+ export interface ITransportBuilderConfig {
5
+ description: string;
6
+ transportType?: 'workbench' | 'customizing';
7
+ targetSystem?: string;
8
+ owner?: string;
9
+ transportNumber?: string;
10
+ }
11
+ //# sourceMappingURL=ITransportBuilderConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITransportBuilderConfig.d.ts","sourceRoot":"","sources":["../../src/adt/ITransportBuilderConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Transport Request Builder Configuration Interface
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Unit Test Builder Configuration Interface
3
+ */
4
+ export interface IClassUnitTestDefinition {
5
+ containerClass: string;
6
+ testClass: string;
7
+ }
8
+ export interface IClassUnitTestRunOptions {
9
+ title?: string;
10
+ context?: string;
11
+ scope?: {
12
+ ownTests?: boolean;
13
+ foreignTests?: boolean;
14
+ addForeignTestsAsPreview?: boolean;
15
+ };
16
+ riskLevel?: {
17
+ harmless?: boolean;
18
+ dangerous?: boolean;
19
+ critical?: boolean;
20
+ };
21
+ duration?: {
22
+ short?: boolean;
23
+ medium?: boolean;
24
+ long?: boolean;
25
+ };
26
+ }
27
+ export interface IUnitTestBuilderConfig {
28
+ tests: IClassUnitTestDefinition[];
29
+ options?: IClassUnitTestRunOptions;
30
+ runId?: string;
31
+ status?: any;
32
+ result?: any;
33
+ }
34
+ //# sourceMappingURL=IUnitTestBuilderConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUnitTestBuilderConfig.d.ts","sourceRoot":"","sources":["../../src/adt/IUnitTestBuilderConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;CACd"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Unit Test Builder Configuration Interface
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/index.d.ts CHANGED
@@ -26,5 +26,7 @@ export { AuthMethodPriority } from './validation/IValidatedAuthConfig';
26
26
  export type { ITokenRefreshResult } from './utils/ITokenRefreshResult';
27
27
  export type { ITimeoutConfig } from './utils/ITimeoutConfig';
28
28
  export * from './Headers';
29
- export type { IAdtObject, CreateOptions, UpdateOptions } from './adt/IAdtObject';
29
+ export type { IAdtObject, IAdtOperationOptions } from './adt/IAdtObject';
30
+ export type { ITransportBuilderConfig } from './adt/ITransportBuilderConfig';
31
+ export type { IUnitTestBuilderConfig, IClassUnitTestDefinition, IClassUnitTestRunOptions } from './adt/IUnitTestBuilderConfig';
30
32
  //# 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,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,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,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.5",
3
+ "version": "0.1.7",
4
4
  "description": "Shared interfaces for MCP ABAP ADT packages",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",