UNPKG

@entro314labs/ai-changelog-generator

Version:

AI-powered changelog generator with MCP server support - works with most providers, online and local models

83 lines (82 loc) 2.37 kB
/** * Base Storage Interface * * All credential storage backends must implement this interface */ export class BaseStorage { constructor(options = {}) { this.options = options; } /** * Get credential for a provider * @param {string} provider - Provider name (openai, anthropic, etc.) * @returns {Promise<string|null>} Credential value or null if not found */ async get(_provider) { throw new Error('Method not implemented'); } /** * Set credential for a provider * @param {string} provider - Provider name * @param {string} credential - Credential value * @param {Object} metadata - Additional metadata (authType, expiresAt, etc.) * @returns {Promise<void>} */ async set(_provider, _credential, _metadata = {}) { throw new Error('Method not implemented'); } /** * Delete credential for a provider * @param {string} provider - Provider name * @returns {Promise<boolean>} True if deleted, false if not found */ async delete(_provider) { throw new Error('Method not implemented'); } /** * List all providers with credentials * @returns {Promise<string[]>} Array of provider names */ async list() { throw new Error('Method not implemented'); } /** * Check if credential exists for provider * @param {string} provider - Provider name * @returns {Promise<boolean>} */ async has(provider) { const credential = await this.get(provider); return credential !== null; } /** * Get metadata for a credential * @param {string} provider - Provider name * @returns {Promise<Object|null>} Metadata or null */ async getMetadata(_provider) { throw new Error('Method not implemented'); } /** * Get storage type identifier * @returns {string} */ getType() { throw new Error('Method not implemented'); } /** * Get human-readable storage name * @returns {string} */ getName() { throw new Error('Method not implemented'); } /** * Get priority for this storage type * @returns {number} Higher number = higher priority */ getPriority() { throw new Error('Method not implemented'); } } export default BaseStorage;