@github-tools/sdk 1.2.0 → 1.4.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/README.md +161 -18
- package/dist/agents-C6nqZiYp.d.mts +781 -0
- package/dist/agents-C6nqZiYp.d.mts.map +1 -0
- package/dist/agents-D9aKsd_7.mjs +1649 -0
- package/dist/agents-D9aKsd_7.mjs.map +1 -0
- package/dist/index.d.mts +346 -428
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +109 -778
- package/dist/index.mjs.map +1 -1
- package/dist/workflow.d.mts +727 -0
- package/dist/workflow.d.mts.map +1 -0
- package/dist/workflow.mjs +55 -0
- package/dist/workflow.mjs.map +1 -0
- package/package.json +22 -4
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
import { ApprovalConfig, GithubToolPreset } from "./index.mjs";
|
|
2
|
+
import * as ai from "ai";
|
|
3
|
+
import { Tool, ToolLoopAgent, ToolLoopAgentSettings } from "ai";
|
|
4
|
+
import { Octokit, Octokit as Octokit$1 } from "octokit";
|
|
5
|
+
|
|
6
|
+
//#region src/types.d.ts
|
|
7
|
+
type ToolOptions = {
|
|
8
|
+
needsApproval?: boolean;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Per-tool overrides for customizing tool behavior without changing the underlying implementation.
|
|
12
|
+
* Properties like `execute`, `inputSchema`, and `outputSchema` are intentionally excluded.
|
|
13
|
+
*/
|
|
14
|
+
type ToolOverrides = Partial<Pick<Tool, 'description' | 'needsApproval' | 'onInputAvailable' | 'onInputDelta' | 'onInputStart' | 'providerOptions' | 'strict' | 'title' | 'toModelOutput'>>;
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/client.d.ts
|
|
17
|
+
declare function createOctokit(token: string): Octokit;
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/tools/repository.d.ts
|
|
20
|
+
declare const getRepository: (token: string) => ai.Tool<{
|
|
21
|
+
owner: string;
|
|
22
|
+
repo: string;
|
|
23
|
+
}, {
|
|
24
|
+
name: string;
|
|
25
|
+
fullName: string;
|
|
26
|
+
description: string | null;
|
|
27
|
+
url: string;
|
|
28
|
+
defaultBranch: string;
|
|
29
|
+
stars: number;
|
|
30
|
+
forks: number;
|
|
31
|
+
openIssues: number;
|
|
32
|
+
language: string | null;
|
|
33
|
+
private: boolean;
|
|
34
|
+
createdAt: string;
|
|
35
|
+
updatedAt: string;
|
|
36
|
+
}>;
|
|
37
|
+
declare const listBranches: (token: string) => ai.Tool<{
|
|
38
|
+
owner: string;
|
|
39
|
+
repo: string;
|
|
40
|
+
perPage: number;
|
|
41
|
+
}, {
|
|
42
|
+
name: string;
|
|
43
|
+
sha: string;
|
|
44
|
+
protected: boolean;
|
|
45
|
+
}[]>;
|
|
46
|
+
declare const getFileContent: (token: string) => ai.Tool<{
|
|
47
|
+
owner: string;
|
|
48
|
+
repo: string;
|
|
49
|
+
path: string;
|
|
50
|
+
ref?: string | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
type: string;
|
|
53
|
+
entries: {
|
|
54
|
+
name: string;
|
|
55
|
+
type: "file" | "dir" | "submodule" | "symlink";
|
|
56
|
+
path: string;
|
|
57
|
+
}[];
|
|
58
|
+
path?: undefined;
|
|
59
|
+
sha?: undefined;
|
|
60
|
+
size?: undefined;
|
|
61
|
+
content?: undefined;
|
|
62
|
+
} | {
|
|
63
|
+
type: "submodule" | "symlink";
|
|
64
|
+
path: string;
|
|
65
|
+
entries?: undefined;
|
|
66
|
+
sha?: undefined;
|
|
67
|
+
size?: undefined;
|
|
68
|
+
content?: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
type: string;
|
|
71
|
+
path: string;
|
|
72
|
+
sha: string;
|
|
73
|
+
size: number;
|
|
74
|
+
content: string;
|
|
75
|
+
entries?: undefined;
|
|
76
|
+
}>;
|
|
77
|
+
declare const createBranch: (token: string, {
|
|
78
|
+
needsApproval
|
|
79
|
+
}?: ToolOptions) => ai.Tool<{
|
|
80
|
+
owner: string;
|
|
81
|
+
repo: string;
|
|
82
|
+
branch: string;
|
|
83
|
+
from?: string | undefined;
|
|
84
|
+
}, {
|
|
85
|
+
ref: string;
|
|
86
|
+
sha: string;
|
|
87
|
+
url: string;
|
|
88
|
+
}>;
|
|
89
|
+
declare const forkRepository: (token: string, {
|
|
90
|
+
needsApproval
|
|
91
|
+
}?: ToolOptions) => ai.Tool<{
|
|
92
|
+
owner: string;
|
|
93
|
+
repo: string;
|
|
94
|
+
organization?: string | undefined;
|
|
95
|
+
name?: string | undefined;
|
|
96
|
+
}, {
|
|
97
|
+
name: string;
|
|
98
|
+
fullName: string;
|
|
99
|
+
url: string;
|
|
100
|
+
cloneUrl: string;
|
|
101
|
+
sshUrl: string;
|
|
102
|
+
defaultBranch: string;
|
|
103
|
+
private: boolean;
|
|
104
|
+
parent: {
|
|
105
|
+
fullName: string;
|
|
106
|
+
url: string;
|
|
107
|
+
} | null;
|
|
108
|
+
}>;
|
|
109
|
+
declare const createRepository: (token: string, {
|
|
110
|
+
needsApproval
|
|
111
|
+
}?: ToolOptions) => ai.Tool<{
|
|
112
|
+
name: string;
|
|
113
|
+
isPrivate: boolean;
|
|
114
|
+
autoInit: boolean;
|
|
115
|
+
description?: string | undefined;
|
|
116
|
+
gitignoreTemplate?: string | undefined;
|
|
117
|
+
licenseTemplate?: string | undefined;
|
|
118
|
+
org?: string | undefined;
|
|
119
|
+
}, {
|
|
120
|
+
name: string;
|
|
121
|
+
fullName: string;
|
|
122
|
+
description: string | null;
|
|
123
|
+
url: string;
|
|
124
|
+
cloneUrl: string;
|
|
125
|
+
sshUrl: string;
|
|
126
|
+
defaultBranch: string;
|
|
127
|
+
private: boolean;
|
|
128
|
+
createdAt: string;
|
|
129
|
+
}>;
|
|
130
|
+
declare const createOrUpdateFile: (token: string, {
|
|
131
|
+
needsApproval
|
|
132
|
+
}?: ToolOptions) => ai.Tool<{
|
|
133
|
+
owner: string;
|
|
134
|
+
repo: string;
|
|
135
|
+
path: string;
|
|
136
|
+
message: string;
|
|
137
|
+
content: string;
|
|
138
|
+
branch?: string | undefined;
|
|
139
|
+
sha?: string | undefined;
|
|
140
|
+
}, {
|
|
141
|
+
path: string | undefined;
|
|
142
|
+
sha: string | undefined;
|
|
143
|
+
commitSha: string | undefined;
|
|
144
|
+
commitUrl: string | undefined;
|
|
145
|
+
}>;
|
|
146
|
+
//#endregion
|
|
147
|
+
//#region src/tools/pull-requests.d.ts
|
|
148
|
+
declare const listPullRequests: (token: string) => ai.Tool<{
|
|
149
|
+
owner: string;
|
|
150
|
+
repo: string;
|
|
151
|
+
state: "open" | "closed" | "all";
|
|
152
|
+
perPage: number;
|
|
153
|
+
}, {
|
|
154
|
+
number: number;
|
|
155
|
+
title: string;
|
|
156
|
+
state: string;
|
|
157
|
+
url: string;
|
|
158
|
+
author: string | undefined;
|
|
159
|
+
branch: string;
|
|
160
|
+
base: string;
|
|
161
|
+
draft: boolean | undefined;
|
|
162
|
+
createdAt: string;
|
|
163
|
+
updatedAt: string;
|
|
164
|
+
}[]>;
|
|
165
|
+
declare const getPullRequest: (token: string) => ai.Tool<{
|
|
166
|
+
owner: string;
|
|
167
|
+
repo: string;
|
|
168
|
+
pullNumber: number;
|
|
169
|
+
}, {
|
|
170
|
+
number: number;
|
|
171
|
+
title: string;
|
|
172
|
+
body: string | null;
|
|
173
|
+
state: "open" | "closed";
|
|
174
|
+
url: string;
|
|
175
|
+
author: string;
|
|
176
|
+
branch: string;
|
|
177
|
+
base: string;
|
|
178
|
+
draft: boolean | undefined;
|
|
179
|
+
merged: boolean;
|
|
180
|
+
mergeable: boolean | null;
|
|
181
|
+
additions: number;
|
|
182
|
+
deletions: number;
|
|
183
|
+
changedFiles: number;
|
|
184
|
+
createdAt: string;
|
|
185
|
+
updatedAt: string;
|
|
186
|
+
mergedAt: string | null;
|
|
187
|
+
}>;
|
|
188
|
+
declare const createPullRequest: (token: string, {
|
|
189
|
+
needsApproval
|
|
190
|
+
}?: ToolOptions) => ai.Tool<{
|
|
191
|
+
owner: string;
|
|
192
|
+
repo: string;
|
|
193
|
+
title: string;
|
|
194
|
+
head: string;
|
|
195
|
+
base: string;
|
|
196
|
+
draft: boolean;
|
|
197
|
+
body?: string | undefined;
|
|
198
|
+
}, {
|
|
199
|
+
number: number;
|
|
200
|
+
title: string;
|
|
201
|
+
url: string;
|
|
202
|
+
state: "open" | "closed";
|
|
203
|
+
draft: boolean | undefined;
|
|
204
|
+
branch: string;
|
|
205
|
+
base: string;
|
|
206
|
+
}>;
|
|
207
|
+
declare const mergePullRequest: (token: string, {
|
|
208
|
+
needsApproval
|
|
209
|
+
}?: ToolOptions) => ai.Tool<{
|
|
210
|
+
owner: string;
|
|
211
|
+
repo: string;
|
|
212
|
+
pullNumber: number;
|
|
213
|
+
mergeMethod: "merge" | "squash" | "rebase";
|
|
214
|
+
commitTitle?: string | undefined;
|
|
215
|
+
commitMessage?: string | undefined;
|
|
216
|
+
}, {
|
|
217
|
+
merged: boolean;
|
|
218
|
+
message: string;
|
|
219
|
+
sha: string;
|
|
220
|
+
}>;
|
|
221
|
+
declare const addPullRequestComment: (token: string, {
|
|
222
|
+
needsApproval
|
|
223
|
+
}?: ToolOptions) => ai.Tool<{
|
|
224
|
+
owner: string;
|
|
225
|
+
repo: string;
|
|
226
|
+
pullNumber: number;
|
|
227
|
+
body: string;
|
|
228
|
+
}, {
|
|
229
|
+
id: number;
|
|
230
|
+
url: string;
|
|
231
|
+
body: string | undefined;
|
|
232
|
+
author: string | undefined;
|
|
233
|
+
createdAt: string;
|
|
234
|
+
}>;
|
|
235
|
+
declare const listPullRequestFiles: (token: string) => ai.Tool<{
|
|
236
|
+
owner: string;
|
|
237
|
+
repo: string;
|
|
238
|
+
pullNumber: number;
|
|
239
|
+
perPage: number;
|
|
240
|
+
page: number;
|
|
241
|
+
}, {
|
|
242
|
+
filename: string;
|
|
243
|
+
status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
|
|
244
|
+
additions: number;
|
|
245
|
+
deletions: number;
|
|
246
|
+
changes: number;
|
|
247
|
+
patch: string | undefined;
|
|
248
|
+
}[]>;
|
|
249
|
+
declare const listPullRequestReviews: (token: string) => ai.Tool<{
|
|
250
|
+
owner: string;
|
|
251
|
+
repo: string;
|
|
252
|
+
pullNumber: number;
|
|
253
|
+
perPage: number;
|
|
254
|
+
page: number;
|
|
255
|
+
}, {
|
|
256
|
+
id: number;
|
|
257
|
+
state: string;
|
|
258
|
+
body: string;
|
|
259
|
+
author: string | undefined;
|
|
260
|
+
url: string;
|
|
261
|
+
submittedAt: string | undefined;
|
|
262
|
+
}[]>;
|
|
263
|
+
declare const createPullRequestReview: (token: string, {
|
|
264
|
+
needsApproval
|
|
265
|
+
}?: ToolOptions) => ai.Tool<{
|
|
266
|
+
owner: string;
|
|
267
|
+
repo: string;
|
|
268
|
+
pullNumber: number;
|
|
269
|
+
event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT";
|
|
270
|
+
body?: string | undefined;
|
|
271
|
+
comments?: {
|
|
272
|
+
path: string;
|
|
273
|
+
body: string;
|
|
274
|
+
line?: number | undefined;
|
|
275
|
+
side?: "LEFT" | "RIGHT" | undefined;
|
|
276
|
+
}[] | undefined;
|
|
277
|
+
}, {
|
|
278
|
+
id: number;
|
|
279
|
+
state: string;
|
|
280
|
+
body: string;
|
|
281
|
+
url: string;
|
|
282
|
+
author: string | undefined;
|
|
283
|
+
submittedAt: string | undefined;
|
|
284
|
+
}>;
|
|
285
|
+
//#endregion
|
|
286
|
+
//#region src/tools/issues.d.ts
|
|
287
|
+
declare const listIssues: (token: string) => ai.Tool<{
|
|
288
|
+
owner: string;
|
|
289
|
+
repo: string;
|
|
290
|
+
state: "open" | "closed" | "all";
|
|
291
|
+
perPage: number;
|
|
292
|
+
labels?: string | undefined;
|
|
293
|
+
}, {
|
|
294
|
+
number: number;
|
|
295
|
+
title: string;
|
|
296
|
+
state: string;
|
|
297
|
+
url: string;
|
|
298
|
+
author: string | undefined;
|
|
299
|
+
labels: (string | undefined)[];
|
|
300
|
+
createdAt: string;
|
|
301
|
+
updatedAt: string;
|
|
302
|
+
}[]>;
|
|
303
|
+
declare const getIssue: (token: string) => ai.Tool<{
|
|
304
|
+
owner: string;
|
|
305
|
+
repo: string;
|
|
306
|
+
issueNumber: number;
|
|
307
|
+
}, {
|
|
308
|
+
number: number;
|
|
309
|
+
title: string;
|
|
310
|
+
body: string | null | undefined;
|
|
311
|
+
state: string;
|
|
312
|
+
url: string;
|
|
313
|
+
author: string | undefined;
|
|
314
|
+
assignees: string[] | undefined;
|
|
315
|
+
labels: (string | undefined)[];
|
|
316
|
+
comments: number;
|
|
317
|
+
createdAt: string;
|
|
318
|
+
updatedAt: string;
|
|
319
|
+
closedAt: string | null;
|
|
320
|
+
}>;
|
|
321
|
+
declare const createIssue: (token: string, {
|
|
322
|
+
needsApproval
|
|
323
|
+
}?: ToolOptions) => ai.Tool<{
|
|
324
|
+
owner: string;
|
|
325
|
+
repo: string;
|
|
326
|
+
title: string;
|
|
327
|
+
body?: string | undefined;
|
|
328
|
+
labels?: string[] | undefined;
|
|
329
|
+
assignees?: string[] | undefined;
|
|
330
|
+
}, {
|
|
331
|
+
number: number;
|
|
332
|
+
title: string;
|
|
333
|
+
url: string;
|
|
334
|
+
state: string;
|
|
335
|
+
labels: (string | undefined)[];
|
|
336
|
+
}>;
|
|
337
|
+
declare const addIssueComment: (token: string, {
|
|
338
|
+
needsApproval
|
|
339
|
+
}?: ToolOptions) => ai.Tool<{
|
|
340
|
+
owner: string;
|
|
341
|
+
repo: string;
|
|
342
|
+
issueNumber: number;
|
|
343
|
+
body: string;
|
|
344
|
+
}, {
|
|
345
|
+
id: number;
|
|
346
|
+
url: string;
|
|
347
|
+
body: string | undefined;
|
|
348
|
+
author: string | undefined;
|
|
349
|
+
createdAt: string;
|
|
350
|
+
}>;
|
|
351
|
+
declare const closeIssue: (token: string, {
|
|
352
|
+
needsApproval
|
|
353
|
+
}?: ToolOptions) => ai.Tool<{
|
|
354
|
+
owner: string;
|
|
355
|
+
repo: string;
|
|
356
|
+
issueNumber: number;
|
|
357
|
+
stateReason: "completed" | "not_planned";
|
|
358
|
+
}, {
|
|
359
|
+
number: number;
|
|
360
|
+
title: string;
|
|
361
|
+
state: string;
|
|
362
|
+
url: string;
|
|
363
|
+
closedAt: string | null;
|
|
364
|
+
}>;
|
|
365
|
+
declare const listLabels: (token: string) => ai.Tool<{
|
|
366
|
+
owner: string;
|
|
367
|
+
repo: string;
|
|
368
|
+
perPage: number;
|
|
369
|
+
page: number;
|
|
370
|
+
}, {
|
|
371
|
+
name: string;
|
|
372
|
+
color: string;
|
|
373
|
+
description: string | null;
|
|
374
|
+
}[]>;
|
|
375
|
+
declare const addLabels: (token: string, {
|
|
376
|
+
needsApproval
|
|
377
|
+
}?: ToolOptions) => ai.Tool<{
|
|
378
|
+
owner: string;
|
|
379
|
+
repo: string;
|
|
380
|
+
issueNumber: number;
|
|
381
|
+
labels: string[];
|
|
382
|
+
}, {
|
|
383
|
+
name: string;
|
|
384
|
+
color: string;
|
|
385
|
+
description: string | null;
|
|
386
|
+
}[]>;
|
|
387
|
+
declare const removeLabel: (token: string, {
|
|
388
|
+
needsApproval
|
|
389
|
+
}?: ToolOptions) => ai.Tool<{
|
|
390
|
+
owner: string;
|
|
391
|
+
repo: string;
|
|
392
|
+
issueNumber: number;
|
|
393
|
+
label: string;
|
|
394
|
+
}, {
|
|
395
|
+
removed: boolean;
|
|
396
|
+
label: string;
|
|
397
|
+
issueNumber: number;
|
|
398
|
+
}>;
|
|
399
|
+
//#endregion
|
|
400
|
+
//#region src/tools/search.d.ts
|
|
401
|
+
declare const searchCode: (token: string) => ai.Tool<{
|
|
402
|
+
query: string;
|
|
403
|
+
perPage: number;
|
|
404
|
+
}, {
|
|
405
|
+
totalCount: number;
|
|
406
|
+
items: {
|
|
407
|
+
name: string;
|
|
408
|
+
path: string;
|
|
409
|
+
url: string;
|
|
410
|
+
repository: string;
|
|
411
|
+
sha: string;
|
|
412
|
+
}[];
|
|
413
|
+
}>;
|
|
414
|
+
declare const searchRepositories: (token: string) => ai.Tool<{
|
|
415
|
+
query: string;
|
|
416
|
+
perPage: number;
|
|
417
|
+
order: "asc" | "desc";
|
|
418
|
+
sort?: "stars" | "forks" | "help-wanted-issues" | "updated" | undefined;
|
|
419
|
+
}, {
|
|
420
|
+
totalCount: number;
|
|
421
|
+
items: {
|
|
422
|
+
name: string;
|
|
423
|
+
fullName: string;
|
|
424
|
+
description: string | null;
|
|
425
|
+
url: string;
|
|
426
|
+
stars: number;
|
|
427
|
+
forks: number;
|
|
428
|
+
language: string | null;
|
|
429
|
+
topics: string[] | undefined;
|
|
430
|
+
}[];
|
|
431
|
+
}>;
|
|
432
|
+
//#endregion
|
|
433
|
+
//#region src/tools/commits.d.ts
|
|
434
|
+
declare const listCommits: (token: string) => ai.Tool<{
|
|
435
|
+
owner: string;
|
|
436
|
+
repo: string;
|
|
437
|
+
perPage: number;
|
|
438
|
+
path?: string | undefined;
|
|
439
|
+
sha?: string | undefined;
|
|
440
|
+
author?: string | undefined;
|
|
441
|
+
since?: string | undefined;
|
|
442
|
+
until?: string | undefined;
|
|
443
|
+
}, {
|
|
444
|
+
sha: string;
|
|
445
|
+
message: string;
|
|
446
|
+
author: string | undefined;
|
|
447
|
+
authorLogin: string | undefined;
|
|
448
|
+
date: string | undefined;
|
|
449
|
+
url: string;
|
|
450
|
+
}[]>;
|
|
451
|
+
declare const getCommit: (token: string) => ai.Tool<{
|
|
452
|
+
owner: string;
|
|
453
|
+
repo: string;
|
|
454
|
+
ref: string;
|
|
455
|
+
}, {
|
|
456
|
+
sha: string;
|
|
457
|
+
message: string;
|
|
458
|
+
author: string | undefined;
|
|
459
|
+
authorLogin: string | undefined;
|
|
460
|
+
date: string | undefined;
|
|
461
|
+
url: string;
|
|
462
|
+
stats: {
|
|
463
|
+
additions: number | undefined;
|
|
464
|
+
deletions: number | undefined;
|
|
465
|
+
total: number | undefined;
|
|
466
|
+
} | null;
|
|
467
|
+
files: {
|
|
468
|
+
filename: string;
|
|
469
|
+
status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
|
|
470
|
+
additions: number;
|
|
471
|
+
deletions: number;
|
|
472
|
+
patch: string | undefined;
|
|
473
|
+
}[] | undefined;
|
|
474
|
+
}>;
|
|
475
|
+
declare const getBlame: (token: string) => ai.Tool<{
|
|
476
|
+
owner: string;
|
|
477
|
+
repo: string;
|
|
478
|
+
path: string;
|
|
479
|
+
ref?: string | undefined;
|
|
480
|
+
line?: number | undefined;
|
|
481
|
+
lineStart?: number | undefined;
|
|
482
|
+
lineEnd?: number | undefined;
|
|
483
|
+
}, {
|
|
484
|
+
error: string;
|
|
485
|
+
ref?: undefined;
|
|
486
|
+
tipSha?: undefined;
|
|
487
|
+
path?: undefined;
|
|
488
|
+
rangeCount?: undefined;
|
|
489
|
+
ranges?: undefined;
|
|
490
|
+
} | {
|
|
491
|
+
ref: string;
|
|
492
|
+
tipSha: string;
|
|
493
|
+
path: string;
|
|
494
|
+
rangeCount: number;
|
|
495
|
+
ranges: {
|
|
496
|
+
startingLine: number;
|
|
497
|
+
endingLine: number;
|
|
498
|
+
age: number;
|
|
499
|
+
commit: {
|
|
500
|
+
sha: string;
|
|
501
|
+
abbreviatedSha: string;
|
|
502
|
+
messageHeadline: string;
|
|
503
|
+
authoredDate: string;
|
|
504
|
+
url: string;
|
|
505
|
+
authorName: string | null;
|
|
506
|
+
authorEmail: string | null;
|
|
507
|
+
authorLogin: string | null;
|
|
508
|
+
};
|
|
509
|
+
}[];
|
|
510
|
+
error?: undefined;
|
|
511
|
+
}>;
|
|
512
|
+
//#endregion
|
|
513
|
+
//#region src/tools/gists.d.ts
|
|
514
|
+
declare const listGists: (token: string) => ai.Tool<{
|
|
515
|
+
perPage: number;
|
|
516
|
+
page: number;
|
|
517
|
+
username?: string | undefined;
|
|
518
|
+
}, {
|
|
519
|
+
id: string;
|
|
520
|
+
description: string | null;
|
|
521
|
+
public: boolean;
|
|
522
|
+
url: string;
|
|
523
|
+
files: string[];
|
|
524
|
+
owner: string | undefined;
|
|
525
|
+
comments: number;
|
|
526
|
+
createdAt: string;
|
|
527
|
+
updatedAt: string;
|
|
528
|
+
}[]>;
|
|
529
|
+
declare const getGist: (token: string) => ai.Tool<{
|
|
530
|
+
gistId: string;
|
|
531
|
+
}, {
|
|
532
|
+
id: string | undefined;
|
|
533
|
+
description: string | null | undefined;
|
|
534
|
+
public: boolean | undefined;
|
|
535
|
+
url: string | undefined;
|
|
536
|
+
owner: string | undefined;
|
|
537
|
+
files: {
|
|
538
|
+
filename: string | undefined;
|
|
539
|
+
language: string | undefined;
|
|
540
|
+
size: number | undefined;
|
|
541
|
+
content: string | undefined;
|
|
542
|
+
}[];
|
|
543
|
+
comments: number | undefined;
|
|
544
|
+
createdAt: string | undefined;
|
|
545
|
+
updatedAt: string | undefined;
|
|
546
|
+
}>;
|
|
547
|
+
declare const listGistComments: (token: string) => ai.Tool<{
|
|
548
|
+
gistId: string;
|
|
549
|
+
perPage: number;
|
|
550
|
+
page: number;
|
|
551
|
+
}, {
|
|
552
|
+
id: number;
|
|
553
|
+
body: string;
|
|
554
|
+
author: string | undefined;
|
|
555
|
+
url: string;
|
|
556
|
+
createdAt: string;
|
|
557
|
+
updatedAt: string;
|
|
558
|
+
}[]>;
|
|
559
|
+
declare const createGist: (token: string, {
|
|
560
|
+
needsApproval
|
|
561
|
+
}?: ToolOptions) => ai.Tool<{
|
|
562
|
+
files: Record<string, {
|
|
563
|
+
content: string;
|
|
564
|
+
}>;
|
|
565
|
+
isPublic: boolean;
|
|
566
|
+
description?: string | undefined;
|
|
567
|
+
}, {
|
|
568
|
+
id: string | undefined;
|
|
569
|
+
description: string | null | undefined;
|
|
570
|
+
public: boolean | undefined;
|
|
571
|
+
url: string | undefined;
|
|
572
|
+
files: string[];
|
|
573
|
+
owner: string | undefined;
|
|
574
|
+
}>;
|
|
575
|
+
declare const updateGist: (token: string, {
|
|
576
|
+
needsApproval
|
|
577
|
+
}?: ToolOptions) => ai.Tool<{
|
|
578
|
+
gistId: string;
|
|
579
|
+
description?: string | undefined;
|
|
580
|
+
files?: Record<string, {
|
|
581
|
+
content: string;
|
|
582
|
+
}> | undefined;
|
|
583
|
+
filesToDelete?: string[] | undefined;
|
|
584
|
+
}, {
|
|
585
|
+
id: string | undefined;
|
|
586
|
+
description: string | null | undefined;
|
|
587
|
+
url: string | undefined;
|
|
588
|
+
files: string[];
|
|
589
|
+
}>;
|
|
590
|
+
declare const deleteGist: (token: string, {
|
|
591
|
+
needsApproval
|
|
592
|
+
}?: ToolOptions) => ai.Tool<{
|
|
593
|
+
gistId: string;
|
|
594
|
+
}, {
|
|
595
|
+
deleted: boolean;
|
|
596
|
+
gistId: string;
|
|
597
|
+
}>;
|
|
598
|
+
declare const createGistComment: (token: string, {
|
|
599
|
+
needsApproval
|
|
600
|
+
}?: ToolOptions) => ai.Tool<{
|
|
601
|
+
gistId: string;
|
|
602
|
+
body: string;
|
|
603
|
+
}, {
|
|
604
|
+
id: number;
|
|
605
|
+
url: string;
|
|
606
|
+
body: string;
|
|
607
|
+
author: string | undefined;
|
|
608
|
+
createdAt: string;
|
|
609
|
+
}>;
|
|
610
|
+
//#endregion
|
|
611
|
+
//#region src/tools/workflows.d.ts
|
|
612
|
+
declare const listWorkflows: (token: string) => ai.Tool<{
|
|
613
|
+
owner: string;
|
|
614
|
+
repo: string;
|
|
615
|
+
perPage: number;
|
|
616
|
+
page: number;
|
|
617
|
+
}, {
|
|
618
|
+
totalCount: number;
|
|
619
|
+
workflows: {
|
|
620
|
+
id: number;
|
|
621
|
+
name: string;
|
|
622
|
+
path: string;
|
|
623
|
+
state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually";
|
|
624
|
+
url: string;
|
|
625
|
+
createdAt: string;
|
|
626
|
+
updatedAt: string;
|
|
627
|
+
}[];
|
|
628
|
+
}>;
|
|
629
|
+
declare const listWorkflowRuns: (token: string) => ai.Tool<{
|
|
630
|
+
owner: string;
|
|
631
|
+
repo: string;
|
|
632
|
+
perPage: number;
|
|
633
|
+
page: number;
|
|
634
|
+
workflowId?: string | number | undefined;
|
|
635
|
+
branch?: string | undefined;
|
|
636
|
+
event?: string | undefined;
|
|
637
|
+
status?: "success" | "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending" | undefined;
|
|
638
|
+
}, {
|
|
639
|
+
totalCount: number;
|
|
640
|
+
runs: {
|
|
641
|
+
id: number;
|
|
642
|
+
name: string | null | undefined;
|
|
643
|
+
status: string | null;
|
|
644
|
+
conclusion: string | null;
|
|
645
|
+
branch: string | null;
|
|
646
|
+
event: string;
|
|
647
|
+
url: string;
|
|
648
|
+
actor: string | undefined;
|
|
649
|
+
createdAt: string;
|
|
650
|
+
updatedAt: string;
|
|
651
|
+
runNumber: number;
|
|
652
|
+
runAttempt: number | undefined;
|
|
653
|
+
}[];
|
|
654
|
+
}>;
|
|
655
|
+
declare const getWorkflowRun: (token: string) => ai.Tool<{
|
|
656
|
+
owner: string;
|
|
657
|
+
repo: string;
|
|
658
|
+
runId: number;
|
|
659
|
+
}, {
|
|
660
|
+
id: number;
|
|
661
|
+
name: string | null | undefined;
|
|
662
|
+
status: string | null;
|
|
663
|
+
conclusion: string | null;
|
|
664
|
+
branch: string | null;
|
|
665
|
+
sha: string;
|
|
666
|
+
event: string;
|
|
667
|
+
url: string;
|
|
668
|
+
actor: string | undefined;
|
|
669
|
+
runNumber: number;
|
|
670
|
+
runAttempt: number | undefined;
|
|
671
|
+
createdAt: string;
|
|
672
|
+
updatedAt: string;
|
|
673
|
+
runStartedAt: string | undefined;
|
|
674
|
+
}>;
|
|
675
|
+
declare const listWorkflowJobs: (token: string) => ai.Tool<{
|
|
676
|
+
owner: string;
|
|
677
|
+
repo: string;
|
|
678
|
+
runId: number;
|
|
679
|
+
filter: "all" | "latest";
|
|
680
|
+
perPage: number;
|
|
681
|
+
page: number;
|
|
682
|
+
}, {
|
|
683
|
+
totalCount: number;
|
|
684
|
+
jobs: {
|
|
685
|
+
id: number;
|
|
686
|
+
name: string;
|
|
687
|
+
status: "completed" | "in_progress" | "queued" | "requested" | "waiting" | "pending";
|
|
688
|
+
conclusion: "success" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "timed_out" | null;
|
|
689
|
+
url: string | null;
|
|
690
|
+
startedAt: string;
|
|
691
|
+
completedAt: string | null;
|
|
692
|
+
runnerName: string | null;
|
|
693
|
+
steps: {
|
|
694
|
+
name: string;
|
|
695
|
+
status: "completed" | "in_progress" | "queued";
|
|
696
|
+
conclusion: string | null;
|
|
697
|
+
number: number;
|
|
698
|
+
startedAt: string | null | undefined;
|
|
699
|
+
completedAt: string | null | undefined;
|
|
700
|
+
}[] | undefined;
|
|
701
|
+
}[];
|
|
702
|
+
}>;
|
|
703
|
+
declare const triggerWorkflow: (token: string, {
|
|
704
|
+
needsApproval
|
|
705
|
+
}?: ToolOptions) => ai.Tool<{
|
|
706
|
+
owner: string;
|
|
707
|
+
repo: string;
|
|
708
|
+
workflowId: string | number;
|
|
709
|
+
ref: string;
|
|
710
|
+
inputs?: Record<string, string> | undefined;
|
|
711
|
+
}, {
|
|
712
|
+
triggered: boolean;
|
|
713
|
+
workflowId: string | number;
|
|
714
|
+
ref: string;
|
|
715
|
+
}>;
|
|
716
|
+
declare const cancelWorkflowRun: (token: string, {
|
|
717
|
+
needsApproval
|
|
718
|
+
}?: ToolOptions) => ai.Tool<{
|
|
719
|
+
owner: string;
|
|
720
|
+
repo: string;
|
|
721
|
+
runId: number;
|
|
722
|
+
}, {
|
|
723
|
+
cancelled: boolean;
|
|
724
|
+
runId: number;
|
|
725
|
+
}>;
|
|
726
|
+
declare const rerunWorkflowRun: (token: string, {
|
|
727
|
+
needsApproval
|
|
728
|
+
}?: ToolOptions) => ai.Tool<{
|
|
729
|
+
owner: string;
|
|
730
|
+
repo: string;
|
|
731
|
+
runId: number;
|
|
732
|
+
onlyFailedJobs: boolean;
|
|
733
|
+
}, {
|
|
734
|
+
rerun: boolean;
|
|
735
|
+
runId: number;
|
|
736
|
+
onlyFailedJobs: boolean;
|
|
737
|
+
}>;
|
|
738
|
+
//#endregion
|
|
739
|
+
//#region src/agents.d.ts
|
|
740
|
+
type AgentOptions = Omit<ToolLoopAgentSettings, 'model' | 'tools' | 'instructions'>;
|
|
741
|
+
type CreateGithubAgentOptions = AgentOptions & {
|
|
742
|
+
model: ToolLoopAgentSettings['model'];
|
|
743
|
+
/**
|
|
744
|
+
* GitHub personal access token.
|
|
745
|
+
* Falls back to `process.env.GITHUB_TOKEN` when omitted.
|
|
746
|
+
*/
|
|
747
|
+
token?: string;
|
|
748
|
+
preset?: GithubToolPreset | GithubToolPreset[];
|
|
749
|
+
requireApproval?: ApprovalConfig;
|
|
750
|
+
instructions?: string;
|
|
751
|
+
additionalInstructions?: string;
|
|
752
|
+
};
|
|
753
|
+
/**
|
|
754
|
+
* Create a pre-configured GitHub agent powered by the AI SDK's `ToolLoopAgent`.
|
|
755
|
+
*
|
|
756
|
+
* Returns a `ToolLoopAgent` instance with `.generate()` and `.stream()` methods.
|
|
757
|
+
*
|
|
758
|
+
* @example
|
|
759
|
+
* ```ts
|
|
760
|
+
* import { createGithubAgent } from '@github-tools/sdk'
|
|
761
|
+
*
|
|
762
|
+
* const agent = createGithubAgent({
|
|
763
|
+
* model: 'anthropic/claude-sonnet-4.6',
|
|
764
|
+
* token: process.env.GITHUB_TOKEN!,
|
|
765
|
+
* preset: 'code-review',
|
|
766
|
+
* })
|
|
767
|
+
*
|
|
768
|
+
* const result = await agent.generate({ prompt: 'Review PR #42 on vercel/ai' })
|
|
769
|
+
* ```
|
|
770
|
+
*/
|
|
771
|
+
declare function createGithubAgent({
|
|
772
|
+
token,
|
|
773
|
+
preset,
|
|
774
|
+
requireApproval,
|
|
775
|
+
instructions,
|
|
776
|
+
additionalInstructions,
|
|
777
|
+
...agentOptions
|
|
778
|
+
}: CreateGithubAgentOptions): ToolLoopAgent<never, {}, never>;
|
|
779
|
+
//#endregion
|
|
780
|
+
export { addPullRequestComment as A, createRepository as B, addLabels as C, listIssues as D, getIssue as E, listPullRequestReviews as F, createOctokit as G, getFileContent as H, listPullRequests as I, ToolOverrides as J, Octokit$1 as K, mergePullRequest as L, createPullRequestReview as M, getPullRequest as N, listLabels as O, listPullRequestFiles as P, createBranch as R, addIssueComment as S, createIssue as T, getRepository as U, forkRepository as V, listBranches as W, getBlame as _, listWorkflowJobs as a, searchCode as b, rerunWorkflowRun as c, createGistComment as d, deleteGist as f, updateGist as g, listGists as h, getWorkflowRun as i, createPullRequest as j, removeLabel as k, triggerWorkflow as l, listGistComments as m, createGithubAgent as n, listWorkflowRuns as o, getGist as p, ToolOptions as q, cancelWorkflowRun as r, listWorkflows as s, CreateGithubAgentOptions as t, createGist as u, getCommit as v, closeIssue as w, searchRepositories as x, listCommits as y, createOrUpdateFile as z };
|
|
781
|
+
//# sourceMappingURL=agents-C6nqZiYp.d.mts.map
|