@blogic-cz/agent-tools 1.7.4 → 1.8.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 (128) hide show
  1. package/README.md +2 -1
  2. package/dist/db-tool/service.d.ts.map +1 -1
  3. package/dist/gh-tool/branch.d.ts +2 -3
  4. package/dist/gh-tool/branch.d.ts.map +1 -1
  5. package/dist/gh-tool/environment.d.ts +1 -1
  6. package/dist/gh-tool/environment.d.ts.map +1 -1
  7. package/dist/gh-tool/gist.d.ts +8 -28
  8. package/dist/gh-tool/gist.d.ts.map +1 -1
  9. package/dist/gh-tool/issue/commands.d.ts +9 -9
  10. package/dist/gh-tool/issue/commands.d.ts.map +1 -1
  11. package/dist/gh-tool/issue/core.d.ts +103 -9
  12. package/dist/gh-tool/issue/core.d.ts.map +1 -1
  13. package/dist/gh-tool/issue/triage.d.ts +6 -6
  14. package/dist/gh-tool/issue/triage.d.ts.map +1 -1
  15. package/dist/gh-tool/pr/commands.d.ts +53 -46
  16. package/dist/gh-tool/pr/commands.d.ts.map +1 -1
  17. package/dist/gh-tool/pr/core.d.ts +179 -74
  18. package/dist/gh-tool/pr/core.d.ts.map +1 -1
  19. package/dist/gh-tool/pr/review.d.ts +16 -16
  20. package/dist/gh-tool/pr/review.d.ts.map +1 -1
  21. package/dist/gh-tool/pr/snapshot.d.ts +9 -0
  22. package/dist/gh-tool/pr/snapshot.d.ts.map +1 -0
  23. package/dist/gh-tool/pr/stack-read.d.ts +1 -6
  24. package/dist/gh-tool/pr/stack-read.d.ts.map +1 -1
  25. package/dist/gh-tool/pr/stack.d.ts +3 -3
  26. package/dist/gh-tool/pr/stack.d.ts.map +1 -1
  27. package/dist/gh-tool/{api.d.ts → read/api.d.ts} +9 -3
  28. package/dist/gh-tool/read/api.d.ts.map +1 -0
  29. package/dist/gh-tool/read/cache.d.ts +44 -0
  30. package/dist/gh-tool/read/cache.d.ts.map +1 -0
  31. package/dist/gh-tool/read/catalog.d.ts +170 -0
  32. package/dist/gh-tool/read/catalog.d.ts.map +1 -0
  33. package/dist/gh-tool/read/classes.d.ts +94 -0
  34. package/dist/gh-tool/read/classes.d.ts.map +1 -0
  35. package/dist/gh-tool/read/commands.d.ts +3 -0
  36. package/dist/gh-tool/read/commands.d.ts.map +1 -0
  37. package/dist/gh-tool/read/gated.d.ts +14 -0
  38. package/dist/gh-tool/read/gated.d.ts.map +1 -0
  39. package/dist/gh-tool/read/index.d.ts +5 -0
  40. package/dist/gh-tool/read/index.d.ts.map +1 -0
  41. package/dist/gh-tool/read/issues.d.ts +68 -0
  42. package/dist/gh-tool/read/issues.d.ts.map +1 -0
  43. package/dist/gh-tool/read/keys.d.ts +61 -0
  44. package/dist/gh-tool/read/keys.d.ts.map +1 -0
  45. package/dist/gh-tool/read/porcelain.d.ts +68 -0
  46. package/dist/gh-tool/read/porcelain.d.ts.map +1 -0
  47. package/dist/gh-tool/read/pulls.d.ts +137 -0
  48. package/dist/gh-tool/read/pulls.d.ts.map +1 -0
  49. package/dist/gh-tool/read/reads.d.ts +209 -0
  50. package/dist/gh-tool/read/reads.d.ts.map +1 -0
  51. package/dist/gh-tool/read/rest.d.ts +49 -0
  52. package/dist/gh-tool/read/rest.d.ts.map +1 -0
  53. package/dist/gh-tool/read/review-guards.d.ts +20 -0
  54. package/dist/gh-tool/read/review-guards.d.ts.map +1 -0
  55. package/dist/gh-tool/read/review-model.d.ts +190 -0
  56. package/dist/gh-tool/read/review-model.d.ts.map +1 -0
  57. package/dist/gh-tool/read/reviews.d.ts +9 -0
  58. package/dist/gh-tool/read/reviews.d.ts.map +1 -0
  59. package/dist/gh-tool/read/stacks.d.ts +7 -0
  60. package/dist/gh-tool/read/stacks.d.ts.map +1 -0
  61. package/dist/gh-tool/read/store.d.ts +70 -0
  62. package/dist/gh-tool/read/store.d.ts.map +1 -0
  63. package/dist/gh-tool/{service.d.ts → read/transport.d.ts} +5 -3
  64. package/dist/gh-tool/read/transport.d.ts.map +1 -0
  65. package/dist/gh-tool/read/waits.d.ts +22 -0
  66. package/dist/gh-tool/read/waits.d.ts.map +1 -0
  67. package/dist/gh-tool/read/writes.d.ts +16 -0
  68. package/dist/gh-tool/read/writes.d.ts.map +1 -0
  69. package/dist/gh-tool/release.d.ts +10 -26
  70. package/dist/gh-tool/release.d.ts.map +1 -1
  71. package/dist/gh-tool/repo.d.ts +4 -4
  72. package/dist/gh-tool/repo.d.ts.map +1 -1
  73. package/dist/gh-tool/types.d.ts +1 -1
  74. package/dist/gh-tool/types.d.ts.map +1 -1
  75. package/dist/gh-tool/workflow.d.ts +43 -21
  76. package/dist/gh-tool/workflow.d.ts.map +1 -1
  77. package/dist/observability-tool/shared.d.ts.map +1 -1
  78. package/dist/shared/content-security.d.ts +2 -0
  79. package/dist/shared/content-security.d.ts.map +1 -1
  80. package/package.json +6 -6
  81. package/src/api-tool/proxy-entry.ts +3 -1
  82. package/src/db-tool/service.ts +4 -1
  83. package/src/gh-tool/branch.ts +5 -8
  84. package/src/gh-tool/environment.ts +2 -1
  85. package/src/gh-tool/gist.ts +8 -35
  86. package/src/gh-tool/issue/commands.ts +1 -1
  87. package/src/gh-tool/issue/core.ts +55 -122
  88. package/src/gh-tool/issue/triage.ts +4 -26
  89. package/src/gh-tool/main.ts +5 -2
  90. package/src/gh-tool/pr/commands.ts +19 -23
  91. package/src/gh-tool/pr/core.ts +542 -582
  92. package/src/gh-tool/pr/review.ts +106 -454
  93. package/src/gh-tool/pr/snapshot.ts +23 -0
  94. package/src/gh-tool/pr/stack-read.ts +1 -73
  95. package/src/gh-tool/pr/stack.ts +37 -36
  96. package/src/gh-tool/{api.ts → read/api.ts} +40 -7
  97. package/src/gh-tool/read/cache.ts +192 -0
  98. package/src/gh-tool/read/catalog.ts +310 -0
  99. package/src/gh-tool/read/classes.ts +30 -0
  100. package/src/gh-tool/read/commands.ts +25 -0
  101. package/src/gh-tool/read/gated.ts +56 -0
  102. package/src/gh-tool/read/index.ts +4 -0
  103. package/src/gh-tool/read/issues.ts +107 -0
  104. package/src/gh-tool/read/keys.ts +102 -0
  105. package/src/gh-tool/read/porcelain.ts +58 -0
  106. package/src/gh-tool/read/pulls.ts +266 -0
  107. package/src/gh-tool/read/reads.ts +306 -0
  108. package/src/gh-tool/read/rest.ts +111 -0
  109. package/src/gh-tool/read/review-guards.ts +61 -0
  110. package/src/gh-tool/read/review-model.ts +286 -0
  111. package/src/gh-tool/read/reviews.ts +114 -0
  112. package/src/gh-tool/read/stacks.ts +73 -0
  113. package/src/gh-tool/read/store.ts +504 -0
  114. package/src/gh-tool/{service.ts → read/transport.ts} +26 -6
  115. package/src/gh-tool/read/waits.ts +52 -0
  116. package/src/gh-tool/read/writes.ts +37 -0
  117. package/src/gh-tool/release.ts +15 -168
  118. package/src/gh-tool/repo.ts +5 -78
  119. package/src/gh-tool/types.ts +1 -1
  120. package/src/gh-tool/workflow.ts +123 -214
  121. package/src/observability-tool/shared.ts +2 -1
  122. package/src/shared/content-security.ts +10 -1
  123. package/src/shared/credential-patterns.ts +1 -1
  124. package/dist/gh-tool/api.d.ts.map +0 -1
  125. package/dist/gh-tool/pr/check-status-cache.d.ts +0 -6
  126. package/dist/gh-tool/pr/check-status-cache.d.ts.map +0 -1
  127. package/dist/gh-tool/service.d.ts.map +0 -1
  128. package/src/gh-tool/pr/check-status-cache.ts +0 -142
@@ -1,14 +1,34 @@
1
1
  import { Effect } from "effect";
2
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, GitHubTimeoutError } from "#gh/errors";
5
- import { GitHubService } from "#gh/service";
3
+ import { GitHubMergeError, GitHubTimeoutError } from "#gh/errors";
4
+ import { GitHubService } from "#gh/read/transport";
5
+ export { stableHead as collectWithStableState } from "./snapshot";
6
6
  export declare const NO_CHECKS_REPORTED_RE: RegExp;
7
+ export type CheckReport = {
8
+ checksStatus: "reported";
9
+ checks: CheckResult[];
10
+ } | {
11
+ checksStatus: "none_reported";
12
+ reason: string;
13
+ checks: null;
14
+ };
7
15
  export declare const fetchCheckResults: (pr: number | null, cache?: {
8
16
  headSha: string;
9
17
  watchPending?: boolean;
10
- } | undefined) => Effect.Effect<CheckResult[], GitHubAuthError | GitHubCommandError | GitHubNotFoundError, GitHubService>;
11
- export declare const fetchPRView: (prNumber: number | null) => Effect.Effect<{
18
+ } | undefined) => Effect.Effect<CheckResult[], import("#gh/read/transport").GhError, GitHubService>;
19
+ export declare const fetchCheckReport: (pr: number | null, cache?: {
20
+ headSha: string;
21
+ watchPending?: boolean;
22
+ } | undefined) => Effect.Effect<{
23
+ checksStatus: "none_reported";
24
+ reason: string;
25
+ checks: null;
26
+ } | {
27
+ reason?: undefined;
28
+ checksStatus: "reported";
29
+ checks: CheckResult[];
30
+ }, import("#gh/read/transport").GhError, GitHubService>;
31
+ export declare const fetchPRView: (prNumber: number | null, consistency?: "cached" | "origin" | undefined) => Effect.Effect<{
12
32
  number: number;
13
33
  url: string;
14
34
  title: string;
@@ -16,19 +36,26 @@ export declare const fetchPRView: (prNumber: number | null) => Effect.Effect<{
16
36
  baseRefName: string;
17
37
  state: string;
18
38
  isDraft: boolean;
19
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
39
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
40
+ headRefOid?: string | undefined;
20
41
  author: {
21
- login: string;
22
- is_bot: boolean;
42
+ readonly login: string;
43
+ readonly is_bot: boolean;
23
44
  };
24
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
25
- reviewRequests: import("#gh/types").ReviewRequest[];
26
- headRefOid?: string;
45
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
46
+ reviewRequests: ({
47
+ readonly __typename: "User";
48
+ readonly login: string;
49
+ } | {
50
+ readonly __typename: "Team";
51
+ readonly name: string;
52
+ readonly slug: string;
53
+ })[];
27
54
  body: string;
28
55
  headSha: string | null;
29
56
  baseSha: string | null;
30
- }, import("#gh/service").GhError, GitHubService>;
31
- export declare const viewPR: (prNumber: number | null) => Effect.Effect<{
57
+ }, import("#gh/read/transport").GhError, GitHubService>;
58
+ export declare const viewPR: (prNumber: number | null, consistency?: "cached" | "origin" | undefined) => Effect.Effect<{
32
59
  number: number;
33
60
  url: string;
34
61
  title: string;
@@ -36,18 +63,25 @@ export declare const viewPR: (prNumber: number | null) => Effect.Effect<{
36
63
  baseRefName: string;
37
64
  state: string;
38
65
  isDraft: boolean;
39
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
66
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
67
+ headRefOid?: string | undefined;
40
68
  author: {
41
- login: string;
42
- is_bot: boolean;
69
+ readonly login: string;
70
+ readonly is_bot: boolean;
43
71
  };
44
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
45
- reviewRequests: import("#gh/types").ReviewRequest[];
46
- headRefOid?: string;
72
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
73
+ reviewRequests: ({
74
+ readonly __typename: "User";
75
+ readonly login: string;
76
+ } | {
77
+ readonly __typename: "Team";
78
+ readonly name: string;
79
+ readonly slug: string;
80
+ })[];
47
81
  body: string;
48
82
  headSha: string | null;
49
83
  baseSha: string | null;
50
- }, import("#gh/service").GhError, GitHubService>;
84
+ }, import("#gh/read/transport").GhError, GitHubService>;
51
85
  export declare const detectPRStatus: () => Effect.Effect<{
52
86
  mode: "none";
53
87
  branches: BranchPRDetail[];
@@ -71,7 +105,25 @@ export declare const listPRs: (opts: {
71
105
  base: string | null;
72
106
  head: string | null;
73
107
  search: string | null;
74
- }) => Effect.Effect<PRInfo[], import("#gh/service").GhError, GitHubService>;
108
+ }) => Effect.Effect<Pick<{
109
+ readonly number: number;
110
+ readonly url: string;
111
+ readonly title: string;
112
+ readonly headRefName: string;
113
+ readonly baseRefName: string;
114
+ readonly state: string;
115
+ readonly isDraft: boolean;
116
+ readonly mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
117
+ readonly author?: {
118
+ readonly login: string;
119
+ readonly is_bot?: boolean | undefined;
120
+ } | undefined;
121
+ readonly createdAt?: string | undefined;
122
+ readonly reviewDecision?: string | undefined;
123
+ readonly headRepositoryOwner?: {
124
+ readonly login: string;
125
+ } | undefined;
126
+ }, "author" | "baseRefName" | "createdAt" | "headRefName" | "isDraft" | "number" | "reviewDecision" | "state" | "title" | "url">[], import("#gh/read/transport").GhError, GitHubService>;
75
127
  export declare const waitForMergeable: (pr: number | null, timeoutSeconds: number) => Effect.Effect<{
76
128
  number: number;
77
129
  url: string;
@@ -80,18 +132,25 @@ export declare const waitForMergeable: (pr: number | null, timeoutSeconds: numbe
80
132
  baseRefName: string;
81
133
  state: string;
82
134
  isDraft: boolean;
83
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
135
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
136
+ headRefOid?: string | undefined;
84
137
  author: {
85
- login: string;
86
- is_bot: boolean;
138
+ readonly login: string;
139
+ readonly is_bot: boolean;
87
140
  };
88
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
89
- reviewRequests: import("#gh/types").ReviewRequest[];
90
- headRefOid?: string;
141
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
142
+ reviewRequests: ({
143
+ readonly __typename: "User";
144
+ readonly login: string;
145
+ } | {
146
+ readonly __typename: "Team";
147
+ readonly name: string;
148
+ readonly slug: string;
149
+ })[];
91
150
  body: string;
92
151
  headSha: string | null;
93
152
  baseSha: string | null;
94
- }, import("#gh/service").GhError, GitHubService>;
153
+ }, import("#gh/read/transport").GhError, GitHubService>;
95
154
  export declare const createPR: (opts: {
96
155
  base: string | null;
97
156
  title: string;
@@ -107,26 +166,33 @@ export declare const createPR: (opts: {
107
166
  baseRefName: string;
108
167
  state: string;
109
168
  isDraft: boolean;
110
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
169
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
170
+ headRefOid?: string | undefined;
111
171
  author: {
112
- login: string;
113
- is_bot: boolean;
172
+ readonly login: string;
173
+ readonly is_bot: boolean;
114
174
  };
115
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
116
- reviewRequests: import("#gh/types").ReviewRequest[];
117
- headRefOid?: string;
175
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
176
+ reviewRequests: ({
177
+ readonly __typename: "User";
178
+ readonly login: string;
179
+ } | {
180
+ readonly __typename: "Team";
181
+ readonly name: string;
182
+ readonly slug: string;
183
+ })[];
118
184
  body: string;
119
185
  headSha: string | null;
120
186
  baseSha: string | null;
121
187
  updated: boolean;
122
- }, import("#gh/service").GhError, import("effect/process/ChildProcessSpawner").ChildProcessSpawner | GitHubService>;
188
+ }, import("#gh/read/transport").GhError, import("effect/process/ChildProcessSpawner").ChildProcessSpawner | GitHubService>;
123
189
  export declare const mergePR: (opts: {
124
190
  pr: number;
125
191
  strategy: MergeStrategy;
126
192
  deleteBranch: boolean;
127
193
  confirm: boolean;
128
194
  matchHeadCommit?: string;
129
- }) => Effect.Effect<MergeResult, GitHubMergeError | import("#gh/service").GhError, GitHubService>;
195
+ }) => Effect.Effect<MergeResult, GitHubMergeError | import("#gh/read/transport").GhError, GitHubService>;
130
196
  export declare const closePR: (opts: {
131
197
  pr: number;
132
198
  comment: string | null;
@@ -139,18 +205,25 @@ export declare const closePR: (opts: {
139
205
  baseRefName: string;
140
206
  state: string;
141
207
  isDraft: boolean;
142
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
208
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
209
+ headRefOid?: string | undefined;
143
210
  author: {
144
- login: string;
145
- is_bot: boolean;
211
+ readonly login: string;
212
+ readonly is_bot: boolean;
146
213
  };
147
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
148
- reviewRequests: import("#gh/types").ReviewRequest[];
149
- headRefOid?: string;
214
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
215
+ reviewRequests: ({
216
+ readonly __typename: "User";
217
+ readonly login: string;
218
+ } | {
219
+ readonly __typename: "Team";
220
+ readonly name: string;
221
+ readonly slug: string;
222
+ })[];
150
223
  body: string;
151
224
  headSha: string | null;
152
225
  baseSha: string | null;
153
- }, import("#gh/service").GhError, GitHubService>;
226
+ }, import("#gh/read/transport").GhError, GitHubService>;
154
227
  export declare const readyPR: (opts: {
155
228
  pr: number | null;
156
229
  }) => Effect.Effect<{
@@ -161,19 +234,26 @@ export declare const readyPR: (opts: {
161
234
  baseRefName: string;
162
235
  state: string;
163
236
  isDraft: boolean;
164
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
237
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
238
+ headRefOid?: string | undefined;
165
239
  author: {
166
- login: string;
167
- is_bot: boolean;
240
+ readonly login: string;
241
+ readonly is_bot: boolean;
168
242
  };
169
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
170
- reviewRequests: import("#gh/types").ReviewRequest[];
171
- headRefOid?: string;
243
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
244
+ reviewRequests: ({
245
+ readonly __typename: "User";
246
+ readonly login: string;
247
+ } | {
248
+ readonly __typename: "Team";
249
+ readonly name: string;
250
+ readonly slug: string;
251
+ })[];
172
252
  body: string;
173
253
  headSha: string | null;
174
254
  baseSha: string | null;
175
255
  wasAlreadyReady: boolean;
176
- }, import("#gh/service").GhError, GitHubService>;
256
+ }, import("#gh/read/transport").GhError, GitHubService>;
177
257
  export declare const draftPR: (opts: {
178
258
  pr: number | null;
179
259
  }) => Effect.Effect<{
@@ -184,19 +264,26 @@ export declare const draftPR: (opts: {
184
264
  baseRefName: string;
185
265
  state: string;
186
266
  isDraft: boolean;
187
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
267
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
268
+ headRefOid?: string | undefined;
188
269
  author: {
189
- login: string;
190
- is_bot: boolean;
270
+ readonly login: string;
271
+ readonly is_bot: boolean;
191
272
  };
192
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
193
- reviewRequests: import("#gh/types").ReviewRequest[];
194
- headRefOid?: string;
273
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
274
+ reviewRequests: ({
275
+ readonly __typename: "User";
276
+ readonly login: string;
277
+ } | {
278
+ readonly __typename: "Team";
279
+ readonly name: string;
280
+ readonly slug: string;
281
+ })[];
195
282
  body: string;
196
283
  headSha: string | null;
197
284
  baseSha: string | null;
198
285
  wasAlreadyDraft: boolean;
199
- }, import("#gh/service").GhError, GitHubService>;
286
+ }, import("#gh/read/transport").GhError, GitHubService>;
200
287
  export declare const editPR: (opts: {
201
288
  pr: number;
202
289
  title: string | null;
@@ -210,19 +297,26 @@ export declare const editPR: (opts: {
210
297
  baseRefName: string;
211
298
  state: string;
212
299
  isDraft: boolean;
213
- mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
300
+ mergeable: "CONFLICTING" | "MERGEABLE" | "UNKNOWN";
301
+ headRefOid?: string | undefined;
214
302
  author: {
215
- login: string;
216
- is_bot: boolean;
303
+ readonly login: string;
304
+ readonly is_bot: boolean;
217
305
  };
218
- reviewDecision: "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED" | "";
219
- reviewRequests: import("#gh/types").ReviewRequest[];
220
- headRefOid?: string;
306
+ reviewDecision: "" | "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
307
+ reviewRequests: ({
308
+ readonly __typename: "User";
309
+ readonly login: string;
310
+ } | {
311
+ readonly __typename: "Team";
312
+ readonly name: string;
313
+ readonly slug: string;
314
+ })[];
221
315
  body: string;
222
316
  headSha: string | null;
223
317
  baseSha: string | null;
224
- }, import("#gh/service").GhError, GitHubService>;
225
- export declare const fetchChecks: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[], GitHubAuthError | GitHubCommandError | GitHubNotFoundError | GitHubTimeoutError, GitHubService>;
318
+ }, import("#gh/read/transport").GhError, GitHubService>;
319
+ export declare const fetchChecks: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[], GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
226
320
  export declare const triggerChecks: (pr: number | null, workflow: string, fields: readonly string[]) => Effect.Effect<{
227
321
  triggered: false;
228
322
  pr: number;
@@ -247,11 +341,7 @@ export declare const triggerChecks: (pr: number | null, workflow: string, fields
247
341
  url: string | null;
248
342
  message: string;
249
343
  nextCommand: string;
250
- }, import("#gh/service").GhError, GitHubService>;
251
- 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<{
252
- state: S;
253
- value: A;
254
- } | null, E1 | E2, R1 | R2>;
344
+ }, import("#gh/read/transport").GhError, GitHubService>;
255
345
  export declare const fetchFailedChecks: (pr: number | null, withLogs?: any, fullLogs?: any) => Effect.Effect<{
256
346
  evidence: {
257
347
  headSha: string | null;
@@ -269,7 +359,7 @@ export declare const fetchFailedChecks: (pr: number | null, withLogs?: any, full
269
359
  pendingChecks: CheckResult[];
270
360
  hint: string;
271
361
  nextCommands: string[];
272
- }, import("#gh/service").GhError, GitHubService>;
362
+ }, import("#gh/read/transport").GhError, GitHubService>;
273
363
  export declare const fetchChecksForCommand: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[] | {
274
364
  evidence: {
275
365
  headSha: string | null;
@@ -287,14 +377,29 @@ export declare const fetchChecksForCommand: (pr: number | null, watch: boolean,
287
377
  pendingChecks: CheckResult[];
288
378
  hint: string;
289
379
  nextCommands: string[];
290
- }, GitHubAuthError | GitHubCommandError | GitHubNotFoundError | GitHubTimeoutError, GitHubService>;
380
+ }, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
381
+ export declare const fetchChecksBatch: (prs: readonly number[]) => Effect.Effect<({
382
+ checksStatus: "none_reported";
383
+ reason: string;
384
+ checks: null;
385
+ pr: number;
386
+ state: string;
387
+ headSha: string | null;
388
+ } | {
389
+ reason?: undefined;
390
+ checksStatus: "reported";
391
+ checks: CheckResult[];
392
+ pr: number;
393
+ state: string;
394
+ headSha: string | null;
395
+ })[], import("#gh/read/transport").GhError, GitHubService>;
291
396
  export declare const watchPRs: (prs: readonly number[], options: {
292
397
  intervalSeconds: number;
293
398
  timeoutSeconds: number;
294
399
  until?: "terminal";
295
- }, emit: (event: Record<string, unknown>) => Effect.Effect<void>) => Effect.Effect<undefined, "timeout" | GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
400
+ }, emit: (event: Record<string, unknown>) => Effect.Effect<void>) => Effect.Effect<undefined, "timeout" | GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
296
401
  export declare const rerunChecks: (pr: number | null, failedOnly: boolean, options?: {
297
402
  watch?: boolean;
298
403
  timeoutSeconds?: number;
299
- } | undefined) => Effect.Effect<RerunChecksReport, import("#gh/service").GhError, GitHubService>;
404
+ } | undefined) => Effect.Effect<RerunChecksReport, import("#gh/read/transport").GhError, GitHubService>;
300
405
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,28 @@
1
1
  import { Effect } from "effect";
2
2
  import type { IssueComment, PullRequestReview, ReviewComment, ReviewThread } from "#gh/types";
3
3
  import type { REVIEW_EVENTS } from "#gh/config";
4
- import { GitHubService } from "#gh/service";
4
+ import { GitHubService } from "#gh/read/transport";
5
5
  /**
6
6
  * Fetch review threads for a PR via GraphQL.
7
7
  * Filters to unresolved threads when unresolvedOnly is true.
8
8
  */
9
- export declare const fetchThreads: (pr: number | null, unresolvedOnly: boolean, visibleOpenOnly?: any, currentHeadSha?: string | null | undefined) => Effect.Effect<ReviewThread[], import("#gh/service").GhError, GitHubService>;
9
+ export declare const fetchThreads: (pr: number | null, unresolvedOnly: boolean, visibleOpenOnly?: any, currentHeadSha?: string | null | undefined) => Effect.Effect<ReviewThread[], import("#gh/read/transport").GhError, GitHubService>;
10
10
  /**
11
11
  * Fetch review comments for a PR via REST API.
12
12
  * Optionally filters to comments created at or after `since` timestamp.
13
13
  */
14
- export declare const fetchComments: (pr: number | null, since: string | null, currentHeadSha?: string | null | undefined) => Effect.Effect<ReviewComment[], import("#gh/service").GhError, GitHubService>;
14
+ export declare const fetchComments: (pr: number | null, since: string | null, currentHeadSha?: string | null | undefined) => Effect.Effect<ReviewComment[], import("#gh/read/transport").GhError, GitHubService>;
15
15
  /**
16
16
  * Fetch general PR discussion comments (issue comments) via REST API.
17
17
  * Supports optional filtering by timestamp, author, and body substring.
18
18
  */
19
- export declare const fetchIssueComments: (pr: number | null, since: string | null, author: string | null, bodyContains: string | null) => Effect.Effect<IssueComment[], import("#gh/service").GhError, GitHubService>;
19
+ export declare const fetchIssueComments: (pr: number | null, since: string | null, author: string | null, bodyContains: string | null) => Effect.Effect<IssueComment[], import("#gh/read/transport").GhError, GitHubService>;
20
20
  /**
21
21
  * Fetch submitted review summaries (state + top-level body) for a PR via REST API.
22
22
  * Complements `comments` (inline review comments) and `issue-comments` (discussion),
23
23
  * which never expose the submitted review body. Optional author/state/body filters.
24
24
  */
25
- export declare const fetchReviews: (pr: number | null, author: string | null, bodyContains: string | null, state: string | null, currentHeadSha?: string | null | undefined) => Effect.Effect<PullRequestReview[], import("#gh/service").GhError, GitHubService>;
25
+ export declare const fetchReviews: (pr: number | null, author: string | null, bodyContains: string | null, state: string | null, currentHeadSha?: string | null | undefined) => Effect.Effect<PullRequestReview[], import("#gh/read/transport").GhError, GitHubService>;
26
26
  /**
27
27
  * Full review-response inventory for a PR in one call: submitted review summaries,
28
28
  * all review threads with resolution state, inline review comments, and issue
@@ -33,9 +33,9 @@ export declare const fetchFeedback: (pr: number | null, currentHeadSha?: string
33
33
  threads: ReviewThread[];
34
34
  inlineComments: ReviewComment[];
35
35
  issueComments: IssueComment[];
36
- }, import("#gh/service").GhError, GitHubService>;
37
- export declare const fetchLatestIssueComment: (pr: number | null, author: string | null, bodyContains: string | null) => Effect.Effect<IssueComment | null, import("#gh/service").GhError, GitHubService>;
38
- export declare const postIssueComment: (pr: number | null, body: string) => Effect.Effect<IssueComment, import("#gh/service").GhError, GitHubService>;
36
+ }, import("#gh/read/transport").GhError, GitHubService>;
37
+ export declare const fetchLatestIssueComment: (pr: number | null, author: string | null, bodyContains: string | null) => Effect.Effect<IssueComment | null, import("#gh/read/transport").GhError, GitHubService>;
38
+ export declare const postIssueComment: (pr: number | null, body: string) => Effect.Effect<IssueComment, import("#gh/read/transport").GhError, GitHubService>;
39
39
  export declare const fetchDiscussionSummary: (pr: number | null) => Effect.Effect<{
40
40
  issueCommentsCount: number;
41
41
  latestIssueComment: IssueComment | null;
@@ -47,21 +47,21 @@ export declare const fetchDiscussionSummary: (pr: number | null) => Effect.Effec
47
47
  resolvedUnrepliedReviewThreadsCount: number;
48
48
  unresolvedReviewThreadsCount: number;
49
49
  unresolvedUnrepliedReviewThreadsCount: number;
50
- }, import("#gh/service").GhError, GitHubService>;
50
+ }, import("#gh/read/transport").GhError, GitHubService>;
51
51
  export declare const editComment: (commentId: number, body: string, kind: "issue" | "review", pr: number | null) => Effect.Effect<{
52
52
  commentId: number;
53
53
  url: string;
54
54
  updatedAt: string;
55
55
  hint: string;
56
56
  nextCommand: string;
57
- }, import("#gh/service").GhError, GitHubService>;
57
+ }, import("#gh/read/transport").GhError, GitHubService>;
58
58
  /**
59
59
  * Reply to an inline review comment via REST API.
60
60
  */
61
61
  export declare const replyToComment: (pr: number | null, commentId: number, body: string) => Effect.Effect<{
62
62
  success: true;
63
63
  commentId: number;
64
- }, import("#gh/service").GhError, GitHubService>;
64
+ }, import("#gh/read/transport").GhError, GitHubService>;
65
65
  /**
66
66
  * Reply to a review comment, infer and validate its PR and thread, then resolve that thread.
67
67
  */
@@ -76,14 +76,14 @@ export declare const replyAndResolveComment: (pr: number | null, commentId: numb
76
76
  };
77
77
  pr: number;
78
78
  threadId: string;
79
- }, import("#gh/service").GhError, GitHubService>;
79
+ }, import("#gh/read/transport").GhError, GitHubService>;
80
80
  /**
81
81
  * Resolve a review thread via GraphQL mutation.
82
82
  */
83
83
  export declare const resolveThread: (threadId: string) => Effect.Effect<{
84
84
  resolved: boolean;
85
85
  threadId: string;
86
- }, import("#gh/service").GhError, GitHubService>;
86
+ }, import("#gh/read/transport").GhError, GitHubService>;
87
87
  export type ReviewEvent = (typeof REVIEW_EVENTS)[number];
88
88
  /**
89
89
  * Create and submit a review in one call — the path for a verdict an agent reached from a diff
@@ -100,15 +100,15 @@ export declare const createReview: (opts: {
100
100
  reviewId: number;
101
101
  state: string;
102
102
  url: string;
103
- }, import("#gh/service").GhError, GitHubService>;
103
+ }, import("#gh/read/transport").GhError, GitHubService>;
104
104
  export declare const submitPendingReview: (pr: number | null, reviewId: string | null, body: string | null, event?: "approve" | "comment" | "request-changes" | undefined, confirm?: any) => Effect.Effect<{
105
105
  submitted: true;
106
106
  reviewId: string;
107
107
  state: string;
108
- }, import("#gh/service").GhError, GitHubService>;
108
+ }, import("#gh/read/transport").GhError, GitHubService>;
109
109
  export declare const fetchLastHumanReviewer: (pr: number | null) => Effect.Effect<{
110
110
  currentRequestedReviewers: string[];
111
111
  lastHumanReviewer: string | null;
112
112
  lastHumanReviewAt: string | null;
113
- }, import("#gh/service").GhError, GitHubService>;
113
+ }, import("#gh/read/transport").GhError, GitHubService>;
114
114
  //# sourceMappingURL=review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAEV,YAAY,EAGZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EAEb,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAkf5C;;;GAGG;AACH,eAAO,MAAM,YAAY,gMAcvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,uKAoCxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,8KAmC7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,+NA+CvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;gDAaxB,CAAC;AAEH,eAAO,MAAM,uBAAuB,6JAgBlC,CAAC;AAEH,eAAO,MAAM,gBAAgB,gHAyC3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;gDA4CjC,CAAC;AAeH,eAAO,MAAM,WAAW;;;;;;gDAmGtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;gDA2FzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;gDA0FjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;gDAWxB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAgCzD;;;GAGG;AACH,eAAO,MAAM,YAAY;QACnB,MAAM,GAAG,IAAI;WACV,WAAW;UACZ,MAAM;aACH,OAAO;;;;;;;gDAmDhB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;gDAyM9B,CAAC;AAeH,eAAO,MAAM,sBAAsB;;;;gDA8CjC,CAAC"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAEV,YAAY,EAGZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EAEb,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAqKnD;;;GAGG;AACH,eAAO,MAAM,YAAY,uMAcvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,8KAgCxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,qLAkC7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,sOA2CvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;uDAaxB,CAAC;AAEH,eAAO,MAAM,uBAAuB,oKAgBlC,CAAC;AAEH,eAAO,MAAM,gBAAgB,uHA4C3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;uDA4CjC,CAAC;AAIH,eAAO,MAAM,WAAW;;;;;;uDA4FtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;uDA8FzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;uDA0FjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;uDAexB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAgCzD;;;GAGG;AACH,eAAO,MAAM,YAAY;QACnB,MAAM,GAAG,IAAI;WACV,WAAW;UACZ,MAAM;aACH,OAAO;;;;;;;uDAmDhB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;uDA4M9B,CAAC;AAeH,eAAO,MAAM,sBAAsB;;;;uDA6CjC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Effect } from "effect";
2
+ export declare const resolveTarget: <A extends {
3
+ number: number;
4
+ }, E, R>(pr: number | null, current: Effect.Effect<A, E, R>) => Effect.Effect<number, E, R>;
5
+ export declare const stableHead: <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<{
6
+ state: S;
7
+ value: A;
8
+ } | null, E1 | E2, R1 | R2>;
9
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,MAC1D,MAAM,GAAG,IAAI,WACR,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gCAC0D,CAAC;AAE5F,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,WACpC,CAAC,WACD,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,WACtC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,aACpC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,KAC1C,MAAM,CAAC,MAAM,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAU5D,CAAC"}
@@ -1,7 +1,2 @@
1
- import { Effect } from "effect";
2
- import { GitHubService } from "#gh/service";
3
- import type { StackView } from "#gh/types";
4
- export declare const readStack: (opts: {
5
- pr: number;
6
- }) => Effect.Effect<StackView, import("#gh/service").GhError, GitHubService>;
1
+ export { readStack } from "#gh/read/stacks";
7
2
  //# sourceMappingURL=stack-read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack-read.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/stack-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AAoBxD,eAAO,MAAM,SAAS;QAAoD,MAAM;4EAgD9E,CAAC"}
1
+ {"version":3,"file":"stack-read.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/stack-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Effect } from "effect";
2
- import { GitHubService } from "#gh/service";
2
+ import { GitHubService } from "#gh/read/transport";
3
3
  import { GitHubMergeError } from "#gh/errors";
4
4
  import type { MergeStrategy, StackMergeBlocker } from "#gh/types";
5
5
  import { readStack } from "./stack-read";
@@ -38,7 +38,7 @@ export declare const mergeStack: (opts: {
38
38
  dryRun: false;
39
39
  sha: string | null;
40
40
  adoptedExistingRequest: boolean;
41
- }, GitHubMergeError | import("#gh/service").GhError, GitHubService>;
41
+ }, GitHubMergeError | import("#gh/read/transport").GhError, GitHubService>;
42
42
  export declare const unstackStack: (opts: {
43
43
  pr: number;
44
44
  confirm: boolean;
@@ -49,5 +49,5 @@ export declare const unstackStack: (opts: {
49
49
  dissolved: boolean;
50
50
  unstacked: boolean;
51
51
  dryRun: boolean;
52
- }, GitHubMergeError | import("#gh/service").GhError, GitHubService>;
52
+ }, GitHubMergeError | import("#gh/read/transport").GhError, GitHubService>;
53
53
  //# sourceMappingURL=stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAe,iBAAiB,EAAoB,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAqFrB,eAAO,MAAM,UAAU;QACjB,MAAM;cACA,aAAa;aACd,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA2IhB,CAAC;AAEH,eAAO,MAAM,YAAY;QACnB,MAAM;aACD,OAAO;;;;;;;;mEAyChB,CAAC"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAe,iBAAiB,EAAoB,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAyErB,eAAO,MAAM,UAAU;QACjB,MAAM;cACA,aAAa;aACd,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAiJhB,CAAC;AAEH,eAAO,MAAM,YAAY;QACnB,MAAM;aACD,OAAO;;;;;;;;0EA4ChB,CAAC"}
@@ -1,16 +1,22 @@
1
- import { Effect } from "effect";
2
- import { GitHubAuthError } from "./errors";
3
- import type { GitHubApiError } from "./errors";
1
+ import { Context, Effect } from "effect";
2
+ import { GitHubAuthError } from "#gh/errors";
3
+ import type { GitHubApiError } from "#gh/errors";
4
4
  export type GitHubApiResponse<T> = {
5
5
  status: number;
6
6
  body: T;
7
+ etag?: string;
8
+ link?: string;
9
+ rateLimitResource?: string;
10
+ rateLimitUsed?: string;
7
11
  };
12
+ export declare const SessionCredential: Context.Reference<string | null>;
8
13
  export declare const resolveGitHubToken: () => Effect.Effect<string, GitHubAuthError, never>;
9
14
  export type GitHubApiRequest = {
10
15
  path: string;
11
16
  method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
12
17
  body?: unknown;
13
18
  alsoAcceptStatus?: number[];
19
+ ifNoneMatch?: string;
14
20
  };
15
21
  export declare const githubApi: <T>(opts: GitHubApiRequest) => Effect.Effect<GitHubApiResponse<T>, GitHubApiError>;
16
22
  //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/read/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhD,OAAO,EAAE,eAAe,EAA2C,MAAM,YAAY,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAWjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAYF,eAAO,MAAM,iBAAiB,kCAK7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,qDAgC7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAsIF,eAAO,MAAM,SAAS,GAAI,CAAC,QACnB,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,cAAc,CA2CjD,CAAC"}