@kya-os/mcp-i
Version:
COMING SOON:Production-ready MCP Identity with automatic registration, key rotation, and optimized performance
65 lines • 2.01 kB
TypeScript
/**
* Storage abstraction for MCP-I identity
* Supports both file-based and in-memory storage for different runtime environments
*/
import { PersistedIdentity } from './types';
export interface StorageProvider {
load(): Promise<PersistedIdentity | null>;
save(identity: PersistedIdentity): Promise<void>;
exists(): Promise<boolean>;
}
/**
* File-based storage for traditional Node.js environments
*/
export declare class FileStorage implements StorageProvider {
private filePath;
constructor(customPath?: string);
load(): Promise<PersistedIdentity | null>;
save(identity: PersistedIdentity): Promise<void>;
exists(): Promise<boolean>;
}
/**
* In-memory storage for Lambda/Edge runtime environments
*/
export declare class MemoryStorage implements StorageProvider {
private static instances;
private key;
constructor(key?: string);
load(): Promise<PersistedIdentity | null>;
save(identity: PersistedIdentity): Promise<void>;
exists(): Promise<boolean>;
/**
* Clear all stored identities (useful for testing)
*/
static clear(): void;
}
/**
* Environment variable storage loader
* This works with both file and memory storage as a fallback
*/
export declare class EnvironmentStorage {
static load(): PersistedIdentity | null;
}
/**
* Combined storage that tries multiple providers in order
*/
export declare class CombinedStorage implements StorageProvider {
private providers;
private primaryProvider;
constructor(providers: StorageProvider[]);
load(): Promise<PersistedIdentity | null>;
save(identity: PersistedIdentity): Promise<void>;
exists(): Promise<boolean>;
}
/**
* Storage factory based on runtime detection
*/
export declare class StorageFactory {
static create(options?: {
storage?: 'file' | 'memory' | 'auto';
customPath?: string;
memoryKey?: string;
encryptionPassword?: string;
}): StorageProvider;
}
//# sourceMappingURL=storage.d.ts.map