/** * `peaks worktree ` — lease * lifecycle sub-commands. * * Extracted from `worktree-auth-commands.ts` to keep that file under the * 800 LOC cap (mechanical verbatim move). These commands own the lease * lifecycle: spawn writes a lease + runs `git worktree add`; release runs * `git worktree remove` + transitions the lease to 'released'; renew / * list / gc / lease-status read and mutate the same on-disk lease store. * They coexist with `peaks worktree auth grant|revoke|status` (the L2 hook * gate surface) on the shared `peaks worktree` parent command. * * Each sub-command now lives in its own `worktree-lease--command.ts` * sibling (registrar + runner + helpers), with the shared pieces in * `worktree-lease-session.ts` (session / project-root resolution), * `worktree-lease-load.ts` (single-lease loader), `worktree-lease-store.ts` * (lease-store reader) and `worktree-lease-git.ts` (best-effort git * helpers). This module keeps the registration entry point and re-exports * the two resolvers the rest of the CLI imports from this path. Command * names, options, envelopes, error codes and exit codes are unchanged. */ import type { Command } from 'commander'; import { type ProgramIO } from '../cli-helpers.js'; export { resolveProjectRoot, resolveSessionId } from './worktree-lease-session.js'; export declare function registerWorktreeLeaseCommands(auth: Command, io: ProgramIO): void;