@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
49 lines • 2.89 kB
TypeScript
import type { GitHubTransport } from './client.ts';
import { type RepoRef } from './repo.ts';
export declare function listIssues(transport: GitHubTransport, ref: RepoRef, params: Record<string, string>, limit: number): Promise<Record<string, unknown>[]>;
export declare function getIssue(transport: GitHubTransport, ref: RepoRef, number: number): Promise<unknown>;
export declare function createIssue(transport: GitHubTransport, ref: RepoRef, body: Record<string, unknown>): Promise<unknown>;
export declare function editIssue(transport: GitHubTransport, ref: RepoRef, number: number, body: Record<string, unknown>): Promise<unknown>;
export declare function commentIssue(transport: GitHubTransport, ref: RepoRef, number: number, body: string): Promise<unknown>;
export declare function issueComments(transport: GitHubTransport, ref: RepoRef, number: number): Promise<Record<string, unknown>[]>;
/** The selection for each half of gh's IssueByNumber; an empty one is left out. */
export interface IssueSelections {
readonly issue: string;
readonly pull: string;
}
/**
* The selected fields of one issue, over GraphQL, as gh's IssueByNumber asks
* for them for `issue view --json`: the number read as an issue or as a pull
* request, each half with its own selection. A selection that reads a later
* page of a connection is given that cursor as `endCursor`.
*
* Args:
* transport (GitHubTransport): the API client.
* ref (RepoRef): the repository.
* number (number): the issue or pull request.
* selections (IssueSelections): what to read of each.
* endCursor (string | undefined): the cursor `$endCursor` carries.
*/
export declare function issueFields(transport: GitHubTransport, ref: RepoRef, number: number, selections: IssueSelections, endCursor?: string): Promise<Record<string, unknown>>;
/** The narrowing `gh issue list` applies before it lists. */
export interface IssueListFilter {
readonly states: readonly string[];
readonly assignee?: string | undefined;
readonly author?: string | undefined;
readonly labels?: readonly string[];
}
/**
* The selected fields of a repository's issues, over GraphQL, as gh's
* IssueList asks for them for `issue list --json`: newest first, a page of
* up to 100 at a time until `limit`. gh reaches for search to narrow by
* label; the connection's own `labels` filter narrows to the same issues.
*
* Args:
* transport (GitHubTransport): the API client.
* ref (RepoRef): the repository.
* filter (IssueListFilter): the states, assignee, author and labels.
* limit (number): how many issues at most.
* selection (string): the GraphQL selection for each issue.
*/
export declare function listIssueFields(transport: GitHubTransport, ref: RepoRef, filter: IssueListFilter, limit: number, selection: string): Promise<Record<string, unknown>[]>;
//# sourceMappingURL=issue.d.ts.map