@kya-os/mcp-i-cloudflare 1.5.10-canary.9 → 1.6.1

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 (102) hide show
  1. package/README.md +130 -0
  2. package/dist/__tests__/e2e/test-config.d.ts +37 -0
  3. package/dist/__tests__/e2e/test-config.d.ts.map +1 -0
  4. package/dist/__tests__/e2e/test-config.js +62 -0
  5. package/dist/__tests__/e2e/test-config.js.map +1 -0
  6. package/dist/adapter.d.ts +44 -1
  7. package/dist/adapter.d.ts.map +1 -1
  8. package/dist/adapter.js +712 -112
  9. package/dist/adapter.js.map +1 -1
  10. package/dist/agent.d.ts +117 -25
  11. package/dist/agent.d.ts.map +1 -1
  12. package/dist/agent.js +664 -40
  13. package/dist/agent.js.map +1 -1
  14. package/dist/app.d.ts +0 -8
  15. package/dist/app.d.ts.map +1 -1
  16. package/dist/app.js +348 -119
  17. package/dist/app.js.map +1 -1
  18. package/dist/cache/kv-oauth-config-cache.d.ts +47 -0
  19. package/dist/cache/kv-oauth-config-cache.d.ts.map +1 -0
  20. package/dist/cache/kv-oauth-config-cache.js +82 -0
  21. package/dist/cache/kv-oauth-config-cache.js.map +1 -0
  22. package/dist/cache/kv-tool-protection-cache.d.ts +26 -1
  23. package/dist/cache/kv-tool-protection-cache.d.ts.map +1 -1
  24. package/dist/cache/kv-tool-protection-cache.js +19 -11
  25. package/dist/cache/kv-tool-protection-cache.js.map +1 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +39 -14
  28. package/dist/config.js.map +1 -1
  29. package/dist/helpers/env-mapper.d.ts +60 -1
  30. package/dist/helpers/env-mapper.d.ts.map +1 -1
  31. package/dist/helpers/env-mapper.js +136 -6
  32. package/dist/helpers/env-mapper.js.map +1 -1
  33. package/dist/index.d.ts +4 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +16 -3
  36. package/dist/index.js.map +1 -1
  37. package/dist/runtime/audit-logger.d.ts +96 -0
  38. package/dist/runtime/audit-logger.d.ts.map +1 -0
  39. package/dist/runtime/audit-logger.js +276 -0
  40. package/dist/runtime/audit-logger.js.map +1 -0
  41. package/dist/runtime/oauth-handler.d.ts +5 -0
  42. package/dist/runtime/oauth-handler.d.ts.map +1 -1
  43. package/dist/runtime/oauth-handler.js +287 -35
  44. package/dist/runtime/oauth-handler.js.map +1 -1
  45. package/dist/runtime.d.ts +12 -1
  46. package/dist/runtime.d.ts.map +1 -1
  47. package/dist/runtime.js +34 -4
  48. package/dist/runtime.js.map +1 -1
  49. package/dist/server.d.ts +7 -0
  50. package/dist/server.d.ts.map +1 -1
  51. package/dist/server.js +120 -29
  52. package/dist/server.js.map +1 -1
  53. package/dist/services/admin.service.d.ts +1 -3
  54. package/dist/services/admin.service.d.ts.map +1 -1
  55. package/dist/services/admin.service.js +175 -146
  56. package/dist/services/admin.service.js.map +1 -1
  57. package/dist/services/consent-audit.service.d.ts +91 -0
  58. package/dist/services/consent-audit.service.d.ts.map +1 -0
  59. package/dist/services/consent-audit.service.js +243 -0
  60. package/dist/services/consent-audit.service.js.map +1 -0
  61. package/dist/services/consent-config.service.d.ts +2 -2
  62. package/dist/services/consent-config.service.d.ts.map +1 -1
  63. package/dist/services/consent-config.service.js +55 -28
  64. package/dist/services/consent-config.service.js.map +1 -1
  65. package/dist/services/consent-page-renderer.d.ts +14 -0
  66. package/dist/services/consent-page-renderer.d.ts.map +1 -1
  67. package/dist/services/consent-page-renderer.js +54 -27
  68. package/dist/services/consent-page-renderer.js.map +1 -1
  69. package/dist/services/consent.service.d.ts +93 -8
  70. package/dist/services/consent.service.d.ts.map +1 -1
  71. package/dist/services/consent.service.js +1817 -553
  72. package/dist/services/consent.service.js.map +1 -1
  73. package/dist/services/delegation.service.d.ts.map +1 -1
  74. package/dist/services/delegation.service.js +67 -29
  75. package/dist/services/delegation.service.js.map +1 -1
  76. package/dist/services/idp-token-storage.d.ts +68 -0
  77. package/dist/services/idp-token-storage.d.ts.map +1 -0
  78. package/dist/services/idp-token-storage.js +157 -0
  79. package/dist/services/idp-token-storage.js.map +1 -0
  80. package/dist/services/oauth-service.d.ts +66 -0
  81. package/dist/services/oauth-service.d.ts.map +1 -0
  82. package/dist/services/oauth-service.js +223 -0
  83. package/dist/services/oauth-service.js.map +1 -0
  84. package/dist/services/proof.service.d.ts +8 -6
  85. package/dist/services/proof.service.d.ts.map +1 -1
  86. package/dist/services/proof.service.js +131 -75
  87. package/dist/services/proof.service.js.map +1 -1
  88. package/dist/services/tool-context-builder.d.ts +55 -0
  89. package/dist/services/tool-context-builder.d.ts.map +1 -0
  90. package/dist/services/tool-context-builder.js +124 -0
  91. package/dist/services/tool-context-builder.js.map +1 -0
  92. package/dist/types/tool-context.d.ts +35 -0
  93. package/dist/types/tool-context.d.ts.map +1 -0
  94. package/dist/types/tool-context.js +13 -0
  95. package/dist/types/tool-context.js.map +1 -0
  96. package/dist/types.d.ts +31 -2
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/utils/oauth-service-registry.d.ts +65 -0
  99. package/dist/utils/oauth-service-registry.d.ts.map +1 -0
  100. package/dist/utils/oauth-service-registry.js +125 -0
  101. package/dist/utils/oauth-service-registry.js.map +1 -0
  102. package/package.json +27 -60
@@ -9,10 +9,8 @@ import { MCP_CORS_HEADERS, PREFLIGHT_CORS_HEADERS } from "@kya-os/mcp-i-core";
9
9
  import { clearCacheRequestSchema } from "@kya-os/contracts/agentshield-api";
10
10
  export class AdminService {
11
11
  env;
12
- runtime;
13
- constructor(env, runtime) {
12
+ constructor(env) {
14
13
  this.env = env;
15
- this.runtime = runtime;
16
14
  }
17
15
  /**
18
16
  * Create a consistent error response in AgentShield API format
@@ -45,14 +43,15 @@ export class AdminService {
45
43
  * @returns Response
46
44
  */
47
45
  async handle(request) {
48
- console.log("[Admin] handle called", {
49
- url: request.url,
46
+ const url = new URL(request.url);
47
+ console.log("[AdminService] Handle called:", {
48
+ pathname: url.pathname,
50
49
  method: request.method,
50
+ url: request.url,
51
51
  });
52
- const url = new URL(request.url);
53
52
  // Only POST /admin/clear-cache is supported
54
53
  if (url.pathname === "/admin/clear-cache") {
55
- console.log("[Admin] Matched /admin/clear-cache endpoint");
54
+ console.log("[AdminService] Processing clear-cache request");
56
55
  // Handle OPTIONS preflight requests
57
56
  if (request.method === "OPTIONS") {
58
57
  return new Response(null, {
@@ -83,25 +82,23 @@ export class AdminService {
83
82
  * Handle cache clearing request
84
83
  */
85
84
  async handleClearCache(request) {
86
- console.log("[Admin] handleClearCache called");
85
+ console.log("[AdminService] handleClearCache called");
86
+ // Ensure this method is isolated from other service initialization failures
87
87
  try {
88
88
  // Parse and validate request body
89
- const body = await request.json().catch((error) => {
90
- console.error("[Admin] Failed to parse request body:", error);
89
+ const body = await request.json().catch((err) => {
90
+ console.warn("[AdminService] Failed to parse request body:", err);
91
91
  return {};
92
92
  });
93
- console.log("[Admin] Request body parsed:", { hasBody: !!body, bodyKeys: Object.keys(body || {}) });
93
+ console.log("[AdminService] Request body parsed:", {
94
+ hasBody: !!body,
95
+ bodyKeys: Object.keys(body || {}),
96
+ });
94
97
  const validationResult = clearCacheRequestSchema.safeParse(body);
95
98
  if (!validationResult.success) {
96
- console.error("[Admin] Validation failed:", {
97
- errors: validationResult.error.errors,
98
- receivedBody: body,
99
- });
100
99
  return this.createErrorResponse("validation_error", "Bad Request - agent_did required in body", 400, { validation_errors: validationResult.error.errors });
101
100
  }
102
101
  const { agent_did: agentDid } = validationResult.data;
103
- // Get projectId early - used for both API validation and cache key determination
104
- const projectId = this.env.AGENTSHIELD_PROJECT_ID;
105
102
  // Extract API key from Authorization header
106
103
  const authHeader = request.headers.get("Authorization");
107
104
  if (!authHeader || !authHeader.startsWith("Bearer ")) {
@@ -109,34 +106,22 @@ export class AdminService {
109
106
  }
110
107
  const apiKey = authHeader.slice(7); // Remove "Bearer " prefix
111
108
  // Validate API key by making a test call to AgentShield
112
- // Use same endpoint/header logic as ToolProtectionService
113
109
  const agentShieldUrl = this.env.AGENTSHIELD_API_URL || DEFAULT_AGENTSHIELD_URL;
114
- let validationUrl;
115
- let headers = {
116
- "Content-Type": "application/json",
117
- };
118
- if (projectId) {
119
- // ✅ New endpoint format
120
- validationUrl = `${agentShieldUrl}/api/v1/bouncer/projects/${encodeURIComponent(projectId)}/tool-protections`;
121
- headers["X-API-Key"] = apiKey;
122
- headers["X-Project-Id"] = projectId;
123
- }
124
- else {
125
- // ⚠️ Old endpoint format (backward compatibility)
126
- validationUrl = `${agentShieldUrl}/api/v1/bouncer/config?agent_did=${encodeURIComponent(agentDid)}`;
127
- headers["Authorization"] = `Bearer ${apiKey}`;
128
- }
110
+ const validationUrl = `${agentShieldUrl}/api/v1/bouncer/config?agent_did=${encodeURIComponent(agentDid)}`;
129
111
  try {
130
112
  const validationResponse = await fetch(validationUrl, {
131
113
  method: "GET",
132
- headers,
114
+ headers: {
115
+ "Content-Type": "application/json",
116
+ Authorization: `Bearer ${apiKey}`,
117
+ },
133
118
  });
134
119
  if (!validationResponse.ok) {
135
120
  console.warn("[Admin] API key validation failed:", validationResponse.status);
136
121
  return this.createErrorResponse("invalid_api_key", "Unauthorized - Invalid API key", 401);
137
122
  }
138
123
  // API key is valid, proceed to clear cache
139
- console.log("[Admin] API key validated successfully, proceeding to clear cache");
124
+ console.log("[Admin] API key validated successfully");
140
125
  }
141
126
  catch (error) {
142
127
  console.error("[Admin] API key validation error:", error);
@@ -147,33 +132,42 @@ export class AdminService {
147
132
  // Clear cache from KV
148
133
  // Use project-scoped cache key if projectId is available (preferred)
149
134
  // Otherwise fall back to agent-scoped cache key
135
+ const projectId = this.env.AGENTSHIELD_PROJECT_ID;
150
136
  const kvNamespace = this.env.TOOL_PROTECTION_KV;
151
137
  if (!kvNamespace) {
138
+ // Log detailed error information for debugging
139
+ const envKeys = Object.keys(this.env).filter((k) => k.includes("TOOL") || k.includes("KV") || k.includes("PROTECTION"));
140
+ console.error("[Admin] TOOL_PROTECTION_KV not found in environment", {
141
+ hasToolProtectionKV: !!this.env.TOOL_PROTECTION_KV,
142
+ projectId: projectId || "none",
143
+ agentDid: agentDid.slice(0, 20) + "...",
144
+ relevantEnvKeys: envKeys,
145
+ allEnvKeys: Object.keys(this.env).slice(0, 20), // First 20 keys for debugging
146
+ });
152
147
  return this.createErrorResponse("configuration_error", "Tool protection KV namespace not configured", 500, {
153
- hint: "Ensure TOOL_PROTECTION_KV is bound in wrangler.toml",
148
+ hint: "Ensure TOOL_PROTECTION_KV is bound in wrangler.toml. If using prefixed KV bindings (e.g., SIXTY_EIGHT_TOOL_PROTECTION_KV), ensure envPrefix is set in createMCPIApp options.",
149
+ relevantEnvKeys: envKeys,
154
150
  });
155
151
  }
156
152
  // Determine cache key format (matches ToolProtectionService logic)
157
- // ToolProtectionService uses: config:tool-protections:{projectId} or agent:{agentDid}
158
- // KVToolProtectionCache adds prefix: tool-protection:
159
- // Final format: tool-protection:config:tool-protections:{projectId} or tool-protection:agent:{agentDid}
153
+ // Project-scoped: tool-protection:config:tool-protections:{projectId}
154
+ // Agent-scoped: tool-protection:agent:{agentDid}
160
155
  const cacheKeyBase = projectId
161
156
  ? `config:tool-protections:${projectId}`
162
157
  : `agent:${agentDid}`;
163
158
  const cacheKey = `tool-protection:${cacheKeyBase}`;
164
- console.log("[Admin] Cache key determination:", {
165
- projectId: projectId || "none",
166
- agentDid: agentDid.slice(0, 20) + "...",
167
- cacheKeyBase,
168
- cacheKey,
169
- });
170
159
  // Also clear the old agent-scoped key if using project-scoped (for migration)
171
160
  const oldCacheKey = projectId
172
161
  ? `tool-protection:agent:${agentDid}`
173
162
  : null;
163
+ // OAuth config cache key (if projectId is available)
164
+ const oauthConfigCacheKey = projectId
165
+ ? `oauth-config:${projectId}`
166
+ : null;
174
167
  // Log before and after for debugging
175
168
  let before = null;
176
169
  let beforeOld = null;
170
+ let beforeOAuth = null;
177
171
  let deleteErrors = [];
178
172
  try {
179
173
  before = await kvNamespace.get(cacheKey);
@@ -189,6 +183,14 @@ export class AdminService {
189
183
  console.warn("[Admin] Failed to check old cache key before deletion:", error);
190
184
  }
191
185
  }
186
+ if (oauthConfigCacheKey) {
187
+ try {
188
+ beforeOAuth = await kvNamespace.get(oauthConfigCacheKey);
189
+ }
190
+ catch (error) {
191
+ console.warn("[Admin] Failed to check OAuth config cache key before deletion:", error);
192
+ }
193
+ }
192
194
  // Delete both keys with error handling
193
195
  try {
194
196
  await kvNamespace.delete(cacheKey);
@@ -210,7 +212,83 @@ export class AdminService {
210
212
  console.error("[Admin] Failed to delete old cache key:", oldCacheKey, error);
211
213
  }
212
214
  }
215
+ // Clear OAuth config cache if projectId is available
216
+ if (oauthConfigCacheKey) {
217
+ try {
218
+ await kvNamespace.delete(oauthConfigCacheKey);
219
+ console.log("[Admin] Successfully deleted OAuth config cache key:", oauthConfigCacheKey);
220
+ }
221
+ catch (error) {
222
+ const errorMsg = error instanceof Error ? error.message : String(error);
223
+ deleteErrors.push(`Failed to delete ${oauthConfigCacheKey}: ${errorMsg}`);
224
+ console.error("[Admin] Failed to delete OAuth config cache key:", oauthConfigCacheKey, error);
225
+ }
226
+ }
227
+ // CRITICAL: Warm the cache by fetching fresh config and writing it back
228
+ // This ensures the edge cache at this location has fresh data
229
+ // Without this, the DO might still read stale data from its edge cache
230
+ let freshConfigFetched = false;
231
+ let refreshedToolCount = 0;
232
+ let refreshedProtectedTools = [];
233
+ if (projectId) {
234
+ try {
235
+ console.log("[Admin] Fetching fresh config to warm cache...");
236
+ const toolProtectionsUrl = `${agentShieldUrl}/api/v1/bouncer/projects/${encodeURIComponent(projectId)}/tool-protections`;
237
+ const freshResponse = await fetch(toolProtectionsUrl, {
238
+ method: "GET",
239
+ headers: {
240
+ "Content-Type": "application/json",
241
+ Authorization: `Bearer ${apiKey}`,
242
+ },
243
+ });
244
+ if (freshResponse.ok) {
245
+ const freshData = await freshResponse.json();
246
+ if (freshData.success && freshData.data) {
247
+ // Transform and cache the fresh config
248
+ const toolProtections = {};
249
+ const rawProtections = freshData.data.toolProtections || freshData.data.tools || {};
250
+ for (const [toolName, toolConfig] of Object.entries(rawProtections)) {
251
+ const tc = toolConfig;
252
+ const requiresDelegation = tc.requiresDelegation ?? tc.requires_delegation ?? false;
253
+ const requiredScopes = tc.requiredScopes ?? tc.required_scopes ?? tc.scopes ?? [];
254
+ toolProtections[toolName] = {
255
+ requiresDelegation,
256
+ requiredScopes,
257
+ };
258
+ if (requiresDelegation) {
259
+ refreshedProtectedTools.push(toolName);
260
+ }
261
+ }
262
+ refreshedToolCount = Object.keys(toolProtections).length;
263
+ // Write fresh config to KV (this warms the edge cache)
264
+ const freshConfig = {
265
+ toolProtections,
266
+ cachedAt: Date.now(),
267
+ source: "api-refresh",
268
+ };
269
+ await kvNamespace.put(cacheKey, JSON.stringify(freshConfig), {
270
+ expirationTtl: 300, // 5 minutes in seconds
271
+ });
272
+ freshConfigFetched = true;
273
+ console.log("[Admin] Fresh config fetched and cached successfully", {
274
+ cacheKey,
275
+ toolCount: refreshedToolCount,
276
+ protectedTools: refreshedProtectedTools,
277
+ });
278
+ }
279
+ }
280
+ else {
281
+ console.warn("[Admin] Failed to fetch fresh config:", freshResponse.status);
282
+ }
283
+ }
284
+ catch (error) {
285
+ console.warn("[Admin] Error warming cache with fresh config:", error);
286
+ // Continue without warming - cache clear still happened
287
+ }
288
+ }
213
289
  // Verify deletion
290
+ // Note: Cloudflare KV operations are typically very fast (< 100ms)
291
+ // If they hang, that's a Cloudflare infrastructure issue, not something we should mask
214
292
  let after = null;
215
293
  let verificationSucceeded = false;
216
294
  try {
@@ -223,33 +301,46 @@ export class AdminService {
223
301
  // Set cleared to false to indicate unknown status
224
302
  verificationSucceeded = false;
225
303
  }
226
- // Only consider cache cleared if verification succeeded AND after is null
227
- // If verification failed, we don't know the status, so set cleared to false
228
- const cleared = verificationSucceeded && !after;
304
+ // Determine if cache was successfully cleared
305
+ // When cache was warmed with fresh data, 'after' will contain the fresh config - that's SUCCESS
306
+ // When cache was NOT warmed:
307
+ // - If verification succeeded: cleared = !after (cache is cleared if null)
308
+ // - If verification failed: cleared = no delete errors
309
+ const cleared = freshConfigFetched
310
+ ? true // We successfully warmed cache - the stale data is replaced
311
+ : verificationSucceeded
312
+ ? !after // Verification succeeded: cache is cleared if 'after' is null
313
+ : deleteErrors.length === 0; // Verification failed: assume cleared if no delete errors
229
314
  const hadValue = !!before;
230
315
  const hadOldValue = !!beforeOld;
316
+ // Only warn about cache persistence if we DIDN'T warm the cache
317
+ // If we warmed it, having data after is expected
318
+ if (verificationSucceeded && after && !freshConfigFetched) {
319
+ console.error("[Admin] ⚠️ CACHE PERSISTENCE DETECTED: Cache key still exists after deletion!", {
320
+ cacheKey,
321
+ beforeValue: before ? "exists" : "null",
322
+ afterValue: after ? "exists" : "null",
323
+ deleteErrors: deleteErrors.length > 0 ? deleteErrors : "none",
324
+ });
325
+ }
231
326
  console.log("[Admin] Cache clear operation completed", {
232
327
  agentDid: agentDid.slice(0, 20) + "...",
233
328
  projectId: projectId || "none",
234
329
  cacheKey,
235
330
  oldCacheKey: oldCacheKey || "none",
331
+ oauthConfigCacheKey: oauthConfigCacheKey || "none",
236
332
  hadValue,
237
333
  hadOldValue,
334
+ hadOAuthValue: !!beforeOAuth,
238
335
  cleared,
239
336
  verificationSucceeded,
240
337
  deleteErrors: deleteErrors.length > 0 ? deleteErrors : undefined,
241
338
  });
242
- // If there were errors but we still cleared the main key, consider it a partial success
339
+ // If there were delete errors and cache wasn't cleared, return partial failure
340
+ // Note: When !verificationSucceeded && deleteErrors.length > 0, cleared is always false
341
+ // (because cleared = deleteErrors.length === 0 when verification fails)
342
+ // So this condition handles both verified and unverified failure cases
243
343
  if (deleteErrors.length > 0 && !cleared) {
244
- console.error("[Admin] ❌ Cache clear FAILED - Partial failure:", {
245
- cacheKey,
246
- oldCacheKey: oldCacheKey || "none",
247
- deleteErrors,
248
- hadValue,
249
- hadOldValue,
250
- cleared,
251
- verificationSucceeded,
252
- });
253
344
  return this.createErrorResponse("partial_failure", "Partial cache clear failure", 500, {
254
345
  delete_errors: deleteErrors,
255
346
  cache_key: cacheKey,
@@ -260,103 +351,33 @@ export class AdminService {
260
351
  verification_succeeded: verificationSucceeded,
261
352
  });
262
353
  }
263
- // If verification failed, we cannot confirm deletion status
264
- if (!verificationSucceeded) {
265
- console.error("[Admin] Cache clear FAILED - Verification failed:", {
354
+ // If verification failed but no delete errors, assume deletion succeeded
355
+ // This handles cases where KV get() is slow but delete() succeeded
356
+ if (!verificationSucceeded && deleteErrors.length === 0) {
357
+ console.log("[Admin] Verification failed but no delete errors - assuming success", {
266
358
  cacheKey,
267
- oldCacheKey: oldCacheKey || "none",
268
359
  hadValue,
269
- hadOldValue,
270
- deleteErrors: deleteErrors.length > 0 ? deleteErrors : undefined,
271
- });
272
- return this.createErrorResponse("verification_failed", "Cache deletion attempted but verification failed - status unknown", 500, {
273
- cache_key: cacheKey,
274
- old_cache_key: oldCacheKey || null,
275
- had_value: hadValue,
276
- had_old_value: hadOldValue,
277
- delete_errors: deleteErrors.length > 0 ? deleteErrors : undefined,
278
- });
279
- }
280
- // Success! Log clearly
281
- console.log("[Admin] ✅ Cache clear SUCCESS:", {
282
- cacheKey,
283
- oldCacheKey: oldCacheKey || "none",
284
- hadValue,
285
- hadOldValue,
286
- projectId: projectId || "none",
287
- agentDid: agentDid.slice(0, 20) + "...",
288
- });
289
- // Immediately refresh cache from API to ensure next tool call uses fresh config
290
- // This bypasses AgentShield's 5-minute cache by forcing a fresh fetch with Cache-Control headers
291
- let refreshSuccess = false;
292
- let refreshError = null;
293
- try {
294
- console.log("[Admin] Attempting to refresh cache immediately", {
295
- hasRuntime: !!this.runtime,
296
- runtimeType: this.runtime ? this.runtime.constructor.name : "none",
297
- });
298
- // Access protected config property via type assertion (runtime is CloudflareRuntime which has public access)
299
- const runtimeConfig = this.runtime?.config;
300
- console.log("[Admin] Runtime config access:", {
301
- hasRuntime: !!this.runtime,
302
- hasConfig: !!runtimeConfig,
303
- configKeys: runtimeConfig ? Object.keys(runtimeConfig) : [],
304
360
  });
305
- if (runtimeConfig?.toolProtectionService) {
306
- const toolProtectionService = runtimeConfig.toolProtectionService;
307
- console.log("[Admin] Tool protection service found", {
308
- hasService: !!toolProtectionService,
309
- serviceType: typeof toolProtectionService,
310
- hasRefreshCache: typeof toolProtectionService.refreshCache === "function",
311
- serviceMethods: Object.keys(toolProtectionService || {}),
312
- });
313
- // Check if refreshCache method exists (defensive check for version compatibility)
314
- if (typeof toolProtectionService.refreshCache === "function") {
315
- // Use refreshCache method which clears cache and fetches with cache bypass
316
- console.log("[Admin] Calling refreshCache with agentDid:", agentDid.slice(0, 20) + "...");
317
- await toolProtectionService.refreshCache(agentDid);
318
- refreshSuccess = true;
319
- console.log("[Admin] ✅ Cache refreshed immediately from API (bypassed AgentShield cache)");
320
- }
321
- else {
322
- console.warn("[Admin] Tool protection service found but refreshCache method not available", {
323
- hasService: !!toolProtectionService,
324
- serviceType: typeof toolProtectionService,
325
- serviceMethods: Object.keys(toolProtectionService || {}),
326
- });
327
- }
328
- }
329
- else {
330
- console.warn("[Admin] Tool protection service not available for immediate refresh", {
331
- hasRuntime: !!this.runtime,
332
- hasConfig: !!runtimeConfig,
333
- hasToolProtectionService: !!runtimeConfig?.toolProtectionService,
334
- });
335
- }
336
- }
337
- catch (error) {
338
- refreshError = error instanceof Error ? error.message : String(error);
339
- console.error("[Admin] Failed to refresh cache immediately:", {
340
- error: refreshError,
341
- errorName: error instanceof Error ? error.name : typeof error,
342
- errorStack: error instanceof Error ? error.stack : undefined,
343
- });
344
- // Non-fatal - cache was cleared, just couldn't refresh immediately
345
361
  }
346
362
  // Build typed response data
363
+ // IMPORTANT: Use the calculated 'cleared' value, not '!after', to ensure consistency
364
+ // The 'cleared' variable accounts for verification failures and delete errors
347
365
  const responseData = {
348
- message: refreshSuccess
349
- ? "Cache cleared and refreshed immediately. Fresh config is now available."
350
- : "Cache cleared successfully. Next tool call will fetch fresh config from AgentShield.",
366
+ message: freshConfigFetched
367
+ ? `Cache cleared and warmed with fresh config. ${refreshedProtectedTools.length} protected tool(s): ${refreshedProtectedTools.join(", ") || "none"}`
368
+ : cleared
369
+ ? "Cache cleared successfully. Next tool call will fetch fresh config from AgentShield."
370
+ : "Cache clear attempted but status uncertain. Next tool call will verify cache state.",
351
371
  agent_did: agentDid,
352
372
  project_id: projectId || null,
353
373
  cache_key: cacheKey,
354
374
  old_cache_key: oldCacheKey || null,
355
375
  had_value: !!before,
356
376
  had_old_value: !!beforeOld,
357
- cleared: !after,
358
- refreshed_immediately: refreshSuccess,
359
- refresh_error: refreshError || undefined,
377
+ cleared: cleared, // Use calculated value, not !after
378
+ cache_warmed: freshConfigFetched,
379
+ refreshed_tool_count: freshConfigFetched ? refreshedToolCount : undefined,
380
+ refreshed_protected_tools: freshConfigFetched ? refreshedProtectedTools : undefined,
360
381
  };
361
382
  // Wrap in AgentShield API response format
362
383
  const apiResponse = {
@@ -376,12 +397,20 @@ export class AdminService {
376
397
  });
377
398
  }
378
399
  catch (error) {
379
- console.error("[Admin] Cache clear FAILED - Internal error:", {
380
- error: error instanceof Error ? error.message : String(error),
400
+ // Log detailed error information for debugging
401
+ const errorDetails = {
402
+ message: error instanceof Error ? error.message : String(error),
403
+ name: error instanceof Error ? error.name : "Unknown",
381
404
  stack: error instanceof Error ? error.stack : undefined,
382
- });
405
+ cause: error instanceof Error && error.cause
406
+ ? String(error.cause)
407
+ : undefined,
408
+ };
409
+ console.error("[Admin] Failed to clear cache:", errorDetails);
410
+ console.error("[Admin] Error occurred at:", new Error().stack);
383
411
  return this.createErrorResponse("internal_error", "Internal error clearing cache", 500, {
384
412
  error_message: error instanceof Error ? error.message : String(error),
413
+ error_name: error instanceof Error ? error.name : "Unknown",
385
414
  });
386
415
  }
387
416
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin.service.js","sourceRoot":"","sources":["../../src/services/admin.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.service.js","sourceRoot":"","sources":["../../src/services/admin.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Consent Audit Service
3
+ *
4
+ * Handles audit logging for consent-related events.
5
+ * These events bypass session deduplication to allow multiple events per session.
6
+ */
7
+ import type { ProofService } from "./proof.service";
8
+ import type { IAuditLogger } from "@kya-os/mcp-i-core/runtime/audit-logger";
9
+ import { CloudflareProofGenerator } from "../proof-generator";
10
+ import type { CloudflareRuntimeConfig } from "../config";
11
+ import type { CloudflareRuntime } from "../runtime";
12
+ export declare class ConsentAuditService {
13
+ private proofService;
14
+ private auditLogger;
15
+ private proofGenerator;
16
+ private config;
17
+ private runtime;
18
+ private logger;
19
+ constructor(proofService: ProofService, auditLogger: IAuditLogger, proofGenerator: CloudflareProofGenerator, config: CloudflareRuntimeConfig, runtime: CloudflareRuntime);
20
+ /**
21
+ * Create a minimal SessionContext for audit logging
22
+ * Only sessionId and audience are used by logEvent, but TypeScript requires full SessionContext
23
+ */
24
+ private createSessionContext;
25
+ /**
26
+ * Log consent page view event
27
+ */
28
+ logConsentPageView(event: {
29
+ sessionId: string;
30
+ agentDid: string;
31
+ targetTools: string[];
32
+ scopes: string[];
33
+ projectId: string;
34
+ }): Promise<void>;
35
+ /**
36
+ * Log consent approval event
37
+ */
38
+ logConsentApproval(event: {
39
+ sessionId: string;
40
+ userDid?: string;
41
+ agentDid: string;
42
+ targetTools: string[];
43
+ scopes: string[];
44
+ delegationId: string;
45
+ projectId: string;
46
+ termsAccepted: boolean;
47
+ oauthIdentity?: {
48
+ provider: string;
49
+ identifier: string;
50
+ };
51
+ }): Promise<void>;
52
+ /**
53
+ * Log when user needs credentials before delegation
54
+ */
55
+ logCredentialRequired(event: {
56
+ sessionId: string;
57
+ agentDid: string;
58
+ targetTools: string[];
59
+ scopes: string[];
60
+ projectId: string;
61
+ oauthProvider?: string;
62
+ }): Promise<void>;
63
+ /**
64
+ * Log delegation creation
65
+ */
66
+ logDelegationCreated(event: {
67
+ sessionId: string;
68
+ delegationId: string;
69
+ agentDid: string;
70
+ userDid?: string;
71
+ targetTools: string[];
72
+ scopes: string[];
73
+ projectId: string;
74
+ }): Promise<void>;
75
+ /**
76
+ * Generate proof for consent event
77
+ *
78
+ * IMPORTANT: Consent events use synthetic canonical request/response forms
79
+ * since they represent system events, not actual HTTP requests. The MCP-I
80
+ * proof spec allows synthetic forms for system-generated events that don't
81
+ * correspond to actual HTTP requests.
82
+ *
83
+ * ✅ FIXED: Added nonce generation, fixed SessionContext structure
84
+ */
85
+ private generateConsentProof;
86
+ /**
87
+ * Get server's actual identity (NO FALLBACK)
88
+ */
89
+ private getServerIdentity;
90
+ }
91
+ //# sourceMappingURL=consent-audit.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-audit.service.d.ts","sourceRoot":"","sources":["../../src/services/consent-audit.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,qBAAa,mBAAmB;IAS5B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IAZjB,OAAO,CAAC,MAAM,CAKZ;gBAGQ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,wBAAwB,EACxC,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,iBAAiB;IAGpC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjB;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1D,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjB;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE;QACjC,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCjB;;OAEG;IACG,oBAAoB,CAAC,KAAK,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCjB;;;;;;;;;OASG;YACW,oBAAoB;IAuDlC;;OAEG;YACW,iBAAiB;CAoBhC"}