@kya-os/mcp-i-cloudflare 1.2.3-canary.0 → 1.2.3-canary.10
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/dist/adapter.d.ts +4 -5
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +54 -17
- package/dist/adapter.js.map +1 -1
- package/dist/cache/kv-tool-protection-cache.d.ts +46 -0
- package/dist/cache/kv-tool-protection-cache.d.ts.map +1 -0
- package/dist/cache/kv-tool-protection-cache.js +88 -0
- package/dist/cache/kv-tool-protection-cache.js.map +1 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -5
- package/dist/index.js.map +1 -1
- package/dist/proof-generator.d.ts +120 -0
- package/dist/proof-generator.d.ts.map +1 -0
- package/dist/proof-generator.js +238 -0
- package/dist/proof-generator.js.map +1 -0
- package/dist/providers/storage.d.ts +1 -1
- package/dist/providers/storage.d.ts.map +1 -1
- package/dist/providers/storage.js +8 -22
- package/dist/providers/storage.js.map +1 -1
- package/dist/runtime.d.ts +103 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +185 -0
- package/dist/runtime.js.map +1 -0
- package/package.json +4 -3
package/dist/adapter.d.ts
CHANGED
|
@@ -43,15 +43,14 @@ declare class CloudflareMCPServer {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Create a complete MCP-I handler for Cloudflare Workers
|
|
46
|
-
* with full MCP protocol support and identity features
|
|
46
|
+
* with full MCP protocol support and identity features.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* See: https://developers.cloudflare.com/agents/model-context-protocol/
|
|
48
|
+
* Supports SSE (Server-Sent Events) and HTTP JSON-RPC transports for compatibility
|
|
49
|
+
* with Claude Desktop, Cursor, MCP Inspector, and other MCP clients.
|
|
51
50
|
*/
|
|
52
51
|
export declare function createMCPICloudflareAdapter(config: MCPICloudflareAdapterConfig): {
|
|
53
52
|
server: CloudflareMCPServer;
|
|
54
|
-
runtime:
|
|
53
|
+
runtime: import("./runtime").CloudflareRuntime;
|
|
55
54
|
fetch(request: Request): Promise<Response>;
|
|
56
55
|
};
|
|
57
56
|
export {};
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAGpC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC7C,KAAK,GAAE,cAAc,EAAO,EAC5B,YAAY,CAAC,EAAE,cAAc;IAQ/B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAsJhD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B;;;mBAsBtD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EAsTnD"}
|
package/dist/adapter.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* the MCP protocol directly.
|
|
10
10
|
*/
|
|
11
11
|
import { createCloudflareRuntime } from './index';
|
|
12
|
+
import { WELL_KNOWN_CORS_HEADERS, MCP_CORS_HEADERS, PREFLIGHT_CORS_HEADERS } from '@kya-os/mcp-i-core';
|
|
12
13
|
import { KVProofArchive } from './storage/kv-proof-archive';
|
|
13
14
|
/**
|
|
14
15
|
* Lightweight MCP protocol implementation for Cloudflare Workers
|
|
@@ -77,14 +78,47 @@ class CloudflareMCPServer {
|
|
|
77
78
|
agentDid: (await this.runtime.getIdentity()).did,
|
|
78
79
|
createdAt: timestamp,
|
|
79
80
|
expiresAt: timestamp + (30 * 60 * 1000), // 30 minutes
|
|
81
|
+
// Extract delegation token from MCP request if provided
|
|
82
|
+
delegationToken: params.delegationToken,
|
|
83
|
+
consentProof: params.consentProof,
|
|
80
84
|
// These fields are for ephemeral sessions - won't persist
|
|
81
85
|
};
|
|
82
86
|
}
|
|
87
|
+
else {
|
|
88
|
+
// For existing sessions, update delegation fields if provided
|
|
89
|
+
if (params.delegationToken) {
|
|
90
|
+
session.delegationToken = params.delegationToken;
|
|
91
|
+
}
|
|
92
|
+
if (params.consentProof) {
|
|
93
|
+
session.consentProof = params.consentProof;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// ✅ NEW: Determine scopeId from runtime config (for tool auto-discovery in AgentShield)
|
|
97
|
+
let scopeId;
|
|
98
|
+
const runtimeConfig = this.runtime.config;
|
|
99
|
+
// Check if runtime has tool protection configured with requiredScopes
|
|
100
|
+
if (runtimeConfig?.delegation?.toolProtections?.[toolName]) {
|
|
101
|
+
const toolProtection = runtimeConfig.delegation.toolProtections[toolName];
|
|
102
|
+
if (toolProtection.requiredScopes && toolProtection.requiredScopes.length > 0) {
|
|
103
|
+
// Use the first required scope as the scopeId (e.g., "files:read")
|
|
104
|
+
scopeId = toolProtection.requiredScopes[0];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Fallback: Use toolName:execute if no protection configured
|
|
108
|
+
if (!scopeId) {
|
|
109
|
+
scopeId = `${toolName}:execute`;
|
|
110
|
+
}
|
|
111
|
+
// Add tool metadata AND scopeId to session for accurate proof generation
|
|
112
|
+
session.toolName = toolName;
|
|
113
|
+
session.toolParams = params.arguments || {};
|
|
114
|
+
session.scopeId = scopeId; // ✅ ADDED: Pass scopeId for tool auto-discovery
|
|
83
115
|
// Execute tool handler directly
|
|
84
116
|
const result = await tool.handler(params.arguments || {});
|
|
85
117
|
// Generate proof for this specific request (avoids race condition)
|
|
86
118
|
// Call createProof directly instead of processToolCall to ensure
|
|
87
119
|
// we get the proof for THIS request, not a concurrent one
|
|
120
|
+
// CloudflareRuntime will use CloudflareProofGenerator to create full JWS proof
|
|
121
|
+
// The proof will now include the scopeId field for AgentShield tool discovery
|
|
88
122
|
const proof = await this.runtime.createProof(result, session);
|
|
89
123
|
// Store proof in archive if available
|
|
90
124
|
if (this.proofArchive && proof) {
|
|
@@ -132,14 +166,12 @@ class CloudflareMCPServer {
|
|
|
132
166
|
}
|
|
133
167
|
/**
|
|
134
168
|
* Create a complete MCP-I handler for Cloudflare Workers
|
|
135
|
-
* with full MCP protocol support and identity features
|
|
169
|
+
* with full MCP protocol support and identity features.
|
|
136
170
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* See: https://developers.cloudflare.com/agents/model-context-protocol/
|
|
171
|
+
* Supports SSE (Server-Sent Events) and HTTP JSON-RPC transports for compatibility
|
|
172
|
+
* with Claude Desktop, Cursor, MCP Inspector, and other MCP clients.
|
|
140
173
|
*/
|
|
141
174
|
export function createMCPICloudflareAdapter(config) {
|
|
142
|
-
console.warn('createMCPICloudflareAdapter is deprecated. Use McpAgent from agents/mcp instead.');
|
|
143
175
|
// Create the runtime with Cloudflare providers
|
|
144
176
|
const runtime = createCloudflareRuntime(config);
|
|
145
177
|
// Server info
|
|
@@ -187,10 +219,19 @@ export function createMCPICloudflareAdapter(config) {
|
|
|
187
219
|
});
|
|
188
220
|
const result = await handler(url.pathname);
|
|
189
221
|
if (result) {
|
|
222
|
+
if (result.status && result.headers && result.body) {
|
|
223
|
+
return new Response(result.body, {
|
|
224
|
+
status: result.status,
|
|
225
|
+
headers: {
|
|
226
|
+
...result.headers,
|
|
227
|
+
...WELL_KNOWN_CORS_HEADERS
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}
|
|
190
231
|
return new Response(JSON.stringify(result), {
|
|
191
232
|
headers: {
|
|
192
233
|
'Content-Type': 'application/json',
|
|
193
|
-
|
|
234
|
+
...WELL_KNOWN_CORS_HEADERS
|
|
194
235
|
}
|
|
195
236
|
});
|
|
196
237
|
}
|
|
@@ -231,7 +272,7 @@ export function createMCPICloudflareAdapter(config) {
|
|
|
231
272
|
return new Response(JSON.stringify(response), {
|
|
232
273
|
headers: {
|
|
233
274
|
'Content-Type': 'application/json',
|
|
234
|
-
|
|
275
|
+
...MCP_CORS_HEADERS
|
|
235
276
|
}
|
|
236
277
|
});
|
|
237
278
|
}
|
|
@@ -428,11 +469,7 @@ export function createMCPICloudflareAdapter(config) {
|
|
|
428
469
|
// CORS preflight
|
|
429
470
|
if (request.method === 'OPTIONS') {
|
|
430
471
|
return new Response(null, {
|
|
431
|
-
headers:
|
|
432
|
-
'Access-Control-Allow-Origin': '*',
|
|
433
|
-
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
|
|
434
|
-
'Access-Control-Allow-Headers': 'Content-Type'
|
|
435
|
-
}
|
|
472
|
+
headers: PREFLIGHT_CORS_HEADERS
|
|
436
473
|
});
|
|
437
474
|
}
|
|
438
475
|
return new Response('Not found', { status: 404 });
|
|
@@ -454,8 +491,8 @@ async function handleSSE(server, runtime) {
|
|
|
454
491
|
headers: {
|
|
455
492
|
'Content-Type': 'text/event-stream',
|
|
456
493
|
'Cache-Control': 'no-cache',
|
|
457
|
-
'
|
|
458
|
-
|
|
494
|
+
'X-Content-Type-Options': 'nosniff',
|
|
495
|
+
...MCP_CORS_HEADERS
|
|
459
496
|
}
|
|
460
497
|
});
|
|
461
498
|
}
|
|
@@ -479,8 +516,8 @@ async function handleSSEPost(server, runtime, request) {
|
|
|
479
516
|
headers: {
|
|
480
517
|
'Content-Type': 'text/event-stream',
|
|
481
518
|
'Cache-Control': 'no-cache',
|
|
482
|
-
'
|
|
483
|
-
|
|
519
|
+
'X-Content-Type-Options': 'nosniff',
|
|
520
|
+
...MCP_CORS_HEADERS
|
|
484
521
|
}
|
|
485
522
|
});
|
|
486
523
|
}
|
|
@@ -499,7 +536,7 @@ async function handleSSEPost(server, runtime, request) {
|
|
|
499
536
|
headers: {
|
|
500
537
|
'Content-Type': 'text/event-stream',
|
|
501
538
|
'Cache-Control': 'no-cache',
|
|
502
|
-
|
|
539
|
+
...MCP_CORS_HEADERS
|
|
503
540
|
}
|
|
504
541
|
});
|
|
505
542
|
}
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudFlare KV cache implementation for tool protection configurations
|
|
3
|
+
*
|
|
4
|
+
* Uses CloudFlare Workers KV for persistent, distributed caching across edge locations.
|
|
5
|
+
*
|
|
6
|
+
* @package @kya-os/mcp-i-cloudflare
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolProtectionCache, ToolProtectionConfig } from '@kya-os/mcp-i-core';
|
|
9
|
+
/**
|
|
10
|
+
* CloudFlare KV namespace interface
|
|
11
|
+
*/
|
|
12
|
+
export interface KVNamespace {
|
|
13
|
+
get(key: string, options?: {
|
|
14
|
+
type: 'json';
|
|
15
|
+
}): Promise<any>;
|
|
16
|
+
put(key: string, value: string, options?: {
|
|
17
|
+
expirationTtl: number;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
delete(key: string): Promise<void>;
|
|
20
|
+
list(options?: {
|
|
21
|
+
prefix?: string;
|
|
22
|
+
}): Promise<{
|
|
23
|
+
keys: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
}>;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* CloudFlare KV cache adapter for tool protection configurations
|
|
30
|
+
*
|
|
31
|
+
* Features:
|
|
32
|
+
* - Distributed edge caching via CloudFlare KV
|
|
33
|
+
* - Automatic TTL expiration
|
|
34
|
+
* - JSON serialization/deserialization
|
|
35
|
+
* - Namespace prefix isolation
|
|
36
|
+
*/
|
|
37
|
+
export declare class KVToolProtectionCache implements ToolProtectionCache {
|
|
38
|
+
private kv;
|
|
39
|
+
private prefix;
|
|
40
|
+
constructor(kv: KVNamespace, prefix?: string);
|
|
41
|
+
get(key: string): Promise<ToolProtectionConfig | null>;
|
|
42
|
+
set(key: string, value: ToolProtectionConfig, ttl: number): Promise<void>;
|
|
43
|
+
clear(): Promise<void>;
|
|
44
|
+
delete(key: string): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=kv-tool-protection-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv-tool-protection-cache.d.ts","sourceRoot":"","sources":["../../src/cache/kv-tool-protection-cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACjF;AAED;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,EAAE,WAAW,EAAE,MAAM,GAAE,MAA2B;IAK1D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAqBtD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAoBV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAazC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudFlare KV cache implementation for tool protection configurations
|
|
3
|
+
*
|
|
4
|
+
* Uses CloudFlare Workers KV for persistent, distributed caching across edge locations.
|
|
5
|
+
*
|
|
6
|
+
* @package @kya-os/mcp-i-cloudflare
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* CloudFlare KV cache adapter for tool protection configurations
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Distributed edge caching via CloudFlare KV
|
|
13
|
+
* - Automatic TTL expiration
|
|
14
|
+
* - JSON serialization/deserialization
|
|
15
|
+
* - Namespace prefix isolation
|
|
16
|
+
*/
|
|
17
|
+
export class KVToolProtectionCache {
|
|
18
|
+
kv;
|
|
19
|
+
prefix;
|
|
20
|
+
constructor(kv, prefix = 'tool-protection:') {
|
|
21
|
+
this.kv = kv;
|
|
22
|
+
this.prefix = prefix;
|
|
23
|
+
}
|
|
24
|
+
async get(key) {
|
|
25
|
+
const fullKey = this.prefix + key;
|
|
26
|
+
try {
|
|
27
|
+
const value = await this.kv.get(fullKey, { type: 'json' });
|
|
28
|
+
if (!value) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
// KV automatically handles expiration, so if we get a value, it's valid
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.error('[KVToolProtectionCache] Failed to get from cache', {
|
|
36
|
+
key: fullKey,
|
|
37
|
+
error: error instanceof Error ? error.message : String(error),
|
|
38
|
+
});
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async set(key, value, ttl) {
|
|
43
|
+
const fullKey = this.prefix + key;
|
|
44
|
+
try {
|
|
45
|
+
// Convert TTL from milliseconds to seconds (KV uses seconds)
|
|
46
|
+
const ttlSeconds = Math.floor(ttl / 1000);
|
|
47
|
+
await this.kv.put(fullKey, JSON.stringify(value), {
|
|
48
|
+
expirationTtl: ttlSeconds,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error('[KVToolProtectionCache] Failed to set in cache', {
|
|
53
|
+
key: fullKey,
|
|
54
|
+
ttl,
|
|
55
|
+
error: error instanceof Error ? error.message : String(error),
|
|
56
|
+
});
|
|
57
|
+
// Don't throw - caching is optional
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async clear() {
|
|
61
|
+
try {
|
|
62
|
+
// List all keys with our prefix
|
|
63
|
+
const { keys } = await this.kv.list({ prefix: this.prefix });
|
|
64
|
+
// Delete all keys
|
|
65
|
+
await Promise.all(keys.map((k) => this.kv.delete(k.name)));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error('[KVToolProtectionCache] Failed to clear cache', {
|
|
69
|
+
error: error instanceof Error ? error.message : String(error),
|
|
70
|
+
});
|
|
71
|
+
// Don't throw - this is best-effort
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async delete(key) {
|
|
75
|
+
const fullKey = this.prefix + key;
|
|
76
|
+
try {
|
|
77
|
+
await this.kv.delete(fullKey);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error('[KVToolProtectionCache] Failed to delete from cache', {
|
|
81
|
+
key: fullKey,
|
|
82
|
+
error: error instanceof Error ? error.message : String(error),
|
|
83
|
+
});
|
|
84
|
+
// Don't throw - deletion is best-effort
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=kv-tool-protection-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv-tool-protection-cache.js","sourceRoot":"","sources":["../../src/cache/kv-tool-protection-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,16 +4,20 @@
|
|
|
4
4
|
* Cloudflare Workers implementation of MCP-I framework.
|
|
5
5
|
* Provides Web Crypto and KV-based providers for edge runtime.
|
|
6
6
|
*/
|
|
7
|
-
import { MCPIRuntimeBase } from '@kya-os/mcp-i-core';
|
|
8
7
|
import { WebCryptoProvider } from './providers/crypto';
|
|
9
8
|
import { KVStorageProvider, KVNonceCacheProvider, WorkersClockProvider, WorkersFetchProvider, WorkersIdentityProvider } from './providers/storage';
|
|
9
|
+
import { CloudflareRuntime } from './runtime';
|
|
10
10
|
export { WebCryptoProvider, KVStorageProvider, KVNonceCacheProvider, WorkersClockProvider, WorkersFetchProvider, WorkersIdentityProvider };
|
|
11
11
|
export { KVProofArchive, type DetachedProof, type ProofRecord, type ProofQuery, type ProofStats } from './storage/kv-proof-archive';
|
|
12
|
+
export { CloudflareProofGenerator, type ProofMeta, type SessionContext, type ToolRequest, type ToolResponse, type ProofOptions } from './proof-generator';
|
|
13
|
+
export { CloudflareRuntime, type ToolCallContext } from './runtime';
|
|
14
|
+
export { KVToolProtectionCache, type KVNamespace } from './cache/kv-tool-protection-cache';
|
|
12
15
|
export type { AgentIdentity } from '@kya-os/mcp-i-core';
|
|
13
16
|
export interface CloudflareEnv {
|
|
14
17
|
NONCE_CACHE: KVNamespace;
|
|
15
18
|
PROOF_ARCHIVE?: KVNamespace;
|
|
16
19
|
IDENTITY_STORAGE?: KVNamespace;
|
|
20
|
+
TOOL_PROTECTION_KV?: KVNamespace;
|
|
17
21
|
MCP_IDENTITY_PRIVATE_KEY?: string;
|
|
18
22
|
MCP_IDENTITY_PUBLIC_KEY?: string;
|
|
19
23
|
MCP_IDENTITY_AGENT_DID?: string;
|
|
@@ -30,14 +34,16 @@ export interface MCPICloudflareConfig {
|
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
32
36
|
* Create MCP-I runtime for Cloudflare Workers
|
|
37
|
+
*
|
|
38
|
+
* Returns CloudflareRuntime which extends MCPIRuntimeBase with
|
|
39
|
+
* CloudflareProofGenerator for full JWS proof generation.
|
|
33
40
|
*/
|
|
34
|
-
export declare function createCloudflareRuntime(config: MCPICloudflareConfig):
|
|
41
|
+
export declare function createCloudflareRuntime(config: MCPICloudflareConfig): CloudflareRuntime;
|
|
35
42
|
/**
|
|
36
43
|
* MCP-I handler for Cloudflare Workers
|
|
37
44
|
*/
|
|
38
45
|
export declare function createMCPIHandler(config: MCPICloudflareConfig): {
|
|
39
46
|
fetch(request: Request): Promise<Response>;
|
|
40
47
|
};
|
|
41
|
-
export { MCPIRuntimeBase as CloudflareRuntime } from '@kya-os/mcp-i-core';
|
|
42
48
|
export { createMCPICloudflareAdapter, type MCPICloudflareAdapterConfig, type ToolDefinition } from './adapter';
|
|
43
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,CAAC;AAGF,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGpI,OAAO,EACL,wBAAwB,EACxB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG3F,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,aAAa,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACxC,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,iBAAiB,CAwBvF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB;mBAIrC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EA0EnD;AAGD,OAAO,EAAE,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,15 +4,25 @@
|
|
|
4
4
|
* Cloudflare Workers implementation of MCP-I framework.
|
|
5
5
|
* Provides Web Crypto and KV-based providers for edge runtime.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { WELL_KNOWN_CORS_HEADERS } from '@kya-os/mcp-i-core';
|
|
8
8
|
import { WebCryptoProvider } from './providers/crypto';
|
|
9
9
|
import { KVStorageProvider, KVNonceCacheProvider, WorkersClockProvider, WorkersFetchProvider, WorkersIdentityProvider } from './providers/storage';
|
|
10
|
+
import { CloudflareRuntime } from './runtime';
|
|
10
11
|
// Re-export providers
|
|
11
12
|
export { WebCryptoProvider, KVStorageProvider, KVNonceCacheProvider, WorkersClockProvider, WorkersFetchProvider, WorkersIdentityProvider };
|
|
12
13
|
// Re-export storage classes
|
|
13
14
|
export { KVProofArchive } from './storage/kv-proof-archive';
|
|
15
|
+
// Re-export proof generation
|
|
16
|
+
export { CloudflareProofGenerator } from './proof-generator';
|
|
17
|
+
// Re-export runtime (extended with CloudflareProofGenerator)
|
|
18
|
+
export { CloudflareRuntime } from './runtime';
|
|
19
|
+
// Re-export cache implementations
|
|
20
|
+
export { KVToolProtectionCache } from './cache/kv-tool-protection-cache';
|
|
14
21
|
/**
|
|
15
22
|
* Create MCP-I runtime for Cloudflare Workers
|
|
23
|
+
*
|
|
24
|
+
* Returns CloudflareRuntime which extends MCPIRuntimeBase with
|
|
25
|
+
* CloudflareProofGenerator for full JWS proof generation.
|
|
16
26
|
*/
|
|
17
27
|
export function createCloudflareRuntime(config) {
|
|
18
28
|
const cryptoProvider = new WebCryptoProvider();
|
|
@@ -33,7 +43,7 @@ export function createCloudflareRuntime(config) {
|
|
|
33
43
|
sessionTtlMinutes: config.sessionTtlMinutes || 30,
|
|
34
44
|
audit: config.audit
|
|
35
45
|
};
|
|
36
|
-
return new
|
|
46
|
+
return new CloudflareRuntime(runtimeConfig);
|
|
37
47
|
}
|
|
38
48
|
/**
|
|
39
49
|
* MCP-I handler for Cloudflare Workers
|
|
@@ -52,10 +62,19 @@ export function createMCPIHandler(config) {
|
|
|
52
62
|
const handler = runtime.createWellKnownHandler();
|
|
53
63
|
const result = await handler(url.pathname);
|
|
54
64
|
if (result) {
|
|
65
|
+
if (result.status && result.headers && result.body) {
|
|
66
|
+
return new Response(result.body, {
|
|
67
|
+
status: result.status,
|
|
68
|
+
headers: {
|
|
69
|
+
...result.headers,
|
|
70
|
+
...WELL_KNOWN_CORS_HEADERS
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
55
74
|
return new Response(JSON.stringify(result), {
|
|
56
75
|
headers: {
|
|
57
76
|
'Content-Type': 'application/json',
|
|
58
|
-
|
|
77
|
+
...WELL_KNOWN_CORS_HEADERS
|
|
59
78
|
}
|
|
60
79
|
});
|
|
61
80
|
}
|
|
@@ -100,8 +119,6 @@ export function createMCPIHandler(config) {
|
|
|
100
119
|
}
|
|
101
120
|
};
|
|
102
121
|
}
|
|
103
|
-
// Export the runtime class for advanced usage
|
|
104
|
-
export { MCPIRuntimeBase as CloudflareRuntime } from '@kya-os/mcp-i-core';
|
|
105
122
|
// Export the full adapter with MCP SDK integration
|
|
106
123
|
export { createMCPICloudflareAdapter } from './adapter';
|
|
107
124
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proof Generation for Cloudflare Workers
|
|
3
|
+
*
|
|
4
|
+
* Web Crypto API implementation of JWS proof generation.
|
|
5
|
+
* Compatible with mcp-i's ProofGenerator but uses platform-native APIs.
|
|
6
|
+
*
|
|
7
|
+
* Generates full JWS compact format (header.payload.signature) compatible
|
|
8
|
+
* with AgentShield and other verification systems.
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentIdentity } from '@kya-os/mcp-i-core';
|
|
11
|
+
/**
|
|
12
|
+
* Proof metadata (matches @kya-os/contracts/proof ProofMeta)
|
|
13
|
+
*/
|
|
14
|
+
export interface ProofMeta {
|
|
15
|
+
did: string;
|
|
16
|
+
kid: string;
|
|
17
|
+
ts: number;
|
|
18
|
+
nonce: string;
|
|
19
|
+
audience: string;
|
|
20
|
+
sessionId: string;
|
|
21
|
+
requestHash: string;
|
|
22
|
+
responseHash: string;
|
|
23
|
+
scopeId?: string;
|
|
24
|
+
delegationRef?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* DetachedProof format (matches @kya-os/contracts/proof)
|
|
28
|
+
*/
|
|
29
|
+
export interface DetachedProof {
|
|
30
|
+
jws: string;
|
|
31
|
+
meta: ProofMeta;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Session context for proof generation
|
|
35
|
+
*/
|
|
36
|
+
export interface SessionContext {
|
|
37
|
+
nonce: string;
|
|
38
|
+
audience: string;
|
|
39
|
+
sessionId: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Tool request/response for proof generation
|
|
43
|
+
*/
|
|
44
|
+
export interface ToolRequest {
|
|
45
|
+
method: string;
|
|
46
|
+
params?: any;
|
|
47
|
+
}
|
|
48
|
+
export interface ToolResponse {
|
|
49
|
+
data: any;
|
|
50
|
+
meta?: any;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Proof generation options
|
|
54
|
+
*/
|
|
55
|
+
export interface ProofOptions {
|
|
56
|
+
scopeId?: string;
|
|
57
|
+
delegationRef?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Cloudflare-compatible Proof Generator
|
|
61
|
+
*
|
|
62
|
+
* Uses Web Crypto API for all cryptographic operations.
|
|
63
|
+
* Generates JWS proofs compatible with AgentShield and MCP-I spec.
|
|
64
|
+
*/
|
|
65
|
+
export declare class CloudflareProofGenerator {
|
|
66
|
+
private identity;
|
|
67
|
+
constructor(identity: AgentIdentity);
|
|
68
|
+
/**
|
|
69
|
+
* Generate proof for tool request/response
|
|
70
|
+
*/
|
|
71
|
+
generateProof(request: ToolRequest, response: ToolResponse, session: SessionContext, options?: ProofOptions): Promise<DetachedProof>;
|
|
72
|
+
/**
|
|
73
|
+
* Generate canonical hashes for request and response
|
|
74
|
+
*/
|
|
75
|
+
private generateCanonicalHashes;
|
|
76
|
+
/**
|
|
77
|
+
* Generate SHA-256 hash with JSON canonicalization
|
|
78
|
+
*
|
|
79
|
+
* Uses JCS (JSON Canonicalization Scheme) for deterministic serialization
|
|
80
|
+
*/
|
|
81
|
+
private generateSHA256Hash;
|
|
82
|
+
/**
|
|
83
|
+
* JCS canonicalization implementation (RFC 8785)
|
|
84
|
+
*
|
|
85
|
+
* Rules:
|
|
86
|
+
* 1. Whitespace removed
|
|
87
|
+
* 2. Object keys sorted lexicographically
|
|
88
|
+
* 3. Unicode normalized
|
|
89
|
+
* 4. Numbers in IEEE 754 representation
|
|
90
|
+
*/
|
|
91
|
+
private canonicalizeJSON;
|
|
92
|
+
/**
|
|
93
|
+
* Generate Ed25519 JWS in compact format (header.payload.signature)
|
|
94
|
+
*
|
|
95
|
+
* Uses Web Crypto API for signing.
|
|
96
|
+
* Compatible with AgentShield and MCP-I verification.
|
|
97
|
+
*/
|
|
98
|
+
private generateJWS;
|
|
99
|
+
/**
|
|
100
|
+
* Sign data using Ed25519 with Web Crypto API
|
|
101
|
+
*
|
|
102
|
+
* Note: Keys are stored in raw format (32 bytes) but must be wrapped
|
|
103
|
+
* in PKCS#8 format for Web Crypto API import.
|
|
104
|
+
*/
|
|
105
|
+
private signEd25519;
|
|
106
|
+
/**
|
|
107
|
+
* Wrap raw Ed25519 private key in PKCS#8 format
|
|
108
|
+
* (Same implementation as WebCryptoProvider)
|
|
109
|
+
*/
|
|
110
|
+
private wrapPrivateKeyPKCS8;
|
|
111
|
+
/**
|
|
112
|
+
* Base64url encode (URL-safe base64 without padding)
|
|
113
|
+
*/
|
|
114
|
+
private base64urlEncode;
|
|
115
|
+
/**
|
|
116
|
+
* Decode base64 string to Uint8Array
|
|
117
|
+
*/
|
|
118
|
+
private decodeBase64;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=proof-generator.d.ts.map
|