@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
50 lines • 3.43 kB
TypeScript
import { ApiError } from '../api/errors.ts';
import type { LinearConfig } from './config.ts';
export declare class LinearApiError extends ApiError {
readonly errors: readonly unknown[];
constructor(message: string, errors?: readonly unknown[], status?: number | null);
}
export interface LinearTransport {
graphql(query: string, variables?: Record<string, unknown>): Promise<Record<string, unknown>>;
}
export declare class HttpLinearTransport implements LinearTransport {
protected readonly fetch: typeof fetch;
private readonly apiKey;
private readonly baseUrl;
private readonly timeout;
constructor(opts: Pick<LinearConfig, 'apiKey' | 'baseUrl' | 'timeout'>);
graphql(query: string, variables?: Record<string, unknown>): Promise<Record<string, unknown>>;
}
export declare function listTeams(transport: LinearTransport): Promise<Record<string, unknown>[]>;
export declare function listTeamMembers(transport: LinearTransport, teamId: string, limit?: number): Promise<Record<string, unknown>[]>;
export declare function listTeamIssues(transport: LinearTransport, teamId: string, limit?: number, projects?: readonly string[]): Promise<Record<string, unknown>[]>;
export declare function listTeamProjects(transport: LinearTransport, teamId: string, limit?: number): Promise<Record<string, unknown>[]>;
export declare function listTeamCycles(transport: LinearTransport, teamId: string, limit?: number): Promise<Record<string, unknown>[]>;
export declare function listTeamLabels(transport: LinearTransport, teamId: string): Promise<Record<string, unknown>[]>;
export declare function listTeamDocuments(transport: LinearTransport, teamId: string, limit?: number): Promise<Record<string, unknown>[]>;
export declare function resolveTeam(transport: LinearTransport, keyOrId: string): Promise<Record<string, unknown>>;
export declare function getIssue(transport: LinearTransport, issueId: string): Promise<Record<string, unknown>>;
export declare function listIssueComments(transport: LinearTransport, issueId: string): Promise<Record<string, unknown>[]>;
export declare function resolveIssueId(transport: LinearTransport, issueId: string | null, issueKey: string | null): Promise<string>;
export declare function resolveUserId(transport: LinearTransport, assigneeId: string | null, assigneeEmail: string | null): Promise<string>;
export interface IssueCreateInput {
teamId: string;
title: string;
description?: string | null;
}
export declare function issueCreate(transport: LinearTransport, input: IssueCreateInput): Promise<Record<string, unknown>>;
export interface IssueUpdateInput {
issueId: string;
title?: string | null;
description?: string | null;
stateId?: string | null;
assigneeId?: string | null;
priority?: number | null;
projectId?: string | null;
labelIds?: readonly string[] | null;
}
export declare function issueUpdate(transport: LinearTransport, input: IssueUpdateInput): Promise<Record<string, unknown>>;
export declare function commentCreate(transport: LinearTransport, issueId: string, body: string): Promise<Record<string, unknown>>;
export declare function commentUpdate(transport: LinearTransport, commentId: string, body: string): Promise<Record<string, unknown>>;
export declare function searchIssues(transport: LinearTransport, query: string, limit?: number): Promise<Record<string, unknown>[]>;
//# sourceMappingURL=client.d.ts.map