eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
31 lines (30 loc) • 1.78 kB
TypeScript
import type { ConnectionSelectOption } from "#setup/cli/index.js";
import { type Asker } from "../ask.js";
import type { ConnectionPlan, SetupState } from "../state.js";
import type { SetupBox } from "../step.js";
export declare const CONNECT_REQUIRES_VERCEL = "Authenticates through Vercel Connect, which needs a Vercel project. Re-run and choose to deploy to Vercel.";
export interface SelectConnectionsOptions {
/** Resolves the picker and custom sub-questions; the composed stack decides how. */
asker: Asker;
/**
* Headless mode: skips the picker entirely unless `presetConnections` were
* requested. Fixed at composition time (the same place the asker base is
* chosen), since `gather` cannot read the mode off the asker.
*/
headless?: boolean;
/** Skip the picker and plan exactly these catalog slugs. */
presetConnections?: string[];
}
/** Exported for tests: the picker rows derived from the curated catalog. */
export declare function buildCatalogOptions(disabledReasons: Readonly<Record<string, string>>): ConnectionSelectOption[];
/**
* THE CONNECTION SELECTION BOX: part of the interview phase, before any
* filesystem write. Offers the connection catalog (plus a custom MCP / OpenAPI
* escape hatch through preset slugs) and resolves every prompt into
* fully-specified {@link ConnectionPlan}s recorded on the state; the
* add-connections box executes them after the scaffold and link. The full
* catalog is selectable: the deployment decision comes later in the interview,
* and the provisioning box resolves to Vercel when a Connect-backed selection
* needs a project.
*/
export declare function selectConnections(options: SelectConnectionsOptions): SetupBox<SetupState, ConnectionPlan[], ConnectionPlan[]>;