@kya-os/mcp-i-core 1.2.2-canary.2 → 1.2.2-canary.20

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.
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.MCPIRuntimeBase = void 0;
11
11
  const tool_protection_js_1 = require("../types/tool-protection.js");
12
12
  const crypto_service_js_1 = require("../services/crypto.service.js");
13
+ const agentshield_api_1 = require("@kya-os/contracts/agentshield-api");
13
14
  const user_did_manager_1 = require("../identity/user-did-manager");
14
15
  class MCPIRuntimeBase {
15
16
  crypto;
@@ -26,6 +27,7 @@ class MCPIRuntimeBase {
26
27
  interceptedCalls = new Map(); // Store intercepted tool calls by resume token
27
28
  cryptoService;
28
29
  proofVerifier; // Optional ProofVerifier (injected by subclasses)
30
+ accessControlService; // Optional AccessControlApiService (injected by subclasses)
29
31
  constructor(config) {
30
32
  this.config = config;
31
33
  this.crypto = config.cryptoProvider;
@@ -87,17 +89,34 @@ class MCPIRuntimeBase {
87
89
  /**
88
90
  * Handle handshake request
89
91
  */
92
+ /**
93
+ * Handle MCP handshake request
94
+ *
95
+ * @param request - Handshake request object (may include oauthIdentity for persistent user DID lookup)
96
+ * @returns Handshake response with session ID and agent DID
97
+ *
98
+ * @remarks
99
+ * - Accepts optional oauthIdentity via request.oauthIdentity (backward compatible)
100
+ * - If OAuth identity provided, uses it to retrieve/create persistent user DID
101
+ * - Falls back to ephemeral user DID generation if OAuth unavailable
102
+ */
90
103
  async handleHandshake(request) {
91
104
  const identity = await this.getIdentity();
92
105
  const timestamp = this.clock.now();
93
106
  const sessionId = await this.generateSessionId();
94
107
  // Generate user DID if user DID generation is enabled
108
+ // Use OAuth identity if provided for persistent user DID lookup
95
109
  let userDid;
96
110
  if (this.userDidManager) {
97
111
  try {
98
- userDid = await this.userDidManager.getOrCreateUserDid(sessionId);
112
+ const oauthIdentity = request.oauthIdentity;
113
+ userDid = await this.userDidManager.getOrCreateUserDid(sessionId, oauthIdentity);
99
114
  if (this.config.audit?.enabled) {
100
- console.log("[MCP-I] Generated user DID for session:", userDid);
115
+ console.log("[MCP-I] Generated user DID for session:", {
116
+ userDid: userDid.substring(0, 20) + "...",
117
+ hasOAuth: !!oauthIdentity,
118
+ provider: oauthIdentity?.provider,
119
+ });
101
120
  }
102
121
  }
103
122
  catch (error) {
@@ -127,8 +146,7 @@ class MCPIRuntimeBase {
127
146
  platform: normalizeString(requestClientInfo?.platform),
128
147
  vendor: normalizeString(requestClientInfo?.vendor),
129
148
  persistentId: normalizeString(requestClientInfo?.persistentId),
130
- clientId: normalizeString(requestClientInfo?.clientId) ??
131
- crypto.randomUUID(),
149
+ clientId: normalizeString(requestClientInfo?.clientId) ?? crypto.randomUUID(),
132
150
  protocolVersion,
133
151
  capabilities: clientCapabilities,
134
152
  }
@@ -218,13 +236,211 @@ class MCPIRuntimeBase {
218
236
  }
219
237
  throw error;
220
238
  }
221
- // Delegation provided - verify it (placeholder for future implementation)
222
- // TODO: Implement delegation token verification
223
- if (this.config.audit?.enabled) {
224
- console.log("[MCP-I] Tool protection check passed (delegation provided)", {
225
- tool: toolName,
226
- agentDid: identity.did.slice(0, 20) + "...",
227
- });
239
+ // Delegation provided - verify it with AccessControlApiService
240
+ const delegationToken = session?.delegationToken;
241
+ const consentProof = session?.consentProof;
242
+ if (!this.accessControlService) {
243
+ // Access control service not available - log warning but allow execution
244
+ // This enables graceful degradation when service is not configured
245
+ if (this.config.audit?.enabled) {
246
+ console.warn("[MCP-I] ⚠️ Delegation token provided but AccessControlApiService not configured - skipping verification", {
247
+ tool: toolName,
248
+ agentDid: identity.did.slice(0, 20) + "...",
249
+ hasDelegationToken: !!delegationToken,
250
+ hasConsentProof: !!consentProof,
251
+ });
252
+ }
253
+ }
254
+ else {
255
+ // Verify delegation token with AccessControlApiService
256
+ try {
257
+ if (this.config.audit?.enabled) {
258
+ console.log("[MCP-I] 🔐 Verifying delegation token with AccessControlApiService", {
259
+ tool: toolName,
260
+ agentDid: identity.did.slice(0, 20) + "...",
261
+ hasDelegationToken: !!delegationToken,
262
+ hasConsentProof: !!consentProof,
263
+ requiredScopes: protection.requiredScopes,
264
+ });
265
+ }
266
+ // Build verification request
267
+ const verifyRequest = {
268
+ agent_did: identity.did,
269
+ scopes: protection.requiredScopes,
270
+ };
271
+ // Add delegation token if available (preferred over consent proof)
272
+ if (delegationToken) {
273
+ verifyRequest.delegation_token = delegationToken;
274
+ }
275
+ else if (consentProof) {
276
+ // Consent proof is a JWT credential - use as credential_jwt
277
+ verifyRequest.credential_jwt = consentProof;
278
+ }
279
+ // Add optional timestamp for verification
280
+ verifyRequest.timestamp = this.clock.now();
281
+ // Add client info from session if available
282
+ if (session?.clientDid || session?.clientId) {
283
+ verifyRequest.client_info = {
284
+ origin: session?.serverOrigin,
285
+ user_agent: session?.userAgent,
286
+ };
287
+ }
288
+ // Perform verification
289
+ const verificationResult = await this.accessControlService.verifyDelegation(verifyRequest, {
290
+ delegationToken: delegationToken || undefined,
291
+ credentialJwt: consentProof || undefined,
292
+ });
293
+ // Check verification result
294
+ if (!verificationResult.data.valid) {
295
+ // Delegation verification failed
296
+ const reason = verificationResult.data.reason ||
297
+ "Delegation token invalid or expired";
298
+ const errorDetails = verificationResult.data.error;
299
+ if (this.config.audit?.enabled) {
300
+ console.error("[MCP-I] ❌ Delegation verification FAILED", {
301
+ tool: toolName,
302
+ agentDid: identity.did.slice(0, 20) + "...",
303
+ reason,
304
+ errorCode: errorDetails?.code,
305
+ errorMessage: errorDetails?.message,
306
+ requiredScopes: protection.requiredScopes,
307
+ });
308
+ }
309
+ // Throw DelegationRequiredError to trigger consent flow
310
+ const interceptedCall = {
311
+ toolName,
312
+ args,
313
+ sessionId: session?.id || "unknown",
314
+ timestamp: this.clock.now(),
315
+ expiresAt: this.clock.calculateExpiry(1800), // 30 minutes
316
+ };
317
+ const resumeToken = this.generateResumeToken(interceptedCall);
318
+ const consentUrl = this.buildConsentUrl(toolName, protection.requiredScopes, session, resumeToken);
319
+ this.interceptedCalls.set(resumeToken, interceptedCall);
320
+ this.cleanupExpiredInterceptedCalls();
321
+ throw new tool_protection_js_1.DelegationRequiredError(toolName, protection.requiredScopes, consentUrl, interceptedCall, resumeToken);
322
+ }
323
+ // ✅ SECURITY: Validate user_identifier matches session userDid
324
+ // This ensures delegations are user-specific and prevents user isolation bypass
325
+ const credential = verificationResult.data.credential;
326
+ const delegationUserIdentifier = credential?.user_identifier;
327
+ const sessionUserDid = session?.userDid;
328
+ if (delegationUserIdentifier && sessionUserDid) {
329
+ if (delegationUserIdentifier !== sessionUserDid) {
330
+ // User identifier mismatch - potential security issue
331
+ const securityError = `Delegation user_identifier mismatch: delegation has "${delegationUserIdentifier.substring(0, 20)}..." but session has "${sessionUserDid.substring(0, 20)}..."`;
332
+ if (this.config.audit?.enabled) {
333
+ console.error("[MCP-I] 🔒 SECURITY: User identifier validation FAILED", {
334
+ tool: toolName,
335
+ agentDid: identity.did.slice(0, 20) + "...",
336
+ delegationUserIdentifier: delegationUserIdentifier.substring(0, 20) + "...",
337
+ sessionUserDid: sessionUserDid.substring(0, 20) + "...",
338
+ sessionId: session?.id?.substring(0, 20) + "...",
339
+ reason: "user_identifier_mismatch",
340
+ severity: "high",
341
+ });
342
+ }
343
+ // Throw DelegationRequiredError to force re-authentication
344
+ const interceptedCall = {
345
+ toolName,
346
+ args,
347
+ sessionId: session?.id || "unknown",
348
+ timestamp: this.clock.now(),
349
+ expiresAt: this.clock.calculateExpiry(1800), // 30 minutes
350
+ };
351
+ const resumeToken = this.generateResumeToken(interceptedCall);
352
+ const consentUrl = this.buildConsentUrl(toolName, protection.requiredScopes, session, resumeToken);
353
+ this.interceptedCalls.set(resumeToken, interceptedCall);
354
+ this.cleanupExpiredInterceptedCalls();
355
+ throw new tool_protection_js_1.DelegationRequiredError(toolName, protection.requiredScopes, consentUrl, interceptedCall, resumeToken);
356
+ }
357
+ // User identifier matches - log success for audit
358
+ if (this.config.audit?.enabled) {
359
+ console.log("[MCP-I] ✅ User identifier validation PASSED", {
360
+ tool: toolName,
361
+ agentDid: identity.did.slice(0, 20) + "...",
362
+ userDid: sessionUserDid.substring(0, 20) + "...",
363
+ sessionId: session?.id?.substring(0, 20) + "...",
364
+ });
365
+ }
366
+ }
367
+ else if (delegationUserIdentifier && !sessionUserDid) {
368
+ // Delegation has user_identifier but session doesn't - log warning
369
+ if (this.config.audit?.enabled) {
370
+ console.warn("[MCP-I] ⚠️ Delegation has user_identifier but session missing userDid", {
371
+ tool: toolName,
372
+ agentDid: identity.did.slice(0, 20) + "...",
373
+ delegationUserIdentifier: delegationUserIdentifier.substring(0, 20) + "...",
374
+ sessionId: session?.id?.substring(0, 20) + "...",
375
+ });
376
+ }
377
+ }
378
+ // Verification succeeded
379
+ if (this.config.audit?.enabled) {
380
+ console.log("[MCP-I] ✅ Delegation verification SUCCEEDED", {
381
+ tool: toolName,
382
+ agentDid: identity.did.slice(0, 20) + "...",
383
+ delegationId: verificationResult.data.delegation_id,
384
+ credentialScopes: verificationResult.data.credential?.scopes,
385
+ requiredScopes: protection.requiredScopes,
386
+ });
387
+ }
388
+ }
389
+ catch (error) {
390
+ // Handle verification errors
391
+ if (error instanceof tool_protection_js_1.DelegationRequiredError) {
392
+ // Re-throw DelegationRequiredError as-is (already handled above)
393
+ throw error;
394
+ }
395
+ // Handle AgentShieldAPIError (network errors, API errors, etc.)
396
+ if (error instanceof agentshield_api_1.AgentShieldAPIError) {
397
+ if (this.config.audit?.enabled) {
398
+ console.error("[MCP-I] ❌ Delegation verification error (API failure)", {
399
+ tool: toolName,
400
+ agentDid: identity.did.slice(0, 20) + "...",
401
+ errorCode: error.code,
402
+ errorMessage: error.message,
403
+ errorDetails: error.details,
404
+ });
405
+ }
406
+ // On API errors, fail securely by requiring delegation
407
+ // This prevents unauthorized access when verification service is unavailable
408
+ const interceptedCall = {
409
+ toolName,
410
+ args,
411
+ sessionId: session?.id || "unknown",
412
+ timestamp: this.clock.now(),
413
+ expiresAt: this.clock.calculateExpiry(1800),
414
+ };
415
+ const resumeToken = this.generateResumeToken(interceptedCall);
416
+ const consentUrl = this.buildConsentUrl(toolName, protection.requiredScopes, session, resumeToken);
417
+ this.interceptedCalls.set(resumeToken, interceptedCall);
418
+ this.cleanupExpiredInterceptedCalls();
419
+ throw new tool_protection_js_1.DelegationRequiredError(toolName, protection.requiredScopes, consentUrl, interceptedCall, resumeToken);
420
+ }
421
+ // Unexpected error - log and fail securely
422
+ if (this.config.audit?.enabled) {
423
+ console.error("[MCP-I] ❌ Unexpected error during delegation verification", {
424
+ tool: toolName,
425
+ agentDid: identity.did.slice(0, 20) + "...",
426
+ error: error.message || String(error),
427
+ errorStack: error.stack,
428
+ });
429
+ }
430
+ // Fail securely - require delegation on unexpected errors
431
+ const interceptedCall = {
432
+ toolName,
433
+ args,
434
+ sessionId: session?.id || "unknown",
435
+ timestamp: this.clock.now(),
436
+ expiresAt: this.clock.calculateExpiry(1800),
437
+ };
438
+ const resumeToken = this.generateResumeToken(interceptedCall);
439
+ const consentUrl = this.buildConsentUrl(toolName, protection.requiredScopes, session, resumeToken);
440
+ this.interceptedCalls.set(resumeToken, interceptedCall);
441
+ this.cleanupExpiredInterceptedCalls();
442
+ throw new tool_protection_js_1.DelegationRequiredError(toolName, protection.requiredScopes, consentUrl, interceptedCall, resumeToken);
443
+ }
228
444
  }
229
445
  }
230
446
  else {
@@ -670,6 +886,45 @@ class MCPIRuntimeBase {
670
886
  const bytes = await this.crypto.randomBytes(16);
671
887
  return this.bytesToHex(bytes);
672
888
  }
889
+ /**
890
+ * Log structured events in JSON format (NOT frozen audit format).
891
+ *
892
+ * **Important:** This method logs events in JSON format for general runtime events
893
+ * (e.g., "runtime_initialized", "tool_executed", "keys_rotated").
894
+ *
895
+ * **For frozen format audit logs** (MCP-I spec compliance), use `AuditLogger.logAuditRecord()`
896
+ * from `@kya-os/mcp-i/runtime` instead. The frozen format is:
897
+ * ```
898
+ * audit.v1 ts=<unix> session=<id> audience=<host> did=<did> kid=<kid> reqHash=<sha256:..> resHash=<sha256:..> verified=yes|no scope=<scopeId|->
899
+ * ```
900
+ *
901
+ * **Format:** JSON object with `event`, `data`, `timestamp`, and `timestampFormatted` fields.
902
+ *
903
+ * **Privacy:** If `includePayloads` is false (default), the `data` field is omitted.
904
+ *
905
+ * **Use Cases:**
906
+ * - Developer debugging and local logging
907
+ * - Runtime initialization events
908
+ * - Tool execution tracking (non-spec-compliant)
909
+ * - Key rotation events
910
+ *
911
+ * **NOT for:**
912
+ * - MCP-I spec-compliant audit logs (use `AuditLogger`)
913
+ * - Production audit trails (use `AuditLogger`)
914
+ * - Compliance requirements (use `AuditLogger`)
915
+ *
916
+ * @param event - Event name (e.g., "runtime_initialized", "tool_executed")
917
+ * @param data - Event data (only included if `includePayloads` is true)
918
+ *
919
+ * @example
920
+ * ```typescript
921
+ * // Logs: {"event":"runtime_initialized","timestamp":1234567890,"timestampFormatted":"2024-01-01T00:00:00Z"}
922
+ * this.logAudit("runtime_initialized", { did: "did:key:..." });
923
+ * ```
924
+ *
925
+ * @internal This is a private method for internal runtime events.
926
+ * Use AuditLogger for spec-compliant frozen format audit logs.
927
+ */
673
928
  logAudit(event, data) {
674
929
  if (!this.config.audit?.enabled)
675
930
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAsHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAsKnC;;OAEG;IACH,UAAU,IAAI,8BAA8B;IAI5C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;YACW,gBAAgB;IAkC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CA+B5B"}
1
+ {"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAwHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAmSnC;;OAEG;IACH,UAAU,IAAI,8BAA8B;IAI5C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;YACW,gBAAgB;IAkC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAkC5B"}
@@ -120,7 +120,7 @@ class AccessControlApiService {
120
120
  else if (context?.credentialJwt) {
121
121
  requestBody.credential_jwt = context.credentialJwt;
122
122
  }
123
- // Handle delegation_token: prefer request, fallback to context
123
+ // Handle delegation_token: prefer request, fallback to context
124
124
  if (request.delegation_token !== undefined) {
125
125
  requestBody.delegation_token = request.delegation_token;
126
126
  }
@@ -141,8 +141,8 @@ class AccessControlApiService {
141
141
  const validationResult = agentshield_api_1.verifyDelegationRequestSchema.safeParse(cleanedRequestBody);
142
142
  if (!validationResult.success) {
143
143
  // Check if the error is specifically about scopes being required when it's omitted
144
- const scopesError = validationResult.error.errors.find((e) => e.path.includes('scopes') && e.message === 'Required');
145
- if (scopesError && !('scopes' in cleanedRequestBody)) {
144
+ const scopesError = validationResult.error.errors.find((e) => e.path.includes("scopes") && e.message === "Required");
145
+ if (scopesError && !("scopes" in cleanedRequestBody)) {
146
146
  // This is a known Zod schema issue in AgentShield - scopes is optional but Zod treats it as required
147
147
  // Skip validation for this case since the field is correctly omitted
148
148
  // TODO: Remove this workaround once AgentShield fixes their schema
@@ -228,7 +228,26 @@ class AccessControlApiService {
228
228
  body: JSON.stringify(validatedRequest),
229
229
  });
230
230
  const responseText = await httpResponse.text();
231
+ // CRITICAL: Log raw response IMMEDIATELY before parsing/validation
232
+ // This will help us debug validation failures
233
+ console.error(`[AccessControl] 🔍 RAW API RESPONSE (before parsing):`, {
234
+ correlationId,
235
+ status: httpResponse.status,
236
+ statusText: httpResponse.statusText,
237
+ headers: Object.fromEntries(httpResponse.headers.entries()),
238
+ responseTextLength: responseText.length,
239
+ responseTextPreview: responseText.substring(0, 500),
240
+ fullResponseText: responseText, // Full response for debugging
241
+ });
231
242
  const responseData = this.parseResponseJSON(httpResponse, responseText);
243
+ // Log parsed response immediately after parsing
244
+ console.error(`[AccessControl] 🔍 PARSED RESPONSE DATA:`, {
245
+ correlationId,
246
+ status: httpResponse.status,
247
+ responseDataType: typeof responseData,
248
+ responseDataKeys: Object.keys(responseData || {}),
249
+ responseData: JSON.stringify(responseData, null, 2),
250
+ });
232
251
  // Handle error responses
233
252
  if (!httpResponse.ok) {
234
253
  const errorData = responseData;
@@ -282,22 +301,72 @@ class AccessControlApiService {
282
301
  }
283
302
  // Try to handle wrapped response format first
284
303
  const wrappedResponse = responseData;
304
+ // Log raw response for debugging (always log full response on first submission)
305
+ const rawResponseLog = {
306
+ correlationId,
307
+ hasSuccess: wrappedResponse.success !== undefined,
308
+ hasData: wrappedResponse.data !== undefined,
309
+ responseType: typeof responseData,
310
+ responseKeys: Object.keys(responseData || {}),
311
+ responseData: JSON.stringify(responseData, null, 2).substring(0, 2000), // Increased limit for debugging
312
+ };
313
+ this.config.logger(`[AccessControl] Raw response received`, rawResponseLog);
314
+ // Also log to console.error for visibility (especially for first proof submission errors)
315
+ console.error(`[AccessControl] Raw response received:`, JSON.stringify(responseData, null, 2));
285
316
  if (wrappedResponse.success !== undefined && wrappedResponse.data) {
286
317
  // Response is wrapped in { success, data }
287
- const dataParsed = agentshield_api_1.proofSubmissionResponseSchema.safeParse(wrappedResponse.data);
318
+ // Extract data and add success field if missing (for schema validation)
319
+ const dataToValidate = wrappedResponse.data;
320
+ const dataWithSuccess = {
321
+ ...dataToValidate,
322
+ success: dataToValidate.success !== undefined
323
+ ? dataToValidate.success
324
+ : wrappedResponse.success,
325
+ };
326
+ const dataParsed = agentshield_api_1.proofSubmissionResponseSchema.safeParse(dataWithSuccess);
288
327
  if (dataParsed.success) {
289
- // const response = dataP sponse;
290
- this.config.logger(`[AccessControl] Proofs submitted successfully`, {
328
+ this.config.logger(`[AccessControl] Proofs submitted successfully (wrapped)`, {
291
329
  correlationId,
292
330
  accepted: dataParsed.data.accepted,
293
331
  rejected: dataParsed.data.rejected,
294
332
  });
295
333
  return dataParsed.data;
296
334
  }
335
+ else {
336
+ // Log validation errors for wrapped response (always log errors)
337
+ const validationErrorLog = {
338
+ correlationId,
339
+ zodErrors: dataParsed.error.errors,
340
+ dataToValidate: JSON.stringify(dataToValidate, null, 2).substring(0, 2000),
341
+ dataWithSuccess: JSON.stringify(dataWithSuccess, null, 2).substring(0, 2000),
342
+ dataKeys: Object.keys(dataToValidate),
343
+ originalResponse: JSON.stringify(responseData, null, 2).substring(0, 2000),
344
+ };
345
+ this.config.logger(`[AccessControl] Wrapped response validation failed`, validationErrorLog);
346
+ // Also log to console.error for visibility in production
347
+ console.error(`[AccessControl] Wrapped response validation failed`, validationErrorLog);
348
+ console.error(`[AccessControl] Original wrapped response:`, JSON.stringify(responseData, null, 2));
349
+ }
297
350
  }
298
351
  // Try parsing as direct ProofSubmissionResponse
299
352
  const parsed = agentshield_api_1.proofSubmissionResponseSchema.safeParse(responseData);
300
353
  if (!parsed.success) {
354
+ // Log detailed validation errors (always log errors)
355
+ const validationErrorLog = {
356
+ correlationId,
357
+ zodErrors: parsed.error.errors,
358
+ zodErrorDetails: JSON.stringify(parsed.error.errors, null, 2),
359
+ responseData: JSON.stringify(responseData, null, 2),
360
+ responseDataType: typeof responseData,
361
+ responseKeys: Object.keys(responseData || {}),
362
+ httpStatus: httpResponse.status,
363
+ httpStatusText: httpResponse.statusText,
364
+ };
365
+ this.config.logger(`[AccessControl] Response validation failed`, validationErrorLog);
366
+ // CRITICAL: Log to console.error with full details for debugging
367
+ console.error(`[AccessControl] Response validation failed`, validationErrorLog);
368
+ console.error(`[AccessControl] ❌ ZOD ERRORS:`, JSON.stringify(parsed.error.errors, null, 2));
369
+ console.error(`[AccessControl] ❌ ACTUAL RESPONSE DATA:`, JSON.stringify(responseData, null, 2));
301
370
  throw new agentshield_api_2.AgentShieldAPIError("invalid_response", "Response validation failed", { zodErrors: parsed.error.errors, responseData });
302
371
  }
303
372
  this.config.logger(`[AccessControl] Proofs submitted successfully`, {
@@ -407,7 +476,10 @@ class AccessControlApiService {
407
476
  // Handle non-JSON error responses (e.g., plain text "Internal Server Error")
408
477
  if (!response.ok) {
409
478
  const errorCode = this.mapStatusToErrorCode(response.status);
410
- throw new agentshield_api_2.AgentShieldAPIError(errorCode, `API request failed: ${response.status} ${response.statusText}`, { status: response.status, responseText: responseText.substring(0, 500) });
479
+ throw new agentshield_api_2.AgentShieldAPIError(errorCode, `API request failed: ${response.status} ${response.statusText}`, {
480
+ status: response.status,
481
+ responseText: responseText.substring(0, 500),
482
+ });
411
483
  }
412
484
  // For success responses that aren't JSON, throw invalid_response error
413
485
  throw new agentshield_api_2.AgentShieldAPIError("invalid_response", `Failed to parse response: ${error instanceof Error ? error.message : String(error)}`, { responseText: responseText.substring(0, 500) });