export const PI_STYLE_SCHEMA_VERSION = 1 as const; export type Placement = "above" | "below"; export type NerdFontsMode = "auto" | "on" | "off"; export type ToggleMode = "auto" | "on" | "off"; export type PresetName = "default" | "minimal" | "compact" | "full" | "ascii" | "native"; export type EditorStyle = "compact" | "boxed" | "dock" | "native"; export type EditorFrame = "auto" | "halfblock" | "line" | "solid" | "outline" | "rounded" | "native"; export interface StatusCustomItemConfig { id: string; statusKey: string; label?: string; priority?: number; placement?: "left" | "right" | "secondary"; } export interface PiStyleConfig { enabled?: boolean; preset?: string; placement?: string; startup?: { mode?: string; showResources?: boolean; alwaysExpanded?: boolean }; statusLine?: { enabled?: boolean; separator?: string; layout?: { left?: string[]; right?: string[]; secondary?: string[] }; disabledSegments?: string[]; customItems?: StatusCustomItemConfig[]; /** Blank rows reserved below the primary status row (0 disables). */ bottomMargin?: number; /** Context progress-bar cell count (default 10). */ contextBarWidth?: number; }; editor?: { enabled?: boolean; style?: string; frame?: string; showMetadata?: boolean; hint?: string }; messages?: { enabled?: boolean; assistantPrefix?: boolean; specialBlocks?: boolean; hideThinkingLabel?: boolean; /** Surface one clickable `◈ N thoughts ·