@ably/cli
Version:
Ably CLI for Pub/Sub, Chat and Spaces
83 lines (82 loc) • 2.35 kB
TypeScript
export interface AppConfig {
apiKey?: string;
appName?: string;
keyId?: string;
keyName?: string;
}
export interface AccountConfig {
accessToken: string;
accountId?: string;
accountName?: string;
apps?: {
[appId: string]: AppConfig;
};
currentAppId?: string;
tokenId?: string;
userEmail?: string;
}
export interface AblyConfig {
accounts: Record<string, AccountConfig>;
current?: {
account?: string;
};
helpContext?: {
conversation: {
messages: {
content: string;
role: "assistant" | "user";
}[];
};
};
}
export declare class ConfigManager {
private config;
private configDir;
private configPath;
constructor();
clearHelpContext(): void;
getAccessToken(alias?: string): string | undefined;
getApiKey(appId?: string): string | undefined;
getAppName(appId: string): string | undefined;
getConfigPath(): string;
getCurrentAccount(): AccountConfig | undefined;
getCurrentAccountAlias(): string | undefined;
getCurrentAppId(): string | undefined;
getHelpContext(): {
conversation: {
messages: {
content: string;
role: "assistant" | "user";
}[];
};
} | undefined;
getKeyId(appId?: string): string | undefined;
getKeyName(appId?: string): string | undefined;
listAccounts(): {
account: AccountConfig;
alias: string;
}[];
removeAccount(alias: string): boolean;
removeApiKey(appId: string): boolean;
saveConfig(): void;
setCurrentApp(appId: string): void;
storeAccount(accessToken: string, alias?: string, accountInfo?: {
accountId?: string;
accountName?: string;
tokenId?: string;
userEmail?: string;
}): void;
storeAppInfo(appId: string, appInfo: {
appName: string;
}, accountAlias?: string): void;
storeAppKey(appId: string, apiKey: string, metadata?: {
appName?: string;
keyId?: string;
keyName?: string;
}, accountAlias?: string): void;
storeHelpContext(question: string, answer: string): void;
switchAccount(alias: string): boolean;
private ensureConfigDirExists;
private formatToToml;
private loadConfig;
}