@mcp-consultant-tools/github-enterprise 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/GitHubEnterpriseService.d.ts +179 -0
- package/build/GitHubEnterpriseService.d.ts.map +1 -0
- package/build/GitHubEnterpriseService.js +1101 -0
- package/build/GitHubEnterpriseService.js.map +1 -0
- package/build/index.d.ts +5 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +17 -0
- package/build/index.js.map +1 -0
- package/build/utils/ghe-formatters.d.ts +53 -0
- package/build/utils/ghe-formatters.d.ts.map +1 -0
- package/build/utils/ghe-formatters.js +331 -0
- package/build/utils/ghe-formatters.js.map +1 -0
- package/package.json +26 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Enterprise Repository Configuration
|
|
3
|
+
*/
|
|
4
|
+
export interface GitHubRepoConfig {
|
|
5
|
+
id: string;
|
|
6
|
+
owner: string;
|
|
7
|
+
repo: string;
|
|
8
|
+
defaultBranch?: string;
|
|
9
|
+
active: boolean;
|
|
10
|
+
description?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* GitHub Enterprise Service Configuration
|
|
14
|
+
*/
|
|
15
|
+
export interface GitHubEnterpriseConfig {
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
apiVersion: string;
|
|
18
|
+
authMethod: 'pat' | 'github-app';
|
|
19
|
+
pat?: string;
|
|
20
|
+
appId?: string;
|
|
21
|
+
appPrivateKey?: string;
|
|
22
|
+
appInstallationId?: string;
|
|
23
|
+
repos: GitHubRepoConfig[];
|
|
24
|
+
enableWrite: boolean;
|
|
25
|
+
enableCreate: boolean;
|
|
26
|
+
enableCache: boolean;
|
|
27
|
+
cacheTtl: number;
|
|
28
|
+
maxFileSize: number;
|
|
29
|
+
maxSearchResults: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Branch Selection Result
|
|
33
|
+
*/
|
|
34
|
+
export interface BranchSelection {
|
|
35
|
+
branch: string;
|
|
36
|
+
reason: string;
|
|
37
|
+
confidence: 'high' | 'medium' | 'low';
|
|
38
|
+
alternatives?: string[];
|
|
39
|
+
message?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* GitHub Enterprise Service
|
|
43
|
+
* Manages authentication, API requests, caching, and branch selection for GitHub Enterprise Cloud
|
|
44
|
+
*/
|
|
45
|
+
export declare class GitHubEnterpriseService {
|
|
46
|
+
private config;
|
|
47
|
+
private readonly baseApiUrl;
|
|
48
|
+
private octokit;
|
|
49
|
+
private accessToken;
|
|
50
|
+
private tokenExpirationTime;
|
|
51
|
+
private cache;
|
|
52
|
+
constructor(config: GitHubEnterpriseConfig);
|
|
53
|
+
/**
|
|
54
|
+
* Initialize Octokit client based on authentication method
|
|
55
|
+
*/
|
|
56
|
+
private initializeOctokit;
|
|
57
|
+
/**
|
|
58
|
+
* Get access token with caching (for GitHub App auth)
|
|
59
|
+
* Implements 5-minute buffer pattern before expiry
|
|
60
|
+
*/
|
|
61
|
+
private getAccessToken;
|
|
62
|
+
/**
|
|
63
|
+
* Get cache key for a request
|
|
64
|
+
*/
|
|
65
|
+
private getCacheKey;
|
|
66
|
+
/**
|
|
67
|
+
* Get cached response
|
|
68
|
+
*/
|
|
69
|
+
private getCached;
|
|
70
|
+
/**
|
|
71
|
+
* Set cache entry
|
|
72
|
+
*/
|
|
73
|
+
private setCache;
|
|
74
|
+
/**
|
|
75
|
+
* Clear cache entries
|
|
76
|
+
* @param pattern Optional pattern to match cache keys
|
|
77
|
+
* @param repoId Optional repo ID to clear cache for specific repo
|
|
78
|
+
* @returns Number of cache entries cleared
|
|
79
|
+
*/
|
|
80
|
+
clearCache(pattern?: string, repoId?: string): number;
|
|
81
|
+
/**
|
|
82
|
+
* Make API request with error handling and caching
|
|
83
|
+
*/
|
|
84
|
+
private makeRequest;
|
|
85
|
+
/**
|
|
86
|
+
* Get all configured repositories
|
|
87
|
+
*/
|
|
88
|
+
getAllRepos(): GitHubRepoConfig[];
|
|
89
|
+
/**
|
|
90
|
+
* Get active repositories only
|
|
91
|
+
*/
|
|
92
|
+
getActiveRepos(): GitHubRepoConfig[];
|
|
93
|
+
/**
|
|
94
|
+
* Get repository by ID with validation
|
|
95
|
+
*/
|
|
96
|
+
getRepoById(repoId: string): GitHubRepoConfig;
|
|
97
|
+
/**
|
|
98
|
+
* List all branches for a repository
|
|
99
|
+
*/
|
|
100
|
+
listBranches(repoId: string, protectedOnly?: boolean): Promise<any[]>;
|
|
101
|
+
/**
|
|
102
|
+
* Auto-detect default branch for a repository
|
|
103
|
+
* Handles typos gracefully and provides alternatives
|
|
104
|
+
*/
|
|
105
|
+
getDefaultBranch(repoId: string, userSpecified?: string): Promise<BranchSelection>;
|
|
106
|
+
/**
|
|
107
|
+
* Get file content from a repository
|
|
108
|
+
*/
|
|
109
|
+
getFile(repoId: string, path: string, branch?: string): Promise<any>;
|
|
110
|
+
/**
|
|
111
|
+
* Search code across repositories
|
|
112
|
+
*/
|
|
113
|
+
searchCode(query: string, repoId?: string, path?: string, extension?: string): Promise<any>;
|
|
114
|
+
/**
|
|
115
|
+
* List files in a directory
|
|
116
|
+
*/
|
|
117
|
+
listFiles(repoId: string, path?: string, branch?: string): Promise<any>;
|
|
118
|
+
/**
|
|
119
|
+
* Get commit history for a branch
|
|
120
|
+
*/
|
|
121
|
+
getCommits(repoId: string, branch?: string, since?: string, until?: string, author?: string, path?: string, limit?: number): Promise<any[]>;
|
|
122
|
+
/**
|
|
123
|
+
* Get commit details
|
|
124
|
+
*/
|
|
125
|
+
getCommitDetails(repoId: string, sha: string): Promise<any>;
|
|
126
|
+
/**
|
|
127
|
+
* Search commits by message
|
|
128
|
+
*/
|
|
129
|
+
searchCommits(query: string, repoId?: string, author?: string, since?: string, until?: string): Promise<any>;
|
|
130
|
+
/**
|
|
131
|
+
* Compare two branches
|
|
132
|
+
*/
|
|
133
|
+
compareBranches(repoId: string, base: string, head: string): Promise<any>;
|
|
134
|
+
/**
|
|
135
|
+
* Get branch details
|
|
136
|
+
*/
|
|
137
|
+
getBranchDetails(repoId: string, branch: string): Promise<any>;
|
|
138
|
+
/**
|
|
139
|
+
* List pull requests
|
|
140
|
+
*/
|
|
141
|
+
listPullRequests(repoId: string, state?: 'open' | 'closed' | 'all', base?: string, head?: string, sort?: 'created' | 'updated' | 'popularity', limit?: number): Promise<any[]>;
|
|
142
|
+
/**
|
|
143
|
+
* Get pull request details
|
|
144
|
+
*/
|
|
145
|
+
getPullRequest(repoId: string, prNumber: number): Promise<any>;
|
|
146
|
+
/**
|
|
147
|
+
* Get pull request files
|
|
148
|
+
*/
|
|
149
|
+
getPullRequestFiles(repoId: string, prNumber: number): Promise<any[]>;
|
|
150
|
+
/**
|
|
151
|
+
* Create a new branch (requires GHE_ENABLE_CREATE=true)
|
|
152
|
+
*/
|
|
153
|
+
createBranch(repoId: string, branchName: string, fromBranch?: string): Promise<any>;
|
|
154
|
+
/**
|
|
155
|
+
* Update file content (requires GHE_ENABLE_WRITE=true)
|
|
156
|
+
*/
|
|
157
|
+
updateFile(repoId: string, path: string, content: string, message: string, branch: string, sha: string): Promise<any>;
|
|
158
|
+
/**
|
|
159
|
+
* Create a new file (requires GHE_ENABLE_CREATE=true)
|
|
160
|
+
*/
|
|
161
|
+
createFile(repoId: string, path: string, content: string, message: string, branch: string): Promise<any>;
|
|
162
|
+
/**
|
|
163
|
+
* Search repositories
|
|
164
|
+
*/
|
|
165
|
+
searchRepositories(query: string, owner?: string): Promise<any>;
|
|
166
|
+
/**
|
|
167
|
+
* Get directory structure recursively
|
|
168
|
+
*/
|
|
169
|
+
getDirectoryStructure(repoId: string, path?: string, branch?: string, depth?: number): Promise<any>;
|
|
170
|
+
/**
|
|
171
|
+
* Get file commit history
|
|
172
|
+
*/
|
|
173
|
+
getFileHistory(repoId: string, path: string, branch?: string, limit?: number): Promise<any[]>;
|
|
174
|
+
/**
|
|
175
|
+
* Get commit diff
|
|
176
|
+
*/
|
|
177
|
+
getCommitDiff(repoId: string, sha: string, format?: 'diff' | 'patch'): Promise<string>;
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=GitHubEnterpriseService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubEnterpriseService.d.ts","sourceRoot":"","sources":["../src/GitHubEnterpriseService.ts"],"names":[],"mappings":"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"}
|