@entro314labs/ai-changelog-generator
Version:
AI-powered changelog generator with MCP server support - works with most providers, online and local models
91 lines (90 loc) • 2.57 kB
TypeScript
/**
* Keychain Storage Backend
*
* Uses OS-native secure storage via keytar:
* - macOS: Keychain
* - Windows: Credential Vault
* - Linux: Secret Service API / libsecret
*
* Note: Requires keytar dependency. Gracefully degrades if not available.
*/
import { BaseStorage } from './base-storage.js';
export declare class KeychainStorage extends BaseStorage {
[key: string]: any;
constructor(options?: Record<string, any>);
/**
* Initialize keytar (lazy load)
* @private
* @returns {Promise<boolean>}
*/
_init(): Promise<any>;
/**
* Get account name for provider
* @private
* @param {string} provider - Provider name
* @returns {string}
*/
_getAccountName(provider: any): string;
/**
* Check if keychain storage is available
* @returns {Promise<boolean>}
*/
isAvailable(): Promise<any>;
/**
* Get credential for a provider
* @param {string} provider - Provider name
* @returns {Promise<string|null>}
*/
get(provider: any): Promise<any>;
/**
* Set credential for a provider
* @param {string} provider - Provider name
* @param {string} credential - Credential value
* @param {Object} metadata - Additional metadata (stored separately)
* @returns {Promise<void>}
*/
set(provider: any, credential: any, metadata?: Record<string, any>): Promise<void>;
/**
* Delete credential for a provider
* @param {string} provider - Provider name
* @returns {Promise<boolean>}
*/
delete(provider: any): Promise<any>;
/**
* List all providers with credentials
* @returns {Promise<string[]>}
*/
list(): Promise<any[]>;
/**
* Get metadata for a credential
* @param {string} provider - Provider name
* @returns {Promise<Object|null>}
*/
getMetadata(provider: any): Promise<any>;
/**
* Get storage type identifier
* @returns {string}
*/
getType(): string;
/**
* Get human-readable storage name
* @returns {string}
*/
getName(): "Linux Secret Service" | "System Keychain" | "Windows Credential Vault" | "macOS Keychain";
/**
* Get priority for this storage type
* @returns {number}
*/
getPriority(): number;
/**
* Get diagnostic information
* @returns {Promise<Object>}
*/
getDiagnostics(): Promise<{
available: any;
platform: NodeJS.Platform;
serviceName: any;
storageName: string;
}>;
}
export default KeychainStorage;