@kya-os/mcp-i
Version:
The TypeScript MCP framework with identity features built-in
70 lines (69 loc) • 2.49 kB
TypeScript
/**
* Node.js Provider Implementations
*
* Wraps existing Node.js implementations to work with the provider-based core.
* This maintains backward compatibility while enabling the new architecture.
*/
import { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, type AgentIdentity } from '@kya-os/mcp-i-core';
/**
* Node.js Crypto Provider using built-in crypto module
*/
export declare class NodeCryptoProvider extends CryptoProvider {
sign(data: Uint8Array, privateKeyBase64: string): Promise<Uint8Array>;
verify(data: Uint8Array, signature: Uint8Array, publicKeyBase64: string): Promise<boolean>;
generateKeyPair(): Promise<{
privateKey: string;
publicKey: string;
}>;
hash(data: Uint8Array): Promise<Uint8Array>;
randomBytes(length: number): Promise<Uint8Array>;
}
/**
* Node.js Clock Provider
*/
export declare class NodeClockProvider extends ClockProvider {
now(): number;
isWithinSkew(timestamp: number, skewSeconds: number): boolean;
hasExpired(expiresAt: number): boolean;
calculateExpiry(ttlSeconds: number): number;
format(timestamp: number): string;
}
/**
* Node.js Fetch Provider using axios
*/
export declare class NodeFetchProvider extends FetchProvider {
resolveDID(did: string): Promise<any>;
fetchStatusList(url: string): Promise<any>;
fetchDelegationChain(_id: string): Promise<any[]>;
fetch(url: string, options?: any): Promise<Response>;
}
/**
* File System Storage Provider
*/
export declare class FileStorageProvider extends StorageProvider {
private basePath;
constructor(basePath: string);
get(key: string): Promise<string | null>;
set(key: string, value: string): Promise<void>;
delete(key: string): Promise<void>;
exists(key: string): Promise<boolean>;
list(prefix?: string): Promise<string[]>;
}
/**
* File System Identity Provider
*/
export declare class FileIdentityProvider extends IdentityProvider {
private basePath;
private cryptoProvider;
private identityFile;
constructor(basePath: string, cryptoProvider: CryptoProvider);
getIdentity(): Promise<AgentIdentity>;
saveIdentity(identity: AgentIdentity): Promise<void>;
rotateKeys(): Promise<AgentIdentity>;
deleteIdentity(): Promise<void>;
private generateDIDFromPublicKey;
}
/**
* Get nonce cache provider based on environment
*/
export declare function getNonceCacheProvider(): NonceCacheProvider;