@kya-os/mcp-i-cloudflare 1.2.3-canary.5 → 1.2.3-canary.7

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 CHANGED
@@ -43,11 +43,10 @@ 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
- * @deprecated This adapter does not support MCP transports (SSE/HTTP streaming).
49
- * Use McpAgent from 'agents/mcp' instead.
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;
@@ -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;AAC1D,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;CAuHhD;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B;;;mBAuBtD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EAiTnD"}
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;AAC1D,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;CAyKhD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B;;;mBAsBtD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EAiTnD"}
package/dist/adapter.js CHANGED
@@ -77,19 +77,68 @@ class CloudflareMCPServer {
77
77
  agentDid: (await this.runtime.getIdentity()).did,
78
78
  createdAt: timestamp,
79
79
  expiresAt: timestamp + (30 * 60 * 1000), // 30 minutes
80
+ // Extract delegation token from MCP request if provided
81
+ delegationToken: params.delegationToken,
82
+ consentProof: params.consentProof,
80
83
  // These fields are for ephemeral sessions - won't persist
81
84
  };
82
85
  }
83
- // Add tool metadata to session for accurate proof generation
86
+ else {
87
+ // For existing sessions, update delegation fields if provided
88
+ if (params.delegationToken) {
89
+ session.delegationToken = params.delegationToken;
90
+ }
91
+ if (params.consentProof) {
92
+ session.consentProof = params.consentProof;
93
+ }
94
+ }
95
+ // ✅ NEW: Determine scopeId from runtime config (for tool auto-discovery in AgentShield)
96
+ let scopeId;
97
+ const runtimeConfig = this.runtime.config;
98
+ // Check if runtime has tool protection configured with requiredScopes
99
+ if (runtimeConfig?.delegation?.toolProtections?.[toolName]) {
100
+ const toolProtection = runtimeConfig.delegation.toolProtections[toolName];
101
+ if (toolProtection.requiredScopes && toolProtection.requiredScopes.length > 0) {
102
+ // Use the first required scope as the scopeId (e.g., "files:read")
103
+ scopeId = toolProtection.requiredScopes[0];
104
+ }
105
+ }
106
+ // Fallback: Use toolName:execute if no protection configured
107
+ if (!scopeId) {
108
+ scopeId = `${toolName}:execute`;
109
+ }
110
+ // Add tool metadata AND scopeId to session for accurate proof generation
84
111
  session.toolName = toolName;
85
112
  session.toolParams = params.arguments || {};
113
+ session.scopeId = scopeId; // ✅ ADDED: Pass scopeId for tool auto-discovery
86
114
  // Execute tool handler directly
87
- const result = await tool.handler(params.arguments || {});
115
+ const handlerResult = await tool.handler(params.arguments || {});
116
+ // Normalize result to MCP format
117
+ // If handler returns {content: [...]}, use it directly
118
+ // Otherwise wrap primitive values in content blocks
119
+ let mcpResult;
120
+ if (handlerResult && typeof handlerResult === 'object' && 'content' in handlerResult) {
121
+ // Handler returned MCP format {content: [...]}
122
+ mcpResult = handlerResult;
123
+ }
124
+ else if (typeof handlerResult === 'string') {
125
+ // Handler returned plain string
126
+ mcpResult = {
127
+ content: [{ type: 'text', text: handlerResult }]
128
+ };
129
+ }
130
+ else {
131
+ // Handler returned object/primitive - wrap as JSON
132
+ mcpResult = {
133
+ content: [{ type: 'text', text: JSON.stringify(handlerResult) }]
134
+ };
135
+ }
88
136
  // Generate proof for this specific request (avoids race condition)
89
137
  // Call createProof directly instead of processToolCall to ensure
90
138
  // we get the proof for THIS request, not a concurrent one
91
139
  // CloudflareRuntime will use CloudflareProofGenerator to create full JWS proof
92
- const proof = await this.runtime.createProof(result, session);
140
+ // The proof will now include the scopeId field for AgentShield tool discovery
141
+ const proof = await this.runtime.createProof(mcpResult, session);
93
142
  // Store proof in archive if available
94
143
  if (this.proofArchive && proof) {
95
144
  try {
@@ -100,13 +149,13 @@ class CloudflareMCPServer {
100
149
  console.error('Failed to store proof:', error);
101
150
  }
102
151
  }
103
- // Return result with detached proof (matching MCP-I pattern)
152
+ // Return MCP response format with content at top level
104
153
  return {
105
154
  jsonrpc: '2.0',
106
155
  id,
107
156
  result: {
108
- result, // Tool execution result
109
- proof // Detached proof with sessionId, audience, timestamp, etc.
157
+ ...mcpResult, // Spread content and any other fields
158
+ proof // Add detached proof
110
159
  }
111
160
  };
112
161
  }
@@ -136,14 +185,12 @@ class CloudflareMCPServer {
136
185
  }
137
186
  /**
138
187
  * Create a complete MCP-I handler for Cloudflare Workers
139
- * with full MCP protocol support and identity features
188
+ * with full MCP protocol support and identity features.
140
189
  *
141
- * @deprecated This adapter does not support MCP transports (SSE/HTTP streaming).
142
- * Use McpAgent from 'agents/mcp' instead.
143
- * See: https://developers.cloudflare.com/agents/model-context-protocol/
190
+ * Supports SSE (Server-Sent Events) and HTTP JSON-RPC transports for compatibility
191
+ * with Claude Desktop, Cursor, MCP Inspector, and other MCP clients.
144
192
  */
145
193
  export function createMCPICloudflareAdapter(config) {
146
- console.warn('createMCPICloudflareAdapter is deprecated. Use McpAgent from agents/mcp instead.');
147
194
  // Create the runtime with Cloudflare providers
148
195
  const runtime = createCloudflareRuntime(config);
149
196
  // Server info
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAiB5D;;GAEG;AACH,MAAM,mBAAmB;IACf,OAAO,CAAkB;IACzB,UAAU,CAAoC;IAC9C,KAAK,CAA8B;IACnC,YAAY,CAAkB;IAEtC,YACE,OAAwB,EACxB,UAA6C,EAC7C,QAA0B,EAAE,EAC5B,YAA6B;QAE7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAY;QAC9B,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAEhD,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,MAAM,EAAE;wBACN,eAAe,EAAE,YAAY;wBAC7B,YAAY,EAAE;4BACZ,KAAK,EAAE,EAAE;yBACV;wBACD,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B;iBACF,CAAC;YACJ,CAAC;YAED,aAAa;YACb,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACtD,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC3B,CAAC,CAAC,CAAC;gBAEJ,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,MAAM,EAAE,EAAE,KAAK,EAAE;iBAClB,CAAC;YACJ,CAAC;YAED,yCAAyC;YACzC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBACjD,CAAC;gBAED,wEAAwE;gBACxE,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAErD,4EAA4E;gBAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjE,OAAO,GAAG;wBACR,EAAE,EAAE,aAAa,SAAS,IAAI,YAAY,EAAE;wBAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,YAAY;wBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG;wBAChD,SAAS,EAAE,SAAS;wBACpB,SAAS,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa;wBACtD,0DAA0D;qBAC3D,CAAC;gBACJ,CAAC;gBAED,6DAA6D;gBAC7D,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC5B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBAE5C,gCAAgC;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAE1D,mEAAmE;gBACnE,iEAAiE;gBACjE,0DAA0D;gBAC1D,+EAA+E;gBAC/E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE9D,sCAAsC;gBACtC,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACrD,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,uCAAuC;wBACvC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,MAAM,EAAE;wBACN,MAAM,EAAG,wBAAwB;wBACjC,KAAK,CAAI,2DAA2D;qBACrE;iBACF,CAAC;YACJ,CAAC;YAED,kCAAkC;YAClC,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACzE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,MAAM,EAAE,eAAe;iBACxB,CAAC;YACJ,CAAC;YAED,iBAAiB;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAE/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE;gBACF,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,gBAAgB;iBAC3C;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAmC;IAC7E,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IACjG,+CAA+C;IAC/C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEhD,cAAc;IACd,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI;QACtC,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,4DAA4D;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAoB,CAAC;IACxC,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,gCAAgC;IAChC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;IAE9F,uBAAuB;IACvB,OAAO;QACL,MAAM;QACN,OAAO;QAEP,KAAK,CAAC,KAAK,CAAC,OAAgB;YAC1B,sCAAsC;YACtC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAE7C,wBAAwB;YACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE;wBACR,GAAG,EAAE,QAAQ,CAAC,GAAG;qBAClB;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,MAAM;wBACZ,GAAG,EAAE,MAAM;wBACX,cAAc,EAAE,MAAM;qBACvB;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC;iBACvD,CAAC,EAAE;oBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;YAED,iDAAiD;YACjD,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;oBAC7C,WAAW,EAAE,UAAU,CAAC,IAAI;oBAC5B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW;iBAC5D,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE3C,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;wBAC1C,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,6BAA6B,EAAE,GAAG;yBACnC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;gBACrE,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBACnD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;oBACpC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;wBAC1C,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC5B,2DAA2D;gBAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACzD,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBAC/C,OAAO,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAEzD,qCAAqC;oBACrC,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBAC/C,oDAAoD;wBACpD,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;wBAClC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAExC,4BAA4B;wBAC5B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;wBAE5D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;4BAC5C,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,6BAA6B,EAAE,GAAG;6BACnC;yBACF,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE;gCACL,IAAI,EAAE,CAAC,KAAK;gCACZ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,gBAAgB;6BAC3C;yBACF,CAAC,EAAE;4BACF,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC7B,OAAO,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC9B,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5D,IAAI,CAAC;oBACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAS,CAAC;oBACpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAEvD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;wBACjC,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;4BACf,GAAG,EAAE,KAAK,CAAC,GAAG;4BACd,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;yBAC3B,CAAC,CAAC,CAAC,IAAI;qBACT,CAAC,EAAE;wBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;wBACjC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,qBAAqB;qBAC9C,CAAC,EAAE;wBACF,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,wDAAwD;gBACxD,IAAI,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;oBACxC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;wBACjC,KAAK,EAAE,wCAAwC;qBAChD,CAAC,EAAE;wBACF,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAoB,CAAC;gBAExC,yCAAyC;gBACzC,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,gCAAgC;wBAChC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACpE,MAAM,MAAM,GAAG,EAAE,CAAC;wBAElB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;4BAClC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAClD,IAAI,KAAK,EAAE,CAAC;gCACV,MAAM,CAAC,IAAI,CAAC;oCACV,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oCACrC,QAAQ,EAAG,GAAG,CAAC,QAAgB,EAAE,QAAQ,IAAI,SAAS;oCACtD,SAAS,EAAE,GAAG,CAAC,UAAU;iCAC1B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,MAAM;yBACP,CAAC,EAAE;4BACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;yBAChD,CAAC,EAAE;4BACF,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,wCAAwC;gBACxC,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa;oBACpC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;oBACvC,CAAC,CAAC,IAAI,CAAC;gBAET,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;wBACjC,KAAK,EAAE,2CAA2C;qBACnD,CAAC,EAAE;wBACF,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;gBAED,wDAAwD;gBACxD,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBACpD,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;wBAE9D,IAAI,MAAM,CAAC;wBACX,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBAC7D,CAAC;6BAAM,IAAI,GAAG,EAAE,CAAC;4BACf,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACnD,CAAC;6BAAM,CAAC;4BACN,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC/C,CAAC;wBAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,MAAM;yBACP,CAAC,EAAE;4BACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;yBAChD,CAAC,EAAE;4BACF,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACvE,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gCACjC,KAAK,EAAE,iBAAiB;6BACzB,CAAC,EAAE;gCACF,MAAM,EAAE,GAAG;gCACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;6BAChD,CAAC,CAAC;wBACL,CAAC;wBAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;4BACzC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,qBAAqB;yBAC9C,CAAC,EAAE;4BACF,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BACjD,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;4BAC1C,YAAY,CAAC,QAAQ,EAAE;yBACxB,CAAC,CAAC;wBAEH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,MAAM,EAAE;gCACN,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;6BAC/B;4BACD,MAAM,EAAE,UAAU;4BAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC,CAAC,EAAE;4BACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,qBAAqB;yBAC9C,CAAC,EAAE;4BACF,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAChD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,OAAO,EAAE;wBACP,6BAA6B,EAAE,GAAG;wBAClC,8BAA8B,EAAE,oBAAoB;wBACpD,8BAA8B,EAAE,cAAc;qBAC/C;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CACtB,MAA2B,EAC3B,OAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,oCAAoC;IACpC,uEAAuE;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC;IAE7B,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC3C,OAAO,EAAE;YACP,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,6BAA6B,EAAE,GAAG;YAClC,wBAAwB,EAAE,SAAS;SACpC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA2B,EAC3B,OAAwB,EACxB,OAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExC,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAE5D,oCAAoC;QACpC,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE1D,uDAAuD;QACvD,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC7C,OAAO,EAAE;gBACP,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,6BAA6B,EAAE,GAAG;gBAClC,wBAAwB,EAAE,SAAS;aACpC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,gBAAgB;aAC3C;SACF,CAAC;QAEF,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;QAE/D,sDAAsD;QACtD,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC7C,MAAM,EAAE,GAAG,EAAE,0CAA0C;YACvD,OAAO,EAAE;gBACP,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,6BAA6B,EAAE,GAAG;aACnC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
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
@@ -11,11 +11,13 @@ export { WebCryptoProvider, KVStorageProvider, KVNonceCacheProvider, WorkersCloc
11
11
  export { KVProofArchive, type DetachedProof, type ProofRecord, type ProofQuery, type ProofStats } from './storage/kv-proof-archive';
12
12
  export { CloudflareProofGenerator, type ProofMeta, type SessionContext, type ToolRequest, type ToolResponse, type ProofOptions } from './proof-generator';
13
13
  export { CloudflareRuntime } from './runtime';
14
+ export { KVToolProtectionCache, type KVNamespace } from './cache/kv-tool-protection-cache';
14
15
  export type { AgentIdentity } from '@kya-os/mcp-i-core';
15
16
  export interface CloudflareEnv {
16
17
  NONCE_CACHE: KVNamespace;
17
18
  PROOF_ARCHIVE?: KVNamespace;
18
19
  IDENTITY_STORAGE?: KVNamespace;
20
+ TOOL_PROTECTION_KV?: KVNamespace;
19
21
  MCP_IDENTITY_PRIVATE_KEY?: string;
20
22
  MCP_IDENTITY_PUBLIC_KEY?: string;
21
23
  MCP_IDENTITY_AGENT_DID?: string;
@@ -1 +1 @@
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,MAAM,WAAW,CAAC;AAG9C,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,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;EAiEnD;AAGD,OAAO,EAAE,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
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,MAAM,WAAW,CAAC;AAG9C,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;EAiEnD;AAGD,OAAO,EAAE,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -15,6 +15,8 @@ export { KVProofArchive } from './storage/kv-proof-archive';
15
15
  export { CloudflareProofGenerator } from './proof-generator';
16
16
  // Re-export runtime (extended with CloudflareProofGenerator)
17
17
  export { CloudflareRuntime } from './runtime';
18
+ // Re-export cache implementations
19
+ export { KVToolProtectionCache } from './cache/kv-tool-protection-cache';
18
20
  /**
19
21
  * Create MCP-I runtime for Cloudflare Workers
20
22
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -8,9 +8,10 @@
8
8
  * producing full JWS compact format (header.payload.signature) compatible with
9
9
  * AgentShield and the MCP-I proof specification.
10
10
  */
11
- import { MCPIRuntimeBase, type MCPIRuntimeConfig } from '@kya-os/mcp-i-core';
11
+ import { MCPIRuntimeBase, type MCPIRuntimeConfig, ToolProtectionService, type ToolProtectionServiceConfig } from '@kya-os/mcp-i-core';
12
12
  import { CloudflareProofGenerator } from './proof-generator';
13
13
  import type { DetachedProof } from '@kya-os/contracts/proof';
14
+ import { type KVNamespace } from './cache/kv-tool-protection-cache';
14
15
  /**
15
16
  * CloudflareRuntime extends MCPIRuntimeBase with CloudflareProofGenerator
16
17
  */
@@ -49,5 +50,29 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
49
50
  * This ensures compatibility with applications expecting the full JWS proof format.
50
51
  */
51
52
  getLastProof(): DetachedProof | undefined;
53
+ /**
54
+ * Create a ToolProtectionService with CloudFlare KV cache
55
+ *
56
+ * Usage in CloudFlare Worker:
57
+ * ```typescript
58
+ * const toolProtectionService = CloudflareRuntime.createToolProtectionService(
59
+ * env.TOOL_PROTECTION_KV, // KV namespace from wrangler.toml
60
+ * {
61
+ * apiUrl: env.AGENTSHIELD_API_URL,
62
+ * apiKey: env.AGENTSHIELD_API_KEY,
63
+ * projectId: env.AGENTSHIELD_PROJECT_ID,
64
+ * cacheTtl: 300000, // 5 minutes
65
+ * debug: env.MCPI_ENV === 'development',
66
+ * }
67
+ * );
68
+ *
69
+ * // Pass to runtime config
70
+ * const runtime = new CloudflareRuntime({
71
+ * ...providers,
72
+ * toolProtectionService,
73
+ * });
74
+ * ```
75
+ */
76
+ static createToolProtectionService(kv: KVNamespace, config: ToolProtectionServiceConfig): ToolProtectionService;
52
77
  }
53
78
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAgB;gBAE9B,MAAM,EAAE,iBAAiB;IAIrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;;;;;;;OAQG;IACG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IA2DnE;;;;;OAKG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACpC,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,GAAG,CAAC;IAYf;;OAEG;IACH,iBAAiB,IAAI,wBAAwB,GAAG,SAAS;IAIzD;;;;OAIG;IACH,YAAY,IAAI,aAAa,GAAG,SAAS;CAG1C"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE3F;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAgB;gBAE9B,MAAM,EAAE,iBAAiB;IAIrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;;;;;;;OAQG;IACG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IA6EnE;;;;;OAKG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACpC,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,GAAG,CAAC;IAYf;;OAEG;IACH,iBAAiB,IAAI,wBAAwB,GAAG,SAAS;IAIzD;;;;OAIG;IACH,YAAY,IAAI,aAAa,GAAG,SAAS;IAIzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,2BAA2B,CAChC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,2BAA2B,GAClC,qBAAqB;CAIzB"}
package/dist/runtime.js CHANGED
@@ -8,8 +8,9 @@
8
8
  * producing full JWS compact format (header.payload.signature) compatible with
9
9
  * AgentShield and the MCP-I proof specification.
10
10
  */
11
- import { MCPIRuntimeBase } from '@kya-os/mcp-i-core';
11
+ import { MCPIRuntimeBase, ToolProtectionService } from '@kya-os/mcp-i-core';
12
12
  import { CloudflareProofGenerator } from './proof-generator';
13
+ import { KVToolProtectionCache } from './cache/kv-tool-protection-cache';
13
14
  /**
14
15
  * CloudflareRuntime extends MCPIRuntimeBase with CloudflareProofGenerator
15
16
  */
@@ -71,8 +72,22 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
71
72
  audience: session.audience || 'mcp-client',
72
73
  sessionId: session.id,
73
74
  };
74
- // Generate full JWS proof using CloudflareProofGenerator
75
- const detachedProof = await this.proofGenerator.generateProof(request, response, sessionContext);
75
+ // NEW: Determine scopeId from session or runtime config
76
+ let scopeId;
77
+ // Option 1: Get from session (if adapter passes it)
78
+ if (session?.scopeId) {
79
+ scopeId = session.scopeId;
80
+ }
81
+ // Option 2: Generate fallback from toolName
82
+ else if (session?.toolName) {
83
+ scopeId = `${session.toolName}:execute`;
84
+ }
85
+ if (this.config.audit?.enabled && scopeId) {
86
+ console.log(`[MCP-I] Proof scopeId for tool "${session.toolName}": ${scopeId}`);
87
+ }
88
+ // ✅ Generate full JWS proof WITH scopeId using CloudflareProofGenerator
89
+ const detachedProof = await this.proofGenerator.generateProof(request, response, sessionContext, { scopeId } // ← ADDED: Pass scopeId for tool auto-discovery
90
+ );
76
91
  // Store the proof for getLastProof() retrieval
77
92
  this.lastDetachedProof = detachedProof;
78
93
  if (this.config.audit?.enabled) {
@@ -81,6 +96,7 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
81
96
  sessionId: detachedProof.meta.sessionId,
82
97
  requestHash: detachedProof.meta.requestHash.substring(0, 20) + '...',
83
98
  responseHash: detachedProof.meta.responseHash.substring(0, 20) + '...',
99
+ scopeId: detachedProof.meta.scopeId, // ← ADDED: Log scopeId
84
100
  jwsFormat: detachedProof.jws.split('.').length === 3 ? 'valid (3 parts)' : 'invalid',
85
101
  });
86
102
  }
@@ -116,5 +132,32 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
116
132
  getLastProof() {
117
133
  return this.lastDetachedProof;
118
134
  }
135
+ /**
136
+ * Create a ToolProtectionService with CloudFlare KV cache
137
+ *
138
+ * Usage in CloudFlare Worker:
139
+ * ```typescript
140
+ * const toolProtectionService = CloudflareRuntime.createToolProtectionService(
141
+ * env.TOOL_PROTECTION_KV, // KV namespace from wrangler.toml
142
+ * {
143
+ * apiUrl: env.AGENTSHIELD_API_URL,
144
+ * apiKey: env.AGENTSHIELD_API_KEY,
145
+ * projectId: env.AGENTSHIELD_PROJECT_ID,
146
+ * cacheTtl: 300000, // 5 minutes
147
+ * debug: env.MCPI_ENV === 'development',
148
+ * }
149
+ * );
150
+ *
151
+ * // Pass to runtime config
152
+ * const runtime = new CloudflareRuntime({
153
+ * ...providers,
154
+ * toolProtectionService,
155
+ * });
156
+ * ```
157
+ */
158
+ static createToolProtectionService(kv, config) {
159
+ const cache = new KVToolProtectionCache(kv);
160
+ return new ToolProtectionService(config, cache);
161
+ }
119
162
  }
120
163
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/mcp-i-cloudflare",
3
- "version": "1.2.3-canary.5",
3
+ "version": "1.2.3-canary.7",
4
4
  "description": "Cloudflare Workers implementation of MCP-I framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,14 +15,6 @@
15
15
  "dist/**/*",
16
16
  "README.md"
17
17
  ],
18
- "scripts": {
19
- "build": "tsc",
20
- "dev": "tsc --watch",
21
- "test": "vitest --run",
22
- "test:coverage": "vitest --run --coverage",
23
- "lint": "eslint src/**/*.ts",
24
- "type-check": "tsc --noEmit"
25
- },
26
18
  "keywords": [
27
19
  "mcp-i",
28
20
  "mcp",
@@ -60,5 +52,13 @@
60
52
  "bugs": {
61
53
  "url": "https://github.com/modelcontextprotocol-identity/mcp-i/issues"
62
54
  },
63
- "homepage": "https://github.com/modelcontextprotocol-identity/mcp-i#readme"
64
- }
55
+ "homepage": "https://github.com/modelcontextprotocol-identity/mcp-i#readme",
56
+ "scripts": {
57
+ "build": "tsc",
58
+ "dev": "tsc --watch",
59
+ "test": "vitest --run",
60
+ "test:coverage": "vitest --run --coverage",
61
+ "lint": "eslint src/**/*.ts",
62
+ "type-check": "tsc --noEmit"
63
+ }
64
+ }