arc-1 0.4.4 → 0.6.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 (84) hide show
  1. package/README.md +6 -5
  2. package/dist/adt/client.d.ts +11 -1
  3. package/dist/adt/client.d.ts.map +1 -1
  4. package/dist/adt/client.js +51 -1
  5. package/dist/adt/client.js.map +1 -1
  6. package/dist/adt/codeintel.js +1 -1
  7. package/dist/adt/codeintel.js.map +1 -1
  8. package/dist/adt/crud.d.ts.map +1 -1
  9. package/dist/adt/crud.js +1 -7
  10. package/dist/adt/crud.js.map +1 -1
  11. package/dist/adt/features.d.ts +29 -1
  12. package/dist/adt/features.d.ts.map +1 -1
  13. package/dist/adt/features.js +114 -2
  14. package/dist/adt/features.js.map +1 -1
  15. package/dist/adt/http.d.ts +24 -1
  16. package/dist/adt/http.d.ts.map +1 -1
  17. package/dist/adt/http.js +87 -28
  18. package/dist/adt/http.js.map +1 -1
  19. package/dist/adt/oauth.d.ts +19 -2
  20. package/dist/adt/oauth.d.ts.map +1 -1
  21. package/dist/adt/oauth.js +78 -28
  22. package/dist/adt/oauth.js.map +1 -1
  23. package/dist/adt/safety.d.ts +15 -7
  24. package/dist/adt/safety.d.ts.map +1 -1
  25. package/dist/adt/safety.js +49 -45
  26. package/dist/adt/safety.js.map +1 -1
  27. package/dist/adt/types.d.ts +33 -0
  28. package/dist/adt/types.d.ts.map +1 -1
  29. package/dist/adt/xml-parser.d.ts +10 -1
  30. package/dist/adt/xml-parser.d.ts.map +1 -1
  31. package/dist/adt/xml-parser.js +47 -0
  32. package/dist/adt/xml-parser.js.map +1 -1
  33. package/dist/aff/schemas/bdef-v1.json +62 -0
  34. package/dist/aff/schemas/clas-v1.json +276 -0
  35. package/dist/aff/schemas/ddls-v1.json +144 -0
  36. package/dist/aff/schemas/intf-v1.json +243 -0
  37. package/dist/aff/schemas/prog-v1.json +133 -0
  38. package/dist/aff/schemas/srvb-v1.json +115 -0
  39. package/dist/aff/schemas/srvd-v1.json +108 -0
  40. package/dist/aff/validator.d.ts +14 -0
  41. package/dist/aff/validator.d.ts.map +1 -0
  42. package/dist/aff/validator.js +83 -0
  43. package/dist/aff/validator.js.map +1 -0
  44. package/dist/handlers/hyperfocused.d.ts +1 -0
  45. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  46. package/dist/handlers/hyperfocused.js +7 -6
  47. package/dist/handlers/hyperfocused.js.map +1 -1
  48. package/dist/handlers/intent.d.ts +17 -1
  49. package/dist/handlers/intent.d.ts.map +1 -1
  50. package/dist/handlers/intent.js +369 -27
  51. package/dist/handlers/intent.js.map +1 -1
  52. package/dist/handlers/schemas.d.ts +296 -0
  53. package/dist/handlers/schemas.d.ts.map +1 -0
  54. package/dist/handlers/schemas.js +250 -0
  55. package/dist/handlers/schemas.js.map +1 -0
  56. package/dist/handlers/tools.d.ts +1 -1
  57. package/dist/handlers/tools.d.ts.map +1 -1
  58. package/dist/handlers/tools.js +111 -42
  59. package/dist/handlers/tools.js.map +1 -1
  60. package/dist/handlers/zod-errors.d.ts +20 -0
  61. package/dist/handlers/zod-errors.d.ts.map +1 -0
  62. package/dist/handlers/zod-errors.js +43 -0
  63. package/dist/handlers/zod-errors.js.map +1 -0
  64. package/dist/server/config.d.ts +26 -0
  65. package/dist/server/config.d.ts.map +1 -1
  66. package/dist/server/config.js +156 -7
  67. package/dist/server/config.js.map +1 -1
  68. package/dist/server/http.d.ts +8 -0
  69. package/dist/server/http.d.ts.map +1 -1
  70. package/dist/server/http.js +134 -71
  71. package/dist/server/http.js.map +1 -1
  72. package/dist/server/server.d.ts +13 -2
  73. package/dist/server/server.d.ts.map +1 -1
  74. package/dist/server/server.js +82 -9
  75. package/dist/server/server.js.map +1 -1
  76. package/dist/server/types.d.ts +8 -1
  77. package/dist/server/types.d.ts.map +1 -1
  78. package/dist/server/types.js +2 -2
  79. package/dist/server/types.js.map +1 -1
  80. package/dist/server/xsuaa.d.ts +11 -1
  81. package/dist/server/xsuaa.d.ts.map +1 -1
  82. package/dist/server/xsuaa.js +127 -9
  83. package/dist/server/xsuaa.js.map +1 -1
  84. package/package.json +4 -3
@@ -26,6 +26,8 @@
26
26
  */
27
27
  import { ProxyOAuthServerProvider } from '@modelcontextprotocol/sdk/server/auth/providers/proxyProvider.js';
28
28
  import { XsuaaService } from '@sap/xssec';
29
+ import { expandImpliedScopes } from '../adt/safety.js';
30
+ import { PROFILE_SCOPES } from './config.js';
29
31
  import { logger } from './logger.js';
30
32
  // ─── In-Memory Client Store ──────────────────────────────────────────
31
33
  /**
@@ -60,6 +62,15 @@ export class InMemoryClientStore {
60
62
  }
61
63
  async getClient(clientId) {
62
64
  const client = this.clients.get(clientId);
65
+ // Lazy TTL eviction: expire dynamically registered clients after 24 hours
66
+ if (client?.client_id_issued_at) {
67
+ const ageSeconds = Math.floor(Date.now() / 1000) - client.client_id_issued_at;
68
+ if (ageSeconds > 86400 && client.client_id.startsWith('arc1-')) {
69
+ this.clients.delete(clientId);
70
+ logger.debug('OAuth client expired (24h TTL)', { clientId });
71
+ return undefined;
72
+ }
73
+ }
63
74
  logger.debug('OAuth client lookup', {
64
75
  clientId,
65
76
  found: !!client,
@@ -69,6 +80,17 @@ export class InMemoryClientStore {
69
80
  return client;
70
81
  }
71
82
  async registerClient(client) {
83
+ // Registration cap: prevent memory exhaustion from unbounded DCR
84
+ const dynamicClients = [...this.clients.keys()].filter((k) => k.startsWith('arc1-'));
85
+ if (dynamicClients.length >= 100) {
86
+ throw new Error('Client registration limit reached (100). Restart the server to clear expired registrations.');
87
+ }
88
+ // Validate redirect URIs against allowlist policy
89
+ if (client.redirect_uris) {
90
+ for (const uri of client.redirect_uris) {
91
+ this.validateRedirectUri(uri);
92
+ }
93
+ }
72
94
  const clientId = `arc1-${crypto.randomUUID().slice(0, 8)}`;
73
95
  const clientSecret = crypto.randomUUID();
74
96
  const fullClient = {
@@ -81,6 +103,43 @@ export class InMemoryClientStore {
81
103
  logger.debug('OAuth client registered', { clientId, clientName: client.client_name });
82
104
  return fullClient;
83
105
  }
106
+ /**
107
+ * Validate a redirect URI against allowed scheme/host policy.
108
+ * Allowed: https://* , http://localhost or 127.0.0.1 or [::1], custom MCP client schemes.
109
+ * Rejected: javascript:, data:, file:, ftp:, and any http:// to non-loopback hosts.
110
+ */
111
+ validateRedirectUri(uri) {
112
+ const ALLOWED_CUSTOM_SCHEMES = ['claude:', 'cursor:', 'vscode:', 'vscode-insiders:'];
113
+ const BLOCKED_SCHEMES = ['javascript:', 'data:', 'file:', 'ftp:'];
114
+ for (const scheme of BLOCKED_SCHEMES) {
115
+ if (uri.toLowerCase().startsWith(scheme)) {
116
+ throw new Error(`Redirect URI rejected: '${scheme}' scheme is not allowed. Use https:// or a registered custom scheme.`);
117
+ }
118
+ }
119
+ // Allow known custom MCP client schemes
120
+ for (const scheme of ALLOWED_CUSTOM_SCHEMES) {
121
+ if (uri.toLowerCase().startsWith(scheme))
122
+ return;
123
+ }
124
+ try {
125
+ const parsed = new URL(uri);
126
+ if (parsed.protocol === 'https:')
127
+ return;
128
+ if (parsed.protocol === 'http:') {
129
+ const host = parsed.hostname.toLowerCase();
130
+ if (host === 'localhost' || host === '127.0.0.1' || host === '[::1]' || host === '::1')
131
+ return;
132
+ throw new Error(`Redirect URI rejected: http:// is only allowed for localhost/127.0.0.1. Got: '${uri}'`);
133
+ }
134
+ // Unknown protocol — allow if it looks like a custom scheme (no dots in protocol)
135
+ return;
136
+ }
137
+ catch (err) {
138
+ if (err instanceof Error && err.message.startsWith('Redirect URI rejected'))
139
+ throw err;
140
+ // URL parsing failed — likely a custom scheme; allow it
141
+ }
142
+ }
84
143
  }
85
144
  // ─── XSUAA Token Verifier ────────────────────────────────────────────
86
145
  /**
@@ -104,16 +163,18 @@ export function createXsuaaTokenVerifier(credentials) {
104
163
  const grantedScopes = [];
105
164
  // The token contains scopes like "arc1-mcp!b12345.read"
106
165
  // checkLocalScope strips the prefix for us
107
- for (const scope of ['read', 'write', 'admin']) {
166
+ for (const scope of ['read', 'write', 'data', 'sql', 'admin']) {
108
167
  if (securityContext.checkLocalScope(scope)) {
109
168
  grantedScopes.push(scope);
110
169
  }
111
170
  }
171
+ // Apply implied scope expansion: write→read, sql→data
172
+ const expandedScopes = expandImpliedScopes(grantedScopes);
112
173
  const expiresAt = securityContext.token?.payload?.exp;
113
174
  const authInfo = {
114
175
  token,
115
176
  clientId: securityContext.getClientId(),
116
- scopes: grantedScopes,
177
+ scopes: expandedScopes,
117
178
  expiresAt: typeof expiresAt === 'number' ? expiresAt : undefined,
118
179
  extra: {
119
180
  userName: securityContext.getLogonName?.() ?? undefined,
@@ -122,13 +183,34 @@ export function createXsuaaTokenVerifier(credentials) {
122
183
  };
123
184
  logger.debug('XSUAA token verified', {
124
185
  clientId: authInfo.clientId,
125
- scopes: grantedScopes,
186
+ scopes: expandedScopes,
126
187
  userName: authInfo.extra.userName,
127
188
  email: authInfo.extra.email,
128
189
  });
129
190
  return authInfo;
130
191
  };
131
192
  }
193
+ // ─── API Key Matching Helper ─────────────────────────────────────────
194
+ /**
195
+ * Match a token against configured API keys (multi-key or single).
196
+ * Used by both the chained verifier (XSUAA mode) and standard verifier.
197
+ */
198
+ function matchApiKeyFromConfig(config, token) {
199
+ // Multi-key: check apiKeys array first
200
+ if (config.apiKeys) {
201
+ for (const entry of config.apiKeys) {
202
+ if (token === entry.key) {
203
+ const scopes = PROFILE_SCOPES[entry.profile] ?? ['read'];
204
+ return { scopes, clientId: `api-key:${entry.profile}` };
205
+ }
206
+ }
207
+ }
208
+ // Single key: legacy behavior (full scopes)
209
+ if (config.apiKey && token === config.apiKey) {
210
+ return { scopes: ['read', 'write', 'data', 'sql', 'admin'], clientId: 'api-key' };
211
+ }
212
+ return undefined;
213
+ }
132
214
  // ─── Chained Token Verifier ──────────────────────────────────────────
133
215
  /**
134
216
  * Create a token verifier that chains multiple auth methods.
@@ -136,7 +218,7 @@ export function createXsuaaTokenVerifier(credentials) {
136
218
  * Tries in order:
137
219
  * 1. XSUAA (@sap/xssec) — if XSUAA credentials are available
138
220
  * 2. Entra ID OIDC (jose) — if SAP_OIDC_ISSUER is configured
139
- * 3. API Key — if ARC1_API_KEY is configured
221
+ * 3. API Key — if ARC1_API_KEY / ARC1_API_KEYS is configured
140
222
  */
141
223
  export function createChainedTokenVerifier(config, xsuaaVerifier, oidcVerifier) {
142
224
  return async (token) => {
@@ -175,13 +257,14 @@ export function createChainedTokenVerifier(config, xsuaaVerifier, oidcVerifier)
175
257
  });
176
258
  }
177
259
  }
178
- // 3. Try API key
179
- if (config.apiKey && token === config.apiKey) {
180
- logger.debug('Chained token verifier: API key matched');
260
+ // 3. Try API key (multi-key with profiles, then single legacy key)
261
+ const apiKeyMatch = matchApiKeyFromConfig(config, token);
262
+ if (apiKeyMatch) {
263
+ logger.debug('Chained token verifier: API key matched', { clientId: apiKeyMatch.clientId });
181
264
  return {
182
265
  token,
183
- clientId: 'api-key',
184
- scopes: ['read', 'write', 'admin'],
266
+ clientId: apiKeyMatch.clientId,
267
+ scopes: apiKeyMatch.scopes,
185
268
  // MCP SDK's requireBearerAuth requires expiresAt — set to 1 year
186
269
  expiresAt: Math.floor(Date.now() / 1000) + 365 * 24 * 60 * 60,
187
270
  extra: {},
@@ -349,6 +432,41 @@ class XsuaaProxyOAuthProvider extends ProxyOAuthServerProvider {
349
432
  scope: data.scope,
350
433
  };
351
434
  }
435
+ /**
436
+ * Override revokeToken to use XSUAA service credentials consistently.
437
+ * Without this override, the base class would attempt revocation with
438
+ * the local client credentials, which don't match the XSUAA binding.
439
+ *
440
+ * Declared as a property (arrow function) to match the base class declaration.
441
+ */
442
+ revokeToken = async (_client, request) => {
443
+ const revokeUrl = this.xsuaaTokenUrl.replace('/oauth/token', '/oauth/revoke');
444
+ const params = new URLSearchParams({ token: request.token });
445
+ if (request.token_type_hint) {
446
+ params.set('token_type_hint', request.token_type_hint);
447
+ }
448
+ try {
449
+ const response = await fetch(revokeUrl, {
450
+ method: 'POST',
451
+ headers: {
452
+ 'Content-Type': 'application/x-www-form-urlencoded',
453
+ Authorization: `Basic ${Buffer.from(`${this.xsuaaClientId}:${this.xsuaaClientSecret}`).toString('base64')}`,
454
+ },
455
+ body: params.toString(),
456
+ });
457
+ if (!response.ok) {
458
+ logger.warn('XSUAA token revocation failed', { status: response.status, url: revokeUrl });
459
+ }
460
+ else {
461
+ logger.debug('XSUAA token revoked successfully');
462
+ }
463
+ }
464
+ catch (err) {
465
+ logger.warn('XSUAA token revocation error', {
466
+ error: err instanceof Error ? err.message : String(err),
467
+ });
468
+ }
469
+ };
352
470
  }
353
471
  export function createXsuaaOAuthProvider(credentials, appUrl) {
354
472
  const clientStore = new InMemoryClientStore(credentials.clientid, credentials.clientsecret);
@@ -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.4.4",
3
+ "version": "0.6.0",
4
4
  "description": "ARC-1 — MCP Server for SAP ABAP Systems",
5
5
  "author": "Marian Zeis",
6
6
  "license": "MIT",
@@ -27,7 +27,7 @@
27
27
  "access": "public"
28
28
  },
29
29
  "scripts": {
30
- "build": "tsc",
30
+ "build": "tsc && rm -rf dist/aff/schemas && cp -r src/aff/schemas dist/aff/schemas",
31
31
  "dev": "tsx src/index.ts",
32
32
  "dev:http": "tsx src/index.ts --transport http-streamable",
33
33
  "start": "node dist/index.js",
@@ -54,6 +54,7 @@
54
54
  "@modelcontextprotocol/sdk": "^1.28.0",
55
55
  "@sap/xsenv": "^6.1.0",
56
56
  "@sap/xssec": "^4.13.0",
57
+ "ajv": "^8.18.0",
57
58
  "better-sqlite3": "^12.8.0",
58
59
  "commander": "^14.0.3",
59
60
  "dotenv": "^17.3.1",
@@ -61,7 +62,7 @@
61
62
  "fast-xml-parser": "^5.5.9",
62
63
  "jose": "^6.2.2",
63
64
  "undici": "^8.0.2",
64
- "zod": "^3.24.0"
65
+ "zod": "^4.3.6"
65
66
  },
66
67
  "lint-staged": {
67
68
  "*.{ts,js,json}": "biome check --write --no-errors-on-unmatched"