/** * Git Notes Operations * * Attach and read attribution data from git notes (refs/notes/agentblame) * * Format: * - Two-section format: attestation section (fast grep-able) + JSON metadata */ import type { Attribution, SessionMetadata } from "../types"; /** * Build note content as JSON */ export declare function buildNote(attribution: Attribution, sessions: Record): string; /** * Parse a note (JSON format) */ export declare function parseNote(content: string): Attribution | null; /** * Attach attribution data as a git note to a commit */ export declare function attachNote(repoRoot: string, sha: string, attribution: Attribution, sessions: Record): Promise; /** * Read attribution note from a commit */ export declare function readNote(repoRoot: string, sha: string): Promise; /** * Push notes to remote */ export declare function pushNotes(repoRoot: string, remote?: string): Promise; /** * Fetch notes from remote */ export declare function fetchNotes(repoRoot: string, remote?: string): Promise; /** * Fetch notes from remote, silently ignoring errors */ export declare function fetchNotesQuiet(repoRoot: string, remote?: string, verbose?: boolean): Promise; /** * Copy note from one commit to another (for squash/rebase) */ export declare function copyNote(repoRoot: string, fromSha: string, toSha: string): Promise; /** * Remove note from a commit */ export declare function removeNote(repoRoot: string, sha: string): Promise; /** * Get the notes ref name */ export declare function getNotesRef(): string; /** * Check if a commit has an attribution note */ export declare function hasNote(repoRoot: string, sha: string): Promise; /** * List all commits that have attribution notes */ export declare function listNotedCommits(repoRoot: string): Promise;