@cto.ai/ops
Version:
💻 CTO.ai Ops - The CLI built for Teams 🚀
69 lines (68 loc) • 3.48 kB
TypeScript
import Command, { flags } from '@oclif/command';
import * as OClifConfig from '@oclif/config';
import _inquirer from '@cto.ai/inquirer';
import { Config, User, Team, ValidationFields, SigninPipeline, Tokens, Services } from './types';
declare abstract class CTOCommand extends Command {
accessToken: string;
user: User;
team: Team;
state: {
config: Config;
};
ux: {
print: (text: string) => Promise<void>;
prompt: <A>(questions: _inquirer.ListQuestion<Record<string, any>> | _inquirer.RawListQuestion<Record<string, any>> | _inquirer.ExpandQuestion<Record<string, any>> | _inquirer.CheckboxQuestion<Record<string, any>> | _inquirer.CheckboxPlusQuestion<Record<string, any>> | _inquirer.EmojiQuestion<Record<string, any>> | _inquirer.FuzzyPathQuestion<Record<string, any>> | _inquirer.ConfirmQuestion<Record<string, any>> | _inquirer.InputQuestion<Record<string, any>> | _inquirer.NumberQuestion<Record<string, any>> | _inquirer.PasswordQuestion<Record<string, any>> | _inquirer.EditorQuestion<Record<string, any>> | _inquirer.AutoCompleteQuestion<Record<string, any>> | _inquirer.DatePickerQuestion<Record<string, any>> | _inquirer.Question<Record<string, any>>[]) => Promise<A>;
colors: import("chalk").Chalk & {
supportsColor: import("chalk").ColorSupport;
} & {
callOutCyan: (text: string) => string;
actionBlue: (text: string) => string;
primary: (text: string) => string;
secondary: (text: string) => string;
tertiary: (text: string) => string;
successGreen: (text: string) => string;
errorRed: (text: string) => string;
multiPurple: (text: string) => string;
multiBlue: (text: string) => string;
multiOrange: (text: string) => string;
};
spinner: {
start: (text: string) => void;
stop: (text: string) => void;
};
wait: (duration: number) => Promise<void>;
url: (text: string, url: string) => string;
annotation: (text: string, annotation: string) => void;
table: typeof import("cli-ux/lib/styled/table").table;
tree: typeof import("cli-ux/lib/styled/tree").default;
progress: {
init: (options?: import("cli-progress").Options | undefined) => import("cli-progress").Bar;
};
notify: (options: object) => void;
inquirer: _inquirer.Inquirer;
};
services: Services;
constructor(argv: string[], config: OClifConfig.IConfig, services?: Services);
init(): Promise<void>;
isTokenValid: (tokens: Tokens) => boolean;
checkAndRefreshAccessToken: (tokens: Tokens) => Promise<Config>;
isLoggedIn(): Promise<Config>;
fetchUserInfo: ({ tokens }: SigninPipeline) => Promise<{
meResponse: {
me: {
id: any;
username: any;
email: any;
};
teams: Team[];
};
tokens: Tokens;
}>;
writeConfig: (oldConfigObj: Partial<Config> | null | undefined, newConfigObj: Partial<Config>) => Promise<Partial<Config>>;
readConfig: () => Promise<Config>;
clearConfig: () => Promise<void>;
invalidateKeycloakSession: () => Promise<void>;
initConfig: (tokens: Tokens) => Promise<Config>;
validateUniqueField(query: ValidationFields, accessToken: string): Promise<boolean>;
}
export { CTOCommand as default, flags };