@kya-os/mcp-i-core 1.1.13-canary.2 → 1.2.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/dist/__tests__/utils/mock-providers.d.ts +5 -3
- package/dist/__tests__/utils/mock-providers.d.ts.map +1 -1
- package/dist/__tests__/utils/mock-providers.js +23 -12
- package/dist/__tests__/utils/mock-providers.js.map +1 -1
- package/dist/index.d.ts +33 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/base.d.ts +18 -3
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/base.js +5 -1
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/memory.d.ts +2 -2
- package/dist/providers/memory.d.ts.map +1 -1
- package/dist/providers/memory.js +9 -5
- package/dist/providers/memory.js.map +1 -1
- package/dist/runtime/base.d.ts +40 -1
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +148 -20
- package/dist/runtime/base.js.map +1 -1
- package/dist/services/access-control.service.d.ts +121 -0
- package/dist/services/access-control.service.d.ts.map +1 -0
- package/dist/services/access-control.service.js +458 -0
- package/dist/services/access-control.service.js.map +1 -0
- package/dist/services/crypto.service.d.ts +69 -0
- package/dist/services/crypto.service.d.ts.map +1 -0
- package/dist/services/crypto.service.js +225 -0
- package/dist/services/crypto.service.js.map +1 -0
- package/dist/services/errors.d.ts +49 -0
- package/dist/services/errors.d.ts.map +1 -0
- package/dist/services/errors.js +66 -0
- package/dist/services/errors.js.map +1 -0
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +8 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/proof-verifier.d.ts +98 -0
- package/dist/services/proof-verifier.d.ts.map +1 -0
- package/dist/services/proof-verifier.js +319 -0
- package/dist/services/proof-verifier.js.map +1 -0
- package/dist/services/storage.service.d.ts +116 -0
- package/dist/services/storage.service.d.ts.map +1 -0
- package/dist/services/storage.service.js +405 -0
- package/dist/services/storage.service.js.map +1 -0
- package/dist/utils/base64.d.ts +31 -0
- package/dist/utils/base64.d.ts.map +1 -0
- package/dist/utils/base64.js +138 -0
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/storage-keys.d.ts +120 -0
- package/dist/utils/storage-keys.d.ts.map +1 -0
- package/dist/utils/storage-keys.js +217 -0
- package/dist/utils/storage-keys.js.map +1 -0
- package/package.json +5 -4
- package/dist/compliance/schema-verifier-v2.d.ts +0 -110
- package/dist/compliance/schema-verifier-v2.d.ts.map +0 -1
- package/dist/compliance/schema-verifier-v2.js +0 -510
- package/dist/compliance/schema-verifier-v2.js.map +0 -1
- package/dist/did/resolver.d.ts +0 -92
- package/dist/did/resolver.d.ts.map +0 -1
- package/dist/did/resolver.js +0 -203
- package/dist/did/resolver.js.map +0 -1
- package/dist/proof/proof-engine.d.ts +0 -89
- package/dist/proof/proof-engine.d.ts.map +0 -1
- package/dist/proof/proof-engine.js +0 -249
- package/dist/proof/proof-engine.js.map +0 -1
- package/dist/runtime/base-v2.d.ts +0 -117
- package/dist/runtime/base-v2.d.ts.map +0 -1
- package/dist/runtime/base-v2.js +0 -328
- package/dist/runtime/base-v2.js.map +0 -1
- package/dist/types/providers.d.ts +0 -142
- package/dist/types/providers.d.ts.map +0 -1
- package/dist/types/providers.js +0 -43
- package/dist/types/providers.js.map +0 -1
- package/dist/verification/interfaces.d.ts +0 -125
- package/dist/verification/interfaces.d.ts.map +0 -1
- package/dist/verification/interfaces.js +0 -101
- package/dist/verification/interfaces.js.map +0 -1
package/dist/runtime/base.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.MCPIRuntimeBase = void 0;
|
|
11
11
|
const tool_protection_js_1 = require("../types/tool-protection.js");
|
|
12
|
+
const crypto_service_js_1 = require("../services/crypto.service.js");
|
|
12
13
|
const user_did_manager_1 = require("../identity/user-did-manager");
|
|
13
14
|
class MCPIRuntimeBase {
|
|
14
15
|
crypto;
|
|
@@ -23,6 +24,8 @@ class MCPIRuntimeBase {
|
|
|
23
24
|
lastProof;
|
|
24
25
|
userDidManager;
|
|
25
26
|
interceptedCalls = new Map(); // Store intercepted tool calls by resume token
|
|
27
|
+
cryptoService;
|
|
28
|
+
proofVerifier; // Optional ProofVerifier (injected by subclasses)
|
|
26
29
|
constructor(config) {
|
|
27
30
|
this.config = config;
|
|
28
31
|
this.crypto = config.cryptoProvider;
|
|
@@ -31,6 +34,8 @@ class MCPIRuntimeBase {
|
|
|
31
34
|
this.storage = config.storageProvider;
|
|
32
35
|
this.nonceCache = config.nonceCacheProvider;
|
|
33
36
|
this.identity = config.identityProvider;
|
|
37
|
+
// Initialize CryptoService for JWS verification
|
|
38
|
+
this.cryptoService = new crypto_service_js_1.CryptoService(this.crypto);
|
|
34
39
|
}
|
|
35
40
|
/**
|
|
36
41
|
* Initialize the runtime
|
|
@@ -42,14 +47,16 @@ class MCPIRuntimeBase {
|
|
|
42
47
|
if (this.config.identity?.generateUserDids) {
|
|
43
48
|
this.userDidManager = new user_did_manager_1.UserDidManager({
|
|
44
49
|
crypto: this.crypto,
|
|
45
|
-
storage: this.config.identity?.userDidStorage
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
storage: this.config.identity?.userDidStorage
|
|
51
|
+
? {
|
|
52
|
+
get: async (key) => await this.storage.get(`userDid:${key}`),
|
|
53
|
+
set: async (key, value, ttl) => {
|
|
54
|
+
await this.storage.set(`userDid:${key}`, value);
|
|
55
|
+
},
|
|
56
|
+
delete: async (key) => await this.storage.delete(`userDid:${key}`),
|
|
57
|
+
}
|
|
58
|
+
: undefined,
|
|
59
|
+
useDidWeb: this.config.identity?.userDidStorage === "persistent",
|
|
53
60
|
});
|
|
54
61
|
}
|
|
55
62
|
// Initialize nonce cache if it has an initialize method
|
|
@@ -62,7 +69,9 @@ class MCPIRuntimeBase {
|
|
|
62
69
|
this.logAudit("runtime_initialized", {
|
|
63
70
|
did: this.cachedIdentity.did,
|
|
64
71
|
environment: this.config.environment || "development",
|
|
65
|
-
userDidGeneration: this.config.identity?.generateUserDids
|
|
72
|
+
userDidGeneration: this.config.identity?.generateUserDids
|
|
73
|
+
? "enabled"
|
|
74
|
+
: "disabled",
|
|
66
75
|
});
|
|
67
76
|
}
|
|
68
77
|
}
|
|
@@ -154,7 +163,7 @@ class MCPIRuntimeBase {
|
|
|
154
163
|
const interceptedCall = {
|
|
155
164
|
toolName,
|
|
156
165
|
args,
|
|
157
|
-
sessionId: session?.id ||
|
|
166
|
+
sessionId: session?.id || "unknown",
|
|
158
167
|
timestamp: this.clock.now(),
|
|
159
168
|
expiresAt: this.clock.calculateExpiry(1800), // 30 minutes
|
|
160
169
|
};
|
|
@@ -266,7 +275,7 @@ class MCPIRuntimeBase {
|
|
|
266
275
|
let hash = 0;
|
|
267
276
|
for (let i = 0; i < tokenData.length; i++) {
|
|
268
277
|
const char = tokenData.charCodeAt(i);
|
|
269
|
-
hash = (
|
|
278
|
+
hash = (hash << 5) - hash + char;
|
|
270
279
|
hash = hash & hash; // Convert to 32bit integer
|
|
271
280
|
}
|
|
272
281
|
return `resume_${Math.abs(hash).toString(36)}_${Date.now().toString(36)}`;
|
|
@@ -312,11 +321,11 @@ class MCPIRuntimeBase {
|
|
|
312
321
|
});
|
|
313
322
|
// Add project_id if provided (required for AgentShield consent endpoint)
|
|
314
323
|
if (projectId) {
|
|
315
|
-
params.set(
|
|
324
|
+
params.set("project_id", projectId);
|
|
316
325
|
}
|
|
317
326
|
// Add resume token if provided
|
|
318
327
|
if (resumeToken) {
|
|
319
|
-
params.set(
|
|
328
|
+
params.set("resume_token", resumeToken);
|
|
320
329
|
}
|
|
321
330
|
// Use AgentShield consent endpoint
|
|
322
331
|
return `https://kya.vouched.id/bouncer/consent?${params.toString()}`;
|
|
@@ -327,7 +336,11 @@ class MCPIRuntimeBase {
|
|
|
327
336
|
*/
|
|
328
337
|
async issueNonce(sessionId) {
|
|
329
338
|
const nonce = await this.generateNonce();
|
|
330
|
-
|
|
339
|
+
// Get session to extract agentDid for agent-scoped nonce caching
|
|
340
|
+
const session = this.sessions.get(sessionId);
|
|
341
|
+
const agentDid = session?.agentDid || (await this.getIdentity()).did;
|
|
342
|
+
await this.nonceCache.add(nonce, 300, // 5 minute expiry in seconds
|
|
343
|
+
agentDid // Agent-scoped nonce to prevent cross-agent replay attacks
|
|
331
344
|
);
|
|
332
345
|
return nonce;
|
|
333
346
|
}
|
|
@@ -344,8 +357,10 @@ class MCPIRuntimeBase {
|
|
|
344
357
|
}
|
|
345
358
|
else {
|
|
346
359
|
nonce = await this.generateNonce();
|
|
347
|
-
// Add nonce to cache to prevent replay
|
|
348
|
-
|
|
360
|
+
// Add nonce to cache to prevent replay (agent-scoped to prevent cross-agent replay attacks)
|
|
361
|
+
const agentDid = session?.agentDid || identity.did;
|
|
362
|
+
await this.nonceCache.add(nonce, 300, // 5 minute expiry in seconds
|
|
363
|
+
agentDid // Agent-scoped nonce to prevent cross-agent replay attacks
|
|
349
364
|
);
|
|
350
365
|
}
|
|
351
366
|
const proofData = {
|
|
@@ -369,11 +384,66 @@ class MCPIRuntimeBase {
|
|
|
369
384
|
}
|
|
370
385
|
/**
|
|
371
386
|
* Verify a proof
|
|
387
|
+
*
|
|
388
|
+
* Supports both old format (data, proof) and new DetachedProof format.
|
|
389
|
+
* When DetachedProof format is used, ProofVerifier is used if available.
|
|
390
|
+
*
|
|
391
|
+
* @param dataOrProof - Either raw data (old format) or DetachedProof (new format)
|
|
392
|
+
* @param proofOrSession - Either proof object (old format) or session context (new format)
|
|
393
|
+
* @returns true if proof is valid, false otherwise
|
|
372
394
|
*/
|
|
373
|
-
async verifyProof(
|
|
395
|
+
async verifyProof(dataOrProof, proofOrSession) {
|
|
396
|
+
// Check if first argument is DetachedProof format
|
|
397
|
+
if (dataOrProof &&
|
|
398
|
+
typeof dataOrProof === "object" &&
|
|
399
|
+
"jws" in dataOrProof &&
|
|
400
|
+
"meta" in dataOrProof) {
|
|
401
|
+
// New DetachedProof format
|
|
402
|
+
const detachedProof = dataOrProof;
|
|
403
|
+
const session = proofOrSession;
|
|
404
|
+
// Use ProofVerifier if available
|
|
405
|
+
if (this.proofVerifier) {
|
|
406
|
+
try {
|
|
407
|
+
// Resolve DID to get public key
|
|
408
|
+
const didDoc = await this.fetch.resolveDID(detachedProof.meta.did);
|
|
409
|
+
const publicKeyJwk = this.extractPublicKeyJwk(didDoc, detachedProof.meta.kid);
|
|
410
|
+
if (!publicKeyJwk) {
|
|
411
|
+
console.error("[MCPIRuntimeBase] Failed to extract public key JWK");
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
// Verify proof using ProofVerifier
|
|
415
|
+
const result = await this.proofVerifier.verifyProof(detachedProof, publicKeyJwk);
|
|
416
|
+
if (result.valid && session) {
|
|
417
|
+
// Store canonical payload in session for detached JWS consumers
|
|
418
|
+
const canonicalPayload = this.proofVerifier.buildCanonicalPayload(detachedProof.meta);
|
|
419
|
+
session.canonicalPayload = canonicalPayload;
|
|
420
|
+
}
|
|
421
|
+
return result.valid;
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
console.error("[MCPIRuntimeBase] Proof verification failed:", error);
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
// Fallback to old verification if ProofVerifier not available
|
|
430
|
+
console.warn("[MCPIRuntimeBase] ProofVerifier not available, using fallback verification");
|
|
431
|
+
return this.verifyProofLegacy(dataOrProof, proofOrSession);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
// Old format (data, proof)
|
|
436
|
+
return this.verifyProofLegacy(dataOrProof, proofOrSession);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Legacy proof verification (backward compatibility)
|
|
441
|
+
* @internal
|
|
442
|
+
*/
|
|
443
|
+
async verifyProofLegacy(data, proof) {
|
|
374
444
|
try {
|
|
375
|
-
// Check nonce hasn't been used
|
|
376
|
-
if (await this.nonceCache.has(proof.nonce)) {
|
|
445
|
+
// Check nonce hasn't been used (scoped to agent DID to prevent cross-agent replay attacks)
|
|
446
|
+
if (await this.nonceCache.has(proof.nonce, proof.did)) {
|
|
377
447
|
return false;
|
|
378
448
|
}
|
|
379
449
|
// Check timestamp is within skew
|
|
@@ -393,13 +463,45 @@ class MCPIRuntimeBase {
|
|
|
393
463
|
};
|
|
394
464
|
const dataBytes = new TextEncoder().encode(JSON.stringify(proofData));
|
|
395
465
|
const signatureBytes = this.base64ToBytes(proof.signature);
|
|
396
|
-
|
|
466
|
+
const isValid = await this.crypto.verify(dataBytes, signatureBytes, publicKey);
|
|
467
|
+
// If signature is valid, add nonce to cache to prevent replay (scoped to agent DID)
|
|
468
|
+
if (isValid) {
|
|
469
|
+
// Pass TTL in seconds, not absolute timestamp
|
|
470
|
+
const ttlSeconds = (this.config.session?.ttlMinutes || 30) * 60; // Convert minutes to seconds
|
|
471
|
+
await this.nonceCache.add(proof.nonce, ttlSeconds, proof.did);
|
|
472
|
+
}
|
|
473
|
+
return isValid;
|
|
397
474
|
}
|
|
398
475
|
catch (error) {
|
|
399
476
|
console.error("Proof verification failed:", error);
|
|
400
477
|
return false;
|
|
401
478
|
}
|
|
402
479
|
}
|
|
480
|
+
/**
|
|
481
|
+
* Verify a JWS proof (full compact JWS format: header.payload.signature)
|
|
482
|
+
*
|
|
483
|
+
* This method provides full cryptographic signature verification using CryptoService.
|
|
484
|
+
* Use this when you have a DetachedProof with JWS instead of raw signature.
|
|
485
|
+
*
|
|
486
|
+
* @param jws - Full compact JWS string (header.payload.signature)
|
|
487
|
+
* @param publicKeyJwk - Ed25519 public key in JWK format
|
|
488
|
+
* @param detachedPayload - Optional detached payload for detached JWS format
|
|
489
|
+
* @returns true if signature is valid, false otherwise
|
|
490
|
+
*/
|
|
491
|
+
async verifyProofJWS(jws, publicKeyJwk, detachedPayload) {
|
|
492
|
+
if (!this.cryptoService) {
|
|
493
|
+
console.error("[MCPIRuntimeBase] CryptoService not initialized");
|
|
494
|
+
return false;
|
|
495
|
+
}
|
|
496
|
+
try {
|
|
497
|
+
const options = detachedPayload !== undefined ? { detachedPayload } : undefined;
|
|
498
|
+
return await this.cryptoService.verifyJWS(jws, publicKeyJwk, options);
|
|
499
|
+
}
|
|
500
|
+
catch (error) {
|
|
501
|
+
console.error("[MCPIRuntimeBase] JWS verification failed:", error);
|
|
502
|
+
return false;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
403
505
|
/**
|
|
404
506
|
* Get current session
|
|
405
507
|
*/
|
|
@@ -585,6 +687,32 @@ class MCPIRuntimeBase {
|
|
|
585
687
|
}
|
|
586
688
|
throw new Error("Public key not found in DID document");
|
|
587
689
|
}
|
|
690
|
+
/**
|
|
691
|
+
* Extract public key JWK from DID document
|
|
692
|
+
*/
|
|
693
|
+
extractPublicKeyJwk(didDoc, kid) {
|
|
694
|
+
// Try to find Ed25519 public key matching kid if provided
|
|
695
|
+
const verificationMethod = didDoc.verificationMethod?.find((vm) => {
|
|
696
|
+
const matchesType = vm.type === "Ed25519VerificationKey2020" ||
|
|
697
|
+
vm.type === "JsonWebKey2020";
|
|
698
|
+
const matchesKid = !kid || vm.id === kid || vm.id.endsWith(`#${kid}`);
|
|
699
|
+
return matchesType && matchesKid;
|
|
700
|
+
}) || didDoc.verificationMethod?.[0]; // Fallback to first method
|
|
701
|
+
if (verificationMethod?.publicKeyJwk) {
|
|
702
|
+
const jwk = verificationMethod.publicKeyJwk;
|
|
703
|
+
// Ensure it's Ed25519 format
|
|
704
|
+
if (jwk.kty === "OKP" && jwk.crv === "Ed25519") {
|
|
705
|
+
return jwk;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
// Fallback: try to convert multibase to JWK (simplified)
|
|
709
|
+
if (verificationMethod?.publicKeyMultibase) {
|
|
710
|
+
// This is a simplified conversion - in production, use proper multibase decoding
|
|
711
|
+
console.warn("[MCPIRuntimeBase] Multibase to JWK conversion not fully implemented");
|
|
712
|
+
return null;
|
|
713
|
+
}
|
|
714
|
+
return null;
|
|
715
|
+
}
|
|
588
716
|
bytesToBase64(bytes) {
|
|
589
717
|
return Buffer.from(bytes).toString("base64");
|
|
590
718
|
}
|
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,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access Control API Service
|
|
3
|
+
*
|
|
4
|
+
* Brand-neutral service for interacting with access-control APIs
|
|
5
|
+
* (currently AgentShield/bouncer, but designed to be provider-agnostic).
|
|
6
|
+
*
|
|
7
|
+
* This service provides:
|
|
8
|
+
* - Delegation verification
|
|
9
|
+
* - Configuration fetching
|
|
10
|
+
* - Proof submission
|
|
11
|
+
*
|
|
12
|
+
* @package @kya-os/mcp-i-core
|
|
13
|
+
*/
|
|
14
|
+
import type { VerifyDelegationRequest, VerifyDelegationAPIResponse, ToolProtectionConfigAPIResponse, ProofSubmissionRequest, ProofSubmissionResponse } from "@kya-os/contracts/agentshield-api";
|
|
15
|
+
import type { FetchProvider } from "../providers/base";
|
|
16
|
+
export interface AccessControlApiServiceConfig {
|
|
17
|
+
/** Base URL for the access-control API (e.g., "https://kya.vouched.id") */
|
|
18
|
+
baseUrl: string;
|
|
19
|
+
/** API key for authentication */
|
|
20
|
+
apiKey: string;
|
|
21
|
+
/** Fetch provider for making HTTP requests */
|
|
22
|
+
fetchProvider: FetchProvider;
|
|
23
|
+
/** Optional logger callback for diagnostics */
|
|
24
|
+
logger?: (message: string, data?: unknown) => void;
|
|
25
|
+
/** Optional retry configuration */
|
|
26
|
+
retryConfig?: {
|
|
27
|
+
maxRetries?: number;
|
|
28
|
+
initialDelayMs?: number;
|
|
29
|
+
maxDelayMs?: number;
|
|
30
|
+
};
|
|
31
|
+
/** Optional sleep function for delays (platform-agnostic) */
|
|
32
|
+
sleepProvider?: (ms: number) => Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
export interface AccessControlApiServiceMetrics {
|
|
35
|
+
/** Number of successful requests */
|
|
36
|
+
successCount: number;
|
|
37
|
+
/** Number of failed requests */
|
|
38
|
+
errorCount: number;
|
|
39
|
+
/** Number of retries performed */
|
|
40
|
+
retryCount: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Access Control API Service
|
|
44
|
+
*
|
|
45
|
+
* Handles all interactions with the access-control API (AgentShield/bouncer).
|
|
46
|
+
* Designed to be brand-neutral and work with any access-control provider.
|
|
47
|
+
*/
|
|
48
|
+
export declare class AccessControlApiService {
|
|
49
|
+
private config;
|
|
50
|
+
private metrics;
|
|
51
|
+
constructor(config: AccessControlApiServiceConfig);
|
|
52
|
+
/**
|
|
53
|
+
* Fetch tool protection configuration for an agent
|
|
54
|
+
*
|
|
55
|
+
* GET /api/v1/bouncer/config?agent_did={agentDid}
|
|
56
|
+
*/
|
|
57
|
+
fetchConfig(options: {
|
|
58
|
+
agentDid: string;
|
|
59
|
+
}): Promise<ToolProtectionConfigAPIResponse>;
|
|
60
|
+
/**
|
|
61
|
+
* Verify a delegation token
|
|
62
|
+
*
|
|
63
|
+
* POST /api/v1/bouncer/delegations/verify
|
|
64
|
+
*/
|
|
65
|
+
verifyDelegation(request: VerifyDelegationRequest, context?: {
|
|
66
|
+
delegationToken?: string;
|
|
67
|
+
credentialJwt?: string;
|
|
68
|
+
}): Promise<VerifyDelegationAPIResponse>;
|
|
69
|
+
/**
|
|
70
|
+
* Submit proofs for audit and verification
|
|
71
|
+
*
|
|
72
|
+
* POST /api/v1/bouncer/proofs
|
|
73
|
+
*/
|
|
74
|
+
submitProofs(request: ProofSubmissionRequest): Promise<ProofSubmissionResponse>;
|
|
75
|
+
/**
|
|
76
|
+
* Get current metrics
|
|
77
|
+
*/
|
|
78
|
+
getMetrics(): AccessControlApiServiceMetrics;
|
|
79
|
+
/**
|
|
80
|
+
* Reset metrics
|
|
81
|
+
*/
|
|
82
|
+
resetMetrics(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Retry logic with exponential backoff
|
|
85
|
+
*
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
private retryWithBackoff;
|
|
89
|
+
/**
|
|
90
|
+
* Check if an error is retryable (5xx status codes)
|
|
91
|
+
*
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
private isRetryableError;
|
|
95
|
+
/**
|
|
96
|
+
* Sleep utility for retry delays
|
|
97
|
+
* Uses platform-agnostic sleep provider
|
|
98
|
+
*
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
private sleep;
|
|
102
|
+
/**
|
|
103
|
+
* Parse response text to JSON with error handling
|
|
104
|
+
*
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
private parseResponseJSON;
|
|
108
|
+
/**
|
|
109
|
+
* Map HTTP status codes to error codes
|
|
110
|
+
*
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
113
|
+
private mapStatusToErrorCode;
|
|
114
|
+
/**
|
|
115
|
+
* Handle error responses and throw appropriate AgentShieldAPIError
|
|
116
|
+
*
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
private handleErrorResponse;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=access-control.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAsHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAsKnC;;OAEG;IACH,UAAU,IAAI,8BAA8B;IAI5C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;YACW,gBAAgB;IAkC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CA+B5B"}
|