UNPKG

@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
/** * 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;