rawi
Version:
Rawi (راوي) is the developer-friendly AI CLI that brings the power of 12 major AI providers directly to your terminal. With seamless shell integration, persistent conversations, and 200+ specialized prompt templates, Rawi transforms your command line into
26 lines (23 loc) • 1.1 kB
TypeScript
import { RawiCredentials, ConfigureOptions } from '../../shared/types.js';
interface IConfigManager {
getCredentials(profile?: string): RawiCredentials | null;
setCredentials(credentials: RawiCredentials, profile?: string): void;
listProfiles(): string[];
deleteProfile(profile: string): boolean;
getConfigFile(): string;
}
interface IInteractiveConfigManager {
interactiveConfigure(options?: ConfigureOptions): Promise<void>;
}
interface IConfigDisplayManager {
displayCredentials(credentials: RawiCredentials): void;
displayConfigurationSummary(credentials: RawiCredentials): void;
displayProfiles(profiles: string[]): void;
}
interface IProviderConfigManager {
getBaseURL(defaultBaseURL?: string): Promise<string | undefined>;
getAPIEndpoint(defaultEndpoint?: string): Promise<string | undefined>;
getRegion(defaultRegion?: string): Promise<string | undefined>;
getProjectId(defaultProjectId?: string): Promise<string | undefined>;
}
export type { IConfigDisplayManager, IConfigManager, IInteractiveConfigManager, IProviderConfigManager };