/** DTO for storing a provider credential. */ export interface StoreCredentialDto { /** Provider identifier (e.g., 'anthropic', 'openai', 'openrouter', 'zai') */ provider: string; /** Credential type */ type: 'api_key' | 'oauth_token'; /** Plain-text credential value — will be encrypted before storage */ value: string; /** Optional extra config (e.g., base URL overrides) */ metadata?: Record; } /** DTO returned in list/existence responses — never contains decrypted values. */ export interface ProviderCredentialSummaryDto { provider: string; credentialType: 'api_key' | 'oauth_token'; /** Whether a credential is stored for this provider */ exists: boolean; expiresAt?: string | null; metadata?: Record | null; createdAt: string; updatedAt: string; }