// home/dot_pi/agent/extensions/session-manager/types.ts import type { SessionInfo } from "@earendil-works/pi-coding-agent"; export type Scope = "project" | "all"; export type ColorKey = | "active" | "recent" | "unnamed" | "hidden" | "subagent" | "border" | "text" | "muted" | "gold" | "error" | "shortcutKey"; export type ShortcutKey = | "delete" | "softDelete" | "rename" | "fork" | "scope" | "toggleHidden" | "select" | "newChild" | "newSibling"; /** Configurable slash-command names (overridable via the `commands` config section). */ export type CommandName = "rename"; export interface SMConfig { shortcuts: Record; colors: Record; commands: Record; } export interface FlatItem { session: SessionInfo; depth: number; isLast: boolean; childCount: number; ancestors: boolean[]; // ancestors[i] = true if ancestor at depth i isLast } /** Cached metadata extracted from session file (viewport-lazy loaded) */ export interface SessionMeta { model: string | null; // "provider/modelId" or null if never set estimatedTokens: number; }