@blogic-cz/agent-tools 0.15.14 → 0.17.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 (209) hide show
  1. package/README.md +5 -0
  2. package/dist/audit-tool/index.d.ts +3 -0
  3. package/dist/audit-tool/index.d.ts.map +1 -0
  4. package/dist/az-tool/build.d.ts +47 -0
  5. package/dist/az-tool/build.d.ts.map +1 -0
  6. package/dist/az-tool/config.d.ts +13 -0
  7. package/dist/az-tool/config.d.ts.map +1 -0
  8. package/dist/az-tool/errors.d.ts +43 -0
  9. package/dist/az-tool/errors.d.ts.map +1 -0
  10. package/dist/az-tool/extract-option-value.d.ts +2 -0
  11. package/dist/az-tool/extract-option-value.d.ts.map +1 -0
  12. package/dist/az-tool/index.d.ts +3 -0
  13. package/dist/az-tool/index.d.ts.map +1 -0
  14. package/dist/az-tool/security.d.ts +4 -0
  15. package/dist/az-tool/security.d.ts.map +1 -0
  16. package/dist/az-tool/service.d.ts +15 -0
  17. package/dist/az-tool/service.d.ts.map +1 -0
  18. package/dist/az-tool/transformers.d.ts +10 -0
  19. package/dist/az-tool/transformers.d.ts.map +1 -0
  20. package/dist/az-tool/types.d.ts +64 -0
  21. package/dist/az-tool/types.d.ts.map +1 -0
  22. package/dist/config/index.d.ts +4 -0
  23. package/dist/config/index.d.ts.map +1 -0
  24. package/dist/config/loader.d.ts +22 -0
  25. package/dist/config/loader.d.ts.map +1 -0
  26. package/dist/config/types.d.ts +189 -0
  27. package/dist/config/types.d.ts.map +1 -0
  28. package/dist/credential-guard/claude-hook.d.ts +13 -0
  29. package/dist/credential-guard/claude-hook.d.ts.map +1 -0
  30. package/dist/credential-guard/index.d.ts +77 -0
  31. package/dist/credential-guard/index.d.ts.map +1 -0
  32. package/dist/db-tool/config-service.d.ts +25 -0
  33. package/dist/db-tool/config-service.d.ts.map +1 -0
  34. package/dist/db-tool/errors.d.ts +41 -0
  35. package/dist/db-tool/errors.d.ts.map +1 -0
  36. package/dist/db-tool/index.d.ts +3 -0
  37. package/dist/db-tool/index.d.ts.map +1 -0
  38. package/dist/db-tool/schema.d.ts +21 -0
  39. package/dist/db-tool/schema.d.ts.map +1 -0
  40. package/dist/db-tool/security.d.ts +23 -0
  41. package/dist/db-tool/security.d.ts.map +1 -0
  42. package/dist/db-tool/service.d.ts +18 -0
  43. package/dist/db-tool/service.d.ts.map +1 -0
  44. package/dist/db-tool/sql-client.d.ts +24 -0
  45. package/dist/db-tool/sql-client.d.ts.map +1 -0
  46. package/dist/db-tool/transformers.d.ts +10 -0
  47. package/dist/db-tool/transformers.d.ts.map +1 -0
  48. package/dist/db-tool/types.d.ts +37 -0
  49. package/dist/db-tool/types.d.ts.map +1 -0
  50. package/dist/gh-tool/branch.d.ts +18 -0
  51. package/dist/gh-tool/branch.d.ts.map +1 -0
  52. package/dist/gh-tool/config.d.ts +7 -0
  53. package/dist/gh-tool/config.d.ts.map +1 -0
  54. package/dist/gh-tool/errors.d.ts +51 -0
  55. package/dist/gh-tool/errors.d.ts.map +1 -0
  56. package/dist/gh-tool/index.d.ts +3 -0
  57. package/dist/gh-tool/index.d.ts.map +1 -0
  58. package/dist/gh-tool/issue/commands.d.ts +68 -0
  59. package/dist/gh-tool/issue/commands.d.ts.map +1 -0
  60. package/dist/gh-tool/issue/core.d.ts +82 -0
  61. package/dist/gh-tool/issue/core.d.ts.map +1 -0
  62. package/dist/gh-tool/issue/index.d.ts +3 -0
  63. package/dist/gh-tool/issue/index.d.ts.map +1 -0
  64. package/dist/gh-tool/issue/triage.d.ts +89 -0
  65. package/dist/gh-tool/issue/triage.d.ts.map +1 -0
  66. package/dist/gh-tool/pr/commands.d.ts +384 -0
  67. package/dist/gh-tool/pr/commands.d.ts.map +1 -0
  68. package/dist/gh-tool/pr/core.d.ts +236 -0
  69. package/dist/gh-tool/pr/core.d.ts.map +1 -0
  70. package/dist/gh-tool/pr/helpers.d.ts +27 -0
  71. package/dist/gh-tool/pr/helpers.d.ts.map +1 -0
  72. package/dist/gh-tool/pr/index.d.ts +2 -0
  73. package/dist/gh-tool/pr/index.d.ts.map +1 -0
  74. package/dist/gh-tool/pr/review.d.ts +90 -0
  75. package/dist/gh-tool/pr/review.d.ts.map +1 -0
  76. package/dist/gh-tool/release.d.ts +52 -0
  77. package/dist/gh-tool/release.d.ts.map +1 -0
  78. package/dist/gh-tool/repo.d.ts +21 -0
  79. package/dist/gh-tool/repo.d.ts.map +1 -0
  80. package/dist/gh-tool/service.d.ts +25 -0
  81. package/dist/gh-tool/service.d.ts.map +1 -0
  82. package/dist/gh-tool/text-input.d.ts +22 -0
  83. package/dist/gh-tool/text-input.d.ts.map +1 -0
  84. package/dist/gh-tool/types.d.ts +271 -0
  85. package/dist/gh-tool/types.d.ts.map +1 -0
  86. package/dist/gh-tool/workflow.d.ts +157 -0
  87. package/dist/gh-tool/workflow.d.ts.map +1 -0
  88. package/dist/index.d.ts +4 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/k8s-tool/errors.d.ts +43 -0
  91. package/dist/k8s-tool/errors.d.ts.map +1 -0
  92. package/dist/k8s-tool/index.d.ts +3 -0
  93. package/dist/k8s-tool/index.d.ts.map +1 -0
  94. package/dist/k8s-tool/profile.d.ts +3 -0
  95. package/dist/k8s-tool/profile.d.ts.map +1 -0
  96. package/dist/k8s-tool/security.d.ts +14 -0
  97. package/dist/k8s-tool/security.d.ts.map +1 -0
  98. package/dist/k8s-tool/service.d.ts +16 -0
  99. package/dist/k8s-tool/service.d.ts.map +1 -0
  100. package/dist/k8s-tool/transformers.d.ts +23 -0
  101. package/dist/k8s-tool/transformers.d.ts.map +1 -0
  102. package/dist/k8s-tool/types.d.ts +13 -0
  103. package/dist/k8s-tool/types.d.ts.map +1 -0
  104. package/dist/logs-tool/errors.d.ts +40 -0
  105. package/dist/logs-tool/errors.d.ts.map +1 -0
  106. package/dist/logs-tool/index.d.ts +21 -0
  107. package/dist/logs-tool/index.d.ts.map +1 -0
  108. package/dist/logs-tool/service.d.ts +23 -0
  109. package/dist/logs-tool/service.d.ts.map +1 -0
  110. package/dist/logs-tool/transformers.d.ts +2 -0
  111. package/dist/logs-tool/transformers.d.ts.map +1 -0
  112. package/dist/logs-tool/types.d.ts +39 -0
  113. package/dist/logs-tool/types.d.ts.map +1 -0
  114. package/dist/observability-tool/errors.d.ts +8 -0
  115. package/dist/observability-tool/errors.d.ts.map +1 -0
  116. package/dist/observability-tool/index.d.ts +3 -0
  117. package/dist/observability-tool/index.d.ts.map +1 -0
  118. package/dist/observability-tool/logs.d.ts +22 -0
  119. package/dist/observability-tool/logs.d.ts.map +1 -0
  120. package/dist/observability-tool/metrics.d.ts +3 -0
  121. package/dist/observability-tool/metrics.d.ts.map +1 -0
  122. package/dist/observability-tool/shared.d.ts +18 -0
  123. package/dist/observability-tool/shared.d.ts.map +1 -0
  124. package/dist/observability-tool/trace.d.ts +3 -0
  125. package/dist/observability-tool/trace.d.ts.map +1 -0
  126. package/dist/observability-tool/types.d.ts +171 -0
  127. package/dist/observability-tool/types.d.ts.map +1 -0
  128. package/dist/session-tool/claude-code.d.ts +46 -0
  129. package/dist/session-tool/claude-code.d.ts.map +1 -0
  130. package/dist/session-tool/codex.d.ts +44 -0
  131. package/dist/session-tool/codex.d.ts.map +1 -0
  132. package/dist/session-tool/config.d.ts +29 -0
  133. package/dist/session-tool/config.d.ts.map +1 -0
  134. package/dist/session-tool/errors.d.ts +27 -0
  135. package/dist/session-tool/errors.d.ts.map +1 -0
  136. package/dist/session-tool/index.d.ts +13 -0
  137. package/dist/session-tool/index.d.ts.map +1 -0
  138. package/dist/session-tool/pi.d.ts +40 -0
  139. package/dist/session-tool/pi.d.ts.map +1 -0
  140. package/dist/session-tool/service.d.ts +18 -0
  141. package/dist/session-tool/service.d.ts.map +1 -0
  142. package/dist/session-tool/summaries.d.ts +5 -0
  143. package/dist/session-tool/summaries.d.ts.map +1 -0
  144. package/dist/session-tool/types.d.ts +38 -0
  145. package/dist/session-tool/types.d.ts.map +1 -0
  146. package/dist/shared/audit.d.ts +40 -0
  147. package/dist/shared/audit.d.ts.map +1 -0
  148. package/dist/shared/binary-preflight.d.ts +27 -0
  149. package/dist/shared/binary-preflight.d.ts.map +1 -0
  150. package/dist/shared/bun.d.ts +5 -0
  151. package/dist/shared/bun.d.ts.map +1 -0
  152. package/dist/shared/cli.d.ts +18 -0
  153. package/dist/shared/cli.d.ts.map +1 -0
  154. package/dist/shared/env-template.d.ts +9 -0
  155. package/dist/shared/env-template.d.ts.map +1 -0
  156. package/dist/shared/error-renderer.d.ts +4 -0
  157. package/dist/shared/error-renderer.d.ts.map +1 -0
  158. package/dist/shared/exec.d.ts +23 -0
  159. package/dist/shared/exec.d.ts.map +1 -0
  160. package/dist/shared/format.d.ts +7 -0
  161. package/dist/shared/format.d.ts.map +1 -0
  162. package/dist/shared/index.d.ts +12 -0
  163. package/dist/shared/index.d.ts.map +1 -0
  164. package/dist/shared/k8s-probe.d.ts +11 -0
  165. package/dist/shared/k8s-probe.d.ts.map +1 -0
  166. package/dist/shared/log-transform.d.ts +2 -0
  167. package/dist/shared/log-transform.d.ts.map +1 -0
  168. package/dist/shared/path.d.ts +2 -0
  169. package/dist/shared/path.d.ts.map +1 -0
  170. package/dist/shared/prerequisites/config.d.ts +6 -0
  171. package/dist/shared/prerequisites/config.d.ts.map +1 -0
  172. package/dist/shared/prerequisites/driver-commands.d.ts +19 -0
  173. package/dist/shared/prerequisites/driver-commands.d.ts.map +1 -0
  174. package/dist/shared/prerequisites/errors.d.ts +10 -0
  175. package/dist/shared/prerequisites/errors.d.ts.map +1 -0
  176. package/dist/shared/prerequisites/guardian-entry.d.ts +2 -0
  177. package/dist/shared/prerequisites/guardian-entry.d.ts.map +1 -0
  178. package/dist/shared/prerequisites/guardian.d.ts +41 -0
  179. package/dist/shared/prerequisites/guardian.d.ts.map +1 -0
  180. package/dist/shared/prerequisites/index.d.ts +6 -0
  181. package/dist/shared/prerequisites/index.d.ts.map +1 -0
  182. package/dist/shared/prerequisites/runtime.d.ts +26 -0
  183. package/dist/shared/prerequisites/runtime.d.ts.map +1 -0
  184. package/dist/shared/prerequisites/store.d.ts +99 -0
  185. package/dist/shared/prerequisites/store.d.ts.map +1 -0
  186. package/dist/shared/prerequisites/types.d.ts +39 -0
  187. package/dist/shared/prerequisites/types.d.ts.map +1 -0
  188. package/dist/shared/prerequisites/vpn.d.ts +5 -0
  189. package/dist/shared/prerequisites/vpn.d.ts.map +1 -0
  190. package/dist/shared/schema-dump.d.ts +27 -0
  191. package/dist/shared/schema-dump.d.ts.map +1 -0
  192. package/dist/shared/throttle.d.ts +17 -0
  193. package/dist/shared/throttle.d.ts.map +1 -0
  194. package/dist/shared/transform.d.ts +49 -0
  195. package/dist/shared/transform.d.ts.map +1 -0
  196. package/dist/shared/types.d.ts +30 -0
  197. package/dist/shared/types.d.ts.map +1 -0
  198. package/package.json +85 -25
  199. package/src/az-tool/errors.ts +4 -4
  200. package/src/db-tool/errors.ts +4 -4
  201. package/src/gh-tool/errors.ts +11 -14
  202. package/src/k8s-tool/errors.ts +4 -4
  203. package/src/logs-tool/errors.ts +11 -14
  204. package/src/observability-tool/errors.ts +1 -1
  205. package/src/session-tool/errors.ts +7 -10
  206. package/src/shared/env-template.ts +1 -1
  207. package/src/shared/exec.ts +1 -1
  208. package/src/shared/prerequisites/errors.ts +1 -1
  209. package/src/shared/throttle.ts +1 -1
@@ -0,0 +1,384 @@
1
+ import { Command } from "effect/unstable/cli";
2
+ import { Effect, Option } from "effect";
3
+ import type { CheckResult } from "#gh/types";
4
+ import { GitHubService } from "#gh/service";
5
+ import { GitHubCommandError } from "#gh/errors";
6
+ export declare const parseReviewers: (reviewers: string) => Effect.Effect<string[], never, never> | Effect.Effect<never, GitHubCommandError, never>;
7
+ export declare const requestReview: (pr: number, reviewers: string) => Effect.Effect<{
8
+ pr: number;
9
+ submittedReviewers: string[];
10
+ newlyRequested: string[];
11
+ alreadyPending: string[];
12
+ requestedReviewers: string[];
13
+ }, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
14
+ type ReviewTriageSummary = {
15
+ readonly visibleOpenReviewThreadsCount: number;
16
+ readonly unrepliedReviewThreadsCount: number;
17
+ readonly unresolvedReviewThreadsCount: number;
18
+ };
19
+ type ReviewTriageClassification = {
20
+ readonly status: "clear" | "needs_investigation";
21
+ readonly reasons: readonly string[];
22
+ };
23
+ export declare const classifyReviewTriage: (summary: ReviewTriageSummary, checks: readonly CheckResult[]) => ReviewTriageClassification;
24
+ export declare const parsePrNumbers: (input: string) => Effect.Effect<readonly number[], GitHubCommandError>;
25
+ export declare const fetchCurrentThreads: (pr: number | null, unresolvedOnly: boolean, visibleOpenOnly: boolean) => Effect.Effect<import("#gh/types").ReviewThread[], GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
26
+ export declare const fetchCurrentComments: (pr: number | null, since: string | null) => Effect.Effect<import("#gh/types").ReviewComment[], GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
27
+ export declare const fetchCurrentReviews: (pr: number | null, author: string | null, bodyContains: string | null, state: string | null) => Effect.Effect<import("#gh/types").PullRequestReview[], GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
28
+ export declare const fetchCurrentFeedback: (pr: number | null) => Effect.Effect<{
29
+ reviews: import("#gh/types").PullRequestReview[];
30
+ threads: import("#gh/types").ReviewThread[];
31
+ inlineComments: import("#gh/types").ReviewComment[];
32
+ issueComments: import("#gh/types").IssueComment[];
33
+ }, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
34
+ export declare const trimNoisyBody: (body: string) => string;
35
+ export declare const FEEDBACK_FILTERS: readonly ["all", "visible-open", "needs-human-reply", "current-head"];
36
+ export type FeedbackFilter = (typeof FEEDBACK_FILTERS)[number];
37
+ type FeedbackInventory = {
38
+ readonly reviews: ReadonlyArray<{
39
+ author: string;
40
+ body: string;
41
+ feedbackOrigin: string;
42
+ }>;
43
+ readonly threads: ReadonlyArray<{
44
+ commentId: number;
45
+ body: string;
46
+ feedbackOrigin: string;
47
+ isVisibleOpen: boolean;
48
+ needsHumanReply: boolean;
49
+ }>;
50
+ readonly inlineComments: ReadonlyArray<{
51
+ id: number;
52
+ inReplyToId: number | null;
53
+ author: string;
54
+ body: string;
55
+ feedbackOrigin: string;
56
+ }>;
57
+ readonly issueComments: ReadonlyArray<{
58
+ author: string;
59
+ body: string;
60
+ feedbackOrigin: string;
61
+ }>;
62
+ };
63
+ export declare const filterFeedback: <T extends FeedbackInventory>(feedback: T, options: {
64
+ only: FeedbackFilter;
65
+ excludeAuthors: ReadonlyArray<string>;
66
+ rawBodies: boolean;
67
+ }) => {
68
+ filter: "all" | "visible-open" | "needs-human-reply" | "current-head";
69
+ omitted: {
70
+ reviews: number;
71
+ threads: number;
72
+ inlineComments: number;
73
+ issueComments: number;
74
+ };
75
+ reviews: {
76
+ author: string;
77
+ body: string;
78
+ feedbackOrigin: string;
79
+ }[];
80
+ threads: {
81
+ commentId: number;
82
+ body: string;
83
+ feedbackOrigin: string;
84
+ isVisibleOpen: boolean;
85
+ needsHumanReply: boolean;
86
+ }[];
87
+ inlineComments: {
88
+ id: number;
89
+ inReplyToId: number | null;
90
+ author: string;
91
+ body: string;
92
+ feedbackOrigin: string;
93
+ }[];
94
+ issueComments: {
95
+ author: string;
96
+ body: string;
97
+ feedbackOrigin: string;
98
+ }[];
99
+ };
100
+ export declare const fetchReviewTriage: (prNumber: number | null, format?: "json" | "toon" | undefined) => Effect.Effect<{
101
+ ready: {
102
+ ready: boolean;
103
+ mergeable: "UNKNOWN" | "MERGEABLE" | "CONFLICTING";
104
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | null;
105
+ blocking: string[];
106
+ };
107
+ classification: ReviewTriageClassification;
108
+ info: {
109
+ headSha: string | null;
110
+ baseSha: string | null;
111
+ number: number;
112
+ url: string;
113
+ title: string;
114
+ headRefName: string;
115
+ baseRefName: string;
116
+ state: string;
117
+ isDraft: boolean;
118
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
119
+ body: string;
120
+ author: {
121
+ login: string;
122
+ is_bot: boolean;
123
+ };
124
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
125
+ reviewRequests: import("#gh/types").ReviewRequest[];
126
+ headRefOid?: string;
127
+ baseRefOid?: string;
128
+ };
129
+ unresolvedThreads: import("#gh/types").ReviewThread[];
130
+ visibleOpenThreads: import("#gh/types").ReviewThread[];
131
+ summary: {
132
+ issueCommentsCount: number;
133
+ latestIssueComment: import("#gh/types").IssueComment | null;
134
+ reviewCommentsCount: number;
135
+ reviewThreadsCount: number;
136
+ visibleOpenReviewThreadsCount: number;
137
+ repliedReviewThreadsCount: number;
138
+ unrepliedReviewThreadsCount: number;
139
+ resolvedUnrepliedReviewThreadsCount: number;
140
+ unresolvedReviewThreadsCount: number;
141
+ unresolvedUnrepliedReviewThreadsCount: number;
142
+ };
143
+ checks: CheckResult[];
144
+ reviews: import("#gh/types").PullRequestReview[];
145
+ inlineComments: import("#gh/types").ReviewComment[];
146
+ feedbackOriginCounts: {
147
+ reviews: {
148
+ current_head: number;
149
+ pre_existing: number;
150
+ unknown: number;
151
+ };
152
+ inlineComments: {
153
+ current_head: number;
154
+ pre_existing: number;
155
+ unknown: number;
156
+ };
157
+ threads: {
158
+ current_head: number;
159
+ pre_existing: number;
160
+ unknown: number;
161
+ };
162
+ };
163
+ }, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
164
+ export declare const prViewCommand: Command.Command<"view", {
165
+ readonly format: "json" | "toon";
166
+ readonly pr: Option.Option<number>;
167
+ readonly prs: Option.Option<string>;
168
+ readonly repo: Option.Option<string>;
169
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
170
+ export declare const prStatusCommand: Command.Command<"status", {
171
+ readonly format: "json" | "toon";
172
+ readonly repo: Option.Option<string>;
173
+ }, {}, any, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | GitHubService>;
174
+ export declare const prListCommand: Command.Command<"list", {
175
+ readonly format: "json" | "toon";
176
+ readonly state: "open" | "closed" | "all" | "merged";
177
+ readonly author: Option.Option<string>;
178
+ readonly base: Option.Option<string>;
179
+ readonly head: Option.Option<string>;
180
+ readonly search: Option.Option<string>;
181
+ readonly limit: number;
182
+ readonly repo: Option.Option<string>;
183
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
184
+ export declare const prWaitMergeableCommand: Command.Command<"wait-mergeable", {
185
+ readonly format: "json" | "toon";
186
+ readonly pr: Option.Option<number>;
187
+ readonly timeout: number;
188
+ readonly repo: Option.Option<string>;
189
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
190
+ export declare const prCreateCommand: Command.Command<"create", {
191
+ readonly base: Option.Option<string>;
192
+ readonly body: Option.Option<string>;
193
+ readonly bodyFile: Option.Option<string>;
194
+ readonly bodyStdin: boolean;
195
+ readonly draft: boolean;
196
+ readonly format: "json" | "toon";
197
+ readonly head: Option.Option<string>;
198
+ readonly repo: Option.Option<string>;
199
+ readonly title: string;
200
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
201
+ export declare const prEditCommand: Command.Command<"edit", {
202
+ readonly base: Option.Option<string>;
203
+ readonly body: Option.Option<string>;
204
+ readonly bodyFile: Option.Option<string>;
205
+ readonly bodyStdin: boolean;
206
+ readonly format: "json" | "toon";
207
+ readonly pr: number;
208
+ readonly repo: Option.Option<string>;
209
+ readonly title: Option.Option<string>;
210
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
211
+ export declare const prCloseCommand: Command.Command<"close", {
212
+ readonly comment: Option.Option<string>;
213
+ readonly commentFile: Option.Option<string>;
214
+ readonly deleteBranch: boolean;
215
+ readonly format: "json" | "toon";
216
+ readonly pr: number;
217
+ readonly repo: Option.Option<string>;
218
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
219
+ export declare const prMergeCommand: Command.Command<"merge", {
220
+ readonly confirm: boolean;
221
+ readonly deleteBranch: boolean;
222
+ readonly format: "json" | "toon";
223
+ readonly pr: number;
224
+ readonly repo: Option.Option<string>;
225
+ readonly strategy: "squash" | "merge" | "rebase";
226
+ }, {}, import("#gh/errors").GitHubMergeError | (GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError), GitHubService>;
227
+ export declare const prReadyCommand: Command.Command<"ready", {
228
+ readonly format: "json" | "toon";
229
+ readonly pr: Option.Option<number>;
230
+ readonly repo: Option.Option<string>;
231
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
232
+ export declare const prChecksCommand: Command.Command<"checks", {
233
+ readonly failFast: boolean;
234
+ readonly format: "json" | "toon";
235
+ readonly pr: Option.Option<number>;
236
+ readonly prs: Option.Option<string>;
237
+ readonly repo: Option.Option<string>;
238
+ readonly timeout: number;
239
+ readonly watch: boolean;
240
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
241
+ export declare const prChecksFailedCommand: Command.Command<"checks-failed", {
242
+ readonly format: "json" | "toon";
243
+ readonly pr: Option.Option<number>;
244
+ readonly repo: Option.Option<string>;
245
+ readonly withLogs: boolean;
246
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
247
+ export declare const prWatchCommand: Command.Command<"watch", {
248
+ readonly prs: string;
249
+ readonly until: "terminal";
250
+ readonly format: "jsonl";
251
+ readonly interval: number;
252
+ readonly timeout: number;
253
+ readonly repo: Option.Option<string>;
254
+ }, {}, "timeout" | (GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError), GitHubService>;
255
+ export declare const prRerunChecksCommand: Command.Command<"rerun-checks", {
256
+ readonly format: "json" | "toon";
257
+ readonly pr: Option.Option<number>;
258
+ readonly repo: Option.Option<string>;
259
+ readonly failedOnly: boolean;
260
+ readonly watch: boolean;
261
+ readonly timeout: number;
262
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
263
+ export declare const prTriggerChecksCommand: Command.Command<"trigger-checks", {
264
+ readonly field: readonly string[];
265
+ readonly format: "json" | "toon";
266
+ readonly pr: Option.Option<number>;
267
+ readonly repo: Option.Option<string>;
268
+ readonly workflow: string;
269
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
270
+ export declare const prThreadsCommand: Command.Command<"threads", {
271
+ readonly format: "json" | "toon";
272
+ readonly pr: Option.Option<number>;
273
+ readonly repo: Option.Option<string>;
274
+ readonly unresolvedOnly: boolean;
275
+ readonly visibleOpenOnly: boolean;
276
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
277
+ export declare const prCommentsCommand: Command.Command<"comments", {
278
+ readonly format: "json" | "toon";
279
+ readonly pr: Option.Option<number>;
280
+ readonly repo: Option.Option<string>;
281
+ readonly since: Option.Option<string>;
282
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
283
+ export declare const prLastHumanReviewerCommand: Command.Command<"last-human-reviewer", {
284
+ readonly format: "json" | "toon";
285
+ readonly pr: Option.Option<number>;
286
+ readonly repo: Option.Option<string>;
287
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
288
+ export declare const prReviewsCommand: Command.Command<"reviews", {
289
+ readonly author: Option.Option<string>;
290
+ readonly bodyContains: Option.Option<string>;
291
+ readonly format: "json" | "toon";
292
+ readonly pr: Option.Option<number>;
293
+ readonly repo: Option.Option<string>;
294
+ readonly state: Option.Option<string>;
295
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
296
+ export declare const prFeedbackCommand: Command.Command<"feedback", {
297
+ readonly excludeAuthors: Option.Option<string>;
298
+ readonly format: "json" | "toon";
299
+ readonly only: "all" | "visible-open" | "needs-human-reply" | "current-head";
300
+ readonly pr: Option.Option<number>;
301
+ readonly rawBodies: boolean;
302
+ readonly repo: Option.Option<string>;
303
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
304
+ export declare const prIssueCommentsCommand: Command.Command<"issue-comments", {
305
+ readonly author: Option.Option<string>;
306
+ readonly bodyContains: Option.Option<string>;
307
+ readonly format: "json" | "toon";
308
+ readonly pr: Option.Option<number>;
309
+ readonly repo: Option.Option<string>;
310
+ readonly since: Option.Option<string>;
311
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
312
+ export declare const prIssueCommentsLatestCommand: Command.Command<"issue-comments-latest", {
313
+ readonly author: Option.Option<string>;
314
+ readonly bodyContains: Option.Option<string>;
315
+ readonly format: "json" | "toon";
316
+ readonly pr: Option.Option<number>;
317
+ readonly repo: Option.Option<string>;
318
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
319
+ export declare const prCommentCommand: Command.Command<"comment", {
320
+ readonly body: Option.Option<string>;
321
+ readonly bodyFile: Option.Option<string>;
322
+ readonly format: "json" | "toon";
323
+ readonly pr: Option.Option<number>;
324
+ readonly repo: Option.Option<string>;
325
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
326
+ export declare const prDiscussionSummaryCommand: Command.Command<"discussion-summary", {
327
+ readonly format: "json" | "toon";
328
+ readonly pr: Option.Option<number>;
329
+ readonly repo: Option.Option<string>;
330
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
331
+ export declare const prReplyCommand: Command.Command<"reply", {
332
+ readonly body: Option.Option<string>;
333
+ readonly bodyFile: Option.Option<string>;
334
+ readonly commentId: number;
335
+ readonly format: "json" | "toon";
336
+ readonly pr: Option.Option<number>;
337
+ readonly repo: Option.Option<string>;
338
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
339
+ export declare const prResolveCommand: Command.Command<"resolve", {
340
+ readonly format: "json" | "toon";
341
+ readonly threadId: string;
342
+ readonly repo: Option.Option<string>;
343
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
344
+ export declare const prSubmitReviewCommand: Command.Command<"submit-review", {
345
+ readonly body: Option.Option<string>;
346
+ readonly bodyFile: Option.Option<string>;
347
+ readonly format: "json" | "toon";
348
+ readonly pr: Option.Option<number>;
349
+ readonly repo: Option.Option<string>;
350
+ readonly reviewId: Option.Option<string>;
351
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
352
+ export declare const OMITTABLE_TRIAGE_SECTIONS: readonly ["reviews", "inlineComments", "unresolvedThreads"];
353
+ export type OmittableTriageSection = (typeof OMITTABLE_TRIAGE_SECTIONS)[number];
354
+ export declare const omitTriageSections: <T extends Record<string, unknown>>(triage: T, omit: ReadonlyArray<string>) => T | (Partial<T> & {
355
+ omittedSections: ("reviews" | "inlineComments" | "unresolvedThreads")[];
356
+ });
357
+ export declare const prReviewTriageCommand: Command.Command<"review-triage", {
358
+ readonly format: "json" | "toon";
359
+ readonly omit: Option.Option<string>;
360
+ readonly pr: Option.Option<number>;
361
+ readonly repo: Option.Option<string>;
362
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
363
+ export declare const prRequestReviewCommand: Command.Command<"request-review", {
364
+ readonly format: "json" | "toon";
365
+ readonly pr: number;
366
+ readonly repo: Option.Option<string>;
367
+ readonly reviewers: string;
368
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
369
+ export declare const prReviewTriageBatchCommand: Command.Command<"review-triage-batch", {
370
+ readonly format: "json" | "toon";
371
+ readonly prs: string;
372
+ readonly repo: Option.Option<string>;
373
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
374
+ export declare const prReplyAndResolveCommand: Command.Command<"reply-and-resolve", {
375
+ readonly body: Option.Option<string>;
376
+ readonly bodyFile: Option.Option<string>;
377
+ readonly commentId: number;
378
+ readonly format: "json" | "toon";
379
+ readonly pr: Option.Option<number>;
380
+ readonly repo: Option.Option<string>;
381
+ readonly threadId: Option.Option<string>;
382
+ }, {}, GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubAuthError, GitHubService>;
383
+ export {};
384
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ import { Effect } from "effect";
2
+ import type { BranchPRDetail, CheckResult, FailedCheckDetail, MergeResult, MergeStrategy, PRInfo, RerunChecksReport } from "#gh/types";
3
+ import type { GitHubAuthError, GitHubNotFoundError } from "#gh/errors";
4
+ import { GitHubCommandError, GitHubMergeError } from "#gh/errors";
5
+ import { GitHubService } from "#gh/service";
6
+ export declare const NO_CHECKS_REPORTED_RE: RegExp;
7
+ export declare const viewPR: (prNumber: number | null) => Effect.Effect<{
8
+ headSha: string | null;
9
+ baseSha: string | null;
10
+ number: number;
11
+ url: string;
12
+ title: string;
13
+ headRefName: string;
14
+ baseRefName: string;
15
+ state: string;
16
+ isDraft: boolean;
17
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
18
+ body: string;
19
+ author: {
20
+ login: string;
21
+ is_bot: boolean;
22
+ };
23
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
24
+ reviewRequests: import("#gh/types").ReviewRequest[];
25
+ headRefOid?: string;
26
+ baseRefOid?: string;
27
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
28
+ export declare const detectPRStatus: () => Effect.Effect<{
29
+ mode: "none";
30
+ branches: BranchPRDetail[];
31
+ pr?: undefined;
32
+ prs?: undefined;
33
+ } | {
34
+ mode: "single";
35
+ pr: PRInfo;
36
+ branches?: undefined;
37
+ prs?: undefined;
38
+ } | {
39
+ mode: "multiple";
40
+ prs: PRInfo[];
41
+ branches?: undefined;
42
+ pr?: undefined;
43
+ }, any, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | GitHubService>;
44
+ export declare const listPRs: (opts: {
45
+ state: string;
46
+ limit: number;
47
+ author: string | null;
48
+ base: string | null;
49
+ head: string | null;
50
+ search: string | null;
51
+ }) => Effect.Effect<PRInfo[], GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
52
+ export declare const waitForMergeable: (pr: number | null, timeoutSeconds: number) => Effect.Effect<{
53
+ headSha: string | null;
54
+ baseSha: string | null;
55
+ number: number;
56
+ url: string;
57
+ title: string;
58
+ headRefName: string;
59
+ baseRefName: string;
60
+ state: string;
61
+ isDraft: boolean;
62
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
63
+ body: string;
64
+ author: {
65
+ login: string;
66
+ is_bot: boolean;
67
+ };
68
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
69
+ reviewRequests: import("#gh/types").ReviewRequest[];
70
+ headRefOid?: string;
71
+ baseRefOid?: string;
72
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
73
+ export declare const createPR: (opts: {
74
+ base: string | null;
75
+ title: string;
76
+ body: string;
77
+ draft: boolean;
78
+ head: string | null;
79
+ }) => Effect.Effect<PRInfo, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
80
+ export declare const mergePR: (opts: {
81
+ pr: number;
82
+ strategy: MergeStrategy;
83
+ deleteBranch: boolean;
84
+ confirm: boolean;
85
+ }) => Effect.Effect<MergeResult, GitHubMergeError | (GitHubCommandError | GitHubNotFoundError | GitHubAuthError), GitHubService>;
86
+ export declare const closePR: (opts: {
87
+ pr: number;
88
+ comment: string | null;
89
+ deleteBranch: boolean;
90
+ }) => Effect.Effect<{
91
+ headSha: string | null;
92
+ baseSha: string | null;
93
+ number: number;
94
+ url: string;
95
+ title: string;
96
+ headRefName: string;
97
+ baseRefName: string;
98
+ state: string;
99
+ isDraft: boolean;
100
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
101
+ body: string;
102
+ author: {
103
+ login: string;
104
+ is_bot: boolean;
105
+ };
106
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
107
+ reviewRequests: import("#gh/types").ReviewRequest[];
108
+ headRefOid?: string;
109
+ baseRefOid?: string;
110
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
111
+ export declare const readyPR: (opts: {
112
+ pr: number | null;
113
+ }) => Effect.Effect<{
114
+ wasAlreadyReady: boolean;
115
+ headSha: string | null;
116
+ baseSha: string | null;
117
+ number: number;
118
+ url: string;
119
+ title: string;
120
+ headRefName: string;
121
+ baseRefName: string;
122
+ state: string;
123
+ isDraft: boolean;
124
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
125
+ body: string;
126
+ author: {
127
+ login: string;
128
+ is_bot: boolean;
129
+ };
130
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
131
+ reviewRequests: import("#gh/types").ReviewRequest[];
132
+ headRefOid?: string;
133
+ baseRefOid?: string;
134
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
135
+ export declare const editPR: (opts: {
136
+ pr: number;
137
+ title: string | null;
138
+ body: string | null;
139
+ base: string | null;
140
+ }) => Effect.Effect<{
141
+ headSha: string | null;
142
+ baseSha: string | null;
143
+ number: number;
144
+ url: string;
145
+ title: string;
146
+ headRefName: string;
147
+ baseRefName: string;
148
+ state: string;
149
+ isDraft: boolean;
150
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
151
+ body: string;
152
+ author: {
153
+ login: string;
154
+ is_bot: boolean;
155
+ };
156
+ reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
157
+ reviewRequests: import("#gh/types").ReviewRequest[];
158
+ headRefOid?: string;
159
+ baseRefOid?: string;
160
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
161
+ export declare const fetchChecks: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[], GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
162
+ export declare const triggerChecks: (pr: number | null, workflow: string, fields: readonly string[]) => Effect.Effect<{
163
+ triggered: false;
164
+ pr: number;
165
+ prHeadSha: string | null;
166
+ message: string;
167
+ nextCommand: string;
168
+ workflow?: undefined;
169
+ ref?: undefined;
170
+ runId?: undefined;
171
+ runHeadSha?: undefined;
172
+ matchesPrHead?: undefined;
173
+ url?: undefined;
174
+ } | {
175
+ triggered: true;
176
+ pr: number;
177
+ workflow: string;
178
+ ref: string;
179
+ runId: number | null;
180
+ runHeadSha: string | null;
181
+ prHeadSha: string | null;
182
+ matchesPrHead: boolean;
183
+ url: string | null;
184
+ message: string;
185
+ nextCommand: string;
186
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
187
+ export declare const collectWithStableState: <S, A, E1, R1, E2, R2>(initial: S, collect: (state: S) => Effect.Effect<A, E1, R1>, refresh: (state: S) => Effect.Effect<S, E2, R2>, unchanged: (before: S, after: S) => boolean) => Effect.Effect<{
188
+ state: S;
189
+ value: A;
190
+ } | null, E1 | E2, R1 | R2>;
191
+ export declare const fetchFailedChecks: (pr: number | null, withLogs?: any) => Effect.Effect<{
192
+ evidence: {
193
+ headSha: string | null;
194
+ baseSha: string | null;
195
+ } | null;
196
+ status: string;
197
+ message: string;
198
+ summary: {
199
+ total: number;
200
+ failed: number;
201
+ pending: number;
202
+ passed: number;
203
+ };
204
+ failedChecks: FailedCheckDetail[];
205
+ pendingChecks: CheckResult[];
206
+ hint: string;
207
+ nextCommands: string[];
208
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
209
+ export declare const fetchChecksForCommand: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[] | {
210
+ evidence: {
211
+ headSha: string | null;
212
+ baseSha: string | null;
213
+ } | null;
214
+ status: string;
215
+ message: string;
216
+ summary: {
217
+ total: number;
218
+ failed: number;
219
+ pending: number;
220
+ passed: number;
221
+ };
222
+ failedChecks: FailedCheckDetail[];
223
+ pendingChecks: CheckResult[];
224
+ hint: string;
225
+ nextCommands: string[];
226
+ }, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
227
+ export declare const watchPRs: (prs: readonly number[], options: {
228
+ intervalSeconds: number;
229
+ timeoutSeconds: number;
230
+ until?: "terminal";
231
+ }, emit: (event: Record<string, unknown>) => Effect.Effect<void>) => Effect.Effect<undefined, "timeout" | (GitHubCommandError | GitHubNotFoundError | GitHubAuthError), GitHubService>;
232
+ export declare const rerunChecks: (pr: number | null, failedOnly: boolean, options?: {
233
+ watch?: boolean;
234
+ timeoutSeconds?: number;
235
+ } | undefined) => Effect.Effect<RerunChecksReport, GitHubCommandError | GitHubNotFoundError | GitHubAuthError, GitHubService>;
236
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { ChildProcessSpawner } from "effect/unstable/process";
2
+ import { Effect } from "effect";
3
+ import { GitHubCommandError } from "#gh/errors";
4
+ export type LocalCommandResult = {
5
+ stdout: string;
6
+ stderr: string;
7
+ exitCode: number;
8
+ };
9
+ export type ButStatusJson = {
10
+ stacks: Array<{
11
+ branches: Array<{
12
+ name: string;
13
+ }>;
14
+ }>;
15
+ };
16
+ export type PRViewJsonResult = {
17
+ number: number;
18
+ url: string;
19
+ title: string;
20
+ headRefName: string;
21
+ baseRefName: string;
22
+ state: string;
23
+ isDraft: boolean;
24
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
25
+ };
26
+ export declare const runLocalCommand: (binary: string, args: string[]) => Effect.Effect<LocalCommandResult, GitHubCommandError, ChildProcessSpawner.ChildProcessSpawner>;
27
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnC,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,eAAe,oIAwD1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { prChecksCommand, prChecksFailedCommand, prCloseCommand, prCommentCommand, prCommentsCommand, prCreateCommand, prDiscussionSummaryCommand, prEditCommand, prFeedbackCommand, prIssueCommentsCommand, prIssueCommentsLatestCommand, prLastHumanReviewerCommand, prListCommand, prMergeCommand, prReadyCommand, prRequestReviewCommand, prReplyCommand, prRerunChecksCommand, prReplyAndResolveCommand, prResolveCommand, prReviewsCommand, prStatusCommand, prSubmitReviewCommand, prThreadsCommand, prTriggerChecksCommand, prWaitMergeableCommand, prReviewTriageCommand, prReviewTriageBatchCommand, prViewCommand, prWatchCommand, } from "./commands";
2
+ //# sourceMappingURL=index.d.ts.map