import type { CheckpointStore } from "./checkpoint-store.js"; import type { PipelineResult } from "./commit-events.js"; /** * Build the checkpoint commit message body: the subject plus `Checkpoint-Session` * and `Checkpoint-Branch` Git trailers when available. Trailers are omitted * entirely when neither is present so the message stays a plain subject. */ export declare function buildCheckpointMessage(message: string, sessionId?: string, branch?: string | null): string; /** * Create a lightweight checkpoint commit at `turn_end`. * * Steps: * 1. Verify git repository * 2. Check for merge conflicts * 3. Check for uncommitted changes * 4. Stage all files (`git add -A`) * 5. Skip when nothing became stageable (e.g. submodule-internal * dirt only), instead of letting `git commit` fail * 6. Execute `git commit -m ` * * The checkpoint message (e.g. `wip(checkpoint): auto-commit at turn N`) * is supplied by the caller. When `sessionId` is provided, a * `Checkpoint-Session: ` Git trailer is appended to the commit * body so the reorganiser can scope its reset to the owning session; the * current branch is recorded as `Checkpoint-Branch` when resolvable so * merged checkpoints can be traced back to their origin worktree. * * Checkpoint commits are later reorganised into logical Conventional * Commits at `agent_end` by the organiser. * * Error boundary: on any error, `unstageAll` runs before re-throwing. * Footer-status updates are the caller's responsibility. */ export declare function runCheckpointCommit(store: CheckpointStore, message: string, sessionId?: string, options?: { ignoreSubmodules?: boolean; }): Promise; //# sourceMappingURL=pipeline.d.ts.map