@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.
@@ -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