behemoth-cli
Version:
🌍 BEHEMOTH CLIv3.760.4 - Level 50+ POST-SINGULARITY Intelligence Trading AI
77 lines • 2.44 kB
TypeScript
export interface Provider {
name: string;
displayName: string;
baseUrl: string;
apiKeyName: string;
requiresAuth: boolean;
supportedModels?: string[];
defaultModel?: string;
rateLimit?: {
requestsPerMinute: number;
tokensPerMinute?: number;
};
}
export interface ProviderConfig {
apiKey?: string;
apiKeys?: string[];
currentKeyIndex?: number;
defaultModel?: string;
customBaseUrl?: string;
enabled?: boolean;
}
export interface N8nConfig {
url: string;
apiKey?: string;
enabled: boolean;
}
export interface MultiProviderSettings {
providers: Record<string, ProviderConfig>;
exchanges: Record<string, {
apiKey: string;
apiSecret: string;
passphrase?: string;
}>;
n8n?: N8nConfig;
defaultProvider: string;
lastUsedProvider?: string;
}
export declare const PROVIDERS: Record<string, Provider>;
export declare class MultiProviderConfigManager {
private configPath;
constructor();
private ensureConfigDir;
private getDefaultConfig;
getConfig(): MultiProviderSettings;
saveConfig(config: MultiProviderSettings): void;
getProviderConfig(providerName: string): ProviderConfig | null;
setProviderApiKey(providerName: string, apiKey: string): void;
getProviderApiKey(providerName: string): string | null;
rotateProviderApiKey(providerName: string): string | null;
setDefaultProvider(providerName: string): void;
getDefaultProvider(): string;
setProviderModel(providerName: string, modelName: string): void;
getProviderModel(providerName: string): string | null;
getEnabledProviders(): string[];
isProviderConfigured(providerName: string): boolean;
getAllConfiguredProviders(): Array<{
name: string;
provider: Provider;
configured: boolean;
}>;
clearProviderApiKey(providerName: string): void;
enableProvider(providerName: string, enabled?: boolean): void;
setExchangeKeys(exchangeName: string, keys: {
apiKey: string;
apiSecret: string;
passphrase?: string;
}): void;
getExchangeKeys(exchangeName: string): {
apiKey: string;
apiSecret: string;
passphrase?: string;
} | null;
setN8nConfig(n8nConfig: N8nConfig): void;
getN8nConfig(): N8nConfig | null;
migrateFromGroqConfig(): void;
}
//# sourceMappingURL=multi-provider-config.d.ts.map