boomtick-cli 0.2.1__py3-none-any.whl

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 (103) hide show
  1. boomtick_cli-0.2.1.dist-info/METADATA +20 -0
  2. boomtick_cli-0.2.1.dist-info/RECORD +103 -0
  3. boomtick_cli-0.2.1.dist-info/WHEEL +5 -0
  4. boomtick_cli-0.2.1.dist-info/entry_points.txt +3 -0
  5. boomtick_cli-0.2.1.dist-info/top_level.txt +1 -0
  6. dev_tools/__init__.py +1 -0
  7. dev_tools/cli-schema.json +2028 -0
  8. dev_tools/cli.py +1542 -0
  9. dev_tools/config.py +235 -0
  10. dev_tools/constants.py +14 -0
  11. dev_tools/daemon.py +146 -0
  12. dev_tools/dist/config.js +108 -0
  13. dev_tools/dist/index.js +10 -0
  14. dev_tools/dist/lib/error_utils.js +8 -0
  15. dev_tools/dist/lib/git.js +31 -0
  16. dev_tools/dist/lib/result.js +21 -0
  17. dev_tools/dist/lib/shell.js +91 -0
  18. dev_tools/dist/lib/shell.test.js +10 -0
  19. dev_tools/dist/lib/td-cli.js +27 -0
  20. dev_tools/dist/lib/test-utils.js +20 -0
  21. dev_tools/dist/mcp/definitions.js +242 -0
  22. dev_tools/dist/mcp/server.js +317 -0
  23. dev_tools/dist/mcp/tools.js +18 -0
  24. dev_tools/dist/tools/contract.js +2069 -0
  25. dev_tools/dist/tools/ddgs.search.js +50 -0
  26. dev_tools/dist/tools/ddgs.search.test.js +67 -0
  27. dev_tools/dist/tools/ddgs_search.py +23 -0
  28. dev_tools/dist/tools/github.checkout_branch.js +20 -0
  29. dev_tools/dist/tools/github.comment_triage_summary.js +25 -0
  30. dev_tools/dist/tools/github.create_issue.js +28 -0
  31. dev_tools/dist/tools/github.create_issue.test.js +54 -0
  32. dev_tools/dist/tools/github.create_pull_request.js +44 -0
  33. dev_tools/dist/tools/github.get_merge_conflict_files.js +26 -0
  34. dev_tools/dist/tools/github.get_pr.js +18 -0
  35. dev_tools/dist/tools/github.get_pr_diff.js +24 -0
  36. dev_tools/dist/tools/github.issue_comment.js +24 -0
  37. dev_tools/dist/tools/github.issue_update.js +29 -0
  38. dev_tools/dist/tools/github.issue_view.js +28 -0
  39. dev_tools/dist/tools/github.open_replacement_pr.js +41 -0
  40. dev_tools/dist/tools/github.search_open_prs.js +31 -0
  41. dev_tools/dist/tools/github.search_open_prs.test.js +51 -0
  42. dev_tools/dist/tools/jules/cancel-session.js +20 -0
  43. dev_tools/dist/tools/jules/create-session.js +20 -0
  44. dev_tools/dist/tools/jules/create-session.test.js +99 -0
  45. dev_tools/dist/tools/jules/get-messages.js +19 -0
  46. dev_tools/dist/tools/jules/get-messages.test.js +45 -0
  47. dev_tools/dist/tools/jules/get-pr.js +14 -0
  48. dev_tools/dist/tools/jules/get-pr.test.js +37 -0
  49. dev_tools/dist/tools/jules/get-session.js +10 -0
  50. dev_tools/dist/tools/jules/list-sessions.js +43 -0
  51. dev_tools/dist/tools/jules/send-message.js +22 -0
  52. dev_tools/dist/tools/jules/send-message.test.js +56 -0
  53. dev_tools/dist/tools/jules/shared.js +26 -0
  54. dev_tools/dist/tools/jules/trigger-feedback.js +16 -0
  55. dev_tools/dist/tools/jules/trigger-feedback.test.js +42 -0
  56. dev_tools/dist/tools/repo.commit_patch.js +33 -0
  57. dev_tools/dist/tools/repo.create_branch.js +21 -0
  58. dev_tools/dist/tools/repo.create_branch.test.js +42 -0
  59. dev_tools/dist/tools/repo.create_repair_branch.js +38 -0
  60. dev_tools/dist/tools/repo.get_changed_files.js +21 -0
  61. dev_tools/dist/tools/repo.get_command_schema.js +27 -0
  62. dev_tools/dist/tools/repo.get_package_scripts.js +35 -0
  63. dev_tools/dist/tools/repo.get_package_scripts.test.js +39 -0
  64. dev_tools/dist/tools/repo.get_route_map.js +37 -0
  65. dev_tools/dist/tools/repo.logs.js +16 -0
  66. dev_tools/dist/tools/repo.read_agent_context.js +20 -0
  67. dev_tools/dist/tools/repo.read_ci_logs.js +18 -0
  68. dev_tools/dist/tools/repo.run_lighthouse.js +37 -0
  69. dev_tools/dist/tools/repo.run_playwright.js +29 -0
  70. dev_tools/dist/tools/repo.run_tests.js +43 -0
  71. dev_tools/dist/tools/types.js +1 -0
  72. dev_tools/get_ai_context.py +63 -0
  73. dev_tools/handlers/__init__.py +1 -0
  74. dev_tools/handlers/command_handler.py +69 -0
  75. dev_tools/mcp_server.py +36 -0
  76. dev_tools/models.py +354 -0
  77. dev_tools/orchestrator.py +2841 -0
  78. dev_tools/pr_overlap.py +139 -0
  79. dev_tools/resources/__init__.py +1 -0
  80. dev_tools/resources/build-repo-context.py +182 -0
  81. dev_tools/resources/prompt_constants.json +5 -0
  82. dev_tools/resources/review_template.md +41 -0
  83. dev_tools/resources/ux-audit.config.json +15 -0
  84. dev_tools/resources/visual_guidelines.json +3 -0
  85. dev_tools/review_read_pass.py +232 -0
  86. dev_tools/schema_gen.py +55 -0
  87. dev_tools/schema_utils.py +125 -0
  88. dev_tools/scope_check.py +85 -0
  89. dev_tools/services/__init__.py +1 -0
  90. dev_tools/services/ai_service.py +816 -0
  91. dev_tools/services/dependency_graph.py +123 -0
  92. dev_tools/services/github.py +783 -0
  93. dev_tools/services/jules.py +181 -0
  94. dev_tools/services/repair_service.py +199 -0
  95. dev_tools/services/vector_store.py +82 -0
  96. dev_tools/services/vision_service.py +91 -0
  97. dev_tools/td_cli.py +28 -0
  98. dev_tools/utils/__init__.py +1035 -0
  99. dev_tools/utils/git.py +68 -0
  100. dev_tools/ux_report.py +213 -0
  101. dev_tools/verify_infra.py +91 -0
  102. dev_tools/verify_versions.py +191 -0
  103. dev_tools/version_utils.py +175 -0
@@ -0,0 +1,2028 @@
1
+ {
2
+ "_warning": "AUTO-GENERATED: DO NOT EDIT MANUALLY. Update models.py instead.",
3
+ "models": {
4
+ "AIFileReview": {
5
+ "$defs": {
6
+ "AIReviewIssue": {
7
+ "properties": {
8
+ "id": {
9
+ "anyOf": [
10
+ {
11
+ "type": "string"
12
+ },
13
+ {
14
+ "type": "null"
15
+ }
16
+ ],
17
+ "default": null,
18
+ "description": "Unique identifier for the finding.",
19
+ "title": "Id"
20
+ },
21
+ "line": {
22
+ "anyOf": [
23
+ {
24
+ "type": "integer"
25
+ },
26
+ {
27
+ "type": "null"
28
+ }
29
+ ],
30
+ "default": null,
31
+ "description": "Line number where the issue occurs.",
32
+ "title": "Line"
33
+ },
34
+ "file": {
35
+ "anyOf": [
36
+ {
37
+ "type": "string"
38
+ },
39
+ {
40
+ "type": "null"
41
+ }
42
+ ],
43
+ "default": null,
44
+ "description": "File path (if not already scoped by AIFileReview).",
45
+ "title": "File"
46
+ },
47
+ "severity": {
48
+ "description": "The severity level.",
49
+ "enum": [
50
+ "error",
51
+ "warn",
52
+ "info"
53
+ ],
54
+ "title": "Severity",
55
+ "type": "string"
56
+ },
57
+ "issue": {
58
+ "anyOf": [
59
+ {
60
+ "type": "string"
61
+ },
62
+ {
63
+ "type": "null"
64
+ }
65
+ ],
66
+ "default": null,
67
+ "description": "Description of the issue (alternative to 'comment').",
68
+ "title": "Issue"
69
+ },
70
+ "comment": {
71
+ "anyOf": [
72
+ {
73
+ "type": "string"
74
+ },
75
+ {
76
+ "type": "null"
77
+ }
78
+ ],
79
+ "default": null,
80
+ "description": "Description of the issue.",
81
+ "title": "Comment"
82
+ },
83
+ "status": {
84
+ "anyOf": [
85
+ {
86
+ "type": "string"
87
+ },
88
+ {
89
+ "type": "null"
90
+ }
91
+ ],
92
+ "default": "open",
93
+ "description": "Status of the finding.",
94
+ "title": "Status"
95
+ },
96
+ "confidence": {
97
+ "description": "Confidence level of the AI.",
98
+ "enum": [
99
+ "high",
100
+ "medium",
101
+ "low"
102
+ ],
103
+ "title": "Confidence",
104
+ "type": "string"
105
+ },
106
+ "counterexample": {
107
+ "anyOf": [
108
+ {
109
+ "type": "string"
110
+ },
111
+ {
112
+ "type": "null"
113
+ }
114
+ ],
115
+ "default": null,
116
+ "description": "Example of how to fix or why it fails.",
117
+ "title": "Counterexample"
118
+ },
119
+ "snippet": {
120
+ "anyOf": [
121
+ {
122
+ "type": "string"
123
+ },
124
+ {
125
+ "type": "null"
126
+ }
127
+ ],
128
+ "default": null,
129
+ "description": "The exact code snippet from the diff.",
130
+ "title": "Snippet"
131
+ }
132
+ },
133
+ "required": [
134
+ "severity",
135
+ "confidence"
136
+ ],
137
+ "title": "AIReviewIssue",
138
+ "type": "object"
139
+ }
140
+ },
141
+ "properties": {
142
+ "file": {
143
+ "description": "The path of the file being reviewed.",
144
+ "title": "File",
145
+ "type": "string"
146
+ },
147
+ "issues": {
148
+ "description": "List of findings in this file.",
149
+ "items": {
150
+ "$ref": "#/$defs/AIReviewIssue"
151
+ },
152
+ "title": "Issues",
153
+ "type": "array"
154
+ },
155
+ "verdict": {
156
+ "description": "The verdict for this file (ok, needs_changes, blocking).",
157
+ "title": "Verdict",
158
+ "type": "string"
159
+ }
160
+ },
161
+ "required": [
162
+ "file",
163
+ "verdict"
164
+ ],
165
+ "title": "AIFileReview",
166
+ "type": "object"
167
+ },
168
+ "AIFullReview": {
169
+ "$defs": {
170
+ "AIFileReview": {
171
+ "properties": {
172
+ "file": {
173
+ "description": "The path of the file being reviewed.",
174
+ "title": "File",
175
+ "type": "string"
176
+ },
177
+ "issues": {
178
+ "description": "List of findings in this file.",
179
+ "items": {
180
+ "$ref": "#/$defs/AIReviewIssue"
181
+ },
182
+ "title": "Issues",
183
+ "type": "array"
184
+ },
185
+ "verdict": {
186
+ "description": "The verdict for this file (ok, needs_changes, blocking).",
187
+ "title": "Verdict",
188
+ "type": "string"
189
+ }
190
+ },
191
+ "required": [
192
+ "file",
193
+ "verdict"
194
+ ],
195
+ "title": "AIFileReview",
196
+ "type": "object"
197
+ },
198
+ "AIReviewIssue": {
199
+ "properties": {
200
+ "id": {
201
+ "anyOf": [
202
+ {
203
+ "type": "string"
204
+ },
205
+ {
206
+ "type": "null"
207
+ }
208
+ ],
209
+ "default": null,
210
+ "description": "Unique identifier for the finding.",
211
+ "title": "Id"
212
+ },
213
+ "line": {
214
+ "anyOf": [
215
+ {
216
+ "type": "integer"
217
+ },
218
+ {
219
+ "type": "null"
220
+ }
221
+ ],
222
+ "default": null,
223
+ "description": "Line number where the issue occurs.",
224
+ "title": "Line"
225
+ },
226
+ "file": {
227
+ "anyOf": [
228
+ {
229
+ "type": "string"
230
+ },
231
+ {
232
+ "type": "null"
233
+ }
234
+ ],
235
+ "default": null,
236
+ "description": "File path (if not already scoped by AIFileReview).",
237
+ "title": "File"
238
+ },
239
+ "severity": {
240
+ "description": "The severity level.",
241
+ "enum": [
242
+ "error",
243
+ "warn",
244
+ "info"
245
+ ],
246
+ "title": "Severity",
247
+ "type": "string"
248
+ },
249
+ "issue": {
250
+ "anyOf": [
251
+ {
252
+ "type": "string"
253
+ },
254
+ {
255
+ "type": "null"
256
+ }
257
+ ],
258
+ "default": null,
259
+ "description": "Description of the issue (alternative to 'comment').",
260
+ "title": "Issue"
261
+ },
262
+ "comment": {
263
+ "anyOf": [
264
+ {
265
+ "type": "string"
266
+ },
267
+ {
268
+ "type": "null"
269
+ }
270
+ ],
271
+ "default": null,
272
+ "description": "Description of the issue.",
273
+ "title": "Comment"
274
+ },
275
+ "status": {
276
+ "anyOf": [
277
+ {
278
+ "type": "string"
279
+ },
280
+ {
281
+ "type": "null"
282
+ }
283
+ ],
284
+ "default": "open",
285
+ "description": "Status of the finding.",
286
+ "title": "Status"
287
+ },
288
+ "confidence": {
289
+ "description": "Confidence level of the AI.",
290
+ "enum": [
291
+ "high",
292
+ "medium",
293
+ "low"
294
+ ],
295
+ "title": "Confidence",
296
+ "type": "string"
297
+ },
298
+ "counterexample": {
299
+ "anyOf": [
300
+ {
301
+ "type": "string"
302
+ },
303
+ {
304
+ "type": "null"
305
+ }
306
+ ],
307
+ "default": null,
308
+ "description": "Example of how to fix or why it fails.",
309
+ "title": "Counterexample"
310
+ },
311
+ "snippet": {
312
+ "anyOf": [
313
+ {
314
+ "type": "string"
315
+ },
316
+ {
317
+ "type": "null"
318
+ }
319
+ ],
320
+ "default": null,
321
+ "description": "The exact code snippet from the diff.",
322
+ "title": "Snippet"
323
+ }
324
+ },
325
+ "required": [
326
+ "severity",
327
+ "confidence"
328
+ ],
329
+ "title": "AIReviewIssue",
330
+ "type": "object"
331
+ }
332
+ },
333
+ "properties": {
334
+ "file_reviews": {
335
+ "description": "Per-file review results.",
336
+ "items": {
337
+ "$ref": "#/$defs/AIFileReview"
338
+ },
339
+ "title": "File Reviews",
340
+ "type": "array"
341
+ },
342
+ "reviewComment": {
343
+ "description": "Overall summary comment for the PR.",
344
+ "title": "Reviewcomment",
345
+ "type": "string"
346
+ },
347
+ "labels": {
348
+ "description": "Suggested labels for the PR.",
349
+ "items": {
350
+ "type": "string"
351
+ },
352
+ "title": "Labels",
353
+ "type": "array"
354
+ },
355
+ "recommendation": {
356
+ "description": "Final recommendation (Approved, Not Approved, etc).",
357
+ "title": "Recommendation",
358
+ "type": "string"
359
+ }
360
+ },
361
+ "required": [
362
+ "reviewComment",
363
+ "recommendation"
364
+ ],
365
+ "title": "AIFullReview",
366
+ "type": "object"
367
+ },
368
+ "AIReviewIssue": {
369
+ "properties": {
370
+ "id": {
371
+ "anyOf": [
372
+ {
373
+ "type": "string"
374
+ },
375
+ {
376
+ "type": "null"
377
+ }
378
+ ],
379
+ "default": null,
380
+ "description": "Unique identifier for the finding.",
381
+ "title": "Id"
382
+ },
383
+ "line": {
384
+ "anyOf": [
385
+ {
386
+ "type": "integer"
387
+ },
388
+ {
389
+ "type": "null"
390
+ }
391
+ ],
392
+ "default": null,
393
+ "description": "Line number where the issue occurs.",
394
+ "title": "Line"
395
+ },
396
+ "file": {
397
+ "anyOf": [
398
+ {
399
+ "type": "string"
400
+ },
401
+ {
402
+ "type": "null"
403
+ }
404
+ ],
405
+ "default": null,
406
+ "description": "File path (if not already scoped by AIFileReview).",
407
+ "title": "File"
408
+ },
409
+ "severity": {
410
+ "description": "The severity level.",
411
+ "enum": [
412
+ "error",
413
+ "warn",
414
+ "info"
415
+ ],
416
+ "title": "Severity",
417
+ "type": "string"
418
+ },
419
+ "issue": {
420
+ "anyOf": [
421
+ {
422
+ "type": "string"
423
+ },
424
+ {
425
+ "type": "null"
426
+ }
427
+ ],
428
+ "default": null,
429
+ "description": "Description of the issue (alternative to 'comment').",
430
+ "title": "Issue"
431
+ },
432
+ "comment": {
433
+ "anyOf": [
434
+ {
435
+ "type": "string"
436
+ },
437
+ {
438
+ "type": "null"
439
+ }
440
+ ],
441
+ "default": null,
442
+ "description": "Description of the issue.",
443
+ "title": "Comment"
444
+ },
445
+ "status": {
446
+ "anyOf": [
447
+ {
448
+ "type": "string"
449
+ },
450
+ {
451
+ "type": "null"
452
+ }
453
+ ],
454
+ "default": "open",
455
+ "description": "Status of the finding.",
456
+ "title": "Status"
457
+ },
458
+ "confidence": {
459
+ "description": "Confidence level of the AI.",
460
+ "enum": [
461
+ "high",
462
+ "medium",
463
+ "low"
464
+ ],
465
+ "title": "Confidence",
466
+ "type": "string"
467
+ },
468
+ "counterexample": {
469
+ "anyOf": [
470
+ {
471
+ "type": "string"
472
+ },
473
+ {
474
+ "type": "null"
475
+ }
476
+ ],
477
+ "default": null,
478
+ "description": "Example of how to fix or why it fails.",
479
+ "title": "Counterexample"
480
+ },
481
+ "snippet": {
482
+ "anyOf": [
483
+ {
484
+ "type": "string"
485
+ },
486
+ {
487
+ "type": "null"
488
+ }
489
+ ],
490
+ "default": null,
491
+ "description": "The exact code snippet from the diff.",
492
+ "title": "Snippet"
493
+ }
494
+ },
495
+ "required": [
496
+ "severity",
497
+ "confidence"
498
+ ],
499
+ "title": "AIReviewIssue",
500
+ "type": "object"
501
+ },
502
+ "AISynthesisReview": {
503
+ "properties": {
504
+ "reviewComment": {
505
+ "description": "Overall summary comment for the PR.",
506
+ "title": "Reviewcomment",
507
+ "type": "string"
508
+ },
509
+ "labels": {
510
+ "description": "Suggested labels for the PR.",
511
+ "items": {
512
+ "type": "string"
513
+ },
514
+ "title": "Labels",
515
+ "type": "array"
516
+ },
517
+ "recommendation": {
518
+ "description": "Final recommendation.",
519
+ "title": "Recommendation",
520
+ "type": "string"
521
+ }
522
+ },
523
+ "required": [
524
+ "reviewComment",
525
+ "recommendation"
526
+ ],
527
+ "title": "AISynthesisReview",
528
+ "type": "object"
529
+ },
530
+ "CheckoutBranchInput": {
531
+ "properties": {
532
+ "branch": {
533
+ "description": "The name of the branch to checkout.",
534
+ "title": "Branch",
535
+ "type": "string"
536
+ },
537
+ "worktreePath": {
538
+ "anyOf": [
539
+ {
540
+ "type": "string"
541
+ },
542
+ {
543
+ "type": "null"
544
+ }
545
+ ],
546
+ "default": null,
547
+ "description": "Optional path to the worktree to perform the checkout in.",
548
+ "title": "Worktreepath"
549
+ }
550
+ },
551
+ "required": [
552
+ "branch"
553
+ ],
554
+ "title": "CheckoutBranchInput",
555
+ "type": "object"
556
+ },
557
+ "CommentTriageSummaryInput": {
558
+ "properties": {
559
+ "prNumber": {
560
+ "description": "The number of the original PR to comment on.",
561
+ "title": "Prnumber",
562
+ "type": "integer"
563
+ },
564
+ "body": {
565
+ "description": "The content of the comment.",
566
+ "title": "Body",
567
+ "type": "string"
568
+ }
569
+ },
570
+ "required": [
571
+ "prNumber",
572
+ "body"
573
+ ],
574
+ "title": "CommentTriageSummaryInput",
575
+ "type": "object"
576
+ },
577
+ "CommitPatchInput": {
578
+ "properties": {
579
+ "worktreePath": {
580
+ "description": "Path to the worktree where changes are made.",
581
+ "title": "Worktreepath",
582
+ "type": "string"
583
+ },
584
+ "message": {
585
+ "description": "Commit message.",
586
+ "title": "Message",
587
+ "type": "string"
588
+ },
589
+ "allowedFiles": {
590
+ "description": "List of files that are allowed to be committed.",
591
+ "items": {
592
+ "type": "string"
593
+ },
594
+ "title": "Allowedfiles",
595
+ "type": "array"
596
+ },
597
+ "writeMode": {
598
+ "description": "Safety gate: Must be true to perform the commit.",
599
+ "title": "Writemode",
600
+ "type": "boolean"
601
+ }
602
+ },
603
+ "required": [
604
+ "worktreePath",
605
+ "message",
606
+ "allowedFiles",
607
+ "writeMode"
608
+ ],
609
+ "title": "CommitPatchInput",
610
+ "type": "object"
611
+ },
612
+ "CreateBranchInput": {
613
+ "properties": {
614
+ "branchName": {
615
+ "description": "The name of the new branch",
616
+ "title": "Branchname",
617
+ "type": "string"
618
+ },
619
+ "baseBranch": {
620
+ "default": "main",
621
+ "description": "Branch to branch off from",
622
+ "title": "Basebranch",
623
+ "type": "string"
624
+ }
625
+ },
626
+ "required": [
627
+ "branchName"
628
+ ],
629
+ "title": "CreateBranchInput",
630
+ "type": "object"
631
+ },
632
+ "CreateIssueInput": {
633
+ "properties": {
634
+ "title": {
635
+ "minLength": 1,
636
+ "title": "Title",
637
+ "type": "string"
638
+ },
639
+ "body": {
640
+ "anyOf": [
641
+ {
642
+ "minLength": 1,
643
+ "type": "string"
644
+ },
645
+ {
646
+ "type": "null"
647
+ }
648
+ ],
649
+ "default": null,
650
+ "title": "Body"
651
+ },
652
+ "file": {
653
+ "anyOf": [
654
+ {
655
+ "minLength": 1,
656
+ "type": "string"
657
+ },
658
+ {
659
+ "type": "null"
660
+ }
661
+ ],
662
+ "default": null,
663
+ "title": "File"
664
+ }
665
+ },
666
+ "required": [
667
+ "title"
668
+ ],
669
+ "title": "CreateIssueInput",
670
+ "type": "object"
671
+ },
672
+ "CreateIssueResponse": {
673
+ "$defs": {
674
+ "IssueSummary": {
675
+ "properties": {
676
+ "number": {
677
+ "title": "Number",
678
+ "type": "integer"
679
+ },
680
+ "title": {
681
+ "title": "Title",
682
+ "type": "string"
683
+ },
684
+ "html_url": {
685
+ "title": "Html Url",
686
+ "type": "string"
687
+ },
688
+ "state": {
689
+ "title": "State",
690
+ "type": "string"
691
+ }
692
+ },
693
+ "required": [
694
+ "number",
695
+ "title",
696
+ "html_url",
697
+ "state"
698
+ ],
699
+ "title": "IssueSummary",
700
+ "type": "object"
701
+ }
702
+ },
703
+ "properties": {
704
+ "status": {
705
+ "default": "success",
706
+ "title": "Status",
707
+ "type": "string"
708
+ },
709
+ "message": {
710
+ "anyOf": [
711
+ {
712
+ "type": "string"
713
+ },
714
+ {
715
+ "type": "null"
716
+ }
717
+ ],
718
+ "default": null,
719
+ "title": "Message"
720
+ },
721
+ "data": {
722
+ "anyOf": [
723
+ {},
724
+ {
725
+ "type": "null"
726
+ }
727
+ ],
728
+ "default": null,
729
+ "title": "Data"
730
+ },
731
+ "issue": {
732
+ "anyOf": [
733
+ {
734
+ "$ref": "#/$defs/IssueSummary"
735
+ },
736
+ {
737
+ "type": "null"
738
+ }
739
+ ],
740
+ "default": null
741
+ }
742
+ },
743
+ "title": "CreateIssueResponse",
744
+ "type": "object"
745
+ },
746
+ "CreateJulesSessionInput": {
747
+ "properties": {
748
+ "task": {
749
+ "description": "The instructions for Jules.",
750
+ "title": "Task",
751
+ "type": "string"
752
+ },
753
+ "branch": {
754
+ "anyOf": [
755
+ {
756
+ "type": "string"
757
+ },
758
+ {
759
+ "type": "null"
760
+ }
761
+ ],
762
+ "default": null,
763
+ "description": "The base branch to start from (e.g., 'main').",
764
+ "title": "Branch"
765
+ },
766
+ "pr": {
767
+ "anyOf": [
768
+ {
769
+ "type": "integer"
770
+ },
771
+ {
772
+ "type": "null"
773
+ }
774
+ ],
775
+ "default": null,
776
+ "description": "The PR number to use as the base branch context.",
777
+ "title": "Pr"
778
+ }
779
+ },
780
+ "required": [
781
+ "task"
782
+ ],
783
+ "title": "CreateJulesSessionInput",
784
+ "type": "object"
785
+ },
786
+ "CreatePullRequestInput": {
787
+ "properties": {
788
+ "title": {
789
+ "description": "PR Title.",
790
+ "title": "Title",
791
+ "type": "string"
792
+ },
793
+ "body": {
794
+ "description": "Description of changes.",
795
+ "title": "Body",
796
+ "type": "string"
797
+ },
798
+ "head": {
799
+ "description": "The branch containing changes to merge.",
800
+ "title": "Head",
801
+ "type": "string"
802
+ },
803
+ "base": {
804
+ "default": "main",
805
+ "description": "The target branch to merge into.",
806
+ "title": "Base",
807
+ "type": "string"
808
+ },
809
+ "draft": {
810
+ "default": false,
811
+ "description": "Whether to create the PR as a draft.",
812
+ "title": "Draft",
813
+ "type": "boolean"
814
+ }
815
+ },
816
+ "required": [
817
+ "title",
818
+ "body",
819
+ "head"
820
+ ],
821
+ "title": "CreatePullRequestInput",
822
+ "type": "object"
823
+ },
824
+ "CreateRepairBranchInput": {
825
+ "properties": {
826
+ "prNumber": {
827
+ "description": "The original pull request number to repair.",
828
+ "title": "Prnumber",
829
+ "type": "integer"
830
+ },
831
+ "repairBranchName": {
832
+ "anyOf": [
833
+ {
834
+ "type": "string"
835
+ },
836
+ {
837
+ "type": "null"
838
+ }
839
+ ],
840
+ "default": null,
841
+ "description": "Optional custom name for the new repair branch.",
842
+ "title": "Repairbranchname"
843
+ },
844
+ "writeMode": {
845
+ "description": "Safety gate: Must be true to perform branch creation and worktree setup.",
846
+ "title": "Writemode",
847
+ "type": "boolean"
848
+ }
849
+ },
850
+ "required": [
851
+ "prNumber",
852
+ "writeMode"
853
+ ],
854
+ "title": "CreateRepairBranchInput",
855
+ "type": "object"
856
+ },
857
+ "GetChangedFilesInput": {
858
+ "properties": {
859
+ "base": {
860
+ "default": "main",
861
+ "description": "The base ref to compare from (default: 'main').",
862
+ "title": "Base",
863
+ "type": "string"
864
+ },
865
+ "head": {
866
+ "default": "HEAD",
867
+ "description": "The head ref to compare to (default: 'HEAD').",
868
+ "title": "Head",
869
+ "type": "string"
870
+ }
871
+ },
872
+ "title": "GetChangedFilesInput",
873
+ "type": "object"
874
+ },
875
+ "GetCommandSchemaInput": {
876
+ "properties": {
877
+ "commandPath": {
878
+ "description": "The CLI command path to retrieve the schema for (e.g. 'gh audit-pr')",
879
+ "title": "Commandpath",
880
+ "type": "string"
881
+ }
882
+ },
883
+ "required": [
884
+ "commandPath"
885
+ ],
886
+ "title": "GetCommandSchemaInput",
887
+ "type": "object"
888
+ },
889
+ "GetMergeConflictFilesInput": {
890
+ "properties": {
891
+ "prNumber": {
892
+ "description": "The number of the pull request to check for conflicts.",
893
+ "title": "Prnumber",
894
+ "type": "integer"
895
+ },
896
+ "baseBranch": {
897
+ "default": "main",
898
+ "description": "The base branch to check against (default: 'main').",
899
+ "title": "Basebranch",
900
+ "type": "string"
901
+ }
902
+ },
903
+ "required": [
904
+ "prNumber"
905
+ ],
906
+ "title": "GetMergeConflictFilesInput",
907
+ "type": "object"
908
+ },
909
+ "GetPackageScriptsInput": {
910
+ "properties": {
911
+ "filter": {
912
+ "anyOf": [
913
+ {
914
+ "type": "string"
915
+ },
916
+ {
917
+ "type": "null"
918
+ }
919
+ ],
920
+ "default": null,
921
+ "description": "Optional glob pattern to filter script names.",
922
+ "title": "Filter"
923
+ }
924
+ },
925
+ "title": "GetPackageScriptsInput",
926
+ "type": "object"
927
+ },
928
+ "GetPrDiffInput": {
929
+ "properties": {
930
+ "prNumber": {
931
+ "description": "The number of the pull request to get the diff for.",
932
+ "title": "Prnumber",
933
+ "type": "integer"
934
+ }
935
+ },
936
+ "required": [
937
+ "prNumber"
938
+ ],
939
+ "title": "GetPrDiffInput",
940
+ "type": "object"
941
+ },
942
+ "GetPrInput": {
943
+ "properties": {
944
+ "prNumber": {
945
+ "description": "The number of the PR to view.",
946
+ "title": "Prnumber",
947
+ "type": "integer"
948
+ }
949
+ },
950
+ "required": [
951
+ "prNumber"
952
+ ],
953
+ "title": "GetPrInput",
954
+ "type": "object"
955
+ },
956
+ "GetRouteMapInput": {
957
+ "properties": {
958
+ "includeStatic": {
959
+ "anyOf": [
960
+ {
961
+ "type": "boolean"
962
+ },
963
+ {
964
+ "type": "null"
965
+ }
966
+ ],
967
+ "default": null,
968
+ "description": "Whether to include static assets in the route map.",
969
+ "title": "Includestatic"
970
+ }
971
+ },
972
+ "title": "GetRouteMapInput",
973
+ "type": "object"
974
+ },
975
+ "HealthCheckInput": {
976
+ "properties": {
977
+ "checkDeep": {
978
+ "default": false,
979
+ "description": "Whether to perform a deep health check including external dependencies.",
980
+ "title": "Checkdeep",
981
+ "type": "boolean"
982
+ }
983
+ },
984
+ "title": "HealthCheckInput",
985
+ "type": "object"
986
+ },
987
+ "IssueCommentInput": {
988
+ "properties": {
989
+ "issueNumber": {
990
+ "description": "The number of the issue to comment on.",
991
+ "title": "Issuenumber",
992
+ "type": "integer"
993
+ },
994
+ "body": {
995
+ "description": "The content of the comment.",
996
+ "title": "Body",
997
+ "type": "string"
998
+ }
999
+ },
1000
+ "required": [
1001
+ "issueNumber",
1002
+ "body"
1003
+ ],
1004
+ "title": "IssueCommentInput",
1005
+ "type": "object"
1006
+ },
1007
+ "IssueSummary": {
1008
+ "properties": {
1009
+ "number": {
1010
+ "title": "Number",
1011
+ "type": "integer"
1012
+ },
1013
+ "title": {
1014
+ "title": "Title",
1015
+ "type": "string"
1016
+ },
1017
+ "html_url": {
1018
+ "title": "Html Url",
1019
+ "type": "string"
1020
+ },
1021
+ "state": {
1022
+ "title": "State",
1023
+ "type": "string"
1024
+ }
1025
+ },
1026
+ "required": [
1027
+ "number",
1028
+ "title",
1029
+ "html_url",
1030
+ "state"
1031
+ ],
1032
+ "title": "IssueSummary",
1033
+ "type": "object"
1034
+ },
1035
+ "IssueUpdateInput": {
1036
+ "properties": {
1037
+ "issueNumber": {
1038
+ "description": "The number of the issue to update.",
1039
+ "title": "Issuenumber",
1040
+ "type": "integer"
1041
+ },
1042
+ "body": {
1043
+ "anyOf": [
1044
+ {
1045
+ "type": "string"
1046
+ },
1047
+ {
1048
+ "type": "null"
1049
+ }
1050
+ ],
1051
+ "default": null,
1052
+ "description": "The new body content for the issue.",
1053
+ "title": "Body"
1054
+ },
1055
+ "file": {
1056
+ "anyOf": [
1057
+ {
1058
+ "type": "string"
1059
+ },
1060
+ {
1061
+ "type": "null"
1062
+ }
1063
+ ],
1064
+ "default": null,
1065
+ "description": "Path to file containing new issue body.",
1066
+ "title": "File"
1067
+ },
1068
+ "labels": {
1069
+ "anyOf": [
1070
+ {
1071
+ "items": {
1072
+ "type": "string"
1073
+ },
1074
+ "type": "array"
1075
+ },
1076
+ {
1077
+ "type": "null"
1078
+ }
1079
+ ],
1080
+ "default": null,
1081
+ "description": "Comma-separated list of labels to set.",
1082
+ "title": "Labels"
1083
+ },
1084
+ "addLabels": {
1085
+ "anyOf": [
1086
+ {
1087
+ "items": {
1088
+ "type": "string"
1089
+ },
1090
+ "type": "array"
1091
+ },
1092
+ {
1093
+ "type": "null"
1094
+ }
1095
+ ],
1096
+ "default": null,
1097
+ "description": "Comma-separated list of labels to add.",
1098
+ "title": "Addlabels"
1099
+ },
1100
+ "removeLabels": {
1101
+ "anyOf": [
1102
+ {
1103
+ "items": {
1104
+ "type": "string"
1105
+ },
1106
+ "type": "array"
1107
+ },
1108
+ {
1109
+ "type": "null"
1110
+ }
1111
+ ],
1112
+ "default": null,
1113
+ "description": "Comma-separated list of labels to remove.",
1114
+ "title": "Removelabels"
1115
+ },
1116
+ "state": {
1117
+ "anyOf": [
1118
+ {
1119
+ "type": "string"
1120
+ },
1121
+ {
1122
+ "type": "null"
1123
+ }
1124
+ ],
1125
+ "default": null,
1126
+ "description": "The state to set the issue to (open or closed).",
1127
+ "title": "State"
1128
+ }
1129
+ },
1130
+ "required": [
1131
+ "issueNumber"
1132
+ ],
1133
+ "title": "IssueUpdateInput",
1134
+ "type": "object"
1135
+ },
1136
+ "IssueUpdateResponse": {
1137
+ "$defs": {
1138
+ "IssueSummary": {
1139
+ "properties": {
1140
+ "number": {
1141
+ "title": "Number",
1142
+ "type": "integer"
1143
+ },
1144
+ "title": {
1145
+ "title": "Title",
1146
+ "type": "string"
1147
+ },
1148
+ "html_url": {
1149
+ "title": "Html Url",
1150
+ "type": "string"
1151
+ },
1152
+ "state": {
1153
+ "title": "State",
1154
+ "type": "string"
1155
+ }
1156
+ },
1157
+ "required": [
1158
+ "number",
1159
+ "title",
1160
+ "html_url",
1161
+ "state"
1162
+ ],
1163
+ "title": "IssueSummary",
1164
+ "type": "object"
1165
+ }
1166
+ },
1167
+ "properties": {
1168
+ "status": {
1169
+ "default": "success",
1170
+ "title": "Status",
1171
+ "type": "string"
1172
+ },
1173
+ "message": {
1174
+ "anyOf": [
1175
+ {
1176
+ "type": "string"
1177
+ },
1178
+ {
1179
+ "type": "null"
1180
+ }
1181
+ ],
1182
+ "default": null,
1183
+ "title": "Message"
1184
+ },
1185
+ "data": {
1186
+ "anyOf": [
1187
+ {},
1188
+ {
1189
+ "type": "null"
1190
+ }
1191
+ ],
1192
+ "default": null,
1193
+ "title": "Data"
1194
+ },
1195
+ "issue": {
1196
+ "anyOf": [
1197
+ {
1198
+ "$ref": "#/$defs/IssueSummary"
1199
+ },
1200
+ {
1201
+ "type": "null"
1202
+ }
1203
+ ],
1204
+ "default": null
1205
+ }
1206
+ },
1207
+ "title": "IssueUpdateResponse",
1208
+ "type": "object"
1209
+ },
1210
+ "IssueViewInput": {
1211
+ "properties": {
1212
+ "issueNumber": {
1213
+ "description": "The number of the issue to view.",
1214
+ "title": "Issuenumber",
1215
+ "type": "integer"
1216
+ }
1217
+ },
1218
+ "required": [
1219
+ "issueNumber"
1220
+ ],
1221
+ "title": "IssueViewInput",
1222
+ "type": "object"
1223
+ },
1224
+ "JulesListSessionsInput": {
1225
+ "properties": {
1226
+ "pageSize": {
1227
+ "anyOf": [
1228
+ {
1229
+ "type": "integer"
1230
+ },
1231
+ {
1232
+ "type": "null"
1233
+ }
1234
+ ],
1235
+ "default": null,
1236
+ "description": "Maximum number of sessions to return.",
1237
+ "title": "Pagesize"
1238
+ },
1239
+ "pageToken": {
1240
+ "anyOf": [
1241
+ {
1242
+ "type": "string"
1243
+ },
1244
+ {
1245
+ "type": "null"
1246
+ }
1247
+ ],
1248
+ "default": null,
1249
+ "description": "Token for pagination.",
1250
+ "title": "Pagetoken"
1251
+ }
1252
+ },
1253
+ "title": "JulesListSessionsInput",
1254
+ "type": "object"
1255
+ },
1256
+ "JulesSendMessageInput": {
1257
+ "properties": {
1258
+ "sessionId": {
1259
+ "anyOf": [
1260
+ {
1261
+ "type": "string"
1262
+ },
1263
+ {
1264
+ "items": {
1265
+ "type": "string"
1266
+ },
1267
+ "type": "array"
1268
+ }
1269
+ ],
1270
+ "description": "The unique ID or IDs of the Jules session(s).",
1271
+ "title": "Sessionid"
1272
+ },
1273
+ "message": {
1274
+ "description": "The message content to send.",
1275
+ "minLength": 1,
1276
+ "title": "Message",
1277
+ "type": "string"
1278
+ }
1279
+ },
1280
+ "required": [
1281
+ "sessionId",
1282
+ "message"
1283
+ ],
1284
+ "title": "JulesSendMessageInput",
1285
+ "type": "object"
1286
+ },
1287
+ "JulesSessionIdInput": {
1288
+ "properties": {
1289
+ "sessionId": {
1290
+ "description": "The unique ID of the Jules session.",
1291
+ "title": "Sessionid",
1292
+ "type": "string"
1293
+ }
1294
+ },
1295
+ "required": [
1296
+ "sessionId"
1297
+ ],
1298
+ "title": "JulesSessionIdInput",
1299
+ "type": "object"
1300
+ },
1301
+ "OpenReplacementPrInput": {
1302
+ "properties": {
1303
+ "originalPrNumber": {
1304
+ "description": "The number of the pull request being replaced.",
1305
+ "title": "Originalprnumber",
1306
+ "type": "integer"
1307
+ },
1308
+ "repairBranch": {
1309
+ "description": "The branch containing the fixes.",
1310
+ "title": "Repairbranch",
1311
+ "type": "string"
1312
+ },
1313
+ "baseBranch": {
1314
+ "description": "The branch to merge the fixes into.",
1315
+ "title": "Basebranch",
1316
+ "type": "string"
1317
+ },
1318
+ "title": {
1319
+ "description": "The title of the new PR.",
1320
+ "title": "Title",
1321
+ "type": "string"
1322
+ },
1323
+ "body": {
1324
+ "description": "The body/description of the new PR.",
1325
+ "title": "Body",
1326
+ "type": "string"
1327
+ },
1328
+ "draft": {
1329
+ "default": true,
1330
+ "description": "Whether to create the PR as a draft (default: true).",
1331
+ "title": "Draft",
1332
+ "type": "boolean"
1333
+ },
1334
+ "worktreePath": {
1335
+ "anyOf": [
1336
+ {
1337
+ "type": "string"
1338
+ },
1339
+ {
1340
+ "type": "null"
1341
+ }
1342
+ ],
1343
+ "default": null,
1344
+ "description": "Optional path to the worktree where the PR is created from.",
1345
+ "title": "Worktreepath"
1346
+ },
1347
+ "pushMode": {
1348
+ "description": "Safety gate: Must be true to push the branch and open the PR.",
1349
+ "title": "Pushmode",
1350
+ "type": "boolean"
1351
+ }
1352
+ },
1353
+ "required": [
1354
+ "originalPrNumber",
1355
+ "repairBranch",
1356
+ "baseBranch",
1357
+ "title",
1358
+ "body",
1359
+ "pushMode"
1360
+ ],
1361
+ "title": "OpenReplacementPrInput",
1362
+ "type": "object"
1363
+ },
1364
+ "PRComment": {
1365
+ "properties": {
1366
+ "user": {
1367
+ "title": "User",
1368
+ "type": "string"
1369
+ },
1370
+ "body": {
1371
+ "title": "Body",
1372
+ "type": "string"
1373
+ },
1374
+ "created_at": {
1375
+ "title": "Created At",
1376
+ "type": "string"
1377
+ }
1378
+ },
1379
+ "required": [
1380
+ "user",
1381
+ "body",
1382
+ "created_at"
1383
+ ],
1384
+ "title": "PRComment",
1385
+ "type": "object"
1386
+ },
1387
+ "PRSummary": {
1388
+ "properties": {
1389
+ "number": {
1390
+ "title": "Number",
1391
+ "type": "integer"
1392
+ },
1393
+ "title": {
1394
+ "title": "Title",
1395
+ "type": "string"
1396
+ },
1397
+ "author": {
1398
+ "additionalProperties": {
1399
+ "type": "string"
1400
+ },
1401
+ "title": "Author",
1402
+ "type": "object"
1403
+ },
1404
+ "headRefName": {
1405
+ "anyOf": [
1406
+ {
1407
+ "type": "string"
1408
+ },
1409
+ {
1410
+ "type": "null"
1411
+ }
1412
+ ],
1413
+ "default": null,
1414
+ "title": "Headrefname"
1415
+ },
1416
+ "baseRefName": {
1417
+ "anyOf": [
1418
+ {
1419
+ "type": "string"
1420
+ },
1421
+ {
1422
+ "type": "null"
1423
+ }
1424
+ ],
1425
+ "default": null,
1426
+ "title": "Baserefname"
1427
+ },
1428
+ "isDraft": {
1429
+ "default": false,
1430
+ "title": "Isdraft",
1431
+ "type": "boolean"
1432
+ },
1433
+ "mergeStateStatus": {
1434
+ "anyOf": [
1435
+ {
1436
+ "type": "string"
1437
+ },
1438
+ {
1439
+ "type": "null"
1440
+ }
1441
+ ],
1442
+ "default": null,
1443
+ "title": "Mergestatestatus"
1444
+ },
1445
+ "updatedAt": {
1446
+ "anyOf": [
1447
+ {
1448
+ "type": "string"
1449
+ },
1450
+ {
1451
+ "type": "null"
1452
+ }
1453
+ ],
1454
+ "default": null,
1455
+ "title": "Updatedat"
1456
+ },
1457
+ "url": {
1458
+ "anyOf": [
1459
+ {
1460
+ "type": "string"
1461
+ },
1462
+ {
1463
+ "type": "null"
1464
+ }
1465
+ ],
1466
+ "default": null,
1467
+ "title": "Url"
1468
+ }
1469
+ },
1470
+ "required": [
1471
+ "number",
1472
+ "title"
1473
+ ],
1474
+ "title": "PRSummary",
1475
+ "type": "object"
1476
+ },
1477
+ "ReadAgentContextInput": {
1478
+ "properties": {},
1479
+ "title": "ReadAgentContextInput",
1480
+ "type": "object"
1481
+ },
1482
+ "ReadCiLogsInput": {
1483
+ "properties": {
1484
+ "prNumber": {
1485
+ "description": "The number of the pull request to read logs for.",
1486
+ "title": "Prnumber",
1487
+ "type": "integer"
1488
+ },
1489
+ "all": {
1490
+ "default": false,
1491
+ "description": "Include logs for successful runs (default: false).",
1492
+ "title": "All",
1493
+ "type": "boolean"
1494
+ }
1495
+ },
1496
+ "required": [
1497
+ "prNumber"
1498
+ ],
1499
+ "title": "ReadCiLogsInput",
1500
+ "type": "object"
1501
+ },
1502
+ "ReadPRCommentsInput": {
1503
+ "properties": {
1504
+ "prNumber": {
1505
+ "description": "The PR number to fetch comments for.",
1506
+ "exclusiveMinimum": 0,
1507
+ "title": "Prnumber",
1508
+ "type": "integer"
1509
+ }
1510
+ },
1511
+ "required": [
1512
+ "prNumber"
1513
+ ],
1514
+ "title": "ReadPRCommentsInput",
1515
+ "type": "object"
1516
+ },
1517
+ "ReadPRCommentsResponse": {
1518
+ "$defs": {
1519
+ "IssueSummary": {
1520
+ "properties": {
1521
+ "number": {
1522
+ "title": "Number",
1523
+ "type": "integer"
1524
+ },
1525
+ "title": {
1526
+ "title": "Title",
1527
+ "type": "string"
1528
+ },
1529
+ "html_url": {
1530
+ "title": "Html Url",
1531
+ "type": "string"
1532
+ },
1533
+ "state": {
1534
+ "title": "State",
1535
+ "type": "string"
1536
+ }
1537
+ },
1538
+ "required": [
1539
+ "number",
1540
+ "title",
1541
+ "html_url",
1542
+ "state"
1543
+ ],
1544
+ "title": "IssueSummary",
1545
+ "type": "object"
1546
+ },
1547
+ "PRComment": {
1548
+ "properties": {
1549
+ "user": {
1550
+ "title": "User",
1551
+ "type": "string"
1552
+ },
1553
+ "body": {
1554
+ "title": "Body",
1555
+ "type": "string"
1556
+ },
1557
+ "created_at": {
1558
+ "title": "Created At",
1559
+ "type": "string"
1560
+ }
1561
+ },
1562
+ "required": [
1563
+ "user",
1564
+ "body",
1565
+ "created_at"
1566
+ ],
1567
+ "title": "PRComment",
1568
+ "type": "object"
1569
+ },
1570
+ "ReviewComment": {
1571
+ "properties": {
1572
+ "user": {
1573
+ "title": "User",
1574
+ "type": "string"
1575
+ },
1576
+ "path": {
1577
+ "title": "Path",
1578
+ "type": "string"
1579
+ },
1580
+ "line": {
1581
+ "anyOf": [
1582
+ {
1583
+ "type": "integer"
1584
+ },
1585
+ {
1586
+ "type": "null"
1587
+ }
1588
+ ],
1589
+ "default": null,
1590
+ "title": "Line"
1591
+ },
1592
+ "body": {
1593
+ "title": "Body",
1594
+ "type": "string"
1595
+ },
1596
+ "created_at": {
1597
+ "title": "Created At",
1598
+ "type": "string"
1599
+ }
1600
+ },
1601
+ "required": [
1602
+ "user",
1603
+ "path",
1604
+ "body",
1605
+ "created_at"
1606
+ ],
1607
+ "title": "ReviewComment",
1608
+ "type": "object"
1609
+ }
1610
+ },
1611
+ "properties": {
1612
+ "status": {
1613
+ "default": "success",
1614
+ "title": "Status",
1615
+ "type": "string"
1616
+ },
1617
+ "message": {
1618
+ "anyOf": [
1619
+ {
1620
+ "type": "string"
1621
+ },
1622
+ {
1623
+ "type": "null"
1624
+ }
1625
+ ],
1626
+ "default": null,
1627
+ "title": "Message"
1628
+ },
1629
+ "data": {
1630
+ "anyOf": [
1631
+ {},
1632
+ {
1633
+ "type": "null"
1634
+ }
1635
+ ],
1636
+ "default": null,
1637
+ "title": "Data"
1638
+ },
1639
+ "pr": {
1640
+ "$ref": "#/$defs/IssueSummary"
1641
+ },
1642
+ "comments": {
1643
+ "items": {
1644
+ "$ref": "#/$defs/PRComment"
1645
+ },
1646
+ "title": "Comments",
1647
+ "type": "array"
1648
+ },
1649
+ "review_comments": {
1650
+ "items": {
1651
+ "$ref": "#/$defs/ReviewComment"
1652
+ },
1653
+ "title": "Review Comments",
1654
+ "type": "array"
1655
+ }
1656
+ },
1657
+ "required": [
1658
+ "pr"
1659
+ ],
1660
+ "title": "ReadPRCommentsResponse",
1661
+ "type": "object"
1662
+ },
1663
+ "RepoLogsInput": {
1664
+ "properties": {
1665
+ "prNumber": {
1666
+ "description": "The number of the pull request to stream logs for.",
1667
+ "title": "Prnumber",
1668
+ "type": "integer"
1669
+ },
1670
+ "grep": {
1671
+ "anyOf": [
1672
+ {
1673
+ "type": "string"
1674
+ },
1675
+ {
1676
+ "type": "null"
1677
+ }
1678
+ ],
1679
+ "default": null,
1680
+ "description": "Optional pattern to filter log lines.",
1681
+ "title": "Grep"
1682
+ }
1683
+ },
1684
+ "required": [
1685
+ "prNumber"
1686
+ ],
1687
+ "title": "RepoLogsInput",
1688
+ "type": "object"
1689
+ },
1690
+ "ReviewComment": {
1691
+ "properties": {
1692
+ "user": {
1693
+ "title": "User",
1694
+ "type": "string"
1695
+ },
1696
+ "path": {
1697
+ "title": "Path",
1698
+ "type": "string"
1699
+ },
1700
+ "line": {
1701
+ "anyOf": [
1702
+ {
1703
+ "type": "integer"
1704
+ },
1705
+ {
1706
+ "type": "null"
1707
+ }
1708
+ ],
1709
+ "default": null,
1710
+ "title": "Line"
1711
+ },
1712
+ "body": {
1713
+ "title": "Body",
1714
+ "type": "string"
1715
+ },
1716
+ "created_at": {
1717
+ "title": "Created At",
1718
+ "type": "string"
1719
+ }
1720
+ },
1721
+ "required": [
1722
+ "user",
1723
+ "path",
1724
+ "body",
1725
+ "created_at"
1726
+ ],
1727
+ "title": "ReviewComment",
1728
+ "type": "object"
1729
+ },
1730
+ "RunLighthouseInput": {
1731
+ "properties": {
1732
+ "route": {
1733
+ "default": "/",
1734
+ "description": "The route to audit (default: '/').",
1735
+ "title": "Route",
1736
+ "type": "string"
1737
+ },
1738
+ "worktreePath": {
1739
+ "anyOf": [
1740
+ {
1741
+ "type": "string"
1742
+ },
1743
+ {
1744
+ "type": "null"
1745
+ }
1746
+ ],
1747
+ "default": null,
1748
+ "description": "Optional path to the worktree to run the audit in.",
1749
+ "title": "Worktreepath"
1750
+ }
1751
+ },
1752
+ "title": "RunLighthouseInput",
1753
+ "type": "object"
1754
+ },
1755
+ "RunPlaywrightInput": {
1756
+ "properties": {
1757
+ "grep": {
1758
+ "anyOf": [
1759
+ {
1760
+ "type": "string"
1761
+ },
1762
+ {
1763
+ "type": "null"
1764
+ }
1765
+ ],
1766
+ "default": null,
1767
+ "description": "Optional pattern to filter tests by name.",
1768
+ "title": "Grep"
1769
+ },
1770
+ "worktreePath": {
1771
+ "anyOf": [
1772
+ {
1773
+ "type": "string"
1774
+ },
1775
+ {
1776
+ "type": "null"
1777
+ }
1778
+ ],
1779
+ "default": null,
1780
+ "description": "Optional path to the worktree to run tests in.",
1781
+ "title": "Worktreepath"
1782
+ }
1783
+ },
1784
+ "title": "RunPlaywrightInput",
1785
+ "type": "object"
1786
+ },
1787
+ "RunTestsInput": {
1788
+ "properties": {
1789
+ "commands": {
1790
+ "anyOf": [
1791
+ {
1792
+ "items": {
1793
+ "type": "string"
1794
+ },
1795
+ "type": "array"
1796
+ },
1797
+ {
1798
+ "type": "null"
1799
+ }
1800
+ ],
1801
+ "default": null,
1802
+ "description": "Optional list of commands to run (default includes install, lint, test, build).",
1803
+ "title": "Commands"
1804
+ },
1805
+ "timeoutSeconds": {
1806
+ "default": 300,
1807
+ "description": "Maximum time in seconds to wait for tests (default: 300).",
1808
+ "title": "Timeoutseconds",
1809
+ "type": "integer"
1810
+ },
1811
+ "worktreePath": {
1812
+ "anyOf": [
1813
+ {
1814
+ "type": "string"
1815
+ },
1816
+ {
1817
+ "type": "null"
1818
+ }
1819
+ ],
1820
+ "default": null,
1821
+ "description": "Optional path to the worktree to run tests in.",
1822
+ "title": "Worktreepath"
1823
+ }
1824
+ },
1825
+ "title": "RunTestsInput",
1826
+ "type": "object"
1827
+ },
1828
+ "SearchDdgsInput": {
1829
+ "properties": {
1830
+ "query": {
1831
+ "description": "The search query.",
1832
+ "title": "Query",
1833
+ "type": "string"
1834
+ },
1835
+ "maxResults": {
1836
+ "anyOf": [
1837
+ {
1838
+ "type": "integer"
1839
+ },
1840
+ {
1841
+ "type": "null"
1842
+ }
1843
+ ],
1844
+ "default": null,
1845
+ "description": "Maximum number of results to return.",
1846
+ "title": "Maxresults"
1847
+ }
1848
+ },
1849
+ "required": [
1850
+ "query"
1851
+ ],
1852
+ "title": "SearchDdgsInput",
1853
+ "type": "object"
1854
+ },
1855
+ "SearchPRsInput": {
1856
+ "properties": {
1857
+ "state": {
1858
+ "default": "open",
1859
+ "description": "The state of the PRs to search for (open, closed, all).",
1860
+ "title": "State",
1861
+ "type": "string"
1862
+ },
1863
+ "limit": {
1864
+ "default": 100,
1865
+ "description": "The maximum number of PRs to return (default: 100, range: 1-100).",
1866
+ "title": "Limit",
1867
+ "type": "integer"
1868
+ },
1869
+ "includeDrafts": {
1870
+ "default": true,
1871
+ "description": "Whether to include draft PRs in the results.",
1872
+ "title": "Includedrafts",
1873
+ "type": "boolean"
1874
+ },
1875
+ "labels": {
1876
+ "anyOf": [
1877
+ {
1878
+ "items": {
1879
+ "type": "string"
1880
+ },
1881
+ "type": "array"
1882
+ },
1883
+ {
1884
+ "type": "null"
1885
+ }
1886
+ ],
1887
+ "default": null,
1888
+ "description": "Filter PRs by labels.",
1889
+ "title": "Labels"
1890
+ }
1891
+ },
1892
+ "title": "SearchPRsInput",
1893
+ "type": "object"
1894
+ },
1895
+ "SearchPRsResponse": {
1896
+ "$defs": {
1897
+ "PRSummary": {
1898
+ "properties": {
1899
+ "number": {
1900
+ "title": "Number",
1901
+ "type": "integer"
1902
+ },
1903
+ "title": {
1904
+ "title": "Title",
1905
+ "type": "string"
1906
+ },
1907
+ "author": {
1908
+ "additionalProperties": {
1909
+ "type": "string"
1910
+ },
1911
+ "title": "Author",
1912
+ "type": "object"
1913
+ },
1914
+ "headRefName": {
1915
+ "anyOf": [
1916
+ {
1917
+ "type": "string"
1918
+ },
1919
+ {
1920
+ "type": "null"
1921
+ }
1922
+ ],
1923
+ "default": null,
1924
+ "title": "Headrefname"
1925
+ },
1926
+ "baseRefName": {
1927
+ "anyOf": [
1928
+ {
1929
+ "type": "string"
1930
+ },
1931
+ {
1932
+ "type": "null"
1933
+ }
1934
+ ],
1935
+ "default": null,
1936
+ "title": "Baserefname"
1937
+ },
1938
+ "isDraft": {
1939
+ "default": false,
1940
+ "title": "Isdraft",
1941
+ "type": "boolean"
1942
+ },
1943
+ "mergeStateStatus": {
1944
+ "anyOf": [
1945
+ {
1946
+ "type": "string"
1947
+ },
1948
+ {
1949
+ "type": "null"
1950
+ }
1951
+ ],
1952
+ "default": null,
1953
+ "title": "Mergestatestatus"
1954
+ },
1955
+ "updatedAt": {
1956
+ "anyOf": [
1957
+ {
1958
+ "type": "string"
1959
+ },
1960
+ {
1961
+ "type": "null"
1962
+ }
1963
+ ],
1964
+ "default": null,
1965
+ "title": "Updatedat"
1966
+ },
1967
+ "url": {
1968
+ "anyOf": [
1969
+ {
1970
+ "type": "string"
1971
+ },
1972
+ {
1973
+ "type": "null"
1974
+ }
1975
+ ],
1976
+ "default": null,
1977
+ "title": "Url"
1978
+ }
1979
+ },
1980
+ "required": [
1981
+ "number",
1982
+ "title"
1983
+ ],
1984
+ "title": "PRSummary",
1985
+ "type": "object"
1986
+ }
1987
+ },
1988
+ "properties": {
1989
+ "status": {
1990
+ "default": "success",
1991
+ "title": "Status",
1992
+ "type": "string"
1993
+ },
1994
+ "message": {
1995
+ "anyOf": [
1996
+ {
1997
+ "type": "string"
1998
+ },
1999
+ {
2000
+ "type": "null"
2001
+ }
2002
+ ],
2003
+ "default": null,
2004
+ "title": "Message"
2005
+ },
2006
+ "data": {
2007
+ "anyOf": [
2008
+ {},
2009
+ {
2010
+ "type": "null"
2011
+ }
2012
+ ],
2013
+ "default": null,
2014
+ "title": "Data"
2015
+ },
2016
+ "prs": {
2017
+ "items": {
2018
+ "$ref": "#/$defs/PRSummary"
2019
+ },
2020
+ "title": "Prs",
2021
+ "type": "array"
2022
+ }
2023
+ },
2024
+ "title": "SearchPRsResponse",
2025
+ "type": "object"
2026
+ }
2027
+ }
2028
+ }