@mariozechner/pi-coding-agent
Version:
Coding agent CLI with read, bash, edit, write tools and session management
71 lines • 2.4 kB
TypeScript
/**
* TUI component for managing package resources (enable/disable)
*/
import { type Component, Container, type Focusable } from "@mariozechner/pi-tui";
import type { PathMetadata, ResolvedPaths } from "../../../core/package-manager.js";
import type { SettingsManager } from "../../../core/settings-manager.js";
type ResourceType = "extensions" | "skills" | "prompts" | "themes";
interface ResourceItem {
path: string;
enabled: boolean;
metadata: PathMetadata;
resourceType: ResourceType;
displayName: string;
groupKey: string;
subgroupKey: string;
}
interface ResourceSubgroup {
type: ResourceType;
label: string;
items: ResourceItem[];
}
interface ResourceGroup {
key: string;
label: string;
scope: "user" | "project" | "temporary";
origin: "package" | "top-level";
source: string;
subgroups: ResourceSubgroup[];
}
declare class ResourceList implements Component, Focusable {
private groups;
private flatItems;
private filteredItems;
private selectedIndex;
private searchInput;
private maxVisible;
private settingsManager;
private cwd;
private agentDir;
onCancel?: () => void;
onExit?: () => void;
onToggle?: (item: ResourceItem, newEnabled: boolean) => void;
private _focused;
get focused(): boolean;
set focused(value: boolean);
constructor(groups: ResourceGroup[], settingsManager: SettingsManager, cwd: string, agentDir: string);
private buildFlatList;
private findNextItem;
private filterItems;
private selectFirstItem;
updateItem(item: ResourceItem, enabled: boolean): void;
invalidate(): void;
render(width: number): string[];
handleInput(data: string): void;
private toggleResource;
private toggleTopLevelResource;
private togglePackageResource;
private getTopLevelBaseDir;
private getResourcePattern;
private getPackageResourcePattern;
}
export declare class ConfigSelectorComponent extends Container implements Focusable {
private resourceList;
private _focused;
get focused(): boolean;
set focused(value: boolean);
constructor(resolvedPaths: ResolvedPaths, settingsManager: SettingsManager, cwd: string, agentDir: string, onClose: () => void, onExit: () => void, requestRender: () => void);
getResourceList(): ResourceList;
}
export {};
//# sourceMappingURL=config-selector.d.ts.map