@mcp-abap-adt/adt-clients 32.2.0 → 34.0.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 +39 -3
- package/dist/batch/AdtBatchConnection.d.ts.map +1 -1
- package/dist/batch/AdtBatchConnection.js +18 -3
- package/dist/clients/AdtClient.d.ts +11 -3
- package/dist/clients/AdtClient.d.ts.map +1 -1
- package/dist/clients/AdtClient.js +11 -3
- package/dist/core/shared/LockRegistry.d.ts +7 -0
- package/dist/core/shared/LockRegistry.d.ts.map +1 -1
- package/dist/core/shared/LockRegistry.js +10 -0
- package/dist/core/shared/chain.d.ts +11 -0
- package/dist/core/shared/chain.d.ts.map +1 -1
- package/dist/core/shared/chain.js +34 -3
- package/dist/utils/acceptNegotiation.d.ts +11 -0
- package/dist/utils/acceptNegotiation.d.ts.map +1 -1
- package/dist/utils/acceptNegotiation.js +32 -1
- package/dist/utils/adtResponse.d.ts +30 -2
- package/dist/utils/adtResponse.d.ts.map +1 -1
- package/dist/utils/adtResponse.js +82 -2
- package/dist/utils/requestTrace.d.ts.map +1 -1
- package/dist/utils/requestTrace.js +7 -0
- package/docs/usage/BATCH.md +16 -3
- package/docs/usage/MIGRATION-33.md +68 -0
- package/docs/usage/MIGRATION-34.md +32 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -663,6 +663,36 @@ where-used type no vocabulary knows), or a defect. A reading that throws — you
|
|
|
663
663
|
own, or one from `adt-strategies` — surfaces as itself, not as a connection
|
|
664
664
|
failure, because a parser's bug is not advice to reauthenticate.
|
|
665
665
|
|
|
666
|
+
**A refused credential.** The connection raises one refusal
|
|
667
|
+
(`AuthRefusedError`) for two different things, and they come back differently:
|
|
668
|
+
|
|
669
|
+
- **SAP refused the credential** — a `401` the credential provider could not
|
|
670
|
+
renew. That is SAP's answer: a failure with `origin: 'connection'`, the
|
|
671
|
+
refusal's message and SAP's `401` response. `analyse` sees it but cannot
|
|
672
|
+
clear it.
|
|
673
|
+
- **The provider refused before SAP was asked** — a login that ended, a token
|
|
674
|
+
the identity provider will not renew. There is no answer to come back, and
|
|
675
|
+
every further request would only ask the provider again, so the member
|
|
676
|
+
**rejects** with the refusal as it came, the same object. Catch it where you
|
|
677
|
+
walk many objects: it is your signal to stop.
|
|
678
|
+
|
|
679
|
+
A refusal is recognised by its shape — own data properties `refusal` (with
|
|
680
|
+
string `kind` and `reason`) and `at`, and no `response` of its own — not by
|
|
681
|
+
`instanceof`, since this package does not depend on the connection. That is a
|
|
682
|
+
passthrough convention: anything carrying the shape is passed on as it came.
|
|
683
|
+
SAP answered only when the refusal's cause, one level down, carries a response
|
|
684
|
+
of status `401` (`cause.response.status === 401`); any other status there — an
|
|
685
|
+
identity provider's `400 invalid_grant` a provider threw — is not SAP's, and
|
|
686
|
+
the refusal rejects.
|
|
687
|
+
|
|
688
|
+
No part of this library converts, wraps or swallows a refusal SAP never saw.
|
|
689
|
+
A multi-step member (a lock, a write, an unlock) still runs its unlocks and
|
|
690
|
+
rollbacks, then rejects with the same object; a rollback that did not complete
|
|
691
|
+
is logged, not added to it. `unlockAll()` and `await using` stop at it, the
|
|
692
|
+
locks not yet released staying in `pendingLocks`. An `AdtBatchConnection`
|
|
693
|
+
whose envelope is refused rejects every part — sent, unsent or recorded while
|
|
694
|
+
settling — with that same object, not with the "not sent" error.
|
|
695
|
+
|
|
666
696
|
The transport frame is `IAdtWireResponse`. It is the shape the connection layer
|
|
667
697
|
speaks and lives at that boundary; `IAdtResponse` names what a member answers
|
|
668
698
|
with.
|
|
@@ -991,6 +1021,8 @@ See [Architecture Documentation](docs/architecture/ARCHITECTURE.md#type-system-a
|
|
|
991
1021
|
One document per breaking release, each written for a consumer on the contract
|
|
992
1022
|
before it:
|
|
993
1023
|
|
|
1024
|
+
- **[33.x → 34.0.0](docs/usage/MIGRATION-34.md)** — a batch corrects and resends nothing: a part's `406`/`415` is that call's answer.
|
|
1025
|
+
- **[32.x → 33.0.0](docs/usage/MIGRATION-33.md)** — a credential the provider refused before SAP was asked rejects with the connection's refusal as it came; a `401` SAP refused it with comes back carrying that response.
|
|
994
1026
|
- **[31.x → 32.0.0](docs/usage/MIGRATION-32.md)** — interfaces-adt 18, three enhancement subtypes, subtype-specific create fields, two new result slots for enhancement hosts, and `metadataUpdated` for enhancement document writes.
|
|
995
1027
|
- **[30.x → 31.0.0](docs/usage/MIGRATION-31.md)** — `interfaces-adt` 16 and
|
|
996
1028
|
`interfaces-adt-connection` 3: the per-request `signal`, `ADT_REQUEST_ERROR`
|
|
@@ -1125,9 +1157,13 @@ activate all objects with one plain `activateObjectsGroup` call. At a debugger
|
|
|
1125
1157
|
stop, record step + stack + variables on the attached stateful connection.
|
|
1126
1158
|
See [domain and debugger examples](docs/usage/BATCH.md).
|
|
1127
1159
|
|
|
1128
|
-
`execute()` also sends follow-up envelopes for requests
|
|
1129
|
-
|
|
1130
|
-
|
|
1160
|
+
`execute()` also sends follow-up envelopes for requests member continuations
|
|
1161
|
+
record during settlement (up to 100 envelopes, then all remaining requests
|
|
1162
|
+
reject). Nothing in a batch is corrected or sent again: a batch connection is
|
|
1163
|
+
exempt from accept negotiation, so a part's `401`, `406` or `415` is that call's
|
|
1164
|
+
answer, and a `406`/`415` to the envelope reaches `execute()` as it came. The
|
|
1165
|
+
connection's own handling of the envelope request — credential renewal, CSRF
|
|
1166
|
+
recovery, session — stays. Explicit session switches apply to the next recording;
|
|
1131
1167
|
LOCK/UNLOCK run in stateful envelopes; other ordinary members run stateless.
|
|
1132
1168
|
Consecutive LOCKs, consecutive UNLOCKs, and consecutive stateless requests each
|
|
1133
1169
|
form separate envelopes sent in queue order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtBatchConnection.d.ts","sourceRoot":"","sources":["../../src/batch/AdtBatchConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"AdtBatchConnection.d.ts","sourceRoot":"","sources":["../../src/batch/AdtBatchConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAS9D,KAAK,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAQxC,sFAAsF;AACtF,qBAAa,kBAAmB,YAAW,eAAe;IAOtD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,iBAAiB,CAAC,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAS;gBAEP,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE;QACxB,QAAQ,EAAE,eAAe,GAAG,UAAU,CAAC;QACvC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAWH,OAAO,CAAC,cAAc;IAWtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAG7B,YAAY,IAAI,MAAM,GAAG,IAAI;IAG7B,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAGnC,cAAc,IAAI,OAAO;IAGzB,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACrC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAuBlC,OAAO,CAAC,WAAW;IAkBnB,6EAA6E;IACvE,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAiG3C"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AdtBatchConnection = void 0;
|
|
4
4
|
const objects_1 = require("../endpoints/objects");
|
|
5
|
+
const acceptNegotiation_1 = require("../utils/acceptNegotiation");
|
|
6
|
+
const adtResponse_1 = require("../utils/adtResponse");
|
|
5
7
|
const wire_1 = require("./wire");
|
|
6
8
|
/** Records member requests; execute also drains requests queued during settlement. */
|
|
7
9
|
class AdtBatchConnection {
|
|
@@ -20,6 +22,9 @@ class AdtBatchConnection {
|
|
|
20
22
|
this.defaultSession =
|
|
21
23
|
options.endpoint === 'debugger' ? 'stateful' : 'stateless';
|
|
22
24
|
this.session = this.defaultSession;
|
|
25
|
+
// What SAP answers to a recorded request is the caller's: no member's
|
|
26
|
+
// accept negotiation corrects or resends through this connection.
|
|
27
|
+
(0, acceptNegotiation_1.exemptFromAcceptNegotiation)(this);
|
|
23
28
|
}
|
|
24
29
|
wrappedSession() {
|
|
25
30
|
const connection = this.connection;
|
|
@@ -102,7 +107,11 @@ class AdtBatchConnection {
|
|
|
102
107
|
endpoint: this.options.endpoint,
|
|
103
108
|
parts: active.length,
|
|
104
109
|
});
|
|
105
|
-
|
|
110
|
+
// Not through accept negotiation: when an `AdtClient` wrapped the
|
|
111
|
+
// connection, it would answer a 406/415 to the envelope by sending it
|
|
112
|
+
// again. A batch is the caller's, and so is what SAP answered to it.
|
|
113
|
+
// The connection's own handling (credential, CSRF, session) stays.
|
|
114
|
+
response = await (0, acceptNegotiation_1.getBaseRequest)(this.connection)({
|
|
106
115
|
url: objects_1.BATCH[this.options.endpoint],
|
|
107
116
|
method: 'POST',
|
|
108
117
|
timeout: 0,
|
|
@@ -125,7 +134,7 @@ class AdtBatchConnection {
|
|
|
125
134
|
if (parts.length !== active.length)
|
|
126
135
|
throw new Error(`ADT batch response part count mismatch: expected ${active.length}, received ${parts.length}`);
|
|
127
136
|
active = [];
|
|
128
|
-
// Let
|
|
137
|
+
// Let member continuations record their follow-up calls.
|
|
129
138
|
await new Promise((resolve) => setImmediate(resolve));
|
|
130
139
|
pending.push(...this.queue.splice(0));
|
|
131
140
|
if (!pending.length)
|
|
@@ -133,7 +142,13 @@ class AdtBatchConnection {
|
|
|
133
142
|
}
|
|
134
143
|
}
|
|
135
144
|
catch (error) {
|
|
136
|
-
|
|
145
|
+
// A credential refusal SAP was never asked about is the caller's signal
|
|
146
|
+
// to stop, so every part — sent, queued, or recorded while settling —
|
|
147
|
+
// rejects with that same object, never with the "not sent" wrapper: a
|
|
148
|
+
// member reached through `answering` rethrows it as it came.
|
|
149
|
+
const unsentError = (0, adtResponse_1.isUnansweredCredentialRefusal)(error)
|
|
150
|
+
? error
|
|
151
|
+
: new Error('ADT batch request not sent because an earlier batch envelope failed', { cause: error });
|
|
137
152
|
this.settlementFailure = { error: unsentError };
|
|
138
153
|
for (const part of active)
|
|
139
154
|
part.reject(error);
|
|
@@ -227,6 +227,10 @@ export declare class AdtClient {
|
|
|
227
227
|
* This is a safety net for abandoned locks (a forgot-to-unlock, or a managed
|
|
228
228
|
* flow that threw before its unlock). Preventing a timeout from interrupting a
|
|
229
229
|
* lock→unlock critical section remains the caller's responsibility.
|
|
230
|
+
*
|
|
231
|
+
* Rejects with the connection's credential refusal, the same object, when
|
|
232
|
+
* the provider refused before SAP was asked: the remaining locks stay in
|
|
233
|
+
* {@link pendingLocks}, untried.
|
|
230
234
|
*/
|
|
231
235
|
unlockAll(): Promise<LockFailure[]>;
|
|
232
236
|
/**
|
|
@@ -238,9 +242,13 @@ export declare class AdtClient {
|
|
|
238
242
|
/**
|
|
239
243
|
* Release all held locks when used with `await using`.
|
|
240
244
|
*
|
|
241
|
-
* Best-effort: like {@link unlockAll}, this
|
|
242
|
-
* fails is retained rather than surfaced as an error, so
|
|
243
|
-
* cannot mask the error that ended the `using` scope.
|
|
245
|
+
* Best-effort: like {@link unlockAll}, this throws for nothing SAP answered —
|
|
246
|
+
* a lock whose unlock fails is retained rather than surfaced as an error, so
|
|
247
|
+
* a disposer failure cannot mask the error that ended the `using` scope. The
|
|
248
|
+
* one exception is the credential refusal {@link unlockAll} rejects with: it
|
|
249
|
+
* is the caller's signal to stop and propagates as the same object (under
|
|
250
|
+
* `await using`, a scope that also threw sees the language's
|
|
251
|
+
* `SuppressedError` holding both). Any residual failures
|
|
244
252
|
* are logged as a warning and remain observable via {@link pendingLocks}.
|
|
245
253
|
* Callers that must react to unlock failures should call `unlockAll()`
|
|
246
254
|
* explicitly and inspect the returned `LockFailure[]`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtClient.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AdtClient.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -163,6 +163,10 @@ class AdtClient {
|
|
|
163
163
|
* This is a safety net for abandoned locks (a forgot-to-unlock, or a managed
|
|
164
164
|
* flow that threw before its unlock). Preventing a timeout from interrupting a
|
|
165
165
|
* lock→unlock critical section remains the caller's responsibility.
|
|
166
|
+
*
|
|
167
|
+
* Rejects with the connection's credential refusal, the same object, when
|
|
168
|
+
* the provider refused before SAP was asked: the remaining locks stay in
|
|
169
|
+
* {@link pendingLocks}, untried.
|
|
166
170
|
*/
|
|
167
171
|
async unlockAll() {
|
|
168
172
|
return this.lockRegistry.unlockAll();
|
|
@@ -178,9 +182,13 @@ class AdtClient {
|
|
|
178
182
|
/**
|
|
179
183
|
* Release all held locks when used with `await using`.
|
|
180
184
|
*
|
|
181
|
-
* Best-effort: like {@link unlockAll}, this
|
|
182
|
-
* fails is retained rather than surfaced as an error, so
|
|
183
|
-
* cannot mask the error that ended the `using` scope.
|
|
185
|
+
* Best-effort: like {@link unlockAll}, this throws for nothing SAP answered —
|
|
186
|
+
* a lock whose unlock fails is retained rather than surfaced as an error, so
|
|
187
|
+
* a disposer failure cannot mask the error that ended the `using` scope. The
|
|
188
|
+
* one exception is the credential refusal {@link unlockAll} rejects with: it
|
|
189
|
+
* is the caller's signal to stop and propagates as the same object (under
|
|
190
|
+
* `await using`, a scope that also threw sees the language's
|
|
191
|
+
* `SuppressedError` holding both). Any residual failures
|
|
184
192
|
* are logged as a warning and remain observable via {@link pendingLocks}.
|
|
185
193
|
* Callers that must react to unlock failures should call `unlockAll()`
|
|
186
194
|
* explicitly and inspect the returned `LockFailure[]`.
|
|
@@ -47,6 +47,13 @@ export declare class LockRegistry {
|
|
|
47
47
|
* Release every lock still held. Successfully released locks are dropped;
|
|
48
48
|
* locks whose unlock throws are kept and returned as failures.
|
|
49
49
|
*
|
|
50
|
+
* **A credential refusal SAP was never asked about ends the batch.** Every
|
|
51
|
+
* further unlock would only ask the credential provider again, so the loop
|
|
52
|
+
* stops there: that lock and every lock not yet tried stay held (see
|
|
53
|
+
* {@link pending}), the session is restored as on every path, and the refusal
|
|
54
|
+
* rejects as the same object rather than being returned as one failure among
|
|
55
|
+
* many.
|
|
56
|
+
*
|
|
50
57
|
* The whole batch runs under a single stateful→stateless transition so that a
|
|
51
58
|
* per-unlock switch to stateless can't clear the session mid-batch and break
|
|
52
59
|
* the remaining lock handles.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LockRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/shared/LockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"LockRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/shared/LockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjD,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;CACtD;AAED,qBAAa,YAAY;IASX,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IARrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IAExD;;;;;OAKG;gBAC0B,OAAO,CAAC,EAAE,kBAAkB,YAAA;IAEzD,uEAAuE;IACvE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAI7C,sDAAsD;IACtD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,gCAAgC;IAChC,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED;;;;;;;;;;;;;;OAcG;IACG,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAoB1C;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,2DAA2D;IAC3D,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GACnE,WAAW,CAWb"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.LockRegistry = void 0;
|
|
16
16
|
exports.createLockTracker = createLockTracker;
|
|
17
|
+
const adtResponse_1 = require("../../utils/adtResponse");
|
|
17
18
|
class LockRegistry {
|
|
18
19
|
session;
|
|
19
20
|
locks = new Map();
|
|
@@ -42,6 +43,13 @@ class LockRegistry {
|
|
|
42
43
|
* Release every lock still held. Successfully released locks are dropped;
|
|
43
44
|
* locks whose unlock throws are kept and returned as failures.
|
|
44
45
|
*
|
|
46
|
+
* **A credential refusal SAP was never asked about ends the batch.** Every
|
|
47
|
+
* further unlock would only ask the credential provider again, so the loop
|
|
48
|
+
* stops there: that lock and every lock not yet tried stay held (see
|
|
49
|
+
* {@link pending}), the session is restored as on every path, and the refusal
|
|
50
|
+
* rejects as the same object rather than being returned as one failure among
|
|
51
|
+
* many.
|
|
52
|
+
*
|
|
45
53
|
* The whole batch runs under a single stateful→stateless transition so that a
|
|
46
54
|
* per-unlock switch to stateless can't clear the session mid-batch and break
|
|
47
55
|
* the remaining lock handles.
|
|
@@ -58,6 +66,8 @@ class LockRegistry {
|
|
|
58
66
|
this.locks.delete(key);
|
|
59
67
|
}
|
|
60
68
|
catch (error) {
|
|
69
|
+
if ((0, adtResponse_1.isUnansweredCredentialRefusal)(error))
|
|
70
|
+
throw error;
|
|
61
71
|
failures.push({ key, error });
|
|
62
72
|
}
|
|
63
73
|
}
|
|
@@ -23,6 +23,17 @@
|
|
|
23
23
|
*
|
|
24
24
|
* An error raised *by* cleanup is logged, never propagated: a failing unlock must
|
|
25
25
|
* not replace the reason the chain failed, which is what the caller needs.
|
|
26
|
+
*
|
|
27
|
+
* **A credential refusal SAP was never asked about is not a failure to return.**
|
|
28
|
+
* When a step rejects with the connection's refusal (see `answering`), the
|
|
29
|
+
* cleanups and rollbacks still run, in the same order, and then the chain
|
|
30
|
+
* rejects with that same object — not converted, not wrapped, not written to —
|
|
31
|
+
* so a caller walking many objects stops. A rollback that did not complete
|
|
32
|
+
* cannot be said in the answer then, since the refusal is not this library's to
|
|
33
|
+
* change: it is logged (`warn`), as every cleanup failure already is. The same
|
|
34
|
+
* holds when a cleanup or rollback is what met the refusal on a chain that
|
|
35
|
+
* otherwise succeeded or failed: after unwinding, the chain rejects with the
|
|
36
|
+
* first such refusal, and the failure it would have returned is logged instead.
|
|
26
37
|
*/
|
|
27
38
|
import type { IAdtError, IAdtResponse } from '@mcp-abap-adt/interfaces-adt';
|
|
28
39
|
import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/core/shared/chain.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/core/shared/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAuB9D,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,qFAAqF;IACrF,UAAU,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;IAClD;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CAClD;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EAC5D,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA4G7B"}
|
|
@@ -39,24 +39,36 @@ async function chain(logger, body) {
|
|
|
39
39
|
onScopeEnd: (undo) => register(undos, undo),
|
|
40
40
|
onFailure: (undo) => register(rollbacks, undo),
|
|
41
41
|
};
|
|
42
|
+
// The first credential refusal SAP never saw that a cleanup or rollback met.
|
|
43
|
+
// Unwinding still runs every entry; the refusal is rethrown once it is done.
|
|
44
|
+
let cleanupRefusal;
|
|
42
45
|
const unwind = async (list, collect) => {
|
|
43
46
|
for (const undo of list.reverse()) {
|
|
44
47
|
try {
|
|
45
48
|
await undo();
|
|
46
49
|
}
|
|
47
50
|
catch (cleanupError) {
|
|
51
|
+
if (!cleanupRefusal && (0, adtResponse_1.isUnansweredCredentialRefusal)(cleanupError)) {
|
|
52
|
+
cleanupRefusal = { error: cleanupError };
|
|
53
|
+
}
|
|
48
54
|
const reason = (0, internalUtils_1.safeErrorMessage)(cleanupError);
|
|
49
55
|
logger?.warn?.('cleanup failed', { error: reason });
|
|
50
56
|
collect?.(reason);
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
};
|
|
60
|
+
let value;
|
|
54
61
|
try {
|
|
55
|
-
|
|
56
|
-
await unwind(undos);
|
|
57
|
-
return (0, adtResponse_1.succeeded)(value);
|
|
62
|
+
value = await body(scope);
|
|
58
63
|
}
|
|
59
64
|
catch (error) {
|
|
65
|
+
return abandon(error);
|
|
66
|
+
}
|
|
67
|
+
await unwind(undos);
|
|
68
|
+
if (cleanupRefusal)
|
|
69
|
+
throw cleanupRefusal.error;
|
|
70
|
+
return (0, adtResponse_1.succeeded)(value);
|
|
71
|
+
async function abandon(error) {
|
|
60
72
|
// Cleanups first, rollbacks after — the order a single reverse-ordered list
|
|
61
73
|
// already produced, since a rollback is registered before the lock it must
|
|
62
74
|
// outlive. A delete issued while the chain still holds the object's lock is
|
|
@@ -64,11 +76,30 @@ async function chain(logger, body) {
|
|
|
64
76
|
await unwind(undos);
|
|
65
77
|
const unrolled = [];
|
|
66
78
|
await unwind(rollbacks, (reason) => unrolled.push(reason));
|
|
79
|
+
// The refusal is the caller's to see, as it came, once everything that
|
|
80
|
+
// must run has run. What the rollback could not undo is in the log above.
|
|
81
|
+
if ((0, adtResponse_1.isUnansweredCredentialRefusal)(error)) {
|
|
82
|
+
if (unrolled.length > 0) {
|
|
83
|
+
logger?.warn?.('rollback did not complete before the credential refusal', {
|
|
84
|
+
error: unrolled.join('; '),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
67
89
|
// The same cast `answering` makes, for the same reason: a chain abandons
|
|
68
90
|
// with whatever failure its failing step answered, and a step that had no
|
|
69
91
|
// strategy answered the library's own `IAdtError` — which is what every `E`
|
|
70
92
|
// extends. Nothing a caller sees is cast.
|
|
71
93
|
const failure = error instanceof ChainAbandoned ? error.failure : (0, adtResponse_1.recogniseFailure)(error);
|
|
94
|
+
if (cleanupRefusal) {
|
|
95
|
+
// A cleanup or rollback met the refusal: that is the caller's signal to
|
|
96
|
+
// stop, and the failure this chain would have answered goes to the log.
|
|
97
|
+
logger?.warn?.('chain failed before a cleanup met a credential refusal', {
|
|
98
|
+
error: failure.message,
|
|
99
|
+
...(unrolled.length > 0 ? { rollback: unrolled.join('; ') } : {}),
|
|
100
|
+
});
|
|
101
|
+
throw cleanupRefusal.error;
|
|
102
|
+
}
|
|
72
103
|
if (unrolled.length === 0)
|
|
73
104
|
return (0, adtResponse_1.failed)(failure);
|
|
74
105
|
// **A rollback that failed has to reach the caller.** It used to end in a
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { IAbapConnection, IAbapRequestOptions, IAdtWireResponse } from '@mcp-abap-adt/interfaces-adt-connection';
|
|
2
2
|
import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
|
|
3
|
+
/** Mark a connection so accept negotiation never corrects or resends through it. */
|
|
4
|
+
export declare function exemptFromAcceptNegotiation(connection: IAbapConnection): void;
|
|
3
5
|
export interface IAcceptNegotiationOptions {
|
|
4
6
|
enableAcceptCorrection?: boolean;
|
|
5
7
|
logger?: ILogger;
|
|
@@ -12,6 +14,15 @@ export declare function setAcceptCorrectionEnabled(connection: IAbapConnection,
|
|
|
12
14
|
export declare function getAcceptCorrectionEnabled(connection: IAbapConnection): boolean;
|
|
13
15
|
export declare function extractSupportedAccept(error: unknown): string[];
|
|
14
16
|
export declare function extractSupportedContentType(error: unknown): string[];
|
|
17
|
+
/**
|
|
18
|
+
* The connection's request as it was before an `AdtClient` with correction on
|
|
19
|
+
* wrapped it: accept negotiation corrects and resends nothing. The
|
|
20
|
+
* connection's own handling (credential, CSRF, session) is untouched.
|
|
21
|
+
*
|
|
22
|
+
* Exported for the batch connection: what SAP answers to an envelope is the
|
|
23
|
+
* caller's to read.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getBaseRequest(connection: IAbapConnection): IAbapConnection['makeAdtRequest'];
|
|
15
26
|
export declare function wrapConnectionAcceptNegotiation(connection: IAbapConnection, logger?: ILogger): void;
|
|
16
27
|
export declare function makeAdtRequestWithAcceptNegotiation<T = unknown, D = unknown>(connection: IAbapConnection, request: IAbapRequestOptions, options?: IAcceptNegotiationOptions): Promise<IAdtWireResponse<T, D>>;
|
|
17
28
|
//# sourceMappingURL=acceptNegotiation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptNegotiation.d.ts","sourceRoot":"","sources":["../../src/utils/acceptNegotiation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptNegotiation.d.ts","sourceRoot":"","sources":["../../src/utils/acceptNegotiation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAkD9D,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAM7E;AAaD,MAAM,WAAW,yBAAyB;IACxC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAIlE;AAED,6DAA6D;AAC7D,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CAEN;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,eAAe,GAC1B,OAAO,CAIT;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAoC/D;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAsCpE;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,eAAe,GAC1B,eAAe,CAAC,gBAAgB,CAAC,CAInC;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,GACf,IAAI,CAkBN;AAED,wBAAsB,mCAAmC,CACvD,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,OAAO,EAEX,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAkFjC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exemptFromAcceptNegotiation = exemptFromAcceptNegotiation;
|
|
3
4
|
exports.clearAcceptCache = clearAcceptCache;
|
|
4
5
|
exports.setAcceptCorrectionEnabled = setAcceptCorrectionEnabled;
|
|
5
6
|
exports.getAcceptCorrectionEnabled = getAcceptCorrectionEnabled;
|
|
6
7
|
exports.extractSupportedAccept = extractSupportedAccept;
|
|
7
8
|
exports.extractSupportedContentType = extractSupportedContentType;
|
|
9
|
+
exports.getBaseRequest = getBaseRequest;
|
|
8
10
|
exports.wrapConnectionAcceptNegotiation = wrapConnectionAcceptNegotiation;
|
|
9
11
|
exports.makeAdtRequestWithAcceptNegotiation = makeAdtRequestWithAcceptNegotiation;
|
|
10
12
|
const STATE = Symbol.for('@mcp-abap-adt/adt-clients/acceptNegotiation');
|
|
@@ -21,6 +23,24 @@ function stateOf(connection) {
|
|
|
21
23
|
}
|
|
22
24
|
return state;
|
|
23
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* The mark of a connection accept negotiation never touches: a recording batch
|
|
28
|
+
* connection. What SAP answers to a recorded request — a `406`/`415` included —
|
|
29
|
+
* is the batch caller's to read, so nothing is corrected, cached or sent again,
|
|
30
|
+
* whatever switch an `AdtClient` built over it was given.
|
|
31
|
+
*/
|
|
32
|
+
const NO_NEGOTIATION = Symbol.for('@mcp-abap-adt/adt-clients/acceptNegotiation/none');
|
|
33
|
+
/** Mark a connection so accept negotiation never corrects or resends through it. */
|
|
34
|
+
function exemptFromAcceptNegotiation(connection) {
|
|
35
|
+
Object.defineProperty(connection, NO_NEGOTIATION, {
|
|
36
|
+
value: true,
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: false,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function isExempt(connection) {
|
|
42
|
+
return (connection[NO_NEGOTIATION] === true);
|
|
43
|
+
}
|
|
24
44
|
const baseRequestMap = new WeakMap();
|
|
25
45
|
/** Forget what this connection learned. */
|
|
26
46
|
function clearAcceptCache(connection) {
|
|
@@ -107,11 +127,19 @@ function extractSupportedContentType(error) {
|
|
|
107
127
|
function buildCacheKey(request) {
|
|
108
128
|
return `${request.method.toUpperCase()} ${request.url}`;
|
|
109
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* The connection's request as it was before an `AdtClient` with correction on
|
|
132
|
+
* wrapped it: accept negotiation corrects and resends nothing. The
|
|
133
|
+
* connection's own handling (credential, CSRF, session) is untouched.
|
|
134
|
+
*
|
|
135
|
+
* Exported for the batch connection: what SAP answers to an envelope is the
|
|
136
|
+
* caller's to read.
|
|
137
|
+
*/
|
|
110
138
|
function getBaseRequest(connection) {
|
|
111
139
|
return (baseRequestMap.get(connection) ?? connection.makeAdtRequest.bind(connection));
|
|
112
140
|
}
|
|
113
141
|
function wrapConnectionAcceptNegotiation(connection, logger) {
|
|
114
|
-
if (baseRequestMap.has(connection)) {
|
|
142
|
+
if (baseRequestMap.has(connection) || isExempt(connection)) {
|
|
115
143
|
return;
|
|
116
144
|
}
|
|
117
145
|
const baseRequest = connection.makeAdtRequest.bind(connection);
|
|
@@ -121,6 +149,9 @@ function wrapConnectionAcceptNegotiation(connection, logger) {
|
|
|
121
149
|
};
|
|
122
150
|
}
|
|
123
151
|
async function makeAdtRequestWithAcceptNegotiation(connection, request, options) {
|
|
152
|
+
if (isExempt(connection)) {
|
|
153
|
+
return getBaseRequest(connection)(request);
|
|
154
|
+
}
|
|
124
155
|
const enableCorrection = options?.enableAcceptCorrection ?? getAcceptCorrectionEnabled(connection);
|
|
125
156
|
const { accept: acceptCache, contentType: contentTypeCache } = stateOf(connection);
|
|
126
157
|
const logger = options?.logger;
|
|
@@ -37,6 +37,16 @@ import type { IAdtWireResponse } from '@mcp-abap-adt/interfaces-adt-connection';
|
|
|
37
37
|
export declare function succeeded<T, E extends IAdtError = IAdtError>(value: T): IAdtResponse<T, E>;
|
|
38
38
|
/** An answer that failed, carrying what the error strategy made of it. */
|
|
39
39
|
export declare function failed<T, E extends IAdtError = IAdtError>(error: E): IAdtResponse<T, E>;
|
|
40
|
+
/**
|
|
41
|
+
* Whether `error` is a credential refusal SAP was never asked about: the
|
|
42
|
+
* connection's refusal with no `401` from SAP as its cause.
|
|
43
|
+
*
|
|
44
|
+
* Module-internal (not in the package's index). Every place in this library
|
|
45
|
+
* that catches what a request threw asks this first, after its own cleanup, and
|
|
46
|
+
* rethrows such a refusal as the same object — never converted, wrapped or
|
|
47
|
+
* swallowed — so a caller walking many objects sees it and stops.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isUnansweredCredentialRefusal(error: unknown): boolean;
|
|
40
50
|
/**
|
|
41
51
|
* The default error strategy: what this library recognises as a failure.
|
|
42
52
|
*
|
|
@@ -49,8 +59,9 @@ export declare function failed<T, E extends IAdtError = IAdtError>(error: E): IA
|
|
|
49
59
|
* document this library could not read is its own failure, not the server's, and
|
|
50
60
|
* `interfaces@31.0.0` removed `'parse'` from `AdtFailureOrigin` for that reason:
|
|
51
61
|
* a strategy is free to read an answer any way it likes, or not to parse at all.
|
|
52
|
-
*
|
|
53
|
-
*
|
|
62
|
+
* Thrown by a reading, it is not caught by {@link answering} and surfaces as
|
|
63
|
+
* itself; thrown inside the request, it falls through to `'connection'` like
|
|
64
|
+
* anything else from below.
|
|
54
65
|
*/
|
|
55
66
|
export declare function recogniseFailure(error: unknown): IAdtError;
|
|
56
67
|
/**
|
|
@@ -81,6 +92,23 @@ export declare const nothingIsARefusal: IAnalyse<IAdtError>;
|
|
|
81
92
|
* | returned | yes | none | — | the value, or a failure if `analyse` names one |
|
|
82
93
|
* | threw, response attached | yes | `recogniseFailure` | **yes** | cleared → the value read from that same wire |
|
|
83
94
|
* | threw, no response | **no** | `recogniseFailure` | **no** | always a failure |
|
|
95
|
+
* | credential refused, SAP answered `401` | **no** | `recogniseFailure`, SAP's response | **no** | always a failure |
|
|
96
|
+
* | credential refused, SAP not asked | — | — | — | **rejects** with the refusal as it came |
|
|
97
|
+
*
|
|
98
|
+
* SAP answered only when the refusal's cause carries a response of status
|
|
99
|
+
* `401` (`cause.response.status`, one level down). Any other status there — an
|
|
100
|
+
* identity provider's `400 invalid_grant` a provider threw — is the provider's,
|
|
101
|
+
* not SAP's, and the refusal rejects.
|
|
102
|
+
*
|
|
103
|
+
* **A credential refusal SAP never saw is not an answer.** The connection
|
|
104
|
+
* raises one when the credential provider says no before the request reaches
|
|
105
|
+
* SAP — a login that ended, a token the identity provider will not renew.
|
|
106
|
+
* There is nothing to read and nothing to analyse, and every further request
|
|
107
|
+
* would ask the provider again, so it rejects with the same object instead of
|
|
108
|
+
* coming back as a failure. A credential SAP refused (a `401` the provider
|
|
109
|
+
* could not renew) is SAP's answer: it comes back as a failure carrying that
|
|
110
|
+
* response, and, the response being SAP's verdict on the credential and not a
|
|
111
|
+
* document, `analyse` cannot clear it.
|
|
84
112
|
*
|
|
85
113
|
* **A verdict can only be cleared when there is an answer to read.** A socket
|
|
86
114
|
* that would not open, a session that is gone, an authentication that failed —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adtResponse.d.ts","sourceRoot":"","sources":["../../src/utils/adtResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAEV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAGhF;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EAC1D,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAKpB;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACvD,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAKpB;
|
|
1
|
+
{"version":3,"file":"adtResponse.d.ts","sourceRoot":"","sources":["../../src/utils/adtResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAEV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAGhF;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EAC1D,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAKpB;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACvD,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAKpB;AA2DD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAuC1D;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAwB,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EAChE,GAAG,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,EACpC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA8C7B;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC,CASZ"}
|
|
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.nothingIsARefusal = void 0;
|
|
30
30
|
exports.succeeded = succeeded;
|
|
31
31
|
exports.failed = failed;
|
|
32
|
+
exports.isUnansweredCredentialRefusal = isUnansweredCredentialRefusal;
|
|
32
33
|
exports.recogniseFailure = recogniseFailure;
|
|
33
34
|
exports.answering = answering;
|
|
34
35
|
exports.orThrow = orThrow;
|
|
@@ -55,6 +56,50 @@ function failed(error) {
|
|
|
55
56
|
getError: () => error,
|
|
56
57
|
};
|
|
57
58
|
}
|
|
59
|
+
function ownValue(holder, key) {
|
|
60
|
+
if (holder === null || typeof holder !== 'object')
|
|
61
|
+
return undefined;
|
|
62
|
+
const descriptor = Object.getOwnPropertyDescriptor(holder, key);
|
|
63
|
+
return descriptor && 'value' in descriptor ? descriptor.value : undefined;
|
|
64
|
+
}
|
|
65
|
+
function credentialRefusal(error) {
|
|
66
|
+
if (ownValue(error, 'response') !== undefined)
|
|
67
|
+
return undefined;
|
|
68
|
+
const refusal = ownValue(error, 'refusal');
|
|
69
|
+
if (typeof ownValue(refusal, 'kind') !== 'string' ||
|
|
70
|
+
typeof ownValue(refusal, 'reason') !== 'string' ||
|
|
71
|
+
typeof ownValue(error, 'at') !== 'string') {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
// One level down, and only there: the connection puts the wire's error as
|
|
75
|
+
// the cause when SAP refused the credential, and the provider's own throw
|
|
76
|
+
// when it never got that far. Only a 401 is SAP refusing the credential: a
|
|
77
|
+
// provider's throw may carry a response of its own — an identity provider's
|
|
78
|
+
// 400 invalid_grant — and that is not SAP answering.
|
|
79
|
+
const cause = ownValue(error, 'cause');
|
|
80
|
+
const response = ownValue(cause, 'response');
|
|
81
|
+
if (ownValue(response, 'status') !== 401)
|
|
82
|
+
return {};
|
|
83
|
+
return {
|
|
84
|
+
answered: {
|
|
85
|
+
response: response,
|
|
86
|
+
request: ownValue(cause, 'request'),
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Whether `error` is a credential refusal SAP was never asked about: the
|
|
92
|
+
* connection's refusal with no `401` from SAP as its cause.
|
|
93
|
+
*
|
|
94
|
+
* Module-internal (not in the package's index). Every place in this library
|
|
95
|
+
* that catches what a request threw asks this first, after its own cleanup, and
|
|
96
|
+
* rethrows such a refusal as the same object — never converted, wrapped or
|
|
97
|
+
* swallowed — so a caller walking many objects sees it and stops.
|
|
98
|
+
*/
|
|
99
|
+
function isUnansweredCredentialRefusal(error) {
|
|
100
|
+
const refused = credentialRefusal(error);
|
|
101
|
+
return refused !== undefined && refused.answered === undefined;
|
|
102
|
+
}
|
|
58
103
|
/**
|
|
59
104
|
* The default error strategy: what this library recognises as a failure.
|
|
60
105
|
*
|
|
@@ -67,8 +112,9 @@ function failed(error) {
|
|
|
67
112
|
* document this library could not read is its own failure, not the server's, and
|
|
68
113
|
* `interfaces@31.0.0` removed `'parse'` from `AdtFailureOrigin` for that reason:
|
|
69
114
|
* a strategy is free to read an answer any way it likes, or not to parse at all.
|
|
70
|
-
*
|
|
71
|
-
*
|
|
115
|
+
* Thrown by a reading, it is not caught by {@link answering} and surfaces as
|
|
116
|
+
* itself; thrown inside the request, it falls through to `'connection'` like
|
|
117
|
+
* anything else from below.
|
|
72
118
|
*/
|
|
73
119
|
function recogniseFailure(error) {
|
|
74
120
|
if (error instanceof adtErrors_1.AdtSAPError) {
|
|
@@ -81,6 +127,18 @@ function recogniseFailure(error) {
|
|
|
81
127
|
request: error.request,
|
|
82
128
|
};
|
|
83
129
|
}
|
|
130
|
+
// SAP refused the credential and the provider could not renew it: SAP's
|
|
131
|
+
// answer, carried by the connection as the refusal's cause, is the failure,
|
|
132
|
+
// in the refusal's own words.
|
|
133
|
+
const answered = credentialRefusal(error)?.answered;
|
|
134
|
+
if (answered) {
|
|
135
|
+
return {
|
|
136
|
+
origin: 'connection',
|
|
137
|
+
message: error.message ?? 'The credential was refused',
|
|
138
|
+
response: answered.response,
|
|
139
|
+
request: answered.request,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
84
142
|
// Everything else reached us from below the ADT conversation: a status the
|
|
85
143
|
// transport refused, a socket that would not open, a session that is gone.
|
|
86
144
|
const carried = error;
|
|
@@ -124,6 +182,23 @@ exports.nothingIsARefusal = nothingIsARefusal;
|
|
|
124
182
|
* | returned | yes | none | — | the value, or a failure if `analyse` names one |
|
|
125
183
|
* | threw, response attached | yes | `recogniseFailure` | **yes** | cleared → the value read from that same wire |
|
|
126
184
|
* | threw, no response | **no** | `recogniseFailure` | **no** | always a failure |
|
|
185
|
+
* | credential refused, SAP answered `401` | **no** | `recogniseFailure`, SAP's response | **no** | always a failure |
|
|
186
|
+
* | credential refused, SAP not asked | — | — | — | **rejects** with the refusal as it came |
|
|
187
|
+
*
|
|
188
|
+
* SAP answered only when the refusal's cause carries a response of status
|
|
189
|
+
* `401` (`cause.response.status`, one level down). Any other status there — an
|
|
190
|
+
* identity provider's `400 invalid_grant` a provider threw — is the provider's,
|
|
191
|
+
* not SAP's, and the refusal rejects.
|
|
192
|
+
*
|
|
193
|
+
* **A credential refusal SAP never saw is not an answer.** The connection
|
|
194
|
+
* raises one when the credential provider says no before the request reaches
|
|
195
|
+
* SAP — a login that ended, a token the identity provider will not renew.
|
|
196
|
+
* There is nothing to read and nothing to analyse, and every further request
|
|
197
|
+
* would ask the provider again, so it rejects with the same object instead of
|
|
198
|
+
* coming back as a failure. A credential SAP refused (a `401` the provider
|
|
199
|
+
* could not renew) is SAP's answer: it comes back as a failure carrying that
|
|
200
|
+
* response, and, the response being SAP's verdict on the credential and not a
|
|
201
|
+
* document, `analyse` cannot clear it.
|
|
127
202
|
*
|
|
128
203
|
* **A verdict can only be cleared when there is an answer to read.** A socket
|
|
129
204
|
* that would not open, a session that is gone, an authentication that failed —
|
|
@@ -144,6 +219,11 @@ async function answering(run, read, analyse) {
|
|
|
144
219
|
wire = await run();
|
|
145
220
|
}
|
|
146
221
|
catch (error) {
|
|
222
|
+
// The provider refused before SAP said anything: no answer exists to come
|
|
223
|
+
// back, and every further request would only ask the provider again. It is
|
|
224
|
+
// thrown as it came — the same object, before any strategy sees it.
|
|
225
|
+
if (isUnansweredCredentialRefusal(error))
|
|
226
|
+
throw error;
|
|
147
227
|
verdict = recogniseFailure(error);
|
|
148
228
|
wire = error?.response;
|
|
149
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestTrace.d.ts","sourceRoot":"","sources":["../../src/utils/requestTrace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"requestTrace.d.ts","sourceRoot":"","sources":["../../src/utils/requestTrace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAGjD,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,MAAM,CAAC,EAAE,gBAAgB,GACxB,gBAAgB,GAAG,SAAS,CAI9B;AAKD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,CAmD7E"}
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
34
|
exports.requestOf = requestOf;
|
|
35
35
|
exports.withRequestTrace = withRequestTrace;
|
|
36
|
+
const adtResponse_1 = require("./adtResponse");
|
|
36
37
|
/**
|
|
37
38
|
* Read the trace back off an answer, for an `analyse` building a failure.
|
|
38
39
|
*
|
|
@@ -97,6 +98,12 @@ function withRequestTrace(connection) {
|
|
|
97
98
|
// No check that the thrown thing can carry a field. A transport that
|
|
98
99
|
// throws a string is broken in a way this wrapper must not paper over,
|
|
99
100
|
// and the TypeError says so where a silent skip would not.
|
|
101
|
+
//
|
|
102
|
+
// A credential refusal SAP was never asked about is not annotated: it is
|
|
103
|
+
// the connection's own object, rethrown to the caller as it came, and
|
|
104
|
+
// this wrapper does not write onto it.
|
|
105
|
+
if ((0, adtResponse_1.isUnansweredCredentialRefusal)(error))
|
|
106
|
+
throw error;
|
|
100
107
|
error.request = asked;
|
|
101
108
|
throw error;
|
|
102
109
|
}
|
package/docs/usage/BATCH.md
CHANGED
|
@@ -73,6 +73,19 @@ Use the real handles and inspect activation messages, including `type="E"`.
|
|
|
73
73
|
The transport provides no transaction or rollback; callers own recovery and
|
|
74
74
|
cleanup after partial failures.
|
|
75
75
|
|
|
76
|
+
Accept negotiation never corrects or resends an envelope or its parts. A batch
|
|
77
|
+
connection is exempt from it: an `AdtClient` built over one does not wrap it,
|
|
78
|
+
whatever `enableAcceptCorrection` it is given, and a member that negotiates by
|
|
79
|
+
itself sends through it once. On a connection an `AdtClient` wrapped with
|
|
80
|
+
correction on, a `406` or `415` answered to the envelope reaches `execute()` and
|
|
81
|
+
every part of that envelope as it came. A part's own `401`, `406` or `415` is
|
|
82
|
+
that part's answer like any other status; nothing reads it, corrects it or
|
|
83
|
+
sends it again. A batch is yours, and so is
|
|
84
|
+
what SAP answered to each of its parts. The envelope request itself still goes
|
|
85
|
+
through the connection's own handling — credential renewal, CSRF recovery and
|
|
86
|
+
session — as every request does: that is about the connection to the endpoint,
|
|
87
|
+
not about what the parts answered.
|
|
88
|
+
|
|
76
89
|
At an attached debugger stop, use the attached connection and its stateful session:
|
|
77
90
|
|
|
78
91
|
```typescript
|
|
@@ -103,8 +116,8 @@ parts in the failed envelope. Unsent runs and queued follow-ups reject with a
|
|
|
103
116
|
library error saying the request was not sent because an earlier envelope failed;
|
|
104
117
|
that error carries the cause, without a SAP response. Missing parts reject with a part-count error. A count
|
|
105
118
|
mismatch also rejects `execute()`. Attach rejection handlers before execution when
|
|
106
|
-
using raw connection promises. Each execute sends follow-up envelopes for requests recorded during settlement
|
|
107
|
-
|
|
119
|
+
using raw connection promises. Each execute sends follow-up envelopes for requests recorded during settlement
|
|
120
|
+
by member continuations; accept negotiation records none. It yields one event-loop turn
|
|
108
121
|
after settling each envelope to let member continuations record requests. It
|
|
109
122
|
returns the last outer response once that queue is empty. A limit of 100 envelopes
|
|
110
123
|
rejects execution and all remaining requests rather than looping forever.
|
|
@@ -121,7 +134,7 @@ For ordinary client members, LOCK and UNLOCK run stateful; creates, writes, read
|
|
|
121
134
|
and deletes run stateless. Group creates before locks, and writes before unlocks,
|
|
122
135
|
to avoid one envelope per alternating request. One execute can send several
|
|
123
136
|
envelopes and provides no transaction across them. Inner HTTP failures remain
|
|
124
|
-
per-part failures and do not stop later runs
|
|
137
|
+
per-part failures and do not stop later runs.
|
|
125
138
|
|
|
126
139
|
Stateful parts carry `X-sap-adt-sessiontype: stateful`. The wrapped session mode
|
|
127
140
|
is restored afterward. Connections exposing `getSessionMode()` or
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Migrating to 33.0.0
|
|
2
|
+
|
|
3
|
+
33.0.0 changes no type and no dependency range. It changes what a member does
|
|
4
|
+
when the connection refuses the credential, which the type system cannot show:
|
|
5
|
+
a promise that used to resolve with a failure may now reject.
|
|
6
|
+
|
|
7
|
+
## A credential the provider refused before SAP was asked
|
|
8
|
+
|
|
9
|
+
`@mcp-abap-adt/connection` raises `AuthRefusedError` when the credential
|
|
10
|
+
provider says no — a login that ended, a refresh token the identity provider
|
|
11
|
+
will not renew, a client the identity provider refuses. When that happens
|
|
12
|
+
before the request reaches SAP, a member used to answer
|
|
13
|
+
`{ ok: false, origin: 'connection' }` with the refusal's message and nothing
|
|
14
|
+
else: its `refusal` (the minted error, with `kind` and `facts`) was dropped.
|
|
15
|
+
|
|
16
|
+
Now the member **rejects with that error, the same object**, before `analyse`
|
|
17
|
+
or the reading is called. Code that checks `answer.ok` and does not catch now
|
|
18
|
+
sees the rejection. Catch it where you call members, read its `refusal`, and
|
|
19
|
+
stop: every further request would ask the provider again.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
try {
|
|
23
|
+
const answer = await client.getClass().read({ className });
|
|
24
|
+
if (!answer.ok) { /* SAP's answer, or no answer arrived */ }
|
|
25
|
+
} catch (error) {
|
|
26
|
+
// The provider refused the credential; `error.refusal.kind` says why.
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`orThrow` passes the same object through.
|
|
32
|
+
|
|
33
|
+
The same holds everywhere else this library catches what a request threw:
|
|
34
|
+
|
|
35
|
+
- **A multi-step member** (lock, write, unlock — a message write, say) still
|
|
36
|
+
runs its unlocks and rollbacks, then rejects with the refusal. A rollback
|
|
37
|
+
that did not complete is logged (`warn`), not attached: the refusal is not
|
|
38
|
+
this library's to change. A refusal met by an unlock on a chain that had
|
|
39
|
+
otherwise succeeded or failed rejects the same way, after every cleanup ran;
|
|
40
|
+
the failure the chain would have answered is logged.
|
|
41
|
+
- **`AdtClient.unlockAll()`** used to return every failed unlock as a
|
|
42
|
+
`LockFailure`. It now stops at a refusal and rejects with it; that lock and
|
|
43
|
+
those not yet tried stay in `pendingLocks`. **`await using`** (the client's
|
|
44
|
+
`Symbol.asyncDispose`) lets it through — under `await using` a scope that
|
|
45
|
+
also threw sees the language's `SuppressedError` holding both.
|
|
46
|
+
- **`AdtBatchConnection.execute()`** rejects every part with the refusal —
|
|
47
|
+
sent, unsent and recorded while settling — where unsent parts used to get
|
|
48
|
+
"ADT batch request not sent because an earlier batch envelope failed". A
|
|
49
|
+
member recorded on the batch rejects with it too.
|
|
50
|
+
|
|
51
|
+
## A credential SAP refused
|
|
52
|
+
|
|
53
|
+
When SAP answered `401` and the provider could not renew the credential, the
|
|
54
|
+
refusal carries SAP's response as its cause (`cause.response.status ===
|
|
55
|
+
401`). A member now answers a failure with that response
|
|
56
|
+
(`response.status === 401`) and the request it was sent with, where it used
|
|
57
|
+
to answer one with neither. The message is the refusal's.
|
|
58
|
+
`analyse` still sees it, but cannot clear it: there is no document to read.
|
|
59
|
+
|
|
60
|
+
## How a refusal is recognised
|
|
61
|
+
|
|
62
|
+
By shape, not by `instanceof`: own data properties `refusal` (an object with
|
|
63
|
+
string `kind` and `reason`) and `at` (a string), and no own `response`. SAP's
|
|
64
|
+
answer is looked for one level down only, as `cause.response` with
|
|
65
|
+
`status` exactly `401`: any other status there (an identity provider's
|
|
66
|
+
`400 invalid_grant` a provider threw) is not SAP answering, and the refusal
|
|
67
|
+
rejects. Getters are never run. A value of your own that carries this shape is
|
|
68
|
+
treated the same way.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Migrating to 34.0.0
|
|
2
|
+
|
|
3
|
+
34.0.0 changes no type and no dependency range. It changes what a batch does
|
|
4
|
+
with a `406` or `415`.
|
|
5
|
+
|
|
6
|
+
## A batch corrects and resends nothing
|
|
7
|
+
|
|
8
|
+
Until 33.x, a member recorded through `AdtBatchConnection` kept accept
|
|
9
|
+
negotiation: a part SAP answered `406` (its `Accept` not served) or `415` (its
|
|
10
|
+
`Content-Type` not accepted) was corrected from the supported types SAP named
|
|
11
|
+
and recorded again, and `execute()` sent it in a follow-up envelope. The call
|
|
12
|
+
resolved with the corrected request's answer, and SAP's `406`/`415` was gone.
|
|
13
|
+
|
|
14
|
+
Now a batch connection is exempt from accept negotiation:
|
|
15
|
+
|
|
16
|
+
- a part's `406` or `415` is that call's answer, a failure carrying SAP's
|
|
17
|
+
response, like any other status;
|
|
18
|
+
- an `AdtClient` built over a batch connection does not wrap it, whatever
|
|
19
|
+
`enableAcceptCorrection` it is given, and a member that negotiates by itself
|
|
20
|
+
sends through it once;
|
|
21
|
+
- a `406`/`415` answered to the envelope itself, on a connection an `AdtClient`
|
|
22
|
+
wrapped with correction on, reaches `execute()` and the envelope's parts as it
|
|
23
|
+
came; the envelope is not sent again.
|
|
24
|
+
|
|
25
|
+
A batch is yours: read each answer and decide what to send again, in a batch of
|
|
26
|
+
your own. The supported types are in the failure's `response` (headers and
|
|
27
|
+
body), where accept negotiation used to read them.
|
|
28
|
+
|
|
29
|
+
The connection's own handling of the envelope request — credential renewal,
|
|
30
|
+
CSRF recovery, session — is unchanged.
|
|
31
|
+
|
|
32
|
+
Outside a batch nothing changes: accept negotiation works as before.
|