@builder.io/dev-tools
Version:
Builder.io Visual CMS Devtools
33 lines (32 loc) • 1.52 kB
TypeScript
import type { DevToolsSys } from "@builder.io/dev-tools/core";
import { type FusionConfig, type WorkspaceFolder, type InitState, type InitStateStep, type InitStatusLog } from "$/ai-utils";
export interface InitConfig {
fusionConfig: FusionConfig;
sys: DevToolsSys;
debug?: boolean;
}
export interface InitStatus {
message: string;
error?: string;
}
export declare class InitStateMachine {
logIdCounter: number;
initStatusLogs: InitStatusLog[];
initState: InitState;
debug: boolean;
init(config: InitConfig, signal?: AbortSignal): Promise<boolean>;
addInitLog(type: "status" | "log" | "error" | "complete", message: string, options?: {
step?: InitStateStep;
error?: string;
success?: boolean;
}): void;
clearInitLogs(): void;
step1CheckDirectories(config: InitConfig, repositories: Required<WorkspaceFolder>[], signal?: AbortSignal): Promise<void>;
step2ConfigureGitRepositories(config: InitConfig, repositories: Required<WorkspaceFolder>[], signal?: AbortSignal): Promise<void>;
step3ConfigureGitUser(config: InitConfig, repositories: Required<WorkspaceFolder>[], signal?: AbortSignal): Promise<void>;
step4StashChanges(config: InitConfig, repositories: Required<WorkspaceFolder>[], signal?: AbortSignal): Promise<void>;
private isGitConfigured;
private getGitRemoteUrl;
private sanitizeGitRemoteUrl;
cloneRepository(repo: Required<WorkspaceFolder>, repoPath: string, signal?: AbortSignal): Promise<boolean>;
}