arc-1 0.7.1 → 0.8.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.
Files changed (96) hide show
  1. package/README.md +35 -3
  2. package/dist/adt/btp.d.ts +14 -3
  3. package/dist/adt/btp.d.ts.map +1 -1
  4. package/dist/adt/btp.js +18 -3
  5. package/dist/adt/btp.js.map +1 -1
  6. package/dist/adt/client.d.ts +33 -19
  7. package/dist/adt/client.d.ts.map +1 -1
  8. package/dist/adt/client.js +84 -72
  9. package/dist/adt/client.js.map +1 -1
  10. package/dist/adt/diagnostics.d.ts +5 -1
  11. package/dist/adt/diagnostics.d.ts.map +1 -1
  12. package/dist/adt/diagnostics.js +20 -3
  13. package/dist/adt/diagnostics.js.map +1 -1
  14. package/dist/adt/discovery.d.ts +19 -2
  15. package/dist/adt/discovery.d.ts.map +1 -1
  16. package/dist/adt/discovery.js +17 -3
  17. package/dist/adt/discovery.js.map +1 -1
  18. package/dist/adt/errors.d.ts +1 -1
  19. package/dist/adt/errors.d.ts.map +1 -1
  20. package/dist/adt/errors.js +46 -2
  21. package/dist/adt/errors.js.map +1 -1
  22. package/dist/adt/features.d.ts +49 -0
  23. package/dist/adt/features.d.ts.map +1 -1
  24. package/dist/adt/features.js +109 -21
  25. package/dist/adt/features.js.map +1 -1
  26. package/dist/adt/types.d.ts +4 -0
  27. package/dist/adt/types.d.ts.map +1 -1
  28. package/dist/adt/xml-parser.d.ts +13 -5
  29. package/dist/adt/xml-parser.d.ts.map +1 -1
  30. package/dist/adt/xml-parser.js +55 -22
  31. package/dist/adt/xml-parser.js.map +1 -1
  32. package/dist/cache/cache.d.ts +11 -6
  33. package/dist/cache/cache.d.ts.map +1 -1
  34. package/dist/cache/cache.js +4 -4
  35. package/dist/cache/cache.js.map +1 -1
  36. package/dist/cache/caching-layer.d.ts +16 -4
  37. package/dist/cache/caching-layer.d.ts.map +1 -1
  38. package/dist/cache/caching-layer.js +40 -13
  39. package/dist/cache/caching-layer.js.map +1 -1
  40. package/dist/cache/inactive-list-cache.d.ts +15 -0
  41. package/dist/cache/inactive-list-cache.d.ts.map +1 -0
  42. package/dist/cache/inactive-list-cache.js +37 -0
  43. package/dist/cache/inactive-list-cache.js.map +1 -0
  44. package/dist/cache/memory.d.ts +6 -3
  45. package/dist/cache/memory.d.ts.map +1 -1
  46. package/dist/cache/memory.js +14 -6
  47. package/dist/cache/memory.js.map +1 -1
  48. package/dist/cache/sqlite.d.ts +7 -3
  49. package/dist/cache/sqlite.d.ts.map +1 -1
  50. package/dist/cache/sqlite.js +32 -9
  51. package/dist/cache/sqlite.js.map +1 -1
  52. package/dist/cache/warmup.js +7 -3
  53. package/dist/cache/warmup.js.map +1 -1
  54. package/dist/cli.js +4 -1
  55. package/dist/cli.js.map +1 -1
  56. package/dist/context/compressor.d.ts.map +1 -1
  57. package/dist/context/compressor.js +15 -12
  58. package/dist/context/compressor.js.map +1 -1
  59. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  60. package/dist/handlers/hyperfocused.js +7 -0
  61. package/dist/handlers/hyperfocused.js.map +1 -1
  62. package/dist/handlers/intent.d.ts.map +1 -1
  63. package/dist/handlers/intent.js +163 -89
  64. package/dist/handlers/intent.js.map +1 -1
  65. package/dist/handlers/schemas.d.ts +12 -0
  66. package/dist/handlers/schemas.d.ts.map +1 -1
  67. package/dist/handlers/schemas.js +4 -0
  68. package/dist/handlers/schemas.js.map +1 -1
  69. package/dist/handlers/tools.d.ts.map +1 -1
  70. package/dist/handlers/tools.js +13 -2
  71. package/dist/handlers/tools.js.map +1 -1
  72. package/dist/server/audit.d.ts +41 -1
  73. package/dist/server/audit.d.ts.map +1 -1
  74. package/dist/server/audit.js.map +1 -1
  75. package/dist/server/config.d.ts.map +1 -1
  76. package/dist/server/config.js +32 -0
  77. package/dist/server/config.js.map +1 -1
  78. package/dist/server/http.d.ts +25 -0
  79. package/dist/server/http.d.ts.map +1 -1
  80. package/dist/server/http.js +149 -7
  81. package/dist/server/http.js.map +1 -1
  82. package/dist/server/server.d.ts +1 -1
  83. package/dist/server/server.js +1 -1
  84. package/dist/server/stateless-client-store.d.ts +97 -0
  85. package/dist/server/stateless-client-store.d.ts.map +1 -0
  86. package/dist/server/stateless-client-store.js +334 -0
  87. package/dist/server/stateless-client-store.js.map +1 -0
  88. package/dist/server/types.d.ts +12 -0
  89. package/dist/server/types.d.ts.map +1 -1
  90. package/dist/server/types.js +2 -0
  91. package/dist/server/types.js.map +1 -1
  92. package/dist/server/xsuaa.d.ts +11 -43
  93. package/dist/server/xsuaa.d.ts.map +1 -1
  94. package/dist/server/xsuaa.js +12 -177
  95. package/dist/server/xsuaa.js.map +1 -1
  96. package/package.json +8 -2
@@ -15,9 +15,10 @@
15
15
  * - Offline validation with automatic JWKS caching
16
16
  * - checkLocalScope() for scope enforcement
17
17
  *
18
- * 2. In-memory client store for dynamic registration:
18
+ * 2. Stateless DCR client store (StatelessDcrClientStore):
19
19
  * - MCP clients (Claude Desktop, Cursor) register dynamically via RFC 7591
20
- * - Registrations are lost on restart clients re-register on reconnect
20
+ * - client_ids are HMAC-signed by the XSUAA clientsecret, so they
21
+ * survive restarts / pushes / cell moves without any backing store
21
22
  * - XSUAA clientId is pre-registered as the default client
22
23
  *
23
24
  * 3. Chained token verifier:
@@ -30,178 +31,7 @@ import { XsuaaService } from '@sap/xssec';
30
31
  import { expandScopes } from '../authz/policy.js';
31
32
  import { API_KEY_PROFILES } from './config.js';
32
33
  import { logger } from './logger.js';
33
- // ─── In-Memory Client Store ──────────────────────────────────────────
34
- /**
35
- * Canonicalize a redirect URI for semantic comparison.
36
- *
37
- * Compares scheme + host + port + decoded path + sorted decoded query.
38
- * Fragments are dropped (servers never see them). Returns undefined if
39
- * the URI doesn't parse.
40
- */
41
- function normalizeRedirectUri(uri) {
42
- try {
43
- const url = new URL(uri);
44
- const pathname = decodeURIComponent(url.pathname);
45
- const entries = [...url.searchParams.entries()].sort(([a], [b]) => a.localeCompare(b));
46
- const query = entries.map(([k, v]) => `${k}=${v}`).join('&');
47
- return `${url.protocol}//${url.host}${pathname}${query ? `?${query}` : ''}`;
48
- }
49
- catch {
50
- return undefined;
51
- }
52
- }
53
- /**
54
- * In-memory store for OAuth client registrations.
55
- *
56
- * MCP clients dynamically register via RFC 7591. The XSUAA service binding
57
- * clientId is pre-registered as the default client so that clients can
58
- * use it directly without registration.
59
- */
60
- export class InMemoryClientStore {
61
- clients = new Map();
62
- constructor(xsuaaClientId, xsuaaClientSecret) {
63
- // Pre-register the XSUAA client so MCP clients that use it directly work.
64
- // The redirect_uris MUST include all URIs that MCP clients will use,
65
- // because the MCP SDK validates redirect_uri against this list BEFORE
66
- // calling our authorize override. These must also be registered in xs-security.json.
67
- this.clients.set(xsuaaClientId, {
68
- client_id: xsuaaClientId,
69
- client_secret: xsuaaClientSecret,
70
- redirect_uris: [
71
- 'http://localhost:6274/oauth/callback', // MCP Inspector
72
- 'http://localhost:3000/oauth/callback', // Local dev servers
73
- 'https://claude.ai/api/mcp/auth_callback', // Claude Desktop
74
- 'cursor://anysphere.cursor-retrieval/oauth/callback', // Cursor
75
- 'vscode://vscode.microsoft-authentication/callback', // VS Code
76
- ],
77
- grant_types: ['authorization_code', 'refresh_token'],
78
- response_types: ['code'],
79
- token_endpoint_auth_method: 'client_secret_post',
80
- client_name: 'ARC-1 XSUAA Default Client',
81
- });
82
- }
83
- /**
84
- * Dynamically add a redirect URI to a client's allow list.
85
- *
86
- * The MCP SDK validates redirect_uri with byte-exact matching for
87
- * non-loopback HTTPS URIs, but two classes of clients need relaxation:
88
- *
89
- * 1. Pre-registered XSUAA client: XSUAA itself is the authoritative
90
- * redirect-URI validator (via xs-security.json wildcard patterns),
91
- * so any URI is accepted here and forwarded.
92
- *
93
- * 2. DCR clients (arc1-*): only accept URIs that are semantically
94
- * equivalent to one the client registered. This handles clients that
95
- * use different percent-encoding at /register vs /authorize — notably
96
- * BAS/Cline via Theia's OAuth proxy, which registers `/callback?x=1`
97
- * but requests with `/callback%3Fx=1`. Security: hostname, port, and
98
- * decoded path/query must all match a previously-registered URI.
99
- */
100
- ensureRedirectUri(clientId, uri) {
101
- const client = this.clients.get(clientId);
102
- if (!client)
103
- return;
104
- if (client.redirect_uris.includes(uri))
105
- return;
106
- if (!client.client_id.startsWith('arc1-')) {
107
- client.redirect_uris.push(uri);
108
- logger.debug('Dynamic redirect_uri registered for XSUAA client', { clientId, uri });
109
- return;
110
- }
111
- const normalizedRequested = normalizeRedirectUri(uri);
112
- if (!normalizedRequested)
113
- return;
114
- const match = client.redirect_uris.find((reg) => normalizeRedirectUri(reg) === normalizedRequested);
115
- if (match) {
116
- client.redirect_uris.push(uri);
117
- logger.debug('OAuth redirect_uri loose-match: registered encoding variant', {
118
- clientId,
119
- registered: match,
120
- requested: uri,
121
- });
122
- }
123
- }
124
- async getClient(clientId) {
125
- const client = this.clients.get(clientId);
126
- // Lazy TTL eviction: expire dynamically registered clients after 24 hours
127
- if (client?.client_id_issued_at) {
128
- const ageSeconds = Math.floor(Date.now() / 1000) - client.client_id_issued_at;
129
- if (ageSeconds > 86400 && client.client_id.startsWith('arc1-')) {
130
- this.clients.delete(clientId);
131
- logger.debug('OAuth client expired (24h TTL)', { clientId });
132
- return undefined;
133
- }
134
- }
135
- logger.debug('OAuth client lookup', {
136
- clientId,
137
- found: !!client,
138
- clientName: client?.client_name,
139
- registeredClients: [...this.clients.keys()],
140
- });
141
- return client;
142
- }
143
- async registerClient(client) {
144
- // Registration cap: prevent memory exhaustion from unbounded DCR
145
- const dynamicClients = [...this.clients.keys()].filter((k) => k.startsWith('arc1-'));
146
- if (dynamicClients.length >= 100) {
147
- throw new Error('Client registration limit reached (100). Restart the server to clear expired registrations.');
148
- }
149
- // Validate redirect URIs against allowlist policy
150
- if (client.redirect_uris) {
151
- for (const uri of client.redirect_uris) {
152
- this.validateRedirectUri(uri);
153
- }
154
- }
155
- const clientId = `arc1-${crypto.randomUUID().slice(0, 8)}`;
156
- const clientSecret = crypto.randomUUID();
157
- const fullClient = {
158
- ...client,
159
- client_id: clientId,
160
- client_secret: clientSecret,
161
- client_id_issued_at: Math.floor(Date.now() / 1000),
162
- };
163
- this.clients.set(clientId, fullClient);
164
- logger.debug('OAuth client registered', { clientId, clientName: client.client_name });
165
- return fullClient;
166
- }
167
- /**
168
- * Validate a redirect URI against allowed scheme/host policy.
169
- * Allowed: https://* , http://localhost or 127.0.0.1 or [::1], custom MCP client schemes.
170
- * Rejected: javascript:, data:, file:, ftp:, and any http:// to non-loopback hosts.
171
- */
172
- validateRedirectUri(uri) {
173
- const ALLOWED_CUSTOM_SCHEMES = ['claude:', 'cursor:', 'vscode:', 'vscode-insiders:'];
174
- const BLOCKED_SCHEMES = ['javascript:', 'data:', 'file:', 'ftp:'];
175
- for (const scheme of BLOCKED_SCHEMES) {
176
- if (uri.toLowerCase().startsWith(scheme)) {
177
- throw new Error(`Redirect URI rejected: '${scheme}' scheme is not allowed. Use https:// or a registered custom scheme.`);
178
- }
179
- }
180
- // Allow known custom MCP client schemes
181
- for (const scheme of ALLOWED_CUSTOM_SCHEMES) {
182
- if (uri.toLowerCase().startsWith(scheme))
183
- return;
184
- }
185
- try {
186
- const parsed = new URL(uri);
187
- if (parsed.protocol === 'https:')
188
- return;
189
- if (parsed.protocol === 'http:') {
190
- const host = parsed.hostname.toLowerCase();
191
- if (host === 'localhost' || host === '127.0.0.1' || host === '[::1]' || host === '::1')
192
- return;
193
- throw new Error(`Redirect URI rejected: http:// is only allowed for localhost/127.0.0.1. Got: '${uri}'`);
194
- }
195
- // Unknown protocol — allow if it looks like a custom scheme (no dots in protocol)
196
- return;
197
- }
198
- catch (err) {
199
- if (err instanceof Error && err.message.startsWith('Redirect URI rejected'))
200
- throw err;
201
- // URL parsing failed — likely a custom scheme; allow it
202
- }
203
- }
204
- }
34
+ import { StatelessDcrClientStore } from './stateless-client-store.js';
205
35
  // ─── XSUAA Token Verifier ────────────────────────────────────────────
206
36
  /**
207
37
  * Verify a JWT token using @sap/xssec.
@@ -532,14 +362,19 @@ class XsuaaProxyOAuthProvider extends ProxyOAuthServerProvider {
532
362
  }
533
363
  };
534
364
  }
535
- export function createXsuaaOAuthProvider(credentials, appUrl) {
536
- const clientStore = new InMemoryClientStore(credentials.clientid, credentials.clientsecret);
365
+ export function createXsuaaOAuthProvider(credentials, appUrl, options = {}) {
366
+ // The XSUAA `clientsecret` doubles as the DCR signing secret. It's
367
+ // stable across the lifetime of the service binding (only `cf bind-service`
368
+ // rotates it) and is already a closely-guarded shared secret — exactly
369
+ // the trust boundary we want for "this server can mint client_ids".
370
+ const clientStore = new StatelessDcrClientStore(credentials.clientid, credentials.clientsecret, credentials.clientsecret, { ttlSeconds: options.dcrTtlSeconds });
537
371
  const verifier = createXsuaaTokenVerifier(credentials);
538
372
  const provider = new XsuaaProxyOAuthProvider(credentials, verifier, clientStore);
539
- logger.info('XSUAA OAuth provider created', {
373
+ logger.info('XSUAA OAuth provider created (stateless DCR)', {
540
374
  xsappname: credentials.xsappname,
541
375
  authorizationUrl: `${credentials.url}/oauth/authorize`,
542
376
  appUrl,
377
+ dcrTtlSeconds: options.dcrTtlSeconds,
543
378
  });
544
379
  return { provider, clientStore };
545
380
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xsuaa.js","sourceRoot":"","sources":["../../src/server/xsuaa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xsuaa.js","sourceRoot":"","sources":["../../src/server/xsuaa.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arc-1",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "mcpName": "io.github.marianfoo/arc-1",
5
5
  "description": "ARC-1 — MCP Server for SAP ABAP Systems",
6
6
  "author": "Marian Zeis",
@@ -69,9 +69,12 @@
69
69
  "test:e2e:skip-summary": "vitest run --config tests/e2e/vitest.e2e.config.ts --reporter=verbose 2>&1 | node scripts/ci/summarize-skips.mjs",
70
70
  "test:reliability-report": "node scripts/ci/collect-test-reliability.mjs",
71
71
  "test:assert-execution": "node scripts/ci/assert-required-test-execution.mjs",
72
+ "btp:validate": "npx mbt validate && npx mbt validate -e mta-overrides.mtaext.example",
72
73
  "btp:build": "npx mbt build",
73
74
  "btp:deploy": "node -e \"const v=require('./package.json').version;require('child_process').execSync('cf deploy mta_archives/arc1-mcp_'+v+'.mtar',{stdio:'inherit'})\"",
74
- "btp:build-deploy": "npm run btp:build && npm run btp:deploy"
75
+ "btp:deploy-ext": "node -e \"const v=require('./package.json').version;require('child_process').execSync('cf deploy mta_archives/arc1-mcp_'+v+'.mtar -e mta-overrides.mtaext',{stdio:'inherit'})\"",
76
+ "btp:build-deploy": "npm run btp:build && npm run btp:deploy",
77
+ "btp:build-deploy-ext": "npm run btp:build && npm run btp:deploy-ext"
75
78
  },
76
79
  "dependencies": {
77
80
  "@abaplint/core": "^2.115.27",
@@ -82,9 +85,11 @@
82
85
  "ajv": "^8.18.0",
83
86
  "better-sqlite3": "^12.8.0",
84
87
  "commander": "^14.0.3",
88
+ "cors": "2.8.6",
85
89
  "dotenv": "^17.3.1",
86
90
  "express": "^5.2.1",
87
91
  "fast-xml-parser": "^5.5.9",
92
+ "helmet": "^8.1.0",
88
93
  "jose": "^6.2.2",
89
94
  "undici": "^8.0.2",
90
95
  "zod": "^4.3.6"
@@ -95,6 +100,7 @@
95
100
  "devDependencies": {
96
101
  "@biomejs/biome": "^2.4.8",
97
102
  "@types/better-sqlite3": "^7.6.13",
103
+ "@types/cors": "^2.8.19",
98
104
  "@types/express": "^5.0.6",
99
105
  "@types/node": "^22.0.0",
100
106
  "@types/supertest": "^7.2.0",