UNPKG

@kya-os/mcp-i

Version:

The TypeScript MCP framework with identity features built-in

70 lines (69 loc) 2.49 kB
/** * 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;