import type { ExtensionContext } from "@mariozechner/pi-coding-agent"; import type { AutocompleteItem } from "@mariozechner/pi-tui"; import type { WorkMode } from "../work-mode.ts"; /** Dependencies command registrars receive from the hub composition root. */ export interface CommandContext { setWidgetContext(ctx: ExtensionContext): void; applyWorkModeSelection(next: WorkMode, ctx: ExtensionContext): Promise; getWorkModeStatusText(): string; openWorkModePicker(ctx: ExtensionContext): Promise; handleAgentsTeam(args: string, ctx: ExtensionContext): Promise; handleAgentsList(args: string, ctx: ExtensionContext): Promise; handleAgentsHistory(args: string, ctx: ExtensionContext): Promise; handleAgentsAdd(args: string, ctx: ExtensionContext): Promise; handleAgentsDrop(args: string, ctx: ExtensionContext): Promise; handleAgentsSave(args: string, ctx: ExtensionContext): Promise; handleAgentsKill(args: string, ctx: ExtensionContext): Promise; handleAgentsRestart(args: string, ctx: ExtensionContext): Promise; handleContext(args: string, ctx: ExtensionContext): Promise; handleHubReport(args: string, ctx: ExtensionContext): Promise; handleZoom(args: string, ctx: ExtensionContext): Promise; handleDispatchPolicy(args: string, ctx: ExtensionContext): Promise; handleAgentModel(args: string, ctx: ExtensionContext): Promise; handleAgentModelThinking(args: string, ctx: ExtensionContext): Promise; handleModels(args: string, ctx: ExtensionContext): Promise; handleAgentModelsSubstitute(args: string, ctx: ExtensionContext): Promise; handleWatchdog(args: string, ctx: ExtensionContext): Promise; handleComs(args: string, ctx: ExtensionContext): Promise; handleHandoff(args: string, ctx: ExtensionContext): Promise; handleCompound(args: string, ctx: ExtensionContext): Promise; getAgentsKillCompletions(prefix: string): AutocompleteItem[] | null; getZoomCompletions(prefix: string): AutocompleteItem[] | null; getAgentModelCompletions(prefix: string): AutocompleteItem[] | null; getAgentModelThinkingCompletions(prefix: string): AutocompleteItem[] | null; getModelProfileCompletions(prefix: string): AutocompleteItem[] | null; getSubstituteCompletions(prefix: string): AutocompleteItem[] | null; getComsPeerCompletions(prefix: string): AutocompleteItem[] | null; getSubagentTargetCompletions(prefix: string): AutocompleteItem[] | null; }