@kya-os/mcp-i-core 1.1.10 → 1.1.11
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/__tests__/utils/mock-providers.d.ts.map +1 -1
- package/dist/__tests__/utils/mock-providers.js +16 -4
- package/dist/__tests__/utils/mock-providers.js.map +1 -1
- package/dist/cache/tool-protection-cache.d.ts.map +1 -1
- package/dist/cache/tool-protection-cache.js +4 -0
- package/dist/cache/tool-protection-cache.js.map +1 -1
- 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/config/remote-config.d.ts +69 -0
- package/dist/config/remote-config.d.ts.map +1 -0
- package/dist/config/remote-config.js +107 -0
- package/dist/config/remote-config.js.map +1 -0
- package/dist/config.d.ts +182 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +145 -0
- package/dist/config.js.map +1 -0
- package/dist/did/resolver.d.ts +92 -0
- package/dist/did/resolver.d.ts.map +1 -0
- package/dist/did/resolver.js +203 -0
- package/dist/did/resolver.js.map +1 -0
- package/dist/identity/user-did-manager.d.ts +106 -0
- package/dist/identity/user-did-manager.d.ts.map +1 -0
- package/dist/identity/user-did-manager.js +190 -0
- package/dist/identity/user-did-manager.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/proof/proof-engine.d.ts +89 -0
- package/dist/proof/proof-engine.d.ts.map +1 -0
- package/dist/proof/proof-engine.js +249 -0
- package/dist/proof/proof-engine.js.map +1 -0
- package/dist/runtime/base-v2.d.ts +117 -0
- package/dist/runtime/base-v2.d.ts.map +1 -0
- package/dist/runtime/base-v2.js +328 -0
- package/dist/runtime/base-v2.js.map +1 -0
- package/dist/runtime/base.d.ts +26 -31
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +206 -69
- package/dist/runtime/base.js.map +1 -1
- package/dist/services/tool-protection.service.d.ts.map +1 -1
- package/dist/services/tool-protection.service.js +60 -11
- package/dist/services/tool-protection.service.js.map +1 -1
- package/dist/types/providers.d.ts +142 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/providers.js +43 -0
- package/dist/types/providers.js.map +1 -0
- package/dist/types/tool-protection.d.ts +22 -22
- package/dist/types/tool-protection.d.ts.map +1 -1
- package/dist/types/tool-protection.js +12 -5
- package/dist/types/tool-protection.js.map +1 -1
- package/dist/verification/interfaces.d.ts +125 -0
- package/dist/verification/interfaces.d.ts.map +1 -0
- package/dist/verification/interfaces.js +101 -0
- package/dist/verification/interfaces.js.map +1 -0
- package/package.json +10 -3
|
@@ -72,9 +72,10 @@ class ToolProtectionService {
|
|
|
72
72
|
// Check for new endpoint format first (toolProtections)
|
|
73
73
|
if (response.data.toolProtections) {
|
|
74
74
|
// New endpoint format: object with tool names as keys
|
|
75
|
+
// Prefer camelCase over snake_case when both present
|
|
75
76
|
for (const [toolName, toolConfig] of Object.entries(response.data.toolProtections)) {
|
|
76
|
-
const requiresDelegation = toolConfig.
|
|
77
|
-
const requiredScopes = toolConfig.
|
|
77
|
+
const requiresDelegation = toolConfig.requiresDelegation ?? toolConfig.requires_delegation ?? false;
|
|
78
|
+
const requiredScopes = toolConfig.requiredScopes ?? toolConfig.required_scopes ?? toolConfig.scopes ?? [];
|
|
78
79
|
toolProtections[toolName] = {
|
|
79
80
|
requiresDelegation,
|
|
80
81
|
requiredScopes,
|
|
@@ -93,8 +94,9 @@ class ToolProtectionService {
|
|
|
93
94
|
}
|
|
94
95
|
continue;
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
-
const
|
|
97
|
+
// Prefer camelCase over snake_case when both present
|
|
98
|
+
const requiresDelegation = tool.requiresDelegation ?? tool.requires_delegation ?? false;
|
|
99
|
+
const requiredScopes = tool.requiredScopes ?? tool.required_scopes ?? tool.scopes ?? [];
|
|
98
100
|
toolProtections[toolName] = {
|
|
99
101
|
requiresDelegation,
|
|
100
102
|
requiredScopes,
|
|
@@ -104,8 +106,9 @@ class ToolProtectionService {
|
|
|
104
106
|
else {
|
|
105
107
|
// Object format: { greet: { requiresDelegation: true, ... } }
|
|
106
108
|
for (const [toolName, toolConfig] of Object.entries(response.data.tools)) {
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
+
// Prefer camelCase over snake_case when both present
|
|
110
|
+
const requiresDelegation = toolConfig.requiresDelegation ?? toolConfig.requires_delegation ?? false;
|
|
111
|
+
const requiredScopes = toolConfig.requiredScopes ?? toolConfig.required_scopes ?? toolConfig.scopes ?? [];
|
|
109
112
|
toolProtections[toolName] = {
|
|
110
113
|
requiresDelegation,
|
|
111
114
|
requiredScopes,
|
|
@@ -141,19 +144,46 @@ class ToolProtectionService {
|
|
|
141
144
|
}
|
|
142
145
|
catch (error) {
|
|
143
146
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
147
|
+
// Re-throw API key validation errors (don't fallback)
|
|
148
|
+
if (errorMessage.includes('API key is missing or empty')) {
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
// Re-throw HTTP errors (4xx, 5xx) - these indicate API issues, not network failures
|
|
152
|
+
// Exception: 429 (rate limit) should fallback if fallback config is available
|
|
153
|
+
if (errorMessage.includes('Failed to fetch bouncer config:')) {
|
|
154
|
+
const status = error.status;
|
|
155
|
+
// Allow 429 to fallback (rate limiting is temporary, fallback is acceptable)
|
|
156
|
+
if (status === 429 && this.config.fallbackConfig) {
|
|
157
|
+
// Will fall through to fallback logic below
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
throw error;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Re-throw JSON parsing errors
|
|
164
|
+
if (errorMessage.includes('Failed to parse API response:')) {
|
|
165
|
+
throw error;
|
|
166
|
+
}
|
|
167
|
+
// Re-throw API success: false errors
|
|
168
|
+
if (errorMessage.includes('API returned success: false')) {
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
144
171
|
if (this.config.debug) {
|
|
145
172
|
console.error('[ToolProtectionService] API fetch failed', {
|
|
146
173
|
agentDid: agentDid.slice(0, 20) + '...',
|
|
147
174
|
error: errorMessage,
|
|
148
175
|
});
|
|
149
176
|
}
|
|
150
|
-
// 4. Fallback to local config
|
|
177
|
+
// 4. Fallback to local config (only for network errors, not API errors)
|
|
151
178
|
if (this.config.fallbackConfig) {
|
|
152
179
|
// Always warn when using fallback (not just debug mode)
|
|
153
180
|
console.warn('[ToolProtectionService] API fetch failed, using fallback config', {
|
|
154
181
|
agentDid: agentDid.slice(0, 20) + '...',
|
|
155
182
|
error: errorMessage,
|
|
156
183
|
});
|
|
184
|
+
// Cache the fallback config to avoid repeated API calls
|
|
185
|
+
const ttl = this.config.cacheTtl ?? 300000; // Default 5 minutes
|
|
186
|
+
await this.cache.set(cacheKey, this.config.fallbackConfig, ttl);
|
|
157
187
|
return this.config.fallbackConfig;
|
|
158
188
|
}
|
|
159
189
|
// 5. No fallback available - return empty config (allow all tools)
|
|
@@ -161,7 +191,11 @@ class ToolProtectionService {
|
|
|
161
191
|
agentDid: agentDid.slice(0, 20) + '...',
|
|
162
192
|
error: errorMessage,
|
|
163
193
|
});
|
|
164
|
-
|
|
194
|
+
// Cache empty config to avoid repeated API calls
|
|
195
|
+
const emptyConfig = { toolProtections: {} };
|
|
196
|
+
const ttl = this.config.cacheTtl ?? 300000; // Default 5 minutes
|
|
197
|
+
await this.cache.set(cacheKey, emptyConfig, ttl);
|
|
198
|
+
return emptyConfig;
|
|
165
199
|
}
|
|
166
200
|
}
|
|
167
201
|
/**
|
|
@@ -210,8 +244,15 @@ class ToolProtectionService {
|
|
|
210
244
|
url = `${this.config.apiUrl}/api/v1/bouncer/config?agent_did=${encodeURIComponent(agentDid)}`;
|
|
211
245
|
}
|
|
212
246
|
// Debug: Log API key status (masked for security)
|
|
247
|
+
// Format: sk_live... (prefix up to first underscore after type, then ...)
|
|
213
248
|
const apiKeyMasked = this.config.apiKey
|
|
214
|
-
?
|
|
249
|
+
? (() => {
|
|
250
|
+
const parts = this.config.apiKey.split('_');
|
|
251
|
+
if (parts.length >= 2) {
|
|
252
|
+
return `${parts[0]}_${parts[1]}...`;
|
|
253
|
+
}
|
|
254
|
+
return `${this.config.apiKey.substring(0, 8)}...`;
|
|
255
|
+
})()
|
|
215
256
|
: '(empty)';
|
|
216
257
|
const apiKeyLength = this.config.apiKey?.length || 0;
|
|
217
258
|
if (this.config.debug) {
|
|
@@ -255,9 +296,17 @@ class ToolProtectionService {
|
|
|
255
296
|
});
|
|
256
297
|
if (!response.ok) {
|
|
257
298
|
const errorText = await response.text().catch(() => 'Unknown error');
|
|
258
|
-
|
|
299
|
+
const error = new Error(`Failed to fetch bouncer config: ${response.status} ${response.statusText} - ${errorText}`);
|
|
300
|
+
error.status = response.status;
|
|
301
|
+
throw error;
|
|
302
|
+
}
|
|
303
|
+
let data;
|
|
304
|
+
try {
|
|
305
|
+
data = (await response.json());
|
|
306
|
+
}
|
|
307
|
+
catch (jsonError) {
|
|
308
|
+
throw new Error(`Failed to parse API response: ${jsonError instanceof Error ? jsonError.message : String(jsonError)}`);
|
|
259
309
|
}
|
|
260
|
-
const data = (await response.json());
|
|
261
310
|
if (!data.success) {
|
|
262
311
|
throw new Error('API returned success: false');
|
|
263
312
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection.service.js","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAuDH;;GAEG;AACH,MAAa,qBAAqB;IACxB,MAAM,CAA8B;IACpC,KAAK,CAAsB;IAEnC,YACE,MAAmC,EACnC,KAA0B;QAE1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC5C,qEAAqE;QACrE,4DAA4D;QAC5D,iFAAiF;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;YACpC,CAAC,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACpD,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC;QAExB,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;oBAC/C,QAAQ;oBACR,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACvC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM;oBAC1C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM;iBACtD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,uDAAuD,EAAE;gBACnE,QAAQ;gBACR,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gBACvC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEnD,mDAAmD;YACnD,sCAAsC;YACtC,+FAA+F;YAC/F,mGAAmG;YACnG,8FAA8F;YAC9F,MAAM,eAAe,GAAmC,EAAE,CAAC;YAE3D,wDAAwD;YACxD,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClC,sDAAsD;gBACtD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnF,MAAM,kBAAkB,GAAI,UAAkB,CAAC,
|
|
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,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider interfaces for platform-specific implementations
|
|
3
|
+
*/
|
|
4
|
+
import { AgentIdentity } from "@kya-os/contracts/handshake";
|
|
5
|
+
/**
|
|
6
|
+
* Abstract crypto provider for platform-specific crypto operations
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class CryptoProvider {
|
|
9
|
+
/**
|
|
10
|
+
* Sign data with Ed25519 private key
|
|
11
|
+
*/
|
|
12
|
+
abstract sign(data: Uint8Array, privateKey: string): Promise<Uint8Array>;
|
|
13
|
+
/**
|
|
14
|
+
* Verify signature with Ed25519 public key
|
|
15
|
+
*/
|
|
16
|
+
abstract verify(data: Uint8Array, signature: Uint8Array, publicKey: string): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Generate Ed25519 key pair
|
|
19
|
+
*/
|
|
20
|
+
abstract generateKeyPair(): Promise<{
|
|
21
|
+
privateKey: string;
|
|
22
|
+
publicKey: string;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Create SHA-256 hash
|
|
26
|
+
*/
|
|
27
|
+
abstract hash(data: Uint8Array): Promise<Uint8Array>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Abstract identity provider for platform-specific identity storage
|
|
31
|
+
*/
|
|
32
|
+
export declare abstract class IdentityProvider {
|
|
33
|
+
/**
|
|
34
|
+
* Load agent identity from storage
|
|
35
|
+
*/
|
|
36
|
+
abstract loadIdentity(): Promise<AgentIdentity | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Store agent identity
|
|
39
|
+
*/
|
|
40
|
+
abstract storeIdentity(identity: AgentIdentity): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Check if identity exists
|
|
43
|
+
*/
|
|
44
|
+
abstract hasIdentity(): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Delete identity
|
|
47
|
+
*/
|
|
48
|
+
abstract deleteIdentity(): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Abstract storage provider for general key-value storage
|
|
52
|
+
*/
|
|
53
|
+
export declare abstract class StorageProvider {
|
|
54
|
+
/**
|
|
55
|
+
* Get value by key
|
|
56
|
+
*/
|
|
57
|
+
abstract get(key: string): Promise<string | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Set value with optional TTL
|
|
60
|
+
*/
|
|
61
|
+
abstract set(key: string, value: string, ttl?: number): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Delete value by key
|
|
64
|
+
*/
|
|
65
|
+
abstract delete(key: string): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Check if key exists
|
|
68
|
+
*/
|
|
69
|
+
abstract has(key: string): Promise<boolean>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Nonce cache provider for replay attack prevention
|
|
73
|
+
*/
|
|
74
|
+
export declare abstract class NonceCacheProvider {
|
|
75
|
+
/**
|
|
76
|
+
* Get nonce prefix for namespacing
|
|
77
|
+
*/
|
|
78
|
+
abstract getNoncePrefix(): string;
|
|
79
|
+
/**
|
|
80
|
+
* Get default TTL in seconds
|
|
81
|
+
*/
|
|
82
|
+
abstract getDefaultTTL(): number;
|
|
83
|
+
/**
|
|
84
|
+
* Check if nonce exists
|
|
85
|
+
*/
|
|
86
|
+
abstract has(nonce: string): Promise<boolean>;
|
|
87
|
+
/**
|
|
88
|
+
* Add nonce with TTL in seconds
|
|
89
|
+
*/
|
|
90
|
+
abstract add(nonce: string, ttl: number): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Clean expired nonces (optional)
|
|
93
|
+
*/
|
|
94
|
+
abstract cleanup?(): Promise<void>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Clock provider for time-based operations
|
|
98
|
+
*/
|
|
99
|
+
export declare abstract class ClockProvider {
|
|
100
|
+
/**
|
|
101
|
+
* Get current timestamp in milliseconds
|
|
102
|
+
*/
|
|
103
|
+
abstract now(): number;
|
|
104
|
+
/**
|
|
105
|
+
* Check if a timestamp is within acceptable skew
|
|
106
|
+
*/
|
|
107
|
+
abstract isWithinSkew(timestamp: number, skewSeconds: number): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Check if something has expired
|
|
110
|
+
*/
|
|
111
|
+
abstract hasExpired(expiresAt: number): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Calculate expiration timestamp
|
|
114
|
+
*/
|
|
115
|
+
abstract calculateExpiry(ttlSeconds: number): number;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Fetch provider for network operations
|
|
119
|
+
*/
|
|
120
|
+
export declare abstract class FetchProvider {
|
|
121
|
+
/**
|
|
122
|
+
* Resolve a DID document
|
|
123
|
+
*/
|
|
124
|
+
abstract resolveDID(did: string): Promise<any>;
|
|
125
|
+
/**
|
|
126
|
+
* Fetch status list for credentials
|
|
127
|
+
*/
|
|
128
|
+
abstract fetchStatusList(url: string): Promise<any>;
|
|
129
|
+
/**
|
|
130
|
+
* Fetch delegation chain
|
|
131
|
+
*/
|
|
132
|
+
abstract fetchDelegationChain(id: string): Promise<any[]>;
|
|
133
|
+
/**
|
|
134
|
+
* Get edge verification data (compact blob for offline verification)
|
|
135
|
+
*/
|
|
136
|
+
abstract getEdgeVerificationData(id: string): Promise<any>;
|
|
137
|
+
/**
|
|
138
|
+
* Generic HTTP fetch
|
|
139
|
+
*/
|
|
140
|
+
abstract fetch(url: string, options?: any): Promise<Response>;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/types/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Provider interfaces for platform-specific implementations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FetchProvider = exports.ClockProvider = exports.NonceCacheProvider = exports.StorageProvider = exports.IdentityProvider = exports.CryptoProvider = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Abstract crypto provider for platform-specific crypto operations
|
|
9
|
+
*/
|
|
10
|
+
class CryptoProvider {
|
|
11
|
+
}
|
|
12
|
+
exports.CryptoProvider = CryptoProvider;
|
|
13
|
+
/**
|
|
14
|
+
* Abstract identity provider for platform-specific identity storage
|
|
15
|
+
*/
|
|
16
|
+
class IdentityProvider {
|
|
17
|
+
}
|
|
18
|
+
exports.IdentityProvider = IdentityProvider;
|
|
19
|
+
/**
|
|
20
|
+
* Abstract storage provider for general key-value storage
|
|
21
|
+
*/
|
|
22
|
+
class StorageProvider {
|
|
23
|
+
}
|
|
24
|
+
exports.StorageProvider = StorageProvider;
|
|
25
|
+
/**
|
|
26
|
+
* Nonce cache provider for replay attack prevention
|
|
27
|
+
*/
|
|
28
|
+
class NonceCacheProvider {
|
|
29
|
+
}
|
|
30
|
+
exports.NonceCacheProvider = NonceCacheProvider;
|
|
31
|
+
/**
|
|
32
|
+
* Clock provider for time-based operations
|
|
33
|
+
*/
|
|
34
|
+
class ClockProvider {
|
|
35
|
+
}
|
|
36
|
+
exports.ClockProvider = ClockProvider;
|
|
37
|
+
/**
|
|
38
|
+
* Fetch provider for network operations
|
|
39
|
+
*/
|
|
40
|
+
class FetchProvider {
|
|
41
|
+
}
|
|
42
|
+
exports.FetchProvider = FetchProvider;
|
|
43
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/types/providers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH;;GAEG;AACH,MAAsB,cAAc;CAoBnC;AApBD,wCAoBC;AAED;;GAEG;AACH,MAAsB,gBAAgB;CAoBrC;AApBD,4CAoBC;AAED;;GAEG;AACH,MAAsB,eAAe;CAoBpC;AApBD,0CAoBC;AAED;;GAEG;AACH,MAAsB,kBAAkB;CAyBvC;AAzBD,gDAyBC;AAED;;GAEG;AACH,MAAsB,aAAa;CAoBlC;AApBD,sCAoBC;AAED;;GAEG;AACH,MAAsB,aAAa;CAyBlC;AAzBD,sCAyBC"}
|
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tool Protection Types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Implementation-specific type definitions for tool protection services.
|
|
5
|
+
* Core spec types are imported from @kya-os/contracts/tool-protection.
|
|
6
6
|
*
|
|
7
7
|
* @package @kya-os/mcp-i-core
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
}
|
|
10
|
+
import type { ToolProtection, ToolProtectionMap } from "@kya-os/contracts/tool-protection";
|
|
11
|
+
export type { ToolProtection };
|
|
28
12
|
/**
|
|
29
13
|
* Complete tool protection configuration for a project
|
|
14
|
+
* @deprecated Use ToolProtectionMap from @kya-os/contracts/tool-protection
|
|
30
15
|
*/
|
|
31
16
|
export interface ToolProtectionConfig {
|
|
32
17
|
/**
|
|
33
18
|
* Map of tool names to their protection settings
|
|
34
19
|
*/
|
|
35
|
-
toolProtections:
|
|
20
|
+
toolProtections: ToolProtectionMap;
|
|
36
21
|
}
|
|
37
22
|
/**
|
|
38
23
|
* Configuration for the ToolProtectionService
|
|
@@ -86,12 +71,27 @@ export interface ToolProtectionApiResponse {
|
|
|
86
71
|
}
|
|
87
72
|
/**
|
|
88
73
|
* Error thrown when a tool requires delegation but none is provided
|
|
74
|
+
*
|
|
75
|
+
* Note: Resume token generation is handled by MCPIRuntimeBase.generateResumeToken().
|
|
76
|
+
* The runtime should generate the token and pass it to this constructor.
|
|
89
77
|
*/
|
|
90
78
|
export declare class DelegationRequiredError extends Error {
|
|
91
79
|
toolName: string;
|
|
92
80
|
requiredScopes: string[];
|
|
93
81
|
consentUrl?: string | undefined;
|
|
94
|
-
|
|
82
|
+
resumeToken?: string;
|
|
83
|
+
interceptedCall?: InterceptedToolCall;
|
|
84
|
+
constructor(toolName: string, requiredScopes: string[], consentUrl?: string | undefined, interceptedCall?: InterceptedToolCall, resumeToken?: string);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Context for an intercepted tool call that needs authorization
|
|
88
|
+
*/
|
|
89
|
+
export interface InterceptedToolCall {
|
|
90
|
+
toolName: string;
|
|
91
|
+
args: any;
|
|
92
|
+
sessionId: string;
|
|
93
|
+
timestamp: number;
|
|
94
|
+
expiresAt: number;
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
97
|
* Error thrown when the tool protection service fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection.d.ts","sourceRoot":"","sources":["../../src/types/tool-protection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"tool-protection.d.ts","sourceRoot":"","sources":["../../src/types/tool-protection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAG3C,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,eAAe,EAAE,iBAAiB,CAAC;CACpC;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;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAKvC,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM,EAAE;IACxB,UAAU,CAAC,EAAE,MAAM;IANrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,mBAAmB,CAAC;gBAGpC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,UAAU,CAAC,EAAE,MAAM,YAAA,EAC1B,eAAe,CAAC,EAAE,mBAAmB,EACrC,WAAW,CAAC,EAAE,MAAM;CAOvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAG1C,KAAK,CAAC,EAAE,KAAK;gBADpB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,KAAK,YAAA;CAKvB"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Tool Protection Types
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Implementation-specific type definitions for tool protection services.
|
|
6
|
+
* Core spec types are imported from @kya-os/contracts/tool-protection.
|
|
7
7
|
*
|
|
8
8
|
* @package @kya-os/mcp-i-core
|
|
9
9
|
* @version 1.0.0
|
|
@@ -12,17 +12,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.ToolProtectionServiceError = exports.DelegationRequiredError = void 0;
|
|
13
13
|
/**
|
|
14
14
|
* Error thrown when a tool requires delegation but none is provided
|
|
15
|
+
*
|
|
16
|
+
* Note: Resume token generation is handled by MCPIRuntimeBase.generateResumeToken().
|
|
17
|
+
* The runtime should generate the token and pass it to this constructor.
|
|
15
18
|
*/
|
|
16
19
|
class DelegationRequiredError extends Error {
|
|
17
20
|
toolName;
|
|
18
21
|
requiredScopes;
|
|
19
22
|
consentUrl;
|
|
20
|
-
|
|
23
|
+
resumeToken;
|
|
24
|
+
interceptedCall;
|
|
25
|
+
constructor(toolName, requiredScopes, consentUrl, interceptedCall, resumeToken) {
|
|
21
26
|
super(`Delegation required for tool "${toolName}"`);
|
|
22
27
|
this.toolName = toolName;
|
|
23
28
|
this.requiredScopes = requiredScopes;
|
|
24
29
|
this.consentUrl = consentUrl;
|
|
25
|
-
this.name =
|
|
30
|
+
this.name = "DelegationRequiredError";
|
|
31
|
+
this.interceptedCall = interceptedCall;
|
|
32
|
+
this.resumeToken = resumeToken;
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
exports.DelegationRequiredError = DelegationRequiredError;
|
|
@@ -34,7 +41,7 @@ class ToolProtectionServiceError extends Error {
|
|
|
34
41
|
constructor(message, cause) {
|
|
35
42
|
super(message);
|
|
36
43
|
this.cause = cause;
|
|
37
|
-
this.name =
|
|
44
|
+
this.name = "ToolProtectionServiceError";
|
|
38
45
|
}
|
|
39
46
|
}
|
|
40
47
|
exports.ToolProtectionServiceError = ToolProtectionServiceError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection.js","sourceRoot":"","sources":["../../src/types/tool-protection.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"tool-protection.js","sourceRoot":"","sources":["../../src/types/tool-protection.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA+EH;;;;;GAKG;AACH,MAAa,uBAAwB,SAAQ,KAAK;IAKvC;IACA;IACA;IANF,WAAW,CAAU;IACrB,eAAe,CAAuB;IAE7C,YACS,QAAgB,EAChB,cAAwB,EACxB,UAAmB,EAC1B,eAAqC,EACrC,WAAoB;QAEpB,KAAK,CAAC,iCAAiC,QAAQ,GAAG,CAAC,CAAC;QAN7C,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAU;QACxB,eAAU,GAAV,UAAU,CAAS;QAK1B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAhBD,0DAgBC;AAaD;;GAEG;AACH,MAAa,0BAA2B,SAAQ,KAAK;IAG1C;IAFT,YACE,OAAe,EACR,KAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,UAAK,GAAL,KAAK,CAAQ;QAGpB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AARD,gEAQC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credential and Delegation verification interfaces
|
|
3
|
+
*/
|
|
4
|
+
import { ProofEngine } from "../proof/proof-engine";
|
|
5
|
+
import { FetchProvider, ClockProvider } from "../types/providers";
|
|
6
|
+
/**
|
|
7
|
+
* Credential status
|
|
8
|
+
*/
|
|
9
|
+
export interface CredentialStatus {
|
|
10
|
+
revoked: boolean;
|
|
11
|
+
suspended?: boolean;
|
|
12
|
+
statusListIndex?: number;
|
|
13
|
+
statusListCredential?: string;
|
|
14
|
+
checkedAt: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Delegation chain entry
|
|
18
|
+
*/
|
|
19
|
+
export interface DelegationEntry {
|
|
20
|
+
id: string;
|
|
21
|
+
delegator: string;
|
|
22
|
+
delegate: string;
|
|
23
|
+
scope: string[];
|
|
24
|
+
constraints?: any;
|
|
25
|
+
credentialId?: string;
|
|
26
|
+
parentId?: string;
|
|
27
|
+
depth: number;
|
|
28
|
+
createdAt: number;
|
|
29
|
+
expiresAt?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Verification options
|
|
33
|
+
*/
|
|
34
|
+
export interface VerificationOptions {
|
|
35
|
+
verifyCredential?: boolean;
|
|
36
|
+
checkRevocation?: boolean;
|
|
37
|
+
maxChainDepth?: number;
|
|
38
|
+
allowExpired?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Verification result
|
|
42
|
+
*/
|
|
43
|
+
export interface VerificationResult {
|
|
44
|
+
valid: boolean;
|
|
45
|
+
errors?: string[];
|
|
46
|
+
warnings?: string[];
|
|
47
|
+
credentialStatus?: CredentialStatus;
|
|
48
|
+
delegationChain?: DelegationEntry[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Credential verifier interface
|
|
52
|
+
*/
|
|
53
|
+
export declare abstract class CredentialVerifier {
|
|
54
|
+
protected proofEngine: ProofEngine;
|
|
55
|
+
protected fetchProvider: FetchProvider;
|
|
56
|
+
protected clockProvider: ClockProvider;
|
|
57
|
+
constructor(proofEngine: ProofEngine, fetchProvider: FetchProvider, clockProvider: ClockProvider);
|
|
58
|
+
/**
|
|
59
|
+
* Verify a verifiable credential
|
|
60
|
+
*/
|
|
61
|
+
abstract verifyCredential(credential: any, options?: VerificationOptions): Promise<VerificationResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Check credential status (revocation, suspension)
|
|
64
|
+
*/
|
|
65
|
+
abstract checkCredentialStatus(credentialId: string): Promise<CredentialStatus>;
|
|
66
|
+
/**
|
|
67
|
+
* Stage-1 verification (status/expiry - no network)
|
|
68
|
+
*/
|
|
69
|
+
abstract verifyOffline(credential: any): Promise<VerificationResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Stage-2 verification (signature + credential - may use network)
|
|
72
|
+
*/
|
|
73
|
+
abstract verifyOnline(credential: any, options?: VerificationOptions): Promise<VerificationResult>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Delegation registry interface
|
|
77
|
+
*/
|
|
78
|
+
export declare abstract class DelegationRegistry {
|
|
79
|
+
protected fetchProvider: FetchProvider;
|
|
80
|
+
protected clockProvider: ClockProvider;
|
|
81
|
+
constructor(fetchProvider: FetchProvider, clockProvider: ClockProvider);
|
|
82
|
+
/**
|
|
83
|
+
* Verify delegation with optional credential verification
|
|
84
|
+
*/
|
|
85
|
+
abstract verifyDelegation(delegationId: string, options?: VerificationOptions): Promise<VerificationResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Get delegation chain
|
|
88
|
+
*/
|
|
89
|
+
abstract getDelegationChain(delegationId: string): Promise<DelegationEntry[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Check if any link in chain is revoked
|
|
92
|
+
*/
|
|
93
|
+
abstract checkChainRevocation(chain: DelegationEntry[]): Promise<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Validate chain depth
|
|
96
|
+
*/
|
|
97
|
+
abstract validateChainDepth(chain: DelegationEntry[], maxDepth: number): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Register new delegation
|
|
100
|
+
*/
|
|
101
|
+
abstract registerDelegation(delegation: DelegationEntry): Promise<string>;
|
|
102
|
+
/**
|
|
103
|
+
* Revoke delegation (and all descendants)
|
|
104
|
+
*/
|
|
105
|
+
abstract revokeDelegation(delegationId: string): Promise<void>;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Progressive verification helper
|
|
109
|
+
*/
|
|
110
|
+
export declare class ProgressiveVerifier {
|
|
111
|
+
private credentialVerifier;
|
|
112
|
+
private delegationRegistry;
|
|
113
|
+
constructor(credentialVerifier: CredentialVerifier, delegationRegistry: DelegationRegistry);
|
|
114
|
+
/**
|
|
115
|
+
* Perform progressive verification
|
|
116
|
+
* Stage-1: Offline checks (expiry, basic validation)
|
|
117
|
+
* Stage-2: Online checks (signature, credential, revocation)
|
|
118
|
+
*/
|
|
119
|
+
verifyProgressive(data: any, options?: VerificationOptions): Promise<VerificationResult>;
|
|
120
|
+
/**
|
|
121
|
+
* Get edge verification data for offline verification
|
|
122
|
+
*/
|
|
123
|
+
getEdgeVerificationData(id: string): Promise<any>;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/verification/interfaces.ts"],"names":[],"mappings":"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"}
|