@kya-os/mcp-i-core 1.0.0 → 1.1.1-canary.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 +33 -0
- package/dist/__tests__/utils/mock-providers.d.ts +102 -0
- package/dist/__tests__/utils/mock-providers.d.ts.map +1 -0
- package/dist/__tests__/utils/mock-providers.js +270 -0
- package/dist/__tests__/utils/mock-providers.js.map +1 -0
- package/dist/cache/tool-protection-cache.d.ts +73 -0
- package/dist/cache/tool-protection-cache.d.ts.map +1 -0
- package/dist/cache/tool-protection-cache.js +83 -0
- package/dist/cache/tool-protection-cache.js.map +1 -0
- package/dist/compliance/index.d.ts +8 -0
- package/dist/compliance/index.d.ts.map +1 -0
- package/dist/compliance/index.js +24 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/schema-registry.d.ts +50 -0
- package/dist/compliance/schema-registry.d.ts.map +1 -0
- package/dist/compliance/schema-registry.js +438 -0
- package/dist/compliance/schema-registry.js.map +1 -0
- package/dist/compliance/schema-verifier-v2.d.ts +110 -0
- package/dist/compliance/schema-verifier-v2.d.ts.map +1 -0
- package/dist/compliance/schema-verifier-v2.js +510 -0
- package/dist/compliance/schema-verifier-v2.js.map +1 -0
- package/dist/compliance/schema-verifier.d.ts +110 -0
- package/dist/compliance/schema-verifier.d.ts.map +1 -0
- package/dist/compliance/schema-verifier.js +518 -0
- package/dist/compliance/schema-verifier.js.map +1 -0
- package/dist/delegation/bitstring.d.ts +139 -0
- package/dist/delegation/bitstring.d.ts.map +1 -0
- package/dist/delegation/bitstring.js +213 -0
- package/dist/delegation/bitstring.js.map +1 -0
- package/dist/delegation/cascading-revocation.d.ts +162 -0
- package/dist/delegation/cascading-revocation.d.ts.map +1 -0
- package/dist/delegation/cascading-revocation.js +263 -0
- package/dist/delegation/cascading-revocation.js.map +1 -0
- package/dist/delegation/delegation-graph.d.ts +178 -0
- package/dist/delegation/delegation-graph.d.ts.map +1 -0
- package/dist/delegation/delegation-graph.js +209 -0
- package/dist/delegation/delegation-graph.js.map +1 -0
- package/dist/delegation/index.d.ts +14 -0
- package/dist/delegation/index.d.ts.map +1 -0
- package/dist/delegation/index.js +30 -0
- package/dist/delegation/index.js.map +1 -0
- package/dist/delegation/statuslist-manager.d.ts +148 -0
- package/dist/delegation/statuslist-manager.d.ts.map +1 -0
- package/dist/delegation/statuslist-manager.js +221 -0
- package/dist/delegation/statuslist-manager.js.map +1 -0
- package/dist/delegation/storage/index.d.ts +9 -0
- package/dist/delegation/storage/index.d.ts.map +1 -0
- package/dist/delegation/storage/index.js +25 -0
- package/dist/delegation/storage/index.js.map +1 -0
- package/dist/delegation/storage/memory-graph-storage.d.ts +70 -0
- package/dist/delegation/storage/memory-graph-storage.d.ts.map +1 -0
- package/dist/delegation/storage/memory-graph-storage.js +149 -0
- package/dist/delegation/storage/memory-graph-storage.js.map +1 -0
- package/dist/delegation/storage/memory-statuslist-storage.d.ts +49 -0
- package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +1 -0
- package/dist/delegation/storage/memory-statuslist-storage.js +67 -0
- package/dist/delegation/storage/memory-statuslist-storage.js.map +1 -0
- package/dist/delegation/utils.d.ts +19 -0
- package/dist/delegation/utils.d.ts.map +1 -0
- package/dist/delegation/utils.js +48 -0
- package/dist/delegation/utils.js.map +1 -0
- package/dist/delegation/vc-issuer.d.ts +135 -0
- package/dist/delegation/vc-issuer.d.ts.map +1 -0
- package/dist/delegation/vc-issuer.js +140 -0
- package/dist/delegation/vc-issuer.js.map +1 -0
- package/dist/delegation/vc-verifier.d.ts +213 -0
- package/dist/delegation/vc-verifier.d.ts.map +1 -0
- package/dist/delegation/vc-verifier.js +354 -0
- package/dist/delegation/vc-verifier.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/base.d.ts +1 -1
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/memory.js +2 -2
- package/dist/providers/memory.js.map +1 -1
- package/dist/runtime/base.d.ts +23 -0
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +135 -12
- package/dist/runtime/base.js.map +1 -1
- package/dist/services/tool-protection.service.d.ts +55 -0
- package/dist/services/tool-protection.service.d.ts.map +1 -0
- package/dist/services/tool-protection.service.js +158 -0
- package/dist/services/tool-protection.service.js.map +1 -0
- package/dist/types/tool-protection.d.ts +103 -0
- package/dist/types/tool-protection.d.ts.map +1 -0
- package/dist/types/tool-protection.js +41 -0
- package/dist/types/tool-protection.js.map +1 -0
- package/dist/utils/cors.d.ts +44 -0
- package/dist/utils/cors.d.ts.map +1 -0
- package/dist/utils/cors.js +71 -0
- package/dist/utils/cors.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +11 -6
package/dist/runtime/base.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.MCPIRuntimeBase = void 0;
|
|
11
|
+
const tool_protection_js_1 = require("../types/tool-protection.js");
|
|
11
12
|
class MCPIRuntimeBase {
|
|
12
13
|
crypto;
|
|
13
14
|
clock;
|
|
@@ -18,6 +19,7 @@ class MCPIRuntimeBase {
|
|
|
18
19
|
config;
|
|
19
20
|
cachedIdentity;
|
|
20
21
|
sessions = new Map();
|
|
22
|
+
lastProof;
|
|
21
23
|
constructor(config) {
|
|
22
24
|
this.config = config;
|
|
23
25
|
this.crypto = config.cryptoProvider;
|
|
@@ -66,6 +68,7 @@ class MCPIRuntimeBase {
|
|
|
66
68
|
id: sessionId,
|
|
67
69
|
clientDid: request.clientDid,
|
|
68
70
|
agentDid: identity.did,
|
|
71
|
+
audience: request.audience,
|
|
69
72
|
createdAt: timestamp,
|
|
70
73
|
expiresAt: this.clock.calculateExpiry((this.config.sessionTtlMinutes || 30) * 60)
|
|
71
74
|
};
|
|
@@ -86,12 +89,58 @@ class MCPIRuntimeBase {
|
|
|
86
89
|
}
|
|
87
90
|
/**
|
|
88
91
|
* Process tool call with automatic proof generation
|
|
92
|
+
* Returns clean result only - proof is stored for out-of-band retrieval
|
|
93
|
+
*
|
|
94
|
+
* @param toolName - Name of the tool being called
|
|
95
|
+
* @param args - Tool arguments
|
|
96
|
+
* @param handler - Tool execution handler
|
|
97
|
+
* @param session - Session context (expected fields: id, audience, nonce?, delegationToken?, consentProof?)
|
|
89
98
|
*/
|
|
90
99
|
async processToolCall(toolName, args, handler, session) {
|
|
100
|
+
// Check tool protection (delegation requirement)
|
|
101
|
+
if (this.config.toolProtectionService) {
|
|
102
|
+
// Get agent identity to check protection
|
|
103
|
+
const identity = await this.getIdentity();
|
|
104
|
+
if (this.config.audit?.enabled) {
|
|
105
|
+
console.log('[MCP-I] Checking tool protection:', {
|
|
106
|
+
tool: toolName,
|
|
107
|
+
agentDid: identity.did.slice(0, 20) + '...',
|
|
108
|
+
hasDelegation: !!(session?.delegationToken || session?.consentProof),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
const protection = await this.config.toolProtectionService.checkToolProtection(toolName, identity.did);
|
|
112
|
+
if (protection) {
|
|
113
|
+
// Tool requires delegation
|
|
114
|
+
const hasDelegation = session?.delegationToken || session?.consentProof;
|
|
115
|
+
if (!hasDelegation) {
|
|
116
|
+
// No delegation provided - throw error with consent URL
|
|
117
|
+
const consentUrl = this.buildConsentUrl(toolName, protection.requiredScopes, session);
|
|
118
|
+
if (this.config.audit?.enabled) {
|
|
119
|
+
console.warn('[MCP-I] BLOCKED: Tool requires delegation but none provided', {
|
|
120
|
+
tool: toolName,
|
|
121
|
+
requiredScopes: protection.requiredScopes,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
throw new tool_protection_js_1.DelegationRequiredError(toolName, protection.requiredScopes, consentUrl);
|
|
125
|
+
}
|
|
126
|
+
// Delegation provided - verify it (placeholder for future implementation)
|
|
127
|
+
// TODO: Implement delegation token verification
|
|
128
|
+
if (this.config.audit?.enabled) {
|
|
129
|
+
console.log('[MCP-I] Tool protection check passed (delegation provided)');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
if (this.config.audit?.enabled) {
|
|
134
|
+
console.log('[MCP-I] Tool protection check passed (no delegation required)');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
91
138
|
// Execute the tool
|
|
92
139
|
const result = await handler(args);
|
|
93
140
|
// Create proof
|
|
94
141
|
const proof = await this.createProof(result, session);
|
|
142
|
+
// Store proof for out-of-band retrieval
|
|
143
|
+
this.lastProof = proof;
|
|
95
144
|
// Log if audit is enabled
|
|
96
145
|
if (this.config.audit?.enabled) {
|
|
97
146
|
this.logAudit('tool_executed', {
|
|
@@ -100,10 +149,31 @@ class MCPIRuntimeBase {
|
|
|
100
149
|
timestamp: this.clock.now()
|
|
101
150
|
});
|
|
102
151
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
152
|
+
// Return clean result only (no proof in LLM context)
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Build consent URL for delegation flow
|
|
157
|
+
* Override this method in subclasses to customize the consent URL
|
|
158
|
+
*/
|
|
159
|
+
buildConsentUrl(toolName, scopes, session) {
|
|
160
|
+
// Default implementation - override in subclasses
|
|
161
|
+
const params = new URLSearchParams({
|
|
162
|
+
tool: toolName,
|
|
163
|
+
scopes: scopes.join(','),
|
|
164
|
+
sessionId: session?.id || '',
|
|
165
|
+
});
|
|
166
|
+
return `https://agentshield.kya.xyz/consent?${params.toString()}`;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Issue a new nonce and register it in the cache
|
|
170
|
+
* Use this to get a nonce for the session context before calling processToolCall
|
|
171
|
+
*/
|
|
172
|
+
async issueNonce(sessionId) {
|
|
173
|
+
const nonce = await this.generateNonce();
|
|
174
|
+
await this.nonceCache.add(nonce, this.clock.calculateExpiry(300) // 5 minute expiry
|
|
175
|
+
);
|
|
176
|
+
return nonce;
|
|
107
177
|
}
|
|
108
178
|
/**
|
|
109
179
|
* Create cryptographic proof for data
|
|
@@ -111,16 +181,24 @@ class MCPIRuntimeBase {
|
|
|
111
181
|
async createProof(data, session) {
|
|
112
182
|
const identity = await this.getIdentity();
|
|
113
183
|
const timestamp = this.clock.now();
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
184
|
+
// Use nonce from session if provided, otherwise generate new one
|
|
185
|
+
let nonce;
|
|
186
|
+
if (session?.nonce) {
|
|
187
|
+
nonce = session.nonce;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
nonce = await this.generateNonce();
|
|
191
|
+
// Add nonce to cache to prevent replay
|
|
192
|
+
await this.nonceCache.add(nonce, this.clock.calculateExpiry(300) // 5 minute expiry
|
|
193
|
+
);
|
|
194
|
+
}
|
|
118
195
|
const proofData = {
|
|
119
196
|
data,
|
|
120
197
|
timestamp,
|
|
121
198
|
nonce,
|
|
122
199
|
did: identity.did,
|
|
123
|
-
sessionId: session?.id
|
|
200
|
+
sessionId: session?.id,
|
|
201
|
+
audience: session?.audience
|
|
124
202
|
};
|
|
125
203
|
const signature = await this.signData(proofData);
|
|
126
204
|
return {
|
|
@@ -128,7 +206,9 @@ class MCPIRuntimeBase {
|
|
|
128
206
|
nonce,
|
|
129
207
|
did: identity.did,
|
|
130
208
|
signature,
|
|
131
|
-
algorithm: 'Ed25519'
|
|
209
|
+
algorithm: 'Ed25519',
|
|
210
|
+
sessionId: session?.id,
|
|
211
|
+
audience: session?.audience
|
|
132
212
|
};
|
|
133
213
|
}
|
|
134
214
|
/**
|
|
@@ -176,6 +256,12 @@ class MCPIRuntimeBase {
|
|
|
176
256
|
}
|
|
177
257
|
return null;
|
|
178
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Get the last generated proof for out-of-band transport
|
|
261
|
+
*/
|
|
262
|
+
getLastProof() {
|
|
263
|
+
return this.lastProof;
|
|
264
|
+
}
|
|
179
265
|
/**
|
|
180
266
|
* Create well-known handler for identity verification
|
|
181
267
|
*/
|
|
@@ -183,7 +269,41 @@ class MCPIRuntimeBase {
|
|
|
183
269
|
return async (path) => {
|
|
184
270
|
const identity = await this.getIdentity();
|
|
185
271
|
if (path === '/.well-known/did.json') {
|
|
186
|
-
|
|
272
|
+
const didDocument = this.createDIDDocument(identity);
|
|
273
|
+
return {
|
|
274
|
+
status: 200,
|
|
275
|
+
headers: {
|
|
276
|
+
'Content-Type': 'application/did+json',
|
|
277
|
+
'Cache-Control': this.config.environment === 'production'
|
|
278
|
+
? 'public, max-age=300'
|
|
279
|
+
: 'no-store'
|
|
280
|
+
},
|
|
281
|
+
body: JSON.stringify(didDocument, null, 2)
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
if (path === '/.well-known/agent.json') {
|
|
285
|
+
const agentDocument = {
|
|
286
|
+
id: identity.did,
|
|
287
|
+
capabilities: {
|
|
288
|
+
'mcp-i': ['handshake', 'signing', 'verification']
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
if (config?.serviceName || config?.serviceEndpoint) {
|
|
292
|
+
agentDocument.metadata = {
|
|
293
|
+
...(config?.serviceName && { name: config.serviceName }),
|
|
294
|
+
...(config?.serviceEndpoint && { serviceEndpoint: config.serviceEndpoint })
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
return {
|
|
298
|
+
status: 200,
|
|
299
|
+
headers: {
|
|
300
|
+
'Content-Type': 'application/json',
|
|
301
|
+
'Cache-Control': this.config.environment === 'production'
|
|
302
|
+
? 'public, max-age=300'
|
|
303
|
+
: 'no-store'
|
|
304
|
+
},
|
|
305
|
+
body: JSON.stringify(agentDocument, null, 2)
|
|
306
|
+
};
|
|
187
307
|
}
|
|
188
308
|
if (path === '/.well-known/mcp-identity') {
|
|
189
309
|
return {
|
|
@@ -234,11 +354,12 @@ class MCPIRuntimeBase {
|
|
|
234
354
|
* Rotate keys
|
|
235
355
|
*/
|
|
236
356
|
async rotateKeys() {
|
|
357
|
+
const oldDid = this.cachedIdentity?.did;
|
|
237
358
|
const newIdentity = await this.identity.rotateKeys();
|
|
238
359
|
this.cachedIdentity = newIdentity;
|
|
239
360
|
if (this.config.audit?.enabled) {
|
|
240
361
|
this.logAudit('keys_rotated', {
|
|
241
|
-
oldDid:
|
|
362
|
+
oldDid: oldDid,
|
|
242
363
|
newDid: newIdentity.did,
|
|
243
364
|
timestamp: this.clock.now()
|
|
244
365
|
});
|
|
@@ -285,6 +406,8 @@ class MCPIRuntimeBase {
|
|
|
285
406
|
id: `${identity.did}#key-1`,
|
|
286
407
|
type: 'Ed25519VerificationKey2020',
|
|
287
408
|
controller: identity.did,
|
|
409
|
+
// Using base64 for cross-platform compatibility (Cloudflare Workers)
|
|
410
|
+
// W3C DID spec supports both base64 and multibase formats
|
|
288
411
|
publicKeyBase64: identity.publicKey
|
|
289
412
|
}],
|
|
290
413
|
authentication: [`${identity.did}#key-1`],
|
package/dist/runtime/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToolProtectionService - Fetches and caches tool protection configurations
|
|
3
|
+
*
|
|
4
|
+
* This service:
|
|
5
|
+
* 1. Fetches tool protection config from AgentShield API
|
|
6
|
+
* 2. Caches responses to reduce API calls
|
|
7
|
+
* 3. Falls back to local config if API unavailable
|
|
8
|
+
* 4. Provides delegation checking logic
|
|
9
|
+
*
|
|
10
|
+
* @package @kya-os/mcp-i-core
|
|
11
|
+
*/
|
|
12
|
+
import type { ToolProtection, ToolProtectionConfig, ToolProtectionServiceConfig } from '../types/tool-protection.js';
|
|
13
|
+
import type { ToolProtectionCache } from '../cache/tool-protection-cache.js';
|
|
14
|
+
/**
|
|
15
|
+
* Service for fetching and checking tool protection configurations
|
|
16
|
+
*/
|
|
17
|
+
export declare class ToolProtectionService {
|
|
18
|
+
private config;
|
|
19
|
+
private cache;
|
|
20
|
+
constructor(config: ToolProtectionServiceConfig, cache: ToolProtectionCache);
|
|
21
|
+
/**
|
|
22
|
+
* Get tool protection configuration for the agent
|
|
23
|
+
*
|
|
24
|
+
* Flow:
|
|
25
|
+
* 1. Check cache
|
|
26
|
+
* 2. If cache miss, fetch from API
|
|
27
|
+
* 3. If API fails, use fallback config
|
|
28
|
+
* 4. Cache successful API responses
|
|
29
|
+
*
|
|
30
|
+
* @param agentDid DID of the agent to fetch config for
|
|
31
|
+
*/
|
|
32
|
+
getToolProtectionConfig(agentDid: string): Promise<ToolProtectionConfig>;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a tool requires delegation
|
|
35
|
+
*
|
|
36
|
+
* @param toolName Name of the tool to check
|
|
37
|
+
* @param agentDid DID of the agent executing the tool
|
|
38
|
+
* @returns Tool protection config or null if no protection required
|
|
39
|
+
*/
|
|
40
|
+
checkToolProtection(toolName: string, agentDid: string): Promise<ToolProtection | null>;
|
|
41
|
+
/**
|
|
42
|
+
* Fetch tool protection config from AgentShield API
|
|
43
|
+
* Calls /api/v1/bouncer/config?agent_did={agentDid}
|
|
44
|
+
*
|
|
45
|
+
* @param agentDid DID of the agent to fetch config for
|
|
46
|
+
*/
|
|
47
|
+
private fetchFromApi;
|
|
48
|
+
/**
|
|
49
|
+
* Clear the cache for a specific agent (useful for testing or manual refresh)
|
|
50
|
+
*
|
|
51
|
+
* @param agentDid DID of the agent to clear cache for
|
|
52
|
+
*/
|
|
53
|
+
clearCache(agentDid: string): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=tool-protection.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-protection.service.d.ts","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAE5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAsB7E;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,KAAK,CAAsB;gBAGjC,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,mBAAmB;IAM5B;;;;;;;;;;OAUG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgF9E;;;;;;OAMG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAW7F;;;;;OAKG;YACW,YAAY;IA+B1B;;;;OAIG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIlD"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ToolProtectionService - Fetches and caches tool protection configurations
|
|
4
|
+
*
|
|
5
|
+
* This service:
|
|
6
|
+
* 1. Fetches tool protection config from AgentShield API
|
|
7
|
+
* 2. Caches responses to reduce API calls
|
|
8
|
+
* 3. Falls back to local config if API unavailable
|
|
9
|
+
* 4. Provides delegation checking logic
|
|
10
|
+
*
|
|
11
|
+
* @package @kya-os/mcp-i-core
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.ToolProtectionService = void 0;
|
|
15
|
+
/**
|
|
16
|
+
* Service for fetching and checking tool protection configurations
|
|
17
|
+
*/
|
|
18
|
+
class ToolProtectionService {
|
|
19
|
+
config;
|
|
20
|
+
cache;
|
|
21
|
+
constructor(config, cache) {
|
|
22
|
+
this.config = config;
|
|
23
|
+
this.cache = cache;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get tool protection configuration for the agent
|
|
27
|
+
*
|
|
28
|
+
* Flow:
|
|
29
|
+
* 1. Check cache
|
|
30
|
+
* 2. If cache miss, fetch from API
|
|
31
|
+
* 3. If API fails, use fallback config
|
|
32
|
+
* 4. Cache successful API responses
|
|
33
|
+
*
|
|
34
|
+
* @param agentDid DID of the agent to fetch config for
|
|
35
|
+
*/
|
|
36
|
+
async getToolProtectionConfig(agentDid) {
|
|
37
|
+
const cacheKey = `tool-protection:${agentDid}`;
|
|
38
|
+
// 1. Check cache
|
|
39
|
+
const cached = await this.cache.get(cacheKey);
|
|
40
|
+
if (cached) {
|
|
41
|
+
if (this.config.debug) {
|
|
42
|
+
console.log('[ToolProtectionService] Cache hit', { agentDid: agentDid.slice(0, 20) + '...' });
|
|
43
|
+
}
|
|
44
|
+
return cached;
|
|
45
|
+
}
|
|
46
|
+
if (this.config.debug) {
|
|
47
|
+
console.log('[ToolProtectionService] Cache miss, fetching from API', {
|
|
48
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// 2. Fetch from API
|
|
52
|
+
try {
|
|
53
|
+
const response = await this.fetchFromApi(agentDid);
|
|
54
|
+
// Transform API response format to internal format
|
|
55
|
+
// API returns: { data: { tools: { greet: { scopes: [...], requiresDelegation: true } } } }
|
|
56
|
+
// We need: { toolProtections: { greet: { requiredScopes: [...], requiresDelegation: true } } }
|
|
57
|
+
const toolProtections = {};
|
|
58
|
+
if (response.data.tools) {
|
|
59
|
+
for (const [toolName, toolConfig] of Object.entries(response.data.tools)) {
|
|
60
|
+
toolProtections[toolName] = {
|
|
61
|
+
requiresDelegation: toolConfig.requiresDelegation ?? false,
|
|
62
|
+
requiredScopes: toolConfig.scopes || [],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const config = { toolProtections };
|
|
67
|
+
// 3. Cache the response
|
|
68
|
+
const ttl = this.config.cacheTtl ?? 300000; // Default 5 minutes
|
|
69
|
+
await this.cache.set(cacheKey, config, ttl);
|
|
70
|
+
if (this.config.debug) {
|
|
71
|
+
console.log('[ToolProtectionService] API fetch successful, cached', {
|
|
72
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
73
|
+
toolCount: Object.keys(toolProtections).length,
|
|
74
|
+
ttl,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return config;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (this.config.debug) {
|
|
81
|
+
console.error('[ToolProtectionService] API fetch failed', {
|
|
82
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
83
|
+
error: error instanceof Error ? error.message : String(error),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// 4. Fallback to local config
|
|
87
|
+
if (this.config.fallbackConfig) {
|
|
88
|
+
if (this.config.debug) {
|
|
89
|
+
console.log('[ToolProtectionService] Using fallback config', {
|
|
90
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return this.config.fallbackConfig;
|
|
94
|
+
}
|
|
95
|
+
// 5. No fallback available - return empty config (allow all tools)
|
|
96
|
+
if (this.config.debug) {
|
|
97
|
+
console.warn('[ToolProtectionService] No fallback config, allowing all tools', {
|
|
98
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return { toolProtections: {} };
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Check if a tool requires delegation
|
|
106
|
+
*
|
|
107
|
+
* @param toolName Name of the tool to check
|
|
108
|
+
* @param agentDid DID of the agent executing the tool
|
|
109
|
+
* @returns Tool protection config or null if no protection required
|
|
110
|
+
*/
|
|
111
|
+
async checkToolProtection(toolName, agentDid) {
|
|
112
|
+
const config = await this.getToolProtectionConfig(agentDid);
|
|
113
|
+
const protection = config.toolProtections[toolName];
|
|
114
|
+
if (!protection || !protection.requiresDelegation) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
return protection;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Fetch tool protection config from AgentShield API
|
|
121
|
+
* Calls /api/v1/bouncer/config?agent_did={agentDid}
|
|
122
|
+
*
|
|
123
|
+
* @param agentDid DID of the agent to fetch config for
|
|
124
|
+
*/
|
|
125
|
+
async fetchFromApi(agentDid) {
|
|
126
|
+
const url = `${this.config.apiUrl}/api/v1/bouncer/config?agent_did=${encodeURIComponent(agentDid)}`;
|
|
127
|
+
if (this.config.debug) {
|
|
128
|
+
console.log('[ToolProtectionService] Fetching from API:', url);
|
|
129
|
+
}
|
|
130
|
+
const response = await fetch(url, {
|
|
131
|
+
method: 'GET',
|
|
132
|
+
headers: {
|
|
133
|
+
'Content-Type': 'application/json',
|
|
134
|
+
'Authorization': `Bearer ${this.config.apiKey}`,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
if (!response.ok) {
|
|
138
|
+
const errorText = await response.text().catch(() => 'Unknown error');
|
|
139
|
+
throw new Error(`Failed to fetch bouncer config: ${response.status} ${response.statusText} - ${errorText}`);
|
|
140
|
+
}
|
|
141
|
+
const data = (await response.json());
|
|
142
|
+
if (!data.success) {
|
|
143
|
+
throw new Error('API returned success: false');
|
|
144
|
+
}
|
|
145
|
+
return data;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Clear the cache for a specific agent (useful for testing or manual refresh)
|
|
149
|
+
*
|
|
150
|
+
* @param agentDid DID of the agent to clear cache for
|
|
151
|
+
*/
|
|
152
|
+
async clearCache(agentDid) {
|
|
153
|
+
const cacheKey = `tool-protection:${agentDid}`;
|
|
154
|
+
await this.cache.delete(cacheKey);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.ToolProtectionService = ToolProtectionService;
|
|
158
|
+
//# sourceMappingURL=tool-protection.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-protection.service.js","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Protection Types
|
|
3
|
+
*
|
|
4
|
+
* Shared type definitions for tool protection and delegation enforcement.
|
|
5
|
+
* These types are used across all MCP-I packages to ensure consistency.
|
|
6
|
+
*
|
|
7
|
+
* @package @kya-os/mcp-i-core
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Tool protection configuration for a single tool
|
|
12
|
+
*/
|
|
13
|
+
export interface ToolProtection {
|
|
14
|
+
/**
|
|
15
|
+
* Whether this tool requires delegation (user authorization) to execute
|
|
16
|
+
*/
|
|
17
|
+
requiresDelegation: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Required scopes for executing this tool
|
|
20
|
+
* Format: "resource:action" (e.g., ["greet:execute", "user:read"])
|
|
21
|
+
*/
|
|
22
|
+
requiredScopes: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Risk level of the tool (optional, used for UI display)
|
|
25
|
+
*/
|
|
26
|
+
riskLevel?: 'low' | 'medium' | 'high' | 'critical';
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Complete tool protection configuration for a project
|
|
30
|
+
*/
|
|
31
|
+
export interface ToolProtectionConfig {
|
|
32
|
+
/**
|
|
33
|
+
* Map of tool names to their protection settings
|
|
34
|
+
*/
|
|
35
|
+
toolProtections: Record<string, ToolProtection>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Configuration for the ToolProtectionService
|
|
39
|
+
*/
|
|
40
|
+
export interface ToolProtectionServiceConfig {
|
|
41
|
+
/**
|
|
42
|
+
* AgentShield API base URL
|
|
43
|
+
* @example "https://kya.vouched.id"
|
|
44
|
+
*/
|
|
45
|
+
apiUrl: string;
|
|
46
|
+
/**
|
|
47
|
+
* AgentShield API key for authentication
|
|
48
|
+
* @example "sk_..."
|
|
49
|
+
*/
|
|
50
|
+
apiKey: string;
|
|
51
|
+
/**
|
|
52
|
+
* Project ID (optional, used for backward compatibility)
|
|
53
|
+
* The service now fetches config by agent DID instead
|
|
54
|
+
* @deprecated Use agent DID from runtime identity
|
|
55
|
+
* @example "mcp-i-ieu0ro"
|
|
56
|
+
*/
|
|
57
|
+
projectId?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Cache TTL in milliseconds
|
|
60
|
+
* @default 300000 (5 minutes)
|
|
61
|
+
*/
|
|
62
|
+
cacheTtl?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Fallback configuration to use if API is unavailable
|
|
65
|
+
* @optional
|
|
66
|
+
*/
|
|
67
|
+
fallbackConfig?: ToolProtectionConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Enable debug logging
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
debug?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* API response from /api/v1/bouncer/projects/{projectId}/tool-protections
|
|
76
|
+
*/
|
|
77
|
+
export interface ToolProtectionApiResponse {
|
|
78
|
+
success: boolean;
|
|
79
|
+
data: {
|
|
80
|
+
toolProtections: Record<string, ToolProtection>;
|
|
81
|
+
};
|
|
82
|
+
metadata: {
|
|
83
|
+
timestamp: string;
|
|
84
|
+
cachedUntil: string;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Error thrown when a tool requires delegation but none is provided
|
|
89
|
+
*/
|
|
90
|
+
export declare class DelegationRequiredError extends Error {
|
|
91
|
+
toolName: string;
|
|
92
|
+
requiredScopes: string[];
|
|
93
|
+
consentUrl?: string | undefined;
|
|
94
|
+
constructor(toolName: string, requiredScopes: string[], consentUrl?: string | undefined);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Error thrown when the tool protection service fails
|
|
98
|
+
*/
|
|
99
|
+
export declare class ToolProtectionServiceError extends Error {
|
|
100
|
+
cause?: Error | undefined;
|
|
101
|
+
constructor(message: string, cause?: Error | undefined);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=tool-protection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-protection.d.ts","sourceRoot":"","sources":["../../src/types/tool-protection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KACjD,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAEvC,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM,EAAE;IACxB,UAAU,CAAC,EAAE,MAAM;gBAFnB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,UAAU,CAAC,EAAE,MAAM,YAAA;CAK7B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACf,KAAK,CAAC,EAAE,KAAK;gBAArC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,KAAK,YAAA;CAIlD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool Protection Types
|
|
4
|
+
*
|
|
5
|
+
* Shared type definitions for tool protection and delegation enforcement.
|
|
6
|
+
* These types are used across all MCP-I packages to ensure consistency.
|
|
7
|
+
*
|
|
8
|
+
* @package @kya-os/mcp-i-core
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ToolProtectionServiceError = exports.DelegationRequiredError = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown when a tool requires delegation but none is provided
|
|
15
|
+
*/
|
|
16
|
+
class DelegationRequiredError extends Error {
|
|
17
|
+
toolName;
|
|
18
|
+
requiredScopes;
|
|
19
|
+
consentUrl;
|
|
20
|
+
constructor(toolName, requiredScopes, consentUrl) {
|
|
21
|
+
super(`Delegation required for tool "${toolName}"`);
|
|
22
|
+
this.toolName = toolName;
|
|
23
|
+
this.requiredScopes = requiredScopes;
|
|
24
|
+
this.consentUrl = consentUrl;
|
|
25
|
+
this.name = 'DelegationRequiredError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.DelegationRequiredError = DelegationRequiredError;
|
|
29
|
+
/**
|
|
30
|
+
* Error thrown when the tool protection service fails
|
|
31
|
+
*/
|
|
32
|
+
class ToolProtectionServiceError extends Error {
|
|
33
|
+
cause;
|
|
34
|
+
constructor(message, cause) {
|
|
35
|
+
super(message);
|
|
36
|
+
this.cause = cause;
|
|
37
|
+
this.name = 'ToolProtectionServiceError';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ToolProtectionServiceError = ToolProtectionServiceError;
|
|
41
|
+
//# sourceMappingURL=tool-protection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-protection.js","sourceRoot":"","sources":["../../src/types/tool-protection.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA0FH;;GAEG;AACH,MAAa,uBAAwB,SAAQ,KAAK;IAEvC;IACA;IACA;IAHT,YACS,QAAgB,EAChB,cAAwB,EACxB,UAAmB;QAE1B,KAAK,CAAC,iCAAiC,QAAQ,GAAG,CAAC,CAAC;QAJ7C,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAU;QACxB,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AATD,0DASC;AAED;;GAEG;AACH,MAAa,0BAA2B,SAAQ,KAAK;IACf;IAApC,YAAY,OAAe,EAAS,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,UAAK,GAAL,KAAK,CAAQ;QAE/C,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AALD,gEAKC"}
|