@mcp-abap-adt/adt-clients 0.2.10 → 0.3.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.
package/README.md CHANGED
@@ -1,18 +1,20 @@
1
1
  # @mcp-abap-adt/adt-clients
2
2
 
3
- TypeScript clients for SAP ABAP Development Tools (ADT) with a **Builder and Client API architecture**.
3
+ TypeScript clients for SAP ABAP Development Tools (ADT).
4
4
 
5
5
  ## Features
6
6
 
7
- - ✅ **Builder API** – fluent interface for complex workflows with method chaining (`ClassBuilder`, `BehaviorImplementationBuilder`, `ProgramBuilder`, `UnitTestBuilder`, etc.)
8
7
  - ✅ **Client API** – simplified interface for common operations:
8
+ - `AdtClient` – high-level CRUD API with automatic operation chains
9
+ - `AdtRuntimeClient` – runtime operations (debugger, traces, memory, logs)
9
10
  - `ReadOnlyClient` – read operations for all object types
10
11
  - `CrudClient` – full CRUD operations with method chaining and state management
11
- - ✅ **ABAP Unit test support** – `UnitTestBuilder` for running and managing ABAP Unit tests (class and CDS view tests)
12
+ - ✅ **ABAP Unit test support** – run and manage ABAP Unit tests (class and CDS view tests)
12
13
  - ✅ **Stateful session management** – maintains `sap-adt-connection-id` across operations
13
14
  - ✅ **Lock registry** – persistent `.locks/active-locks.json` with CLI tools for recovery
14
15
  - ✅ **TypeScript-first** – full type safety with comprehensive interfaces
15
16
  - ✅ **Response headers are normalized** – ADT response headers can be non-string; normalize before parsing in contributors’ code
17
+ - ✅ **Public API is clients + supporting types** – internal builders and low-level utilities are not exported from the package root
16
18
 
17
19
  ## Responsibilities and Design Principles
18
20
 
@@ -36,16 +38,14 @@ This principle ensures:
36
38
 
37
39
  This package is responsible for:
38
40
 
39
- 1. **ADT operations**: Provides high-level and low-level APIs for interacting with SAP ABAP Development Tools (ADT)
41
+ 1. **ADT operations**: Provides high-level and low-level client APIs for interacting with SAP ABAP Development Tools (ADT)
40
42
  2. **Object management**: CRUD operations for ABAP objects (classes, interfaces, programs, etc.)
41
- 3. **Builder pattern**: Fluent interface for complex workflows with method chaining
42
- 4. **Session management**: Maintains session state across operations using `sap-adt-connection-id`
43
- 5. **Lock management**: Handles object locking with persistent registry
43
+ 3. **Session management**: Maintains session state across operations using `sap-adt-connection-id`
44
+ 4. **Lock management**: Handles object locking with persistent registry
44
45
 
45
46
  #### What This Package Does
46
47
 
47
48
  - **Provides ADT clients**: `ReadOnlyClient`, `CrudClient`, and specialized clients for ADT operations
48
- - **Implements builders**: Builder classes for different ABAP object types with method chaining
49
49
  - **Manages locks**: Lock registry with persistent storage and CLI tools
50
50
  - **Handles requests**: Makes HTTP requests to SAP ADT endpoints through connection interface
51
51
  - **Manages state**: Maintains object state across chained operations
@@ -79,7 +79,7 @@ npm install @mcp-abap-adt/adt-clients
79
79
 
80
80
  ## Architecture
81
81
 
82
- ### Three-Layer API
82
+ ### Public API
83
83
 
84
84
  1. **AdtClient** (High-level, recommended)
85
85
  - Simplified CRUD operations with automatic operation chains
@@ -88,27 +88,22 @@ npm install @mcp-abap-adt/adt-clients
88
88
  - Utility functions via `client.getUtils()`
89
89
  - Example: `await client.getClass().create({...}, { activateOnCreate: true })`
90
90
 
91
- 2. **Builders** (Low-level, flexible)
92
- - Direct access to all ADT operations
93
- - Method chaining with Promise support
94
- - Fine-grained control over workflow
95
- - Example: `ProgramBuilder`, `ClassBuilder`, `InterfaceBuilder`
91
+ 2. **AdtRuntimeClient**
92
+ - Runtime operations for debugging, traces, memory analysis, and logs
93
+ - Example: `await runtimeClient.getDebugger(...)`
96
94
 
97
- 3. **Clients** (Legacy API)
98
- - **ReadOnlyClient** – simple read operations
99
- - **CrudClient** – unified CRUD operations with chaining
95
+ 3. **ReadOnlyClient** (Legacy API)
96
+ - Simple read operations
97
+
98
+ 4. **CrudClient** (Legacy API)
99
+ - Unified CRUD operations with chaining
100
100
  - State management with getters
101
101
  - Example: `client.createProgram(...).lockProgram(...).updateProgram(...)`
102
102
 
103
- 4. **Specialized Clients**
104
- - `ManagementClient` – activation, syntax checking
105
- - `LockClient` – lock/unlock with registry
106
- - `ValidationClient` – object name validation
107
-
108
103
  ## Supported Object Types
109
104
 
110
- | Object Type | Builder | CrudClient | ReadOnlyClient |
111
- |------------|---------|------------|----------------|
105
+ | Object Type | AdtClient | CrudClient | ReadOnlyClient |
106
+ |------------|-----------|------------|----------------|
112
107
  | Classes (CLAS) | ✅ | ✅ | ✅ |
113
108
  | Behavior Implementations (CLAS) | ✅ | ✅ | ✅ |
114
109
  | Behavior Definitions (BDEF) | ✅ | ✅ | ✅ |
@@ -163,7 +158,7 @@ await utils.getWhereUsed({ objectName: 'ZCL_TEST', objectType: 'CLAS' });
163
158
  - ✅ Separation of CRUD operations and utility functions
164
159
  - ✅ Long polling support for object readiness
165
160
 
166
- ### Using CrudClient (Builder-based API)
161
+ ### Using CrudClient (Low-level API)
167
162
 
168
163
  ```typescript
169
164
  import { createAbapConnection } from '@mcp-abap-adt/connection';
@@ -244,37 +239,6 @@ await client.getClass().update({
244
239
 
245
240
  **Note:** Long polling is automatically used in `create()` and `update()` methods of all `AdtObject` implementations to ensure objects are ready before proceeding with subsequent operations.
246
241
 
247
- ### Using Builders (Advanced workflows)
248
-
249
- ```typescript
250
- import { ClassBuilder } from '@mcp-abap-adt/adt-clients/core';
251
-
252
- const builder = new ClassBuilder(connection, console, {
253
- className: 'ZCL_MY_CLASS',
254
- packageName: 'ZADT_BLD_PKG01',
255
- description: 'Demo builder class',
256
- transportRequest: 'E19K900001'
257
- });
258
-
259
- await builder
260
- .setCode(`CLASS zcl_my_class DEFINITION PUBLIC.
261
- PUBLIC SECTION.
262
- METHODS: hello.
263
- ENDCLASS.
264
-
265
- CLASS zcl_my_class IMPLEMENTATION.
266
- METHOD hello.
267
- WRITE: 'Hello from builder'.
268
- ENDMETHOD.
269
- ENDCLASS.`)
270
- .validate()
271
- .then(b => b.create())
272
- .then(b => b.lock())
273
- .then(b => b.update())
274
- .then(b => b.unlock())
275
- .then(b => b.activate());
276
- ```
277
-
278
242
  ### Creating Behavior Implementation Classes
279
243
 
280
244
  ```typescript
@@ -291,20 +255,6 @@ await client.createBehaviorImplementation({
291
255
  transportRequest: 'E19K900001'
292
256
  });
293
257
 
294
- // Or use builder directly for more control
295
- const builder = client.getBehaviorImplementationBuilderInstance({
296
- className: 'ZBP_OK_I_CDS_TEST',
297
- behaviorDefinition: 'ZOK_I_CDS_TEST'
298
- });
299
-
300
- await builder
301
- .createBehaviorImplementation() // Full workflow
302
- .then(b => b.read()) // Read class source
303
- .then(b => b.lock()) // Lock for modification
304
- .then(b => b.updateMainSource()) // Update main source
305
- .then(b => b.updateImplementations()) // Update implementations include
306
- .then(b => b.unlock()) // Unlock
307
- .then(b => b.activate()); // Activate
308
258
  ```
309
259
 
310
260
  ## Developer Tools
package/dist/index.d.ts CHANGED
@@ -5,13 +5,9 @@
5
5
  * - ReadOnlyClient: Read-only operations (read* methods)
6
6
  * - CrudClient: Full CRUD operations (read* + create*, lock*, unlock*, update*, activate*, check*, validate*)
7
7
  *
8
- * Use Builders directly from core for fine-grained control and method chaining.
9
- * Builders are exported from './core' entry point.
10
- *
11
8
  * @example
12
9
  * ```typescript
13
10
  * import { ReadOnlyClient, CrudClient } from '@mcp-abap-adt/adt-clients';
14
- * import { InterfaceBuilder } from '@mcp-abap-adt/adt-clients/core';
15
11
  *
16
12
  * // Using ReadOnlyClient for read operations
17
13
  * const readClient = new ReadOnlyClient(connection);
@@ -24,38 +20,31 @@
24
20
  * await crudClient.updateProgram('ZTEST', 'WRITE: / "Hello".', lockHandle);
25
21
  * await crudClient.unlockProgram('ZTEST', lockHandle);
26
22
  * await crudClient.activateProgram('ZTEST');
27
- *
28
- * // Using Builder for complex workflows with chaining
29
- * const builder = new InterfaceBuilder(connection, {}, { interfaceName: 'ZIF_TEST', description: 'Test' });
30
- * await builder.create().lock().setCode('INTERFACE zif_test. ENDINTERFACE.').update().unlock().activate();
31
23
  * ```
32
24
  */
25
+ export type { IAbapConnection, IAbapRequestOptions, IAdtObject, IAdtResponse, ILogger, } from '@mcp-abap-adt/interfaces';
33
26
  export { AdtClient } from './clients/AdtClient';
34
27
  export { AdtRuntimeClient } from './clients/AdtRuntimeClient';
35
28
  export { CrudClient } from './clients/CrudClient';
36
29
  export { ReadOnlyClient } from './clients/ReadOnlyClient';
37
- export { AdtUtils, SharedBuilder } from './core/shared';
38
- export type { IAbapConnection, IAbapRequestOptions, ILogger, } from '@mcp-abap-adt/interfaces';
39
- export type { AdtBehaviorDefinitionType, BehaviorDefinitionImplementationType, CheckReporter, IBehaviorDefinitionConfig as BehaviorDefinitionBuilderConfig, IBehaviorDefinitionCreateParams as BehaviorDefinitionCreateParams, IBehaviorDefinitionState as BehaviorDefinitionBuilderState, IBehaviorDefinitionValidationParams as BehaviorDefinitionValidationParams, ICheckMessage as CheckMessage, ICheckRunResult as CheckRunResult, ILockResult as LockResult, IValidationResult as ValidationResult, } from './core/behaviorDefinition';
40
- export type { AdtBehaviorImplementationType, IBehaviorImplementationConfig as BehaviorImplementationBuilderConfig, IBehaviorImplementationState as BehaviorImplementationBuilderState, ICreateBehaviorImplementationParams as CreateBehaviorImplementationParams, } from './core/behaviorImplementation';
41
- export type { AdtClassType, IClassConfig as ClassBuilderConfig, IClassState as ClassBuilderState, } from './core/class';
42
- export type { AdtDataElementType, IDataElementConfig as DataElementBuilderConfig, IDataElementState as DataElementBuilderState, } from './core/dataElement';
43
- export type { AdtDomainType, IDomainConfig as DomainBuilderConfig, IDomainState as DomainBuilderState, } from './core/domain';
44
- export type { AdtEnhancement as AdtEnhancementType, EnhancementType, ICreateEnhancementParams as CreateEnhancementParams, IEnhancementConfig as EnhancementBuilderConfig, IEnhancementMetadata, IEnhancementState as EnhancementBuilderState, } from './core/enhancement';
45
- export type { AdtFunctionGroupType, IFunctionGroupConfig as FunctionGroupBuilderConfig, IFunctionGroupState as FunctionGroupBuilderState, } from './core/functionGroup';
46
- export type { AdtFunctionModuleType, IFunctionModuleConfig as FunctionModuleBuilderConfig, IFunctionModuleState as FunctionModuleBuilderState, } from './core/functionModule';
47
- export type { AdtInterfaceType, IInterfaceConfig as InterfaceBuilderConfig, IInterfaceState as InterfaceBuilderState, } from './core/interface';
48
- export type { AdtMetadataExtensionType, IMetadataExtensionConfig as MetadataExtensionBuilderConfig, IMetadataExtensionCreateParams as MetadataExtensionCreateParams, IMetadataExtensionState as MetadataExtensionBuilderState, IMetadataExtensionValidationParams as MetadataExtensionValidationParams, } from './core/metadataExtension';
49
- export type { AdtPackageType, ICreatePackageParams as CreatePackageParams, IPackageConfig as PackageBuilderConfig, IPackageState as PackageBuilderState, } from './core/package';
50
- export type { AdtProgramType, IProgramConfig as ProgramBuilderConfig, IProgramState as ProgramBuilderState, } from './core/program';
51
- export type { AdtServiceDefinitionType, IServiceDefinitionConfig as ServiceDefinitionBuilderConfig, IServiceDefinitionState as ServiceDefinitionBuilderState, } from './core/serviceDefinition';
30
+ export type { AdtBehaviorDefinitionType, BehaviorDefinitionImplementationType, CheckReporter, IBehaviorDefinitionConfig, IBehaviorDefinitionCreateParams, IBehaviorDefinitionState, IBehaviorDefinitionValidationParams, ICheckMessage, ICheckRunResult, ILockResult, IValidationResult, } from './core/behaviorDefinition';
31
+ export type { AdtBehaviorImplementationType, IBehaviorImplementationConfig, IBehaviorImplementationState, ICreateBehaviorImplementationParams, } from './core/behaviorImplementation';
32
+ export type { AdtClassType, ClassUnitTestDefinition, ClassUnitTestRunOptions, IClassBuilderConfig, IClassBuilderState, IClassConfig, IClassState, ILocalDefinitionsConfig, ILocalMacrosConfig, ILocalTestClassConfig, ILocalTypesConfig, } from './core/class';
33
+ export type { AdtDataElementType, IDataElementConfig, IDataElementState, } from './core/dataElement';
34
+ export type { AdtDomainType, IDomainConfig, IDomainState } from './core/domain';
35
+ export type { AdtEnhancement as AdtEnhancementType, EnhancementType, ICreateEnhancementParams, IEnhancementConfig, IEnhancementMetadata, IEnhancementState, } from './core/enhancement';
36
+ export type { AdtFunctionGroupType, IFunctionGroupConfig, IFunctionGroupState, } from './core/functionGroup';
37
+ export type { AdtFunctionModuleType, IFunctionModuleConfig, IFunctionModuleState, } from './core/functionModule';
38
+ export type { AdtInterfaceType, IInterfaceConfig, IInterfaceState, } from './core/interface';
39
+ export type { AdtMetadataExtensionType, IMetadataExtensionConfig, IMetadataExtensionCreateParams, IMetadataExtensionState, IMetadataExtensionValidationParams, } from './core/metadataExtension';
40
+ export type { AdtPackageType, ICreatePackageParams, IPackageConfig, IPackageState, } from './core/package';
41
+ export type { AdtProgramType, IProgramConfig, IProgramState, } from './core/program';
42
+ export type { AdtServiceDefinitionType, IServiceDefinitionConfig, IServiceDefinitionState, } from './core/serviceDefinition';
52
43
  export type { GetSqlQueryParams, GetTableContentsParams, GetVirtualFoldersContentsParams, GetWhereUsedParams, InactiveObjectsResponse, ObjectReference, SearchObjectsParams, } from './core/shared';
53
- export type { AdtStructureType, IStructureConfig as StructureBuilderConfig, IStructureState as StructureBuilderState, } from './core/structure';
54
- export type { AdtTableType, ITableConfig as TableBuilderConfig, ITableState as TableBuilderState, } from './core/table';
55
- export type { AdtDdicTableTypeAlias, ITableTypeConfig as TableTypeBuilderConfig, ITableTypeState as TableTypeBuilderState, } from './core/tabletype';
56
- export { AdtDdicTableType } from './core/tabletype';
57
- export type { AdtRequestType } from './core/transport';
58
- export type { AdtUnitTestType } from './core/unitTest';
59
- export type { AdtViewType, IViewConfig as ViewBuilderConfig, IViewState as ViewBuilderState, } from './core/view';
60
- export { encodeSapObjectName } from './utils/internalUtils';
44
+ export type { AdtStructureType, IStructureConfig, IStructureState, } from './core/structure';
45
+ export type { AdtTableType, ITableConfig, ITableState } from './core/table';
46
+ export type { AdtDdicTableTypeAlias, ITableTypeConfig, ITableTypeState, } from './core/tabletype';
47
+ export type { AdtRequestType, ITransportConfig, ITransportState, } from './core/transport';
48
+ export type { AdtUnitTestType, ICdsUnitTestConfig, ICdsUnitTestState, IUnitTestConfig, IUnitTestState, } from './core/unitTest';
49
+ export type { AdtViewType, IViewConfig, IViewState } from './core/view';
61
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,13 +6,9 @@
6
6
  * - ReadOnlyClient: Read-only operations (read* methods)
7
7
  * - CrudClient: Full CRUD operations (read* + create*, lock*, unlock*, update*, activate*, check*, validate*)
8
8
  *
9
- * Use Builders directly from core for fine-grained control and method chaining.
10
- * Builders are exported from './core' entry point.
11
- *
12
9
  * @example
13
10
  * ```typescript
14
11
  * import { ReadOnlyClient, CrudClient } from '@mcp-abap-adt/adt-clients';
15
- * import { InterfaceBuilder } from '@mcp-abap-adt/adt-clients/core';
16
12
  *
17
13
  * // Using ReadOnlyClient for read operations
18
14
  * const readClient = new ReadOnlyClient(connection);
@@ -25,14 +21,10 @@
25
21
  * await crudClient.updateProgram('ZTEST', 'WRITE: / "Hello".', lockHandle);
26
22
  * await crudClient.unlockProgram('ZTEST', lockHandle);
27
23
  * await crudClient.activateProgram('ZTEST');
28
- *
29
- * // Using Builder for complex workflows with chaining
30
- * const builder = new InterfaceBuilder(connection, {}, { interfaceName: 'ZIF_TEST', description: 'Test' });
31
- * await builder.create().lock().setCode('INTERFACE zif_test. ENDINTERFACE.').update().unlock().activate();
32
24
  * ```
33
25
  */
34
26
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.encodeSapObjectName = exports.AdtDdicTableType = exports.SharedBuilder = exports.AdtUtils = exports.ReadOnlyClient = exports.CrudClient = exports.AdtRuntimeClient = exports.AdtClient = void 0;
27
+ exports.ReadOnlyClient = exports.CrudClient = exports.AdtRuntimeClient = exports.AdtClient = void 0;
36
28
  var AdtClient_1 = require("./clients/AdtClient");
37
29
  Object.defineProperty(exports, "AdtClient", { enumerable: true, get: function () { return AdtClient_1.AdtClient; } });
38
30
  var AdtRuntimeClient_1 = require("./clients/AdtRuntimeClient");
@@ -42,12 +34,3 @@ Object.defineProperty(exports, "CrudClient", { enumerable: true, get: function (
42
34
  // Client APIs (Public API)
43
35
  var ReadOnlyClient_1 = require("./clients/ReadOnlyClient");
44
36
  Object.defineProperty(exports, "ReadOnlyClient", { enumerable: true, get: function () { return ReadOnlyClient_1.ReadOnlyClient; } });
45
- // Export SharedBuilder and AdtUtils
46
- var shared_1 = require("./core/shared");
47
- Object.defineProperty(exports, "AdtUtils", { enumerable: true, get: function () { return shared_1.AdtUtils; } });
48
- Object.defineProperty(exports, "SharedBuilder", { enumerable: true, get: function () { return shared_1.SharedBuilder; } });
49
- var tabletype_1 = require("./core/tabletype");
50
- Object.defineProperty(exports, "AdtDdicTableType", { enumerable: true, get: function () { return tabletype_1.AdtDdicTableType; } });
51
- // Export utilities
52
- var internalUtils_1 = require("./utils/internalUtils");
53
- Object.defineProperty(exports, "encodeSapObjectName", { enumerable: true, get: function () { return internalUtils_1.encodeSapObjectName; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/adt-clients",
3
- "version": "0.2.10",
3
+ "version": "0.3.0",
4
4
  "description": "ADT clients for SAP ABAP systems - Read-only and CRUD operations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -53,6 +53,7 @@
53
53
  "test:module": "node scripts/test-module.js",
54
54
  "test:long-polling-read": "npx ts-node scripts/test-long-polling-read.ts",
55
55
  "discovery:markdown": "npx ts-node tools/discovery-to-markdown.ts",
56
+ "adt:handlers": "node tools/adt-object-handlers.js",
56
57
  "pretest": "npm run test:check:integration",
57
58
  "prepublishOnly": "npm run build"
58
59
  },