eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
25 lines (24 loc) • 1.75 kB
TypeScript
import { type ChannelSetupLog, createPromptCommandOutput } from "#setup/cli/index.js";
import type { Prompter } from "./prompter.js";
import { type VercelProjectOperationOptions } from "./vercel-project-api.js";
export interface CreatedProjectFrameworkOptions extends VercelProjectOperationOptions {
/** Detects whether project sources already use the eve integration for a host framework. */
detectFrameworkIntegrationImport?: (projectRoot: string, importSpecifier: string) => Promise<boolean>;
/** Never prompt; ambiguous host framework detections fall back to the eve preset. */
headless?: boolean;
}
/**
* Best-effort alignment of a linked Vercel project's Framework Preset with the
* host framework the project declares on disk (e.g. Next.js).
*
* A project created as a standalone eve agent keeps the `eve` preset; adding a
* host framework via `eve channels add web` leaves it stale, so the deploy would
* build the agent instead of the host app. Since that command already deploys on
* the user's behalf, this switches the preset directly (no prompt) and notes the
* change. No host framework, an unlinked directory, or an already-correct preset
* is a no-op; a Vercel API failure warns rather than aborting the deploy.
*/
export declare function syncHostFrameworkPreset(prompter: {
log: Pick<ChannelSetupLog, "info" | "warning">;
}, projectRoot: string, onOutput: ReturnType<typeof createPromptCommandOutput>, options: VercelProjectOperationOptions): Promise<void>;
export declare function ensureCreatedProjectFramework(prompter: Prompter, projectRoot: string, team: string, projectId: string, onOutput: ReturnType<typeof createPromptCommandOutput>, options: CreatedProjectFrameworkOptions): Promise<void>;