@ably/cli
Version:
Ably CLI for Pub/Sub, Chat and Spaces
53 lines (52 loc) • 3.11 kB
TypeScript
import { AblyBaseCommand } from "./base-command.js";
import { ControlApi } from "./services/control-api.js";
import { BaseFlags } from "./types/cli.js";
export declare abstract class ControlBaseCommand extends AblyBaseCommand {
static globalFlags: {
"access-token": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
"api-key": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
"client-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
"control-host": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
env: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
endpoint: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
host: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
port: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
tlsPort: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
tls: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
"pretty-json": import("@oclif/core/interfaces").BooleanFlag<boolean>;
token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
"web-cli-help": import("@oclif/core/interfaces").BooleanFlag<boolean>;
};
/**
* Create a Control API instance for making requests
*/
protected createControlApi(flags: BaseFlags): ControlApi;
protected formatDate(timestamp: number): string;
/**
* Resolves the app ID from the flags, current configuration, or interactive prompt
* @param flags The command flags
* @returns The app ID
*/
protected resolveAppId(flags: BaseFlags): Promise<string>;
/**
* Resolves an app ID from a name or ID
* @param appNameOrId The app name or ID to resolve
* @returns The app ID
*/
protected resolveAppIdFromNameOrId(appNameOrId: string): Promise<string>;
/**
* Prompts the user to select an app
* @returns The selected app ID
*/
protected promptForApp(): Promise<string>;
/**
* Simple validation to check if a string looks like an app ID (UUID)
*/
private isValidAppId;
/**
* Run the Control API command with standard error handling
*/
protected runControlCommand<T>(flags: BaseFlags, apiCall: (api: ControlApi) => Promise<T>, errorMessage?: string): Promise<T | null>;
}