@blundergoat/goat-flow
Version:
AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.
41 lines • 1.53 kB
TypeScript
type ProjectIdentitySource = "git-remote" | "goat-marker" | "path";
/**
* Stable project identity used to recognise the same checkout after it moves.
*/
export interface DashboardProjectIdentity {
identity: string;
identitySource: ProjectIdentitySource;
currentPath: string;
remoteUrlHash?: string | undefined;
markerId?: string | undefined;
}
/**
* Persistent dashboard project entry, including every known local path for the identity.
*/
interface DashboardProjectRecord extends DashboardProjectIdentity {
paths: string[];
title?: string | undefined;
}
/**
* On-disk dashboard state schema, including legacy path lists and identity records.
*/
export interface DashboardStateData {
paths: string[];
favorites: string[];
projectTitles: Record<string, string>;
projects: Record<string, DashboardProjectRecord>;
}
export declare function resolveProjectIdentity(projectPath: string, options?: {
allowMarkerWrite?: boolean;
}): DashboardProjectIdentity;
export declare function hydrateDashboardState(state: DashboardStateData, options: {
allowMarkerWrite: boolean;
}): DashboardStateData;
/**
* Read dashboard state from the new file first, then the legacy projects-only file.
*
* Swallows malformed or missing state files so the dashboard can recover to empty state.
*/
export declare function loadDashboardState(dashboardStateFile: string, legacyProjectsListFile: string): Promise<DashboardStateData>;
export {};
//# sourceMappingURL=dashboard-project-state.d.ts.map