@kya-os/mcp-i-core 1.1.10 → 1.1.12
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 +28 -31
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +214 -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
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base MCP-I Runtime V2 - Refactored with better separation of concerns
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MCPIRuntimeBaseV2 = void 0;
|
|
7
|
+
const interfaces_1 = require("../verification/interfaces");
|
|
8
|
+
const resolver_1 = require("../did/resolver");
|
|
9
|
+
/**
|
|
10
|
+
* Refactored MCP-I Runtime Base
|
|
11
|
+
* Accepts providers instead of implementing crypto directly
|
|
12
|
+
*/
|
|
13
|
+
class MCPIRuntimeBaseV2 {
|
|
14
|
+
// Core providers
|
|
15
|
+
crypto;
|
|
16
|
+
identity;
|
|
17
|
+
storage;
|
|
18
|
+
nonceCache;
|
|
19
|
+
clock;
|
|
20
|
+
fetch;
|
|
21
|
+
// Advanced components
|
|
22
|
+
proofEngine;
|
|
23
|
+
didResolver;
|
|
24
|
+
credentialVerifier;
|
|
25
|
+
delegationRegistry;
|
|
26
|
+
progressiveVerifier;
|
|
27
|
+
// Configuration
|
|
28
|
+
config;
|
|
29
|
+
// Runtime state
|
|
30
|
+
cachedIdentity;
|
|
31
|
+
sessions = new Map();
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.config = config;
|
|
34
|
+
// Set core providers
|
|
35
|
+
this.crypto = config.cryptoProvider;
|
|
36
|
+
this.identity = config.identityProvider;
|
|
37
|
+
this.storage = config.storageProvider;
|
|
38
|
+
this.nonceCache = config.nonceCacheProvider;
|
|
39
|
+
this.clock = config.clockProvider;
|
|
40
|
+
this.fetch = config.fetchProvider;
|
|
41
|
+
// Initialize advanced components
|
|
42
|
+
this.proofEngine = config.proofEngine || new (require('../proof/proof-engine').DefaultProofEngine)(this.crypto);
|
|
43
|
+
this.didResolver = config.didResolver || new resolver_1.UniversalDIDResolver(this.fetch);
|
|
44
|
+
// Set optional verification components
|
|
45
|
+
this.credentialVerifier = config.credentialVerifier;
|
|
46
|
+
this.delegationRegistry = config.delegationRegistry;
|
|
47
|
+
// Create progressive verifier if both components available
|
|
48
|
+
if (this.credentialVerifier && this.delegationRegistry) {
|
|
49
|
+
this.progressiveVerifier = new interfaces_1.ProgressiveVerifier(this.credentialVerifier, this.delegationRegistry);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Initialize runtime (load or generate identity)
|
|
54
|
+
*/
|
|
55
|
+
async initialize() {
|
|
56
|
+
// Try to load existing identity
|
|
57
|
+
this.cachedIdentity = await this.identity.loadIdentity() || undefined;
|
|
58
|
+
// Generate new identity if none exists
|
|
59
|
+
if (!this.cachedIdentity) {
|
|
60
|
+
await this.generateIdentity();
|
|
61
|
+
}
|
|
62
|
+
// Audit initialization
|
|
63
|
+
if (this.config.audit?.enabled) {
|
|
64
|
+
this.auditLog('runtime_initialized', {
|
|
65
|
+
did: this.cachedIdentity?.did,
|
|
66
|
+
timestamp: this.clock.now()
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get current agent identity
|
|
72
|
+
*/
|
|
73
|
+
async getIdentity() {
|
|
74
|
+
if (!this.cachedIdentity) {
|
|
75
|
+
await this.initialize();
|
|
76
|
+
}
|
|
77
|
+
if (!this.cachedIdentity) {
|
|
78
|
+
throw new Error("Identity not initialized");
|
|
79
|
+
}
|
|
80
|
+
return this.cachedIdentity;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Generate new identity using crypto provider
|
|
84
|
+
*/
|
|
85
|
+
async generateIdentity() {
|
|
86
|
+
const { privateKey, publicKey } = await this.crypto.generateKeyPair();
|
|
87
|
+
// Create DID from public key
|
|
88
|
+
const did = await this.createDID(publicKey);
|
|
89
|
+
const keyId = `${did}#key-1`;
|
|
90
|
+
const identity = {
|
|
91
|
+
did,
|
|
92
|
+
keyId,
|
|
93
|
+
privateKey,
|
|
94
|
+
publicKey,
|
|
95
|
+
createdAt: new Date(this.clock.now()).toISOString()
|
|
96
|
+
};
|
|
97
|
+
await this.identity.storeIdentity(identity);
|
|
98
|
+
this.cachedIdentity = identity;
|
|
99
|
+
// Audit identity generation
|
|
100
|
+
this.auditLog('identity_generated', { did, keyId });
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create DID from public key
|
|
104
|
+
*/
|
|
105
|
+
async createDID(publicKey) {
|
|
106
|
+
// Default: did:key format
|
|
107
|
+
const keyBytes = Buffer.from(publicKey, 'base64');
|
|
108
|
+
const multicodec = Buffer.concat([
|
|
109
|
+
Buffer.from([0xed, 0x01]), // Ed25519 public key multicodec
|
|
110
|
+
keyBytes
|
|
111
|
+
]);
|
|
112
|
+
const multibase = 'z' + multicodec.toString('base64url');
|
|
113
|
+
return `did:key:${multibase}`;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Handle handshake request with improved validation
|
|
117
|
+
*/
|
|
118
|
+
async handleHandshake(request) {
|
|
119
|
+
const identity = await this.getIdentity();
|
|
120
|
+
// Validate timestamp using clock provider
|
|
121
|
+
if (!this.clock.isWithinSkew(request.timestamp, this.config.session?.timestampSkewSeconds || 120)) {
|
|
122
|
+
throw new Error("Timestamp outside acceptable window");
|
|
123
|
+
}
|
|
124
|
+
// Check nonce with prefix
|
|
125
|
+
const nonceKey = `${this.nonceCache.getNoncePrefix()}${request.nonce}`;
|
|
126
|
+
if (await this.nonceCache.has(nonceKey)) {
|
|
127
|
+
throw new Error("Nonce already used");
|
|
128
|
+
}
|
|
129
|
+
// Add nonce to cache with TTL
|
|
130
|
+
const ttl = this.nonceCache.getDefaultTTL();
|
|
131
|
+
await this.nonceCache.add(nonceKey, ttl);
|
|
132
|
+
// Create session
|
|
133
|
+
const sessionId = await this.generateSessionId();
|
|
134
|
+
const now = this.clock.now();
|
|
135
|
+
const session = {
|
|
136
|
+
sessionId,
|
|
137
|
+
agentDid: identity.did,
|
|
138
|
+
keyId: identity.keyId,
|
|
139
|
+
establishedAt: now,
|
|
140
|
+
lastActivityAt: now,
|
|
141
|
+
nonce: request.nonce,
|
|
142
|
+
clientInfo: request.clientInfo
|
|
143
|
+
};
|
|
144
|
+
this.sessions.set(sessionId, session);
|
|
145
|
+
// Audit handshake
|
|
146
|
+
this.auditLog('handshake_completed', {
|
|
147
|
+
sessionId,
|
|
148
|
+
clientInfo: request.clientInfo
|
|
149
|
+
});
|
|
150
|
+
return {
|
|
151
|
+
sessionId,
|
|
152
|
+
agentDid: identity.did,
|
|
153
|
+
keyId: identity.keyId,
|
|
154
|
+
timestamp: now,
|
|
155
|
+
capabilities: await this.getCapabilities()
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Create proof using ProofEngine
|
|
160
|
+
*/
|
|
161
|
+
async createProof(response, session, options) {
|
|
162
|
+
const identity = await this.getIdentity();
|
|
163
|
+
// Use configured proof format
|
|
164
|
+
const proofOptions = {
|
|
165
|
+
format: options?.format || this.config.proof?.defaultFormat || {
|
|
166
|
+
type: 'DetachedJWS',
|
|
167
|
+
algorithm: 'Ed25519'
|
|
168
|
+
},
|
|
169
|
+
canonicalize: options?.canonicalize ?? this.config.proof?.canonicalize ?? true,
|
|
170
|
+
includeMeta: options?.includeMeta ?? true
|
|
171
|
+
};
|
|
172
|
+
// Add session metadata
|
|
173
|
+
const dataWithMeta = {
|
|
174
|
+
...response,
|
|
175
|
+
_meta: {
|
|
176
|
+
agentDid: identity.did,
|
|
177
|
+
keyId: identity.keyId,
|
|
178
|
+
sessionId: session.sessionId,
|
|
179
|
+
timestamp: this.clock.now(),
|
|
180
|
+
nonce: await this.generateNonce()
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
// Create proof using engine
|
|
184
|
+
const proof = await this.proofEngine.createProof(dataWithMeta, identity.privateKey, proofOptions);
|
|
185
|
+
// Audit proof creation
|
|
186
|
+
this.auditLog('proof_created', {
|
|
187
|
+
sessionId: session.sessionId,
|
|
188
|
+
format: proofOptions.format.type
|
|
189
|
+
});
|
|
190
|
+
return proof;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Verify proof with optional credential/delegation verification
|
|
194
|
+
*/
|
|
195
|
+
async verifyProof(data, proof, options) {
|
|
196
|
+
// Extract public key if not provided
|
|
197
|
+
let publicKey = options?.publicKey;
|
|
198
|
+
if (!publicKey && data._meta?.agentDid) {
|
|
199
|
+
// Resolve DID to get public key
|
|
200
|
+
publicKey = await this.didResolver.getPublicKey(data._meta.agentDid, data._meta.keyId);
|
|
201
|
+
}
|
|
202
|
+
if (!publicKey) {
|
|
203
|
+
throw new Error('No public key available for verification');
|
|
204
|
+
}
|
|
205
|
+
// Verify proof using engine
|
|
206
|
+
const proofResult = await this.proofEngine.verifyProof(data, proof, publicKey, {
|
|
207
|
+
format: { type: 'DetachedJWS', algorithm: 'Ed25519' },
|
|
208
|
+
canonicalize: true
|
|
209
|
+
});
|
|
210
|
+
if (!proofResult.valid) {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
// Progressive verification if enabled
|
|
214
|
+
if (this.progressiveVerifier && (options?.verifyCredential || options?.checkDelegation)) {
|
|
215
|
+
const verificationResult = await this.progressiveVerifier.verifyProgressive(data, {
|
|
216
|
+
verifyCredential: options.verifyCredential,
|
|
217
|
+
checkRevocation: true,
|
|
218
|
+
maxChainDepth: this.config.security?.maxDelegationDepth || 5
|
|
219
|
+
});
|
|
220
|
+
if (!verificationResult.valid) {
|
|
221
|
+
this.auditLog('verification_failed', {
|
|
222
|
+
errors: verificationResult.errors,
|
|
223
|
+
warnings: verificationResult.warnings
|
|
224
|
+
});
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Audit successful verification
|
|
229
|
+
this.auditLog('proof_verified', {
|
|
230
|
+
did: data._meta?.agentDid
|
|
231
|
+
});
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Process tool call with automatic proof generation
|
|
236
|
+
*/
|
|
237
|
+
async processToolCall(toolName, args, handler, session) {
|
|
238
|
+
// Check session validity
|
|
239
|
+
const sessionAge = this.clock.now() - session.establishedAt;
|
|
240
|
+
const maxAge = (this.config.session?.absoluteSessionLifetime || 86400) * 1000;
|
|
241
|
+
if (sessionAge > maxAge) {
|
|
242
|
+
throw new Error('Session expired');
|
|
243
|
+
}
|
|
244
|
+
// Update session activity
|
|
245
|
+
session.lastActivityAt = this.clock.now();
|
|
246
|
+
// Execute tool
|
|
247
|
+
const startTime = this.clock.now();
|
|
248
|
+
const result = await handler(args);
|
|
249
|
+
const executionTime = this.clock.now() - startTime;
|
|
250
|
+
// Create proof for response
|
|
251
|
+
const proofedResult = await this.createProof(result, session);
|
|
252
|
+
// Audit tool execution
|
|
253
|
+
this.auditLog('tool_executed', {
|
|
254
|
+
tool: toolName,
|
|
255
|
+
sessionId: session.sessionId,
|
|
256
|
+
executionTime,
|
|
257
|
+
hasProof: true
|
|
258
|
+
});
|
|
259
|
+
return proofedResult;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Get edge verification data for offline verification
|
|
263
|
+
*/
|
|
264
|
+
async getEdgeVerificationData(id) {
|
|
265
|
+
if (!this.progressiveVerifier) {
|
|
266
|
+
throw new Error('Progressive verifier not configured');
|
|
267
|
+
}
|
|
268
|
+
return this.progressiveVerifier.getEdgeVerificationData(id);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Generate cryptographically secure session ID
|
|
272
|
+
*/
|
|
273
|
+
async generateSessionId() {
|
|
274
|
+
// To be implemented by platform-specific runtime
|
|
275
|
+
throw new Error('generateSessionId must be implemented by platform runtime');
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Generate cryptographically secure nonce
|
|
279
|
+
*/
|
|
280
|
+
async generateNonce() {
|
|
281
|
+
// To be implemented by platform-specific runtime
|
|
282
|
+
throw new Error('generateNonce must be implemented by platform runtime');
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Get runtime capabilities
|
|
286
|
+
*/
|
|
287
|
+
async getCapabilities() {
|
|
288
|
+
const capabilities = ['tools', 'identity', 'proof', 'session'];
|
|
289
|
+
if (this.credentialVerifier) {
|
|
290
|
+
capabilities.push('credential-verification');
|
|
291
|
+
}
|
|
292
|
+
if (this.delegationRegistry) {
|
|
293
|
+
capabilities.push('delegation');
|
|
294
|
+
}
|
|
295
|
+
if (this.progressiveVerifier) {
|
|
296
|
+
capabilities.push('progressive-verification');
|
|
297
|
+
}
|
|
298
|
+
// Add supported proof formats
|
|
299
|
+
const formats = this.proofEngine.getSupportedFormats();
|
|
300
|
+
formats.forEach(f => {
|
|
301
|
+
capabilities.push(`proof:${f.type.toLowerCase()}`);
|
|
302
|
+
});
|
|
303
|
+
return capabilities;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Audit logging
|
|
307
|
+
*/
|
|
308
|
+
auditLog(event, data) {
|
|
309
|
+
if (!this.config.audit?.enabled) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
const record = {
|
|
313
|
+
timestamp: this.clock.now(),
|
|
314
|
+
event,
|
|
315
|
+
data: this.config.audit.includePayloads ? data : undefined,
|
|
316
|
+
did: this.cachedIdentity?.did
|
|
317
|
+
};
|
|
318
|
+
const logLine = JSON.stringify(record);
|
|
319
|
+
if (this.config.audit.logFunction) {
|
|
320
|
+
this.config.audit.logFunction(logLine);
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
console.log('[AUDIT]', logLine);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
exports.MCPIRuntimeBaseV2 = MCPIRuntimeBaseV2;
|
|
328
|
+
//# sourceMappingURL=base-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-v2.js","sourceRoot":"","sources":["../../src/runtime/base-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/base.d.ts
CHANGED
|
@@ -5,33 +5,9 @@
|
|
|
5
5
|
* This enables the same runtime logic to work across Node.js, Cloudflare Workers,
|
|
6
6
|
* and other platforms.
|
|
7
7
|
*/
|
|
8
|
-
import { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, AgentIdentity } from
|
|
9
|
-
import type {
|
|
10
|
-
|
|
11
|
-
cryptoProvider: CryptoProvider;
|
|
12
|
-
clockProvider: ClockProvider;
|
|
13
|
-
fetchProvider: FetchProvider;
|
|
14
|
-
storageProvider: StorageProvider;
|
|
15
|
-
nonceCacheProvider: NonceCacheProvider;
|
|
16
|
-
identityProvider: IdentityProvider;
|
|
17
|
-
environment?: 'development' | 'production';
|
|
18
|
-
timestampSkewSeconds?: number;
|
|
19
|
-
sessionTtlMinutes?: number;
|
|
20
|
-
audit?: {
|
|
21
|
-
enabled: boolean;
|
|
22
|
-
logFunction?: (record: string) => void;
|
|
23
|
-
includePayloads?: boolean;
|
|
24
|
-
};
|
|
25
|
-
wellKnown?: {
|
|
26
|
-
enabled: boolean;
|
|
27
|
-
serviceName?: string;
|
|
28
|
-
serviceEndpoint?: string;
|
|
29
|
-
};
|
|
30
|
-
showVerifyLink?: boolean;
|
|
31
|
-
identityBadge?: boolean;
|
|
32
|
-
toolProtectionService?: ToolProtectionService;
|
|
33
|
-
authorizationUrl?: string;
|
|
34
|
-
}
|
|
8
|
+
import { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, AgentIdentity } from "../providers/base";
|
|
9
|
+
import type { MCPIdentity, WellKnownConfig, WellKnownResponse } from "@kya-os/contracts/well-known";
|
|
10
|
+
import type { ProviderRuntimeConfig } from "../config";
|
|
35
11
|
export declare class MCPIRuntimeBase {
|
|
36
12
|
protected crypto: CryptoProvider;
|
|
37
13
|
protected clock: ClockProvider;
|
|
@@ -39,11 +15,13 @@ export declare class MCPIRuntimeBase {
|
|
|
39
15
|
protected storage: StorageProvider;
|
|
40
16
|
protected nonceCache: NonceCacheProvider;
|
|
41
17
|
protected identity: IdentityProvider;
|
|
42
|
-
protected config:
|
|
18
|
+
protected config: ProviderRuntimeConfig;
|
|
43
19
|
private cachedIdentity?;
|
|
44
20
|
private sessions;
|
|
45
21
|
private lastProof?;
|
|
46
|
-
|
|
22
|
+
private userDidManager?;
|
|
23
|
+
private interceptedCalls;
|
|
24
|
+
constructor(config: ProviderRuntimeConfig);
|
|
47
25
|
/**
|
|
48
26
|
* Initialize the runtime
|
|
49
27
|
*/
|
|
@@ -66,11 +44,30 @@ export declare class MCPIRuntimeBase {
|
|
|
66
44
|
* @param session - Session context (expected fields: id, audience, nonce?, delegationToken?, consentProof?)
|
|
67
45
|
*/
|
|
68
46
|
processToolCall(toolName: string, args: any, handler: (args: any) => Promise<any>, session?: any): Promise<any>;
|
|
47
|
+
/**
|
|
48
|
+
* Resume a tool call after authorization
|
|
49
|
+
*
|
|
50
|
+
* @param resumeToken - Token from DelegationRequiredError
|
|
51
|
+
* @param handler - Tool execution handler
|
|
52
|
+
* @param delegationToken - Delegation token from authorization
|
|
53
|
+
* @returns Tool execution result
|
|
54
|
+
*/
|
|
55
|
+
resumeToolCall(resumeToken: string, handler: (args: any) => Promise<any>, delegationToken?: string): Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* Generate a resume token for intercepted tool call
|
|
58
|
+
*/
|
|
59
|
+
private generateResumeToken;
|
|
60
|
+
/**
|
|
61
|
+
* Clean up expired intercepted calls
|
|
62
|
+
*/
|
|
63
|
+
private cleanupExpiredInterceptedCalls;
|
|
69
64
|
/**
|
|
70
65
|
* Build consent URL for delegation flow
|
|
71
66
|
* Override this method in subclasses to customize the consent URL
|
|
67
|
+
*
|
|
68
|
+
* Note: Parameter names use snake_case for AgentShield API compatibility
|
|
72
69
|
*/
|
|
73
|
-
protected buildConsentUrl(toolName: string, scopes: string[], session?: any): string;
|
|
70
|
+
protected buildConsentUrl(toolName: string, scopes: string[], session?: any, resumeToken?: string, projectId?: string): string;
|
|
74
71
|
/**
|
|
75
72
|
* Issue a new nonce and register it in the cache
|
|
76
73
|
* Use this to get a nonce for the session context before calling processToolCall
|
|
@@ -95,7 +92,7 @@ export declare class MCPIRuntimeBase {
|
|
|
95
92
|
/**
|
|
96
93
|
* Create well-known handler for identity verification
|
|
97
94
|
*/
|
|
98
|
-
createWellKnownHandler(config?:
|
|
95
|
+
createWellKnownHandler(config?: WellKnownConfig): (path: string) => Promise<WellKnownResponse | MCPIdentity | null>;
|
|
99
96
|
/**
|
|
100
97
|
* Create debug endpoint (development only)
|
|
101
98
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}
|