UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

51 lines (50 loc) • 1.61 kB
import { type ReasoningLevel } from "#setup/boxes/model-capabilities.js"; import { type SelectState } from "#setup/cli/select-state.js"; import type { ModelSettingsRequest, ModelSettingsResult } from "#setup/flows/model.js"; import type { Theme } from "./theme.js"; type ModelPickerStep = "model" | "speed" | "reasoning"; interface ModelPickerDraft { model: string | null; speed: "standard" | "priority"; reasoning: "default" | ReasoningLevel; } interface ModelPickerPage { step: ModelPickerStep; select: SelectState; draft: ModelPickerDraft; } export interface ModelPickerState extends ModelPickerPage { history: readonly Pick<ModelPickerPage, "step" | "select">[]; } export type ModelPickerEvent = { type: "up"; } | { type: "down"; } | { type: "back"; } | { type: "cancel"; } | { type: "submit"; } | { type: "backspace"; } | { type: "delete-word-backward"; } | { type: "char"; char: string; }; export type ModelPickerTransition = { kind: "render"; state: ModelPickerState; } | { kind: "cancel"; } | { kind: "settle"; result: ModelSettingsResult; }; export declare function initialModelPickerState(request: ModelSettingsRequest): ModelPickerState; export declare function transitionModelPicker(state: ModelPickerState, event: ModelPickerEvent, request: ModelSettingsRequest): ModelPickerTransition; export declare function modelPickerTitle(state: ModelPickerState): string; export declare function renderModelPicker(request: ModelSettingsRequest, state: ModelPickerState, theme: Theme, width: number): string[]; export {};