/** * Git operations for cloning repositories at specific refs. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import * as Effect from "effect/Effect"; import * as Path from "effect/Path"; import { type AppError } from "../app-error/index.js"; /** * Shallow clone a git repository (depth 1, single branch). * Significantly faster than a full clone for read-only use cases like skill discovery. * * @param url - Repository URL (HTTPS or SSH) * @param destination - Local path to clone to * @param ref - Optional git ref (branch or tag) to clone * @returns Effect that resolves on success or fails with GitError * * @experimental This API is unstable and may change without notice. */ export declare const shallowClone: (url: string, destination: string, ref?: string) => Effect.Effect; /** Get the immutable commit checked out at HEAD. */ export declare const getCommitSha: (repoPath: string) => Effect.Effect; /** * Get the git tree SHA for a path within a repository. * * The tree SHA is a hash of the directory's contents at the current commit. * Unlike commit SHA, it is stable across rebases that don't change content. * * @param repoPath - Path to the git repository root * @param subPath - Optional subpath within the repository (defaults to root ".") * @returns Effect that resolves to the tree SHA, or fails if path is not in a git repo * * @experimental This API is unstable and may change without notice. */ export declare const getTreeSha: (repoPath: string, subPath?: string) => Effect.Effect; //# sourceMappingURL=operations.d.ts.map