@mcp-abap-adt/adt-clients 24.0.0 → 24.1.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 +1 -1
- package/dist/runtime/feeds/read.d.ts +2 -1
- package/dist/runtime/feeds/read.d.ts.map +1 -1
- package/dist/runtime/feeds/read.js +8 -2
- package/docs/usage/CHECK_LOCAL_TEST_CLASS.md +1 -1
- package/docs/usage/CLIENT_API_REFERENCE.md +2 -2
- package/docs/usage/RFC_CONNECTION.md +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -188,9 +188,9 @@ npm install @mcp-abap-adt/adt-clients
|
|
|
188
188
|
### Using AdtClient (Recommended - High-Level CRUD API)
|
|
189
189
|
|
|
190
190
|
```typescript
|
|
191
|
+
import { BasicAuthProvider } from '@mcp-abap-adt/auth-providers';
|
|
191
192
|
import {
|
|
192
193
|
AdtOnPremConnector,
|
|
193
|
-
BasicAuthProvider,
|
|
194
194
|
OnPremHttpTransport,
|
|
195
195
|
} from '@mcp-abap-adt/connection';
|
|
196
196
|
import { AdtClient, utilDocuments } from '@mcp-abap-adt/adt-clients';
|
|
@@ -37,7 +37,8 @@ export declare function getFeedVariants(connection: IAbapConnection, category: s
|
|
|
37
37
|
* Build query string from IFeedQueryOptions.
|
|
38
38
|
* Shared by all feed-backed runtime modules.
|
|
39
39
|
*
|
|
40
|
-
* @param options - Query options
|
|
40
|
+
* @param options - Query options; `query`, when set, is the `$query` sent
|
|
41
|
+
* as given and `user` is not turned into one of its own
|
|
41
42
|
* @param userAttribute - Feed-specific user attribute name ('user' for dumps, 'username' for gateway)
|
|
42
43
|
*/
|
|
43
44
|
export declare function buildFeedQueryParams(options?: IFeedQueryOptions, userAttribute?: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/runtime/feeds/read.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAGjD;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAED
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/runtime/feeds/read.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAGjD;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,aAAa,SAAS,GACrB,MAAM,CAoBR;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,EAC3B,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAS3B"}
|
|
@@ -62,14 +62,20 @@ async function getFeedVariants(connection, category) {
|
|
|
62
62
|
* Build query string from IFeedQueryOptions.
|
|
63
63
|
* Shared by all feed-backed runtime modules.
|
|
64
64
|
*
|
|
65
|
-
* @param options - Query options
|
|
65
|
+
* @param options - Query options; `query`, when set, is the `$query` sent
|
|
66
|
+
* as given and `user` is not turned into one of its own
|
|
66
67
|
* @param userAttribute - Feed-specific user attribute name ('user' for dumps, 'username' for gateway)
|
|
67
68
|
*/
|
|
68
69
|
function buildFeedQueryParams(options, userAttribute = 'user') {
|
|
69
70
|
if (!options)
|
|
70
71
|
return '';
|
|
71
72
|
const params = new URLSearchParams();
|
|
72
|
-
|
|
73
|
+
// One request carries one `$query`: a caller filtering on more than the user
|
|
74
|
+
// states the whole expression, the user included, and it is sent as given.
|
|
75
|
+
if (options.query?.trim()) {
|
|
76
|
+
params.set('$query', options.query.trim());
|
|
77
|
+
}
|
|
78
|
+
else if (options.user) {
|
|
73
79
|
params.set('$query', `and ( equals ( ${userAttribute} , ${options.user.trim()} ) )`);
|
|
74
80
|
}
|
|
75
81
|
if (options.maxResults) {
|
|
@@ -5,9 +5,9 @@ This guide shows how to validate local test classes using `AdtClient`.
|
|
|
5
5
|
## Using AdtClient
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
|
+
import { BasicAuthProvider } from '@mcp-abap-adt/auth-providers';
|
|
8
9
|
import {
|
|
9
10
|
AdtOnPremConnector,
|
|
10
|
-
BasicAuthProvider,
|
|
11
11
|
OnPremHttpTransport,
|
|
12
12
|
} from '@mcp-abap-adt/connection';
|
|
13
13
|
import { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
@@ -290,10 +290,10 @@ Contract notes:
|
|
|
290
290
|
`AdtAbapGitClient` is a **standalone top-level class**, not a factory on `AdtClient`. `AdtClient` is reserved for per-object-type implementations — separate clients stand on their own and are instantiated directly, same pattern as `AdtClient`, `AdtRuntimeClient`, `AdtExecutor`, and `AdtClientsWS`.
|
|
291
291
|
|
|
292
292
|
```typescript
|
|
293
|
+
import { TokenAuthProvider } from '@mcp-abap-adt/auth-providers';
|
|
293
294
|
import {
|
|
294
295
|
AdtCloudConnector,
|
|
295
296
|
CloudHttpTransport,
|
|
296
|
-
TokenAuthProvider,
|
|
297
297
|
} from '@mcp-abap-adt/connection';
|
|
298
298
|
import {
|
|
299
299
|
AdtAbapGitClient,
|
|
@@ -319,7 +319,7 @@ const connection = new AdtCloudConnector(
|
|
|
319
319
|
config,
|
|
320
320
|
// A refresher, not a bare string, for anything long-lived: the provider
|
|
321
321
|
// renews on an expiry it can see, on every call that asks for a header.
|
|
322
|
-
|
|
322
|
+
TokenAuthProvider.fixed(config.jwtToken),
|
|
323
323
|
new CloudHttpTransport(() => ({}), null, {
|
|
324
324
|
client: config.client,
|
|
325
325
|
baseUrl: config.url,
|
|
@@ -76,9 +76,9 @@ the wire an on-prem system is reached over is now an argument, because that is
|
|
|
76
76
|
what it always was.
|
|
77
77
|
|
|
78
78
|
```typescript
|
|
79
|
+
import { BasicAuthProvider } from '@mcp-abap-adt/auth-providers';
|
|
79
80
|
import {
|
|
80
81
|
AdtOnPremConnector,
|
|
81
|
-
BasicAuthProvider,
|
|
82
82
|
RfcTransport,
|
|
83
83
|
rfcConversationFrom,
|
|
84
84
|
} from '@mcp-abap-adt/connection';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/adt-clients",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.1.0",
|
|
4
4
|
"description": "ADT clients for SAP ABAP systems - AdtClient and AdtRuntimeClient",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"node": ">=18.0.0"
|
|
121
121
|
},
|
|
122
122
|
"dependencies": {
|
|
123
|
-
"@mcp-abap-adt/interfaces-adt": "^11.
|
|
123
|
+
"@mcp-abap-adt/interfaces-adt": "^11.1.0",
|
|
124
124
|
"@mcp-abap-adt/interfaces-adt-connection": "^1.0.0",
|
|
125
125
|
"@mcp-abap-adt/interfaces-network": "^2.0.0",
|
|
126
126
|
"@mcp-abap-adt/interfaces-utils": "^1.1.0",
|
|
@@ -130,9 +130,10 @@
|
|
|
130
130
|
},
|
|
131
131
|
"devDependencies": {
|
|
132
132
|
"@biomejs/biome": "^2.4.4",
|
|
133
|
-
"@mcp-abap-adt/
|
|
134
|
-
"@mcp-abap-adt/
|
|
135
|
-
"@mcp-abap-adt/interfaces-auth
|
|
133
|
+
"@mcp-abap-adt/auth-providers": "^5.0.1",
|
|
134
|
+
"@mcp-abap-adt/connection": "^10.0.2",
|
|
135
|
+
"@mcp-abap-adt/interfaces-auth": "^3.0.0",
|
|
136
|
+
"@mcp-abap-adt/interfaces-auth-sap": "^1.1.0",
|
|
136
137
|
"@types/jest": "^30.0.0",
|
|
137
138
|
"@types/node": "^25.3.3",
|
|
138
139
|
"dotenv": "^17.3.1",
|