@diff-review-system/drs 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.
Files changed (63) hide show
  1. package/.opencode/agent/github-reviewer.md +62 -0
  2. package/.opencode/agent/gitlab-reviewer.md +62 -0
  3. package/.opencode/agent/local-reviewer.md +71 -0
  4. package/.opencode/agent/review/performance.md +151 -0
  5. package/.opencode/agent/review/quality.md +127 -0
  6. package/.opencode/agent/review/security.md +115 -0
  7. package/.opencode/agent/review/style.md +116 -0
  8. package/.opencode/opencode.jsonc +52 -0
  9. package/LICENSE +201 -0
  10. package/README.md +361 -0
  11. package/dist/ci/runner.d.ts +21 -0
  12. package/dist/ci/runner.d.ts.map +1 -0
  13. package/dist/ci/runner.js +82 -0
  14. package/dist/ci/runner.js.map +1 -0
  15. package/dist/cli/index.d.ts +3 -0
  16. package/dist/cli/index.d.ts.map +1 -0
  17. package/dist/cli/index.js +137 -0
  18. package/dist/cli/index.js.map +1 -0
  19. package/dist/cli/init.d.ts +5 -0
  20. package/dist/cli/init.d.ts.map +1 -0
  21. package/dist/cli/init.js +166 -0
  22. package/dist/cli/init.js.map +1 -0
  23. package/dist/cli/review-local.d.ts +9 -0
  24. package/dist/cli/review-local.d.ts.map +1 -0
  25. package/dist/cli/review-local.js +105 -0
  26. package/dist/cli/review-local.js.map +1 -0
  27. package/dist/cli/review-mr.d.ts +11 -0
  28. package/dist/cli/review-mr.d.ts.map +1 -0
  29. package/dist/cli/review-mr.js +128 -0
  30. package/dist/cli/review-mr.js.map +1 -0
  31. package/dist/cli/review-pr.d.ts +12 -0
  32. package/dist/cli/review-pr.d.ts.map +1 -0
  33. package/dist/cli/review-pr.js +125 -0
  34. package/dist/cli/review-pr.js.map +1 -0
  35. package/dist/github/client.d.ts +1346 -0
  36. package/dist/github/client.d.ts.map +1 -0
  37. package/dist/github/client.js +137 -0
  38. package/dist/github/client.js.map +1 -0
  39. package/dist/gitlab/client.d.ts +55 -0
  40. package/dist/gitlab/client.d.ts.map +1 -0
  41. package/dist/gitlab/client.js +86 -0
  42. package/dist/gitlab/client.js.map +1 -0
  43. package/dist/gitlab/comment-formatter.d.ts +36 -0
  44. package/dist/gitlab/comment-formatter.d.ts.map +1 -0
  45. package/dist/gitlab/comment-formatter.js +118 -0
  46. package/dist/gitlab/comment-formatter.js.map +1 -0
  47. package/dist/gitlab/diff-parser.d.ts +41 -0
  48. package/dist/gitlab/diff-parser.d.ts.map +1 -0
  49. package/dist/gitlab/diff-parser.js +147 -0
  50. package/dist/gitlab/diff-parser.js.map +1 -0
  51. package/dist/lib/config.d.ts +42 -0
  52. package/dist/lib/config.d.ts.map +1 -0
  53. package/dist/lib/config.js +144 -0
  54. package/dist/lib/config.js.map +1 -0
  55. package/dist/opencode/agent-loader.d.ts +31 -0
  56. package/dist/opencode/agent-loader.d.ts.map +1 -0
  57. package/dist/opencode/agent-loader.js +115 -0
  58. package/dist/opencode/agent-loader.js.map +1 -0
  59. package/dist/opencode/client.d.ts +82 -0
  60. package/dist/opencode/client.d.ts.map +1 -0
  61. package/dist/opencode/client.js +184 -0
  62. package/dist/opencode/client.js.map +1 -0
  63. package/package.json +70 -0
@@ -0,0 +1,1346 @@
1
+ export interface GitHubConfig {
2
+ token: string;
3
+ owner?: string;
4
+ repo?: string;
5
+ }
6
+ export interface PRChange {
7
+ filename: string;
8
+ status: 'added' | 'removed' | 'modified' | 'renamed' | 'copied' | 'changed' | 'unchanged';
9
+ additions: number;
10
+ deletions: number;
11
+ changes: number;
12
+ patch?: string;
13
+ previousFilename?: string;
14
+ }
15
+ export declare class GitHubClient {
16
+ private octokit;
17
+ private owner?;
18
+ private repo?;
19
+ constructor(config: GitHubConfig);
20
+ /**
21
+ * Get pull request details
22
+ */
23
+ getPullRequest(owner: string, repo: string, prNumber: number): Promise<{
24
+ url: string;
25
+ id: number;
26
+ node_id: string;
27
+ html_url: string;
28
+ diff_url: string;
29
+ patch_url: string;
30
+ issue_url: string;
31
+ commits_url: string;
32
+ review_comments_url: string;
33
+ review_comment_url: string;
34
+ comments_url: string;
35
+ statuses_url: string;
36
+ number: number;
37
+ state: "open" | "closed";
38
+ locked: boolean;
39
+ title: string;
40
+ user: {
41
+ name?: string | null;
42
+ email?: string | null;
43
+ login: string;
44
+ id: number;
45
+ node_id: string;
46
+ avatar_url: string;
47
+ gravatar_id: string | null;
48
+ url: string;
49
+ html_url: string;
50
+ followers_url: string;
51
+ following_url: string;
52
+ gists_url: string;
53
+ starred_url: string;
54
+ subscriptions_url: string;
55
+ organizations_url: string;
56
+ repos_url: string;
57
+ events_url: string;
58
+ received_events_url: string;
59
+ type: string;
60
+ site_admin: boolean;
61
+ starred_at?: string;
62
+ user_view_type?: string;
63
+ };
64
+ body: string | null;
65
+ labels: {
66
+ id: number;
67
+ node_id: string;
68
+ url: string;
69
+ name: string;
70
+ description: string | null;
71
+ color: string;
72
+ default: boolean;
73
+ }[];
74
+ milestone: {
75
+ url: string;
76
+ html_url: string;
77
+ labels_url: string;
78
+ id: number;
79
+ node_id: string;
80
+ number: number;
81
+ state: "open" | "closed";
82
+ title: string;
83
+ description: string | null;
84
+ creator: {
85
+ name?: string | null;
86
+ email?: string | null;
87
+ login: string;
88
+ id: number;
89
+ node_id: string;
90
+ avatar_url: string;
91
+ gravatar_id: string | null;
92
+ url: string;
93
+ html_url: string;
94
+ followers_url: string;
95
+ following_url: string;
96
+ gists_url: string;
97
+ starred_url: string;
98
+ subscriptions_url: string;
99
+ organizations_url: string;
100
+ repos_url: string;
101
+ events_url: string;
102
+ received_events_url: string;
103
+ type: string;
104
+ site_admin: boolean;
105
+ starred_at?: string;
106
+ user_view_type?: string;
107
+ } | null;
108
+ open_issues: number;
109
+ closed_issues: number;
110
+ created_at: string;
111
+ updated_at: string;
112
+ closed_at: string | null;
113
+ due_on: string | null;
114
+ } | null;
115
+ active_lock_reason?: string | null;
116
+ created_at: string;
117
+ updated_at: string;
118
+ closed_at: string | null;
119
+ merged_at: string | null;
120
+ merge_commit_sha: string | null;
121
+ assignee: {
122
+ name?: string | null;
123
+ email?: string | null;
124
+ login: string;
125
+ id: number;
126
+ node_id: string;
127
+ avatar_url: string;
128
+ gravatar_id: string | null;
129
+ url: string;
130
+ html_url: string;
131
+ followers_url: string;
132
+ following_url: string;
133
+ gists_url: string;
134
+ starred_url: string;
135
+ subscriptions_url: string;
136
+ organizations_url: string;
137
+ repos_url: string;
138
+ events_url: string;
139
+ received_events_url: string;
140
+ type: string;
141
+ site_admin: boolean;
142
+ starred_at?: string;
143
+ user_view_type?: string;
144
+ } | null;
145
+ assignees?: {
146
+ name?: string | null;
147
+ email?: string | null;
148
+ login: string;
149
+ id: number;
150
+ node_id: string;
151
+ avatar_url: string;
152
+ gravatar_id: string | null;
153
+ url: string;
154
+ html_url: string;
155
+ followers_url: string;
156
+ following_url: string;
157
+ gists_url: string;
158
+ starred_url: string;
159
+ subscriptions_url: string;
160
+ organizations_url: string;
161
+ repos_url: string;
162
+ events_url: string;
163
+ received_events_url: string;
164
+ type: string;
165
+ site_admin: boolean;
166
+ starred_at?: string;
167
+ user_view_type?: string;
168
+ }[] | null;
169
+ requested_reviewers?: {
170
+ name?: string | null;
171
+ email?: string | null;
172
+ login: string;
173
+ id: number;
174
+ node_id: string;
175
+ avatar_url: string;
176
+ gravatar_id: string | null;
177
+ url: string;
178
+ html_url: string;
179
+ followers_url: string;
180
+ following_url: string;
181
+ gists_url: string;
182
+ starred_url: string;
183
+ subscriptions_url: string;
184
+ organizations_url: string;
185
+ repos_url: string;
186
+ events_url: string;
187
+ received_events_url: string;
188
+ type: string;
189
+ site_admin: boolean;
190
+ starred_at?: string;
191
+ user_view_type?: string;
192
+ }[] | null;
193
+ requested_teams?: {
194
+ id: number;
195
+ node_id: string;
196
+ url: string;
197
+ members_url: string;
198
+ name: string;
199
+ description: string | null;
200
+ permission: string;
201
+ privacy?: string;
202
+ notification_setting?: string;
203
+ html_url: string;
204
+ repositories_url: string;
205
+ slug: string;
206
+ ldap_dn?: string;
207
+ }[] | null;
208
+ head: {
209
+ label: string;
210
+ ref: string;
211
+ repo: {
212
+ id: number;
213
+ node_id: string;
214
+ name: string;
215
+ full_name: string;
216
+ license: {
217
+ key: string;
218
+ name: string;
219
+ url: string | null;
220
+ spdx_id: string | null;
221
+ node_id: string;
222
+ html_url?: string;
223
+ } | null;
224
+ forks: number;
225
+ permissions?: {
226
+ admin: boolean;
227
+ pull: boolean;
228
+ triage?: boolean;
229
+ push: boolean;
230
+ maintain?: boolean;
231
+ };
232
+ owner: {
233
+ name?: string | null;
234
+ email?: string | null;
235
+ login: string;
236
+ id: number;
237
+ node_id: string;
238
+ avatar_url: string;
239
+ gravatar_id: string | null;
240
+ url: string;
241
+ html_url: string;
242
+ followers_url: string;
243
+ following_url: string;
244
+ gists_url: string;
245
+ starred_url: string;
246
+ subscriptions_url: string;
247
+ organizations_url: string;
248
+ repos_url: string;
249
+ events_url: string;
250
+ received_events_url: string;
251
+ type: string;
252
+ site_admin: boolean;
253
+ starred_at?: string;
254
+ user_view_type?: string;
255
+ };
256
+ private: boolean;
257
+ html_url: string;
258
+ description: string | null;
259
+ fork: boolean;
260
+ url: string;
261
+ archive_url: string;
262
+ assignees_url: string;
263
+ blobs_url: string;
264
+ branches_url: string;
265
+ collaborators_url: string;
266
+ comments_url: string;
267
+ commits_url: string;
268
+ compare_url: string;
269
+ contents_url: string;
270
+ contributors_url: string;
271
+ deployments_url: string;
272
+ downloads_url: string;
273
+ events_url: string;
274
+ forks_url: string;
275
+ git_commits_url: string;
276
+ git_refs_url: string;
277
+ git_tags_url: string;
278
+ git_url: string;
279
+ issue_comment_url: string;
280
+ issue_events_url: string;
281
+ issues_url: string;
282
+ keys_url: string;
283
+ labels_url: string;
284
+ languages_url: string;
285
+ merges_url: string;
286
+ milestones_url: string;
287
+ notifications_url: string;
288
+ pulls_url: string;
289
+ releases_url: string;
290
+ ssh_url: string;
291
+ stargazers_url: string;
292
+ statuses_url: string;
293
+ subscribers_url: string;
294
+ subscription_url: string;
295
+ tags_url: string;
296
+ teams_url: string;
297
+ trees_url: string;
298
+ clone_url: string;
299
+ mirror_url: string | null;
300
+ hooks_url: string;
301
+ svn_url: string;
302
+ homepage: string | null;
303
+ language: string | null;
304
+ forks_count: number;
305
+ stargazers_count: number;
306
+ watchers_count: number;
307
+ size: number;
308
+ default_branch: string;
309
+ open_issues_count: number;
310
+ is_template?: boolean;
311
+ topics?: string[];
312
+ has_issues: boolean;
313
+ has_projects: boolean;
314
+ has_wiki: boolean;
315
+ has_pages: boolean;
316
+ has_downloads: boolean;
317
+ has_discussions?: boolean;
318
+ archived: boolean;
319
+ disabled: boolean;
320
+ visibility?: string;
321
+ pushed_at: string | null;
322
+ created_at: string | null;
323
+ updated_at: string | null;
324
+ allow_rebase_merge?: boolean;
325
+ temp_clone_token?: string;
326
+ allow_squash_merge?: boolean;
327
+ allow_auto_merge?: boolean;
328
+ delete_branch_on_merge?: boolean;
329
+ allow_update_branch?: boolean;
330
+ use_squash_pr_title_as_default?: boolean;
331
+ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE";
332
+ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK";
333
+ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE";
334
+ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK";
335
+ allow_merge_commit?: boolean;
336
+ allow_forking?: boolean;
337
+ web_commit_signoff_required?: boolean;
338
+ open_issues: number;
339
+ watchers: number;
340
+ master_branch?: string;
341
+ starred_at?: string;
342
+ anonymous_access_enabled?: boolean;
343
+ };
344
+ sha: string;
345
+ user: {
346
+ name?: string | null;
347
+ email?: string | null;
348
+ login: string;
349
+ id: number;
350
+ node_id: string;
351
+ avatar_url: string;
352
+ gravatar_id: string | null;
353
+ url: string;
354
+ html_url: string;
355
+ followers_url: string;
356
+ following_url: string;
357
+ gists_url: string;
358
+ starred_url: string;
359
+ subscriptions_url: string;
360
+ organizations_url: string;
361
+ repos_url: string;
362
+ events_url: string;
363
+ received_events_url: string;
364
+ type: string;
365
+ site_admin: boolean;
366
+ starred_at?: string;
367
+ user_view_type?: string;
368
+ };
369
+ };
370
+ base: {
371
+ label: string;
372
+ ref: string;
373
+ repo: {
374
+ id: number;
375
+ node_id: string;
376
+ name: string;
377
+ full_name: string;
378
+ license: {
379
+ key: string;
380
+ name: string;
381
+ url: string | null;
382
+ spdx_id: string | null;
383
+ node_id: string;
384
+ html_url?: string;
385
+ } | null;
386
+ forks: number;
387
+ permissions?: {
388
+ admin: boolean;
389
+ pull: boolean;
390
+ triage?: boolean;
391
+ push: boolean;
392
+ maintain?: boolean;
393
+ };
394
+ owner: {
395
+ name?: string | null;
396
+ email?: string | null;
397
+ login: string;
398
+ id: number;
399
+ node_id: string;
400
+ avatar_url: string;
401
+ gravatar_id: string | null;
402
+ url: string;
403
+ html_url: string;
404
+ followers_url: string;
405
+ following_url: string;
406
+ gists_url: string;
407
+ starred_url: string;
408
+ subscriptions_url: string;
409
+ organizations_url: string;
410
+ repos_url: string;
411
+ events_url: string;
412
+ received_events_url: string;
413
+ type: string;
414
+ site_admin: boolean;
415
+ starred_at?: string;
416
+ user_view_type?: string;
417
+ };
418
+ private: boolean;
419
+ html_url: string;
420
+ description: string | null;
421
+ fork: boolean;
422
+ url: string;
423
+ archive_url: string;
424
+ assignees_url: string;
425
+ blobs_url: string;
426
+ branches_url: string;
427
+ collaborators_url: string;
428
+ comments_url: string;
429
+ commits_url: string;
430
+ compare_url: string;
431
+ contents_url: string;
432
+ contributors_url: string;
433
+ deployments_url: string;
434
+ downloads_url: string;
435
+ events_url: string;
436
+ forks_url: string;
437
+ git_commits_url: string;
438
+ git_refs_url: string;
439
+ git_tags_url: string;
440
+ git_url: string;
441
+ issue_comment_url: string;
442
+ issue_events_url: string;
443
+ issues_url: string;
444
+ keys_url: string;
445
+ labels_url: string;
446
+ languages_url: string;
447
+ merges_url: string;
448
+ milestones_url: string;
449
+ notifications_url: string;
450
+ pulls_url: string;
451
+ releases_url: string;
452
+ ssh_url: string;
453
+ stargazers_url: string;
454
+ statuses_url: string;
455
+ subscribers_url: string;
456
+ subscription_url: string;
457
+ tags_url: string;
458
+ teams_url: string;
459
+ trees_url: string;
460
+ clone_url: string;
461
+ mirror_url: string | null;
462
+ hooks_url: string;
463
+ svn_url: string;
464
+ homepage: string | null;
465
+ language: string | null;
466
+ forks_count: number;
467
+ stargazers_count: number;
468
+ watchers_count: number;
469
+ size: number;
470
+ default_branch: string;
471
+ open_issues_count: number;
472
+ is_template?: boolean;
473
+ topics?: string[];
474
+ has_issues: boolean;
475
+ has_projects: boolean;
476
+ has_wiki: boolean;
477
+ has_pages: boolean;
478
+ has_downloads: boolean;
479
+ has_discussions?: boolean;
480
+ archived: boolean;
481
+ disabled: boolean;
482
+ visibility?: string;
483
+ pushed_at: string | null;
484
+ created_at: string | null;
485
+ updated_at: string | null;
486
+ allow_rebase_merge?: boolean;
487
+ temp_clone_token?: string;
488
+ allow_squash_merge?: boolean;
489
+ allow_auto_merge?: boolean;
490
+ delete_branch_on_merge?: boolean;
491
+ allow_update_branch?: boolean;
492
+ use_squash_pr_title_as_default?: boolean;
493
+ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE";
494
+ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK";
495
+ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE";
496
+ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK";
497
+ allow_merge_commit?: boolean;
498
+ allow_forking?: boolean;
499
+ web_commit_signoff_required?: boolean;
500
+ open_issues: number;
501
+ watchers: number;
502
+ master_branch?: string;
503
+ starred_at?: string;
504
+ anonymous_access_enabled?: boolean;
505
+ };
506
+ sha: string;
507
+ user: {
508
+ name?: string | null;
509
+ email?: string | null;
510
+ login: string;
511
+ id: number;
512
+ node_id: string;
513
+ avatar_url: string;
514
+ gravatar_id: string | null;
515
+ url: string;
516
+ html_url: string;
517
+ followers_url: string;
518
+ following_url: string;
519
+ gists_url: string;
520
+ starred_url: string;
521
+ subscriptions_url: string;
522
+ organizations_url: string;
523
+ repos_url: string;
524
+ events_url: string;
525
+ received_events_url: string;
526
+ type: string;
527
+ site_admin: boolean;
528
+ starred_at?: string;
529
+ user_view_type?: string;
530
+ };
531
+ };
532
+ _links: {
533
+ comments: {
534
+ href: string;
535
+ };
536
+ commits: {
537
+ href: string;
538
+ };
539
+ statuses: {
540
+ href: string;
541
+ };
542
+ html: {
543
+ href: string;
544
+ };
545
+ issue: {
546
+ href: string;
547
+ };
548
+ review_comments: {
549
+ href: string;
550
+ };
551
+ review_comment: {
552
+ href: string;
553
+ };
554
+ self: {
555
+ href: string;
556
+ };
557
+ };
558
+ author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER";
559
+ auto_merge: {
560
+ enabled_by: {
561
+ name?: string | null;
562
+ email?: string | null;
563
+ login: string;
564
+ id: number;
565
+ node_id: string;
566
+ avatar_url: string;
567
+ gravatar_id: string | null;
568
+ url: string;
569
+ html_url: string;
570
+ followers_url: string;
571
+ following_url: string;
572
+ gists_url: string;
573
+ starred_url: string;
574
+ subscriptions_url: string;
575
+ organizations_url: string;
576
+ repos_url: string;
577
+ events_url: string;
578
+ received_events_url: string;
579
+ type: string;
580
+ site_admin: boolean;
581
+ starred_at?: string;
582
+ user_view_type?: string;
583
+ };
584
+ merge_method: "merge" | "squash" | "rebase";
585
+ commit_title: string;
586
+ commit_message: string;
587
+ } | null;
588
+ draft?: boolean;
589
+ merged: boolean;
590
+ mergeable: boolean | null;
591
+ rebaseable?: boolean | null;
592
+ mergeable_state: string;
593
+ merged_by: {
594
+ name?: string | null;
595
+ email?: string | null;
596
+ login: string;
597
+ id: number;
598
+ node_id: string;
599
+ avatar_url: string;
600
+ gravatar_id: string | null;
601
+ url: string;
602
+ html_url: string;
603
+ followers_url: string;
604
+ following_url: string;
605
+ gists_url: string;
606
+ starred_url: string;
607
+ subscriptions_url: string;
608
+ organizations_url: string;
609
+ repos_url: string;
610
+ events_url: string;
611
+ received_events_url: string;
612
+ type: string;
613
+ site_admin: boolean;
614
+ starred_at?: string;
615
+ user_view_type?: string;
616
+ } | null;
617
+ comments: number;
618
+ review_comments: number;
619
+ maintainer_can_modify: boolean;
620
+ commits: number;
621
+ additions: number;
622
+ deletions: number;
623
+ changed_files: number;
624
+ }>;
625
+ /**
626
+ * Get pull request files (changes)
627
+ */
628
+ getPRFiles(owner: string, repo: string, prNumber: number): Promise<PRChange[]>;
629
+ /**
630
+ * Post a review comment on the PR
631
+ */
632
+ createPRComment(owner: string, repo: string, prNumber: number, body: string): Promise<any>;
633
+ /**
634
+ * Create a review comment on a specific line
635
+ */
636
+ createPRReviewComment(owner: string, repo: string, prNumber: number, body: string, commitId: string, path: string, line: number): Promise<any>;
637
+ /**
638
+ * Create a pull request review with multiple comments
639
+ */
640
+ createPRReview(owner: string, repo: string, prNumber: number, commitId: string, body: string, event: 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT', comments?: Array<{
641
+ path: string;
642
+ line: number;
643
+ body: string;
644
+ }>): Promise<any>;
645
+ /**
646
+ * Add labels to a PR
647
+ */
648
+ addLabels(owner: string, repo: string, prNumber: number, labels: string[]): Promise<any>;
649
+ /**
650
+ * Check if PR has a specific label
651
+ */
652
+ hasLabel(owner: string, repo: string, prNumber: number, label: string): Promise<boolean>;
653
+ /**
654
+ * Get repository details
655
+ */
656
+ getRepository(owner: string, repo: string): Promise<{
657
+ id: number;
658
+ node_id: string;
659
+ name: string;
660
+ full_name: string;
661
+ owner: {
662
+ name?: string | null;
663
+ email?: string | null;
664
+ login: string;
665
+ id: number;
666
+ node_id: string;
667
+ avatar_url: string;
668
+ gravatar_id: string | null;
669
+ url: string;
670
+ html_url: string;
671
+ followers_url: string;
672
+ following_url: string;
673
+ gists_url: string;
674
+ starred_url: string;
675
+ subscriptions_url: string;
676
+ organizations_url: string;
677
+ repos_url: string;
678
+ events_url: string;
679
+ received_events_url: string;
680
+ type: string;
681
+ site_admin: boolean;
682
+ starred_at?: string;
683
+ user_view_type?: string;
684
+ };
685
+ private: boolean;
686
+ html_url: string;
687
+ description: string | null;
688
+ fork: boolean;
689
+ url: string;
690
+ archive_url: string;
691
+ assignees_url: string;
692
+ blobs_url: string;
693
+ branches_url: string;
694
+ collaborators_url: string;
695
+ comments_url: string;
696
+ commits_url: string;
697
+ compare_url: string;
698
+ contents_url: string;
699
+ contributors_url: string;
700
+ deployments_url: string;
701
+ downloads_url: string;
702
+ events_url: string;
703
+ forks_url: string;
704
+ git_commits_url: string;
705
+ git_refs_url: string;
706
+ git_tags_url: string;
707
+ git_url: string;
708
+ issue_comment_url: string;
709
+ issue_events_url: string;
710
+ issues_url: string;
711
+ keys_url: string;
712
+ labels_url: string;
713
+ languages_url: string;
714
+ merges_url: string;
715
+ milestones_url: string;
716
+ notifications_url: string;
717
+ pulls_url: string;
718
+ releases_url: string;
719
+ ssh_url: string;
720
+ stargazers_url: string;
721
+ statuses_url: string;
722
+ subscribers_url: string;
723
+ subscription_url: string;
724
+ tags_url: string;
725
+ teams_url: string;
726
+ trees_url: string;
727
+ clone_url: string;
728
+ mirror_url: string | null;
729
+ hooks_url: string;
730
+ svn_url: string;
731
+ homepage: string | null;
732
+ language: string | null;
733
+ forks_count: number;
734
+ stargazers_count: number;
735
+ watchers_count: number;
736
+ size: number;
737
+ default_branch: string;
738
+ open_issues_count: number;
739
+ is_template?: boolean;
740
+ topics?: string[];
741
+ has_issues: boolean;
742
+ has_projects: boolean;
743
+ has_wiki: boolean;
744
+ has_pages: boolean;
745
+ has_downloads?: boolean;
746
+ has_discussions: boolean;
747
+ archived: boolean;
748
+ disabled: boolean;
749
+ visibility?: string;
750
+ pushed_at: string;
751
+ created_at: string;
752
+ updated_at: string;
753
+ permissions?: {
754
+ admin: boolean;
755
+ maintain?: boolean;
756
+ push: boolean;
757
+ triage?: boolean;
758
+ pull: boolean;
759
+ };
760
+ allow_rebase_merge?: boolean;
761
+ template_repository?: {
762
+ id: number;
763
+ node_id: string;
764
+ name: string;
765
+ full_name: string;
766
+ license: {
767
+ key: string;
768
+ name: string;
769
+ url: string | null;
770
+ spdx_id: string | null;
771
+ node_id: string;
772
+ html_url?: string;
773
+ } | null;
774
+ forks: number;
775
+ permissions?: {
776
+ admin: boolean;
777
+ pull: boolean;
778
+ triage?: boolean;
779
+ push: boolean;
780
+ maintain?: boolean;
781
+ };
782
+ owner: {
783
+ name?: string | null;
784
+ email?: string | null;
785
+ login: string;
786
+ id: number;
787
+ node_id: string;
788
+ avatar_url: string;
789
+ gravatar_id: string | null;
790
+ url: string;
791
+ html_url: string;
792
+ followers_url: string;
793
+ following_url: string;
794
+ gists_url: string;
795
+ starred_url: string;
796
+ subscriptions_url: string;
797
+ organizations_url: string;
798
+ repos_url: string;
799
+ events_url: string;
800
+ received_events_url: string;
801
+ type: string;
802
+ site_admin: boolean;
803
+ starred_at?: string;
804
+ user_view_type?: string;
805
+ };
806
+ private: boolean;
807
+ html_url: string;
808
+ description: string | null;
809
+ fork: boolean;
810
+ url: string;
811
+ archive_url: string;
812
+ assignees_url: string;
813
+ blobs_url: string;
814
+ branches_url: string;
815
+ collaborators_url: string;
816
+ comments_url: string;
817
+ commits_url: string;
818
+ compare_url: string;
819
+ contents_url: string;
820
+ contributors_url: string;
821
+ deployments_url: string;
822
+ downloads_url: string;
823
+ events_url: string;
824
+ forks_url: string;
825
+ git_commits_url: string;
826
+ git_refs_url: string;
827
+ git_tags_url: string;
828
+ git_url: string;
829
+ issue_comment_url: string;
830
+ issue_events_url: string;
831
+ issues_url: string;
832
+ keys_url: string;
833
+ labels_url: string;
834
+ languages_url: string;
835
+ merges_url: string;
836
+ milestones_url: string;
837
+ notifications_url: string;
838
+ pulls_url: string;
839
+ releases_url: string;
840
+ ssh_url: string;
841
+ stargazers_url: string;
842
+ statuses_url: string;
843
+ subscribers_url: string;
844
+ subscription_url: string;
845
+ tags_url: string;
846
+ teams_url: string;
847
+ trees_url: string;
848
+ clone_url: string;
849
+ mirror_url: string | null;
850
+ hooks_url: string;
851
+ svn_url: string;
852
+ homepage: string | null;
853
+ language: string | null;
854
+ forks_count: number;
855
+ stargazers_count: number;
856
+ watchers_count: number;
857
+ size: number;
858
+ default_branch: string;
859
+ open_issues_count: number;
860
+ is_template?: boolean;
861
+ topics?: string[];
862
+ has_issues: boolean;
863
+ has_projects: boolean;
864
+ has_wiki: boolean;
865
+ has_pages: boolean;
866
+ has_downloads: boolean;
867
+ has_discussions?: boolean;
868
+ archived: boolean;
869
+ disabled: boolean;
870
+ visibility?: string;
871
+ pushed_at: string | null;
872
+ created_at: string | null;
873
+ updated_at: string | null;
874
+ allow_rebase_merge?: boolean;
875
+ temp_clone_token?: string;
876
+ allow_squash_merge?: boolean;
877
+ allow_auto_merge?: boolean;
878
+ delete_branch_on_merge?: boolean;
879
+ allow_update_branch?: boolean;
880
+ use_squash_pr_title_as_default?: boolean;
881
+ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE";
882
+ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK";
883
+ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE";
884
+ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK";
885
+ allow_merge_commit?: boolean;
886
+ allow_forking?: boolean;
887
+ web_commit_signoff_required?: boolean;
888
+ open_issues: number;
889
+ watchers: number;
890
+ master_branch?: string;
891
+ starred_at?: string;
892
+ anonymous_access_enabled?: boolean;
893
+ } | null;
894
+ temp_clone_token?: string | null;
895
+ allow_squash_merge?: boolean;
896
+ allow_auto_merge?: boolean;
897
+ delete_branch_on_merge?: boolean;
898
+ allow_merge_commit?: boolean;
899
+ allow_update_branch?: boolean;
900
+ use_squash_pr_title_as_default?: boolean;
901
+ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE";
902
+ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK";
903
+ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE";
904
+ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK";
905
+ allow_forking?: boolean;
906
+ web_commit_signoff_required?: boolean;
907
+ subscribers_count: number;
908
+ network_count: number;
909
+ license: {
910
+ key: string;
911
+ name: string;
912
+ url: string | null;
913
+ spdx_id: string | null;
914
+ node_id: string;
915
+ html_url?: string;
916
+ } | null;
917
+ organization?: {
918
+ name?: string | null;
919
+ email?: string | null;
920
+ login: string;
921
+ id: number;
922
+ node_id: string;
923
+ avatar_url: string;
924
+ gravatar_id: string | null;
925
+ url: string;
926
+ html_url: string;
927
+ followers_url: string;
928
+ following_url: string;
929
+ gists_url: string;
930
+ starred_url: string;
931
+ subscriptions_url: string;
932
+ organizations_url: string;
933
+ repos_url: string;
934
+ events_url: string;
935
+ received_events_url: string;
936
+ type: string;
937
+ site_admin: boolean;
938
+ starred_at?: string;
939
+ user_view_type?: string;
940
+ } | null;
941
+ parent?: {
942
+ id: number;
943
+ node_id: string;
944
+ name: string;
945
+ full_name: string;
946
+ license: {
947
+ key: string;
948
+ name: string;
949
+ url: string | null;
950
+ spdx_id: string | null;
951
+ node_id: string;
952
+ html_url?: string;
953
+ } | null;
954
+ forks: number;
955
+ permissions?: {
956
+ admin: boolean;
957
+ pull: boolean;
958
+ triage?: boolean;
959
+ push: boolean;
960
+ maintain?: boolean;
961
+ };
962
+ owner: {
963
+ name?: string | null;
964
+ email?: string | null;
965
+ login: string;
966
+ id: number;
967
+ node_id: string;
968
+ avatar_url: string;
969
+ gravatar_id: string | null;
970
+ url: string;
971
+ html_url: string;
972
+ followers_url: string;
973
+ following_url: string;
974
+ gists_url: string;
975
+ starred_url: string;
976
+ subscriptions_url: string;
977
+ organizations_url: string;
978
+ repos_url: string;
979
+ events_url: string;
980
+ received_events_url: string;
981
+ type: string;
982
+ site_admin: boolean;
983
+ starred_at?: string;
984
+ user_view_type?: string;
985
+ };
986
+ private: boolean;
987
+ html_url: string;
988
+ description: string | null;
989
+ fork: boolean;
990
+ url: string;
991
+ archive_url: string;
992
+ assignees_url: string;
993
+ blobs_url: string;
994
+ branches_url: string;
995
+ collaborators_url: string;
996
+ comments_url: string;
997
+ commits_url: string;
998
+ compare_url: string;
999
+ contents_url: string;
1000
+ contributors_url: string;
1001
+ deployments_url: string;
1002
+ downloads_url: string;
1003
+ events_url: string;
1004
+ forks_url: string;
1005
+ git_commits_url: string;
1006
+ git_refs_url: string;
1007
+ git_tags_url: string;
1008
+ git_url: string;
1009
+ issue_comment_url: string;
1010
+ issue_events_url: string;
1011
+ issues_url: string;
1012
+ keys_url: string;
1013
+ labels_url: string;
1014
+ languages_url: string;
1015
+ merges_url: string;
1016
+ milestones_url: string;
1017
+ notifications_url: string;
1018
+ pulls_url: string;
1019
+ releases_url: string;
1020
+ ssh_url: string;
1021
+ stargazers_url: string;
1022
+ statuses_url: string;
1023
+ subscribers_url: string;
1024
+ subscription_url: string;
1025
+ tags_url: string;
1026
+ teams_url: string;
1027
+ trees_url: string;
1028
+ clone_url: string;
1029
+ mirror_url: string | null;
1030
+ hooks_url: string;
1031
+ svn_url: string;
1032
+ homepage: string | null;
1033
+ language: string | null;
1034
+ forks_count: number;
1035
+ stargazers_count: number;
1036
+ watchers_count: number;
1037
+ size: number;
1038
+ default_branch: string;
1039
+ open_issues_count: number;
1040
+ is_template?: boolean;
1041
+ topics?: string[];
1042
+ has_issues: boolean;
1043
+ has_projects: boolean;
1044
+ has_wiki: boolean;
1045
+ has_pages: boolean;
1046
+ has_downloads: boolean;
1047
+ has_discussions?: boolean;
1048
+ archived: boolean;
1049
+ disabled: boolean;
1050
+ visibility?: string;
1051
+ pushed_at: string | null;
1052
+ created_at: string | null;
1053
+ updated_at: string | null;
1054
+ allow_rebase_merge?: boolean;
1055
+ temp_clone_token?: string;
1056
+ allow_squash_merge?: boolean;
1057
+ allow_auto_merge?: boolean;
1058
+ delete_branch_on_merge?: boolean;
1059
+ allow_update_branch?: boolean;
1060
+ use_squash_pr_title_as_default?: boolean;
1061
+ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE";
1062
+ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK";
1063
+ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE";
1064
+ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK";
1065
+ allow_merge_commit?: boolean;
1066
+ allow_forking?: boolean;
1067
+ web_commit_signoff_required?: boolean;
1068
+ open_issues: number;
1069
+ watchers: number;
1070
+ master_branch?: string;
1071
+ starred_at?: string;
1072
+ anonymous_access_enabled?: boolean;
1073
+ };
1074
+ source?: {
1075
+ id: number;
1076
+ node_id: string;
1077
+ name: string;
1078
+ full_name: string;
1079
+ license: {
1080
+ key: string;
1081
+ name: string;
1082
+ url: string | null;
1083
+ spdx_id: string | null;
1084
+ node_id: string;
1085
+ html_url?: string;
1086
+ } | null;
1087
+ forks: number;
1088
+ permissions?: {
1089
+ admin: boolean;
1090
+ pull: boolean;
1091
+ triage?: boolean;
1092
+ push: boolean;
1093
+ maintain?: boolean;
1094
+ };
1095
+ owner: {
1096
+ name?: string | null;
1097
+ email?: string | null;
1098
+ login: string;
1099
+ id: number;
1100
+ node_id: string;
1101
+ avatar_url: string;
1102
+ gravatar_id: string | null;
1103
+ url: string;
1104
+ html_url: string;
1105
+ followers_url: string;
1106
+ following_url: string;
1107
+ gists_url: string;
1108
+ starred_url: string;
1109
+ subscriptions_url: string;
1110
+ organizations_url: string;
1111
+ repos_url: string;
1112
+ events_url: string;
1113
+ received_events_url: string;
1114
+ type: string;
1115
+ site_admin: boolean;
1116
+ starred_at?: string;
1117
+ user_view_type?: string;
1118
+ };
1119
+ private: boolean;
1120
+ html_url: string;
1121
+ description: string | null;
1122
+ fork: boolean;
1123
+ url: string;
1124
+ archive_url: string;
1125
+ assignees_url: string;
1126
+ blobs_url: string;
1127
+ branches_url: string;
1128
+ collaborators_url: string;
1129
+ comments_url: string;
1130
+ commits_url: string;
1131
+ compare_url: string;
1132
+ contents_url: string;
1133
+ contributors_url: string;
1134
+ deployments_url: string;
1135
+ downloads_url: string;
1136
+ events_url: string;
1137
+ forks_url: string;
1138
+ git_commits_url: string;
1139
+ git_refs_url: string;
1140
+ git_tags_url: string;
1141
+ git_url: string;
1142
+ issue_comment_url: string;
1143
+ issue_events_url: string;
1144
+ issues_url: string;
1145
+ keys_url: string;
1146
+ labels_url: string;
1147
+ languages_url: string;
1148
+ merges_url: string;
1149
+ milestones_url: string;
1150
+ notifications_url: string;
1151
+ pulls_url: string;
1152
+ releases_url: string;
1153
+ ssh_url: string;
1154
+ stargazers_url: string;
1155
+ statuses_url: string;
1156
+ subscribers_url: string;
1157
+ subscription_url: string;
1158
+ tags_url: string;
1159
+ teams_url: string;
1160
+ trees_url: string;
1161
+ clone_url: string;
1162
+ mirror_url: string | null;
1163
+ hooks_url: string;
1164
+ svn_url: string;
1165
+ homepage: string | null;
1166
+ language: string | null;
1167
+ forks_count: number;
1168
+ stargazers_count: number;
1169
+ watchers_count: number;
1170
+ size: number;
1171
+ default_branch: string;
1172
+ open_issues_count: number;
1173
+ is_template?: boolean;
1174
+ topics?: string[];
1175
+ has_issues: boolean;
1176
+ has_projects: boolean;
1177
+ has_wiki: boolean;
1178
+ has_pages: boolean;
1179
+ has_downloads: boolean;
1180
+ has_discussions?: boolean;
1181
+ archived: boolean;
1182
+ disabled: boolean;
1183
+ visibility?: string;
1184
+ pushed_at: string | null;
1185
+ created_at: string | null;
1186
+ updated_at: string | null;
1187
+ allow_rebase_merge?: boolean;
1188
+ temp_clone_token?: string;
1189
+ allow_squash_merge?: boolean;
1190
+ allow_auto_merge?: boolean;
1191
+ delete_branch_on_merge?: boolean;
1192
+ allow_update_branch?: boolean;
1193
+ use_squash_pr_title_as_default?: boolean;
1194
+ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE";
1195
+ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK";
1196
+ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE";
1197
+ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK";
1198
+ allow_merge_commit?: boolean;
1199
+ allow_forking?: boolean;
1200
+ web_commit_signoff_required?: boolean;
1201
+ open_issues: number;
1202
+ watchers: number;
1203
+ master_branch?: string;
1204
+ starred_at?: string;
1205
+ anonymous_access_enabled?: boolean;
1206
+ };
1207
+ forks: number;
1208
+ master_branch?: string;
1209
+ open_issues: number;
1210
+ watchers: number;
1211
+ anonymous_access_enabled?: boolean;
1212
+ code_of_conduct?: {
1213
+ url: string;
1214
+ key: string;
1215
+ name: string;
1216
+ html_url: string | null;
1217
+ };
1218
+ security_and_analysis?: {
1219
+ advanced_security?: {
1220
+ status?: "enabled" | "disabled";
1221
+ };
1222
+ dependabot_security_updates?: {
1223
+ status?: "enabled" | "disabled";
1224
+ };
1225
+ secret_scanning?: {
1226
+ status?: "enabled" | "disabled";
1227
+ };
1228
+ secret_scanning_push_protection?: {
1229
+ status?: "enabled" | "disabled";
1230
+ };
1231
+ secret_scanning_non_provider_patterns?: {
1232
+ status?: "enabled" | "disabled";
1233
+ };
1234
+ secret_scanning_ai_detection?: {
1235
+ status?: "enabled" | "disabled";
1236
+ };
1237
+ } | null;
1238
+ custom_properties?: {
1239
+ [key: string]: unknown;
1240
+ };
1241
+ }>;
1242
+ /**
1243
+ * Get the authenticated user
1244
+ */
1245
+ getAuthenticatedUser(): Promise<{
1246
+ login: string;
1247
+ id: number;
1248
+ user_view_type?: string;
1249
+ node_id: string;
1250
+ avatar_url: string;
1251
+ gravatar_id: string | null;
1252
+ url: string;
1253
+ html_url: string;
1254
+ followers_url: string;
1255
+ following_url: string;
1256
+ gists_url: string;
1257
+ starred_url: string;
1258
+ subscriptions_url: string;
1259
+ organizations_url: string;
1260
+ repos_url: string;
1261
+ events_url: string;
1262
+ received_events_url: string;
1263
+ type: string;
1264
+ site_admin: boolean;
1265
+ name: string | null;
1266
+ company: string | null;
1267
+ blog: string | null;
1268
+ location: string | null;
1269
+ email: string | null;
1270
+ notification_email?: string | null;
1271
+ hireable: boolean | null;
1272
+ bio: string | null;
1273
+ twitter_username?: string | null;
1274
+ public_repos: number;
1275
+ public_gists: number;
1276
+ followers: number;
1277
+ following: number;
1278
+ created_at: string;
1279
+ updated_at: string;
1280
+ private_gists: number;
1281
+ total_private_repos: number;
1282
+ owned_private_repos: number;
1283
+ disk_usage: number;
1284
+ collaborators: number;
1285
+ two_factor_authentication: boolean;
1286
+ plan?: {
1287
+ collaborators: number;
1288
+ name: string;
1289
+ space: number;
1290
+ private_repos: number;
1291
+ };
1292
+ business_plus?: boolean;
1293
+ ldap_dn?: string;
1294
+ } | {
1295
+ login: string;
1296
+ id: number;
1297
+ user_view_type?: string;
1298
+ node_id: string;
1299
+ avatar_url: string;
1300
+ gravatar_id: string | null;
1301
+ url: string;
1302
+ html_url: string;
1303
+ followers_url: string;
1304
+ following_url: string;
1305
+ gists_url: string;
1306
+ starred_url: string;
1307
+ subscriptions_url: string;
1308
+ organizations_url: string;
1309
+ repos_url: string;
1310
+ events_url: string;
1311
+ received_events_url: string;
1312
+ type: string;
1313
+ site_admin: boolean;
1314
+ name: string | null;
1315
+ company: string | null;
1316
+ blog: string | null;
1317
+ location: string | null;
1318
+ email: string | null;
1319
+ notification_email?: string | null;
1320
+ hireable: boolean | null;
1321
+ bio: string | null;
1322
+ twitter_username?: string | null;
1323
+ public_repos: number;
1324
+ public_gists: number;
1325
+ followers: number;
1326
+ following: number;
1327
+ created_at: string;
1328
+ updated_at: string;
1329
+ plan?: {
1330
+ collaborators: number;
1331
+ name: string;
1332
+ space: number;
1333
+ private_repos: number;
1334
+ };
1335
+ private_gists?: number;
1336
+ total_private_repos?: number;
1337
+ owned_private_repos?: number;
1338
+ disk_usage?: number;
1339
+ collaborators?: number;
1340
+ }>;
1341
+ }
1342
+ /**
1343
+ * Create a GitHub client from environment variables
1344
+ */
1345
+ export declare function createGitHubClient(): GitHubClient;
1346
+ //# sourceMappingURL=client.d.ts.map