eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
42 lines (41 loc) • 1.72 kB
TypeScript
/**
* Environment flag set by `eve dev` so runtime code can distinguish the
* interactive development server from production processes. Optional
* engine packages are auto-installed only when this is set.
*/
export declare const EVE_DEV_ENV_FLAG = "EVE_DEV";
/**
* Reports whether this process belongs to an `eve dev` session.
*/
export declare function isEveDevEnvironment(): boolean;
export type ProjectPackageManager = "bun" | "npm" | "pnpm" | "yarn";
/**
* Detects the project's package manager from its lockfile, walking up
* from `appRoot` so workspace members resolve their monorepo root's
* manager. Defaults to npm when no lockfile is found.
*/
export declare function detectProjectPackageManager(appRoot: string): ProjectPackageManager;
/**
* Installs one package into the application as a devDependency using
* the project's own package manager, so the install is visible in
* `package.json` and the lockfile. Throws with the captured output when
* the install fails.
*/
export declare function installPackageIntoProject(input: {
readonly appRoot: string;
readonly packageName: string;
}): Promise<void>;
/**
* Loads an optional engine package, auto-installing it into the
* project when missing. Installs run only during `eve dev`; any other
* process fails with the caller-supplied actionable message so
* production deployments never mutate the application.
*/
export declare function loadOptionalEnginePackage<T>(input: {
readonly appRoot: string;
readonly autoInstall: boolean;
readonly importInstalledModule?: () => Promise<T>;
readonly importModule: () => Promise<T>;
readonly missingMessage: string;
readonly packageName: string;
}): Promise<T>;