arc-1 0.9.6 → 0.9.8
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 +2 -2
- package/dist/adt/abapgit.d.ts +2 -1
- package/dist/adt/abapgit.d.ts.map +1 -1
- package/dist/adt/abapgit.js +2 -2
- package/dist/adt/abapgit.js.map +1 -1
- package/dist/adt/btp.d.ts.map +1 -1
- package/dist/adt/btp.js +7 -3
- package/dist/adt/btp.js.map +1 -1
- package/dist/adt/class-structure.d.ts +176 -0
- package/dist/adt/class-structure.d.ts.map +1 -0
- package/dist/adt/class-structure.js +317 -0
- package/dist/adt/class-structure.js.map +1 -0
- package/dist/adt/client.d.ts +112 -1
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +245 -3
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/crud.d.ts +38 -0
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +73 -1
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/errors.d.ts +2 -2
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +50 -6
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/gcts.d.ts +3 -2
- package/dist/adt/gcts.d.ts.map +1 -1
- package/dist/adt/gcts.js +4 -4
- package/dist/adt/gcts.js.map +1 -1
- package/dist/adt/http.d.ts +18 -0
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +50 -43
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/package-hierarchy.d.ts +67 -0
- package/dist/adt/package-hierarchy.d.ts.map +1 -0
- package/dist/adt/package-hierarchy.js +100 -0
- package/dist/adt/package-hierarchy.js.map +1 -0
- package/dist/adt/release.d.ts +35 -0
- package/dist/adt/release.d.ts.map +1 -0
- package/dist/adt/release.js +48 -0
- package/dist/adt/release.js.map +1 -0
- package/dist/adt/safety.d.ts +39 -3
- package/dist/adt/safety.d.ts.map +1 -1
- package/dist/adt/safety.js +136 -15
- package/dist/adt/safety.js.map +1 -1
- package/dist/adt/types.d.ts +74 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/xml-parser.d.ts +46 -1
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +231 -0
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +12 -0
- package/dist/authz/policy.js.map +1 -1
- package/dist/context/grep.d.ts +48 -0
- package/dist/context/grep.d.ts.map +1 -0
- package/dist/context/grep.js +146 -0
- package/dist/context/grep.js.map +1 -0
- package/dist/handlers/intent.d.ts.map +1 -1
- package/dist/handlers/intent.js +430 -24
- package/dist/handlers/intent.js.map +1 -1
- package/dist/handlers/schemas.d.ts +42 -4
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +85 -9
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +68 -12
- package/dist/handlers/tools.js.map +1 -1
- package/dist/server/http.d.ts +18 -0
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +107 -4
- package/dist/server/http.js.map +1 -1
- package/dist/server/oauth-state.d.ts +90 -0
- package/dist/server/oauth-state.d.ts.map +1 -0
- package/dist/server/oauth-state.js +160 -0
- package/dist/server/oauth-state.js.map +1 -0
- package/dist/server/server.d.ts +20 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +45 -11
- package/dist/server/server.js.map +1 -1
- package/dist/server/xsuaa.d.ts +10 -0
- package/dist/server/xsuaa.d.ts.map +1 -1
- package/dist/server/xsuaa.js +53 -19
- package/dist/server/xsuaa.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stateless, signed OAuth `state` codec for the XSUAA callback proxy.
|
|
3
|
+
*
|
|
4
|
+
* ── Why this exists (issue #214) ──────────────────────────────────────
|
|
5
|
+
* XSUAA echoes a literal `+` (not `%2B`) for any `state` value that
|
|
6
|
+
* contains `+` when it redirects back to the OAuth client. Standard base64
|
|
7
|
+
* `state` values (e.g. VS Code generates `randomBytes(16).toString('base64')`)
|
|
8
|
+
* contain `+` ~50% of the time. The receiving client parses the callback
|
|
9
|
+
* query string with `application/x-www-form-urlencoded` semantics, where
|
|
10
|
+
* `+` decodes to a space, so the round-tripped `state` no longer matches the
|
|
11
|
+
* value the client generated → "State does not match" → login fails.
|
|
12
|
+
*
|
|
13
|
+
* ARC-1 cannot influence what XSUAA emits, and XSUAA redirects DIRECTLY to
|
|
14
|
+
* the client today (ARC-1 is not in the return path). The only fix is to
|
|
15
|
+
* insert ARC-1 into the return path: send XSUAA a `state` that ARC-1
|
|
16
|
+
* controls and that is immune to the `+` bug, then re-emit the client's
|
|
17
|
+
* ORIGINAL `state` correctly when redirecting back to the client.
|
|
18
|
+
*
|
|
19
|
+
* ── How this codec is immune to the `+` bug ───────────────────────────
|
|
20
|
+
* The token is `base64url(payload) + "." + base64url(sig)`. base64url uses
|
|
21
|
+
* the alphabet `A-Za-z0-9-_` — no `+`, no `/`. The `.` separator is an
|
|
22
|
+
* RFC 3986 unreserved character. So the entire token is URL-safe: XSUAA has
|
|
23
|
+
* no `+` to mangle, and Express's `+`→space query decoding is a no-op on it.
|
|
24
|
+
* The client's real `state` (which may contain `+`) rides INSIDE the opaque
|
|
25
|
+
* base64url payload, so it survives the XSUAA round-trip untouched.
|
|
26
|
+
*
|
|
27
|
+
* ── Why stateless (vs an in-memory map) ───────────────────────────────
|
|
28
|
+
* Mirrors the StatelessDcrClientStore design (PR #212): the token carries
|
|
29
|
+
* its own payload + HMAC signature, so any instance with the same signing
|
|
30
|
+
* key can validate it. No in-memory map → survives `cf restart`, cell
|
|
31
|
+
* moves, and horizontal scale-out. The signing key is derived (HKDF-style)
|
|
32
|
+
* from the same secret the DCR store uses, with a distinct domain-separation
|
|
33
|
+
* label so the two key spaces never overlap.
|
|
34
|
+
*
|
|
35
|
+
* ── Upstream tracking / when this whole module can be deleted ──────────
|
|
36
|
+
* This is a WORKAROUND for an XSUAA bug. It can be removed ONLY when XSUAA
|
|
37
|
+
* stops emitting a literal `+` (emits `%2B`) for `state` on the authorize
|
|
38
|
+
* redirect. Tracking:
|
|
39
|
+
* - arc-1 issue: https://github.com/marianfoo/arc-1/issues/214
|
|
40
|
+
* - XSUAA root cause: no public SAP Note as of 2026-06; the `+`→literal
|
|
41
|
+
* echo is the actual defect and the only thing whose
|
|
42
|
+
* fix makes this module removable.
|
|
43
|
+
* - VS Code (client): https://github.com/microsoft/vscode/issues/314715
|
|
44
|
+
* asks VS Code to use base64url `state`. If accepted it
|
|
45
|
+
* fixes the VS Code SYMPTOM only — other MCP clients
|
|
46
|
+
* (Cursor, claude.ai, Copilot Studio, …) still send
|
|
47
|
+
* base64 `state` containing `+`, so the callback proxy
|
|
48
|
+
* stays until the XSUAA-side fix lands. Do NOT delete
|
|
49
|
+
* this module just because vscode#314715 closes.
|
|
50
|
+
* To verify whether the XSUAA bug is gone, re-run the issue #214 spectrum
|
|
51
|
+
* reproducer (see the issue thread) against the target XSUAA tenant.
|
|
52
|
+
*/
|
|
53
|
+
export type DecodeResult = {
|
|
54
|
+
kind: 'ok';
|
|
55
|
+
clientState?: string;
|
|
56
|
+
clientRedirectUri: string;
|
|
57
|
+
} | {
|
|
58
|
+
kind: 'error';
|
|
59
|
+
reason: 'malformed' | 'bad_signature' | 'invalid_payload' | 'expired';
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Signs and verifies OAuth `state` tokens for the XSUAA callback proxy.
|
|
63
|
+
*/
|
|
64
|
+
export declare class OAuthStateCodec {
|
|
65
|
+
private readonly hmacKey;
|
|
66
|
+
private readonly ttlSeconds;
|
|
67
|
+
constructor(signingSecret: string, opts?: {
|
|
68
|
+
ttlSeconds?: number;
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Encode a URL-safe, signed state token. The returned value is safe to put
|
|
72
|
+
* in a query string and round-trip through XSUAA (no `+`, no `/`).
|
|
73
|
+
*
|
|
74
|
+
* @param input.now Injectable clock (epoch ms) for deterministic tests.
|
|
75
|
+
*/
|
|
76
|
+
encode(input: {
|
|
77
|
+
clientState?: string;
|
|
78
|
+
clientRedirectUri: string;
|
|
79
|
+
now?: number;
|
|
80
|
+
}): string;
|
|
81
|
+
/**
|
|
82
|
+
* Decode and verify a state token. Never throws — returns a typed result.
|
|
83
|
+
*
|
|
84
|
+
* @param now Injectable clock (epoch ms) for deterministic tests.
|
|
85
|
+
*/
|
|
86
|
+
decode(token: string, now?: number): DecodeResult;
|
|
87
|
+
private sign;
|
|
88
|
+
private verifySignature;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=oauth-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-state.d.ts","sourceRoot":"","sources":["../../src/server/oauth-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAgCH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7F;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAUrE;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAcxF;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,YAAY;IA2B7D,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,eAAe;CAQxB"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stateless, signed OAuth `state` codec for the XSUAA callback proxy.
|
|
3
|
+
*
|
|
4
|
+
* ── Why this exists (issue #214) ──────────────────────────────────────
|
|
5
|
+
* XSUAA echoes a literal `+` (not `%2B`) for any `state` value that
|
|
6
|
+
* contains `+` when it redirects back to the OAuth client. Standard base64
|
|
7
|
+
* `state` values (e.g. VS Code generates `randomBytes(16).toString('base64')`)
|
|
8
|
+
* contain `+` ~50% of the time. The receiving client parses the callback
|
|
9
|
+
* query string with `application/x-www-form-urlencoded` semantics, where
|
|
10
|
+
* `+` decodes to a space, so the round-tripped `state` no longer matches the
|
|
11
|
+
* value the client generated → "State does not match" → login fails.
|
|
12
|
+
*
|
|
13
|
+
* ARC-1 cannot influence what XSUAA emits, and XSUAA redirects DIRECTLY to
|
|
14
|
+
* the client today (ARC-1 is not in the return path). The only fix is to
|
|
15
|
+
* insert ARC-1 into the return path: send XSUAA a `state` that ARC-1
|
|
16
|
+
* controls and that is immune to the `+` bug, then re-emit the client's
|
|
17
|
+
* ORIGINAL `state` correctly when redirecting back to the client.
|
|
18
|
+
*
|
|
19
|
+
* ── How this codec is immune to the `+` bug ───────────────────────────
|
|
20
|
+
* The token is `base64url(payload) + "." + base64url(sig)`. base64url uses
|
|
21
|
+
* the alphabet `A-Za-z0-9-_` — no `+`, no `/`. The `.` separator is an
|
|
22
|
+
* RFC 3986 unreserved character. So the entire token is URL-safe: XSUAA has
|
|
23
|
+
* no `+` to mangle, and Express's `+`→space query decoding is a no-op on it.
|
|
24
|
+
* The client's real `state` (which may contain `+`) rides INSIDE the opaque
|
|
25
|
+
* base64url payload, so it survives the XSUAA round-trip untouched.
|
|
26
|
+
*
|
|
27
|
+
* ── Why stateless (vs an in-memory map) ───────────────────────────────
|
|
28
|
+
* Mirrors the StatelessDcrClientStore design (PR #212): the token carries
|
|
29
|
+
* its own payload + HMAC signature, so any instance with the same signing
|
|
30
|
+
* key can validate it. No in-memory map → survives `cf restart`, cell
|
|
31
|
+
* moves, and horizontal scale-out. The signing key is derived (HKDF-style)
|
|
32
|
+
* from the same secret the DCR store uses, with a distinct domain-separation
|
|
33
|
+
* label so the two key spaces never overlap.
|
|
34
|
+
*
|
|
35
|
+
* ── Upstream tracking / when this whole module can be deleted ──────────
|
|
36
|
+
* This is a WORKAROUND for an XSUAA bug. It can be removed ONLY when XSUAA
|
|
37
|
+
* stops emitting a literal `+` (emits `%2B`) for `state` on the authorize
|
|
38
|
+
* redirect. Tracking:
|
|
39
|
+
* - arc-1 issue: https://github.com/marianfoo/arc-1/issues/214
|
|
40
|
+
* - XSUAA root cause: no public SAP Note as of 2026-06; the `+`→literal
|
|
41
|
+
* echo is the actual defect and the only thing whose
|
|
42
|
+
* fix makes this module removable.
|
|
43
|
+
* - VS Code (client): https://github.com/microsoft/vscode/issues/314715
|
|
44
|
+
* asks VS Code to use base64url `state`. If accepted it
|
|
45
|
+
* fixes the VS Code SYMPTOM only — other MCP clients
|
|
46
|
+
* (Cursor, claude.ai, Copilot Studio, …) still send
|
|
47
|
+
* base64 `state` containing `+`, so the callback proxy
|
|
48
|
+
* stays until the XSUAA-side fix lands. Do NOT delete
|
|
49
|
+
* this module just because vscode#314715 closes.
|
|
50
|
+
* To verify whether the XSUAA bug is gone, re-run the issue #214 spectrum
|
|
51
|
+
* reproducer (see the issue thread) against the target XSUAA tenant.
|
|
52
|
+
*/
|
|
53
|
+
import crypto from 'node:crypto';
|
|
54
|
+
/** Domain-separation label for the HKDF-style key derivation. Bump the
|
|
55
|
+
* version suffix to invalidate every outstanding state token at once. */
|
|
56
|
+
const KDF_LABEL = 'arc1-oauth-state/v1';
|
|
57
|
+
/** Truncated HMAC length in bytes. 16 bytes (128 bits) is ample for a
|
|
58
|
+
* short-lived, single-use CSRF state token — matches StatelessDcrClientStore. */
|
|
59
|
+
const SIG_BYTES = 16;
|
|
60
|
+
/** Default lifetime of a state token. The OAuth authorize→callback hop is
|
|
61
|
+
* interactive (user logs in), so a few minutes covers it; XSUAA auth codes
|
|
62
|
+
* themselves expire on a similar horizon. */
|
|
63
|
+
const DEFAULT_TTL_SECONDS = 600; // 10 minutes
|
|
64
|
+
/**
|
|
65
|
+
* Signs and verifies OAuth `state` tokens for the XSUAA callback proxy.
|
|
66
|
+
*/
|
|
67
|
+
export class OAuthStateCodec {
|
|
68
|
+
hmacKey;
|
|
69
|
+
ttlSeconds;
|
|
70
|
+
constructor(signingSecret, opts = {}) {
|
|
71
|
+
if (!signingSecret) {
|
|
72
|
+
throw new Error('OAuthStateCodec requires a non-empty signingSecret');
|
|
73
|
+
}
|
|
74
|
+
// HKDF-style: derive a dedicated key from the shared secret + label.
|
|
75
|
+
// The label domain-separates this key from the DCR client-id signing key.
|
|
76
|
+
this.hmacKey = crypto.createHmac('sha256', signingSecret).update(KDF_LABEL).digest();
|
|
77
|
+
this.ttlSeconds = opts.ttlSeconds ?? DEFAULT_TTL_SECONDS;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Encode a URL-safe, signed state token. The returned value is safe to put
|
|
81
|
+
* in a query string and round-trip through XSUAA (no `+`, no `/`).
|
|
82
|
+
*
|
|
83
|
+
* @param input.now Injectable clock (epoch ms) for deterministic tests.
|
|
84
|
+
*/
|
|
85
|
+
encode(input) {
|
|
86
|
+
const nowSec = Math.floor((input.now ?? Date.now()) / 1000);
|
|
87
|
+
const payload = {
|
|
88
|
+
v: 1,
|
|
89
|
+
r: input.clientRedirectUri,
|
|
90
|
+
exp: nowSec + this.ttlSeconds,
|
|
91
|
+
};
|
|
92
|
+
if (input.clientState !== undefined) {
|
|
93
|
+
payload.s = input.clientState;
|
|
94
|
+
}
|
|
95
|
+
const payloadB64 = Buffer.from(JSON.stringify(payload), 'utf8').toString('base64url');
|
|
96
|
+
return `${payloadB64}.${this.sign(payloadB64)}`;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Decode and verify a state token. Never throws — returns a typed result.
|
|
100
|
+
*
|
|
101
|
+
* @param now Injectable clock (epoch ms) for deterministic tests.
|
|
102
|
+
*/
|
|
103
|
+
decode(token, now = Date.now()) {
|
|
104
|
+
if (typeof token !== 'string' || token.length === 0) {
|
|
105
|
+
return { kind: 'error', reason: 'malformed' };
|
|
106
|
+
}
|
|
107
|
+
const dot = token.lastIndexOf('.');
|
|
108
|
+
if (dot <= 0 || dot === token.length - 1) {
|
|
109
|
+
return { kind: 'error', reason: 'malformed' };
|
|
110
|
+
}
|
|
111
|
+
const payloadB64 = token.slice(0, dot);
|
|
112
|
+
const sigB64 = token.slice(dot + 1);
|
|
113
|
+
if (!this.verifySignature(payloadB64, sigB64)) {
|
|
114
|
+
return { kind: 'error', reason: 'bad_signature' };
|
|
115
|
+
}
|
|
116
|
+
const payload = parsePayload(payloadB64);
|
|
117
|
+
if (!payload) {
|
|
118
|
+
return { kind: 'error', reason: 'invalid_payload' };
|
|
119
|
+
}
|
|
120
|
+
if (payload.exp * 1000 <= now) {
|
|
121
|
+
return { kind: 'error', reason: 'expired' };
|
|
122
|
+
}
|
|
123
|
+
return { kind: 'ok', clientState: payload.s, clientRedirectUri: payload.r };
|
|
124
|
+
}
|
|
125
|
+
sign(payloadB64) {
|
|
126
|
+
const fullDigest = crypto.createHmac('sha256', this.hmacKey).update(payloadB64).digest();
|
|
127
|
+
return fullDigest.subarray(0, SIG_BYTES).toString('base64url');
|
|
128
|
+
}
|
|
129
|
+
verifySignature(payloadB64, sigB64) {
|
|
130
|
+
const expected = Buffer.from(this.sign(payloadB64), 'base64url');
|
|
131
|
+
const actual = Buffer.from(sigB64, 'base64url');
|
|
132
|
+
if (actual.length !== expected.length || actual.length !== SIG_BYTES) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
return crypto.timingSafeEqual(actual, expected);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Parse a base64url payload back into a typed `StatePayload`. Returns
|
|
140
|
+
* `undefined` on any failure (decode error, JSON parse error, schema mismatch).
|
|
141
|
+
*/
|
|
142
|
+
function parsePayload(payloadB64) {
|
|
143
|
+
try {
|
|
144
|
+
const json = Buffer.from(payloadB64, 'base64url').toString('utf8');
|
|
145
|
+
const obj = JSON.parse(json);
|
|
146
|
+
if (obj.v !== 1)
|
|
147
|
+
return undefined;
|
|
148
|
+
if (typeof obj.r !== 'string' || obj.r.length === 0)
|
|
149
|
+
return undefined;
|
|
150
|
+
if (typeof obj.exp !== 'number' || !Number.isFinite(obj.exp))
|
|
151
|
+
return undefined;
|
|
152
|
+
if (obj.s !== undefined && typeof obj.s !== 'string')
|
|
153
|
+
return undefined;
|
|
154
|
+
return { v: 1, s: obj.s, r: obj.r, exp: obj.exp };
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=oauth-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-state.js","sourceRoot":"","sources":["../../src/server/oauth-state.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - http-streamable: for remote/containerized deployments
|
|
8
8
|
*/
|
|
9
9
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
10
|
-
import type { BTPConfig, BTPProxyConfig } from '../adt/btp.js';
|
|
10
|
+
import type { BTPConfig, BTPProxyConfig, PerUserAuthTokens } from '../adt/btp.js';
|
|
11
11
|
import type { AdtClientConfig } from '../adt/config.js';
|
|
12
12
|
import { Semaphore } from '../adt/semaphore.js';
|
|
13
13
|
import { CachingLayer } from '../cache/caching-layer.js';
|
|
@@ -15,7 +15,7 @@ import { type ToolDefinition } from '../handlers/tools.js';
|
|
|
15
15
|
import { type McpRateLimiter } from './mcp-rate-limit.js';
|
|
16
16
|
import type { ServerConfig } from './types.js';
|
|
17
17
|
/** ARC-1 version */
|
|
18
|
-
export declare const VERSION = "0.9.
|
|
18
|
+
export declare const VERSION = "0.9.8";
|
|
19
19
|
/**
|
|
20
20
|
* Filter tools by user scope + server deny list.
|
|
21
21
|
*
|
|
@@ -30,6 +30,24 @@ export declare function logAuthSummary(config: ServerConfig): void;
|
|
|
30
30
|
export declare function buildAdtConfig(config: ServerConfig, btpProxy?: BTPProxyConfig, bearerTokenProvider?: () => Promise<string>, opts?: {
|
|
31
31
|
perUser?: boolean;
|
|
32
32
|
}, adtSemaphore?: Semaphore): Partial<AdtClientConfig>;
|
|
33
|
+
/**
|
|
34
|
+
* Map per-user auth tokens from the BTP Destination Service onto an AdtClientConfig.
|
|
35
|
+
* Mutates and returns `adtConfig`. Exported for unit testing.
|
|
36
|
+
*
|
|
37
|
+
* Precedence (most-specific first):
|
|
38
|
+
* 1. ppProxyAuth — Option 1: jwt-bearer exchanged token → Proxy-Authorization (Cloud Connector)
|
|
39
|
+
* 2. sapConnectivityAuth — Option 2: SAML assertion → SAP-Connectivity-Authentication (Cloud Connector)
|
|
40
|
+
* 3. bearerToken — OAuth2UserTokenExchange / OAuth2SAMLBearerAssertion: a user-context Bearer
|
|
41
|
+
* token minted at the target's XSUAA → `Authorization: Bearer` (cloud-to-cloud,
|
|
42
|
+
* e.g. a BTP ABAP Environment over the Internet — no Cloud Connector / proxy).
|
|
43
|
+
*
|
|
44
|
+
* Throws when none is present (PP could not produce a usable per-user credential).
|
|
45
|
+
*
|
|
46
|
+
* In every success branch the SAP password is cleared and `username` is set to a display-only
|
|
47
|
+
* value — it is never used for auth or access control; the real SAP identity rides in the
|
|
48
|
+
* chosen token/assertion.
|
|
49
|
+
*/
|
|
50
|
+
export declare function applyPerUserAuthTokens(adtConfig: Partial<AdtClientConfig>, authTokens: PerUserAuthTokens, displayUsername: string | undefined, destName: string): Partial<AdtClientConfig>;
|
|
33
51
|
/**
|
|
34
52
|
* Run a one-time feature probe against the SAP system using the shared/default client.
|
|
35
53
|
* Returns a promise that resolves once probe results are stored in cachedFeatures.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,oBAAoB;AACpB,eAAO,MAAM,OAAO,UAAU,CAAC;AAuD/B;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,GAAE,MAAM,EAAO,GACzB,cAAc,EAAE,CA0BlB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAgCzD;AAED,+DAA+D;AAO/D,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAC5B,YAAY,CAAC,EAAE,SAAS,GACvB,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAiED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAyB1B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,SAAS,CAAC,EAAE,SAAS,EACrB,YAAY,CAAC,EAAE,SAAS,GACvB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;IACrD,iGAAiG;IACjG,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAqCD;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,YAAY,CAAC,EAAE,SAAS,GACvB,OAAO,CAAC,0BAA0B,CAAC,CAmDrC;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,0BAA0B,GAAG,MAAM,CASjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,SAAS,EACrB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,YAAY,CAAC,EAAE,YAAY,EAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EACnC,2BAA2B,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,EACjE,YAAY,CAAC,EAAE,SAAS,EACxB,cAAc,CAAC,EAAE,cAAc,GAC9B,MAAM,CA+JR;AAoCD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,GAC1D,OAAO,CAAC,MAAM,CAAC,CAoSjB"}
|
package/dist/server/server.js
CHANGED
|
@@ -12,6 +12,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprot
|
|
|
12
12
|
import { AdtClient } from '../adt/client.js';
|
|
13
13
|
import { resolveCookies } from '../adt/cookies.js';
|
|
14
14
|
import { AdtApiError } from '../adt/errors.js';
|
|
15
|
+
import { shouldWarnPreStatefulRelease } from '../adt/release.js';
|
|
15
16
|
import { deriveUserSafety, deriveUserSafetyFromProfile } from '../adt/safety.js';
|
|
16
17
|
import { Semaphore } from '../adt/semaphore.js';
|
|
17
18
|
import { getActionPolicy, hasRequiredScope } from '../authz/policy.js';
|
|
@@ -25,7 +26,7 @@ import { initLogger, logger } from './logger.js';
|
|
|
25
26
|
import { createMcpRateLimiter } from './mcp-rate-limit.js';
|
|
26
27
|
import { FileSink } from './sinks/file.js';
|
|
27
28
|
/** ARC-1 version */
|
|
28
|
-
export const VERSION = '0.9.
|
|
29
|
+
export const VERSION = '0.9.8'; // x-release-please-version
|
|
29
30
|
/**
|
|
30
31
|
* Prune a tool's action OR type enum (or both) based on the user's scopes and
|
|
31
32
|
* the server's denyActions list. Uses ACTION_POLICY as the single source of truth.
|
|
@@ -247,22 +248,42 @@ async function createPerUserClient(config, btpConfig, btpProxy, userJwt, adtSema
|
|
|
247
248
|
catch {
|
|
248
249
|
displayUsername = undefined;
|
|
249
250
|
}
|
|
251
|
+
applyPerUserAuthTokens(adtConfig, authTokens, displayUsername, destName);
|
|
252
|
+
return new AdtClient(adtConfig);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Map per-user auth tokens from the BTP Destination Service onto an AdtClientConfig.
|
|
256
|
+
* Mutates and returns `adtConfig`. Exported for unit testing.
|
|
257
|
+
*
|
|
258
|
+
* Precedence (most-specific first):
|
|
259
|
+
* 1. ppProxyAuth — Option 1: jwt-bearer exchanged token → Proxy-Authorization (Cloud Connector)
|
|
260
|
+
* 2. sapConnectivityAuth — Option 2: SAML assertion → SAP-Connectivity-Authentication (Cloud Connector)
|
|
261
|
+
* 3. bearerToken — OAuth2UserTokenExchange / OAuth2SAMLBearerAssertion: a user-context Bearer
|
|
262
|
+
* token minted at the target's XSUAA → `Authorization: Bearer` (cloud-to-cloud,
|
|
263
|
+
* e.g. a BTP ABAP Environment over the Internet — no Cloud Connector / proxy).
|
|
264
|
+
*
|
|
265
|
+
* Throws when none is present (PP could not produce a usable per-user credential).
|
|
266
|
+
*
|
|
267
|
+
* In every success branch the SAP password is cleared and `username` is set to a display-only
|
|
268
|
+
* value — it is never used for auth or access control; the real SAP identity rides in the
|
|
269
|
+
* chosen token/assertion.
|
|
270
|
+
*/
|
|
271
|
+
export function applyPerUserAuthTokens(adtConfig, authTokens, displayUsername, destName) {
|
|
250
272
|
if (authTokens.ppProxyAuth) {
|
|
251
|
-
// Option 1: exchanged token replaces Proxy-Authorization
|
|
252
273
|
adtConfig.ppProxyAuth = authTokens.ppProxyAuth;
|
|
253
|
-
adtConfig.username = displayUsername;
|
|
254
|
-
adtConfig.password = undefined;
|
|
255
274
|
}
|
|
256
275
|
else if (authTokens.sapConnectivityAuth) {
|
|
257
|
-
// Option 2: SAML assertion from Destination Service
|
|
258
276
|
adtConfig.sapConnectivityAuth = authTokens.sapConnectivityAuth;
|
|
259
|
-
adtConfig.username = displayUsername;
|
|
260
|
-
adtConfig.password = undefined;
|
|
261
277
|
}
|
|
262
278
|
else if (authTokens.bearerToken) {
|
|
263
|
-
//
|
|
264
|
-
//
|
|
265
|
-
|
|
279
|
+
// createPerUserClient runs per request and the Cloud SDK caches the exchanged token per
|
|
280
|
+
// user (TTL-bounded), so a provider returning the already-resolved token is fresh for the
|
|
281
|
+
// request's lifetime.
|
|
282
|
+
const bearer = authTokens.bearerToken;
|
|
283
|
+
adtConfig.bearerTokenProvider = async () => bearer;
|
|
284
|
+
logger.debug('PP: using destination-exchanged Bearer token (OAuth2UserTokenExchange)', {
|
|
285
|
+
destination: destName,
|
|
286
|
+
});
|
|
266
287
|
}
|
|
267
288
|
else {
|
|
268
289
|
// No per-user auth token received.
|
|
@@ -270,7 +291,9 @@ async function createPerUserClient(config, btpConfig, btpProxy, userJwt, adtSema
|
|
|
270
291
|
'no SAP-Connectivity-Authentication header, Bearer token, or jwt-bearer exchange token returned. ' +
|
|
271
292
|
'Check Cloud Connector status, destination configuration, and user JWT validity.');
|
|
272
293
|
}
|
|
273
|
-
|
|
294
|
+
adtConfig.username = displayUsername;
|
|
295
|
+
adtConfig.password = undefined;
|
|
296
|
+
return adtConfig;
|
|
274
297
|
}
|
|
275
298
|
/**
|
|
276
299
|
* Run a one-time feature probe against the SAP system using the shared/default client.
|
|
@@ -320,6 +343,17 @@ export function runStartupProbe(config, btpProxy, bearerTokenProvider, btpConfig
|
|
|
320
343
|
}
|
|
321
344
|
}
|
|
322
345
|
setCachedFeatures(features);
|
|
346
|
+
// Proactive warning: on SAP_BASIS < 7.51 the ADT REST handler does not honor the
|
|
347
|
+
// stateful-session header over HTTP, so object writes fail with 423 "invalid lock
|
|
348
|
+
// handle" until the abapfs_extensions enhancement is installed. Warn at startup —
|
|
349
|
+
// before the first cryptic 423 — but only when writes are enabled (issue #293).
|
|
350
|
+
if (shouldWarnPreStatefulRelease(config.allowWrites, features.abapRelease)) {
|
|
351
|
+
logger.warn(`SAP_BASIS ${features.abapRelease} is below 7.51 and does not natively honor stateful ADT ` +
|
|
352
|
+
'HTTP sessions — object writes will fail with 423 "invalid lock handle" UNLESS the ' +
|
|
353
|
+
'abapfs_extensions enhancement is installed on the SAP system ' +
|
|
354
|
+
'(https://github.com/marcellourbani/abapfs_extensions). If writes already work, this is ' +
|
|
355
|
+
'installed and you can ignore this. See docs/sap-trial-setup.md (423 troubleshooting).');
|
|
356
|
+
}
|
|
323
357
|
setCachedDiscovery(features.discoveryMap ?? new Map());
|
|
324
358
|
}
|
|
325
359
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server/xsuaa.d.ts
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { ProxyOAuthServerProvider } from '@modelcontextprotocol/sdk/server/auth/providers/proxyProvider.js';
|
|
29
29
|
import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
|
|
30
|
+
import { OAuthStateCodec } from './oauth-state.js';
|
|
30
31
|
import { StatelessDcrClientStore } from './stateless-client-store.js';
|
|
31
32
|
/** XSUAA credentials from VCAP_SERVICES */
|
|
32
33
|
export interface XsuaaCredentials {
|
|
@@ -73,9 +74,18 @@ export interface CreateXsuaaOAuthProviderOptions {
|
|
|
73
74
|
* behavior).
|
|
74
75
|
*/
|
|
75
76
|
dcrSigningSecret?: string;
|
|
77
|
+
/**
|
|
78
|
+
* ARC-1's own OAuth callback URL (e.g. `https://app.../oauth/callback`),
|
|
79
|
+
* sent to XSUAA as the redirect_uri so ARC-1 sits in the return path and
|
|
80
|
+
* can fix XSUAA's `+`-in-state encoding bug (issue #214). Must be
|
|
81
|
+
* absolute and match an xs-security.json `redirect-uris` pattern. When
|
|
82
|
+
* omitted, falls back to `${appUrl}/oauth/callback`.
|
|
83
|
+
*/
|
|
84
|
+
callbackUrl?: string;
|
|
76
85
|
}
|
|
77
86
|
export declare function createXsuaaOAuthProvider(credentials: XsuaaCredentials, appUrl: string, options?: CreateXsuaaOAuthProviderOptions): {
|
|
78
87
|
provider: ProxyOAuthServerProvider;
|
|
79
88
|
clientStore: StatelessDcrClientStore;
|
|
89
|
+
stateCodec: OAuthStateCodec;
|
|
80
90
|
};
|
|
81
91
|
//# sourceMappingURL=xsuaa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xsuaa.d.ts","sourceRoot":"","sources":["../../src/server/xsuaa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAM/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAatE,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CA6C5G;AA2BD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE;IACN,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,EACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,EACpD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,GAClD,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAuDtC;
|
|
1
|
+
{"version":3,"file":"xsuaa.d.ts","sourceRoot":"","sources":["../../src/server/xsuaa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAM/E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAatE,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CA6C5G;AA2BD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE;IACN,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,EACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,EACpD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,GAClD,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAuDtC;AA8QD,MAAM,WAAW,+BAA+B;IAC9C;4EACwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,+BAAoC,GAC5C;IAAE,QAAQ,EAAE,wBAAwB,CAAC;IAAC,WAAW,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,eAAe,CAAA;CAAE,CAmE3G"}
|