eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
46 lines (45 loc) • 1.59 kB
TypeScript
import { type NodeEngineOverride } from "#setup/node-engine.js";
import type { PackageManagerKind } from "#setup/package-manager.js";
import type { WorkspaceRootMutation } from "#setup/scaffold/workspace-root.js";
import type { GitInitResult } from "./init-git.js";
import type { InitCliLogger } from "./init-agent-workspace.js";
import type { InitFailurePolicy } from "./init-recovery.js";
export type PreparedInitProject = {
configurationFilesChanged: string[];
dependenciesAdded: string[];
failurePolicy: "preserve";
filesWritten: string[];
kind: "added";
nodeEngineOverride?: NodeEngineOverride;
packageManager: PackageManagerKind;
projectPath: string;
} | {
failurePolicy: InitFailurePolicy;
kind: "created";
packageManager: PackageManagerKind;
preservedTargetEntries: readonly string[];
projectPath: string;
retryCommand: string;
workspaceMember: boolean;
workspaceRootMutations: WorkspaceRootMutation[];
};
export type InitResult = {
elapsedMs: number;
agentLaunched: boolean;
packageManager: PackageManagerKind;
projectPath: string;
selfModificationEnabled: boolean;
} & ({
configurationFilesChanged: string[];
dependenciesAdded: string[];
filesWritten: string[];
kind: "added";
nodeEngineOverride?: NodeEngineOverride;
} | {
gitResult: GitInitResult;
kind: "created";
workspaceRootMutations: WorkspaceRootMutation[];
});
export declare function reportExistingProjectChanges(logger: InitCliLogger, project: Extract<PreparedInitProject, {
kind: "added";
}>): void;