@kya-os/mcp-i-core 1.1.9 → 1.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/utils/mock-providers.d.ts.map +1 -1
- package/dist/__tests__/utils/mock-providers.js +16 -4
- package/dist/__tests__/utils/mock-providers.js.map +1 -1
- package/dist/cache/tool-protection-cache.d.ts.map +1 -1
- package/dist/cache/tool-protection-cache.js +4 -0
- package/dist/cache/tool-protection-cache.js.map +1 -1
- package/dist/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/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/runtime/base.d.ts +26 -30
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +202 -66
- 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/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/package.json +10 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-providers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/mock-providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAC9C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK/D,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpF,eAAe,IAAI,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mock-providers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/mock-providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAC9C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK/D,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpF,eAAe,IAAI,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBrE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAK3C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAOvD;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhC,GAAG,IAAI,MAAM;IAIb,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAK7D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGlC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,gBAAgB,CAAiC;IAGzD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAI3C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAI3C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQrC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ1C,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAQhD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAO3D;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,OAAO,CAAC,KAAK,CAAkC;IAEzC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS9C,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,OAAO,CAAC,MAAM,CAAkC;IACzC,aAAa,UAAS;IACtB,aAAa,UAAS;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAgB;IAE9B,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAI9B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAapC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,OAAO,CAAC,QAAQ,CAAC,CAAgB;IAC1B,gBAAgB,UAAS;IACzB,oBAAoB,UAAS;IACpC,OAAO,CAAC,WAAW,CAAK;gBAEZ,QAAQ,CAAC,EAAE,aAAa;IAK9B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAerC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAepC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;CAG3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;;;;;;EAmBlC"}
|
|
@@ -23,11 +23,23 @@ class MockCryptoProvider extends base_1.CryptoProvider {
|
|
|
23
23
|
return signature.length === 5 && signature[0] === 1 && signature[1] === 2;
|
|
24
24
|
}
|
|
25
25
|
async generateKeyPair() {
|
|
26
|
-
// Generate
|
|
27
|
-
|
|
26
|
+
// Generate valid base64-encoded keys for testing
|
|
27
|
+
// Ed25519 keys are 32 bytes, so we generate 32 random bytes and encode them
|
|
28
|
+
const randomBytes = new Uint8Array(32);
|
|
29
|
+
for (let i = 0; i < 32; i++) {
|
|
30
|
+
randomBytes[i] = Math.floor(Math.random() * 256);
|
|
31
|
+
}
|
|
32
|
+
// Convert to base64 using Node.js Buffer (works in Node.js test environment)
|
|
33
|
+
const base64PrivateKey = Buffer.from(randomBytes).toString('base64');
|
|
34
|
+
// Generate a different public key (Ed25519 public key is also 32 bytes)
|
|
35
|
+
const publicBytes = new Uint8Array(32);
|
|
36
|
+
for (let i = 0; i < 32; i++) {
|
|
37
|
+
publicBytes[i] = Math.floor(Math.random() * 256);
|
|
38
|
+
}
|
|
39
|
+
const base64PublicKey = Buffer.from(publicBytes).toString('base64');
|
|
28
40
|
return {
|
|
29
|
-
privateKey:
|
|
30
|
-
publicKey:
|
|
41
|
+
privateKey: base64PrivateKey,
|
|
42
|
+
publicKey: base64PublicKey
|
|
31
43
|
};
|
|
32
44
|
}
|
|
33
45
|
async hash(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-providers.js","sourceRoot":"","sources":["../../../src/__tests__/utils/mock-providers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"mock-providers.js","sourceRoot":"","sources":["../../../src/__tests__/utils/mock-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;CAQhB;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"}
|
|
@@ -36,6 +36,10 @@ class InMemoryToolProtectionCache {
|
|
|
36
36
|
return entry.value;
|
|
37
37
|
}
|
|
38
38
|
async set(key, value, ttl) {
|
|
39
|
+
// If TTL is <= 0, don't store (entry would be immediately expired)
|
|
40
|
+
if (ttl <= 0) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
39
43
|
const expiresAt = Date.now() + ttl;
|
|
40
44
|
this.cache.set(key, { value, expiresAt });
|
|
41
45
|
}
|
|
@@ -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,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;CACF;AAtDD,kEAsDC;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,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote Configuration Fetching
|
|
3
|
+
*
|
|
4
|
+
* Service for fetching configuration from remote APIs (AgentShield dashboard)
|
|
5
|
+
* with caching support for performance optimization.
|
|
6
|
+
*
|
|
7
|
+
* @module @kya-os/mcp-i-core/config/remote-config
|
|
8
|
+
*/
|
|
9
|
+
import type { MCPIConfig } from '@kya-os/contracts/config';
|
|
10
|
+
/**
|
|
11
|
+
* Options for fetching remote configuration
|
|
12
|
+
*/
|
|
13
|
+
export interface RemoteConfigOptions {
|
|
14
|
+
/**
|
|
15
|
+
* API base URL
|
|
16
|
+
* @example 'https://kya.vouched.id'
|
|
17
|
+
*/
|
|
18
|
+
apiUrl: string;
|
|
19
|
+
/**
|
|
20
|
+
* API key for authentication
|
|
21
|
+
*/
|
|
22
|
+
apiKey: string;
|
|
23
|
+
/**
|
|
24
|
+
* Project ID (optional, preferred over agentDid)
|
|
25
|
+
* Used for project-scoped configuration
|
|
26
|
+
*/
|
|
27
|
+
projectId?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Agent DID (optional, used when projectId not available)
|
|
30
|
+
* Used for agent-scoped configuration
|
|
31
|
+
*/
|
|
32
|
+
agentDid?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Cache TTL in milliseconds
|
|
35
|
+
* @default 300000 (5 minutes)
|
|
36
|
+
*/
|
|
37
|
+
cacheTtl?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Fetch provider function
|
|
40
|
+
* Platform-agnostic fetch implementation
|
|
41
|
+
*/
|
|
42
|
+
fetchProvider: (url: string, options: RequestInit) => Promise<Response>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Cache interface for remote configuration
|
|
46
|
+
* Abstracts platform-specific caching (KV, Redis, Memory, etc.)
|
|
47
|
+
*/
|
|
48
|
+
export interface RemoteConfigCache {
|
|
49
|
+
/**
|
|
50
|
+
* Get a cached value
|
|
51
|
+
*/
|
|
52
|
+
get(key: string): Promise<string | null>;
|
|
53
|
+
/**
|
|
54
|
+
* Set a cached value with TTL
|
|
55
|
+
*/
|
|
56
|
+
set(key: string, value: string, ttl: number): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Fetch configuration from remote API (AgentShield dashboard)
|
|
60
|
+
*
|
|
61
|
+
* Attempts to fetch configuration from the AgentShield API with caching support.
|
|
62
|
+
* Falls back gracefully if remote fetch fails.
|
|
63
|
+
*
|
|
64
|
+
* @param options - Remote config options
|
|
65
|
+
* @param cache - Optional cache implementation
|
|
66
|
+
* @returns Configuration object or null if fetch fails
|
|
67
|
+
*/
|
|
68
|
+
export declare function fetchRemoteConfig(options: RemoteConfigOptions, cache?: RemoteConfigCache): Promise<MCPIConfig | null>;
|
|
69
|
+
//# sourceMappingURL=remote-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-config.d.ts","sourceRoot":"","sources":["../../src/config/remote-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,CAAC,EAAE,iBAAiB,GACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2F5B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Remote Configuration Fetching
|
|
4
|
+
*
|
|
5
|
+
* Service for fetching configuration from remote APIs (AgentShield dashboard)
|
|
6
|
+
* with caching support for performance optimization.
|
|
7
|
+
*
|
|
8
|
+
* @module @kya-os/mcp-i-core/config/remote-config
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.fetchRemoteConfig = fetchRemoteConfig;
|
|
12
|
+
const agentshield_api_1 = require("@kya-os/contracts/agentshield-api");
|
|
13
|
+
/**
|
|
14
|
+
* Fetch configuration from remote API (AgentShield dashboard)
|
|
15
|
+
*
|
|
16
|
+
* Attempts to fetch configuration from the AgentShield API with caching support.
|
|
17
|
+
* Falls back gracefully if remote fetch fails.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Remote config options
|
|
20
|
+
* @param cache - Optional cache implementation
|
|
21
|
+
* @returns Configuration object or null if fetch fails
|
|
22
|
+
*/
|
|
23
|
+
async function fetchRemoteConfig(options, cache) {
|
|
24
|
+
const { apiUrl, apiKey, projectId, agentDid, cacheTtl = 300000, fetchProvider } = options;
|
|
25
|
+
// Generate cache key
|
|
26
|
+
const cacheKey = projectId
|
|
27
|
+
? `config:project:${projectId}`
|
|
28
|
+
: agentDid
|
|
29
|
+
? `config:agent:${agentDid}`
|
|
30
|
+
: null;
|
|
31
|
+
// Try cache first
|
|
32
|
+
if (cache && cacheKey) {
|
|
33
|
+
try {
|
|
34
|
+
const cached = await cache.get(cacheKey);
|
|
35
|
+
if (cached) {
|
|
36
|
+
try {
|
|
37
|
+
const parsed = JSON.parse(cached);
|
|
38
|
+
if (parsed.expiresAt > Date.now()) {
|
|
39
|
+
return parsed.config;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Invalid cache entry, continue to fetch
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
// Cache read failed, continue to fetch
|
|
49
|
+
console.warn('[RemoteConfig] Cache read failed:', error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Fetch from API
|
|
53
|
+
try {
|
|
54
|
+
// Build API URL
|
|
55
|
+
let url;
|
|
56
|
+
if (projectId) {
|
|
57
|
+
// Use project-scoped endpoint (preferred)
|
|
58
|
+
url = `${apiUrl}${agentshield_api_1.AGENTSHIELD_ENDPOINTS.CONFIG(projectId)}`;
|
|
59
|
+
}
|
|
60
|
+
else if (agentDid) {
|
|
61
|
+
// Use agent-scoped endpoint
|
|
62
|
+
url = `${apiUrl}/api/v1/bouncer/config?agent_did=${encodeURIComponent(agentDid)}`;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.warn('[RemoteConfig] Neither projectId nor agentDid provided');
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const response = await fetchProvider(url, {
|
|
69
|
+
headers: {
|
|
70
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
71
|
+
'Content-Type': 'application/json'
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (!response.ok) {
|
|
75
|
+
console.warn(`[RemoteConfig] API returned ${response.status}: ${response.statusText}`);
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
const data = await response.json();
|
|
79
|
+
// Extract config from API response
|
|
80
|
+
// API response format: { success: boolean, data: { config: MCPIConfig } }
|
|
81
|
+
const responseData = data;
|
|
82
|
+
const config = responseData.config || responseData.data?.config || (responseData.success ? responseData.data : null);
|
|
83
|
+
if (!config) {
|
|
84
|
+
console.warn('[RemoteConfig] No config found in API response');
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
// Cache the result
|
|
88
|
+
if (cache && cacheKey) {
|
|
89
|
+
try {
|
|
90
|
+
await cache.set(cacheKey, JSON.stringify({
|
|
91
|
+
config,
|
|
92
|
+
expiresAt: Date.now() + cacheTtl
|
|
93
|
+
}), cacheTtl);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
// Cache write failed, but we got the config so continue
|
|
97
|
+
console.warn('[RemoteConfig] Cache write failed:', error);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return config;
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
console.warn('[RemoteConfig] Failed to fetch config:', error);
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=remote-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-config.js","sourceRoot":"","sources":["../../src/config/remote-config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-based Runtime Configuration
|
|
3
|
+
*
|
|
4
|
+
* Core configuration for MCP-I runtime using the provider pattern.
|
|
5
|
+
* This is the foundation for all platform-specific implementations.
|
|
6
|
+
*
|
|
7
|
+
* @module @kya-os/mcp-i-core/config
|
|
8
|
+
*/
|
|
9
|
+
import type { MCPIBaseConfig, RuntimeIdentityConfig, ProofingConfig, DelegationConfig, ToolProtectionSourceConfig } from '@kya-os/contracts/config';
|
|
10
|
+
import type { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider } from './providers/base';
|
|
11
|
+
import type { ToolProtectionService } from './services/tool-protection.service';
|
|
12
|
+
/**
|
|
13
|
+
* Provider-based runtime configuration
|
|
14
|
+
*
|
|
15
|
+
* This configuration is used internally by MCPIRuntimeBase and provides
|
|
16
|
+
* the foundation for all platform-specific implementations. It uses the
|
|
17
|
+
* provider pattern for platform abstraction, allowing different implementations
|
|
18
|
+
* for Node.js, Cloudflare Workers, and other environments.
|
|
19
|
+
*/
|
|
20
|
+
export interface ProviderRuntimeConfig extends MCPIBaseConfig {
|
|
21
|
+
/**
|
|
22
|
+
* Cryptographic operations provider
|
|
23
|
+
* Handles signing, verification, and key generation
|
|
24
|
+
*/
|
|
25
|
+
cryptoProvider: CryptoProvider;
|
|
26
|
+
/**
|
|
27
|
+
* Time operations provider
|
|
28
|
+
* Provides current time and timestamp generation
|
|
29
|
+
*/
|
|
30
|
+
clockProvider: ClockProvider;
|
|
31
|
+
/**
|
|
32
|
+
* HTTP fetch operations provider
|
|
33
|
+
* Handles external API calls
|
|
34
|
+
*/
|
|
35
|
+
fetchProvider: FetchProvider;
|
|
36
|
+
/**
|
|
37
|
+
* Storage operations provider
|
|
38
|
+
* Handles persistent data storage
|
|
39
|
+
*/
|
|
40
|
+
storageProvider: StorageProvider;
|
|
41
|
+
/**
|
|
42
|
+
* Nonce cache provider
|
|
43
|
+
* Handles replay prevention
|
|
44
|
+
*/
|
|
45
|
+
nonceCacheProvider: NonceCacheProvider;
|
|
46
|
+
/**
|
|
47
|
+
* Identity management provider
|
|
48
|
+
* Handles agent identity and DID operations
|
|
49
|
+
*/
|
|
50
|
+
identityProvider: IdentityProvider;
|
|
51
|
+
/**
|
|
52
|
+
* Session configuration
|
|
53
|
+
* Controls session handling and timeouts
|
|
54
|
+
*/
|
|
55
|
+
session?: {
|
|
56
|
+
/**
|
|
57
|
+
* Allowed timestamp skew in seconds
|
|
58
|
+
* @default 120
|
|
59
|
+
*/
|
|
60
|
+
timestampSkewSeconds?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Session TTL in minutes
|
|
63
|
+
* @default 30
|
|
64
|
+
*/
|
|
65
|
+
ttlMinutes?: number;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Identity configuration (optional)
|
|
69
|
+
* When provided, enables identity features
|
|
70
|
+
*/
|
|
71
|
+
identity?: RuntimeIdentityConfig;
|
|
72
|
+
/**
|
|
73
|
+
* Proofing configuration (optional)
|
|
74
|
+
* When provided, enables proof generation
|
|
75
|
+
*/
|
|
76
|
+
proofing?: ProofingConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Delegation configuration (optional)
|
|
79
|
+
* When provided, enables delegation verification
|
|
80
|
+
*/
|
|
81
|
+
delegation?: DelegationConfig;
|
|
82
|
+
/**
|
|
83
|
+
* Tool protection service (optional)
|
|
84
|
+
* When provided, enables runtime tool protection
|
|
85
|
+
* Note: This is different from tool registry which is compile-time
|
|
86
|
+
*/
|
|
87
|
+
toolProtectionService?: ToolProtectionService;
|
|
88
|
+
/**
|
|
89
|
+
* Tool protection source configuration (optional)
|
|
90
|
+
* Alternative to toolProtectionService for configuration-based setup
|
|
91
|
+
*/
|
|
92
|
+
toolProtection?: ToolProtectionSourceConfig;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Builder for provider runtime configuration
|
|
96
|
+
* Helps create valid configurations with proper defaults
|
|
97
|
+
*/
|
|
98
|
+
export declare class ProviderRuntimeConfigBuilder {
|
|
99
|
+
private config;
|
|
100
|
+
/**
|
|
101
|
+
* Set the providers (required)
|
|
102
|
+
*/
|
|
103
|
+
withProviders(providers: {
|
|
104
|
+
cryptoProvider: CryptoProvider;
|
|
105
|
+
clockProvider: ClockProvider;
|
|
106
|
+
fetchProvider: FetchProvider;
|
|
107
|
+
storageProvider: StorageProvider;
|
|
108
|
+
nonceCacheProvider: NonceCacheProvider;
|
|
109
|
+
identityProvider: IdentityProvider;
|
|
110
|
+
}): this;
|
|
111
|
+
/**
|
|
112
|
+
* Set the environment
|
|
113
|
+
*/
|
|
114
|
+
withEnvironment(env: 'development' | 'production'): this;
|
|
115
|
+
/**
|
|
116
|
+
* Configure session handling
|
|
117
|
+
*/
|
|
118
|
+
withSession(session: {
|
|
119
|
+
timestampSkewSeconds?: number;
|
|
120
|
+
ttlMinutes?: number;
|
|
121
|
+
}): this;
|
|
122
|
+
/**
|
|
123
|
+
* Enable identity features
|
|
124
|
+
*/
|
|
125
|
+
withIdentity(identity: RuntimeIdentityConfig): this;
|
|
126
|
+
/**
|
|
127
|
+
* Enable proofing features
|
|
128
|
+
*/
|
|
129
|
+
withProofing(proofing: ProofingConfig): this;
|
|
130
|
+
/**
|
|
131
|
+
* Enable delegation features
|
|
132
|
+
*/
|
|
133
|
+
withDelegation(delegation: DelegationConfig): this;
|
|
134
|
+
/**
|
|
135
|
+
* Set tool protection service
|
|
136
|
+
*/
|
|
137
|
+
withToolProtectionService(service: ToolProtectionService): this;
|
|
138
|
+
/**
|
|
139
|
+
* Set tool protection configuration
|
|
140
|
+
*/
|
|
141
|
+
withToolProtection(config: ToolProtectionSourceConfig): this;
|
|
142
|
+
/**
|
|
143
|
+
* Enable audit features
|
|
144
|
+
*/
|
|
145
|
+
withAudit(audit: {
|
|
146
|
+
enabled: boolean;
|
|
147
|
+
includeProofHashes?: boolean;
|
|
148
|
+
}): this;
|
|
149
|
+
/**
|
|
150
|
+
* Enable well-known endpoints
|
|
151
|
+
*/
|
|
152
|
+
withWellKnown(wellKnown: {
|
|
153
|
+
enabled: boolean;
|
|
154
|
+
serviceName?: string;
|
|
155
|
+
}): this;
|
|
156
|
+
/**
|
|
157
|
+
* Build the configuration
|
|
158
|
+
* Validates that all required providers are set
|
|
159
|
+
*/
|
|
160
|
+
build(): ProviderRuntimeConfig;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Re-export base types for convenience
|
|
164
|
+
*/
|
|
165
|
+
export type { MCPIBaseConfig, RuntimeIdentityConfig as BaseIdentityConfig, ProofingConfig, DelegationConfig, ToolProtectionSourceConfig } from '@kya-os/contracts/config';
|
|
166
|
+
/**
|
|
167
|
+
* Re-export remote config utilities
|
|
168
|
+
*/
|
|
169
|
+
export { fetchRemoteConfig, type RemoteConfigOptions, type RemoteConfigCache } from './config/remote-config';
|
|
170
|
+
/**
|
|
171
|
+
* Create a provider runtime configuration
|
|
172
|
+
* Convenience function for creating configurations
|
|
173
|
+
*/
|
|
174
|
+
export declare function createProviderRuntimeConfig(providers: {
|
|
175
|
+
cryptoProvider: CryptoProvider;
|
|
176
|
+
clockProvider: ClockProvider;
|
|
177
|
+
fetchProvider: FetchProvider;
|
|
178
|
+
storageProvider: StorageProvider;
|
|
179
|
+
nonceCacheProvider: NonceCacheProvider;
|
|
180
|
+
identityProvider: IdentityProvider;
|
|
181
|
+
}, options?: Partial<Omit<ProviderRuntimeConfig, keyof typeof providers>>): ProviderRuntimeConfig;
|
|
182
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAE9B;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;;OAGG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;OAGG;IACH,cAAc,CAAC,EAAE,0BAA0B,CAAC;CAC7C;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAEZ;IAEF;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE;QACvB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,EAAE,aAAa,CAAC;QAC7B,aAAa,EAAE,aAAa,CAAC;QAC7B,eAAe,EAAE,eAAe,CAAC;QACjC,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,gBAAgB,EAAE,gBAAgB,CAAC;KACpC,GAAG,IAAI;IAKR;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;IAKR;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKnD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAK5C;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAKlD;;OAEG;IACH,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAK/D;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,GAAG,IAAI;IAK5D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,IAAI;IAKR;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI;IAKR;;;OAGG;IACH,KAAK,IAAI,qBAAqB;CA0B/B;AAED;;GAEG;AACH,YAAY,EACV,cAAc,EACd,qBAAqB,IAAI,kBAAkB,EAC3C,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE;IACT,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,EACD,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,OAAO,SAAS,CAAC,CAAC,GACrE,qBAAqB,CAcvB"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Provider-based Runtime Configuration
|
|
4
|
+
*
|
|
5
|
+
* Core configuration for MCP-I runtime using the provider pattern.
|
|
6
|
+
* This is the foundation for all platform-specific implementations.
|
|
7
|
+
*
|
|
8
|
+
* @module @kya-os/mcp-i-core/config
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.fetchRemoteConfig = exports.ProviderRuntimeConfigBuilder = void 0;
|
|
12
|
+
exports.createProviderRuntimeConfig = createProviderRuntimeConfig;
|
|
13
|
+
/**
|
|
14
|
+
* Builder for provider runtime configuration
|
|
15
|
+
* Helps create valid configurations with proper defaults
|
|
16
|
+
*/
|
|
17
|
+
class ProviderRuntimeConfigBuilder {
|
|
18
|
+
config = {
|
|
19
|
+
environment: 'development'
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Set the providers (required)
|
|
23
|
+
*/
|
|
24
|
+
withProviders(providers) {
|
|
25
|
+
Object.assign(this.config, providers);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Set the environment
|
|
30
|
+
*/
|
|
31
|
+
withEnvironment(env) {
|
|
32
|
+
this.config.environment = env;
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Configure session handling
|
|
37
|
+
*/
|
|
38
|
+
withSession(session) {
|
|
39
|
+
this.config.session = session;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Enable identity features
|
|
44
|
+
*/
|
|
45
|
+
withIdentity(identity) {
|
|
46
|
+
this.config.identity = identity;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Enable proofing features
|
|
51
|
+
*/
|
|
52
|
+
withProofing(proofing) {
|
|
53
|
+
this.config.proofing = proofing;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Enable delegation features
|
|
58
|
+
*/
|
|
59
|
+
withDelegation(delegation) {
|
|
60
|
+
this.config.delegation = delegation;
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Set tool protection service
|
|
65
|
+
*/
|
|
66
|
+
withToolProtectionService(service) {
|
|
67
|
+
this.config.toolProtectionService = service;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Set tool protection configuration
|
|
72
|
+
*/
|
|
73
|
+
withToolProtection(config) {
|
|
74
|
+
this.config.toolProtection = config;
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Enable audit features
|
|
79
|
+
*/
|
|
80
|
+
withAudit(audit) {
|
|
81
|
+
this.config.audit = audit;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Enable well-known endpoints
|
|
86
|
+
*/
|
|
87
|
+
withWellKnown(wellKnown) {
|
|
88
|
+
this.config.wellKnown = wellKnown;
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Build the configuration
|
|
93
|
+
* Validates that all required providers are set
|
|
94
|
+
*/
|
|
95
|
+
build() {
|
|
96
|
+
const required = [
|
|
97
|
+
'cryptoProvider',
|
|
98
|
+
'clockProvider',
|
|
99
|
+
'fetchProvider',
|
|
100
|
+
'storageProvider',
|
|
101
|
+
'nonceCacheProvider',
|
|
102
|
+
'identityProvider'
|
|
103
|
+
];
|
|
104
|
+
for (const field of required) {
|
|
105
|
+
if (!(field in this.config)) {
|
|
106
|
+
throw new Error(`Missing required provider: ${field}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Apply defaults
|
|
110
|
+
return {
|
|
111
|
+
environment: 'development',
|
|
112
|
+
session: {
|
|
113
|
+
timestampSkewSeconds: 120,
|
|
114
|
+
ttlMinutes: 30
|
|
115
|
+
},
|
|
116
|
+
...this.config
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.ProviderRuntimeConfigBuilder = ProviderRuntimeConfigBuilder;
|
|
121
|
+
/**
|
|
122
|
+
* Re-export remote config utilities
|
|
123
|
+
*/
|
|
124
|
+
var remote_config_1 = require("./config/remote-config");
|
|
125
|
+
Object.defineProperty(exports, "fetchRemoteConfig", { enumerable: true, get: function () { return remote_config_1.fetchRemoteConfig; } });
|
|
126
|
+
/**
|
|
127
|
+
* Create a provider runtime configuration
|
|
128
|
+
* Convenience function for creating configurations
|
|
129
|
+
*/
|
|
130
|
+
function createProviderRuntimeConfig(providers, options) {
|
|
131
|
+
return new ProviderRuntimeConfigBuilder()
|
|
132
|
+
.withProviders(providers)
|
|
133
|
+
.withEnvironment(options?.environment || 'development')
|
|
134
|
+
.withSession(options?.session || {})
|
|
135
|
+
.withIdentity(options?.identity || { enabled: false, environment: 'development' })
|
|
136
|
+
.withProofing(options?.proofing || { enabled: false })
|
|
137
|
+
.withDelegation(options?.delegation || {
|
|
138
|
+
enabled: false,
|
|
139
|
+
verifier: { type: 'memory' }
|
|
140
|
+
})
|
|
141
|
+
.withAudit(options?.audit || { enabled: false })
|
|
142
|
+
.withWellKnown(options?.wellKnown || { enabled: true })
|
|
143
|
+
.build();
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|