tdpw
Version:
CLI tool for uploading Playwright test reports to TestDino platform with TestDino storage support
97 lines • 3.4 kB
TypeScript
/**
* Core types and interfaces for TestDino CLI
*/
import { z } from 'zod';
export declare const CLIOptionsSchema: z.ZodObject<{
reportDirectory: z.ZodString;
token: z.ZodString;
uploadImages: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
uploadVideos: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
uploadHtml: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
uploadTraces: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
uploadFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
uploadFullJson: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
jsonReport: z.ZodOptional<z.ZodString>;
htmlReport: z.ZodOptional<z.ZodString>;
traceDir: z.ZodOptional<z.ZodString>;
verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
environment: z.ZodDefault<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type CLIOptions = z.infer<typeof CLIOptionsSchema>;
export declare const ConfigSchema: z.ZodObject<{
apiUrl: z.ZodString;
token: z.ZodString;
uploadImages: z.ZodDefault<z.ZodBoolean>;
uploadVideos: z.ZodDefault<z.ZodBoolean>;
uploadHtml: z.ZodDefault<z.ZodBoolean>;
uploadTraces: z.ZodDefault<z.ZodBoolean>;
uploadFiles: z.ZodDefault<z.ZodBoolean>;
uploadFullJson: z.ZodDefault<z.ZodBoolean>;
verbose: z.ZodDefault<z.ZodBoolean>;
environment: z.ZodDefault<z.ZodString>;
batchSize: z.ZodDefault<z.ZodNumber>;
maxConcurrentUploads: z.ZodDefault<z.ZodNumber>;
uploadTimeout: z.ZodDefault<z.ZodNumber>;
retryAttempts: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export type Config = z.infer<typeof ConfigSchema>;
export declare class BaseError extends Error {
readonly code: string;
readonly cause?: Error;
constructor(message: string, code: string, cause?: Error);
}
export declare class ConfigurationError extends BaseError {
constructor(message: string, cause?: Error);
}
export declare class ValidationError extends BaseError {
constructor(message: string, cause?: Error);
}
export declare class NetworkError extends BaseError {
constructor(message: string, cause?: Error);
}
export declare class FileSystemError extends BaseError {
constructor(message: string, cause?: Error);
}
export declare class AuthenticationError extends BaseError {
constructor(message: string, cause?: Error);
}
/**
* Usage limit error data from server response
*/
export interface UsageLimitData {
tier: string;
limit: number;
used: number;
remaining: number;
resetDate: string;
organizationId?: string;
}
/**
* Error thrown when monthly test case limit is exceeded
*/
export declare class UsageLimitError extends BaseError {
readonly data: UsageLimitData;
constructor(message: string, data: UsageLimitData, cause?: Error);
}
export declare enum ExitCode {
SUCCESS = 0,
GENERAL_ERROR = 1,
AUTHENTICATION_ERROR = 2,
FILE_NOT_FOUND_ERROR = 3,
NETWORK_ERROR = 4,
USAGE_LIMIT_ERROR = 5
}
export interface Command {
readonly name: string;
readonly description: string;
execute(options: CLIOptions): Promise<void>;
}
export interface ProgressTracker {
start(message: string): void;
update(message: string): void;
succeed(message: string): void;
fail(message: string): void;
warn(message: string): void;
}
export declare const stringToBoolean: (value: string | undefined) => boolean;
//# sourceMappingURL=index.d.ts.map