@ldraney/github-mcp 0.1.0 → 0.2.0-beta.1
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/dist/index.js +8 -2
- package/dist/prompts/activity-summary.d.ts +10 -0
- package/dist/prompts/activity-summary.js +154 -0
- package/dist/prompts/code-review.d.ts +9 -0
- package/dist/prompts/code-review.js +145 -0
- package/dist/prompts/issue-triage.d.ts +9 -0
- package/dist/prompts/issue-triage.js +202 -0
- package/dist/prompts/release-notes.d.ts +9 -0
- package/dist/prompts/release-notes.js +236 -0
- package/dist/server.d.ts +8 -1
- package/dist/server.js +36 -210
- package/dist/tools/categories/actions.d.ts +2 -5
- package/dist/tools/categories/actions.js +640 -369
- package/dist/tools/categories/activity.d.ts +2 -0
- package/dist/tools/categories/activity.js +534 -0
- package/dist/tools/categories/apps.d.ts +2 -0
- package/dist/tools/categories/apps.js +224 -0
- package/dist/tools/categories/billing.d.ts +2 -0
- package/dist/tools/categories/billing.js +145 -0
- package/dist/tools/categories/checks.d.ts +2 -0
- package/dist/tools/categories/checks.js +554 -0
- package/dist/tools/categories/codeScanning.d.ts +2 -0
- package/dist/tools/categories/codeScanning.js +375 -0
- package/dist/tools/categories/codeSecurity.d.ts +2 -0
- package/dist/tools/categories/codeSecurity.js +463 -0
- package/dist/tools/categories/codesOfConduct.d.ts +2 -0
- package/dist/tools/categories/codesOfConduct.js +45 -0
- package/dist/tools/categories/codespaces.d.ts +2 -0
- package/dist/tools/categories/codespaces.js +259 -0
- package/dist/tools/categories/copilot.d.ts +2 -0
- package/dist/tools/categories/copilot.js +187 -0
- package/dist/tools/categories/dependabot.d.ts +2 -0
- package/dist/tools/categories/dependabot.js +454 -0
- package/dist/tools/categories/emojis.d.ts +2 -0
- package/dist/tools/categories/emojis.js +22 -0
- package/dist/tools/categories/gists.d.ts +2 -5
- package/dist/tools/categories/gists.js +474 -285
- package/dist/tools/categories/git.d.ts +2 -0
- package/dist/tools/categories/git.js +520 -0
- package/dist/tools/categories/gitignore.d.ts +2 -0
- package/dist/tools/categories/gitignore.js +45 -0
- package/dist/tools/categories/index.d.ts +33 -0
- package/dist/tools/categories/index.js +33 -0
- package/dist/tools/categories/interactions.d.ts +2 -0
- package/dist/tools/categories/interactions.js +184 -0
- package/dist/tools/categories/issues.d.ts +2 -5
- package/dist/tools/categories/issues.js +692 -390
- package/dist/tools/categories/licenses.d.ts +2 -0
- package/dist/tools/categories/licenses.js +95 -0
- package/dist/tools/categories/markdown.d.ts +2 -0
- package/dist/tools/categories/markdown.js +64 -0
- package/dist/tools/categories/meta.d.ts +2 -0
- package/dist/tools/categories/meta.js +74 -0
- package/dist/tools/categories/migrations.d.ts +2 -0
- package/dist/tools/categories/migrations.js +290 -0
- package/dist/tools/categories/orgs.d.ts +2 -5
- package/dist/tools/categories/orgs.js +585 -417
- package/dist/tools/categories/packages.d.ts +2 -0
- package/dist/tools/categories/packages.js +918 -0
- package/dist/tools/categories/projects.d.ts +2 -0
- package/dist/tools/categories/projects.js +692 -0
- package/dist/tools/categories/pulls.d.ts +2 -5
- package/dist/tools/categories/pulls.js +715 -332
- package/dist/tools/categories/rateLimit.d.ts +2 -0
- package/dist/tools/categories/rateLimit.js +22 -0
- package/dist/tools/categories/reactions.d.ts +2 -0
- package/dist/tools/categories/reactions.js +385 -0
- package/dist/tools/categories/repos.d.ts +2 -5
- package/dist/tools/categories/repos.js +844 -366
- package/dist/tools/categories/search.d.ts +2 -5
- package/dist/tools/categories/search.js +294 -196
- package/dist/tools/categories/secretScanning.d.ts +2 -0
- package/dist/tools/categories/secretScanning.js +324 -0
- package/dist/tools/categories/securityAdvisories.d.ts +2 -0
- package/dist/tools/categories/securityAdvisories.js +407 -0
- package/dist/tools/categories/teams.d.ts +2 -0
- package/dist/tools/categories/teams.js +614 -0
- package/dist/tools/categories/users.d.ts +2 -5
- package/dist/tools/categories/users.js +474 -247
- package/dist/tools/generator.d.ts +35 -15
- package/dist/tools/generator.js +113 -57
- package/dist/tools/types.d.ts +63 -0
- package/dist/tools/types.js +17 -0
- package/package.json +1 -1
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const searchTools: Tool[];
|
|
4
|
-
export declare function handleSearchTool(octokit: Octokit, args: Record<string, unknown>): Promise<unknown>;
|
|
5
|
-
//# sourceMappingURL=search.d.ts.map
|
|
1
|
+
import type { ToolCategory } from '../types.js';
|
|
2
|
+
export declare const searchCategory: ToolCategory;
|
|
@@ -1,217 +1,315 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { successResult } from '../types.js';
|
|
2
|
+
export const searchCategory = {
|
|
3
|
+
name: 'search',
|
|
4
|
+
description: 'GitHub search tools',
|
|
5
|
+
tools: [
|
|
6
|
+
// repos - Search repositories
|
|
7
|
+
{
|
|
8
|
+
definition: {
|
|
9
|
+
name: 'github_search_repos',
|
|
10
|
+
description: 'Search for repositories on GitHub',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
q: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Search query (e.g., "tetris language:assembly")',
|
|
17
|
+
},
|
|
18
|
+
sort: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
enum: ['stars', 'forks', 'help-wanted-issues', 'updated'],
|
|
21
|
+
description: 'Sort field',
|
|
22
|
+
},
|
|
23
|
+
order: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
enum: ['asc', 'desc'],
|
|
26
|
+
description: 'Sort order',
|
|
27
|
+
},
|
|
28
|
+
per_page: {
|
|
29
|
+
type: 'number',
|
|
30
|
+
description: 'Results per page (max 100)',
|
|
31
|
+
},
|
|
32
|
+
page: {
|
|
33
|
+
type: 'number',
|
|
34
|
+
description: 'Page number',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ['q'],
|
|
11
38
|
},
|
|
12
|
-
sort: {
|
|
13
|
-
type: 'string',
|
|
14
|
-
enum: ['stars', 'forks', 'help-wanted-issues', 'updated'],
|
|
15
|
-
description: 'Sort field',
|
|
16
|
-
},
|
|
17
|
-
order: {
|
|
18
|
-
type: 'string',
|
|
19
|
-
enum: ['asc', 'desc'],
|
|
20
|
-
},
|
|
21
|
-
per_page: { type: 'number' },
|
|
22
|
-
page: { type: 'number' },
|
|
23
39
|
},
|
|
24
|
-
|
|
40
|
+
handler: async (octokit, args) => {
|
|
41
|
+
const { data } = await octokit.search.repos({
|
|
42
|
+
q: args.q,
|
|
43
|
+
sort: args.sort,
|
|
44
|
+
order: args.order,
|
|
45
|
+
per_page: args.per_page,
|
|
46
|
+
page: args.page,
|
|
47
|
+
});
|
|
48
|
+
return successResult(data);
|
|
49
|
+
},
|
|
25
50
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
// code - Search code
|
|
52
|
+
{
|
|
53
|
+
definition: {
|
|
54
|
+
name: 'github_search_code',
|
|
55
|
+
description: 'Search for code across GitHub repositories',
|
|
56
|
+
inputSchema: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {
|
|
59
|
+
q: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
description: 'Search query (e.g., "addClass in:file language:js repo:jquery/jquery")',
|
|
62
|
+
},
|
|
63
|
+
sort: {
|
|
64
|
+
type: 'string',
|
|
65
|
+
enum: ['indexed'],
|
|
66
|
+
description: 'Sort field (only indexed is supported)',
|
|
67
|
+
},
|
|
68
|
+
order: {
|
|
69
|
+
type: 'string',
|
|
70
|
+
enum: ['asc', 'desc'],
|
|
71
|
+
description: 'Sort order',
|
|
72
|
+
},
|
|
73
|
+
per_page: {
|
|
74
|
+
type: 'number',
|
|
75
|
+
description: 'Results per page (max 100)',
|
|
76
|
+
},
|
|
77
|
+
page: {
|
|
78
|
+
type: 'number',
|
|
79
|
+
description: 'Page number',
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
required: ['q'],
|
|
45
83
|
},
|
|
46
|
-
per_page: { type: 'number' },
|
|
47
|
-
page: { type: 'number' },
|
|
48
84
|
},
|
|
49
|
-
|
|
85
|
+
handler: async (octokit, args) => {
|
|
86
|
+
const { data } = await octokit.search.code({
|
|
87
|
+
q: args.q,
|
|
88
|
+
sort: args.sort,
|
|
89
|
+
order: args.order,
|
|
90
|
+
per_page: args.per_page,
|
|
91
|
+
page: args.page,
|
|
92
|
+
});
|
|
93
|
+
return successResult(data);
|
|
94
|
+
},
|
|
50
95
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
96
|
+
// issues_and_pull_requests - Search issues and PRs
|
|
97
|
+
{
|
|
98
|
+
definition: {
|
|
99
|
+
name: 'github_search_issues_and_pull_requests',
|
|
100
|
+
description: 'Search for issues and pull requests across GitHub',
|
|
101
|
+
inputSchema: {
|
|
102
|
+
type: 'object',
|
|
103
|
+
properties: {
|
|
104
|
+
q: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
description: 'Search query (e.g., "repo:octocat/hello-world is:open is:issue")',
|
|
107
|
+
},
|
|
108
|
+
sort: {
|
|
109
|
+
type: 'string',
|
|
110
|
+
enum: ['comments', 'reactions', 'reactions-+1', 'reactions--1', 'reactions-smile', 'reactions-thinking_face', 'reactions-heart', 'reactions-tada', 'interactions', 'created', 'updated'],
|
|
111
|
+
description: 'Sort field',
|
|
112
|
+
},
|
|
113
|
+
order: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
enum: ['asc', 'desc'],
|
|
116
|
+
description: 'Sort order',
|
|
117
|
+
},
|
|
118
|
+
per_page: {
|
|
119
|
+
type: 'number',
|
|
120
|
+
description: 'Results per page (max 100)',
|
|
121
|
+
},
|
|
122
|
+
page: {
|
|
123
|
+
type: 'number',
|
|
124
|
+
description: 'Page number',
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
required: ['q'],
|
|
69
128
|
},
|
|
70
|
-
per_page: { type: 'number' },
|
|
71
|
-
page: { type: 'number' },
|
|
72
129
|
},
|
|
73
|
-
|
|
130
|
+
handler: async (octokit, args) => {
|
|
131
|
+
const { data } = await octokit.search.issuesAndPullRequests({
|
|
132
|
+
q: args.q,
|
|
133
|
+
sort: args.sort,
|
|
134
|
+
order: args.order,
|
|
135
|
+
per_page: args.per_page,
|
|
136
|
+
page: args.page,
|
|
137
|
+
});
|
|
138
|
+
return successResult(data);
|
|
139
|
+
},
|
|
74
140
|
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
141
|
+
// users - Search users
|
|
142
|
+
{
|
|
143
|
+
definition: {
|
|
144
|
+
name: 'github_search_users',
|
|
145
|
+
description: 'Search for users on GitHub',
|
|
146
|
+
inputSchema: {
|
|
147
|
+
type: 'object',
|
|
148
|
+
properties: {
|
|
149
|
+
q: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
description: 'Search query (e.g., "tom repos:>42 followers:>1000")',
|
|
152
|
+
},
|
|
153
|
+
sort: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
enum: ['followers', 'repositories', 'joined'],
|
|
156
|
+
description: 'Sort field',
|
|
157
|
+
},
|
|
158
|
+
order: {
|
|
159
|
+
type: 'string',
|
|
160
|
+
enum: ['asc', 'desc'],
|
|
161
|
+
description: 'Sort order',
|
|
162
|
+
},
|
|
163
|
+
per_page: {
|
|
164
|
+
type: 'number',
|
|
165
|
+
description: 'Results per page (max 100)',
|
|
166
|
+
},
|
|
167
|
+
page: {
|
|
168
|
+
type: 'number',
|
|
169
|
+
description: 'Page number',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
required: ['q'],
|
|
89
173
|
},
|
|
90
|
-
order: {
|
|
91
|
-
type: 'string',
|
|
92
|
-
enum: ['asc', 'desc'],
|
|
93
|
-
},
|
|
94
|
-
per_page: { type: 'number' },
|
|
95
|
-
page: { type: 'number' },
|
|
96
174
|
},
|
|
97
|
-
|
|
175
|
+
handler: async (octokit, args) => {
|
|
176
|
+
const { data } = await octokit.search.users({
|
|
177
|
+
q: args.q,
|
|
178
|
+
sort: args.sort,
|
|
179
|
+
order: args.order,
|
|
180
|
+
per_page: args.per_page,
|
|
181
|
+
page: args.page,
|
|
182
|
+
});
|
|
183
|
+
return successResult(data);
|
|
184
|
+
},
|
|
98
185
|
},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
186
|
+
// commits - Search commits
|
|
187
|
+
{
|
|
188
|
+
definition: {
|
|
189
|
+
name: 'github_search_commits',
|
|
190
|
+
description: 'Search for commits across GitHub repositories',
|
|
191
|
+
inputSchema: {
|
|
192
|
+
type: 'object',
|
|
193
|
+
properties: {
|
|
194
|
+
q: {
|
|
195
|
+
type: 'string',
|
|
196
|
+
description: 'Search query (e.g., "repo:octocat/hello-world css")',
|
|
197
|
+
},
|
|
198
|
+
sort: {
|
|
199
|
+
type: 'string',
|
|
200
|
+
enum: ['author-date', 'committer-date'],
|
|
201
|
+
description: 'Sort field',
|
|
202
|
+
},
|
|
203
|
+
order: {
|
|
204
|
+
type: 'string',
|
|
205
|
+
enum: ['asc', 'desc'],
|
|
206
|
+
description: 'Sort order',
|
|
207
|
+
},
|
|
208
|
+
per_page: {
|
|
209
|
+
type: 'number',
|
|
210
|
+
description: 'Results per page (max 100)',
|
|
211
|
+
},
|
|
212
|
+
page: {
|
|
213
|
+
type: 'number',
|
|
214
|
+
description: 'Page number',
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
required: ['q'],
|
|
113
218
|
},
|
|
114
|
-
order: {
|
|
115
|
-
type: 'string',
|
|
116
|
-
enum: ['asc', 'desc'],
|
|
117
|
-
},
|
|
118
|
-
per_page: { type: 'number' },
|
|
119
|
-
page: { type: 'number' },
|
|
120
219
|
},
|
|
121
|
-
|
|
220
|
+
handler: async (octokit, args) => {
|
|
221
|
+
const { data } = await octokit.search.commits({
|
|
222
|
+
q: args.q,
|
|
223
|
+
sort: args.sort,
|
|
224
|
+
order: args.order,
|
|
225
|
+
per_page: args.per_page,
|
|
226
|
+
page: args.page,
|
|
227
|
+
});
|
|
228
|
+
return successResult(data);
|
|
229
|
+
},
|
|
122
230
|
},
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
231
|
+
// topics - Search topics
|
|
232
|
+
{
|
|
233
|
+
definition: {
|
|
234
|
+
name: 'github_search_topics',
|
|
235
|
+
description: 'Search for topics on GitHub',
|
|
236
|
+
inputSchema: {
|
|
237
|
+
type: 'object',
|
|
238
|
+
properties: {
|
|
239
|
+
q: {
|
|
240
|
+
type: 'string',
|
|
241
|
+
description: 'Search query (e.g., "ruby is:featured")',
|
|
242
|
+
},
|
|
243
|
+
per_page: {
|
|
244
|
+
type: 'number',
|
|
245
|
+
description: 'Results per page (max 100)',
|
|
246
|
+
},
|
|
247
|
+
page: {
|
|
248
|
+
type: 'number',
|
|
249
|
+
description: 'Page number',
|
|
250
|
+
},
|
|
251
|
+
},
|
|
252
|
+
required: ['q'],
|
|
133
253
|
},
|
|
134
|
-
per_page: { type: 'number' },
|
|
135
|
-
page: { type: 'number' },
|
|
136
254
|
},
|
|
137
|
-
|
|
255
|
+
handler: async (octokit, args) => {
|
|
256
|
+
const { data } = await octokit.search.topics({
|
|
257
|
+
q: args.q,
|
|
258
|
+
per_page: args.per_page,
|
|
259
|
+
page: args.page,
|
|
260
|
+
});
|
|
261
|
+
return successResult(data);
|
|
262
|
+
},
|
|
138
263
|
},
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
264
|
+
// labels - Search labels
|
|
265
|
+
{
|
|
266
|
+
definition: {
|
|
267
|
+
name: 'github_search_labels',
|
|
268
|
+
description: 'Search for labels in a repository',
|
|
269
|
+
inputSchema: {
|
|
270
|
+
type: 'object',
|
|
271
|
+
properties: {
|
|
272
|
+
repository_id: {
|
|
273
|
+
type: 'number',
|
|
274
|
+
description: 'The ID of the repository to search labels in',
|
|
275
|
+
},
|
|
276
|
+
q: {
|
|
277
|
+
type: 'string',
|
|
278
|
+
description: 'Search query for label names and descriptions',
|
|
279
|
+
},
|
|
280
|
+
sort: {
|
|
281
|
+
type: 'string',
|
|
282
|
+
enum: ['created', 'updated'],
|
|
283
|
+
description: 'Sort field',
|
|
284
|
+
},
|
|
285
|
+
order: {
|
|
286
|
+
type: 'string',
|
|
287
|
+
enum: ['asc', 'desc'],
|
|
288
|
+
description: 'Sort order',
|
|
289
|
+
},
|
|
290
|
+
per_page: {
|
|
291
|
+
type: 'number',
|
|
292
|
+
description: 'Results per page (max 100)',
|
|
293
|
+
},
|
|
294
|
+
page: {
|
|
295
|
+
type: 'number',
|
|
296
|
+
description: 'Page number',
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
required: ['repository_id', 'q'],
|
|
154
300
|
},
|
|
155
|
-
order: {
|
|
156
|
-
type: 'string',
|
|
157
|
-
enum: ['asc', 'desc'],
|
|
158
|
-
},
|
|
159
|
-
per_page: { type: 'number' },
|
|
160
|
-
page: { type: 'number' },
|
|
161
301
|
},
|
|
162
|
-
|
|
302
|
+
handler: async (octokit, args) => {
|
|
303
|
+
const { data } = await octokit.search.labels({
|
|
304
|
+
repository_id: args.repository_id,
|
|
305
|
+
q: args.q,
|
|
306
|
+
sort: args.sort,
|
|
307
|
+
order: args.order,
|
|
308
|
+
per_page: args.per_page,
|
|
309
|
+
page: args.page,
|
|
310
|
+
});
|
|
311
|
+
return successResult(data);
|
|
312
|
+
},
|
|
163
313
|
},
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
export async function handleSearchTool(octokit, args) {
|
|
167
|
-
const q = args.q;
|
|
168
|
-
// Determine search type based on args or query content
|
|
169
|
-
if ('repository_id' in args) {
|
|
170
|
-
const { data } = await octokit.search.labels(args);
|
|
171
|
-
return data;
|
|
172
|
-
}
|
|
173
|
-
// Check for type hints in the query or sort field
|
|
174
|
-
const sort = args.sort;
|
|
175
|
-
if (sort === 'indexed') {
|
|
176
|
-
const { data } = await octokit.search.code(args);
|
|
177
|
-
return data;
|
|
178
|
-
}
|
|
179
|
-
if (sort === 'author-date' || sort === 'committer-date') {
|
|
180
|
-
const { data } = await octokit.search.commits(args);
|
|
181
|
-
return data;
|
|
182
|
-
}
|
|
183
|
-
if (sort === 'followers' || sort === 'repositories' || sort === 'joined') {
|
|
184
|
-
const { data } = await octokit.search.users(args);
|
|
185
|
-
return data;
|
|
186
|
-
}
|
|
187
|
-
if (sort === 'comments' || sort === 'reactions' || sort === 'interactions' || sort?.startsWith('reactions-')) {
|
|
188
|
-
const { data } = await octokit.search.issuesAndPullRequests(args);
|
|
189
|
-
return data;
|
|
190
|
-
}
|
|
191
|
-
if (sort === 'stars' || sort === 'forks' || sort === 'help-wanted-issues' || sort === 'updated') {
|
|
192
|
-
const { data } = await octokit.search.repos(args);
|
|
193
|
-
return data;
|
|
194
|
-
}
|
|
195
|
-
// Check query content for hints
|
|
196
|
-
const lowerQ = q.toLowerCase();
|
|
197
|
-
if (lowerQ.includes('is:issue') || lowerQ.includes('is:pr') || lowerQ.includes('is:open') || lowerQ.includes('is:closed') || lowerQ.includes('label:')) {
|
|
198
|
-
const { data } = await octokit.search.issuesAndPullRequests(args);
|
|
199
|
-
return data;
|
|
200
|
-
}
|
|
201
|
-
if (lowerQ.includes('type:user') || lowerQ.includes('type:org') || lowerQ.includes('followers:') || lowerQ.includes('location:')) {
|
|
202
|
-
const { data } = await octokit.search.users(args);
|
|
203
|
-
return data;
|
|
204
|
-
}
|
|
205
|
-
if (lowerQ.includes('author:') || lowerQ.includes('committer:') || lowerQ.includes('author-date:') || lowerQ.includes('committer-date:')) {
|
|
206
|
-
const { data } = await octokit.search.commits(args);
|
|
207
|
-
return data;
|
|
208
|
-
}
|
|
209
|
-
if (lowerQ.includes('extension:') || lowerQ.includes('filename:') || lowerQ.includes('path:') || (lowerQ.includes('repo:') && !lowerQ.includes('is:'))) {
|
|
210
|
-
const { data } = await octokit.search.code(args);
|
|
211
|
-
return data;
|
|
212
|
-
}
|
|
213
|
-
// Default: search repos
|
|
214
|
-
const { data } = await octokit.search.repos(args);
|
|
215
|
-
return data;
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=search.js.map
|
|
314
|
+
],
|
|
315
|
+
};
|