@kya-os/mcp-i 0.1.0-alpha.2.8 → 0.1.0-alpha.3.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/{crypto.js → cjs/crypto.js} +17 -2
- package/dist/{index.d.ts → cjs/index.d.ts} +1 -0
- package/dist/{index.js → cjs/index.js} +31 -13
- package/dist/cjs/nextjs.d.ts +10 -0
- package/dist/cjs/nextjs.js +82 -0
- package/dist/cjs/vercel-adapter.d.ts +8 -0
- package/dist/cjs/vercel-adapter.js +67 -0
- package/dist/esm/auto.d.ts +13 -0
- package/dist/esm/auto.d.ts.map +1 -0
- package/dist/esm/auto.js +30 -0
- package/dist/esm/auto.js.map +1 -0
- package/dist/esm/crypto.d.ts +51 -0
- package/dist/esm/crypto.d.ts.map +1 -0
- package/dist/esm/crypto.js +230 -0
- package/dist/esm/crypto.js.map +1 -0
- package/dist/esm/dev-helper.d.ts +15 -0
- package/dist/esm/dev-helper.d.ts.map +1 -0
- package/dist/esm/dev-helper.js +63 -0
- package/dist/esm/dev-helper.js.map +1 -0
- package/dist/esm/encrypted-storage.d.ts +19 -0
- package/dist/esm/encrypted-storage.d.ts.map +1 -0
- package/dist/esm/encrypted-storage.js +48 -0
- package/dist/esm/encrypted-storage.js.map +1 -0
- package/dist/esm/index.d.ts +128 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +671 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger.d.ts +46 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +76 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/nextjs.d.ts +22 -0
- package/dist/esm/nextjs.d.ts.map +1 -0
- package/dist/esm/nextjs.js +82 -0
- package/dist/esm/nextjs.js.map +1 -0
- package/dist/esm/registry/index.d.ts +43 -0
- package/dist/esm/registry/index.d.ts.map +1 -0
- package/dist/esm/registry/index.js +89 -0
- package/dist/esm/registry/index.js.map +1 -0
- package/dist/esm/registry/knowthat.d.ts +30 -0
- package/dist/esm/registry/knowthat.d.ts.map +1 -0
- package/dist/esm/registry/knowthat.js +106 -0
- package/dist/esm/registry/knowthat.js.map +1 -0
- package/dist/esm/rotation.d.ts +57 -0
- package/dist/esm/rotation.d.ts.map +1 -0
- package/dist/esm/rotation.js +133 -0
- package/dist/esm/rotation.js.map +1 -0
- package/dist/esm/storage.d.ts +65 -0
- package/dist/esm/storage.d.ts.map +1 -0
- package/dist/esm/storage.js +160 -0
- package/dist/esm/storage.js.map +1 -0
- package/dist/esm/transport.d.ts +52 -0
- package/dist/esm/transport.d.ts.map +1 -0
- package/dist/esm/transport.js +209 -0
- package/dist/esm/transport.js.map +1 -0
- package/dist/esm/types.d.ts +188 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +5 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/vercel-adapter.d.ts +26 -0
- package/dist/esm/vercel-adapter.d.ts.map +1 -0
- package/dist/esm/vercel-adapter.js +80 -0
- package/dist/esm/vercel-adapter.js.map +1 -0
- package/package.json +27 -13
- /package/dist/{auto.d.ts → cjs/auto.d.ts} +0 -0
- /package/dist/{auto.js → cjs/auto.js} +0 -0
- /package/dist/{crypto.d.ts → cjs/crypto.d.ts} +0 -0
- /package/dist/{dev-helper.d.ts → cjs/dev-helper.d.ts} +0 -0
- /package/dist/{dev-helper.js → cjs/dev-helper.js} +0 -0
- /package/dist/{encrypted-storage.d.ts → cjs/encrypted-storage.d.ts} +0 -0
- /package/dist/{encrypted-storage.js → cjs/encrypted-storage.js} +0 -0
- /package/dist/{logger.d.ts → cjs/logger.d.ts} +0 -0
- /package/dist/{logger.js → cjs/logger.js} +0 -0
- /package/dist/{registry → cjs/registry}/index.d.ts +0 -0
- /package/dist/{registry → cjs/registry}/index.js +0 -0
- /package/dist/{registry → cjs/registry}/knowthat.d.ts +0 -0
- /package/dist/{registry → cjs/registry}/knowthat.js +0 -0
- /package/dist/{rotation.d.ts → cjs/rotation.d.ts} +0 -0
- /package/dist/{rotation.js → cjs/rotation.js} +0 -0
- /package/dist/{storage.d.ts → cjs/storage.d.ts} +0 -0
- /package/dist/{storage.js → cjs/storage.js} +0 -0
- /package/dist/{transport.d.ts → cjs/transport.d.ts} +0 -0
- /package/dist/{transport.js → cjs/transport.js} +0 -0
- /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
- /package/dist/{types.js → cjs/types.js} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Development Helper for MCP-I Package
|
|
3
|
+
*
|
|
4
|
+
* Provides additional developer experience improvements for local development
|
|
5
|
+
*/
|
|
6
|
+
import { MCPIdentity } from './index';
|
|
7
|
+
/**
|
|
8
|
+
* Enhanced development experience with helpful logging and tips
|
|
9
|
+
*/
|
|
10
|
+
export declare function initWithDevExperience(options?: any): Promise<MCPIdentity>;
|
|
11
|
+
/**
|
|
12
|
+
* Quick agent status check for debugging
|
|
13
|
+
*/
|
|
14
|
+
export declare function showAgentStatus(identity: MCPIdentity): void;
|
|
15
|
+
//# sourceMappingURL=dev-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-helper.d.ts","sourceRoot":"","sources":["../../src/dev-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAoCnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAmB3D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Development Helper for MCP-I Package
|
|
3
|
+
*
|
|
4
|
+
* Provides additional developer experience improvements for local development
|
|
5
|
+
*/
|
|
6
|
+
import { MCPIdentity } from './index.js';
|
|
7
|
+
import { getLogger } from './logger.js';
|
|
8
|
+
/**
|
|
9
|
+
* Enhanced development experience with helpful logging and tips
|
|
10
|
+
*/
|
|
11
|
+
export async function initWithDevExperience(options = {}) {
|
|
12
|
+
const logger = getLogger();
|
|
13
|
+
// Add development mode if not specified
|
|
14
|
+
if (process.env.NODE_ENV === 'development' && !options.mode) {
|
|
15
|
+
options.mode = 'development';
|
|
16
|
+
logger.info('🔧 Development mode detected - agents will be created as drafts');
|
|
17
|
+
}
|
|
18
|
+
// Auto-detect MCP server name from package.json
|
|
19
|
+
if (!options.name && !process.env.MCP_SERVER_NAME) {
|
|
20
|
+
// In Next.js and other bundled environments, we can't dynamically require package.json
|
|
21
|
+
// Users should provide the name explicitly
|
|
22
|
+
options.name = 'Development MCP Server';
|
|
23
|
+
logger.info('💡 Tip: Provide a name in options for better agent identification');
|
|
24
|
+
}
|
|
25
|
+
// Performance tips
|
|
26
|
+
if (!options.storage) {
|
|
27
|
+
logger.info('💡 Tip: Use storage: "file" for persistent identity across restarts');
|
|
28
|
+
}
|
|
29
|
+
const identity = await MCPIdentity.init(options);
|
|
30
|
+
// Show useful development information
|
|
31
|
+
logger.info('✨ MCP Identity initialized successfully!');
|
|
32
|
+
logger.info(`🆔 DID: ${identity.did}`);
|
|
33
|
+
// Show claim URL in development
|
|
34
|
+
const { claimUrl } = await identity.requestEditAccess();
|
|
35
|
+
logger.info(`🔗 Claim your agent: ${claimUrl}`);
|
|
36
|
+
// Show integration tip
|
|
37
|
+
logger.info('💡 Your MCP server responses are now automatically signed with your agent identity');
|
|
38
|
+
return identity;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Quick agent status check for debugging
|
|
42
|
+
*/
|
|
43
|
+
export function showAgentStatus(identity) {
|
|
44
|
+
const logger = getLogger();
|
|
45
|
+
const capabilities = identity.getCapabilities();
|
|
46
|
+
logger.info('📊 Agent Status:');
|
|
47
|
+
logger.info(` DID: ${identity.did}`);
|
|
48
|
+
logger.info(` Conformance Level: ${capabilities.conformanceLevel}`);
|
|
49
|
+
logger.info(` Registry: ${capabilities.registry || 'knowthat.ai'}`);
|
|
50
|
+
logger.info(` Handshake Supported: ${capabilities.handshakeSupported}`);
|
|
51
|
+
// Show directory preferences
|
|
52
|
+
const directories = identity.getDirectories();
|
|
53
|
+
if (directories === 'none') {
|
|
54
|
+
logger.info('📋 Directories: Not listing on any directories');
|
|
55
|
+
}
|
|
56
|
+
else if (directories === 'verified') {
|
|
57
|
+
logger.info('📋 Directories: Listing on all verified directories');
|
|
58
|
+
}
|
|
59
|
+
else if (Array.isArray(directories)) {
|
|
60
|
+
logger.info(`📋 Directories: ${directories.join(', ')}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=dev-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-helper.js","sourceRoot":"","sources":["../../src/dev-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAe,EAAE;IAC3D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,wCAAwC;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAClD,uFAAuF;QACvF,2CAA2C;QAC3C,OAAO,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjD,sCAAsC;IACtC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvC,gCAAgC;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACxD,MAAM,CAAC,IAAI,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IAEhD,uBAAuB;IACvB,MAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IAElG,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAqB;IACnD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAEhD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,yBAAyB,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,2BAA2B,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE1E,6BAA6B;IAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encrypted storage wrapper for MCP-I identity
|
|
3
|
+
* Adds encryption layer on top of any storage provider
|
|
4
|
+
*/
|
|
5
|
+
import { StorageProvider } from './storage';
|
|
6
|
+
import { PersistedIdentity } from './types';
|
|
7
|
+
export declare class EncryptedStorage implements StorageProvider {
|
|
8
|
+
private baseStorage;
|
|
9
|
+
private password;
|
|
10
|
+
constructor(baseStorage: StorageProvider, password: string);
|
|
11
|
+
load(): Promise<PersistedIdentity | null>;
|
|
12
|
+
save(identity: PersistedIdentity): Promise<void>;
|
|
13
|
+
exists(): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create encrypted storage wrapper
|
|
17
|
+
*/
|
|
18
|
+
export declare function createEncryptedStorage(baseStorage: StorageProvider, password: string): StorageProvider;
|
|
19
|
+
//# sourceMappingURL=encrypted-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypted-storage.d.ts","sourceRoot":"","sources":["../../src/encrypted-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,qBAAa,gBAAiB,YAAW,eAAe;IAEpD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;gBADR,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,MAAM;IAGpB,IAAI,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAkBzC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAehD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGjC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,MAAM,GACf,eAAe,CAEjB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encrypted storage wrapper for MCP-I identity
|
|
3
|
+
* Adds encryption layer on top of any storage provider
|
|
4
|
+
*/
|
|
5
|
+
import * as crypto from './crypto.js';
|
|
6
|
+
export class EncryptedStorage {
|
|
7
|
+
baseStorage;
|
|
8
|
+
password;
|
|
9
|
+
constructor(baseStorage, password) {
|
|
10
|
+
this.baseStorage = baseStorage;
|
|
11
|
+
this.password = password;
|
|
12
|
+
}
|
|
13
|
+
async load() {
|
|
14
|
+
const identity = await this.baseStorage.load();
|
|
15
|
+
if (!identity) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
// Decrypt private key if encrypted
|
|
19
|
+
if (identity.privateKey.startsWith('enc:')) {
|
|
20
|
+
try {
|
|
21
|
+
identity.privateKey = await crypto.decrypt(identity.privateKey, this.password);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
throw new Error('Failed to decrypt stored identity - invalid password');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return identity;
|
|
28
|
+
}
|
|
29
|
+
async save(identity) {
|
|
30
|
+
// Create a copy to avoid modifying the original
|
|
31
|
+
const encryptedIdentity = { ...identity };
|
|
32
|
+
// Encrypt private key before saving
|
|
33
|
+
if (!encryptedIdentity.privateKey.startsWith('enc:')) {
|
|
34
|
+
encryptedIdentity.privateKey = await crypto.encrypt(encryptedIdentity.privateKey, this.password);
|
|
35
|
+
}
|
|
36
|
+
await this.baseStorage.save(encryptedIdentity);
|
|
37
|
+
}
|
|
38
|
+
async exists() {
|
|
39
|
+
return this.baseStorage.exists();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create encrypted storage wrapper
|
|
44
|
+
*/
|
|
45
|
+
export function createEncryptedStorage(baseStorage, password) {
|
|
46
|
+
return new EncryptedStorage(baseStorage, password);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=encrypted-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypted-storage.js","sourceRoot":"","sources":["../../src/encrypted-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,MAAM,OAAO,gBAAgB;IAEjB;IACA;IAFV,YACU,WAA4B,EAC5B,QAAgB;QADhB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,aAAQ,GAAR,QAAQ,CAAQ;IACvB,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,QAAQ,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAA2B;QACpC,gDAAgD;QAChD,MAAM,iBAAiB,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE1C,oCAAoC;QACpC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,iBAAiB,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CACjD,iBAAiB,CAAC,UAAU,EAC5B,IAAI,CAAC,QAAQ,CACd,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAA4B,EAC5B,QAAgB;IAEhB,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @kya-os/mcp-i - Optimized MCP Identity with production features
|
|
3
|
+
*
|
|
4
|
+
* Enable any MCP server to get a verifiable identity with just 2 lines of code:
|
|
5
|
+
*
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import "@kya-os/mcp-i/auto"; // That's it! Your server now has identity
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
import { MCPIdentityOptions, Challenge, ChallengeResponse, MCPICapabilities, SignedResponse, MCPMiddleware, DirectoryPreference } from './types';
|
|
11
|
+
import { KeyRotationResult, KeyHealth } from './rotation';
|
|
12
|
+
export * from './types';
|
|
13
|
+
export * from './vercel-adapter';
|
|
14
|
+
export { RegistryFactory, REGISTRY_TIERS, resolveRegistries } from './registry';
|
|
15
|
+
export { LoggerFactory, ConsoleLogger, SilentLogger } from './logger';
|
|
16
|
+
export { StorageFactory, MemoryStorage, FileStorage } from './storage';
|
|
17
|
+
export { TransportFactory, RuntimeDetector } from './transport';
|
|
18
|
+
export { KeyRotationManager } from './rotation';
|
|
19
|
+
export { initWithDevExperience, showAgentStatus } from './dev-helper';
|
|
20
|
+
export declare class MCPIdentity {
|
|
21
|
+
readonly did: string;
|
|
22
|
+
readonly publicKey: string;
|
|
23
|
+
private privateKey;
|
|
24
|
+
private timestampTolerance;
|
|
25
|
+
private enableNonceTracking;
|
|
26
|
+
private usedNonces;
|
|
27
|
+
private nonceCleanupInterval?;
|
|
28
|
+
private encryptionPassword?;
|
|
29
|
+
private decryptedPrivateKey?;
|
|
30
|
+
private directories;
|
|
31
|
+
private storage;
|
|
32
|
+
private transport;
|
|
33
|
+
private logger;
|
|
34
|
+
private rotationManager?;
|
|
35
|
+
private precomputed;
|
|
36
|
+
private constructor();
|
|
37
|
+
/**
|
|
38
|
+
* Initialize MCP Identity - the main entry point
|
|
39
|
+
*/
|
|
40
|
+
static init(options?: MCPIdentityOptions): Promise<MCPIdentity>;
|
|
41
|
+
/**
|
|
42
|
+
* Enable automatic key rotation
|
|
43
|
+
*/
|
|
44
|
+
enableAutoRotation(policy?: {
|
|
45
|
+
maxAge?: number;
|
|
46
|
+
maxSignatures?: number;
|
|
47
|
+
}): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Manually rotate keys
|
|
50
|
+
*/
|
|
51
|
+
rotateKeys(reason?: string): Promise<KeyRotationResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Check key health
|
|
54
|
+
*/
|
|
55
|
+
checkKeyHealth(): KeyHealth | null;
|
|
56
|
+
/**
|
|
57
|
+
* Get decrypted private key (lazy decryption)
|
|
58
|
+
*/
|
|
59
|
+
private getPrivateKey;
|
|
60
|
+
/**
|
|
61
|
+
* Sign a message with caching
|
|
62
|
+
*/
|
|
63
|
+
sign(message: string | Buffer): Promise<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Request edit access with claim URL support
|
|
66
|
+
*/
|
|
67
|
+
requestEditAccess(): Promise<{
|
|
68
|
+
editUrl: string;
|
|
69
|
+
claimUrl?: string;
|
|
70
|
+
}>;
|
|
71
|
+
/**
|
|
72
|
+
* Verify a signature
|
|
73
|
+
*/
|
|
74
|
+
verify(message: string | Buffer, signature: string, publicKey?: string): Promise<boolean>;
|
|
75
|
+
/**
|
|
76
|
+
* Respond to an MCP-I challenge
|
|
77
|
+
*/
|
|
78
|
+
respondToChallenge(challenge: Challenge): Promise<ChallengeResponse>;
|
|
79
|
+
/**
|
|
80
|
+
* Get MCP-I capabilities for advertisement
|
|
81
|
+
*/
|
|
82
|
+
getCapabilities(): MCPICapabilities;
|
|
83
|
+
/**
|
|
84
|
+
* Sign an MCP response with identity metadata
|
|
85
|
+
*/
|
|
86
|
+
signResponse<T = any>(response: T): Promise<SignedResponse<T>>;
|
|
87
|
+
/**
|
|
88
|
+
* Generate a new nonce for challenges
|
|
89
|
+
*/
|
|
90
|
+
static generateNonce(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Get directory preferences
|
|
93
|
+
*/
|
|
94
|
+
getDirectories(): DirectoryPreference;
|
|
95
|
+
/**
|
|
96
|
+
* Clean up old nonces periodically to prevent memory leaks
|
|
97
|
+
*/
|
|
98
|
+
private startNonceCleanup;
|
|
99
|
+
/**
|
|
100
|
+
* Clean up resources
|
|
101
|
+
*/
|
|
102
|
+
destroy(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Helper to extract agent name from DID
|
|
105
|
+
*/
|
|
106
|
+
private extractAgentName;
|
|
107
|
+
/**
|
|
108
|
+
* Helper to extract agent ID
|
|
109
|
+
*/
|
|
110
|
+
private extractAgentId;
|
|
111
|
+
/**
|
|
112
|
+
* Helper to extract agent slug
|
|
113
|
+
*/
|
|
114
|
+
private extractAgentSlug;
|
|
115
|
+
/**
|
|
116
|
+
* Persist full identity (for key rotation)
|
|
117
|
+
*/
|
|
118
|
+
private persistIdentity;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Enable MCP Identity for any MCP server
|
|
122
|
+
*/
|
|
123
|
+
export declare function enableMCPIdentity(options?: MCPIdentityOptions): Promise<MCPIdentity>;
|
|
124
|
+
/**
|
|
125
|
+
* Create MCP middleware for manual integration
|
|
126
|
+
*/
|
|
127
|
+
export declare function createMCPMiddleware(identity: MCPIdentity): MCPMiddleware;
|
|
128
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|