@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.
Files changed (58) hide show
  1. package/dist/__tests__/utils/mock-providers.d.ts.map +1 -1
  2. package/dist/__tests__/utils/mock-providers.js +16 -4
  3. package/dist/__tests__/utils/mock-providers.js.map +1 -1
  4. package/dist/cache/tool-protection-cache.d.ts.map +1 -1
  5. package/dist/cache/tool-protection-cache.js +4 -0
  6. package/dist/cache/tool-protection-cache.js.map +1 -1
  7. package/dist/compliance/schema-verifier-v2.d.ts +110 -0
  8. package/dist/compliance/schema-verifier-v2.d.ts.map +1 -0
  9. package/dist/compliance/schema-verifier-v2.js +510 -0
  10. package/dist/compliance/schema-verifier-v2.js.map +1 -0
  11. package/dist/config/remote-config.d.ts +69 -0
  12. package/dist/config/remote-config.d.ts.map +1 -0
  13. package/dist/config/remote-config.js +107 -0
  14. package/dist/config/remote-config.js.map +1 -0
  15. package/dist/config.d.ts +182 -0
  16. package/dist/config.d.ts.map +1 -0
  17. package/dist/config.js +145 -0
  18. package/dist/config.js.map +1 -0
  19. package/dist/did/resolver.d.ts +92 -0
  20. package/dist/did/resolver.d.ts.map +1 -0
  21. package/dist/did/resolver.js +203 -0
  22. package/dist/did/resolver.js.map +1 -0
  23. package/dist/identity/user-did-manager.d.ts +106 -0
  24. package/dist/identity/user-did-manager.d.ts.map +1 -0
  25. package/dist/identity/user-did-manager.js +190 -0
  26. package/dist/identity/user-did-manager.js.map +1 -0
  27. package/dist/index.d.ts +2 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/proof/proof-engine.d.ts +89 -0
  32. package/dist/proof/proof-engine.d.ts.map +1 -0
  33. package/dist/proof/proof-engine.js +249 -0
  34. package/dist/proof/proof-engine.js.map +1 -0
  35. package/dist/runtime/base-v2.d.ts +117 -0
  36. package/dist/runtime/base-v2.d.ts.map +1 -0
  37. package/dist/runtime/base-v2.js +328 -0
  38. package/dist/runtime/base-v2.js.map +1 -0
  39. package/dist/runtime/base.d.ts +26 -31
  40. package/dist/runtime/base.d.ts.map +1 -1
  41. package/dist/runtime/base.js +206 -69
  42. package/dist/runtime/base.js.map +1 -1
  43. package/dist/services/tool-protection.service.d.ts.map +1 -1
  44. package/dist/services/tool-protection.service.js +60 -11
  45. package/dist/services/tool-protection.service.js.map +1 -1
  46. package/dist/types/providers.d.ts +142 -0
  47. package/dist/types/providers.d.ts.map +1 -0
  48. package/dist/types/providers.js +43 -0
  49. package/dist/types/providers.js.map +1 -0
  50. package/dist/types/tool-protection.d.ts +22 -22
  51. package/dist/types/tool-protection.d.ts.map +1 -1
  52. package/dist/types/tool-protection.js +12 -5
  53. package/dist/types/tool-protection.js.map +1 -1
  54. package/dist/verification/interfaces.d.ts +125 -0
  55. package/dist/verification/interfaces.d.ts.map +1 -0
  56. package/dist/verification/interfaces.js +101 -0
  57. package/dist/verification/interfaces.js.map +1 -0
  58. 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.requires_delegation ?? toolConfig.requiresDelegation ?? false;
77
- const requiredScopes = toolConfig.required_scopes ?? toolConfig.requiredScopes ?? toolConfig.scopes ?? [];
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
- const requiresDelegation = tool.requires_delegation ?? tool.requiresDelegation ?? false;
97
- const requiredScopes = tool.required_scopes ?? tool.scopes ?? [];
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
- const requiresDelegation = toolConfig.requires_delegation ?? toolConfig.requiresDelegation ?? false;
108
- const requiredScopes = toolConfig.required_scopes ?? toolConfig.scopes ?? [];
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
- return { toolProtections: {} };
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
- ? `${this.config.apiKey.substring(0, 8)}...${this.config.apiKey.substring(this.config.apiKey.length - 4)}`
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
- throw new Error(`Failed to fetch bouncer config: ${response.status} ${response.statusText} - ${errorText}`);
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":"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"}
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
- * Shared type definitions for tool protection and delegation enforcement.
5
- * These types are used across all MCP-I packages to ensure consistency.
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
- * 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
- }
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: Record<string, ToolProtection>;
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
- constructor(toolName: string, requiredScopes: string[], consentUrl?: string | undefined);
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;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"}
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
- * Shared type definitions for tool protection and delegation enforcement.
6
- * These types are used across all MCP-I packages to ensure consistency.
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
- constructor(toolName, requiredScopes, consentUrl) {
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 = 'DelegationRequiredError';
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 = 'ToolProtectionServiceError';
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;;;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"}
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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"}