@earendil-works/pi-coding-agent
Version:
Coding agent CLI with read, bash, edit, write tools and session management
42 lines • 1.5 kB
TypeScript
import type { Model } from "@earendil-works/pi-ai";
import { Container, type Focusable, Input } from "@earendil-works/pi-tui";
export interface ModelsConfig {
allModels: Model<any>[];
enabledModelIds: string[] | null;
}
export interface ModelsCallbacks {
/** Called whenever the enabled model set or order changes (session-only, no persist) */
onChange: (enabledModelIds: string[] | null) => void | Promise<void>;
/** Called when user wants to persist current selection to settings */
onPersist: (enabledModelIds: string[] | null) => void | Promise<void>;
onCancel: () => void;
}
/**
* Component for enabling/disabling models for Ctrl+P cycling.
* Changes are session-only until explicitly persisted with Ctrl+S.
*/
export declare class ScopedModelsSelectorComponent extends Container implements Focusable {
private modelsById;
private allIds;
private enabledIds;
private filteredItems;
private selectedIndex;
private searchInput;
private _focused;
get focused(): boolean;
set focused(value: boolean);
private listContainer;
private footerText;
private callbacks;
private maxVisible;
private isDirty;
constructor(config: ModelsConfig, callbacks: ModelsCallbacks);
private buildItems;
private getFooterText;
private refresh;
private notifyChange;
private updateList;
handleInput(data: string): void;
getSearchInput(): Input;
}
//# sourceMappingURL=scoped-models-selector.d.ts.map