socraticode
Version:
SocratiCode — MCP server for local codebase indexing, semantic search, and code dependency graphs. All private, all local via Docker.
20 lines • 1.1 kB
TypeScript
/** Git is a trigger; this does not describe uncommitted working-tree content. */
export interface GitState {
ref: string | null;
head: string;
}
/** One refresh keeps its storage identity even if the checkout moves. */
export interface GitRefreshTarget {
projectId: string;
allowCreate: boolean;
assertCurrent(): Promise<void>;
}
/** Resolve an observed branch through the existing project-identity rules. */
export declare function gitProjectId(projectPath: string, state: GitState): string;
/** Capture storage identity and a guard that rejects subsequent checkout changes. */
export declare function gitRefreshTarget(projectPath: string, state: GitState, allowCreate: boolean): GitRefreshTarget;
/** Read both ref and commit so a same-commit branch switch is still a change. */
export declare function readGitState(projectPath: string): Promise<GitState>;
/** Match both ref and commit; two absent observations are not synchronized. */
export declare function sameGitState(left: GitState | undefined, right: GitState | undefined): boolean;
//# sourceMappingURL=git-state.d.ts.map