UNPKG

@hicho-lge/gerrit-mcp

Version:

Gerrit Code Review system을 위한 Model Context Protocol (MCP) 서버 - 23개 도구로 변경사항, 프로젝트, 계정 관리 기능 제공

104 lines (103 loc) 3.94 kB
import { GerritConfig, ChangeInfo, ProjectInfo, AccountInfo, GroupInfo, QueryOptions, ReviewInput, BranchInfo, TagInfo, CommitInfo, CommentInfo, DraftInput, IncludedInInfo, ProjectAccessInfo, FileInfo, CloneInfo, ChangeFetchInfo } from './types.js'; export declare class GerritClient { private client; private config; constructor(config: GerritConfig); queryChanges(options: QueryOptions): Promise<ChangeInfo[]>; getChange(changeId: string, options?: string[]): Promise<ChangeInfo>; getChangeDetail(changeId: string): Promise<ChangeInfo>; reviewChange(changeId: string, revisionId: string, review: ReviewInput): Promise<any>; abandonChange(changeId: string, message?: string): Promise<ChangeInfo>; listProjects(options?: { limit?: number; skip?: number; prefix?: string; regex?: string; description?: boolean; all?: boolean; }): Promise<{ [key: string]: ProjectInfo; }>; getProject(projectName: string): Promise<ProjectInfo>; createProject(projectName: string, input: { parent?: string; description?: string; permissionsOnly?: boolean; createEmptyCommit?: boolean; submitType?: string; branches?: string[]; owners?: string[]; useContributorAgreements?: boolean; useSignedOffBy?: boolean; useContentMerge?: boolean; requireChangeId?: boolean; maxObjectSizeLimit?: string; pluginConfigValues?: { [key: string]: { [key: string]: string; }; }; }): Promise<ProjectInfo>; getAccount(accountId: string): Promise<AccountInfo>; getSelf(): Promise<AccountInfo>; queryAccounts(query: string, options?: { limit?: number; skip?: number; suggest?: boolean; withDetails?: boolean; }): Promise<AccountInfo[]>; listGroups(options?: { limit?: number; skip?: number; owned?: boolean; visibleToAll?: boolean; user?: string; group?: string; regex?: string; }): Promise<{ [key: string]: GroupInfo; }>; getGroup(groupId: string): Promise<GroupInfo>; testConnection(): Promise<{ success: boolean; error?: string; account?: AccountInfo; }>; getServerVersion(): Promise<string>; getProjectDescription(projectName: string): Promise<string>; getProjectHead(projectName: string): Promise<string>; listProjectBranches(projectName: string, options?: { limit?: number; skip?: number; substring?: string; regex?: string; }): Promise<BranchInfo[]>; listProjectTags(projectName: string, options?: { limit?: number; skip?: number; substring?: string; regex?: string; }): Promise<TagInfo[]>; getChangeComments(changeId: string): Promise<{ [path: string]: CommentInfo[]; }>; replyToInlineComment(changeId: string, revisionId: string, draft: DraftInput): Promise<CommentInfo>; getCommit(projectName: string, commitId: string): Promise<CommitInfo>; getIncludedIn(changeId: string, revisionId: string): Promise<IncludedInInfo>; listFiles(changeId: string, revisionId: string, options?: { base?: string; parent?: number; q?: string; }): Promise<{ [path: string]: FileInfo; }>; getFileContent(changeId: string, revisionId: string, filePath: string, options?: { base?: string; parent?: number; }): Promise<string>; listAccessRights(projectName: string): Promise<ProjectAccessInfo>; getProjectCloneInfo(projectName: string): Promise<CloneInfo>; getChangeFetchInfo(changeId: string, patchSetNumber?: number): Promise<ChangeFetchInfo>; private enhanceError; apiCall(method: 'GET' | 'POST' | 'PUT' | 'DELETE', endpoint: string, data?: any): Promise<any>; }