@mariozechner/pi-coding-agent
Version:
Coding agent CLI with read, bash, edit, write tools and session management
48 lines • 2.07 kB
TypeScript
/**
* Provides git branch and extension statuses - data not otherwise accessible to extensions.
* Token stats, model info available via ctx.sessionManager and ctx.model.
*/
export declare class FooterDataProvider {
private cwd;
private static readonly WATCH_DEBOUNCE_MS;
private extensionStatuses;
private cachedBranch;
private gitPaths;
private headWatcher;
private reftableWatcher;
private reftableTablesListWatcher;
private reftableTablesListPath;
private branchChangeCallbacks;
private availableProviderCount;
private refreshTimer;
private refreshInFlight;
private refreshPending;
private disposed;
constructor(cwd: string);
/** Current git branch, null if not in repo, "detached" if detached HEAD */
getGitBranch(): string | null;
/** Extension status texts set via ctx.ui.setStatus() */
getExtensionStatuses(): ReadonlyMap<string, string>;
/** Subscribe to git branch changes. Returns unsubscribe function. */
onBranchChange(callback: () => void): () => void;
/** Internal: set extension status */
setExtensionStatus(key: string, text: string | undefined): void;
/** Internal: clear extension statuses */
clearExtensionStatuses(): void;
/** Number of unique providers with available models (for footer display) */
getAvailableProviderCount(): number;
/** Internal: update available provider count */
setAvailableProviderCount(count: number): void;
setCwd(cwd: string): void;
/** Internal: cleanup */
dispose(): void;
private notifyBranchChange;
private scheduleRefresh;
private refreshGitBranchAsync;
private resolveGitBranchSync;
private resolveGitBranchAsync;
private setupGitWatcher;
}
/** Read-only view for extensions - excludes setExtensionStatus, setAvailableProviderCount and dispose */
export type ReadonlyFooterDataProvider = Pick<FooterDataProvider, "getGitBranch" | "getExtensionStatuses" | "getAvailableProviderCount" | "onBranchChange">;
//# sourceMappingURL=footer-data-provider.d.ts.map