@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 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;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,aAAa,SAAS,GACrB,MAAM,CAgBR;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"}
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
- if (options.user) {
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
- new TokenAuthProvider(config.jwtToken),
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.0.0",
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.0.0",
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/connection": "^9.4.2",
134
- "@mcp-abap-adt/interfaces-auth": "^2.0.1",
135
- "@mcp-abap-adt/interfaces-auth-sap": "^1.0.1",
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",