@mcp-abap-adt/connection 9.0.0 → 9.2.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/CHANGELOG.md +87 -1
- package/README.md +12 -9
- package/dist/auth/FileCertificateMaterialLoader.d.ts +1 -1
- package/dist/auth/FileCertificateMaterialLoader.d.ts.map +1 -1
- package/dist/auth/providers.d.ts +2 -2
- package/dist/auth/providers.d.ts.map +1 -1
- package/dist/config/sapConfig.d.ts +1 -1
- package/dist/config/sapConfig.d.ts.map +1 -1
- package/dist/connection/AbstractAbapConnection.d.ts +1 -1
- package/dist/connection/AbstractAbapConnection.d.ts.map +1 -1
- package/dist/session/SessionLifecycle.d.ts +1 -1
- package/dist/session/SessionLifecycle.d.ts.map +1 -1
- package/dist/utils/timeouts.d.ts +1 -1
- package/dist/utils/timeouts.d.ts.map +1 -1
- package/dist/utils/tokenRefresh.d.ts +1 -1
- package/dist/utils/tokenRefresh.d.ts.map +1 -1
- package/docs/INDEX.md +1 -1
- package/docs/INSTALLATION.md +9 -7
- package/docs/MIGRATION-9.0.md +21 -11
- package/docs/SCOPE.md +3 -3
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,90 @@ All notable changes to the `@mcp-abap-adt/connection` package will be documented
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [9.2.0] - 2026-09-24
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **The contracts split again, and this package follows the names.**
|
|
13
|
+
`@mcp-abap-adt/interfaces-adt@^9.0.0` (was `^8.0.0`), `-auth@^1.2.0` (was
|
|
14
|
+
`^1.1.0`), `-network@^2.0.0` (was `^1.1.0`), `-utils@^1.1.0` (was `^1.0.0`),
|
|
15
|
+
and **`@mcp-abap-adt/interfaces-auth-sap@^1.0.0` is new**.
|
|
16
|
+
|
|
17
|
+
**This time the names moved, not just the ranges.** Of the 15 names this
|
|
18
|
+
package takes from the ADT contract, six left it:
|
|
19
|
+
|
|
20
|
+
| name | now in |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `ISapConfig`, `SapAuthType`, `SapConnectionType`, `ICertificateMaterialLoader` | `interfaces-auth-sap` |
|
|
23
|
+
| `ITokenRefresher`, `ITokenRefreshResult` | `interfaces-auth` |
|
|
24
|
+
|
|
25
|
+
and one came the other way: **`ITimeoutConfig` is `interfaces-adt` now**,
|
|
26
|
+
because `csrf` names an SAP operation rather than a transport primitive. The
|
|
27
|
+
nine that stay are the connection contract itself — `IAbapConnection`,
|
|
28
|
+
`IAbapRequestOptions`, `IAdtResponse`, `IAdtWireResponse`, `ICriticalSection`,
|
|
29
|
+
`IRequestProfiling`, `ISessionLifecycleAware`, `ADT_SESSION_ERROR`,
|
|
30
|
+
`AdtSessionErrorCode`. That is the criterion in the contract repository
|
|
31
|
+
working: what this package takes from the ADT contract is ADT.
|
|
32
|
+
|
|
33
|
+
17 files repointed. **Nothing this package exports changes shape**, and no
|
|
34
|
+
name is renamed, so a consumer sees a dependency set with one more package in
|
|
35
|
+
it and nothing else.
|
|
36
|
+
|
|
37
|
+
Every range names the version the moved names actually land in. A range one
|
|
38
|
+
major behind is what npm answers by silently nesting a second copy — this
|
|
39
|
+
repository shipped 9.1.0 into a tree that held `interfaces-adt` 8 beside
|
|
40
|
+
`adt-clients`' 9 for exactly that reason. Checked after installing, rather than
|
|
41
|
+
assumed:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
find node_modules -path "*@mcp-abap-adt/interfaces-*/package.json"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Five paths, all at the top level, and no `"link": true` in the lockfile.
|
|
48
|
+
|
|
49
|
+
- **Documentation, and `check:docs` found the first three.** Three snippets
|
|
50
|
+
imported `ITokenRefresher` from `interfaces-adt` — `README.md` twice and
|
|
51
|
+
`docs/MIGRATION-9.0.md` once — and the compiler behind `npm test` caught them
|
|
52
|
+
before a reader could. Swept with them: the package tables in `README.md` and
|
|
53
|
+
`docs/MIGRATION-9.0.md` (a new `-auth-sap` row, `ITimeoutConfig` moved to the
|
|
54
|
+
`-adt` row, the token contracts to `-auth`), the install lines there and in
|
|
55
|
+
`docs/INSTALLATION.md`, `docs/SCOPE.md`'s ownership table, and
|
|
56
|
+
`docs/INDEX.md`'s one-line summary.
|
|
57
|
+
|
|
58
|
+
## [9.1.0] - 2026-09-23
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- **`@mcp-abap-adt/interfaces-adt@^8.0.0`** (was `^6.0.0`) and
|
|
63
|
+
**`interfaces-network@^1.1.0`** (was `^1.0.0`).
|
|
64
|
+
|
|
65
|
+
**Nothing this package imports moved or changed.** Of the 15 names it takes
|
|
66
|
+
from the ADT contract, none is a header name and none is Cloud ALM — the two
|
|
67
|
+
groups that left in 8.0.0 — and `IAdtWireResponse` keeps its name and shape,
|
|
68
|
+
now extending `IHttpWireResponse` from `interfaces-network`, which this package
|
|
69
|
+
already declared. 7.0.0's change was `source` leaving six object configs, and
|
|
70
|
+
this package imports no config.
|
|
71
|
+
|
|
72
|
+
**`interfaces-network` had to move with it**, and the reason is worth keeping:
|
|
73
|
+
with `^1.0.0` declared here and `interfaces-adt@8` requiring `^1.1.0`, npm kept
|
|
74
|
+
1.0.0 at the root and nested 1.1.0 beneath the ADT contract. Two physical
|
|
75
|
+
copies of the same package, silently — which is the cost
|
|
76
|
+
`docs/MIGRATION-9.0.md` describes and the reason this bump is explicit rather
|
|
77
|
+
than left to a caret range.
|
|
78
|
+
|
|
79
|
+
Checked rather than assumed, after installing:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
find node_modules -path "*@mcp-abap-adt/interfaces*/package.json"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
One copy of each of the four.
|
|
86
|
+
|
|
87
|
+
- `docs/MIGRATION-9.0.md` said in the present tense that the umbrella decides
|
|
88
|
+
which contract version a consumer gets, and that `interfaces-adt` has majors 1
|
|
89
|
+
through 6. The umbrella — `@mcp-abap-adt/interfaces` — was deleted in its
|
|
90
|
+
52.0.0, for exactly the cost that paragraph describes. It says so now.
|
|
91
|
+
|
|
8
92
|
## [Unreleased]
|
|
9
93
|
|
|
10
94
|
## [9.0.0] - 2026-09-23
|
|
@@ -1649,7 +1733,9 @@ const connection = createAbapConnection(config, logger);
|
|
|
1649
1733
|
- JWT token refresh now properly handles connection errors (401/403 during initial connect)
|
|
1650
1734
|
- Permission errors (403 with "ExceptionResourceNoAccess") no longer trigger JWT refresh loops
|
|
1651
1735
|
- Proper separation: base class handles HTTP/session, concrete classes handle auth-specific errors
|
|
1652
|
-
[Unreleased]: https://github.com/fr0ster/mcp-abap-connection/compare/
|
|
1736
|
+
[Unreleased]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.2.0...HEAD
|
|
1737
|
+
[9.2.0]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.1.0...v9.2.0
|
|
1738
|
+
[9.1.0]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.0.0...v9.1.0
|
|
1653
1739
|
[9.0.0]: https://github.com/fr0ster/mcp-abap-connection/compare/v8.1.0...v9.0.0
|
|
1654
1740
|
[8.1.0]: https://github.com/fr0ster/mcp-abap-connection/compare/v8.0.1...v8.1.0
|
|
1655
1741
|
[8.0.1]: https://github.com/fr0ster/mcp-abap-connection/compare/v8.0.0...v8.0.1
|
package/README.md
CHANGED
|
@@ -131,19 +131,22 @@ This package interacts with external packages **ONLY through interfaces**:
|
|
|
131
131
|
- **Logger interface**: Uses `ILogger` interface for logging - does not know about concrete logger implementation
|
|
132
132
|
- **No direct dependencies on auth packages**: All token-related operations are handled through configuration (`SapConfig`) passed by consumers
|
|
133
133
|
|
|
134
|
-
The contracts themselves come from
|
|
134
|
+
The contracts themselves come from five packages, and are the only runtime
|
|
135
135
|
dependencies of this one besides `axios`, `commander` and `open`:
|
|
136
136
|
|
|
137
137
|
| Package | What this package takes from it |
|
|
138
138
|
|---|---|
|
|
139
|
-
| `@mcp-abap-adt/interfaces-adt` | `IAbapConnection`, `
|
|
140
|
-
| `@mcp-abap-adt/interfaces-auth` | `IAuthProvider`, `IRenewableCredential`, `ICertificateMaterial` |
|
|
141
|
-
| `@mcp-abap-adt/interfaces-
|
|
139
|
+
| `@mcp-abap-adt/interfaces-adt` | `IAbapConnection`, `IAbapRequestOptions`, `IAdtResponse`, `IAdtWireResponse`, `ITimeoutConfig`, the capability atoms, `ADT_SESSION_ERROR` |
|
|
140
|
+
| `@mcp-abap-adt/interfaces-auth` | `IAuthProvider`, `IRenewableCredential`, `ICertificateMaterial`, `ITokenRefresher`, `ITokenRefreshResult` |
|
|
141
|
+
| `@mcp-abap-adt/interfaces-auth-sap` | `ISapConfig`, `SapAuthType`, `SapConnectionType`, `ICertificateMaterialLoader` |
|
|
142
|
+
| `@mcp-abap-adt/interfaces-network` | `NETWORK_ERROR_CODES`, the WebSocket contracts |
|
|
142
143
|
| `@mcp-abap-adt/interfaces-utils` | `ILogger` |
|
|
143
144
|
|
|
144
|
-
Not `@mcp-abap-adt/interfaces`. That
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
Not `@mcp-abap-adt/interfaces`. That package is **deleted** as of its 52.0.0,
|
|
146
|
+
which was never published: npm still serves 51.0.0 — every symbol re-exported and
|
|
147
|
+
deprecated — to whoever is pinned to it, and nothing further ships there. This
|
|
148
|
+
package stopped depending on it in 9.0.0; there is nothing left to move to but
|
|
149
|
+
the packages above. See [Migration to 9.0.0](./docs/MIGRATION-9.0.md).
|
|
147
150
|
|
|
148
151
|
## Documentation
|
|
149
152
|
|
|
@@ -177,7 +180,7 @@ config you build — install the package it lives in as well, because this one n
|
|
|
177
180
|
longer brings them along:
|
|
178
181
|
|
|
179
182
|
```bash
|
|
180
|
-
npm install @mcp-abap-adt/interfaces-adt @mcp-abap-adt/interfaces-auth
|
|
183
|
+
npm install @mcp-abap-adt/interfaces-adt @mcp-abap-adt/interfaces-auth @mcp-abap-adt/interfaces-auth-sap
|
|
181
184
|
```
|
|
182
185
|
|
|
183
186
|
For detailed installation instructions, see [Installation Guide](./docs/INSTALLATION.md).
|
|
@@ -370,7 +373,7 @@ import {
|
|
|
370
373
|
TokenAuthProvider,
|
|
371
374
|
getTimeout,
|
|
372
375
|
} from "@mcp-abap-adt/connection";
|
|
373
|
-
import type { ITokenRefresher } from "@mcp-abap-adt/interfaces-
|
|
376
|
+
import type { ITokenRefresher } from "@mcp-abap-adt/interfaces-auth";
|
|
374
377
|
|
|
375
378
|
// Token refresher provides token acquisition and refresh
|
|
376
379
|
// (created by @mcp-abap-adt/auth-broker or custom implementation)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ICertificateMaterialLoader, ISapConfig } from '@mcp-abap-adt/interfaces-adt';
|
|
2
1
|
import type { ICertificateMaterial } from '@mcp-abap-adt/interfaces-auth';
|
|
2
|
+
import type { ICertificateMaterialLoader, ISapConfig } from '@mcp-abap-adt/interfaces-auth-sap';
|
|
3
3
|
export declare class FileCertificateMaterialLoader implements ICertificateMaterialLoader {
|
|
4
4
|
load(config: ISapConfig): Promise<ICertificateMaterial>;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileCertificateMaterialLoader.d.ts","sourceRoot":"","sources":["../../src/auth/FileCertificateMaterialLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"FileCertificateMaterialLoader.d.ts","sourceRoot":"","sources":["../../src/auth/FileCertificateMaterialLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACX,MAAM,mCAAmC,CAAC;AAE3C,qBAAa,6BACX,YAAW,0BAA0B;IAE/B,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAyB9D"}
|
package/dist/auth/providers.d.ts
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* `CertificateAuthProvider` returns are what `CertificateAbapConnection`
|
|
8
8
|
* returned. Nothing about how a credential works changed; only who owns it.
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
10
|
+
import type { IAuthProvider, ICertificateMaterial, IRenewableCredential, ITokenRefresher } from '@mcp-abap-adt/interfaces-auth';
|
|
11
|
+
import type { ICertificateMaterialLoader, ISapConfig } from '@mcp-abap-adt/interfaces-auth-sap';
|
|
12
12
|
/** Username and password, as `Basic base64(user:pass)`. */
|
|
13
13
|
export declare class BasicAuthProvider implements IAuthProvider {
|
|
14
14
|
private readonly username;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/auth/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/auth/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACX,MAAM,mCAAmC,CAAC;AAE3C,2DAA2D;AAC3D,qBAAa,iBAAkB,YAAW,aAAa;IAiBnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjB3B,QAAQ,CAAC,IAAI,WAAW;IAExB,wEAAwE;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,yDAAyD;IACzD,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,gFAAgF;IAChF,iBAAiB,IAAI,oBAAoB;gBAKtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IAG7B,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGpD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,oBAAoB;IAyB1D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAxBzB,QAAQ,CAAC,IAAI,WAAW;IAExB,wEAAwE;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,yDAAyD;IACzD,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,gFAAgF;IAChF,iBAAiB,IAAI,oBAAoB;IAIzC;;;;;;;OAOG;gBAEgB,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAG7E;;;;;;;OAOG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUnD;;;;;;;;;;;;;;;;;;OAkBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAWxC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAV3C,QAAQ,CAAC,IAAI,UAAU;IAEvB,wEAAwE;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,gFAAgF;IAChF,iBAAiB,IAAI,oBAAoB;gBAIZ,cAAc,EAAE,MAAM;IAEnD,0EAA0E;IACpE,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAInD,8BAA8B;IAC9B,OAAO,IAAI,MAAM;CAGlB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAWzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,yDAAyD;IACzD,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,QAAQ,CAAqC;gBAGlC,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,UAAU;IAG/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,+DAA+D;IACzD,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAInD,iBAAiB,IAAI,oBAAoB;CAS1C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ISapConfig, SapAuthType, SapConnectionType } from '@mcp-abap-adt/interfaces-
|
|
1
|
+
import type { ISapConfig, SapAuthType, SapConnectionType } from '@mcp-abap-adt/interfaces-auth-sap';
|
|
2
2
|
export type { SapAuthType, SapConnectionType };
|
|
3
3
|
export type SapConfig = ISapConfig;
|
|
4
4
|
export declare function sapConfigSignature(config: ISapConfig): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sapConfig.d.ts","sourceRoot":"","sources":["../../src/config/sapConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,
|
|
1
|
+
{"version":3,"file":"sapConfig.d.ts","sourceRoot":"","sources":["../../src/config/sapConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAG3C,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAEnC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA4B7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IAdtWireResponse, ICriticalSection, IRequestProfiling, ISessionLifecycleAware } from '@mcp-abap-adt/interfaces-adt';
|
|
2
2
|
import type { SapConfig } from '../config/sapConfig.js';
|
|
3
3
|
import type { ILogger } from '../logger.js';
|
|
4
4
|
import { SessionLifecycle } from '../session/SessionLifecycle.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAbapConnection.d.ts","sourceRoot":"","sources":["../../src/connection/AbstractAbapConnection.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractAbapConnection.d.ts","sourceRoot":"","sources":["../../src/connection/AbstractAbapConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* anything held against the old one;
|
|
26
26
|
* an unchanged one says nothing about whether the server still has it.
|
|
27
27
|
*/
|
|
28
|
-
import {
|
|
28
|
+
import type { AdtSessionErrorCode } from '@mcp-abap-adt/interfaces-adt';
|
|
29
29
|
export type TransitionKind = 'connect' | 'disconnect' | 'recover' | 'cleanup';
|
|
30
30
|
export interface RequestLease {
|
|
31
31
|
/** Teardown epoch at admission — the baseline a recovery compares against. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionLifecycle.d.ts","sourceRoot":"","sources":["../../src/session/SessionLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"SessionLifecycle.d.ts","sourceRoot":"","sources":["../../src/session/SessionLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,iFAAiF;IACjF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,MAAM,GACf,KAAK,GAAG;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAMvC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,WAAW,CAAiC;IAIpD,4EAA4E;IAC5E,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,0EAA0E;IAC1E,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAM5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;;;OAKG;IACH,aAAa,CAAC,WAAW,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GAAG,IAAI;IAOzE;;;;;;OAMG;IACH,cAAc,IAAI,IAAI;IAItB,gBAAgB,IAAI,IAAI;IAKxB;;;;;;OAMG;IACH,OAAO,CACL,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,WAAW,GAAG,aAAa,GAAG,UAAU;IAiB3C,YAAY,IAAI,IAAI;IAMpB,4EAA4E;IAC5E,YAAY,IAAI,YAAY;IAiB5B,2FAA2F;IAC3F,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,OAAO;IAM3D,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,oBAAoB,GAAG,IAAI;IAelE,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAID;;;;;;;;;OASG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAuBvE"}
|
package/dist/utils/timeouts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ITimeoutConfig } from '@mcp-abap-adt/interfaces-
|
|
1
|
+
import type { ITimeoutConfig } from '@mcp-abap-adt/interfaces-adt';
|
|
2
2
|
export type TimeoutConfig = ITimeoutConfig;
|
|
3
3
|
export declare function getTimeoutConfig(): ITimeoutConfig;
|
|
4
4
|
export declare function getTimeout(type?: 'default' | 'csrf' | 'long' | number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeouts.d.ts","sourceRoot":"","sources":["../../src/utils/timeouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"timeouts.d.ts","sourceRoot":"","sources":["../../src/utils/timeouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,wBAAgB,gBAAgB,IAAI,cAAc,CAajD;AAED,wBAAgB,UAAU,CACxB,IAAI,GAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAkB,GACrD,MAAM,CAOR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Token refresh utilities for JWT authentication
|
|
3
3
|
*/
|
|
4
|
-
import type { ITokenRefreshResult } from '@mcp-abap-adt/interfaces-
|
|
4
|
+
import type { ITokenRefreshResult } from '@mcp-abap-adt/interfaces-auth';
|
|
5
5
|
export type TokenRefreshResult = ITokenRefreshResult;
|
|
6
6
|
/**
|
|
7
7
|
* Refreshes the access token using refresh token
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenRefresh.d.ts","sourceRoot":"","sources":["../../src/utils/tokenRefresh.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tokenRefresh.d.ts","sourceRoot":"","sources":["../../src/utils/tokenRefresh.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC,CA0C9B"}
|
package/docs/INDEX.md
CHANGED
|
@@ -46,7 +46,7 @@ mcp-abap-connection/
|
|
|
46
46
|
- 🔑 [JWT Auth Tools](./JWT_AUTH_TOOLS.md) - CLI tool for browser-based authentication
|
|
47
47
|
|
|
48
48
|
### Upgrading
|
|
49
|
-
- 🚚 [Migrating to 9.0.0](./MIGRATION-9.0.md) - the contracts split into `interfaces-adt`, `-auth`, `-network` and `-utils
|
|
49
|
+
- 🚚 [Migrating to 9.0.0](./MIGRATION-9.0.md) - the contracts split into `interfaces-adt`, `-auth`, `-network` and `-utils`, and this package stopped depending on the umbrella; `interfaces-auth-sap` joined them in the release after, when authentication split into what is SAP's and what is not
|
|
50
50
|
- 🚚 [Migrating to 7.0.0 and 8.0.0](./MIGRATION-8.0.md) - `sap-adt-request-id` and `X-sap-adt-profiling` on every request, `x-sap-security-session: use` on cloud, the contracts floor at 39, and `flushGoodbye()`
|
|
51
51
|
- 🚚 [Migrating to 6.0.0](./MIGRATION-6.0.md) - the factory and the per-credential classes are removed; the RFC wire is a transport you hand to the on-prem connector
|
|
52
52
|
- 🧱 [Migrating to 4.0.0](./MIGRATION-4.0.md) - JWT error classification: a 401 refreshes, a 403 propagates with the server's message
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -205,16 +205,18 @@ anything your own signatures name has to be installed. Install the ones you
|
|
|
205
205
|
actually use:
|
|
206
206
|
|
|
207
207
|
```bash
|
|
208
|
-
npm install @mcp-abap-adt/interfaces-adt
|
|
209
|
-
npm install @mcp-abap-adt/interfaces-auth
|
|
210
|
-
npm install @mcp-abap-adt/interfaces-
|
|
211
|
-
npm install @mcp-abap-adt/interfaces-
|
|
208
|
+
npm install @mcp-abap-adt/interfaces-adt # IAbapConnection, ITimeoutConfig, ADT_SESSION_ERROR
|
|
209
|
+
npm install @mcp-abap-adt/interfaces-auth # IAuthProvider, IRenewableCredential, ITokenRefresher
|
|
210
|
+
npm install @mcp-abap-adt/interfaces-auth-sap # ISapConfig, SapAuthType, ICertificateMaterialLoader
|
|
211
|
+
npm install @mcp-abap-adt/interfaces-network # NETWORK_ERROR_CODES, the WebSocket contracts
|
|
212
|
+
npm install @mcp-abap-adt/interfaces-utils # ILogger
|
|
212
213
|
```
|
|
213
214
|
|
|
214
215
|
Nothing is needed here if you only call what this package exports — the types
|
|
215
|
-
travel with it. Do **not** reach for `@mcp-abap-adt/interfaces`:
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
travel with it. Do **not** reach for `@mcp-abap-adt/interfaces`: it is **deleted**
|
|
217
|
+
as of its 52.0.0, npm still serves 51.0.0 with every symbol re-exported and
|
|
218
|
+
deprecated, and installing that alongside a contract package at a different major
|
|
219
|
+
puts two copies of the same contract in your tree.
|
|
218
220
|
[Migration to 9.0.0](./MIGRATION-9.0.md) has the details.
|
|
219
221
|
|
|
220
222
|
### Create `tsconfig.json`
|
package/docs/MIGRATION-9.0.md
CHANGED
|
@@ -4,17 +4,19 @@
|
|
|
4
4
|
Nothing was renamed here, no signature moved, no behaviour is different. What
|
|
5
5
|
changed is where the *contracts* come from.
|
|
6
6
|
|
|
7
|
-
`@mcp-abap-adt/interfaces` split. The contracts now live in four
|
|
7
|
+
`@mcp-abap-adt/interfaces` split. The contracts now live in five packages — four in 9.0.0, and `interfaces-auth-sap` from the release that follows it, when authentication split into what is SAP's and what is not:
|
|
8
8
|
|
|
9
9
|
| Package | What is in it |
|
|
10
10
|
|---|---|
|
|
11
|
-
| `@mcp-abap-adt/interfaces-adt` | The ADT vocabulary: `IAbapConnection`, `IAbapRequestOptions`, `IAdtWireResponse`, `IAdtResponse`, `
|
|
12
|
-
| `@mcp-abap-adt/interfaces-auth` | The credential axis: `IAuthProvider`, `IRenewableCredential`, `ICertificateMaterial` |
|
|
13
|
-
| `@mcp-abap-adt/interfaces-
|
|
11
|
+
| `@mcp-abap-adt/interfaces-adt` | The ADT vocabulary: `IAbapConnection`, `IAbapRequestOptions`, `IAdtWireResponse`, `IAdtResponse`, `ITimeoutConfig`, and the capability atoms — `ISessionLifecycleAware`, `ICriticalSection`, `IRequestProfiling` — with `ADT_SESSION_ERROR` and `AdtSessionErrorCode` |
|
|
12
|
+
| `@mcp-abap-adt/interfaces-auth` | The credential axis: `IAuthProvider`, `IRenewableCredential`, `ICertificateMaterial`, `ITokenRefresher`, `ITokenRefreshResult` |
|
|
13
|
+
| `@mcp-abap-adt/interfaces-auth-sap` | The SAP side of it: `ISapConfig`, `SapAuthType`, `SapConnectionType`, `ICertificateMaterialLoader` |
|
|
14
|
+
| `@mcp-abap-adt/interfaces-network` | The wire: `NETWORK_ERROR_CODES` and the WebSocket contracts — `IWebSocketTransport`, `IWebSocketConnectOptions`, `IWebSocketCloseInfo`, `IWebSocketMessageEnvelope`, `IWebSocketMessageHandler` |
|
|
14
15
|
| `@mcp-abap-adt/interfaces-utils` | `ILogger` |
|
|
15
16
|
|
|
16
|
-
This package now depends on those
|
|
17
|
-
`@mcp-abap-adt/interfaces` at all
|
|
17
|
+
This package now depends on those five and **no longer depends on
|
|
18
|
+
`@mcp-abap-adt/interfaces` at all** — that package is itself deleted as of its
|
|
19
|
+
52.0.0, with npm serving 51.0.0 to anyone pinned to it. That is the breaking part, and it is the
|
|
18
20
|
only breaking part: a consumer who was getting the umbrella transitively through
|
|
19
21
|
this package stops getting it.
|
|
20
22
|
|
|
@@ -27,7 +29,7 @@ If you do import them, move each import to the package it now lives in. Install
|
|
|
27
29
|
the ones you name:
|
|
28
30
|
|
|
29
31
|
```bash
|
|
30
|
-
npm install @mcp-abap-adt/interfaces-adt @mcp-abap-adt/interfaces-auth
|
|
32
|
+
npm install @mcp-abap-adt/interfaces-adt @mcp-abap-adt/interfaces-auth @mcp-abap-adt/interfaces-auth-sap
|
|
31
33
|
```
|
|
32
34
|
|
|
33
35
|
Before:
|
|
@@ -40,7 +42,7 @@ After:
|
|
|
40
42
|
|
|
41
43
|
```ts
|
|
42
44
|
import type { IAuthProvider } from '@mcp-abap-adt/interfaces-auth';
|
|
43
|
-
import type { ITokenRefresher } from '@mcp-abap-adt/interfaces-
|
|
45
|
+
import type { ITokenRefresher } from '@mcp-abap-adt/interfaces-auth';
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
The table above says which package each name went to. Nothing was renamed, so
|
|
@@ -69,9 +71,16 @@ package you get. It carries its own ranges — `interfaces-adt: ^6.0.0`,
|
|
|
69
71
|
`interfaces-auth: ^1.0.0`, and so on. A consumer who also names a contract
|
|
70
72
|
package directly, at a version outside those ranges, ends up with two physical
|
|
71
73
|
copies in the tree: the direct one at the root, the umbrella's nested beneath
|
|
72
|
-
it. That
|
|
73
|
-
6, so a project on `interfaces-adt@4` plus the umbrella
|
|
74
|
-
underneath.
|
|
74
|
+
it. That was observable when this was written — `interfaces-adt` had published
|
|
75
|
+
majors 1 through 6, so a project on `interfaces-adt@4` plus the umbrella got 4
|
|
76
|
+
at the root and 6 underneath.
|
|
77
|
+
|
|
78
|
+
> **The umbrella is gone.** `@mcp-abap-adt/interfaces` was deleted in its 52.0.0
|
|
79
|
+
> — decision 34 in `mcp-abap-adt-interfaces` — for exactly the cost this
|
|
80
|
+
> paragraph describes, measured across the family rather than argued. npm still
|
|
81
|
+
> serves 51.0.0 to anyone pinned to it, so the reasoning below still applies to
|
|
82
|
+
> them; there is simply nothing left to migrate *to* except naming the packages,
|
|
83
|
+
> which is what this document already asks for.
|
|
75
84
|
|
|
76
85
|
Two copies are harmless everywhere their shapes agree, because TypeScript is
|
|
77
86
|
structural. They stop being harmless exactly where the shapes differ — and then
|
|
@@ -90,6 +99,7 @@ change for this package at a moment chosen by someone else.
|
|
|
90
99
|
```bash
|
|
91
100
|
npm ls @mcp-abap-adt/interfaces-adt # should print one version, deduped
|
|
92
101
|
npm ls @mcp-abap-adt/interfaces-auth
|
|
102
|
+
npm ls @mcp-abap-adt/interfaces-auth-sap
|
|
93
103
|
```
|
|
94
104
|
|
|
95
105
|
Two versions of a contract package in one tree is the failure this release is
|
package/docs/SCOPE.md
CHANGED
|
@@ -14,9 +14,9 @@ This package is **one component of the `@mcp-abap-adt/*` family**. Each package
|
|
|
14
14
|
| Concern | Belongs in |
|
|
15
15
|
|---|---|
|
|
16
16
|
| Token acquisition (SAML/OAuth2 flows, browser login, PKCE) | `@mcp-abap-adt/auth-broker` |
|
|
17
|
-
| Token validation, refresh, re-authentication, expiry tracking | consumer via `ITokenProvider` (from `@mcp-abap-adt/interfaces-
|
|
17
|
+
| Token validation, refresh, re-authentication, expiry tracking | consumer via `ITokenProvider` (from `@mcp-abap-adt/interfaces-auth`) |
|
|
18
18
|
| Session state persistence across processes | `@mcp-abap-adt/auth-broker` |
|
|
19
|
-
| Auth-type constants, provider error codes, auth lifecycle contracts | `@mcp-abap-adt/interfaces-
|
|
19
|
+
| Auth-type constants, provider error codes, auth lifecycle contracts | `@mcp-abap-adt/interfaces-auth`, `@mcp-abap-adt/interfaces-auth-sap` |
|
|
20
20
|
|
|
21
21
|
The rule: **if it is about *acquiring* or *refreshing* credentials, it is not our job.** We receive credentials that are valid at call time and use them. The consumer is responsible for handing us fresh ones — they know their IdP, their refresh cadence, their re-auth UX.
|
|
22
22
|
|
|
@@ -41,4 +41,4 @@ It forwards every `(name, value)` pair from the JS `Client(params)` object to `R
|
|
|
41
41
|
|
|
42
42
|
- [`INSTALLATION.md`](./INSTALLATION.md)
|
|
43
43
|
- [`USAGE.md`](./USAGE.md)
|
|
44
|
-
- Sibling packages: `@mcp-abap-adt/interfaces-adt`, `@mcp-abap-adt/interfaces-auth`, `@mcp-abap-adt/interfaces-network`, `@mcp-abap-adt/interfaces-utils`, `@mcp-abap-adt/sap-rfc-lite`, `@mcp-abap-adt/auth-broker`
|
|
44
|
+
- Sibling packages: `@mcp-abap-adt/interfaces-adt`, `@mcp-abap-adt/interfaces-auth`, `@mcp-abap-adt/interfaces-auth-sap`, `@mcp-abap-adt/interfaces-network`, `@mcp-abap-adt/interfaces-utils`, `@mcp-abap-adt/sap-rfc-lite`, `@mcp-abap-adt/auth-broker`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/connection",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"description": "ABAP connection layer for MCP ABAP ADT server",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -53,10 +53,11 @@
|
|
|
53
53
|
"node": ">=18.0.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@mcp-abap-adt/interfaces-adt": "^
|
|
57
|
-
"@mcp-abap-adt/interfaces-auth": "^1.
|
|
58
|
-
"@mcp-abap-adt/interfaces-
|
|
59
|
-
"@mcp-abap-adt/interfaces-
|
|
56
|
+
"@mcp-abap-adt/interfaces-adt": "^9.0.0",
|
|
57
|
+
"@mcp-abap-adt/interfaces-auth": "^1.2.0",
|
|
58
|
+
"@mcp-abap-adt/interfaces-auth-sap": "^1.0.0",
|
|
59
|
+
"@mcp-abap-adt/interfaces-network": "^2.0.0",
|
|
60
|
+
"@mcp-abap-adt/interfaces-utils": "^1.1.0",
|
|
60
61
|
"axios": "^1.16.0",
|
|
61
62
|
"commander": "^14.0.3",
|
|
62
63
|
"open": "^11.0.0"
|