/** * GitIngest — feeds The Brain from sources that already exist and already have context, * instead of depending on the model remembering to call `store_memory`: * * - Every git commit (message + files touched) — one entry per commit, incremental. * - CHANGELOG.md release notes — one entry per version, no LLM involved. * * Both are deterministic, git/fs-only, and safe to run on every commit or on demand. */ import { TheBrainV2 } from './TheBrainV2'; export interface CommitIngestResult { ingested: number; skipped: number; lastSha: string | null; } /** Store one commit as a Brain entry. Exported for the post-commit hook (ingests just HEAD). */ export declare function ingestCommit(projectRoot: string, sha: string, brain?: TheBrainV2): { stored: boolean; reason: string; }; /** * Ingest commits since the last marker (or the last `maxCommits` on a first run). Safe to call * on every commit — with a marker in place it only ever processes what's new, so wiring this to * a post-commit hook and running the full backfill manually both go through the same path. */ export declare function ingestRecentCommits(projectRoot: string, opts?: { maxCommits?: number; }): CommitIngestResult; export interface ChangelogIngestResult { ingested: number; skipped: number; versionsSeen: number; } interface ChangelogEntry { version: string; date: string; body: string; } /** Splits a Keep-a-Changelog-style file on `## [version] - date` headers. */ export declare function parseChangelog(markdown: string): ChangelogEntry[]; /** * Store each changelog release as one Brain entry. No LLM involved — this is already * human-written, dense project history that just isn't in The Brain's search surface today. * Marker is the last version ingested (changelogs are prepended-to, newest first). */ export declare function ingestChangelog(projectRoot: string, changelogPath?: string): ChangelogIngestResult; export {}; //# sourceMappingURL=GitIngest.d.ts.map