@kya-os/mcp-i-core 1.1.11 → 1.1.13-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/cache/tool-protection-cache.d.ts +16 -0
- package/dist/cache/tool-protection-cache.d.ts.map +1 -1
- package/dist/cache/tool-protection-cache.js +31 -0
- package/dist/cache/tool-protection-cache.js.map +1 -1
- package/dist/delegation/audience-validator.d.ts +33 -0
- package/dist/delegation/audience-validator.d.ts.map +1 -0
- package/dist/delegation/audience-validator.js +47 -0
- package/dist/delegation/audience-validator.js.map +1 -0
- package/dist/runtime/base.d.ts +18 -4
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +28 -7
- package/dist/runtime/base.js.map +1 -1
- package/dist/services/tool-protection.service.d.ts +15 -0
- package/dist/services/tool-protection.service.d.ts.map +1 -1
- package/dist/services/tool-protection.service.js +106 -13
- package/dist/services/tool-protection.service.js.map +1 -1
- package/dist/types/tool-protection.d.ts +18 -0
- package/dist/types/tool-protection.d.ts.map +1 -1
- package/dist/types/tool-protection.js.map +1 -1
- package/dist/utils/did-helpers.d.ts +90 -0
- package/dist/utils/did-helpers.d.ts.map +1 -0
- package/dist/utils/did-helpers.js +110 -0
- package/dist/utils/did-helpers.js.map +1 -0
- package/package.json +1 -1
|
@@ -56,6 +56,22 @@ export declare class InMemoryToolProtectionCache implements ToolProtectionCache
|
|
|
56
56
|
* Clean up expired entries (call periodically)
|
|
57
57
|
*/
|
|
58
58
|
cleanup(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Get stale cache entry (including expired entries)
|
|
61
|
+
* Used for fail-safe behavior when API is unavailable
|
|
62
|
+
* This method accesses the internal cache map directly to avoid
|
|
63
|
+
* deletion of expired entries that would occur with get()
|
|
64
|
+
* @param key Cache key
|
|
65
|
+
* @returns Cached config or null if not found
|
|
66
|
+
*/
|
|
67
|
+
getStale(key: string): ToolProtectionConfig | null;
|
|
68
|
+
/**
|
|
69
|
+
* Get expiration timestamp for a cache entry
|
|
70
|
+
* Used to check if stale cache is within maxStaleCacheAge
|
|
71
|
+
* @param key Cache key
|
|
72
|
+
* @returns Expiration timestamp in milliseconds, or null if not found
|
|
73
|
+
*/
|
|
74
|
+
getExpiresAt(key: string): number | null;
|
|
59
75
|
}
|
|
60
76
|
/**
|
|
61
77
|
* No-op cache implementation (disables caching)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection-cache.d.ts","sourceRoot":"","sources":["../../src/cache/tool-protection-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,CAAC,KAAK,CAGT;IAEE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAgBtD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IASV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACH,OAAO,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"tool-protection-cache.d.ts","sourceRoot":"","sources":["../../src/cache/tool-protection-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,CAAC,KAAK,CAGT;IAEE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAgBtD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IASV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACH,OAAO,IAAI,IAAI;IASf;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAUlD;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAQzC;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAC3D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAIvD,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAIV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -60,6 +60,37 @@ class InMemoryToolProtectionCache {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Get stale cache entry (including expired entries)
|
|
65
|
+
* Used for fail-safe behavior when API is unavailable
|
|
66
|
+
* This method accesses the internal cache map directly to avoid
|
|
67
|
+
* deletion of expired entries that would occur with get()
|
|
68
|
+
* @param key Cache key
|
|
69
|
+
* @returns Cached config or null if not found
|
|
70
|
+
*/
|
|
71
|
+
getStale(key) {
|
|
72
|
+
// Access internal cache map directly (not through async get() which deletes expired entries)
|
|
73
|
+
const entry = this.cache.get(key);
|
|
74
|
+
if (!entry) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
// Return value even if expired (getStale is meant for fail-safe behavior)
|
|
78
|
+
return entry.value;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get expiration timestamp for a cache entry
|
|
82
|
+
* Used to check if stale cache is within maxStaleCacheAge
|
|
83
|
+
* @param key Cache key
|
|
84
|
+
* @returns Expiration timestamp in milliseconds, or null if not found
|
|
85
|
+
*/
|
|
86
|
+
getExpiresAt(key) {
|
|
87
|
+
// Access internal cache map directly (not through async get() which deletes expired entries)
|
|
88
|
+
const entry = this.cache.get(key);
|
|
89
|
+
if (!entry) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return entry.expiresAt;
|
|
93
|
+
}
|
|
63
94
|
}
|
|
64
95
|
exports.InMemoryToolProtectionCache = InMemoryToolProtectionCache;
|
|
65
96
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection-cache.js","sourceRoot":"","sources":["../../src/cache/tool-protection-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAmCH;;;;;;;;;;;GAWG;AACH,MAAa,2BAA2B;IAC9B,KAAK,GAAG,IAAI,GAAG,EAGpB,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAA2B,EAC3B,GAAW;QAEX,mEAAmE;QACnE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"tool-protection-cache.js","sourceRoot":"","sources":["../../src/cache/tool-protection-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAmCH;;;;;;;;;;;GAWG;AACH,MAAa,2BAA2B;IAC9B,KAAK,GAAG,IAAI,GAAG,EAGpB,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAA2B,EAC3B,GAAW;QAEX,mEAAmE;QACnE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAW;QAClB,6FAA6F;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,0EAA0E;QAC1E,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,GAAW;QACtB,6FAA6F;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC;IACzB,CAAC;CACF;AAvFD,kEAuFC;AAED;;;;;;GAMG;AACH,MAAa,uBAAuB;IAClC,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,MAA4B,EAC5B,IAAY;QAEZ,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,KAAK;QACT,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,QAAQ;IACV,CAAC;CACF;AApBD,0DAoBC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation Audience Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates if a delegation's audience matches the server DID.
|
|
5
|
+
* Supports both single server DID and multiple server DIDs.
|
|
6
|
+
*
|
|
7
|
+
* @package @kya-os/mcp-i-core/delegation
|
|
8
|
+
*/
|
|
9
|
+
import type { DelegationRecord } from "@kya-os/contracts/delegation";
|
|
10
|
+
/**
|
|
11
|
+
* Verify if a delegation's audience matches the server DID
|
|
12
|
+
*
|
|
13
|
+
* @param delegation - Delegation record to check
|
|
14
|
+
* @param serverDid - Server DID to verify against
|
|
15
|
+
* @returns true if delegation is valid for this server
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Delegation without audience - valid on any server
|
|
20
|
+
* verifyDelegationAudience(delegation, "did:web:server1.com") // true
|
|
21
|
+
*
|
|
22
|
+
* // Delegation with matching audience
|
|
23
|
+
* verifyDelegationAudience(delegation, "did:web:server1.com") // true
|
|
24
|
+
*
|
|
25
|
+
* // Delegation with non-matching audience
|
|
26
|
+
* verifyDelegationAudience(delegation, "did:web:server2.com") // false
|
|
27
|
+
*
|
|
28
|
+
* // Delegation with array audience containing server
|
|
29
|
+
* verifyDelegationAudience(delegation, "did:web:server1.com") // true
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function verifyDelegationAudience(delegation: DelegationRecord, serverDid: string): boolean;
|
|
33
|
+
//# sourceMappingURL=audience-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audience-validator.d.ts","sourceRoot":"","sources":["../../src/delegation/audience-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAcT"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Delegation Audience Validation
|
|
4
|
+
*
|
|
5
|
+
* Validates if a delegation's audience matches the server DID.
|
|
6
|
+
* Supports both single server DID and multiple server DIDs.
|
|
7
|
+
*
|
|
8
|
+
* @package @kya-os/mcp-i-core/delegation
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.verifyDelegationAudience = verifyDelegationAudience;
|
|
12
|
+
/**
|
|
13
|
+
* Verify if a delegation's audience matches the server DID
|
|
14
|
+
*
|
|
15
|
+
* @param delegation - Delegation record to check
|
|
16
|
+
* @param serverDid - Server DID to verify against
|
|
17
|
+
* @returns true if delegation is valid for this server
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Delegation without audience - valid on any server
|
|
22
|
+
* verifyDelegationAudience(delegation, "did:web:server1.com") // true
|
|
23
|
+
*
|
|
24
|
+
* // Delegation with matching audience
|
|
25
|
+
* verifyDelegationAudience(delegation, "did:web:server1.com") // true
|
|
26
|
+
*
|
|
27
|
+
* // Delegation with non-matching audience
|
|
28
|
+
* verifyDelegationAudience(delegation, "did:web:server2.com") // false
|
|
29
|
+
*
|
|
30
|
+
* // Delegation with array audience containing server
|
|
31
|
+
* verifyDelegationAudience(delegation, "did:web:server1.com") // true
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
function verifyDelegationAudience(delegation, serverDid) {
|
|
35
|
+
// If no audience specified, delegation is valid for any server
|
|
36
|
+
if (!delegation.constraints.audience) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
// Check if server DID matches audience
|
|
40
|
+
const audience = delegation.constraints.audience;
|
|
41
|
+
if (typeof audience === "string") {
|
|
42
|
+
return audience === serverDid;
|
|
43
|
+
}
|
|
44
|
+
// Array of server DIDs
|
|
45
|
+
return audience.includes(serverDid);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=audience-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audience-validator.js","sourceRoot":"","sources":["../../src/delegation/audience-validator.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA0BH,4DAiBC;AAvCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,wBAAwB,CACtC,UAA4B,EAC5B,SAAiB;IAEjB,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;IACjD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,KAAK,SAAS,CAAC;IAChC,CAAC;IAED,uBAAuB;IACvB,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/runtime/base.d.ts
CHANGED
|
@@ -62,10 +62,24 @@ export declare class MCPIRuntimeBase {
|
|
|
62
62
|
*/
|
|
63
63
|
private cleanupExpiredInterceptedCalls;
|
|
64
64
|
/**
|
|
65
|
-
* Build consent URL for delegation flow
|
|
66
|
-
*
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
* Build consent URL for AgentShield delegation flow
|
|
66
|
+
*
|
|
67
|
+
* Note: Parameter names use snake_case for AgentShield API compatibility.
|
|
68
|
+
* This is documented in docs/API_PARITY_GUIDE.md under "Field Naming Conventions".
|
|
69
|
+
*
|
|
70
|
+
* AgentShield API requires snake_case in URL parameters:
|
|
71
|
+
* - session_id (not sessionId)
|
|
72
|
+
* - agent_did (not agentDid)
|
|
73
|
+
* - resume_token (not resumeToken)
|
|
74
|
+
*
|
|
75
|
+
* @param toolName - Tool that requires delegation
|
|
76
|
+
* @param scopes - Required scopes for the tool
|
|
77
|
+
* @param session - Current session context
|
|
78
|
+
* @param resumeToken - Token to resume after delegation
|
|
79
|
+
* @param projectId - Project ID for AgentShield API
|
|
80
|
+
* @returns Full consent URL with snake_case parameters
|
|
81
|
+
*/
|
|
82
|
+
protected buildConsentUrl(toolName: string, scopes: string[], session?: any, resumeToken?: string, projectId?: string): string;
|
|
69
83
|
/**
|
|
70
84
|
* Issue a new nonce and register it in the cache
|
|
71
85
|
* Use this to get a nonce for the session context before calling processToolCall
|
|
@@ -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;AAE3B,OAAO,KAAK,EAGV,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAIvD,qBAAa,eAAe;IAC1B,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;IACnC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACxC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAM;IACxB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,MAAM,EAAE,qBAAqB;IAUzC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAO3C;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/base.js
CHANGED
|
@@ -101,7 +101,8 @@ class MCPIRuntimeBase {
|
|
|
101
101
|
id: sessionId,
|
|
102
102
|
clientDid: request.clientDid || userDid, // Use provided clientDid or generated userDid
|
|
103
103
|
userDid: userDid, // Store generated user DID separately
|
|
104
|
-
agentDid:
|
|
104
|
+
agentDid: request.agentDid, // ✅ FIXED: Only agent DID, no fallback
|
|
105
|
+
serverDid: identity.did, // ✅ NEW: Server's DID (for clarity)
|
|
105
106
|
audience: request.audience,
|
|
106
107
|
createdAt: timestamp,
|
|
107
108
|
expiresAt: this.clock.calculateExpiry((this.config.session?.ttlMinutes || 30) * 60),
|
|
@@ -160,6 +161,7 @@ class MCPIRuntimeBase {
|
|
|
160
161
|
// Generate resume token
|
|
161
162
|
const resumeToken = this.generateResumeToken(interceptedCall);
|
|
162
163
|
// Build consent URL with resume token
|
|
164
|
+
// Note: projectId is not available in base class - subclasses should override buildConsentUrl
|
|
163
165
|
const consentUrl = this.buildConsentUrl(toolName, protection.requiredScopes, session, resumeToken);
|
|
164
166
|
// Create error with intercepted call context and pre-generated resume token
|
|
165
167
|
const error = new tool_protection_js_1.DelegationRequiredError(toolName, protection.requiredScopes, consentUrl, interceptedCall, resumeToken);
|
|
@@ -281,21 +283,40 @@ class MCPIRuntimeBase {
|
|
|
281
283
|
}
|
|
282
284
|
}
|
|
283
285
|
/**
|
|
284
|
-
* Build consent URL for delegation flow
|
|
285
|
-
*
|
|
286
|
+
* Build consent URL for AgentShield delegation flow
|
|
287
|
+
*
|
|
288
|
+
* Note: Parameter names use snake_case for AgentShield API compatibility.
|
|
289
|
+
* This is documented in docs/API_PARITY_GUIDE.md under "Field Naming Conventions".
|
|
290
|
+
*
|
|
291
|
+
* AgentShield API requires snake_case in URL parameters:
|
|
292
|
+
* - session_id (not sessionId)
|
|
293
|
+
* - agent_did (not agentDid)
|
|
294
|
+
* - resume_token (not resumeToken)
|
|
295
|
+
*
|
|
296
|
+
* @param toolName - Tool that requires delegation
|
|
297
|
+
* @param scopes - Required scopes for the tool
|
|
298
|
+
* @param session - Current session context
|
|
299
|
+
* @param resumeToken - Token to resume after delegation
|
|
300
|
+
* @param projectId - Project ID for AgentShield API
|
|
301
|
+
* @returns Full consent URL with snake_case parameters
|
|
286
302
|
*/
|
|
287
|
-
buildConsentUrl(toolName, scopes, session, resumeToken) {
|
|
303
|
+
buildConsentUrl(toolName, scopes, session, resumeToken, projectId) {
|
|
288
304
|
// Default implementation - override in subclasses
|
|
289
305
|
// This URL should point to AgentShield's consent page
|
|
306
|
+
// Parameter names use snake_case for AgentShield API compatibility
|
|
290
307
|
const params = new URLSearchParams({
|
|
291
308
|
tool: toolName,
|
|
292
309
|
scopes: scopes.join(","),
|
|
293
|
-
|
|
294
|
-
|
|
310
|
+
session_id: session?.id || "",
|
|
311
|
+
agent_did: session?.agentDid || "",
|
|
295
312
|
});
|
|
313
|
+
// Add project_id if provided (required for AgentShield consent endpoint)
|
|
314
|
+
if (projectId) {
|
|
315
|
+
params.set('project_id', projectId);
|
|
316
|
+
}
|
|
296
317
|
// Add resume token if provided
|
|
297
318
|
if (resumeToken) {
|
|
298
|
-
params.set('
|
|
319
|
+
params.set('resume_token', resumeToken);
|
|
299
320
|
}
|
|
300
321
|
// Use AgentShield consent endpoint
|
|
301
322
|
return `https://kya.vouched.id/bouncer/consent?${params.toString()}`;
|
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":";AAAA;;;;;;GAMG;;;AAWH,oEAAsE;AAWtE,mEAA8D;AAG9D,MAAa,eAAe;IAChB,MAAM,CAAiB;IACvB,KAAK,CAAgB;IACrB,KAAK,CAAgB;IACrB,OAAO,CAAkB;IACzB,UAAU,CAAqB;IAC/B,QAAQ,CAAmB;IAC3B,MAAM,CAAwB;IAChC,cAAc,CAAiB;IAC/B,QAAQ,GAAqB,IAAI,GAAG,EAAE,CAAC;IACvC,SAAS,CAAO;IAChB,cAAc,CAAkB;IAChC,gBAAgB,GAAqB,IAAI,GAAG,EAAE,CAAC,CAAC,+CAA+C;IAEvG,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExD,4DAA4D;QAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAc,CAAC;gBACvC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;oBAC9C,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;oBACpE,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,GAAY,EAAE,EAAE;wBACtD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;oBAClD,CAAC;oBACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC3E,CAAC,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,KAAK,YAAY;aACjE,CAAC,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IACE,YAAY,IAAI,IAAI,CAAC,UAAU;YAC/B,OAAQ,IAAI,CAAC,UAAkB,CAAC,UAAU,KAAK,UAAU,EACzD,CAAC;YACD,MAAO,IAAI,CAAC,UAAkB,CAAC,UAAU,EAAE,CAAC;QAC9C,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE;gBACnC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;gBAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa;gBACrD,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;aACnF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAY;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEjD,sDAAsD;QACtD,IAAI,OAA2B,CAAC;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC5D,2CAA2C;YAC7C,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,SAAS;YACb,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,EAAE,8CAA8C;YACvF,OAAO,EAAE,OAAO,EAAE,sCAAsC;YACxD,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,uCAAuC;YACnE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,oCAAoC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CACnC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,GAAG,EAAE,CAC7C;SACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtC,4BAA4B;QAC5B,MAAM,QAAQ,GAAG;YACf,SAAS;YACT,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACtB,SAAS;YACT,YAAY,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;YAC5C,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,4CAA4C;SAC1E,CAAC;QAEF,oBAAoB;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEhD,OAAO;YACL,GAAG,QAAQ;YACX,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,IAAS,EACT,OAAoC,EACpC,OAAa;QAEb,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACtC,yCAAyC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAE1C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;oBAC/C,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBAC3C,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,YAAY,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,mBAAmB,CACzD,QAAQ,EACR,QAAQ,CAAC,GAAG,CACb,CAAC;YAEJ,IAAI,UAAU,EAAE,CAAC;gBACf,2BAA2B;gBAC3B,MAAM,aAAa,GAAG,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,YAAY,CAAC;gBAExE,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,qEAAqE;oBACrE,qDAAqD;oBACrD,MAAM,eAAe,GAAwB;wBAC3C,QAAQ;wBACR,IAAI;wBACJ,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,SAAS;wBACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,aAAa;qBAC3D,CAAC;oBAEF,wBAAwB;oBACxB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;oBAE9D,sCAAsC;oBACtC,8FAA8F;oBAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CACrC,QAAQ,EACR,UAAU,CAAC,cAAc,EACzB,OAAO,EACP,WAAW,CACZ,CAAC;oBAEF,4EAA4E;oBAC5E,MAAM,KAAK,GAAG,IAAI,4CAAuB,CACvC,QAAQ,EACR,UAAU,CAAC,cAAc,EACzB,UAAU,EACV,eAAe,EACf,WAAW,CACZ,CAAC;oBAEF,wCAAwC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;oBAExD,kDAAkD;oBAClD,IAAI,CAAC,8BAA8B,EAAE,CAAC;oBAEtC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;wBAC/B,OAAO,CAAC,IAAI,CACV,6DAA6D,EAC7D;4BACE,IAAI,EAAE,QAAQ;4BACd,cAAc,EAAE,UAAU,CAAC,cAAc;4BACzC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;4BAC3C,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,UAAU;yBACX,CACF,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,0EAA0E;gBAC1E,gDAAgD;gBAChD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CACT,4DAA4D,EAC5D;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;qBAC5C,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uDAAuD;gBACvD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CACT,+DAA+D,EAC/D;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBAC3C,MAAM,EAAE,2CAA2C;qBACpD,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnC,eAAe;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtD,wCAAwC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,OAAO,EAAE,EAAE;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,WAAmB,EACnB,OAAoC,EACpC,eAAwB;QAExB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,kCAAkC;QAClC,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,eAAe;SAChB,CAAC;QAEF,uCAAuC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,IAAI,EACpB,OAAO,EACP,eAAe,CAChB,CAAC;QAEF,+EAA+E;QAC/E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAyB;QACnD,qDAAqD;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACnC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2BAA2B;QACjD,CAAC;QAED,OAAO,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,8BAA8B;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACO,eAAe,CACvB,QAAgB,EAChB,MAAgB,EAChB,OAAa,EACb,WAAoB,EACpB,SAAkB;QAElB,kDAAkD;QAClD,sDAAsD;QACtD,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE;YAC7B,SAAS,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;SACnC,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,+BAA+B;QAC/B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,mCAAmC;QACnC,OAAO,0CAA0C,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACvB,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,kBAAkB;SACnD,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAS,EAAE,OAAa;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAEnC,iEAAiE;QACjE,IAAI,KAAa,CAAC;QAClB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,uCAAuC;YACvC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACvB,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,kBAAkB;aACnD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG;YAChB,IAAI;YACJ,SAAS;YACT,KAAK;YACL,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,SAAS,EAAE,OAAO,EAAE,EAAE;YACtB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEjD,OAAO;YACL,SAAS;YACT,KAAK;YACL,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,SAAS;YACT,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,OAAO,EAAE,EAAE;YACtB,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAS,EAAE,KAAU;QACrC,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,iCAAiC;YACjC,IACE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CACtB,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,IAAI,GAAG,CACjD,EACD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,gCAAgC;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEhD,mBAAmB;YACnB,MAAM,SAAS,GAAG;gBAChB,IAAI;gBACJ,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAE3D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,2BAA2B;QAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,sBAAsB,CACpB,MAAwB;QAExB,OAAO,KAAK,EAAE,IAAY,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAE1C,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACrD,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACP,cAAc,EAAE,sBAAsB;wBACtC,eAAe,EACb,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,YAAY;4BACtC,CAAC,CAAC,qBAAqB;4BACvB,CAAC,CAAC,UAAU;qBACjB;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC3C,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAkB;oBACnC,EAAE,EAAE,QAAQ,CAAC,GAAG;oBAChB,YAAY,EAAE;wBACZ,OAAO,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC;qBAClD;iBACF,CAAC;gBAEF,IAAI,MAAM,EAAE,WAAW,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;oBACnD,aAAa,CAAC,QAAQ,GAAG;wBACvB,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;wBACxD,GAAG,CAAC,MAAM,EAAE,eAAe,IAAI;4BAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;yBACxC,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,eAAe,EACb,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,YAAY;4BACtC,CAAC,CAAC,qBAAqB;4BACvB,CAAC,CAAC,UAAU;qBACjB;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7C,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACzC,OAAO;oBACL,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,eAAe;oBACnD,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,qBAAqB;oBACjE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;iBAC5B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/C,OAAO;gBACL,QAAQ,EAAE;oBACR,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B;gBACD,OAAO;gBACP,MAAM,EAAE;oBACN,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB;oBAC/D,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU;iBACnD;gBACD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;aAC5B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO;YACL,GAAG,EAAE,CAAC,KAAa,EAAE,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,WAAW,CAAC,GAAG;gBACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,iBAAiB;IAET,KAAK,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,QAAQ,CAAC,KAAa,EAAE,IAAS;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QAExC,MAAM,MAAM,GAAG;YACb,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC1D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3B,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SACxD,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAuB;QAC/C,OAAO;YACL,UAAU,EAAE,CAAC,8BAA8B,CAAC;YAC5C,EAAE,EAAE,QAAQ,CAAC,GAAG;YAChB,kBAAkB,EAAE;gBAClB;oBACE,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,QAAQ;oBAC3B,IAAI,EAAE,4BAA4B;oBAClC,UAAU,EAAE,QAAQ,CAAC,GAAG;oBACxB,qEAAqE;oBACrE,0DAA0D;oBAC1D,eAAe,EAAE,QAAQ,CAAC,SAAS;iBACpC;aACF;YACD,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;YACzC,eAAe,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,MAAW;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,IAAI,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC/B,8BAA8B;YAC9B,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC,aAAa;QACjD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAEO,aAAa,CAAC,KAAiB;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,UAAU,CAAC,KAAiB;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF;AAvtBD,0CAutBC"}
|
|
@@ -18,6 +18,21 @@ export declare class ToolProtectionService {
|
|
|
18
18
|
private config;
|
|
19
19
|
private cache;
|
|
20
20
|
constructor(config: ToolProtectionServiceConfig, cache: ToolProtectionCache);
|
|
21
|
+
/**
|
|
22
|
+
* Get the project ID from the service configuration
|
|
23
|
+
* @returns Project ID or undefined if not configured
|
|
24
|
+
*/
|
|
25
|
+
getProjectId(): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Get stale cache entry if available and within maxStaleCacheAge
|
|
28
|
+
* Only works with InMemoryToolProtectionCache (has internal access to expiresAt)
|
|
29
|
+
*
|
|
30
|
+
* NOTE: This checks stale cache BEFORE calling cache.get() to avoid deletion of expired entries
|
|
31
|
+
*
|
|
32
|
+
* @param cacheKey Cache key to check
|
|
33
|
+
* @returns Stale cache entry or null if not available/too old
|
|
34
|
+
*/
|
|
35
|
+
private getStaleCache;
|
|
21
36
|
/**
|
|
22
37
|
* Get tool protection configuration for the agent
|
|
23
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection.service.d.ts","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAE5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-protection.service.d.ts","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAE5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAgD7E;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,KAAK,CAAsB;gBAGjC,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,mBAAmB;IAM5B;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC;;;;;;;;OAQG;YACW,aAAa;IA0C3B;;;;;;;;;;OAUG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkO9E;;;;;;OAMG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA8B7F;;;;;OAKG;YACW,YAAY;IA8F1B;;;;;;;OAOG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBlD"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.ToolProtectionService = void 0;
|
|
15
|
+
const tool_protection_cache_js_1 = require("../cache/tool-protection-cache.js");
|
|
15
16
|
/**
|
|
16
17
|
* Service for fetching and checking tool protection configurations
|
|
17
18
|
*/
|
|
@@ -22,6 +23,57 @@ class ToolProtectionService {
|
|
|
22
23
|
this.config = config;
|
|
23
24
|
this.cache = cache;
|
|
24
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Get the project ID from the service configuration
|
|
28
|
+
* @returns Project ID or undefined if not configured
|
|
29
|
+
*/
|
|
30
|
+
getProjectId() {
|
|
31
|
+
return this.config.projectId;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get stale cache entry if available and within maxStaleCacheAge
|
|
35
|
+
* Only works with InMemoryToolProtectionCache (has internal access to expiresAt)
|
|
36
|
+
*
|
|
37
|
+
* NOTE: This checks stale cache BEFORE calling cache.get() to avoid deletion of expired entries
|
|
38
|
+
*
|
|
39
|
+
* @param cacheKey Cache key to check
|
|
40
|
+
* @returns Stale cache entry or null if not available/too old
|
|
41
|
+
*/
|
|
42
|
+
async getStaleCache(cacheKey) {
|
|
43
|
+
// Only check stale cache if enabled
|
|
44
|
+
if (this.config.allowStaleCache === false) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
// Only works with InMemoryToolProtectionCache
|
|
48
|
+
if (!(this.cache instanceof tool_protection_cache_js_1.InMemoryToolProtectionCache)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
// Use public method to get stale cache entry
|
|
52
|
+
const staleConfig = this.cache.getStale(cacheKey);
|
|
53
|
+
if (!staleConfig) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
// Check if stale cache is within maxStaleCacheAge
|
|
57
|
+
const expiresAt = this.cache.getExpiresAt(cacheKey);
|
|
58
|
+
if (!expiresAt) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const now = Date.now();
|
|
62
|
+
const maxStaleAge = this.config.maxStaleCacheAge ?? 86400000; // Default 24 hours
|
|
63
|
+
// Check if expired but within maxStaleCacheAge
|
|
64
|
+
if (now > expiresAt && (now - expiresAt) <= maxStaleAge) {
|
|
65
|
+
if (this.config.debug) {
|
|
66
|
+
console.log('[ToolProtectionService] Using stale cache', {
|
|
67
|
+
cacheKey,
|
|
68
|
+
expiredAt: new Date(expiresAt).toISOString(),
|
|
69
|
+
staleAgeMs: now - expiresAt,
|
|
70
|
+
maxStaleAgeMs: maxStaleAge,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return staleConfig;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
25
77
|
/**
|
|
26
78
|
* Get tool protection configuration for the agent
|
|
27
79
|
*
|
|
@@ -60,7 +112,7 @@ class ToolProtectionService {
|
|
|
60
112
|
projectId: this.config.projectId || 'none',
|
|
61
113
|
});
|
|
62
114
|
}
|
|
63
|
-
//
|
|
115
|
+
// 3. Fetch from API
|
|
64
116
|
try {
|
|
65
117
|
const response = await this.fetchFromApi(agentDid);
|
|
66
118
|
// Transform API response format to internal format
|
|
@@ -174,7 +226,17 @@ class ToolProtectionService {
|
|
|
174
226
|
error: errorMessage,
|
|
175
227
|
});
|
|
176
228
|
}
|
|
177
|
-
// 4. Fallback to
|
|
229
|
+
// 4. Fallback to stale cache if available (before fallback config)
|
|
230
|
+
const staleCache = await this.getStaleCache(cacheKey);
|
|
231
|
+
if (staleCache) {
|
|
232
|
+
console.warn('[ToolProtectionService] API fetch failed, using stale cache', {
|
|
233
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
234
|
+
error: errorMessage,
|
|
235
|
+
cacheKey,
|
|
236
|
+
});
|
|
237
|
+
return staleCache;
|
|
238
|
+
}
|
|
239
|
+
// 5. Fallback to local config (only for network errors, not API errors)
|
|
178
240
|
if (this.config.fallbackConfig) {
|
|
179
241
|
// Always warn when using fallback (not just debug mode)
|
|
180
242
|
console.warn('[ToolProtectionService] API fetch failed, using fallback config', {
|
|
@@ -186,16 +248,41 @@ class ToolProtectionService {
|
|
|
186
248
|
await this.cache.set(cacheKey, this.config.fallbackConfig, ttl);
|
|
187
249
|
return this.config.fallbackConfig;
|
|
188
250
|
}
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
error
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
251
|
+
// 6. Fail-safe behavior: deny-all by default (secure)
|
|
252
|
+
const failSafeBehavior = this.config.failSafeBehavior ?? 'deny-all';
|
|
253
|
+
if (failSafeBehavior === 'deny-all') {
|
|
254
|
+
console.error('[ToolProtectionService] API fetch failed, no fallback, failing closed (deny-all)', {
|
|
255
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
256
|
+
error: errorMessage,
|
|
257
|
+
cacheKey,
|
|
258
|
+
});
|
|
259
|
+
// Create deny-all config (wildcard requires delegation for all tools)
|
|
260
|
+
const denyAllConfig = {
|
|
261
|
+
toolProtections: {
|
|
262
|
+
'*': {
|
|
263
|
+
requiresDelegation: true,
|
|
264
|
+
requiredScopes: [],
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
};
|
|
268
|
+
// Cache deny-all config to avoid repeated API calls
|
|
269
|
+
const ttl = this.config.cacheTtl ?? 300000; // Default 5 minutes
|
|
270
|
+
await this.cache.set(cacheKey, denyAllConfig, ttl);
|
|
271
|
+
return denyAllConfig;
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
// failSafeBehavior === 'allow-all' (insecure, not recommended)
|
|
275
|
+
console.warn('[ToolProtectionService] API fetch failed, no fallback, failing open (allow-all)', {
|
|
276
|
+
agentDid: agentDid.slice(0, 20) + '...',
|
|
277
|
+
error: errorMessage,
|
|
278
|
+
cacheKey,
|
|
279
|
+
});
|
|
280
|
+
// Cache empty config to avoid repeated API calls
|
|
281
|
+
const emptyConfig = { toolProtections: {} };
|
|
282
|
+
const ttl = this.config.cacheTtl ?? 300000; // Default 5 minutes
|
|
283
|
+
await this.cache.set(cacheKey, emptyConfig, ttl);
|
|
284
|
+
return emptyConfig;
|
|
285
|
+
}
|
|
199
286
|
}
|
|
200
287
|
}
|
|
201
288
|
/**
|
|
@@ -207,13 +294,19 @@ class ToolProtectionService {
|
|
|
207
294
|
*/
|
|
208
295
|
async checkToolProtection(toolName, agentDid) {
|
|
209
296
|
const config = await this.getToolProtectionConfig(agentDid);
|
|
210
|
-
|
|
297
|
+
// Check for specific tool protection first
|
|
298
|
+
let protection = config.toolProtections[toolName];
|
|
299
|
+
// If not found, check for wildcard protection (fail-safe deny-all)
|
|
300
|
+
if (!protection && config.toolProtections['*']) {
|
|
301
|
+
protection = config.toolProtections['*'];
|
|
302
|
+
}
|
|
211
303
|
// Always log the check result (critical for debugging)
|
|
212
304
|
if (this.config.debug || !protection || protection.requiresDelegation) {
|
|
213
305
|
console.log('[ToolProtectionService] Protection check', {
|
|
214
306
|
tool: toolName,
|
|
215
307
|
agentDid: agentDid.slice(0, 20) + '...',
|
|
216
308
|
found: !!protection,
|
|
309
|
+
isWildcard: protection === config.toolProtections['*'],
|
|
217
310
|
requiresDelegation: protection?.requiresDelegation ?? false,
|
|
218
311
|
availableTools: Object.keys(config.toolProtections),
|
|
219
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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"}
|
|
@@ -50,6 +50,24 @@ export interface ToolProtectionServiceConfig {
|
|
|
50
50
|
* @optional
|
|
51
51
|
*/
|
|
52
52
|
fallbackConfig?: ToolProtectionConfig;
|
|
53
|
+
/**
|
|
54
|
+
* Fail-safe behavior when API is unavailable and no fallback is provided
|
|
55
|
+
* - 'deny-all': Block all tools by default (secure, recommended for production)
|
|
56
|
+
* - 'allow-all': Allow all tools (insecure, not recommended for production)
|
|
57
|
+
* @default 'deny-all'
|
|
58
|
+
*/
|
|
59
|
+
failSafeBehavior?: 'deny-all' | 'allow-all';
|
|
60
|
+
/**
|
|
61
|
+
* Maximum age (in milliseconds) for stale cache to be used during outages
|
|
62
|
+
* Stale cache is used when API fails and no fallback is provided
|
|
63
|
+
* @default 86400000 (24 hours)
|
|
64
|
+
*/
|
|
65
|
+
maxStaleCacheAge?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Allow using stale cache during outages
|
|
68
|
+
* @default true
|
|
69
|
+
*/
|
|
70
|
+
allowStaleCache?: boolean;
|
|
53
71
|
/**
|
|
54
72
|
* Enable debug logging
|
|
55
73
|
* @default false
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IAE5C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;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"}
|
|
@@ -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;;;AAoGH;;;;;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,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DID Validation and Helper Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized utilities for DID validation, normalization, and handling.
|
|
5
|
+
* Promotes DRY principle and consistency across the codebase.
|
|
6
|
+
*
|
|
7
|
+
* @package @kya-os/mcp-i-core/utils
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check if a string is a valid DID format
|
|
11
|
+
*
|
|
12
|
+
* @param did - String to validate
|
|
13
|
+
* @returns true if string starts with "did:"
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* isValidDid("did:key:z6Mk...") // true
|
|
18
|
+
* isValidDid("not-a-did") // false
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function isValidDid(did: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get the DID method from a DID string
|
|
24
|
+
*
|
|
25
|
+
* @param did - DID string
|
|
26
|
+
* @returns DID method (e.g., "key", "web") or null if invalid
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* getDidMethod("did:key:z6Mk...") // "key"
|
|
31
|
+
* getDidMethod("did:web:example.com") // "web"
|
|
32
|
+
* getDidMethod("invalid") // null
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function getDidMethod(did: string): string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Normalize a DID string (trim whitespace)
|
|
38
|
+
*
|
|
39
|
+
* @param did - DID string to normalize
|
|
40
|
+
* @returns Normalized DID string
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* normalizeDid(" did:key:z6Mk... ") // "did:key:z6Mk..."
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function normalizeDid(did: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Compare two DIDs for equality (case-sensitive)
|
|
50
|
+
*
|
|
51
|
+
* @param did1 - First DID
|
|
52
|
+
* @param did2 - Second DID
|
|
53
|
+
* @returns true if DIDs are equal (after normalization)
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* compareDids("did:key:z6Mk...", "did:key:z6Mk...") // true
|
|
58
|
+
* compareDids("did:key:z6Mk...", "did:web:example.com") // false
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function compareDids(did1: string, did2: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Extract server DID from config (supports both old and new field names)
|
|
64
|
+
*
|
|
65
|
+
* Supports backward compatibility by reading both `serverDid` and deprecated `agentDid`.
|
|
66
|
+
* Prefers `serverDid` if both are present.
|
|
67
|
+
*
|
|
68
|
+
* @param config - Config object with identity field
|
|
69
|
+
* @returns Server DID string
|
|
70
|
+
* @throws Error if neither serverDid nor agentDid is configured
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // New config
|
|
75
|
+
* getServerDid({ identity: { serverDid: "did:web:server.com" } }) // "did:web:server.com"
|
|
76
|
+
*
|
|
77
|
+
* // Old config (backward compatibility)
|
|
78
|
+
* getServerDid({ identity: { agentDid: "did:web:server.com" } }) // "did:web:server.com"
|
|
79
|
+
*
|
|
80
|
+
* // Prefers serverDid over agentDid
|
|
81
|
+
* getServerDid({ identity: { serverDid: "new", agentDid: "old" } }) // "new"
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function getServerDid(config: {
|
|
85
|
+
identity: {
|
|
86
|
+
serverDid?: string;
|
|
87
|
+
agentDid?: string;
|
|
88
|
+
};
|
|
89
|
+
}): string;
|
|
90
|
+
//# sourceMappingURL=did-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/did-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,QAAQ,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,GAAG,MAAM,CAMT"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DID Validation and Helper Utilities
|
|
4
|
+
*
|
|
5
|
+
* Centralized utilities for DID validation, normalization, and handling.
|
|
6
|
+
* Promotes DRY principle and consistency across the codebase.
|
|
7
|
+
*
|
|
8
|
+
* @package @kya-os/mcp-i-core/utils
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.isValidDid = isValidDid;
|
|
12
|
+
exports.getDidMethod = getDidMethod;
|
|
13
|
+
exports.normalizeDid = normalizeDid;
|
|
14
|
+
exports.compareDids = compareDids;
|
|
15
|
+
exports.getServerDid = getServerDid;
|
|
16
|
+
/**
|
|
17
|
+
* Check if a string is a valid DID format
|
|
18
|
+
*
|
|
19
|
+
* @param did - String to validate
|
|
20
|
+
* @returns true if string starts with "did:"
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* isValidDid("did:key:z6Mk...") // true
|
|
25
|
+
* isValidDid("not-a-did") // false
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
function isValidDid(did) {
|
|
29
|
+
return typeof did === "string" && did.startsWith("did:");
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get the DID method from a DID string
|
|
33
|
+
*
|
|
34
|
+
* @param did - DID string
|
|
35
|
+
* @returns DID method (e.g., "key", "web") or null if invalid
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* getDidMethod("did:key:z6Mk...") // "key"
|
|
40
|
+
* getDidMethod("did:web:example.com") // "web"
|
|
41
|
+
* getDidMethod("invalid") // null
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
function getDidMethod(did) {
|
|
45
|
+
if (!isValidDid(did)) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const match = did.match(/^did:([^:]+):/);
|
|
49
|
+
return match ? match[1] : null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Normalize a DID string (trim whitespace)
|
|
53
|
+
*
|
|
54
|
+
* @param did - DID string to normalize
|
|
55
|
+
* @returns Normalized DID string
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* normalizeDid(" did:key:z6Mk... ") // "did:key:z6Mk..."
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
function normalizeDid(did) {
|
|
63
|
+
return did.trim();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Compare two DIDs for equality (case-sensitive)
|
|
67
|
+
*
|
|
68
|
+
* @param did1 - First DID
|
|
69
|
+
* @param did2 - Second DID
|
|
70
|
+
* @returns true if DIDs are equal (after normalization)
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* compareDids("did:key:z6Mk...", "did:key:z6Mk...") // true
|
|
75
|
+
* compareDids("did:key:z6Mk...", "did:web:example.com") // false
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
function compareDids(did1, did2) {
|
|
79
|
+
return normalizeDid(did1) === normalizeDid(did2);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extract server DID from config (supports both old and new field names)
|
|
83
|
+
*
|
|
84
|
+
* Supports backward compatibility by reading both `serverDid` and deprecated `agentDid`.
|
|
85
|
+
* Prefers `serverDid` if both are present.
|
|
86
|
+
*
|
|
87
|
+
* @param config - Config object with identity field
|
|
88
|
+
* @returns Server DID string
|
|
89
|
+
* @throws Error if neither serverDid nor agentDid is configured
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* // New config
|
|
94
|
+
* getServerDid({ identity: { serverDid: "did:web:server.com" } }) // "did:web:server.com"
|
|
95
|
+
*
|
|
96
|
+
* // Old config (backward compatibility)
|
|
97
|
+
* getServerDid({ identity: { agentDid: "did:web:server.com" } }) // "did:web:server.com"
|
|
98
|
+
*
|
|
99
|
+
* // Prefers serverDid over agentDid
|
|
100
|
+
* getServerDid({ identity: { serverDid: "new", agentDid: "old" } }) // "new"
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
function getServerDid(config) {
|
|
104
|
+
const serverDid = config.identity.serverDid || config.identity.agentDid;
|
|
105
|
+
if (!serverDid) {
|
|
106
|
+
throw new Error("Server DID not configured");
|
|
107
|
+
}
|
|
108
|
+
return serverDid;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=did-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-helpers.js","sourceRoot":"","sources":["../../src/utils/did-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAcH,gCAEC;AAeD,oCAMC;AAaD,oCAEC;AAeD,kCAEC;AAwBD,oCAQC;AAnGD;;;;;;;;;;;GAWG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,YAAY,CAAC,MAE5B;IACC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACxE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|