/*
Maintains packages/fingerprint/src/types.ts as an authored fingerprint authored module so agents can evolve it without rediscovering local boundaries.
- Do not implement hashing logic — that lives in fingerprint.ts.
- Do not define normalizer-specific types — those live in their respective normalizer files.
- RFC-0364: initial type definitions for fingerprint options and results.
- RFC-0656: add mode: "stable" for deterministic dist tree hashing with targeted normalization.
*/
export interface FingerprintOptions {
mode: "byte" | "semantic" | "stable";
root?: string;
ignore?: string[];
}
export interface FingerprintFileResult {
path: string;
mode: "byte" | "semantic" | "stable";
normalizer: string;
hash: string;
}
export interface FingerprintResult {
algorithm: "sha256";
mode: "byte" | "semantic" | "stable";
value: string;
files: FingerprintFileResult[];
warnings?: string[];
}