@kya-os/mcp-i-cloudflare 1.5.10-canary.8 → 1.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.
- package/README.md +130 -0
- package/dist/__tests__/e2e/test-config.d.ts +37 -0
- package/dist/__tests__/e2e/test-config.d.ts.map +1 -0
- package/dist/__tests__/e2e/test-config.js +62 -0
- package/dist/__tests__/e2e/test-config.js.map +1 -0
- package/dist/adapter.d.ts +44 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +712 -112
- package/dist/adapter.js.map +1 -1
- package/dist/agent.d.ts +103 -25
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +617 -40
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +0 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +277 -119
- package/dist/app.js.map +1 -1
- package/dist/cache/kv-oauth-config-cache.d.ts +47 -0
- package/dist/cache/kv-oauth-config-cache.d.ts.map +1 -0
- package/dist/cache/kv-oauth-config-cache.js +82 -0
- package/dist/cache/kv-oauth-config-cache.js.map +1 -0
- package/dist/cache/kv-tool-protection-cache.d.ts +26 -1
- package/dist/cache/kv-tool-protection-cache.d.ts.map +1 -1
- package/dist/cache/kv-tool-protection-cache.js +19 -11
- package/dist/cache/kv-tool-protection-cache.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -14
- package/dist/config.js.map +1 -1
- package/dist/helpers/env-mapper.d.ts +60 -1
- package/dist/helpers/env-mapper.d.ts.map +1 -1
- package/dist/helpers/env-mapper.js +136 -6
- package/dist/helpers/env-mapper.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/audit-logger.d.ts +96 -0
- package/dist/runtime/audit-logger.d.ts.map +1 -0
- package/dist/runtime/audit-logger.js +276 -0
- package/dist/runtime/audit-logger.js.map +1 -0
- package/dist/runtime/oauth-handler.d.ts +5 -0
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js +287 -35
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/runtime.d.ts +12 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +34 -4
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +133 -18
- package/dist/server.js.map +1 -1
- package/dist/services/admin.service.d.ts +1 -3
- package/dist/services/admin.service.d.ts.map +1 -1
- package/dist/services/admin.service.js +175 -146
- package/dist/services/admin.service.js.map +1 -1
- package/dist/services/consent-audit.service.d.ts +91 -0
- package/dist/services/consent-audit.service.d.ts.map +1 -0
- package/dist/services/consent-audit.service.js +243 -0
- package/dist/services/consent-audit.service.js.map +1 -0
- package/dist/services/consent-config.service.d.ts +2 -2
- package/dist/services/consent-config.service.d.ts.map +1 -1
- package/dist/services/consent-config.service.js +55 -28
- package/dist/services/consent-config.service.js.map +1 -1
- package/dist/services/consent-page-renderer.d.ts +14 -0
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +54 -27
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent.service.d.ts +93 -8
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +1817 -553
- package/dist/services/consent.service.js.map +1 -1
- package/dist/services/delegation.service.d.ts.map +1 -1
- package/dist/services/delegation.service.js +67 -29
- package/dist/services/delegation.service.js.map +1 -1
- package/dist/services/idp-token-storage.d.ts +68 -0
- package/dist/services/idp-token-storage.d.ts.map +1 -0
- package/dist/services/idp-token-storage.js +157 -0
- package/dist/services/idp-token-storage.js.map +1 -0
- package/dist/services/oauth-service.d.ts +66 -0
- package/dist/services/oauth-service.d.ts.map +1 -0
- package/dist/services/oauth-service.js +223 -0
- package/dist/services/oauth-service.js.map +1 -0
- package/dist/services/proof.service.d.ts +8 -6
- package/dist/services/proof.service.d.ts.map +1 -1
- package/dist/services/proof.service.js +131 -75
- package/dist/services/proof.service.js.map +1 -1
- package/dist/services/tool-context-builder.d.ts +55 -0
- package/dist/services/tool-context-builder.d.ts.map +1 -0
- package/dist/services/tool-context-builder.js +124 -0
- package/dist/services/tool-context-builder.js.map +1 -0
- package/dist/types/tool-context.d.ts +35 -0
- package/dist/types/tool-context.d.ts.map +1 -0
- package/dist/types/tool-context.js +13 -0
- package/dist/types/tool-context.js.map +1 -0
- package/dist/types.d.ts +31 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/oauth-service-registry.d.ts +65 -0
- package/dist/utils/oauth-service-registry.d.ts.map +1 -0
- package/dist/utils/oauth-service-registry.js +125 -0
- package/dist/utils/oauth-service-registry.js.map +1 -0
- 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
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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("[
|
|
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("[
|
|
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((
|
|
90
|
-
console.
|
|
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("[
|
|
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
|
-
|
|
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
|
|
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
|
-
//
|
|
158
|
-
//
|
|
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
|
-
//
|
|
227
|
-
//
|
|
228
|
-
|
|
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
|
|
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
|
|
264
|
-
|
|
265
|
-
|
|
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:
|
|
349
|
-
?
|
|
350
|
-
:
|
|
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
|
-
|
|
359
|
-
|
|
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
|
-
|
|
380
|
-
|
|
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"}
|