UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

55 lines • 3.59 kB
import type { GitHubAccount } from '../../../../accessor/github.ts'; import type { CommandFnResult, Context } from '../../../config.ts'; import type { PathSpec } from '../../../../types.ts'; export declare const REPO_FIELDS: readonly string[]; /** * gh's own text view of a repository: two tab-separated header lines and * then the README verbatim, with the `--` separator omitted entirely when * there is no README. Probed against gh 2.85, whose description line is * present and empty for a repository that has none. */ export declare function summary(repo: unknown, readme: string | null): string; /** * `gh repo view`. With `--json` it asks GraphQL for exactly the fields named, * the way gh does, so every field gh accepts is answered in gh's own shape; * the text view reads the REST object and the README. */ export declare function view(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; /** `gh repo list`, over GraphQL for `--json` as `view` is. */ export declare function listCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; export declare function createCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; /** * `gh repo clone`: mirage's `git clone` of the repository. As gh does, the * words after the repository that are not gh's own flags go to git: the first * one, when it has no leading dash, is the directory, put after the URL unless * it is empty, and the rest go before the URL. The token rides only as the * request's Authorization, never on the line, in the config or in the output, * and only when git clones from the install's origin, as gh's credential * helper is scoped to it; a fork's `upstream` remote is not added. */ export declare function cloneCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; /** * `gh repo fork`. gh clones a fork, or adds a remote for one, into the local * checkout, which a workspace does not have: `--clone` is refused, and so is * `--remote` without a repository, where it would name that checkout. gh * ignores `--remote` beside a repository, and `--clone=false` or * `--remote=false` asks for what this fork does anyway. */ export declare function fork(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; export declare function rename(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; /** * `gh repo edit`: the settings named on the line in one `PATCH`, and topics * read and replaced whole when `--add-topic` or `--remove-topic` changes * them. With nothing to edit gh would prompt, so it refuses instead, and a * visibility change needs `--accept-visibility-change-consequences`. Like gh * writing to anything but a terminal, success prints nothing. */ export declare function editCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; /** * `gh repo delete REPO --yes`. A name with no owner is the viewer's, as gh * reads it. The current repository is never deleted by default: gh ignores * `--yes` there and prompts, so without a terminal it refuses. `--confirm` * is gh's deprecated spelling of `--yes`, and it warns the way cobra does. */ export declare function deleteCmd(accessor: GitHubAccount, _paths: PathSpec[], texts: string[], ctx: Context): Promise<CommandFnResult>; //# sourceMappingURL=repo.d.ts.map