@mcp-abap-adt/adt-clients 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -190
- package/dist/clients/AdtClient.d.ts +1 -2
- package/dist/clients/AdtClient.d.ts.map +1 -1
- package/dist/clients/AdtClient.js +1 -2
- package/dist/clients/AdtRuntimeClient.d.ts +1 -1
- package/dist/clients/AdtRuntimeClient.js +1 -1
- package/dist/core/behaviorDefinition/index.d.ts +0 -1
- package/dist/core/behaviorDefinition/index.d.ts.map +1 -1
- package/dist/core/behaviorDefinition/index.js +1 -3
- package/dist/core/behaviorImplementation/index.d.ts +0 -1
- package/dist/core/behaviorImplementation/index.d.ts.map +1 -1
- package/dist/core/behaviorImplementation/index.js +1 -3
- package/dist/core/behaviorImplementation/read.d.ts.map +1 -1
- package/dist/core/behaviorImplementation/read.js +7 -4
- package/dist/core/class/index.d.ts +1 -4
- package/dist/core/class/index.d.ts.map +1 -1
- package/dist/core/class/index.js +2 -4
- package/dist/core/class/read.d.ts.map +1 -1
- package/dist/core/class/read.js +7 -4
- package/dist/core/dataElement/create.d.ts +1 -1
- package/dist/core/dataElement/create.js +1 -1
- package/dist/core/dataElement/index.d.ts +0 -1
- package/dist/core/dataElement/index.d.ts.map +1 -1
- package/dist/core/dataElement/index.js +1 -3
- package/dist/core/dataElement/lock.d.ts +1 -1
- package/dist/core/dataElement/lock.js +1 -1
- package/dist/core/dataElement/unlock.d.ts +1 -1
- package/dist/core/dataElement/unlock.js +1 -1
- package/dist/core/dataElement/update.d.ts +1 -1
- package/dist/core/dataElement/update.js +1 -1
- package/dist/core/domain/index.d.ts +0 -1
- package/dist/core/domain/index.d.ts.map +1 -1
- package/dist/core/domain/index.js +1 -3
- package/dist/core/functionGroup/index.d.ts +0 -1
- package/dist/core/functionGroup/index.d.ts.map +1 -1
- package/dist/core/functionGroup/index.js +1 -3
- package/dist/core/functionModule/index.d.ts +0 -1
- package/dist/core/functionModule/index.d.ts.map +1 -1
- package/dist/core/functionModule/index.js +1 -3
- package/dist/core/functionModule/read.d.ts.map +1 -1
- package/dist/core/functionModule/read.js +7 -4
- package/dist/core/functionModule/update.d.ts +2 -2
- package/dist/core/functionModule/update.js +2 -2
- package/dist/core/interface/create.d.ts +1 -1
- package/dist/core/interface/create.js +1 -1
- package/dist/core/interface/index.d.ts +0 -1
- package/dist/core/interface/index.d.ts.map +1 -1
- package/dist/core/interface/index.js +1 -3
- package/dist/core/interface/read.d.ts.map +1 -1
- package/dist/core/interface/read.js +7 -4
- package/dist/core/metadataExtension/index.d.ts +0 -1
- package/dist/core/metadataExtension/index.d.ts.map +1 -1
- package/dist/core/metadataExtension/index.js +1 -3
- package/dist/core/metadataExtension/unlock.d.ts +1 -1
- package/dist/core/metadataExtension/unlock.js +1 -1
- package/dist/core/package/index.d.ts +0 -1
- package/dist/core/package/index.d.ts.map +1 -1
- package/dist/core/package/index.js +1 -3
- package/dist/core/program/index.d.ts +0 -1
- package/dist/core/program/index.d.ts.map +1 -1
- package/dist/core/program/index.js +1 -3
- package/dist/core/program/read.d.ts.map +1 -1
- package/dist/core/program/read.js +7 -4
- package/dist/core/program/update.d.ts +2 -2
- package/dist/core/program/update.js +2 -2
- package/dist/core/serviceDefinition/create.d.ts +1 -1
- package/dist/core/serviceDefinition/create.js +1 -1
- package/dist/core/serviceDefinition/index.d.ts +0 -1
- package/dist/core/serviceDefinition/index.d.ts.map +1 -1
- package/dist/core/serviceDefinition/index.js +1 -3
- package/dist/core/serviceDefinition/lock.d.ts +1 -1
- package/dist/core/serviceDefinition/lock.js +1 -1
- package/dist/core/serviceDefinition/unlock.d.ts +1 -1
- package/dist/core/serviceDefinition/unlock.js +1 -1
- package/dist/core/shared/AdtUtils.d.ts +10 -2
- package/dist/core/shared/AdtUtils.d.ts.map +1 -1
- package/dist/core/shared/AdtUtils.js +188 -8
- package/dist/core/shared/index.d.ts +0 -1
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +1 -3
- package/dist/core/structure/create.d.ts +1 -1
- package/dist/core/structure/create.js +1 -1
- package/dist/core/structure/index.d.ts +0 -1
- package/dist/core/structure/index.d.ts.map +1 -1
- package/dist/core/structure/index.js +1 -3
- package/dist/core/structure/lock.d.ts +1 -1
- package/dist/core/structure/lock.js +1 -1
- package/dist/core/structure/read.d.ts.map +1 -1
- package/dist/core/structure/read.js +7 -4
- package/dist/core/structure/unlock.d.ts +1 -1
- package/dist/core/structure/unlock.js +1 -1
- package/dist/core/structure/update.d.ts +1 -1
- package/dist/core/structure/update.js +1 -1
- package/dist/core/table/index.d.ts +0 -1
- package/dist/core/table/index.d.ts.map +1 -1
- package/dist/core/table/index.js +1 -3
- package/dist/core/table/read.d.ts.map +1 -1
- package/dist/core/table/read.js +7 -4
- package/dist/core/tabletype/update.d.ts +1 -1
- package/dist/core/tabletype/update.js +1 -1
- package/dist/core/transport/index.d.ts +0 -1
- package/dist/core/transport/index.d.ts.map +1 -1
- package/dist/core/transport/index.js +1 -3
- package/dist/core/unitTest/index.d.ts +1 -4
- package/dist/core/unitTest/index.d.ts.map +1 -1
- package/dist/core/unitTest/index.js +2 -7
- package/dist/core/view/create.d.ts +1 -1
- package/dist/core/view/create.js +1 -1
- package/dist/core/view/index.d.ts +0 -1
- package/dist/core/view/index.d.ts.map +1 -1
- package/dist/core/view/index.js +1 -3
- package/dist/core/view/read.d.ts.map +1 -1
- package/dist/core/view/read.js +7 -4
- package/dist/core/view/update.d.ts +1 -1
- package/dist/core/view/update.js +1 -1
- package/dist/index.d.ts +11 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -20
- package/dist/utils/noopLogger.d.ts +3 -0
- package/dist/utils/noopLogger.d.ts.map +1 -0
- package/dist/utils/noopLogger.js +9 -0
- package/package.json +3 -4
- package/dist/clients/CrudClient.d.ts +0 -266
- package/dist/clients/CrudClient.d.ts.map +0 -1
- package/dist/clients/CrudClient.js +0 -1504
- package/dist/clients/ReadOnlyClient.d.ts +0 -52
- package/dist/clients/ReadOnlyClient.d.ts.map +0 -1
- package/dist/clients/ReadOnlyClient.js +0 -266
- package/dist/core/behaviorDefinition/BehaviorDefinitionBuilder.d.ts +0 -77
- package/dist/core/behaviorDefinition/BehaviorDefinitionBuilder.d.ts.map +0 -1
- package/dist/core/behaviorDefinition/BehaviorDefinitionBuilder.js +0 -400
- package/dist/core/behaviorImplementation/BehaviorImplementationBuilder.d.ts +0 -83
- package/dist/core/behaviorImplementation/BehaviorImplementationBuilder.d.ts.map +0 -1
- package/dist/core/behaviorImplementation/BehaviorImplementationBuilder.js +0 -237
- package/dist/core/class/ClassBuilder.d.ts +0 -157
- package/dist/core/class/ClassBuilder.d.ts.map +0 -1
- package/dist/core/class/ClassBuilder.js +0 -886
- package/dist/core/dataElement/DataElementBuilder.d.ts +0 -81
- package/dist/core/dataElement/DataElementBuilder.d.ts.map +0 -1
- package/dist/core/dataElement/DataElementBuilder.js +0 -553
- package/dist/core/domain/DomainBuilder.d.ts +0 -104
- package/dist/core/domain/DomainBuilder.d.ts.map +0 -1
- package/dist/core/domain/DomainBuilder.js +0 -578
- package/dist/core/functionGroup/FunctionGroupBuilder.d.ts +0 -73
- package/dist/core/functionGroup/FunctionGroupBuilder.d.ts.map +0 -1
- package/dist/core/functionGroup/FunctionGroupBuilder.js +0 -356
- package/dist/core/functionModule/FunctionModuleBuilder.d.ts +0 -75
- package/dist/core/functionModule/FunctionModuleBuilder.d.ts.map +0 -1
- package/dist/core/functionModule/FunctionModuleBuilder.js +0 -369
- package/dist/core/interface/InterfaceBuilder.d.ts +0 -73
- package/dist/core/interface/InterfaceBuilder.d.ts.map +0 -1
- package/dist/core/interface/InterfaceBuilder.js +0 -382
- package/dist/core/metadataExtension/MetadataExtensionBuilder.d.ts +0 -45
- package/dist/core/metadataExtension/MetadataExtensionBuilder.d.ts.map +0 -1
- package/dist/core/metadataExtension/MetadataExtensionBuilder.js +0 -306
- package/dist/core/package/PackageBuilder.d.ts +0 -93
- package/dist/core/package/PackageBuilder.d.ts.map +0 -1
- package/dist/core/package/PackageBuilder.js +0 -477
- package/dist/core/program/ProgramBuilder.d.ts +0 -75
- package/dist/core/program/ProgramBuilder.d.ts.map +0 -1
- package/dist/core/program/ProgramBuilder.js +0 -411
- package/dist/core/serviceDefinition/ServiceDefinitionBuilder.d.ts +0 -74
- package/dist/core/serviceDefinition/ServiceDefinitionBuilder.d.ts.map +0 -1
- package/dist/core/serviceDefinition/ServiceDefinitionBuilder.js +0 -430
- package/dist/core/shared/IBuilder.d.ts +0 -139
- package/dist/core/shared/IBuilder.d.ts.map +0 -1
- package/dist/core/shared/IBuilder.js +0 -6
- package/dist/core/shared/SharedBuilder.d.ts +0 -99
- package/dist/core/shared/SharedBuilder.d.ts.map +0 -1
- package/dist/core/shared/SharedBuilder.js +0 -160
- package/dist/core/shared/readMetadata.d.ts +0 -23
- package/dist/core/shared/readMetadata.d.ts.map +0 -1
- package/dist/core/shared/readMetadata.js +0 -133
- package/dist/core/shared/readSource.d.ts +0 -29
- package/dist/core/shared/readSource.d.ts.map +0 -1
- package/dist/core/shared/readSource.js +0 -105
- package/dist/core/structure/StructureBuilder.d.ts +0 -95
- package/dist/core/structure/StructureBuilder.d.ts.map +0 -1
- package/dist/core/structure/StructureBuilder.js +0 -409
- package/dist/core/table/TableBuilder.d.ts +0 -91
- package/dist/core/table/TableBuilder.d.ts.map +0 -1
- package/dist/core/table/TableBuilder.js +0 -385
- package/dist/core/transport/TransportBuilder.d.ts +0 -62
- package/dist/core/transport/TransportBuilder.d.ts.map +0 -1
- package/dist/core/transport/TransportBuilder.js +0 -155
- package/dist/core/unitTest/BaseUnitTestBuilder.d.ts +0 -67
- package/dist/core/unitTest/BaseUnitTestBuilder.d.ts.map +0 -1
- package/dist/core/unitTest/BaseUnitTestBuilder.js +0 -260
- package/dist/core/unitTest/CdsUnitTestBuilder.d.ts +0 -69
- package/dist/core/unitTest/CdsUnitTestBuilder.d.ts.map +0 -1
- package/dist/core/unitTest/CdsUnitTestBuilder.js +0 -146
- package/dist/core/unitTest/ClassUnitTestBuilder.d.ts +0 -51
- package/dist/core/unitTest/ClassUnitTestBuilder.d.ts.map +0 -1
- package/dist/core/unitTest/ClassUnitTestBuilder.js +0 -173
- package/dist/core/view/ViewBuilder.d.ts +0 -91
- package/dist/core/view/ViewBuilder.d.ts.map +0 -1
- package/dist/core/view/ViewBuilder.js +0 -386
package/README.md
CHANGED
|
@@ -7,8 +7,6 @@ TypeScript clients for SAP ABAP Development Tools (ADT).
|
|
|
7
7
|
- ✅ **Client API** – simplified interface for common operations:
|
|
8
8
|
- `AdtClient` – high-level CRUD API with automatic operation chains
|
|
9
9
|
- `AdtRuntimeClient` – runtime operations (debugger, traces, memory, logs)
|
|
10
|
-
- `ReadOnlyClient` – read operations for all object types
|
|
11
|
-
- `CrudClient` – full CRUD operations with method chaining and state management
|
|
12
10
|
- ✅ **ABAP Unit test support** – run and manage ABAP Unit tests (class and CDS view tests)
|
|
13
11
|
- ✅ **Stateful session management** – maintains `sap-adt-connection-id` across operations
|
|
14
12
|
- ✅ **Lock registry** – persistent `.locks/active-locks.json` with CLI tools for recovery
|
|
@@ -45,7 +43,7 @@ This package is responsible for:
|
|
|
45
43
|
|
|
46
44
|
#### What This Package Does
|
|
47
45
|
|
|
48
|
-
- **Provides ADT clients**: `
|
|
46
|
+
- **Provides ADT clients**: `AdtClient` and specialized clients for ADT operations
|
|
49
47
|
- **Manages locks**: Lock registry with persistent storage and CLI tools
|
|
50
48
|
- **Handles requests**: Makes HTTP requests to SAP ADT endpoints through connection interface
|
|
51
49
|
- **Manages state**: Maintains object state across chained operations
|
|
@@ -92,33 +90,25 @@ npm install @mcp-abap-adt/adt-clients
|
|
|
92
90
|
- Runtime operations for debugging, traces, memory analysis, and logs
|
|
93
91
|
- Example: `await runtimeClient.getDebugger(...)`
|
|
94
92
|
|
|
95
|
-
3. **ReadOnlyClient** (Legacy API)
|
|
96
|
-
- Simple read operations
|
|
97
|
-
|
|
98
|
-
4. **CrudClient** (Legacy API)
|
|
99
|
-
- Unified CRUD operations with chaining
|
|
100
|
-
- State management with getters
|
|
101
|
-
- Example: `client.createProgram(...).lockProgram(...).updateProgram(...)`
|
|
102
|
-
|
|
103
93
|
## Supported Object Types
|
|
104
94
|
|
|
105
|
-
| Object Type | AdtClient |
|
|
106
|
-
|
|
107
|
-
| Classes (CLAS) | ✅ |
|
|
108
|
-
| Behavior Implementations (CLAS) | ✅ |
|
|
109
|
-
| Behavior Definitions (BDEF) | ✅ |
|
|
110
|
-
| Interfaces (INTF) | ✅ |
|
|
111
|
-
| Programs (PROG) | ✅ |
|
|
112
|
-
| Function Groups (FUGR) | ✅ |
|
|
113
|
-
| Function Modules (FUGR/FF) | ✅ |
|
|
114
|
-
| Domains (DOMA) | ✅ |
|
|
115
|
-
| Data Elements (DTEL) | ✅ |
|
|
116
|
-
| Structures (TABL/DS) | ✅ |
|
|
117
|
-
| Tables (TABL/DT) | ✅ |
|
|
118
|
-
| Views (DDLS) | ✅ |
|
|
119
|
-
| Metadata Extensions (DDLX) | ✅ |
|
|
120
|
-
| Packages (DEVC) | ✅ |
|
|
121
|
-
| Transports (TRNS) | ✅ |
|
|
95
|
+
| Object Type | AdtClient |
|
|
96
|
+
|------------|-----------|
|
|
97
|
+
| Classes (CLAS) | ✅ |
|
|
98
|
+
| Behavior Implementations (CLAS) | ✅ |
|
|
99
|
+
| Behavior Definitions (BDEF) | ✅ |
|
|
100
|
+
| Interfaces (INTF) | ✅ |
|
|
101
|
+
| Programs (PROG) | ✅ |
|
|
102
|
+
| Function Groups (FUGR) | ✅ |
|
|
103
|
+
| Function Modules (FUGR/FF) | ✅ |
|
|
104
|
+
| Domains (DOMA) | ✅ |
|
|
105
|
+
| Data Elements (DTEL) | ✅ |
|
|
106
|
+
| Structures (TABL/DS) | ✅ |
|
|
107
|
+
| Tables (TABL/DT) | ✅ |
|
|
108
|
+
| Views (DDLS) | ✅ |
|
|
109
|
+
| Metadata Extensions (DDLX) | ✅ |
|
|
110
|
+
| Packages (DEVC) | ✅ |
|
|
111
|
+
| Transports (TRNS) | ✅ |
|
|
122
112
|
|
|
123
113
|
## Quick Start
|
|
124
114
|
|
|
@@ -158,49 +148,6 @@ await utils.getWhereUsed({ objectName: 'ZCL_TEST', objectType: 'CLAS' });
|
|
|
158
148
|
- ✅ Separation of CRUD operations and utility functions
|
|
159
149
|
- ✅ Long polling support for object readiness
|
|
160
150
|
|
|
161
|
-
### Using CrudClient (Low-level API)
|
|
162
|
-
|
|
163
|
-
```typescript
|
|
164
|
-
import { createAbapConnection } from '@mcp-abap-adt/connection';
|
|
165
|
-
import { CrudClient } from '@mcp-abap-adt/adt-clients';
|
|
166
|
-
|
|
167
|
-
const connection = createAbapConnection({
|
|
168
|
-
url: 'https://your-sap-system.example.com',
|
|
169
|
-
client: '100',
|
|
170
|
-
authType: 'basic',
|
|
171
|
-
username: process.env.SAP_USERNAME!,
|
|
172
|
-
password: process.env.SAP_PASSWORD!
|
|
173
|
-
}, console);
|
|
174
|
-
|
|
175
|
-
const client = new CrudClient(connection);
|
|
176
|
-
|
|
177
|
-
// Method chaining with state management
|
|
178
|
-
await client
|
|
179
|
-
.createInterface('ZIF_TEST', 'Test Interface', 'ZPACKAGE', 'TREQ123')
|
|
180
|
-
.lockInterface('ZIF_TEST')
|
|
181
|
-
.updateInterface('ZIF_TEST', sourceCode)
|
|
182
|
-
.unlockInterface('ZIF_TEST')
|
|
183
|
-
.activateInterface('ZIF_TEST');
|
|
184
|
-
|
|
185
|
-
// Access results via getters
|
|
186
|
-
const createResult = client.getCreateResult();
|
|
187
|
-
const lockHandle = client.getLockHandle();
|
|
188
|
-
const activateResult = client.getActivateResult();
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
### Using ReadOnlyClient
|
|
192
|
-
|
|
193
|
-
```typescript
|
|
194
|
-
import { ReadOnlyClient } from '@mcp-abap-adt/adt-clients';
|
|
195
|
-
|
|
196
|
-
const client = new ReadOnlyClient(connection);
|
|
197
|
-
|
|
198
|
-
// Simple read operations
|
|
199
|
-
const programSource = await client.readProgram('ZTEST_PROGRAM');
|
|
200
|
-
const classDefinition = await client.readClass('ZCL_TEST_CLASS');
|
|
201
|
-
const interfaceCode = await client.readInterface('ZIF_TEST_INTERFACE');
|
|
202
|
-
```
|
|
203
|
-
|
|
204
151
|
### Using Long Polling for Object Readiness
|
|
205
152
|
|
|
206
153
|
The `withLongPolling` parameter allows you to wait for objects to become available after create/update/activate operations, replacing fixed timeouts with server-driven waiting:
|
|
@@ -242,19 +189,20 @@ await client.getClass().update({
|
|
|
242
189
|
### Creating Behavior Implementation Classes
|
|
243
190
|
|
|
244
191
|
```typescript
|
|
245
|
-
import {
|
|
246
|
-
|
|
247
|
-
const client = new CrudClient(connection);
|
|
192
|
+
import { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
248
193
|
|
|
249
|
-
|
|
250
|
-
await client.createBehaviorImplementation({
|
|
251
|
-
className: 'ZBP_OK_I_CDS_TEST',
|
|
252
|
-
packageName: 'ZOK_TEST_PKG_01',
|
|
253
|
-
behaviorDefinition: 'ZOK_I_CDS_TEST',
|
|
254
|
-
description: 'Behavior Implementation for ZOK_I_CDS_TEST',
|
|
255
|
-
transportRequest: 'E19K900001'
|
|
256
|
-
});
|
|
194
|
+
const client = new AdtClient(connection);
|
|
257
195
|
|
|
196
|
+
await client.getBehaviorImplementation().create(
|
|
197
|
+
{
|
|
198
|
+
className: 'ZBP_OK_I_CDS_TEST',
|
|
199
|
+
packageName: 'ZOK_TEST_PKG_01',
|
|
200
|
+
behaviorDefinition: 'ZOK_I_CDS_TEST',
|
|
201
|
+
description: 'Behavior Implementation for ZOK_I_CDS_TEST',
|
|
202
|
+
transportRequest: 'E19K900001'
|
|
203
|
+
},
|
|
204
|
+
{ activateOnCreate: true }
|
|
205
|
+
);
|
|
258
206
|
```
|
|
259
207
|
|
|
260
208
|
## Developer Tools
|
|
@@ -310,53 +258,11 @@ See [Tools Documentation](tools/README.md) for complete details and options.
|
|
|
310
258
|
|
|
311
259
|
## API Reference
|
|
312
260
|
|
|
313
|
-
###
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
-
|
|
317
|
-
- `
|
|
318
|
-
- `createBehaviorImplementation(config)` → `Promise<this>` – creates behavior implementation class with full workflow (create, lock, update main source, update implementations, unlock, activate)
|
|
319
|
-
- `createInterface(name, description, package, transport?)` → `Promise<this>`
|
|
320
|
-
- And more for all object types...
|
|
321
|
-
|
|
322
|
-
**Lock Operations:**
|
|
323
|
-
- `lockProgram(name)` → `Promise<this>` (stores lockHandle in state)
|
|
324
|
-
- `unlockProgram(name, lockHandle?)` → `Promise<this>`
|
|
325
|
-
- Similar for all object types...
|
|
326
|
-
|
|
327
|
-
**Update Operations:**
|
|
328
|
-
- `updateProgram(name, sourceCode, lockHandle?)` → `Promise<this>`
|
|
329
|
-
- `updateClass(name, sourceCode, lockHandle?)` → `Promise<this>`
|
|
330
|
-
- And more...
|
|
331
|
-
|
|
332
|
-
**Activation:**
|
|
333
|
-
- `activateProgram(name)` → `Promise<this>`
|
|
334
|
-
- `activateClass(name)` → `Promise<this>`
|
|
335
|
-
- And more...
|
|
336
|
-
|
|
337
|
-
**State Getters:**
|
|
338
|
-
- `getCreateResult()` → `AxiosResponse | undefined`
|
|
339
|
-
- `getLockHandle()` → `string | undefined`
|
|
340
|
-
- `getUnlockResult()` → `AxiosResponse | undefined`
|
|
341
|
-
- `getUpdateResult()` → `AxiosResponse | undefined`
|
|
342
|
-
- `getActivateResult()` → `AxiosResponse | undefined`
|
|
343
|
-
- `getCheckResult()` → `AxiosResponse | undefined`
|
|
344
|
-
- `getValidationResult()` → `any | undefined`
|
|
345
|
-
|
|
346
|
-
### ReadOnlyClient Methods
|
|
347
|
-
|
|
348
|
-
- `readProgram(name)` → `Promise<AxiosResponse>`
|
|
349
|
-
- `readClass(name)` → `Promise<AxiosResponse>`
|
|
350
|
-
- `readInterface(name)` → `Promise<AxiosResponse>`
|
|
351
|
-
- `readDataElement(name)` → `Promise<AxiosResponse>`
|
|
352
|
-
- `readDomain(name)` → `Promise<AxiosResponse>`
|
|
353
|
-
- `readStructure(name)` → `Promise<AxiosResponse>`
|
|
354
|
-
- `readTable(name)` → `Promise<AxiosResponse>`
|
|
355
|
-
- `readView(name)` → `Promise<AxiosResponse>`
|
|
356
|
-
- `readFunctionGroup(name)` → `Promise<AxiosResponse>`
|
|
357
|
-
- `readFunctionModule(name, functionGroup)` → `Promise<AxiosResponse>`
|
|
358
|
-
- `readPackage(name)` → `Promise<AxiosResponse>`
|
|
359
|
-
- `readTransport(transportRequest)` → `Promise<AxiosResponse>`
|
|
261
|
+
### AdtClient Overview
|
|
262
|
+
|
|
263
|
+
- Factory accessors for ADT objects: `client.getClass()`, `client.getProgram()`, `client.getView()`, `client.getTable()`, `client.getRequest()`, `client.getUtils()`, etc.
|
|
264
|
+
- Each accessor returns an `Adt*` object implementing `IAdtObject` operations.
|
|
265
|
+
- See `src/index.ts` for the full type exports and object configs.
|
|
360
266
|
|
|
361
267
|
### AdtObject Methods (with Long Polling Support)
|
|
362
268
|
|
|
@@ -395,11 +301,10 @@ All type definitions are centralized in module-specific `types.ts` files:
|
|
|
395
301
|
|
|
396
302
|
```typescript
|
|
397
303
|
// Import types from module exports
|
|
398
|
-
import {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
ClassBuilder // Builder class
|
|
304
|
+
import type {
|
|
305
|
+
IClassConfig,
|
|
306
|
+
IClassState,
|
|
307
|
+
IProgramConfig
|
|
403
308
|
} from '@mcp-abap-adt/adt-clients';
|
|
404
309
|
```
|
|
405
310
|
|
|
@@ -409,23 +314,14 @@ The package uses **dual naming conventions** to distinguish API layers:
|
|
|
409
314
|
|
|
410
315
|
#### Low-Level Parameters (snake_case)
|
|
411
316
|
|
|
412
|
-
Used by internal ADT API functions
|
|
317
|
+
Used by internal ADT API functions.
|
|
413
318
|
|
|
414
|
-
|
|
415
|
-
interface CreateClassParams {
|
|
416
|
-
class_name: string;
|
|
417
|
-
package_name: string;
|
|
418
|
-
transport_request?: string;
|
|
419
|
-
description?: string;
|
|
420
|
-
}
|
|
421
|
-
```
|
|
319
|
+
#### AdtObject Configuration (camelCase)
|
|
422
320
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
Used by Builder classes providing fluent API:
|
|
321
|
+
Used by `AdtClient` and `Adt*` object configs:
|
|
426
322
|
|
|
427
323
|
```typescript
|
|
428
|
-
interface
|
|
324
|
+
interface IClassConfig {
|
|
429
325
|
className: string;
|
|
430
326
|
packageName?: string;
|
|
431
327
|
transportRequest?: string;
|
|
@@ -475,44 +371,15 @@ await client.getClass().read(
|
|
|
475
371
|
- More reliable - server-driven waiting ensures object is available
|
|
476
372
|
- Automatic in `create()` and `update()` methods
|
|
477
373
|
|
|
478
|
-
###
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
1. **Low-level functions removed from exports**
|
|
483
|
-
```typescript
|
|
484
|
-
// ❌ Before
|
|
485
|
-
import { createProgram } from '@mcp-abap-adt/adt-clients/core/program';
|
|
486
|
-
|
|
487
|
-
// ✅ After - Use Builder
|
|
488
|
-
import { ProgramBuilder } from '@mcp-abap-adt/adt-clients/core';
|
|
489
|
-
|
|
490
|
-
// ✅ Or use CrudClient
|
|
491
|
-
import { CrudClient } from '@mcp-abap-adt/adt-clients';
|
|
492
|
-
const client = new CrudClient(connection);
|
|
493
|
-
await client.createProgram(...);
|
|
494
|
-
```
|
|
495
|
-
|
|
496
|
-
2. **Client classes removed**
|
|
497
|
-
```typescript
|
|
498
|
-
// ❌ Before
|
|
499
|
-
import { InterfaceClient } from '@mcp-abap-adt/adt-clients';
|
|
500
|
-
|
|
501
|
-
// ✅ After
|
|
502
|
-
import { CrudClient } from '@mcp-abap-adt/adt-clients';
|
|
503
|
-
const client = new CrudClient(connection);
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
**Non-breaking:**
|
|
507
|
-
- Builders continue to work as before
|
|
508
|
-
- Specialized clients (ManagementClient, LockClient, ValidationClient) unchanged
|
|
374
|
+
### Builderless API
|
|
375
|
+
|
|
376
|
+
- `CrudClient`, `ReadOnlyClient`, and Builder classes are removed in the builderless API.
|
|
377
|
+
- Use `AdtClient` and the `Adt*` objects (`client.getClass()`, `client.getView()`, etc.).
|
|
509
378
|
|
|
510
379
|
## Documentation
|
|
511
380
|
|
|
512
|
-
- **[Stateful Session Guide](docs/STATEFUL_SESSION_GUIDE.md)** – how Builders and clients manage `sessionId`, `lockHandle`, and the lock registry
|
|
513
381
|
- **[Operation Delays](docs/OPERATION_DELAYS.md)** – configurable delays for SAP operations in tests (sequential execution, timing issues)
|
|
514
382
|
- **[Architecture](docs/architecture/ARCHITECTURE.md)** – package structure and design decisions
|
|
515
|
-
- **[Builder Test Pattern](docs/BUILDER_TEST_PATTERN.md)** – test structure and patterns for contributors
|
|
516
383
|
- **[Test Configuration Schema](docs/TEST_CONFIG_SCHEMA.md)** – YAML test configuration reference
|
|
517
384
|
|
|
518
385
|
## Logging and Debugging
|
|
@@ -525,10 +392,10 @@ The library uses a **5-tier granular debug flag system** for different code laye
|
|
|
525
392
|
# Connection package logs (HTTP, sessions, CSRF tokens)
|
|
526
393
|
DEBUG_CONNECTORS=true npm test
|
|
527
394
|
|
|
528
|
-
#
|
|
395
|
+
# Core library logs
|
|
529
396
|
DEBUG_ADT_LIBS=true npm test
|
|
530
397
|
|
|
531
|
-
#
|
|
398
|
+
# Integration test execution logs
|
|
532
399
|
DEBUG_ADT_TESTS=true npm test
|
|
533
400
|
|
|
534
401
|
# E2E integration test logs
|
|
@@ -543,24 +410,21 @@ DEBUG_ADT_TESTS=true npm test
|
|
|
543
410
|
|
|
544
411
|
### Logger Interface
|
|
545
412
|
|
|
546
|
-
All
|
|
413
|
+
All clients accept a unified `ILogger` interface:
|
|
547
414
|
|
|
548
415
|
```typescript
|
|
549
|
-
import {
|
|
416
|
+
import type { ILogger } from '@mcp-abap-adt/adt-clients';
|
|
417
|
+
import { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
550
418
|
|
|
551
419
|
// Custom logger example
|
|
552
|
-
const logger:
|
|
420
|
+
const logger: ILogger = {
|
|
553
421
|
debug: (msg, ...args) => console.debug(msg, ...args),
|
|
554
422
|
info: (msg, ...args) => console.info(msg, ...args),
|
|
555
423
|
warn: (msg, ...args) => console.warn(msg, ...args),
|
|
556
424
|
error: (msg, ...args) => console.error(msg, ...args),
|
|
557
425
|
};
|
|
558
426
|
|
|
559
|
-
|
|
560
|
-
const builder = new ClassBuilder(connection, config, logger);
|
|
561
|
-
|
|
562
|
-
// Or use emptyLogger for silent operation
|
|
563
|
-
const silentBuilder = new ClassBuilder(connection, config, emptyLogger);
|
|
427
|
+
const client = new AdtClient(connection, logger);
|
|
564
428
|
```
|
|
565
429
|
|
|
566
430
|
**Note:** All logger methods are optional. Lock handles are always logged in full (not truncated).
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* Provides simplified CRUD operations with automatic operation chains,
|
|
5
5
|
* error handling, and resource cleanup.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* high-level methods that encapsulate complex operation chains:
|
|
7
|
+
* AdtClient provides high-level methods that encapsulate complex operation chains:
|
|
9
8
|
* - Create: validate → create → check → lock → check(inactive) → update → unlock → check → activate
|
|
10
9
|
* - Update: lock → check(inactive) → update → unlock → check → activate
|
|
11
10
|
* - Delete: check(deletion) → delete
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtClient.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AdtClient.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
* Provides simplified CRUD operations with automatic operation chains,
|
|
6
6
|
* error handling, and resource cleanup.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* high-level methods that encapsulate complex operation chains:
|
|
8
|
+
* AdtClient provides high-level methods that encapsulate complex operation chains:
|
|
10
9
|
* - Create: validate → create → check → lock → check(inactive) → update → unlock → check → activate
|
|
11
10
|
* - Update: lock → check(inactive) → update → unlock → check → activate
|
|
12
11
|
* - Delete: check(deletion) → delete
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Logs analysis
|
|
9
9
|
* - Feed reader operations
|
|
10
10
|
*
|
|
11
|
-
* This is a standalone client for runtime operations, similar to
|
|
11
|
+
* This is a standalone client for runtime operations, similar to AdtClient.
|
|
12
12
|
*
|
|
13
13
|
* Usage:
|
|
14
14
|
* ```typescript
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - Logs analysis
|
|
10
10
|
* - Feed reader operations
|
|
11
11
|
*
|
|
12
|
-
* This is a standalone client for runtime operations, similar to
|
|
12
|
+
* This is a standalone client for runtime operations, similar to AdtClient.
|
|
13
13
|
*
|
|
14
14
|
* Usage:
|
|
15
15
|
* ```typescript
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import type { IAdtObject } from '@mcp-abap-adt/interfaces';
|
|
5
5
|
import type { IBehaviorDefinitionConfig, IBehaviorDefinitionState } from './types';
|
|
6
6
|
export { AdtBehaviorDefinition } from './AdtBehaviorDefinition';
|
|
7
|
-
export { BehaviorDefinitionBuilder } from './BehaviorDefinitionBuilder';
|
|
8
7
|
export * from './types';
|
|
9
8
|
export type AdtBehaviorDefinitionType = IAdtObject<IBehaviorDefinitionConfig, IBehaviorDefinitionState>;
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,cAAc,SAAS,CAAC;AAGxB,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,yBAAyB,EACzB,wBAAwB,CACzB,CAAC"}
|
|
@@ -17,9 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
20
|
+
exports.AdtBehaviorDefinition = void 0;
|
|
21
21
|
var AdtBehaviorDefinition_1 = require("./AdtBehaviorDefinition");
|
|
22
22
|
Object.defineProperty(exports, "AdtBehaviorDefinition", { enumerable: true, get: function () { return AdtBehaviorDefinition_1.AdtBehaviorDefinition; } });
|
|
23
|
-
var BehaviorDefinitionBuilder_1 = require("./BehaviorDefinitionBuilder");
|
|
24
|
-
Object.defineProperty(exports, "BehaviorDefinitionBuilder", { enumerable: true, get: function () { return BehaviorDefinitionBuilder_1.BehaviorDefinitionBuilder; } });
|
|
25
23
|
__exportStar(require("./types"), exports);
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import type { IAdtObject } from '@mcp-abap-adt/interfaces';
|
|
5
5
|
import type { IBehaviorImplementationConfig, IBehaviorImplementationState } from './types';
|
|
6
6
|
export { AdtBehaviorImplementation } from './AdtBehaviorImplementation';
|
|
7
|
-
export { BehaviorImplementationBuilder } from './BehaviorImplementationBuilder';
|
|
8
7
|
export * from './types';
|
|
9
8
|
export type AdtBehaviorImplementationType = IAdtObject<IBehaviorImplementationConfig, IBehaviorImplementationState>;
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,cAAc,SAAS,CAAC;AAGxB,MAAM,MAAM,6BAA6B,GAAG,UAAU,CACpD,6BAA6B,EAC7B,4BAA4B,CAC7B,CAAC"}
|
|
@@ -17,9 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
20
|
+
exports.AdtBehaviorImplementation = void 0;
|
|
21
21
|
var AdtBehaviorImplementation_1 = require("./AdtBehaviorImplementation");
|
|
22
22
|
Object.defineProperty(exports, "AdtBehaviorImplementation", { enumerable: true, get: function () { return AdtBehaviorImplementation_1.AdtBehaviorImplementation; } });
|
|
23
|
-
var BehaviorImplementationBuilder_1 = require("./BehaviorImplementationBuilder");
|
|
24
|
-
Object.defineProperty(exports, "BehaviorImplementationBuilder", { enumerable: true, get: function () { return BehaviorImplementationBuilder_1.BehaviorImplementationBuilder; } });
|
|
25
23
|
__exportStar(require("./types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAQlC;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED;;;;;GAKG;AACH,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAU,GAAG,aAAwB,GACxD,OAAO,CAAC,aAAa,CAAC,CAexB;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,aAAa,CAAC,CAIxB"}
|
|
@@ -40,15 +40,18 @@ exports.getBehaviorImplementationMetadata = getBehaviorImplementationMetadata;
|
|
|
40
40
|
exports.getBehaviorImplementationSource = getBehaviorImplementationSource;
|
|
41
41
|
exports.getBehaviorImplementationImplementations = getBehaviorImplementationImplementations;
|
|
42
42
|
exports.getBehaviorImplementationTransport = getBehaviorImplementationTransport;
|
|
43
|
-
const
|
|
44
|
-
const
|
|
43
|
+
const noopLogger_1 = require("../../utils/noopLogger");
|
|
44
|
+
const AdtUtils_1 = require("../shared/AdtUtils");
|
|
45
|
+
function getUtils(connection) {
|
|
46
|
+
return new AdtUtils_1.AdtUtils(connection, noopLogger_1.noopLogger);
|
|
47
|
+
}
|
|
45
48
|
/**
|
|
46
49
|
* Get behavior implementation class metadata (without source code)
|
|
47
50
|
* @param connection - SAP connection
|
|
48
51
|
* @param className - Behavior implementation class name
|
|
49
52
|
*/
|
|
50
53
|
async function getBehaviorImplementationMetadata(connection, className, options) {
|
|
51
|
-
return (
|
|
54
|
+
return getUtils(connection).readObjectMetadata('class', className, undefined, options);
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
54
57
|
* Get behavior implementation class source code (main)
|
|
@@ -57,7 +60,7 @@ async function getBehaviorImplementationMetadata(connection, className, options)
|
|
|
57
60
|
* @param version - 'active' (default) or 'inactive' to read modified but not activated version
|
|
58
61
|
*/
|
|
59
62
|
async function getBehaviorImplementationSource(connection, className, version = 'active', options) {
|
|
60
|
-
return (
|
|
63
|
+
return getUtils(connection).readObjectSource('class', className, undefined, version, options);
|
|
61
64
|
}
|
|
62
65
|
/**
|
|
63
66
|
* Get behavior implementation class implementations include source code
|
|
@@ -3,11 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { IAdtObject } from '@mcp-abap-adt/interfaces';
|
|
5
5
|
import type { IClassConfig, IClassState } from './types';
|
|
6
|
-
export * from './types';
|
|
7
|
-
export type IClassBuilderConfig = IClassConfig;
|
|
8
|
-
export type IClassBuilderState = IClassState;
|
|
9
6
|
export { AdtClass } from './AdtClass';
|
|
10
|
-
export
|
|
7
|
+
export * from './types';
|
|
11
8
|
export type AdtClassType = IAdtObject<IClassConfig, IClassState>;
|
|
12
9
|
export { AdtLocalDefinitions, type ILocalDefinitionsConfig, } from './AdtLocalDefinitions';
|
|
13
10
|
export { AdtLocalMacros, type ILocalMacrosConfig } from './AdtLocalMacros';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/class/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/class/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC;AAGxB,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,OAAO,CAAC"}
|
package/dist/core/class/index.js
CHANGED
|
@@ -17,12 +17,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.startClassUnitTestRunByObject = exports.startClassUnitTestRun = exports.getClassUnitTestStatus = exports.getClassUnitTestResult = exports.AdtLocalTypes = exports.AdtLocalTestClass = exports.AdtLocalMacros = exports.AdtLocalDefinitions = exports.
|
|
21
|
-
__exportStar(require("./types"), exports);
|
|
20
|
+
exports.startClassUnitTestRunByObject = exports.startClassUnitTestRun = exports.getClassUnitTestStatus = exports.getClassUnitTestResult = exports.AdtLocalTypes = exports.AdtLocalTestClass = exports.AdtLocalMacros = exports.AdtLocalDefinitions = exports.AdtClass = void 0;
|
|
22
21
|
var AdtClass_1 = require("./AdtClass");
|
|
23
22
|
Object.defineProperty(exports, "AdtClass", { enumerable: true, get: function () { return AdtClass_1.AdtClass; } });
|
|
24
|
-
|
|
25
|
-
Object.defineProperty(exports, "ClassBuilder", { enumerable: true, get: function () { return ClassBuilder_1.ClassBuilder; } });
|
|
23
|
+
__exportStar(require("./types"), exports);
|
|
26
24
|
var AdtLocalDefinitions_1 = require("./AdtLocalDefinitions");
|
|
27
25
|
Object.defineProperty(exports, "AdtLocalDefinitions", { enumerable: true, get: function () { return AdtLocalDefinitions_1.AdtLocalDefinitions; } });
|
|
28
26
|
var AdtLocalMacros_1 = require("./AdtLocalMacros");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/class/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/class/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAUlC;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,aAAa,CAAC,CAexB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,aAAa,CAAC,CAaxB"}
|
package/dist/core/class/read.js
CHANGED
|
@@ -12,16 +12,19 @@ exports.getClassMacrosInclude = getClassMacrosInclude;
|
|
|
12
12
|
exports.getClassTestClassesInclude = getClassTestClassesInclude;
|
|
13
13
|
exports.getClassImplementationsInclude = getClassImplementationsInclude;
|
|
14
14
|
const internalUtils_1 = require("../../utils/internalUtils");
|
|
15
|
+
const noopLogger_1 = require("../../utils/noopLogger");
|
|
15
16
|
const timeouts_1 = require("../../utils/timeouts");
|
|
16
|
-
const
|
|
17
|
-
|
|
17
|
+
const AdtUtils_1 = require("../shared/AdtUtils");
|
|
18
|
+
function getUtils(connection) {
|
|
19
|
+
return new AdtUtils_1.AdtUtils(connection, noopLogger_1.noopLogger);
|
|
20
|
+
}
|
|
18
21
|
/**
|
|
19
22
|
* Get ABAP class metadata (without source code)
|
|
20
23
|
* @param connection - SAP connection
|
|
21
24
|
* @param className - Class name
|
|
22
25
|
*/
|
|
23
26
|
async function getClassMetadata(connection, className, options) {
|
|
24
|
-
return (
|
|
27
|
+
return getUtils(connection).readObjectMetadata('class', className, undefined, options);
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
30
|
* Get ABAP class source code
|
|
@@ -30,7 +33,7 @@ async function getClassMetadata(connection, className, options) {
|
|
|
30
33
|
* @param version - 'active' (default) or 'inactive' to read modified but not activated version
|
|
31
34
|
*/
|
|
32
35
|
async function getClassSource(connection, className, version = 'active', options) {
|
|
33
|
-
return (
|
|
36
|
+
return getUtils(connection).readObjectSource('class', className, undefined, version, options);
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* Get ABAP class (source code by default for backward compatibility)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DataElement create operations - Low-level functions
|
|
3
|
-
* NOTE:
|
|
3
|
+
* NOTE: Caller should call connection.setSessionType("stateful") before creating
|
|
4
4
|
*/
|
|
5
5
|
import type { IAdtResponse as AxiosResponse, IAbapConnection } from '@mcp-abap-adt/interfaces';
|
|
6
6
|
import type { ICreateDataElementParams } from './types';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* DataElement create operations - Low-level functions
|
|
4
|
-
* NOTE:
|
|
4
|
+
* NOTE: Caller should call connection.setSessionType("stateful") before creating
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.create = create;
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import type { IAdtObject } from '@mcp-abap-adt/interfaces';
|
|
5
5
|
import type { IDataElementConfig, IDataElementState } from './types';
|
|
6
6
|
export { AdtDataElement } from './AdtDataElement';
|
|
7
|
-
export { DataElementBuilder } from './DataElementBuilder';
|
|
8
7
|
export * from './types';
|
|
9
8
|
export type AdtDataElementType = IAdtObject<IDataElementConfig, IDataElementState>;
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/dataElement/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/dataElement/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,SAAS,CAAC;AAGxB,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,kBAAkB,EAClB,iBAAiB,CAClB,CAAC"}
|
|
@@ -17,9 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
20
|
+
exports.AdtDataElement = void 0;
|
|
21
21
|
var AdtDataElement_1 = require("./AdtDataElement");
|
|
22
22
|
Object.defineProperty(exports, "AdtDataElement", { enumerable: true, get: function () { return AdtDataElement_1.AdtDataElement; } });
|
|
23
|
-
var DataElementBuilder_1 = require("./DataElementBuilder");
|
|
24
|
-
Object.defineProperty(exports, "DataElementBuilder", { enumerable: true, get: function () { return DataElementBuilder_1.DataElementBuilder; } });
|
|
25
23
|
__exportStar(require("./types"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DataElement lock operations
|
|
3
|
-
* NOTE:
|
|
3
|
+
* NOTE: Caller should call connection.setSessionType("stateful") before locking
|
|
4
4
|
*/
|
|
5
5
|
import type { IAbapConnection } from '@mcp-abap-adt/interfaces';
|
|
6
6
|
/**
|