import type { Repo } from "../api/repo.ts"; export interface LandArgs { view?: string; summary?: string; /** Who is landing. Omit to let the repo resolve it (issue #95) — see `Repo.localActorId`. * The MCP tool still requires it: an agent knows its own id and should say so. */ by?: string; hub?: string; maxAttempts?: number; workspace?: string; } export type LandResult = { landed: true; head: string; treeHash: string; attempts: number; via: "hub" | "local"; } | { landed: false; reason: "conflict" | "needs_evidence" | "rejected" | "exhausted"; attempts: number; detail?: string; conflicts?: unknown[]; packet?: unknown; nextActions: string[]; }; /** * Push → materialize → checkpoint → integrate, retried a bounded number of times. * * The retry exists for contention (someone else's landing raced ours), NOT for conflicts: * an open conflict means a human has to choose, and spinning the loop through it would * burn attempts, pile up checkpoint objects, and still need the human at the end. So a * conflict returns on the FIRST attempt with the packet needed to decide. */ export declare function land(repo: Repo, args: LandArgs): Promise; //# sourceMappingURL=land.d.ts.map